Skip to content

Add Premiere-style editor: multi-track timeline, client-side preview, MoviePy export#4

Merged
Ariel-Gal merged 11 commits into
mainfrom
editor-phase-1
Jul 5, 2026
Merged

Add Premiere-style editor: multi-track timeline, client-side preview, MoviePy export#4
Ariel-Gal merged 11 commits into
mainfrom
editor-phase-1

Conversation

@Ariel-Gal

Copy link
Copy Markdown
Owner

Summary

Phase 1 of the PyMontage → web NLE transformation (spec: docs/superpowers/specs/2026-07-05-editor-timeline-design.md, plan: docs/superpowers/plans/2026-07-05-editor-timeline.md).

  • /editor — new Premiere-style dark UI: media pool, program monitor, inspector/automation sidebar, multi-track timeline (V2/V1/A1/A2). Vanilla ES modules + Tailwind CDN, no build step. Old slideshow UI at / untouched.
  • Project JSON model — browser-owned single source of truth with undo/redo (50 deep) and localStorage autosave.
  • Timeline — drag/move with snapping, edge trim, split (S), delete, cross-track moves, Ctrl+wheel zoom, client-side Web Audio waveforms, track hide/mute.
  • Monitor — client-side approximate playback (topmost clip wins), J-K-L, frame stepping, timecode.
  • Media API — upload with probe + thumbnails, Range-request streaming, per-session storage, offline detection after server restart.
  • Exporttimeline_renderer.py renders the project JSON via MoviePy (reuses NVENC detection); background job with progress polling, one export at a time.
  • Fix — emoji print()s no longer crash on non-UTF-8 Windows consoles.

Automation features (auto-montage, smart trim, auto-slideshow, aspect presets) are stubbed in the sidebar for phase 2.

Test plan

  • pytest — 8 tests: renderer (2), media API (3), export API (3)
  • Manual browser verification: upload → drag to timeline → trim/split/undo → inspector edits → export downloads correct MP4

🤖 Generated with Claude Code

Ariel-Gal and others added 11 commits July 5, 2026 19:36
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Also fix emoji prints crashing on non-UTF-8 Windows consoles.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Ariel-Gal Ariel-Gal merged commit 0c65018 into main Jul 5, 2026
5 checks passed
@Ariel-Gal Ariel-Gal deleted the editor-phase-1 branch July 5, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant