effectcraft/crates
Claude 657f34d40b
Layers: with several layers selected, value edits, stopwatches and viewer Scale / Rotate change them all (#355, #491)
With several layers selected, After Effects applies a property edit to the same property of
every selected layer; we changed only the layer whose row was edited (the Properties panel
showed only the first selected layer), so a stopwatch switched on one layer and later moves
of the others had nothing to keyframe (#355), and scaling or rotating a selection changed
one layer (#491).

- Engine: `prop.set`, `prop.toggleAnimation` and `prop.toggleKey` take `selected: true`:
  the change also goes to the same property (by match path, `transform/scale`,
  `effects/<effect>#n/<param>`) of every other selected, unlocked layer whose value has the
  same kind, in one undo step (a scrub keeps folding into it through its `merge` key). With
  `offset: true` (a scrub) each layer changes by the same amount from its own value; a typed
  value sets them all. Position with Separate Dimensions is handled per layer.
- The Timeline, Properties and Effect Controls panels pass `selected` (and `offset` while a
  value is dragged). The Properties panel heads "(N) Selected Objects" (zh-CN / zh-TW / ja /
  uk rows).
- Viewer: a bounding-box handle drag scales every selected layer by the same ratio about its
  own anchor point; the Rotation tool turns them all by the same angle (one undo step).

Tests: engine test (stopwatch, scrub offset, typed value, keyframe button, one undo step,
unselected layers untouched); kittests: the Properties panel with three layers selected
(header, stopwatch on all three undone in one step, a scrub moving all three by the same
amount) and a handle drag scaling two selected layers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f
2026-10-10 21:23:36 +00:00
..
automation Lint the merged community PRs: no drop of a borrowing closure (#458), json only where drops import (#447) 2026-10-10 15:45:46 +00:00
av1enc G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
color Blend modes: classic modes fade with opacity and HDR modes keep over-range values, as in After Effects (#494) 2026-10-10 20:51:24 +00:00
effects Effect Controls: file parameters get Choose…, Apply Color LUT asks for its LUT on apply, and text parameters get a field (#514, #473) 2026-10-10 19:48:25 +00:00
engine Layers: with several layers selected, value edits, stopwatches and viewer Scale / Rotate change them all (#355, #491) 2026-10-10 21:23:36 +00:00
export G3: preserve exported audio sample positions 2026-10-10 17:55:50 +10:00
expr Format the merged community fixes (#561-#566 follow-up) 2026-10-10 12:49:52 +00:00
geom Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
gpu Blend modes: classic modes fade with opacity and HDR modes keep over-range values, as in After Effects (#494) 2026-10-10 20:51:24 +00:00
hevcenc Untrack crates/hevcenc/target (36 MB of build output) and ignore nested target/ 2026-10-06 15:02:20 -04:00
host Integrate community PRs: relink's params doc and menu rows, pt-BR in the language list, MCP docs, test fixes 2026-10-10 15:15:11 +00:00
interchange Never crash: reject timeline documents nested too deeply 2026-10-04 14:05:57 -04:00
keyframe Graph Editor: the speed graph of a curved motion path is smooth, not jagged (#456) 2026-10-10 20:42:34 +00:00
lottie G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
media Media: a multi-layer EXR's picture and its EXtractoR / Cryptomatte channels share one decode (#474) 2026-10-10 20:40:50 +00:00
model G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
opusenc G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
path G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
pdf Merge pull request #557 from haranishi/fix/pdf-inflate-limit 2026-10-10 12:51:15 +00:00
plugin G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
project Merge branch 'fix/f4': community issue fixes 2026-10-10 20:00:37 +00:00
psd G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
raster Effects: EXtractoR picks layers and channels of multi-layer EXRs (#295) 2026-10-09 17:32:09 +07:00
render Merge branch 'fix/f4': community issue fixes 2026-10-10 20:00:37 +00:00
script Merge branch 'fix/f4': community issue fixes 2026-10-10 20:00:37 +00:00
segment Merge pull request #374 from storytold/fix/368-tflite-budgets 2026-10-09 09:25:24 -04:00
svg G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
text UI: Arabic, Hebrew, Indic and Thai names can be typed and are drawn (#394) 2026-10-10 00:53:21 +07:00
time G3: fix frame-rate boundaries and bounded timecode arithmetic 2026-10-10 06:40:02 +10:00
track G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
ui-egui Layers: with several layers selected, value edits, stopwatches and viewer Scale / Rotate change them all (#355, #491) 2026-10-10 21:23:36 +00:00
vp9enc VP9: frames never end in a byte that reads as a superframe marker (#161) 2026-10-07 14:15:33 +07:00