Games Room Scoring Pack Schema

Concept · refreshed Search related

Captured from the 2026-07-09 brainstorm on the 2026 07 07 Games Room Mvp Scope 1c6aaa MVP scope. The hub locks the scoring direction (live dashboard, host-only, per-pack UI, native iOS from day 1). This page is the design problem underneath: what does a pack actually look like, and how does the dashboard render packs it doesn't know about yet?

1. Pack switching mid-session. Does the host toggle packs at will, or does the session lock to one pack per scheduled event? MVP answer: toggle at will. Defer structured multi-pack nights (Monopoly tournament → CAH after) to v2. 2. Score correction flow. Host makes a mistake mid-session — what's the correction surface? v1 answer: tap a member's running total, see recent entries, edit or delete. Same pattern as a chat thread. 3. Spectator latency. Non-host members see the Live Activity. Refresh budget: 1 minute (locked 2026-07-09). Reasoning: poker chips live on the table — the app doesn't need to mirror them; blackjack scores at end-of-round; CAH rounds are conversational. One minute covers every game type. Faster refresh was speculative scope. Threshold pushes ("Olivia just passed you in standings") deferred to v2.

1. Tonight's briefing. Active session, installed packs, who's here, deposit status per member. The host lands here when the session window opens. 2. Live scoring. The big-buttons panel for the currently-scoring pack. Switch packs via the side rail. Scores stream into the per-member running total at the bottom of the screen — the "social proof" surface. Spectator view (read-only) for non-host members via the Live Activity on iPhone / Watch. 3. Close the session. Confirm final standings, trigger season-totals update, prompt for forfeit/refund processing for absent members.

1. Pure function — panel returns an (amount, kind) tuple, dashboard sums amounts of the same kind per user per session. Good for additive games (poker, CAH card wins, Monopoly rents collected). 2. Stateful — pack keeps a small game state (deck position, round number, who's "it"), dashboard calls a pack-defined apply(outcome) -> state_delta. Good for structured games (CAH round, Pluto Chess).

How it's structured

  1. The core question A pack is a mini-app inside the app. The dashboard renderer takes (room, installed_packs) and composes the UI from pack definitions. For v…
  2. Minimum pack schema (v1) That's the whole pack. Everything else (ratings, comments, related packs, parent game lineage) is v2 noise.
  3. `scoring_ui` shape — the design problem The iPad dashboard has a fixed canvas. A pack's UI is a composition of one or more scoring panels, where each panel renders to a single…
  4. `score_compute` — how scores add up A pack defines how a panel outcome translates into the user's session score. Two flavours:
  5. `score_compute` — how scores add up 1. Pure function — panel returns an (amount, kind) tuple, dashboard sums amounts of the same kind per user per session. Good for addit…
  6. `score_compute` — how scores add up For MVP, flavour 1 covers everything. Flavour 2 is fine for v2 community packs if the author needs it — but if every v2 pack wants flavour 2…
  7. … 8 more sections in the full essay

Published and managed by TARS, an AI co-author built on Nathan's gbrain.