summaryrefslogtreecommitdiffstats
path: root/docs
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
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
-rw-r--r--docs/TESTING.md34
-rw-r--r--docs/screenshots/gui-roulette-1080p.pngbin126927 -> 128158 bytes
-rw-r--r--docs/screenshots/gui-roulette-result-1080p.pngbin127523 -> 127283 bytes
4 files changed, 29 insertions, 17 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.
diff --git a/docs/TESTING.md b/docs/TESTING.md
index f42b84a..32fc628 100644
--- a/docs/TESTING.md
+++ b/docs/TESTING.md
@@ -125,21 +125,27 @@ Windows 10 before approving the look.
1251. `cargo run -p zagan-bet-gui` at 1440x900, then at 1920x1080. The header 1251. `cargo run -p zagan-bet-gui` at 1440x900, then at 1920x1080. The header
126 keeps its right margin at both sizes and shows ONLINE, host, ping, account 126 keeps its right margin at both sizes and shows ONLINE, host, ping, account
127 and balance; the table is centred and the sidebar is full height. 127 and balance; the table is centred and the sidebar is full height.
1282. The felt shows 0, the 3x12 numbers, dozens, columns and the six outside 1282. The felt shows 0, the 3x12 numbers, dozens, columns (each a quarter of the
129 cells. Chips sit on their targets: a straight in the cell, a corner on the 129 row) and the six outside cells. Chips sit on their targets: a straight in
130 lattice crossing, an outside bet in its box. 130 the cell, a corner on the lattice crossing, an outside bet in its box.
1313. Click a pocket: a chip of the selected denomination appears and the slip 1313. Hover a number: a translucent chip of the selected denomination appears.
132 gains a row. Chips are 10/25/50/100; the selected one has a cyan ring. 132 In the inner half of a cell it is a straight (one cell tints); near an edge
1334. Arrow keys move the cursor. Over the numbers the cyan marker sits on the 133 it snaps to a split (two cells tint) and near a corner to a corner (four
134 cell or lattice point and the covered cells tint; leaving the table walks 134 cells tint). Hovering the dozens, columns and outside boxes moves the
135 dozens, columns and outside. 135 preview there.
1364. Left click adds the chip where the preview is; right or middle click takes
137 one chip of that value back, dropping the row when it reaches zero. The
138 slip and total follow every change. C or CLEAR empties the slip.
1365. Space or SPIN animates the wheel for about 2.4 s and stops with the winning 1395. Space or SPIN animates the wheel for about 2.4 s and stops with the winning
137 pocket under the pointer. The winning cell gets a gold outline, RESULT names 140 pocket under the pointer. The winning cell gets a gold outline and LAST
138 the number and colour, and LAST gains a dot. SPIN is disabled during the 141 gains a dot. RESULT names the number and colour, WON shows the amount paid
139 spin. 142 and the net for the round, and a losing spin says NO WIN. SPIN, CLEAR and
1406. Clear bets empties the slip and the total. Resize to 1100x720: the sidebar 143 the chips are disabled during the spin.
141 scrolls, nothing overlaps the header, and the table keeps its aspect ratio. 1446. Placing a chip after a result starts the next round: the payout row goes
1427. Compare the 1080p window against the approved reference screenshot. 145 back to PLACE YOUR BETS while the wheel stays where it stopped. Resize to
146 1100x720: the sidebar scrolls, nothing overlaps the header, and the table
147 keeps its aspect ratio.
1487. Compare the 1080p window against the approved reference screenshots.
143 149
144## Manual roulette checklist 150## Manual roulette checklist
145 151
diff --git a/docs/screenshots/gui-roulette-1080p.png b/docs/screenshots/gui-roulette-1080p.png
index b6c9b17..2f30aa7 100644
--- a/docs/screenshots/gui-roulette-1080p.png
+++ b/docs/screenshots/gui-roulette-1080p.png
Binary files differ
diff --git a/docs/screenshots/gui-roulette-result-1080p.png b/docs/screenshots/gui-roulette-result-1080p.png
index 0f37133..a7d425c 100644
--- a/docs/screenshots/gui-roulette-result-1080p.png
+++ b/docs/screenshots/gui-roulette-result-1080p.png
Binary files differ