Status tags are honest. “Seated” means running in the stage above right now.
NOTE 01 seated
Metabolism per state, crossfade between.
Parameter crossfade (~1.4s) plus a two-layer opacity crossfade for the bodies — the dip-swap-fade funnel from your weather page, upgraded to never cut. Sky dissolves via registered @property colors at the same tempo.
NOTE 02 seated
One noise field, everything drinks from it.
Character drift, rain shear, snow wobble, gust streaks and halo parallax all sample the same seeded fbm. A gust visibly passes through everything at once — most of “alive” is that single trick.
NOTE 03 seated
Stillness is a feature — budget for it.
The snowy asset arrives half-asleep; the engine now agrees. During holds, amplitude eases to zero and the halo dims a touch while weather keeps falling around a creature doing absolutely nothing. Idle ≠ broken.
NOTE 04 sketch
Telemetry as an easter egg in the app.
Long-press the logo-that-isn’t-a-logo → scope + channel readout slide in. Additive, never required, accessibility intact. Stays a sketch until the weather page wants it.
NOTE 05 seated
Voice on transition, not just on demand.
State flips earn exactly one muttered line in the subtitle strip; taps stay conversational. The difference between ambient and chat is one sentence of restraint.
NOTE 06 seated
The PNGs survive the squish.
Proven live above: feTurbulence + feDisplacementMap sits on the wrapper, so all five assets warp, breathe and settle with zero per-image authoring. Missing file? A drawn placeholder steps in via onerror — the page never breaks.