Interactive specification and prototype addressing four cross-view inconsistencies between
et-soc1-chip-diagram (index.html L7659–7664) and
et-soc1-in-3d: (1) loss of the user’s ladder branch on return, (2) missing
lib.wire 3D link, (3) selected-child mismatch in panel(html), and
(4) material color & TSMC N7 number disconnect between 2D and 3D.
lib.finfet / lib.channel)
Warm Paper #f9f9f7 · system-ui
et-soc1-in-3d#finfet)
Unified Paper + N7 Tokens
| Physical Structure | 2D Diagram (et-soc1-chip-diagram) |
Current 3D Page (et-soc1-in-3d) — Disconnected |
Proposed Unified 3D Token |
|---|---|---|---|
| Metal Gate (TiN/W) | --c1 #2a78d6 (Blue) | #bb9654 (Warm Gold) | --c1 #2a78d6 (Blue) |
| Silicon Fin (Source / Drain) | --c3 #1baf7a (Green) | #526e91 (Slate Blue) | --c3 #1baf7a (Green) |
| Channel & Conduction e⁻ | --c2 #eb6834 (Orange) | #41d7ba (Turquoise) | --c2 #eb6834 (Orange) |
| High-k Gate Oxide (HfO₂) | --c4 #d49b1f (Amber) | #d8c49a (Pale Tan) | --c4 #d49b1f (Amber) |
| Local Cobalt / M0–M12 Copper | --c5 #8854d0 (Purple) | #c57b43 / #6c809a | --c5 #8854d0 (Purple) + Cu accent |
Try switching the User’s Ladder Branch, the Current Layer, and the
Selected Part (SEL) below to see how the current implementation drops the user’s
branch, ignores selected child parts, and omits lib.wire — and how the proposed 8-line fix resolves all three.
SEL):
index.html L7659–7664)
3 Navigation Bugs
lib.wire + ?from=)
Context-Preserving
et-soc1-chip-diagram (index.html L7659–7664)const view3d = {
'die.metal': 'metal',
+ 'lib.wire': 'metal',
'lib.finfet': 'finfet',
'lib.fin': 'fin',
'lib.channel': 'channel'
};
function panel(html) {
const cur = Z.path[Z.path.length - 1];
- const v3 = cur && view3d[cur.id];
+ const selKid = SEL && SEL._kid && SEL._kid.split(':')[0];
+ const targetId = (selKid && view3d[selKid]) ? selKid : (cur && cur.id);
+ const v3 = targetId && view3d[targetId];
+ const fromHash = encodeURIComponent(pathHash());
const link = v3
- ? `<p class="v3d"><a href="https://spacesheep.dev/@yaroslavvb/et-soc1-in-3d#${v3}" target="_blank" rel="noopener">Explore this in 3D →</a></p>`
+ ? `<p class="v3d"><a href="https://spacesheep.dev/@yaroslavvb/et-soc1-in-3d?from=${fromHash}#${v3}" target="_blank" rel="noopener">Explore ${selKid && view3d[selKid] ? 'selected part' : 'this'} in 3D →</a></p>`
: '';
D.panel.innerHTML = (html || '') + link;
}
et-soc1-in-3d// In et-soc1-in-3d: preserve caller's exact ladder branch (?from=...) if provided
const fromParam = new URLSearchParams(location.search).get('from');
const backHref = fromParam
? `https://spacesheep.dev/@yaroslavvb/et-soc1-chip-diagram#at=${fromParam}`
: `https://spacesheep.dev/@yaroslavvb/et-soc1-chip-diagram#at=${view.defaultAt}`;