standing playtest fixture — a game that runs and a broken sentinel (#6)
Find a file
Chris Moriarty 16a0c7d9d0 standing playtest fixture: a game that runs + a broken sentinel (#6)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 18:40:35 -04:00
broken standing playtest fixture: a game that runs + a broken sentinel (#6) 2026-07-25 18:40:35 -04:00
good standing playtest fixture: a game that runs + a broken sentinel (#6) 2026-07-25 18:40:35 -04:00
README.md standing playtest fixture: a game that runs + a broken sentinel (#6) 2026-07-25 18:40:35 -04:00

playtest-fixture — standing fixture for the playtest gates (trog #6)

Two tiny games, permanent and never regenerated, so the playtest runner's gates can be checked in both directions on every stack change. Same philosophy as trog-games/fixture (assets) — known content, declared expectations, and a deliberate sentinel that MUST fail.

subdir expected why
good/ pass a real canvas game: rAF loop, animated scene, keyboard/mouse readouts. All gates pass (~60fps, hundreds of colors, non-zero motion)
broken/ fail the SENTINEL. Loads fine and still fails the way real broken web games do: a 404 script, a ReferenceError from the missing global, a dead render loop, and a one-color canvas

Run them:

trog playtest trog-games/playtest-fixture --subdir good     # expect PASS
trog playtest trog-games/playtest-fixture --subdir broken   # expect FAIL

The sentinel is the important one. A passive screenshot service reports broken/ as "ran fine, here's a picture" — catching it is the whole reason the gates exist. If broken/ ever passes, the gates regressed.