Measured entry
uilayouts-3d-marquee
hero-effect3dmotion on file
A client-side React showcase that tilts a vertically looping image marquee to create a faux depth effect. It ships through a shadcn registry as a display component plus a reusable marquee helper, with hardcoded remote images. It depends on Tailwind utility and animation styles, an alias-based import path, and a local class-merging utility.



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 | flagged at 375 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 2 |
| Axe minor | 0 |
| Gzip marginal | 26.5 KB (91.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 30.85s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/marquee.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A convincing decorative effect for an existing design-system project, but it is more demo than reusable component because its images and layout are fixed. It builds and mounts in the prepared harness, while a bare project fails on the missing utility import. It needs a shadcn-style setup and responsive cleanup before production use.
Use it if
- You need a decorative portfolio or campaign visual with continuous vertical motion.
- Your app already follows shadcn-style file aliases and Tailwind conventions.
- You are comfortable replacing the hardcoded image list directly in the component.
Skip it if
- You need a drop-in component for a plain React project.
- Your content must be supplied through props or managed by a CMS without modifying source.
- Horizontal overflow on narrow screens is unacceptable without additional responsive work.
- You need motion controls or reduced-motion behavior out of the box.
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 the alias used by the imports, provide a compatible class-merging utility, copy both the display and marquee files, and supply the Tailwind utilities and marquee keyframes referenced by their classes. Configure remote image loading as needed, replace the sample URLs, and add narrow-screen overflow and reduced-motion handling.
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/ui-layouts/uilayoutsAlternatives
Other published entries for the hero-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- ruixen-hero-title-animationunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 18.7KB
- Bare
- pass
- Prov
- NO
- tripled-glassmorphism-hero-block-shadcnuiglassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 30.4KB
- Bare
- fail
- Prov
- NO
- cultui-three-d-carousel3d
- Renders
- YES
- A11y
- 0
- Gzip
- 61.2KB
- Bare
- fail
- Prov
- NO
- ruixen-card-carousel-herounclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 63.3KB
- Bare
- fail
- Prov
- NO
- fancy-circling-elements3d
- Renders
- YES
- A11y
- 0
- Gzip
- 66.5KB
- Bare
- fail
- Prov
- NO
- motion-primitives-spotlightgradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 67.8KB
- Bare
- fail
- Prov
- NO