Files
SubMiner/backlog/tasks/task-96 - Decouple-secondary-subtitle-lifecycle-from-visible-invisible-overlays.md

2.1 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
id title status assignee created_date updated_date labels dependencies priority
TASK-96 Decouple secondary subtitle lifecycle from visible/invisible overlays To Do
2026-02-21 04:41 2026-02-21 04:41
subtitles
overlay
architecture
high

Description

Secondary subtitle behavior should not depend on visible/invisible overlay state transitions. Introduce an independent lifecycle so secondary subtitle rendering, visibility mode (always/hover/never), and positioning stay stable even when primary overlays are toggled or rebound.

Suggestions

  • Isolate secondary subtitle state management from primary overlay window orchestration.
  • Route secondary subtitle updates through a dedicated service/controller boundary.
  • Keep MPV secondary subtitle property handling independent from overlay visibility toggles.

Action Steps

  1. Inventory existing coupling points between secondary subtitle updates and overlay visibility/bounds services.
  2. Introduce explicit secondary subtitle lifecycle state and transitions.
  3. Refactor event wiring so visible/invisible overlay toggles do not mutate secondary subtitle state.
  4. Validate display modes (always/hover/never) continue to work with independent lifecycle.
  5. Add regression tests for overlay toggles, reconnect/restart, and mode-switch behavior.

Acceptance Criteria

  • #1 Toggling visible or invisible overlays does not alter secondary subtitle lifecycle state.
  • #2 Secondary subtitle display mode behavior remains correct across overlay state transitions.
  • #3 Secondary subtitle behavior survives MPV reconnect/restart without overlay-coupling regressions.
  • #4 Automated tests cover decoupled lifecycle behavior and prevent re-coupling.

Definition of Done

  • #1 Relevant unit/integration tests pass
  • #2 Documentation/comments updated where lifecycle ownership changed