Skip to content

2026-07-20 — OHH Frame Projector: the golden replay suite, ▶ watch, and the registry gate

Plan 3 of 3 of ui-stability (D3 + D5). One machine, three payoffs:

  • The projector — pure projectOhh(ohh) → ReplayFrame[] reconstructs the paced game_state frame sequence a recorded hand would have produced live, chip-conserving against the record's own pot, muck-private, and frame-contract-clean (every projected frame passes the same D1 invariants live frames obey).
  • The golden replay suite — recorded hands replay through the REAL BratPokerTable under fake timers, asserting the choreography where regressions live. First-ever pinning for the deal ceremony (#1) and the winner glow (#17 — the known zero-test regression); every future felt bug becomes a permanent fixture.
  • ▶ watch — the ✋ hand-history modal replays the hand through the real felt (play/pause/step/speed), affordance-gated so partial records never get a broken player.
  • Writer integrity — the observatory rule ohh_show_cards_folded fails a record that shows a folder's cards at the boundary, before it becomes a wrong fixture or replay.
  • The registry gate (D5)packages/game-ui/FELT-REGISTRY.md is now repo-tracked; a felt PR updates its row + names its pinning test, or it's rejected. Auto-post (#11) and the next-hand timer (#47) pinned; the two silent feature-losses vs classic RESTORED (#53 disconnected, #54 sitting-out — dim + badge on brat).

Current-state page: Felt Replay & the Golden Suite