Commit Graph
1619 Commits
Author SHA1 Message Date
Brandon Thomas 5b0871e5f3 Merge pull request #1473
Spell check: don't check words longer than 100 characters (fixes #1175)
2026-10-30 15:48:35 -04:00
Brandon Thomas 0f5d01a461 Merge pull request #1324
Long English dates follow each English locale's day order and punctuation
2026-10-30 15:48:34 -04:00
Brandon Thomas 234329a8d2 Merge pull request #1323
A paragraph with its own numbering start restarts the count there
2026-10-30 15:48:34 -04:00
Brandon Thomas 71c5da07eb Merge pull request #1568
Don't warn about macOS hidden system fonts such as .SF NS (#1504)
2026-10-30 15:48:33 -04:00
Brandon Thomas a3d14bc8b0 Merge pull request #1497
Fonts: cap the faces read from a font collection at 256
2026-10-30 15:48:33 -04:00
Brandon Thomas 2feb7dc2b8 Merge pull request #1452
Fonts: a variable font's named instances answer to their Windows family names
2026-10-30 15:48:32 -04:00
Brandon Thomas 5187e01856 Merge pull request #1442
Bullets in an unavailable Unicode symbol font keep their character (fixes #1347)
2026-10-30 15:48:32 -04:00
Brandon Thomas 6030fb4f8c Merge pull request #1471
File > New: keep the template tiles inside the right margin in a narrow window
2026-10-30 15:48:31 -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 95a55b0ea7 Merge pull request #1437
fix(format): Reflection None clears after another preset (#1356)

# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-30 15:48:20 -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
Brandon Thomas 9cb51393b3 Merge pull request #1533
Slide show: going back plays the left slide's transition in reverse (#1531)
2026-10-30 15:42:30 -04:00
Brandon Thomas 2d48221edb Merge pull request #1512
Bound EMF+ region paths to declared spans
2026-10-30 15:42:30 -04:00
Brandon Thomas b3ccea8577 Merge pull request #1498
Decoders: set up picture state inside the panic guard
2026-10-30 15:42:29 -04:00
Brandon Thomas e96ae0b6f5 Merge pull request #1466
PDF export: transparent content pixels take the backdrop colour (fixes #1455)
2026-10-30 15:42:29 -04:00
Brandon Thomas 6fa022d50f Merge pull request #1441
Animation state no longer moves layout and master shapes that share an id with a slide shape (fixes #1362)
2026-10-30 15:42:28 -04:00
Brandon Thomas 62b06a0a91 Merge pull request #1226
Fix the editor's media bar ignoring clicks
2026-10-30 15:42:28 -04:00
Brandon Thomas c389f62b33 Merge pull request #1374
Render: skip shapes far larger than any screen instead of aborting (#1165)

# Conflicts:
#	crates/render/src/renderer.rs
2026-10-30 15:42:21 -04:00
Brandon Thomas 6d02e90177 Merge pull request #1453
Reject '+' sign in slide range numbers
2026-10-30 15:42:14 -04:00
Brandon Thomas 52d81a9468 Merge pull request #1538
Reject invalid slide index in design.applyIdea and design.ideas
2026-10-30 15:42:13 -04:00
Brandon Thomas 81ab1bce0d Merge pull request #1537
Reject invalid slide index in animation.clear
2026-10-30 15:42:13 -04:00
Brandon Thomas 3465ed9d47 Merge pull request #1410
Reject invalid slide index in file.export, file.render, slide.colorAt

# Conflicts:
#	crates/engine/src/tests.rs
2026-10-30 15:42:12 -04:00
Brandon Thomas f29b7e7eed Merge pull request #1481
Tests pinning picture.reset, a repeated PNG export and an action button's theme fill

# Conflicts:
#	crates/engine/src/tests.rs
2026-10-30 15:42:11 -04:00
Brandon Thomas 8075b7ecd8 Merge pull request #1480
show.presenter answers {on, window} (part of #298)
2026-10-30 15:42:11 -04:00
Brandon Thomas a37fa65852 Merge pull request #1479
review.compare says which side each change is on; an absent box is not a rotation
2026-10-30 15:42:10 -04:00
Brandon Thomas 21bbb4127d Merge pull request #1478
A group's box follows its children after a command moves or resizes one

# Conflicts:
#	crates/engine/src/tests.rs
2026-10-30 15:42:10 -04:00
Brandon Thomas 36eaa7e051 Merge pull request #1477
Inserts in the master views: insert.dateTime fills the master's date placeholder; answers say a master or layout was edited (part of #298)

# Conflicts:
#	crates/engine/src/tests.rs
2026-10-30 15:41:59 -04:00
Brandon Thomas 932ec7bef6 Merge pull request #1475
table.cellAlign takes a horizontal align
2026-10-30 15:41:42 -04:00
MarekSpodBiedry fe54c0eb3c Don't warn about macOS hidden system fonts such as .SF NS (#1504) 2026-10-30 14:59:05 +01:00
Dylan M. Taylor 3a4e30e10e UPD.1: honor pretend versions and restore dev-testkit checks (#1562) 2026-10-30 02:33:11 -04:00
Dylan M. Taylor 505a6f28ac Update prompt shows the app icon and accent color instead of a letter (#1561)
UPDATE_APP (native builds; craft-update is a native-only dependency) carries our 128 px icon and accent (#f07a1e, its colour in ArtCraft Launcher). The updater, the self-update
helper and craft-update's startup prompt all get them through crate::UPDATE_APP; the
prompt draws the icon, the accent and "by ArtCraft" (craft-update's default developer).

craft-update is pinned to storytold/craft-libs main at 1065653e7 (#434).
Clippy fixes for Rust 1.99 in untouched code (same logic):
- crates/engine/src/tools/click.rs
- crates/engine/src/tools/pointer.rs
- crates/metafile/src/emfplus.rs
- crates/model/src/trendline.rs
- crates/pptx/src/read/dml.rs
- xtask/src/layers.rs
2026-10-30 01:28:38 -04:00
JonRC 0da9cac9dc Picture Format: a resize alone brings the Picture Styles row to the new width
The ribbon now asks for one more frame when a tab's spare room changes by
more than half a point, so the row is sized for the new width even when no
input follows the resize. The test resizes 1440 to 1920 and back and checks
the harness settles.
2026-10-29 23:25:54 -03:00
Dylan M. Taylor 97db282daf CI: workflows only call craft-common-actions at @main (#1557)
AGENTS.md (and CLAUDE.md where present) gets a CI workflows section: workflows only call
craft-common-actions at @main, with no other jobs; feature and fix PRs don't touch CI and
link or open a craft-common-actions issue (a PR only for a small fix that is safe for
every app and does not increase CI time); legacy jobs
aren't added to and move only as their own task, staying until a shared workflow runs them.

windows-arm64.yml moves from its SHA pin to @main. The pinned revision is on
craft-common-actions main and the workflow (and the actions it calls) is identical
there, so nothing changes in behaviour.
2026-10-29 22:14:18 -04: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
Zach BerryandClaude Sonnet 5.5 afe4c324a7 [II5] A paragraph with its own numbering start begins a new run at that number
Layout added the paragraph's start to the running count, so start k set
paragraph by paragraph read 1, 3, 5. A change of start_at between
neighbouring numbered paragraphs now restarts the count, as PowerPoint's
Start at does; the same start on every paragraph still counts on.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 18:02:10 -05:00
NetterSilverandClaude Haiku 5.5 35a9b812fd Reject invalid slide index in design.applyIdea and design.ideas
Found while testing crates/engine/src/cmd/ideas.rs:254 (apply_cmd); same pattern in ideas_cmd :248

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 12:19:26 +01:00
NetterSilverandClaude Haiku 5.5 1bdd63dabe Reject invalid slide index in animation.clear
Found while testing crates/engine/src/cmd/animation.rs:342 (clear)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 11:27:56 +01:00
FaabyyandClaude 62e020c1c1 Docs: animation parity lists the reversed transition on Back (#1531)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-29 09:34:43 +00: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 cfd30ce4b2 M1.2: deduplicate font collection offsets early 2026-10-28 17:49:33 -05:00
Harrison Booth 23c19d8e0c Merge remote-tracking branch 'origin/main' into dc-font-cap 2026-10-28 17:35:36 -05:00
Harrison Booth d9f90c517d fix: bound EMF+ region path reads (dc-emf-region-span) 2026-10-28 14:57:36 -05:00
Dylan M. Taylor f893f6af7d Honor CARGO_BUILD_TARGET in FreeBSD packaging for aarch64 release builds (#1507)
* Honor CARGO_BUILD_TARGET in FreeBSD packaging for aarch64 release builds

package.sh took the arch from uname -m and read binaries from target/release,
so a cross-built aarch64 target would be packaged as the host arch from the
wrong directory. Pass --target, read target/<triple>/release, and name the
archive from the target triple when CARGO_BUILD_TARGET is set. Skip the
--version smoke run for cross builds, since the binary cannot run on the host.

* Resolve host-tuple and reject unsupported targets in FreeBSD packaging

Resolve CARGO_BUILD_TARGET=host-tuple to the real host triple before it is used in
the target directory path. Accept only x86_64-unknown-freebsd and
aarch64-unknown-freebsd when it is set, and fail with an error for anything else
instead of mapping unknown targets to x86_64.

* Validate staged FreeBSD binaries before packaging

Check that deckcraft and deckcraft-cli are 64-bit little-endian FreeBSD ELF files
for the selected arch before the archive is created, so placeholder, wrong-arch
or non-FreeBSD binaries fail instead of being packaged. Applies to --skip-build
and full builds.
2026-10-28 15:35:40 -04:00
Harrison Booth 6d699b484f M1.2: bound collection face enumeration 2026-10-28 13:37:24 -05:00
Harrison Booth 22d9796786 Merge remote-tracking branch 'origin/main' into dc-font-cap 2026-10-28 13:34:37 -05:00
FaabyyandClaude 83ad5d287c Merge upstream/main into feat/show-keep-cursor-1445
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-28 18:22:37 +00: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 b54edd61b0 dc-upkeep-7: assert exact fallback bullet glyph 2026-10-28 12:41:58 -05:00
Dylan M. Taylor c2f3397483 Grant network access so update checks can reach GitHub (#1502) 2026-10-28 13:07:13 -04:00