Epic: #113 · Milestone: MC7 — TV shell
Tasks
- OSD layer in the compositor's alpha plane (never repaint the video); auto-hide after 3 s; any key shows it.
- Scrubber: seek by Left/Right (accelerating), chapter markers, hover thumbnails from the thumbnail cache (#102 generates I-frame thumbs on scan), preview seek.
- Track pickers: audio (language/codec/channels), subtitles (embedded/external/off), with per-title memory.
- Info overlay: container/codecs, resolution/fps, bitrate, HW/SW decode, dropped frames, A/V offset (from
perf). - Settings within OSD: subtitle offset/size, audio delay, aspect/zoom, 24p mode switch toggle.
- Music now-playing screen: large art, progress, queue peek, visualiser off by default (budget).
Acceptance
Golden frames for each OSD state; opening/closing the OSD costs no video-plane repaint (dirty-rect counter); seek-to-play latency ≤ 500 ms for local files.