· GPT-6 Astra · Same prompt: a million-particle three.js black hole

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.

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
Run the demo WebGL · uses your GPU
drag to orbit · scroll to zoom · space to pause · 1/2/3 for palettes Open full screen ↗

The on-screen labels are in Chinese: this is the model's verbatim output from an experiment run in Chinese, and editing it would make the artifact something other than what was measured.

How it was made

Model
GPT-6 Astra
us.openai.gpt-6-astra
How
one shot
Reasoning effort
high
Output tokens
15.3k
Wall time
3m 1s
Artifact
1230 lines, one file
Error feedback
none

The prompt asked for something machine-checkable, not something pretty: one file, only APIs that exist in three.js r170, at least 200,000 particles in a THREE.Points with custom GLSL, EffectComposer plus UnrealBloomPass, OrbitControls, animation time driven by a simTime variable so ?t=3.5 can freeze a frame, and a fixed-seed mulberry32 PRNG rather than Math.random().

This is the raw output of a single call, with nothing edited by hand. It pushed the particle count to a million on its own — the prompt asked for 200,000 — and added a FRAME LOCK / t = 7.50 s HUD plus decorative “SGR / 0001 / GRAVITATIONAL LENSING” type in the corner, none of which was requested. Verification: __DEMO_READY true, __DEMO_ERROR null, zero page errors, console errors and failed requests, and two renders at ?t=7.5 producing the same sha256.

The defect is preserved too. Mean luminance across the frame is 0.41 with 95.8% of pixels non-black: bloom washed the centre out, so the event horizon that should be pure black is not visible at all. Feeding the screenshot and its pixel statistics back for a repair would work — but that measures something else, which is exactly what Astra + Codex CLI in this set is.

Controls: drag to orbit, scroll to zoom, mouse movement adds parallax, space pauses, 1/2/3 switch palettes. Adding ?t=7.5 freezes the clock, which is how the screenshots reproduce.

Same prompt, other runs

three.js r170 is served from this site, so running a demo makes no third-party request. Published by the author as an individual; testing was self-funded and nothing here represents an employer's position.