Cursor & Pointer
Ripple Field
Grid of dots ripples outward in expanding pink rings as the pointer moves; dots displace radially along each wavefront. Lissajous auto-demo when idle.
canvasheavy complexityintense motionpointer
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
Worth keeping?
Votes steer what gets built next — sign in to cast one, free to read
When to use it
Dark-mode hero backgrounds, interactive landing sections, ambient pointer-reactive displays where motion follows the cursor.
When not to
Low-end devices — per-frame dot displacement loop scales with grid size. Light backgrounds require CSS overrides; avoid where subtle motion is needed.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change the accent color from pink to electric cyan by setting ACC=[0,234,255], and increase ring expansion speed by changing the ringSpeed multiplier from 0.62 to 0.85. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- accent color (ACC=[255,92,168])
- dot base radius (R=2.2)
- grid gap (gap=Math.max(14,...))
- ripple ring speed (ringSpeed multiplier 0.62)
- max simultaneous ripples (MAXR=8)
- auto-fire interval (interval=real?0.34:0.62)
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- DPR-aware canvas sizing and setTransform
- IIFE wrapper
- visibilitychange pause guard
- reduced-motion static fallback (fire + pre-step loop)
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- Per-frame dot displacement is O(dots * ripples) — heavy on large viewports with many ripples active
- Background color hardcoded in CSS (#0a0a0f) — must edit to change from dark navy
- No aria semantics — purely decorative canvas
More Cursor & Pointer components
- Magnetic DotGlowing pink dot springs to the pointer; a laggy outer ring squashes along its travel, joined by a fading tendril. Self-demos via Lissajous path when idle.
- Gooey Trail22 pink blobs chain-follow the pointer via spring physics and merge into liquid goo through an SVG feColorMatrix filter; auto-demos a Lissajous path when…
- Spotlight MaskRadial spotlight follows the pointer, punching through a dark veil to reveal a pink dot grid and glowing word. Auto-demos via Lissajous path when idle.
- Elastic RingGlowing pink ring trails the pointer with damped-spring physics, stretching along velocity and squashing across it. Auto-demos on a Lissajous path when idle.
- Trail CometHot-pink comet spring-follows the cursor, dragging a tapering additive trail that lengthens with speed and flings spark particles. Idle: Lissajous demo loop.