Commit Graph
4827 Commits
Author SHA1 Message Date
dotCooCoo 134d98905b Print: the Windows print test expects the driver's default color
craft-print at a0916808 leaves the color feature out of the Windows
PrintTicket unless the job asks for grayscale, so the color chosen in the
driver's preferences applies, and its command preview ends with
color=(driver default). print_builds_the_spool_command still expected
color=color and failed on Windows. It now expects the new preview.

print_submits_the_selected_export_and_reports_refusal also checks that the
job does not ask for grayscale, so the job's color setting is checked on
CUPS too.
2026-10-25 15:35:18 -07:00
macadminHU 0d001fbae6 HU1: record the Georgian menu regression fix
Record the two Georgian menu captions and preservation of the existing complete-menu regression. Retain all other roadmap entries and readiness percentages.
2026-10-25 23:32:35 +01:00
macadminHU 0317c79758 HU1: document the Georgian menu caption correction
Document the two added Georgian menu captions and the unchanged complete-menu regression. Preserve historical coverage counts and make the separate native-speaker review status explicit.
2026-10-25 23:31:51 +01:00
macadminHU a6f1081db8 HU1: complete the two missing Georgian menu captions
Add Georgian translations for File Info… and Check for Updates…. Keep the complete-menu assertion unchanged; interface_language_switches_and_validates now passes. The Hungarian regressions also pass. The full test stage records 3,376 passed, three previously documented missing-glyph failures and six ignored.
2026-10-25 23:22:52 +01: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
macadminHU de8825dd7c HU1: align equivalent test imports with the upstream repair
Adopt upstream blob 73f98f61 for panel_docking_tests.rs to avoid a parallel-fix conflict. The same 31 names are imported from the same parent module; every byte after the imports is unchanged. cargo fmt --all -- --check and cargo clippy --workspace --all-targets -- -D warnings both pass. No new main-branch changes are merged.
2026-10-25 22:34:24 +01: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
macadminHU 9c67851892 HU1: complete panel test imports after main integration
Restore the explicit names required by the upstream panel-docking tests and format the imports. All test bodies and assertions are byte-for-byte unchanged. fmt, pdf-deps and clippy pass; 3,375 tests pass, with four font/Georgian findings documented in the PR and six ignored. The remaining i18n-report, doctest, assets, layers and 16 WASM checks pass. One worker under a 2 GiB memory guard.
2026-10-25 22:20:54 +01:00
macadminHU 09ed93579c HU1: record conflict resolution and Arrangement localization
Updated progress log with new localization and regression test details for HU1.Preserve every progress entry from both branches and record the Hungarian Arrangement caption, updated egui button role, and retained localization and toolbar tests.
2026-10-25 22:02:22 +01:00
macadminHU 1244e84f61 HU1: document the Arrangement translation and targeted locale checks
Updated Hungarian catalog entry count to 1,905 and added Data Merge arrangement caption. Minor adjustments made to translation tests and review history.Record 1,905 Hungarian catalog entries and four context captions, preserving historical counts. Clarify that general missing-translation reports are non-blocking while targeted caption regressions can fail tests.
2026-10-25 22:01:16 +01: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
macadminHU 2937a52bab HU1: translate the Data Merge Arrangement caption
Add Arrangement → Elrendezés to the Hungarian catalog. The retained cross-locale regression and Hungarian catalog tests pass. Full local validation and the separate pre-existing font/Georgian findings are documented in the PR.
2026-10-25 22:00:29 +01:00
Dylan M. Taylor 165cbbbff1 rustfmt the added import list 2026-10-25 16:54:34 -04:00
macadminHU 85a074a65a Merge branch 'main' into codex/hungarian-localization 2026-10-25 21:53:13 +01: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
aiongg 074db00079 Merge print-color into print-color-x1a
Brings in #1374 with upstream main merged (egui 0.37, craft-libs at
storytold/craft-libs e3b9e239).

Conflicts:
- Cargo.toml: print-color's pins (storytold/craft-libs e3b9e239 for
  craft-pdf, craft-prepress, krilla and the hayro crates; winit and egui
  patches), with craft-prepress keeping the `flatten` feature.
- xtask/src/pdf_deps.rs: print-color's REPO/REV.
- Cargo.lock: print-color's, relocked with cargo metadata; adds only
  craft-prepress and linesweeper.
- crates/pdf/src/export.rs: main's optional-content registration and
  add_form_fields helper; the helper leaves form fields and media out of
  PDF/X-1a with a warning.
- crates/engine/src/cmd/export.rs: the X-1a parameter docs plus main's
  `created`; the X-1a flatten and shadow-mask path on top of main's
  PDF/A-2b-only rasterize_layered.

Also: x1a_tests builds FlattenTotals through Default, since the struct is
non_exhaustive at e3b9e239.
2026-10-25 19:55:21 +00:00
aiongg 9c977f41a6 Merge print-color (#1374 with main: egui 0.37, craft-libs e3b9e239) into print-color-separations
print_pdf, shared by Export PDF, File › Print and Separations Preview, takes main's two
changes to the inline export pipeline: rasterize_layered runs only for PDF/A-2b (other
standards keep hidden placed-PDF layers as optional content), and the report gets
GRAPHIC_LAYER_RENDERING_WARNING when the source document has graphic layer visibility
overrides and the writer did not report it. The Separations Preview command matches
craft_prepress::Conversion with a fallback arm, since the enum is non-exhaustive at
craft-libs e3b9e239.
2026-10-25 19:54:40 +00:00
aiongg 65c387732d Merge upstream/main into print-color
PDF/X and CMYK groups keep this branch's approach: krilla's serialize
settings (pdfx::print_settings) write the CMYK page and transparency
groups, the GTS_PDFX output intent and the PDF/X Info and XMP entries.
make_pdfx4 adds only the XMP dates, so main's title argument and its
output-intent, Info and pdfxid XMP edits are dropped, and both
cmyk_group_spaces calls after writer.finish() (Export PDF, Print
Booklet) stay removed. Main's new parts are kept: file_info_metadata
(also for Print Booklet, on top of the print settings), optional content
registration and layer errors, add_form_fields, and pdfx's fonts module.
Main's metadata panic test calls the two-argument make_pdfx4.

craft-libs and the krilla patch are pinned to storytold/craft-libs
e3b9e239; Cargo.lock is main's, relocked without updates.
2026-10-25 19:47:27 +00:00
aiongg 77c718aa68 Merge keymap-adoption (#1298, on main) into keymap-shortcuts-dialog
craft-keymap with the dialog comes from storytold/craft-libs main e3b9e239. egui 0.37's
shaper owns bidi, so the dialog's labels go to it in logical order: rtl::visual_text and the
dialog's visual hook are gone. ForeignSet keeps the dropped-entry count through its builder.
2026-10-25 19:39:58 +00:00
aiongg 073ac98694 Merge upstream main into keymap-adoption; pin craft-libs to main e3b9e239
Main's shortcut dispatch (shortcut_key, used for keys forwarded from floating panel windows)
becomes the keymap's: shortcuts and forwarded_shortcuts both take their presses through the
key dispatcher and run them once the input is released. craft-keymap comes from
storytold/craft-libs, ForeignSet is built through its constructor, and the panel shortcut test
asks the docking layout which panel shows.
2026-10-25 19:36:33 +00: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
moppeeerandClaude Opus 5.5 8509c39102 Color Picker test: the typed-CMYK case on its own
Typing in C switches the picker to CMYK, which the swatch test's OK at
the end then applied.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:04:44 +01: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
moppeeerandClaude Opus 5.5 b85d119ceb Color Picker: typed C/M/Y/K are kept even when the colour shown doesn't change
At 100% K a device CMYK conversion is black whatever C, M and Y are,
so the picked RGB stayed the same and the `p != before` guard dropped
the typed percentages. They are stored (and the colour marked edited)
whenever a C/M/Y/K field was typed in; the rest still only when the
colour changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:43:30 +01: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
moppeeer d2b0234160 Merge remote-tracking branch 'origin/main' into properties-auto-fit
# Conflicts:
#	crates/ui-egui/src/widgets.rs
2026-10-25 19:21:27 +01:00
moppeeer 1bd9b2770c Merge remote-tracking branch 'origin/main' into codex/toc-right-indent-separator
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-25 19:21:26 +01: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
moppeeerandClaude Opus 5.5 38d71ac91b Color Picker: on egui 0.37, with its fields named
main moved to egui 0.37 (#1810) and named the old picker's fields. The
picker's own layout here takes the new API (Role for WidgetType,
scope_id, Id::unique, TextEdit::align) and names its value fields by
their captions and the hex field "Hex".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:18:22 +01:00
moppeeer 15ce24f4f4 Merge remote-tracking branch 'origin/main' into color-picker-layout
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-25 19:11:47 +01: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
hslrmnp27 85321749ac T.DE1: merge current main and resolve typography documentation conflict
Preserve the German 2006 hyphenation entry alongside the newer optical margin alignment documentation. Merge upstream main at 5024d61ce6.

Validation: cargo xtask ci passed all nine steps; 3271 tests passed, 6 ignored; all four German hyphenation tests passed; WASM check passed for all 16 crates.
2026-10-25 18:39:15 +01: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