Commit Graph
14415 Commits
Author SHA1 Message Date
dotCooCoo d842aa816c Merge main into feat/psd-import-options-import-slices-after-7649 2026-11-15 00:50:14 -08:00
BFlat c6e84a826c Merge pull request #7337 from dotCooCoo/fix/ru-message-rows
i18n: Russian translates 1,811 more status and error messages
2026-11-15 15:47:06 +07:00
BFlat ba87d5bf15 Merge pull request #7763 from dotCooCoo/feat/hidden-panels-edge-reveal
Window: hidden panels show while the pointer rests on the window edge
2026-11-15 15:46:57 +07:00
BFlat 6dc068b162 Merge pull request #7703 from dotCooCoo/feat/color-management-policies
Color Settings: RGB and CMYK policies keep, take off or convert a document's profiles on open
2026-11-15 15:46:48 +07:00
BFlat c93b96ba1b Merge pull request #7783 from dotCooCoo/fix/opacity-mask-art-inside-symbols-pattern-tiles
.ai editing data: opacity mask art in symbols and pattern tiles keeps live effects
2026-11-15 15:46:39 +07:00
BFlat 2340a1bb6c Merge pull request #7777 from dotCooCoo/fix/place-cursor-ask-roots
Place: import options a cursor click asks for place within the cursor's automation roots
2026-11-15 15:46:31 +07:00
dotCooCoo fa9d678cc1 Merge feat/psd-import-options into feat/psd-import-options-import-slices-after-7649 2026-11-15 00:46:07 -08:00
BFlat a9b43489a7 Merge pull request #7769 from dotCooCoo/feat/align-key-anchor
Align: a Shift-clicked anchor becomes the key anchor that Align and Distribute keep in place
2026-11-15 15:45:20 +07:00
BFlat e5f15de4d6 Merge pull request #7770 from dotCooCoo/feat/composite-custom-character-sets
Type: composite fonts take custom character sets
2026-11-15 15:45:12 +07:00
BFlat 06d776e220 Merge pull request #7757 from dotCooCoo/feat/3d-classic-preserve-spot
3D (Classic): Preserve Spot Colors keeps spot inks in shaded faces
2026-11-15 15:45:01 +07:00
BFlat da8b21e072 Merge pull request #7778 from dotCooCoo/fix/a-guide-in-a-layer-under-a-group-under-a-guide
Effects: keep ruler guides below guide-free sublayers and in groups out of effects
2026-11-15 15:44:51 +07:00
BFlat 4b7af3b6c7 Merge pull request #7792 from dotCooCoo/fix/trace-abutting-seams
Image Trace: Abutting traces draw seam fills under their paths
2026-11-15 15:44:43 +07:00
BFlat 7e7d229ac9 Merge pull request #7782 from dotCooCoo/fix/a-colorized-warped-image-decodes-its-coverage
Legacy .ai: a colorized warped image works out its coverage once
2026-11-15 15:44:35 +07:00
BFlat f8edea8c4b Merge pull request #7787 from dotCooCoo/fix/symbol-instances-are-clicked-and-marquee-touched
Selection: symbol instances are hit where their art draws past their box
2026-11-15 15:44:27 +07:00
BFlat 9643b21496 Merge pull request #7786 from dotCooCoo/feat/variable-options-kind
Variables: Variable Options changes a variable's kind as well as its name
2026-11-15 15:44:15 +07:00
BFlat 792cc96217 Merge pull request #7784 from dotCooCoo/fix/a-nan-spot-tint-from-a-file-reaches-plate
Print: a spot or Registration tint that is not a finite number prints no ink
2026-11-15 15:44:07 +07:00
BFlat febb54d6ab Merge pull request #7788 from dotCooCoo/fix/a-gradient-drawn-as-an-image-turns-rgb-because
PDF export: a spot stop that prints nothing keeps a gradient image in CMYK
2026-11-15 15:43:58 +07:00
BFlat f94b97c4d5 Merge pull request #7789 from dotCooCoo/fix/an-opaque-16-bit-cmyk-tiff-s-inks-are-rounded
TIFF: an opaque 16-bit CMYK TIFF's inks are rounded to 8 bits for display
2026-11-15 15:43:49 +07:00
BFlat cbadd8c14b Merge pull request #7791 from dotCooCoo/fix/path-commands-do-not-skip-locked-or-hidden-paths
Artwork Cleanup: path commands take locked and hidden art named by ids
2026-11-15 15:43:35 +07:00
dotCooCoo 8afaaec3f8 Merge main into feat/psd-import-options-import-slices-after-7649 2026-11-15 00:16:53 -08:00
dotCooCoo 116c8bae3c Place: PSD files placed without Show Import Options take the last PSD Import Options
With Show Import Options off, a PSD or PSB file placed on its own and
embedded takes the conversion, hidden-layer and Import Slices choices
made last in PSD Import Options, as text and DXF files take theirs.
An importSlices or hiddenLayers the params give is kept. Files from
bytes, which have no file to link to, are embedded even when the Place
dialog's Link is on, alone and in the place cursor. With Show Import
Options on, each PSD file of the place cursor asks for its options.
2026-11-15 00:16:48 -08:00
BFlat df984b2a02 Merge pull request #7551 from dotCooCoo/fix/hi-missing-message-rows
i18n: Hindi translates 116 status and error messages that its catalog lacked
2026-11-15 14:43:12 +07:00
BFlat 97c3226d72 Merge pull request #7773 from dotCooCoo/feat/variables-panel-sort-columns
Variables: Variables, Objects and type columns sort the variable list
2026-11-15 14:43:04 +07:00
BFlat 6fe176f997 Merge pull request #7428 from dotCooCoo/feat/ai-save-nested-envelope
.ai save: type in an envelope stays editable
2026-11-15 14:42:55 +07:00
BFlat 871dc96f7d Merge pull request #7775 from dotCooCoo/feat/recolor-new-row
Recolor Artwork: New Row adds a row that current colors can be merged into
2026-11-15 14:42:46 +07:00
BFlat c495d50752 Merge pull request #7756 from dotCooCoo/fix/clip-path-item-effects-order
Effects: a painted clipping path's fill and stroke effects apply before a group's
2026-11-15 14:42:37 +07:00
BFlat d4ab89f6e4 Merge pull request #7780 from dotCooCoo/fix/a-background-file-save-or-failed-completion
Status bar: a background save or failed job keeps a newer status line
2026-11-15 14:42:29 +07:00
BFlat a768464705 Merge pull request #7785 from dotCooCoo/fix/automatic-keeps-every-level-of-clean-16-level
Image Trace: Automatic keeps every level of clean flat art of up to 16 levels
2026-11-15 14:42:13 +07:00
BFlat 04b91c748e Merge pull request #7648 from dotCooCoo/feat/graph-type-dialog
Graphs: Graph Type is a dialog of its own with type buttons and a page per axis
2026-11-15 14:42:05 +07:00
dotCooCoo 63dab14ee7 Image Trace: Abutting traces draw seam fills under their paths
An Abutting trace with Fills now holds a "Seam Fills" group under its
paths. For each color it has one stroke, 1.5 image pixels wide, along
the edges where a filled path of that color meets a filled path drawn
after it, in that color. A renderer that anti-aliases each path on its
own no longer shows a light hairline along those edges. The traced
paths and their shared edges do not change, and edges against the
image's border, a transparent area or a color left out get no stroke.

- vectorcraft-trace: `seam_fills` finds the segments two filled paths
  share and strokes them in the lower path's color (one stroke per
  gradient path). Overlapping, traces without Fills and Flat Logo get
  none.
- Image Trace commands: the group comes under every path (right above
  the hidden image in a live trace). Expand keeps it, Expand by color
  leaves it under the color groups, and a trace whose paths have more
  than half of the anchor limit gets no seam fills.

Docs: docs/mcp.md, the params text, docs/target-app-parity.md.
2026-11-14 23:15:50 -08:00
dotCooCoo a11bd64909 Guides: a container's ruler guides keep their order through its effects
A layer or group with a Pathfinder effect or geometry effects moves its ruler guides above the evaluated art. Its trailing guides were split off first and its guides among the art were added after them, so [guide A, art, guide B] came out as B, A. All of its direct guides are now gathered in one pass, in document order.
2026-11-14 23:04:26 -08:00
dotCooCoo 5e4794a65c Align: a rejected select.key keeps the key anchor that was set
select.key {id, anchor} set the new key anchor before checking it, so a
point that is in the selection but not on the path cleared the key
anchor and then returned an error. The point is now checked first: an
anchor the path does not have is not a selected anchor point, and the
other conditions are checked on a copy of the selection.
2026-11-14 23:04:17 -08:00
dotCooCoo 37052dd07a Type: Composite Fonts takes custom, entry and char from ui.dialog.set on open
The dialog opened without the custom, entry and char fields, so
ui.dialog.set refused them until Custom was clicked or an entry typed.
The spec now lists them in its inputs, and the dialog opens with
custom off and an empty entry.
2026-11-14 23:04:09 -08:00
dotCooCoo 0f67bbbddf Merge main into feat/3d-classic-preserve-spot 2026-11-14 22:56:34 -08:00
BFlat 0995c130d1 Merge pull request #7211 from dotCooCoo/fix/composite-font-error-translations
i18n: translate the composite font errors in the complete-message languages
2026-11-15 13:51:57 +07:00
dotCooCoo c0b1c2e144 Merge main into feat/color-management-policies 2026-11-14 22:51:34 -08:00
BFlat 4a5f07b8c3 Merge pull request #7753 from dotCooCoo/feat/info-panel-tool-readouts
Info: the panel shows the move, transform, Zoom and Paintbrush values of the tool in use
2026-11-15 13:50:30 +07:00
BFlat 8e1e344f84 Merge pull request #7752 from dotCooCoo/fix/perspective-infer-followups
Perspective: Automatic Plane Positioning checks a held plane's own place and finds skewed intersections
2026-11-15 13:50:21 +07:00
BFlat 941277aa38 Merge pull request #7747 from dotCooCoo/feat/3d-render-wireframe
3D and Materials: Render Settings › Wireframe draws the live 3D effect as its faces' edges
2026-11-15 13:50:13 +07:00
BFlat 0cef4fa727 Merge pull request #7743 from dotCooCoo/fix/legacy-ai-artboard
.ai import: legacy PostScript .ai files open on their own artboard
2026-11-15 13:50:00 +07:00
BFlat 35a0d5ab04 Merge pull request #7755 from dotCooCoo/fix/clip-type-paint-export
Clipping: painted type keeps its fill and stroke in a group with geometry effects
2026-11-15 13:49:52 +07:00
BFlat fd6b3fb9a9 Merge pull request #7748 from dotCooCoo/feat/live-paint-selection-triple-click
Live Paint: a Live Paint Selection triple-click selects the parts of the same paint
2026-11-15 13:49:42 +07:00
BFlat 4ca206fea9 Merge pull request #7749 from dotCooCoo/fix/svg-textpath-pathlength
SVG import: textPath startOffset follows the path's pathLength
2026-11-15 13:49:33 +07:00
BFlat b43372361e Merge pull request #7746 from dotCooCoo/fix/replace-clipped-psd-keeps-transform
Place: a plain image replacing a clipped PSD keeps its scale and rotation
2026-11-15 13:49:22 +07:00
BFlat bdfd445eef Merge pull request #7662 from ruchirguitar/feat/style-neon-glow
Graphic Styles: built-in Neon & Glow graphic style library
2026-11-15 13:49:11 +07:00
dotCooCoo 1f841dbeec Variables: Variable Options changes a variable's kind as well as its name
Variable Options in the Variables panel only renamed a variable, and no
command changed a variable's kind. variable.rename now takes
{name, newName?, kind?} and renames the variable, changes its kind, or
both, in one undo step, with none when nothing changes. A null or empty
value, an unknown kind, a taken name and locked variables are refused.

A kind change unbinds the objects that can't hold the new kind (text
keeps type with no other text variable, image keeps image objects,
graph keeps graph roots, visibility keeps every object) and drops the
variable's values in every data set. The dialog shows the variable's
name and kind and sends both.
2026-11-14 22:47:04 -08:00
dotCooCoo b2a83415d0 Merge main into fix/path-commands-do-not-skip-locked-or-hidden-paths 2026-11-14 22:44:05 -08:00
dotCooCoo d999d861de Color Settings: Convert to Working Space compensates CMYK black points
- CMYK colors converted between two loaded CMYK profiles now use the
  Color Settings black point compensation, as RGB colors already did:
  the conversion goes through linear ProPhoto RGB and maps the source
  profile's black onto the destination's.
- The edit.colorSettings, document.open and file.newFromTemplate params
  text and docs/mcp.md name file.newFromTemplate with the commands that
  apply the policies, and say that colorMode on open converts after the
  policies, through the profiles the document keeps.
- A test covers New from Template under the policies, and another the
  CMYK black point compensation.
2026-11-14 22:43:08 -08:00
dotCooCoo 396b6d620a Merge main into fix/symbol-instances-are-clicked-and-marquee-touched 2026-11-14 22:40:48 -08:00
dotCooCoo 1284dc6927 PDF export: a spot stop that prints nothing keeps a gradient image in CMYK
A linear or radial gradient of CMYK stops drawn as an image (a dithered
fill, or a Perceptual gradient that is not written as a spot shading)
was written as an RGB image whenever any stop was linked to a spot
swatch, even a stop that colors nothing: one inside fully transparent
stretches, one out of order between stretches with no width, or one at
a tint of 0 without process plates. The spot color warning already
skipped those stops.

The image now falls back to RGB only when a stop prints a spot ink, the
same test the warning and the spot shadings use. A drawn spot stop at a
tint above 0, or with process plates, still gives an RGB image with the
warning.
2026-11-14 22:38:00 -08:00