F014 — Multi-stage Betting
Business Rule
Texas HedgeEm supports up to four betting windows, each corresponding to a game stage. The operator configures which stages are active at installation time. Available betting stages:
There is no betting window at the River — betting always closes before the final card is dealt.
Default configuration: POST-FLOP only (single betting stage). The operator can enable any combination of the four stages.
Source: Game Concept Document
“In its default configuration there is only one betting stage (POST-FLOP) but the operator can choose to enable other betting stages: ANTE-BET, PRE-FLOP, POST-FLOP, and TURN.”
“The configuration changes the gameplay experience to suit the target audience.”
Current Implementation vs Design Doc
The TypeScript standalone client currently implements three betting stages (PRE-FLOP / POST-FLOP / TURN, i.e. hole/flop/turn). This is intentional for the reference implementation — it showcases the full multi-stage betting experience. The POST-FLOP-only default from the design doc is for the simpler/faster operator configuration. The JavaScript reference client athedgeem.qeetoto.com should be audited to confirm which stages are active.
Design Detail
Per-stage bet display
When a player has placed bets across multiple stages on the same hand, each stage bet is shown as a separate labelled row below the chip:recordedOdds), not the current offered odds. The current offered odds are shown separately above the hand panel as xN.N.
Implementation: GDK player.stages[] array — one entry per committed bet, each { bet: pence, multiplier: recordedOdds }. The game renders one labelled row per entry. A single stages entry with the accumulated total is incorrect — it collapses all stage rows into one and shows only the latest odds.
Cancel behaviour: Only uncommitted pending chips (placed in the UI but not yet POSTed to /bet) should be cancelled. Prior stage bets are locked and must not be affected by a cancel action at a later stage.
Per-stage bet accumulation
Each bet is recorded with its stage at placement:Ante-Bet stage
ANTE-BET (before hole cards) is not implemented in the current TS or JS clients. When implemented:- No cards visible
- Odds would be equal for all hands (pure speculation, no information)
dealStatus = -1— betting window added beforeadvance()to hole
Operator configuration scope
Configuring betting stages is an installation-time setting (F032), not a per-game or per-player option.JavaScript Reference
JS Source: Audit required to confirm which stages are active in the live JS client athedgeem.qeetoto.com.
TypeScript Implementation
Current status: Three betting stages active (hole/flop/turn = PRE-FLOP/POST-FLOP/TURN). Stage is enforced inGameEngine.placeBet():
dealStatus = -1) is not currently enabled.
Acceptance Criteria
Version Parity
Related Features
- F004 — Game Stages (stage definitions and transitions)
- F011 — Bet Placement (per-stage mechanics)
- F015 — Payout Calculation (bets from all stages resolved)
- F032 — RTP Config (operator stage configuration)