# VT Player – TODO ## Blockers - Video loading not firing (menu and drag/drop). Investigate URI/path handling, loadVideo/probe flow, and UI wiring; add logging to confirm handlers fire and errors surface. ## Near-term UI/UX - Replace placeholder play icon with a proper asset; keep centered “Load Video” and drop hint on any window size. - Tighten control bar (Haruna-like): cleaner spacing, distinct buttons, consistent sizing. - Add keyboard shortcuts (Space play/pause, Left/Right seek, +/- volume, F fullscreen). - Fullscreen toggle wired to player backend; ensure external ffplay window obeys target coords/sizing. ## Playback & Playlist - Add per-item remove/clear actions; optional recent-files list; drag-to-reorder playlist. - Show active item highlight and hover states; keep drop-to-playlist behavior for files/folders. - Verify drop handling on all platforms (Wayland/X11/Windows). ## Compare Mode (VT/VideoTools parity) - Add synchronized play/pause/seek for dual players. - Add frame-by-frame synced navigation and linked volume/speed controls. - Provide a sync toggle and drift indicator; allow offset nudge for out-of-sync sources. - Ensure artifact inspection at identical frames (exact seek/step alignment). ## Keyframing (next milestone) - Define keyframe data model and storage (per file). - Render markers/ticks on the seek bar; jump/add/delete keyframes with shortcuts. - Keep compatibility with VideoTools (same metadata format/paths). ## Integration with VideoTools - Keep `master` rebased on `upstream/master`; cherry-pick player changes to upstream PR branches when needed. - Document how to flip module paths/branding when preparing a PR back to VideoTools. ## Cleanup/Codebase - Remove unused convert/queue/compare code paths and dead menu logic once player is stable. - Simplify `main.go` by moving player view/controls into dedicated files. - Delete old VideoTools-only docs/content that no longer applies once we finish the pruning.