1.42MB, Zero Assets: Everything in Claude Fable 5.2's Browser FPS Is Pure Math
Procedural generation offers frontend teams a practical route to visually rich work at near-zero asset weight, with the caveat that the technique only pays off when the visual is the product's core selling point. The Saltline demo also makes a strong case for constraint-driven prompting, and an equally strong warning that single-pass demo output is not production code.
Claude Fable 5.2, an Anthropic model, generated Saltline, a browser FPS, in a single ~1.42MB index.html. The file holds no images, no 3D models, and no audio; ray-traced water, reflections, fire glow, and sound effects all come from functions running in WebGL2 shaders and Web Audio synthesis. Generation ran with external libraries banned, forcing pure HTML, CSS, JavaScript, and WebGL2. Anthropic engineer Felix Rieseberg shared the output.
Procedural generation is the core technique: noise functions replace texture maps (hundreds of bytes versus tens of megabytes), geometry-generating code replaces model files, and oscillator-plus-filter chains replace audio files. Constraints themselves acted as the prompt. Banning Three.js pushed the model to derive raymarching, Fresnel reflection, and fluid deformation from first principles.
A one-shot demo still isn't production code. Module boundaries, accessibility, cross-browser compatibility, and a GPU performance budget never entered the picture. The demo proves the technique can deliver striking visuals at near-zero asset cost; it doesn't tell you whether that approach fits any given product.
The constraint-driven setup did the heavy lifting: with Three.js banned, the model derived raymarching, Fresnel reflection, and water deformation from first principles, producing a different class of output than library assembly. That turns "disable your tools" into a repeatable prompting technique.
The size comparison sells the story: a few hundred bytes of noise function against tens of MB of texture. But the economics only hold when the visual itself is the product; an admin dashboard gains nothing from procedural fire.
Single-shot demos carry no engineering signal. No module boundaries, no performance budget, no cross-browser pass, no accessibility pass; the demo proves feasibility and stops there.