Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/digital-alchemy/llms.txt
Use this file to discover all available pages before exploring further.
CursorWisp replaces the browser’s default pointer with a two-layer animated cursor that follows the mouse with physics-based spring lag. A small sharp dot tracks closely; a larger blurred orb trails behind. When the cursor moves over an <a> or <button> element, the dot scales up and the orb brightens. The component is rendered once at the application root level so it persists across all route changes.
The component takes no props.
Rendering
CursorWisp is imported in main.js at the top of the component tree (outside any page component). It returns a Fragment containing two absolutely positioned motion.div elements fixed to the viewport at z-[9999] and z-[9998] respectively.
The Two Layers
Layer 1 — Sharp dot (z-[9999])
2.5× its size and slightly reduces opacity — indicating a clickable target.
Layer 2 — Blurred orb (z-[9998])
1.5× scale.
Position Tracking
Mouse coordinates are tracked withwindow.addEventListener("mousemove"). Each layer has its own pair of spring-smoothed MotionValue instances via a custom useSpring-like hook (g in the minified source):
mousemove, all four values are updated simultaneously. Because they have different spring configs, they settle at different rates — creating the visual separation between dot and orb.
Both layers use translateX: "-50%", translateY: "-50%" style props to centre the element on the cursor hotspot.
Interactive Element Detection
Amouseover listener checks event.target on every DOM element the pointer enters:
setIsHovering(true/false) drives the scale/opacity variants on both layers. The closest() checks ensure that text or icons inside a button or link also trigger the expanded state.
mix-blend-screen
Both layers use mix-blend-screen. This blend mode means the cursor layers add their color to the underlying content rather than covering it — the turquoise dot and teal orb brighten whatever is beneath them, creating a luminous glow effect rather than an opaque cursor overlaid on the page.
CursorWisp only works on devices with a pointer (mouse or trackpad). On touch devices there is no mousemove event, so the wisp never appears. This is intentional — touch devices use the native tap interaction model.