mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-24 10:37:03 -06:00
slide.reuse indexed src.slides[i] and found media by scanning JSON keys (media/poster/preview/sound), which missed artistic-effect originals and would miss any reference stored under another key. New engine module media_refs: one typed walker over the model (written once, expanded for & and &mut) that visits every MediaId a presentation, master, layout, slide or shape can hold: pictures and their artistic originals, picture fills in shapes, lines, runs, table cells and styles, chart series and points, backgrounds and theme format schemes; media clips and posters, 3-D models, OLE/SmartArt previews and node pictures, picture bullets, hyperlink, transition and animation sounds, embedded fonts. slide.reuse now lists and remaps media through it, uses get() for slides, and keeps a linked media item's link when copying it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>