Commit Graph
12134 Commits
Author SHA1 Message Date
dotCooCoo fad257ce82 Drawing tools: the measurement readout shows with the rubber band off
Enable Rubber Band now hides only the preview segment in the Pen, the
Curvature tool and the Smart Pen. With it off and Measurement Labels on,
the three tools still show the D / Angle / dX / dY readout at the pointer
while a path is drawn, and the Curvature tool also shows it when
going on from the current end of a selected path. With Measurement Labels
off, no readout shows either way. The click places the same anchor as
before.

Docs: docs/mcp.md (penRubberBand, curvatureRubberBand), docs/ui-parity.md,
docs/target-app-parity.md.
2026-11-12 20:27:27 -08:00
BFlat 465091d7d2 Merge pull request #7031 from dotCooCoo/fix/followup-6920
Print: notes of what a print loses come before notes on options
2026-11-13 11:26:54 +07:00
BFlat be389b8b59 Merge pull request #7030 from dotCooCoo/fix/followup-6960
3D: mapped graphics keep paint order and hide handles on hidden fills
2026-11-13 11:26:46 +07:00
BFlat 5e17d47370 Merge pull request #7029 from dotCooCoo/fix/followup-6718
Pen: Space held during a closing drag moves the first anchor
2026-11-13 11:26:39 +07:00
BFlat 21d8d322a4 Merge pull request #7024 from mockydevs/fix/pdf-mark-text-needs-craft-fonts
PDF tests: the mark-text regressions skip without the craft-fonts Noto Sans Arabic
2026-11-13 11:26:31 +07:00
BFlat e899f3fdb4 Merge pull request #6881 from dotCooCoo/feat/image-color-mask
Image Tools: Color Mask hides chosen colors of an image without changing its pixels
2026-11-13 10:27:04 +07:00
BFlat 563850dca0 Merge pull request #6988 from dotCooCoo/feat/control-bar-float
Control bar: dragging the gripper away from both docked edges floats the bar
2026-11-13 10:26:54 +07:00
BFlat 34e3418996 Merge pull request #7022 from dotCooCoo/fix/followup-2948
Docs: document.open's pages sentence for a .ai without PDF compatibility appears once
2026-11-13 10:26:46 +07:00
BFlat efc3c9491a Merge pull request #7018 from dotCooCoo/fix/followup-6991
Recolor Artwork: the Color Theme Picker keeps symbol art and clipped image reads within their limits
2026-11-13 10:26:37 +07:00
BFlat fe9fd05a1a Merge pull request #7016 from dotCooCoo/fix/layers-right-drag
Layers: a drag with the right button no longer moves a row
2026-11-13 10:26:27 +07:00
BFlat 703fb03d65 Merge pull request #7006 from dotCooCoo/fix/mesh-locate-winding
Mesh: a point on a mesh's outline locates on its edge on every side
2026-11-13 10:26:18 +07:00
BFlat bd6b99ed1f Merge pull request #7015 from mockydevs/fix/swatches-list-height-1638
Swatches: the swatch list fills a taller panel above its footer
2026-11-13 10:26:10 +07:00
BFlat c6ceeabf0c Merge pull request #6928 from jmverges/fix/6899-ai-type-manual-kerning
.ai import: type keeps the manual kerning of its text document
2026-11-13 10:26:01 +07:00
dotCooCoo 9c1c7dee7e Print: notes of what a print loses come before notes on options
A print to a file and the print preview list their notes as saves and
exports do since #6920: what the job leaves out of the document or prints
differently first (art outside the imageable area, type in a fallback
font, transparency flattened for PostScript), then the notes on the
options (halftone screens and a fixed flatness that aren't written, copies
per sheet that don't fit, a printer profile left out, ink options that
name no ink). Each kind keeps the order it is given in.

The print layout, the PDF print and the PDF print plan return the notes
on the options in `setting_notes` beside `warnings`, as `ExportReport`
does. The status message after a print to a file names the first note,
so a fixed flatness no longer hides type printed in a fallback font.
2026-11-12 19:13:13 -08:00
dotCooCoo 3e9e58afb1 3D: mapped graphics keep paint order and hide handles on hidden fills
A solid now shares its mapped graphics only with the run of solids just
before it that have the same opacity and blending mode. Before, it
joined any earlier solid with the same settings, so with members A, B
and C where A and C match, A's graphic was drawn after C and over B.

The Materials tab shows no artboard handles for graphics on a hidden
fill or stroke, which draws no solid and no graphics.

docs/three-d.md now says that pattern tiles in a graphic keep their own
colors instead of taking the face's light.
2026-11-12 18:59:02 -08:00
dotCooCoo 1587cb84f7 Pen: Space held during a closing drag moves the first anchor
Space held while dragging out a new anchor already moved it, handles and
all, but the closing drag skipped it, so the closing anchor could not be
repositioned. The closing drag now moves the first anchor by as far as the
pointer moves while Space is held, its handles with it, and the drag
shapes the handles round the new place once Space is released.

path.close takes `at: [x, y]`, which moves the first anchor, its handles
with it, before `in` and `out` are placed. docs/mcp.md and the Pen line
in docs/target-app-parity.md describe it.
2026-11-12 18:55:10 -08:00
Don Omondi 34798989bd Swatches list (#1638): M3 and area row notes 2026-11-12 21:45:37 -05:00
Don Omondi 9fdaf3d999 Merge remote-tracking branch 'upstream/main' into fix/swatches-list-height-1638
# Conflicts:
#	docs/target-app-parity.md
2026-11-12 21:45:37 -05:00
Don Omondi 9dc5372b36 Merge remote-tracking branch 'upstream/main' into fix/pdf-mark-text-needs-craft-fonts 2026-11-12 21:43:20 -05:00
dotCooCoo 087da1c743 Docs: document.open's pages sentence for a .ai without PDF compatibility appears once
docs/mcp.md said twice that `pages` naming every page of a .ai saved
without PDF compatibility opens it from its editing data, once with the
file named and once as "such a file". The paragraph also ended in the
middle of a sentence: "`clipboard.importPdf` takes every object of its
editing".

The sentence now appears once, with the file named, and the paragraph
ends with "its editing data."

Docs: docs/mcp.md.
2026-11-12 18:35:22 -08:00
dotCooCoo 6a14e086de Tests: the legacy .ai Color Mask test reads the notes on the options
Saving with transparentImages "omit" now reports its note in the notes on
the options rather than in the warnings, so the test compares every note
the export gives.
2026-11-12 18:34:42 -08:00
BFlat c94577e3bf Merge pull request #6946 from dotCooCoo/feat/actions-select-object
Actions: Select Object selects objects by their Attributes note during playback
2026-11-13 09:30:34 +07:00
BFlat 23cae99a84 Merge pull request #7011 from dotCooCoo/fix/expand-symbol-item-effects
Effects: a symbol instance's fill or stroke effects reshape its art and expand
2026-11-13 09:30:26 +07:00
BFlat cae4729426 Merge pull request #7005 from dotCooCoo/feat/context-menus-beyond-canvas
Artboards: a right-click on a panel row opens a menu with Rename
2026-11-13 09:30:15 +07:00
BFlat 34cc6fd47a Merge pull request #7004 from dotCooCoo/fix/schema-too-deep-bad-params
MCP: a parameter nested too deeply is refused as bad parameters, not as an internal error
2026-11-13 09:30:07 +07:00
BFlat 274ec46a51 Merge pull request #7012 from dotCooCoo/fix/followup-6887
New Document: profiles bring their color profiles and link base
2026-11-13 09:29:58 +07:00
BFlat 9c007ec416 Merge pull request #7009 from dotCooCoo/fix/3d-clip-image-outside-shape
3D: an image inside a clip's box but outside its shape is left out
2026-11-13 09:29:50 +07:00
BFlat 14c73e0052 Merge pull request #7014 from dotCooCoo/docs/drawing-readouts-ship
Docs: distance and angle labels while drawing are listed as shipped
2026-11-13 09:29:42 +07:00
BFlat d860886a95 Merge pull request #7013 from dotCooCoo/feat/curvature-modifiers
Curvature: Alt-click on an open end goes on from it, and starts a path with a corner
2026-11-13 09:29:34 +07:00
BFlat 6b790d611c Merge pull request #6977 from slafebre/fix/6969-rasterize-gray
Fix #6969: Rasterize to Grayscale or Bitmap makes a grayscale image
2026-11-13 09:29:25 +07:00
dotCooCoo 7380b2475d Mesh: a color at a mesh envelope's point records no undo step
A mesh envelope's points carry no color, so object.mesh.addLine with
a color at a point the envelope already has changes nothing. It now
compares only the envelope's points and handles and records no undo
step. The command text and docs/mcp.md say so.
2026-11-12 18:23:31 -08:00
Don Omondi 4cbd0f83d7 PDF tests: the mark-text regressions skip without the craft-fonts Noto Sans Arabic 2026-11-12 21:08:34 -05:00
dotCooCoo fe1d56f339 Mesh: adding a line at a mesh point records no undo step
object.mesh.addLine at a point that is already a mesh point (a corner,
a point on an edge or inside) adds neither a row nor a column, yet it
recorded an undo step. The lines are now added to a copy of the object
first: when the grid stays the same, including a mesh envelope stored
without handles, the command returns the point's index and records
nothing. A new color at the point is still one undo step.
2026-11-12 18:06:23 -08:00
jmverges e988ea6dfd Merge remote-tracking branch 'upstream/main' into fix/type-layout-envelopes
# Conflicts:
#	docs/file-format-parity.md
2026-11-13 01:58:54 +00:00
Don Omondi 914607a72c Swatches list (#1638): parity and roadmap revision rows 2026-11-12 20:52:15 -05:00
Don Omondi 53da405efb Merge remote-tracking branch 'upstream/main' into fix/swatches-list-height-1638 2026-11-12 20:52:15 -05:00
dotCooCoo 93155b0e3f Recolor Artwork: the Color Theme Picker keeps symbol art and clipped image reads within their limits
The symbol instances the picker reads now share one limit of 16,000,000
placed objects, charged through charge_symbol_art and counted as the
renderer counts them, so deeply nested or heavily repeated instances
stop there. An instance whose art would pass the limit is left out with
its own paints, as the canvas draws none of it. Pattern tiles carry the
count in and out, and their art is read one level deeper than the
object the pattern fills, so a chain of patterns shares the depth limit
with the art around it; a pattern cut short there is read again where
it is used less deep.

The pixels read inside clip groups are now tested against at most
4,000,000 clipping-path elements in all. The clipped reads of one image
share the work, a read outside clip groups keeps its own pixel budget,
and when the work left can't test a pixel of every clipped read, the
reads that fit are kept in order and the rest are left out.
ImageBlob::sample_pixels takes a pixel budget for each pick.
2026-11-12 17:40:51 -08:00
Sven Lafebre f04b9a0a2d Merge remote-tracking branch 'origin/main' into fix/6969-rasterize-gray
# Conflicts:
#	docs/target-app-parity.md
2026-11-13 02:40:43 +01:00
dotCooCoo df155042d4 Merge main into feat/image-color-mask 2026-11-12 17:40:13 -08:00
dotCooCoo 8e5360b7b1 Layers: only the primary button drags rows, guides, art, columns and appearances
A drag with the right or middle button on a Layers row could move or
copy the row, and the same drag on a guide row, the selected-art
square, the eye or lock column or a target circle moved the guide or
the art, swept visibility or locks, or transferred the appearance.
Each of these drags now starts only with the primary button, as the
Artboards panel's row drag does, and the grab cursor follows the
primary button too. A right-click still opens the row's menu.

The new test drags each of the six sources with the secondary and the
middle button, checks that no drag payload is held and that nothing in
the document or its undo steps changes, then drags the same path with
the primary button to show the drop target takes it.
2026-11-12 17:39:54 -08:00
dotCooCoo d3bef19990 Docs: distance and angle labels while drawing are listed as shipped
docs/ui-parity.md and docs/target-app-parity.md listed the distance and
angle readouts while drawing as missing. With Smart Guides > Measurement
Labels on, the Line Segment tool labels the segment being drawn with its
distance, angle and X and Y offsets, and the Pen, Curvature and Smart Pen
tools label their rubber band the same way (#2983). The Measurement
labels row is marked done, the two dimension rows drop the gap, and the
Drawing aids entry describes the labels.
2026-11-12 17:31:36 -08:00
BFlat f7a03f7899 Merge pull request #6991 from dotCooCoo/feat/recolor-theme-picker
Recolor Artwork: the Color Theme Picker picks new colors from the art on the canvas
2026-11-13 08:31:13 +07:00
BFlat 39f7d33e22 Merge pull request #6943 from dotCooCoo/feat/color-rgb-percent
Color: a double-click right of an RGB field switches between percent and 0 to 255
2026-11-13 08:31:01 +07:00
BFlat 7430676ff0 Merge pull request #7000 from dotCooCoo/test/envelope-ink-type
Tests: envelope ink tests set type in a test face and check its outlines
2026-11-13 08:30:52 +07:00
BFlat 8bd948f9b4 Merge pull request #6996 from dotCooCoo/fix/align-artboard-distribute
Align: artboard Distribute buttons need three artboards with Align to Selection
2026-11-13 08:30:39 +07:00
BFlat 45d25f6a34 Merge pull request #6997 from dotCooCoo/fix/filter-gradient-plates
Plug-ins: a filter's gradient stop plates are clamped into range like its other colors
2026-11-13 08:30:29 +07:00
BFlat 2716eab08e Merge pull request #6975 from dotCooCoo/fix/followup-6841
Document Info: Spot Color Objects leaves out fills and strokes at opacity 0
2026-11-13 08:30:19 +07:00
BFlat d41cb1bd54 Merge pull request #6990 from dotCooCoo/test/intertwine-seam-third-object
Tests: Intertwine keeps a third member in front of a raised overlap's margin
2026-11-13 08:30:09 +07:00
BFlat a6f89f8c85 Merge pull request #6976 from dotCooCoo/fix/followup-6847
Cutting Tools: weeding lines stop at an outline that lies on a line
2026-11-13 08:29:58 +07:00
BFlat ae014cc896 Merge pull request #7002 from dotCooCoo/fix/3d-plain-fill-keeps-compound
3D: a fill or stroke without the effect keeps an even-odd path's holes
2026-11-13 08:29:49 +07:00