Commit Graph
5190 Commits
Author SHA1 Message Date
ncic cd89999939 Merge remote-tracking branch 'upstream/main' into pencil-cursors
# Conflicts:
#	docs/target-app-parity.md
2026-11-14 14:42:23 +01:00
BFlat 9f91f96f18 Merge pull request #7286 from dotCooCoo/fix/actions-load-reports-unknown-commands
Actions: Load Actions reports steps with unknown command ids
2026-11-14 20:39:02 +07:00
BFlat 8d1aa857d5 Merge pull request #7276 from dotCooCoo/fix/issue-6784
Contextual Task Bar: Smooth opens the Smooth slider with Direct Selection
2026-11-14 20:38:54 +07:00
BFlat 94237e00a9 Merge pull request #7268 from dotCooCoo/fix/ai-warped-image-pieces-cropped
.ai export: the pieces of a warped image write only the pixels they show
2026-11-14 20:38:46 +07:00
BFlat 035d22b3e2 Merge pull request #7476 from dotCooCoo/fix/svg-clip-path-effects
Effects: a clipping path's geometry effects shape the clip on the canvas
2026-11-14 20:38:37 +07:00
BFlat 678a64259d Merge pull request #7575 from dotCooCoo/fix/recovery-write-keeps-newer-status
Recovery: a recovery copy that finishes later keeps a newer status line
2026-11-14 20:38:29 +07:00
BFlat 31f6a9f15e Merge pull request #7367 from dotCooCoo/fix/ai-calligraphic-samples
.ai import: Calligraphic paths with pen samples keep their drawn look
2026-11-14 20:38:22 +07:00
BFlat 4bcb0026da Merge pull request #7569 from dotCooCoo/perf/3d-validation-builds-once
3D: effect validation builds each Extrude and Inflate solid once
2026-11-14 20:38:09 +07:00
BFlat 3c15649730 Merge pull request #7427 from dotCooCoo/fix/live-paint-expand-drawn-stroke
Live Paint: Expand keeps the faces and edges that draw
2026-11-14 20:37:59 +07:00
BFlat 9f55dbdd46 Merge pull request #7327 from dotCooCoo/fix/graph-label-paint-recolor
Graphs: recolor, stroke and gradient edits on labels are kept for their kind
2026-11-14 20:37:50 +07:00
BFlat ca0050be1b Merge pull request #7578 from dotCooCoo/fix/gradient-spot-colorants-drawn-stops
PDF and EPS export: gradients name only the spot inks of stops that color something
2026-11-14 20:37:42 +07:00
BFlat e5153bd625 Merge pull request #7574 from dotCooCoo/fix/issue-7411
Fix #7411: a selection grabbed by an anchor snaps it onto other paths
2026-11-14 20:37:33 +07:00
BFlat 9800d48e58 Merge pull request #7571 from dotCooCoo/fix/cmyk-tiff-alpha-16-bit
TIFF: a 16-bit CMYK or gray TIFF with alpha converts at 16 bits
2026-11-14 20:37:26 +07:00
BFlat a967f28548 Merge pull request #7421 from dotCooCoo/fix/art-brush-proportional-weight
Brushes: Scale Proportionately art grows with the stroke weight
2026-11-14 20:37:17 +07:00
BFlat c8230b469a Merge pull request #7422 from dotCooCoo/fix/dcs-placement-clip-keeps-file-clip
Place: Placement Options clip a DCS image inside its file's clipping path
2026-11-14 20:37:10 +07:00
BFlat 50ac301797 Merge pull request #7416 from dotCooCoo/fix/plugin-unlinked-stop-plates
Plug-ins: unlinking a gradient stop's spot swatch also clears its plates
2026-11-14 20:37:02 +07:00
BFlat a1d320917e Merge pull request #7438 from dotCooCoo/feat/ai-import-kinsoku-settings
.ai import: reads Kinsoku, Kinsoku Shori Type, Burasagari and Bunri-Kinshi
2026-11-14 20:36:54 +07:00
BFlat f793044f83 Merge pull request #7587 from dotCooCoo/fix/open-dimension-labels-own-fonts
Dimensions: an opened file redraws its labels in its own composite fonts
2026-11-14 20:36:46 +07:00
BFlat f8faab6597 Merge pull request #7429 from dotCooCoo/fix/live-shape-replay-negative-radius
Live Shapes: saved object.setLiveShape steps with a negative radius or out-of-range sides replay again
2026-11-14 20:36:38 +07:00
BFlat 48b947692b Merge pull request #7576 from dotCooCoo/fix/svg-path-type-before-start
SVG import: type on a closed path wraps around past the path's start
2026-11-14 20:35:12 +07:00
BFlat 9aa328047a Merge pull request #7420 from dotCooCoo/fix/dxf-ellipse-doc-line
Docs: DXF export of a non-circular ellipse is listed as a native ELLIPSE
2026-11-14 20:35:00 +07:00
BFlat d2b4b5f956 Merge pull request #7410 from dotCooCoo/fix/de-missing-message-rows
i18n: German translates the messages no catalog had a row for
2026-11-14 20:34:51 +07:00
BFlat bbb5a38100 Merge pull request #7362 from dotCooCoo/fix/nl-message-rows
i18n: Dutch translates 1,813 of the status and error messages the untranslated report lists
2026-11-14 20:34:40 +07:00
BFlat 8deaeda1f5 Merge pull request #7516 from ruchirguitar/feat/symbol-weather-icons
Symbols: built-in Weather Icons symbol library
2026-11-14 20:34:29 +07:00
BFlat a47d7eec91 Merge pull request #7478 from dotCooCoo/fix/export-selection-pdf-options
Export Selection: the picked format's options dialog follows the save panel
2026-11-14 19:38:30 +07:00
BFlat 73b9eee842 Merge pull request #7151 from dotCooCoo/fix/i18n-literal-brace-messages
i18n: messages with literal braces match only their own catalog row
2026-11-14 19:38:19 +07:00
BFlat c1d153c051 Merge pull request #7485 from dotCooCoo/fix/quit-hides-all-windows-wayland
Clipboard: quitting on Linux takes every window off screen before the clipboard wait
2026-11-14 19:38:10 +07:00
BFlat 95c9f347d6 Merge pull request #7507 from dotCooCoo/feat/cjk-tsume
Type: Tsume narrows the space around each character's ink
2026-11-14 19:38:02 +07:00
BFlat da9d9f8cf4 Merge pull request #7498 from dotCooCoo/fix/graph-design-art-style-redefine
Graphs: graphic styles leave a design's art in a series unlinked
2026-11-14 19:37:45 +07:00
BFlat 67f432c965 Merge pull request #7502 from dotCooCoo/fix/revolve-local-depth-order
Revolve: overlapping faces draw in the order of their depths where they overlap
2026-11-14 19:37:37 +07:00
dotCooCoo bfa0c8e15e Dimensions: an opened file redraws its labels in its own composite fonts
When a document opens or is reverted with dimensions whose art is not in
its color mode, the dimensions are drawn again before the document's
composite fonts are registered. A label whose font names a composite font
that another open document defines differently was measured in that other
definition, so it was centered off its anchor. The redraw now measures the
labels in the document's own composite fonts, in front and in the back.
2026-11-14 04:31:29 -08:00
ncic fc47e4782b Pencil: Use Precise Cursors shows the plain crosshair again; a far close is a straight segment 2026-11-14 13:23:22 +01:00
dotCooCoo 1d8fd3f9dd Merge main into fix/actions-load-reports-unknown-commands 2026-11-14 04:18:07 -08:00
dotCooCoo efb31aa51a PDF and EPS export: gradients name only the spot inks of stops that color something
A gradient's Separation or DeviceN space, and EPS's %%DocumentCustomColors,
named the spot ink of every linked stop. A stop out of order whose
neighboring stretches have no width, a stop at a tint of 0 without process
plates, and in PDF a stop whose stretches are fully transparent print no
ink, but their spot inks were still declared, so separations got an empty
plate.

- vectorcraft-color: Gradient::drawn_stops (the rule Document Info uses,
  moved here) and Gradient::reached_stops (every stop taken as opaque).
- PDF: Separation and DeviceN shadings, the Perceptual spot shadings and
  the spot-image warning name only inks of drawn stops at a tint above 0
  or with process plates; other stops are written with no ink, so their
  process inks and RGB or Lab colors no longer shape the space either.
- EPS: the same with reached stops, since EPS writes stops opaque; a
  transparent spot stop keeps its ink.

Output is unchanged when every stop colors part of the gradient and every
spot stop has a tint above 0 or process plates.
2026-11-14 04:11:40 -08:00
dotCooCoo 490c803080 SVG import: type on a closed path wraps around past the path's start
Text on a path of one closed subpath that is anchored to start before
the path's start point (text-anchor end or middle, right-to-left start,
or a negative startOffset) started at the start point, and text offset
past the path's end started at its end. It now wraps around the path,
as SVG 2's startOffset attribute describes for a single closed subpath
(https://www.w3.org/TR/SVG2/text.html#TextPathElementStartOffsetAttribute):
text-anchor end at startOffset 0 ends at the start point. Open paths
and paths of several subpaths still start the text at the path's start
or end.
2026-11-14 04:04:48 -08:00
dotCooCoo 25e35ee5b1 3D: effect validation builds each Extrude and Inflate solid once
Checking an Extrude & Bevel (both kinds) or Inflate effect built every
shape's profile about the profiles' bounds, then built the fill and
stroke solids again about the bounds of the regions they paint. A
filled shape's profile is its fill's solid, so that solid was built
twice. When a stroke reaches past the shape, the first build also used
bounds the effect does not draw it about.

The check now builds the profile on its own only where no drawn solid
is built from it: every shape for Rotate, and for Extrude & Bevel and
Inflate a shape with no fill (strokes only, or no paint). A filled
shape's solid is built once, about the bounds the effect draws it
about. The shadow check is unchanged.

Tests count the solids the check builds: an object with a fill and a
stroke, a group of two such members, an effect on the fill and the
shadow on; a shape with no fill still has its profile built.
2026-11-14 03:51:00 -08:00
dotCooCoo 7e63d4ca0c Recovery: a recovery copy that finishes later keeps a newer status line
A recovery copy written in the background set "Saved recovery data for
<title>" (or its failure line) when it finished, over any message shown
since it started, such as Restore's count with its notes or the
"Saving…" line of a copy started after it.

The status bar now counts the messages VectorcraftApp::status sets. A
copy shows its result only while its own "Saving recovery data for …"
line is still the latest message, or right away when it was written
without the worker. A failure is still logged, and a failed folder is
still recorded for automation replies, when its line is not shown.
2026-11-14 03:48:25 -08:00
dotCooCoo fe82f68d6f TIFF: a 16-bit CMYK or gray TIFF with alpha converts at 16 bits
Place, Open and relink read a CMYK or grayscale TIFF with an alpha
channel through extra_samples_tiff_rgba, which cut every 16-bit sample
to its high byte before converting it. A faint ink or a low alpha was
lost: cyan 129 at full alpha showed as white, and an alpha of 129
became fully transparent.

The samples are now normalized at the depth the file stores them, and
only the resulting color and alpha are rounded to 8 bits (a 16-bit
alpha to the nearest 8-bit value). Associated alpha is divided out at
16 bits. A pixel whose associated alpha is zero now has no color,
instead of keeping its stored color. TIFF 6.0's Associated Alpha
Handling section states this arithmetic and the zero-alpha rule for
RGB data; applying them to CMYK and gray samples is VectorCraft's own
rule.
2026-11-14 03:44:41 -08:00
dotCooCoo 5803d2da4a Fix #7411: a selection grabbed by an anchor snaps it onto other paths
With Smart Guides on, a selection the Selection tool grabbed by one of
its anchors only landed that anchor on other anchors and centers, or
lined its bounds up. The anchor now also lands on the other objects'
paths ("path"), and where a path crosses another path or a ruler guide
("intersect"), in the order Direct Selection uses for a dragged anchor.
When the anchor lands on a path, the bounds do not also line up with
other objects, and a ruler guide nearby does not pull it off the path.
A selection grabbed anywhere else keeps lining its bounds up.

- Targets::for_move_by_anchor gathers the other art's path segments as
  well, and Targets::snap_onto_path lands a point on them or on their
  crossings with each other and with the ruler guides.
- MoveSnap::by_anchor uses those targets; the Selection tool picks it
  when the press grabbed an anchor.

Reported by pivot-al.

Docs: docs/target-app-parity.md.
2026-11-14 03:42:08 -08:00
ncic bdaaff534c Merge remote-tracking branch 'upstream/main' into pencil-cursors
# Conflicts:
#	docs/ui-parity.md
2026-11-14 12:31:28 +01:00
dotCooCoo 0397bfa47f Merge main into fix/ai-calligraphic-samples 2026-11-14 02:53:05 -08:00
ruchirguitar e0fe953258 docs: sync symbols area row inventory in target-app-parity 2026-11-14 16:05:47 +05:30
dotCooCoo a8c2a405ac Merge main into fix/dxf-ellipse-doc-line 2026-11-14 02:34:12 -08:00
dotCooCoo 110cf34f29 Merge main into feat/ai-import-kinsoku-settings 2026-11-14 02:32:17 -08:00
dotCooCoo 5eb428f02f Merge main into fix/nl-message-rows 2026-11-14 02:25:45 -08:00
dotCooCoo a9fbb7aa50 Merge main into fix/svg-clip-path-effects 2026-11-14 02:24:38 -08:00
dotCooCoo bf3a23d031 Merge main into fix/graph-label-paint-recolor 2026-11-14 02:19:54 -08:00
dotCooCoo 66ae075f90 Merge main into fix/plugin-unlinked-stop-plates 2026-11-14 02:14:25 -08:00
dotCooCoo f21c9561c5 Merge main into fix/ai-warped-image-pieces-cropped 2026-11-14 02:14:20 -08:00
ruchirguitar 140df22be3 docs: update feature status date and parity revision history for Weather Icons 2026-11-14 15:44:03 +05:30