From 2b66ce4b9a6b1a7675e39d9ddbbc1dc26ca1128d Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 02:32:02 +1000 Subject: [PATCH] Give the game a face: HUD, mouse prep, forecast and aftermath (gate 1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SPRINT4 §Lane A 1-5. Everything the game already simulated was invisible to a stranger; you can now play a whole round with eyes and a mouse and never open the console. hud.js only ever READS — it takes no decisions and owns no state worth keeping, so it can be this chatty without anything drifting. Corner load bars are world-anchored rather than screen-anchored because a number in the corner of the screen can't tell you WHICH shackle is about to go, and that is the entire "...the shackle, I knew about the shackle" moment. They hold constant screen size with distance: a house corner is 18 m away from the posts, where a world-sized bar is a few unreadable pixels. Prep is Lane B's createRiggingUI wired to the phase machine — their picking was already complete, this is the hands. Forecast reads the three authored storms, so the difficulty select came free: Sea Breeze / Southerly Buster / Wild Night with real peak wind, gust character and change time. Two bugs the wiring surfaced, both found by playing rather than reading: - The rigging session survived "play again": a second round started at $35 with three corners already hung, and the four anchors you clicked were silently ignored because the session was full. resetRig() walks it back through the session's own public moves, so the economy stays the one source of truth. - The forecast card's lifetime was owned by its own button, so any other route into prep left a card floating over a live game eating input. The phase owns it now. Verified by playing it: good rig on the wild night wins at 53%, the same yard's cheap drum-tight span loses 4 corners, the gentle night with a good rig ends at 93% "not a leaf out of place". Selftest 184/0/0. Co-Authored-By: Claude Opus 4.8 --- web/world/index.html | 3 +- web/world/js/hud.js | 392 ++++++++++++++++++++++++++++++++++++++++++ web/world/js/main.js | 220 ++++++++++++++++++++---- web/world/js/world.js | 57 +++++- 4 files changed, 638 insertions(+), 34 deletions(-) create mode 100644 web/world/js/hud.js diff --git a/web/world/index.html b/web/world/index.html index a4479b7..27808d9 100644 --- a/web/world/index.html +++ b/web/world/index.html @@ -3,7 +3,7 @@ -SHADES — yard (M0) +SHADES — rig it, then survive the night