oneshotlm
Compare all models on this prompt →

3D solar system · qwen3.8-27b

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
Let's check the current directory and build the app.
bash {"command":"ls -la /tmp/ws && head -c 200 /tmp/ws/three.min.js"}
toolResult

total 592 drwxr-sr-x. 2 node node 26 Aug 15 13:47 . drwxrwsrwx. 3 root node 16 Aug 15 13:47 .. -rw-r--r--. 1 node node 603445 Aug 15 13:47 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
thinking
Build index.html including an inline style/script, loading three.min.js with a script tag. Features: sun, planets with different sizes and speeds, orbit dragging camera control (custom implementation—drag to rotate around the target, scroll to zoom), starry sky (points), orbit rings.
write /tmp/ws/index.html (11758 bytes)
toolResult

Successfully wrote 11758 bytes to /tmp/ws/index.html

assistant
thinking
Quick sanity check: three.min.js is r128 era (2021). MeshStandardMaterial exists, RingGeometry exists, CanvasTexture also exists. setFromPoints is also fine. PointsMaterial with vertexColors: true — in r128 it's a boolean, so no problem. Good. Should I quickly check for syntax errors with node? The script uses the browser's THREE, but I can check the syntax of the inline script with node --check.
bash {"command":"cd /tmp/ws && python3 -c \"\nimport re\nhtml = open('index.html').read()\nm = re.findall(r'<script>(.*?)</script>', html, re.S)\
toolResult

/bin/bash: line 1: python3: command not found Command exited with code 127

assistant
thinking
python3 is not available; please use node to extract the inline script.
bash {"command":"cd /tmp/ws && node -e \"\nconst html = require('fs').readFileSync('index.html','utf8');\nconst m = html.match(/<script>([\\s\\S]
toolResult

JS syntax OK -rw-r--r--. 1 node node 11758 Aug 15 13:54 index.html

assistant
thinking
Also, check the three.js version and verify API compatibility — r128 or earlier. Quickly grep for the "REVISION" string.
bash {"command":"grep -o 'REVISION=\"[0-9]*\"' /tmp/ws/three.min.js"}
toolResult

(no output) Command exited with code 1

assistant
thinking
Check the version of three.min.js and confirm API compatibility (e.g., in old versions, the handling of vertexColors in PointsMaterial is different). Let's check.
bash {"command":"grep -o 'Revision: [0-9]*' /tmp/ws/three.min.js | head -1; grep -c 'PointsMaterial' /tmp/ws/three.min.js"}
toolResult

1

assistant
thinking
No revision string found (already minified), but PointsMaterial exists. It says r118 or later (2021 in the license header → r132 or so). No issues — everything I used (CanvasTexture, setFromPoints, vertexColors boolean, PointLight's decay argument) is compatible with r110+. Done.

Done. `index.html` is complete in `/tmp/ws` — a fully self-contained 3D solar system that loads the local `three.min.js` and uses no network resources. JS syntax verified. Features: - **Sun** — glowing sphere with an additive radial-gradient glow sprite (canvas-generated) that gently pulses, plus a point light casting real illumination on the planets - **8 planets** — varied sizes (Mercury 0.8 → Jupiter 3.6) and varied orbital speeds (Mercury fastest at 1.60, Neptune slowest at 0.18), each with axial tilt, self-rotation, and a faint orbit-ring line - **Details** — procedural banded textures on Jupiter/Saturn, Saturn's rings (double-sided, translucent), Earth's orbiting moon - **Starfield** — 3,500 points on a distant spherical shell with white/warm/cool color variation, slowly drifting - **Orbit-drag camera controls** — custom implementation: mouse drag (and touch) orbits around the sun via spherical coordinates, scroll wheel zooms with clamped min/max radius - **UI** — HUD with control hints and a "time speed" slider (0–5×) to scrub simulation speed Open `index.html` in a browser to run it.

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

modelqwen3.8-27b
vendorQwen
harnesspi-agent
generated2026-08-15

EVALUATION

4/5 working

3D solar system with sun, orbiting planets of varied sizes/speeds, starfield, and camera responds to drag/scroll/keys.

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 motion3.0%
on click4.3%
on drag3.3%
on wheel2.9%
on enter + space2.3%
on arrow keys1.8%
on w/a/s/d4.0%
frame spread25.9 / 255
console errors0
js errors none

METRICS

runtime451.0s
tokens in37k
tokens out5.2k
cached0
cost / run$0.0330