BLOBBO/demos
Claude 324d7d4568 Lane I: asset runtime — manifest, registry, slot hooks, IndexedDB overrides
Custom GLBs drop into 14 named slots without code changes; an empty manifest
produces today's game by construction (the fallback builders are the original
code moved into a closure, and an empty registry returns the caller's own
object by identity).

- src/assets/{slots,manifest,idb,registry,blobBody}.ts — schema + validation,
  GLTF cache with per-instance material cloning, fit nodes, IndexedDB override
  layer, paintability report.
- Slot hooks in createBlob, parts, cannon, greybox, puddles, ghost. Mesh-only:
  no collider, physics or logic line is touched. Animated sub-parts (plate cap,
  belt chevrons, fan blades, cannon pivot) stay procedural so a custom model
  cannot stop them moving.
- public/assets/ — the build had NO asset copy step at all, so every asset URL
  would have 404'd in production. public/ is vite's default publicDir, so this
  needs no vite.config change.
- Tests: 63 headless checks + a farm-GLB audit that fires PaintSkin's own
  raycast against the fitted body.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 11:37:08 +10:00
..
lane-a.html Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
lane-b.html Foundation: vite+ts+three+rapier scaffold, frozen contracts, lane docs A-E 2026-07-17 19:55:43 +10:00
lane-c.html Lane C: Rube-Goldberg machine toolkit — telegraphs, parts, surfaces, chain demo 2026-07-17 20:26:52 +10:00
lane-f.html Lane F: procedural WebAudio engine + soundboard demo 2026-07-18 11:46:28 +10:00
lane-g.html Lane G: colour zones, paint puddles, MEGA/MINI scale buffs 2026-07-18 12:00:54 +10:00
lane-h.html Lane H: ghost replay + title screen 2026-07-18 11:47:34 +10:00
lane-i.html Lane I: asset runtime — manifest, registry, slot hooks, IndexedDB overrides 2026-07-19 11:37:08 +10:00