<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zagan-bet, branch master</title>
<subtitle>Everything about zagan-bet casino is here.
</subtitle>
<id>https://git.2137697.xyz/zagan-bet/atom?h=master</id>
<link rel='self' href='https://git.2137697.xyz/zagan-bet/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/'/>
<updated>2026-11-01T21:23:00Z</updated>
<entry>
<title>v4.4.0: stable installers that follow the newest published build</title>
<updated>2026-11-01T21:23:00Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T21:23:00Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=4887abc5773b33ab1e213ed5f528dfebd242e2cd'/>
<id>urn:sha1:4887abc5773b33ab1e213ed5f528dfebd242e2cd</id>
<content type='text'>
Adds web/latest.php: a plain-text feed of the newest version with each artifact's filename and SHA-256. The per-release generated installers are replaced by stable web/install.sh and web/install.ps1; both read the feed, pick the newest build, verify it, install per-user and add a launcher. Publishing a new app version no longer regenerates or versions the installers.

publish.sh drops the installer renderer and Python dependency. deploy.sh now also verifies latest.php against the local artifacts and that the served installer scripts match the repository.
</content>
</entry>
<entry>
<title>v4.3.1: render Windows through wgpu and keep the installer window open</title>
<updated>2026-11-01T21:02:52Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T21:02:52Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=eca39344cd9d2a37fb52ef1c5f4fe3c11f6525cb'/>
<id>urn:sha1:eca39344cd9d2a37fb52ef1c5f4fe3c11f6525cb</id>
<content type='text'>
Windows 10 1809 sessions with only the Microsoft display driver expose OpenGL 1.1, which egui_glow refuses. The Windows build now uses wgpu on Direct3D 12 and its adapter selector accepts WARP, the software rasterizer, after every hardware class, so a VM or Remote Desktop session still starts. Linux keeps the smaller glow renderer.

The GUI is a windows-subsystem binary now, so launching it from the Start menu does not flash a console; startup failures and --help go to a native message box. The PowerShell installer pauses before closing unless -NoPause is passed.
</content>
</entry>
<entry>
<title>docs: record the v4.3.0 packaging verification</title>
<updated>2026-11-01T20:39:36Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T20:39:36Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=edf5712dd36878543d97db88383dd5c48a7a962c'/>
<id>urn:sha1:edf5712dd36878543d97db88383dd5c48a7a962c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>v4.3.0: package the desktop app with verifiable installers</title>
<updated>2026-11-01T20:38:36Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T20:35:30Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=7830b3c5e89f0339949940b8986bf4849ad7f223'/>
<id>urn:sha1:7830b3c5e89f0339949940b8986bf4849ad7f223</id>
<content type='text'>
publish.sh builds the GUI with the gui-release profile, names it zagan-bet-gui-&lt;version&gt;-&lt;platform&gt;-&lt;arch&gt;, and renders a bash and a PowerShell installer next to each app. Both embed the app's SHA-256, verify the file (or fetch it), install per-user and add a launcher: a desktop entry plus an SVG icon on Linux, a Start-menu shortcut on Windows.

The download page gains a Desktop app section with the apps and installers, keeps the terminal client and server, links the public git repository for the GPL source, and lists every file in the sha256sum block. deploy.sh verifies all four artifact kinds. Publishing refuses a dirty tree so the linked history matches the binaries.
</content>
</entry>
<entry>
<title>v4.2.1: plain-language game copy and a balance fetch on login</title>
<updated>2026-11-01T20:24:48Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T20:24:48Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=a5ea79739783682c46983d5b67b2b4b7b5338ccb'/>
<id>urn:sha1:a5ea79739783682c46983d5b67b2b4b7b5338ccb</id>
<content type='text'>
The lobby and every game screen now speak to a player, not an operator: each game has one how-to sentence, and the table headers, limits, RTP, paytable and server-timing notes are gone. The account and balance are fetched whenever a session signs in, including stored-credential auto-login, so the header is filled before the lobby appears.
</content>
</entry>
<entry>
<title>v4.2.0: wire the GUI to the core, transport and all four games</title>
<updated>2026-11-01T20:09:56Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T20:09:56Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=bf4cf78ab26896faf457273e37d30fc96381c4a4'/>
<id>urn:sha1:bf4cf78ab26896faf457273e37d30fc96381c4a4</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>v4.1.1: pointer-first betting and visible payouts in the GUI</title>
<updated>2026-11-01T19:11:41Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T19:11:41Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=e920b20fafe375eec15b24eb8cde4b1455dd01af'/>
<id>urn:sha1:e920b20fafe375eec15b24eb8cde4b1455dd01af</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>v4.1.0: add the egui workspace member and the roulette style spike</title>
<updated>2026-11-01T18:58:59Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T18:58:59Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=10ff558853f549d3f3c7c8432488bfad9da6973a'/>
<id>urn:sha1:10ff558853f549d3f3c7c8432488bfad9da6973a</id>
<content type='text'>
Phase 3 of the GUI plan. gui/ is a separate package that depends on the core with default features off, so egui never enters the TUI or server build graph. It carries the theme tokens and two embedded fonts (Open Sans OFL, Hack MIT), paints the felt, chips, cursor and wheel from RouletteView, and composes the persistent header with the betting sidebar.

The reference screen runs on demo state: arrow keys move the shared Cursor, clicks place chips, and SPIN animates a 2.4 s wheel that settles with the winning pocket under the pointer. No network until Phase 4.

Verified x86_64-pc-windows-gnu cross-compile. Measured on Linux at 1080p with llvmpipe: 6.0 MB binary (4.7 MB on Windows), 52 ms to window, 137 MB idle RSS, 0% idle CPU.
</content>
</entry>
<entry>
<title>v4.0.7: finish the Phase 1 boundary with a command shell</title>
<updated>2026-11-01T18:19:49Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T18:19:49Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=24e3bb54db579fb9aad8df2a591527dc77fe4cb4'/>
<id>urn:sha1:24e3bb54db579fb9aad8df2a591527dc77fe4cb4</id>
<content type='text'>
The terminal command line moves to client::shell: a typed line becomes a core Command or an adapter action (connect, login, register, set-credential, host maintenance). ClientCore loses submit_line and the last TUI-shaped effects (Interactive, SetPrompt, ListHosts, ForgetHost, AnimateRoulette); the adapter animates roulette from the Result view.

Adds forget-login, which drops the stored credential for the pinned key and keeps trust, distinct from logout (session only) and forget-host (trust too).
</content>
</entry>
<entry>
<title>v4.0.6: move the prompt editor and key mapping out of the core</title>
<updated>2026-11-01T18:00:04Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-01T18:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/zagan-bet/commit/?id=d251b54fe40f6f8f95261b4df65bced2fb728c63'/>
<id>urn:sha1:d251b54fe40f6f8f95261b4df65bced2fb728c63</id>
<content type='text'>
</content>
</entry>
</feed>
