Repository navigation
SmartArt: Text Pane, add and remove shapes, promote and demote - #596
Merged
Merged
Conversation
A SmartArt group now keeps its outline (Shape.diagram: layout + nodes with levels) and its shapes are regenerated from it inside the group's child rectangle. New commands: smartArt.nodes, setNodes, addNode (after, before, above, below), removeNode, promote, demote and layout. Sub-points become bullets in their parent's shape; the hierarchy layout is a real tree with connector lines. Text typed into a diagram shape is read back first. UI: a SmartArt Design contextual tab and a Text Pane (Enter adds a line, Tab/Shift+Tab demote/promote, Backspace on an empty line removes it). Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 13, 2026
Merged
Member
|
Thank you for this contribution, @NikitkaRa! It has landed on If you haven't already, please come join us on Discord: https://discord.gg/artcraft |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First slice of SmartArt editing (after-beta pool in docs/gaps.md). Based on
main; it doesn't depend on any open PR. #242 and #209 touch PowerPoint-read SmartArt, which this doesn't change.Summary
Shape.diagram: Option<Diagram>, holding the layout kind and its nodes ({text, level}). It is skipped whenNone, so existing files are unchanged, and it is saved in.deckcraft.crates/engine/src/cmd/smartart.rs.smartArt.nodes(query)smartArt.setNodes: the whole outline, tab-indented lines, or one node's textsmartArt.addNode: after, before, above or below, as in PowerPointsmartArt.removeNode: sub-points move up a levelsmartArt.promoteandsmartArt.demote: they move the node's whole subtreesmartArt.layoutinsert.smartArt: accepts tab-indenteditemsornodes, and returns{id}..pptxdgmparts; the diagram saves as shapes, as before. There are six layouts.Test plan
cmd::smartart::tests).deckcraftround tripdeckcraft-cli renderand checked them by eyecargo xtask ci(all 6 steps pass)