Go to file
m3ultra 1049dece24 Add selftest harness with one suite per lane
selftest.html only imports; each lane owns js/tests/<letter>.test.js. Five lanes
sharing one selftest.html would be the single guaranteed merge conflict in the
repo, so the stubs are pre-created with each lane's PLAN3D asserts written into
the header.

No rAF anywhere: it's throttled in a hidden tab, so a rAF-driven selftest would
pass only while you watch it. fixedLoop() drives time instead.

Lane A's suite covers the §5-A acceptance criteria, including "camera never
clips through house" — stated as the underlying invariant (no solid between the
player's head and the camera) so it survives Lane E swapping the house GLB.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 21:33:42 +10:00
.claude Vendor three.js r175, add stdlib dev server and launch config 2026-07-16 21:33:42 +10:00
prototype Add side-systems to design doc + playable sail-storm prototype 2026-07-16 20:55:31 +10:00
tools/character Lane D: player rig assets — ped copy + anim-only clip pack 2026-07-16 21:27:04 +10:00
web/world Add selftest harness with one suite per lane 2026-07-16 21:33:42 +10:00
.gitignore Vendor three.js r175, add stdlib dev server and launch config 2026-07-16 21:33:42 +10:00
DESIGN.md Add side-systems to design doc + playable sail-storm prototype 2026-07-16 20:55:31 +10:00
LANE_PROMPTS.md Add 3D execution plan, lane prompts, and THREADS log 2026-07-16 21:05:57 +10:00
PLAN3D.md Add 3D execution plan, lane prompts, and THREADS log 2026-07-16 21:05:57 +10:00
server.py Vendor three.js r175, add stdlib dev server and launch config 2026-07-16 21:33:42 +10:00
THREADS.md Add 3D execution plan, lane prompts, and THREADS log 2026-07-16 21:05:57 +10:00