mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
2.4 KiB
2.4 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, priority, ordinal
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | ordinal | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-110 | Split overlay into top secondary bar and bottom primary region | Done |
|
2026-02-23 02:16 | 2026-02-23 02:29 |
|
high | 110000 |
Description
Implement a 3-window overlay layout:
- Dedicated secondary subtitle window anchored to top of mpv bounds (max 20% of height).
- Visible overlay window constrained to remaining lower region.
- Invisible overlay window constrained to remaining lower region.
Secondary subtitle bar must stay independently anchored while visible/invisible overlays swap.
Acceptance Criteria
- #1 Runtime creates/manages a third overlay window dedicated to secondary subtitles.
- #2 Secondary window stays anchored to top region capped at 20% of tracked mpv bounds.
- #3 Visible and invisible overlay windows are constrained to remaining lower region.
- #4 Secondary subtitle rendering/mode updates reach dedicated top window without duplicate top bars in primary windows.
- #5 Focused runtime/core tests cover geometry split + window wiring regressions.
Implementation Notes
- Added new
secondaryoverlay window kind and runtime factory wiring, plus manager ownership (get/setSecondaryWindow) and bounds setter. - Added geometry splitter
splitOverlayGeometryForSecondaryBar(20% top secondary, 80% bottom primary), integrated intoupdateVisibleOverlayBounds/updateInvisibleOverlayBoundsflow. - Main runtime now creates secondary window alongside primary overlays and syncs secondary window visibility with
secondarySubMode. - Renderer now recognizes
layer=secondary; secondary bar is hidden on primary layers, and primary subtitle/modals are hidden on secondary layer. - Secondary layer no longer reports overlay content measurements to avoid invalid payloads.
- Validation:
bun run tsc --noEmitbun test src/main/runtime/overlay-window-factory.test.ts src/main/runtime/overlay-window-factory-main-deps.test.ts src/main/runtime/overlay-window-runtime-handlers.test.ts src/renderer/error-recovery.test.ts src/core/services/overlay-window.test.tsbun run buildnode --test dist/core/services/overlay-manager.test.js