Brandon Thomas
907ebd2de0
Merge pull request #1710
...
# Conflicts:
# crates/model/src/resolve.rs
# crates/model/src/table.rs
# crates/model/src/text.rs
# crates/pptx/src/read/dml.rs
# crates/pptx/src/read/shapes.rs
# crates/pptx/src/write/dml.rs
# crates/pptx/src/write/shapes.rs
# crates/pptx/tests/it/roundtrip.rs
2026-11-03 08:53:00 -05:00
Brandon Thomas
ed77cc9eaa
Merge pull request #1711
...
# Conflicts:
# crates/pptx/tests/it/roundtrip.rs
2026-11-03 08:53:00 -05:00
Brandon Thomas
928aa9cc16
Merge pull request #1713
...
# Conflicts:
# crates/pptx/tests/it/roundtrip.rs
2026-11-03 08:53:00 -05:00
Brandon Thomas
5cb154ce9d
Merge pull request #1712
...
# Conflicts:
# crates/pptx/tests/it/roundtrip.rs
2026-11-03 08:53:00 -05:00
Brandon Thomas
ef55104799
Merge pull request #1719
2026-11-03 08:52:49 -05:00
Brandon Thomas
3f29dccc0a
Merge pull request #1717
2026-11-03 08:52:49 -05:00
Brandon Thomas
160c923caf
Merge pull request #1716
2026-11-03 08:52:49 -05:00
Brandon Thomas
9f01f2ebdb
Merge pull request #1707
2026-11-03 08:52:49 -05:00
Brandon Thomas
d365e0b9de
Merge pull request #1751
2026-11-03 08:52:49 -05:00
Brandon Thomas
1d181017f6
Merge pull request #1723
2026-11-03 08:52:49 -05:00
Brandon Thomas
996ca4dd65
Merge pull request #1722
2026-11-03 08:52:49 -05:00
Brandon Thomas
6c1170af62
Merge pull request #1721
2026-11-03 08:52:49 -05:00
Brandon Thomas
ed62aafbe6
Merge pull request #1709
2026-11-03 08:52:49 -05:00
Brandon Thomas
a6e2b64875
Reuse: a remapped table style's own XML carries its new id; checklist row name kept
2026-11-03 08:51:44 -05:00
Brandon Thomas
c7b91ff2ec
PPTX: reflection angles, skews and start position are written inside the schema's ranges
2026-11-03 08:50:28 -05:00
Brandon Thomas
6546136a42
PPTX timing: a sorted click group keeps its click on the effect that now plays first
2026-11-03 08:49:18 -05:00
Brandon Thomas
67c1d78948
PPTX: horzOverflow never reads or writes ellipsis (vertical only in ST_TextHorzOverflowType)
2026-11-03 08:47:09 -05:00
Brandon Thomas
4df4ea6c9f
Text: Thai distributed paragraphs still stretch like justified ones
2026-11-03 08:41:57 -05:00
Naseq
751ac26d28
fix(pptx): place effects by their parent time node delays ( fixes #1744 )
2026-11-03 17:57:57 +04:30
Dylan M. Taylor
82ec8137dc
Format: bound native load work for the manifest, failed media reads and layout checks ( #1704 )
...
- presentation.json gets its own 256 MiB inflation limit instead of the 2 GiB
per-entry allowance, and is parsed in place: only a file that needs its
null-number repair is copied.
- A media member that fails decoding or its CRC is charged for the bytes it
inflated, so later members cannot reuse the shared media budget.
- repair() and Presentation::validate() check slide layouts against a set
built once instead of scanning every layout per slide.
2026-11-03 07:39:27 -05:00
Harrison Booth
b61c5f11bd
D716: preserve reflection transforms on save
2026-11-02 22:45:51 -06:00
Harrison Booth
a0956fee13
Preserve alternate run language
2026-11-02 22:42:25 -06:00
Harrison Booth
328b4ed274
Preserve RTL table direction
2026-11-02 22:41:44 -06:00
Harrison Booth
1e5b78de37
D702: prune deleted slides from custom shows
2026-11-02 22:32:41 -06:00
Harrison Booth
73bd231589
D709: remove dangling animations from merged shapes
2026-11-02 22:32:19 -06:00
Harrison Booth
63531e2a6a
Merge remote-tracking branch 'origin/main' into dc-build-d705
...
# Conflicts:
# ROADMAP.md
# docs/parity-checklist.md
2026-11-02 22:21:16 -06:00
Harrison Booth
6cdbee50a3
Reuse custom table styles with slides
2026-11-02 22:20:52 -06:00
Brandon Thomas
0c00f22403
Merge pull request #1694
...
Comments: the pane keeps its width and resizes again (fixes #1431 )
2026-11-02 23:07:49 -05:00
Brandon Thomas
3c8dc6bc98
Merge pull request #1693
...
Render: tiled picture fills keep their size in scaled groups and upright tiles
2026-11-02 23:07:49 -05:00
Brandon Thomas
6ab485a096
Merge pull request #1679
...
Transitions: play transition preview from previous slide when Preview is clicked (#1654 )
2026-11-02 23:07:48 -05:00
Brandon Thomas
597b9488f5
Merge pull request #1579
...
ui: label animation effect options
2026-11-02 23:07:48 -05:00
Brandon Thomas
4eb9098a7c
Merge pull request #1588
...
Preserve bullet sizes authored in points
2026-11-02 23:07:47 -05:00
Brandon Thomas
df4bb8b84a
Merge pull request #1698
...
Reject png/jpeg targets in file.save instead of writing zip bytes
# Conflicts:
# crates/engine/src/tests.rs
2026-11-02 23:07:47 -05:00
Brandon Thomas
f66bed88ac
Merge pull request #1686
...
Use a short temp file name in write_file for long file names
2026-11-02 23:07:46 -05:00
Brandon Thomas
ee64e93c4a
Merge pull request #1682
...
Reject invalid master and layout indices in view.slideMaster
2026-11-02 23:07:45 -05:00
Brandon Thomas
f8128f9107
Merge pull request #1680
...
Reject unsupported handout perPage values in file.export
2026-11-02 23:07:45 -05:00
Brandon Thomas and Claude Opus 5.5
97050a353b
Bullets: an own bullet size still clears an inherited follow-text flag (as #1589 did)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-02 23:07:34 -05:00
Brandon Thomas and Claude Opus 5.5
fb3b857f53
file.save: an explicit jpg format is refused too
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-02 23:07:29 -05:00
Brandon Thomas and Claude Opus 5.5
ba3b57c756
file.export: a perPage that isn't a count is refused, not read as 6
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-02 23:07:24 -05:00
Harrison Booth
e4a0c2971b
Keep Thai distributed text rendering outside this change
2026-11-02 22:07:16 -06:00
Harrison Booth
0f5364ee9f
picture: use displayed group size for compression
2026-11-02 22:05:35 -06:00
Harrison Booth
bb417bf98a
Preserve Thai distributed paragraph alignment
2026-11-02 21:53:40 -06:00
Harrison Booth
d00ef08fae
Preserve normalized character height in PPTX
2026-11-02 21:50:20 -06:00
Harrison Booth
0d06481c34
Preserve compatible line spacing in PPTX
2026-11-02 21:47:50 -06:00
Harrison Booth
44b133a3c9
Preserve text overflow settings in PPTX
2026-11-02 21:45:18 -06:00
Harrison Booth
b66ba2e10a
Preserve centered anchoring on table cells
2026-11-02 21:42:44 -06:00
Dylan M. Taylor
8ec4f6cabb
Fonts: shape long items in bounded pieces ( #1702 )
...
The shaper lets one call grow to 256 glyphs per input character, as an
embedded font's substitutions decide, and every glyph was then copied out.
Items longer than 1 KiB are now shaped in pieces (cut at a space where one
is near, never before a combining mark or after a joiner), each with the
rest of the paragraph as context and the item's script, and a piece that
expands past 32 glyphs per character falls back to one glyph per character
from the cmap.
2026-11-02 21:22:47 -05:00
Dylan M. Taylor
5a668bf02e
Animations: index morph matching and timeline lookups by shape ( #1700 )
...
* Animations: index morph matching and timeline lookups by shape
Morph pairing searched every shape of the next slide for each shape of the
current one, four times over, rebuilding shape text inside each comparison.
Timeline state looked up a shape's effects, paragraph owner and base colour
by scanning every effect, group and colour on the slide, once per shape and
paragraph drawn. Both are now indexed once, keeping the same match order.
* Animations: drop wall-clock bounds from the large morph and paragraph tests
On a loaded runner a ten-second bound can fail after every functional
assertion passed. The inputs stay large enough that a quadratic regression
hangs the test instead.
2026-11-02 21:18:59 -05:00
Brandon Thomas and Claude Opus 5.5
3e178d8f5a
Release 0.15.0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.15.0
2026-11-02 19:27:20 -05:00
NetterSilver and Claude Haiku 5.5
58c24883c7
Reject png/jpeg targets in file.save instead of writing zip bytes
...
Found while testing crates/engine/src/cmd/file.rs:489 (save, with save_bytes at :341-349 and format_for_path at :440)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-11-03 01:14:15 +01:00