Commit Graph
12554 Commits
Author SHA1 Message Date
BFlat 95b328dcca Merge pull request #7193 from dotCooCoo/fix/trace-blur-rings
Image Trace: blurred edges no longer trace as rings of in-between colors
2026-11-14 02:39:47 +07:00
BFlat 58dd9e8908 Merge pull request #7230 from dotCooCoo/fix/docinfo-hidden-object-paints
Document Info: hidden objects and objects at an opacity of 0 list no brushes or paints
2026-11-14 02:39:39 +07:00
BFlat 34457735e5 Merge pull request #7231 from dotCooCoo/fix/threaded-type-measures-paths-and-aligned-frames
Type: threaded paths and frames aligned off the top measure the paragraphs they need
2026-11-14 02:39:29 +07:00
BFlat 821e2d0bb5 Merge pull request #7224 from dotCooCoo/fix/close-modified-background-tab-keeps-front
Documents: closing a modified background tab keeps the document in front
2026-11-14 02:39:19 +07:00
BFlat 4dc9c5c5d3 Merge pull request #7218 from dotCooCoo/fix/batch-fit-journal-index
Artboards: a batch's Fit to Artwork Bounds step journals the artboard it fits
2026-11-14 02:39:07 +07:00
BFlat aa6d9acc95 Merge pull request #7228 from dotCooCoo/fix/global-edit-docs-type-image-groups
Docs: Global Edit leaves out groups holding type or images
2026-11-14 02:38:55 +07:00
BFlat 38c0f3ed61 Merge pull request #7100 from dotCooCoo/fix/flatpak-clipboard-images
Clipboard: the Flatpak on GNOME copies and pastes pictures and SVG with other apps
2026-11-14 02:38:46 +07:00
BFlat f0c3646e90 Merge pull request #7198 from dotCooCoo/fix/area-type-band-coverage
Type: area type lines stay inside a frame that pinches in within their band
2026-11-14 02:38:38 +07:00
BFlat 1e385ba06e Merge pull request #7210 from dotCooCoo/fix/envelope-empty-type-box
Envelope: type that draws nothing adds no box next to other content
2026-11-14 02:38:27 +07:00
BFlat 858749d596 Merge pull request #7222 from dotCooCoo/fix/parity-doc-preferences-bullet
Docs: keep one Preferences progress bullet with the off default for Highlight Alternate Glyphs
2026-11-14 02:38:19 +07:00
BFlat b004977dba Merge pull request #7202 from dotCooCoo/fix/raster-effects-skipped-transform-budget
Effects: raster effects before a Transform effect past the budget stay with the art
2026-11-14 02:38:10 +07:00
BFlat 630ef6f549 Merge pull request #7129 from dotCooCoo/fix/brush-library-names-translated
Brushes: built-in library panels show brush names in the UI language
2026-11-14 01:55:05 +07:00
BFlat 5c1f206213 Merge pull request #7207 from dotCooCoo/fix/engine-test-temp-folders
Tests: engine tests remove the temp folders they make
2026-11-14 01:54:55 +07:00
BFlat e718e975b6 Merge pull request #7104 from dotCooCoo/feat/actions-record-into-selected
Actions: Begin Recording adds steps to the selected action, and a drag moves a step
2026-11-14 01:54:47 +07:00
BFlat 1664f6de66 Merge pull request #7139 from dotCooCoo/feat/ctb-type-tools-font-fill
Contextual Task Bar: the Type tools show font family, style, size and Fill
2026-11-14 01:54:39 +07:00
BFlat ca8e49e9e2 Merge pull request #7158 from dotCooCoo/fix/export-unused-option-warning
Export: warnings name an option the chosen format doesn't read
2026-11-14 01:54:29 +07:00
BFlat 234d8bce3d Merge pull request #7209 from dotCooCoo/fix/portal-save-portal-exit
Save As: on Linux a portal that exits during the save dialog no longer leaves the save waiting
2026-11-14 01:54:21 +07:00
BFlat 820b82b8d3 Merge pull request #7188 from dotCooCoo/fix/color-gamut-cache-profile
Color: the out-of-gamut warning updates after a profile change
2026-11-14 01:54:13 +07:00
BFlat a8db64db47 Merge pull request #7208 from dotCooCoo/feat/live-paint-selection-cursors
Live Paint Selection: cursor shows a face, an edge or nothing to select
2026-11-14 01:54:04 +07:00
BFlat 5010861362 Merge pull request #7199 from dotCooCoo/fix/close-background-tab-keeps-front
Documents: closing a background tab keeps the document in front
2026-11-14 01:53:56 +07:00
BFlat 9bad58b73e Merge pull request #7215 from dotCooCoo/fix/new-profile-errors-hide-path
New Document profiles: errors name the profile file by its file name outside the read roots
2026-11-14 01:53:47 +07:00
BFlat 1c1bb2f96e Merge pull request #7191 from dotCooCoo/feat/gradient-hue-blend
Gradients: Hue Clockwise and Hue Counterclockwise mix stops around the hue wheel
2026-11-14 01:53:39 +07:00
BFlat 26869d1754 Merge pull request #7197 from dotCooCoo/fix/item-4498
Arrowheads: keep agents to the arrowheads file inside their read roots
2026-11-14 01:53:29 +07:00
BFlat 2370ad1b21 Merge pull request #7200 from dotCooCoo/fix/free-distort-constrain
Free Transform: Constrain keeps a Free Distort corner on its diagonal
2026-11-14 01:53:20 +07:00
BFlat edc4b712dd Merge pull request #7146 from jmverges/fix/7141-page-check-typed-envelopes
.ai and EPS import: envelopes of type stay live where other art differs from the page
2026-11-14 01:53:11 +07:00
BFlat d533018fd5 Merge pull request #7180 from ruchirguitar/feat/6740-type3-named-groups
feat(pdf): preserve Type 3 font text runs as named groups (#6740)
2026-11-14 01:53:02 +07:00
dotCooCoo b513c631f9 Type: threaded paths and frames aligned off the top measure the paragraphs they need
A threaded story measured each type-on-a-path frame, and each area frame
whose lines align to the center, the bottom or justify vertically, with
the whole rest of the story. A story of 1,500 one-line paragraphs through
40 such frames was laid out over about 2.1 million bytes while the frames
were measured.

- Area type without Shrink Text to Fit now takes the paragraph probe for
  every vertical alignment. A reflow pass that places less text is
  undone, so when the final layout stops before the last paragraph break
  measured, every pass placed the same lines as with the whole rest.
- Type on a path takes it when its line starts at the start bracket: no
  Dynamic Text, Optical Margin Alignment or Roman Hanging Punctuation,
  the first paragraph aligned Left, Justify Left or Auto, and vertical
  type or no right-to-left text in the rest of the story. The story is
  scanned for right-to-left text once per distribution.
- Shrink Text to Fit, the other path settings and a share that ends in
  the story's last paragraph are still measured with the whole rest.

The same 40 frames are now measured over 21,035 bytes (aligned to the
center) and 20,583 bytes (paths aligned Left). Each frame's share is
unchanged: the tests compare every slice with the whole-rest result for
both distribution entry points, across alignments, frame shapes, wraps,
path settings, right-to-left text, styles, lists and seeded stories.
2026-11-13 10:31:42 -08:00
dotCooCoo db047c000e Docs: Global Edit leaves out groups holding type or images
Global Edit does not take images or text, so a group holding type or an
image is not a missing case. docs/gaps.md drops it from G5's Missing
line and states the exclusion next to the similar-groups entry, with
the help page. docs/ui-parity.md states the same exclusion and no longer
lists highlighting the matches before the start as remaining, since it
ships with a regression test. docs/target-app-parity.md gains an
Evidence line.
2026-11-13 10:29:27 -08:00
dotCooCoo 27ad04dbc1 Documents: closing a modified background tab keeps the document in front
Closing a modified tab that is not in front shows it while the Save
Changes dialog asks about it. After Save or Don't Save, the closed tab's
neighbor became the current document instead of the document that was in
front before the question.

Closing a background tab with its close button, or `file.close` with its
`index`, now remembers the uid of the document in front in the dialog's
protected `__front` field, and once the asked document closes, that
document is made current again while it is still open. The field
survives a Save dialog shown off the UI thread. Cancel keeps the asked
document in front, closing the document in front still brings its
neighbor forward, and Close All and Quit are unchanged.
2026-11-13 10:19:30 -08:00
dotCooCoo a55116c144 Type: Invert Wrap with an offset applies to a band of no height
A band whose top and bottom are equal lost its only piece when the repeated cut was removed, so the line kept the frame's whole width. Anchor cuts now apply only to a band with height.
2026-11-13 10:16:46 -08:00
dotCooCoo c5b20136ae Merge main into fix/trace-blur-rings
# Conflicts:
#	docs/image-trace-quality.md
2026-11-13 10:06:37 -08:00
dotCooCoo b54f357ced Merge main into fix/raster-effects-skipped-transform-budget 2026-11-13 10:06:29 -08:00
dotCooCoo 1f13d1f8b7 Merge main into fix/area-type-band-coverage 2026-11-13 10:04:24 -08:00
dotCooCoo 796100e388 Merge main into fix/flatpak-clipboard-images 2026-11-13 09:59:55 -08:00
dotCooCoo 3397b0a534 Docs: keep one Preferences progress bullet with the off default for Highlight Alternate Glyphs
docs/target-app-parity.md listed the "Preferences that act" bullet three
times. Two older copies disagreed on Highlight Alternate Glyphs (one said
on by default, the code sets it off in Prefs::default) and still counted
about 14 stored options. The newest copy is kept, now with the Highlight
Alternate Glyphs clause (off by default), and its count names the two
options still stored only: Scratch Disks and the legacy vector clipboard.

The older of the two "Preferences audit (2026-10-30)" bullets, which still
listed five stored-only options, is removed, and the UI chrome summary row
now says 2 options, matching docs/gaps.md G12.
2026-11-13 09:55:46 -08:00
dotCooCoo 6664a9bdb1 Type: a hairline gap between vertical edges of a frame still splits the line
Crossings of the middle of a line's band that lay within a few units of rounding of each other were joined as a seam, so two contours of an area type frame 1e-7 pt apart at x = 1e8 held one line across the gap between them. A vertical edge crosses the middle at its own x with no rounding, so a gap at one is no longer joined.
2026-11-13 09:55:08 -08:00
dotCooCoo 1da59bfb22 Document Info: hidden and clear objects list no brushes or paints
Brushes, Spot Color Objects, Pattern Objects and Gradient Objects left
out a fill or stroke that was hidden or at an opacity of 0, but still
listed an object that was itself hidden or at an opacity of 0, and the
objects inside such a group or layer. They now leave those out, their
characters' paints and colorized images included. With Selection Only,
an object selected inside a hidden group or layer, or one at an
opacity of 0, is left out too. Objects still counts every object.
2026-11-13 09:54:35 -08:00
BFlat 608830d683 Merge pull request #7162 from dotCooCoo/fix/actions-recording-limit-notice
Actions: script runs and tool edits name a recording limit as they end
2026-11-14 00:52:08 +07:00
BFlat 7553c1f679 Merge pull request #7182 from dotCooCoo/feat/objects-on-path-detach
Objects on Path: Detach takes the chosen object off the path
2026-11-14 00:51:59 +07:00
BFlat 88a5b496f2 Merge pull request #7113 from dotCooCoo/fix/tabs-ruler-mixed-selection
Tabs: the ruler shows when a non-text object is first in the selection
2026-11-14 00:51:48 +07:00
BFlat 55bff9bdae Merge pull request #7110 from dotCooCoo/fix/quit-waits-for-clipboard-read
Clipboard: the window closes at once and quitting waits up to 27 s for the Paste check
2026-11-14 00:51:39 +07:00
BFlat 2814e3e53d Merge pull request #7192 from dotCooCoo/feat/context-menu-smooth
Context menu: Smooth… on a selected path opens the Smooth slider
2026-11-14 00:51:29 +07:00
dotCooCoo ef331e8fad Type: Invert Wrap keeps a line where two parts of the shape bridge a gap together
With Invert Wrap and an offset, each piece of a line's band kept only the x that one part of the shape held within the offset of every height of the piece. Where the offsets of two parts met across a gap (one above and one below), the heights between them held neither part, and the line lost that x although the grown shape covered the whole band.

The band is now also cut at every height an offset above or below an anchor of the shape (when there are at most 64 of them), and the horizontal edges at the ends of a piece's window count, so the window of the piece between the meeting offsets reaches both parts.
2026-11-13 09:51:19 -08:00
BFlat c7adea5518 Merge pull request #7144 from dotCooCoo/fix/script-line-numbers
Scripts: $.line and $.stack give the line of the file the code is in
2026-11-14 00:51:19 +07:00
BFlat e41ef1ea62 Merge pull request #7148 from dotCooCoo/fix/blend-without-spine-widget
Blend: a blend without a spine shows the Appearance widget
2026-11-14 00:51:09 +07:00
BFlat 3378e390ab Merge pull request #7175 from dotCooCoo/fix/graph-series-group-appearance
Graphs: Appearance commands and graphic styles given a series group edit its marks
2026-11-14 00:51:00 +07:00
BFlat 4f0d3f1eb3 Merge pull request #7111 from dotCooCoo/fix/freehand-tolerance-low-zoom
Pencil: Fidelity keeps its screen size at low zoom
2026-11-14 00:50:47 +07:00
BFlat 637d51df79 Merge pull request #7143 from dotCooCoo/feat/guides-layer-rows
Layers: ruler guide rows have their own eye and lock, and go to the trash
2026-11-14 00:50:35 +07:00
BFlat 8db4fe00dc Merge pull request #7179 from dotCooCoo/fix/place-read-own-document
Place: a file read apart from the session goes only into its document
2026-11-14 00:50:27 +07:00
BFlat 211c673ee2 Merge pull request #7186 from dotCooCoo/fix/mcp-window-capture-private-temp
MCP: an old app's window capture goes through a private temporary folder
2026-11-14 00:50:17 +07:00