29 Commits

Author SHA1 Message Date
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>
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
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
30fb83c623 chore: replace placeholder metadata with real project values
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 12:36:06 -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
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
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
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
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
ac7fa550e1 fix: drain stdout in download to prevent pipe deadlock
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:02:05 -04:00
088def2ee4 feat: add background download manager with progress reporting
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:00:46 -04:00
3e469a931f fix: validate stream_url and clear stale session on error
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:59:10 -04:00
16812447ef feat: add video resolver, URL input, and video player
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:57:43 -04:00
a62cd05f6c fix: address Task 2 review findings (stderr + cookie flags)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:52:30 -04:00
e76254912a feat: add dependency manager and setup wizard
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:50:24 -04:00
5cf61578ae feat: scaffold Tauri v2 + Svelte 5 project with base layout and utilities
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:45:53 -04:00