oneshotlm
Compare all models on this prompt →

Boids flocking · gemini-3.5-flash-lite

Create a full-screen flocking simulation of boids using separation, alignment, and cohesion, drawn as oriented triangles that steer smoothly and flee from the mouse cursor.

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

Create a full-screen flocking simulation of boids using separation, alignment, and cohesion, drawn as oriented triangles that steer smoothly and flee from the mouse cursor.

assistant
bash {"command":"ls -la"}
toolResult

total 0 drwxr-sr-x. 2 node node 6 Aug 1 17:32 . drwxrwsrwx. 3 root node 16 Aug 1 17:32 ..

assistant
thinking
**Initiating Design Specifications**

I'm starting by establishing the initial setup: an `index.html` file is being created. I'm focusing on the application's basic design. Right now, I envision a full-screen canvas (`width: 100vw; height: 100vh; overflow: hidden; background: #0b0f19;`) as the main visual element and have just begun thinking about integrating a physics/boids simulation engine within it.


**Developing Core Behavior**

I'm now diving into the JavaScript core. I'm building out vector math functions for 2D vectors. I'm then defining a boid class with properties like position, velocity, and acceleration. The update logic includes steering behaviors for separation, alignment, cohesion, and mouse avoidance. Finally, I'm working on triangle rendering, to draw the boids rotated in the direction of their velocity.


**Defining Interactive Controls**

I'm now focusing on interactive controls. I'm planning a collapsible panel or glassmorphism overlay for the UI. I have sliders planned for all the steering behaviors, including weights for separation, alignment, and cohesion. I'm going to include controls for max speed, max force, and neighborhood radius too, including a boid count adjustment. I also plan to have presets, a pause/resume button, and a trail toggle. I want to display FPS and boid count as stats. I'm envisioning a modern dark theme with neon accents and clean UI styling.


write index.html (23014 bytes)
toolResult

Successfully wrote 23014 bytes to index.html

assistant
bash {"command":"ls -lh index.html"}
toolResult

-rw-r--r--. 1 node node 23K Aug 1 17:32 index.html

assistant

I have created a full-screen flocking simulation of boids in `index.html`. ### Features Included: - **Flocking Dynamics**: Implements Craig Reynolds' classic boids rules—**Separation**, **Alignment**, and **Cohesion**—with fully adjustable weights. - **Smooth Steering**: Custom 2D vector math engine with velocity and acceleration limits for smooth, natural movement. - **Oriented Triangles**: Each boid is rendered as a sharp, dynamic triangle rotated toward its exact heading with velocity-based color variation. - **Mouse Interaction**: Boids smoothly flee from the mouse cursor within a perception radius (visualized with a dashed aura when active). Clicking anywhere on the screen also emits a scatter pulse. - **Interactive UI Panel**: Glassmorphic control overlay to adjust boid count, separation, alignment, cohesion, perception radius, max speed, and mouse flee force in real-time, plus Pause/Resume, Motion Trails, and Reset buttons. - **Self-Contained**: Written entirely inside a single `index.html` file with zero external dependencies or network requests.

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

modelgemini-3.5-flash-lite
vendorGoogle
harnesspi-agent
generated2026-08-01

EVALUATION

4/5 working

Boids animate as oriented triangles with mouse-driven repel/attract circles visible, controls panel present and functional.

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 motion8.6%
on click8.4%
on drag7.7%
on wheel7.7%
on enter + space7.3%
on arrow keys7.3%
on w/a/s/d7.4%
frame spread13 / 255
console errors0
js errors none

METRICS

runtime21.4s
tokens in21k
tokens out7.7k
cached0
cost / run$0.0255