oneshotlm
Compare all models on this prompt →

3D solar system · claude-opus-4.8

Using the pre-provided three.min.js (global THREE), build a 3D solar system with the sun and orbiting planets at varied speeds and sizes, orbit-drag camera controls, and a starfield.

⛨ sandboxed Open in new tab ↗
transcript · 14 messages
user

Using the pre-provided three.min.js (global THREE), build a 3D solar system with the sun and orbiting planets at varied speeds and sizes, orbit-drag camera controls, and a starfield.

assistant
thinking
I'll check the library and set up the file.
bash {"command":"ls -la; head -c 200 three.min.js; echo; grep -o 'REVISION=\"[0-9]*\"' three.min.js | head"}
toolResult

total 644 drwxrwxrwx 3 node node 96 Jul 8 02:59 . drwxr-xr-x 1 root root 4096 Jul 8 02:59 .. -rw-r--r-- 1 node node 603445 Jul 8 02:59 three.min.js /** * @license * Copyright 2010-2021 Three.js Authors * SPDX-License-Identifier: MIT */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&de

assistant
bash {"command":"grep -o 'REVISION=\"[^\"]*\"' three.min.js | head"}
toolResult

(no output)

assistant
bash {"command":"grep -o 'REVISION=[^,;]*' three.min.js | head"}
toolResult

REVISION=e

assistant
thinking
The version appears to be minified and likely from the r13x series based on the copyright dates, so I'll work with the core features and build custom orbit controls instead.

I'll build the solar system with my own orbit-drag controls (no external OrbitControls dependency).

write index.html (10928 bytes)
toolResult

Successfully wrote 10928 bytes to index.html

assistant
bash {"command":"node -e \"const fs=require('fs');const h=fs.readFileSync('index.html','utf8');const m=h.match(/<script>([\\s\\S]*?)<\\/script>/g
toolResult

at [eval]:1:151 at runScriptInThisContext (node:internal/vm:219:10) at node:internal/process/execution:451:12 at [eval]-wrapper:6:24 at runScriptInContext (node:internal/process/execution:449:60) at evalFunction (node:internal/process/execution:283:30) at evalTypeScript (node:internal/process/execution:295:3) at node:internal/main/eval_string:71:3 Node.js v24.18.0

assistant
thinking
I need to step back and properly validate the syntax instead of relying on that regex approach.
bash {"command":"node -e \"const fs=require('fs');const h=fs.readFileSync('index.html','utf8');const parts=h.split('<script src=\\\"three.min.js\
toolResult

SYNTAX OK

assistant

The inline JS parses cleanly. Done — `index.html` is a fully self-contained solar system. What it includes: - **Sun** with additive glow layers and a point light at the center - **8 planets** with varied sizes, distances, colors, and orbit/spin speeds (Mercury fastest → Neptune slowest), each with a faint orbit ring line - **Saturn's rings** and **Earth's orbiting Moon** - **Starfield** of 6000 tinted points on a distant sphere shell - **Orbit-drag camera controls** written from scratch (no external OrbitControls): left-drag to rotate, scroll to zoom, right-drag to pan, plus touch support (drag rotate, pinch zoom) Loads only the local `three.min.js`, no network/CDN. Open `index.html` in a browser to view.

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelclaude-opus-4.8
vendorAnthropic · Claude
harnesspi-agent
generated2026-07-08

EVALUATION

4/5 working

3D solar system with sun, orbiting planets of varied sizes/speeds, orbit rings, starfield, and drag-based camera rotation.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion1.5%
on click1.3%
on drag2.6%
on wheel4.3%
on enter + space3.0%
on arrow keys2.1%
on w/a/s/d1.3%
frame spread22.4 / 255
console errors0
js errors none

METRICS

runtime75.6s
tokens in18k
tokens out6.3k
cached18k
cost / run$0.2605