feat(downloads): editor v2 — cut-list, join, aspect filmstrip + hover scrub

Rework VideoEditor around a segment cut-list: N draggable cut markers → segments, per-segment
keep/drop (eye toggle + dropped hatch), output = Separate files (one job per kept segment) or
Join into one (segments cut-list → one concatenated file). Per-segment numeric Start/End inputs.
Filmstrip fixed: aspect-correct tiles (no vertical squish) + YouTube-style hover-scrub thumbnail
from the sprite. EditSpec.segments type; editor v2 i18n (en/hu/de). Verified end-to-end in a real
browser (3-segment split, drop middle, join → 0:12 clip from a 0:19 source).
This commit is contained in:
npeter83 2026-07-04 03:26:33 +02:00
parent b372d48ced
commit 2dccae0e54
5 changed files with 382 additions and 200 deletions

View file

@ -667,9 +667,11 @@ export type DownloadStatus =
| "error"
| "canceled";
// Phase-2 editor recipe. `accurate` only matters for a trim-only cut (a crop always re-encodes).
// Phase-2 editor recipe. A single `trim` (one output file) or a `segments` cut-list joined into
// one file. `accurate` re-encodes for a frame-accurate cut (a crop always re-encodes).
export interface EditSpec {
trim?: { start_s: number; end_s?: number };
segments?: { start_s: number; end_s: number }[];
crop?: { x: number; y: number; w: number; h: number };
accurate?: boolean;
}