vivid
@caustics/aurora · v1.0.0
svelte · react · vanilla
60fps · 8KB gzipped
$39 →
component · 009
Aurora
The northern lights aesthetic, rendered in real-time WebGL.
Preset
Speed0.6
Intensity0.5
Checkout coming soon The Everything Bundle →
Quick Start

That's it. Your site now has aurora.

npm install @caustics/aurora

<script>
  import { Aurora } from '@caustics/aurora';
</script>

<Aurora preset="natural" />
Configuration API

Sensible defaults. Documented types.

Prop Type Default Description
preset string "natural" Named preset. Overrides individual props when set.
colors string[] undefined Override palette. Accepts hex, hsl, or CSS custom properties.
reducedMotion 'pause' | 'static' 'pause' Behavior when prefers-reduced-motion is active.
class string undefined Additional CSS classes applied to the root element.
What's Included

A zip. Everything else lives at caustics.dev.

caustics-aurora/
├── svelte/     Aurora.svelte · index.ts · types.ts
├── react/      Aurora.tsx · index.ts · types.ts
├── vanilla/    aurora.ts · compiled .js
├── docs/       README.md · API.md · CHANGELOG.md
├── LICENSE.md  Caustics Commercial License
└── package.json

Aurora renders northern-lights backgrounds using a WebGL fragment shader. Layered vertical curtains of light wave and shimmer horizontally over a dark sky — the motion comes from multi-octave value noise layered with sine fields, so it reads as the organic, undulating color flow of the aurora borealis rather than a repeating loop. Curtains composite additively, blooming overlaps into a soft, lit-from-within glow.

Everything is configurable: palette, sky background, curtain count, vertical falloff, wave amplitude and frequency, speed, and glow intensity. Four presets ship in — natural, vivid, minimal, and storm — each a complete, distinct look.

A single fullscreen quad with no geometry complexity; one draw call per frame. Performance is excellent even on integrated GPUs. The engine carries the full Caustics lifecycle — it pauses off-screen and when the tab is hidden, honors reduced-motion, survives WebGL context loss, and releases its GPU context on teardown. Ships as plain ESM for Svelte, React, and vanilla JS.

Ready to ship?

Checkout coming soon The Everything Bundle

Caustics Commercial License · lifetime updates within v1