Skip to content

feat(pptx): render the SmartArt drawing cache#325

Merged
developer0hye merged 1 commit into
mainfrom
feat/pptx-smartart-drawing
Jul 18, 2026
Merged

feat(pptx): render the SmartArt drawing cache#325
developer0hye merged 1 commit into
mainfrom
feat/pptx-smartart-drawing

Conversation

@developer0hye

Copy link
Copy Markdown
Owner

Summary

  • SmartArt produced a blank slide when the diagram's data model carried no text nodes
  • PowerPoint ships a pre-rendered drawing cache (diagrams/drawingN.xml) with the actual shapes; render it when present
  • Resolve it through slide rels → data model → dataModelExt relId → drawing part; parse each <dsp:sp> (geometry, theme-resolved fill and outline, text) and emit shape + text-box elements positioned relative to the diagram frame
  • Fall back to the structured node list when no drawing cache exists

Test plan

  • New integration test: the SmartArt fixture yields ≥5 filled shape elements (TDD, red first — was blank)
  • Full workspace suite passes; fmt --check clean; clippy -D warnings clean

Visual verification (public SmartArt fixture vs PowerPoint GT, 110 DPI)

PowerPoint GT Before After
gt before after

The five blue blocks render in PowerPoint's 2/2/1 layout with the accent fill, matching GT; before was a blank slide.

Related: #223

🤖 Generated with Claude Code

SmartArt produced a blank slide when the diagram's data model carried
no text nodes. PowerPoint ships a pre-rendered drawing cache
(diagrams/drawingN.xml) with the actual shapes; render it when
present. Resolve it through the slide rels → data model →
dataModelExt relId → drawing part, parse each <dsp:sp> (geometry,
theme-resolved fill and outline, text) and emit shape + text-box
elements positioned relative to the diagram frame. Fall back to the
structured node list when no drawing cache exists.

Related: #223

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
@developer0hye
developer0hye merged commit cd6b0e2 into main Jul 18, 2026
14 checks passed
@developer0hye
developer0hye deleted the feat/pptx-smartart-drawing branch July 18, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant