aiongg
a21353c273
Merge main into fix/sec-engine-edit-shapes-dedupe
2026-11-05 00:33:39 +00:00
aiongg
52f87aca13
Merge pull request #1474 from zberry/pptx-show-media-controls
...
PPTX: Show media controls survives a save and reopen
2026-11-04 19:17:57 -05:00
aiongg
dfee4c1e88
Merge pull request #1870 from Silvertree2010/fix/1864-next-and-previous-not-working-in
...
Make Previous/Next work in the web presenter popup
2026-11-04 19:03:38 -05:00
NetterSilver and Claude Opus 5.5
f321416b34
Make Previous/Next work in the web presenter popup
...
Fixes #1864
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-05 00:52:05 +01:00
aiongg
41f07a3c4e
Merge main into pptx-show-media-controls
2026-11-04 23:51:52 +00:00
.CooCoo
85de6ca5d7
Shape Fill: the gradient help says which kinds rotateWithShape keeps upright ( #1843 )
...
With rotateWithShape false, the renderer lays linear and radial gradients
out upright on the slide, while rectangular and path gradients still turn
with the shape. The shape.fill params doc now says so.
2026-11-04 18:11:29 -05:00
Harrison Booth
fc18a78e65
comment: reject malformed navigation indices ( #1547 )
2026-11-04 18:09:50 -05:00
Dylan M. Taylor
31abd2d819
Pass the Linux signing key to the release workflow ( #1868 )
2026-11-04 17:45:40 -05:00
aiongg
144fd28f69
Merge pull request #1192 from MarekSpodBiedry/issue-1153
...
Use evaluated field values in the placed text so the PDF text layer shows the slide number (#1153 )
2026-11-04 16:15:06 -05:00
aiongg
65ddd8ad51
Apply review fixes
...
- crates/render/src/placed.rs
2026-11-04 20:55:43 +00:00
Mex
9d36b5931c
Ogg: include recovered tail packets in Opus duration ( #1862 )
...
* Ogg: include recovered tail packets in Opus duration
Keep the existing missing-granule recovery cursor in step with the packet ends it assigns. Add a regression for a partially and entirely unanchored stream; existing valid end-trimming coverage remains unchanged.
Validation: rustc --edition=2024 --test crates/ogg/src/lib.rs: all 12 tests pass. Scoped rustfmt check passes. Full cargo --offline xtask ci is blocked before build by the uncached pinned egui checkout.
* Ogg: record recovery duration correction
2026-11-04 15:15:59 -05:00
aiongg
c252a681a0
Merge pull request #1454 from Silvertree2010/fix/h3020-rtf-outline-import-drops-the-res
...
Keep whole character after a backslash in RTF outline import
2026-11-04 14:43:02 -05:00
Dylan M. Taylor
80f784d210
Fonts: ignore variation tags the font has no axis for ( #1795 )
2026-11-04 14:36:13 -05:00
Dylan M. Taylor
07dc2210a1
Repair: bound the notes page size like a slide ( #1832 )
2026-11-04 14:09:46 -05:00
Dylan M. Taylor
51d19baa0c
Ogg, xtask: check packet ranges against the source first; stats skips directory links ( #1796 )
2026-11-04 13:56:48 -05:00
MarekSpodBiedry
50187449c2
Render tests: import place_slide_with so the date test compiles ( #1153 )
2026-11-04 07:52:46 +01:00
MarekSpodBiedry
b8de82e2cc
Merge remote-tracking branch 'origin/main' into review-1192
2026-11-04 07:51:04 +01:00
Dylan M. Taylor
23ac4f7efd
Fonts: bound font-controlled work in enumeration, outlines and carets ( #1701 )
...
* Fonts: bound font-controlled work in enumeration, outlines and carets
An embedded font could make each lookup do far more than real fonts need:
- enumerating a collection read up to 256 faces times 1024 named instances,
each then built with its own shaper; now 4096 per file across all faces,
with a set for the duplicate-style check instead of a scan;
- composite and VARC glyphs could expand one dense outline without limit,
and the outline cache only counted entries; outlines now stop at 32768
path elements (drawing nothing past it) and the cache is also bounded by
the elements it holds;
- the 64-caret limit applied after filtering, so a ligature lookup could
read every caret record; it now applies to the records read.
* address review: bound thread-local glyph cache by path elements
2026-11-03 20:39:57 -05:00
Dylan M. Taylor
69c91bb265
Render: index table style, skip list, chart point fills and waterfall bars; count each dash ( #1774 )
...
* render: look up a table's style once, keep the skip list as a set, count each dash
* render: index chart point fills, scatter x presence and waterfall bars once per chart
2026-11-03 20:39:36 -05:00
Dylan M. Taylor
a790fdbc20
Render: find a glyph's line by bisection for gradient and WordArt text ( #1783 )
2026-11-03 20:39:14 -05:00
Dylan M. Taylor
9d59fa96d3
Text, morph: share a run's gradient between glyph runs, match morph tokens by text ( #1784 )
2026-11-03 20:38:53 -05:00
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