vestige/apps
Sam Valladares 435d3f4098 feat(observatory): reduced-motion + persistent pause control for the field
Closes the launch guardrail: the field's ambient orbit + force-sim drift
run >5s, so WCAG needs a persistent pause control and prefers-reduced-
motion must be honored.

- engine.setPaused(): freezes the deterministic clock so the orbit + sim
  drift hold still, while the frame still renders and the live preFrameHook
  still runs — discrete event pulses (firewall, decay, dream) are
  information, not decoration, so they land even when motion is reduced.
- ObservatoryStage: a persistent ❚❚ PAUSE / ▶ RESUME control on the live
  field; auto-pauses under prefers-reduced-motion (user can override).

Verified live: the pause button toggles engine.isPaused (frozen drift,
pulses still land); check 0 err, 1043 tests, build green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 22:34:31 -07:00
..
dashboard feat(observatory): reduced-motion + persistent pause control for the field 2026-07-08 22:34:31 -07:00