mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
3.7 KiB
3.7 KiB
Agent Session: codex-overlay-three-window-layout-20260223T021606Z-9z2t
- alias:
codex-overlay-three-window-layout - started_utc:
2026-02-23T02:16:06Z - status:
handoff - mission:
Implement top-anchored secondary subtitle overlay window (20%) plus swappable primary overlay region (80%). - linked_backlog:
TASK-110
Intent
- Convert overlay runtime from 2 fullscreen windows to 3 windows:
secondarywindow anchored top (max 20% height).visible/invisiblewindows constrained to remaining 80%.
- Keep secondary subtitle bar independent from visible/invisible swapping.
Planned Files
src/core/services/overlay-window.tssrc/core/services/overlay-runtime-init.tssrc/core/services/overlay-manager.tssrc/main.tssrc/preload.tssrc/types.tssrc/renderer/utils/platform.tssrc/renderer/renderer.tssrc/renderer/style.csssrc/main/runtime/overlay-window-factory*.tssrc/main/runtime/overlay-window-runtime-handlers*.tssrc/main/runtime/overlay-runtime-options*.ts- focused tests under
src/main/runtime/*+src/core/services/*
Assumptions
- Secondary bar window should remain independently present while visible/invisible overlays toggle.
- Top bar height fixed at 20% of tracked mpv bounds (clamped to valid integer px).
- Existing secondary mode semantics (
hidden/visible/hover) remain; hover behavior stays functional.
Phase Log
2026-02-23T02:16:06Zplan: read overlay/runtime wiring, implement secondary window + geometry split, run focused tests.2026-02-23T02:24:10Zimplementation: addedsecondaryoverlay window kind/wiring, overlay-manager secondary window ownership, and geometry split helper (top 20%secondary +bottom 80%primary).2026-02-23T02:27:40Zrenderer updates: addedsecondarylayer detection, disabled measurement reports for secondary layer, and CSS layer split (secondary hidden in primary layers; subtitle/modals hidden in secondary layer).2026-02-23T02:29:51Zvalidation:bun run tsc --noEmit;bun 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.ts;bun run build;node --test dist/core/services/overlay-manager.test.js.2026-02-23T02:44:37Zbacklog sync: updatedTASK-110with final summary + commit reference (b8f7d5e).
Files Touched
src/main.tssrc/core/services/overlay-window.tssrc/core/services/overlay-window-geometry.tssrc/core/services/overlay-window.test.tssrc/core/services/overlay-manager.tssrc/core/services/overlay-manager.test.tssrc/main/runtime/overlay-window-factory.tssrc/main/runtime/overlay-window-factory-main-deps.tssrc/main/runtime/overlay-window-runtime-handlers.tssrc/main/runtime/overlay-window-factory.test.tssrc/main/runtime/overlay-window-factory-main-deps.test.tssrc/main/runtime/overlay-window-runtime-handlers.test.tssrc/preload.tssrc/types.tssrc/renderer/utils/platform.tssrc/renderer/overlay-content-measurement.tssrc/renderer/error-recovery.tssrc/renderer/style.cssbacklog/tasks/task-110 - Split-overlay-into-top-secondary-bar-and-bottom-primary-region.md
Handoff
- Implemented requested 3-window behavior:
- dedicated top secondary overlay window anchored by mpv geometry split,
- visible/invisible overlays constrained to lower region.
- Secondary mode state now syncs window visibility (
hiddenhides window; non-hidden shows + interactive). - Remaining caution: source-level
overlay-manager.test.tsstill requires dist/node path (Bun ESM + electron named export limitation), but dist test lane passes.