oneshotlm
Compare all models on this prompt →

3D solar system · mistral-nemo

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.

⚠ no runnable output

This one-shot run produced no runnable artifact.

agent produced no index.html

The transcript below shows what the model did — read it to see why the one shot fell short.

transcript · 5 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
bash {"command":"ls -la /workspace"}
toolResult

toolResult

total 644 drwxrwxrwx 3 node node 96 Jul 22 17:35 . drwxr-xr-x 1 root root 4096 Jul 22 17:35 .. -rw-r--r-- 1 node node 603445 Jul 22 17:35 three.min.js

assistant

The current directory contains the three.min.js file. Here's the plan to create the single-page web app with a 3D solar system using the provided library: 1. Create the HTML structure with a <style> tag for CSS and a <script> tag for JavaScript. 2. Add CSS to style the body and make it full-screen. 3. Include the three.min.js library using a <script> tag. 4. Set up the scene, camera, and renderer for the 3D environment. 5. Create a Group to hold the solar system elements. 6. Add the sun as a Mesh to the solar system group. 7. Create planets as Meshes and add them to the solar system group with varying sizes and speeds of orbit. 8. Implement orbit-drag controls for the camera to allow rotation of the solar system. 9. Add a starfield as a background for the 3D environment. 10. Animate the scene to update the positions of the planets in their orbits. 11. Render the scene and camera to display the 3D solar system. Let's start by creating the HTML structure and adding the CSS to style the body. I will then proceed with the JavaScript implementation using the three.min.js library. ```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> body { margin: 0; overflow: hidden; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #000; } </style> </head> <body> <script src="three.min.js"></script> <script> // Set up the scene, camera, and renderer const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); // Set up the camera position camera.position.z = 5; // Create a group to hold the solar system elements const solarSystem = new THREE.Group(); scene.add(solarSystem); // Add the sun as a mesh to the solar system group const sunGeometry = new THREE.SphereGeometry(1, 32, 32); const sunMaterial = new THREE.MeshBasicMaterial({ color: 0xffff00 }); const sun = new THREE.Mesh(sunGeometry, sunMaterial); sun.position.x = 0; sun.position.y = 0; sun.position.z = 0; solarSystem.add(sun); // Create planets as meshes and add them to the solar system group with varying sizes and speeds of orbit const planets = [ { name: 'Mercury', color: 0x0000ff, radius: 0.2, speed: 0.005 }, { name: 'Venus', color: 0xff0000, radius: 0.3, speed: 0.003 }, { name: 'Earth', color: 0x00ff00, radius: 0.4, speed: 0.002 }, { name: 'Mars', color: 0xff00ff, radius: 0.5, speed: 0.001 }, { name: 'Jupiter', color: 0xffff00, radius: 0.6, speed: 0.0005 }, { name: 'Saturn', color: 0xffa500, radius: 0.7, speed: 0.0003 }, { name: 'Uranus', color: 0x00ffff, radius: 0.8, speed: 0.0002 }, { name: 'Neptune', color: 0x0000ff, radius: 0.9, speed: 0.0001 }, ]; planets.forEach((planet) => { const planetGeometry = new THREE.SphereGeometry(planet.radius, 32, 32); const planetMaterial = new THREE.MeshBasicMaterial({ color: planet.color }); const planetMesh = new THREE.Mesh(planetGeometry, planetMaterial); planetMesh.position.x = planet.radius * 2; solarSystem.add(planetMesh); }); // Implement orbit-drag controls for the camera to allow rotation of the solar system const controls = new THREE.OrbitControls(camera, renderer.domElement); controls.enableDamping = true; controls.dampingFactor = 0.25; controls.enableZoom = false; controls.autoRotate = true; controls.autoRotateSpeed = 0.5; // Add a starfield as a background for the 3D environment const starGeometry = new THREE.BufferGeometry(); const starMaterial = new THREE.PointsMaterial({ color: 0xffffff }); const starField = new THREE.Points(starGeometry, starMaterial); scene.add(starField); // Animate the scene to update the positions of the planets in their orbits function animate() { requestAnimationFrame(animate); // Update the positions of the planets planets.forEach((planet, index) => { const planetMesh = solarSystem.children[index + 1]; planetMesh.position.x = Math.sin(Date.now() * planet.speed) * (planet.radius * 2); }); // Update the starfield const starCount = 10000; const starPositions = new Float32Array(starCount * 3); for (let i = 0; i < starCount * 3; i++) { starPositions[i] = (Math.random() - 0.5) * 1000; } starGeometry.setAttribute('position', new THREE.BufferAttribute(starPositions, 3)); // Update the camera and renderer controls.update(); renderer.render(scene, camera); } animate(); </script> </body> </html> ```

TAKE IT TO CODE

This run produced no artifact — reuse the prompt with a different model or your own pi-agent run.

RUN

modelmistral-nemo
vendorMistral AI
harnesspi-agent
generated2026-07-22

METRICS

runtime
tokens in411
tokens out1.4k
cached2.7k
cost / run$0.0001