Commit Graph
112 Commits
Author SHA1 Message Date
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 8080e5a285 Merge PR #620 from NikitkaRa: Animations: check effect options and accept direction words 2026-10-14 13:09:01 -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 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 c201a62e72 Merge PR #526 from NikitkaRa: Format: report damaged embedded media and open such files as a repaired copy
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:49 -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 f4892fc9e7 Merge PR #504 from NikitkaRa: Text: set text transparency from Text Fill (#32)
# Conflicts:
#	crates/engine/src/tests.rs
#	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 06a6b10d83 Merge PR #499 from NikitkaRa: Print: choose paper size and orientation for notes and handouts
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:46 -04:00
Brandon Thomas 20cf13a801 Merge PR #491 from NikitkaRa: Fonts: find fonts where Linux and Flatpak keep them; add and rescan commands (#277)
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:45 -04:00
Brandon Thomas e1af96d3a6 Merge PR #489 from NikitkaRa: Designer: layout ideas that rearrange the current slide (#314) 2026-10-14 13:08:45 -04:00
Brandon Thomas 0950423f08 Merge PR #482 from NikitkaRa: Recovery: unique uids, per-instance ownership, keep snapshots until replaced (#390) 2026-10-14 13:08:44 -04:00
Brandon Thomas 50e30dc6ed Merge PR #475 from NikitkaRa: Edit: copies remap media, connector ends, animation targets and triggers (#406)
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:43 -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 ThomasandClaude Opus 5.5 a837c26eda Engine: Selection pane select uses the checked shape id param (#97 after main's selection.select)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:00:05 -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 4dc6e06c41 Merge PR #212 from justinjohn0306: PPTX: .potx and .ppsx declare a template and slide show main part (#210)
# Conflicts:
#	crates/pptx/tests/roundtrip.rs
2026-10-14 12:58:00 -04:00
Brandon Thomas 30d282d510 Merge PR #348 from marcoarnulfo: Open: a password-protected presentation says so, and open errors show on the start screen 2026-10-14 12:57:23 -04:00
Brandon Thomas fc74794394 Merge PR #306 from FabPei: fix: DeckCraft upstream issue #104 2026-10-14 12:57:23 -04:00
Brandon Thomas 1256ee1022 Merge PR #226 from xmaks82: Text: draw shrink-on-overflow at the scale the file was saved with 2026-10-14 12:57:21 -04:00
Brandon Thomas 2ae8fe1839 Merge PR #201 from justinjohn0306: Slide Size: choose Portrait or Landscape (#198) 2026-10-14 12:57:20 -04:00
Brandon Thomas c57d25e8d3 Merge PR #97 from mikl0s: Commands: an invalid shape id is an error instead of the selection 2026-10-14 12:57:19 -04:00
Brandon Thomas 6d57610489 Merge PR #96 from mikl0s: Slides: going to a slide that does not exist is an error 2026-10-14 12:57:19 -04:00
Brandon Thomas 7862974cad Merge PR #95 from mikl0s: Export: an unknown format is an error instead of a deckcraft file 2026-10-14 12:57:19 -04:00
Brandon Thomas 9ab6a3a35c Merge PR #716 from switch87: CLI: convert and run refuse output formats DeckCraft can't write (#715) 2026-10-14 12:53:34 -04:00
Brandon Thomas e3a654d446 Merge PR #459 from MarekSpodBiedry: Slide: leading tabs in a new slide's body set the outline level (#370) 2026-10-14 12:53:33 -04:00
Brandon Thomas d184eb7927 Merge PR #455 from MarekSpodBiedry: Table: split and cell fill stay inside the table (#400) 2026-10-14 12:53:33 -04:00
Brandon Thomas 3046d49e56 Merge PR #454 from MarekSpodBiedry: Engine: a command that fails after editing puts the presentation back (#405) 2026-10-14 12:53:33 -04:00
Brandon Thomas 9b94481481 Merge PR #446 from MarekSpodBiedry: Engine: moving the selection to another text body settles the composition (#421) 2026-10-14 12:53:32 -04:00
Gert Pellin cf640c4b08 CLI: convert and run refuse output formats DeckCraft can't write (#715)
convert, run --save and run --export picked the format from the output
extension and fell back to native .deckcraft bytes for any extension
they didn't know, so out.odp, out.gif, out.svg and out.outline were
zips with exit status 0. They now fail before writing anything, with
the extension and the supported ones in the error.
2026-10-14 13:07:49 +02: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 06c275d136 Animations: check effect options and accept direction words
animation.add stored any `option` string as given, and the renderer reads
direction codes letter by letter, so "fromBottom" (r, t, b) flew in from the
bottom right. The option is now checked against the effect's list; direction
words ("fromBottom", "topLeft", "upRight") map to the stored codes ("b", "lt",
"ru"), and anything else is an error listing the valid options.
animation.options applies the option to each target in its own effect's terms
and leaves targets without such an option alone.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 02:15:42 +03:00
Nikita Rakitin c94b5c8d1e PPTX: round-trip 3-D models and animation bounce end
An owned corpus opens, saves and reopens SmartArt and OLE kept as XML, audio and video bookmarks and trims, a section with a hidden slide, slide-number and date fields, ink, .glb models and animation repeat, bounce end and triggers. Relationship-bearing SmartArt and OLE, playback options and rewind stay with their open PRs.
2026-10-14 00:35:12 +03:00
Nikita RakitinandCursor f0be1aa767 Edit: Paste Special (destination theme, keep source, picture, text only)
Adds edit.pasteSpecial. Keep Source Formatting bakes the copied shapes'
theme colours and theme fonts into fixed values (captured at copy time),
Picture draws the copied shapes into one PNG picture, and Keep Text Only
pastes plain text. Ctrl+Alt+V, Edit › Paste Special… and the Paste menu
open a Paste Special dialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 23:55:45 +03:00
Nikita Rakitin f9d5a43174 Round-trip comments, links, shows, groups and inherited placeholders
An owned corpus of those element kinds survives open, save and reopen.
Paragraph default run properties, including a link, and action sounds
were dropped on save, so import and export now keep them.
2026-10-13 23:43:03 +03:00
Nikita RakitinandCursor 0e763ab78c Text: Bullets and Numbering dialog
The Bullets and Numbering menus only offered a fixed list of styles.
"Bullets and Numbering…" at the foot of both menus opens PowerPoint's
dialog: Bulleted and Numbered tabs with their styles, a custom bullet
character, Start at, Size (% of text, 25-400) and Color (automatic,
text or an accent), and None.

format.numbering now takes color and size like format.bullets, and
both clamp the size to PowerPoint's 25-400 %.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 23:39:22 +03:00