HardYards/web/world/js
m3ultra 670443eea0 Guard pond accessors before attach; caught driving the live game
pondMass/pondCentroid/drainPondAt/dumpPond threw when this.water didn't
exist yet — Lane A's HUD reads pondMass() every frame, including in the
forecast/prep phases before the sail is rigged. Node tests always attach
first so they never hit it; the live game did on the first frame. Guarded
+ a pre-attach assert so it can't regress. Verified in the assembled game:
a flat quad ponds 780 kg (belly sagging below ground), dumps on break,
and the merged browser selftest is 219/0/0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 03:32:02 +10:00
..
tests Merge remote-tracking branch 'origin/lane/d' 2026-07-17 02:39:41 +10:00
camera.js Add graybox yard, third-person camera and game shell 2026-07-16 21:33:42 +10:00
contracts.js Land ponding v1: rainwater pools on flat sails and kills them 2026-07-17 03:25:46 +10:00
debris.js Fix debris ground friction, cloud seam and yard coords 2026-07-16 21:50:41 +10:00
hud.js Give the game a face: HUD, mouse prep, forecast and aftermath (gate 1) 2026-07-17 02:32:02 +10:00
interact.js Lane D: the ladder sub-system (decision 12) 2026-07-17 02:34:49 +10:00
ladder.js Lane D: the ladder sub-system (decision 12) 2026-07-17 02:34:49 +10:00
main.js Merge Sprint 4 lanes; fix wind router rain passthrough; rule decision 13 (hail) 2026-07-17 02:43:10 +10:00
player.js Lane D: the ladder sub-system (decision 12) 2026-07-17 02:34:49 +10:00
player.sim.js Lane D: the ladder sub-system (decision 12) 2026-07-17 02:34:49 +10:00
rigging.js Land ponding v1: rainwater pools on flat sails and kills them 2026-07-17 03:25:46 +10:00
rigging.selftest.js Land ponding v1: rainwater pools on flat sails and kills them 2026-07-17 03:25:46 +10:00
sail.js Guard pond accessors before attach; caught driving the live game 2026-07-17 03:32:02 +10:00
sail.selftest.js Guard pond accessors before attach; caught driving the live game 2026-07-17 03:32:02 +10:00
skyfx.js Rain gets physical units for ponding; night pass on wildnight 2026-07-17 02:28:09 +10:00
testkit.js Add selftest harness with one suite per lane 2026-07-16 21:33:42 +10:00
weather.core.js Rain gets physical units for ponding; night pass on wildnight 2026-07-17 02:28:09 +10:00
weather.js Rain gets physical units for ponding; night pass on wildnight 2026-07-17 02:28:09 +10:00
world.js Give the game a face: HUD, mouse prep, forecast and aftermath (gate 1) 2026-07-17 02:32:02 +10:00