guts/web/js/levels/L1_mouth.json
jing 2e85ec0622 [lane C] Round 2 WIP (session cut off): schema v2, surf-aware pacing, chase analysis, --probe
Landed before the cut: schema v2 (segments[].wave.amp override, validated — breathe stays
biome-owned); hiatus re-authored tight AND calm (radius back to 6.5, amp 0.6, 3.3u steady
clearance); par 210 -> 180 with full rationale (below throttle-only par-pace, above a surf
run — the medal teaches the mechanic); finale surge 21 -> 24 so surfing is the stylish
escape (required 1.20x); surf profile reads A's live CREST_FACTOR; chaseAnalysis() +
escapability laws in validate; NEW --probe builds A's real canal and measures clearance
against the model (all L2 segments clear the 2.5 floor, hiatus 3.75); isMain guard +
importSpline shim — fixes A's selfcheck process.exit killing C's mid-run (qa.sh had been
green on one level out of three).

Cut off before: fly-through of the integrated build (blocked on B), pickup economy handover
(B proposed numbers in balance.js meanwhile — reconcile), L1 encounter design doc, GDD boss
folding, NOTES. Committed by F to protect the shared tree; levels selfcheck 3/3 GREEN.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:26:42 +10:00

55 lines
3.1 KiB
JSON

{
"schema": 2,
"id": "L1_mouth",
"name": "Oral Cavity",
"tagline": "Learn to swim",
"seed": 20260701,
"par": { "time": 300, "score": 6000, "samples": 3 },
"next": "L2_esophagus",
"design": {
"owner": "Lane C",
"status": "SKELETON (round 1) - shape only: biomes, lengths, arenas, gate. Encounters, pickups, samples and tutorial beats are round 2+, after Lane B's arena-mode controller exists. Do not read the (near-empty) events list as a design.",
"identity": "The tutorial, and the only level that is mostly arena. Teaches move / shoot / coat in safety, then examines all three at the epiglottis.",
"anatomy": "Vestibule (outside the teeth) -> oral cavity proper (the arena, ringed by molars) -> oropharynx, narrowing to the epiglottis gate.",
"biome_note": "biome = tissue/look family (Lane A's registry), segments[].name = the anatomy. There is no 'pharynx' biome and there should not be: the oropharynx is deliberately given the ESOPHAGUS palette so the tube turns teal as you approach the epiglottis. The colour shift is the wayfinding - it tells you where you are going before the gate does.",
"scale": "Real oral cavity is ~8cm across; arena radius 90 units = 18cm diameter. Dilated ~2x - much less than L2's 14x, because arenas need room to fight in and the mouth is already a room.",
"round2_plan": "Molar crush-cycles as timed hazards on the arena rim, saliva tides as a periodic current that sweeps the arena, amylase droplets as the tutorial floater. The epiglottis gate is a timing exam: dive on the swallow. 3 samples: one behind the molars, one in a tonsillar crypt, one under the tongue."
},
"segments": [
{
"biome": "oral",
"name": "Vestibule",
"length": 120,
"radius": { "base": 14, "wobble": 0.1 },
"curviness": 0.1,
"flow": 2,
"note": "Injection point. Almost no current - the player's first 120 units are the only place in the game where nothing is pushing them anywhere."
},
{
"biome": "oral",
"name": "Oral Cavity",
"length": 400,
"radius": { "base": 30, "wobble": 0.2 },
"curviness": 0.15,
"flow": 2,
"note": "The arena (see arenas[0]). 6DOF unlocks here. Molar crush-cycles ring it; saliva tides sweep it."
},
{
"biome": "esophagus",
"name": "Oropharynx",
"length": 200,
"radius": { "base": 12, "wobble": 0.2 },
"curviness": 0.35,
"flow": 6,
"note": "The funnel. Mode returns to tube and the current starts to build - the game re-teaching flow just before the gate hands the player to L2. Wears the ESOPHAGUS palette on purpose (see design.biome_note): the walls go teal 200 units before the epiglottis, so the player reads the transition in colour before they read it in a HUD."
}
],
"arenas": [
{ "at": 320, "radius": 90, "biome": "oral", "note": "The oral cavity proper. Spans s 230-410 (sphere of radius 90 centred at s=320)." }
],
"events": [
{ "s": 20, "type": "checkpoint", "name": "Injection Point" },
{ "s": 700, "type": "gate", "id": "epiglottis", "to": "L2_esophagus", "note": "The exam: dive through on the swallow. Timing gate, not a boss." }
]
}