Demo Show

The part of an experiment that runs. Each demo is one self-contained HTML file — no build step, no backend, and three.js is served from this site rather than a CDN, so the link you send someone shows them the same thing you saw.

These are WebGL scenes and they want a GPU; a phone will run them and get warm. A card opens the write-up, and running the demo takes a second click — nothing starts burning your GPU before you ask it to.

One thing to expect: the labels inside the demos are in Chinese. They are the model's verbatim output from an experiment run in Chinese, and editing them would make the artifact something other than what was measured. The controls are on each demo's page in English.

blackhole

Same prompt: a million-particle three.js black hole

A black hole in deep space with an orange and cyan accretion disk, surrounded by a million particles of star dust, with an EVENT HORIZON title and HUD readout at the upper left
· GPT-6 Astra

Event horizon in one shot: a million-particle black hole

One call, no human edits: GPT-6 Astra returned 1,230 lines of single-file HTML — a million particles, a custom GLSL accretion disk, UnrealBloomPass, zero console errors, and screenshots that reproduce byte for byte once ?t= locks the clock. The defect is still in it: bloom washed the event horizon white.

one shot ·3m 1s ·1230 lines
The frame is filled by one enormous white arc of light with no visible black hole or accretion disk structure; the HUD at upper left reads 20.0 FPS and 1,000,000 particles
· GPT-5.6 Terra

The run where the code was right and the camera was inside the light source

Same prompt, GPT-5.6 Terra, one shot: 759 lines, a million particles, zero errors, and every HUD and ?t= hook implemented. But the camera and the scene scale were never reconciled, so the frame is one enormous white arc. Nothing an assertion can check failed. It is still a failure.

one shot ·2m 5s ·759 lines
A pale blue-white haze fills the frame with almost no visible black hole or disk structure; the HUD reads 10 FPS and 300,000 particles
· Claude Fable 5.1

A TDZ error blanked the page, and one round of feedback fixed it

Fable 5.1's one-shot attempt died in initialisation on a temporal dead zone error and rendered nothing. Handed back the machine-collected stack trace, it repaired itself in 111 seconds and one round. This page runs the repaired version — which boots, but is nearly all white, and lost the byte-for-byte ?t= contract along the way.

one shot ·4m 55s ·584 lines
A black hole in deep space with an orange-gold accretion disk in spiral bands, the event horizon at the centre pure black, structure clearly separated
· GPT-6 Astra + Codex CLI

Same prompt, given an agent: Astra + Codex CLI screenshots itself and fixes it in three rounds

The same black hole prompt, but this time to something that can run commands, take screenshots and read back pixel statistics. GPT-6 Astra iterated three times inside Codex CLI, pushed the count to 1,048,576, found and killed the bloom overexposure the one-shot run shipped with, and the fixed-time screenshot hashes match exactly.

agent loop ·10m 34s ·575 lines
A black hole with a pure black centre, an accretion disk in spiral bands and two polar jets, one side brighter from Doppler beaming
· Claude Fable 5.1 + Claude Code

Five rounds to bring mean luminance from 0.43 down to 0.10

The same black hole prompt to Fable 5.1 inside Claude Code: 42 turns, 41 tool calls, $4.24. Every round it rendered the frame itself, read the pixel statistics and decided what was blown out. Five rounds later the centre is black again, with spiral bands and a Doppler-brightened side — the one-shot attempt rendered nothing at all.

agent loop ·15m 2s ·696 lines ·$4.24