Commit Graph
5748 Commits
Author SHA1 Message Date
BFlat 111ceddb9b Merge pull request #7383 from dotCooCoo/feat/ai-art-brush-options
.ai import and save: Art brushes keep None, their width, scale and flips
2026-11-14 16:54:16 +07:00
dotCooCoo 803460aee4 Merge main into feat/da-complete-messages 2026-11-14 01:54:12 -08:00
BFlat 4f0bc17f1d Merge pull request #7406 from dotCooCoo/feat/task-bar-blank-canvas
Contextual Task Bar: a blank canvas offers Draw (Pencil) and Place Image
2026-11-14 16:54:08 +07:00
dotCooCoo 15d6e107b6 Merge main into fix/remove-breaks-named-locked-type 2026-11-14 01:54:04 -08:00
BFlat c3df647cd7 Merge pull request #7408 from dotCooCoo/fix/3d-export-builds-once
3D: Export 3D Object builds each Extrude and Inflate solid once
2026-11-14 16:53:56 +07:00
dotCooCoo 79e719dcdd Merge main into fix/export-bakes-symbol-art-effects 2026-11-14 01:53:06 -08:00
BFlat 4c86cb97d3 Merge pull request #7489 from dotCooCoo/fix/instance-row-raster-effects
Effects: raster effects on a symbol instance's fill or stroke are drawn
2026-11-14 16:52:35 +07:00
BFlat cfe642ebaa Merge pull request #7414 from dotCooCoo/fix/control-bar-narrow-fill-stroke
Control bar: in a narrow window, Fill, Stroke and Opacity stay inside the bar
2026-11-14 16:52:18 +07:00
dotCooCoo 3e08b96690 Merge main into fix/no-op-undo-steps 2026-11-14 01:52:17 -08:00
BFlat 158e7eed5c Merge pull request #7500 from dotCooCoo/fix/eps-freeform-field-once
EPS: a freeform gradient's image drawn more than once writes its samples once
2026-11-14 16:52:10 +07:00
BFlat 78cb105961 Merge pull request #7481 from dotCooCoo/feat/every-line-composer-shaped-overflow
Type: the Every-line Composer sets the visible lines of a mixed-size paragraph that overflows a shaped frame
2026-11-14 16:51:54 +07:00
dotCooCoo 2a5f2009d8 Graphs: Import Data reads UTF-16 text files without a byte-order mark
The Graph Data window's Import Data read UTF-16 only after a byte-order
mark, so a UTF-16 file without one filled the cells with NUL characters.
It now reads such a file in the byte order Import Data Sets' rule (#7348)
gives it: at least half of the two-byte units hold a NUL byte, and the
byte order is the one that reads the line breaks. The text is then read
as after a byte-order mark: an odd last byte is dropped and an unpaired
surrogate reads as U+FFFD. A file the rule refuses is read as UTF-8, as
before.

The rule now also gives a byte order to a one-line file, which reads a
line break in neither order: big-endian when more of its units start
with a NUL byte than end with one, else little-endian as before. Import
Data Sets still refuses a one-line file, which has no data rows; read in
the new order, such a file can be refused with a different error first.
2026-11-14 01:51:42 -08:00
BFlat 92b89f88a8 Merge pull request #7386 from dotCooCoo/fix/mcp-docs-stack-file
Docs: script stack frames and $.fileName name the file of the code
2026-11-14 16:51:41 +07:00
dotCooCoo 29949c8112 Merge main into fix/inflate-lazy-puffs 2026-11-14 01:51:39 -08:00
BFlat ddfa381c91 Merge pull request #7273 from dotCooCoo/fix/knockout-groups-flat-masks
PDF/SVG export: knockout groups nest no deeper with more elements
2026-11-14 16:51:33 +07:00
BFlat 895307e58b Merge pull request #7487 from dotCooCoo/fix/paste-graph-label-styles
Paste: graphs bring and follow the styles and swatches their labels keep
2026-11-14 16:51:25 +07:00
dotCooCoo 8969633c71 Flatten: boxes staggered right and down meet only the box before in the grouping sweep
When an arriving box that joins everything it overlaps covers an open
box to the right and below, and starts lower than it, the open box now
keeps only its part above the arriving box's top in the sweep's tree.
Any later box that would have met the removed part meets the arriving
box instead, which is open at least as long and in the same set, so
the groups stay the same. A box held by an open box is not opened and
cuts nothing short.

512 boxes, each 1 pt right of and below the one before, now meet 511
open boxes in the sweep instead of 130,816, with and without
transparency. Staggering right and up in sweep order still meets every
earlier open box.

The every-pair test oracle skips boxes that aren't finite, as the
sweep does.
2026-11-14 01:51:12 -08:00
BFlat 868a86ddff Merge pull request #7494 from dotCooCoo/fix/gradient-vector-snap-draw
Gradient tool: a vector drawn on the art snaps as other drawn points do
2026-11-14 16:51:12 +07:00
BFlat 1c324e47a1 Merge pull request #7312 from dotCooCoo/fix/polygon-sides-refused
Shapes: addon.shapes commands refuse values outside their ranges
2026-11-14 16:51:03 +07:00
BFlat 713d23fd85 Merge pull request #7307 from dotCooCoo/fix/fr-message-rows
i18n: French translates 1,804 of the status and error messages the untranslated report lists
2026-11-14 16:50:54 +07:00
dotCooCoo b93a26509f Merge main into fix/web-open-keeps-both-link-lines 2026-11-14 01:50:49 -08:00
BFlat 2985970a84 Merge pull request #7403 from dotCooCoo/feat/colr-gradient-repeat
Type: COLR glyphs with repeating or reflecting gradients draw as vector art
2026-11-14 16:50:37 +07:00
dotCooCoo 07b611c030 Merge main into fix/export-bakes-symbol-art-effects 2026-11-14 01:50:31 -08:00
BFlat edc2a68138 Merge pull request #7350 from dotCooCoo/fix/ko-message-rows
i18n: Korean has a row for 1,813 of the messages the untranslated report lists
2026-11-14 16:50:20 +07:00
BFlat 3382abdd05 Merge pull request #7484 from dotCooCoo/fix/wayland-clipboard-stuck-pipe
Clipboard: a Wayland read or send ends when the other app moves no data for 2 s
2026-11-14 16:50:11 +07:00
dotCooCoo 492bde8a37 Merge main into feat/da-complete-messages 2026-11-14 01:50:10 -08:00
BFlat 040311b658 Merge pull request #7486 from dotCooCoo/fix/zh-hans-missing-message-rows
i18n: Simplified Chinese translates 114 status and error messages that no catalog had
2026-11-14 16:50:03 +07:00
dotCooCoo 868ba4f677 Merge main into fix/hu-message-rows 2026-11-14 01:49:48 -08:00
BFlat 534ca0a9a3 Merge pull request #7479 from dotCooCoo/test/trace-mixed-width-scene
Image Trace: centre-lines quality measures Create Strokes' split on a mixed-width body
2026-11-14 16:49:45 +07:00
dotCooCoo b67a9320bb Merge main into feat/learn-progress-rings 2026-11-14 01:49:40 -08:00
BFlat e419f931ff Merge pull request #7496 from dotCooCoo/fix/svg-tspan-bidi
SVG import: a nested tspan keeps its direction and unicode-bidi
2026-11-14 16:49:38 +07:00
BFlat e229c5948e Merge pull request #7497 from dotCooCoo/fix/palette-layer-delete-once
Command Palette: Delete Selection asks first, as the Layers panel does
2026-11-14 16:49:30 +07:00
BFlat 73c59de0c2 Merge pull request #7424 from ruchirguitar/feat/layers-row-context-menu
Layers: row context menu and actions
2026-11-14 16:49:22 +07:00
dotCooCoo acb5b3293f Merge main into fix/type-dialogs-story-wide 2026-11-14 01:47:35 -08:00
dotCooCoo 82e098d60c Merge main into fix/i18n-literal-brace-messages 2026-11-14 01:47:12 -08:00
ruchirguitar 22fc487cb5 #6613: reconcile main and preserve Czech parameter literals 2026-11-14 14:05:01 +05:30
ncic cbd1c142dc Merge remote-tracking branch 'upstream/main' into pencil-cursors
# Conflicts:
#	docs/target-app-parity.md
2026-11-14 09:05:01 +01:00
ncic 3789bc27bc Merge remote-tracking branch 'upstream/main' into pencil-no-guides
# Conflicts:
#	docs/mcp.md
#	docs/target-app-parity.md
2026-11-14 08:54:32 +01:00
dotCooCoo 653e1fdf22 Merge main into feat/ai-insert-aki 2026-11-13 23:18:06 -08:00
dotCooCoo 06e6ee943b Merge main into fix/action-batch-step-number 2026-11-13 23:14:57 -08:00
dotCooCoo 8ca4b64175 Merge main into fix/convert-to-text-locked-frames 2026-11-13 23:14:47 -08:00
dotCooCoo 5fbb4f2c64 Merge main into fix/links-stored-brush-art 2026-11-13 23:11:59 -08:00
dotCooCoo 21da73402f Live Paint: Make keeps every fill and stroke row that draws on the source
Object > Live Paint > Make gave each new face and edge one fresh row
built from only the source's topmost fill or stroke paint and the top
stroke's weight. A lower row that draws was lost, a hidden top row
became visible, and the rows' opacity, blending mode, effects and
stroke settings were dropped.

- A face takes every fill row that draws (shown, with paint and an
  opacity above 0) of its front-most covering source that has one and
  an opacity above 0, in order with their settings. A source in front
  whose fill does not draw no longer hides the fill behind it.
- An edge takes every stroke row of its source that draws (also with a
  weight above 0). Faces and edges take the source's opacity and
  blending mode; gradients keep their fit on the source, and pen
  pressure stays with the source.
- Where a path is cut into several edges, each edge runs the way the
  path does, its dashes go on from where it starts along the path, the
  arrowheads stay at the path's own ends, and a width profile or brush
  stays only on an edge that runs the whole path.
- Rows that draw nothing stay with the stored sources, which Release
  returns unchanged. Merge and Gap Options build their new parts the
  same way.

Docs: livePaint.make params, docs/mcp.md, docs/target-app-parity.md.
2026-11-13 23:11:17 -08:00
dotCooCoo 6bcc48690d Merge main into fix/reverse-path-profiles 2026-11-13 23:08:45 -08:00
dotCooCoo e76982bfad Artwork Cleanup: named type on a locked artboard stays out of the text tools
Add a test that Remove Breaks leaves type on a locked artboard as it is
when ids names it, with no undo step. Rewrap the Text tools paragraph
in docs/mcp.md and name the tests in docs/target-app-parity.md.
2026-11-13 23:08:11 -08:00
dotCooCoo 305a98de12 i18n: Czech translates 114 status and error messages that no catalog had
untranslated_report lists status and error messages that no
complete-message catalog translates. cs.tsv gains 114 @msg rows for the
ones no open pull request covers: 3D and Revolve limits, image export
and encoding errors, color profiles, color books and swatch exchange
files, binary DXF and DWG import, path operations, swatch, graphic style
and action set libraries, and zip, script and regular expression errors.
Placeholders, backticked names, command ids and listed values stay as the
English writes them.

The report still lists 54 messages for every language: 53 composite
font, SVG filter, read root and graph design errors left to #7211, #7378
and #7405, and "`index` must be a whole number". The Czech row of
docs/localization-parity.md gets the new counts, and
docs/target-app-parity.md lists the change.
2026-11-13 23:07:22 -08:00
dotCooCoo 3c4170fa25 Merge main into fix/svg-masked-shadow 2026-11-13 23:05:34 -08:00
dotCooCoo 66535b725b Merge main into fix/eps-ryumin-light-h 2026-11-13 23:05:31 -08:00
dotCooCoo bfdf50ffb0 Merge main into fix/text-inset-skips-seams 2026-11-13 23:05:09 -08:00
dotCooCoo 05c652f9fc Merge main into fix/export-bakes-symbol-art-effects 2026-11-13 23:04:23 -08:00