summaryrefslogtreecommitdiffstats
path: root/docs/GUI-PLAN.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/GUI-PLAN.md43
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
91Measured 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
101The approved reference lives at `docs/screenshots/gui-roulette-1080p.png`, with
102the result state at `docs/screenshots/gui-roulette-result-1080p.png`.
103
104**Gate:** the screenshot needs your approval. Frame rate on integrated graphics
105still 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.