diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-01 20:11:41 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-01 20:11:41 +0100 |
| commit | e920b20fafe375eec15b24eb8cde4b1455dd01af (patch) | |
| tree | 308d2f7999177a753528779f6ec7926f3fa50818 /docs/GUI-PLAN.md | |
| parent | v4.1.0: add the egui workspace member and the roulette style spike (diff) | |
| download | zagan-bet-e920b20fafe375eec15b24eb8cde4b1455dd01af.tar.gz zagan-bet-e920b20fafe375eec15b24eb8cde4b1455dd01af.zip | |
v4.1.1: pointer-first betting and visible payouts in the GUI
The felt snaps the hover to the shared fine lattice: inner half of a cell is a straight, an edge a split, a crossing a corner. A translucent chip previews the target and the covered cells tint. Left click adds the selected chip, right or middle click takes one back through the new Bets::reduce; C or CLEAR empties the slip, and SPIN stays disabled with no chips.
The result now pays out: the wheel leaves the winning pocket under the pointer, the winning cell and pocket get a gold outline, and the sidebar reports the amount returned and the net for the round (NO WIN on a loss). Placing a chip after a result starts the next round without losing the wheel position.
The column row now spans the full width like a real table instead of hugging the left edge. Adds tests for lattice snapping, target naming and taking chips back.
Diffstat (limited to '')
| -rw-r--r-- | docs/GUI-PLAN.md | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/docs/GUI-PLAN.md b/docs/GUI-PLAN.md index 8c3db0a..bb63530 100644 --- a/docs/GUI-PLAN.md +++ b/docs/GUI-PLAN.md | |||
| @@ -79,11 +79,17 @@ crash board from its local clock. | |||
| 79 | green kept for the table, a 4/8/12/16/24 spacing scale, radii, and the type | 79 | green kept for the table, a 4/8/12/16/24 spacing scale, radii, and the type |
| 80 | scale. Two embedded fonts: Open Sans (OFL) for text, Hack (MIT) for numbers, | 80 | scale. Two embedded fonts: Open Sans (OFL) for text, Hack (MIT) for numbers, |
| 81 | chips and labels. Licences sit next to the files in `gui/assets/fonts/`. | 81 | chips and labels. Licences sit next to the files in `gui/assets/fonts/`. |
| 82 | - `gui/src/roulette.rs` draws the felt, chips, the fine lattice cursor and the | 82 | - `gui/src/roulette.rs` draws the felt, chips and wheel from a `RouletteView`; |
| 83 | wheel from a `RouletteView`; it owns the geometry, not the rules. | 83 | it owns the geometry, not the rules. The felt is pointer-first: the hover |
| 84 | snaps to the fine lattice, so the inner half of a cell is a straight, an edge | ||
| 85 | is a split and a crossing is a corner. Left click adds the selected chip, | ||
| 86 | right or middle click takes one back, and a translucent chip previews the | ||
| 87 | target under the pointer. | ||
| 84 | - `gui/src/app.rs` composes the persistent header (connection, account, | 88 | - `gui/src/app.rs` composes the persistent header (connection, account, |
| 85 | balance) with the table and the betting sidebar. The demo state animates a | 89 | balance) with the table and the betting sidebar. The demo state animates a |
| 86 | 2.4 s wheel spin and highlights the winning pocket and cell. | 90 | 2.4 s wheel spin, highlights the winning pocket and cell, and reports the |
| 91 | amount paid and the net for the round. SPIN and CLEAR sit side by side so | ||
| 92 | clearing is never below the fold. | ||
| 87 | - `gui/tests/layout.rs` covers the pure maths (money grouping, wheel angle, | 93 | - `gui/tests/layout.rs` covers the pure maths (money grouping, wheel angle, |
| 88 | table aspect, bet names). UI wiring tests arrive with `egui_kittest` in | 94 | table aspect, bet names). UI wiring tests arrive with `egui_kittest` in |
| 89 | Phase 4. | 95 | Phase 4. |
