Files
SubMiner/backlog/tasks/task-197 - Eliminate-per-line-plain-subtitle-flash-on-prefetch-cache-hit.md

2.2 KiB

id, title, status, assignee, created_date, labels, dependencies, references, documentation, priority
id title status assignee created_date labels dependencies references documentation priority
TASK-197 Eliminate per-line plain subtitle flash on prefetch cache hit Done
2026-03-18 16:28
TASK-196
/home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-processing-controller.ts
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/mpv-main-event-actions.ts
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/mpv-main-event-main-deps.ts
high

Description

Remove the remaining small per-line subtitle annotation delay after prefetch warmup by avoiding the unconditional plain-subtitle broadcast on mpv subtitle-change events when a cached annotated payload already exists.

Acceptance Criteria

  • #1 On a subtitle cache hit, the mpv subtitle-change path can emit annotated subtitle payload synchronously instead of first broadcasting tokens: null.
  • #2 Cache-miss behavior still preserves immediate plain-text subtitle display while async tokenization runs.
  • #3 Regression tests cover the controller cache-consume path and the mpv subtitle-change handler cache-hit branch.
  • #4 Verification covers the touched core/runtime lane.

Implementation Plan

  1. Add failing tests for controller cache consumption and mpv subtitle-change immediate annotated emission.
  2. Add a controller method that consumes cached subtitle payload synchronously while updating internal latest/emitted state.
  3. Wire the mpv subtitle-change handler to use the immediate cached payload when present, falling back to the existing plain-text path on misses.
  4. Run focused tests and the cheapest sufficient verification lane.

Outcome

Added consumeCachedSubtitle to the subtitle processing controller so cache hits can be claimed synchronously without reprocessing, then wired the mpv subtitle-change handler to emit cached annotated payloads immediately while preserving the existing plain-text fallback for misses. Verified with focused unit tests plus the runtime-compat lane.