Commit Graph
1863 Commits
Author SHA1 Message Date
Harrison Booth 2ba45cdd4c dc5-10: bound MCP stdio frames 2026-10-28 14:58:45 -05:00
Harrison Booth d9f90c517d fix: bound EMF+ region path reads (dc-emf-region-span) 2026-10-28 14:57:36 -05:00
Harrison Booth 2ac978ce54 dc5-02: enforce clipboard HTML size cap 2026-10-28 14:49:53 -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 e0c64599cc dc-upkeep-7: allow larger command-file media 2026-10-28 13:09:02 -05:00
Harrison Booth b54edd61b0 dc-upkeep-7: assert exact fallback bullet glyph 2026-10-28 12:41:58 -05:00
Harrison Booth d0f0d14c99 dc-upkeep-7: cap command-file line reads 2026-10-28 12:37:34 -05:00
Dylan M. Taylor c2f3397483 Grant network access so update checks can reach GitHub (#1502) 2026-10-28 13:07:13 -04:00
Harrison Booth d1487e6916 MCP: accept multiple automation roots 2026-10-28 11:16:28 -05:00
Brandon ThomasandClaude Opus 5.5 29f0f7772c Release 0.12.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.12.0
2026-10-28 11:52:01 -04:00
Brandon ThomasandClaude Opus 5.5 d97a596780 macOS packaging: retry stapler when Apple's CloudKit drops the connection
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 11:51:58 -04:00
Harrison Booth 63b181170c F-19: guard decoder picture setup against panics 2026-10-28 09:56:13 -05:00
Harrison Booth 352086304e F-09: cap font collection face enumeration 2026-10-28 09:55:23 -05:00
Harrison Booth 6a9f18af92 Merge origin/main into the --cmd-file branch (#1150) 2026-10-28 09:44:21 -05:00
NetterSilverandClaude Haiku 5.5 fd102fb47b Start a new paragraph when an HTML block tag opens in paste
Found while testing crates/engine/src/cmd/richclip.rs:121-170 (html_to_body, opening-tag handling; is_block at :190)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 13:44:26 +01:00
dotCooCoo edbf542570 Format: Fill hides the kept group fill's editors with Slide background fill
A group that keeps a gradient, pattern or picture fill for its pictures
no longer shows that fill's editor while its shapes have the slide
background fill, so editing it cannot replace their fill.
2026-10-28 04:15:58 -07:00
dotCooCoo fca0492725 Format: Fill shows Slide background fill for a group that keeps its fill
A group whose picture uses the group's fill keeps that fill when its
shapes take the slide background fill. The pane now shows Slide
background fill chosen for that group.
2026-10-28 04:10:38 -07: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
Dylan M. Taylor 6d09d3770f Merge pull request #1444 from dylanmtaylor/sonar/enforce-clippy-standards
Enforce Rust coding standards via Clippy
2026-10-28 06:18:43 -04:00
Dylan M. Taylor 6ddd2fb869 Enforce workspace Clippy standards and document lint policy 2026-10-28 06:02:28 +00:00
Dylan M. Taylor db245a7029 Refactor deckcraft-cli for strict Clippy checks 2026-10-28 06:02:28 +00:00
Dylan M. Taylor 8c6c72e39f Refactor ui-egui for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 1a203c4a73 Refactor engine for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 7f1ebc2a5c Refactor render for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 8e4d0e6b4c Refactor pptx for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 3f853db3f6 Refactor av1 for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor d9749fbcc5 Refactor h264 for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 0e7cd01381 Refactor hevc for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 9c52950536 Refactor vp9 for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor c58f19f1b5 Refactor opus for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 4de3a4dc8b Refactor text for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor f441ea93a2 Refactor metafile for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor 6a59eb8cef Refactor model for strict Clippy checks 2026-10-28 06:02:27 +00:00
Dylan M. Taylor e03ff82504 Refactor geom for strict Clippy checks 2026-10-28 06:02:27 +00:00
NetterSilverandClaude Haiku 5.5 e75a72c0cc Fix HTML paste style leaking past closing tags of a, td, mark
Found while testing crates/engine/src/cmd/richclip.rs:121-139 (html_to_body), with tag_kind at :175

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 04:52:34 +01:00
Zach BerryandClaude Sonnet 5.5 cd5ff01810 [NN6] review.compare treats an absent box like an unrotated, unflipped one
slide.reset drops a placeholder's stored box, and compare called that
"rotated" because None differed from a stored rotation of 0. Absent now
equals 0 for rotation and no flips; a real flip difference reads "flipped".
PowerPoint's Compare reports a rotation only when the angle differs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 21:43:36 -05:00
Harrison Booth 9c24a63d1e Format Shape: the shadow detail controls read the inner shadow first, as the preset row does 2026-10-27 21:28:23 -05:00
Harrison Booth 5638b0ca09 Format Shape: the glow size test checks the colour and transparency are kept 2026-10-27 21:11:54 -05:00
Harrison Booth 8dfa6f1994 pptx: Auto-reverse is read only when every behaviour node has autoRev 2026-10-27 21:04:00 -05:00
Harrison Booth ddd7d210ef Duplicate: number the copy from the shape count, not the count of distinct names 2026-10-27 21:02:22 -05:00
Harrison Booth d8c88cea1d Format Shape: Scale and a centre origin need a single selected shape 2026-10-27 20:57:04 -05:00
Harrison Booth 322be04e7b Format Shape: a glow size tile keeps the glow's colour and transparency 2026-10-27 20:55:03 -05:00
Zach BerryandClaude Sonnet 5.5 2cad063d1d [MM4] A group's box follows its children after a command moves one
shape.move or shape.setBounds on a group's child left the group's box as it
was, so inspect_slide reported stale bounds. After any edit that changes a
child's box or the child list, the group's box is refitted to the union of its
children (its child space too, so every child keeps its place on the slide).
A group that was itself moved or resized, and SmartArt groups (regenerated
inside their own box), are left alone.

PowerPoint: a group's bounding box always hugs its children; dragging one
child out grows the group, dragging it back shrinks it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 20:38:41 -05:00
Zach BerryandClaude Sonnet 5.5 3356bc071c [SS1] Pin that an inserted action button's fill follows the theme
It already does: insert.actionButton gives the shape the accent1 style with no explicit fill, as
PowerPoint's gallery button has, so a theme change recolours it. No code change; a test pins it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 20:37:48 -05:00
Zach BerryandClaude Sonnet 5.5 0efd6f1b85 [HH12] Pin that exporting a slide again overwrites the PNG
Not a bug: file.export writes the second PNG over the first with the edit in
it. The test pins it (export, edit, export to the same path, files differ).

PowerPoint: Save As / Export to an existing file name replaces the file.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 20:37:48 -05:00
Zach BerryandClaude Sonnet 5.5 1ca71474a2 [JJ3] show.presenter answers {on, window}
The answer was null. Presenter view is its own window beside the show window,
so window is true; the doc says where it appears.

PowerPoint: Presenter View opens in a separate window on the second display
when the show starts (the Use Presenter View option); same here.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 20:34:18 -05:00