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 Thomas and Claude 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 Thomas and Claude 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 Thomas and Claude 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 Thomas and Claude 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 Thomas and Claude 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
NetterSilver and Claude 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