Brandon Thomas
3af36720fd
Merge PR #525 from NikitkaRa: Review: compare with a revised copy and accept its slides
...
# Conflicts:
# crates/engine/src/cmd/review.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/panes.rs
2026-10-14 14:53:58 -04:00
Brandon Thomas
b2b0e82359
Merge PR #556 from NikitkaRa: Text: Find and Replace across slides, tables and notes
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:53:21 -04:00
Brandon Thomas
1e6d9a2888
Merge PR #549 from NikitkaRa: Review: Thesaurus pane with a built-in English word list
...
# Conflicts:
# crates/engine/src/cmd/review.rs
# crates/engine/src/lib.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/panes.rs
2026-10-14 14:51:35 -04:00
Brandon Thomas
143a842d1c
Merge PR #506 from NikitkaRa: Format Shape: picture or texture fill options
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/ui-egui/src/panes.rs
2026-10-14 14:51:02 -04:00
Brandon Thomas and Claude Opus 5.5
e6862f18ae
Fix up merged PRs: WordArt warp handles on main's warp catalog and hover hit list
...
- #519 's handle test iterated the old `ALL` preset list; main has `CATALOG` now.
- The hover hit-test match lists every Hit variant; add #519 's Hit::Warp.
- Drop the duplicate "tabs" dialog title that #569 and #637 both added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:49:10 -04:00
Brandon Thomas
b267a921cd
Merge PR #519 from NikitkaRa: UI: WordArt adjust handles drag a text warp
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/engine/src/tools.rs
# crates/geom/src/warp.rs
2026-10-14 14:46:54 -04:00
Brandon Thomas and Claude Opus 5.5
e90e265453
Fix up merged PRs: Grid Options guides follow #559 , and its dialog test finds its own Spacing
...
- Turning guides on in Grid Options (#536 ) now adds the two centre guides to a presentation
without any, as View › Guides does since #559 stopped drawing fixed centre lines.
- The Grid Options dialog test looked for any "Spacing" label; main's ribbon has Line Spacing
too, so it looks for "Spacing (pt)".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:45:12 -04:00
Brandon Thomas
ec44671a81
Merge PR #559 from NikitkaRa: View: movable drawing guides saved with the presentation
...
# Conflicts:
# crates/engine/src/tools.rs
# crates/model/src/defaults.rs
# crates/model/src/lib.rs
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/lib.rs
2026-10-14 14:41:12 -04:00
Brandon Thomas
2d4c4e75d8
Merge PR #536 from NikitkaRa: UI: Grid Options sets spacing, snap and the on-screen grid
...
# Conflicts:
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/lib.rs
2026-10-14 14:39:01 -04:00
Brandon Thomas and Claude Opus 5.5
7acb9faad1
Fix up merged PRs: one format.tabs and one Tabs dialog for #567/#569 and #637
...
#569 and #637 each added a `format.tabs` command and a Tabs dialog. Keep one of each:
- format.tabs takes #567/#569's add/move/remove/clear/set plus #637 's strict `set`
(unknown alignment or non-object entries are errors, stops within 0.05 pt collapse,
last wins) and opens the Tabs dialog when called with no fields, as #637 did.
A defaultTab-only call no longer rewrites the stops.
- The Tabs dialog is #569 's; it now seeds from the dialog's params when Paragraph (or
format.tabs) opened it, and on OK hands the applied stops back to Paragraph.
- Tests adapted: an empty format.tabs opens the dialog; the Paragraph → Tabs test sets
stops through #569 's dialog fields.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:38:03 -04:00
Brandon Thomas
12df77ed19
Merge PR #637 from NikitkaRa: UI: Paragraph dialog sets alignment, indents and spacing
...
# Conflicts:
# crates/engine/src/cmd/format.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:30:55 -04:00
Brandon Thomas
be445fb083
Merge PR #630 from NikitkaRa: UI: Font dialog sets character formatting in one step
...
# Conflicts:
# crates/engine/src/cmd/format.rs
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/dialogs.rs
2026-10-14 14:27:38 -04:00
Brandon Thomas
f0dbc08c09
Merge PR #569 from NikitkaRa: Text: Tabs dialog and the ruler's tab selector (stacked on #567 )
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
2026-10-14 14:27:04 -04:00
Brandon Thomas
aec4043ccd
Merge PR #567 from NikitkaRa: View: indent and tab markers on the ruler
...
# Conflicts:
# crates/engine/src/cmd/format.rs
# crates/ui-egui/src/canvas.rs
2026-10-14 14:26:32 -04:00
Brandon Thomas
0c2c433ade
Merge the chart and EMF+ metafile PRs integrated on land-r2 ( #532 #537 #591 #594 #598 #602 #603 #638 #640 #662 #666 #669 #690 #582 #588 #633 #635 )
...
# Conflicts:
# crates/pptx/src/write/mod.rs
# crates/pptx/tests/roundtrip.rs
2026-10-14 14:17:35 -04:00
Brandon Thomas and Claude Opus 5.5
a85024558d
Fix up merged PRs: Quick Access Toolbar defaults keep main's Export button and custom-show start
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:16:59 -04:00
Brandon Thomas
f6661ed15e
Merge PR #563 from NikitkaRa: UI: customizable Quick Access Toolbar
...
# Conflicts:
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:16:22 -04:00
Brandon Thomas and Claude Opus 5.5
b2b378a3f0
Fix up merged PRs: dedupe doc rows left by the union merges
...
One EMF / WMF parity row naming both GDI clip regions and EMF+ playback; drop
the stale Tables, Charts, chartex and SmartArt rows that came back with the
chartex PRs; one SVG-gap sentence; one charts-gap paragraph.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:13:50 -04:00
Brandon Thomas
ea12297822
Merge PR #223 from marcoarnulfo: Title bar: on macOS the window buttons sit centred in it ( #71 )
...
# Conflicts:
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:13:29 -04:00
Brandon Thomas
4eae520beb
Merge PR #484 from NikitkaRa: Video: check the whole picture store against a memory budget ( #398 )
...
# Conflicts:
# crates/av1/src/decoder.rs
2026-10-14 14:12:46 -04:00
Brandon Thomas
16355053e1
Merge PR #481 from NikitkaRa: AV1: reject duplicate film-grain scaling points; a failed job still publishes ( #394 )
...
# Conflicts:
# crates/av1/src/decoder.rs
2026-10-14 14:12:22 -04:00
Brandon Thomas
8ea2cb0871
Merge PR #361 from NikitkaRa: CLI: say that render --slide counts from 0 ( #359 )
...
# Conflicts:
# apps/deckcraft-cli/src/main.rs
2026-10-14 14:12:10 -04:00
Brandon Thomas
3a8927e3f3
Merge PR #691 from NikitkaRa: UI: Trim Media dialog follows the selection
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
2026-10-14 14:11:53 -04:00
Brandon Thomas and Claude Opus 5.5
0c3f4eee63
Fix up merged PRs: Slide Master Preserve/placeholders know the notes and handout master views
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:07:31 -04:00
Brandon Thomas
a4fa978903
Merge PR #703 from NikitkaRa: UI: Slide Master Preserve and Title or Footers placeholders
...
# Conflicts:
# crates/engine/src/cmd/design.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:06:42 -04:00
Brandon Thomas and Claude Opus 5.5
31e22977f7
Fix up merged PRs: the palette test skips UI commands that need a value ( #440 hides them)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:05:00 -04:00
Brandon Thomas
7266b30018
Merge PR #698 from NikitkaRa: UI: Design Effects applies a theme effect scheme
...
# Conflicts:
# crates/engine/src/cmd/design.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:04:24 -04:00
Brandon Thomas
2009242055
Merge PR #684 from NikitkaRa: Export: a PNG or JPEG slide records 144 dpi at the default 2× size
...
# Conflicts:
# crates/engine/src/cmd/file.rs
# crates/engine/src/tests.rs
2026-10-14 14:02:59 -04:00
Brandon Thomas
1e80cd5547
Merge PR #440 from NikitkaRa: Palette: skip commands that need a value
...
# Conflicts:
# crates/ui-egui/src/menus.rs
2026-10-14 14:01:08 -04:00
Brandon Thomas
749656605c
Merge PR #635 from NikitkaRa: Metafile: EMF+ Clear, and the EMF+ record coverage written down
2026-10-14 13:57:48 -04:00
Brandon Thomas
1360b283f3
Merge PR #633 from NikitkaRa: Metafile: EMF+ cardinal curves and region fills
...
# Conflicts:
# crates/render/src/tests.rs
2026-10-14 13:57:48 -04:00
Brandon Thomas and Claude Opus 5.5
389c4dd5d0
Fix up merged PRs: #588 's polygon clip and nested metafiles with clip regions
...
Move #588 's clip.rs changes into cliprect.rs, carry main's per-item clip
region through the polygon clipper, and build nested-metafile items with the
region field main added (the nested picture's own regions are not carried
over; each item takes the canvas's current clip).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:56:56 -04:00
Brandon Thomas
b3c9cc099c
Merge the PPTX writer, notes/handout master, PDF and slide-show PRs integrated on land-r3 ( #518 #531 #535 #533 #572 #573 #577 #580 #583 #592 #685 #528 #483 #490 #441 #671 #679 #649 #656 #660 #664 #224 )
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/model/src/lib.rs
# crates/pptx/src/write/mod.rs
# crates/render/src/lib.rs
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/thumbs.rs
2026-10-14 13:56:41 -04:00
Brandon Thomas
4d7406be10
Merge PR #588 from NikitkaRa: Metafile: EMF+ arcs, convex clip paths, wrapped strings, nested metafiles
...
# Conflicts:
# crates/metafile/src/canvas.rs
# crates/metafile/src/clip.rs
# crates/metafile/src/emfplus.rs
2026-10-14 13:56:02 -04:00
Brandon Thomas
126029db40
Merge PR #254 from xmaks82: Text: honour spcFirstLastPara (space before the first paragraph)
...
# Conflicts:
# crates/pptx/src/read/dml.rs
# crates/text/src/lib.rs
# crates/text/src/tests.rs
2026-10-14 13:55:43 -04:00
Brandon Thomas and Claude Opus 5.5
3450180f19
Fix up merged PRs: EMF+ clipping alongside GDI clip regions
...
main added its own clip.rs (GDI rectangle regions carried on every drawn
item); #582 added a clip.rs that cuts drawing geometrically to the EMF+ clip
rectangle. Keep main's module, move #582 's to cliprect.rs, keep the EMF+
rectangle on the canvas as plus_clip, and carry the region field through the
geometric clipper.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:55:38 -04:00
Brandon Thomas
eab5686393
Merge PR #582 from NikitkaRa: Metafile: EMF+ images, text, gradient brushes and clipping
...
# Conflicts:
# crates/metafile/src/canvas.rs
# crates/metafile/src/clip.rs
2026-10-14 13:54:59 -04:00
Brandon Thomas
912598fa46
Merge PR #675 from NikitkaRa: View: Zoom dialog applies a percent or Fit
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
2026-10-14 13:54:33 -04:00
Brandon Thomas
ad7eb45abe
Merge PR #690 from NikitkaRa: Charts: a chart frame with no width no longer panics
...
# Conflicts:
# crates/render/src/chart.rs
# crates/render/src/tests.rs
2026-10-14 13:53:49 -04:00
Brandon Thomas and Claude Opus 5.5
5c7e9fc6c3
Format the merged PRs (cargo fmt)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:53:13 -04:00
Brandon Thomas and Claude Opus 5.5
bb3627f954
Fix up merged PRs: minor gridlines on a logarithmic axis
...
#666 's minor gridlines stepped in value units, but #669 scales a log axis in
exponents of its base; map each minor step back through the base.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:53:06 -04:00
Brandon Thomas and Claude Opus 5.5
f9c1000e35
Fix up merged PRs: rustfmt; drop doc rows the union merge left twice
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:51:53 -04:00
Brandon Thomas and Claude Opus 5.5
0ac222a543
Fix up merged PRs: split ribbon buttons carry their label once ( #512 's label predates main's)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:51:49 -04:00
Brandon Thomas
6d1b01b73d
Merge PR #669 from NikitkaRa: Charts: logarithmic value axes
...
# Conflicts:
# crates/pptx/src/read/chart.rs
# crates/render/src/chart.rs
2026-10-14 13:51:30 -04:00
Brandon Thomas
808087e6a5
Merge PR #666 from NikitkaRa: Charts: value-axis minor gridlines
...
# Conflicts:
# crates/pptx/src/read/chart.rs
2026-10-14 13:50:53 -04:00
Brandon Thomas and Claude Opus 5.5
5089d615bf
Fix up merged PRs: scatter trendlines follow the value x axis
...
#662 gives scatter and bubble charts one x scale over every series; #603 's
trendlines still mapped x over each series' own extent, so a fit drifted off
its points. Use the chart's x scale where there is one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:50:37 -04:00
Brandon Thomas and Claude Opus 5.5
6902c4bf92
Fix up merged PRs: every presenter-view button uses the light-on-dark style ( #221 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:50:27 -04:00
Brandon Thomas
d2bf428362
Merge PR #224 from justinjohn0306: Notes and Presenter View: long notes scroll, presenter controls show ( #221 )
...
# Conflicts:
# crates/ui-egui/src/show.rs
2026-10-14 13:50:20 -04:00
Brandon Thomas
256ad7057c
Merge PR #662 from NikitkaRa: Charts: scatter and bubble charts get a value x axis
...
# Conflicts:
# crates/render/src/chart.rs
2026-10-14 13:49:59 -04:00
Brandon Thomas
bc62c58b17
Merge PR #664 from NikitkaRa: Show: show the slide number while typing it
...
# Conflicts:
# crates/ui-egui/src/show.rs
2026-10-14 13:49:49 -04:00