Commit Graph
1272 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 2a410e54fa Fix up merged PRs: main's newer textures (document window, SmartArt previews, show grid) go through textures::upload so they stay within the GPU max texture side (#652)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:37:30 -04:00
Brandon Thomas e225e4eec1 Merge PR #652 from NikitkaRa: UI: keep every texture within the GPU max texture side
# Conflicts:
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/panes.rs
2026-10-14 14:37:12 -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
Магда М.Г. 8c3404fc87 Fonts: falling back to the default face no longer deadlocks
cascade's last fallback searched the loaded faces and, finding none that
draws the cluster, called `first` while the search's read guard was still
alive (a temporary in the match arm lives to the end of the `let`).
`first` looks up the default family, which loads it through add_fonts,
and add_fonts takes the faces' write lock even when there is nothing to
add: the thread waited on itself, and every other thread then waited on
the loading lock it held.

It shows when a run's chain is empty and nothing loaded draws the
character before the default family has been looked up, so it depends on
which test (or document) gets there first: deckcraft-text's tests hung in
4 of 10 parallel runs here (all threads parked in system_fallback /
try_family, one in add_fonts' write), and in 0 of 15 with this change.

The search now finishes before `first` runs. New test
falling_back_to_the_default_face_does_not_deadlock reaches that path on a
fresh database; it times out on main and passes with the fix.
2026-10-14 20:35:43 +02:00
Brandon Thomas 1c150c3c31 Merge PR #345 from marcoarnulfo: Review: the Language dialog marks the selected text with the language you pick
# Conflicts:
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/lib.rs
2026-10-14 14:31:22 -04:00
Brandon ThomasandClaude Opus 5.5 2dc22843e4 Fix up merged PRs: the missing-recent test reads main's toast, which now carries open errors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:31:11 -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 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 f6cf99bf87 Merge PR #291 from albayazid: Start screen: a missing Recent file is marked, its error shows, and entries can be removed (#172)
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-14 14:27:28 -04:00
Brandon ThomasandClaude Opus 5.5 0609ca01cb Fix up merged PRs: right-click on the edited text box's frame selects that box
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:27:15 -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 8fde5f31e7 Merge PR #204 from justinjohn0306: Pictures: Change Picture replaces the selected picture (#115)
# Conflicts:
#	crates/ui-egui/src/canvas.rs
#	crates/ui-egui/src/lib.rs
2026-10-14 14:26:16 -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 d498633faf Merge PR #654 from NikitkaRa: PPTX: shape text anchors at the top when the file gives no anchor; write ctr for centred shapes 2026-10-14 14:24:17 -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 42b6e8e871 Merge PR #473 from NikitkaRa: Table: inserting and deleting rows and columns keeps merges consistent (#408) 2026-10-14 14:24:15 -04:00
Brandon Thomas 3335ee0feb Merge PR #465 from NikitkaRa: H.264: bound frame_num gap work and reject gaps the SPS forbids (#427)
# Conflicts:
#	crates/h264/src/synth_tests.rs
2026-10-14 14:24:15 -04:00
Brandon Thomas 31390e5e21 Merge PR #178 from MarekSpodBiedry: PDF: map each glyph to its shaping cluster's text in ToUnicode (#164)
# Conflicts:
#	crates/pdf/src/tests.rs
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 ThomasandClaude Opus 5.5 a85024558d Fix up merged PRs: Quick Access Toolbar defaults keep main's Export button and custom-show start
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:16:59 -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 ea12297822 Merge PR #223 from marcoarnulfo: Title bar: on macOS the window buttons sit centred in it (#71)
# Conflicts:
#	crates/ui-egui/src/ribbon.rs
2026-10-14 14:13:29 -04:00
Brandon Thomas 4eae520beb Merge PR #484 from NikitkaRa: Video: check the whole picture store against a memory budget (#398)
# Conflicts:
#	crates/av1/src/decoder.rs
2026-10-14 14:12:46 -04:00
Brandon Thomas 16355053e1 Merge PR #481 from NikitkaRa: AV1: reject duplicate film-grain scaling points; a failed job still publishes (#394)
# Conflicts:
#	crates/av1/src/decoder.rs
2026-10-14 14:12:22 -04:00
Brandon Thomas 3a8927e3f3 Merge PR #691 from NikitkaRa: UI: Trim Media dialog follows the selection
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 14:11:53 -04:00
Brandon ThomasandClaude Opus 5.5 0c3f4eee63 Fix up merged PRs: Slide Master Preserve/placeholders know the notes and handout master views
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:07:31 -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 ThomasandClaude Opus 5.5 31e22977f7 Fix up merged PRs: the palette test skips UI commands that need a value (#440 hides them)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:05:00 -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 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 1360b283f3 Merge PR #633 from NikitkaRa: Metafile: EMF+ cardinal curves and region fills
# Conflicts:
#	crates/render/src/tests.rs
2026-10-14 13:57:48 -04:00
Brandon ThomasandClaude Opus 5.5 389c4dd5d0 Fix up merged PRs: #588's polygon clip and nested metafiles with clip regions
Move #588's clip.rs changes into cliprect.rs, carry main's per-item clip
region through the polygon clipper, and build nested-metafile items with the
region field main added (the nested picture's own regions are not carried
over; each item takes the canvas's current clip).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:56:56 -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 4d7406be10 Merge PR #588 from NikitkaRa: Metafile: EMF+ arcs, convex clip paths, wrapped strings, nested metafiles
# Conflicts:
#	crates/metafile/src/canvas.rs
#	crates/metafile/src/clip.rs
#	crates/metafile/src/emfplus.rs
2026-10-14 13:56:02 -04:00
Brandon Thomas 126029db40 Merge PR #254 from xmaks82: Text: honour spcFirstLastPara (space before the first paragraph)
# Conflicts:
#	crates/pptx/src/read/dml.rs
#	crates/text/src/lib.rs
#	crates/text/src/tests.rs
2026-10-14 13:55:43 -04:00
Brandon ThomasandClaude Opus 5.5 3450180f19 Fix up merged PRs: EMF+ clipping alongside GDI clip regions
main added its own clip.rs (GDI rectangle regions carried on every drawn
item); #582 added a clip.rs that cuts drawing geometrically to the EMF+ clip
rectangle. Keep main's module, move #582's to cliprect.rs, keep the EMF+
rectangle on the canvas as plus_clip, and carry the region field through the
geometric clipper.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:55:38 -04:00
Brandon Thomas eab5686393 Merge PR #582 from NikitkaRa: Metafile: EMF+ images, text, gradient brushes and clipping
# Conflicts:
#	crates/metafile/src/canvas.rs
#	crates/metafile/src/clip.rs
2026-10-14 13:54:59 -04:00
Brandon Thomas 912598fa46 Merge PR #675 from NikitkaRa: View: Zoom dialog applies a percent or Fit
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:54:33 -04:00
Brandon Thomas ad7eb45abe Merge PR #690 from NikitkaRa: Charts: a chart frame with no width no longer panics
# Conflicts:
#	crates/render/src/chart.rs
#	crates/render/src/tests.rs
2026-10-14 13:53:49 -04:00
Brandon ThomasandClaude Opus 5.5 5c7e9fc6c3 Format the merged PRs (cargo fmt)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:53:13 -04:00
Brandon ThomasandClaude Opus 5.5 bb3627f954 Fix up merged PRs: minor gridlines on a logarithmic axis
#666's minor gridlines stepped in value units, but #669 scales a log axis in
exponents of its base; map each minor step back through the base.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:53:06 -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 ThomasandClaude Opus 5.5 0ac222a543 Fix up merged PRs: split ribbon buttons carry their label once (#512's label predates main's)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:51:49 -04:00
Brandon Thomas 6d1b01b73d Merge PR #669 from NikitkaRa: Charts: logarithmic value axes
# Conflicts:
#	crates/pptx/src/read/chart.rs
#	crates/render/src/chart.rs
2026-10-14 13:51:30 -04:00