Files
accounted/components
Jakob Wennberg dd4ced1f93 feat(import): the constellation breathes between beats (#1622)
The theater canvas froze visually between spawn events; long holds like
"Skriver till journalen..." read as stale. Add continuous ambient life
inside the existing rAF loop, derived entirely from the clock (no extra
timers), without inventing progress: motion means the system is alive,
not that work completed.

- Per-node breathing: radius +-10% (about 1px on the hub) plus up to 4%
  alpha, on two slow incommensurate clocks offset by each node's own
  position/wave phase so the field shimmers organically, not in sync.
- Quiet ripple: every 7s a luminance wave travels hub to rim over 2.6s,
  brightening the hairline year rings (+0.18 alpha peak) and edges
  (+0.12) it passes. Alpha only: no color change, so it cannot be
  mistaken for the sage event pulse.
- Settled mode (result reveals) rests at half breathing amplitude and
  gets no ripple; the reveal is a verdict.
- prefers-reduced-motion: ambient scale is zero and the frame stays
  frozen as before.

Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 16:59:22 +02:00
..