Studio Notes
Cabinet: play the collection offline — and shoot it
A native desktop player mirrors the library, runs every game full-screen with the wifi off, and grabs the screenshots and footage you see on these pages.
Every game in this collection is a web page — but a web page built to run with the network unplugged. A collection like that deserves a proper front door: not a browser tab, but a native app you open and play. That is Cabinet.
Cabinet is a small Rust program that keeps a local copy of the games library and plays every title full-screen. cabinet sync mirrors the library folder — a clone on the first run, a fast-forward after — so the games on your disk are always exactly what shipped. cabinet play opens one in a borderless WebView2 window; Esc drops you back to your desktop. No install per game, no server, no tab chrome. The zero-install promise, carried onto the desktop.
The rig that shoots the site
Cabinet earns its keep as more than a player. Every game page here wants screenshots and, soon, footage — and there is a genuinely hard problem hiding in that. You cannot screenshot a 3D game from inside the page: canvas.toDataURL on a WebGL canvas reads back black, because the browser discards the drawing buffer the instant it has painted it. The polygon fighter would come out a black rectangle every single time.
So Cabinet does not capture from inside the page at all. It plays the game full-screen and grabs the composited desktop — the finished frame the GPU actually put on the glass. That output always carries the real pixels, whether the game is Canvas 2D or WebGL. One code path, correct for the felt of the pool table and the polygons of the fighter alike. It writes a cover shot and a couple of stills per game, straight to disk.
The loop closes
From there a single command on the server — drush zsg:capture-ingest — reads that folder and drops the shots into each game's own gallery, with gameplay footage to follow. The pipeline runs end to end: sync the library, capture every game, ingest the results. The image at the top of this post is not a mock-up; it is a frame Cabinet grabbed of the 3D fighter, running full-screen, moments before it hit the disk.
There is a pleasing symmetry to it. The games are built by an AI studio that plays every role from a single prompt. Now they are played and photographed by a tool that speaks the same language — offline, self-contained, nothing to download but the thing itself. The collection shoots its own promo.
Cabinet is young — the player and the stills are done; recorded gameplay is the next piece. But the shape is set: one native cabinet, the whole shelf inside it, and a camera in the back that never once asks for the internet.