Brandon Thomas
081c9fdc5e
Merge the landing branch into land-r7
...
# Conflicts:
# apps/deckcraft-cli/src/main.rs
# apps/deckcraft-cli/tests/cli.rs
# crates/engine/src/cmd/file.rs
# crates/engine/src/cmd/text.rs
# crates/engine/src/lib.rs
# crates/engine/src/tests.rs
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/textures.rs
2026-10-14 15:34:15 -04:00
Brandon Thomas
a5a3137e80
Merge PR #509 from NikitkaRa: Slides: reuse slides from another presentation
...
# Conflicts:
# crates/engine/src/cmd/mod.rs
# crates/pptx/tests/roundtrip.rs
# crates/ui-egui/src/lib.rs
2026-10-14 15:32:18 -04:00
Brandon Thomas and Claude Opus 5.5
f403c65c94
Fix up #355 : kept chart parts get fresh names; chartex keeps its workbook
...
A chart's kept parts were written under the names the source file gave them,
so a relationship to ppt/media/image1.png (or any name the writer generates)
produced a second zip entry with that name on save. Kept parts are now written
as ppt/<folder>/keptN.<ext> with a content-type override each, the chart's and
the kept parts' own relationships are rewritten to the new names (relationships
to parts that were not kept are dropped), and the package writer skips any
second entry under a name it already wrote. externalData/userShapes are dropped
only when their relationship is not written back.
Office 2016 chartex charts (added on main since the PR) capture and write back
their kept parts the same way; the plain-chart fallback carries none.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:30:16 -04:00
Brandon Thomas
9fc910886c
Merge PR #247 from isaac-levine: MCP: confine file access with --automation-read-root and --automation-write-root
...
# Conflicts:
# apps/deckcraft-cli/src/main.rs
# crates/engine/src/cmd/file.rs
# crates/engine/src/lib.rs
2026-10-14 15:25:09 -04:00
Brandon Thomas and Claude Opus 5.5
d66833b7c2
Fix up merged PRs: land-r6's changes fitted to the landing branch
...
- review.thesaurus's params doc parses under describe's grammar; describe's edit.copy test
expects the landing branch's {text, html?} answer.
- The Language dialog test picks the landing branch's "Français (France)" entry; the Format
Background test allows the pane's title to appear twice.
- Progress docs rebuilt from the landing branch's versions with land-r6's rows applied on top,
so the union merge no longer drops the pen-pressure, ui.pointer and ui.key rows.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:23:16 -04:00
Brandon Thomas
b6a4343ec5
Merge PR #355 from NikitkaRa: Charts: keep the embedded workbook when a chart is saved unchanged ( #335 )
...
# Conflicts:
# contributors/people.toml
# crates/pptx/src/opc.rs
# crates/pptx/src/read/chart.rs
# crates/pptx/src/read/shapes.rs
# crates/pptx/src/write/chart.rs
2026-10-14 15:23:07 -04:00
Brandon Thomas and Claude Opus 5.5
b9851d9329
Merge PR #611 from NikitkaRa: Draw: pen pressure scales ink width
...
Fix-ups in the merge (review): uniform-width and highlighter strokes are drawn as one path (on
the slide and in the live preview) so see-through ink doesn't darken where segments overlap;
segment pairs are destructured instead of indexed; tests that build pointer events set the new
pressure field.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:18:04 -04:00
Brandon Thomas
91eb9d8884
Merge the landing branch into land-r6
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/engine/src/tools.rs
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/panes.rs
# crates/ui-egui/src/ribbon.rs
# crates/ui-egui/src/status.rs
# crates/ui-egui/src/textures.rs
# crates/ui-egui/src/thumbs.rs
2026-10-14 15:14:21 -04:00
Brandon Thomas
bad8e9d1dd
Merge PR #139 from alexanderalber: Text: typing goes on after Tab in a text box ( #78 )
...
# Conflicts:
# crates/ui-egui/src/lib.rs
2026-10-14 15:08:45 -04:00
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
c448a3dba9
Fix up merged PRs: progress docs without the rows the union merges duplicated
...
Stale status lines and table rows from the older PRs are folded into main's current ones.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:05:32 -04:00
Brandon Thomas
e80d3f4aed
Merge PR #137 from alexanderalber: Morph: a picture cropped differently on the next slide morphs its crop ( #118 )
...
# Conflicts:
# crates/anim/src/lib.rs
# crates/anim/src/tests.rs
2026-10-14 15:05:27 -04:00
Brandon Thomas
c40b2d53ee
Merge PR #136 from alexanderalber: Morph: text boxes without a partner fade in place instead of moving ( #119 )
2026-10-14 15:04:43 -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
95cb3be9e6
Merge PR #522 from NikitkaRa: UI: keep editor slides on the Retina pixel grid
...
# Conflicts:
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/panes.rs
# crates/ui-egui/src/sorter.rs
# crates/ui-egui/src/textures.rs
2026-10-14 14:58:19 -04:00
Brandon Thomas
f8949f28cd
Merge PR #692 from NikitkaRa: UI: Format Background picture fill sets transparency and tiling
...
# Conflicts:
# crates/engine/src/cmd/design.rs
# crates/ui-egui/src/panes.rs
2026-10-14 14:55:58 -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
c354f02279
Merge PR #177 from Mathiasko: Export: animated GIF of the deck (Export… dialog, CLI, MCP) ( #171 )
...
# Conflicts:
# apps/deckcraft-cli/src/main.rs
# crates/engine/src/cmd/file.rs
# crates/engine/src/lib.rs
# crates/mcp/src/tests.rs
# crates/mcp/src/tools.rs
# crates/ui-egui/src/dialogs.rs
2026-10-14 14:52:34 -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
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
3723b36ff2
Merge PR #168 from Mathiasko: Notes: speaker notes show their formatting and keep it when edited
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/model/src/edit.rs
# crates/text/src/lib.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/sorter.rs
# crates/ui-egui/src/status.rs
2026-10-14 14:45:13 -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
4416bc170a
Merge PR #697 from NikitkaRa: UI: Format Shape fill transparency follows the selection
...
# Conflicts:
# crates/ui-egui/src/panes.rs
2026-10-14 14:43:08 -04:00
Brandon Thomas
bd607f333a
Merge PR #648 from NikitkaRa: Canvas: a trackpad swipe turns the page
...
# Conflicts:
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/lib.rs
2026-10-14 14:42:43 -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
b3ec4013e6
Merge PR #230 from pierrevbc: Tables: caret in the edited cell, click-to-place, drag borders to resize
...
# Conflicts:
# crates/engine/src/cmd/text.rs
# crates/engine/src/tests.rs
# crates/engine/src/tools.rs
# crates/render/src/lib.rs
# crates/ui-egui/src/canvas.rs
2026-10-14 14:41:34 -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
79b3e3693f
Merge PR #571 from NikitkaRa: UI: preview slide animations on the editor canvas
...
# Conflicts:
# crates/ui-egui/src/canvas.rs
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/show.rs
2026-10-14 14:40:51 -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 and Claude Opus 5.5
7dcfe0f989
Fix up merged PRs: a textless shape still copies as the objects marker so Ctrl+V pastes it ( #182 ), not as a picture ( #702 )
...
With only an image on the system clipboard egui-winit drops Ctrl+V, so #702 's
picture copy of a textless shape undid main's #182 fix. Text keeps #702 's HTML,
and empty plain text falls back to the marker.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 14:40:18 -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
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
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
b590cb0b0b
Merge PR #303 from hoblin: deckcraft-cli help explains the CLI to an agent
...
# Conflicts:
# apps/deckcraft-cli/src/main.rs
# crates/engine/src/cmd/design.rs
# crates/engine/src/cmd/file.rs
# crates/engine/src/cmd/format.rs
# crates/engine/src/tests.rs
2026-10-14 14:36:13 -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
80d3ad5f24
Merge PR #243 from pierrevbc: Canvas: drag the frame of a text box being edited to move it
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/engine/src/tools.rs
2026-10-14 14:26:59 -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
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
fca521ac8c
Merge PR #471 from NikitkaRa: Control server: bound connections, line length, queue and socket timeouts ( #418 )
2026-10-14 14:24:15 -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
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