HardYards/web/world/js
type-two b70699189c Lane C S13 gate 2.3 + D's sliver: ambient leaves from 30 km/h; hail pool hides at zero
Leaves: a pooled handful (cap 7) streaming with the wind from 8.3 m/s — the
same number D keys the player's lean on, so the yard and the body start
telling one story at one speed. Count rides a 2.5 s speed EMA so it doesn't
strobe; own seeded rng (seed ^ 0x1eaf) so the pool never shifts the crate
sequence; bit-identical under identical (dt, t) streams (asserted).
debris.clear() rewinds the layer. dev_skyfx flies the debris layer now and
warms it to the scrub point, so ?t=50 shows the leaves t=50 would have.

D's aftermath sliver, exactly as diagnosed on lane/d: the hail InstancedMesh
at count:0 with frustum culling and depthWrite off still draws instance 0's
identity matrix — a 5 cm always-on-top speck at the origin. mesh.visible now
gates on n > 0, sky.hail joins the public fx object, and a whole-storm assert
demands hidden-at-zero / shown-when-falling in both directions (gated on
floor(1300 x intensity) >= 1: a burst's first frames honestly draw nothing).

THREADS: gate-2 wrap entry — D's judging unblocked, A's M key live.
Selftest 340/0/0 (+2 tests). Mutation-checked: dropped stepLeaves, a 3 m/s
threshold, and an always-visible hail pool all go red.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 11:51:26 +10:00
..
tests 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
broom.js Lane D: calibrate the douse to B's real ponds; fix the sagging-belly refusal 2026-07-17 09:23:17 +10:00
camera.js Add graybox yard, third-person camera and game shell 2026-07-16 21:33:42 +10:00
contracts.js Sprint 11 gate 1: three rulings — enum widened, carport priced, venturi reconciled 2026-07-17 17:20:11 +10:00
debris.js 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
hud.js Rule the gutter $90 (E's proposal adopted); teach collateralFor/wreckStructure the house; action B's effective-rating flag 2026-07-17 20:45:49 +10:00
interact.js Lane D: calibrate the douse to B's real ponds; fix the sagging-belly refusal 2026-07-17 09:23:17 +10:00
ladder.js Land needsLadder on the work field, measured against E's real carport 2026-07-17 15:28:47 +10:00
main.js QA pass: fix Enter storm-skip (deployed), log findings; Sprint 13 plan + prompts 2026-07-17 23:26:47 +10:00
player.js Lane D: the broom, greyed prompts, and the label pass 2026-07-17 03:03:02 +10:00
player.sim.js Lane D: the ladder sub-system (decision 12) 2026-07-17 02:34:49 +10:00
rigging.js Wire ratingHint into the failure threshold: the ratings are real (A's ruling) 2026-07-17 20:19:01 +10:00
rigging.selftest.js Wire ratingHint into the failure threshold: the ratings are real (A's ruling) 2026-07-17 20:19:01 +10:00
sail.js Wire ratingHint into the failure threshold: the ratings are real (A's ruling) 2026-07-17 20:19:01 +10:00
sail.selftest.js Wire ratingHint into the failure threshold: the ratings are real (A's ruling) 2026-07-17 20:19:01 +10:00
skyfx.js 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
testkit.js Gate 0: name the harness dispute's cause; make skips real (testkit) 2026-07-17 10:21:01 +10:00
weather.core.js Add validateSiteWind — the site JSON's wind block fails loud (SPRINT10) 2026-07-17 15:30:00 +10:00
weather.js Land leadFor(): the job sheet's per-night forecast lead 2026-07-17 17:14:53 +10:00
week.js Paste E's letterhead/invoice kit into hud.js; rule HARD YARDS + sequential ABN 2026-07-17 20:27:18 +10:00
world.js Rule the gutter $90 (E's proposal adopted); teach collateralFor/wreckStructure the house; action B's effective-rating flag 2026-07-17 20:45:49 +10:00