Commit Graph
1873 Commits
Author SHA1 Message Date
aiongg a6ec09afb2 Integration: #643's test (an empty Effects field path sets nothing) 2026-10-14 01:41:17 +00:00
aiongg b52b9a99fc Integration: ROADMAP lines for #869 and #870 describe the integration fixes 2026-10-14 01:40:50 +00:00
aiongg 49a5cb87bb Integration: #490 drop its second Quit DesignCraft row (already in the Czech table) 2026-10-14 01:40:38 +00:00
aiongg 3e97c8fd58 Merge #562: IDML: anchored objects take unset settings from their object style; left-aligned X offsets read in the layout's direction (new head)
# Conflicts:
#	ROADMAP.md
2026-10-14 01:40:29 +00:00
aiongg 172ec3a941 Merge #490: i18n: Czech interface language (new head) 2026-10-14 01:39:55 +00:00
aiongg 434c9ab35a Merge #589: (fix)Small frame wrap for overset small text boxes (new head) 2026-10-14 01:39:49 +00:00
aiongg 0efd3792ec Merge #829: i18n: add Polish interface language (new head) 2026-10-14 01:39:49 +00:00
aiongg 560f1161ea Merge #319: DTD: bound parameter-entity expansion, nesting and sequence matching (new head) 2026-10-14 01:39:48 +00:00
aiongg 0383f46953 Merge #802: File › Open Recent, and recent files with previews on the start screen (new head) 2026-10-14 01:39:48 +00:00
aiongg 9912a386a8 Integration: #870 the page menu always offers Delete Page for the clicked page, Delete Spread separately for multi-page spreads 2026-10-14 01:39:48 +00:00
aiongg dcaa4371ee Merge #870: Pages panel menu order
# Conflicts:
#	crates/ui-egui/src/i18n.rs
2026-10-14 01:38:57 +00:00
aiongg 7889b25a37 Integration: #869 Alt-drag copies a page in one command and one undo step (layout.pages.duplicateSpread takes to) 2026-10-14 01:38:39 +00:00
aiongg 2036194de6 Merge #869: Pages panel: Alt-drag copies a page, drop a page on Create new page, Edit page size; duplicates keep their size
# Conflicts:
#	ROADMAP.md
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/panels/pages.rs
2026-10-14 01:37:07 +00:00
aiongg 3497da3939 Merge #860: fix(compose): odd/even page starts keep their parity at the top of a frame
# Conflicts:
#	crates/compose/src/lib.rs
2026-10-14 01:33:30 +00:00
aiongg 9294b3b68a Merge #863: Tables: table.options limits header and footer rows 2026-10-14 01:33:03 +00:00
moppeeerandClaude Opus 5.5 8156e575bc feat(ui): Pages panel menu in InDesign's order
The Pages panel menu in Chris Cicchino's "Adobe InDesign – Page Tool
and Liquid Layout" (0:47) reads: Insert Pages…, Move Pages…, Duplicate
Spread, Duplicate Spread at End of Document, Delete Spread, … New
Parent…, Apply Parent to Pages…, Override All Parent Page Items, Parent
Pages ▸, Create Alternate Layout…, Numbering & Section Options…, Allow
Selected Spread to Shuffle. DesignCraft's menu (and the page thumbnails'
context menu) had Insert Page After, Delete Page, Duplicate Spread, Add
to Previous Spread, Allow Spread to Shuffle and the parent items in
another order.

- Pages panel menu and page context menu in InDesign's order and labels:
  Insert Pages… and Move Pages… open their dialogs for the page; Delete
  Spread for a spread of several pages; Parent Pages ▸ holds Remove All
  Local Overrides and Detach All Objects from Parent; Create Alternate
  Layout… and Numbering & Section Options… open theirs. Add to Previous
  Spread stays last (InDesign drags pages into spreads instead).
- Translations (pt-BR gains the existing items it lacked).

Builds on #869 (Duplicate Spread at End of Document).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:15:27 +02:00
aiongg 063856cc4c Merge t14-b: #836 #840 #846 #854, Find/Change first:true
# Conflicts:
#	ROADMAP.md
2026-10-14 00:09:13 +00:00
moppeeerandClaude Opus 5.5 3939b825d3 feat(ui): Pages panel duplicates pages by Alt-drag and the New Page button; Edit page size
Chris Cicchino's "Adobe InDesign – Page Tool and Liquid Layout" (0:42,
2:06) holds Option and drags a page in the Pages panel to copy it,
drags a page onto the New Page button to duplicate it ("click and drag
onto my plus sign I can duplicate that"), and resizes pages; InDesign's
panel also has an Edit page size button. DesignCraft's panel only moved
pages on drag, had no Edit page size button, and duplicating a page gave
the copy the size of the page before it (not its own) without its
liquid rule or guides. A page of its own size also drew its thumbnail
at the document's scale, over the panel's footer.

- Pages panel: Alt-drag copies the page to where it's dropped; a page
  dropped on Create new page is duplicated at the end of the document;
  Edit page size lists the presets (in the page's orientation) and
  Custom Page Size…; InDesign's tooltips (Create new page, Delete
  selected pages).
- Thumbnails share one scale (the document's page size, smaller when a
  taller page would pass 1.8 times the usual height); rows fit their
  spread's tallest page.
- engine: layout.pages.duplicateSpread copies the pages' size, margins,
  columns, guides and liquid rule, takes `atEnd`, and returns the copy's
  first page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:02:16 +02:00
aiongg 6692e061d6 Merge t14-c: #839 #843
# Conflicts:
#	ROADMAP.md
2026-10-13 22:51:48 +00:00
aiongg 39a4364fd3 Merge t14-a: #837 #849 #853 #855 #859 #858 #553 #829, stray dialogs.rs.orig removed 2026-10-13 22:51:34 +00:00
aiongg f0f9a4619c Find/Change: first:true changes only the first match, not one per story 2026-10-13 22:43:44 +00:00
aiongg 5ff7c4f956 Merge #854: index duplicate asset candidates by content (#727)
# Conflicts:
#	docs/file-format-parity.md
2026-10-13 22:41:06 +00:00
aiongg e44a9dc2f1 Integration: #846 stroke edges of a partly selected merged cell are classified against the selection grown to whole cells, in table.setCell and table.getCellStroke 2026-10-13 22:40:35 +00:00
aiongg 71309b993e Integration: cargo fmt 2026-10-13 22:40:00 +00:00
aiongg a68bdae052 Merge #846: resolve selected merged-cell owners
# Conflicts:
#	crates/engine/src/cmd/table.rs
2026-10-13 22:39:51 +00:00
aiongg b9cbfca8cf Merge #843: Placed PDFs: render with pdfcraft's patched hayro crates
# Conflicts:
#	Cargo.toml
#	ROADMAP.md
#	crates/render/src/lib.rs
2026-10-13 22:38:19 +00:00
aiongg cd317a235a Merge #553: docs: add user docs in docs/user 2026-10-13 22:36:18 +00:00
aiongg 0c965691b6 Merge #858: macOS DMG: hdiutil create -srcfolder, so the installed app passes codesign --strict 2026-10-13 22:36:17 +00:00
aiongg 283d04e14f Integration: #859 drop the control-channel safety note from the editing gap, which lists missing features 2026-10-13 22:36:08 +00:00
aiongg 450bee203a Merge #859: Control: bound click and drag input before queuing events 2026-10-13 22:36:03 +00:00
aiongg b14e5feae7 Integration: #839 previews keep the link's format and pixel size, share one buffer per preview, and preflight still reports their missing links 2026-10-13 22:35:59 +00:00
aiongg b98d1521df Merge #855: fix: repaint canvas when entering and leaving parent editing 2026-10-13 22:35:26 +00:00
aiongg 9ceb7011a5 Merge #840: Object > Fitting with the reference shortcuts
# Conflicts:
#	ROADMAP.md
#	crates/ui-egui/src/menus.rs
2026-10-13 22:34:54 +00:00
aiongg 7f8eb704c8 Merge #853: Compose: cross-reference index no longer rebuilds itself 2026-10-13 22:34:26 +00:00
aiongg 4989cc6e27 Merge #849: Canvas: baseline grid draws only the lines on the page 2026-10-13 22:34:13 +00:00
aiongg 588e83199b Merge #839: INDD graphics whose linked file is missing show the document's preview
# Conflicts:
#	crates/engine/src/cmd/interchange.rs
#	crates/idml/src/import.rs
#	crates/idml/src/tests.rs
2026-10-13 22:33:58 +00:00
aiongg f28456d9d3 Integration: #836 a grey stop beside a CMYK stop exports as the K ink, keeping the PDF shading in DeviceCMYK 2026-10-13 22:33:46 +00:00
noah1400 554019cdd5 Tables: table.options limits header and footer rows (#861)
table.options added as many rows as the requested header and footer
counts needed, without a limit. A large number typed into the Table
panel's Header Rows field froze the app and exhausted memory. Both
counts are now capped at 100, the limit table.insert already has.
2026-10-14 00:32:16 +02:00
aiongg e94e04fb6e Merge #837: Preferences: Story Editor size stays finite and in range 2026-10-13 22:31:39 +00:00
aiongg dc2dda7717 Merge #836: gradients between process colours blend as inks
# Conflicts:
#	ROADMAP.md
2026-10-13 22:31:16 +00:00
Tomasz Lewandowski bac3841e35 i18n(pl): translate Story as "wątek", keep "artykuł" for Article
Story and Article both read "artykuł", so the Story Editor and the
Articles panel looked the same. Story is now "wątek" (Edytor wątków),
the usual Polish DTP term; Article stays "artykuł".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DukHNvUY45rjRnvtz91x33
(cherry picked from commit 951496c4f1)
2026-10-13 22:31:06 +00:00
aiongg 896929c5c0 Integration: remove a stray merge backup of dialogs.rs 2026-10-13 22:30:57 +00:00
Seon-Jin YoonandClaude Opus 5.5 0aaaa9600d fix(compose): odd/even page starts keep their parity at the top of a frame
Start options were skipped for a paragraph at the top of a frame. That is
right for Next Page, Next Frame and Next Column (there is nothing to break
away from), but a Next Odd Page paragraph that lands at the top of an even
page stayed there, as did Next Even Page at the top of an odd page, and the
same went for odd and even page break characters. A part or chapter opener
whose previous section ended exactly at the bottom of an odd page therefore
opened on a left-hand page.

Cursor::start_at_top now moves such a paragraph to the next page of the
asked parity, for paragraphs, tables and break characters alike. Other
start options at the top of a frame are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 07:12:08 +09:00
aiongg 1cd3b38af1 Recent files: look them up on disk at most every 3 s, not every frame; Open Recent names the file without an undocumented param (#706)
From aiongg's review of #802 (acb63fe1, and the UI part of 548d700b on aiongg/next).
2026-10-14 00:03:57 +02:00
Andreas Haraminac 5024ed8870 #732: bound control-channel click and drag event queues 2026-10-13 21:55:44 +00:00
Daniel van LithandClaude Opus 5.5 1e153c5c45 macOS DMG: hdiutil create -srcfolder, so the app inside passes codesign --strict
makehybrid -hfs gave every file in the image a com.apple.FinderInfo, so the app in the
DMG, and a copy installed from it, failed codesign --verify --strict --deep ("resource
fork, Finder information, or similar detritus not allowed"), though Gatekeeper accepts
it. Build the image as VectorCraft (#1085) and PdfCraft (#823) do now: hdiutil create
-srcfolder with a few tries for CI's "Resource busy", and verify the mounted app with
--strict --deep so the regression can't ship again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 10:36:52 +13:00
harrisonoconnorhover 2d07bc5295 fix: refresh canvas when switching parent editing 2026-10-13 17:28:38 -04:00
LabDennis 0fd627aa44 perf(assets): index duplicate candidates by content (#727) 2026-10-13 23:12:09 +02:00
noah1400 1bddba0e75 Compose: cross-reference index no longer rebuilds itself (#851)
The cross-reference index composed its destination stories through
the cache. One with a running header asked for the running-header
index, which composed the story holding the cross-reference, which
asked for the cross-reference index again: the stack overflowed and
the app aborted. Destination stories with a running header are now
composed without it, like those with cross-references already were.
2026-10-13 23:07:21 +02:00
aiongg b141bc335f Integration: renaming or deleting a paragraph style also updates the table of contents' entry and title styles (#755) 2026-10-13 20:46:27 +00:00