Commit Graph
1863 Commits
Author SHA1 Message Date
Brandon Thomas a00b7e8a51 Merge pull request #1577
Reject invalid index in transition commands instead of using selection
2026-10-31 00:49:36 -04:00
aiongg 9678ed7d7f updates: show check results with craft-update's CheckResultDialog 2026-10-31 04:42:16 +00:00
NetterSilverandClaude Haiku 5.5 1de7b44a8d Parse uppercase exponent in custom geometry path numbers
Found while testing crates/pptx/src/custgeom.rs:334

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 05:33:56 +01:00
Harrison Booth 5a235590dd Move gradient editor test module to file end 2026-10-30 23:26:55 -05:00
aiongg a96dcdbe8f docs: tidy wording 2026-10-31 04:25:45 +00:00
Harrison Booth 98138f563b Trim whitespace in bullet point sizes 2026-10-30 23:24:07 -05:00
Harrison Booth 0e3f4cd353 Preserve explicit bullets over follow-text resets 2026-10-30 23:20:43 -05:00
Harrison Booth 72c8621358 Keep gradient flip when editing a fill 2026-10-30 23:17:32 -05:00
aiongg cccc9064ca docs: tidy agent, contributor and roadmap docs 2026-10-31 04:17:24 +00:00
Harrison Booth 1de0101ced Honor miter percentage schema bounds 2026-10-30 23:11:12 -05:00
Harrison Booth 917d4b96a9 Honor bullet size schema bounds and inheritance 2026-10-30 23:07:54 -05:00
Harrison Booth f5c2aca644 Preserve bullet follow-text inheritance 2026-10-30 23:05:16 -05:00
Harrison Booth 4408ff6153 Restrict line alignment to schema values 2026-10-30 23:00:20 -05:00
Harrison Booth ad97533aec Preserve gradient flip mode in PPTX 2026-10-30 22:57:14 -05:00
Harrison Booth 727b682d17 Preserve inset line alignment in PPTX 2026-10-30 22:48:31 -05:00
Harrison Booth 8770fb90c3 Preserve bullet follow-text resets in PPTX 2026-10-30 22:45:55 -05:00
Harrison Booth b1900e526d Preserve point-sized bullets in PPTX 2026-10-30 22:42:28 -05:00
NetterSilverandClaude Haiku 5.5 9a716be59e Reject invalid colour in format.highlight instead of clearing it
Found while testing crates/engine/src/cmd/format/font.rs:228-231 (highlight), color_param at crates/engine/src/cmd.rs:381

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 04:41:09 +01:00
Harrison Booth 479c3cc5ea Preserve explicit miter limits in PPTX 2026-10-30 22:24:08 -05:00
Brandon ThomasandClaude Opus 5.5 4ce2944630 Release 0.13.1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.13.1
2026-10-30 23:21:58 -04:00
Brandon ThomasandClaude Opus 5.5 255df314da FreeBSD packaging: compare ELF header bytes without od's column padding
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 23:21:55 -04:00
marshiyar b7482dd392 engine: animation.add and animation.set take the points of a custom motion path
What was wrong: animation.add ignored a `path` parameter, so a customPath
animation always got the default straight path of a quarter of the slide
height, and no command could set or change the points of one.

What changed: animation.add, animation.set and animation.options accept `path`
for a motion path: either points [[x, y], ...] in slide points, as offsets from
where the shape sits (converted to the stored slide-fraction path; `closed`
returns to the first point), or the OOXML path string animation.get answers.
At most 1000 points, finite numbers within 1e6 points, and strings of at most
16 KiB made of path commands and numbers are accepted; anything else is
refused before the deck changes, as is `path` on an animation that is not a
motion path. animation.add answers the stored path.

How it was tested: three new tests in cmd/animation.rs: points become the
expected path (add, set with `closed`, back to the default without `path`), a
raw string is kept and animation.options replaces it, and malformed paths are
refused with nothing added. The animation tests pass, and clippy is clean with
-D warnings.

Fixes #1576
2026-10-30 20:13:05 -07:00
marshiyar e83f964077 mcp: insert_chart takes x, y, w and h
What was wrong: the insert_chart tool had no x, y, w or h in its schema, so the
server refused them as unknown arguments, while insert_picture and insert_table
take them. A chart could only be placed at the default box, [144, 81, 672, 378]
on a 960x540 slide, and then had to be moved with a second command.

What changed: insert_chart declares x, y, w and h and folds them into the
engine's `rect` when all four are given, as insert_picture and insert_table do.
Without all four the chart keeps its default place.

How it was tested: insert_chart_takes_a_box failed before the change (the
arguments were refused) and passes after it. It checks the box of the placed
chart, that a partial box leaves the default place, and that an extreme box is
answered without a panic. The rest of the deckcraft-mcp tests pass, and clippy
is clean with -D warnings.

Fixes #1151
2026-10-30 20:13:00 -07:00
Brandon ThomasandClaude Opus 5.5 eaeb06c655 Release 0.13.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 22:59:19 -04:00
marshiyar ede7a7ead7 ogg: bound damage recovery work and the warnings list
What was wrong: when a page failed its CRC the demuxer had already read the
whole page (up to about 64 KiB), then moved on by one byte and tried again.
Nothing was charged for it, and only the scan for the next capture pattern had
a budget, which a candidate that matches "OggS" at the current position never
reaches. A file made of capture patterns 64 bytes apart, each claiming a full
page, made a 1 MB file read about 957 MB and compute a CRC over all of it. The
warnings list also grew with every damaged page, without limit.

What changed: the per-file recovery budget (32 MiB, the scan's existing one) is
now also charged with the length of every page read only to find its CRC wrong.
When it is spent the pages found so far are returned with a warning saying the
rest was not searched. At most 256 warnings are kept, plus one saying the rest
were dropped.

How it was tested: two new tests failed before the fix and pass after it, a
counting ByteSource over 1 MB of dense fake pages (bytes read stay within the
budget; before, 957 MB were read) and 100,000 bad-CRC pages (before, 199,999
warnings). A file of good pages is not charged and has no warnings. The other
ogg tests still pass, and clippy is clean with -D warnings.

Completes the Ogg part of storytold/filmcraft#2794
2026-10-30 18:27:08 -07:00
DominicTheD3v 68dda6f7d8 Merge branch 'feature/resize-multiple-shapes' of https://github.com/dominicthed3v/deckcraft into feature/resize-multiple-shapes 2026-10-31 01:04:36 +00:00
DominicTheD3v 9aef8cc5ab fix: addressing issues raised by coderabbit 2026-10-31 01:03:53 +00:00
marshiyar 6113f4e1a2 contributors: add names for marshiyar 2026-10-30 17:57:10 -07:00
DominicTheD3vandcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> 77e3a444b8 Update crates/engine/src/tools/drag.rs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-10-31 00:21:06 +00:00
Dylan M. Taylor 4c1d77ddce fix(flatpak): allow reading launcher version pins (#1575)
* fix(flatpak): allow reading launcher version pins

* fix(flatpak): allow reading launcher version pins
2026-10-30 20:12:24 -04:00
Harrison Booth d453bee54f D604: readable animation effect labels 2026-10-30 18:57:51 -05:00
DominicTheD3v 09bbfc7217 fix: addressing issues raised by coderabbit 2026-10-30 23:25:01 +00:00
NetterSilverandClaude Haiku 5.5 443f503407 Reject invalid index in transition commands instead of using selection
Found while testing crates/engine/src/cmd/transition.rs:47-54 (slide_indices, via usize_param)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 23:16:32 +00:00
DominicTheD3v e812da58df fix: addressing issues 2026-10-30 22:51:33 +00:00
Harrison Booth ee4bdbcd7d fix: initialize slide action test run props 2026-10-30 17:23:00 -05:00
NetterSilverandClaude Sonnet 5.5 adaa4e6fa1 fix: keep per-level formatting when formatting layout/master placeholders
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 23:22:33 +01:00
NetterSilverandClaude Opus 5.5 446bc528ad Make layout/master placeholder formatting reach slides
Fixes #1487

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 23:17:36 +01:00
Harrison Booth 3c068df628 test(h264): complete picture slice fixture 2026-10-30 17:13:38 -05:00
Harrison Booth f8165751e5 Merge origin/main into dc-slide-actions-list 2026-10-30 17:12:14 -05:00
Harrison Booth 7190c85860 test(h264): avoid singleton fixture loop 2026-10-30 17:06:36 -05:00
Harrison Booth ddd39249ba test(codec): strengthen configuration slice regressions 2026-10-30 17:03:36 -05:00
Harrison Booth b4c1905d78 dc-fix-1519: address print preview review 2026-10-30 16:51:34 -05:00
Harrison Booth 2c11865b2d codec: accept hvcC SEI arrays without allocation 2026-10-30 16:49:21 -05:00
Harrison Booth b92a7ddbd5 Merge remote-tracking branch 'origin/main' into dc-fix-1514 2026-10-30 16:37:40 -05:00
Harrison Booth 0768e95591 Print preview: merge origin/main 2026-10-30 16:36:30 -05:00
DominicTheD3v 82adf7326e fix: address raised issues 2026-10-30 21:13:44 +00:00
Harrison Booth ef6fd29928 DC-1521: hit-test each shape animation independently 2026-10-30 16:00:43 -05:00
Harrison Booth a3449185ac DC-1521: merge origin/main 2026-10-30 15:59:33 -05:00
Brandon Thomas c4221b1a7c Merge pull request #1371
Slide show: render the Presenter View's next-slide preview off the UI thread
2026-10-30 16:08:21 -04:00
Brandon Thomas 46f23229ab Merge pull request #1510
Clipboard HTML export stays within its size cap
2026-10-30 16:08:21 -04:00