Move the cursor across the block and your images drop into its wake, then fade.
Spacing is measured in distance travelled, not in time, so the density of the trail follows the gesture rather than the pointer event rate — the effect feels the same on a trackpad and on a gaming mouse. Images appear fast and leave slowly; that imbalance is what reads as a trail instead of a flicker.
Adjustable: your images and their order, size and aspect ratio, spacing, lifetime, vertical drift, rotation, scale in and out, corner radius, blend mode.
The pool of elements is allocated once at mount — nothing is created while you move, so there is no stutter. Drop it in with no images at all and it runs on colour tiles, which lets you dial in the feel before your visuals are ready.
DOM and requestAnimationFrame, no dependencies. Honours prefers-reduced-motion, and shows a frozen diagonal trail inside the Framer canvas so you can see it without hovering.
Move the cursor across the block and your images drop into its wake, then fade.
Spacing is measured in distance travelled, not in time, so the density of the trail follows the gesture rather than the pointer event rate — the effect feels the same on a trackpad and on a gaming mouse. Images appear fast and leave slowly; that imbalance is what reads as a trail instead of a flicker.
Adjustable: your images and their order, size and aspect ratio, spacing, lifetime, vertical drift, rotation, scale in and out, corner radius, blend mode.
The pool of elements is allocated once at mount — nothing is created while you move, so there is no stutter. Drop it in with no images at all and it runs on colour tiles, which lets you dial in the feel before your visuals are ready.
DOM and requestAnimationFrame, no dependencies. Honours prefers-reduced-motion, and shows a frozen diagonal trail inside the Framer canvas so you can see it without hovering.