guts/docs
type-two 4ee6ae49a1 [lane B+E+F] Arena mode: in a room, you own the forward axis
The 6DOF unlock the player header has promised since round 1 ("Arena/6DOF mode is round 2;
modeAt() is guarded below"). It unblocks L1 and L3, which are both arena levels in the GDD and
have been skeletons waiting on this.

The insight that made it small: spline space ALREADY spans a room — s is the axial coordinate,
x/y are the cross-section — and world.collide() already resolves against arena spheres
(arenaSpatial, Lane A round 2). So this is not a new controller. The only real difference
between a tube and a room is WHO OWNS s: in a tube the flow carries you and you may only trim
it +/-40%; in a room `intent.throttle` becomes signed thrust with its own damping, so you can
stop dead and you can reverse. That is the whole feature, and it is what "slower, spatial,
exploratory" actually means in play.

- tuning.js: arena{thrust 44, maxSpeed 11, damping 2.2}. maxSpeed sits UNDER the esophagus's
  12-20 flow on purpose — the GDD asks for slower.
- player.js: st.vs (axial velocity), the mode branch, surf disabled in rooms (no travelling
  wave to ride, and a hanging surfBlend would speed-lock you to a crest that isn't there),
  respawn() clears vs so a death in a room can't leak momentum into a tube.
- player:state gains `mode`; `flow` reads 0 in a room and `speed` goes signed.
- hud.js prints "6dof · free" instead of "flow 0 · thr 100%" — two lies on one instrument.

Safe by construction: both arena triggers are opt-in (level.arenas, or a segment marked
mode:"open"). L1/L2/L4 declare neither and are byte-for-byte unaffected.

Verified in L3's stomach: tube hands-off carries you at 4.53 u/s, acid-sea hands-off coasts to
a dead stop (0.0), and a room lets you travel BACKWARDS (-3.8u). Bus reports
{mode:arena,flow:0,speed:0} vs {mode:tube,flow:3,speed:3}.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 22:39:06 +10:00
..
LANES [lane E] The instrument exists: a HUD, and a surgical team who talk to you 2026-07-17 23:01:40 +10:00
progress [lane A] The swept room + the acid sea, built — and it corrected me four times 2026-07-16 18:04:16 +10:00
shots [lane A] Adopt an orphaned evidence shot: the player view, flying into black 2026-07-17 23:02:22 +10:00
ART_BIBLE.md [lane F] Round 0 scaffold: docs, contracts, lane charters, bootable stub world 2026-07-16 01:28:35 +10:00
GDD.md [lane C] Round 1: schema v1, levels registry + selfcheck + pacing sim, L2 vertical slice 2026-07-16 08:53:34 +10:00
MOLECULES.md [lane A] MODELBEAST dresses the molecules: 5 matcaps, and the canal picks space-filling 2026-07-16 21:31:24 +10:00
PIPELINE.md [lane F] Round 0 scaffold: docs, contracts, lane charters, bootable stub world 2026-07-16 01:28:35 +10:00
PROCESS.md [lane F] Round 0 scaffold: docs, contracts, lane charters, bootable stub world 2026-07-16 01:28:35 +10:00
TECH.md [lane B+E+F] Arena mode: in a room, you own the forward axis 2026-07-25 22:39:06 +10:00
V2_IDEAS.md [lane F] Round 0 scaffold: docs, contracts, lane charters, bootable stub world 2026-07-16 01:28:35 +10:00