Cabinet, and the machine that shoots itself

Por Anónimo (no verificado) , 25 Julio 2026

We keep a collection called Zero-Shot Games — browser games each built, solo, by an AI studio from a single prompt. It is a proving ground for something we care about: software that is complete in its source, offline by default, and honest about how it was made. Cabinet is the newest piece of that, and it is a small demonstration of how we like to build.

Cabinet is a native desktop app, in Rust, that does two jobs. It is the collection's player — it mirrors the games from their source repository to your disk (cabinet sync: clone once, fast-forward after) and runs any of them full-screen in a native window, offline, with nothing to install per game. And it is the collection's camera.

The camera is the interesting half, because it hides a real problem. Every game page on the site wants screenshots. But you cannot screenshot a 3D game from inside the browser: reading a WebGL canvas back to an image returns a black frame, because the browser throws away what it drew the instant it has drawn it. The obvious approach fails silently — a wall of black rectangles and no error to tell you why.

So Cabinet does not screenshot from inside the page. It plays the game full-screen and grabs the composited desktop — the finished frame the GPU actually put on the glass — which always carries the real pixels, whether the game is 2D canvas or 3D WebGL. From there a single command on the server ingests those stills into each game's gallery. Build the game, play the game, photograph the game, publish the photograph: the whole loop, as code, re-runnable end to end.

That last phrase is the point, and it is the same principle behind every property we ship. We don't like software whose real state lives somewhere you can't see — a database nobody understands, a screenshot someone took by hand two versions ago and never retook. We like pipelines: a source of truth, and a command that reconstructs everything downstream of it. Cabinet is that idea applied to a games collection. The library is the truth; the player mirrors it; the capture rig reshoots it on demand; the site republishes it. Nothing is done by hand that a command could do again tomorrow, identically.

Cabinet is young — the player and the still capture are working; recorded gameplay is the next milestone — and it borrows the same desktop scaffolding as the rest of our Windows apps: Rust, a git-tag version stamp, a self-updating installer, config in %APPDATA%. Another lesson, retrofitted forward. If you have a body of work that deserves to present itself — and to keep presenting itself, correctly, long after the last person who remembers how it was made has moved on — this is the shape of how we would build it.

¿Hablamos sobre este proyecto?

Pregúntale al concierge sobre este proyecto: qué es, cómo se construyó, o ponte en contacto con nosotros.