Somebody rebuying is the most common interruption in a cash game, and the only way to record it was to open the seat editor and retype a stack from memory.
Press and hold a seat and there is now "Add chips…": quick amounts off the tables starting stack — half a buy-in, a buy-in, two — with a keypad for the times it is not one of those. Undoable like every other seat action.
It records cash handed over as well as chips added, because those answer different questions: the stack moves every hand, what a player has paid in only moves when they buy. The export gains Bought In, Chips Now and Up/Down, so settling up at the end of the night is reading a row rather than reconstructing it.
The last column needed care, and validation caught it
First pass computed the cash position as chips now − bought in. Playing one hand showed it disagreeing with the hand log: Ann was +$6 by the hand log but +$4 in chips.
Not rounding, and not the rebuy — the next hands blinds are posted the instant the previous hand settles, so chips in front are always a beat behind the log. Counting what a player already has in the current pot as still theirs makes the two agree at any moment.
Validation (Playwright, headed)
Driven the way a dealer would: long-pressed a seat, picked Add chips…, took the ½ buy-in quick amount. Stack 200 → 300, cash in 200 → 300, toast, and Undo reverted both.
Quick amounts derive from the table: with a $200 starting stack they read $100 / $200 / $400, and the sheet shows what is already in front of the player and what they have paid in.
The identity holds across 40 simulated hands with random rebuys, checked before, during and after every hand and every action: chips + in-pot − bought in equals the hand-log net, zero failures. Final standings included a player 900 in and 897 in chips reading −3 both ways.
The new overlay was added to the keyboard guard, so shortcuts stay inert behind it — same regression risk as last round.
No console errors.
Based on feature/casino-holdem-rulings (PR #30) — merge order #22 → … → #30 → this.
Somebody rebuying is the most common interruption in a cash game, and the only way to record it was to open the seat editor and retype a stack from memory.
Press and hold a seat and there is now **"Add chips…"**: quick amounts off the tables starting stack — half a buy-in, a buy-in, two — with a keypad for the times it is not one of those. Undoable like every other seat action.
It records **cash handed over** as well as **chips added**, because those answer different questions: the stack moves every hand, what a player has paid in only moves when they buy. The export gains **Bought In**, **Chips Now** and **Up/Down**, so settling up at the end of the night is reading a row rather than reconstructing it.
## The last column needed care, and validation caught it
First pass computed the cash position as `chips now − bought in`. Playing one hand showed it disagreeing with the hand log: Ann was **+$6 by the hand log but +$4 in chips**.
Not rounding, and not the rebuy — the next hands blinds are posted the instant the previous hand settles, so chips in front are always a beat behind the log. Counting what a player already has in the current pot as still theirs makes the two agree at any moment.
## Validation (Playwright, headed)
- **Driven the way a dealer would**: long-pressed a seat, picked Add chips…, took the ½ buy-in quick amount. Stack 200 → 300, cash in 200 → 300, toast, and **Undo reverted both**.
- **Quick amounts derive from the table**: with a $200 starting stack they read $100 / $200 / $400, and the sheet shows what is already in front of the player and what they have paid in.
- **The identity holds across 40 simulated hands with random rebuys**, checked before, during and after every hand and every action: `chips + in-pot − bought in` equals the hand-log net, **zero failures**. Final standings included a player 900 in and 897 in chips reading −3 both ways.
- The new overlay was added to the keyboard guard, so shortcuts stay inert behind it — same regression risk as last round.
- No console errors.
Based on `feature/casino-holdem-rulings` (PR #30) — merge order **#22 → … → #30 → this**.
jheaps
changed target branch from feature/casino-holdem-rulings to master2026-08-31 23:55:46 -06:00
The tool handles the money; the other half of dealing is the calls. A home-game
dealer who isn't a pro has to rule on a misdeal or a prematurely turned board
card with a table watching, and the usual outcome is an argument settled by
whoever is loudest.
A "Common rulings" link under the table opens a reference for exactly the
situations that come up: what counts as a misdeal, what to do when the fourth
board card gets turned before the betting is finished, and how acting out of
turn is normally treated. It follows the Tournament Directors Association
rules, and says plainly that house rules win and that a dispute gets settled
between hands rather than during one.
It's a sheet rather than a sixth sidebar panel — a dealer consults this rarely
and needs it immediately, which is the opposite of what a panel is for.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
Somebody rebuying is the most common interruption in a cash game, and the only
way to record it was to open the seat editor and retype a stack from memory.
Press and hold a seat and there's now "Add chips…": quick amounts off the
table's starting stack — half a buy-in, a buy-in, two — with a keypad for the
times it isn't one of those. It's undoable like every other seat action, and it
records cash handed over as well as chips added, because those answer different
questions. The stack moves every hand; what a player has paid in only moves
when they buy.
The export gains bought in, chips now, and up/down, so settling up at the end of
the night is reading a row rather than reconstructing it.
Getting that last column right needed care. Chips in front of a player disagree
with the hand log for as long as a hand is open — and since blinds post the
instant the previous hand settles, that window is almost always. Counting what a
player already has in the current pot as still theirs makes the cash position
agree with the hand log at any moment, including across a rebuy.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
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.
Somebody rebuying is the most common interruption in a cash game, and the only way to record it was to open the seat editor and retype a stack from memory.
Press and hold a seat and there is now "Add chips…": quick amounts off the tables starting stack — half a buy-in, a buy-in, two — with a keypad for the times it is not one of those. Undoable like every other seat action.
It records cash handed over as well as chips added, because those answer different questions: the stack moves every hand, what a player has paid in only moves when they buy. The export gains Bought In, Chips Now and Up/Down, so settling up at the end of the night is reading a row rather than reconstructing it.
The last column needed care, and validation caught it
First pass computed the cash position as
chips now − bought in. Playing one hand showed it disagreeing with the hand log: Ann was +$6 by the hand log but +$4 in chips.Not rounding, and not the rebuy — the next hands blinds are posted the instant the previous hand settles, so chips in front are always a beat behind the log. Counting what a player already has in the current pot as still theirs makes the two agree at any moment.
Validation (Playwright, headed)
chips + in-pot − bought inequals the hand-log net, zero failures. Final standings included a player 900 in and 897 in chips reading −3 both ways.Based on
feature/casino-holdem-rulings(PR #30) — merge order #22 → … → #30 → this.