Visual polish on the table itself. No new capabilities.
A seat can be live in the hand, folded, sitting out, or empty — and three of those looked nearly the same: a plain dark puck, or a dimmed one. An unclaimed chair was indistinguishable from a nameless player, and nothing positively said "this player is in"; the dealer had to infer it from whether a dollar badge happened to be showing.
Each state now has exactly one look:
Live — green edge, full brightness
Folded — red edge and a struck-through name, so it reads as out rather than merely faint
Empty — the only dashed outline, and it says EMPTY
Sitting out — just fades, and fades less than before (0.4 → 0.58): that player is still someone the dealer may need to deal back in, and at 0.4 the name was nearly gone
Validated with Playwright at 1280px and 390px, with one table seeded to show all four states at once. Asserted that each seat resolves to exactly one state class with no overlap, and that the computed border colour, border style and opacity differ per state rather than trusting the screenshots. Also walked the live transition that was most likely to regress — clicking an empty chair, typing a name (Empty → sitting out), then ticking In hand (→ live) — and confirmed the puck updates immediately each step, since that path goes through the cheap refreshPuck rather than a full re-render. No console errors.
Based on feature/casino-holdem-undo-toasts (PR #17) — merge order is #14, #15, #16, #17, then this.
Visual polish on the table itself. No new capabilities.
A seat can be **live in the hand**, **folded**, **sitting out**, or **empty** — and three of those looked nearly the same: a plain dark puck, or a dimmed one. An unclaimed chair was indistinguishable from a nameless player, and nothing positively said "this player is in"; the dealer had to infer it from whether a dollar badge happened to be showing.
Each state now has exactly one look:
- **Live** — green edge, full brightness
- **Folded** — red edge and a struck-through name, so it reads as *out* rather than merely faint
- **Empty** — the only dashed outline, and it says EMPTY
- **Sitting out** — just fades, and fades less than before (0.4 → 0.58): that player is still someone the dealer may need to deal back in, and at 0.4 the name was nearly gone
**Validated with Playwright** at 1280px and 390px, with one table seeded to show all four states at once. Asserted that each seat resolves to exactly one state class with no overlap, and that the computed border colour, border style and opacity differ per state rather than trusting the screenshots. Also walked the live transition that was most likely to regress — clicking an empty chair, typing a name (Empty → sitting out), then ticking In hand (→ live) — and confirmed the puck updates immediately each step, since that path goes through the cheap refreshPuck rather than a full re-render. No console errors.
Based on `feature/casino-holdem-undo-toasts` (PR #17) — merge order is #14, #15, #16, #17, then this.
A seat could be live in the hand, folded, sitting out, or empty, and three of
those looked nearly the same: a plain dark puck, or a dimmed one. An unclaimed
chair was indistinguishable from a nameless player, and nothing positively said
"this player is in" — the dealer had to infer it from whether a dollar badge
happened to be showing.
Each state now has one look. Live gets a green edge. Folded gets a red edge and
a struck-through name, so it reads as out rather than merely faint. An empty
chair is the only dashed outline and says so. Sitting out just fades — and
fades less than it used to, since that player is still someone the dealer may
need to deal back in, and at 0.4 the name was nearly gone.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
jheaps
merged commit 48bd3682f2 into feature/casino-holdem-undo-toasts2026-08-31 18:39:59 -06:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Visual polish on the table itself. No new capabilities.
A seat can be live in the hand, folded, sitting out, or empty — and three of those looked nearly the same: a plain dark puck, or a dimmed one. An unclaimed chair was indistinguishable from a nameless player, and nothing positively said "this player is in"; the dealer had to infer it from whether a dollar badge happened to be showing.
Each state now has exactly one look:
Validated with Playwright at 1280px and 390px, with one table seeded to show all four states at once. Asserted that each seat resolves to exactly one state class with no overlap, and that the computed border colour, border style and opacity differ per state rather than trusting the screenshots. Also walked the live transition that was most likely to regress — clicking an empty chair, typing a name (Empty → sitting out), then ticking In hand (→ live) — and confirmed the puck updates immediately each step, since that path goes through the cheap refreshPuck rather than a full re-render. No console errors.
Based on
feature/casino-holdem-undo-toasts(PR #17) — merge order is #14, #15, #16, #17, then this.