Commit Graph
2291 Commits
Author SHA1 Message Date
aiongg fdd5da9c0e Merge upstream main a930276 into tool-cursors: Pen continue resolved into the hover model
Conflicts: crates/tools/src/lib.rs, crates/tools/src/pen.rs and
crates/ui-egui/src/cursors.rs (add/add). The cursor work already in main is
kept as is (canvas.rs, ui-egui/src/lib.rs, tools tests.rs, ROADMAP.md take
main's version).

- pen.rs: the end-point check moves into hover_at as Hover::Continue, ahead
  of Delete and Add; Down has one Continue arm and cursor() derives from
  hover_at alone, so over a selected open path's end point the click
  continues the path instead of deleting the anchor. Continuing from either
  end (continue_from) is main's. The module doc is complete again.
- cursors.rs: Badge::Continue, the PenContinue glyph, and PenContinue in the
  glyph test list.
- tests.rs: pen_over_a_selected_open_paths_end_point_continues_it.
2026-10-15 06:13:56 +00:00
aiongg 19a1085c96 fix(type): formatting set on a blank line applies to the text typed there 2026-10-15 06:13:39 +00:00
aiongg 22de618def fix(doc): consecutive right pages after a section restart get separate spreads 2026-10-15 06:13:38 +00:00
aiongg 27025e5245 fix(paths): Join Path and Convert Point leave paths on locked layers and in locked groups unchanged 2026-10-15 06:13:26 +00:00
aiongg e1998538d1 fix(layers): Enter in the rename field keeps an unnamed object's automatic label 2026-10-15 06:13:09 +00:00
aiongg f786a650e5 fix(type-menu): Define Lists command path matches the Bulleted & Numbered Lists menu 2026-10-15 06:13:03 +00:00
aiongg 22f4049ff6 fix(toolbar): Apply Gradient on the stroke is one undo step and keeps the fill's tint 2026-10-15 06:12:53 +00:00
dotCooCoo 8a4c8dc2ce Swatches: Load Swatches numbers repeated .ase names and names unnamed colors by value
load_swatches matched each name in a swatch exchange file against the
document, which by then held the file's earlier colors. A color whose
name the file had already used was dropped, or with replace it
overwrote the earlier color. A color with no name was added with an
empty name, and every later unnamed color was treated as a repeat of
it. A file of seven colors with a repeated name and three unnamed
colors added three of its six new colors.

load_swatches now names an unnamed color by its value, as object.color
names an unnamed color ("C=0 M=0 Y=0 K=55"), and sets named to false.
A name the file has already given gets the first free number ("Red 2",
"Red 3"), as Styles::unique_name numbers names. Names already in the
document follow the same rule as before: they are kept unless replace
is set, and a locked swatch is left unchanged. The swatch.load
description now states both rules.
2026-10-14 23:04:12 -07:00
NetterSilverandClaude Haiku 5.5 96c62b84ce Flatten deleted text variables in table cells and notes
Found while testing crates/engine/src/cmd/variables.rs:49

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 05:43:47 +00:00
NetterSilverandClaude Haiku 5.5 ec510b9069 End the RTF \uN fallback skip at the end of its group
Found while testing crates/textimport/src/rtf.rs:107

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 04:39:17 +00:00
Brandon ThomasandClaude Opus 5.5 a930276fd7 fix: integrate batched community PRs (#170's PPTX exporter on the page-indexed compose cache and crate::io, with a Georgian menu label; #171: a deleted style's replacement is never based on itself)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:35:27 -04:00
Brandon Thomas 4b85aa4e6a Merge PR #982 2026-10-15 00:35:27 -04:00
Brandon Thomas 93d2e212d0 Merge PR #488 2026-10-15 00:35:27 -04:00
Brandon Thomas 742d46446f Merge PR #474 2026-10-15 00:35:27 -04:00
Brandon Thomas 6b9b9205e4 Merge PR #472 2026-10-15 00:35:27 -04:00
Brandon Thomas 6b70807ac4 Merge PR #464 2026-10-15 00:35:27 -04:00
Brandon Thomas 50173a5773 Merge PR #463 2026-10-15 00:35:27 -04:00
Brandon Thomas f79a507486 Merge PR #458 2026-10-15 00:35:27 -04:00
Brandon Thomas 65cb26e38d Merge PR #446 2026-10-15 00:35:27 -04:00
Brandon Thomas cc7fc63142 Merge PR #413 2026-10-15 00:35:27 -04:00
Brandon Thomas b6732e10b9 Merge PR #396 2026-10-15 00:35:27 -04:00
Brandon Thomas 32ff0fc786 Merge PR #393 2026-10-15 00:35:27 -04:00
Brandon Thomas 6ac858602f Merge PR #372 2026-10-15 00:35:27 -04:00
Brandon Thomas 07ed40069f Merge PR #349 2026-10-15 00:35:27 -04:00
Brandon Thomas 9dbe2c0d67 Merge PR #344 2026-10-15 00:35:27 -04:00
Brandon Thomas 8e402450b9 Merge PR #329 2026-10-15 00:35:27 -04:00
Brandon Thomas 7acf0f95bc Merge PR #317 2026-10-15 00:35:27 -04:00
Brandon Thomas 33e93c93a6 Merge PR #311 2026-10-15 00:35:27 -04:00
Brandon Thomas cccd1852a9 Merge PR #308 2026-10-15 00:35:27 -04:00
Brandon Thomas f62985064d Merge PR #307 2026-10-15 00:35:27 -04:00
Brandon Thomas d2e40f6b6f Merge PR #306 2026-10-15 00:35:27 -04:00
Brandon Thomas 41e7a023da Merge PR #304 2026-10-15 00:35:26 -04:00
Brandon Thomas bdda458b5b Merge PR #302 2026-10-15 00:35:26 -04:00
Brandon Thomas 515b689127 Merge PR #171 2026-10-15 00:35:26 -04:00
Brandon Thomas 6132b60e9b Merge PR #170 2026-10-15 00:35:26 -04:00
Brandon ThomasandClaude Opus 5.5 26137acbb2 fix: integrate batched community PRs (#588's blend-space test uses as_chunks for clippy)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:01:41 -04:00
Brandon Thomas 84dbba029f Merge IDML/text cluster
# Conflicts:
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/ar.rs
#	crates/ui-egui/src/i18n/it.rs
#	crates/ui-egui/src/i18n/ja.rs
#	crates/ui-egui/src/i18n/pt_br.rs
#	crates/ui-egui/src/i18n/uk.rs
2026-10-14 23:54:49 -04:00
Brandon ThomasandClaude Opus 5.5 0697b39a3a fix: integrate batched community PRs (rustfmt after the IDML/text cluster merges)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:45:50 -04:00
Brandon Thomas afd8c0a0de Merge PR #789
# Conflicts:
#	crates/engine/src/cmd/style.rs
2026-10-14 23:42:34 -04:00
Brandon Thomas 450503f538 Merge EPUB/docx/datamerge cluster 2026-10-14 23:36:46 -04:00
Brandon ThomasandClaude Opus 5.5 5112019053 fix: integrate batched community PRs (quick-xml 0.41 from #687 in main's IDML attribute reader; #610's text-link reads pass #604's file guard; wasm-only unused re-export)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:36:14 -04:00
moppeeerandClaude Opus 5.5 c9a096826b Eyedropper: with text selected, pick up the clicked text's formatting
In InDesign, selecting text and clicking other text with the Eyedropper
copies that text's character and paragraph formatting onto the selection
(Typefool's grid tutorial does it at 12:04 to give body copy the header's
settings). DesignCraft's Eyedropper always ran object.matchAttributes,
copying the clicked frame's fill and stroke onto the text frame.

New command type.pickUpFormat {frame, point}: the character format
(style + overrides) under the point goes to the selected characters, its
paragraph's style and overrides to their paragraphs, in one undo step.
The Eyedropper sends it when text is selected and a text frame is clicked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 05:34:29 +02:00
Brandon Thomas 4b88d7d29c Merge PR #959
# Conflicts:
#	crates/engine/src/cmd/text.rs
2026-10-14 23:31:51 -04:00
Brandon Thomas 067b339991 Merge PR #887
# Conflicts:
#	crates/engine/src/cmd/text.rs
2026-10-14 23:31:45 -04:00
Brandon Thomas d35887f494 Merge PR #825 (gradient text paint goes through #657's stroke-behind-fill painting) 2026-10-14 23:31:39 -04:00
Brandon Thomas e7d8d5be62 Merge PR #960
# Conflicts:
#	crates/engine/src/cmd/anchors.rs
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/ar.rs
#	crates/ui-egui/src/i18n/it.rs
#	crates/ui-egui/src/i18n/ja.rs
#	crates/ui-egui/src/i18n/pt_br.rs
#	crates/ui-egui/src/i18n/uk.rs
#	crates/ui-egui/src/icons.rs
#	docs/target-app-parity.md
2026-10-14 23:17:31 -04:00
Brandon Thomas 94d0c57236 Merge PR #937
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/ar.rs
#	crates/ui-egui/src/i18n/it.rs
#	crates/ui-egui/src/i18n/ja.rs
#	crates/ui-egui/src/i18n/pt_br.rs
#	crates/ui-egui/src/i18n/uk.rs
2026-10-14 23:14:44 -04:00
Brandon Thomas 35ec71f04f Merge PR #935
# Conflicts:
#	crates/fonts/src/fontdb.rs
#	crates/fonts/src/tests_docfonts.rs
2026-10-14 23:09:43 -04:00
Brandon Thomas d47e7a186c Merge PR #929
# Conflicts:
#	crates/tools/src/tests.rs
#	crates/ui-egui/src/icons.rs
2026-10-14 23:08:32 -04:00
Brandon Thomas 47e9e576d4 Merge PR #610 (linked text files read through crate::io, so the automation roots apply) 2026-10-14 23:07:27 -04:00