oneshotlm
Compare all models on this prompt →

3D solar system · grok-4.6

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 · 18 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
The user wants me to build a 3D solar system web app using Three.js. Let me first check what's in the current directory and understand the three.min.js file available.

I'll inspect the workspace and Three.js build so I can make a self-contained solar system page.

bash {"command":"ls -la /tmp/ws && file three.min.js && wc -c three.min.js | head -1"}
toolResult

total 592 drwxr-sr-x. 2 node node 26 Aug 13 01:32 . drwxrwsrwx. 3 root node 16 Aug 13 01:32 .. -rw-r--r--. 1 node node 603445 Aug 13 01:32 three.min.js /bin/bash: line 1: file: command not found Command exited with code 127

assistant
thinking
Let me check the THREE.js version and available APIs from the minified file.
bash {"command":"head -c 200 three.min.js; echo; grep -o 'REVISION:\"[0-9]*\"' three.min.js | head -1; grep -oE 'OrbitControls|TrackballControls'
toolResult

/** * @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
It's Three.js r128 or similar from 2021. I need to check if OrbitControls is included or if I need to implement my own orbit-drag camera. The user said to load three.min.js only, no other files.
bash {"command":"grep -oE 'REVISION:\"[0-9]+\"' three.min.js | head -1; grep -c 'OrbitControls' three.min.js; grep -oE 'exports\\.[A-Z][A-Za-z0-9
toolResult

0

assistant
thinking
Let me check the THREE version and what's available. The file starts with a UMD wrapper. Let me look at more of the beginning to understand the API.
read {"path":"/tmp/ws/three.min.js","offset":1,"limit":5}
toolResult

/** * @license * Copyright 2010-2021 Three.js Authors * SPDX-License-Identifier: MIT */ [2 more lines in file. Use offset=6 to continue.]

assistant
thinking
This is Three.js r128 or similar from 2010-2021. I need to check if it's UMD and how THREE is exported. Let me look at the end of the file.
read {"path":"/tmp/ws/three.min.js","offset":6,"limit":3}
toolResult

[Line 6 is 589.2KB, exceeds 50.0KB limit. Use bash: sed -n '6p' /tmp/ws/three.min.js | head -c 51200]

assistant
thinking
This is Three.js r128 or similar from 2020-2021. I need to implement orbit-drag camera controls myself since OrbitControls is not included. I'll write a complete single-page solar system.

Building a self-contained solar system with custom orbit-drag controls, procedural planet textures, and a starfield.

write /tmp/ws/index.html (18924 bytes)
toolResult

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

assistant
thinking
The file is written. Let me verify THREE API compatibility with the 2010-2021 build. This is likely r128 or similar (copyright through 2021).

Checking that the Three.js build exposes the APIs I used:

bash {"command":"python3 - <<'PY'\nimport re\ns=open('three.min.js').read()\n# revision\nm=re.search(r'REVISION:\"?(\\d+)\"?', s)\nprint('REVISIO
toolResult

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

assistant
thinking
python3 not available, try node instead
bash {"command":"node -e '\nconst fs=require(\"fs\");\nconst s=fs.readFileSync(\"three.min.js\",\"utf8\");\nconst m=s.match(/REVISION:\"?(\\d+)\"
toolResult

REVISION null MathUtils true Spherical true FogExp2 true PointsMaterial true MeshStandardMaterial true RingGeometry true Sprite true SpriteMaterial true BufferGeometry true setFromPoints true CanvasTexture true PointLight true AmbientLight true DirectionalLight true LineBasicMaterial true AdditiveBlending true BackSide true DoubleSide true fine.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).THREE={})}(this,(function(t){"use strict";const e="128",n=100,i=300,r=301,s=302,a=303,o=304,l=306,c=307,h=1e3,u=1001,d=1002,p=1003,m=1004,f=1005,g=1006,v=1007,y=1008,x=1009,_=1012,w=1014,b=1015,M=1016,S=1020,T=1022,E=1023,A=1026,L=1027,R=33776,C=33777,P=33778,D=33779,I=35840,N=35841,B=35842,z=35843,F=37492,O=37496,H=2300,G=2301,U=2302,k=2400,V=2401,W=2402,j=2500,q=2501,X=3e3,Y=3001,Z=3007,J=3002,Q=3004,K=3005,

assistant
thinking
Good - THREE r128 is available as a UMD global. All the APIs I used exist. The page is self-contained with three.min.js loaded via script src.

`index.html` is a self-contained 3D solar system that loads the local `three.min.js` (r128). - **Sun** with a procedural surface, corona, and additive glow sprite, plus a point light. - **8 planets** at different distances, sizes, orbital speeds, axial tilts, and spin rates (Earth has a moon; Saturn has rings). - **Orbit-drag camera**: left-drag orbit, scroll zoom, right/middle-drag pan, plus reset. - **Starfield** (~4500 stars) and faint dust. - **HUD**: time scale, pause, orbit-line toggle. Open `index.html` in a browser to run it — no network required.

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

modelgrok-4.6
vendorxAI · Grok
harnesspi-agent
generated2026-08-13

EVALUATION

4/5 working

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

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 motion2.8%
on click2.8%
on drag2.3%
on wheel5.1%
on enter + space1.3%
on arrow keys1.2%
on w/a/s/d1.8%
frame spread30.7 / 255
console errors0
js errors none

METRICS

runtime89.8s
tokens in39k
tokens out7.6k
cached28k
cost / run$0.0813