Strategy browser
Reading the 13×13 matrix — cell fills, action colors, combo search, per-hand EVs, and pot geometry.
/study/{spotId}/{boardId} is the deepest screen: the solved mixed strategy
of the acting player (OOP at the root) on one flop, down to individual combos.
Reading the matrix
The 13×13 grid follows the standard convention: AA top-left, pairs down the
diagonal, suited hands above the diagonal (AKs row A, column K),
offsuit below (AKo row K, column A).
Each in-range cell encodes two things at once:
- Action mix — the cell is filled with horizontal bands, one per action, each band's width equal to that action's probability for the class. Bands are painted in display order: biggest bet leftmost, then smaller bets, then check/call, with fold always at the right edge.
- Reach weight — a class that arrives with less than full weight is
darkened from the top: the top
100 − weight%of the cell drops to the void color. A cell not in the range at all stays void entirely.
Hovering previews a class in the side panel and shows a tooltip with the exact mix; clicking pins it (click again to unpin).
Action colors
One palette product-wide (preflop and postflop):
| Action | Color |
|---|---|
| Fold | #3d72d9 |
| Check / Call | #3aa657 |
| Bet < 45% pot | #e56a4b |
| Bet 45–90% pot | #cc3d31 |
| Bet ≥ 90% pot, jams, all-in | #93261f |
The red family darkens with size, so aggression escalation reads at a glance. Preflop raises tint by escalation level instead (open → 3-bet → 4-bet+).
Combo search
The search box in the side panel accepts:
| Query | Meaning |
|---|---|
AhKs | A concrete combo (any order, spaces/dashes/10 tolerated: ah ks, KS-AH, 10h9h). Pins its class and spotlights the combo. |
AKs / AKo | A suited / offsuit class. Bare AK is ambiguous and rejected. |
77 | A pair class. |
Invalid input gets an inline hint: Not a combo or class — try "AhKs", "AKo" or "77".
Per-combo drilldown
The pinned class shows its per-action rows (frequency + EV in bb per action), then a mini-card per combo: the two cards, a vertical mix bar, and each action's percentage — tooltips carry the per-action EVs. Combos differ within a class because of card removal (e.g. a spade in hand on a two-spade board).
EV columns are meaningful on postflop boards, where the solver publishes per-combo EVs. The preflop packs carry no EVs yet — that column arrives with the preflop EV exports (see Roadmap).
Header and geometry readouts
- Action summary — one bar per root action with range-wide frequency and
combo count (e.g.
Bet 55% (28.4bb) · 16.9% · 223.5 combos). - Pot geometry — at the root: pot, effective stack, SPR. Facing a bet
(arrives with the tree tier):
Facing X into Y, pot oddsbet / (pot + 2·bet), MDFpot / (pot + bet), and stack behind if called. Node EVs (OOP/IP) show when the solve publishes them.
Locked tree slots
The node breadcrumb shows the root chip — Root · OOP to act — followed by
each root action as a visibly disabled slot, tooltip: "Node navigation
unlocks with the full-tree extraction campaign", and the trailing note
"full tree: extraction campaign".
This is deliberate contract-first UI: the API already fixes the endpoint and
document shape for non-root nodes
(GET …/node?path=root.bet_55 returns a typed 501 TIER_NOT_AVAILABLE
today), so when the Tier-A extraction campaign publishes tree packs, these
slots light up without a redesign. See
Roadmap — serving tiers.