Flow-field particles
Build a full-screen flow-field particle animation using the provided p5.js library in global or instance mode.
Show full promptHide full prompt
Build a full-screen flow-field particle animation using the provided p5.js library in global or instance mode. Use HTML, CSS, and JavaScript as needed. Write it to `index.html` in the current working directory using your file tools. Inline your own CSS and JavaScript. Do not use external assets, CDNs, or network requests. Use the provided `p5.min.js` (global `p5`) through a plain local script tag; the runner will inline it into the final artifact. Required behavior: - Animate at least 2,000 particles, with motion guided by a smoothly varying Perlin-noise vector field. Nearby particles should follow locally coherent directions. - Leave fading trails and vary particle colors over time. Evolve the field gradually so the pattern changes instead of repeating a short recorded sequence. - Recycle particles at the canvas boundaries and keep the population bounded. Avoid allocating an ever-growing trail history. - Provide Pause/Resume and Restart. Restart clears trails and initializes a new particle arrangement. - Fit the viewport and keep controls responsive at 1200 by 800. Choose the palette, field scale, and particle speed freely. Verify: Sample the animation at several moments to inspect coherent nearby particle motion, fading trails, and changing colors. Pause and resume, then use Restart and check that the trails clear and a new arrangement appears.
Latest of 2 prompt revisions (run 2026-10-29) · each run page shows its exact prompt
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
Timed out ▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
Stopped by an API error ▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
Stopped by an API error ▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
Stopped by an API error ▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live
▶ preview · view live Upstream error from Groq: Failed to call a function. Please adjust your prompt. See 'failed_generation' for more details.
See transcript →Agent exceeded 15 minutes
See transcript →agent produced no index.html
See transcript →agent produced no index.html
See transcript →agent produced no index.html
See transcript →agent produced no index.html
See transcript →agent produced no index.html
See transcript →agent produced no index.html
See transcript →