Commit Graph
1028 Commits
Author SHA1 Message Date
Marco Arnulfo eb4e811b52 feat(desktop): portable mode needs a writable DesignCraftData (#574)
A portable copy unzipped into a read-only folder such as Program Files
kept pointing settings and recovery at a DesignCraftData it could not
write, so both were lost without a word. The data folder is now probed
(created, then a file written and removed) and, when that fails, the
platform folders are used as if there were no portable.txt; the log and
the status bar say which folder could not be written.
DESIGNCRAFT_CONFIG_DIR still wins. Adds
a_portable_install_that_cannot_write_its_data_uses_the_platform_paths.
2026-10-15 10:46:12 +02:00
Marco Arnulfo 960982810b feat(desktop): portable mode looks next to DesignCraft.app on macOS (#574)
Inside a macOS bundle the executable sits in DesignCraft.app/Contents/MacOS,
a signed folder nobody edits, so the marker and DesignCraftData are looked
for next to the .app, as craft-settings does. Adds
inside_a_macos_bundle_the_marker_sits_next_to_the_app.
2026-10-15 10:46:12 +02:00
Marco Arnulfo bb30c98f15 feat(desktop): portable mode, portable.txt next to the executable (#574)
A file named portable.txt beside the executable keeps settings, logs,
the GPU start-up record and crash recovery in a DesignCraftData folder
next to it instead of the per-user folders, as PhotoCraft and FilmCraft
do. A folder of that name is not a marker. DESIGNCRAFT_CONFIG_DIR still
wins, empty or not. The Windows portable zip now ships portable.txt;
the MSI and the macOS app bundle don't, so nothing changes there.
2026-10-15 10:46:12 +02:00
Brandon ThomasandClaude Opus 5.5 a930276fd7 fix: integrate batched community PRs (#170's PPTX exporter on the page-indexed compose cache and crate::io, with a Georgian menu label; #171: a deleted style's replacement is never based on itself)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:35:27 -04:00
Brandon Thomas 4b85aa4e6a Merge PR #982 2026-10-15 00:35:27 -04:00
Brandon Thomas 93d2e212d0 Merge PR #488 2026-10-15 00:35:27 -04:00
Brandon Thomas 742d46446f Merge PR #474 2026-10-15 00:35:27 -04:00
Brandon Thomas 6b9b9205e4 Merge PR #472 2026-10-15 00:35:27 -04:00
Brandon Thomas 3b7ae9da8f Merge PR #471 2026-10-15 00:35:27 -04:00
Brandon Thomas 6b70807ac4 Merge PR #464 2026-10-15 00:35:27 -04:00
Brandon Thomas 50173a5773 Merge PR #463 2026-10-15 00:35:27 -04:00
Brandon Thomas f79a507486 Merge PR #458 2026-10-15 00:35:27 -04:00
Brandon Thomas 65cb26e38d Merge PR #446 2026-10-15 00:35:27 -04:00
Brandon Thomas cc7fc63142 Merge PR #413 2026-10-15 00:35:27 -04:00
Brandon Thomas b6732e10b9 Merge PR #396 2026-10-15 00:35:27 -04:00
Brandon Thomas 32ff0fc786 Merge PR #393 2026-10-15 00:35:27 -04:00
Brandon Thomas 6ac858602f Merge PR #372 2026-10-15 00:35:27 -04:00
Brandon Thomas 07ed40069f Merge PR #349 2026-10-15 00:35:27 -04:00
Brandon Thomas 9dbe2c0d67 Merge PR #344 2026-10-15 00:35:27 -04:00
Brandon Thomas 8e402450b9 Merge PR #329 2026-10-15 00:35:27 -04:00
Brandon Thomas 7acf0f95bc Merge PR #317 2026-10-15 00:35:27 -04:00
Brandon Thomas 33e93c93a6 Merge PR #311 2026-10-15 00:35:27 -04:00
Brandon Thomas cccd1852a9 Merge PR #308 2026-10-15 00:35:27 -04:00
Brandon Thomas f62985064d Merge PR #307 2026-10-15 00:35:27 -04:00
Brandon Thomas d2e40f6b6f Merge PR #306 2026-10-15 00:35:27 -04:00
Brandon Thomas 41e7a023da Merge PR #304 2026-10-15 00:35:26 -04:00
Brandon Thomas bdda458b5b Merge PR #302 2026-10-15 00:35:26 -04:00
Brandon Thomas 515b689127 Merge PR #171 2026-10-15 00:35:26 -04:00
Brandon Thomas 6132b60e9b Merge PR #170 2026-10-15 00:35:26 -04:00
Brandon ThomasandClaude Opus 5.5 26137acbb2 fix: integrate batched community PRs (#588's blend-space test uses as_chunks for clippy)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:01:41 -04:00
Brandon Thomas 84dbba029f Merge IDML/text cluster
# Conflicts:
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/ar.rs
#	crates/ui-egui/src/i18n/it.rs
#	crates/ui-egui/src/i18n/ja.rs
#	crates/ui-egui/src/i18n/pt_br.rs
#	crates/ui-egui/src/i18n/uk.rs
2026-10-14 23:54:49 -04:00
Brandon ThomasandClaude Opus 5.5 0697b39a3a fix: integrate batched community PRs (rustfmt after the IDML/text cluster merges)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:45:50 -04:00
Brandon Thomas afd8c0a0de Merge PR #789
# Conflicts:
#	crates/engine/src/cmd/style.rs
2026-10-14 23:42:34 -04:00
Brandon Thomas 450503f538 Merge EPUB/docx/datamerge cluster 2026-10-14 23:36:46 -04:00
Brandon ThomasandClaude Opus 5.5 5112019053 fix: integrate batched community PRs (quick-xml 0.41 from #687 in main's IDML attribute reader; #610's text-link reads pass #604's file guard; wasm-only unused re-export)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:36:14 -04:00
Brandon Thomas 4b88d7d29c Merge PR #959
# Conflicts:
#	crates/engine/src/cmd/text.rs
2026-10-14 23:31:51 -04:00
Brandon Thomas 067b339991 Merge PR #887
# Conflicts:
#	crates/engine/src/cmd/text.rs
2026-10-14 23:31:45 -04:00
Brandon Thomas d35887f494 Merge PR #825 (gradient text paint goes through #657's stroke-behind-fill painting) 2026-10-14 23:31:39 -04:00
Brandon Thomas e7d8d5be62 Merge PR #960
# Conflicts:
#	crates/engine/src/cmd/anchors.rs
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/ar.rs
#	crates/ui-egui/src/i18n/it.rs
#	crates/ui-egui/src/i18n/ja.rs
#	crates/ui-egui/src/i18n/pt_br.rs
#	crates/ui-egui/src/i18n/uk.rs
#	crates/ui-egui/src/icons.rs
#	docs/target-app-parity.md
2026-10-14 23:17:31 -04:00
Brandon Thomas 94d0c57236 Merge PR #937
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
#	crates/ui-egui/src/i18n.rs
#	crates/ui-egui/src/i18n/ar.rs
#	crates/ui-egui/src/i18n/it.rs
#	crates/ui-egui/src/i18n/ja.rs
#	crates/ui-egui/src/i18n/pt_br.rs
#	crates/ui-egui/src/i18n/uk.rs
2026-10-14 23:14:44 -04:00
Brandon Thomas 35ec71f04f Merge PR #935
# Conflicts:
#	crates/fonts/src/fontdb.rs
#	crates/fonts/src/tests_docfonts.rs
2026-10-14 23:09:43 -04:00
Brandon Thomas d47e7a186c Merge PR #929
# Conflicts:
#	crates/tools/src/tests.rs
#	crates/ui-egui/src/icons.rs
2026-10-14 23:08:32 -04:00
Brandon Thomas 47e9e576d4 Merge PR #610 (linked text files read through crate::io, so the automation roots apply) 2026-10-14 23:07:27 -04:00
Brandon Thomas 528264a4a9 Merge PR #823 (with main's radial ellipse: linear gradients go through #823's linear_axis) 2026-10-14 23:07:06 -04:00
Brandon Thomas 2aeeea345a Merge PR #918
# Conflicts:
#	crates/compose/src/notes.rs
2026-10-14 23:05:24 -04:00
Brandon ThomasandClaude Opus 5.5 0faf63b92b fix: integrate batched community PRs (#973's Flex Layout panel in Window › Object & Layout; Georgian for its menu labels)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:00:55 -04:00
Brandon Thomas 2805b3d041 Merge PR #764
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-14 23:00:55 -04:00
NetterSilverandClaude Haiku 5.5 26b5578291 Skip .ase swatches with NaN or infinite colour components
Found while testing crates/color/src/ase.rs:83

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 04:58:52 +02:00
Brandon Thomas 0923c8247a Merge PR #797
# Conflicts:
#	crates/textimport/src/docx.rs
2026-10-14 22:57:54 -04:00
Brandon Thomas bfd2c59867 Merge PR #687
# Conflicts:
#	crates/textimport/src/docx.rs
2026-10-14 22:57:24 -04:00