diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-01 21:09:56 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-01 21:09:56 +0100 |
| commit | bf4cf78ab26896faf457273e37d30fc96381c4a4 (patch) | |
| tree | 71d67c300b6be191016a988ed5338e15c8b1bdd3 /AGENTS.md | |
| parent | v4.1.1: pointer-first betting and visible payouts in the GUI (diff) | |
| download | zagan-bet-bf4cf78ab26896faf457273e37d30fc96381c4a4.tar.gz zagan-bet-bf4cf78ab26896faf457273e37d30fc96381c4a4.zip | |
v4.2.0: wire the GUI to the core, transport and all four games
Phase 4. The egui frontend now shares ClientCore and the client database with the terminal: one background worker owns TLS, trust answers go through a channel, and a 10 s request deadline mirrors the terminal socket timeout. First contact, a changed key and a version mismatch are explicit screens; login can remember the credential and auto-login signs in before the login form appears.
Adds the lobby with an update notice, a full-width scrollable history table, and the four games painted from View: slots with reel animation and win lines that stop at the last matching reel, roulette with the hover lattice and wheel spin, blackjack with vector-drawn suits, and a smooth crash curve. Sidebars pin their action block; leaving a live hand or round asks before forfeiting.
The header balance holds the staked amount while the reels or wheel turn and only shows the payout when they stop. Refused spins cancel the animation. Live crash multipliers keep full precision for the chart; the terminal still displays two decimals.
Verified live against a 4.2.0 server: register, login, auto-login, trust, all four games settling, history (50 rows), logout, disconnect, forfeit confirmation, and the version-mismatch screen. Release: 8.3 MB Linux, 6.8 MB Windows, 61 ms to window, 131 MB idle RSS.
Diffstat (limited to '')
| -rw-r--r-- | AGENTS.md | 8 |
1 files changed, 8 insertions, 0 deletions
| @@ -77,6 +77,14 @@ | |||
| 77 | (cell centre, edge, crossing), left click adds the chip and right or middle | 77 | (cell centre, edge, crossing), left click adds the chip and right or middle |
| 78 | click takes one back. The terminal keeps its arrow-key cursor; the GUI does | 78 | click takes one back. The terminal keeps its arrow-key cursor; the GUI does |
| 79 | not paint it. | 79 | not paint it. |
| 80 | - The GUI network worker (`gui/src/net.rs`) owns the TLS stream and the request | ||
| 81 | deadline; `ClientCore` stays I/O-free. One thread with channels, no async | ||
| 82 | runtime. | ||
| 83 | - Game sidebars pin their action block with `widgets::sidebar_layout`. An | ||
| 84 | action that moves as the bet slip grows is a bug. | ||
| 85 | - The embedded fonts have no suit or arrow glyphs. Draw card suits as shapes | ||
| 86 | and use plain words for navigation; a glyph that is not in Open Sans or Hack | ||
| 87 | renders as tofu. | ||
| 80 | 88 | ||
| 81 | ## Client TUI | 89 | ## Client TUI |
| 82 | - `render_lines()` and `render()` must agree. If `render()` uses `\r\n`, | 90 | - `render_lines()` and `render()` must agree. If `render()` uses `\r\n`, |
