> ## Documentation Index
> Fetch the complete documentation index at: https://hedgeem-api.qeetoto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# HedgeEm Feature Specification — Index

> Version parity matrix and living feature catalogue for all Texas HedgeEm implementations

# HedgeEm Feature Specification

This is the **golden source** feature catalogue for Texas HedgeEm. Every feature is documented here before it appears in code, and updated whenever behaviour is discovered, corrected, or extended.

Each feature document contains:

* **Business Rule** — plain English, readable by a product manager or regulator
* **Technical Design** — implementation details, algorithms, data structures, coordinates
* **Mathematics** — formulas with worked examples where applicable
* **Acceptance Criteria** — testable statements, each mapped to a Playwright assertion
* **Version Parity** — implementation status across JS / TypeScript / UMA

## Mintlify Integration

This directory lives at `mintlify-docs/feature-docs/` and is published as the **Feature Docs** tab at [hedgeem-api.qeetoto.com](https://hedgeem-api.qeetoto.com).

## Parity Status Legend

| Symbol | Meaning                                       |
| ------ | --------------------------------------------- |
| ✅      | Verified — implemented and Playwright-tested  |
| ⚠️     | Partial — implemented but known discrepancies |
| ❌      | Missing — not yet implemented                 |
| ⬜      | Not yet audited                               |
| N/A    | Not applicable to this version                |

## Version Parity Matrix

| Feature ID                                  | Feature                                                                                                                                 | Phase | JS  | TypeScript | UMA | V7  | Jira                 |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ----- | --- | ---------- | --- | --- | -------------------- |
| [F001](game-engine/F001-hand-count)         | Hand count rules                                                                                                                        | 1     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-133            |
| [F002](game-engine/F002-deck-management)    | Deck management                                                                                                                         | 1     | ⬜   | ⬜          | ✅   | ⬜   | HEDGE-133            |
| [F003](game-engine/F003-community-cards)    | Community cards                                                                                                                         | 1     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-133            |
| [F004](game-engine/F004-game-stages)        | Game stages                                                                                                                             | 1     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-133            |
| [F005](game-engine/F005-hand-evaluation)    | Hand evaluation                                                                                                                         | 1     | ⬜   | ⬜          | ✅   | ⬜   | HEDGE-133            |
| [F006](game-engine/F006-odds-calculation)   | Odds calculation                                                                                                                        | 1     | ⬜   | ⬜          | ✅   | ⬜   | HEDGE-133            |
| [F007](game-engine/F007-rtp-margin)         | RTP margin application                                                                                                                  | 1     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-133            |
| [F008](game-engine/F008-hand-status)        | Hand status                                                                                                                             | 1     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-133            |
| [F010](betting/F010-chip-denominations)     | Chip denominations                                                                                                                      | 2     | ⬜   | ✅          | ✅   | ✅   | HEDGE-50             |
| [F011](betting/F011-bet-placement)          | Bet placement                                                                                                                           | 2     | ⬜   | ✅          | ✅   | ✅   | HEDGE-50             |
| [F012](betting/F012-bet-cancellation)       | Bet cancellation                                                                                                                        | 2     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-50             |
| [F013](betting/F013-multi-hand-betting)     | Multi-hand betting                                                                                                                      | 2     | ⬜   | ✅          | ✅   | ✅   | HEDGE-50             |
| [F014](betting/F014-multi-stage-betting)    | Multi-stage betting                                                                                                                     | 2     | ⬜   | ⬜          | ✅   | ✅   | HEDGE-133            |
| [F015](betting/F015-payout-calculation)     | Payout calculation                                                                                                                      | 2     | ⬜   | ✅          | ⚠️  | ✅   | HEDGE-136            |
| [F016](betting/F016-credits-wallet)         | Credits wallet                                                                                                                          | 2     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-50, HEDGE-187  |
| [F020](ui/F020-deal-button)                 | Deal button / auto-deal on load                                                                                                         | 3     | ✅   | ✅          | ✅   | ✅   | HEDGE-134            |
| [F021](ui/F021-advance-button)              | Advance button                                                                                                                          | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F022](ui/F022-card-display)                | Card display                                                                                                                            | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-135            |
| [F023](ui/F023-hand-panels)                 | Hand panels                                                                                                                             | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F024](ui/F024-odds-display)                | Odds display                                                                                                                            | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F025](ui/F025-dead-hand-display)           | Dead hand display                                                                                                                       | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F026](ui/F026-cant-lose-display)           | Cant-lose display                                                                                                                       | 3     | ⬜   | ✅          | ⬜   | ⬜   | HEDGE-133            |
| [F027](ui/F027-win-display)                 | Win display                                                                                                                             | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F028](ui/F028-bottom-bar)                  | Bottom bar                                                                                                                              | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F029](ui/F029-chip-selector-ui)            | Chip selector UI                                                                                                                        | 3     | ⬜   | ✅          | ⬜   | ✅   | HEDGE-133            |
| [F030](config/F030-hand-count-config)       | Hand count config                                                                                                                       | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-80             |
| [F031](config/F031-api-vs-local-data)       | API vs local data                                                                                                                       | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-83             |
| [F032](config/F032-rtp-config)              | RTP config                                                                                                                              | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-133            |
| [F033](config/F033-rounding-algorithms)     | Rounding algorithms                                                                                                                     | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-133            |
| [F040](navigation/F040-menu-screen)         | Menu screen                                                                                                                             | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-78             |
| [F041](navigation/F041-help-screen)         | Help screen                                                                                                                             | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-78             |
| [F042](navigation/F042-config-screen)       | Config/settings screen                                                                                                                  | 4     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-82             |
| [F043](ui/F043-config-sound-bar)            | Config and sound controls bar                                                                                                           | 3     | ✅   | ⬜          | ✅   | ✅   | HEDGE-78, HEDGE-79   |
| [F044](ui/F044-info-modal)                  | Info modal (i + ? tabs)                                                                                                                 | 3     | ⬜   | ⬜          | ✅   | ⬜   | HEDGE-78             |
| [F045](ui/F045-deal-animation)              | Deal animation (hole cards fly from shuffler)                                                                                           | 3     | ⬜   | ❌          | ✅   | ⬜   | HEDGE-173            |
| [F046](ui/F046-deal-sounds)                 | Deal sound effects (per-card dealing\_cards SFX)                                                                                        | 3     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-174            |
| [F047](ui/F047-fast-play)                   | Fast Play config (2× animation speed)                                                                                                   | 3     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-175            |
| [F048](ui/F048-coin-spill-animation)        | Coin spill animation (win payout burst)                                                                                                 | 3     | ⬜   | ✅          | ✅   | ⚠️  | HEDGE-176            |
| [F049](ui/F049-win-level-system)            | Win level system (scaled sound & title by win/bet multiplier)                                                                           | 3     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-227            |
| [F050](responsive/F050-landscape-layout)    | Landscape layout                                                                                                                        | 3     | ⬜   | ✅          | ⬜   | ⬜   | HEDGE-133            |
| [F051](responsive/F051-portrait-layout)     | Portrait layout                                                                                                                         | 3     | ⬜   | ✅          | ⬜   | ⬜   | HEDGE-70             |
| [F052](responsive/F052-device-themes)       | Device themes                                                                                                                           | 5     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-133            |
| [F060](audio/F060-sound-effects)            | Sound effects                                                                                                                           | 4     | ⬜   | ⬜          | ❌   | ✅   | HEDGE-142            |
| [F061](audio/F061-background-music)         | Background music                                                                                                                        | 4     | ⬜   | ⬜          | ❌   | ✅   | HEDGE-142            |
| [F070](platform/F070-uma-gdk-integration)   | UMA GDK integration                                                                                                                     | 5     | N/A | N/A        | ⚠️  | N/A | HEDGE-145            |
| [F071](platform/F071-wallet-integration)    | Wallet integration                                                                                                                      | 5     | N/A | ✅          | ⬜   | ⬜   | HEDGE-133, HEDGE-187 |
| [F072](platform/F072-locale-i18n)           | Localisation                                                                                                                            | 5     | ⬜   | ⬜          | ⬜   | ⬜   | HEDGE-133            |
| [F083](bonus/F083-bonus-rounds)             | Skill-based bonus rounds                                                                                                                | 4     | ❌   | ❌          | ❌   | ⬜   | TBD                  |
| [F084](bonus/F084-progressive-jackpots)     | Multi-level progressive jackpots                                                                                                        | 4     | ❌   | ❌          | ❌   | ⬜   | TBD                  |
| [F090](v7/F090-horse-name-nicknames)        | Horse name nicknames (169-hand table)                                                                                                   | 3     | N/A | N/A        | N/A | ❌   | HEDGE-178            |
| [F091](v7/F091-betting-slip)                | Betting slip panel (ruled paper, per-stage records, merge, dead ✕)                                                                      | 3     | N/A | N/A        | N/A | ✅   | HEDGE-180            |
| [F092](v7/F092-horse-name-band)             | Horse name gradient band in info panel                                                                                                  | 3     | N/A | N/A        | N/A | ✅   | HEDGE-181            |
| [F093](v7/F093-hand-label-on-horse)         | Floating hand label on horse (FLOP/TURN/RIVER)                                                                                          | 3     | N/A | N/A        | N/A | ✅   | HEDGE-182            |
| [F094](v7/F094-odds-history-display)        | Previous odds struck-through in info panel                                                                                              | 3     | N/A | N/A        | N/A | ✅   | HEDGE-183            |
| [F095](v7/F095-horse-click-to-bet)          | Bet by clicking horse body on track                                                                                                     | 3     | N/A | N/A        | N/A | ✅   | HEDGE-184            |
| F096                                        | Play sound on bet placement (one-shot neigh SFX)                                                                                        | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F097                                        | Draws cards in 3D perspective (CSS rotateX tilt)                                                                                        | 2     | N/A | N/A        | N/A | ✅   | HEDGE-214            |
| F198v7                                      | Scrolling procedural dirt track (animated SVG tiles)                                                                                    | 3     | N/A | N/A        | N/A | ✅   | HEDGE-220            |
| F199v7                                      | Dynamic scrolling fences with rAF engine                                                                                                | 3     | N/A | N/A        | N/A | ✅   | HEDGE-221            |
| [F200v7](v7/F100-community-card-scroll)     | Community cards scroll in sync with fences                                                                                              | 3     | N/A | N/A        | N/A | ✅   | HEDGE-222            |
| [F201v7](v7/F101-horse-position-randomness) | In-race horse position randomness (sinusoidal oscillation)                                                                              | 3     | N/A | N/A        | N/A | ✅   | HEDGE-223            |
| F202v7                                      | Auto-run on bugle end — horses gallop to HOLE positions without player input                                                            | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F203v7                                      | Bet-placement horse pop animation (scale bounce)                                                                                        | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F204v7                                      | Eliminated horse scroll-off with upside-down flip                                                                                       | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F205v7                                      | Probability-based horse positioning (logarithmic, 20–80%/90% range)                                                                     | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F206v7                                      | River hand description — full long form (e.g. "Two pair, Queens over Nines")                                                            | 3     | N/A | N/A        | N/A | ✅   | HEDGE-33             |
| F207v7                                      | Winner sprint at race end — winner(s) lerp to finish line; draws neck-and-neck; non-winners freeze                                      | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F208v7                                      | Smooth horse position transitions — no rank-order clamping; sort lerp by current position                                               | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F209v7                                      | Horse elimination uses percentWinOrDraw — horses that can still tie are never eliminated early                                          | 3     | N/A | N/A        | N/A | ✅   | —                    |
| F210v7                                      | Server-side progressive card/odds disclosure (TableClient, HEDGE-33) — bc1–bc5 blank at deal, revealed stage by stage via POST /advance | 4     | N/A | N/A        | N/A | ✅   | HEDGE-33             |
| [F055](ui/F055-demo-hand-panel)             | Demo hand panel (QA forced deals via ?demo)                                                                                             | 4     | ⬜   | ✅          | ✅   | ⬜   | HEDGE-228            |
| [F103](lobby/F103-loading-screen)           | Game loading screen (progress bar)                                                                                                      | 3     | ✅   | ✅          | ✅   | ✅   | HEDGE-224            |
| [F104](lobby/F104-hidden-odds)              | Hidden odds debug panel (win%, draw%, odds chain)                                                                                       | 3     | ✅   | N/A        | ✅   | ✅   | HEDGE-225            |
| [F100](platform/F100-lobby-auth)            | Lobby page & authentication gate                                                                                                        | 3     | ⬜   | ✅          | N/A | N/A | HEDGE-190            |
| [F101](platform/F101-compliance-bar)        | Compliance bar (18+, GAMSTOP, GC, session timer, wallet)                                                                                | 3     | N/A | ✅          | N/A | N/A | HEDGE-190            |
| [F102](platform/F102-two-balance-wallet)    | Two-balance wallet (account vs seat)                                                                                                    | 5     | N/A | ✅          | ⬜   | ⬜   | HEDGE-187            |

## Phase Progress

| Phase                              | Scope                                      | Status         |
| ---------------------------------- | ------------------------------------------ | -------------- |
| **0 — Foundation**                 | Repo structure, Playwright infrastructure  | 🔄 In Progress |
| **1 — Core Game Engine**           | F001–F008                                  | ⬜ Backlog      |
| **2 — Betting**                    | F010–F016                                  | ⬜ Backlog      |
| **3 — UI & Presentation**          | F020–F029, F050–F051                       | ⬜ Backlog      |
| **4 — Config, Navigation & Audio** | F030–F033, F040–F042, F060–F061, F083–F084 | ⬜ Backlog      |
| **5 — UMA Port**                   | F052, F070–F072                            | ⬜ Backlog      |
| **5+ — Platform & Lobby**          | F100–F102                                  | 🔄 In Progress |
| **6 — Regulatory & Compliance**    | F080+                                      | ⬜ Backlog      |

## Source Documents

| Document                        | Location                                                                         | Ingested     |
| ------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| Texas HedgeEm Game Concept v0.3 | `Dropbox/hedgeem/Documentation/design_and_description/hedgeem_game_concept.docx` | ✅ 2026-04-05 |

## Open Items — Simon Actions

* [ ] Confirm jurisdiction for regulatory compliance documentation (Phase 6)
* [ ] Provide SQLite DB file for schema extraction (HEDGE-29)
* [ ] Confirm RTP configuration range and operator parameters (Phase 4/6)
* [ ] Specify bonus round types and skill mechanics (F083)
* [ ] Specify jackpot trigger events and accumulation model (F084)
* [ ] Confirm rounding algorithm(s) in use in JS server (F033)

## Playwright Test Coverage

Run feature tests against a specific version:

```bash theme={null}
# TypeScript (standalone_reference_client, default)
VERSION=ts npx playwright test --project=features

# JavaScript reference client (live)
VERSION=js npx playwright test --project=features

# UMA client (Phase 5)
VERSION=uma npx playwright test --project=features
```

Shared test infrastructure: `tests/shared/`
Feature specs: `tests/features/F0XX-feature-name.spec.ts`
