Measured entry
ruixen-mouse-spark
A client-side React canvas that emits colored particles under the pointer. It ships as a single shadcn registry UI file, uses React hooks and browser canvas APIs, and declares no external component dependencies. Its props control the canvas dimensions and light or dark color palette.



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 | 20.6 KB (86.1 KB build, 65.5 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
Use it as a decorative flourish only if you are prepared to own a few interaction details. It builds and mounts cleanly without a shadcn shell, but its blank idle state is expected, touch users get no effect, and pointer placement assumes the canvas begins at the viewport origin.
Use it if
- You want a pointer-following particle trail as a decorative layer in a desktop-focused hero or demo.
- You can give the canvas explicit dimensions and place it at the viewport origin or adjust its coordinate math.
- You prefer a self-contained canvas effect with no animation library or provider.
Skip it if
- The effect must respond to touch, keyboard input, or reduced-motion preferences without modification.
- The canvas will sit inside an offset container and you cannot correct the viewport-relative pointer coordinates.
- You need meaningful content before pointer movement, since the canvas starts blank.
Install
| Declared dependencies | none declared |
|---|---|
| Missing on install | none |
| Bare install | builds and mounts without the shadcn-style helpers |
| Provider | no provider required in the harness |
Copy the component into your React app, preserve the client-only boundary where required, and provide a sized, overflow-controlled wrapper. No UI utility package, animation library, or provider is 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/ruixenui/ruixen.comAlternatives
Other published entries for the background-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- ruixen-loading-circlegradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 17.7KB
- Bare
- pass
- Prov
- NO
- eldora-hacker-backgrounddark-futuristic
- Renders
- YES
- A11y
- 0
- Gzip
- 17.8KB
- Bare
- pass
- Prov
- NO
- ruixen-ripple-circlesgradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- ruixen-dual-tone-rain-backgroundunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 18.4KB
- Bare
- pass
- Prov
- NO
- cultui-lightboardliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 19.6KB
- Bare
- pass
- Prov
- NO
- cultui-edge-blurglassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 20.8KB
- Bare
- pass
- Prov
- NO