Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/developer-exe/llms.txt
Use this file to discover all available pages before exploring further.
SynthwaveGrid is the full-screen animated background used as the hero layer in developer.exe. It renders a fixed z-0 viewport fill composed of four distinct visual layers stacked from back to front: a dark gradient sky, a field of 20 animated floating particles driven by Framer Motion, a neon-magenta horizon line, and a perspective-transformed grid floor that scrolls infinitely toward the viewer. The component accepts no props and should be placed once at the application root as a sibling behind your foreground content.
Props
SynthwaveGrid accepts no props. All visual parameters — sky gradient stops, particle count, horizon glow, perspective depth, grid line colours, and animation speed — are defined in the component’s internal constants and the global stylesheet.
Usage
PlaceSynthwaveGrid as the first element inside a positioned wrapper so it occupies the full viewport behind all sibling content. Because it uses position: fixed with z-index: 0, it automatically sits beneath page content without requiring any z-index management on its parent:
Layer breakdown
SynthwaveGrid renders a single fixed inset-0 z-0 root element containing four layers in source order (back to front):
1. Sky gradient
An absolutely positioned bg-gradient-to-b div spans the top half of the viewport, transitioning from arcade-navy at the top through arcade-black to arcade-black — producing the deep indigo-to-black sky of a synthwave skyline.
2. Floating particles
Twenty Framer Motion motion.div elements are scattered across the top half of the viewport. Each particle:
- Starts at a random
xposition across the viewport width and a randomywithin the top half. - Animates its
yposition upward by a random value between0and-100px. - Loops its opacity between
0.2 → 0.8 → 0.2over a randomised duration of 5–10 seconds withrepeat: Infinityandease: "linear".
neon-cyan square at 50% base opacity, giving the sky a subtle starfield shimmer.
3. Horizon line
A 1 px-tall neon-magenta stripe is fixed at top: 50%, spanning the full viewport width. A box-shadow of 0 0 20px #ff2bd6 creates a hot-pink glow along the horizon, visually separating the sky from the grid floor.
4. Synthwave grid floor
The bottom half of the viewport contains a .synthwave-container div that sets perspective: 1000px and overflow: hidden to clip the scrolling grid at the edges. Inside it, the .synthwave-grid child is absolutely positioned with bottom: -50%; left: -50%; width: 200%; height: 200% — the oversized footprint ensures grid lines fill the full viewport width even after the perspective rotation pulls the edges inward.
- Perspective tilt:
transform: rotateX(75deg)combined withtransform-origin: top centerrotates the grid plane almost flat, producing a receding vanishing point. - Grid lines: two
linear-gradientlayers inbackground-imagedraw cyan vertical lines and magenta horizontal lines at regular intervals. - Scroll animation:
animation: grid-move 2s linear infinitetranslates the grid downward by one tile per cycle, creating seamless infinite forward motion.
bg-gradient-to-t from-transparent via-arcade-black/80 to-arcade-black) sits above the grid inside the container, fading it into the background toward the horizon.
CSS keyframe
Grid line colours
| Line direction | Colour |
|---|---|
| Vertical | rgba(34, 211, 238, 0.3) — neon-cyan |
| Horizontal | rgba(255, 43, 214, 0.3) — neon-magenta |
Positioning tip
SynthwaveGrid uses position: fixed internally and fills the entire viewport regardless of its parent’s dimensions. It does not need to be wrapped in a position: relative container. Use it as a sibling to your content rather than a parent, so the grid and foreground content share the same stacking context: