crucıble

Firmament

A cold night sky: three parallax layers of stars in icy white, pale blue, and rare cool violet over a blue-violet nebula lit from below, crossed by occasional downward-falling shooting stars with gravity-bent trails. Mouse and scroll parallax, offscreen-paused, reduced-motion-safe.

oglpro

Installation

CLI

npx shadcn@latest add @crucible/firmament

Manual — install dependencies, then copy the source

npm install ogl

Props

PropTypeDefaultDescription
colors[string, string]a cold night palette: ice blue over blue-violetNebula tones: [horizonGlow, zenithSmoke]. The first lights the nebula from below; the second takes over as it climbs. Any hex strings.
densitynumber0.45Star population, 0–1. 1 fills the sky; 0.3 is sparse.
speednumber1Twinkle and smoke-drift speed multiplier. 1 = default.
heatnumber0.4Heat, 0–1. Scales star brightness, nebula glow, and drift energy together: 0 is a banked, dying sky; 1 blazes.
parallaxnumber0.6Mouse + scroll parallax strength, 0–1. Near star layers shift more than far ones as the pointer moves or the page scrolls. 0 locks the sky.
shootingStarsnumber3Average shooting stars per minute — each falls DOWNWARD with a gravity-bent trail. 0 disables.
pausedbooleanFreeze the animation, holding the current frame.
classNamestringExtra classes for the wrapper. Positioned absolute inset-0 -z-10.

Honors prefers-reduced-motion with a designed static fallback, pauses offscreen and on hidden tabs, and passes className through.