Commit Graph
228 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 0dfc9ccf6f Fix up #247: route main's other file access through the checked io layer
design.browseTheme reads its path with io::read_file, and File › Info sizes the file with
io::file_len (which checks the read root), so commands_do_not_touch_the_file_system_themselves
passes. spell.rs is allow-listed beside recovery.rs: it touches only the app's own dictionary
folders. main's render_slide MCP tool refuses a `path` argument (#371), so the root tests
render to a file through call_app ui.render instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:27:46 -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 ThomasandClaude Opus 5.5 4b6f307ebb Fix up #169: auto RTL lives only in the engine and right-aligns only unaligned text
Drop the layout-time direction detection in crates/text (and its test); the engine's
promote_rtl_if_needed sets align Right only when neither the paragraph nor what it
inherits (list styles, layout, master) resolves an alignment. right_to_left_paragraphs
types its original Arabic text again, after an explicit LTR so the toggle it tests
starts from left-to-right.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:19:02 -04:00
Brandon Thomas bd005c4626 Merge PR #169 from Hevarh1: Bidi: auto-detect RTL paragraph direction when typing Kurdish, Arabic and Hebrew 2026-10-14 15:14:09 -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 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 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 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 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 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 ThomasandClaude 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 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 ThomasandClaude 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
Brandon Thomas 63c32b89b8 Merge PR #573 from NikitkaRa: Add the Notes Master view (stacked on #572 / #533)
# Conflicts:
#	crates/pptx/src/write/mod.rs
2026-10-14 13:29:52 -04:00
Brandon ThomasandClaude Opus 5.5 4c1357b2e6 Fix up merged PRs: shape.action fills main's new Hyperlink sound fields and CustomShow returns
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:29:52 -04:00
Brandon Thomas f685deef57 Merge PR #557 from NikitkaRa: Insert: Action Settings dialog and shape.action
# Conflicts:
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:29:43 -04:00
Brandon Thomas 875df7674c Merge PR #572 from NikitkaRa: Add the Handout Master view (stacked on #533)
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:29:33 -04:00
Brandon Thomas 5fd7984088 Merge PR #634 from NikitkaRa: SmartArt: layout gallery thumbnails and hover preview 2026-10-14 13:29:01 -04:00
Brandon Thomas fd1b62bded Merge PR #627 from NikitkaRa: SmartArt: Convert to SmartArt gallery on Home; Convert to Text keeps the text size 2026-10-14 13:29:01 -04:00
Brandon Thomas 510fb4b0b7 Merge PR #623 from NikitkaRa: SmartArt: Name and Title org chart, closer Half Circle, ten more layouts, convert to/from text and shapes 2026-10-14 13:29:01 -04:00
Brandon Thomas aa56910de8 Merge PR #621 from NikitkaRa: SmartArt: organisation charts with assistants, segmented/multidirectional cycles, cycle matrix, segmented pyramid, pie 2026-10-14 13:29:01 -04:00
Brandon Thomas 981b09da83 Merge PR #617 from NikitkaRa: SmartArt: six more layouts, clear Venn labels, read back older Picture Accent Process files 2026-10-14 13:29:01 -04:00
Brandon Thomas 25eb575146 Merge PR #613 from NikitkaRa: SmartArt: node pictures from the data model, Brick Scene camera, four more layouts 2026-10-14 13:26:24 -04:00
Brandon Thomas a19b199efc Merge PR #610 from NikitkaRa: SmartArt: shrink text to fit, picture layouts, 3-D styles and more colours 2026-10-14 13:26:24 -04:00
Brandon Thomas 175142f1d3 Merge PR #606 from NikitkaRa: SmartArt: 15 layouts, SmartArt Styles and Change Colors 2026-10-14 13:26:21 -04:00
Brandon Thomas eabcf47d09 Merge PR #601 from NikitkaRa: SmartArt: write the outline to .pptx as a diagram and read it back from the data model
# Conflicts:
#	crates/engine/Cargo.toml
#	crates/pptx/src/read/shapes.rs
#	crates/pptx/src/write/shapes.rs
2026-10-14 13:26:21 -04:00
Brandon Thomas d534343d6e Merge PR #683 from NikitkaRa: UI: Create New Theme Colors dialog edits the theme in one step
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:26:11 -04:00
Brandon Thomas a205d665b0 Merge PR #658 from NikitkaRa: UI: Edit Photo Album reflows the album in one step 2026-10-14 13:26:02 -04:00
Brandon Thomas 2834166904 Merge PR #647 from NikitkaRa: UI: Photo Album dialog inserts pictures as slides
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:26:02 -04:00
Brandon Thomas 55993247b4 Merge PR #191 from isaac-levine: Slides: Ctrl+A in the slide pane selects every slide (#188)
# Conflicts:
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/lib.rs
2026-10-14 13:25:57 -04:00