Composition viewer interaction parity with After Effects:
- Snapping (View > Snapping, the Tools bar checkbox, Cmd/Ctrl inverts while
dragging): layer edges, centres and anchor points, mask and shape-path
vertices, comp edges/centre, guides (Snap to Guides) and grid (Snap to
Grid), with highlighted target box / line / cross feedback. Pure maths in
engine::viewer (nearest target within tolerance, priority ties).
- Rulers (Cmd+R) with live pointer markers and a draggable zero point;
guides dragged out of the rulers, moved in the viewer, dragged off to
remove (view.moveGuide / view.removeGuide), lock respected; proportional
grid.
- Show Channel (RGB/Red/Green/Blue/Alpha/RGB Straight, Colorize), exposure
(+/- stops in linear light, reset), Take Snapshot (Shift+F5) with a stored
render and Show Snapshot (F5 held / button held), Fast Previews (Off,
Adaptive Resolution, Draft, Fast Draft, Wireframe), Resolution > Custom.
- Region of interest: drawn in the viewer; RenderOpts.roi renders only that
rectangle (crop of the full render, tested), Crop Comp to ROI uses it.
- Bottom bar in AE 2026 order ("136.1 %", "(Full)").
- Shape Pen (SHP-1): Pen on a shape layer / nothing selected draws Shape n
groups (Path 1, Stroke 1, Fill 1) via shape.newPath; the G slot cycles
Add / Delete / Convert Vertex and Mask Feather; mask.* vertex commands
work on shape paths; mask.insertVertex / mask.convertVertex; marquee
vertex selection, Alt-drag/click converts, double-click free transform
box (path.freeTransform on masks and shape paths).
- Motion paths (ANM-3): keyframe dots and spatial tangent handles, dragging
keys (keys.set) and tangents (keys.setSpatialTangents), parented layers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7.0 KiB
Parity with After Effects
How close EffectCraft is to After Effects 2026, feature by feature, and how much work is left.
Audited against the code at commit 5273f1b (2 October 2026). Every feature in our catalog was
graded from the code itself: a disabled menu entry, or a setting that is stored but never
rendered, does not count as done.
Summary
| Measure | Value |
|---|---|
| Feature parity, weighted by tier (P0 ×3, P1 ×2, P2 ×1) | ≈ 64% |
| Feature parity, unweighted | ≈ 58% |
| P0 (it isn't After Effects without it) | ≈ 75% |
| P1 (professional daily use) | ≈ 38% |
| P2 (long tail) | ≈ 17% |
| Features done / partial / missing | 18 / 60 / 14 of 92 |
| Effects | 257 of 298 After Effects 2026 effects by name (86%); ≈ 70% allowing for simplified implementations |
| Remaining work | ≈ 167 agent-hours (139 h of features + ≈ 20% for 1:1 polish against After Effects) |
| Wall-clock estimate | ≈ 42–50 hours with five agents working in parallel and one integrating; ≈ 31–35 h for P0 + P1 only |
"Agent-hours" are hours of one autonomous coding agent (Claude Opus 5.5) working in its own git worktree with tests. The estimate is calibrated on this repository's own history: Classic 3D (cameras, lights, shadows, depth of field, views, tools) took one agent about 2.7 h; timeline depth (graph editor, keyframe dialogs, time remapping, pen and masks) about 2.3 h; 85 effects about 1.2 h; the After Effects menu bar about 1.3 h; layer styles about 0.6 h; the web build about 0.8 h. What is left is harder on average (tracking, roto, puppet, GPU, Advanced 3D), and sequential chains (tracker → mask tracking → Warp Stabilizer → 3D camera tracker; GPU compositor → GPU effects) limit how much can run in parallel.
Work in progress at the time of the audit, not yet counted: motion tracking, preferences and the keyboard shortcut editor, auto-save and crash recovery, paint and puppet tools, Lottie import and export.
Update after the second wave (same day, commit e1f7241)
Motion tracking (1-, 2- and 4-point, stabilize, corner pin), paint (Brush, Clone Stamp, Eraser with write-on) and the puppet tools, preferences, a keyboard shortcut editor that rebinds, auto-save and crash recovery, Lottie import and export, Effect Controls widgets (angle dial, point crosshair, eyedropper, curves and levels editors, effect copy/paste) and 20 more menu commands landed. Re-scoring only the features they touch:
| Measure | Before | After |
|---|---|---|
| Feature parity, weighted | 63.7% | ≈ 70% |
| P0 / P1 / P2 | 75% / 38% / 17% | 78% / 56% / 17% |
| Remaining, audit estimate | 167 agent-hours | ≈ 141 agent-hours |
Calibration. The audit priced this wave at about 21 agent-hours; five agents delivered it in about 1.5 hours of wall-clock time (roughly 6 agent-hours of actual work), though some features landed at 80–90% rather than fully done. So the per-feature estimates above are conservative. Remaining wall-clock time with five parallel agents is therefore somewhere between ≈ 12–15 hours at the pace observed so far and ≈ 35–40 hours if the audit's figures hold. The hardest remaining systems (Roto Brush, Warp Stabilizer, the 3D camera tracker, Advanced 3D, GPU rendering, on-canvas text editing) are where the conservative figure is most likely to be right.
By area
| Area | Weighted parity | Remaining (agent-hours) | Biggest gaps |
|---|---|---|---|
| Layers | 88% | 4.8 | frame blending, collapse transformations, slip edit |
| Output | 85% | 4.2 | multiple output modules, pre-render, WebM, audio-only |
| Audio | 85% | 0.5 | audio to keyframes |
| Import | 78% | 4.5 | PSD, SVG as shapes, Lottie |
| Automation | 76% | 3.3 | a JavaScript scripting object model |
| Shapes | 68% | 3.9 | taper and wave strokes (pen tool for shape paths and vertex editing landed in M6.5) |
| Compositions | 67% | 7.4 | marker dialog, flowchart, Essential Graphics |
| Animation | 65% | 10.4 | puppet, Wiggler/Smoother/Motion Sketch (motion-path handles and the graph editor transform box landed in M5.8) |
| Text | 63% | 5.8 | on-canvas editing with a cursor, per-character styles, paragraph spacing and indents |
| Web | 60% | 2.5 | threads, browser storage, audio |
| 3D | 58% | 20.5 | Advanced 3D (models, PBR, image-based light), 3D camera tracker, multi-view layouts |
| Effects | 56% | 14.6 | Effect Controls widgets (angle dial, point crosshair, eyedropper, curves), GPU effects, 41 missing effects |
| Interface | 55% | 10.4 | drag-to-dock and floating panels, preferences, native macOS menus (viewer rulers/snapping/channels/snapshots landed in M0.13) |
| Project | 53% | 8.1 | 8/16/32-bit pipeline and colour management, auto-save, proxies, folder moves |
| Masks & roto | 44% | 13.0 | mask tracking, Roto Brush, variable-width mask feather points |
| Preview | 43% | 8.1 | GPU compositor, disk cache (region of interest, snapshots, exposure and Fast Previews landed in M0.13) |
| Tracking | 0% | 13.0 | point tracker, Warp Stabilizer, mask and face tracking |
| Paint | 0% | 4.0 | Brush, Clone Stamp, Eraser |
Effects still missing
Immersive Video (all 12), 3D Channel (all 8, including Cryptomatte), Color Stabilizer and the five OCIO transforms, CC Flo Motion, Liquify, Rolling Shutter Repair, Warp Stabilizer, Compressor, Distortion and Gate (audio), Camera-Shake Deblur, CC Radial Blur, CC Hair, Particle Playground, Keylight (our Screen Key stands in), Color Profile Converter and the 3D Camera Tracker. Boris FX Mocha and Cineware are third-party and not counted.
Highest-value gaps, in order
- On-canvas text editing and per-character styles.
- Effect Controls widgets: angle dial, point crosshair, eyedropper, curves and levels editors.
Viewer basics: snapping, rulers, channel view, snapshots, exposure, a drawable region of interest.(M0.13)- A GPU (wgpu) compositor, then GPU effects.
Pen tool for shape paths, shape vertex editing, free transform(M6.5); the Layer viewer.Motion-path handles in the viewer; graph editor transform box and snapping.(M5.8)- Point tracking and stabilization (in progress).
- Frame blending, collapse transformations, slip edit.
- A real 8/16/32-bit pipeline with linear blending and colour management.
- Drag-to-dock and floating panels, saved workspaces, native macOS menus.
- Auto-save, crash recovery, recent projects (in progress).
- Expression gaps:
sampleImage, thesourceTextstyle API,footage(). - Lottie (in progress), WebM, SVG and PSD import.
- Puppet and paint tools (in progress).
- Preferences and a shortcut editor that can rebind (in progress); real Wiggler, Smoother and Motion Sketch; the marker dialog.
The engine underneath (keyframes, expressions, shape operators, text animators, Classic 3D, all 38 blend modes, the render queue) is deep. Most of what is missing is interactive tooling in the viewer, settings that are stored but not yet rendered, about 69 menu entries that are still disabled, and the large systems: tracking, puppet, paint, roto, Advanced 3D and GPU rendering.