Brandon Thomas and Claude Opus 5.5
a15d93acdd
Fix up #747 and #772 from review: docs keep their status headers (log rows stay), no milestone renaming; the bullet test no longer saves screenshots; clippy's as_chunks in the bullet render test
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 22:00:48 -04:00
Mex
f4ce764d1c
M13.1: validate remote MCP replies ( #718 )
...
Reject unrelated, malformed, incomplete and oversized replies without replaying commands.
Reconnect before sending when unsolicited reply bytes are buffered.
Contribution on behalf of @MMexicann.
2026-10-14 22:24:15 +02:00
Brandon Thomas and Claude Opus 5.5
4517dd4e88
Docs: fold the rows and headers the PR merges duplicated; parity summary regenerated
...
Union merges of the 2026-10-14 community PR wave stacked header lines and
left near-duplicate rows, bullets and paragraphs with per-PR counts. Each
progress doc now has one status line and one row per fact, with current
numbers: breadth 84% over 191 features (cargo xtask parity, after removing
duplicate Thesaurus/AutoCorrect/Artistic effects/Corrections checklist
rows), 320 engine commands, 41 dialogs, 1,641 tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 16:13:37 -04:00
Brandon Thomas
1370e78e09
Merge the land-fix PRs integrated on land-r8 ( #355 #509 #513 #508 #488 )
...
# Conflicts:
# crates/engine/src/cmd/mod.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 15:59:30 -04:00
Brandon Thomas and Claude Opus 5.5
0997d1e4cd
Merge PR #520 from NikitkaRa: Insert: Summary, Section and Slide Zoom with Return to Zoom
...
Fix-ups in the merge (review): zoom targets, sections and titles are looked up with get()
instead of indexing; Hyperlink literals carry both main's sound fields and zoom_return;
duplicated test statements left by the test-file union are removed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:58:31 -04:00
Brandon Thomas
bb15c0a033
Merge the landing branch into land-r8
...
# Conflicts:
# contributors/people.toml
# crates/engine/src/cmd/file.rs
# crates/pptx/src/opc.rs
# crates/pptx/tests/roundtrip.rs
# crates/ui-egui/src/backstage.rs
# crates/ui-egui/src/lib.rs
2026-10-14 15:53:57 -04:00
Brandon Thomas
70a9a5b1cd
Merge PR #513 from NikitkaRa: Pictures: compress pictures to a target resolution
...
# Conflicts:
# crates/engine/src/cmd/mod.rs
# crates/pptx/tests/roundtrip.rs
# crates/ui-egui/src/ribbon.rs
2026-10-14 15:36:54 -04:00
Brandon Thomas and Claude Opus 5.5
5ef510e57b
Fix up #509 : copy media by a typed walk of every reference
...
slide.reuse indexed src.slides[i] and found media by scanning JSON keys
(media/poster/preview/sound), which missed artistic-effect originals and would
miss any reference stored under another key. New engine module media_refs: one
typed walker over the model (written once, expanded for & and &mut) that visits
every MediaId a presentation, master, layout, slide or shape can hold: pictures
and their artistic originals, picture fills in shapes, lines, runs, table cells
and styles, chart series and points, backgrounds and theme format schemes;
media clips and posters, 3-D models, OLE/SmartArt previews and node pictures,
picture bullets, hyperlink, transition and animation sounds, embedded fonts.
slide.reuse now lists and remaps media through it, uses get() for slides, and
keeps a linked media item's link when copying it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 15:35:50 -04:00
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 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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
8f0640a7b2
Merge PR #603 from NikitkaRa: Render: draw chart trendlines
...
# Conflicts:
# crates/render/src/chart.rs
2026-10-14 13:47:08 -04:00
Brandon Thomas
ee991563c9
Merge PR #441 from NikitkaRa: Show: a laser pointer that leaves no ink
...
# Conflicts:
# crates/ui-egui/src/show.rs
2026-10-14 13:45:58 -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
82ea49bcf1
Merge PR #598 from NikitkaRa: Charts: keep and draw region map charts
2026-10-14 13:42:45 -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 and Claude Opus 5.5
0376c0b0e1
Fix up merged PRs: one parity summary, one dialogs gap entry, no duplicated architecture rows
...
Recomputed docs/parity-checklist.md's summary with cargo xtask parity.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:41:30 -04:00