∞ forever components

Cursor & Pointer

Magnetic Dot

Glowing pink dot springs to the pointer; a laggy outer ring squashes along its travel, joined by a fading tendril. Self-demos via Lissajous path until first deliberate input.

canvasheavy complexitymoderate motionpointer

Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited

Live demo — the real component, running in a sandbox. One self-contained HTML file, zero dependencies. Open it on the canvas →
1

When to use it

Custom cursor replacements, interactive portfolio heroes, or any dark-background canvas needing a tactile pointer feel.

When not to

Light backgrounds (hardcoded dark body), or UIs where hiding the native cursor would confuse users.

Working with an AI agent

Every component ships agent-ready metadata. An example instruction for this one:

Adjust the existing palette tokens and effect parameters while preserving manual control. Arrow keys steer; first click/touch stops the attract path permanently for this mount. Keep demo-v1 lifecycle marker, __foreverPreview.demoEnabled initialization and forever:interactive handler. Preserve reduced motion, visibility suspension and theme switching.

Safe to edit

  • accent color (ACC = '#ff5ca8')
  • dot spring stiffness (0.22)
  • ring spring lag (0.10)
  • ring base radius (W*0.085+10)
  • self-demo Lissajous path amplitudes (ax, ay)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • DPR-aware canvas sizing
  • visibilitychange pause/resume
  • prefers-reduced-motion static fallback
  • IIFE wrapper
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
  • sticky demo-v1 preview lifecycle; stop attract work, retain manual feedback and settling
  • pointer/touch takeover, keyboard access and visibility suspension
  • demo-v1 preview lifecycle: initialize demoEnabled from window.__foreverPreview and stop attract work on the window forever:interactive event; retain manual feedback, settling, cleanup and explicit sessions

Known limitations

  • Light re-theme via the [data-theme=light] token block; catalog bg/accent describe the dark default
  • cursor:none hides native cursor globally on the canvas element
  • Control state is local to each mount; format changes preserve preview takeover but create a fresh source instance.
  • State remains local to each mounted instance; format/theme remount preserves takeover, not component values.

cursorspringfollowerglowsquash-stretchcanvaslissajous

More Cursor & Pointer components

  • 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 until…
  • 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 until first…
  • Elastic RingGlowing pink ring trails the pointer with damped-spring physics, stretching along velocity and squashing across it. Auto-demos on a Lissajous path until…
  • Trail CometHot-pink comet spring-follows the cursor, dragging a tapering additive trail that lengthens with speed and flings spark particles. Lissajous demo stops at…
  • Ripple FieldGrid of dots ripples outward in expanding pink rings as the pointer moves; dots displace radially along each wavefront. Lissajous auto-demo until first…