HardYards/web/world
type-two 008de38766 Lane D S18 gate 1.3: THE KNIFE — hold X at a cleat, and the verbs finally on the glass
DESIGN.md line 165's signature decision gets its verb. One hold, the whole
sail, at a cleat you can reach from the grass — because the corner taking the
$180 carport is bracket work and the ladder is a luxury a 5.9-second window
does not have. That is the mechanic, not a limitation: the ladder is for
repairs, the knife is for the seconds you actually have.

X and not a third hold-E target (interact.nearest picks by DISTANCE, and the
one input a player must never misfire is the irreversible one). A hold and not
a press, so the decision has a length and a gust can take it off you. And it
never writes player.busy: interact.js owns that state, and a second writer is
how a player gets stranded in a lock nothing releases.

The panel is the other half, and it is five sprints overdue. interact.step()
has always returned {target, progress, label, usable} "for hud.js to draw the
prompt + radial" — and nothing ever drew it. Every sentence this lane wrote
for the player's hands ("out of reach — needs the ladder", "push the water off
(169 kg)", "hands full") has never reached a player. Same disease as setFabric:
the code was right, the wire was missing, and no assert could see it because
the gap was on the glass. It lives in knife.js rather than player.js because
player.js statically imports GLTFLoader, so the suite has never been able to
reach it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 21:29:21 +10:00
..
data Lane D S17 gate 3.2: THE POOL YARD — authored cold, in the game only by being chosen 2026-07-21 03:53:20 +10:00
js Lane D S18 gate 1.3: THE KNIFE — hold X at a cleat, and the verbs finally on the glass 2026-07-25 21:29:21 +10:00
models Lane E S18 gate 4: THE GLASSHOUSE TIER — the hail-net frame, and the apex made reachable 2026-07-25 19:45:42 +10:00
vendor Vendor three.js r175, add stdlib dev server and launch config 2026-07-16 21:33:42 +10:00
dev_player.html Merge all lanes; add importmap; fix /world/ absolute paths 2026-07-16 22:23:20 +10:00
dev_rigging.html Lane B S18 gates 2+3+1: ⚠️ THE VARIABLE IS POROSITY; the clean boundary is DWELL; the knife 2026-07-25 19:53:06 +10:00
dev_skyfx.html Lane C S13 gate 2.3 + D's sliver: ambient leaves from 30 km/h; hail pool hides at zero 2026-07-18 11:51:26 +10:00
editor.html Sprint 14 integration: merge a/e/c/b (406/0/0), mount B's score + C's wind panels in editor.html 2026-07-18 16:52:36 +10:00
index.html Sprint 14 gate 1 close: round-trip pinned, pool items landed, free-carport fixed 2026-07-18 16:14:34 +10:00
selftest.html Add tools/site_audit; retract the p1 claim against C; show LANE BAL 2026-07-17 14:52:31 +10:00