Measured entry
fancy-pixel-trail
cursor-effectdark-futuristicmotion on file
A client-side React cursor effect that fills an absolutely positioned container with motion-driven cells and fades each cell as the pointer crosses it. It ships as a shadcn registry component and depends on Motion, UUID, a registry-provided dimensions hook, and the usual cn utility import.



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 | 67.5 KB (132.9 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 29.86s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/fancy/background/pixel-trail.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A credible choice for a contained decorative backdrop: it builds, mounts, stays within the tested viewports, and exposes useful styling controls. It is mouse-focused and relatively costly for pure decoration. Bare mounting fails, so it needs a shadcn-style setup or equivalent project wiring.
Use it if
- You want a decorative pointer trail inside a bounded hero, card, or interactive backdrop.
- Your React app already supports client components, shadcn-style aliases, and Motion.
- You can place the effect inside a positioned container and control its cell styling with project classes.
Skip it if
- The experience must work equally well for touch, keyboard, or reduced-motion users without extra adaptation.
- The effect must sit behind clickable controls, since its full-size overlay accepts pointer events and may intercept interaction.
- Bundle restraint or limiting rendered DOM nodes matters more than a decorative cursor response.
- You need a drop-in package with no path aliases or project utility imports.
Install
| Declared dependencies | motion, uuid |
|---|---|
| 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 |
In a non-shadcn project, add Motion and UUID, copy or replace the dimensions hook, provide a cn class-merging helper, and rewrite the alias imports to match your project. Ensure the host is positioned, decide how the overlay should share pointer input, and add reduced-motion and non-pointer fallbacks if required.
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