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
Owner

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.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 weren't truncated. They were entirely invisible, and the row silently overflowed.

gridTemplateColumns: 0px 72px 72px 72px 72px      <-- the name column

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

Name column Columns shown
360x640 0px → 152px Player, Net, Cash out
390x844 0px → 182px Player, Net, Cash out
768x1024 389px Player, In, Won, Net, Cash out
1280x900 0px → 151px Player, Net, Cash out

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:

  • blind rotation over 12 hands with 4 players — exactly 3 big blinds each
  • a player leaving and rejoining mid-session never causes a double blind 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 its option
  • post-flop the minimum bet correctly falls back to the big blind

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

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.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 weren't truncated. They were **entirely invisible**, and the row silently overflowed. ``` gridTemplateColumns: 0px 72px 72px 72px 72px <-- the name column ``` 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 | | Name column | Columns shown | | --- | --- | --- | | 360x640 | **0px → 152px** | Player, Net, Cash out | | 390x844 | **0px → 182px** | Player, Net, Cash out | | 768x1024 | 389px | Player, In, Won, Net, Cash out | | 1280x900 | **0px → 151px** | Player, Net, Cash out | 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: - blind rotation over 12 hands with 4 players — exactly **3 big blinds each** - a player leaving and rejoining mid-session never causes a double blind 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 its option - post-flop the minimum bet correctly falls back to the big blind ## 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](https://www.readybetgo.com/poker/rules/buttons-and-blinds-218.html), [Casino Poker for Beginners: Missed Blinds](https://www.pokernews.com/strategy/casino-poker-for-beginners-missed-blinds-and-other-buttons-21220.htm)
jheaps added 1 commit 2026-09-01 08:08:20 -06:00
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_015bnp7xKUPFFSpwkYNFaPgb
jheaps closed this pull request 2026-09-01 09:32:17 -06:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jheaps/JoshHeaps.Net#52