not-tonight/tests/floor
type-two 3eee8432d4 LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down
FloorDemoScene (F from Parade): an 80x45-tile venue you patrol in the dark with
a flashlight cone that reveals detail, plus all three v0.2 infractions and the
UV stamp check. Self-populates from the patron generator; consumes Patron[] only,
so Phase 2 can hand it the real admitted list.

Pure, tested logic (venueMap, cone, player, crowdSim, bangJudge, escalation,
patDown); Phaser layer stays thin (FloorView + three overlays). 120 new tests,
169 total.

Two bugs found by running it rather than by the suite, both fixed:
- bump penalties had a per-agent cooldown but no sim-wide bound, so the leak rate
  scaled with crowd size and an unattended venue pinned vibe to 0 / aggro to 100
  by ~1AM. Sim-wide gate added, with a regression test.
- beat.update() sat below the overlay early-return, freezing the beat clock behind
  modals and making the stall rhythm game unwinnable. Clock and beat now always run.

Also retuned dwell times and the tile/darkness palette for readability, and
dropped Light2D in favour of the cone mask it was fighting.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 18:49:13 +10:00
..
bangJudge.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00
cone.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00
crowdSim.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00
escalation.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00
patDown.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00
player.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00
venueMap.test.ts LANE-FLOOR: the Floor — patrol, flashlight/UV, cut-off, stalls, pat-down 2026-07-19 18:49:13 +10:00