9d0ed5820d
Phase 2 complete - GUI editing layer on top of Phase 1 CLI: Config: - config.py now only has API keys (API_KEY, API_HOST, PYTHON, CLI_DIR) - Project paths (video_src, ppt_path, max_total_duration) in generated_config.yaml Atomic clip operations (Pipeline methods): - reextract_clip(clip_index, new_title) - re-match title in transcript - delete_clip(clip_index) - remove clip and its intermediate files - add_clip_by_title(new_title) - match new title, handle overlaps - reburn_titles() - re-burn title track from updated clips - reburn_subtitles(user_texts) - burn user-edited subtitles directly - _find_title_in_transcript() - substring match in corrected transcript GUI: - Two startup modes: new project / open existing project - Clip list with double-click rename, right-click delete, + add - Subtitle preview with direct text editing - Apply button orchestrates reburn_titles/reburn_subtitles - Unmatched clips shown with warning label, excluded from burn CLI/GUI interoperability: - Both use same generated_config.yaml as single source of truth - CLI: run.bat for full pipeline, burn.bat for quick reburn - GUI: open project dir, edit, apply Docs: - USAGE.md updated with GUI edit mode documentation