storytold/effectcraft
55.6
Adequate · 7 November 2026
403.1k
lines of production code
Rust
primary language
2
measurements over time
What this system is
Behavioural changes
1 commit (0 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 1 commit, 4 files: “Never crash: deny panic lints in the already-clean crates and apps”. Also in this area: 2 commits (0 fixes) modifying (repo-wide).
crates/geom · low confidence · unverified
1 commit (0 fixes) modifying assets, crates/text, crates/time
A change to existing behaviour in assets, crates/text, crates/time — 1 commit, 22 files: “M0.1–M0.7: workspace, time/geom/color/keyframe/project/raster/path/text/effects/render crates”.
assets · medium confidence · unverified
1 commit (0 fixes) modifying assets, crates/text, crates/time
A change to existing behaviour in assets, crates/text, crates/time — 1 commit, 22 files: “M0.1–M0.7: workspace, time/geom/color/keyframe/project/raster/path/text/effects/render crates”. Also in this area: 1 commit (1 fix) fixing crates/time; 35 commits (0 fixes) modifying crates/engine.
crates/time · medium confidence · unverified
1 commit (0 fixes) modifying crates/engine/src/viewer, crates/ui-egui/src/display\_gpu
A change to existing behaviour in crates/engine/src/viewer, crates/ui-egui/src/display\_gpu — 1 commit, 2 files: “Viewer exposure on the full float range of 32 bpc frames (\#2937)” (refs \#2937).
_crates/engine/src/viewer, crates/ui-egui/src/display\gpu · medium confidence · unverified
1 commit (0 fixes) modifying extensions
A change to existing behaviour in extensions — 1 commit, 2 files: “Plug-ins: Ease Presets moves out of core into a bundled ScriptUI panel”. Also in this area: 2 commits (0 fixes) modifying extensions.
examples/plugins/posterize-bands, extensions, nix · medium confidence · unverified
161 commits (4 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 161 commits (4 fixs), 17 files: “M13.1: ScriptUI frontend (dialogs, palettes, dockable panels), script menus, example plug-in, docs”; “M4.13: motion blur of collapsed precomps and of animated shape / text content”; “fix(linux): enable font-free Wayland window controls”; and 158 more (refs \#932, \#291, \#1886, \#617, \#204, …).
(repo-wide) · low confidence · unverified
2 commits (0 fixes) modifying crates/text/src/layout
A change to existing behaviour in crates/text/src/layout — 2 commits, 1 file: “refactor(text): move src/layout.rs tests to src/layout/tests.rs”; “style: cargo fmt on the moved files”.
crates/text/src/layout · medium confidence · unverified
2 commits (0 fixes) modifying crates/ui-egui/src/panels/viewer\_text
A change to existing behaviour in crates/ui-egui/src/panels/viewer\_text — 2 commits, 1 file: “refactor(ui-egui): move src/panels/viewer\_text.rs tests to src/panels/viewer\_text/tests.rs”; “style: cargo fmt on the moved files”.
_crates/ui-egui/src/panels/viewer\text · medium confidence · unverified
3 commits (0 fixes) modifying apps/effectcraft, crates/automation
A change to existing behaviour in apps/effectcraft, crates/automation — 3 commits, 3 files: “G8: Plug-in Library: install, preview and update community WebAssembly effects (\#2524)”; “Plug-ins: external effect helpers (safe, out-of-process native effects) + plug-in API 2 (\#889)”; “Effect ▸ Install Effect Plug-in… and plug-in bundles (wasm + ScriptUI panel in one go) (\#2749)” (refs \#2524, \#889, \#2749). Also in this area: 1 commit (0 fixes) modifying crates/automation; 7 commits (1 fix) modifying crates/effects; 1 commit (1 fix) fixing crates/automation; 2 commits (2 fixes) fixing crates/automation.
crates/automation/src · low confidence · unverified
45 commits (5 fixes) modifying crates/ui-egui/src/panels
A change to existing behaviour in crates/ui-egui/src/panels — 45 commits (5 fixs), 34 files: “Viewer: 3D layer outlines and the axis gizmo clip at the camera instead of drawing long lines (\#572)”; “Let pan and zoom work while 3D Camera Tracker points are shown (\#505)”; “Viewer: Ctrl/Cmd draws a shape from its centre, as in After Effects (\#443 follow-up)”; and 42 more (refs \#572, \#505, \#443, \#351, \#633, …). Also in this area: 3 commits (1 fix) modifying crates/ui-egui/src/i18n.
crates/ui-egui/src/i18n · medium confidence · unverified
5 commits (1 fix) modifying crates/vp9enc
A change to existing behaviour in crates/vp9enc — 5 commits (1 fix), 7 files: “vp9enc: probability delta table, linear bool-encoder carry, clamp oversized frames (part of \#2416)”; “vp9enc: fixed-size SAD kernels and a revisit cache in the motion search (\#2413)”; “vp9enc: vectorised phase-plane filters and a predict fast path (part of \#2411)”; and 2 more (refs \#2416, \#2413, \#2411, \#2414, \#2412). Also in this area: 1 commit (0 fixes) modifying crates/vp9enc; 2 commits (0 fixes) modifying crates/vp9enc.
(repo-wide) · low confidence · unverified
6 commits (0 fixes) modifying crates/gpu
A change to existing behaviour in crates/gpu — 6 commits, 31 files: “M13.29: GPU effects part D (particles and remaining fallbacks)”; “M13.23: Shatter wireframe views and Foam's texture / map extras fall back via gpu\_supported (no readback attempt)”; “M13.28: GPU pixel ports (fx\_pixel2): CC Cross/Radial/Vector Blur, Reduce Interlace Flicker, CC Composite, Color Link, Cineon, HDR Compander/Highlight Compression, Grow Bounds, CC Overbrights, CC Block Load, CC Burn Film, CC Glass/Plastic, CC HexTile, CC Mr. Smoothie, Inner/Outer Key, CC Simple Wire Removal, Basic 3D”; and 3 more. Also in this area: 6 commits (1 fix) modifying crates/gpu/src; 1 commit (0 fixes) modifying crates/effects, crates/gpu, crates/raster; 1 commit (1 fix) fixing crates/gpu, crates/raster, crates/render.
(repo-wide) · low confidence · unverified
6 commits (0 fixes) modifying crates/render
A change to existing behaviour in crates/render — 6 commits, 17 files: “M0.6: content bounds helpers for viewer handles”; “M0.9–M0.10: egui frontend (AE-style panels, viewer, timeline, effect controls, dialogs), desktop app with control channel, host wiring; cargo fmt”; “Re-export color/geom from engine; kurbo\_path helper”; and 3 more. Also in this area: 1 commit (1 fix) fixing crates/path; 1 commit (0 fixes) modifying crates/path, crates/raster.
crates/path · low confidence · unverified
7 commits (0 fixes) modifying crates/effects
A change to existing behaviour in crates/effects — 7 commits, 10 files: “Effects: Fractal and Turbulent Noise stay inside the layer's alpha (\#939)”; “Cryptomatte: the rank planes are resolved once per evaluation and the GPU path reduces them on all cores, instead of formatting and looking up channel names for every pixel in a single-threaded loop (\#473)”; “Effects: CC Particle World / Systems II replace their layer with the particles”; and 4 more (refs \#939, \#473, \#702, \#1063). Also in this area: 7 commits (1 fix) modifying crates/render; 3 commits (3 fixes) fixing crates/raster; 1 commit (1 fix) fixing crates/gpu, crates/raster, crates/render; 1 commit (0 fixes) modifying crates/effects, crates/gpu, crates/raster.
crates/gpu/src/tests, crates/plugin, crates/raster · low confidence · unverified
72 commits (2 fixes) modifying crates/engine
A change to existing behaviour in crates/engine — 72 commits (2 fixs), 164 files: “M13.1: ScriptUI frontend (dialogs, palettes, dockable panels), script menus, example plug-in, docs”; “M7.7: merge fixes (Exposure param path, remaining stubs list, effects doc)”; “M13.7: Save Frame As Photoshop Layers / ProEXR, Watch Folder, Vanishing Point (disabled), Create Nulls From Paths, VR Comp Editor, Help tutorials”; and 69 more. Also in this area: 1 commit (0 fixes) modifying crates/keyframe; 1 commit (1 fix) fixing crates/keyframe; 4 commits (1 fix) modifying crates/keyframe.
(repo-wide) · low confidence · unverified
Fixes
3 commits (2 fixes) fixing crates/expr
A fix in crates/expr — 3 commits (2 fixs), 5 files: “fix(expr): bound runtime parser and native recursion depth (\#2124, \#2125)”; “fix(expr): JSON.stringify key lists report cycles; document stack guard coverage (\#2124, \#2125)”; “test(expr): deep-nesting tests assert the guard's own error (\#2124, \#2125)” (refs \#2124, \#2125). Also in this area: 2 commits adding/updating tests in crates/expr/src/tests; 3 commits (0 fixes) modifying crates/expr; 2 commits (1 fix) modifying crates/expr.
crates/expr/src/tests, examples · low confidence · unverified
Test coverage
1 commit adding/updating tests in crates/text; 12 commits adding/updating tests in crates/ui-egui/tests; 2 commits adding/updating tests in apps/effectcraft-web/tests/it.
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 56.
Lenses
- Code Health 35
- Architecture 93
- Maturity 86
- Readiness 73
- Security 70
- Event Sourcing 100
- Performance 70
Changes since last survey
- 300 commits — 280 feature/other, 20 fixes
By area
- (repo) — 97 commits
- crates/ui-egui — 61 commits
- crates/engine — 28 commits
- crates/effects — 22 commits
- (root) — 11 commits
- crates/export — 10 commits
- crates/gpu — 9 commits
- crates/render — 8 commits
- crates/media — 7 commits
- crates/aep — 6 commits
- apps/effectcraft-cli — 3 commits
- apps/effectcraft-web — 3 commits
- contributors/people.toml — 3 commits
- crates/expr — 3 commits
- crates/interchange — 3 commits
- crates/lottie — 3 commits
- crates/path — 3 commits
- crates/pdf — 3 commits
- .github/workflows — 2 commits
- crates/automation — 2 commits
Notable commits
- fix: Batch fixes: rustfmt, is_multiple_of in the Vegas test, drop a Swedish row #2718 retired
- fix: Fix #2803: Timewarp plays an animated Speed as a rate
- fix: Fix #2823: Propagate boxes SAM 2 around the matte shown on the stroked frame (#2826)
- fix: Fix #2904: a second layer or a copy of v-b1.mp4 is v-b1.mp4 2, not v-b1.mp 2
- fix: Fix #2907: say that text animator indexes count from 1
- fix: Fix #2917: material.set names the Material Options a layer doesn't have
- fix: Fix #2919: Match Grain takes no sample box beside transparent pixels
- fix: GPU: build effect kernels on first use, each family from a module of its own (fixes #1590) (#1705)
- fix: GPU: size the memory cap from the card's video memory on Linux (fixes #1487) (#1706)
- fix: Merge current main into fix/gnome-window-decorations
- fix: Merge pull request #1598 from danielmigueltejedor/fix/gnome-window-decorations
- fix: Merge pull request #2916 from vangel76/fix/exr-scene-linear-output
- fix: Merge pull request #3091 from ZIDAN44/fix/1826-marker-bin-double-click
- fix: Merge remote-tracking branch 'upstream/main' into fix/exr-scene-linear-output
- fix: Merge upstream/main into fix/exr-scene-linear-output
- fix: fix(flatpak): install NOTICE only once
- fix: fix(packaging): remove duplicate font and Hayro notices
- fix: fix(path): Wiggle Paths no longer overflows on an absurd speed, time or phase
- fix: fix(prefs): when recovering from a bad value, try only the settings' own pages one by one (#3010)
- fix: gpu: memory back-pressure for frames in flight (fixes OOM at 3–4 frames in flight) (#1550)
- …and 280 more
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
storytold/effectcraft was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 7 November 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 519769299f6390e62b778d469422497577799ea2 — the exact code this score is about.
- Scored under rubric-2026.11.2 — the same rubric and the same method as every other entry in this index.
- Measured by Canine Code Analyzer (cca.canine.dev) using cca measure-2026.11.3+preprod-5f8314471808.