Commit Graph
7786 Commits
Author SHA1 Message Date
Dylan M. Taylor 9b10a40709 fix: Templates folder needs write access; portal saves keep exact file names 2026-11-03 22:17:45 +07:00
Dylan M. Taylor c879ff369b fix(app): keep preference copies, dialog passwords and migrated folders private 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 8e595afdf0 fix(app): open and paste read only regular files 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 1c4162b2c9 fix(doc): a refused placed-document read shows the preview, not a cached full read 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 4d0ecb264c fix(engine): link watch and Link Info read within the asking caller's roots 2026-11-03 22:17:45 +07:00
Dylan M. Taylor 40b9fa4717 fix(engine): recovery reads only plain files in its own areas 2026-11-03 22:17:45 +07:00
bflatastic 9d3c45a7b5 .ai import: the nested-arrays refusal uses the translated nesting message 2026-11-03 22:17:45 +07:00
Dylan M. Taylor e3ef19142f fix(eps): refuse Illustrator arrays nested past the depth limit 2026-11-03 22:16:56 +07:00
Dylan M. Taylor 4aea3cc95c fix(effects): a dash pattern whose period overflows draws solid 2026-11-03 22:16:55 +07:00
NetterSilverandClaude Opus 5.5 2264edd0c9 Lasso picks gradient mesh points instead of dropping the mesh
Fixes #5351

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 22:16:53 +07:00
BFlat 999f4e6478 Merge pull request #5370 from dotCooCoo/fix/composition-leading-rotation
Type: keep composition spacing along the line when characters rotate
2026-11-03 22:02:40 +07:00
dotCooCoo 2b63bf1b67 Type: keep composition spacing along the line when characters rotate 2026-11-03 21:38:02 +07:00
BFlat 52703ec4ed Merge pull request #5361 from dotCooCoo/fix/svg-metadata-selector-ids
SVG import preserves selector matches while retaining metadata
2026-11-03 21:33:29 +07:00
BFlat 8a2fd200d4 Merge pull request #5357 from dotCooCoo/fix/appearance-transform
Transform previews typed values in its effect dialog
2026-11-03 21:33:16 +07:00
BFlat 5179bc40d3 Merge pull request #5359 from dotCooCoo/docs/find-font-source-history
Docs: record Find Font replacement sources
2026-11-03 21:32:59 +07:00
BFlat 33a838a3a2 Merge pull request #5358 from dotCooCoo/fix/character-style-evidence
Character style evidence links to help without copied instructions
2026-11-03 21:32:47 +07:00
bflatastic 96330fb54e SVG import: a style sheet too large to match opens with a warning; fuzz reaches the pass 2026-11-03 21:12:41 +07:00
dotCooCoo b751dce8e3 SVG import preserves selector matches while retaining metadata 2026-11-03 21:09:57 +07:00
dotCooCoo 0f5e4c261a Transform previews typed values in its effect dialog 2026-11-03 21:09:55 +07:00
dotCooCoo 0a9d65175a Docs: record Find Font replacement sources 2026-11-03 21:09:53 +07:00
dotCooCoo e9a3ca2c81 Character style evidence links to help without copied instructions 2026-11-03 21:09:52 +07:00
BFlat a68e7b0f5e Merge pull request #5270 from dotCooCoo/feat/new-action-dialog
Actions: New Action asks for the action's name, set, function key and color
2026-11-03 21:01:57 +07:00
BFlat 42bd3282d8 Merge pull request #5354 from dotCooCoo/fix/cmyk-gradient-controls
Paint: use CMYK defaults when creating gradients in CMYK documents
2026-11-03 21:01:38 +07:00
bflatastic 14b0667e95 Actions: docs describe function keys as they now work (no Replace, keys kept) 2026-11-03 20:27:30 +07:00
dotCooCoo 40ed074cae Actions: New Action asks for the action's name, set, function key and color
Squashed from #5270 onto main.
2026-11-03 20:27:02 +07:00
dotCooCoo 4db6e7b448 Paint: use the document color model for new gradient defaults 2026-11-03 20:18:34 +07:00
BFlat ee165faf6b Merge pull request #5346 from storytold/dependabot/cargo/wat-1.263.0
chore(deps): bump wat from 1.262.0 to 1.263.0
2026-11-03 20:17:00 +07:00
BFlat bf2258b48f Merge pull request #5344 from ruchirguitar/feat/4924-text-tweaker
Fix #4924: Text Tweaker ramps or randomises one character attribute letter by letter
2026-11-03 20:16:27 +07:00
dependabot[bot] 0fa627c6df chore(deps): bump wat from 1.262.0 to 1.263.0
Bumps [wat](https://github.com/bytecodealliance/wasm-tools) from 1.262.0 to 1.263.0.
- [Release notes](https://github.com/bytecodealliance/wasm-tools/releases)
- [Commits](https://github.com/bytecodealliance/wasm-tools/compare/v1.262.0...v1.263.0)

---
updated-dependencies:
- dependency-name: wat
  dependency-version: 1.263.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-03 20:07:58 +07:00
bflatastic bc70180047 Text Tweaker: an id that isn't type is refused as ids of it is 2026-11-03 20:07:58 +07:00
ruchirguitarandClaude Opus 5.5 8850b923ce Fix #4924: Text Tweaker ramps or randomises one character attribute letter by letter
A built-in Type Tools add-on (Object › Plug-ins › Type Tools › Text Tweaker…,
`addon.type.textTweaker`): size, baseline shift, rotation, horizontal or vertical
scale, tracking, leading or stroke weight go from a start value to an end value
along a straight ramp, an ease, a bow, a spike or at random with a seed, set as
the Character panel sets them, while the text stays live. One undo step, a
dialog with Preview, catalog rows in all 26 languages, docs/mcp.md and the
parity docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 20:07:58 +07:00
Brandon Thomas 78a5b8b642 Merge pull request #5353 from dotCooCoo/fix/font-wheel-system-font-tests
Tests: isolate font wheel picking from missing-glyph protection
2026-11-03 08:05:38 -05:00
Brandon Thomas 9933deeebc Merge pull request #5352 from dotCooCoo/docs/assessment-target
Docs: consolidate assessment target metadata
2026-11-03 08:05:33 -05:00
BFlat b541041076 Merge pull request #5327 from ruchirguitar/feat/5236-edit-original-app
Fix #5236: Use System Defaults for Edit Original (Preferences › File Handling)
2026-11-03 20:05:20 +07:00
bflatastic f3a9114e55 Edit Original: the PhotoCraft lookup test holds where PhotoCraft is installed 2026-11-03 19:58:28 +07:00
ruchirguitarandClaude Opus 5.5 46f1ddf170 Fix #5236: find PhotoCraft where its Windows installer puts it
Per CodeRabbit on #5327: on Windows Edit Original looked for photocraft.exe
only on the PATH, but PhotoCraft's MSI installs it to ArtCraft\PhotoCraft
under %LOCALAPPDATA%\Programs (per user, the default) or Program Files (for
everyone), neither on the PATH. Look first at the path the installer
registers under App Paths (HKCU, then HKLM; `reg query`, as i18n reads the
locale, which also covers a folder chosen in setup), then those two default
folders, then the PATH. Each candidate must still be an .exe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:57:04 +07:00
ruchirguitarandClaude Opus 5.5 d7aa1c561f Fix #5236: Edit Original is one checkbox, Use System Defaults for Edit Original
Per review on #5327: Preferences › File Handling › Edit Original With (an app
path and Choose…) becomes the checkbox Use System Defaults for Edit Original,
on by default. Off, Edit Original opens a raster image in the app that made
it, PhotoCraft, looked for only where it installs; any other file, or no
PhotoCraft, goes to the system's default app. The preference is a boolean, so
prefs.set over control or MCP can no longer name an executable. The label has
a row in all 26 catalogs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:57:04 +07:00
ruchirguitarandClaude Opus 5.5 79c8d1a7e0 Fix #5236: cap the wait for open -a at two seconds
A stalled `open -a` no longer holds the window: Edit Original waits at most
two seconds for its exit status (enough to report an app it can't open),
then leaves the launch running and reaps it on a thread of its own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:57:04 +07:00
ruchirguitarandClaude Opus 5.5 7c5670b797 Fix #5236: report a failed open -a, and keep Other Application while its path is cleared
macOS: wait for `open -a` (it returns once Launch Services has the
request) and report its error, such as a folder named .app that isn't a
bundle; other platforms still start the editor without waiting. A saved
or typed path also sets the dialog's Other Application choice, so
clearing it to type another keeps the field.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:57:04 +07:00
ruchirguitarandClaude Opus 5.5 695cc04e06 Fix #5236: Edit Original With keeps its Other choice in the dialog and paths with spaces
The Other Application choice (before a path is typed) is a `__` field of
the Preferences dialog instead of egui memory, so a dialog opened again or
reset starts at System Default. The path field shows the stored value
untrimmed, so spaces can be typed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:57:04 +07:00
ruchirguitarandClaude Opus 5.5 d11764c117 Fix #5236: Edit Original opens linked files in a chosen app
Preferences › File Handling › Edit Original With picks the app Links
panel › Edit Original opens a linked file in: System Default (as before),
PhotoCraft (found in /Applications or ~/Applications on macOS, on the
PATH elsewhere) or Other Application, with a path field and Choose….

The desktop host's new `open_file_with` service starts only an
application (an .app bundle on macOS, an .exe on Windows, an executable
file elsewhere), with the path as its only argument and never through a
shell. Edit Original still refuses control requests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:57:04 +07:00
dotCooCoo d13660e8bc Tests: isolate font wheel picking from missing-glyph protection 2026-11-03 04:54:22 -08:00
dotCooCoo 4e75f135e9 Docs: consolidate assessment target metadata 2026-11-03 04:50:29 -08:00
BFlat 94abb6ae9c Merge pull request #5343 from JonRC/fix/eps-eexec-file-being-run
Fix #5342: `eexec` skips in the file it is given
2026-11-03 17:36:30 +07:00
JonRC 7db34d9ee0 Fix #5342: eexec skips in the file it is given
`eexec` dropped its file operand and skipped the encrypted part of a
font program to `cleartomark` in the program's own file. With
`currentfile eexec` inside a file run with `cvx exec`, the program goes
on in that file, so the skip searched the outer file instead and failed
or skipped the wrong text. Ghostscript's eps2write runs each embedded
Type 1 font program that way, so an EPS with one did not open.

`eexec` now skips in its operand, through the same file reading as the
other data operators: the program's own file or the file being run. A
string operand skips in the file being read, as before.
2026-11-03 17:19:05 +07:00
BFlat 60e397c6cb Merge pull request #5338 from Prin-Ing/fix/5252-flatten-transparency-doesn-t-spl
Group flattened multi-line transparent type by line
2026-11-03 17:18:11 +07:00
Prin.IngandClaude Opus 5.5 2380e889bc Group flattened multi-line transparent type by line
Fixes #5252

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:00:52 +07:00
BFlat 329d923750 Merge pull request #5150 from dotCooCoo/fix/ai-os10-pathfinder
.ai import: Effect › Pathfinder on a group opens as a live effect
2026-11-03 16:59:16 +07:00
BFlat 0b4ebc00ea Merge pull request #5189 from dotCooCoo/fix/ai-os22-g1
.ai import: version 7 pattern definitions come in as pattern swatches
2026-11-03 16:59:00 +07:00
BFlat d7de484b28 Merge pull request #5225 from dotCooCoo/fix/ligature-caret-positions
Type: the caret, a click and the arrow keys reach the characters inside a ligature
2026-11-03 16:58:44 +07:00