Commit Graph
4827 Commits
Author SHA1 Message Date
moppeeerandClaude Opus 5.5 ec682809be rustfmt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:47:19 +01:00
moppeeerandClaude Opus 5.5 57e3a9a73b rustfmt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:46:52 +01:00
moppeeerandClaude Opus 5.5 520fd13b0b Effects dialog: drop a line left over from the merge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:45:09 +01:00
Brandon Thomas 5024d61ce6 Merge pull request #1573 from devius/ka-update
i18n(ka): Georgian for the 537 interface labels added since #979; 9 terms aligned with the other Craft apps
2026-10-25 12:26:44 -04:00
Brandon Thomas fffe2fdc3d Merge pull request #1768 from alichaudhry55/fix/table-gradient-fills
Tables: gradient cell fills draw as gradients on screen and in PDF
2026-10-25 12:26:38 -04:00
Brandon Thomas 743eced7ba Merge pull request #1712 from dotCooCoo/feat/file-info
File Info: PDF export writes the document's title, author, description and keywords
2026-10-25 12:26:32 -04:00
Brandon Thomas 58402f01e2 Merge pull request #1783 from dotCooCoo/feat/split-note
Notes: Split Note splits a note in two at the insertion point in its text, as in InDesign
2026-10-25 12:26:26 -04:00
Brandon Thomas 019c1d9e67 Merge pull request #1785 from dotCooCoo/fix/editorial-note-keeps-caret
Notes: deleting a note or converting it to text keeps the caret on the same text
2026-10-25 12:26:20 -04:00
Brandon Thomas 94bf1bf7f9 Merge pull request #1780 from dotCooCoo/fix/note-delete-keeps-caret
Footnotes: deleting a footnote or endnote keeps the caret on the same text
2026-10-25 12:26:13 -04:00
Brandon Thomas bb45cdcc50 Merge pull request #1775 from dotCooCoo/fix/footnote-moves-drop-typing-format
Footnotes: moving the caret into or out of a footnote drops formatting not yet typed
2026-10-25 12:26:06 -04:00
Brandon Thomas 05a8d6ac02 Merge pull request #1777 from Silvertree2010/fix/h2047-gradient-swatch-feather-tool-dra
Convert gradient tool drag to spread space on rotated spreads
2026-10-25 12:26:00 -04:00
aiongg 56f15a600d Merge upstream main into docking-trial; pin craft-libs to main 5bbe9f62 2026-10-25 16:25:57 +00:00
Brandon Thomas f2b62c9473 Merge pull request #1778 from dotCooCoo/fix/link-tests-on-windows
Links: the folder relink and IDML link tests expect Windows paths on Windows
2026-10-25 12:25:54 -04:00
Brandon Thomas a8b8b3eb62 Merge pull request #1779 from dotCooCoo/fix/automation-roots-tests-on-windows
MCP: the several-roots tests expect Windows paths without the \\?\ prefix
2026-10-25 12:25:47 -04:00
Brandon Thomas 7d005471a8 Merge pull request #1784 from Silvertree2010/fix/h2077-docx-import-adds-an-empty-paragr
Fix spurious empty paragraph after tables in DOCX import
2026-10-25 12:25:41 -04:00
Brandon Thomas 564b3befc5 Merge pull request #1796 from dotCooCoo/fix/preflight-test-absolute-temp-dir
Preflight: the missing-link test makes the temporary folder absolute
2026-10-25 12:25:35 -04:00
Brandon Thomas a5ede44ce0 Merge pull request #1803 from Silvertree2010/fix/h2386-mcp-server-stops-serving-when-a
Reply with a parse error on non-UTF-8 lines in MCP serve
2026-10-25 12:25:29 -04:00
Brandon Thomas 912e49fa9c Merge pull request #1808 from Silvertree2010/fix/h2418-ruler-tick-spacing-skips-the-10x
Fix ruler major tick spacing skipping the 10x step
2026-10-25 12:25:23 -04:00
moppeeer 0d009b09b5 Merge remote-tracking branch 'origin/main' into codex/new-section-dialog 2026-10-25 17:22:40 +01:00
moppeeerandClaude Opus 5.5 976f0d63ba New Section: the dialog's title in every interface language
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:22:39 +01:00
moppeeer 182d0e5c15 Merge remote-tracking branch 'origin/main' into codex/toc-more-options 2026-10-25 17:22:06 +01:00
moppeeerandClaude Opus 5.5 7ce4552e4f Table of Contents: Enter on the options toggle only toggles
egui activates a focused button with Enter, and the footer, drawn
after it, took the same Enter for OK: the dialog closed and made the
table of contents. The toggle now consumes that Enter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:22:05 +01:00
moppeeer 6d119c7975 Merge remote-tracking branch 'origin/main' into corner-options-dialog 2026-10-25 17:21:05 +01:00
moppeeerandClaude Opus 5.5 5ab5f6aae6 Corner Options: only the corners edited change; an unknown shape is an error
The dialog shows the first selected object's corners and sent all
four, so other objects lost corners nobody touched. object.cornerOptions
now takes null for a corner (each object keeps its own), and the dialog
sends only the corners edited: changed from the first object's, or set
by a linked edit (all four).

A shape the dialog doesn't offer is an error that keeps it open,
instead of another shape taking its place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:21:05 +01:00
moppeeer 2088555bb1 Merge remote-tracking branch 'origin/main' into graphic-frame-x-corners 2026-10-25 17:19:30 +01:00
moppeeerandClaude Opus 5.5 57ec8cad22 Canvas: an edited diamond keeps its frame X across its bounds
Moving a point makes a polygon a path (as the engine does for any
point edit), and four handle-free corners took the rectangle's branch:
a diamond's corners crossed as a plus. A path's corners are used only
when both diagonals cross as an X; a test edits a four-sided polygon
with path.moveAnchors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:19:30 +01:00
moppeeer 1626a7fc6f Merge remote-tracking branch 'origin/main' into swatch-inline-rename 2026-10-25 17:15:42 +01:00
moppeeerandClaude Opus 5.5 14d68ee0b1 Swatches: a rename in place ends with its document
The panel keeps the uid of the document it last showed; another one
(switched to, or moved into its place by a close) drops the rename and
the pending rename click, so a same-named swatch there isn't renamed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:15:42 +01:00
moppeeer e7b088a613 Merge remote-tracking branch 'origin/main' into color-picker-eyedropper 2026-10-25 17:14:51 +01:00
moppeeerandClaude Opus 5.5 2de763bb52 Color Picker eyedropper: let go over the picker, it takes nothing
The picker has no backdrop, so a page can lie under it; color_at only
checks the canvas. The drop now samples only when the picker's layer
isn't the topmost one there, and the test drops onto its colour field.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:14:51 +01:00
moppeeerandClaude Opus 5.5 61dbd814db Status bar: the page box's accessible name is in the interface language
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:14:24 +01:00
moppeeer 41b3b5e569 Merge remote-tracking branch 'origin/main' into paragraph-shading-indesign 2026-10-25 17:13:49 +01:00
moppeeerandClaude Opus 5.5 595ec3568a Paragraph border overprint: its doc comment names its own IDML property
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:13:49 +01:00
moppeeer 208593af17 Merge remote-tracking branch 'origin/main' into table-cell-keys 2026-10-25 17:13:33 +01:00
moppeeerandClaude Opus 5.5 2e44b19096 Table keys and cell commands: footnote text isn't a table cell
The caret in a footnote has a CellAddr too (FOOTNOTE_TABLE). Shift+Tab
and Esc there now act as outside a table, and table.nextCell,
table.prevCell and table.toggleSelection refuse it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:13:33 +01:00
moppeeerandClaude Opus 5.5 fd02125c68 Convert Text to Table: a tableStyle that isn't a name goes to the command as it is
As Insert Table's: the command refuses it, and the dialog stays open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:12:20 +01:00
moppeeerandClaude Opus 5.5 7ffb4874da Insert Table: a tableStyle that isn't a name goes to table.insert as it is
So the command refuses it (and the dialog stays open) instead of the
table being made unstyled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:12:12 +01:00
moppeeer 50a978be70 Merge remote-tracking branch 'origin/main' into table-menu-insert 2026-10-25 17:12:01 +01:00
moppeeerandClaude Opus 5.5 c27ef351e1 Insert Table: a tableStyle that isn't a name goes to table.insert as it is
So the command refuses it (and the dialog stays open) instead of the
table being made unstyled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:12:01 +01:00
moppeeerandClaude Opus 5.5 b30f4edb5b Convert Text to Table: refuse text too wide or too big for a table
A row wider than MAX_COLUMNS, or more cells than the largest table
table.insert makes (MAX_BODY_ROWS x MAX_COLUMNS), is an error before
the table is built; the text stays as it was.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:11:29 +01:00
moppeeer 6efe6f580c Merge remote-tracking branch 'origin/main' into package-pdf-preset
# Conflicts:
#	crates/engine/src/cmd/export.rs
#	crates/engine/src/cmd/package.rs
#	crates/ui-egui/src/lib.rs
2026-10-25 17:09:52 +01:00
moppeeer acfbd48dab Merge remote-tracking branch 'origin/main' into effects-angle-dial
# Conflicts:
#	crates/ui-egui/src/effects_dialog.rs
2026-10-25 17:08:55 +01:00
moppeeer 9642aa57c7 Merge remote-tracking branch 'origin/main' into text-frame-options-layout
# Conflicts:
#	crates/engine/src/cmd/object.rs
#	crates/ui-egui/src/dialogs.rs
#	docs/target-app-parity.md
2026-10-25 17:08:00 +01:00
moppeeer 0ca8633987 Merge remote-tracking branch 'origin/main' into paragraph-style-general
# Conflicts:
#	ROADMAP.md
#	crates/engine/src/cmd/style.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-25 17:07:59 +01:00
moppeeer 7730901548 Merge remote-tracking branch 'origin/main' into character-style-from-selection
# Conflicts:
#	ROADMAP.md
#	crates/engine/src/cmd/style.rs
#	crates/engine/src/cmd/text.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-25 17:07:57 +01:00
aiongg fec0897a5d Application bar: use craft-window's shared title bar (#1811)
* UI: the application bar uses craft-window's title bar

DesignCraft's title-bar code moved to craft-libs as craft_window::title_bar.
The application bar calls it instead of its own copy, and the macOS shell
takes sync_movable from it. Differences: a drag on an in-window panel lying
over the bar no longer moves the window, full screen ignores the bar's drag
and double-click, and floating panels in their own windows keep their own
movable flag.

* UI: craft-window from craft-libs main

* UI: the application bar ignores the title bar's response
2026-10-25 12:06:36 -04:00
moppeeer 65c43eee61 Merge remote-tracking branch 'origin/main' into swatch-row-icons
# Conflicts:
#	docs/target-app-parity.md
2026-10-25 17:05:16 +01:00
moppeeer 47589a8c84 Merge remote-tracking branch 'origin/main' into find-change-change-find
# Conflicts:
#	crates/compose/src/grep.rs
2026-10-25 17:05:00 +01:00
moppeeer d8899454ea Merge remote-tracking branch 'origin/main' into status-bar-parent-page-box
# Conflicts:
#	crates/ui-egui/src/canvas.rs
2026-10-25 17:04:59 +01:00
moppeeer 22d0726785 Merge remote-tracking branch 'origin/main' into package-dialog
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-25 17:04:58 +01:00