Two fine line gratings laid over each other, one turning under the pointer. The lines are too fine to read; what the eye sees is the interference, broad bands that bloom, bend and drift.
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.