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
30b04b42d4
fix: correct clip in-point edit test for EDIT_TOLERANCE
...
markInPoint(5) is outside the clip (10-20) with 0.5s tolerance.
Use markInPoint(12) which is inside the clip and triggers the edit path.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 13:33:01 -04:00
d85fbdac05
fix: suppress Rust dead code warnings with annotations
...
- ExportEvent::Error and DownloadEvent::Error reserved for future use
- clip_exporter functions scaffolded for caption burn-in pipeline
- SubtitleFormat fields required for serde deserialization
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 13:32:23 -04:00
9d1f1cfcf3
fix: resolve all Svelte a11y warnings
...
- Associate labels with controls in CaptionSettingsPanel (9 warnings)
- Add tabindex and keyboard handlers to dialog overlays (8 warnings)
- Add <track> to video element for caption accessibility
- Add keyboard support to resize handle separator
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 13:30:27 -04:00
3eebe01d63
fix: resolve TypeScript errors in vite.config.ts
...
- Install @types/node for node:path, node:process, node:url
- Import defineConfig from vitest/config for test config type
- Add types: ["node"] to tsconfig.json
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 13:28:05 -04:00
4bf65458d0
docs: add v0.1.0 release polish chat summary
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:57:14 -04:00
9a10e609e9
chore: add .cursor/ and .vscode/ to .gitignore
...
Co-authored-by: Cursor <cursoragent@cursor.com >
v0.1.0
2026-09-22 12:56:03 -04:00
99d1a0ab31
docs: add v0.1.0 release polish spec and implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:42:12 -04:00
05c4b4713a
feat: add About dialog with version, author, and license info
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:40:32 -04:00
9096ed10db
docs: rewrite README with full project documentation
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:39:22 -04:00
9d53d7ba4e
chore: add MIT license
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:38:55 -04:00
31989f9aeb
chore: replace absolute paths with relative equivalents in plan docs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:37:36 -04:00
30fb83c623
chore: replace placeholder metadata with real project values
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:36:06 -04:00
afe0a4ff21
chore: add VERSION file and bump-version.sh script
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:33:43 -04:00
b512634e02
docs: add app icon design/implementation chat summary
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:11:31 -04:00
9f14432625
chore: replace default Tauri branding with app icon
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:09:20 -04:00
88552a3344
feat: generate platform icons from chosen variant
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 12:03:44 -04:00
c5e4b7534d
feat: add icon color variant generation script and 5 variants
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 11:59:54 -04:00
db5ef34ef5
feat: add base SVG app icon (blue variant)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 11:58:15 -04:00
6b15b34a26
docs: add app icon implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 11:56:04 -04:00
ba0cbdb01c
docs: add app icon design spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 11:46:59 -04:00
8ad2f1c800
chore: stage all pending work — caption styling, media server, processing modal, docs, summaries
...
Includes:
- Extended caption styling (font, shadow, dimmed color, bg toggle)
- Media server, subtitle downloader, VTT parser, processing modal
- Waveform tiers, thumbnail/timeline improvements, transport controls
- Hybrid download model, dependency management, clip export enhancements
- 21 chat summaries, 2 implementation plans, 2 design specs
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 10:48:16 -04:00
fd05ae19b5
feat(captions): expand settings panel with font, shadow, dimmed color, bg toggle controls
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 10:36:37 -04:00
517f45e8fd
feat(captions): use font, shadow, dimmed color, bg toggle in preview captions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 10:35:22 -04:00
5b0ca72c4c
feat(captions): wire font, shadow, dimmed color, bg toggle into ASS generation
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 10:33:23 -04:00
a6277f0aa5
feat(captions): add list_system_fonts command with fc-list + fallback
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 10:31:30 -04:00
cc0ca95846
feat(captions): extend data model with font, shadow, dimmed color, bg toggle fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 10:29:22 -04:00
e6e3fcb5b4
chore: remove dead build_karaoke_text, fix stale comments
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 07:10:32 -04:00
92117447d4
feat(subtitles): rewrite ASS generation to paged teleprompter model
...
Replace per-line 3-phase rolling animation with 2-line paged blocks.
Karaoke \k tags flow continuously across \N line breaks within each page.
Pages cross-fade with \fad transitions (300ms). No \move or \clip tags.
Reading flow is top-to-bottom within each page, matching teleprompter style.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 06:54:21 -04:00
acd8fb3ec4
feat(subtitles): add page grouping and cross-line karaoke stitching
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-22 06:54:06 -04:00
380d14dc6a
fix: add --remote-components ejs:github to all yt-dlp calls for YouTube 2026 compatibility
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 12:03:26 -04:00
6ffeed8419
fix: double-paste bug, show actual yt-dlp errors in UI
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:57:08 -04:00
149ce3da21
fix: address final review findings (clip reset, codecs, paths, timeline)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:25:28 -04:00
169d3d5592
fix: clean up merge temp dir on export failure
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:21:53 -04:00
8a83c36cad
feat: add clip export with lossless/precise modes and export dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:20:32 -04:00
8013ef7c55
fix: clear thumbnail cache and temp dirs on new session
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:18:14 -04:00
ab053edd14
feat: add thumbnail extraction and timeline display
...
Wire ffmpeg frame extraction into post-download processing and render
adaptive thumbnail strips on the timeline via the asset protocol.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:16:10 -04:00
63a89ed433
fix: clear analysis data when starting new download
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:13:45 -04:00
e05e83f62f
feat: add waveform generation and timeline display
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:12:36 -04:00
c96b0cedc9
feat: add keyframe index extraction and frame/keyframe navigation
...
Wire ffprobe-based keyframe indexing through Tauri and auto-load positions after download completes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:10:20 -04:00
2f25db3cc5
feat: add transport controls and keyboard shortcuts
...
Centralize seek/play/frame/shuttle in playback helpers, wire the transport bar, and handle global shortcuts from App.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:08:16 -04:00