Commit Graph
116 Commits
Author SHA1 Message Date
Brandon Thomas eabcf47d09 Merge PR #601 from NikitkaRa: SmartArt: write the outline to .pptx as a diagram and read it back from the data model
# Conflicts:
#	crates/engine/Cargo.toml
#	crates/pptx/src/read/shapes.rs
#	crates/pptx/src/write/shapes.rs
2026-10-14 13:26:21 -04:00
Brandon Thomas 84d60009be Merge PR #596 from NikitkaRa: SmartArt: Text Pane, add and remove shapes, promote and demote
# Conflicts:
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/panes.rs
2026-10-14 13:25:39 -04:00
Brandon Thomas 5c0630cba3 Merge PR #586 from NikitkaRa: UI: sections in the Slide Sorter
# Conflicts:
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/sorter.rs
2026-10-14 13:21:53 -04:00
Brandon Thomas 0f7dc3d336 Merge PR #593 from NikitkaRa: File: six original starter decks
# Conflicts:
#	crates/engine/src/lib.rs
2026-10-14 13:21:23 -04:00
Brandon Thomas 32a2d9e6bd Merge PR #560 from NikitkaRa: UI: View › New Window opens a second window
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-14 13:21:19 -04:00
Brandon Thomas ab3b1defbf Merge PR #140 from alexanderalber: Slide show: media set to play in the click sequence starts on Next (#116)
# Conflicts:
#	crates/anim/src/tests.rs
#	crates/ui-egui/src/show.rs
2026-10-14 13:20:15 -04:00
Brandon Thomas a5ce62fe28 Merge PR #672 from NikitkaRa: Review: previous and next comment 2026-10-14 13:09:06 -04:00
Brandon Thomas 9eed1b4532 Merge PR #641 from NikitkaRa: UI: Size and Position dialog sets geometry in one step 2026-10-14 13:09:03 -04:00
Brandon Thomas a87f84526f Merge PR #625 from NikitkaRa: Insert: a gallery of Lucide icons as stroked shapes 2026-10-14 13:09:01 -04:00
Brandon Thomas 2dcfbdaff4 Merge PR #600 from NikitkaRa: render: 3-D contours 2026-10-14 13:08:59 -04:00
Brandon Thomas d48d66b7f8 Merge PR #597 from NikitkaRa: render: 3-D light rigs and materials, per-side extrusion shading 2026-10-14 13:08:58 -04:00
Brandon Thomas 5d4e08733b Merge PR #595 from NikitkaRa: Render 3-D extrusions: sides under turned cameras (3-D slice 1)
# Conflicts:
#	crates/render/src/tests.rs
2026-10-14 13:08:58 -04:00
Brandon Thomas 0bab72aff2 Merge PR #590 from NikitkaRa: PPTX: round-trip chart trendlines 2026-10-14 13:08:57 -04:00
Brandon Thomas 1080d02dd0 Merge PR #589 from NikitkaRa: PPTX corpus: themes, masters, effects and links; keep text Mouse Over actions 2026-10-14 13:08:57 -04:00
Brandon Thomas 15b9ae0267 Merge PR #578 from NikitkaRa: PPTX: round-trip 3-D models and animation bounce end 2026-10-14 13:08:56 -04:00
Brandon Thomas 3a5153a1d0 Merge PR #564 from NikitkaRa: Performance baseline: deckcraft-cli bench and cargo xtask bench 2026-10-14 13:08:54 -04:00
Brandon Thomas f4c182795f Merge PR #562 from NikitkaRa: Pptx: round-trip text effects, layout, fills, bevels and connectors 2026-10-14 13:08:54 -04:00
Brandon Thomas 2bd01910dc Merge PR #558 from NikitkaRa: Edit: Paste Special (destination theme, keep source, picture, text only)
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:54 -04:00
Brandon Thomas 4dea355f02 Merge PR #554 from NikitkaRa: Pptx: round-trip comments, links, shows, groups and inherited placeholders 2026-10-14 13:08:53 -04:00
Brandon Thomas 6e294a0eaa Merge PR #553 from NikitkaRa: Text: Bullets and Numbering dialog
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:53 -04:00
Brandon Thomas e171e47a81 Merge PR #551 from NikitkaRa: Animations: add 34 PowerPoint motion path presets
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:52 -04:00
Brandon Thomas a67b005ae5 Merge PR #550 from NikitkaRa: Pictures: Remove Background with a classical matte 2026-10-14 13:08:52 -04:00
Brandon Thomas c9e071c355 Merge PR #517 from NikitkaRa: PPTX: owned corpus round-trip, keep notes-master header and footer 2026-10-14 13:08:48 -04:00
Brandon Thomas 11e36ed3ac Merge PR #516 from NikitkaRa: Transitions: built-in sounds, Stop Previous Sound and Loop Until Next 2026-10-14 13:08:48 -04:00
Brandon Thomas aaf1042d64 Merge PR #515 from NikitkaRa: Shapes: Edit Points — point types, Bézier handles, right-click menu 2026-10-14 13:08:48 -04:00
Brandon Thomas 02b502b69d Merge PR #514 from NikitkaRa: Shapes: Edit Points — drag, add and delete a shape's vertices
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:48 -04:00
Brandon Thomas e12f40a05a Merge PR #511 from NikitkaRa: UI: WordArt Transform gallery applies a text warp 2026-10-14 13:08:48 -04:00
Brandon Thomas 5334442eb5 Merge PR #507 from NikitkaRa: UI: seeded whole-window soak with memory and timing bounds 2026-10-14 13:08:47 -04:00
Brandon Thomas cc0a2f3dc5 Merge PR #505 from NikitkaRa: Transitions: choose a transition sound and play it in the show
# Conflicts:
#	crates/pptx/tests/roundtrip.rs
2026-10-14 13:08:47 -04:00
Brandon Thomas 16138fc03d Merge PR #503 from NikitkaRa: Format Shape: shadow, glow and reflection detail controls
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:47 -04:00
Brandon Thomas 6f2b41f236 Merge PR #502 from NikitkaRa: Engine: seeded editor soak tests; tiny charts no longer blank the slide
# Conflicts:
#	crates/render/src/tests.rs
2026-10-14 13:08:46 -04:00
Brandon Thomas ca7140c1ff Merge PR #500 from NikitkaRa: Format Shape: line compound, cap, join, arrows and sizes; lock aspect ratio
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:46 -04:00
Brandon Thomas 78b6c2982f Merge PR #439 from NikitkaRa: Pptx: read and write embedded fonts
# Conflicts:
#	crates/pptx/tests/roundtrip.rs
2026-10-14 13:08:43 -04:00
Brandon Thomas 271822164f Merge PR #437 from NikitkaRa: Metafile: clip EMF and WMF drawing to rectangle regions
# Conflicts:
#	crates/render/src/tests.rs
2026-10-14 13:08:42 -04:00
Brandon Thomas c15b1deaf9 Merge PR #375 from NikitkaRa: MCP tools refuse an argument that is not in their schema (#371)
# Conflicts:
#	crates/mcp/src/tests.rs
2026-10-14 13:08:42 -04:00
Brandon Thomas 44f4b037e2 Merge PR #244 from pierrevbc: Canvas: right click selects the shape under the pointer
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 12:58:01 -04:00
Brandon Thomas 4dcce01ecc Merge PR #218 from LloydNicholson: Read Markdown outlines as Markdown (#211)
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 12:58:00 -04:00
Brandon Thomas af1c6696ca Merge PR #280 from albayazid: Comments: threads and resolved state survive a .pptx round trip (#70) 2026-10-14 12:57:23 -04:00
Brandon Thomas b6721fe32f Merge PR #246 from pierrevbc: Title bar: Export button next to Save 2026-10-14 12:57:22 -04:00
Brandon Thomas b7cb5331d7 Merge PR #242 from pierrevbc: SmartArt: text is laid out on its text rectangle (dsp:txXfrm), not in columns 2026-10-14 12:57:22 -04:00
Brandon Thomas 1171e92308 Merge PR #707 from lambertoo: Fix keyboard navigation when Presenter View has focus
# Conflicts:
#	crates/ui-egui/src/show.rs
2026-10-14 12:54:05 -04:00
Brandon Thomas b9b0fdbab0 Merge PR #587 from MMexicann: Media: preserve video frames and EOF across seeks 2026-10-14 12:53:42 -04:00
Brandon Thomas 3635bdc8ba Merge PR #713 from nagasakimark: Slide show: click-triggered animations, per-slide state and hit testing 2026-10-14 12:53:34 -04:00
Claude 887ea1e706 Slide show: click-triggered animations, per-slide state and hit testing
Make the slide show behave like PowerPoint for interactive decks.

- Hit testing resolves the topmost visible shape under the pointer.
  Non-interactive shapes block shapes beneath them; the hand cursor
  shows only over interactive shapes.
- Click-triggered animations (interactive sequences) play on shape
  click, repeat after their last step, and apply in click order so
  cycling "score ring" shapes work.
- Each slide keeps its own progress: returning to a slide through a
  link or Back restores hidden shapes and animation state.
- A shape with a link and an animation follows the link immediately;
  its animation clock only runs while the slide is shown and resumes
  with the remaining time on return.
- With advance-on-click off, background clicks still play animation
  steps but never change slide.
- A click on a playing step completes it at once.

Docs (gaps, animation and slide show parity, roadmap) are updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 17:22:23 +09:00
rulindanalambert ba290f171e Fix presenter-view keyboard navigation and end-screen controls 2026-10-14 07:04:45 +02:00
Nikita Rakitin f0647e1bd8 Review: previous and next comment
Walk every comment in the deck from the Review tab, and list every slide in the Comments pane.
2026-10-14 04:37:49 +03:00
Nikita RakitinandCursor bd017b861d UI: Size and Position dialog sets geometry in one step
Shape Format › Size and the shape menu open a dialog for position,
size, rotation, scale and lock aspect ratio. One command writes them
together, so undo restores the whole change.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 03:20:35 +03:00
Nikita RakitinandCursor 304bf06290 Insert: Lucide icon gallery as stroked shapes
Insert › Icons places seventy Lucide 1.56.0 stroke icons as custom
geometry: no fill, round caps, and a line width scaled from the
24-unit design. The gallery searches by name. SVG paths, including
arcs, are converted when the icon is inserted so the renderer strokes
the outline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 02:31:54 +03:00
Nikita RakitinandCursor b03b19bca7 SmartArt: write the outline to .pptx as a diagram; read it back from the data model
Export: a group with a diagram becomes a graphicFrame naming ppt/diagrams
data, layout, quickStyle and colors parts, plus the group's shapes as the
cached drawing (dsp). The data model is built from the outline (doc, node,
parTrans/sibTrans points and parOf links). A diagram read from a file keeps
its own layout, quick style and colour parts until its layout is switched.

Import: the outline is rebuilt from the data model's parOf tree, so
PowerPoint diagrams get the Text Pane. Their shapes stay the file's drawing
until the first outline edit (typed text isn't mapped back to nodes then).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 01:29:49 +03:00
Nikita Rakitin ad7af60510 render: 3-D contours 2026-10-14 01:29:23 +03:00