Commit Graph
10704 Commits
Author SHA1 Message Date
BFlat 4cc73e52d1 Merge pull request #4645 from mockydevs/fix/direct-select-drag-to-panels-4233
Fix #4233: Direct Selection drags art onto Asset Export and the other panels
2026-10-30 05:00:58 +07:00
Don Omondi 9095cdf926 Fix #4625: UI settings survive a relaunch and a second window
Two ways the next launch came back with settings from before:

- The workspace, panels, toolbars and other settings kept only in the UI
  state were written only on quitting (Preferences OK already saved at
  once, #1747). A session ended any other way lost them. The app now
  saves within 2 seconds of a change, and only when something changed.
- Each launch is its own process, so two windows are common (opening a
  second file from the file manager). A window wrote back the whole
  state it started from when it quit, so the one quitting last put back
  the settings it read at its start, even with nothing changed in it.
  A window now saves only what it changed since it last read or saved,
  merged into the file as it is: each UI field, and each engine
  preference on its own. A setting both windows changed takes the last
  save.

The status line, open dialog and other fields a start resets neither
trigger a save nor replace another window's.
2026-10-30 04:47:12 +07:00
Don Omondi 1c43827df1 docs: record #4469 in the UI history without touching the status line
Keeps this branch's doc change apart from the other open UI-parity edit, so
the two merge in either order.
2026-10-30 04:47:08 +07:00
Don Omondi 4fe7e0ae6b Fix #4469: Direct Selection's task bar offers the path's anchor actions
With the Direct Selection tool active (after the bar's Edit Path, or
switching to it) and a path selected whole, the Contextual Task Bar kept
the Selection tool's Edit Path, Offset Path and Simplify: its anchor
actions showed only for anchors picked out one by one.

The public overview lists, for a path the Direct Selection tool selects,
Simplify and the anchor actions. A path selected whole now offers Corner
and Smooth (path.convertAnchors converts every anchor of a fully
selected path), Connect for an open path, and Simplify. Remove Anchor
Points and Cut Path need anchors picked out and still wait for them.
Edit Path, which only switches to the tool already in use, is left out,
for compound paths too.
2026-10-30 04:47:08 +07:00
Don Omondi 6fe71df1cf Fix #4233: Direct Selection drags art onto Asset Export and the other panels
Art dragged off the canvas reached the panels (Asset Export, Graphic
Styles, Swatches, Symbols) only from the Selection tool: drag_art_out
checked for that tool by id. With the Direct Selection or Group
Selection tool the move stayed on the canvas, so nothing dropped.

Those tools now hand over a move too when every selected object is
selected whole (a press on its fill). A drag of anchor points or
segments, which they also call Move, stays a reshape and isn't handed
to the panels.
2026-10-30 04:47:04 +07:00
BFlat 224cdc08d6 Merge pull request #4647 from storytold/fix/separations-images
Separations Preview: hidden plates leave raster images too (#4153)
2026-10-30 04:45:20 +07:00
bflatastic f1211e7c89 Separations Preview: hidden plates leave raster images too (#4153) 2026-10-30 04:25:27 +07:00
BFlat 00f3e13540 Merge pull request #4639 from storytold/feat/mesh-multi-points
Gradient Mesh: select several mesh points; move, color and opacity reach them all (#4207, #4208, #4170)
2026-10-30 04:09:51 +07:00
bflatastic d56bbb49ff Gradient Mesh: select several mesh points; move, color and opacity reach them all (#4207, #4208, #4170) 2026-10-30 03:37:43 +07:00
vangel76andClaude Sonnet 5.5 42dd57d439 Merge upstream/main into fix/2414-svg-classes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 21:12:34 +01:00
BFlat 6b3a6b8788 Merge pull request #4636 from storytold/feat/snap-to-glyph-options
Type: Character panel › Show Snap to Glyph Options (#4232)
2026-10-30 03:03:56 +07:00
dotCooCoo 8da340a7b9 Recolor: a nested pattern copy that only takes swatch links is not a color change
When a tile's inner pattern only took swatch links, the outer pattern's copy still named the
inner copy, so the trial pass counted a locked object filled with the outer pattern as left
unchanged. Copies are now compared with the link-only copies they use mapped back to their
originals, repeated until no more copies qualify.
2026-10-29 12:59:21 -07:00
dotCooCoo a90ae1e9a9 Recolor: count left-out art by the colors of nested pattern tiles too
A left-out object whose pattern's tile uses another pattern showed the inner tile's colors
without them being compared, so a group rewrite that recolored the inner tile still counted the
object as left unchanged. The comparison now follows the patterns tiles use, each once.
2026-10-29 12:49:10 -07:00
dotCooCoo 5a342685de i18n: Catalan rows for the recolor notes on objects left unchanged
Catalan joined the complete-message languages on main. The test now looks for the English
words as whole words, so the Catalan "objecte" is not read as "object".
2026-10-29 12:49:10 -07:00
bflatastic 5d4b4b9b35 Type: Character panel › Show Snap to Glyph Options (#4232) 2026-10-30 02:41:25 +07:00
dotCooCoo 72c7610a39 Type: set the output transform in main's new shadow-filter test frame
Main added uncached_darkness_shadow_subtracts_before_separate_opacity, which builds a Frame
without the output field this branch adds, so the merged tree did not compile.
2026-10-29 12:34:14 -07:00
dotCooCoo 496c6f70a9 Merge main into feat/recolor-reports-skipped-art
# Conflicts:
#	crates/engine/src/cmd/recolor.rs
#	crates/engine/src/tests/recolor.rs
2026-10-29 12:28:41 -07:00
dotCooCoo c60be649a3 Merge main into feat/character-anti-aliasing-method 2026-10-29 12:26:08 -07:00
BFlat fffc2b747f Merge pull request #4629 from wjrichards/fix/clipboard-retry-backoff
Linux clipboard: stop the retry storm
2026-10-30 02:19:58 +07:00
wjrichardsandClaude Opus 5.5 1f6effa0cf Docs: G10 says plainly that Copy and Paste with other apps still don't work in the GNOME Flatpak
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 02:19:33 +07:00
wjrichardsandClaude Opus 5.5 c988af83b5 Linux clipboard: stop the retry storm
The Flatpak on GNOME has no X11 (fallback-x11 on a Wayland session) and GNOME offers
no data-control protocol, so arboard::Clipboard::new() failed every time. The handle
was kept only on success, so the background Paste check reconnected to the compositor
and logged a warning every 250 ms: 267k warnings in 18 h, the 16 MB log full in 3 h.

- A clipboard that can't be opened is tried again after 1 s, doubling to a minute.
  A Copy or Paste of the user's retries at most once a second.
- The outage is logged once (WARN) and its end once (INFO), across the UI's and the
  background check's handles.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 02:19:33 +07:00
BFlat f4d995647b Merge pull request #4631 from storytold/feat/align-glyph-bounds
Align: Align to Glyph Bounds for point and area type (#4231)
2026-10-30 02:18:29 +07:00
bflatastic 063c06b560 Prefs: the Align to Glyph Bounds comment on its own line 2026-10-30 02:01:58 +07:00
bflatastic 513b02233f Align: Align to Glyph Bounds for point and area type (#4231) 2026-10-30 02:01:58 +07:00
BFlat 2ad24732ae Merge pull request #4630 from storytold/docs/status-lines
Docs: cut the progress docs' status lines back to their latest change
2026-10-30 02:00:33 +07:00
bflatastic c0bd20b6a2 Docs: cut the progress docs' status lines back to their latest change
Merges kept prepending each side's whole summary as "previously: …", so
target-app-parity.md's status line had grown to 66 MB (839 copies of its
Target clause), gaps.md's and ui-parity.md's to over 1 MB. Each status
line now names its latest change only, as the progress-docs standard has
it; the revision histories keep the earlier ones.
2026-10-30 01:46:33 +07:00
BFlat 98830e5dda Merge pull request #4627 from ashokram-si/contributors/add-ashok-ram
Contributors: add Ashok Ram
2026-10-30 01:40:13 +07:00
BFlat 97c09ff529 Merge pull request #4626 from storytold/feat/blob-pressure
Blob Brush and Eraser: Size follows the pen pressure (#4590, #3961)
2026-10-30 01:39:56 +07:00
ashokram-si 33d9912585 contributors: add my name for the About window 2026-10-30 01:13:33 +07:00
bflatastic 790fdf815f Tests: the Eraser's options include its Size mode and variation 2026-10-30 01:13:27 +07:00
bflatastic cd86609729 Tests: the Eraser pressure test checks each mode's own widths 2026-10-30 01:13:27 +07:00
bflatastic e7f1f05ab4 Docs: Eraser pressure in the parity docs (#3961) 2026-10-30 01:13:27 +07:00
bflatastic 71fbdf5ff0 Eraser: Size follows the pen pressure too (#3961)
Eraser Tool Options' Size takes Fixed or Pressure and a Variation as the
Blob Brush's does: the tool records the pen, and path.eraseRegion outlines
the squashed drag at the pen's widths, stretched back to the tip's angle
and roundness. The pressure parsing and outline move to draw2's common
helpers, shared by both commands.
2026-10-30 01:13:20 +07:00
bflatastic 4a89ba84f8 Docs: Blob Brush pressure in the parity docs (#4590) 2026-10-30 01:13:20 +07:00
bflatastic c65286666c Blob Brush: Size follows the pen pressure (#4590)
Blob Brush Tool Options' Size takes Fixed or Pressure and a Variation, as
the brush options' Size does: with Pressure the brush is Size − Variation
wide where the pen presses lightest and Size + Variation where it presses
hardest. The tool records the pen pressure of each point and shows each
step of the drag as wide as the pen pressed there; path.blob takes
[x, y, pressure] points with sizeMode and sizeVariation and outlines the
stroke with that width profile. A stroke without pressure keeps the Size,
and Fixed with no variation stays the default.

https://helpx.adobe.com/illustrator/desktop/paint-and-fill/learn-painting-basics/blob-brush-options-and-best-practices.html
2026-10-30 01:13:13 +07:00
dotCooCoo 896fa3980e Merge main into feat/native-save-precision 2026-10-29 11:11:17 -07:00
dotCooCoo c45707a13e Shape Builder: a deferred pointer reply names the tool active after the gesture 2026-10-29 10:49:02 -07:00
BFlat 31124c8709 Merge pull request #4617 from VoiceLessQ/fix/3098-trace-inputs-and-repaint
Image Trace: background traces see library colour changes, and keep frames coming (#3098)
2026-10-30 00:46:03 +07:00
BFlat a885569fc3 Merge pull request #4620 from Taha-Mahmoodi/fix/4420-affinity-fill-color
Fix #4420: import attached Affinity recolor adjustment layers as color overlays
2026-10-30 00:45:44 +07:00
BFlat e454ea28bf Merge pull request #4619 from mockydevs/fix/mesh-cmyk-k-3232
Fix #3232: a CMYK gradient mesh keeps its K when lightened
2026-10-30 00:45:11 +07:00
BFlat 9ce664e0df Merge pull request #4621 from storytold/feat/compound-shapes
Pathfinder: live compound shapes (Make, Shape Mode, Release, Expand Compound Shape)
2026-10-30 00:44:58 +07:00
BFlat cc16746927 Merge pull request #4431 from dotCooCoo/feat/colorize-gray-images
Images: a fill color colorizes grayscale and 1-bit images
2026-10-30 00:44:29 +07:00
BFlat ae0c90abc3 Merge pull request #4492 from dotCooCoo/fix/recolor-limit-and-scope-params
Recolor Artwork and swatch libraries: parameters of the wrong form are errors
2026-10-30 00:44:08 +07:00
BFlat efed5e16fa Merge pull request #4435 from dotCooCoo/feat/area-type-anchor-marquee
Direct Selection: a marquee selects area type's frame anchors
2026-10-30 00:43:45 +07:00
BFlat b4f66ceabc Merge pull request #4428 from dotCooCoo/feat/open-pcx-files
File formats: PCX (.pcx) files open and place
2026-10-30 00:43:24 +07:00
BFlat d40c428e92 Merge pull request #4402 from dotCooCoo/feat/styles-alt-click-new-asks-name
Character and Paragraph Styles: Alt-click on New asks for the new style's name
2026-10-30 00:43:02 +07:00
BFlat 6a4e43a0df Merge pull request #4383 from dotCooCoo/feat/type-format-shortcuts
Type: Cmd/Ctrl+Shift+U underlines, and Cmd/Ctrl+Alt+Shift+C and H toggle the line composer and hyphenation
2026-10-30 00:42:41 +07:00
BFlat dab0b55db9 Merge pull request #4377 from dotCooCoo/feat/next-document-shortcut
Window: Cmd+F6 and Cmd+Shift+F6 go to the next and previous document
2026-10-30 00:42:17 +07:00
BFlat 1d3baa31b2 Merge pull request #4485 from el-j/fix/artboard-multiselect-4484
fix(canvas): allow multi-selecting artboards via Shift-click on canvas label (#4484)
2026-10-30 00:41:52 +07:00
BFlat 462992886e Merge pull request #4612 from VoiceLessQ/fix/4366-name-content-in-an-array-object
PDF import: a page's content listed in an array object is named as content (refs #4366)
2026-10-30 00:41:02 +07:00