Skip to content

feat(holdem): let the host pick casual or turbo blinds - #101

Merged
JonasFocus merged 3 commits into
mainfrom
onyx/blind-levels
Oct 21, 2026
Merged

JonasFocus merged 3 commits into
mainfrom
onyx/blind-levels

Conversation

@JonasFocus

Copy link
Copy Markdown
Owner

Summary

The host can choose Casual (static 10/20) or Turbo (blinds rise every 10 hands) between hands, and the table header shows the current and next blinds.

Changes

  • Add a host-only setPace intent, accepted only between hands. Casual keeps 10/20. Turbo steps through 10/20, 20/40, 30/60, 50/100, 100/200 and 200/400, ten hands per level, then holds.
  • Carry the next hand's blinds in the lobby state, so a level change applies at the deal and never mid-hand. Levels count hands since the pace was chosen, not wall-clock time.
  • Show "Next: 20/40 in 3 hands" under the blinds in the table header, add Casual / Turbo buttons for the host in the lobby panel, and scale the raise chips to the current big blind.

Why

Static 10/20 blinds with 2000 stacks drag once stacks get deep. A hand-count clock keeps pressure on without a slow hand skipping a level.

Testing

  • Unit tests for the level table, the hand-boundary timing, host-only and lobby-only checks, the min raise at a raised level, and intent parsing.
  • pnpm lint, pnpm typecheck, pnpm test (345 passing) and pnpm build pass.
  • Smoke test against node server/index.ts with two ws clients: a guest's setPace is rejected, the host's switches to turbo, the next hand posts 10/20 with "next 20/40 in 10", and setPace mid-hand is rejected.

Notes

SMALL_BLIND and BIG_BLIND now mean the opening blinds; game logic reads the current blinds from state.blinds.

Closes #59

- Add a host-only setPace intent: casual holds 10/20, turbo rises every 10 hands through 200/400.
- Apply a level change at the hand boundary and show the current and next blinds in the table header.
- Scale raise chips to the current big blind; add unit tests for the levels and the engine.

Claude-Session: https://claude.ai/code/session_01SiinSXHP71xKCXmAjpTHaM
@vercel

vercel Bot commented Oct 20, 2026

Copy link
Copy Markdown

Deployment failed for project game-time with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/cloverings1s-projects?upgradeToPro=build-rate-limit

# Conflicts:
#	components/texasholdem/Panel.tsx
@JonasFocus JonasFocus added ready Green and self-reviewed; waiting for merge and removed ready Green and self-reviewed; waiting for merge labels Oct 20, 2026
@JonasFocus JonasFocus added the ready Green and self-reviewed; waiting for merge label Oct 20, 2026
@JonasFocus
JonasFocus merged commit c720fd5 into main Oct 21, 2026
2 checks passed
@JonasFocus
JonasFocus deleted the onyx/blind-levels branch October 21, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready Green and self-reviewed; waiting for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add host-chosen blind levels

1 participant