Commit Graph
3186 Commits
Author SHA1 Message Date
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. TaylorandClaude 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. TaylorandClaude 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. TaylorandClaude 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 ThomasandClaude 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