Animation Painter: copy and apply animation sequences between shapes (#54)

- engine: add animation.painter (Alt+Shift+C) and animation.painterApply (Alt+Shift+V) supporting single-use and sticky modes
- tools: apply animation painter on canvas shape click
- edit: disarm animation painter on deselect (Escape)
- ui-egui: add Animation Painter button in Advanced Animation ribbon group
- tests: unit tests for single and sticky animation painting
- docs/parity: mark Animation Painter as done (breadth parity to 80%)
- contributors: add Johannesgauss to contributors/people.toml

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Paulo Ravazzano
2026-10-10 06:24:23 -04:00
committed by GitHub
co-authored by Brandon Thomas Claude Opus 5.5
parent 7f1e152870
commit 8fe168c07b
8 changed files with 189 additions and 5 deletions
+4
View File
@@ -434,6 +434,10 @@ impl Session {
if self.painter.is_some() && !toggle {
let _ = self.execute("format.painterApply", &json!({"ids": [id]}));
}
// Animation Painter applies on click.
if self.anim_painter.is_some() && !toggle {
let _ = self.execute("animation.painterApply", &json!({"ids": [id]}));
}
}
None => {
let add = mods.shift || mods.cmd;