oneshotlm
Compare all models on this prompt →

Rubik's Cube · llama-4-scout

Using the pre-provided three.min.js (global THREE), render an interactive 3D Rubik's Cube with clickable face rotations, orbit-drag camera, and a scramble button.

⚠ 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 · 2 messages
user

Using the pre-provided three.min.js (global THREE), render an interactive 3D Rubik's Cube with clickable face rotations, orbit-drag camera, and a scramble button.

assistant

[write(index.html, "<!DOCTYPE html><html><head><title>Rubik's Cube</title><style>body { margin: 0; }</style></head><body><script src='three.min.js'></script><script>const ROTATION_SPEED = 0.1;let camera, scene, renderer, cube;let isDragging = false;let previousMousePosition = { x: 0, y: 0 };const colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff];const faceColors = [colors[0], colors[1], colors[2], colors[3], colors[4], colors[5]];function init() { camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); camera.position.z = 5; scene = new THREE.Scene(); renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); const geometry = new THREE.BoxGeometry(2, 2, 2); const materials = faceColors.map((color) => new THREE.MeshBasicMaterial({ color: color })); cube = new THREE.Mesh(geometry, materials); scene.add(cube); window.addEventListener('mousedown', onMouseDown); window.addEventListener('mousemove', onMouseMove); window.addEventListener('mouseup', onMouseUp); const scrambleButton = document.createElement('button'); scrambleButton.textContent = 'Scramble'; scrambleButton.onclick = scrambleCube; document.body.appendChild(scrambleButton); animate();}function animate() { requestAnimationFrame(animate); renderer.render(scene, camera);}function onMouseDown(event) { isDragging = true; previousMousePosition = { x: event.clientX, y: event.clientY };;}function onMouseMove(event) { if (isDragging) { const deltaMousePosition = { x: event.clientX - previousMousePosition.x, y: event.clientY - previousMousePosition.y }; camera.rotation.x += deltaMousePosition.y * ROTATION_SPEED; camera.rotation.y += deltaMousePosition.x * ROTATION_SPEED; previousMousePosition = { x: event.clientX, y: event.clientY }; }}function onMouseUp() { isDragging = false;}function scrambleCube() { // Simple scramble: rotate each face by a random amount for (let i = 0; i < 6; i++) { const axis = new THREE.Euler(Math.random() * Math.PI * 2, Math.random() * Math.PI * 2, Math.random() * Math.PI * 2, 'YXZ'); cube.rotation.copy(axis); }}}init();</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

modelllama-4-scout
vendorMeta · Llama
harnesspi-agent
generated2026-08-01

METRICS

runtime6.9s
tokens in1.5k
tokens out565
cached0
cost / run$0.0003