Measured entry
fancy-image-trail
cursor-effectspatialmotion on file
A client-side React cursor trail that cycles positioned child visuals as the pointer moves. It ships as shadcn registry source rather than a packaged widget, uses Motion for animation, Tailwind utility classes for layout, and a local cn helper imported through the project alias.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 49.1 KB (114.5 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 31.43s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/fancy/image/image-trail.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A flexible fit for image-led desktop experiences, provided the trail is progressive decoration rather than essential content. It builds and mounts in the prepared harness, but needs a shadcn-style setup and deliberate ImageTrailItem composition before it behaves as intended.
Use it if
- You want a pointer-driven image reveal for a portfolio, campaign page, or editorial gallery.
- Your React interface already uses Tailwind, Motion, and shadcn-style source conventions.
- You need control over trail spacing, momentum, animation keyframes, repetition, and stacking order.
Skip it if
- The interaction must work equally well from touch or keyboard input, since activation is tied to mouse movement.
- You need a drop-in package with no project alias, utility helper, or Tailwind setup.
- You cannot justify adding Motion for a decorative cursor effect.
- You plan to pass ordinary content without composing ImageTrailItem children, since those children will only be repeated rather than turned into trail elements.
Install
| Declared dependencies | motion |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
Install Motion, provide a cn utility at the expected project alias, configure that alias, and ensure Tailwind processes the component classes. Use it in a client-capable React environment and wrap each trail visual with ImageTrailItem; plain children alone do not create trail nodes.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/danielpetho/fancyAlternatives
Other published entries for the cursor-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tripled-liquid-cursor-shadcnuiliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 21.1KB
- Bare
- pass
- Prov
- NO
- kibo-cursorminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 29.9KB
- Bare
- pass
- Prov
- NO
- tripled-spotlight-section-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 61.8KB
- Bare
- pass
- Prov
- NO
- tripled-native-typewriterminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 69.9KB
- Bare
- pass
- Prov
- NO
- tripled-native-typewriter-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 69.9KB
- Bare
- pass
- Prov
- NO
- tripled-native-magneticminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 70.5KB
- Bare
- pass
- Prov
- NO