effectcraft

Installation
SKILL.md

EffectCraft

Audit basis: this checkout is tag v0.15.0, commit 15b8a916c528e73d48f7a9cb4ff58276c7a2d3dd. The installed /Applications/EffectCraft.app reports version 0.15.0 and its binary prints effectcraft 0.15.0, so the bundle matches this source exactly. Verify against your installed version if the ArtCraft Launcher has auto-updated since. No references/ directory ships with this skill: every claim is cited inline to the repository.

Overview

EffectCraft is a free, open-source, clean-room reimplementation of Adobe After Effects 2026 for motion graphics and visual effects: compositions, layers, keyframes, 307 effects, layer styles, expressions, Classic and Advanced 3D, tracking, roto/paint, a render queue and Lottie/timeline interchange. It is pure Rust with no FFmpeg; media codecs come from the sibling FilmCraft project, pinned by revision (Cargo.toml). It is alpha: the repo self-rates ≈91% feature breadth but ≈45% "ready for real work" (docs/gaps.md:15-28, docs/target-app-parity.md, crates/engine/src/commands/query.rs:202). FilmCraft is the editing/NLE sibling; EffectCraft is the compositor. Source: GitHub storytold/effectcraft, MIT OR Apache-2.0.

v0.15.0 is a hardening release, not a feature release: git diff v0.14.0 v0.15.0 touches 19 files (+280/−51) and adds no command, MCP tool, control method, format or shortcut. It fixes a precomp-cycle stack overflow (#1237), a NaN shape-path panic, a sampleImage integer overflow, feather points on the first vertex, a tiny-negative-hue HSV bug, and makes script array setters reject wrong dimensions like After Effects does (crates/project/src/lib.rs:1478, crates/path/src/lib.rs:133, crates/expr/src/sample.rs:99, crates/keyframe/src/value.rs:82, crates/script/src/prelude.js:869).

Capabilities (verified)

Project and document model

  • Native .ecproj is versioned, pretty-printed JSON headed by savedBy and schema (currently 2), with activeComp/openComps/compTimes, settings, items, nextId, renderQueue, render templates and preferences (crates/project/src/lib.rs:34,59,1549-1567). Saving re-reads the text before writing and writes atomically, so a save cannot produce a file the app cannot open (crates/project/src/lib.rs:1545-1563, crates/engine/src/lib.rs:144).
  • XML project copy .ecprojx is the same data as EffectCraftProject XML (lossless, element-per-value, nesting capped at 128); Save a Copy As XML writes it, file.open reads it back, and a project opened from XML saves as XML again (crates/engine/src/xml_project.rs, crates/engine/src/commands/file.rs:43-91).
  • Autosave, crash recovery and MCP checkpoints; mcp --autosave writes a checkpoint after each mutating call (crates/engine/src/autosave.rs, docs/agents.md §Keeping headless work). Out-of-range values (size > 30,000 px, frame rate outside 0.001–1000, pixel aspect outside 0.1–10) are repaired on open and reported, not rejected (crates/project/src/limits.rs:16-25, crates/engine/src/commands/file.rs:49-65).
  • One project per app process, with compositions open as tabs restored from openComps; 34 panel kinds and 15 named workspaces, and any panel can move to its own native window (crates/ui-egui/src/dock.rs:14-58,281-297, crates/ui-egui/src/menus.rs:523-532, docs/architecture.md §3).
Installs
5
GitHub Stars
31
First Seen
9 days ago