oneshotlm
Compare all models on this prompt →

Rotating icosahedron · step-3.7-flash

Using the pre-provided three.min.js (global THREE), render a full-screen scene with a rotating icosahedron lit by two colored point lights, orbit-style auto-rotation, and a subtle starfield background.

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

Using the pre-provided three.min.js (global THREE), render a full-screen scene with a rotating icosahedron lit by two colored point lights, orbit-style auto-rotation, and a subtle starfield background.

assistant
thinking
The user wants a single-page web app in index.html that uses three.min.js (global THREE), renders a full-screen scene with:
1. A rotating icosahedron
2. Two colored point lights
3. Orbit-style auto-rotation
4. A subtle starfield background

Everything must be self-contained in one file: CSS in <style>, JS in <script>, inline, no external resources, CDNs, or network requests. Load three.min.js with a plain <script src="three.min.js"></script>.

Let me create a comprehensive index.html with these features. I'll use Three.js to create:
- A scene with a dark background
- A starfield made with points/particles
- An icosahedron geometry with some nice material (maybe MeshStandardMaterial or MeshPhongMaterial)
- Two colored point lights (e.g., blue and orange/red)
- Auto-rotation like orbit controls but automatic - I'll implement smooth orbiting around the object
- Responsive full-screen canvas

Since we can't use external OrbitControls, I'll implement orbit-style auto-rotation manually by rotating the camera or the object around the center.

Let me build this carefully.

Starfield: BufferGeometry with random positions, Points material, subtle.
Icosahedron: IcosahedronGeometry with detail level 1 or so, nice material with roughness/metalness.
Lights: PointLight in blue and warm colors, maybe with small sphere meshes to show light positions.
Animation: requestAnimationFrame, rotate the whole icosahedron, and orbit the camera around.

Let me write the complete file.
write /workspace/index.html (9528 bytes)
toolResult

Successfully wrote 9528 bytes to /workspace/index.html

assistant
thinking
The file has been written. Let me verify it exists and check a few things quickly to make sure it looks good.
bash {"command":"ls -lh /workspace/index.html && head -n 20 /workspace/index.html && echo '---' && tail -n 20 /workspace/index.html"}
toolResult

-rw-r--r-- 1 node node 9.4K Jul 22 16:55 /workspace/index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Icosahedron — Two-Color Orbit</title> <style> :root { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; overflow: hidden; background: radial-gradient(ellipse at center, #080b14 0%, #000000 80%); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } canvas { display: block; --- window.addEventListener("keydown", (e) => { switch (e.key.toLowerCase()) { case "w": wireMesh.visible = !wireMesh.visible; break; case "s": icoMat.wireframe = !icoMat.wireframe; break; case "r": orbitSpeed = orbitSpeed === 0 ? 0.18 : 0; break; default: break; } }); })(); </script> </body> </html>

assistant
thinking
The file is present and complete. Let me summarize what was built.

Done — `/workspace/index.html` is ready. **What's inside** - **Zero external dependencies** — only `three.min.js` is loaded from disk. - **Full-screen renderer** with ACES filmic tone mapping and shadow maps. - **Subtle starfield** — 1,400 additive-blended points on a spherical shell, drifting slowly. - **Icosahedron (radius 1.6, detail 4)** with a `MeshStandardMaterial` (metallic, slight roughness) and a faint wireframe overlay that independently counter-rotates for a shimmery facet effect. - **Two colored point lights** - **Light A** — cool blue (`#4f8fff`), upper-right-front. - **Light B** — warm coral (`#ff7a5c`), lower-left-rear. - Both orbit in soft figure-eight paths; tiny emissive spheres mark their positions. - **Orbit-style auto-rotation** — the camera azimuthally sweeps around the center with a gentle sine-wave vertical oscillation, while the icosahedron also spins on its own axes. - **Resize-aware** — camera aspect and renderer size update on window resize. - **Keyboard toggles** (bonus): `W` toggles wireframe, `S` switches to solid wireframe view, `R` pauses/resumes orbit.

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

modelstep-3.7-flash
vendorStepFun
harnesspi-agent
generated2026-07-22

EVALUATION

2/5 partial

Rotating icosahedron overexposed to look like a plain white sphere; starfield visible but lighting/geometry details washed out.

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 motion16.2%
on click15.3%
on drag11.8%
on wheel14.9%
on enter + space13.8%
on arrow keys14.8%
frame spread97.3 / 255
console errors0
js errors none

METRICS

runtime31.7s
tokens in6.6k
tokens out3.3k
cached4.5k
cost / run$0.0053