Skip to content

No.123 · Backgrounds· New

Light Pour

A single shaft of light pours down the frame like a stream of liquid, a hairline at the top that flares into a bright pool on the floor, with drifting smoke, falling glints and film grain. A background only, with no text.

The prompt

Copy this text

Automatic copying is unavailable. Copy the selected text using your device’s copy command.

Written for the variant you picked above: Blue

Build a full-bleed dark background with no text: one vertical shaft of light pouring from the top edge to the floor like liquid, flaring out where it lands. Draw it in one WebGL1 full-screen triangle (no libraries) and leave an optional slot for content on top. Measure in frame heights, y down, with f = 1 − y the height above the floor. The stream falls at x 57.4% of the width. Its core half-width is a hyperbola, w = 0.0045 / (f + 0.015): a hairline at the top, about 0.015 at a third of the way up, flaring to a wide pool at the floor. The core is a Gaussian of width 0.9w in the core colour (×2.2) with a softer 2.2w glow, and its brightness flows: noise sampled across the stream and scrolling downward (y × 7 − 1.6t) plus a slow flicker. Around it: a halo colour body exp(−d / (4w + 0.035)) that strengthens with depth and a wider, fainter one. The lower 60% fills a bell, smoothstep(2.9w, 1.1w, d), cooling from near-white to the halo colour (accent colour toward the right), edged by three thin streamlines at 2.75w, 3.55w and 4.85w that follow the flare (halo-tinted on the left, accent-tinted on the right). Accent light runs into the right of the pool. The pool spreads along the floor (exp(−f / 0.022) × exp(−d / 0.32), rippling outward) with a white sheet right at the edge. Atmosphere: domain-warped five-octave fbm smoke in cold grey, drifting slowly, fading to black at the far right; a soft halo-coloured cloud just right of the stream near the top; wide masses of halo colour at the lower right and in the lower-left corner. Glints fall down the stream on a jittered 2.5px grid, thicker near it and twinkling. A 3px dot grid shows faintly only where light falls, and film grain (±1.75%) sits over everything. Tone-map with 1 − exp(−1.25x). Motion: about 30fps, paused offscreen and in hidden tabs; reduced motion draws one still frame. A fine pointer sways the stream up to 1.5% of the width toward it, eased. Without WebGL layered CSS gradients from the same palette stand in. Props: palette [dark, halo, accent, core], x, flare, speed, motion, children. Selected variant — Blue (blue): Palette [#05060c dark, #3f63ff halo, #9a62ff accent, #f3f6ff core]: a white stream in cold blue light with violet at the right of the pool. This selection takes precedence over references to other themes or options in the general brief. Implement this selected appearance; do not add a variant picker or alternative appearances unless requested. Implementation requirements: Use React and TypeScript. Keep the component self-contained, with uniquely scoped CSS and no animation libraries. Include required imports, styles and font setup in the result. Interaction: A fine pointer sways the stream a little toward it; there is nothing to click. Content placed inside works as normal. Motion: Core flow scrolls down at 1.6 per second with a 2.3 rad/s flicker; glints fall at 0.11 heights per second; the pool ripples at 2.2 rad/s; smoke drifts at 0.012; pointer sway eased at 0.04; about 30fps. Accessibility: Decorative and aria-hidden. Reduced motion renders one still frame. Keep text to the left half, away from the bright stream and pool. Responsive behavior: Fills its container. Sizes follow the height, so the stream keeps its shape at any width; DPR capped at 2. Touch: No pointer sway on touch; the light keeps pouring on its own. Preserve keyboard access, visible focus and reduced-motion behavior. Keep fictional demo data and simulated service calls in a separate usage example; expose callbacks for real actions and recover from rejected requests. Keep usage-example links inside the demo: use local buttons or prevent navigation. Demonstration links must not navigate to Vitrine routes or open other pages; preserve real URL support in the reusable component itself. Verify the result at narrow and wide viewport sizes, with keyboard input and reduced motion enabled.

Notes

Interaction
A fine pointer sways the stream a little toward it; there is nothing to click. Content placed inside works as normal.
Motion
Core flow scrolls down at 1.6 per second with a 2.3 rad/s flicker; glints fall at 0.11 heights per second; the pool ripples at 2.2 rad/s; smoke drifts at 0.012; pointer sway eased at 0.04; about 30fps.
Accessibility
Decorative and aria-hidden. Reduced motion renders one still frame. Keep text to the left half, away from the bright stream and pool.
Responsive
Fills its container. Sizes follow the height, so the stream keeps its shape at any width; DPR capped at 2.
On touch
No pointer sway on touch; the light keeps pouring on its own.

Featured

425 components