The engine in a browser tab

In 2009, Minecraft spread because clicking a link put you in the game. That trick was a Java applet riding a local runtime. The 2026 version is WebAssembly + WebGPU — and as of tonight, the DFD engine does it for real.

903 kilobytes of unified physics

The entire engine crate — the nonlinear field solver, the eikonal raymarcher, the analytic forest, the atmosphere, the day cycle — now compiles to 903 KB of WebAssembly and runs on WebGPU in a Chrome tab. Not a port of the renderer: the same Rust, the same WGSL compute shaders, the same physics gates. The browser build solves ψ on your GPU when the page loads (you watch the same progress bar the native client shows), then raymarches New Earth at interactive rates with fly controls.

The work was mostly discipline, not rewriting: native-only systems (audio, threads, sockets, the SQLite server) sit behind target gates; the fine-detail field shrinks from 512³ to 128³ to respect browser memory limits; thread-pool loops degrade to sequential on wasm. The multiplayer protocol was already WebSocket + JSON, which means the world server we shipped yesterday will serve browser players unmodified — that's the next milestone, along with streaming the real textures and characters in (tonight's build wears 1×1 placeholder materials).

Verified the way we verify everything now: headless Chrome booted the page, the console logged the field build and the GPU solve, and the screenshot shows dusk falling over New Earth's curved horizon — from a web page. Native build untouched: all four physics gates green, 28/28 tests.

Engine v0.13.0. No public link yet — the play button appears on ractr.com when the game is done, and now we know exactly how it'll work when it does.