summaryrefslogtreecommitdiffstats
path: root/docs/GUI-PLAN.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-01 20:11:41 +0100
committersalmonik <salmonik@tuta.io>2026-11-01 20:11:41 +0100
commite920b20fafe375eec15b24eb8cde4b1455dd01af (patch)
tree308d2f7999177a753528779f6ec7926f3fa50818 /docs/GUI-PLAN.md
parentv4.1.0: add the egui workspace member and the roulette style spike (diff)
downloadzagan-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.md12
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.