Publish 0.1.85
John Lauer
·
8e0f883
·
1d ago
FIX viewer bundle failed to load: unpin ?v= on the bundle (code-split stub imported a deleted chunk after Colby's rebuild -> 404)
John Lauer
·
bbaab0b
·
1d ago
Publish 0.1.84
John Lauer
·
0f0fbe9
·
4d ago
RESTORE inner copper L2/L15 (a greedy regex in the all-vector edit had deleted their loader); tooltips: real enter/leave semantics + 600ms (svg-child crossings were resetting the timer forever); layer checkbox tooltips
John Lauer
·
7a005ac
·
4d ago
Publish 0.1.83
John Lauer
·
29a09c0
·
4d ago
tooltips: real enter/leave semantics (svg-child boundary crossings were perpetually resetting the timer - worked headless, dead with a real mouse), 600ms delay, viewport clamp, pointer-events:none on icon art
John Lauer
·
30d0403
·
4d ago
Publish 0.1.82
John Lauer
·
1212635
·
4d ago
lighting floaty: contain the value column (numbers were spilling off the right edge)
John Lauer
·
5320ea1
·
4d ago
Publish 0.1.81
John Lauer
·
df72ba6
·
4d ago
toolbar toggles for both floaties: Lighting hidden by default (toggle to show), Layers shown by default (toggle to hide)
John Lauer
·
2a61958
·
4d ago
Publish 0.1.80
John Lauer
·
effaacd
·
4d ago
shadows toggle: use scene.shadowsEnabled master switch - freezing the map left all layer shadows rendered-frozen (only the ground appeared to turn off)
John Lauer
·
29a5b24
·
4d ago
Publish 0.1.79
John Lauer
·
ea8e614
·
4d ago
ALIGNMENT FIX: drop the per-file SVG flip (TY-y) - raw gerber coords are absolute board mm, the flip mirrored each vector layer with a per-file offset (mask vs copper misalignment John spotted; inner copper was silently Y-mirrored too)
John Lauer
·
6d29307
·
4d ago
Publish 0.1.78
John Lauer
·
4b22f3f
·
4d ago
ALL-VECTOR stackup: silk + masks now real geometry (masks = gerber negatives, board minus openings) - no textured quads left, every layer casts+receives real shadows
John Lauer
·
1e1a83a
·
4d ago
Publish 0.1.77
John Lauer
·
48fd3fd
·
4d ago
Lighting floaty: live sliders for spot (intensity/angle/XYZ), env, hemi, shadow darkness, copper metallic/roughness; light helper gizmo (sphere+aim line); snapshot button dumps settings for the AI to bake
John Lauer
·
e56dcf1
·
4d ago
Publish 0.1.76
John Lauer
·
4845bf5
·
4d ago
LAYER SHADOWS WORKING (ralph-tested 26.7% pixel delta): PCSS+softTransparentShadow rendered NO shadows in this scene; plain PCF medium does. Root cause of 5 rounds of 'still no layer shadows'
John Lauer
·
df90498
·
4d ago
Publish 0.1.75
John Lauer
·
37a7433
·
4d ago
layer shadows FOR REAL: spot becomes the dominant light (env->0.35 fill, hemi dimmed) - shadows only darken direct light on PBR, so env-dominant lighting was washing layer shadows out (ground showed them because StandardMaterial is spot-lit)
John Lauer
·
9ed4ade
·
4d ago
Publish 0.1.74
John Lauer
·
cbc607e
·
4d ago
native-viewer GLB: 4 corner machine pins (PIN_MED:MP1-MP4) split into a static MachinePins node - anchored during the cascade, matching the readme viewer
John Lauer
·
f6e01b1
·
4d ago
Publish 0.1.73
John Lauer
·
3afd6f0
·
4d ago
shadows: PCSS contact-hardening (crisp near, soft far - not razor everywhere) + transparency-aware casting so each layer casts its artwork onto the layers below
John Lauer
·
886c66d
·
4d ago
Publish 0.1.72
John Lauer
·
b248976
·
4d ago
shadows on ALL layers: silk/mask quads now lit (emissive was ignoring shadows), narrow spot cone (sharp not blurry), thin planes cast (forceBackFacesOnly off)
John Lauer
·
1547aa2
·
4d ago
Publish 0.1.71
John Lauer
·
9c83a2d
·
4d ago
NATIVE viewer: animated GLB with the explode cascade baked as glTF keyframes (7 channels, staggered up-cascade + reassemble, 14s loop) - native viewer auto-plays it with its own shadows for comparison
John Lauer
·
6b77ac7
·
4d ago
Publish 0.1.70
John Lauer
·
20ed8a1
·
4d ago
layers receive shadows too: each layer casts onto the layers below during the explosion
John Lauer
·
737d6b0
·
4d ago
Publish 0.1.69
John Lauer
·
4fa1471
·
5d ago
shadows: use the BUNDLE's own SpotLight+PCF shadow rig (proven in /viewer), repositioned/rescaled for the meter-scale scene, map unfrozen for animation
John Lauer
·
8a2ff4b
·
5d ago
Publish 0.1.68
John Lauer
·
07f53cb
·
5d ago
tooltips: CLAMP to viewport (never run off any edge), flip above when near bottom, arrow tracks the control after clamping
John Lauer
·
6a21740
·
5d ago
Publish 0.1.67
John Lauer
·
ed20398
·
5d ago
shadows visible at last: shadow light illuminates ONLY the ground (fill light was washing the shadow out); emissive floor keeps shadow dark-gray not black
John Lauer
·
5fdcb94
·
5d ago
Publish 0.1.66
John Lauer
·
44c251e
·
5d ago
shadows: switch to PCF (the bundle's proven technique) + overhead directional light; exponential map was rendering nothing
John Lauer
·
43d0314
·
5d ago
Publish 0.1.65
John Lauer
·
e3fb243
·
5d ago
fix false order VIOLATION (Components tower above silk - nominal z 1.75); stronger, unmistakable shadows on a less-transparent fallback ground
John Lauer
·
8e8897a
·
5d ago
Publish 0.1.64
John Lauer
·
652fefe
·
5d ago
actually fix copper z double-offset (position.z=0, edit landed this time); widen layers panel to 270px + make it horizontally resizable
John Lauer
·
31b0ae5
·
5d ago
Publish 0.1.63
John Lauer
·
e7c6695
·
5d ago
per-layer bbox toggle (draws layer extents to verify z); isolate uses custom tooltip
John Lauer
·
f35fdfb
·
5d ago
Publish 0.1.62
John Lauer
·
5ff0447
·
5d ago
fix copper z double-offset (baked+position); descriptive tooltips; faster cascade (5s); ShadowOnlyMaterial ground for visible shadows; per-layer bbox toggle icon
John Lauer
·
fce6c80
·
5d ago
Publish 0.1.61
John Lauer
·
d47c936
·
5d ago
copper: COMPLETE gerber renderer - fills pours (even-odd) + STROKES traces to width + instantiates use/circle/rect/path pad flashes + applies the global Y-transform (fixes seating). bboxes now align exactly with outer copper
John Lauer
·
f06c177
·
5d ago
Publish 0.1.60
John Lauer
·
156b27d
·
5d ago
toolbar: icon-only buttons (labels removed, too heavy) + beautiful 800ms hover tooltips on all controls
John Lauer
·
aff757d
·
5d ago
Publish 0.1.59
John Lauer
·
27c291f
·
5d ago
toolbar buttons: add clean inline-SVG icons (pivot/ground/shadows/animate/assembled/exploded/fullscreen), no emoji
John Lauer
·
279f08a
·
5d ago
Publish 0.1.58
John Lauer
·
19144a8
·
5d ago
REAL ground + shadows: bundle ground had null material (my /ground/ regex was hitting the skybox). Build own semi-transparent ground plane + directional shadow generator; retarget Ground/Shadows toggles to them
John Lauer
·
faab23a
·
5d ago
Publish 0.1.57
John Lauer
·
d2a3719
·
5d ago
per-layer isolate icon (click isolates that layer, click again restores); hardened copper meshes
John Lauer
·
62dc0d5
·
5d ago
Publish 0.1.56
John Lauer
·
0937bcc
·
5d ago
copper: harden ring parsing (dedupe/close/drop degenerate) to kill sliver triangles
John Lauer
·
4587d92
·
5d ago
Publish 0.1.55
John Lauer
·
9b1afac
·
5d ago
copper L2/L15: fix Y-flip (was below the board) + even-odd depth hole classification (correct triangles); click-pivot on by default; fix ground toggle (re-query at click); add shadows toggle
John Lauer
·
8711455
·
5d ago
Publish 0.1.54
John Lauer
·
aade2e0
·
5d ago
4 corner machine pins only in the machine-pins layer; play/pause as icons (bars/triangle)
John Lauer
·
c8a2985
·
5d ago
Publish 0.1.53
John Lauer
·
403261d
·
5d ago
copper L2/L15 via proper earcut contour triangulation (real shapes + clearance holes, not svg-mesh mangling); 4 CORNER machine pins only; play/pause as icons
John Lauer
·
ed3e6f5
·
5d ago
Publish 0.1.52
John Lauer
·
43e1b3c
·
5d ago
classify whole OCCURRENCES (group leaf meshes by top-level node) so each machine pin is anchored as a unit, not split between layers
John Lauer
·
cdf787a
·
5d ago
Publish 0.1.51
John Lauer
·
244e353
·
5d ago
per-part components: classify each mesh by XY vs the 14 CPL machine-pin positions -> machine pins anchored, all else in Components (source-of-truth split, no more merged-blob guessing)
John Lauer
·
475019b
·
5d ago
Publish 0.1.50
John Lauer
·
2a20801
·
5d ago
inner copper L2/L15 = REAL VECTOR geometry from Fusion gerbers (y-map bug fixed), sharing the outer copper's PBR material - all four copper layers now genuine geometry, identical material
John Lauer
·
7b772e3
·
5d ago
Publish 0.1.49
John Lauer
·
311b863
·
5d ago
all four copper layers share ONE PBRMaterial (same albedo/metallic/roughness); inner L2/L15 use the gerber only as an alpha cutout to trace shape, not as coloring - identical copper look across all layers
John Lauer
·
37daa49
·
5d ago
Publish 0.1.48
John Lauer
·
7c68ac1
·
5d ago
floaty toolbar: Click-pivot toggle (viewer's Shift+Alt click-to-set-orbit-point, always-on) + Ground show/hide toggle
John Lauer
·
d63526a
·
5d ago
Publish 0.1.47
John Lauer
·
14ef9dc
·
5d ago
revert L2/L15 to trace-showing material (PBR alpha change had made them solid rectangles)
John Lauer
·
0e645e8
·
5d ago
Publish 0.1.46
John Lauer
·
f075b30
·
5d ago
copper -> PBR metallic (glossy sheen reflecting scene env, not blown-out white/brown); reassert 80% transparent shadow-receiving ground
John Lauer
·
ad1cab5
·
5d ago
Publish 0.1.45
John Lauer
·
ab6f747
·
5d ago
rename layers: through-hole -> Components (machine pins), SMD -> Components
John Lauer
·
e043cba
·
5d ago
Publish 0.1.44
John Lauer
·
a3124ca
·
5d ago
deterministic framing on known board footprint (computed diag was blowing up and shrinking the board to a speck)
John Lauer
·
0c783d6
·
5d ago
Publish 0.1.43
John Lauer
·
37f915f
·
5d ago
revert inner copper to textured quads (vector gerber mesh had a coordinate-scale bug that shrank the view); vector conversion built but needs scale fix
John Lauer
·
88ebcae
·
5d ago
Publish 0.1.42
John Lauer
·
263aae4
·
5d ago
inner copper L2/L15 as VECTOR geometry (gerber->triangulated mesh), same shiny copper material as outer layers - all four copper now real geometry, no PNG fakery
John Lauer
·
6a5d7bc
·
5d ago
Publish 0.1.41
John Lauer
·
cda0f4c
·
5d ago
SMD/through-hole split: penetrating parts (pins/contacts in vias) anchored at bottom layer, never animated; tighter default zoom
John Lauer
·
1df7f86
·
5d ago
Publish 0.1.40
John Lauer
·
5472c4e
·
5d ago
world-true layer offsets: every layer wrapped in a scene-root TransformNode (glTF __root__ conversion transform was amplifying local z offsets - the L1-flies-high bug)
John Lauer
·
f14151d
·
5d ago
Publish 0.1.39
John Lauer
·
ae70f49
·
5d ago
components group via AppendAsync (loadModel reparented it under a normalized root, breaking animation + hover)
John Lauer
·
0f67fea
·
5d ago
Publish 0.1.38
John Lauer
·
81f85fa
·
5d ago
shadows animate: shadow map refreshRate every-frame (bundle froze it post-load)
John Lauer
·
080e777
·
5d ago
Publish 0.1.37
John Lauer
·
7003301
·
5d ago
slider pauses the animation (Play/Pause toggle); auto-resume only after 2 minutes idle
John Lauer
·
83e7f06
·
5d ago
Publish 0.1.36
John Lauer
·
a45d8b3
·
5d ago
draggable floaties (grips) + exclude ground/helper meshes from layer groups (hover was hiliting the ground)
John Lauer
·
79443b7
·
5d ago