646f2e511b
fix: raise controls to 64px, smooth blur via ::before pseudo-element
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 02:21:56 -04:00
d8a6e0edd0
docs: v0.2.1 implementation plan — 5 tasks
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 01:49:46 -04:00
21a5445143
docs: v0.2.1 design spec — polish, icons, cut clip, shortcuts
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 01:42:50 -04:00
2e36d16bfe
fix: QA round 2 — playhead guard, controls position, caption lift, Tauri fullscreen, timeline sync
...
- Guard drawPlayhead on session.duration > 0 in PlayerTimeline
- Move floating controls pill from bottom: 24px to 48px
- Add playerControlsVisible prop to VideoPlayer; captions slide up 160px when controls visible
- Replace web Fullscreen API with Tauri getCurrentWindow().setFullscreen() (WKWebView compat)
- Add core:window:allow-set-fullscreen and core:window:allow-is-fullscreen permissions
- Tie PlayerTimeline visibility to showPlayerControls; remove unused proximity logic
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 20:16:10 -04:00
0f2a523cc2
fix: QuickTime-style floating controls pill, speed selector, rate sync
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:46:46 -04:00
c00c215d33
fix: adjustShuttle reads live rate with 0.25 step, fullscreen targets documentElement
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:45:50 -04:00
980f31a414
fix: auto-hide timers, status bar, keyframe shortcuts in Player mode
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:44:48 -04:00
d847a0cff2
docs: v0.2.0 Player mode bugfixes implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:43:34 -04:00
0e84e66cf7
docs: v0.2.0 Player mode bugfixes design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:39:51 -04:00
711f18ffe5
fix: add tabindex to seek bar slider role, remove dead handleVideoClick
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:16:04 -04:00
7e838dc391
chore: bump version to 0.2.0
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:13:18 -04:00
1a86a34152
feat: add FLIP transitions for Clipper/Player mode switching
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:12:26 -04:00
2472decb20
fix: bind captionsEnabled between App and VideoPlayer for Player mode CC sync
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:11:21 -04:00
3e219b7760
feat: conditional CC rendering and click-to-play in Player mode
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:10:43 -04:00
199ad1ce3b
fix: transport shortcuts work in Player mode via runTransportAction fallback
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:09:27 -04:00
d36138c550
feat: add Player/Clipper mode switching with auto-hide UI
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:08:25 -04:00
56686a36e6
feat: add PlayerTimeline simplified waveform component
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:06:32 -04:00
f717687b1b
feat: add PlayerControls floating overlay component
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:05:03 -04:00
bb5fa4bd63
feat: add SpeedSelector popup component
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:03:46 -04:00
d9f58747a4
feat: add PiP, fullscreen, and playbackRate helpers to playback module
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:02:03 -04:00
bd96da4dc9
feat: add appMode preference (clipper/player) with persistence
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 19:00:34 -04:00
8bcec23d8c
docs: add v0.2.0 player mode implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 18:58:00 -04:00
4f7458d8f8
docs: add v0.2.0 player mode design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 18:51:01 -04:00
c90b6765b7
fix: timeline resize regression + dynamic lane alignment
...
- Remove splitAreaEl dependency from handleResizeMove; use fixed 40-500 clamp
- Add computeLanes() + LaneLayout for dynamic lane height computation
- Update clipRenderer to accept LaneLayout instead of hardcoded constants
- Tighten CONTROLS_HEIGHT (30→22) and CLIP_HEIGHT (30→20) to reduce gaps
- Tighten label baseline offset (14→10) for better waveform-to-tick alignment
Co-authored-by: Cursor <cursoragent@cursor.com >
v0.1.3
2026-09-22 18:15:19 -04:00
23b30be357
fix: CSS-grid layout to preserve video on toggle + magnification enhancements (brighter, larger, minor ticks)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 17:30:47 -04:00
124542b4c4
fix: post-smoke-test polish — preserve playhead, clip list redesign, play-clip action, 1100x750 default
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 17:15:28 -04:00
279e27a9b5
docs: user edits to v0.1.3 spec (version bump section)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:54:53 -04:00
8c271773bd
feat: timeline right-click context menu with mark/seek/delete actions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:53:43 -04:00
27c199e090
feat: larger timeline timestamps with mouse-proximity magnification
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:51:56 -04:00
923c7b0e23
fix: clip list width edge cases (falsy check, narrow-window clamp)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:50:57 -04:00
b371ec6c3e
feat: adjustable clip list layout (bottom/left sidebar)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:49:35 -04:00
0b8bec2496
chore: bump version to 0.1.3
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:48:14 -04:00
91550dacd6
docs: add v0.1.3 implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:42:59 -04:00
9752a6d614
docs: add v0.1.3 polish/tweaks design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 16:32:17 -04:00
9499d776fd
fix: about dialog, cache paths, keyframes, reprocess always uses low-res
...
- Replace native macOS About menu with custom Svelte dialog via Tauri event
- Inline SVG icon in AboutDialog (fixes broken image in webview)
- Align cache directory with Tauri $APPDATA, add to asset protocol scope
- Fix ffprobe 8.x keyframe parsing (skip_frame nokey, flexible parser)
- Copy caption files into cache dir when outside cache path
- Add -y flag to ffmpeg thumbnail extraction (prevent hang on re-extract)
- Reprocess always uses preview (low-res) file, never HQ export
- Prefer cached preview file for analysis even when HQ is cached
- Guard upgrade toast when already on HQ
Co-authored-by: Cursor <cursoragent@cursor.com >
v0.1.2
2026-09-22 16:16:00 -04:00
925a3fc054
chore: bump version to 0.1.2
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:49:47 -04:00
36ff3094b6
feat: add per-video reprocess button to status bar
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:48:26 -04:00
2c3d035d1f
feat: add cache management section to Preferences panel
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:47:29 -04:00
b180d4324c
feat: integrate analysis cache into video session processing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:45:37 -04:00
b7a5caf4ae
feat: add TypeScript bindings for cache IPC commands
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:44:24 -04:00
6818938cb0
feat: add optional output_dir param to extract_thumbnails
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:43:24 -04:00
b7fb7929f0
feat: add cache IPC commands for analysis caching
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:41:37 -04:00
1773ae81e6
feat: add cache_manager service for analysis caching
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:39:43 -04:00
dc3e7945c6
chore: add sha2 dependency for URL hashing in analysis cache
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:38:16 -04:00
8bd2b34103
feat: auto-use cached HQ video file without upgrade prompt
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:36:33 -04:00
90f598050c
fix: show empty timeline lanes when no video is loaded
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:34:58 -04:00
2f810111cc
docs: add v0.1.2 polish implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:31:36 -04:00
2055524d30
docs: add v0.1.2 polish design spec (placeholders, auto-upgrade, analysis cache)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 14:26:44 -04:00
d46973a719
v0.1.1: fix .app bundle PATH for pyenv/nvm, detect yt-dlp pot-provider plugin
...
- fix_path_env() now adds ~/.pyenv/shims (with PYENV_ROOT) before
Homebrew paths so pyenv-managed yt-dlp (with pip-installed plugins)
takes priority over Homebrew's bare yt-dlp binary
- Also handles ~/.nvm, ~/.deno/bin, ~/.cargo/bin for broader coverage
- check_pot_plugin uses lightweight 'yt-dlp -v' instead of network
simulation for reliable plugin detection
- Bump version to 0.1.1
Co-authored-by: Cursor <cursoragent@cursor.com >
v0.1.1
2026-09-22 14:09:23 -04:00
1ea7f19668
feat: add release build script
...
- scripts/build-release.sh: builds, signs, and copies .app to dist/release/
- Bundle targets narrowed to app + dmg
- npm run release convenience script
- README documents the release build workflow
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 13:39:16 -04:00