diff options
Diffstat (limited to '')
| -rw-r--r-- | docs/GUI-PLAN.md | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/docs/GUI-PLAN.md b/docs/GUI-PLAN.md index 2789b81..8c3db0a 100644 --- a/docs/GUI-PLAN.md +++ b/docs/GUI-PLAN.md | |||
| @@ -69,16 +69,43 @@ crash board from its local clock. | |||
| 69 | 69 | ||
| 70 | ## Phase 3 — `gui/` skeleton and the style spike | 70 | ## Phase 3 — `gui/` skeleton and the style spike |
| 71 | 71 | ||
| 72 | - Add the `gui/` workspace member (eframe), no game code yet. | 72 | **Code complete in v4.1.0; awaiting the screenshot sign-off.** |
| 73 | - Theme module with the agreed tokens, two fonts, spacing scale. | 73 | |
| 74 | - One reference screen: the roulette felt with chips, cursor, and a spinning | 74 | - `gui/` is a workspace member (`zagan-bet-gui`). It depends on the core with |
| 75 | number, plus the persistent header (connection, balance, account). | 75 | `default-features = false`, so neither egui nor native-tls enters the TUI or |
| 76 | - Verify the Windows cross-compile with a hello-world before going further. | 76 | server build graph. The build uses the workspace's `gui-release` profile |
| 77 | 77 | (opt-level `z`, LTO, stripped). | |
| 78 | **Gate:** your approval of the screenshot at 1080p; binary ≤ 40 MB, idle | 78 | - `gui/src/theme.rs` holds the tokens: the terminal-derived dark palette, felt |
| 79 | ≤ 150 MB, cold start ≤ 1 s, 60 fps on integrated graphics. | 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, | ||
| 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 | ||
| 83 | wheel from a `RouletteView`; it owns the geometry, not the rules. | ||
| 84 | - `gui/src/app.rs` composes the persistent header (connection, account, | ||
| 85 | 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. | ||
| 87 | - `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 | ||
| 89 | Phase 4. | ||
| 90 | |||
| 91 | Measured on Linux at 1080p with llvmpipe software GL: | ||
| 92 | |||
| 93 | | Check | Result | | ||
| 94 | | --- | --- | | ||
| 95 | | Linux binary | 6.0 MB | | ||
| 96 | | Windows x86_64 binary | 4.7 MB | | ||
| 97 | | Cold start to window | 52 ms | | ||
| 98 | | Idle RSS | 137 MB | | ||
| 99 | | Idle CPU | 0% | | ||
| 100 | |||
| 101 | The approved reference lives at `docs/screenshots/gui-roulette-1080p.png`, with | ||
| 102 | the result state at `docs/screenshots/gui-roulette-result-1080p.png`. | ||
| 103 | |||
| 104 | **Gate:** the screenshot needs your approval. Frame rate on integrated graphics | ||
| 105 | still needs a run on real hardware. | ||
| 80 | 106 | ||
| 81 | ## Phase 4 — GUI wiring | 107 | ## Phase 4 — GUI wiring |
| 108 | ## Phase 4 — GUI wiring | ||
| 82 | 109 | ||
| 83 | - Network thread with channels, request deadlines in the shared adapter. | 110 | - Network thread with channels, request deadlines in the shared adapter. |
| 84 | - Trust modal, version-mismatch screen, login/register, lobby, history panel. | 111 | - Trust modal, version-mismatch screen, login/register, lobby, history panel. |
