quake-srp, the README’s “slop rust port,” is a Rust port of id Software’s WinQuake, the 1996 C source of Quake. The repository, under the handle terrapapagalli1516, was created on 8 October 2026. It was posted as a Show HN on 9 October 2026. The README and the browser demo say the port is not affiliated with or endorsed by id Software.
How the README says it was built
The README’s account, in its words: “Claude, Anthropic’s model, wrote the code and the docs in Claude Code; the user set the rules, played it and reported what was wrong. Most of the work ran as fleets of agents, each on its own git branch with a written brief, and a chair agent that merged a branch only after the full check passed.” That is the project’s own story of the workflow.
The same paragraph lists the rules, in order: zero dependencies, no unsafe, and Classic is id’s game, proven for anything touched. The README says #![forbid(unsafe_code)] is on every crate and binary, including the browser build, with only the standard library.
Safe Rust here means the compiler rejects unsafe blocks. unsafe lets Rust use raw pointers the way C does, with some memory checks off. A line that needs that hatch does not compile. That property of the source is separate from whether the game matches id’s.
What the oracle is claimed to compare
Differential testing runs the new program and a reference on the same inputs and compares outputs. The README’s oracle is id’s C, compiled headless from the WinQuake source, and it says a claim that the port matches id is “a comparison that anyone can re-run.”
With extras off, the README says the port and that C agree on every pixel of the 3-D view in every view tried, on the mixer sample for sample in scripted cases, and, in demo playback, on the camera, every entity, and every dynamic light, frame by frame. STATUS.md says uv run oracle/classic_check.py prints ALL PASS, including an exact sweep of 676 frames with not one pixel off, 262 of them with the player among each map’s monsters, awake. ci/local.sh runs fmt, tests, clippy, and both browser builds. --oracle also runs the Classic proof, and the script says that needs the WinQuake tree and docker.
Classic turns the port’s slop options off. The default slop preset is the README’s 2026 renderer: native resolution, no 72 fps cap. There is no multiplayer.
What AUDIT.md still lists as open
AUDIT.md has an “Open” section, refreshed 8 October 2026. It is the list of everything known to differ from WinQuake in Classic, or not yet checked. Still open, among other items:
angle_vectorskeeps the angle in f64 where id’sAngleVectorsworks in float, so a facing test can flip.- Movement angles reach the server unrounded. id’s client sends them as a byte in 1.40625 degree steps.
- Explosion and impact particles start at the server’s exact positions. id’s client gets them rounded to 1/8 unit.
- The player is the last edict, not edict 1, and edict numbers are one off against id’s.
- Sound was checked by counters, samples, and the C oracle, never by ear. Safari and iOS are listed as not tried.
Struck lines in that section are marked closed. The section is longer than this sample.
Licence, data, and the browser build
The README says the licence is GPL-2.0-or-later. The LICENSE file is the GNU GPL, version 2, June 1991. GitHub’s licence API reports it as GPL-2.0. The README says the port derives from id’s GPL Quake source, that the port’s own code is copyright 2026 its authors under the same licence, and that the repository ships no game data.
The demo page says the shareware episode is included, “id’s original quake106.zip.” The README says a published demo serves the shareware pak with id’s licence beside it (id1/slicnse.txt).
WebAssembly (WASM) is bytecode a browser can run. The README says the browser build is an ordinary fn main() WASI program in a Web Worker, sharing memory for 8-bit pixels and 16-bit audio from id’s mixer. Browsers allow that shared memory only on a cross-origin isolated page.

The Campfire
No commentsNobody has pulled up a log by this one yet. Be the first to say what you make of it.
Held for the desk. It appears after a look.