Commit Graph
348 Commits
Author SHA1 Message Date
Dylan M. Taylor f68150ee10 Replace the Account page with About (#1697)
* UI: replace Account backstage page with About

* UI: stack About columns in narrow windows; keep PowerPoint's Account in parity doc

* UI: About review fixes: stack columns below 860pt, Help icon, Credits task; doc headers
2026-11-02 19:02:14 -05:00
Brandon ThomasandClaude Opus 5.5 5eb0b7d2c0 docs: one revision row per doc for #1621, keep the Last reviewed dates
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 04:51:13 -05:00
Elliot Graham 7f742c9d4f FIX-1621: cover locked and outline-free No Fill shapes 2026-11-01 09:29:42 +00:00
Elliot Graham cd19752bb5 FIX-1621: let no-fill interiors pass clicks to underlying objects 2026-10-31 19:38:08 +00:00
Dylan M. Taylor a3fbf02952 Merge pull request #1592 from aiongg/docs-tidy
docs: tidy agent, contributor and roadmap docs
2026-10-31 01:06:52 -04:00
Brandon Thomas d92874f541 Merge pull request #1574
Add read-only slide action inspection
2026-10-31 00:56:17 -04:00
aiongg cccc9064ca docs: tidy agent, contributor and roadmap docs 2026-10-31 04:17:24 +00:00
Harrison Booth f8165751e5 Merge origin/main into dc-slide-actions-list 2026-10-30 17:12:14 -05:00
Harrison Booth 0768e95591 Print preview: merge origin/main 2026-10-30 16:36:30 -05:00
Brandon Thomas ae08bbe62d Merge pull request #1546
Accessibility: low contrast is checked across all text runs
2026-10-30 16:08:20 -04:00
Brandon Thomas 81eff036d2 Merge pull request #1439
Duplicate names the copy like PowerPoint: next automatic name, chosen names kept
2026-10-30 16:08:18 -04:00
Brandon Thomas 3dc66ac1a5 Merge pull request #1417
Text: a space after a symbol-font character keeps the run's font
2026-10-30 16:05:36 -04:00
Brandon Thomas dc1fc8d83b Merge pull request #1418
fix(slides): dragging several selected slides moves them all
2026-10-30 16:05:27 -04:00
Brandon Thomas 28756fc755 Merge pull request #1462
Docs: refresh gaps and roadmap against merged PRs
2026-10-30 15:59:10 -04:00
Brandon Thomas 34cfc5b20b Merge pull request #1500
Allow multiple automation roots per kind
2026-10-30 15:58:54 -04:00
Brandon Thomas e279461ca7 Merge pull request #1493
fix(cli): support --cmd-file for batch commands (#1098), carried from #1150
2026-10-30 15:58:53 -04:00
Brandon Thomas f61b7a34dd Merge pull request #1560
Picture Format: the Picture Styles row leaves room for Crop and Size
2026-10-30 15:58:52 -04:00
JonRC 359e46f042 ROADMAP: place the Picture Styles rows beside the newer entries
Main added a status line and revision rows at the same spots, so these go one line further down.
2026-10-30 16:51:25 -03:00
Brandon Thomas f08e5f8691 Merge pull request #1384
PPTX: a picture in a picture placeholder takes its layout's shape
2026-10-30 15:48:35 -04:00
Brandon Thomas b3c36e816a Merge pull request #1560
Picture Format: the Picture Styles row leaves room for Crop and Size
2026-10-30 15:48:31 -04:00
Brandon Thomas 5e85f73c5e Merge pull request #1397
Format: Fill offers Slide background fill
2026-10-30 15:48:04 -04:00
Brandon Thomas 8d278d71cb Merge pull request #1456
Slide show: Set Up Slide Show can keep the mouse cursor visible (#1445)

# Conflicts:
#	crates/ui-egui/src/app/commands.rs
#	crates/ui-egui/src/lib.rs
2026-10-30 15:42:42 -04:00
Harrison Booth b082f12f70 #129: inspect slide actions 2026-10-30 14:01:04 -05:00
JonRC 99bb0f0a62 Picture Format: the Picture Styles row leaves room for Crop and Size
The gallery put all 24 picture styles in the ribbon row, about 1370 px, so
Alt Text, Arrange, Crop and Size sat past the ribbon's edge in any window
narrower than about 2500 px, the default 1440 px window and a maximized
1920 px one included. The row now shows as many styles as leave room for
the groups after it (at least two), sized from the width the tab left free
on the last frame, and an arrow opens all 24 in a menu, as the Transitions
and Animations galleries do.
2026-10-29 23:12:08 -03:00
Harrison Booth 079ea961dd Review accessibility contrast across text runs 2026-10-29 10:40:21 -05:00
FaabyyandClaude 8cc25169ab Slide show: going back reverses the left slide's transition (#1531)
Back from slide B to slide A played A's own entrance transition. PowerPoint
plays the transition B came in with, backwards.

ShowState now remembers that the current slide was reached by Back
(`backward`, set by `prev`, cleared by every other way in). The show then
takes the transition of the slide it left and runs its frames from the end
to the start, with the old and new slides trading places
(`transition_layers`). Morph needs no reversing: a Morph from the slide
left to the one come back to already is the reversed Morph. A jump (Go to
Slide, links, See All Slides) still plays the target slide's transition.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-29 09:33:59 +00:00
Harrison Booth 33b6e11726 Use private directories for print previews 2026-10-28 15:48:37 -05:00
FaabyyandClaude 9388884d20 Docs: the keep-cursor preference is showKeepCursor in ui.json; roadmap header for #1445
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-28 18:17:11 +00:00
Harrison Booth d1487e6916 MCP: accept multiple automation roots 2026-10-28 11:16:28 -05:00
Harrison Booth 6a9f18af92 Merge origin/main into the --cmd-file branch (#1150) 2026-10-28 09:44:21 -05:00
dotCooCoo b57ab3fb35 Merge commit 'refs/check/mw-deckcraft-main' into feat/slide-background-fill
# Conflicts:
#	crates/engine/src/cmd/shape.rs
#	crates/ui-egui/src/panes.rs
2026-10-28 03:50:51 -07:00
Harrison Booth b003dde823 Docs: refresh gaps and roadmap against merged PRs
Remove the duplicate header lines in gaps.md, ROADMAP.md, ui-parity.md and
localization-parity.md. Drop gap entries that landed: Morph outline alignment
(#67) and animation rewind (#77). Record that PR #75 was closed unmerged so
#60 stays open, and that #53 is closed with Windows image paste tracked in
#1414. Note Reuse Slides (#1103) and Compare reject (#850). Command count 323.
2026-10-27 14:23:51 -05:00
FaabyyandClaude b9842d0b82 Slide show: Set Up Slide Show can keep the mouse cursor visible (#1445)
A full-screen show hides a still pointer after 2.5 s, which makes decks
with clickable, branching choices hard to use. Set Up Slide Show now has
Keep mouse cursor visible (`show.keepCursor {on?}`): the show then keeps
the normal pointer, and the pointing hand over links and actions, while
links still follow. It is a user preference kept in ui.json, since PPTX
has no place for it; off by default, Reading View unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-27 10:50:26 +00:00
Harrison Booth 8ada601630 Duplicate gives the copy the next automatic name and keeps a chosen name, as PowerPoint does 2026-10-26 17:17:53 -05:00
Leonardo Basilio b31a59ad89 Merge branch 'main' into fix/picture-placeholder-geometry 2026-10-26 10:41:04 -03:00
fchinuandClaude Opus 5.5 039395ae4f fix(slides): dragging several selected slides moves them all
Dragging one of several selected slides in the thumbnail pane or the
Slide Sorter moved only the dragged slide. Now the whole selection moves
as one run in deck order, in one undo step, stays selected and joins the
section it lands in; an unselected slide still moves alone.

- slide.move takes `ids` (checked against the deck while parsed, repeats
  fold), alongside the unchanged `{from, to}`.
- The slide drag records its slides and the presentation it began in; a
  drag in another presentation, or one whose release no view saw (a
  Sorter double-click opening Normal view mid-gesture), is dropped
  instead of moving slides on a later release.
- Normal-view thumbnails carry a "Slide N" label, like Sorter cells.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:55:14 +01:00
Dominik StrebelandClaude Opus 5.5 0865152e86 Text: a space after a symbol-font character keeps the run's font
PowerPoint stores an arrow typed in a Wingdings run as U+F0E0 with
<a:sym typeface="Wingdings"/> on the whole run, and draws only the
symbol code in Wingdings: the space after it is the run's own font. A
synthetic deck with "→ Only …" (U+F0E0, a space, words) in one run with
a:sym, and the same with a:sym on the arrow's run alone, exported as
PDF, draws both lines alike. DeckCraft kept the space in the arrow's
face, since spaces, digits and punctuation stay in the face of the text
before them, and Wingdings' space is about four times a text font's: the
words started 20 pt further right.

A neutral character no longer stays in a symbol font's face
(is_symbol_font); it takes the run's font like any other.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:27:58 +01:00
Sofia Alves FigueredoandClaude Sonnet 5.5 230b6485d9 fix(windows): keep the shortcut icon after an update (#1114) (#1391)
* fix(windows): keep the shortcut icon after an update (#1114)

The MSI's Start menu shortcut took its icon from the WiX <Icon>, which Windows
Installer caches under %APPDATA%\Microsoft\Installer\{ProductCode}\. Every
update is a major upgrade with a new ProductCode, so the old folder is deleted.
A taskbar pin is a copy of the shortcut that the update never touches, so it
kept pointing at the deleted file and lost its icon.

Drop the Icon from the shortcut so it shows the icon embedded in deckcraft.exe,
whose path survives updates. The <Icon> stays for ARPPRODUCTICON. A test keeps
shortcuts from naming an MSI icon again.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* contributors: credit Sofia Alves Figueredo by real name

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(windows): make the Start menu shortcut non-advertised (#1114)

Addresses the review comment: without an MSI Icon, a non-advertised shortcut
targets the installed exe directly and takes its embedded icon.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(windows): package.ps1 rejects a deckcraft.exe with no embedded icon (#1114)

The shortcuts now take the exe's own icon, and -SkipBuild packages an existing
exe that may come from a build without DECKCRAFT_REQUIRE_WINRES=1. Count its
icons with ExtractIconEx and stop before WiX when there are none.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:23:43 -04:00
dotCooCoo 71352733d4 Format: Fill offers Slide background fill
Format Shape's Fill section had no Slide background fill option, and
shape.fill had no parameter for it. A shape opened from a file with
useBgFill showed Automatic chosen.

shape.fill {background: true} now fills a shape with the slide
background, and Format Shape lists Slide background fill after Pattern
fill. It has no Color button or Transparency slider. Saving writes
useBgFill, and the slide background shows through the shape.
2026-10-25 15:42:46 -07:00
LeonardoandClaude Sonnet 5.5 1705712a41 PPTX: a picture in a picture placeholder takes its layout's shape
A layout's round picture placeholder keeps a slide's photo in a circle in
PowerPoint. The reader marked only p:sp placeholders as inheriting their
geometry, so a p:pic placeholder with just a frame in its spPr came out as
a rectangle (with the layout's border). Mark p:pic placeholders too; the
renderer already clips pictures to their geometry.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 17:00:05 -03:00
Brandon Thomas 5e9043afa6 Merge pull request #1336
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
#	crates/ui-egui/src/panes.rs
#	crates/ui-egui/src/ribbon.rs
2026-10-25 13:43:07 -04:00
Brandon Thomas 637bbcdf51 Merge pull request #1118 2026-10-25 13:42:06 -04:00
Brandon Thomas ad664b2cdd Merge pull request #1107 2026-10-25 13:42:06 -04:00
Brandon Thomas 8b2c0f456a Merge pull request #1294 2026-10-25 13:42:05 -04:00
Brandon Thomas c8a13561b3 Merge pull request #1331 2026-10-25 13:42:05 -04:00
FaabyyandClaude a378c78c25 Roadmap: record sel-range-1105
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-25 11:50:24 +00:00
aiongg 3821a8f7f7 Integration: the pattern gallery offers the 48 gallery presets in gallery order; the six legacy ones still draw 2026-10-25 02:45:46 +00:00
aiongg 4668e0b45a Merge #1335: Format: Pattern fill shows a gallery of every preset with Foreground and Background colors 2026-10-25 02:22:58 +00:00
aiongg ca919b0c9b Merge #1332: Edit Points: right-click a segment for Add Point, Delete Segment and Open/Close Path
# Conflicts:
#	crates/engine/src/tools.rs
2026-10-25 02:22:57 +00:00
aiongg 85db5caed4 Merge #1325: Edit Points: Esc before releasing the mouse button cancels a point or handle drag 2026-10-25 02:22:39 +00:00