Commit Graph
4495 Commits
Author SHA1 Message Date
dotCooCoo 393078b4f2 .ai export: a .ai of the art's bounds carries no editing data
document.export and document.serialize to .ai with useArtboards: false
wrote the one page of the visible art, but embedded the one-artboard
stand-in as the native document and as the editing copy for other apps.
Reopened, the file replaced the document's artboards with one artboard
around the art.

- The .ai of the art's bounds now leaves out both editing copies and
  returns the warning "Preserve editing was left out: an .ai file of the
  art's bounds would replace the document's artboards when reopened",
  as the PDF of the art's bounds does.
- useArtboards: false with pdfCompatible: false is refused, with or
  without editingData, since the file would have blank pages and no
  editing copy.
- Save, Save As, Save a Copy and exports of the artboards keep both
  copies. Legacy version 7 .ai files are written as before.

Docs: docs/mcp.md, docs/target-app-parity.md, document.export params.
2026-11-13 07:28:12 -08:00
BFlat 77970c6924 Merge pull request #7082 from dotCooCoo/fix/smooth-resets-anchor-selection
Smooth tool: smoothing a path deselects its direct-selected anchors
2026-11-13 22:26:18 +07:00
BFlat 45acda45fe Merge pull request #7084 from dotCooCoo/feat/message-rows-id-nl-da-bg
i18n: Dutch translates status and error messages
2026-11-13 22:26:08 +07:00
BFlat 5fcfb0ce6e Merge pull request #7086 from dotCooCoo/feat/library-charstyle-menu
Libraries: a character style's menu offers Apply, Add to Character Styles, Rename and Delete
2026-11-13 22:24:41 +07:00
BFlat 7fb0a5b51b Merge pull request #7088 from dotCooCoo/fix/panel-drags-primary-button
Panels: item drags start only with the primary button, as Layers does
2026-11-13 22:23:19 +07:00
BFlat 1dbdbce91f Merge pull request #7080 from dotCooCoo/feat/trace-create-strokes
Image Trace: Create Strokes makes a wide shape's thin features strokes and keeps its body a fill
2026-11-13 17:03:37 +07:00
BFlat 54f0c1b99b Merge pull request #7003 from mockydevs/fix/graphic-styles-list-height-2992
Graphic Styles: the list fills a taller panel above its footer
2026-11-13 17:03:22 +07:00
dotCooCoo 345cd021dc i18n: Dutch translates status and error messages
Dutch was not in COMPLETE_MESSAGES, so with the interface in Dutch
script errors, plug-in manifest and permission errors, parameter
schema errors, 3D effect refusals, file-reader errors and data-set
messages showed in English.

- nl.tsv gains 557 `@msg` rows and one `@msgplural` row: the messages
  the German catalog translates and Dutch lacked. Most are one block
  with a header comment on their conventions, in the order de.tsv
  holds them; the rest sit next to the related existing rows.
  Backticked names, command ids, double-quoted values and bare true,
  false and null stay as the English writes them.
- nl joins COMPLETE_MESSAGES, so the message tests that iterate the
  list check Dutch too, and the untranslated report lists Dutch's
  missing messages. It lists the same set for Dutch as for German.
- The registry comment, docs/development.md, the Dutch row and
  introduction of docs/localization-parity.md, and the interface
  languages line of docs/target-app-parity.md list Dutch among the
  languages that translate messages.
2026-11-13 01:23:19 -08:00
dotCooCoo 78ee4d04b6 Panels: item drags start only with the primary button, as Layers does
A right or middle drag on a swatch or color group, a brush, a symbol, a
graphic style, a library item or group, a character or paragraph style,
an Appearance row or thumbnail, the Fill and Stroke squares, a Recent
Colors chip or the Gradient panel's thumbnail started the same drag as
the primary button, so it could reorder, copy, delete or apply the item.
These drags now start only with the primary button, as Layers rows
(#7016) and Artboards rows (#7005) do: `widgets::drag_source`, the
Swatches tiles, library panel items, text style rows and Appearance rows
check `drag_started_by(Primary)`, and the Appearance thumbnail shows the
grabbing hand only for a primary drag. Right-click menus and the Graphic
Styles panel's held right-button preview are unchanged.
2026-11-13 01:22:30 -08:00
dotCooCoo 7805479dad Libraries: a character style's menu offers Apply, Add to Character Styles, Rename and Delete
A right-click on a character style in the Libraries panel now opens Apply
Character Style, Add to Character Styles, Move to Group, Rename… and
Delete. Apply is enabled only with type selected. Opening the menu applies
nothing, and the paragraph style menu is unchanged.

- library.addToCharacterStyles adds the style to the document's character
  styles without applying it, so no type needs to be selected. A document
  style with the same name and attributes is reused with no undo step, and
  a name taken by other attributes gets a number.
- library.renameItem renames a library item in place and keeps its group.
  The name is trimmed and has 1 to 256 characters. Another item of the same
  kind with that name is an error, the item's own name writes nothing, and
  a rename is not a document undo step.
- library.use and library.addToCharacterStyles compare a library style
  with the document's in the form the document stores it in. A whole
  number size from a library file no longer adds a numbered copy.
- A character style color linked to a swatch that is not a global or spot
  swatch of the document keeps the color it shows without the link.
  Before, adding or applying such a style failed with "no swatch".

Help page: https://helpx.adobe.com/illustrator/desktop/design-with-text/fonts-and-scripts/add-and-use-text-and-character-styles-in-libraries.html
2026-11-13 01:22:29 -08:00
dotCooCoo bc92def89e Smooth tool: smoothing a path deselects its direct-selected anchors
path.smoothRegion replaced the anchors of each path it smoothed but left
the selection alone, so anchor and segment refs selected with Direct
Selection still named the old indices: after a smooth that removed
anchors, a ref could point past the end of the path or at another
anchor. The edit now drops those refs for each path it changes, so the
path stays selected whole. Selected paths the drag does not change keep
their anchors, and undo restores the earlier selection.
2026-11-13 01:12:38 -08:00
BFlat 3b48070751 Merge pull request #7061 from dotCooCoo/fix/dcs-transparency-clip
Place: DCS transparency interactions look only at what clipping paths show
2026-11-13 16:04:49 +07:00
dotCooCoo 093f04952c Image Trace: Create Strokes makes a wide shape's thin features strokes and keeps its body a fill
Stroke is the widest feature that can be stroked, and it was applied to
each connected shape as a whole: a thick body with thin arms stayed one
filled area. Now a shape wider than Stroke somewhere keeps as its area
every disc wider than Stroke that fits in it, and each piece outside
those discs that reaches out of them at least one and a half times its
own width (and 3 px) is traced as a stroked center line. A line's end at
the area goes to the cut, so the line's cap closes the join. Corners and
edge slivers stay in the area, and a piece that cannot be traced stays
in it too. Shapes no wider than Stroke trace as before.

Each line keeps one width; without Fills, the area is still a 1 px
outline.

Docs: docs/target-app-parity.md.
2026-11-13 01:01:59 -08:00
Don Omondi cfa3221dd3 Roadmap M3 row: the #1638 note goes in the Status cell 2026-11-13 03:21:08 -05:00
Don Omondi ffc22ffc4c Merge remote-tracking branch 'upstream/main' into fix/graphic-styles-list-height-2992
# Conflicts:
#	docs/roadmap.md
#	docs/target-app-parity.md
2026-11-13 03:20:58 -05:00
BFlat 9a1a158a3f Merge pull request #7060 from dotCooCoo/fix/dcs-regained-clip
Place: a DCS file that regains its clipping path clips the group that stayed
2026-11-13 15:04:28 +07:00
BFlat 46be3af7f8 Merge pull request #7064 from dotCooCoo/feat/envelope-warp-points
Envelopes: the Mesh tool and Direct Selection edit a warp envelope's points
2026-11-13 15:04:18 +07:00
BFlat 806dd5ef5b Merge pull request #7049 from dotCooCoo/fix/3d-face-budget-per-object
3D: an object's fill and stroke solids share one face limit
2026-11-13 15:04:08 +07:00
BFlat dd8446f3a4 Merge pull request #7054 from dotCooCoo/feat/nine-slice-guides-outside-art
Symbols: 9-slice guides may lie outside the symbol's art
2026-11-13 15:03:59 +07:00
BFlat 8998d94cc8 Merge pull request #7057 from dotCooCoo/feat/paste-remembers-sublayers
Layers: Paste Remembers Layers puts art back into the sublayer it was copied from
2026-11-13 14:18:03 +07:00
BFlat 11a37082f7 Merge pull request #7058 from dotCooCoo/feat/touch-workspace
Touch: a two-finger tap switches between selection and drawing modes
2026-11-13 14:17:54 +07:00
BFlat 001660517c Merge pull request #7059 from dotCooCoo/fix/dcs-eps-proxy-plates
Place: DCS links reopen with their plates under the low-resolution EPS proxy
2026-11-13 14:17:44 +07:00
BFlat 7d417a0729 Merge pull request #7048 from dotCooCoo/fix/font-menu-shared-filters
Font menu: every font menu shares one set of filters
2026-11-13 14:17:18 +07:00
BFlat d0b4df357c Merge pull request #7063 from dotCooCoo/fix/ui-parity-pencil-fidelity-unit
Docs: the Pencil row gives Fidelity in screen pixels
2026-11-13 14:17:05 +07:00
BFlat 9ba02d41d7 Merge pull request #7038 from dotCooCoo/fix/schema-expected-phrases
i18n: parameter schema errors translate what the value must be
2026-11-13 14:16:56 +07:00
BFlat d5699579de Merge pull request #7017 from mockydevs/fix/pdf-empty-actualtext-art-6971
PDF import: glyphs in a span with an empty ActualText come in as outlines
2026-11-13 14:16:32 +07:00
dotCooCoo 467c874fa0 Merge main into fix/3d-face-budget-per-object 2026-11-12 22:53:49 -08:00
BFlat 7d77f8aebd Merge pull request #7044 from dotCooCoo/fix/effect-apply-strict-params
Effects: effect.apply refuses a wrongly typed parameter that has no default
2026-11-13 13:19:01 +07:00
BFlat 9b7aa561c0 Merge pull request #7036 from dotCooCoo/fix/pattern-cancel-dangling
Patterns: canceling a new pattern leaves no swatch or paint of it
2026-11-13 13:18:51 +07:00
BFlat 9b54280846 Merge pull request #7050 from dotCooCoo/feat/layers-delete-confirm
Layers: deleting layers that hold art asks first
2026-11-13 13:18:43 +07:00
BFlat 53ff632a26 Merge pull request #7042 from dotCooCoo/feat/pict-open-place
File formats: PICT pictures open and place
2026-11-13 13:18:26 +07:00
BFlat c6da74eef3 Merge pull request #7043 from dotCooCoo/fix/pen-readout-without-rubber-band
Drawing tools: the measurement readout shows with the rubber band off
2026-11-13 13:17:57 +07:00
BFlat bf71429d06 Merge pull request #7052 from dotCooCoo/feat/font-samples-on-white
Font menu: Show samples on white draws each sample in dark type on a white area
2026-11-13 13:17:48 +07:00
BFlat 499903878e Merge pull request #7055 from dotCooCoo/feat/mojikumi-presets
Type: the Mojikumi Set menu offers the predefined spacing sets
2026-11-13 13:17:36 +07:00
BFlat 7257c28a83 Merge pull request #7056 from dotCooCoo/feat/rotated-box-transforms
Free Transform: handles, shear and distort follow the rotated bounding box
2026-11-13 13:17:23 +07:00
dotCooCoo 304fdfeb35 Merge main into fix/3d-face-budget-per-object
The i18n test that main added for 3D refusals calls validate_three_d_at with this branch's (Option<usize>, usize) position: effect 0 of appearance item 0 is (Some(0), 0).
2026-11-12 22:07:00 -08:00
Don Omondi 74deb4aade Merge remote-tracking branch 'upstream/main' into fix/pdf-empty-actualtext-art-6971
# Conflicts:
#	docs/file-format-parity.md
#	docs/roadmap.md
#	docs/target-app-parity.md
2026-11-13 00:46:18 -05:00
Don Omondi 25c7c1a383 Merge remote-tracking branch 'upstream/main' into fix/graphic-styles-list-height-2992
# Conflicts:
#	docs/roadmap.md
#	docs/target-app-parity.md
#	docs/ui-parity.md
2026-11-13 00:45:57 -05:00
dotCooCoo ffc21b702f Symbols: same-edge 9-slice art shrinks when the instance is smaller
With both guides of an axis past the same edge, the art keeps its size
from the other edge of the instance, or shrinks to the instance's width
or height when the instance is smaller than the art. The module doc,
AxisMap::new and the docs/target-app-parity.md entry now say so.
2026-11-12 21:44:36 -08:00
dotCooCoo 33931064ab Merge main into fix/font-menu-shared-filters 2026-11-12 21:42:31 -08:00
dotCooCoo 6886198458 Merge main into fix/schema-expected-phrases 2026-11-12 21:37:21 -08:00
dotCooCoo 4316f819a8 Envelopes: the Mesh tool and Direct Selection edit a warp envelope's points
A selected warp envelope now shows the points of its surface on a 4x4
grid (8x8 or 16x16 where 4x4 strays more than 0.1% of the warp's
diagonal from it). object.mesh.movePoint, movePoints, addLine,
deletePoint and object.envelope.setMeshPoint accept a warp: the first
edit turns it into a mesh envelope on that grid and applies the edit as
one undo step, so Undo or Escape gives the warp back with its style and
bend. An edit that moves no point leaves the warp and adds no undo
step. A warp that no such grid follows (some version 0 maps) shows no
points and its edits fail without changing anything.

movePoints and setPointColor on a gradient mesh record no undo step
when they change no point.
2026-11-12 21:37:21 -08:00
dotCooCoo 9468508501 Docs: the Pencil row gives Fidelity in screen pixels
#5748 moved the Pencil's and the Paintbrush's Fidelity to screen pixels, but
docs/ui-parity.md still gave it in points. The Pencil row now gives the
slider's rail, the field and the key steps in px, and says the tool sends
path.freehand the value in points at the current zoom.

The Pencil row also appeared twice, the second copy without the Fidelity
text. The two rows are merged into one.

The comments on FIDELITY_MAX, fidelity_step, fidelity_at and fidelity_from
in the Tool Options dialog name the tool's unit, since the slider is shared
with Smooth and Blob Brush, which stay in points.
2026-11-12 21:33:07 -08:00
dotCooCoo e4fdc10b99 Place: a DCS file that regains its clipping path clips the group that stayed
When a linked file lost its clipping path, the clip group holding the
image stayed as a plain group of the image. When the file had a clipping
path again, the image went into a new clip group inside that plain group,
so each round nested one more group. The plain group holding just the
image now becomes its clip group again, in the layers and in symbol,
pattern, graph design and mask art.
2026-11-12 21:30:06 -08:00
dotCooCoo 2d2ac65b2c Place: DCS links reopen with their plates under the low-resolution EPS proxy
With the lowResProxyEps preference on, opening a document kept the saved
preview of a linked DCS file, so the link showed as EPS without its
plates. Opening now reads the first 1 MiB of each such EPS file and reads
a DCS file in full. The whole file is read only when a binary EPS header
puts the PostScript past those bytes or the header comments run past
them. Other EPS files keep their preview.
2026-11-12 21:30:06 -08:00
BFlat ce37ec3d9a Merge pull request #7041 from dotCooCoo/fix/3d-refusal-translations
i18n: 3D effects' refusal messages are translated
2026-11-13 12:28:07 +07:00
BFlat 1b9aa07e65 Merge pull request #6995 from dotCooCoo/feat/actions-insert-select-path
Actions: Insert Select Path stores the selected path as a step
2026-11-13 12:27:58 +07:00
BFlat bae885e393 Merge pull request #6876 from dotCooCoo/feat/outline-object-image-alpha
Effects: Outline Object on an image's fill or stroke follows its opaque pixels
2026-11-13 12:27:50 +07:00
BFlat 8cd598397c Merge pull request #7039 from dotCooCoo/fix/package-after-failed-save
Package: a failed save before packaging writes no package
2026-11-13 12:27:41 +07:00
BFlat ef3beb9401 Merge pull request #7027 from dotCooCoo/fix/followup-6985
Fonts: Find Font skips patterns and inline graphics that draw nothing, and Refresh Font List lays out type in art again
2026-11-13 12:27:33 +07:00