aiongg
916ec9cb9a
Merge review fixes: minors and docs
2026-10-30 21:34:10 +00:00
aiongg
7bad69c14a
Integration: cargo fmt
2026-10-30 21:33:58 +00:00
aiongg
2ecb85ff97
Integration: #1674 text.move leaves the selected cells, so typing inserts at the caret
2026-10-30 21:29:34 +00:00
aiongg
0ca30e1408
Integration: #1496 Find/Change: a null attribute with an empty Change formats the found text instead of deleting it
2026-10-30 21:29:34 +00:00
aiongg
ff5d4e1f8e
Integration: #1509 spelling suggestions include the common words
2026-10-30 21:24:47 +00:00
aiongg
2bf89ce370
Integration: #1394 turning Auto-Fit off alone keeps the picture where it is
2026-10-30 21:23:07 +00:00
aiongg
6a1d554d44
Integration: #1554 prefs.set rejects unknown keys inside defaultUnits
2026-10-30 21:22:34 +00:00
aiongg
92327dcc4c
Merge track b: swatches, canvas, tools and tables PRs
...
Conflicts: engine/src/tests.rs and i18n/*.rs: adjacent additions from both sides, both kept.
2026-10-30 20:49:48 +00:00
aiongg
e15fc040b5
Merge track a: properties, object and layout PRs
...
Conflicts: dialogs/tests.rs and i18n/{ar,cs,it,ka,pl,pt_br,ru,uk}.rs: adjacent additions from both sides, both kept.
2026-10-30 20:49:28 +00:00
aiongg
e3aa2c260a
Merge PR #1509 : Spelling: "we", "if", "email" and contractions with a typographer's apostrophe aren't misspelled
2026-10-30 19:46:49 +00:00
aiongg
4638b19387
Merge PR #1257 : TOC: generate and refresh PDF bookmarks
...
crates/ui-egui/src/dialogs/tests.rs: kept HEAD, appended #1257 's new test
2026-10-30 19:46:49 +00:00
aiongg
eb2eb299f3
Merge PR #1508 : Insert Pages dialog as InDesign's: before or after a page, at the start or end, with a parent
...
crates/ui-egui/src/i18n/*.rs: kept both sides' rows (unique keys)
2026-10-30 19:46:06 +00:00
aiongg
2f8c43a079
Merge PR #1554 : Preferences: Units & Increments with no document open set the units of new documents, as in InDesign
...
crates/ui-egui/src/dialogs/tests.rs: kept HEAD, appended #1554 's new test
2026-10-30 19:45:55 +00:00
aiongg
3fa5fbbbc7
Merge PR #1433 : Fitting: Clear Frame Fitting Options, and the submenu grouped as the reference app's
...
Conflicts:
crates/ui-egui/src/menus/tables.rs: kept the Fitting separator from the Object menu order (#1413 ); #1433 's own comment line dropped
crates/ui-egui/src/i18n/*.rs (ar, cs, de, it, ja, ka, pl, pt_br, ru, uk): kept both sides' keys, plus #1433 's Clear Frame Fitting Options
2026-10-30 19:45:49 +00:00
aiongg
52ea6806df
Merge PR #1496 : Find/Change: Change Format, with a character or paragraph style
...
crates/ui-egui/src/dialogs/tests.rs: kept HEAD, appended #1496 's new test
crates/ui-egui/src/i18n/*.rs: kept both sides' rows (unique keys)
2026-10-30 19:45:28 +00:00
aiongg
4a6be7eef5
Merge PR #1406 : Object: Corner Options opens a dialog laid out as the reference app's, also from the Properties Corner link
...
Conflicts:
crates/ui-egui/src/i18n/*.rs (table, ar, cs, de, it, ja, ka, pl, pt_br, ru, uk): kept both sides' keys (#1414 's Stroke Type/Corner Shape, #1406 's Corner Size and Shape:), no duplicates
2026-10-30 19:45:16 +00:00
aiongg
dc14a8c329
Merge PR #1492 : Character styles: a new style from the selected text, applied to it
...
crates/ui-egui/src/dialogs/tests.rs: kept both sides (the new character-style test added next to #1464 's)
crates/ui-egui/src/i18n/*.rs: kept #1464 's rows and added only #1492 's new keys (New Paragraph/Character Style); older copies of #1464 rows dropped
2026-10-30 19:45:05 +00:00
aiongg
e703cd6f24
Merge PR #1390 : Properties: Text Wrap shows the four wrap offsets, as in the reference app
...
Conflicts:
crates/ui-egui/src/panels/properties/tests.rs: kept both sides' tests (earlier merged tests plus #1390 's text wrap offsets test)
2026-10-30 19:44:50 +00:00
aiongg
0a2a2039a5
Merge PR #1674 : Tables: Shift+Tab goes back a cell, and Esc toggles between the text and the cell
2026-10-30 19:44:37 +00:00
aiongg
8227f29295
Merge PR #1125 : Direct Selection on a selected frame selects its image, so Delete keeps the frame
...
crates/engine/src/tests.rs: kept both new tests (#902 corner pull, #1125 image delete)
2026-10-30 19:44:33 +00:00
aiongg
4e41f2ea0a
Merge PR #1464 : Paragraph styles: a new style from the selected text, Next Style, Reset To Base
...
crates/ui-egui/src/dialogs/tests.rs: kept both sides' appended tests
crates/ui-egui/src/i18n/*.rs (table, ar, cs, it, ka, pl, pt_br, ru, uk): kept both sides' rows (unique keys)
2026-10-30 19:44:32 +00:00
aiongg
2ab37e009a
Merge PR #902 : Direct Selection: pressing on a corner of an unselected object pulls just that corner
2026-10-30 19:44:20 +00:00
Dylan M. Taylor
15d13dde20
Update prompt shows the app icon and accent color instead of a letter ( #2023 )
...
UPDATE_APP (native builds; craft-update is a native-only dependency) carries our 128 px icon and accent (#7bb51c, its colour in ArtCraft Launcher). The updater, the self-update
helper and craft-update's startup prompt all get them through crate::UPDATE_APP; the
prompt draws the icon, the accent and "by ArtCraft" (craft-update's default developer).
craft-update is pinned to storytold/craft-libs main at 1065653e7 (#434 ).
Clippy fixes for Rust 1.99 in untouched code (same logic):
- crates/engine/src/cmd/export/text_tests.rs
- crates/pdf/src/gradient_inks.rs
2026-10-30 01:28:06 -04:00
Brandon Thomas
7e841a073e
Merge pull request #1972 from VoiceLessQ/fix/1209-autoflow-parity-runaway
...
Autoflow: a frame a Start Paragraph option ends early sets no fill rate (fixes #1209 )
2026-10-29 21:54:51 -04:00
Brandon Thomas
8867f312e9
Merge storytold/main into PR #1972
2026-10-29 21:53:38 -04:00
Brandon Thomas
7c24b673af
Merge storytold/main into PR #1893
...
# Conflicts:
# crates/engine/src/cmd/xml.rs
2026-10-29 21:53:38 -04:00
Brandon Thomas
08e8fdf655
Merge pull request #1909 from Hamza0101/fix/unc-test-runs-on-windows
...
Data merge: the UNC refusal is tested on Windows too (#1601 )
2026-10-29 21:52:57 -04:00
Brandon Thomas
f9fabc3334
Merge pull request #1840 from dotCooCoo/fix/print-test-driver-default-color
...
Print: the Windows print test expects the driver's default color
2026-10-29 21:52:42 -04:00
Brandon Thomas
b4463b5b26
Merge pull request #1911 from Hamza0101/fix/merge-image-reads
...
Data merge: an image named by many records is read once (#1595 )
2026-10-29 21:52:38 -04:00
Brandon Thomas
1f20480194
Merge pull request #1948 from Silvertree2010/fix/h3527-placing-a-plain-text-file-keeps
...
Strip story marker characters from placed plain text files
2026-10-29 21:52:33 -04:00
Brandon Thomas
c0d1acd2b3
Merge pull request #1568 from Hamza0101/fix/table-insert-size
...
A table size Create Table cannot mean is refused
2026-10-29 21:52:22 -04:00
Brandon Thomas
0a05c1631c
Merge pull request #1233 from seanth/running-header-order
...
[fix] Running headers read a page in text order, not by height
2026-10-29 21:52:08 -04:00
Brandon Thomas
9d73109012
Merge pull request #1908 from Silvertree2010/fix/h2951-xml-export-writes-control-charac
...
Drop XML-forbidden control characters in file.exportXml
2026-10-29 21:51:57 -04:00
moppeeer and Claude Opus 5.5
741fbe9fac
Paragraph styles: create_para whole again, with the style name parameter helper before it
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 23:06:21 +01:00
moppeeer and Claude Opus 5.5
948482d60f
Tab in footnote text is typed, not taken for the next table cell
...
Footnote text is addressed as a cell too (as 2e44b190 handled for
Shift+Tab, Esc and the cell commands); text.insert now types the Tab
there instead of failing in table.nextCell.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 15:34:27 +01:00
moppeeer and Claude Opus 5.5
e96baa7f7f
Table keys: the selection helpers by their paths on main's split modules
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 12:19:19 +01:00
moppeeer
c4479a1152
Merge remote-tracking branch 'origin/main' into find-change-format
...
# Conflicts:
# crates/engine/src/cmd/find.rs
# crates/engine/src/cmd/style.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/icons.rs
2026-10-29 12:07:04 +01:00
moppeeer
190a5908f3
Merge remote-tracking branch 'origin/main' into paragraph-style-general
...
# Conflicts:
# crates/engine/src/cmd/style.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/i18n.rs
2026-10-29 11:52:24 +01:00
moppeeer
d4a00a207f
Merge remote-tracking branch 'origin/main' into character-style-from-selection
...
# Conflicts:
# crates/engine/src/cmd/style.rs
# crates/engine/src/cmd/text.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/i18n.rs
2026-10-29 11:51:59 +01:00
moppeeer
89808ec42f
Merge remote-tracking branch 'origin/main' into codex/direct-select-unselected-anchor
...
# Conflicts:
# crates/tools/src/select.rs
2026-10-29 11:45:00 +01:00
moppeeer
42a3637bfc
Merge remote-tracking branch 'origin/main' into direct-select-delete-image
...
# Conflicts:
# crates/tools/src/select.rs
2026-10-29 11:44:41 +01:00
moppeeer
c0b4746c8d
Merge remote-tracking branch 'origin/main' into codex/toc-pdf-bookmarks
...
# Conflicts:
# crates/engine/src/cmd/style.rs
# crates/idml/src/export.rs
# crates/idml/src/import.rs
# crates/ui-egui/src/dialogs.rs
2026-10-29 11:44:22 +01:00
moppeeer
271d20ba7f
Merge remote-tracking branch 'origin/main' into properties-wrap-offsets
...
# Conflicts:
# crates/ui-egui/src/panels/properties.rs
2026-10-29 11:43:59 +01:00
moppeeer
b26ae037de
Merge remote-tracking branch 'origin/main' into corner-options-dialog
...
# Conflicts:
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/panels/properties.rs
2026-10-29 11:43:35 +01:00
moppeeer
e094562ef6
Merge remote-tracking branch 'origin/main' into clear-fitting-options
...
# Conflicts:
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/menus.rs
2026-10-29 11:42:45 +01:00
moppeeer
6b57bebd6b
Merge remote-tracking branch 'origin/main' into insert-pages-dialog
...
# Conflicts:
# crates/engine/src/cmd/layout.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/menus.rs
# crates/ui-egui/src/panels/pages.rs
2026-10-29 11:40:06 +01:00
moppeeer
fffafb7122
Merge remote-tracking branch 'origin/main' into global-units-preferences
...
# Conflicts:
# crates/engine/src/cmd/file.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/menus.rs
2026-10-29 11:39:22 +01:00
moppeeer
0d9b7c74ac
Merge remote-tracking branch 'origin/main' into table-cell-keys
...
# Conflicts:
# crates/engine/src/cmd/table.rs
# crates/engine/src/cmd/text.rs
2026-10-29 11:38:49 +01:00
VoiceLessQ
89ccfbb18c
Autoflow: count each forced move once, and only visible breaks ( #1209 )
...
fit() counted every break character in the overset text and every
Start Paragraph option. A break followed by a paragraph whose option it
already meets moved the text once but asked for two frames, and breaks
that tracked changes delete or a hidden condition hides asked for
frames that composing never uses. Autoflow added those pages and
removed them again: 200 chapters that end in page breaks and start on
the next page took 61095 ids and 430 ms, now 798 ids and 16 ms.
Each paragraph composing places now counts once, when a visible break
ends the paragraph before it or its start option sends it on; after a
break it is at the top of a frame, where the option only fixes odd or
even page parity. A visible break inside a paragraph counts once more.
previous_visible_break and the new visible_break in designcraft-compose
are public, so the estimate and the composer use one rule.
2026-10-28 23:08:41 -02:00
VoiceLessQ
ca85be89d2
Autoflow: skip deleted paragraphs and ask for every forced frame at once ( #1209 )
...
The start option lookup now reads the next paragraph composing places,
past tracked-deleted ones. Frames that start options and breaks force
are counted and asked for in one round, so a story with a paragraph per
page no longer gets one frame per round.
2026-10-28 22:32:07 -02:00