Dylan M. Taylor
2dfb07f2c4
Thumbnails: index section starts once ( #1800 )
2026-11-03 20:38:31 -05:00
Dylan M. Taylor
f5fbadde63
Render: evict the least recently used animation instead of clearing the GIF cache ( #1802 )
2026-11-03 20:38:10 -05:00
Dylan M. Taylor
996bb42ff5
pptx: index relationships by id on read and by target on write ( #1739 )
2026-11-03 20:12:47 -05:00
Dylan M. Taylor
3c3d504eb1
PPTX: read a notes or comments part for the first slide that names it ( #1741 )
...
* pptx: read a notes or comments part for the first slide that names it
* address review: keep modern-comments precedence for already-owned parts
2026-11-03 20:12:24 -05:00
Dylan M. Taylor
f5511d93b6
Compare: index slide, shape and media lookups and compare each picture pair once ( #1752 )
...
* engine: index review.compare lookups and compare each picture pair once
* engine: keep the compare test's inserted slides empty
2026-11-03 20:12:03 -05:00
Dylan M. Taylor
c6b7de43bc
engine: use sets for slide-range expansion, added slide selection and repeated-word offsets ( #1756 )
2026-11-03 20:05:53 -05:00
Dylan M. Taylor
65d5c28512
Text: sort a paragraph's tab stops once and find the next by binary search ( #1757 )
...
* text: sort a paragraph's tab stops once and find the next by binary search
* address review: skip the tab-stop lookup for a NaN position
2026-11-03 20:05:32 -05:00
Dylan M. Taylor
d2a8be197d
geom: measure each follow band once when mapping warped lines ( #1758 )
2026-11-03 20:05:11 -05:00
Dylan M. Taylor
872cdbf331
pptx: take nested math text once and check an object's part for relationships once ( #1762 )
2026-11-03 20:04:49 -05:00
Dylan M. Taylor
0233d29064
Spelling: bound a word's language and index results by offset ( #1767 )
...
* engine: bound a word's language and index spelling results by offset
* engine: pass the test run's text by value
2026-11-03 19:59:51 -05:00
Dylan M. Taylor
a72a5167d0
Morph: pick the next curve to split from a heap, not a full scan ( #1782 )
2026-11-03 19:59:29 -05:00
Dylan M. Taylor
b7d57bacab
Text edit: splice inserted paragraphs once and paste runs without rescanning ( #1787 )
2026-11-03 19:54:06 -05:00
Dylan M. Taylor
42108d0ee7
PPTX export: index animation targets, cache build roles, serialize run properties once per text run ( #1788 )
...
* PPTX export: index animation targets, cache a paragraph's build roles, serialize run properties once per text run
* address review: warn once when a by-paragraph build is truncated
2026-11-03 19:53:44 -05:00
Dylan M. Taylor
0107186cee
Engine: check the temporary file's path against the write root ( #1792 )
2026-11-03 19:46:09 -05:00
Dylan M. Taylor
54e24ab868
Review: replace each whole word in one pass ( #1793 )
2026-11-03 19:36:05 -05:00
Dylan M. Taylor
19dceffd0b
pptx: index media, layouts, sections and table styles on export ( #1761 )
2026-11-03 14:38:07 -05:00
Dylan M. Taylor
1eec8b266c
model: group box charts and stack sums in one pass, share hierarchy labels, cap number formats ( #1760 )
2026-11-03 14:14:24 -05:00
Dylan M. Taylor
32f069eb84
AV1, HEVC: count repeated-frame outputs incrementally and drop inherited entry-point storage ( #1763 )
...
* av1: count repeated-frame outputs as they are added
* hevc: give each slice segment its own entry-point list instead of keeping the copied one's allocation
2026-11-03 13:44:00 -05:00
Brandon Thomas and Claude Opus 5.5
aa13eeb45e
Integration: community PR wave 10 (one bodyPr attribute chain, reuse imports, doc headers folded)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-03 08:54:48 -05:00
Brandon Thomas
50e02490b3
Merge pull request #1720
...
# Conflicts:
# crates/engine/src/cmd/reuse.rs
2026-11-03 08:53:01 -05:00
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
9f68e8e2cc
Reuse: a non-finite size ratio leaves content unscaled; cell text scaling tested; doc history kept
2026-11-03 08:52:48 -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
bf60dbb773
Fit reused slide content to destination size
2026-11-02 22:41:55 -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