Files
effectcraft/ROADMAP.md
T
bflatasticandClaude Opus 5.5 26c714db7f M4.14: content-keyed RAM preview frames; proxies in the disk cache's content key
- FrameKey's identity is the comp's content (frames::comp_content), not the project revision:
  an edit keeps the cached frames of comps it doesn't touch and undo finds the frames of the
  state it returns to. The identity hashes the addresses of the comps a comp draws (~0.1 ms on
  the 1500-layer test project; the full content hash took ~117 ms), by value the footage, solids,
  proxies and project settings; with expressions, every item. Frames::content_of keeps a
  project snapshot per identity with frames (or in flight), so Arc::make_mut always copies an
  edited comp and its address can't be reused meanwhile; past 64 identities the least recently
  used go with their frames (long drags).
- drop_stale is gone (frames of other contents are evicted least-recently-shown first).
- disk_cache::comp_content_key covers items' proxies and Use Proxy (it served stale frames).
- Tests: frames (content keys, edits elsewhere and undo, bounded drags, in-place edit safety),
  ui_ram_preview (end to end), the disk cache proxy key. Docs: roadmap (M4 done), parity.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 14:39:17 +07:00

3.6 KiB
Raw Blame History

Roadmap

EffectCraft aims to do what After Effects does, with the same panels, menus and behaviour, written from scratch in Rust. This is where it stands. The milestones overlap; several are worked on at once.

Milestone State
M0 Skeleton: crates, compositor, the After Effects style shell, control channel, cargo xtask Done (web build: docs/web.md)
M1 Keyframes: temporal and spatial interpolation, Easy Ease, roving, velocity Done
M2 Compositing: 38 blend modes, track mattes, parenting, adjustment layers Done
M3 Project operations: settings dialogs, layer commands, .ecproj, undo, After Effects menu bar Done (unsaved-changes prompts, Solid / Layer Settings, lock-aware layer commands, safe project files; View ▸ New Viewer still opens only the one locked viewer)
M4 Preview: precomps, motion blur, cached playback Done (Preserve frame rate / resolution when nested, one motion blur gate, RAM preview fixes, Cache Frames When Idle, motion blur of collapsed precomps and of animated shape / text content, content-keyed RAM preview frames)
M5 Timeline depth: graph editor, keyframe clipboard and dialogs, time remapping, pick-whips, expression editor Done
M6 Shapes, masks and footage: shape operators, masks and the pen tool, video and image import Done
M7 3D: 3D layers, cameras, lights, shadows, depth of field, 3D views and camera tools In review
M8 Expressions with the After Effects object model Done
M9 Text and effects: text animators, layer styles, 306 effects (all 298 of After Effects') incl. time and audio effects Done (range, wiggly and expression selectors, per-character 3D, text on a path)
M10 Export: render queue, H.264, ProRes, image sequences, GIF, audio Done
M11 Animation tools: audio playback, meters and waveforms, Lottie import and export, presets, Motion Sketch, Wiggler, Smoother Done
M12 Performance: layer cache, parallel and GPU compositing, disk cache, motion tracking (done); GPU versions of the remaining CPU-only effects Mostly done
M13 Puppet tools, paint, Roto Brush, motion tracking, a plug-in API, Timeline depth Done (Roto Brush and face tracking use classical models; learned models are still to come)
M15 The web app (WebAssembly, WebGPU) Done: browser storage, Web Audio, renders and analyses in Web Workers, viewer frames and GPU effects in frame workers with their own WebGPU devices, the disk cache in the Origin Private File System, a storage manager, offline install (docs/web.md)
M14 Built for agents: MCP server, command-line tool, control channel; Settings, keyboard shortcut editor, auto-save and crash recovery (docs/preferences.md) Done

How far from full parity

Measured feature by feature in docs/parity.md (4 October 2026):

  • ≈ 99% of After Effects' features, weighted by importance, counting partial features as half done (≈ 99.8% with per-feature fractions): 89 of 92 features done, 3 partial, none missing; every essential (P0) feature done; all 306 effects implemented in full, 280 of them on the GPU.
  • ≈ 8.5 agent-hours of work remain: about 2–3 hours of wall-clock time with five Claude Opus 5.5 agents in parallel, ≈ 1 hour without learned models for Roto Brush and face tracking.
  • What is left: GPU kernels for the remaining visual effects, and learned-model quality for Roto Brush and face tracking (parity.md).

Come tell us what matters most to you on Discord.