Give the standings table back its player names #52
Closed
jheaps
wants to merge 1 commits from
feature/casino-holdem-blind-fairness into feature/casino-holdem-rulings-depth
pull from: feature/casino-holdem-blind-fairness
merge into: :feature/casino-holdem-rulings-depth
:master
:feature/socialism
:polish/holdem-seats-one-size
:fix/holdem-dealer-chip-eats-its-seat
:polish/holdem-game-night-ready
:polish/holdem-round-next
:polish/holdem-seat-collisions
:polish/holdem-offline-and-render
:fix/naming-a-blind-deals-the-hand
:release/casino-holdem-polish
:fix/casino-holdem-phone-look
:fix/casino-holdem-sidebar-crowding
:fix/casino-holdem-contribution-rule
:fix/casino-holdem-one-stack-rule
:fix/casino-holdem-default-stack-buyin
:feat/casino-holdem-waiting-list
:feat/casino-holdem-misdeal
:feat/casino-holdem-cash-out
:feat/casino-holdem-clock
:feat/casino-holdem-rake
:fix/casino-holdem-stadium-ring
:fix/casino-holdem-phone-felt-shape
:fix/casino-holdem-audit-runs-everything
:feat/casino-holdem-straddle
:fix/casino-holdem-landscape-ring
:feat/casino-holdem-table-file
:fix/casino-holdem-touch-targets
:fix/casino-holdem-audit-modal-blindspot
:fix/casino-holdem-quicksplit-chop
:fix/casino-holdem-buildable-bet-sizes
:fix/casino-holdem-pot-sized-raise
:fix/casino-holdem-chips-to-count-out
:fix/casino-holdem-first-buy-in
:fix/casino-holdem-seating-a-table
:fix/casino-holdem-showdown-order
:fix/casino-holdem-hand-log-filter
:fix/casino-holdem-posting-in
:fix/casino-holdem-dead-button
:fix/casino-holdem-discarded-pot
:fix/casino-holdem-honest-tank-clock
:fix/casino-holdem-export-the-notes
:fix/casino-holdem-stacks-in-chips
:fix/casino-holdem-close-audit-blind-spots
:fix/casino-holdem-readable-dim-states
:fix/casino-holdem-drop-broken-watermark
:fix/casino-holdem-two-tabs
:fix/casino-holdem-unreadable-save
:fix/casino-holdem-say-when-not-saving
:fix/casino-holdem-shortcut-discovery
:fix/casino-holdem-rulings-index-compact
:fix/casino-holdem-rulings-index
:fix/casino-holdem-payout-in-chips
:fix/casino-holdem-move-seat-on-touch
:fix/casino-holdem-amount-fields-select
:fix/casino-holdem-touch-targets-by-pointer
:fix/casino-holdem-button-box-model
:fix/casino-holdem-blind-badge-placement
:fix/casino-holdem-buyin-deals-in
:fix/casino-holdem-bet-vs-raise
:fix/casino-holdem-deal-around-broke
:fix/casino-holdem-settle-up
:fix/casino-holdem-allin-and-bar
:fix/casino-holdem-one-dealer-button
:fix/casino-holdem-manual-deal
:fix/casino-holdem-less-guessing
:feature/casino-holdem-seat-editor
:fix/casino-holdem-landscape-table
:feature/casino-holdem-acting-seat
:feature/casino-holdem-raise-guard
:feature/casino-holdem-first-run
:feature/casino-holdem-contrast-audit
:feature/casino-holdem-layout-audit
:feature/casino-holdem-blind-fairness
:feature/casino-holdem-rulings-depth
:feature/casino-holdem-bank-audit
:feature/casino-holdem-fewer-taps
:feature/casino-holdem-render-perf
:feature/casino-holdem-keyboard-focus
:feature/casino-holdem-resilience
:feature/casino-holdem-messy-tables
:feature/casino-holdem-touch-mobile
:chore/casino-holdem-tech-debt
:feature/casino-holdem-dealer-batch
:feature/casino-holdem-seat-count-safety
:feature/casino-holdem-odd-chip
:feature/casino-holdem-button-moves
:feature/casino-holdem-allin-runout
:feature/casino-holdem-heads-up
:feature/casino-holdem-contrast
:feature/casino-holdem-touch-audit
:feature/casino-holdem-wizard-polish
:feature/casino-quicksplit-side-pots
:feature/casino-holdem-rebuys
:feature/casino-holdem-rulings
:feature/casino-holdem-sidebar-polish
:feature/casino-holdem-keyboard
:feature/casino-holdem-action-undo
:feature/casino-holdem-pace
:feature/casino-holdem-side-pot-breakdown
:feature/casino-holdem-gestures
:feature/casino-holdem-card-picker
:feature/casino-holdem-live-betting
:feature/casino-holdem-bet-chips
:feature/casino-holdem-seat-legibility
:feature/casino-holdem-undo-toasts
:feature/casino-holdem-quick-split
:feature/casino-holdem-mobile-table
:feature/casino-holdem-hand-history
:feature/casino-texas-holdem
:feature/casino-holdem-dealer-mode-polish
:feature/fractional-learned-weights
:fix/stockfish-dispose-hang
:fix/blog-cache-staleness
:fix/workflows
:gitea/workflows
:echo-acoustic-ranging
:chess-ui-overhaul
:feature/customChessEngine
:feature/blog
:AddProject
:feature/generalUpdate
:tech-debt/chess-cleanup
:tests/CreatePlaywrightTests
:UpdateParticleSimulatorButton
Reference in New Issue
Block a user
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.
I went looking for more rules bugs and didn't find any — the probes are written up at the bottom. What I found instead was a regression I shipped two rounds ago. Stacked on #51.
The name column was zero pixels wide
Adding the "Cash out" column in #50 made five columns. Four are numbers with a
4.5remminimum, which with gaps needs 320px — and the sidebar is about 290px. The name column is the only flexible one, so it absorbed the shortfall and collapsed to nothing.Player names weren't truncated. They were entirely invisible, and the row silently overflowed.
Measured at 360, 390, 1024, 1280 and 1600 alike, because the sidebar is narrow at all of them — this was never a phone problem, it was everywhere except the tablet layout where the sidebar goes full width. Names were already down to 50px with four columns, so this had been degrading before I finished it off.
The table earns its columns now
Narrow gets the player and the two numbers a banker settles up from; wide gets the per-hand detail too. A container query rather than a viewport one, because the sidebar is 290px at both a 360px and a 1600px viewport — what matters is the space the table actually has, not the window. Names get a real minimum and ellipsis instead of being crushed, and everything stays in the CSV either way.
Rules probes that came back clean
Nothing changed for these; recording them so the next round doesn't re-tread the ground:
Validation
8 viewport sizes measured before and after. Guarantees from earlier rounds re-checked with the sidebar open: 0 of 50 controls on
touch-action: auto, 0 tap-highlighted, 0 occluded, stacks still painting inside their pucks, no sideways scroll, bank panel still fits and reads correctly. 137 tests still passing. No console errors.Sources consulted for the rules probes: Robert's Rules — Button and Blind Use, Casino Poker for Beginners: Missed Blinds
Went looking for more rules bugs and didn't find any — the blind rotation is fair over an orbit, nobody is double-charged or skipped when players come and go, and the big blind's option is handled correctly including heads-up and when the blind puts them all-in. Those probes are written up below. What I did find was a regression I shipped two rounds ago. The name column was zero pixels wide Adding the "Cash out" column in the bank-audit round made five columns. Four of them are numbers with a 4.5rem minimum, which with gaps needs 320px — and the sidebar is about 290px. The name column is the only flexible one, so it absorbed the shortfall and collapsed to nothing. Player names were not truncated, they were entirely invisible, and the row quietly overflowed. Measured at 360, 390, 1024, 1280 and 1600 alike, because the sidebar is narrow at all of them — this was not a phone problem, it was everywhere except the tablet layout where the sidebar goes full width. Names were already down to 50px with four columns, so this had been getting worse before I finished it off. The table earns its columns now instead of assuming them Narrow: player, net, cash out — the two numbers a banker settles up from. Wide enough: the per-hand In and Won as well. A container query rather than a viewport one, because the sidebar is 290px at both 360px and 1600px viewports and the thing that matters is the space the table actually has. Names get a real minimum and ellipsis rather than being crushed. Everything stays in the CSV either way. 360x640 name 0px -> 152px Player | Net | Cash out 390x844 name 0px -> 182px Player | Net | Cash out 768x1024 name -> 389px Player | In | Won | Net | Cash out 1280x900 name 0px -> 151px Player | Net | Cash out Rules probes that came back clean, so nothing changed: - blind rotation over 12 hands with 4 players: exactly 3 big blinds each - a player leaving and rejoining mid-session never causes a double or a skip - the big blind gets their option when everyone limps, can raise with it, and checking it ends the street - a big blind left all-in by the blind itself gets no phantom option - heads-up, the button acts first pre-flop and the big blind still has the option - post-flop the minimum bet falls back to the big blind Re-checked the guarantees from earlier rounds with the sidebar open: 0 of 50 controls on touch-action auto, 0 tap-highlighted, 0 occluded, stacks still inside their pucks, no sideways scroll, bank panel still fits and reads correctly. 137 tests still passing. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgbPull request closed