Files
deckcraft/crates/anim
Dylan M. TaylorandClaude Sonnet 5.5 6a1c7354c1 security(anim): bound custom-show and timeline lookups, share motion paths across paragraph effects (#1341)
* security(anim): index slides and shapes once, share paragraph targets and motion paths

Custom-show resolution, timeline target lookup and by-paragraph builds scaled with the product
of two document-controlled counts, and paragraph expansion deep-copied the parsed motion path
into every effect.

- show_order / custom_indices resolve slide ids through one id->index map.
- Timeline::with indexes shapes once (same first-wins order as Slide::shape) for animation
  targets and base colours, and records each animated shape's colour with a set.
- Paragraph targets are worked out once per shape and shared across its animations.
- Effects share their EffectSpec (and so the motion path) by Rc instead of cloning it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(anim): use Arc for EffectSpec to satisfy Sync and early return on empty animations

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 21:19:37 -04:00
..