HardYards/web/world
type-two afb61b2926 Lane C S18: the mid-storm entry seam — a crate is a pure function of its event
The emergency callout arrives at t≈30, which makes a NON-ZERO START a first-class
case for the storm clock. Measured before writing anything, and the debris module
failed two ways that had nothing to do with the callout:

  · the same storm flown twice through one module spawned DIFFERENT crates
    (wildnight height 1.582 m then 1.165 m). main.js builds one debris module at
    boot and clear()s it per phase change; clear() rewound the leaf accumulators
    and not the piece PRNG. Live on main today — night 2 of the seven-night week
    never flew night 1's crates, and no test looked.
  · an entry at t=45, past the wildnight's t=38 event, gave every LATER crate the
    skipped crate's height, spin axis and phase — the stream sat 5 draws behind.
    Skipping history corrupted the future, not just the present.

One cause: a crate's jitter came off a shared stream whose POSITION encoded how
much history had happened. Keyed on the event itself now, so a crate is a pure
function of its event — the move weather.core.js's header already argues for.

debris.enterAt(t0, dt) for the one part that is a genuine path integral: the
ambient leaf layer. A t=0 run has 6 leaves crossing the grass at t=30 and a cold
entry has ZERO, staying becalmed ~7 s while the 2.5 s EMA climbs off zero —
DESIGN.md line 149 makes that moving grass the gust front's tell, and gate 1's
whole premise is that the grass is the only briefing a callout gets. It runs the
ladder rather than skipping it, and the ladder ACCUMULATES: i*dt is the more
accurate ladder and therefore the wrong one (1770 of 1800 steps disagree, first
at step six), because main.js, fixedLoop and sail.js all accumulate.

Pins: +5 (522 -> 527). Wind order-independence broadened to every storm and five
scalar observables plus the exact callout ladder, and a BACKWARDS peak scan
cross-checking what the dispatch will quote. All four mutations went red; the
first draft of the stormStats case could not fail (it memoises per def, so it was
comparing an object to itself) and was rewritten rather than shipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 19:21:29 +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 C S18: the mid-storm entry seam — a crate is a pure function of its event 2026-07-25 19:21:29 +10:00
models Lane E S17 gate 3.1: THE CORRODED TIER — mutations restored, tell verified at 20 m, droop pinned to geometry 2026-07-21 01:51:57 +10:00
vendor
dev_player.html
dev_rigging.html Lane B S11: audit the venturi, land setWorld/setBudget, revive the harness 2026-07-17 17:42:54 +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