Commit Graph
7765 Commits
Author SHA1 Message Date
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
BFlat 5a2e76205d Merge pull request #5151 from dotCooCoo/fix/vars-p14
Variables: Import Data Sets reads every column as a variable and replaces the data sets
2026-11-03 16:58:27 +07:00
BFlat 8b3d750f39 Merge pull request #5217 from dotCooCoo/feat/find-font-replace-with-font-from
Type: Find Font's Replace With Font From lists the document's, recent or installed fonts
2026-11-03 16:58:12 +07:00
BFlat da64e9a915 Merge pull request #5204 from dotCooCoo/fix/find-font-noop-undo
Find Font: Change and Change All add no undo step when no text changes
2026-11-03 16:57:55 +07:00
bflatastic 58faa73909 .ai import: drop the SDK mirror citation from the Pathfinder Add keys 2026-11-03 16:39:05 +07:00
dotCooCoo a870da6c7d .ai import: Effect › Pathfinder on a group opens as a live effect
Squashed from #5150 onto main.
2026-11-03 16:38:47 +07:00
dotCooCoo f62e502f1c .ai import: version 7 pattern definitions come in as pattern swatches
Squashed from #5189 onto main.
2026-11-03 16:38:42 +07:00
dotCooCoo e1ea0ecad1 Type: the caret, a click and the arrow keys reach the characters inside a ligature
Squashed from #5225 onto main.
2026-11-03 16:38:36 +07:00
dotCooCoo 86deb546ad Variables: Import Data Sets reads every column as a variable and replaces the data sets
Squashed from #5151 onto main.
2026-11-03 16:38:29 +07:00
dotCooCoo fbab0bdd43 Type: Find Font's Replace With Font From lists the document's, recent or installed fonts
Squashed from #5217 onto main.
2026-11-03 16:38:24 +07:00
dotCooCoo af17c648c0 Find Font: Change and Change All add no undo step when no text changes
Squashed from #5204 onto main.
2026-11-03 16:38:17 +07:00
BFlat 93a0dd11cf Merge pull request #5262 from thisisgomaa/perf/compound-path-geom-cache
Render: a compound path's members are assembled once and kept with the node
2026-11-03 16:36:11 +07:00
BFlat eb57f92125 Merge pull request #5261 from thisisgomaa/perf/hit-test-culls-by-control-bounds
Selection: a click on a large compound path is culled by its control points
2026-11-03 16:35:55 +07:00
BFlat c859ebd2cc Merge pull request #5331 from dotCooCoo/feat/font-field-scroll-preview
Type: step font families with the mouse wheel
2026-11-03 16:35:38 +07:00
BFlat 17e9d28fb1 Merge pull request #5275 from dotCooCoo/feat/objects-on-path-spacing
Objects on Path: the Space widget spaces the attached objects along the path
2026-11-03 16:35:22 +07:00
BFlat e361ddf5f9 Merge pull request #5332 from ham9zah/feat/path-type-bracket-reach
Path type brackets: 8 px reach, hover highlight, and the nearest of a bracket and a port takes the press
2026-11-03 16:35:05 +07:00
BFlat f6087351e6 Merge pull request #5326 from dotCooCoo/docs/feature-status-records
Update SVG, type, recoloring, and symbol feature records
2026-11-03 16:34:45 +07:00
BFlat cdb7634b5a Merge pull request #5328 from dotCooCoo/fix/select-same-nonempty-text
Exclude empty runs from matching text selections
2026-11-03 16:34:29 +07:00
BFlat 32acec9309 Merge pull request #5325 from dotCooCoo/fix/svg-decoded-id-selector
Preserve SVG styles with encoded attribute selectors
2026-11-03 16:34:13 +07:00
BFlat e91da37341 Merge pull request #5256 from dotCooCoo/fix/arrange-tile-review
Window: Tile with one document open leaves the documents under their tabs
2026-11-03 16:33:57 +07:00
BFlat 11a95d708f Merge pull request #5295 from dotCooCoo/feat/arrange-d
Window: with Open Documents As Tabs cleared, new documents open in windows
2026-11-03 16:33:42 +07:00
BFlat 41016cd261 Merge pull request #5286 from dotCooCoo/feat/arrange-c
Window: drag a document tab out to float it, and a window back to dock it
2026-11-03 16:33:26 +07:00