mirror of
https://github.com/zoriya/v10.git
synced 2026-08-14 18:04:49 +00:00
Replace the single effect with a two-state machine (inactive ↔ live) gated on deriveState (mediaElement + published-hence-open MediaSource + a derivable live edge). The one-time seek becomes the live state's entry; the window-exit guard becomes its effects. Entry-once-per-live-entry dissolves the closure `seeked` latch — a source change drops to inactive and re-entry re-seeks. Drop the MediaSource readyState check: setupMediaSource publishes the signal only once open, so the signal's presence is the open gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>