Commit Graph
2702 Commits
Author SHA1 Message Date
aiongg c717492643 Merge PR #1035: The status bar's error count opens the Preflight panel
Conflicts:
- crates/ui-egui/src/chrome.rs: took #1035's count menu, with the branch's singular/plural rule (category_first) in its label.
2026-10-16 04:06:39 +00:00
aiongg be8c85705c Integration: #1022 style panels closed from the dock reopen in the dock, not floating 2026-10-16 04:06:15 +00:00
moppeeer a254f0e6e0 Integration: #384 rebreak check (from #1086 by moppeeer)
Past the estimated line slots the breaker assumes the whole column; the
rebreak check compares against that fallback too, so lines beside a wrap
object stay inside their segments.

(cherry picked from commit 94a06ed881)
2026-10-16 04:05:57 +00:00
aiongg b83a9712f0 Merge PR #1022: Window > Paragraph Styles opens the floating Character Styles | Paragraph Styles group, as InDesign does
Conflicts:
- crates/ui-egui/src/panel_docking.rs: kept #1021's window.panel.closeGroup and #1022's floating-group branch in command().
- crates/ui-egui/src/panel_docking_tests.rs: kept both sets of tests.
2026-10-16 04:05:41 +00:00
aiongg 2d66c3c832 Integration: #1012 Digits choices keep the reference names Arabic, Hindi and Farsi with sample figures; parity doc names the Character panel and Character Style Options 2026-10-16 04:05:32 +00:00
aiongg 92819a4d69 Integration: #1021 Minimize runs window.panel.layout, so scripts and the control channel reach it too 2026-10-16 04:05:27 +00:00
aiongg 3328e03f32 Merge PR #1021: Panel tabs: InDesign's Close, Close Tab Group, Minimize and Collapse to Icons
Conflicts:
- crates/ui-egui/src/i18n/{ar,de,it,ja,ka,pt_br,uk}.rs: kept both sides.
2026-10-16 04:05:10 +00:00
aiongg 3d0b778f53 Merge PR #1012: Text: Digits setting in the Character panel and character styles; page numbers and list numbers follow it
Conflicts:
- crates/compose/src/shape.rs: typed figures and page-number markers both go through #1012's digit_mode; the batch's inline digits block and its second mapping of the marker text are gone.
- crates/compose/src/lib.rs: the list label keeps the batch's label_chars and prepend_label; it takes the Digits of the paragraph's first run unless the number's character style sets its own.
- crates/compose/src/tests.rs: kept page_numbers_take_the_digits_option and added #1012's test.
- crates/ui-egui/src/i18n.rs: kept the batch's French strings and added the Digits: row.
- crates/ui-egui/src/panels/properties.rs: the always-shown Digits row is followed by the batch's two-column Size, Kerning, Baseline, Leading and Tracking layout.
2026-10-16 04:05:06 +00:00
aiongg 904c518efb Integration: #1044 leaving Presentation puts back the view it was entered from 2026-10-16 04:04:57 +00:00
aiongg 4a67187758 Merge PR #1044: View: Presentation shows one spread fitted to the screen; arrow keys and clicks go through the spreads
Conflicts:
- crates/ui-egui/src/menus.rs: kept #503's Esc branch first, then #1044's spread-stepping keys.
2026-10-16 04:04:17 +00:00
aiongg 1ad5c18ef8 Integration: #1011 axes with an inverted range get no slider; a failed edit.preview closes the preview it opened 2026-10-16 04:04:01 +00:00
aiongg 6f12a98543 Merge PR #1043: Layout: First/Previous/Next/Last Page and Next/Previous Spread, with InDesign's shortcuts
Conflicts:
- crates/ui-egui/src/i18n.rs: kept both sides.
2026-10-16 04:03:57 +00:00
aiongg 499f5f27c6 Merge PR #1001: Importers: XML element nesting and DTD group nesting are bounded (#712)
crates/engine/src/dtd.rs: keep the branch's version; #319 already bounds DTD group nesting (with the same limit of 64) along with the entity budget and matching fixes, so this PR's DTD part is dropped. The XML element limits are taken.
2026-10-16 04:03:53 +00:00
aiongg 4aeda523b6 Integration: #1027 composite-font scales are checked after the percent conversion 2026-10-16 04:03:45 +00:00
aiongg 70b3ca22a0 Integration: #1063 progress-log lines of #1060-#1065 sit under Newest first; the Typography line ends as usual and the parity doc keeps no done-work paragraph 2026-10-16 04:03:42 +00:00
aiongg 910c59f108 Merge PR #1027: idml: one unusable CJK metric no longer refuses the whole file
crates/idml/src/import.rs: keep the branch's strict Mojikumi row reader (#129), which refuses a non-finite value; take the PR's composite-font filters.
crates/idml/src/tests.rs: the PR's test drops its Mojikumi NaN row, which #129 refuses on purpose.
2026-10-16 04:03:35 +00:00
aiongg 619f9114bd Merge PR #1063: UI: Typography opens with its named panel groups and a clear page
Conflicts:
- docs/ui-parity.md: kept both paragraphs.
2026-10-16 04:03:29 +00:00
aiongg 0f7c93f739 Merge PR #1011: fix(text): Character panel: VF sliders preview live implementation
Conflicts:
- crates/engine/src/cmd/edit.rs: kept the batch's copy_items and paste_origin and added #1011's preview function; kept paste_tests and added preview_tests after it.
- crates/ui-egui/src/panels/properties.rs: the axis-slider test sets the family through the batch's apply_font (FontPick), which replaced apply_font_family.
- ROADMAP.md: progress-log line moved under "Newest first."
2026-10-16 04:03:19 +00:00
aiongg ca768d0ae4 Merge PR #1024: New Workspace: Capture Panel Locations and Menu Customization, as InDesign's
Conflicts:
- crates/ui-egui/src/dialogs.rs: kept the branch's dialog code and added #1024's New Workspace width, Capture checkboxes and confirm params at the branch's indentation.
- crates/ui-egui/src/i18n.rs, i18n/{ar,de,it,ja,ka,pt_br,uk}.rs: kept both sides.
2026-10-16 04:03:12 +00:00
aiongg 20d74af057 Merge PR #1015: fix: IDML links in a subfolder beside the package load on another machine 2026-10-16 04:03:06 +00:00
aiongg 174ff23f17 Merge PR #1010: IDML: preserve liquid guides on document and parent pages
crates/idml/src/lib.rs: crate doc keeps the branch's feather list and adds liquid guides.
crates/idml/src/tests.rs: keep all test modules from both sides.
docs/file-format-parity.md: keep both change-log rows; status line names both changes.
ROADMAP.md: drop the blank line the union merge left inside the progress log, and a stray one further down.
2026-10-16 04:03:02 +00:00
aiongg 27ac9472f7 Integration: #1083 rename comments name the slow double-click that starts an object's rename 2026-10-16 04:02:40 +00:00
aiongg b1b3d086f7 Merge PR #1083: Layers: a slow double-click renames an object, a quick one only selects, as InDesign's
Conflicts:
- crates/ui-egui/src/panels/layers.rs: kept #378's object_rows and its command list; #1083's slow-click check sits in its click branch (start the rename, or push selection.set), with the sole-selection test on the listing's selected or shown objects; added #1083's accessibility info to the object row.
2026-10-16 04:02:39 +00:00
aiongg 8d232143ac Integration: #1000 a remembered word, line or paragraph is clamped to the current text before a unit drag 2026-10-16 04:02:18 +00:00
aiongg 3ea3cd97dd Merge PR #1054: Keep text of inline content controls in DOCX import
crates/textimport/src/docx.rs: keep the branch's page_break_ends_its_paragraph test (already present further down); add the PR's inline content control test.
2026-10-16 04:02:18 +00:00
aiongg 8c36382780 Merge PR #1038: Fix \rightarrow closing a \left fence early in math expressions 2026-10-16 04:02:02 +00:00
aiongg bb6f6e777d Merge PR #1000: Type tool: a drag after several clicks extends the selection by words, lines or paragraphs (#981)
Conflicts:
- crates/engine/src/cmd/text.rs: took #1000's unit_at split of select_at; its two revision bumps use the batch's bump_revision().
- crates/tools/src/text.rs: kept the batch's preedit and table-border fields, BorderDrag and the press-time border check; #1000's `unit` replaces `unit_selected`, and the drag branch checks the border first, then #1000's unit drag.
2026-10-16 04:01:55 +00:00
aiongg b61c7cbcc3 Merge PR #1045: UI: Tab, Shift+Tab and Presentation hide the flyout and floating panels too 2026-10-16 04:01:51 +00:00
aiongg 37bc88d5ed Merge PR #1056: Canvas: pages show their paper while their render is on its way, not black 2026-10-16 04:01:44 +00:00
aiongg 65cee09c5c Merge PR #1065: Styles: show captured color and spacing in Paragraph Style Settings
Conflicts:
- docs/ui-parity.md: kept both paragraphs.
2026-10-16 04:01:40 +00:00
aiongg 141c048289 Integration: #1062 style Preview runs the Justification spacing check OK runs, and shows its reason 2026-10-16 04:01:22 +00:00
aiongg bcb082b12b Merge PR #986: Flatten deleted text variables in table cells and notes 2026-10-16 04:01:17 +00:00
aiongg 0c972f724f Merge PR #1090: Canvas: Enter and Tab in a panel field no longer reach the selected text
Conflicts:
- crates/ui-egui/src/canvas.rs: took #1090's field_focused_id and begin_frame without the old IME helpers the batch's IME work replaced; the keyboard gate keeps the focus-lock filter above it and checks the menu, a field focused at frame start, and keyboard_pane.
2026-10-16 04:01:09 +00:00
aiongg e921288953 Merge next-integ (winit from main's fork) 2026-10-16 04:01:05 +00:00
aiongg 5857f2d31e Merge PR #1062: Styles: preview paragraph and character style edits before applying them
Conflicts:
- crates/ui-egui/src/dialogs.rs: footer row keeps the branch's labels and #683's New Document Preview and adds #1062's style Preview checkbox at its start; kept style_options_preview() next to the branch's paragraph style dialog; kept both sets of tests.
- docs/ui-parity.md: kept both paragraphs; style-dialog Preview is no longer listed as a gap.
2026-10-16 04:00:32 +00:00
aiongg 0216c0bd38 Merge PR #1077: Hyphenate Greek
Conflicts:
- docs/target-app-parity.md: kept the batch's rows and added Greek to the hyphenation list.
- docs/typography-parity.md: kept the batch's Justification and Hyphenation rows and added Greek (hyph-el-monoton).
2026-10-16 04:00:23 +00:00
aiongg f6b74fbcd4 Integration: #1060 the Alt-click hint and Apply "name", Clear Overrides are translated in every UI language 2026-10-16 04:00:03 +00:00
aiongg 75875b2e96 Merge PR #1060: Styles: show paragraph overrides and clear them from the row menu
Conflicts:
- crates/engine/src/cmd/text.rs: kept #531's paraMixed report and used #1060's override counts (paraOverrides, charOverrides, characterStyleOverrides) in it.
- crates/ui-egui/src/panels/styles.rs: kept both row-menu items and both sets of tests; #1064's test passes #1060's new `overridden` argument.
- docs/ui-parity.md: kept both paragraphs and both change notes; Redefine Style is no longer listed as a gap (#1064).
2026-10-16 03:59:57 +00:00
aiongg ca3929d0df Merge PR #1040: Reject threading that would create linked-story ancestor cycles 2026-10-16 03:59:56 +00:00
moppeeer 44e8a185fb ROADMAP: the Selection tool drags selected content
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 8e5fa90b20)
2026-10-16 03:59:43 +00:00
moppeeer cf2f01b6fe Selection tool: with a frame's content selected, a drag on it moves the content
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit b416f57898)
2026-10-16 03:59:33 +00:00
aiongg 7bff9d36b1 Integration: #1007 frames holding tables, anchored objects or footnotes scale as a whole 2026-10-16 03:59:31 +00:00
aiongg 3896bd2982 Integration: #1064 Redefine Style is translated in every UI language 2026-10-16 03:59:02 +00:00
aiongg 9dd6064b19 Merge PR #1007: Scaling a text frame scales its text, as InDesign's When Scaling: Apply to Content 2026-10-16 03:59:00 +00:00
aiongg 48baff1fe9 Integration: #1081 Pen and Pencil paths (path.create) take the colours of new shapes 2026-10-16 03:58:51 +00:00
aiongg 57d083216a Merge PR #1081: Fill and stroke with nothing selected set the colours of new shapes, as InDesign's document defaults
Conflicts:
- crates/doc/src/lib.rs: DocSettings keeps the ruler origin and zero point fields and adds new_object; both defaults kept.
- crates/engine/src/cmd/style.rs: object.color keeps the batch's colour-model description, adds the nothing-selected sentence and the has_doc enable rule.
- crates/ui-egui/src/toolbar.rs: kept both tests (stroke gradient undo, new-shape colours from the proxy).
- ROADMAP.md: progress-log line moved under "Newest first." in the log's format.
2026-10-16 03:58:51 +00:00
aiongg 67d597c416 Merge PR #1064: Styles: redefine paragraph and character styles from local formatting
Conflicts:
- crates/engine/src/cmd/style.rs: both add a test module at the top of the file; kept #1061's application_inheritance_tests and #1064's redefine_tests, one after the other.
- docs/ui-parity.md: kept both paragraphs.
2026-10-16 03:58:09 +00:00
Dylan M. Taylor f845c58370 ci: switch to shared nix workflow from craft-common-actions 2026-10-15 23:57:40 -04:00
aiongg 5639ba8203 Integration: winit from main's fork, with the macOS Dock Quit opt-in
The merge took next's winit patch (rust-windowing/winit#4694, the Windows mixed-DPI drag fix) and
left out main's (skylartaylor/winit 3d51077f, with_close_requested_on_terminate), so Quit from the
Dock stopped asking to save (#623, released in 0.8.0). Cargo takes one winit patch, so the batch
keeps main's until one fork holds both commits; the Windows fix (#631) follows then.
2026-10-16 03:57:21 +00:00
aiongg b950b21a32 Merge PR #983: Eyedropper: with text selected, pick up the clicked text's formatting, as InDesign does
Conflicts:
- crates/engine/src/cmd/text.rs: kept the kern_pair_tests module and added pick_up_format_tests after it.
- crates/tools/src/xform.rs: the one hit test keeps its spread (`hit` is the whole `cx.hit` result) and feeds both color.sample's matchFrom and type.pickUpFormat.
- ROADMAP.md: progress-log line moved under "Newest first."
2026-10-16 03:57:20 +00:00