Commit Graph
770 Commits
Author SHA1 Message Date
Brandon Thomas 34f4c1b1df Merge the older community PRs integrated on land-r6 (#204 #243 #291 #345 #258 #303 #230 #168 #177 #692 #522 #466)
# Conflicts:
#	crates/ui-egui/src/canvas.rs
2026-10-14 15:24:58 -04:00
Brandon ThomasandClaude 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 ThomasandClaude 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 ThomasandClaude Opus 5.5 621efd0290 Merge PR #673 from NikitkaRa: Charts: error bars
Fix-ups in the merge: error-bar statistics are computed once per series (was once per point,
quadratic on long series); reading custom amounts uses the chart-wide point budget (#480).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:14:06 -04:00
Brandon ThomasandClaude Opus 5.5 b9f112a6e4 Merge PR #670 from NikitkaRa: Format: never save a .deckcraft that cannot be reopened over a NaN
Fix-up in the merge (review): reading older files that hold null numbers re-parses at most
256 MB in all and slices without indexing, so a hostile file can't hang the open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:11:25 -04:00
Brandon ThomasandClaude Opus 5.5 a0facd60af Fix up merged PRs: cargo fmt, and the write_file tests may unwrap
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:10:48 -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 ThomasandClaude 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 ThomasandClaude 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 ThomasandClaude 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 1d7ba53cf9 Merge PR #466 from MarekSpodBiedry: File: save through a unique, exclusively created temporary file (#391)
# Conflicts:
#	crates/engine/src/cmd/file.rs
2026-10-14 15:03:00 -04:00
Brandon ThomasandClaude Opus 5.5 330fc16c8c Fix up merged PRs: zoom anchors on the unsnapped slide rect; zoom tests allow the pixel-grid snap
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:02:43 -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 ThomasandClaude Opus 5.5 afc387cdc5 Merge PR #468 from NikitkaRa: Media: a failed or stalled audio output hands the clock back to wall time (#417)
Fix-up in the merge (review): a just-started stream gets 5 s for its first callback before it
counts as stalled (slow Bluetooth devices), and the failure count resets once a restarted
stream delivers, so one bad start no longer silences media for the session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:57:54 -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 ThomasandClaude Opus 5.5 ed13dd6158 Fix up merged PRs: GIF export goes through main's export path
The Export dialog's GIF choice runs through SlideApp::export_as (desktop and web download),
.gif is a writable output extension for convert/run, and the CLI help pages describe GIF output
and --export-params. A file.export `slides` range string ("1-3,5") works for GIF as for PDF.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:54:35 -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 ThomasandClaude Opus 5.5 69e212e3af Fix up merged PRs: the IME notes test reads the formatted draft's text; drop an unused import
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:50:49 -04:00
Brandon ThomasandClaude 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 ThomasandClaude Opus 5.5 560928af94 Fix up merged PRs: cargo fmt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:46:41 -04:00
Brandon ThomasandClaude Opus 5.5 748b83a284 Fix up merged PRs: one re-export of the table cell helpers (#618 and #626 both added it)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:46:09 -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 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 ThomasandClaude 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 822c8f44b3 Merge PR #369 from NikitkaRa: Mark the current transition effect option (#365)
# Conflicts:
#	crates/ui-egui/src/ribbon.rs
2026-10-14 14:44:56 -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 ThomasandClaude Opus 5.5 526e31d1f7 Fix up merged PRs: a picked file remembers main's Handout and Notes Master views (#479)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:44:40 -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 5fbdb6c79e Merge PR #479 from NikitkaRa: Web: keep a picked file on the document and slide that asked for it
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-14 14:43:55 -04:00
Brandon ThomasandClaude Opus 5.5 740a57ddba Fix up merged PRs: table borders under a right-click select the table; the cell caret is drawn once
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:43:36 -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 ThomasandClaude 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 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 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 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 ThomasandClaude Opus 5.5 2173cf9569 Fix up merged PRs: Draw Table and Table Eraser sit in the Table Design tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:40:38 -04:00
Brandon ThomasandClaude 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 ThomasandClaude Opus 5.5 3b28496c36 Fix up merged PRs: main's newer params docs fit describe's grammar; help pages for bench and render-transition
file.export's slide range and transition.sound's keys parse as parameters, and the subcommands
main added since #303 have their own help page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:40:09 -04:00