Measured entry
magicui-retro-grid
background-effectskeuomorphismmotion on file
A client-side React backdrop that renders a scrolling perspective grid with WebGL, then falls back to layered CSS when the graphics context is unavailable. It ships as a TypeScript shadcn registry item and relies on React browser APIs, Tailwind utility classes, and the usual cn helper 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 | 30.3 KB (95.7 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 4.12s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/retro-grid.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A polished, defensive background effect with a CSS fallback and considerate motion handling. It builds and mounts in the prepared harness, but the bare project fails on the cn alias, so it needs a shadcn-style setup or a small portability edit.
Use it if
- You need a decorative retro horizon behind a hero or landing-page headline.
- Your React app already supports client components, Tailwind utilities, and a shadcn-style cn helper.
- You want motion that pauses offscreen and respects reduced-motion preferences.
- You need configurable grid angle, cell spacing, opacity, and theme-aware line colors.
Skip it if
- You need meaningful content or interaction rather than a pointer-free decorative layer.
- Your rendering target does not provide browser canvas APIs or client-side effects.
- You want to avoid a continuously animated WebGL canvas in a visually restrained interface.
- Your project cannot accommodate Tailwind utility classes or the cn import convention.
Install
| Declared dependencies | none declared |
|---|---|
| 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 a cn class-merging helper, configure the matching import alias, and provide Tailwind utilities including dark-mode variants and gradient classes. The host must use React on the client and give the absolutely positioned grid a sized, positioned parent.
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/magicuidesign/magicuiAlternatives
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
- ruixen-mouse-sparkunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 20.6KB
- Bare
- pass
- Prov
- NO