Dylan M. Taylor
e413cdf59b
Reduce cognitive complexity in find, lists, PDF font/layer scans; fix wildcard import ( #1846 )
...
* test(pdf): replace wildcard super import in registration_tests
Resolves SonarCloud rust:S2208 (new code).
* test(engine): extract child-scope rejection assertions in find tests
Resolves SonarCloud rust:S3776 on find_scope_children_error_atomically_and_parent_requests_stay_top_level.
* refactor(engine): extract per-paragraph list update from apply_list
Resolves SonarCloud rust:S3776 on apply_list.
* refactor(pdf): extract form scanning from FontScan::content
Resolves SonarCloud rust:S3776 on FontScan::content (pdfx/fonts.rs).
* refactor(pdf): extract layer helpers from optional_content::prepare
Resolves SonarCloud rust:S3776 on prepare (optional_content.rs).
2026-10-25 21:25:48 -04:00
aiongg
e91f830116
chore(deps): safe dependency refresh ( #1844 )
...
cargo update with semver-compatible updates only. Git dependencies keep their revisions (indd stays at 7f3060e5).
2026-10-25 20:54:46 -04:00
Dylan M. Taylor
18246dddd2
build: pin craft-update to craft-libs main (495e597) ( #1837 )
...
Picks up the startup prompt without the glyphs a font may lack (storytold/craft-libs#343, #344 ): the close mark is painted and the version pill is ASCII, so apps that panic on a missing glyph no longer take the prompt down.
Part of tracking issue storytold/craft-libs#319
2026-10-25 17:55:34 -04:00
Dylan M. Taylor and Claude Sonnet 5.5
3eeab5aead
refactor(engine): reduce complexity in path join and paragraph style apply (Sonar) ( #1729 )
...
* refactor(engine): split join_paths and apply_para (Sonar S3776)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
* fix(engine): use the resolved style types in apply_para_in_story
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
* Pass the resolved styles by reference at the call site
* Drop the range binding the call no longer uses
---------
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 17:48:35 -04:00
Dylan M. Taylor and Claude Sonnet 5.5
cf45e33545
refactor(ui): reduce cognitive complexity in swatches, properties, canvas, lib (Sonar S3776) ( #1727 )
...
* refactor(ui): extract helpers from swatches, properties, canvas and app logic (Sonar S3776)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
* fix(ui): drop unused variable after extraction
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
* Use scope_id for the flex grid's interaction id
---------
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 17:46:29 -04:00
Dylan M. Taylor and Claude Sonnet 5.5
8e77e8db2d
refactor: split complex functions in swatch_refs, xlsx, render group drawing (Sonar S3776) ( #1733 )
...
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 17:33:59 -04:00
Dylan M. Taylor
5478eb655e
Import the panel-docking helpers the test module uses from its parent
...
panel_docking_tests is a child module of panel_docking, so every helper it
calls lives in super; list them instead of the wildcard the sweep removed.
2026-10-25 17:00:59 -04:00
Dylan M. Taylor
165cbbbff1
rustfmt the added import list
2026-10-25 16:54:34 -04:00
Dylan M. Taylor
98ada498d5
Fix the imports the explicit-import refactor missed
...
The Sonar S2208 sweep replaced use super::* with explicit lists, but
tests_ime.rs and panel_docking_tests.rs use helpers added after it was
written, so main stopped compiling.
2026-10-25 16:49:17 -04:00
Dylan M. Taylor
4322609d4b
Merge pull request #1722 from storytold/sonar/engine-datamerge
...
refactor(engine): data merge complexity and parameter counts (Sonar)
2026-10-25 16:31:23 -04:00
Dylan M. Taylor
0e83233c97
Merge pull request #1737 from storytold/sonar/idml-c
...
refactor(idml): import graphics and table cell helpers (Sonar S3776)
2026-10-25 16:31:14 -04:00
Dylan M. Taylor
781bec49de
Merge pull request #1736 from storytold/sonar/s3776-a4
...
refactor: reduce cognitive complexity in epub table and pdf frame text (Sonar S3776)
2026-10-25 16:30:47 -04:00
Dylan M. Taylor
a4143e031a
Merge pull request #1735 from storytold/sonar/engine-d
...
refactor(engine): reduce complexity in find.change and used_fonts (Sonar)
2026-10-25 16:30:36 -04:00
Dylan M. Taylor
6227c4f1c8
Merge pull request #1730 from storytold/sonar/idml-b
...
refactor(idml): graphic part and spread import helpers (Sonar)
2026-10-25 16:30:25 -04:00
Dylan M. Taylor
19bc14fe03
Merge pull request #1718 from storytold/sonar/s1612-b
...
chore: method paths for remaining closures (Sonar S1612)
2026-10-25 16:30:13 -04:00
Dylan M. Taylor
05e5f17913
Merge pull request #1717 from storytold/sonar/s2208-a
...
chore: explicit imports in test modules (Sonar S2208)
2026-10-25 16:29:55 -04:00
Dylan M. Taylor
1df053b32a
Merge pull request #1817 from dylanmtaylor/feat/startup-update-prompt
...
feat: startup update prompt modal and direct self-updating
2026-10-25 15:58:05 -04:00
Dylan M. Taylor
edec344ee7
fix(updates): localize the update status messages and format the sources
2026-10-25 15:34:09 -04:00
Dylan M. Taylor
47b3f8f9b4
fix(updates): address review feedback
...
Wake the UI when a manual check is queued from a menu callback; the update prompt owns the keyboard while it is open (LightCraft); Download opens through the desktop URL hook (FilmCraft); the Help menu dispatches through menus::invoke (FigCraft); print jobs and comment drafts hold an install back (WordCraft); Check for Updates is a registered command (GridCraft); an install holds back while documents are unsaved.
2026-10-25 15:17:00 -04:00
Dylan M. Taylor
2b74ecaded
build: pin craft-update to craft-libs main (db19c37)
2026-10-25 15:08:35 -04:00
Dylan M. Taylor
2137390343
fix(updates): drop the manual window's custom id (Id::new is deprecated in egui 0.37)
2026-10-25 15:02:26 -04:00
Dylan M. Taylor
c784a9db66
refactor(updates): hold the install back while documents are unsaved
2026-10-25 15:02:26 -04:00
Dylan M. Taylor
d607c068b1
feat: startup update prompt modal and direct self-updating
...
The update flow (check at start or on request, the startup prompt, the self-update worker) is craft-update's Updater; the app only supplies the suite, its close path and its status window. The check at start is opt-in for the desktop app, and the Windows update helper runs before argument parsing.
Ref: storytold/craft-libs#319
2026-10-25 15:02:26 -04:00
aiongg
dbf39f823e
Merge pull request #1311 from aiongg/docking-trial
...
Panels: move onto craft-ui's shared docking
2026-10-25 14:36:15 -04:00
aiongg
5c99863f12
Merge remote-tracking branch 'upstream/main' into docking-trial
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# apps/designcraft/src/main.rs
2026-10-25 18:18:36 +00:00
Dylan M. Taylor
19eef74655
Merge pull request #1810 from storytold/codex/egui-037-designcraft-20261023
...
Migrate DesignCraft to egui 0.37
2026-10-25 14:09:25 -04:00
aiongg
02cb2876d2
Merge upstream main into docking-trial
...
Main's File Info PDF metadata gets craft-pdf's modified field (None, as before), and the
Notes panel ids use Id::unique (egui 0.37).
2026-10-25 17:52:22 +00:00
skylar taylor-barrick
bd4b9dd1d2
egui-037: reconcile shared window integration with main
2026-10-25 18:34:10 +01:00
aiongg
1da1f7028b
Merge designcraft#1810 (egui 0.37) into docking-trial; pin craft-libs to main a0916808
2026-10-25 17:16:25 +00:00
aiongg
32eb676f34
Docking: format panel_docking tests
2026-10-25 16:58:41 +00: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
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
aiongg
d9f96f6cbb
Docking: pin craft-libs to pin-round3 d24e4bcce; craft-ui focuses the main window for a modal
2026-10-25 14:01:43 +00:00
Brandon Thomas and Claude Opus 5.5
dcce40fb87
Release 0.13.0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.13.0
2026-10-25 09:03:51 -04:00
skylartaylor
6bc2e25792
M0.37: fix accessible controls and simplify reviewed engine paths
2026-10-25 08:31:14 +01:00
aiongg
9397ee57d4
Docking: pin craft-libs to cdc671313 (craft-libs#313, owner test round)
2026-10-25 07:16:46 +00:00