oneshotlm
Compare all models on this prompt →

3D solar system · minimax-m2

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 · 10 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 visualization using Three.js. Let me first check what's in the current directory to see the three.min.js file and understand the structure.

I need to:
1. Check the current directory for three.min.js
2. Create a self-contained index.html with:
   - Sun at the center
   - Planets orbiting at different speeds and sizes
   - Orbit-drag camera controls (OrbitControls)
   - A starfield background

Let me start by checking what's in the directory.
bash {"command":"ls -la /tmp/ws/"}
toolResult

total 592 drwxr-sr-x. 2 node node 26 Aug 1 20:47 . drwxrwsrwx. 3 root node 16 Aug 1 20:47 .. -rw-r--r--. 1 node node 603445 Aug 1 20:47 three.min.js

assistant
thinking
Good, three.min.js is present. Now I'll create the index.html file with a complete solar system visualization. I need to:

1. Use Three.js from the local file
2. Create the sun with a glowing effect
3. Create planets (Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune) with different sizes, colors, and orbital speeds
4. Add orbit paths (rings)
5. Add a starfield background
6. Add orbit-drag camera controls (OrbitControls)
7. Make the planets orbit the sun

Let me create a comprehensive solar system.
write /tmp/ws/index.html (14822 bytes)
toolResult

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

assistant
thinking
I've created the index.html file with a complete 3D solar system. Let me verify the file was created correctly by checking its existence and making sure the syntax looks good.
bash {"command":"ls -la /tmp/ws/index.html && head -30 /tmp/ws/index.html"}
toolResult

-rw-r--r--. 1 node node 14826 Aug 1 20:47 /tmp/ws/index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>3D Solar System</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { overflow: hidden; background: #000; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } #canvas-container { width: 100vw; height: 100vh; } #info { position: absolute; top: 20px; left: 20px; color: #fff; background: rgba(0, 0, 0, 0.6); padding: 15px 20px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.2);

assistant
thinking
The file is created. Let me verify the script loading part is correct and the file is complete. I should check the full file structure is correct.
bash {"command":"tail -20 /tmp/ws/index.html"}
toolResult

sun.scale.set(sunScale, sunScale, sunScale); // Rotate sun sun.rotation.y += 0.002; controls.update(); renderer.render(scene, camera); } // Handle window resize window.addEventListener('resize', () => { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); }); animate(); </script> </body> </html>

assistant
thinking
The file is complete with proper closing tags. The solar system is ready with:

1. ✅ Sun at the center with glowing effect
2. ✅ 8 planets (Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune) with different:
   - Sizes (proportionally scaled)
   - Orbital distances
   - Orbital speeds (inner planets faster, outer slower)
3. ✅ Saturn has rings
4. ✅ Orbit rings visible
5. ✅ Starfield background (8000 stars)
6. ✅ Custom OrbitControls with:
   - Left-click drag to rotate
   - Scroll to zoom
   - Right-click drag to pan
7. ✅ Proper lighting (point light from sun + ambient)
8. ✅ Planet rotation around the sun
9. ✅ Sun pulsing animation
10. ✅ Responsive window resize handling

All done!

The 3D solar system is complete. Here's what I've built: **Features:** - **Sun** - Central glowing sphere with pulsing animation and point light - **8 Planets** - Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune - Varied sizes (proportionally scaled) - Varied orbital distances - Varied orbital speeds (inner planets orbit faster) - Saturn has visible rings - **Orbit paths** - Subtle ring markers showing each planet's orbit - **Starfield** - 8000 stars with varying colors and brightness - **OrbitControls** - Custom implementation with: - Left-click drag to rotate camera - Scroll wheel to zoom in/out - Right-click drag to pan - **Responsive** - Handles window resize The file is saved at `/tmp/ws/index.html` and is fully self-contained with no external dependencies beyond the local `three.min.js`.

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

modelminimax-m2
vendorMiniMax
harnesspi-agent
generated2026-08-01

EVALUATION

4/5 working

3D solar system with sun, orbiting planets of varied sizes/colors, starfield, and functioning orbit-drag camera controls.

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 motion0.4%
on click0.7%
on drag0.7%
on wheel0.7%
on enter + space0.5%
on arrow keys0.5%
on w/a/s/d0.5%
frame spread13 / 255
console errors0
js errors none

METRICS

runtime40.5s
tokens in20k
tokens out4.1k
cached0
cost / run$0.0093