Manual
PLO5 / PLO4 Preflop Solver & Equity Calculator
사용자 매뉴얼 User Manual
3개 앱(PLO5 · PLO4 · Equity)을 처음 사용하는 사람도
모든 기능을 활용할 수 있도록 단계별로 안내합니다.
A step-by-step reference to every feature of the
three integrated apps: PLO5, PLO4, and Equity.
Version 2.0  |  2026년 5월May 2026
plotools.netlify.app

0. 시작하기 0. Getting Started

0.1 사이트 접속 0.1 Accessing the site

URL: https://plotools.netlify.app

접속하면 자동으로 PLO5 Preflop Solver — Study 페이지로 이동합니다. 여기서 다른 앱(PLO4 · Equity)이나 다른 모드(Train · Dashboard)로 이동할 수 있습니다.

The site lands on the PLO5 Preflop Solver — Study page by default. From there, you can navigate to the other apps (PLO4, Equity) or switch modes (Train, Dashboard).

지원 환경: 데스크톱 브라우저(Chrome / Edge / Firefox / Safari 최신) 권장. 화면 너비 1024px 이상에서 가장 잘 보입니다. Dashboard는 모바일에서 가로 회전을 권장합니다.

Supported environments: Modern desktop browsers (Chrome, Edge, Firefox, Safari). Best viewed at ≥1024px wide. The Dashboard prompts to rotate on narrow viewports.

0.2 사이드바 — 3개 앱 0.2 Sidebar — 3 apps

화면 왼쪽 사이드바에는 4개의 항목이 있습니다:

항목이동 경로설명
PLO5/5-card PLO 6-max 100bb 프리플랍 GTO 솔버 (메인)
PLO4/plo44-card PLO 동일 환경의 프리플랍 솔버 + 동일한 Train UX
Equity/equityPLO 4/5/6카드 핸드 에퀴티 계산기
Manual/manual.html이 매뉴얼 (새 탭으로 열림)

현재 활성화된 앱은 왼쪽 파란 띠로 표시됩니다. 사이드바 좌상단 « 버튼으로 접을 수 있고, 접힌 상태(56px)는 브라우저를 닫았다 열어도 유지됩니다.

사이드바는 앱(PLO5/PLO4/Equity) 전환만 담당합니다. 같은 앱 안의 화면(Study/Train/Dashboard)은 상단의 앱 헤더 알약(pill) 버튼으로 이동합니다.

The left sidebar has four entries:

EntryPathDescription
PLO5/5-card PLO 6-max 100bb preflop GTO solver (primary).
PLO4/plo44-card PLO solver in the same shell + the same Train UX.
Equity/equityPLO 4/5/6-card hand equity calculator.
Manual/manual.htmlThis manual (opens in a new tab).

The active app is marked with a blue left rail. Click « at the top of the sidebar to collapse it to 56px; the collapsed state persists across reloads.

The sidebar only switches apps. Within an app, navigate between Study/Train/Dashboard using the pill buttons in the app header.

0.3 앱 헤더 (Study / Train / Dashboard) 0.3 App Header (Study / Train / Dashboard)

각 앱 화면 상단에는 3-단 헤더가 있습니다:

  • 최상단 알약 버튼 — Study / Train / Dashboard 모드 전환 (PLO5는 /, /train, /dashboard; PLO4는 /plo4, /plo4/setup, /plo4/dashboard). Equity 앱에는 알약이 없습니다.
  • 시나리오 행 — 시뮬레이션 칩(6-Max · 100bb · Cash 같은 태그) + Preferences 버튼. PLO4에서는 시뮬레이션 이름과 추가 태그를 표시.
  • 포지션 액션바 — UTG → MP → CO → BU → SB → BB 6 자리. 각 자리의 액션 칩(Fold/Call/Raise…)을 눌러 액션 트리를 따라 내려갑니다. Train · Dashboard 화면에서는 숨겨집니다.

Every app screen has a three-row header:

  • Top pills — switch between Study / Train / Dashboard (PLO5 maps to /, /train, /dashboard; PLO4 to /plo4, /plo4/setup, /plo4/dashboard). The Equity app has no pills.
  • Scenario row — simulation chips (e.g. 6-Max · 100bb · Cash) plus a Preferences button. In PLO4 this row also shows the simulation name and extra tags.
  • Position action bar — six seats (UTG → MP → CO → BU → SB → BB). Click each seat's action chip (Fold/Call/Raise/…) to walk the action tree. Hidden on Train and Dashboard screens.

0.4 매뉴얼 언어 토글 0.4 Manual Language Toggle

이 매뉴얼은 본문 우측 상단의 [한국어 | English] 토글로 한국어와 영어를 즉시 전환할 수 있습니다. 선택한 언어는 브라우저 localStorage에 저장돼 다음 방문 시에도 유지됩니다.

매뉴얼의 언어 토글은 매뉴얼 페이지에만 적용됩니다. Equity Calculator의 자체 한/영 토글(/equity의 우상단)은 별개로 동작합니다 — 둘은 서로 영향을 주지 않습니다.

Switch between Korean and English instantly via the [한국어 | English] toggle at the top-right of the page. Your choice is saved to localStorage and restored on subsequent visits.

The manual's language toggle only affects this manual. The Equity Calculator has its own KO/EN toggle (top-right of /equity); the two are independent.

1. PLO5 Preflop Solver 1. PLO5 Preflop Solver

1.1 핵심 개념: 액션 트리 탐색 1.1 Core concept: walking the action tree

이 솔버는 "내 핸드를 먼저 입력하는" 도구가 아닙니다.
대신 게임 상황(누가 어떤 액션을 했는지)을 먼저 설정하면, 그 노드에서 모든 핸드의 GTO 빈도와 EV가 표시됩니다.

사용 흐름:

  1. 상단 포지션 액션바에서 자리별 액션을 클릭해 액션 트리를 내려갑니다 (예: UTG fold → MP call → CO 3bet …).
  2. 현재 행동 차례인 자리(에메랄드 색 테두리)에 도달하면, 오른쪽 패널에 그 자리의 모든 핸드 전략이 표시됩니다.
  3. Range 탭은 액션별 컬럼으로, Matrix 탭은 13×13 시각화로 같은 데이터를 보여줍니다.
  4. 특정 핸드를 학습하려면 우상단의 ▶ Train 버튼을 눌러 현재 노드에서 학습 모드를 시작합니다.
This solver is not "input your hand first."
Instead, you first set up the game situation (who did what); the right pane then shows the GTO frequency and EV for every hand at that node.

Usage flow:

  1. Click action chips in the position action bar at the top to walk down the tree (e.g. UTG fold → MP call → CO 3bet …).
  2. When you reach the seat to act (emerald border), the right pane shows the full strategy for every hand in that spot.
  3. Range tab shows the data as per-action columns; Matrix tab shows the same data on a 13×13 grid.
  4. To drill a specific spot, click the ▶ Train button (top-right) — it launches Train mode anchored at the current node.

1.2 포지션 액션바 1.2 Position action bar

┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ UTG 100│ │ MP 100│ │ CO 100│ │ BU 100│ │ SB 99.5│ │ BB 99│ │ ─────────│ │ ─────────│ │ ─────────│ │ ─────────│ │ ─────────│ │ ─────────│ │ Fold │ │ Fold │ │ Fold │ │ Fold │ │ Fold │ │ Fold │ │ │ │ │ │ Call │ │ Call │ │ Call │ │ Call │ │ │ │ │ │ Raise │ │ Raise │ │ Raise │ │ Raise │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ ↑ 현재 차례 / current actor
  • 각 칩(타일)은 한 자리(seat)를 표시합니다. 상단에 포지션 약어(UTG/MP/CO/BU/SB/BB) + 남은 스택 BB.
  • 아래에 가능한 액션이 정렬되어 표시됩니다: FoldCheckCallRaiseAll-in. Raise는 사이즈가 함께 표기됩니다 (예: Raise 9).
  • 액션 칩을 누르면 그 자리의 액션이 채워지고 다음 자리로 내려갑니다.
  • 이미 액션이 결정된 자리는 색이 채워진 상태로 보입니다. 그 자리의 카드 영역(액션 칩 외부)을 클릭하면 그 자리부터 이후 액션을 모두 되돌립니다(타임라인 자르기).
  • 오른쪽 끝의 ↶ Undo는 마지막 액션 한 단계를 되돌리고, ⟲ Reset은 모두 초기화합니다.
  • 한 바퀴(orbit)를 다 돌아도 액션이 끝나지 않은 라인(예: CO open → SB 3bet → CO 다시 결정)은 자동으로 추가 칩이 생성됩니다.
  • Each tile = one seat. The top row shows the position abbreviation (UTG/MP/CO/BU/SB/BB) and the seat's remaining stack in BB.
  • Below it, the available actions are sorted in canonical order: FoldCheckCallRaiseAll-in. Raises are labeled with their sizing (e.g. Raise 9).
  • Clicking an action chip fills that seat's action and advances to the next seat.
  • Seats with a chosen action display the chosen chip filled in. Clicking the seat card area (outside the action chips) truncates the timeline at that seat.
  • The ↶ Undo button reverts one step; ⟲ Reset wipes the entire history.
  • If a line continues past a full orbit (e.g. CO open → SB 3bet → CO acts again), additional tiles auto-grow on the right.
딥 링크: 현재 노드는 URL의 ?node= 쿼리 파라미터에 인코딩됩니다 (예: ?node=F-F-R9-F-F-C). URL을 공유하면 같은 라인을 즉시 띄울 수 있습니다. Deep links: The current node is encoded in the ?node= URL parameter (e.g. ?node=F-F-R9-F-F-C). Share the URL to send a coworker straight to the same line.

1.3 포커 테이블 & 팟 1.3 Poker table & pot

왼쪽 패널 상단의 포커 테이블은 6 자리를 시각화합니다:

  • 각 자리의 스택은 액션 히스토리에서 자동 계산됩니다. SB는 0.5, BB는 1을 미리 포스트한 상태에서 시작.
  • 액션이 진행될수록 팟(pot) 라벨이 갱신됩니다.
  • 현재 차례인 자리는 강조 표시되고 (Preferences에서 끌 수 있음), 폴드한 자리는 흐리게 표시됩니다.
  • Train 모드에서는 자신의 핸드 카드(5장)가 자기 자리에 표시됩니다.

The poker table at the top of the left panel visualizes the six seats:

  • Each seat's stack is computed from the action history. SB starts with 0.5 BB posted, BB with 1 BB.
  • The pot label updates as actions are added.
  • The current actor is highlighted (this can be turned off in Preferences); folded seats are dimmed.
  • In Train mode, your dealt hand (5 cards) is displayed at your own seat.

1.4 시나리오 행 & 환경설정 1.4 Scenario row & preferences

액션바 위의 시나리오 행에는 현재 시뮬레이션의 메타정보 칩과 우측 도구 모음이 있습니다:

  • 6-Max · 100bb — 게임 설정.
  • Preferences 버튼 — 다음 5가지 토글을 모달로 엽니다:
    • Show EV values — Range 탭 핸드 행에 EV 표시
    • Show stack size — 테이블에 자리별 잔여 스택 표시
    • Highlight current position — 현재 차례 자리 강조
    • Animate chip transitions — 액션 시 칩 애니메이션
    • Sound effects — Train 모드에서 효과음

The scenario row sits between the action bar and the main pane and shows simulation metadata + a small toolbar on the right:

  • 6-Max · 100bb — game configuration.
  • The Preferences button opens a modal with five toggles:
    • Show EV values — display EV in Range tab rows.
    • Show stack size — show remaining stack at each seat.
    • Highlight current position — emphasize the seat to act.
    • Animate chip transitions — animated chip movement on actions.
    • Sound effects — sound on Train mode events.

1.5 Range 탭 1.5 Range tab

Range 탭은 현재 노드에서 사용 가능한 각 액션을 한 컬럼으로, 컬럼 내부에 핸드 행을 나열합니다.

1.5.1 상단 검색 행

탭 콘텐츠 최상단에 4개 영역이 있습니다:

  • 🔍 Search — PPT 호환 필터 표현식 입력. Enter로 적용, Esc로 클리어. 입력 후 포커스를 잃을 때도 자동 적용됩니다.
  • Range: XX.XX% — 검색식 적용 후 살아남은 핸드의 가중치 비율 (전체 가중치 대비).
  • ▤ Filter — 칩 그룹 팝오버를 엽니다 (수트 구조 / 카드 카테고리 등 시각적 칩으로 필터). 활성 그룹 수가 녹색 배지로 표시됩니다.
  • Filtered / Total weight — 콤보 가중치(천 단위 구분자 ') — 좌: 검색·칩 적용 후, 우: 전체.

1.5.2 PPT 필터 문법

검색창은 PokerPPT 표기를 따릅니다. 주요 토큰:

표현의미
AA에이스 페어 포함하는 모든 핸드
AAxx에이스 페어 + 임의 두 카드 (PLO4용 단축; PLO5는 AAxxx)
A*에이스 1장 이상 포함
AKs스위티드 AK 콤보
22+22 이상 모든 페어
!AAAA 페어 제외
AA, KKOR (콤마)
AA & dsAND — AA이면서 더블 수티드
(AA, KK) & rb괄호 우선순위 — AA 또는 KK 중 레인보우

익숙한 PPT 표기는 대부분 그대로 동작합니다. 잘못된 표기는 무시되고 0% 매치로 표시됩니다.

1.5.3 칩 필터 (Filter 팝오버)

Filter 버튼을 누르면 시각적 칩 그룹 빌더가 열립니다. 하나의 그룹은 OR 묶음이며, 그룹끼리는 AND로 결합됩니다. 결과는 검색 표현과 함께 동시에 적용됩니다.

1.5.4 글로벌 토글

탭 헤더(검색 행 위)의 토글들은 모든 컬럼에 영향을 줍니다:

  • 0% Combos — 빈도 0% 콤보도 표시 (목록 깊이 디버깅용).
  • EV Pot% — 핸드의 EV를 팟의 % 단위로 환산해 표시 (vs. 절대 BB).
  • EV difference — 동일 콤보의 다른 컬럼 대비 EV 차이 표시 (해당 컬럼이 최선이 아니면 음수).
  • ★ N — 즐겨찾기로 표시한 콤보만 보기 (N = 즐겨찾기 개수).

1.5.5 컬럼 헤더 & 행

  • 각 컬럼 상단에 액션 라벨 + % (해당 컬럼의 빈도 점유율) + EV + WT 헤더가 있고, %나 EV를 누르면 해당 키로 정렬됩니다 (▼ 표시).
  • 핸드 행은 좌→우: ★ 즐겨찾기 토글, 핸드 표기, %(콤보 빈도), EV (또는 EV diff), WT(가중치). 행에 마우스를 올리면 화면 우측에 호버 툴팁이 떠 같은 콤보가 다른 액션에서 어떤 빈도/EV를 가지는지 비교 표시.
  • 리스트가 길면 하단의 Show more... 버튼으로 300개씩 추가 로드.
일부 깊은 라인(특히 7뎁스 이상)에서는 데이터가 점진적으로 크롤됩니다. 데이터가 아직 채워지지 않은 컬럼이 있으면 상단에 황색 배너 "Range data not yet crawled..."가 표시됩니다. 이 경우 트리는 보이지만 빈도는 비어 있습니다.

The Range tab shows each available action at the current node as one column, with the action's hand mix listed as rows.

1.5.1 Search row

The top of the tab content has four areas:

  • 🔍 Search — PPT-compatible filter expression. Press Enter to commit, Esc to clear. The expression is also committed when the input loses focus.
  • Range: XX.XX% — the weight share of the surviving hands after search filtering (relative to the unfiltered range).
  • ▤ Filter — opens the chip-group popover (suit structure / card-category chips). A green badge shows how many chip groups are active.
  • Filtered / Total weight — combo weights (thousand separator '); left = after search + chips, right = total.

1.5.2 PPT filter syntax

The search box accepts PokerPPT-like notation. Common tokens:

ExpressionMeaning
AAAny hand containing pocket aces.
AAxxAA + any two cards (PLO4 shorthand; PLO5 uses AAxxx).
A*At least one ace.
AKsSuited AK combo.
22+Any pair 22 or higher.
!AAExclude AA.
AA, KKOR (comma).
AA & dsAND — AA AND double-suited.
(AA, KK) & rbParentheses for precedence — AA or KK that is rainbow.

Most familiar PPT tokens work as-is. Invalid expressions silently fail to a 0% match.

1.5.3 Chip filter (Filter popover)

Click Filter to open the visual chip-group builder. Within a group, chips OR together; groups AND together. Chip filters layer on top of the search expression — both must match.

1.5.4 Global toggles

The toggles on the tab header (above the search row) affect every column:

  • 0% Combos — also include combos with frequency = 0 (mainly for debugging coverage).
  • EV Pot% — show EV as a percentage of pot (vs. absolute BB).
  • EV difference — show the EV delta against the best column for the same combo (negative if the column is sub-optimal).
  • ★ N — show only favorited combos (N = number of favorites).

1.5.5 Columns & rows

  • Each column header shows the action label + % (action's frequency share) + EV + WT. Click % or EV to sort by that key (the active sort gets a ▼ marker).
  • Each row shows, left→right: a ★ favorite toggle, the hand notation, %(combo freq), EV (or EV diff), and WT (combo weight). Hovering a row pops a side tooltip comparing the combo's freq/EV across all actions.
  • If the list is long, click Show more... at the bottom to load 300 more rows.
Some deep lines (especially depth 7+) are crawled incrementally. If a column's data hasn't been crawled yet, an amber banner appears: "Range data not yet crawled...". The tree is visible but the per-hand frequencies will be empty.

1.6 Matrix 탭 1.6 Matrix tab

Matrix 탭은 13×13 그리드(각 셀 = 두 카드 랭크 조합)로 액션 빈도를 시각화합니다. PLO5는 한 핸드가 5장이라 한 콤보가 여러 셀에 기여하므로, 단순 매핑이 아니라 "최고 두 장 랭크" 기반 분포 빈너를 사용합니다.

1.6.1 Normal vs Advanced

Matrix는 두 가지 모드로 동작합니다:

  • Normal (기본) — 모든 콤보를 기본 칩 패턴으로 빈하고, 색상은 액션 비율을 직접 표시. 가장 빠르게 전체 분포를 파악.
  • Advanced — 상단/하단 삼각형의 칩(수트 구조)을 사용자가 토글해 일부만 표시 가능. 사이드 카테고리 필터(아래)와 결합해 미세 검사.

1.6.2 칩 행 (수트 구조)

그리드 위/아래에 6개 수트 구조 칩이 있고, 위쪽 행은 상단 삼각형(UR), 아래쪽 행은 하단 삼각형(LL)에 적용됩니다. 대각선은 두 행의 합집합:

  • Single Suited — 한 쌍만 같은 수트
  • Double Suited Pure — 두 쌍의 수트 (각 2장씩, 서로 다른 수트)
  • Double Triple Suited — 한 쌍 2장 + 한 쌍 3장
  • Triple Suited — 같은 수트 3장
  • Quad Suited — 같은 수트 4장
  • Monotone Suited — 5장 모두 같은 수트 (PLO5 한정)

각 칩은 3-상태입니다: off / good-only / bad-only / both. 라벨 클릭은 (off ↔ both), 좌측 작은 점 클릭은 good-only 토글, 우측은 bad-only 토글. Monotone은 단순 on/off (good/bad 구분 없음).

1.6.3 2단계 픽 (랭크 선택)

그리드의 셀을 클릭하면 1차 픽이 됩니다 (예: A·K). 그 다음 그리드는 2차 빈닝으로 다시 그려집니다 — 1차 픽 두 카드를 포함하는 콤보들에 대해, 나머지 3장의 최고 두 장으로 셀을 분류. 셀을 한 번 더 클릭하면 셀이 활성화되고, 좌하단 패널이 자동으로 Details 탭으로 전환되며 해당 픽 콤보들이 리스트로 표시됩니다.

Highest-two-cards 모드(기본, Any cards 토글 OFF, 페어 픽 아닐 때)에서는 1차 픽보다 큰 랭크의 셀을 자동 드롭해, "당신의 픽이 정말 최고 2장"임을 강제합니다. Any cards 토글을 켜면 이 제약이 해제되어 1차 픽이 콤보의 임의 두 장으로 매칭됩니다.

1.6.4 카테고리 사이드바

왼쪽 패널 하단(CategoryPanel)에는 9 + 1개 카테고리가 표시됩니다 — Unpaired/One Pair/Two Pair × Double Suited/Single Suited/Rainbow + Trips+. 카테고리를 클릭하면 매트릭스의 해당 수트 구조만 페인트되며, 이때 사용자 칩은 시각적으로만 남고 실제 필터에는 영향을 주지 않습니다 (사이드바가 우선).

1.6.5 상호작용 요약

  • 셀 호버 → CategoryPanel이 자동으로 Details 모드로 전환되며 해당 셀에 매핑된 콤보 미리보기.
  • 셀 클릭 → 1차 픽 (rank), 같은 셀 재클릭 → 활성/비활성.
  • 카테고리 사이드바 항목 클릭 → 매트릭스 페인트가 해당 카테고리로 한정.
  • "Good suits / Bad suits" 프리셋 → 모든 칩을 일관된 패턴으로 설정 + diag 필터 해제.

The Matrix tab shows action frequencies on a 13×13 grid where each cell is a two-rank combination. Because a PLO5 hand has 5 cards, one combo emits to multiple cells — we use a "highest two ranks"-based binner rather than a naive mapping.

1.6.1 Normal vs Advanced

The Matrix has two modes:

  • Normal (default) — every combo bins under the default chip pattern; cell colors directly show the action mix. Fastest way to read the overall distribution.
  • Advanced — the user can toggle individual chip pills on the top/bottom triangle to peel layers. Combine with the sidebar category filter (below) for surgical inspection.

1.6.2 Chip rows (suit structures)

Six suit-structure chips sit above and below the grid. The upper row controls the upper triangle (UR), the lower row the lower triangle (LL). The diagonal is the union of both rows.

  • Single Suited — exactly one pair of cards shares a suit.
  • Double Suited Pure — two distinct suit pairs (2 + 2).
  • Double Triple Suited — one pair + one triple in different suits (2 + 3).
  • Triple Suited — three cards share a suit.
  • Quad Suited — four cards share a suit.
  • Monotone Suited — all 5 cards share a suit (PLO5 only).

Each chip is a three-state pill: off / good-only / bad-only / both. Clicking the label flips off ↔ both; clicking the small left dot toggles good-only, the right dot toggles bad-only. The Monotone chip is simple on/off (no good/bad split).

1.6.3 Two-stage pick (rank selection)

Click a grid cell to set a first pick (e.g. A·K). The grid then re-renders with secondary binning: only combos containing those two ranks are kept, and they are re-binned by the top two of the remaining 3 cards. Click the same cell a second time to activate the pick — the bottom-left panel auto-switches to Details and lists the matching combos.

In the default Highest-two-cards mode (Any-cards toggle OFF, non-pair pick), cells whose rank exceeds the first pick are auto-dropped — enforcing "your pick is genuinely the top 2 cards." Toggle Any cards ON to relax this and match the pick against any two of the combo's cards.

1.6.4 Category sidebar

The bottom-left panel (CategoryPanel) lists 9 + 1 categories — Unpaired / One Pair / Two Pair × Double Suited / Single Suited / Rainbow, plus Trips+. Clicking a category restricts the matrix paint to that suit structure; user chip clicks become visual-only while a category is active (sidebar wins).

1.6.5 Interaction summary

  • Cell hover → CategoryPanel auto-switches to Details mode and previews the combos under that cell.
  • Cell click → first pick (rank); click the same cell again → activate / deactivate.
  • Sidebar category click → restrict matrix paint to that category.
  • "Good suits / Bad suits" preset → set all chips consistently and clear any diag filter.

1.7 빈도 바 & 카테고리 패널 1.7 Frequency bar & category panel

왼쪽 패널 중간의 OverallFrequencyBar는 현재 노드의 액션별 가중 빈도를 한 줄로 보여줍니다 (예: Fold 35% / Call 28% / Raise 9 37%). 색은 액션 색상 코드를 따릅니다.

그 아래의 CategoryPanel은 두 서브탭을 가집니다:

  • Categories — 9 + 1개 카테고리별 핸드 비율과 액션 분포. 클릭하면 매트릭스 필터가 그 카테고리로 한정됩니다 (Advanced 모드).
  • Details — 현재 매트릭스 픽이나 호버에 매칭되는 콤보 리스트. 콤보별 EV/Frequency와 액션 분포 미니바.

The OverallFrequencyBar in the middle of the left panel renders the weighted frequency of each available action as a single horizontal bar (e.g. Fold 35% / Call 28% / Raise 9 37%). Colors follow the action color code.

Below it, the CategoryPanel has two sub-tabs:

  • Categories — share + per-action breakdown for each of the 9 + 1 hand categories. Clicking a category restricts the matrix to it (Advanced mode).
  • Details — the combo list under the current matrix pick or hover, with each combo's EV / frequency and a per-action minibar.

1.8 Train 모드 1.8 Train mode

Train 모드는 한 노드에 묶어두고 핸드를 무작위로 받아 GTO 액션을 맞히는 학습 인터페이스입니다. 화면은 두 단계로 구성됩니다:

1.8.1 Setup 화면 (/setup)

3-단 그리드 레이아웃:

  • 왼쪽(233px) — Skills 패널 — 추천 스팟 (DB-backed 자리 표시자, 추후 확장).
  • 가운데 — 설정 영역
    • Strategic only 토글 — 결정이 까다로운 핸드만 출제 (전략적 가치가 낮은 명백한 hand 자동 스킵).
    • Spot picker — 액션 트리를 시각적으로 따라 내려가며 학습할 노드를 선택 (Study에서 ▶ Train로 진입했다면 그 노드가 미리 선택돼 있음).
    • 현재 선택된 spot은 node=...로 URL에 인코딩되어 새로고침/공유에 강건.
    • ▸ Start session — 세션 시작.
  • 오른쪽(290px) — Favorites 패널 — 즐겨찾기로 표시한 핸드 (DB-backed 자리 표시자).

1.8.2 Session 화면 (/train)

3-단 그리드:

  • 왼쪽(280px) — TrainLeftRail — 세션 통계, 현재 spot 정보, History 패널 (자동 펼침).
  • 가운데 — 메인 영역
    • 상단 우측 모서리에 🔥 N HotStreakBadge — 연속 정답 개수 (PERFECT 또는 CORRECT일 때 증가, 그 외 리셋).
    • TrainActionBreadcrumb — 학습 중인 액션 라인 표시.
    • PokerTable — 본인 자리에 받은 5장 핸드 표시.
    • TrainActionBar — 4개 색칠된 액션 버튼 (Fold/Call/Raise/All-in 등). 우하단에 단축키 숫자.
  • 오른쪽(290px) — TrainRightRail — Hand feedback (피드백 카드) + Train 환경설정 (pause behavior, sound 등).

1.8.3 판정 (Verdict)

액션 선택 후 즉시 5-tier 판정과 모든 후보 액션의 정답 카드가 함께 표시됩니다:

Tier아이콘색상조건스트릭
Perfect에메랄드최선 액션 + 그 액션 빈도 ≥ 95%+1
Correct녹색최선 액션 (혼합 전략 시 일반 정답)+1
A must move파랑다른 액션이지만 솔버 빈도 ≥ 85% 또는 EV 손실 < 2% 팟유지
Inaccuracy노랑EV 손실 < 5% 팟0
Mistake주황EV 손실 < 15% 팟0
Blunder빨강EV 손실 ≥ 15% 팟0

판정 후 액션 카드는 정답() / 본인 선택() / 비추(👎, 빈도 < 5%)로 마킹된 reveal 형태로 바뀝니다.

1.8.4 자동 진행 / 일시정지

Pause-after 모드(우측 Rail의 토글):

  • Off — 모든 판정 후 1500ms 보여주고 자동으로 다음 핸드.
  • On — 모든 판정 후 일시정지. Space 또는 Next hand » 버튼으로 진행.
  • Mistake (기본 권장) — Mistake/Blunder만 일시정지, Perfect/Correct/MustMove/Inaccuracy는 1500ms 후 자동 진행.

1.8.5 단축키 & 빠른 동작

  • 1 ~ 4 — 액션 버튼 선택 (보이는 순서대로).
  • Space — 일시정지된 판정에서 다음 핸드.
  • Esc — Setup 화면으로 돌아가기.

1.8.6 History & Bookmark

왼쪽 Rail의 History 패널에 최근 핸드들이 자동으로 누적됩니다. 각 행은 핸드 / 본인 선택 / 판정 tier / 즉시 EV 차이를 표시. 행을 펼쳐 GTO 정답을 다시 보거나 bookmark 토글로 따로 모아둘 수 있습니다.

Train에서 학습한 모든 액션은 LocalStorage 기반 dashboardStore에 즉시 누적됩니다. Dashboard로 이동하면 통계(정확도/EV 손실/스트릭/시나리오 분류)가 반영됩니다. PLO4와 PLO5의 통계는 별도 키로 분리됩니다.

Train mode pins you to a node, deals random hands, and asks you to pick the GTO action. It has two screens:

1.8.1 Setup screen (/setup)

Three-column grid:

  • Left (233px) — Skills panel — recommended spots (DB-backed placeholder, expanding).
  • Center — config
    • Strategic only toggle — only deal hands with non-trivial decisions (auto-skips obviously dominant or trash hands).
    • Spot picker — click down the action tree to pick the node to train (if you arrived via the ▶ Train button in Study, the node is pre-selected).
    • The selected spot is encoded as ?node=... in the URL, so refreshes and shared links survive.
    • ▸ Start session — start the session.
  • Right (290px) — Favorites panel — favorited combos (DB-backed placeholder).

1.8.2 Session screen (/train)

Three-column grid:

  • Left (280px) — TrainLeftRail — session stats, current spot info, history panel (auto-expanded).
  • Center — main
    • Top-right corner: 🔥 N HotStreakBadge — consecutive correct answers (increments on PERFECT or CORRECT, resets otherwise).
    • TrainActionBreadcrumb — the action line being trained.
    • PokerTable — your dealt 5-card hand at your seat.
    • TrainActionBar — up to 4 colored action buttons. The hotkey number is in the bottom-right of each button.
  • Right (290px) — TrainRightRail — hand feedback panel + train preferences (pause behavior, sound, etc.).

1.8.3 Verdict

After you pick, the verdict and a reveal of every candidate action appear together. The 5-tier classification:

TierIconColorConditionStreak
PerfectemeraldBest action AND its frequency ≥ 95%.+1
CorrectgreenBest action (e.g. in mixed strategies).+1
A must moveblueDifferent action, but solver freq ≥ 85% OR EV loss < 2% pot.kept
InaccuracyyellowEV loss < 5% pot.0
MistakeorangeEV loss < 15% pot.0
BlunderredEV loss ≥ 15% pot.0

After the verdict, action buttons turn into reveal cards marked with (best), (your pick if not best), or 👎 (frequency < 5%, never recommended).

1.8.4 Auto-advance / pause

Pause-after mode (toggle on the right rail):

  • Off — every verdict shows for 1500 ms, then auto-deals the next hand.
  • On — every verdict pauses. Press Space or click Next hand » to continue.
  • Mistake (recommended) — only Mistake / Blunder pauses; Perfect / Correct / MustMove / Inaccuracy auto-advance after 1500 ms.

1.8.5 Hotkeys & quick actions

  • 14 — pick the action button at that index (left to right).
  • Space — advance from a paused verdict.
  • Esc — back to Setup.

1.8.6 History & bookmarks

The History panel on the left rail accumulates recent hands. Each row shows the hand / your pick / verdict tier / EV diff. Expand a row to re-read the GTO answer; toggle the bookmark to keep notable hands in a separate filter.

Every action you train is written to the LocalStorage dashboardStore. Navigating to the Dashboard reflects the new stats (accuracy / EV loss / streak / scenario classification) immediately. PLO4 and PLO5 stats are stored under separate keys.

1.9 Dashboard 1.9 Dashboard

Dashboard(/dashboard)는 Train으로 누적된 데이터를 한눈에 보여줍니다. 데스크톱(≥1024px) 전용; 좁은 화면에서는 회전 안내가 뜹니다.

1.9.1 KPI 스트립 (5개)

  • 🏆 Level — 학습한 핸드 수와 정확도로 계산되는 등급.
  • ⊙ Total accuracy — 전체 누적 정확도(%).
  • 📊 Avg. EV loss/pot — 팟 대비 EV 손실 평균(% 단위, 팟 가중).
  • 🃏 Total hands trained — 누적 핸드 수.
  • StreakCard — 연속 학습 일수(달력 그리드 표시).

1.9.2 본문 (3-컬럼)

  • StreetPerformance — 스트리트별(Open / 3bet / 4bet 등) 정확도 막대.
  • ActivityTable (가운데, 2 컬럼 차지) — 시나리오 카테고리(10개)별 정확도 / 핸드 수 / 평균 EV 손실 표.

    10개 시나리오 분류 (scenarioClassifier): RFI / Iso / Limp pot / 3-bet pot / 4-bet pot / 5-bet pot / Squeeze / Cold-call / Limped multiway / Other.

  • TrainingOfTheDayCard + LastSessionsList — 오른쪽 컬럼: 오늘의 추천 학습 + 최근 세션 5개.

상단 우측의 ⚙ Setup Your Training 버튼은 Setup 화면으로 이동합니다.

모든 통계는 로컬에 저장됩니다 (LocalStorage). 브라우저 데이터를 지우면 통계도 사라집니다. 다른 기기로 옮길 수 있는 동기화는 없습니다.

The Dashboard (/dashboard) summarizes everything you've trained. Desktop-only (≥1024 px); narrow screens prompt to rotate.

1.9.1 KPI strip (5 cards)

  • 🏆 Level — derived from hands trained and accuracy.
  • ⊙ Total accuracy — overall accuracy (%).
  • 📊 Avg. EV loss/pot — average EV loss as % of pot, pot-weighted.
  • 🃏 Total hands trained — lifetime hand count.
  • StreakCard — consecutive training days (calendar grid).

1.9.2 Body (3-column grid)

  • StreetPerformance — accuracy bars per street (Open / 3bet / 4bet / …).
  • ActivityTable (center, spans 2 columns) — accuracy / hands / avg EV loss per scenario category.

    The 10-category taxonomy (scenarioClassifier): RFI / Iso / Limp pot / 3-bet pot / 4-bet pot / 5-bet pot / Squeeze / Cold-call / Limped multiway / Other.

  • TrainingOfTheDayCard + LastSessionsList — right column: today's recommendation + the last 5 sessions.

The ⚙ Setup Your Training button at the top-right jumps back to the Setup screen.

All stats live in your browser's LocalStorage. Clearing browser data wipes them. There is no cross-device sync.

2. PLO4 — PLO5와의 차이점 2. PLO4 — Differences from PLO5

PLO4 앱(/plo4)은 PLO5의 UI 컴포넌트를 그대로 사용합니다. Range·Matrix 탭, Train 모드, 카테고리 분류, 호버 툴팁, 단축키, 판정 tier 모두 동일합니다. 따라서 이 챕터는 차이점만 다룹니다.

PLO4 (/plo4) shares all of PLO5's UI: the Range / Matrix tabs, Train mode, category classifier, hover tooltips, hotkeys, and verdict tiers are identical. This chapter only covers what's different.

2.1 PLO4 라우트 & 시뮬레이션 2.1 PLO4 routes & simulation

화면PLO5 라우트PLO4 라우트
Study//plo4
Train Setup/setup/plo4/setup
Train Session/train/plo4/train
Dashboard/dashboard/plo4/dashboard

PLO4 화면 상단에는 시뮬레이션 칩 행이 추가로 표시됩니다 — 시뮬레이션 이름과 Cash · Preflop · 6-Max · 100bb · PLO · Monker 같은 태그.

ScreenPLO5 pathPLO4 path
Study//plo4
Train Setup/setup/plo4/setup
Train Session/train/plo4/train
Dashboard/dashboard/plo4/dashboard

PLO4 also adds a simulation chip row above the action bar: the sim name plus tags such as Cash · Preflop · 6-Max · 100bb · PLO · Monker.

2.2 4-card 핸드 표기 2.2 4-card hand notation

모든 핸드가 4장이므로 표기와 카테고리가 살짝 다릅니다:

  • 홀카드는 4장: 예) A♠K♠Q♥J♦.
  • Matrix 빈너의 "최고 두 장" 의미는 동일하지만, 2차 빈닝 시 남는 카드는 2장(PLO5는 3장)입니다.
  • 수트 구조 칩에서 Monotone (5장 모두 한 수트)은 정의상 PLO4에서 존재하지 않습니다 — 실효적으로 비활성.
  • PPT 와일드카드는 AAxx(에이스 페어 + 임의 두 장)처럼 4장에 맞게 사용.

All hands are 4 cards, so notation and categories shift slightly:

  • Hole cards are 4: e.g. A♠K♠Q♥J♦.
  • The "highest two ranks" matrix binner is unchanged, but secondary binning operates on the remaining 2 cards (vs 3 in PLO5).
  • The Monotone (all five same suit) chip is by definition empty in PLO4 — effectively a no-op.
  • PPT wildcards: use 4-card forms like AAxx (pocket aces plus any two).

2.3 별도 Dashboard 2.3 Separate Dashboard

PLO4 Dashboard는 PLO5와 같은 레이아웃이지만 독립된 LocalStorage 키(plo4)를 씁니다. PLO5에서 학습한 내용은 PLO5 Dashboard에만, PLO4 학습은 PLO4 Dashboard에만 반영됩니다.

두 앱은 시뮬레이션·트리·랭크 데이터가 다르기 때문에 통계는 합산되지 않으며, Setup 화면도 각자의 트리에서 spot을 선택합니다.

The PLO4 Dashboard uses the same layout as PLO5 but stores stats under a separate LocalStorage key (plo4). PLO5 training feeds the PLO5 Dashboard only; PLO4 training feeds the PLO4 Dashboard only.

The two apps have different simulations / trees / range data, so stats are not merged. Each Setup screen also picks spots from its own tree.

Train UX 통일: 2026-05-10에 PLO4의 옛 Quiz 화면이 PLO5 Train으로 교체됐습니다. 같은 ActionBar, 같은 5-tier verdict, 같은 hot streak — 즉 학습 흐름은 한 번 익히면 두 앱 모두 동일하게 적용됩니다. Train UX is unified: as of 2026-05-10, the old PLO4 Quiz screen was replaced with the PLO5 Train UX. Same action bar, same 5-tier verdict, same hot streak — learn it once, use it in both apps.

3. Equity Calculator 3. Equity Calculator

Equity Calculator(/equity)는 PLO 4/5/6카드 핸드끼리의 에퀴티(승률+무승부 비율)와 보드 진행에 따른 다음-카드별 변화를 계산하는 독립 도구입니다. 사이드바 헤더와 자체 한/영 토글을 제외하면 솔버와 별개로 동작합니다.

The Equity Calculator (/equity) computes pairwise equity (win + tie share) for PLO 4/5/6-card hands and shows how the equity shifts for each possible next board card. Apart from the sidebar header and its own KO/EN toggle, it is independent of the solver.

3.1 기본 사용법 3.1 Basic usage

화면은 좌(입력) / 우(결과) 2-단 구조입니다. 입력 패널의 흐름:

  1. SettingsBar — 게임 종류(4 / 5 / 6 카드 PLO), 플레이어 수(2~9), 몬테카를로 시도 횟수(기본 30,000).
  2. BoardPanel — 0/3/4/5장의 보드를 직접 입력하거나 🎲로 무작위 채움.
  3. PlayerPanel (각 플레이어) — 4/5/6장 카드 입력. 🎲로 보드와 다른 자리 카드를 제외한 남은 덱에서 무작위 채움.
  4. 입력이 완성되면(모든 자리 카드가 게임 종류만큼 채워졌고 보드 ≥ 3) 자동 계산이 시작됩니다.
  5. 오른쪽 패널에 결과가 표시되고 (3.2 참조), 보드 카드가 3~4장이면 그 아래 Next Card 패널도 자동 계산됩니다 (3.3).

입력 패널 하단의 Calculate는 수동 재계산, Clear all은 모든 카드 삭제.

The page splits into Input (left) / Results (right). Input flow:

  1. SettingsBar — game type (4 / 5 / 6-card PLO), number of players (2–9), and Monte Carlo trial count (default 30,000).
  2. BoardPanel — enter 0 / 3 / 4 / 5 board cards manually, or 🎲 for random fill.
  3. PlayerPanel (per player) — enter 4 / 5 / 6 hole cards. 🎲 fills randomly from the remaining deck.
  4. Once every active player's hand has the right number of cards and the board has ≥ 3 cards, calculation runs automatically.
  5. Results render on the right (see 3.2). When the board has 3–4 cards, a Next Card panel also auto-runs (3.3).

At the bottom of the input pane, Calculate manually recomputes; Clear all wipes every card.

3.2 자동 계산 (Exact / Monte Carlo) 3.2 Auto-calc (Exact / Monte Carlo)

계산 방식은 남은 보드 카드 수에 따라 자동 선택됩니다:

  • 남은 보드 카드 ≤ 2 (즉, 보드 3-5장) → Exact 열거. 모든 가능한 잔여 보드를 직접 평가.
  • 남은 보드 카드 > 2 (즉, 프리플랍이거나 보드 0장) → Monte Carlo. 설정된 시도 횟수만큼 무작위 보드를 샘플링.

방식 표시는 결과 패널 상단의 라벨로 확인할 수 있고, 좌측 도움말 박스에도 안내가 있습니다.

ResultsPanel은 플레이어별로 다음을 보여줍니다:

  • 승률(%) + 무승부(%) — 합쳐서 에퀴티(%).
  • 예상 손-카테고리 분포 (포화 핸드/플러시/스트레이트/...).
  • 핸드 카드와 보드 카드 시각화.

The method is auto-selected based on how many board cards remain:

  • ≤ 2 cards left to come (i.e. board has 3–5 cards) → Exact enumeration over every possible runout.
  • > 2 cards left (i.e. preflop or board still empty) → Monte Carlo with the configured trial count.

The active method is labeled at the top of the results panel; the help box on the left also explains the rule.

The ResultsPanel shows, per player:

  • Win % + tie % — together, equity %.
  • Expected made-hand distribution (full house / flush / straight / …).
  • The hand and board cards visualized.

3.3 Next Card 분석 3.3 Next Card analysis

보드가 3장(플랍) 또는 4장(턴)인 경우, 결과 패널 아래에 NextCardPanel이 자동 계산됩니다. 다음 카드로 가능한 모든 카드(랭크×수트 = 52장)를 한 번씩 더해 에퀴티가 어떻게 변하는지 한 눈에 보여줍니다 — 카드 클릭 한 번으로 그 카드를 보드에 추가할 수 있습니다.

UI는 4×13 그리드로, 각 셀은 카드 + 그 카드가 떨어졌을 때 자기 핸드의 에퀴티(또는 상대 대비 변화)를 색상으로 표시합니다. 사용된(중복 불가) 카드는 비활성 처리.

When the board is 3 (flop) or 4 (turn) cards, the NextCardPanel renders below the results. It tries every possible next card (52 — rank × suit) and shows how the equity shifts. Click a cell to commit that card to the board.

The UI is a 4×13 grid; each cell shows the card plus a colored indicator of how your equity moves if that card lands. Cards already used (board or holes) are disabled.

3.4 Scenario Builder 3.4 Scenario Builder

좌측 패널 최상단의 Scenario Builder는 자주 쓰는 매치업(예: AA vs BTN range, 셋 over 셋 등)을 1-클릭으로 적재합니다. 적용 시 두 명의 플레이어와 보드가 자동으로 채워집니다 — 그 후 카드를 일부 수정하거나 그대로 계산할 수 있습니다.

Scenario는 게임 종류별로 다른 세트가 제공됩니다.

At the top of the input pane, the Scenario Builder loads common matchups (e.g. AA vs BTN range, set-over-set, etc.) in one click. Applying a scenario fills both players and the board, after which you can tweak a card or just calculate.

Available scenarios depend on the game-type setting.

Equity 자체 한/영 토글: Equity 페이지 우상단의 EN | KO 버튼은 페이지 텍스트(라벨, 도움말, 시나리오 이름)를 즉시 전환하고 LocalStorage(plo-lang)에 저장합니다. 이 매뉴얼의 토글과는 독립입니다. Equity has its own KO/EN toggle: the EN | KO button at the top-right of the Equity page switches the page's labels / help / scenario names and persists to LocalStorage (plo-lang). It is independent from this manual's toggle.

4. FAQ · 단축키 · 색상 4. FAQ · Hotkeys · Colors

4.1 자주 묻는 질문 4.1 FAQ

PLO5와 PLO4를 동시에 학습해도 되나요?
네. 사이드바에서 자유롭게 전환할 수 있고, 두 앱의 통계는 별도로 누적됩니다. 다만 일관성을 위해 한 번에 한 변형에 집중하는 것을 권장합니다.
"Range data not yet crawled" 배너는 무슨 뜻인가요?
매우 깊은 라인(특히 7-뎁스 이상)은 Solver 데이터가 점진적으로 R2에 업로드됩니다. 트리는 보이지만 빈도/EV가 비어 있는 컬럼이 있으면 이 배너가 뜹니다. 며칠 내로 채워지므로 다시 확인해보세요.
즐겨찾기(★)는 어디에 저장되나요?
브라우저 LocalStorage에 키 plo5.favorites로 저장됩니다. 같은 브라우저·같은 도메인이면 새로고침과 재방문 시 유지됩니다. 다른 기기로 동기화는 되지 않습니다.
Train의 판정 기준을 바꿀 수 있나요?
기본값(MustMove freq ≥ 85%, Inaccuracy < 5% 팟, Mistake < 15%)은 코드 상수로 고정돼 있지만, Train 우측 Rail의 환경설정에서 일부 임계값(minFrequency)을 조정할 수 있습니다. 추가 임계값은 plo5-app/src/utils/trainVerdict.ts에 있습니다.
Postflop 솔버는 어디 있나요?
현재 비활성 상태입니다(POSTFLOP_ENABLED 플래그 OFF). 코드는 보존돼 있고, 데이터·인증 파이프라인이 안정화되면 다시 켤 예정입니다.
Equity 결과가 약간 흔들리는데 정확한가요?
Monte Carlo가 사용된 경우(보드 카드 ≤ 2장), 결과는 시뮬레이션 횟수에 따라 ±0.x% 정도의 노이즈가 있습니다. SettingsBar에서 시도 횟수를 늘리면 더 정확해집니다 — 단, 30,000 이상에서는 체감 차이가 미미합니다. 보드 3-5장에서는 Exact 열거를 사용하므로 결과가 결정적(deterministic)입니다.
매뉴얼이 한국어로만 보입니다.
우상단 [한국어 | English] 토글을 누르세요. 선택은 자동 저장됩니다.
Can I train PLO5 and PLO4 at the same time?
Yes — switch freely from the sidebar; stats accumulate separately. We still recommend focusing on one variant at a time for consistency.
What does the "Range data not yet crawled" banner mean?
Deep lines (especially depth 7+) are uploaded to R2 incrementally. If a column's data isn't there yet, this banner shows. Check back in a few days — it usually fills in.
Where are favorites (★) stored?
In LocalStorage under plo5.favorites. Same-browser, same-domain reloads keep them. There is no cross-device sync.
Can I tune the Train verdict thresholds?
The defaults (MustMove freq ≥ 85%, Inaccuracy < 5% pot, Mistake < 15%) are constants in code. The Train right-rail panel exposes minFrequency; the rest live in plo5-app/src/utils/trainVerdict.ts.
Where is the postflop solver?
Currently disabled (POSTFLOP_ENABLED flag is OFF). The code is retained and will be re-enabled once the data + auth pipeline stabilizes.
Equity results jitter slightly — is that accurate?
When Monte Carlo is used (≤ 2 board cards), there is ±0.x% noise tied to the trial count. Bump the count in SettingsBar for more precision — past ~30 000 the gain is marginal. With 3–5 board cards we use exact enumeration, so the result is deterministic.
The manual only shows Korean for me.
Click the [한국어 | English] toggle at the top-right. Your choice is saved automatically.

4.2 키보드 단축키 4.2 Keyboard shortcuts

Train 모드 Train mode

Key 동작Action
14 왼쪽부터 N번째 액션 버튼 선택 Pick the Nth action button from the left.
Space 일시정지된 판정에서 다음 핸드 Advance from a paused verdict.
Esc Setup으로 돌아가기 Return to Setup.

Range 탭 검색창 Range tab search box

Enter 현재 입력으로 필터 적용 Apply the current expression as filter.
Esc 검색식 클리어 Clear the search expression.

사이드바 Sidebar

« 사이드바 접기 (200px → 56px); 상태는 LocalStorage에 저장 Collapse sidebar (200px → 56px); state persists in LocalStorage.
» 접힌 사이드바 펴기 Expand the collapsed sidebar.

4.3 색상 & 용어 레퍼런스 4.3 Color & terminology reference

액션 색상 Action colors

Fold회색. 폴드 액션 / 비활성 자리. gray. Fold action / dimmed seat.
Check파랑. 체크 (BB가 폴드+콜만 남았을 때 등). blue. Check (e.g. BB facing limp completed).
Call녹색. 콜. green. Call.
Raise빨강. Open / 3-bet / 4-bet 등 모든 사이즈 일반화. red. All raises (open / 3-bet / 4-bet / …).
All-in앰버. 올인. amber. All-in shove.

수트 기호 Suit symbols

스페이드spade (#1e293b), 하트heart (#ef4444), 다이아diamond (#3b82f6), 클럽club (#16a34a)

포지션 약어 Position abbreviations

UTGUnder the gun (가장 먼저 행동) Under the gun (first to act).
MPMiddle position (UTG+1) Middle position (UTG+1).
COCutoff (BTN 직전) Cutoff (one off the button).
BU / BTNButton (포지션 우위) Button (positional advantage).
SBSmall blind (0.5 BB 강제 베팅) Small blind (forced 0.5 BB).
BBBig blind (1 BB 강제 베팅, 마지막에 행동) Big blind (forced 1 BB, acts last preflop).

Train 판정 tier 요약 Train verdict tier summary

Tier 조건Condition 스트릭Streak
★ Perfect 최선 액션 + 빈도 ≥ 95% Best action with freq ≥ 95%. +1
✓ Correct 최선 액션 (그 외) Best action (otherwise). +1
◆ A must move freq ≥ 85% 또는 EV 손실 < 2% 팟 freq ≥ 85% or EV loss < 2% pot. 유지kept
● Inaccuracy EV 손실 < 5% 팟 EV loss < 5% pot. 0
▲ Mistake EV 손실 < 15% 팟 EV loss < 15% pot. 0
▲ Blunder EV 손실 ≥ 15% 팟 EV loss ≥ 15% pot. 0

4.4 트러블슈팅 4.4 Troubleshooting

화면 로딩이 멈춰 있습니다

최초 진입 시 트리(tree.json)와 첫 노드 데이터를 R2에서 불러옵니다. 회사·학교 네트워크에서 R2 도메인이 차단되면 무한 로딩이 보일 수 있습니다 — 다른 네트워크에서 시도해보세요.

핸드 표시가 깨져 보입니다

일부 OS의 기본 폰트가 수트 유니코드(♠♥♦♣)를 지원하지 않을 수 있습니다. Pretendard / Apple SD Gothic Neo / Segoe UI 등 최신 폰트가 설치된 환경을 권장합니다.

Train 화면에서 "No decision at this spot" 메시지

모든 자리가 폴드해 프리플랍이 종료된 spot입니다. Setup으로 돌아가 다른 노드를 선택하세요.

Train 화면에서 "Postflop API unavailable"

Postflop 기능은 현재 OFF 상태입니다. 노드가 플랍 진입(2명 이상 콜로 종료)에 해당하면 이 배너가 보일 수 있습니다 — 프리플랍 spot으로 변경하면 됩니다.

Dashboard 통계가 사라졌습니다

브라우저 캐시·LocalStorage가 지워졌을 가능성이 높습니다. 통계는 로컬에만 저장되며 동기화 기능은 없습니다.

The page is stuck on "Loading..."

On first load we fetch the tree (tree.json) and root range data from R2. If your network blocks our R2 domain (corporate / school proxies sometimes do), the page hangs. Try a different network.

Hand cards look broken

Some OSes' default fonts don't include suit glyphs (♠♥♦♣). We recommend a modern font stack (Pretendard / Apple SD Gothic Neo / Segoe UI / Inter).

"No decision at this spot" in Train

You picked a node where preflop ended with everyone folding. Go back to Setup and choose a different node.

"Postflop API unavailable" in Train

The postflop feature is currently OFF. If your node closes preflop (2+ players call to the flop), this banner can appear — switch to a preflop spot instead.

Dashboard stats disappeared

Most likely the browser cache / LocalStorage was cleared. Stats live locally only — there is no sync.