Commit Graph
2953 Commits
Author SHA1 Message Date
aiongg bc5799c046 Merge PR #1036: Overset marks for text frames inside groups
ROADMAP.md: the union merge re-added 13 log lines already present; kept one copy each. The PR's overset line moved into date order and took the group-ports clause; its other two lines describe work from other PRs and were dropped.
docs/ui-parity.md: merged cleanly next to #1033's row.
2026-10-16 04:51:29 +00:00
aiongg 06c7ff6117 Integration: progress log deduplicated and in date order 2026-10-16 04:49:30 +00:00
aiongg 21a6e6d90f Merge branch 'batch-tB' into next-integ
# Conflicts:
#	docs/gaps.md
2026-10-16 04:48:56 +00:00
aiongg 833db788af Merge branch 'batch-tA' into next-integ 2026-10-16 04:48:48 +00:00
aiongg 45178f283a Merge branch 'batch-tC' into next-integ 2026-10-16 04:48:45 +00:00
aiongg 699b5da7dc Integration: #1076 the release that ends a hold opening a tool flyout doesn't pick the tool and close it 2026-10-16 04:37:18 +00:00
aiongg eb2b2f1b5f Integration: #1043, #1059, #1074 French strings now in the shared table leave the French catalog 2026-10-16 04:37:17 +00:00
aiongg 51f790a092 Integration: #1059 canvas menu tests match rows in the canvas, not the Properties panel's Arrange button 2026-10-16 04:35:52 +00:00
aiongg 635615fd71 Integration: #1075 closes gap 27
Gap 27 leaves docs/gaps.md (revision history row added) and ROADMAP gets its progress-log line.
2026-10-16 04:33:22 +00:00
aiongg 7e539fee8d Integration: #1002 Cmd borrows the last-used selection tool
Holding Cmd/Ctrl with a non-selection tool borrows whichever of Selection and Direct Selection was chosen last, instead of a fixed tool per tool family. The session records the last chosen selection tool; the busy() guard stays.
2026-10-16 04:33:07 +00:00
aiongg 25aa75a6e5 Integration: renaming a character style updates the drop cap style once 2026-10-16 04:29:27 +00:00
aiongg bd99e59e81 Integration: data merge checks the read roots before the file size 2026-10-16 04:29:27 +00:00
aiongg 1014d841ac Integration: a dropped file without an extension is recognised from its first bytes 2026-10-16 04:29:27 +00:00
aiongg e8aadde385 Integration: start-screen previews read only the zip directory and the preview entry 2026-10-16 04:29:27 +00:00
aiongg 94d21edfa1 Integration: sentence selection tests return; selecting around a point drops the pending typing format 2026-10-16 04:29:27 +00:00
aiongg dd71077cef Integration: the New Document test checks that Mobile presets have no primary text frame 2026-10-16 04:29:27 +00:00
aiongg 0132523396 Integration: column counts and list numbers have their own captions; pt-BR and Arabic Pages menu rows 2026-10-16 04:29:27 +00:00
aiongg b0ed052562 Integration: a document preview is bounded by what it inflates to 2026-10-16 04:29:27 +00:00
aiongg 6a22e38b1e Merge PR #1002: Tools: Cmd held with another tool borrows the Selection tool for one gesture
tooling.rs: kept #366's IME handling (with_ctx passes the session; a press ends the composition first) and #1002's borrowed tool, which pointer, key, overlay, cursor and wants_text reach through gesture_tool().
2026-10-16 04:28:48 +00:00
aiongg 3021a8f893 Merge PR #1075: Thread the loaded text cursor into a text frame inside a group
crates/tools/src/tests.rs: the branch's tests, plus the PR's new loaded_text_cursor_threads_into_a_frame_inside_a_group.
2026-10-16 04:26:31 +00:00
KnottyDyesandClaude Opus 5.5 0613948d3d SVG: a font family named in any case finds the installed font
DesignCraft matched an SVG font-family case-insensitively when importing
the installed faces, but the final fontdb query compares names exactly,
so "DeJaVu SaNs" loaded DejaVu Sans and then set the text in the serif
fallback (Source Serif 4) without a word. Text frames already accept any
case. The SVG font selector now runs usvg default query with each named
family spelled the way the font database spells it; family order,
generics, weight, stretch and style are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BSB7fMQUccqFQekksDGWpo
2026-10-15 22:25:04 -06:00
KnottyDyes 5c1aea7533 Place: an explicit x, y, spread or width puts the image in a new frame
Explicit image placement leaves selected frames untouched; an explicit frame still wins. Null placement parameters behave like omitted values.

Reject nonnumeric, nonfinite and nonpositive image widths before editing. Cover rejection without document changes, valid sizing and null selection behavior with regression tests.
2026-10-15 22:23:46 -06:00
aiongg e082e69b03 Integration: #1081 the proxy test fills the Color Picker's rgb, model and edited fields, as the batch's picker reads them 2026-10-16 04:22:38 +00:00
aiongg 7979a417fe Integration: cargo fmt 2026-10-16 04:21:41 +00:00
aiongg 4ebcd78a03 Integration: #1027 test passes the string slices without a needless borrow (clippy) 2026-10-16 04:21:33 +00:00
aiongg b42f491b32 Integration: #988 ROADMAP line sits under "Newest first."; the merge's copies of two existing lines are dropped 2026-10-16 04:19:00 +00:00
aiongg 3f9824906f Merge PR #1029: docx: an explicit off imports as off 2026-10-16 04:18:38 +00:00
aiongg dc39c38471 Merge PR #988: Swatches: Load Swatches numbers repeated .ase names and names unnamed colors by value 2026-10-16 04:18:37 +00:00
aiongg 5d2c94cb57 Merge PR #985: End the RTF \uN fallback skip at the end of its group 2026-10-16 04:18:37 +00:00
aiongg f649f3cc45 Integration: #1099 the New Document preset test scrolls to A4, which sits below the poster sizes 2026-10-16 04:18:32 +00:00
aiongg d04d4de8fe Integration: coordinates must be finite (#1050)
file.place, place.drop, placed media and Fixed Width text frame columns refuse a rect that overflows to infinity or NaN. Saving refuses a document with non-finite item geometry before writing anything, so a file that won't load is never written.
2026-10-16 04:18:29 +00:00
aiongg 68b24da5c9 Integration: #1013 German table drops the 8 rows the branch already has and keeps "Anschnitt:" for Bleed: 2026-10-16 04:13:26 +00:00
aiongg 4d6df8ef36 Merge PR #1013: i18n(de): clearer terms, missing strings, six hard-coded dialog labels
crates/ui-egui/src/i18n/de.rs: keep both sides' rows; the next commit removes the keys this leaves twice.
2026-10-16 04:13:23 +00:00
aiongg 30039c75a0 Merge PR #1098: Contributors: add Marco Arnulfo 2026-10-16 04:12:34 +00:00
aiongg 51e55fa145 Integration: README takes #998's font guidance instead of #701's 2026-10-16 04:12:33 +00:00
aiongg 9d5dc7b820 Merge PR #998: docs: add public font integration guidance to README
README.md: conflicts with #701's text in the same sentence; kept as is here, and the next commit takes #998's text.
2026-10-16 04:12:29 +00:00
aiongg 2f948fa7e2 Merge PR #1079: Color Theme: extract a placed image palette and add it to Swatches
crates/ui-egui/src/dialogs.rs: the branch's dialog body is laid out differently; the Color Theme body goes into its match beside Text Frame Options, and its OK label into the branch's translated labels.
crates/ui-egui/src/menus.rs: keep the branch's Effects dialog opener and add the Color Theme opener.
crates/ui-egui/src/panels/swatches.rs: keep both menu rows (Swatch Options… from #416, Color Theme…).
crates/tools/src/tests.rs: the PR's Graphic literal names clip, wrap and fill.
docs/agents.md: keep both sections.
ROADMAP.md: the PR's line moves under "Newest first."; its copy of an existing 2026-10-13 line is dropped.
2026-10-16 04:12:13 +00:00
aiongg 1e149e38e0 Integration: cargo fmt 2026-10-16 04:11:37 +00:00
aiongg 52cf755179 Merge PR #1070: Table of Contents: page number and separator character styles, Sort Entries in Alphabetical Order
crates/engine/src/tests_idml.rs: keep both new tests.
crates/ui-egui/src/i18n.rs: keep both sides' rows.
2026-10-16 04:10:56 +00:00
aiongg 3644eb5723 Integration: gaps.md keeps the control-channel input safety note 2026-10-16 04:09:51 +00:00
aiongg 7ff9752805 Integration: a WWS family that is also the legacy family name finds the optical-size face 2026-10-16 04:09:44 +00:00
aiongg 21b2e30f93 Integration: #1068 Convert Rows descriptions name the table target (story, table, rows/row, cols/col) 2026-10-16 04:09:23 +00:00
aiongg eafd6a192e Integration: the progress log keeps one copy of the 2026-10-13 canvas refresh line 2026-10-16 04:08:36 +00:00
aiongg 42eaf774e9 Merge PR #1068: Table › Convert Rows › To Header, To Body and To Footer
crates/engine/src/cmd/table.rs: add the PR's three commands before the branch's select commands, which keep their target descriptions (#803).
docs/gaps.md: keep the branch's text; Convert Rows leaves the list of missing menu items.
2026-10-16 04:08:22 +00:00
aiongg 746ccad1f3 Integration: #1076 a held-open tool flyout survives its release, and Esc closes the flyout without switching tools 2026-10-16 04:08:22 +00:00
aiongg ae544f8c05 Integration: cargo fmt 2026-10-16 04:08:00 +00:00
aiongg 6e4f122b8c Merge PR #1100: Placed greyscale and bitmap images take the swatch applied to them (IDML, screen, PDF)
Graphic literals (cli perf, doc assets/item, engine datamerge/export/file/links/mathexpr/media/table/sample, epub, format, pdf, pptx, render, tools, ui-egui properties, and tests): name the branch's clip and wrap (#561, #381) and the PR's fill.
crates/doc/src/item.rs: Graphic keeps wrap and gains fill.
crates/idml/src/import.rs: read the image swatch, then the branch's styled FrameFittingOption lookup; the graphic keeps its wrap.
crates/idml/src/tests/assets.rs: keep both new tests.
crates/render/src/lib.rs: keep #362's crop-box sizing of placed PDFs and colour the resulting pixmap.
crates/render/tests/colorize.rs, crates/epub/tests/grouped_reading_order.rs, crates/compose/src/tests.rs: literals name the branch's Asset and Graphic fields.
crates/pdf/src/export.rs: the soft mask interpolates by the standard's raster mode (the branch has no per-exporter interpolate switch).
docs/gaps.md, docs/target-app-parity.md: status lines list both sides' changes; gap text keeps the clipping-path items and adds the image swatch.
2026-10-16 04:07:57 +00:00
aiongg e75664bced Merge PR #1076: Tools: a tool group's flyout closes on Esc and on a click outside it, as InDesign's 2026-10-16 04:07:44 +00:00
aiongg d0caaaf344 Integration: #1046 double-clicking the preflight count keeps an open Preflight panel open (show_preflight) 2026-10-16 04:07:39 +00:00
aiongg 7593799a07 Merge PR #1046: UI: double-clicking the status bar's preflight count shows the Preflight panel 2026-10-16 04:07:14 +00:00