Gesso

Atmosphere

Ascora's alerts as weather. A quiet system draws true rings, and activity pushes them out of true.

Ascora reads alerts as atmosphere: concentric shells of air above the system, true and quiet when nothing is happening and pushed out of shape wherever something is. atmosphericSky builds the shells.

Calm is a real state, not an empty one

Drag Activity to zero. The rings close into true circles — not a blank panel, not a placeholder illustration, just the same sky with nothing disturbing it. Calm and loud run one generator on different input, which is what stops a quiet dashboard and a busy one drifting apart into two unrelated drawings.

That is the same argument the other geographies make. An account with no balance still shows one sonar return, and a score history with no data still draws a horizon. A system with no alerts still has weather over it.

The disturbance is the alert load

Each alert sits at a bearing and pushes the rings outward as far as its severity carries it, falling off to nothing at the edge of its reach. Alerts on the same bearing add, so two moderate warnings in one place raise a bigger swell than either alone — which is the reading you want from a system under compound pressure.

Nothing here is noise. Feed the generator the same alerts and it draws the same sky, every time, on the server and in the browser alike. A wobble that came from a random seed would look similar and mean nothing, and it would change on every render.

The falloff is a raised cosine rather than a linear ramp, because a linear falloff leaves a visible crease exactly where a disturbance stops — the eye finds the seam before it finds the alert.

Rings, not discs

The hologram source builds each ring as an annulus, so extruding it gives a cage you can see through rather than a stack of solid plates. Air you cannot see past is not air.

{ kind: 'hologram', radius: 240, rings: 1, nodes: 96, band: 6, displace }

Keep the band thin. Outline style draws every ring twice, once at each face, and an annulus has two rings — so a single shell is already four closed curves. At a fat band those four read as four, and four shells turn into sixteen near-concentric curves and a scribble. A thin band and a thin plate collapse them into what the eye takes for one hoop, which is the whole reason the default is 6 against a radius of 240.

displace is sampled around the full turn and interpolated onto nodes, so how finely the weather is measured stays independent of how finely the geometry is drawn. Every shell shares one sample, which is what makes the swell read as a single column of air instead of unrelated ripples at each altitude.

Install

shadcn add @gesso/relief-sky

On this page