HardYards/web/world/js/tests
type-two e5c0e3ffee skyfx: the change announces itself — a front wall in the sky (gate 3.4)
Every windchange event gets an in-world tell: a dark bank standing on the
horizon in the quarter the new wind comes FROM, rising across the 12 s
before the change and clearing after the swing, plus a low distant rumble
layer in the audio. Soft-edged via vertex alpha (the hard band read as a
floating rectangle on the bench). Deterministic off (dt, t): progress is a
pure function of t, azimuth comes from dirAt at a fixed post-change
instant. Night 2 teaches the tell at ~18 s; night 3 shows the same wall at
t=6, which is 'looks like night 2 and isn't' made visible.

dev_skyfx.html: the skyfx bench — one storm, bare ground, scrubbable
clock, so the tell can be judged by eye without playing to night 3.
Two new asserts in c.test.js (window, monotonic rise, direction, mesh
orientation, changeless storm stays clear, bit-exact determinism).
Selftest 322/0/0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 20:24:51 +10:00
..
a.test.js Sprint 11 shepherd: C's venturi correction taken, D's two landmines defused 2026-07-17 17:51:30 +10:00
b.test.js Lane B S11: audit the venturi, land setWorld/setBudget, revive the harness 2026-07-17 17:42:54 +10:00
balance.test.js Prove the porosity->gardenHailExposure leak end-to-end (answer C's seam) 2026-07-17 15:55:11 +10:00
c.test.js skyfx: the change announces itself — a front wall in the sky (gate 3.4) 2026-07-17 20:24:51 +10:00
d.test.js Land needsLadder on the work field, measured against E's real carport 2026-07-17 15:28:47 +10:00
e.test.js Lane E, Sprint 11: client juice — job sheet, invoice, and the kid's bike 2026-07-17 17:39:58 +10:00
run-node.mjs Add wind field, storm timelines and weather selftest 2026-07-16 21:38:12 +10:00
weather.selftest.js Add validateSiteWind — the site JSON's wind block fails loud (SPRINT10) 2026-07-17 15:30:00 +10:00