Files
filmcraft/docs/gaps.md
T
vangel76andClaude Opus 5.5 e56ddd0e36 #780: Optical Flow time interpolation synthesises motion-compensated frames
Problem: a speed-changed clip set to Time Interpolation > Optical Flow
rendered exactly like Frame Blending, a cross-fade of the two neighbouring
source frames, so moving objects showed double images.

Fix: new filmcraft_render::flow. It computes dense coarse-to-fine
Lucas-Kanade flow both ways on a luma pyramid at most 640 px wide, drops
motion wherever standing still explains the window as well (flicker on
static content), forward-splats both flows to the in-between time
(Baker et al. 2011), and warps both frames there. Each fetch is weighted
by how well its own flow agrees, so uncovered background comes from the
frame that shows it. Pixels that look the same in both frames, or where
neither fetch agrees, fade to the plain cross-fade. media_image uses it
for OpticalFlow clips. docs/gaps.md G18 and target-app-parity updated
(also drops the #415 / #458 items, already fixed on main).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 23:50:15 +02:00

15 KiB
Raw Blame History

Where FilmCraft falls short of Premiere Pro

Last reviewed: 2026-10-10 · Last updated: 2026-10-10 · Change: major (new file: ROADMAP's "Where we are lacking" re-measured against Premiere Pro 26.5.2 and the open issue list) · Target: Adobe Premiere Pro 2026 (26.5.2)

Every known shortfall, one entry each, ranked by what most stops an editor using FilmCraft for real work. This is the work list: agents should prefer it over adding checklist items. Numbers are in target-app-parity.md; estimates are Opus 5.5 agent-hours, calibrated there. When you close or shrink a gap, update its entry, its parity doc and the revision history.

Summary by kind: feature gaps G1, G2, G12, G13, G18, G19; UI / UX G8; file formats G2, G10, G13, G15; codecs G3, G10; hardware G5; localization G14; stability and platforms G4, G9, G17; performance G16; ecosystem G11; measurement G1, G6, G7; web G20.

# Gap Kind Blocks beta Estimate
G1 Nothing compares our output with Premiere's measurement no, but every ready number depends on it 40–70 h
G2 Premiere's .prproj cannot be opened file format yes 60–120 h
G3 10-bit and 4:2:2 camera media needs hardware codec yes 30–50 h
G4 Crashes at start-up, and no test CI on pull requests stability yes 40–80 h
G5 Hardware acceleration is partial hardware partly 120–200 h
G6 No real-world media corpus or workflow acceptance tests measurement yes 40–70 h
G7 No measured parity tool in CI measurement no 10–20 h
G8 UI fidelity: monitor handles, Effect Controls, docking UI / UX partly 120–200 h
G9 Windows and Linux at run time platforms partly 50–90 h
G10 Container and codec gaps on import file format, codec partly 120–200 h
G11 No plugin hosting ecosystem no 200–400 h
G12 AI features AI no 150–300 h
G13 Delivery formats file format no 60–110 h
G14 Localization: 8 of the 12 key languages missing localization no 150–230 h
G15 Interchange never validated in Avid / Pro Tools; slow XML import file format partly 20–40 h
G16 Performance reports on 0.5.0 performance partly 30–60 h
G17 Audio device and playback reliability stability partly 20–40 h
G18 Effects depth: approximations and missing behaviour feature no 60–110 h
G19 Speech to text off in release builds feature, AI no 5–10 h
G20 The web app shell platforms no 40–80 h

G1. Nothing compares our output with Premiere's

  • Missing: a fidelity harness. Every effect, transition, Lumetri control, blend mode, keyframe interpolation and audio effect counts once it exists; nothing renders the same project in Premiere and FilmCraft and compares frames or samples. Effects described as approximations count the same as exact ones.
  • Evidence: catalogue tests check names and folders only. EffectCraft's live After Effects comparison (its gaps.md G1) found real bugs in features marked done on its first run.
  • Impact: "ready for real work" stays an estimate; colour and effect differences surface only when a user notices.
  • Done when: a corpus of original test projects (our own media), opened in Premiere through FCP7 XML / OTIO, rendered by both, with per-effect PSNR / ΔE and audio-sample scores reproducible from one command; Premiere output stays local in plan/premiere/ (gitignored). Owner runs Premiere (installed). 40–70 h. Doc: target-app-parity.md.

G2. Premiere's .prproj cannot be opened

  • Missing: import of Premiere project files. grep -ri prproj crates apps finds nothing. Today an editor must export FCP7 XML, AAF or OTIO from Premiere first, losing bins, effects and most metadata; there is no "Selection as Premiere Project" export either.
  • Impact: the beta bar requires opening the target's main format; every switching editor's existing work is behind this.
  • Approach: .prproj is gzip-compressed XML. Clean-room from projects we author ourselves in Premiere (the owner has plan/premiere/fixtures/filmcraft_ref.prproj): sequences, tracks, clips, in/out, speed, transitions, markers, bins, labels, then the common effect parameters (Motion, Opacity, Lumetri basic, Volume). Report what was not imported. Export later. 60–120 h. Doc: file-format-parity.md.

G3. 10-bit and 4:2:2 camera media needs hardware

  • Missing: our H.264 decoder is 8-bit 4:2:0 only (crates/h264/README.md: no High 10, High 4:2:2, 4:4:4, lossless, interlaced field / MBAFF); HEVC has no 4:2:2 / RExt. Most mirrorless and cinema cameras record exactly these (Sony XAVC S-I / XAVC HS 4:2:2 10-bit, Panasonic, Canon XF-AVC, Fujifilm).
  • Evidence: #626 (Panasonic Lumix 4K 10-bit 4:2:2 MOV). On macOS VideoToolbox decodes 10-bit 4:2:2 H.264 / HEVC on chips that support it; Windows Media Foundation and Linux decline them, and there is no software fallback, so the clip fails. Premiere decodes them everywhere (and in hardware on Apple silicon, Intel and NVIDIA Blackwell).
  • Impact: camera originals from most current cameras do not open on Windows or Linux.
  • Estimate: H.264 High 10 + High 4:2:2 (chroma geometry, deblocking, transforms) 15–25 h; HEVC Main 4:2:2 10 (RExt subset) 15–25 h. Doc: codec-parity.md.

G4. Crashes at start-up, and no test CI on pull requests

  • Missing: a launch that never fails, and CI that runs the gates.
  • Evidence: open issues: macOS 12 Monterey aborts on a missing VideoToolbox symbol (#468, #661, #655), Intel UHD graphics (igvk64.dll, #512), Windows 11 does not run or fails after setup (#380, #582, #413, #477), crash on new project + import (#439), "it just keeps crashing" (#687). .github/workflows/ holds release, packaging lint, FreeBSD and Windows ARM64 builds; none runs cargo test or cargo xtask ci on a pull request, so 243 PRs merged since 10-05 were gated by contributors' local runs (main needed "green again after the batch merges" on 10-10).
  • Impact: a user who cannot start the app gets zero value; regressions land unnoticed.
  • Done when: weak-linked or runtime-loaded OS symbols on old macOS, a software / safe-mode start when the GPU adapter fails, a PR workflow running cargo xtask ci on macOS, Windows and Linux, and a crash-report triage pass. 40–80 h.

G5. Hardware acceleration is partial

  • Have: hardware decode on macOS (VideoToolbox H.264 / HEVC), Windows (Media Foundation / D3D11: H.264, HEVC, VP9, AV1) and Linux (VA-API and NVDEC: H.264, HEVC); hardware encode VideoToolbox H.264 / HEVC 8-bit, NVENC H.264 (Windows, Linux) and HEVC incl. Main 10 HDR (Windows); GPU compositing, blend modes, 34 effect ids incl. Lumetri basic / creative / vignette, GPU export rendering (#421).
  • Missing: zero-copy decoded frames into wgpu (every frame is read back to the CPU and re-uploaded); VideoToolbox Main 10 / HDR HEVC encode and B-frames; ProRes hardware decode / encode on Apple silicon; Intel Quick Sync and AMD AMF encoders (and their 4:2:2 decode); VA-API VP9 / AV1 and VA-API encode; HEVC encode on Linux; AV1 hardware encode; ~48 of Premiere's ~82 accelerated effects (keys, masks, Lumetri curves / wheels / HSL, distortions, transitions); external video I/O (DeckLink / AJA, Mercury Transmit), control surfaces (EUCON / Mackie); a CPU fallback adapter renders everything on the CPU (#632).
  • Estimate: 120–200 h (hardware we don't own needs a human). Doc: hardware-parity.md.

G6. No real-world media corpus or workflow acceptance tests

  • Missing: a pinned corpus of phone, camera and screen recordings (variable frame rate, damaged files, long GOP, odd containers, multi-track audio), each with an import → edit → export round trip checked against an ffprobe / ffmpeg oracle; scripted MCP sessions that do real jobs end to end.
  • Evidence: export stopped producing frames with iPhone HEVC clips on Linux (#480); WebM shows black (#432); only the first audio track imported (#397, #416, #601; multi-stream support landed in #361, reporters not yet confirmed); bitrate target produced 6.1 Mb/s for 40 (#371).
  • Done when: corpus fetched pinned and sha256-verified (as PhotoCraft's cargo xtask corpus, craftrules standards/test-corpora.md), runs nightly, ≥ 50 files. 40–70 h.

G7. No measured parity tool in CI

  • Missing: cargo xtask parity (menus, commands, effects, transitions, panels, preferences, formats against plan/premiere/ snapshots), presence and fidelity reported separately (exact, approximate, stub), generating docs/parity-checklist.md.
  • Evidence: the 92% menu figure in this pass came from an ad hoc label-matching script.
  • Estimate: 10–20 h (the menu snapshot is local-only, so the tool needs a committed, Adobe-free list of menu paths or runs only where plan/ exists).

G8. UI fidelity: monitor handles, Effect Controls, docking

  • Missing: on-screen transform handles for Motion / Transform in the Program monitor (#639); Effect Controls keyframe zoom bar, draggable divider, row lines (#640–#645); panel docking rearrangement (#493); clicking empty space to deselect (#683); filmstrip thumbnails (#614); marquee selection in the Project panel (#578); Freeform bins and middle-mouse pan (#579); Program monitor Button Editor (+) (#431); keyframe curves for Position (#448); transition editing controls (#577); track renaming (#654); window controls on macOS (#637); UI scale on X11 (#457).
  • Estimate: 120–200 h. Doc: ui-parity.md.

G9. Windows and Linux at run time

  • Missing: routine runtime testing off macOS. Linux playback stutter (#617), Wayland title bar (#433), case-sensitive extensions (#593), "Report an issue" link (#642), Windows bins cannot be left (#587), Sequence Settings won't open on Windows (#586, #351), old hardware (#491).
  • Estimate: 50–90 h (overlaps G4's CI work).

G10. Container and codec gaps on import

  • Missing: E-AC-3 (#647; our AC-3 decoder refuses bsid 11–16), AVI (#598; listed as an extension but no demuxer), WMV / ASF, DV / DVCPRO / DV100, MPEG-4 Part 2, FLAC in MP4 (#603), camera RAW (R3D incl. R3D NE, ARRIRAW, Sony RAW / X-OCN, Canon RAW, BRAW, ProRes RAW; #345, #383), JPEG 2000 / JPEG XS MXF, Cinema DNG; stills: PSD, EXR, DPX, Targa, HEIF / HEIC, Radiance HDR, AI / EPS; transparent video (#402); Sony start timecode in rtmd (#460); stereo 3D flag (#500); MKV multi-audio (#601).
  • Estimate: 120–200 h (camera RAW alone 60–100 h, and some SDKs have licences we cannot use: clean-room from public specs only where specs exist). Docs: codec-parity.md, file-format-parity.md.

G11. No plugin hosting

  • Missing: VST3 / Audio Units, OpenFX, Premiere / After Effects plug-in APIs, UXP panels (#325).
  • Impact: many professional editors depend on third-party effects and audio plug-ins.
  • Needs: an owner decision (FFI under the unsafe rule, AGENTS.md §0.3). 200–400 h.

G12. AI features

  • Missing: Object Mask (Premiere 26.0, #406, #694), Generative Extend (needs a large video model; not reachable locally), media-intelligence search, caption translation, model-based Enhance Speech, Auto Reframe beyond heuristics, auto colour, Auto-Tag Audio Types.
  • Have: local Whisper transcription (off in releases, G19), Kokoro-82M text-to-speech narration (#278), scene edit detection, colour match.
  • Needs: openly licensed models we can ship. 150–300 h.

G13. Delivery formats

  • Missing: AV1 export (software or hardware), MPEG-2 / DVD / Blu-ray, DCP, JPEG 2000 MXF, AS-10 / AS-11, XDCAM HD MXF, P2, EXR / DPX / Targa / JPEG sequences, MP3 and AAC-only audio, ProRes 4444 / XQ in the export UI (#342; the encoder has the profiles), interlaced encoding, smart render, HEVC software encoder (HEVC exists only where a hardware encoder does).
  • Estimate: 60–110 h. Doc: file-format-parity.md.

G14. Localization: 8 of the 12 key languages missing

  • Have: Spanish, Japanese and Simplified Chinese catalogs cover ~99.6–99.9% of the ~3,500 cataloged strings; Portuguese (Brazil) and Ukrainian ~10% (menus).
  • Missing: Hindi, Arabic (no RTL interface layout; Arabic titles reported broken, #395), French (#498), Indonesian, German (#490), Korean (#508; needs Hangul fonts in craft-fonts), Vietnamese, Portuguese beyond menus; Premiere also ships Italian and Russian. Engine errors, CLI and MCP stay English. No language has a recorded native-speaker review.
  • Estimate: 150–230 h. Doc: localization-parity.md.

G15. Interchange never validated in Avid / Pro Tools; slow XML import

  • Missing: AAF and OMF exports have never been opened in Media Composer or Pro Tools; FCP7 XML / OTIO import of a Premiere sequence took 97 s / 66 s for three media files (#461); file.import merges into existing project content in headless round trips (#592).
  • Estimate: 20–40 h (needs a human with Avid / Pro Tools, both installed on the owner's Mac).

G16. Performance reports on 0.5.0

  • Missing: steady UI under load. Constant lag after 0.4 → 0.5 (#525), ~100% CPU (#523), "Render Effects In to Out" (#424). AV1 software decode is ~4 fps at 1080p single-threaded; 8K is not real time.
  • Estimate: 30–60 h. Doc: performance.md.

G17. Audio device and playback reliability

  • Evidence: Asus Xonar DX output broken (#605), no audio (#602), audio cuts out with overlapping clips (#336), buggy audio (#410), Linux stutter (#617). No ASIO; cpal only.
  • Estimate: 20–40 h.

G18. Effects depth: approximations and missing behaviour

  • Missing: Warp Stabilizer is 2-D (Premiere's is 3-D subspace), Morph Cut approximate, Lumetri HDR-aware maths, multicam paging beyond 16 angles, redesigned 26.0 mask tools (rounded corners, constrained lines).
  • Have: Optical Flow time interpolation synthesises motion-compensated in-between frames (dense coarse-to-fine Lucas–Kanade, CPU; #780); Transform shutter angle motion blur (#415); Ultra Key Setting applied as a parameter preset (#458).
  • Estimate: 60–110 h.

G19. Speech to text off in release builds

  • Missing: the whisper feature is off by default and in releases, so Transcribe Sequence, text-based editing and auto captions need a source build.
  • Estimate: 5–10 h (model download UX, licence check).

G20. The web app shell

  • Missing: file access, WebCodecs decode, audio in the browser build beyond what exists; image-sequence export downloads drop frames in Chrome (#378).
  • Estimate: 40–80 h. Doc: web.md.

Revision history

Date Change Summary
2026-10-10 major Created from ROADMAP.md's "Where we are lacking" (2026-10-05); re-ranked against Premiere 26.5.2 and the 188 open issues; added .prproj, 10-bit / 4:2:2 camera decode, launch crashes and missing PR CI, localization, delivery formats