The Space Jellyfish
The story behind The Space Jellyfish
Inspired by Twilight phenomena on Wikipedia
Built with Pure WebGL2 fullscreen fragment shader
Techniques FBM noise volumetrics · Phase-driven evolution · Cursor parallax gaze · Mission-log narrative · Procedural starfield
Direction The fleeting spectacle of a rocket exhaust plume catching twilight sunlight at 82 km altitude, billowing into a jellyfish shape at the mesopause
Result A fullscreen sky that evolves from a bright point through a luminous dome to a trailing jellyfish, then slowly dissipates into darkness
The Story
When a rocket launches near dusk or dawn, it climbs through the atmosphere while the ground below sits in shadow. At around 80-100 km altitude it crosses the mesopause, where atmospheric pressure drops to almost nothing. The exhaust, no longer compressed by surrounding air, expands freely in every direction. And because the rocket is above the Earth’s shadow, the plume catches direct sunlight that the ground can’t reach.
The result is a luminous formation visible from hundreds of miles away. The expanding dome of exhaust gas, lit from above by a sun that has already set for observers on the ground, takes on an unmistakable shape: a jellyfish. A bright bell of scattered photons with long, wavering tentacles of cooling exhaust trailing below.
The whole event lasts about eleven minutes. The plume expands, the tentacles stretch and drift, and then the gas disperses into the mesosphere and the shape dissolves. It is rocket fuel and geometry and the accident of being in the right slice of twilight where the sun’s angle illuminates what would otherwise be invisible exhaust.
SpaceX Falcon 9 launches from Vandenberg and Cape Canaveral have produced some of the most dramatic examples, triggering thousands of UFO reports from people who look up and see a glowing organism drifting across the sky. It is not alive. It is kerosene combustion products expanding into near-vacuum and scattering the last photons of a day that ended twenty minutes ago.
The Take
A dark sky fills the screen. Deep indigo at the zenith, fading through muted purple to a faint twilight band at the horizon. Stars twinkle across the upper half, three layers of procedural points with randomized brightness and subtle oscillation.
At T+127 seconds, a bright point appears slightly left of center, high in the sky. This is the exhaust plume catching sunlight. Over the first twelve seconds, it expands into a luminous dome — a bell of swirling gas rendered through layered FBM noise. The core burns white-hot. The edges shade through magenta into teal, the spectral signature of sunlight scattered through expanding exhaust.
The dome breathes. A slow sinusoidal oscillation gives it organic pulsation, the kind of gentle movement that makes it look alive rather than mechanical. Volumetric noise churns inside the bell, two FBM layers at different scales and speeds creating turbulent internal structure that shifts continuously.
Between six and twenty seconds, the tentacles emerge. Seven strands descend from beneath the dome, each following a sinusoidal wave path with unique frequency and phase. They thicken near the dome and taper at their tips. Luminosity varies along each strand — noise-driven brightness fluctuations make them shimmer like bioluminescence, though the light source is a star 93 million miles away.
An upper glow trails above the dome — the exhaust column still catching light as it expands upward. A broad atmospheric scatter halo surrounds the entire formation, a soft purple-violet wash that gives the jellyfish its sense of enormous scale against the sky.
Your cursor shifts the parallax. Move across the screen and the entire formation drifts subtly, as though you’re turning your head to track it across the sky. The effect is gentle — 8% displacement — enough to create a sense of spatial depth without breaking the illusion that you’re watching something far away.
Mission-log text appears in the top-right corner in IBM Plex Mono, right-aligned, fading in and out at intervals. The entries are clipped and factual — altitude readings, observation notes — then gradually turn reflective. The text is low-opacity, almost subliminal against the sky, positioned to stay clear of the jellyfish formation.
After about a minute, the dissipation begins. The jellyfish dims, the dome contracts, the tentacles thin. The sky reclaims the space. By ninety seconds the formation is a ghost of itself, and the stars are brighter than the plume. The sky remembers for exactly as long as the light lasts.
The Tech
Single-Pass Fragment Shader
The entire visual is computed in one GLSL fragment shader — no geometry, no framebuffer objects, no post-processing. Every pixel evaluates its distance from the jellyfish center, samples multiple FBM noise layers, and determines its color from the composite of sky gradient, starfield, bell, core, tentacles, halo, and atmospheric scatter. The shader runs at native resolution with a DPR cap of 2.
Phase-Driven Evolution
Time drives the experience through four overlapping phases, each controlled by smoothstep ramps. Expansion (0-12s) grows the dome from a point. Tentacle growth (6-20s) extends the strands below the bell. Peak brightness (15-25s) brings the formation to full luminosity. Dissipation (55-90s) dims everything by scaling the alive multiplier from 1.0 toward 0.4. The overlapping transitions create organic, continuous evolution rather than discrete state changes.
Volumetric Bell Structure
The dome is not a simple radial gradient. Its density is modulated by two FBM noise fields sampled at different scales (5x and 8x) and animation speeds, blended 65/35. This produces churning internal structure — denser knots of gas surrounded by thinner regions — that reads as volumetric turbulence. An asymmetric bottom bulge (smoothstep on negative Y) makes the dome wider at its base, mimicking the mushroom-cap shape of real exhaust plumes expanding into low-pressure atmosphere.
Procedural Tentacles
Seven tentacle strands are computed analytically. Each has a unique lateral offset, length (randomized 0.18-0.33 of screen height), and wave pattern (two sine terms with per-strand frequency offsets). Width tapers from dome base to tip. A noise-based luminosity variation along each strand prevents them from reading as uniform lines — they shimmer and pulse, catching and losing light like threads of gas caught in upper atmospheric winds.
Starfield
Three nested layers of procedural stars using grid-based hashing. Each layer has a different density scale. Stars are placed by hashing grid cell IDs, with a 4% probability threshold. A per-star twinkle oscillation (frequency randomized 1-4 Hz) creates the scintillation effect of viewing stars through atmospheric turbulence. Stars fade near the horizon using a smoothstep ramp, matching real twilight visibility.
Parallax Gaze
Mouse/touch input maps to a gaze direction that offsets the jellyfish center position by up to 8% of screen space. The offset is smoothed with a critically-damped lerp (dt * 4) to prevent jitter. The effect is subtle enough to feel like head movement rather than object movement — the jellyfish stays “in the sky” while your viewpoint shifts.
Experience: The Space Jellyfish
This blog post was AI generated with Claude Code. Authored by Artificial Noodles.