Commit Graph
10803 Commits
Author SHA1 Message Date
dotCooCoo 4cde1aaa1f Pen: Escape after the path is deselected ends something else
The Pen and the Smart Pen reported a path being drawn to Escape for as
long as they remembered the path, even after Deselect or Undo left it
unselected. That Escape then ended nothing, and isolation mode or a
rotated view needed a second press. Both tools now report the path only
while they would go on drawing it, as the Curvature tool does.

Follows #6405
2026-11-11 03:44:25 -08:00
BFlat 4e0e1c8af7 Merge pull request #6564 from dotCooCoo/fix/graph-unpainted-row-opacity
Docs: a series mark's row without paint leaves the stored paint, not its opacity
2026-11-11 17:55:48 +07:00
BFlat f03562c0e3 Merge pull request #6566 from dotCooCoo/fix/gaps-ai-editing-copy-duplicate
Docs: gaps.md no longer says .ai editing data is not written
2026-11-11 17:55:38 +07:00
BFlat 5d9d412f8c Merge pull request #6565 from dotCooCoo/fix/glyph-alternate-noop-ligature
Glyphs: gid null inside a ligature reports the ligature
2026-11-11 17:47:51 +07:00
BFlat 6244ac54bf Merge pull request #6560 from dotCooCoo/fix/pasted-svg-filter-names
Effects: pasted art keeps an SVG filter whose name the document gives another filter
2026-11-11 17:37:26 +07:00
BFlat 81bfed87d4 Merge pull request #6561 from dotCooCoo/fix/graph-labels-keep-paragraph-settings
Graphs: labels keep their paragraph settings and anti-aliasing when the graph is drawn again
2026-11-11 17:37:16 +07:00
BFlat 00e078c861 Merge pull request #6558 from dotCooCoo/fix/control-bar-paragraph-doc-width
Docs: the Control bar's Paragraph alignment buttons are pinned at 1536 pt
2026-11-11 17:32:22 +07:00
BFlat 6a2b5b9c06 Merge pull request #6459 from Messhias/feat/g5-style-lib-status-effects
G5: built-in Status Effects graphic style library
2026-11-11 17:30:34 +07:00
dotCooCoo 3a44447aeb Docs: remove the duplicated G9 .ai sentence that says .ai editing data is not written
A merge left a second copy of the G9 `.ai`/EPS Missing bullet's opening inside the bullet. That copy says
writing the editing data is out of scope, while the same bullet and file-format-parity.md say a
PDF-compatible `.ai` carries an editing copy of the art. The bullet now has one copy, with the newer
brush wording that matches the 2026-11-05 entry above it.
2026-11-11 02:17:45 -08:00
BFlat 264ca9bf4e Merge pull request #6559 from dotCooCoo/fix/dimension-expand-keeps-live
Dimension tool: a dimension selected with its art stays live through Expand and Outline Stroke
2026-11-11 17:16:39 +07:00
BFlat 3d9686fb8e Merge pull request #6556 from dotCooCoo/fix/svg-text-clippath
SVG import: a clip path made of text clips by the text
2026-11-11 17:13:56 +07:00
BFlat 9a28264cfe Merge pull request #6557 from dotCooCoo/feat/script-alert-confirm-prompt
Scripts: alert, confirm and prompt open dialogs with Stop, and headless runs take their answers from script.run
2026-11-11 17:13:46 +07:00
dotCooCoo 16cc5c107c Docs: a row without paint leaves the series' stored paint, not its opacity
The graph still stores an opacity or blend mode set on a series mark's row
that has no paint, as it does for transparency.set. The sentence now says
that such a row leaves only the stored paint unchanged.
2026-11-11 02:09:08 -08:00
dotCooCoo 67462cf049 Glyphs: gid null inside a ligature reports the ligature
When text.setGlyphAlternate leaves the text unchanged, it now reads
the glyph from the unchanged text. A character after the first in a run
that holds a glyph choice could be reported with its own glyph instead
of the ligature drawn for it, which text.glyphAlternates reports.
2026-11-11 01:54:02 -08:00
BFlat e1c199a184 Merge pull request #6552 from dotCooCoo/docs/dynamic-symbols-edit-symbol-keeps-links
Docs: the Dynamic symbols entry says Edit Symbol keeps instances linked
2026-11-11 16:48:07 +07:00
BFlat d56ec4830d Merge pull request #6554 from dotCooCoo/fix/set-glyph-alternate-drawn-gid
Glyphs: text.setGlyphAlternate with gid null reports the glyph drawn
2026-11-11 16:47:58 +07:00
dotCooCoo 32e22cb442 Effects: pasted art keeps an SVG filter whose name the document gives another filter
Pasted art whose svg.filter effect named one of the document's SVG filters
but drew another definition kept that name, so editing or deleting the
document's filter rewrote the pasted art's filter. Paste now renames such
a filter to a free name ("Soft 2") when the art comes from another
document or from SVG, and takes the document's filter when the art is
pasted back into the document it was copied from. Symbols, patterns,
brushes and graphic styles on the clipboard follow the same rule.
2026-11-11 01:44:11 -08:00
dotCooCoo 0f13edaabe Graphs: centered labels with kept leading stay centered
Category labels beside an axis and labels in pie wedges are centered
on their place by the default leading. A multi-line label that keeps
more leading or paragraph spacing ran down from that place instead.
The graph now puts the middle of such a label's first and last
baselines on its place.
2026-11-11 01:40:36 -08:00
dotCooCoo bcdb908b47 Docs: the Control bar's Paragraph alignment buttons are pinned at 1536 pt
#6090 moved the pinned window width in
the_control_bar_shows_the_paragraph_alignment_of_the_selected_type from
1440 to 1536 pt, since the bar's right end now keeps room for the panel
menu button. The progress line still named 1440 pt.
2026-11-11 01:38:30 -08:00
Fabio William Conceição 3c44a8ad7c G5: built-in Status Effects graphic style library
Eight style libraries; MCP docs list Status Effects and catch up Symbol libraries with UI Frames and Map Markers.
2026-11-11 09:38:28 +00:00
BFlat 6864cc0944 Merge pull request #6549 from dotCooCoo/fix/installed-script-includes
Scripts: a script chosen from File › Scripts reads its #include files and runs $.evalFile
2026-11-11 16:29:09 +07:00
BFlat 75e33a5467 Merge pull request #6553 from dotCooCoo/fix/task-bar-button-names
Contextual Task Bar: screen readers name the text buttons
2026-11-11 16:28:59 +07:00
dotCooCoo d13f7324f9 Dimension tool: a dimension selected with its art stays live through Expand and Outline Stroke
A dimension selected with the art it measures became a plain group of
paths and text when Object › Expand, Object › Expand Appearance or
Object › Path › Outline Stroke ran, so it no longer redrew when moved
or restyled.

These commands now leave such a dimension's lines and label as they
are, also inside selected groups without fills, strokes or effects of
their own, and change only the other art. The dimension keeps its
export assets and variable bindings. When the new art no longer fits
the dimension's link, for example because the outlined stroke has
other anchors, the dimension stays where it was, no longer linked, as
it does when its art is deleted. Undo links it again.

When the dimension is all the command would change, the command
changes nothing and reports the error it gives for a selection with
nothing to change. Object › Expand… is no longer dimmed for the label
of such a dimension. A dimension selected without the art it measures,
a part of one, and one inside a selected group with an appearance of
its own still become plain groups, and Type › Create Outlines still
outlines the label.

Docs: docs/dimensions.md, docs/mcp.md, docs/target-app-parity.md.
2026-11-11 01:26:12 -08:00
BFlat 4986f66fe2 Merge pull request #6442 from Messhias/feat/g5-symbol-lib-inventory-icons
G5: built-in Inventory Icons symbol library
2026-11-11 16:12:59 +07:00
dotCooCoo c0adc6e9d7 Merge main into feat/script-alert-confirm-prompt 2026-11-11 01:09:54 -08:00
BFlat e9f98f0d2f Merge pull request #6546 from jmverges/fix/6541-tracking-horizontal-scale
Type: tracking and manual kerning take the Horizontal Scale
2026-11-11 16:05:27 +07:00
BFlat c272e7ebac Merge pull request #6550 from dotCooCoo/fix/reshape-empty-focal-radius
Reshape: an empty focal list cannot be combined with radius
2026-11-11 16:05:17 +07:00
dotCooCoo 1851f8769a Glyphs: text.setGlyphAlternate with gid null reports the glyph drawn
With no glyph choice left on the character, text.setGlyphAlternate
returned the font's default glyph for it: 0 for a character the font
lacks, which a fallback font draws, and the lowercase glyph for a
letter under All Caps. It now reports the glyph the character is drawn
with, as text.glyphAlternates does.
2026-11-11 01:05:16 -08:00
dotCooCoo afdaa47cd5 SVG import: a clip path made of text clips by the text
A <text> in a <clipPath> was dropped with a warning, so a clip path made
only of text had no content and the art it clipped was hidden. The
clipPath content model in CSS Masking Module Level 1 lists text and use
(https://www.w3.org/TR/css-masking-1/#ClipPathElement).

The importer now clips by the text's glyph outlines, together with any
shapes in the same clip path, and keeps clipPathUnits, the transforms,
clip-rule, visibility, the conditional processing attributes and a clip
path on the text. A <use> in a clip path that shows a text clips the
same way, placed by the <use>; a clip path on the <use> applies in the
<use>'s user space, and a reference goes to the first element with the
id. When the clip path holds only one visible text, with no clip path
of its own and no even-odd clip rule, the clipping path of the clip
group is the text object with no fill or stroke, the same structure
Make Clipping Mask produces for type. A text or a <use> with an id in a
clip path can still be shown by a <use> outside it. Each text's
outlines are laid out once, however many elements use the clip path.

A transform set by a style rule or a style attribute on a text now
places it, as it does a shape. Before, only the transform attribute was
read, inside and outside clip paths.
2026-11-11 01:04:34 -08:00
dotCooCoo 68042f0924 Docs: the Dynamic symbols evidence lists the Edit Symbol tests 2026-11-11 00:57:15 -08:00
dotCooCoo bc63dc7285 Scripts: the File › Scripts command help says it runs the script by path 2026-11-11 00:36:08 -08:00
dotCooCoo c941a1da5d Contextual Task Bar: screen readers name the text buttons
The bar's text buttons (Edit Path, Duplicate, Type on a Path Options and
the others) were painted labels on a click area with no accessible name,
so a screen reader announced them without one. Each button now reports
its label as a button, as the Home screen's file rows do.
2026-11-11 00:36:08 -08:00
dotCooCoo ba5eab7349 Docs: Edit Symbol keeps dynamic symbol instances linked
The Dynamic symbols entry still said Edit Symbol expands the symbol's
own art. Since #5064, Edit Symbol opens symbol editing mode: every
instance stays linked and a dynamic symbol's instances keep their
changes for the objects the edited art still has.
2026-11-11 00:36:07 -08:00
dotCooCoo da765088a0 Graphs: the legend measures its labels with the document's System Layout
The legend measured each label with System Layout off, while the graph
draws the labels with the document's setting. With System Layout on,
a long legend label could run over the next swatch in Legend Across
Top. The legend now measures labels with the same setting.
2026-11-11 00:35:52 -08:00
Fabio William Conceição f23f7ef321 G5: list Inventory Icons in the MCP symbol libraries docs 2026-11-11 08:35:19 +00:00
Fabio William Conceição 1b47f172c2 G5: list Inventory Icons in the UI parity checklist 2026-11-11 08:35:18 +00:00
Fabio William Conceição 50bf4fc5a3 G5: built-in Inventory Icons symbol library 2026-11-11 08:34:55 +00:00
dotCooCoo c09e1d3ebe Scripts: closing the quit question when the script it asked about has ended
A window-close request while a script waits at its alert, confirm or
prompt opens the quit question over that dialog, and Cancel shows the
script's dialog again. When the run then ended another way (script.stop,
or the run finishing), the quit question stayed open, and Cancel showed
a dialog for a script that was no longer running.

The running-script poll now closes the quit question once the run ends,
and forgets the script's dialog under it once the run no longer waits at
that dialog.
2026-11-11 00:33:28 -08:00
BFlat b37241f5ae Merge pull request #6547 from dotCooCoo/fix/appearance-active-row-aligned-remove
Appearance: aligned Remove Item and Duplicate Item keep the active row
2026-11-11 15:33:06 +07:00
BFlat 8c80110544 Merge pull request #6544 from dotCooCoo/fix/char-style-tint-error-names
Character Styles: a tint error names the Fill Tint or Stroke Tint field
2026-11-11 15:18:27 +07:00
BFlat 18c34d93a7 Merge pull request #6542 from dotCooCoo/fix/placed-document-composite-fonts
Render: a placed document drawn exactly lends its own composite fonts
2026-11-11 15:18:18 +07:00
jmverges af29e7b71a Merge remote-tracking branch 'upstream/main' into fix/tracking-horizontal-scale
# Conflicts:
#	docs/file-format-parity.md
2026-11-11 08:10:00 +00:00
BFlat ed234780f2 Merge pull request #6540 from dotCooCoo/fix/pdfx1a-flatten-clipping
PDF export: PDF/X-1a, X-3 and 1.3 keep the art under the hidden part of cropped art
2026-11-11 15:08:42 +07:00
dotCooCoo 6684650425 Reshape: an empty focal list cannot be combined with radius
path.reshape refused focal with radius only when focal named an anchor.
Since an empty focal list chooses the focal-point rule, a call with
"focal": [] and a radius was accepted and used the radius falloff,
although the params text and docs/mcp.md say the two cannot be used
together. Any focal other than null now goes with radius as an error.
2026-11-11 00:01:50 -08:00
dotCooCoo cc2ec8f292 Scripts: a script chosen from File › Scripts reads its #include files and runs $.evalFile
File › Scripts ran an installed script as source text, so the run had no
file: an #include line ended it with "script file read refused", and
$.evalFile was refused too. The menu now checks the script as before and
runs it with script.run {path}, as docs/mcp.md describes, so its
included files and the files $.evalFile runs are read beside it.
2026-11-11 00:00:52 -08:00
BFlat 03266ce4b7 Merge pull request #6537 from dotCooCoo/fix/expand-tinted-symbol-adjustment
Expand Appearance: tinted symbols keep their colors under a color adjustment
2026-11-11 15:00:39 +07:00
dotCooCoo 99b7fb0ab8 Appearance: aligned Remove Item and Duplicate Item keep the active row
After an aligned Remove Item or Duplicate Item, the active row was
re-pointed by the indices of the first object in paint order. When the
first selected object paints above the others, its own rows that changed
are different ones, so the active row could be dropped or land on the
wrong row, and a later paint edit changed that row instead.

The active row now follows the rows removed or copied in the first
selected object's own stack.

Follows #5591.
2026-11-10 23:58:23 -08:00
BFlat 902f217ef6 Merge pull request #6539 from dotCooCoo/fix/break-link-keeps-new-art-selected
Symbols: Break Link keeps new art on a locked artboard selected
2026-11-11 14:52:56 +07:00
BFlat 5fc66d5373 Merge pull request #6538 from dotCooCoo/fix/quick-bounds-nine-slice-moved
Symbols: an instance that only moves holds the art its 9-slice guides move
2026-11-11 14:52:48 +07:00
BFlat df7a185cb2 Merge pull request #6534 from dotCooCoo/fix/reshape-earlier-steps
Reshape: a step recorded without focal points plays by the earlier rule
2026-11-11 14:48:26 +07:00