feat(editor): per-clip EDL editor — recut engine, /edl + /rerender endpoints, MCP tool + frontend - #62
Open
victorcavero14 wants to merge 2 commits into
Open
feat(editor): per-clip EDL editor — recut engine, /edl + /rerender endpoints, MCP tool + frontend#62victorcavero14 wants to merge 2 commits into
victorcavero14 wants to merge 2 commits into
Conversation
…ndpoints, MCP tool
Every clip now exposes its recipe (which source segments it was cut from)
via GET /api/clip/{job}/{i}/edl, and POST /api/clip/rerender re-renders it
from an edited segment list: fast path recuts from the already-reframed
canonical file, source path re-reframes from the retained source
(--keep-original now passed for URL jobs). Captions/subtitles/transcript
remap piecewise through recut.virtual_transcript for multi-segment clips.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…sults - ClipEditor.jsx: per-clip edit overlay driving the /edl + /rerender backend - App.jsx: editingClip state, handleClipRerendered syncs results, reopened project state and per-clip edit state after a recut (burned layers reset) - ResultCard.jsx: "edit clip" entry button (Scissors), layout tweak - recut.py: write absolute paths in the concat list — the demuxer resolves relative entries against the list file's dir, not the process cwd Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a per-clip editor: an EDL (edit decision list) recut engine on the backend and a full-screen
ClipEditoroverlay in the dashboard.Backend (
d9b15b4)recut.py: cut/concat recut engine — segment-level re-render of an existing clip (fast recut inside the canonical range, full re-frame when segments reach back into the source)GET /api/clip/{job}/{index}/edl+POST /api/clip/rerenderendpointsFrontend (
b884131)ClipEditor.jsx— full-screen editor overlay:App.jsx—editingClipstate +handleClipRerendered: after a recut, results, reopened-project state and per-clip edit state re-sync (burned layers reset,ResultCardremounts from the new file)ResultCard.jsx— "edit clip" entry button (Scissors icon)Visual style
The editor is built entirely on the app's existing design system —
eyebrow/readouttypography,btn-primary/btn-ghost/btn-quiet/btn-dangerbuttons,paper/ink/brass/ruletokens,rounded-input/rounded-card, lowercase labels,animate-fade, and the custom scrollbar — no new visual language introduced. Segment colors are oklch values anchored on the brand brass.Verification
python3 -m py_compile recut.py✓npm run build(production Vite build) ✓ — only pre-existing warnings🤖 Generated with Claude Code