effectcraft/crates/engine/src
Claude a831d12975
Puppet: dragging pins keeps the layer under the Puppet cached (#212)
Every pin move re-rendered the Puppet's input (source, masks and the
effects before it) at full size on the UI thread and deep-copied it
for the mesh overlay: the cache key of a layer's input hashed all of
its effects, so moving a pin of the Puppet changed the key of its own
input. The input key now covers only the effects that run before the
Puppet, and the overlay shares the cached buffer.

Test: input_keys_ignore_later_effects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018gnTnH3Jmk5zr4tMq1Mc9f
2026-10-07 22:13:19 +00:00
..
commands Puppet: dragging pins keeps the layer under the Puppet cached (#212) 2026-10-07 22:13:19 +00:00
menus M3.13: menu bar: Group/Ungroup Shapes in the Layer menu, Window ▸ Learn, flowchart shortcuts, Center In View shortcut, Reveal in Explorer on Windows 2026-10-04 23:58:00 +07:00
autosave.rs M3.14: project files name the version that wrote them, never save unreadable, keep their format 2026-10-05 00:08:07 +07:00
camera_track.rs Never crash: engine without expect() (job polling, commands, menus) 2026-10-04 13:40:46 -04:00
config.rs M13.1: branching history, puppet pin recording, WebAssembly plug-in API, ScriptUI model and hosts, File ▸ Scripts, deterministic render test 2026-10-03 04:07:20 -04:00
demo.rs M9.12: effect parameter fidelity – all categories 2026-10-03 00:15:06 -04:00
footage_check.rs M3.9: closing a modified project asks to save it first; the modified mark follows undo 2026-10-04 23:02:14 +07:00
guard.rs Never crash: last-resort guard around command execution, and a logging panic hook 2026-10-04 13:27:33 -04:00
history.rs M13.1: branching history, puppet pin recording, WebAssembly plug-in API, ScriptUI model and hosts, File ▸ Scripts, deterministic render test 2026-10-03 04:07:20 -04:00
jobs.rs M13.32: web main-thread stall: Warp Stabilizer plans solved in job workers 2026-10-04 03:40:46 -04:00
learn.rs M13.5: Home ▸ Learn tab with interactive tutorials (learn.list/start/step/stop/state, coach card, target highlight) 2026-10-03 05:25:45 -04:00
lib.rs CLI: --format hevc / av1 write HEVC / AV1; an unknown comp is named (#154, #155) 2026-10-07 12:28:12 +07:00
links.rs Rename PrintCraft to PdfCraft (storytold/pdfcraft) (#207) 2026-10-07 15:37:26 -04:00
logging.rs Never crash: last-resort guard around command execution, and a logging panic hook 2026-10-04 13:27:33 -04:00
mask_track.rs M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter 2026-10-05 20:39:45 +07:00
media_browser.rs M13.10: web frame workers fed by project diffs, offloaded Roto Brush propagation, non-blocking wait jobs, browser Media Browser 2026-10-03 08:36:00 -04:00
media_cache.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
menus.rs Window: saved workspaces are listed in Window ▸ Workspace (#191) 2026-10-07 20:17:28 +07:00
models.rs M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter 2026-10-05 20:39:45 +07:00
offload.rs M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter 2026-10-05 20:39:45 +07:00
perf.rs Never crash: engine without expect() (job polling, commands, menus) 2026-10-04 13:40:46 -04:00
prefs.rs Settings: handle invalid Unicode label colours gracefully 2026-10-06 09:58:59 -07:00
preview.rs M13.8: Preview panel shortcuts and Align panel commands 2026-10-03 07:38:46 -04:00
psd_import.rs M13.6: PSD smart objects apply perspective quads and placed-layer warps 2026-10-03 07:21:00 -04:00
remote.rs M13.30: web depth and polish 2026-10-04 02:57:17 -04:00
render_queue.rs CLI: --format hevc / av1 write HEVC / AV1; an unknown comp is named (#154, #155) 2026-10-07 12:28:12 +07:00
roto.rs M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter 2026-10-05 20:39:45 +07:00
rq_tests.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
scriptui.rs M13.11: scriptui concave fills, real images, wasm cfg gating 2026-10-03 10:28:56 -04:00
session_settings.rs M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter 2026-10-05 20:39:45 +07:00
shortcuts.rs M14.3: keyboard shortcut editor 2026-10-02 09:14:54 -04:00
storage.rs M13.24: web app depth (WEB-1) — GPU effects in frame workers, OPFS disk cache, storage manager 2026-10-03 18:35:03 -04:00
sysinfo.rs FreeBSD: system info reports memory, CPU model and OS version 2026-10-05 11:33:06 -04:00
templates.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
tests.rs Masks and Project panel: selecting a mask selects its points; linked Mask Feather; selection box (#203) 2026-10-07 22:13:19 +00:00
tests_3d.rs M7.3: Auto-Orient (along path, towards camera), Draft 3D, 3D switch off drops Z 2026-10-01 22:42:27 -04:00
tests_anim_tools.rs ANM-6, CMP-5, CMP-3: Wiggler/Smoother/Motion Sketch, marker dialog + timeline markers, pre-compose options + comp navigator 2026-10-02 10:47:02 -04:00
tests_camera_track.rs M12.6: 3D Camera Tracker effect + UI 2026-10-02 23:02:47 -04:00
tests_codec_options.rs Export: AV1 WebM refuses an explicit RGB + Alpha request (#166) 2026-10-07 15:48:17 +07:00
tests_color_view.rs M13.30: web depth and polish 2026-10-04 02:57:17 -04:00
tests_disk_cache.rs Preview: Audio, Lock and Shy keep the cache; playback with audio waits for frames (#103) 2026-10-07 01:46:35 +07:00
tests_effects.rs Never crash: engine without expect() (job polling, commands, menus) 2026-10-04 13:40:46 -04:00
tests_essential.rs M13.11: essential graphics mirrored and linked properties 2026-10-03 09:38:19 -04:00
tests_essential_more.rs Merge main into M13.11 (bokeh kernel_spans/blur_levels, Essential Graphics as_type controls with mirrors and links) 2026-10-03 09:54:37 -04:00
tests_face.rs M13.36: face tracking trained model — MediaPipe Face Landmarker on a pure-Rust TFLite interpreter 2026-10-05 20:39:45 +07:00
tests_fidelity.rs M4.4: collapse transformations + slip 2026-10-02 10:14:53 -04:00
tests_frame_export.rs M13.7: Save Frame As Photoshop Layers / ProEXR, Watch Folder, Vanishing Point (disabled), Create Nulls From Paths, VR Comp Editor, Help tutorials 2026-10-03 07:55:04 -04:00
tests_history.rs M3.9: a browser session restored with unsaved changes stays modified 2026-10-05 06:33:40 +07:00
tests_keylight.rs M5.16: Key Light: keyer eyedroppers pick from the effect input (effect.pickColor); "keylight" search 2026-10-05 11:04:10 +07:00
tests_lottie.rs M11.4: Lottie export/import 2026-10-02 08:56:03 -04:00
tests_m137.rs M13.7: Save Frame As Photoshop Layers / ProEXR, Watch Folder, Vanishing Point (disabled), Create Nulls From Paths, VR Comp Editor, Help tutorials 2026-10-03 07:55:04 -04:00
tests_m145.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
tests_markers.rs M13.33: nested comp markers on the precomp layer bar 2026-10-05 15:12:06 +07:00
tests_mask_warp.rs M13.32: web main-thread stall: Warp Stabilizer plans solved in job workers 2026-10-04 03:40:46 -04:00
tests_menu_cmds.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
tests_model3d.rs CMP-7: Essential Graphics controls, master properties, .ectemplate templates, Responsive Design — Time 2026-10-02 22:44:06 -04:00
tests_models.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
tests_motion_blur_depth.rs M4.13: motion blur of collapsed precomps and of animated shape / text content 2026-10-05 12:35:30 +07:00
tests_paint.rs M13.16: puppet Follow-Through — puppet.follow (Puppet tool bar ▸ Follow-Through…) makes pins trail a leader pin for hair, cloth and overlapping action: each follower's Position adds the leader's displacement from rest delayed by `delay` (the k-th nearest by k × delay with Cascade), scaled by Amount, keeping its own keyframes; leader = the first selected pin, followers = the others; one undo step; reachable over MCP (execute_command) 2026-10-04 00:19:26 +07:00
tests_panels.rs M13.30: Content-Aware Fill in a job worker on its GPU 2026-10-04 03:15:54 -04:00
tests_project_items.rs Edit: Delete removes selected animators, masks and shape groups (#151) 2026-10-07 13:32:40 +07:00
tests_proxy.rs Never crash: engine without expect() (job polling, commands, menus) 2026-10-04 13:40:46 -04:00
tests_rig3d.rs M7.7: camera/light rigs and Advanced 3D motion blur, blend modes, track mattes 2026-10-03 00:27:47 -04:00
tests_roto.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
tests_settings.rs Settings: handle invalid Unicode label colours gracefully 2026-10-06 09:58:59 -07:00
tests_stubs.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
tests_styles.rs M9.4: layer styles render + commands 2026-10-02 00:00:00 -04:00
tests_tail.rs M13.12: Variable Font Axes animators change advances (text re-spaced) 2026-10-03 09:34:15 -04:00
tests_text.rs Merge main (engine menu tree) into M9.6; wire text animation menus 2026-10-02 00:44:20 -04:00
tests_text_edit.rs test: tolerate installed variants of bundled font families 2026-10-06 16:40:12 -05:00
tests_timeline.rs M13.20: every Timeline property shortcut — double presses AA (Material Options), PP (paint / Roto Brush / Puppet), SS (selected properties), RR (Time Remap), TT (Mask Opacity), MM (all mask properties; a single M now shows Mask Path), FF (missing effects), EE (expressions) next to LL and UU; Alt+Shift+A/P/S/R/T add or remove a keyframe at the current time on every selected layer in one undo step (keys.toggleTransform: separated X/Y/Z Position, Orientation and X/Y/Z Rotation on 3D layers); Ctrl/Cmd+` twirls the selected layers open or closed (from a reveal, their full tree) 2026-10-04 01:10:33 +07:00
tests_timeline_interchange.rs Merge branch 'main' into worktree-agent-a9fea98fe9839069d (filmcraft rev 2c5ba7a: AAF and OMF interchange) 2026-10-04 00:45:00 -04:00
tests_track.rs CMP-7: Essential Graphics controls, master properties, .ectemplate templates, Responsive Design — Time 2026-10-02 22:44:06 -04:00
tests_vector_import.rs IO-2/SHP-5/PRV-2: PSD import, SVG import + vector/text conversions, persistent disk cache 2026-10-02 22:10:48 -04:00
tests_viewer.rs M13.5: stroke taper/wave/multi-dashes, radial gradient highlight, variable-width mask feather, adaptive motion-blur samples 2026-10-02 23:22:53 -04:00
tracking.rs Never crash: engine without expect() (job polling, commands, menus) 2026-10-04 13:40:46 -04:00
vector.rs M13.12: Create Shapes from Vector Layer keeps images as parented footage layers in paint order 2026-10-03 09:23:29 -04:00
viewer.rs Viewer: Pan Behind snaps the anchor to its own layer (#147) 2026-10-07 13:44:46 +07:00
warp.rs Never crash: engine without expect() (job polling, commands, menus) 2026-10-04 13:40:46 -04:00
xml_project.rs M14.5: wire the remaining settings; keyframe assistants and labels; AE menu entries 2026-10-03 02:45:44 -04:00