Raindrops on still water: each one sends out rings that damp with distance and interfere where they meet. The pointer is a drop that keeps falling in the same place.
Tune here, paste once — it ships as about a kilobyte of WebGL.
Pick a palette, drag the sliders, hit randomize. The prompt carries the values you see, not the defaults.
Single HTML by default. Switch to Next.js, React, Vue, Astro, WordPress, Shopify or Webflow and the output contract changes with it.
Claude, Cursor, ChatGPT, Copilot, v0 — anything that writes code. You get a self-contained canvas with the shader inline.
First child of a relative container, content above it. Add a scrim if text needs more contrast.
The uniforms stay named and the CONFIG object sits at the top of the script. Nothing is baked.