Commit Graph
6517 Commits
Author SHA1 Message Date
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
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
bflatastic 5d4b4b9b35 Type: Character panel › Show Snap to Glyph Options (#4232) 2026-10-30 02:41:25 +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
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
VoiceLessQ 3301db5817 Image Trace: starting a background trace asks for a frame
The frame a trace starts in may already have asked for its next one before the trace started, so with no input the finished trace could wait. From the review of #4617.
2026-10-30 00:15:59 +07:00
VoiceLessQ 2e54e882d6 Image Trace: a library colour changed meanwhile makes a background trace stale, and running traces keep frames coming
From the review of #4605. TraceParams::swatches isn't in the settings' JSON (serde skip), so a Document Library trace whose swatches were edited while it ran still applied, with the old colours; the trace's inputs now hold them. The 100 ms repaint that keeps background work moving left traces out, so without input a finished trace could wait for the next event.
2026-10-30 00:15:59 +07:00
Taha-Mahmoodi 887328db03 Fix #4420: import attached recolor adjustment layers as color overlays
In Affinity Designer, Recolor Adjustment layers (RcRA) can be attached to
vector groups/shapes via AdCh. Lightness 1.0 recolors target elements to
white. Import visible RcRA layers as ColorOverlay effects and apply them
during node appearance evaluation.
2026-10-30 00:15:58 +07:00
Don Omondi 42884e4ee7 test: the highlighted CMYK mesh PDF must have fills to check 2026-10-30 00:15:58 +07:00
bflatastic 5165b6eb1d Pathfinder: live compound shapes (Make, Shape Mode, Release, Expand Compound Shape)
Squashed from #4621 onto main.
2026-10-30 00:15:58 +07:00
Don Omondi 239286ca83 Fix #3232: a CMYK gradient mesh keeps its K when lightened
Create Gradient Mesh's To Center / To Edge highlight lightened every point
towards RGB white, so a CMYK (or grey) point became display RGB. A patch with
any non-CMYK corner then mixes in RGB, and the PDF writer separated those
colours back to CMYK with K = 0, moving ink off the K plate. Points now
lighten towards white in their own colour model (no ink for CMYK), so the
mesh stays CMYK and K shrinks with the other inks. Flat meshes (highlight 0)
already kept their inks.
2026-10-30 00:15:58 +07:00
dotCooCoo 1538733954 Images: a fill color colorizes grayscale and 1-bit images
Squashed from #4431 onto main.
2026-10-30 00:15:57 +07:00
dotCooCoo 567060393e Recolor Artwork and swatch libraries: parameters of the wrong form are errors
Squashed from #4492 onto main.
2026-10-30 00:15:56 +07:00
dotCooCoo d5cbeb6cc7 Direct Selection: a marquee selects area type's frame anchors
Squashed from #4435 onto main.
2026-10-30 00:15:56 +07:00
dotCooCoo dc9106939e File formats: a PCX palette cut short is refused
An 8-bit PCX file whose image data is followed by the palette marker
(0x0C) and fewer than 768 color bytes was read as gray levels. The reader
now notes where the run-length encoded image data ends, and when the
palette marker follows it without all 768 colors, refuses the file as cut
short. An 8-bit file with nothing after its image data still reads as
gray levels, and a gray level of 12 that falls 769 bytes before the end of
such a file is read as a pixel instead of as the palette marker.
2026-10-30 00:15:56 +07:00
dotCooCoo f32699bea7 File formats: PCX (.pcx) files open and place
A new reader, written from the ZSoft PCX Technical Reference Manual, decodes
the run-length encoded scan lines of 1-bit images in the header palette's
first two colors (black and white when the version has no palette or the two
colors are the same), 1-bit images in two to four planes and 4-bit images
with the header's palette (the EGA colors for versions 0 and 3), 2-bit CGA
images in the colors that the header's CGA background and palette settings
pick, 8-bit images with the 256-color palette after the image data (gray
levels without one) and 24-bit images in three planes. The image is stored as PNG at the resolution of the header's HDpi and
VDpi fields.

Open and Place list PCX, and pasting a copied .pcx file and Glass's Load
Texture… read it by its header. A file of another depth or plane count, one
cut short and one whose pixels as RGBA pass the pixel allowance are refused
with a message before its pixels are decoded. The desktop packaging does not
associate .pcx files, and no export writes them.

Docs: docs/file-format-parity.md, docs/target-app-parity.md, docs/mcp.md,
docs/releasing.md.
2026-10-30 00:15:56 +07:00
dotCooCoo c3cd065ef3 Character and Paragraph Styles: Alt-click on New asks for the new style's name
Squashed from #4402 onto main.
2026-10-30 00:15:55 +07:00
dotCooCoo 0ee5fc0a9e Type: Cmd/Ctrl+Shift+U underlines, and Cmd/Ctrl+Alt+Shift+C and H toggle the line composer and hyphenation
Squashed from #4383 onto main.
2026-10-30 00:15:55 +07:00
dotCooCoo 316d28407f Window: Cmd+F6 and Cmd+Shift+F6 go to the next and previous document
Squashed from #4377 onto main.
2026-10-30 00:15:55 +07:00
bflatastic 148517f3eb Artboard labels: one helper for the artboards the Artboard tool labels itself 2026-10-30 00:15:54 +07:00
VoiceLessQ 401706ff8b PDF import: each Contents object is read once when naming a refused stream
Pages that share one Contents array made the name of a refused stream read that array once per page, quadratic in a crafted file. Each object is now read once, and a page's own array as before. From the review of #4612.
2026-10-30 00:15:54 +07:00
el-j 7064969327 fix(canvas): resolve clippy wildcard import and rebase conflicts on canvas artboards 2026-10-30 00:15:54 +07:00