Brandon Thomas
b56d5792b0
Merge the format, canvas and dialog PRs integrated on land-r4 ( #567 #569 #630 #637 #536 #559 #519 #506 #549 #556 #525 )
...
# Conflicts:
# crates/engine/src/cmd/review.rs
# crates/engine/src/tests.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/panes.rs
2026-10-14 15:06:35 -04:00
Brandon Thomas and Claude Opus 5.5
2e727a3ccf
Merge PR #492 from NikitkaRa: Shapes: smooth a rectangle's corners into a squircle ( #286 )
...
Fix-up in the merge (review): shape.smoothCorners re-smooths a custom outline only when it is a
squircle it drew with the given radius, so a freeform is never replaced by a rectangle.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:05:10 -04:00
Brandon Thomas and Claude Opus 5.5
320e3a971a
Fix up merged PRs: one Editing group on Home, fmt, docs after the format/canvas/dialog merges
...
- Home: #556 's Find and Replace join main's Replace Fonts… in one Editing group with the
Selection Pane, as PowerPoint lays it out; the separate group pushed Replace Fonts… out of
reach at 1400 px. The Replace Fonts test picks the dialog's Replace button, not the ribbon's.
- cargo fmt.
- docs: parity summary regenerated with `cargo xtask parity`; ui-parity's ruler row says tab
stops are set on the ruler (#567/#569) as well as in the Tabs dialog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:04:16 -04:00
Brandon Thomas
f800acee47
Merge the startup, clipboard, animation-preview and UI PRs integrated on land-r5 ( #644 #652 #655 #702 #571 #539 #674 #648 #697 #479 #369 #368 )
...
# Conflicts:
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:58:48 -04:00
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
86c5559f24
Merge PR #632 from NikitkaRa: Spelling: notes right-click menu, Review > Language (Do Not Check Spelling), repeated words
...
# Conflicts:
# crates/engine/src/cmd/format.rs
2026-10-14 14:48:54 -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
e9923c6c42
Merge PR #368 from NikitkaRa: A tabbed slide body is an outline, and --help exits ( #360 )
...
# Conflicts:
# apps/deckcraft/src/main.rs
# crates/engine/src/cmd/slide.rs
# crates/engine/src/cmd/text.rs
2026-10-14 14:45:23 -04:00
Brandon Thomas
b815568fd7
Merge PR #626 from NikitkaRa: Spelling: squiggles in table cells and speaker notes; UI-thread checking on the web
...
# Conflicts:
# crates/engine/src/cmd/text.rs
# crates/ui-egui/src/status.rs
2026-10-14 14:44:48 -04:00
Brandon Thomas
eff4c02efa
Merge PR #615 from NikitkaRa: Spelling: squiggles while typing, Add to Dictionary, per-run languages, compounds
...
# Conflicts:
# crates/engine/src/cmd/text.rs
# crates/ui-egui/src/canvas.rs
2026-10-14 14:44:12 -04:00
Brandon Thomas and Claude Opus 5.5
367b079d64
Fix up #609 : spelling language tags can't leave the dictionary folders; long words get no suggestions
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:42:15 -04:00
Brandon Thomas
6f38c958b6
Merge PR #674 from NikitkaRa: Canvas: a two-finger twist rotates the selection
...
# Conflicts:
# crates/engine/src/cmd/shape.rs
# crates/ui-egui/src/lib.rs
2026-10-14 14:42:12 -04:00
Brandon Thomas
5ed2f808e3
Merge PR #539 from NikitkaRa: Draw: Ink to Shape converts pen strokes into shapes
...
# Conflicts:
# crates/engine/src/cmd/shape.rs
# crates/engine/src/lib.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:41:19 -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
e1a92e37c6
Merge PR #609 from NikitkaRa: Review: spelling with Hunspell dictionaries, suggestions, Change and Ignore All
...
# Conflicts:
# crates/engine/src/lib.rs
# crates/engine/src/tests.rs
# crates/ui-egui/src/dialogs.rs
2026-10-14 14:40:49 -04:00
Brandon Thomas
38e95d8c15
Merge PR #702 from NikitkaRa: Clipboard: rich text and pictures for Pages and Keynote
...
# Conflicts:
# crates/engine/src/cmd/edit.rs
# crates/ui-egui/src/lib.rs
2026-10-14 14:39:36 -04:00
Brandon Thomas and Claude Opus 5.5
1659e06565
Fix up merged PRs: Draw Table's table lookup uses the checked shape id param ( #544 after #97 ); its test no longer writes to /tmp
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:39:10 -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
23eb82c02a
Merge PR #544 from NikitkaRa: Tables: Draw Table pencil and Table Eraser
...
# Conflicts:
# crates/ui-egui/src/ribbon.rs
2026-10-14 14:38:00 -04:00
Brandon Thomas
8587be6af9
Merge PR #542 from NikitkaRa: Design: Variants gallery with four colour variations of the theme
...
# Conflicts:
# crates/engine/src/cmd/design.rs
# crates/engine/src/tests.rs
2026-10-14 14:37:07 -04:00
Brandon Thomas and Claude Opus 5.5
8ee597216d
Fix up landed PRs from review
...
- #178 : ToUnicode ranges looked up without indexing
- #465 : frame_num gaps are concealed (bounded) even when the SPS forbids them; cut streams keep playing
- #471 : control request lines up to 256 MB so picture/media inserts still fit
- #473 : a merge that loses its only row or column is removed, with regression tests
- #521 : AutoCorrect no longer rewrites real words (cant, wont, im)
- #654 : inherit_placeholder_geometry's doc comment back on its function
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:31:01 -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
a0d97fa931
Merge PR #644 from NikitkaRa: Startup: survive damaged settings, font folders, recovery folders and small texture limits
...
# Conflicts:
# crates/engine/src/recovery.rs
# crates/fonts/src/fontdb.rs
# crates/fonts/src/lib.rs
# crates/ui-egui/src/lib.rs
2026-10-14 14:24:45 -04:00
Brandon Thomas
71c3848eff
Merge PR #521 from NikitkaRa: Text: AutoCorrect options, case rules and your own entries
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-14 14:24:16 -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
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
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
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 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
e74015490b
Merge PR #660 from NikitkaRa: Show: play a custom show
...
# Conflicts:
# crates/anim/src/show.rs
# crates/engine/src/cmd/review.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/show.rs
2026-10-14 13:49:10 -04:00
Brandon Thomas
d6d7e91c47
Merge PR #679 from NikitkaRa: Show: Show Media Controls hides the playback bar
...
# Conflicts:
# crates/engine/src/cmd/review.rs
# crates/ui-egui/src/show.rs
2026-10-14 13:46:55 -04:00
Brandon Thomas
0ed74b684a
Merge the SmartArt and dialog PRs integrated on land-r1 ( #596 #601 #606 #610 #613 #617 #621 #623 #627 #634 #557 #689 #668 )
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/ui-egui/src/dialogs.rs
2026-10-14 13:44:43 -04:00
Brandon Thomas
b0345cfaf2
Merge PR #602 from NikitkaRa: Charts: polar radar, stock high-low lines and up/down bars, combo sample
2026-10-14 13:42:48 -04:00
Brandon Thomas
7c46b5b76a
Merge PR #594 from NikitkaRa: Charts: multi-level treemaps and sunbursts; inclusive box quartiles
2026-10-14 13:42:41 -04:00
Brandon Thomas
6057715c2a
Merge PR #591 from NikitkaRa: Charts: histograms, Pareto and box and whisker; Office 2016 charts save as themselves
...
# Conflicts:
# crates/render/src/chart.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 13:42:41 -04:00
Brandon Thomas
f52bcfa1c8
Merge PR #530 from NikitkaRa: Design: Browse for Themes from a .thmx, .pptx or .potx file
...
# Conflicts:
# crates/ui-egui/src/lib.rs
2026-10-14 13:36:45 -04:00
Brandon Thomas
d00b01b5a1
Merge PR #540 from NikitkaRa: Table: borders, cell margins and cell text alignment
...
# Conflicts:
# crates/engine/src/cmd/table.rs
# crates/engine/src/tests.rs
2026-10-14 13:36:34 -04:00
Brandon Thomas
0f3495e55d
Merge PR #512 from NikitkaRa: Home: Replace Fonts dialog and font.replace command
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 13:34:06 -04:00
Brandon Thomas
62fe8571f6
Merge PR #687 from NikitkaRa: UI: Create New Theme Fonts dialog edits the theme in one step
...
# Conflicts:
# crates/engine/src/cmd/design.rs
# crates/ui-egui/src/dialogs.rs
2026-10-14 13:33:36 -04:00
Brandon Thomas
18be662a2a
Merge PR #668 from NikitkaRa: UI: Date and Time dialog inserts a format in one step
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
2026-10-14 13:30:31 -04:00
Brandon Thomas
e0ec02d62c
Merge PR #689 from NikitkaRa: UI: Hyperlink dialog follows the selection
...
# Conflicts:
# crates/engine/src/cmd/insert.rs
# crates/ui-egui/src/dialogs.rs
2026-10-14 13:30:10 -04:00