aurora
aurora
AURORA — one tag, two light fields.
Read the rig's notes
<aurora> is a billboard plane wearing its own fragment shader. It started as
the HyperFrames ribbon aurora (three families of simplex-ridge ribbons over
a dark gradient — S35, the default) and now also carries `type=fold`: the
openshaders.com light field, an ITERATED FOLD. Per pixel, up to 96 dependent
layers each sine-warp the coordinate, multiply it by a fixed rotate-shear
matrix and shrink it, then add an inverse-square glow from one point,
tinted per layer in OKLCH; ACES, a per-channel lift, a vignette and a
page-colour blend finish it. Nothing here is a <bands> surface, and could
not be: bands are independent Perlin octaves summed once and coloured by a
ramp — this is a recursion whose colour is the sum of every layer.
EVERY OPENSHADERS FIELD IS 34 NUMBERS, and those numbers are a pure function
of the username (FNV seed → PCG stream → the first of 16 draws that passes
the site's coverage gate). The engine carries that generator, so
`name=<user>` is that user's field exactly — S1 writes @sumit's 34 out by
hand, S2 says `name=sumit`, and the two frames are identical. Any of the 34
can be overridden on the tag (S6 layers, S9 zoom/tilt, S11 light mode).
TWENTY-THREE SCENES.
S1 @sumit, all 34 constants explicit — the copied module, verbatim.
S2 the same field as `name=sumit`, nothing else on the tag.
S3–S12 ten names from openshaders.com/explore, chosen to walk the hue
wheel and the generator's branches: no echo / echo, flow
direction ±1, wide and narrow hue spread, 70-odd and 90-odd
layers. Each is its own field; a few carry one override so the
tag's knobs are visible.
S13–S22 TEN INVENTED FIELDS — outside the generator's ranges, which is
where the site never goes. The generator draws shear in
0.955..0.972, shrink in 0.946..0.96, aspect-y in 0.13..0.22,
chroma under 0.17, softness over 0.0012, echo under 0.7; each of
these scenes breaks one of those on purpose, and the header of
each says which. A vortex (shear 0.992 · shrink 0.972), round
glows instead of streaks (aspect 0.9/0.9), hot wires (softness
0.0006), a monochrome that lives on light-swing alone, blue
light on paper, a doubled field (echo 1.0), a storm, a nebula, a
complementary pair and a silver noir.
S23–S24 REACT. `react=<id>` makes either field reflow around a device.
The phone's bounding box is projected into the plane every
frame: where it presses on or passes through, the field is
pushed out from the contact (the filaments part), dragged along
the phone's velocity, and lit at the rim; each first touch
births a ring that runs outward. Nothing is read live — the
phone's pose is SAMPLED from its own tracks with the runtime's
evaluator, so a scrub lands on the same dent a play-through
does. S23 presses and slides; S24 flies straight through, twice.
S25–S34 REACT, PLURAL. `react="a b c"` takes up to eight nodes, and any
node with geometry counts — the contact is the box's own
in-plane ellipse, so a word dents a trough and a phone a slot.
Two phones crossing (S25), a laptop and a phone (S26), three
words landing in turn (S27), one long word dragged across the
field (S28), a ui3d card pressed and dragged (S29), three cards
holding three dents at once (S30), a sphere and a knot looping
through (S31), two words bouncing on the ribbons (S32), a
laptop on paper in light mode (S33), and a phone that only
HOVERS — `react-reach=380` lets the field lean toward it before
anything touches (S34).
S35 the ribbon aurora, the default `<aurora>` — for the record.
PLACEMENT. The plane is 1920×1080 mm at the origin and the camera sits at
z = 540 / tan(25°) = 1158 mm at fov 50, so the frame IS the plane: the
field's own centre, vignette and edge are composed for the full card, and
cropping it would move them. Scenes cut with `blur-dissolve` — two fold
fields never morph; they are different numbers in the same program, so the
focus dissolve is the honest handoff.
Preview: /packages/runtime/index.html?project=promos/primitives/backgrounds/aurora.promo- Topic
- backgrounds
- Scenes
- 35
- Kind
- reference rig
//
AURORA — one tag, two light fields.
<aurora> is a billboard plane wearing its own fragment shader. It started as
the HyperFrames ribbon aurora (three families of simplex-ridge ribbons over
a dark gradient — S35, the default) and now also carries `type=fold`: the
openshaders.com light field, an ITERATED FOLD. Per pixel, up to 96 dependent
layers each sine-warp the coordinate, multiply it by a fixed rotate-shear
matrix and shrink it, then add an inverse-square glow from one point,
tinted per layer in OKLCH; ACES, a per-channel lift, a vignette and a
page-colour blend finish it. Nothing here is a <bands> surface, and could
not be: bands are independent Perlin octaves summed once and coloured by a
ramp — this is a recursion whose colour is the sum of every layer.
EVERY OPENSHADERS FIELD IS 34 NUMBERS, and those numbers are a pure function
of the username (FNV seed → PCG stream → the first of 16 draws that passes
the site's coverage gate). The engine carries that generator, so
`name=<user>` is that user's field exactly — S1 writes @sumit's 34 out by
hand, S2 says `name=sumit`, and the two frames are identical. Any of the 34
can be overridden on the tag (S6 layers, S9 zoom/tilt, S11 light mode).
TWENTY-THREE SCENES.
S1 @sumit, all 34 constants explicit — the copied module, verbatim.
S2 the same field as `name=sumit`, nothing else on the tag.
S3–S12 ten names from openshaders.com/explore, chosen to walk the hue
wheel and the generator's branches: no echo / echo, flow
direction ±1, wide and narrow hue spread, 70-odd and 90-odd
layers. Each is its own field; a few carry one override so the
tag's knobs are visible.
S13–S22 TEN INVENTED FIELDS — outside the generator's ranges, which is
where the site never goes. The generator draws shear in
0.955..0.972, shrink in 0.946..0.96, aspect-y in 0.13..0.22,
chroma under 0.17, softness over 0.0012, echo under 0.7; each of
these scenes breaks one of those on purpose, and the header of
each says which. A vortex (shear 0.992 · shrink 0.972), round
glows instead of streaks (aspect 0.9/0.9), hot wires (softness
0.0006), a monochrome that lives on light-swing alone, blue
light on paper, a doubled field (echo 1.0), a storm, a nebula, a
complementary pair and a silver noir.
S23–S24 REACT. `react=<id>` makes either field reflow around a device.
The phone's bounding box is projected into the plane every
frame: where it presses on or passes through, the field is
pushed out from the contact (the filaments part), dragged along
the phone's velocity, and lit at the rim; each first touch
births a ring that runs outward. Nothing is read live — the
phone's pose is SAMPLED from its own tracks with the runtime's
evaluator, so a scrub lands on the same dent a play-through
does. S23 presses and slides; S24 flies straight through, twice.
S25–S34 REACT, PLURAL. `react="a b c"` takes up to eight nodes, and any
node with geometry counts — the contact is the box's own
in-plane ellipse, so a word dents a trough and a phone a slot.
Two phones crossing (S25), a laptop and a phone (S26), three
words landing in turn (S27), one long word dragged across the
field (S28), a ui3d card pressed and dragged (S29), three cards
holding three dents at once (S30), a sphere and a knot looping
through (S31), two words bouncing on the ribbons (S32), a
laptop on paper in light mode (S33), and a phone that only
HOVERS — `react-reach=380` lets the field lean toward it before