FIX viewer bundle failed to load: unpin ?v= on the bundle (code-split stub imported a deleted chunk after Colby's rebui…
RESTORE inner copper L2/L15 (a greedy regex in the all-vector edit had deleted their loader); tooltips: real enter/leav…
lighting floaty: contain the value column (numbers were spilling off the right edge)
toolbar toggles for both floaties: Lighting hidden by default (toggle to show), Layers shown by default (toggle to hide)
shadows toggle: use scene.shadowsEnabled master switch - freezing the map left all layer shadows rendered-frozen (only…
ALL-VECTOR stackup: silk + masks now real geometry (masks = gerber negatives, board minus openings) - no textured quads…
Lighting floaty: live sliders for spot (intensity/angle/XYZ), env, hemi, shadow darkness, copper metallic/roughness; li…
LAYER SHADOWS WORKING (ralph-tested 26.7% pixel delta): PCSS+softTransparentShadow rendered NO shadows in this scene; p…
layer shadows FOR REAL: spot becomes the dominant light (env->0.35 fill, hemi dimmed) - shadows only darken direct ligh…
shadows: PCSS contact-hardening (crisp near, soft far - not razor everywhere) + transparency-aware casting so each laye…
shadows on ALL layers: silk/mask quads now lit (emissive was ignoring shadows), narrow spot cone (sharp not blurry), th…
layers receive shadows too: each layer casts onto the layers below during the explosion
shadows: use the BUNDLE's own SpotLight+PCF shadow rig (proven in /viewer), repositioned/rescaled for the meter-scale s…
tooltips: CLAMP to viewport (never run off any edge), flip above when near bottom, arrow tracks the control after clamp…
shadows visible at last: shadow light illuminates ONLY the ground (fill light was washing the shadow out); emissive flo…
shadows: switch to PCF (the bundle's proven technique) + overhead directional light; exponential map was rendering noth…
fix false order VIOLATION (Components tower above silk - nominal z 1.75); stronger, unmistakable shadows on a less-tran…
actually fix copper z double-offset (position.z=0, edit landed this time); widen layers panel to 270px + make it horizo…
per-layer bbox toggle (draws layer extents to verify z); isolate uses custom tooltip
fix copper z double-offset (baked+position); descriptive tooltips; faster cascade (5s); ShadowOnlyMaterial ground for v…
toolbar: icon-only buttons (labels removed, too heavy) + beautiful 800ms hover tooltips on all controls
toolbar buttons: add clean inline-SVG icons (pivot/ground/shadows/animate/assembled/exploded/fullscreen), no emoji
REAL ground + shadows: bundle ground had null material (my /ground/ regex was hitting the skybox). Build own semi-trans…
per-layer isolate icon (click isolates that layer, click again restores); hardened copper meshes
copper L2/L15: fix Y-flip (was below the board) + even-odd depth hole classification (correct triangles); click-pivot o…
4 corner machine pins only in the machine-pins layer; play/pause as icons (bars/triangle)
classify whole OCCURRENCES (group leaf meshes by top-level node) so each machine pin is anchored as a unit, not split b…
per-part components: classify each mesh by XY vs the 14 CPL machine-pin positions -> machine pins anchored, all else in…
inner copper L2/L15 = REAL VECTOR geometry from Fusion gerbers (y-map bug fixed), sharing the outer copper's PBR materi…
all four copper layers share ONE PBRMaterial (same albedo/metallic/roughness); inner L2/L15 use the gerber only as an a…
floaty toolbar: Click-pivot toggle (viewer's Shift+Alt click-to-set-orbit-point, always-on) + Ground show/hide toggle
revert L2/L15 to trace-showing material (PBR alpha change had made them solid rectangles)
copper -> PBR metallic (glossy sheen reflecting scene env, not blown-out white/brown); reassert 80% transparent shadow-…
rename layers: through-hole -> Components (machine pins), SMD -> Components
deterministic framing on known board footprint (computed diag was blowing up and shrinking the board to a speck)
revert inner copper to textured quads (vector gerber mesh had a coordinate-scale bug that shrank the view); vector conv…
inner copper L2/L15 as VECTOR geometry (gerber->triangulated mesh), same shiny copper material as outer layers - all fo…
SMD/through-hole split: penetrating parts (pins/contacts in vias) anchored at bottom layer, never animated; tighter def…
world-true layer offsets: every layer wrapped in a scene-root TransformNode (glTF __root__ conversion transform was amp…
components group via AppendAsync (loadModel reparented it under a normalized root, breaking animation + hover)
shadows animate: shadow map refreshRate every-frame (bundle froze it post-load)
slider pauses the animation (Play/Pause toggle); auto-resume only after 2 minutes idle
draggable floaties (grips) + exclude ground/helper meshes from layer groups (hover was hiliting the ground)
layers panel below the ViewCube (was covering it)
restore blob texture shim (dropped in cascade rewrite)
cascade v2: upward-only cascading explode (5mm/step, nothing below ground), layers panel with live z + visibility toggl…
ROOT CAUSE FIX: localStorage shim - sandboxed docs throw on storage access, aborting the bundle's rig init (lights/env/…
one shiny copper material for all four copper layers (inner gerber layers keep artwork as alpha cutout only)
explode order fix: components to +7.5 slot so pin bottoms clear the silk plane (stackup order preserved throughout the…
restore proven light rig + absolute framing; keep real-FR4 sublayers with holes + unquantized groups