oneshotlm
Compare all models on this prompt →

Flow-field particles · qwen3.8-27b

Using the pre-provided p5.min.js (global p5, instance or global mode), create a full-screen flow-field particle animation: thousands of particles advected by Perlin-noise vectors, leaving fading trails, with colors shifting over time.

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

Using the pre-provided p5.min.js (global p5, instance or global mode), create a full-screen flow-field particle animation: thousands of particles advected by Perlin-noise vectors, leaving fading trails, with colors shifting over time.

assistant
thinking
Simple task. Check whether p5.min.js exists, and create index.html.
bash {"command":"ls /tmp/ws"}
toolResult

p5.min.js

assistant
thinking
Create index.html. Global mode, full-screen canvas, around 3000 particles, noise-based flow field, fade trails via a low-alpha background rectangle, and HSB colors that shift over time.
write /tmp/ws/index.html (4109 bytes)
toolResult

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

assistant
thinking
(Internal thought: Just confirm the file exists. Maybe I should do a simple syntax check with node? I can't easily execute p5 headless, but I can do a syntax check on the inline script. It's a simple enough task.)
bash {"command":"cd /tmp/ws && ls -la index.html && node -e \"\nconst fs=require('fs');\nconst html=fs.readFileSync('index.html','utf8');\nconst
toolResult

-rw-r--r--. 1 node node 4109 Aug 15 13:50 index.html inline script syntax OK

assistant
thinking
Wait — `new Function(m[1])` matched the first `<script>` without src? My regex `<script>` matches exactly `<script>` (without attributes), so it should skip `<script src="p5.min.js">`. OK. Syntax is OK. Done.

Done. `/tmp/ws/index.html` is a single self-contained file that loads the local `p5.min.js` and runs a full-screen flow-field sketch in p5 global mode: - **3000 particles** advected by a 3D Perlin-noise vector field (x, y, and a slowly advancing time dimension, so the field itself morphs) - **Fading trails** via a low-alpha dark wash each frame (`TRAIL_ALPHA = 14`); particles draw `line()` segments from previous to new position - **Time-shifting color** in HSB mode: a global hue that continuously drifts through the rainbow, plus per-particle hue jitter and a slight spatial gradient - Particles have smoothed velocity (lerp toward field direction), per-particle speed/linewidth, finite lifespans, and wrap/respawn at edges - Full-screen canvas that handles `windowResized`, plus small extras: **click** to fling nearby particles outward, **space** to reset trails, and a small HUD hint - No external resources or network requests; inline script passes a syntax check

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

modelqwen3.8-27b
vendorQwen
harnesspi-agent
generated2026-08-15

EVALUATION

1/5 broken

Entirely black screen with only faint text label, no particles or animation visible due to JS error.

off-prompt

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.0%
on click0.0%
on drag0.0%
on wheel0.0%
on enter + space0.0%
on arrow keys0.0%
on w/a/s/d0.0%
frame spread1.5 / 255
console errors0
js errors
  • c.canvas.style is not a function

METRICS

runtime209.1s
tokens in10k
tokens out2.1k
cached0
cost / run$0.0113