glytch/fktry/src
type-two 9f3a254d85 [ui] live harness: the HUD against the real sim and reference factory
Boots createSim() + createUI() on the real data/*.json, builds
referenceFactory(), and pumps ticks through the same update(snap, events) path
main.ts uses — then reads the actual DOM. No mocks.

Confirms what the round asked to see with eyes but the harness wouldn't allow:
heat climbing to THROTTLING and then SCRAM on a software decoder (inspected via
the real pickTile -> entityAt -> open click path), the unit still reading SCRAM
while it cools back below 1.0, SANITISING on real anchor-slab shipments,
NEXT IN TRAY matching SIM's real queue, a real standing order reaching the head
and stamping the fax, and remove mode demolishing a real entity.

Why headless: the browser pane backgrounds the tab, which pauses rAF, so the
live page advances ~10 ticks per screenshot — SCRAM needs ~435 ticks of
continuous generation, and parallel lanes' HMR reloads wiped the world every
minute or so. Same code, deterministic, milliseconds, and it stays a regression
test.

The reference factory never ships anchor slabs — it recycles them into the
i-only assembler by design — so the SANITISING case demolishes that assembler
and drops an uplink on it, which is what a player would do.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 18:34:40 +10:00
..
render [render] scram latches with hysteresis, mirroring sim (fixes a ~4s visual lie) 2026-07-17 17:47:15 +10:00
screen [screen] regional moire, strain warps, 3-frame scram 2026-07-17 18:20:50 +10:00
sim [ui] REMOVE mode: X arms it, click demolishes, Esc stands down 2026-07-17 18:34:05 +10:00
ui [ui] live harness: the HUD against the real sim and reference factory 2026-07-17 18:34:40 +10:00
contracts.ts [orchestrator] round 2 review + contracts v3 + round 3 orders 2026-07-17 18:05:53 +10:00
main.ts [orchestrator] round 2 review + contracts v3 + round 3 orders 2026-07-17 18:05:53 +10:00