Deno + Three.js webapp assembling closed-circuit marble runs from Kenney's CC0 Marble Kit, with the Nature Kit as a setting/decor layer. - URL fragment is the seed; hashchange is the single regeneration entry point, so browser history replays tracks deterministically - Label-derived RNG families (cyrb128 + sfc32) per system; adding systems never perturbs existing seeds (pinned by tests) - Systems: topology (closed ring by construction), elevation (0.5-grid hills, climbs capped at 0.5/cell, steep chutes descent-only), style themes, Nature Kit setting rules, decor - Realization: WFC over the path domain (piece windows on the ring, min-entropy collapse, occupancy vetoes, contradiction-free fallbacks) - Geometry-calibrated piece registry measured from the GLBs; tunnel modeled as arch shell overlaying a straight; turn pillars snap to the channel centerline - Pack-generic asset pipeline (gltf-transform): merged + deduped GLB and classification manifest per kit, committed under assets/ - Client: single-fetch loading, palette swaps, spline-follow marble with rolling, orbit/follow cams, ?gallery + ?debug pages, CUA test hooks - 42 deno tests: fuzz, determinism, registry lint, golden seeds
- commit
- 58f95459ae90bb4918ae47d2bcb833c9f201f79e
- author
- Dami <dami.etoile@gmail.com>
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.
Diff not shown: this commit changes too many lines.