Commit Graph
13053 Commits
Author SHA1 Message Date
dotCooCoo 5fba145353 Merge main into fix/mesh-point-color-panel 2026-11-14 05:29:50 -08: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 2509131581 Merge pull request #7567 from dotCooCoo/fix/svg-plaintext-isolate-across-tspans
SVG import: plaintext finds its first strong character across tspans
2026-11-14 19:37:53 +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
BFlat 9a8b7bc3db Merge pull request #7517 from jayzed80/fix/offset-path-clip-silhouette-7289
Appearance: a group's own fills and strokes follow a clip group's clipping path, not the art it hides (#7289)
2026-11-14 19:37:29 +07:00
dotCooCoo 00767dcf57 Color: picked gradient mesh points are the color the panels show and edit
With points of a gradient mesh picked (Mesh tool, Direct Selection or the
Lasso), a solid fill color from the Color panel recolors just those points,
but the Fill proxy, the Color panel, the Color Wheel and the Control bar's
fill chip kept showing the mesh object's own fill, so the panel's sliders
jumped back after each drag.

- The new `Session::fill_mesh_points` resolves the targets as
  `paint.setFill` does: the picked points of every selected mesh, unless the
  Appearance panel's active row is a fill or an object of a symbol instance
  is selected. When the first selected object is a mesh among them, the Fill
  proxy (`paint.proxies`) shows its first picked point's color, and "?"
  compares the picked points' colors with each other and with the other
  selected objects' fills.
- `Session::mesh_points_picked` lists the points `transparency.set` fades: it
  is empty while the Appearance panel's active row takes the opacity, and
  `transparency.info` and the Transparency panel now follow it there too.
- The cached "?" state and the Transparency panel's values are recomputed when
  other points are picked, which gives the document no new revision.
- The Control bar's opacity shows the first picked point's opacity, which
  `transparency.set` changes then.
- The `paint.setFill` and `transparency.set` params texts name the picked
  points instead of the point last clicked, and the `paint.proxies` text,
  docs/mcp.md and the progress doc describe what the panels show.
2026-11-14 04:32:44 -08:00
dotCooCoo c764c59825 SVG import: plaintext finds its first strong character across tspans
With `unicode-bidi: plaintext`, SVG import looked for the first strong
character of an element in each text node on its own and kept the
first answer. An isolate that opened in one text node and closed in a
later one hid the rest of that node, and the node then answered left
to right. For `&#x2067;ab<tspan>&#x2069;&#x5D0;</tspan>` the element
ran left to right, where UAX #9 P2 skips the isolate and finds the
right-to-left letter after it
(https://www.unicode.org/reports/tr9/#P2).

The characters of the whole `<text>` are now read once, in order, and
each isolate initiator is matched with its PDI (UAX #9 BD9). Each
element's first strong character is then found in constant time, so
nested `plaintext` elements do not read the same characters again. An
isolate that opens inside an element and closes after it hides the
rest of that element.

vectorcraft-svg takes `unicode-bidi` 0.3.18, which vectorcraft-text
already uses, for the bidi classes.
2026-11-14 03:50:57 -08:00
BFlat 124e3cc2f1 Merge pull request #7537 from storytold/fix/fr-bracket-fields
i18n: French keeps [subpath, anchor] in English (fix main)
2026-11-14 18:50:46 +07:00
bflatastic d97bb27d58 i18n: French keeps [subpath, anchor] in English
#7307's French message rows ran CI before #7392 made bracketed field names stay in English,
and two of them translate [subpath, anchor], so main fails
translated_messages_keep_the_field_names_and_values_their_english_lists.
2026-11-14 17:46:50 +07:00
dotCooCoo a2e98feb64 i18n: keep bracketed field names untranslated in fr rows 2026-11-14 02:18:24 -08:00
dotCooCoo fb13d2045d Merge main into feat/cjk-tsume 2026-11-14 01:56:33 -08:00
BFlat edb228ac33 Merge pull request #7402 from dotCooCoo/fix/more-int-param-wrong-type
MCP: path, type, panel, library, style and ruler indices refuse a wrong-type value
2026-11-14 16:54:34 +07:00
BFlat 3c7d72f8bc Merge pull request #7333 from dotCooCoo/fix/graph-series-gradient-per-mark
Graphs: a kept gradient takes the same place on every mark of its series
2026-11-14 16:54:26 +07:00
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
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
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
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
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
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
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
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
BFlat e0c5617d4b Merge pull request #7482 from dotCooCoo/fix/ru-missing-message-rows
i18n: Russian translates 114 status and error messages that no catalog had
2026-11-14 16:50:46 +07: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
BFlat a30c990fc0 Merge pull request #7490 from dotCooCoo/fix/pathops-turn-test-comment
Path ops: Offset Path turn test describes the cases it checks
2026-11-14 16:50:29 +07: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
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
BFlat d6e09c0726 Merge pull request #7480 from dotCooCoo/fix/document-drag-profile-switch
Document tabs: art dragged onto a document with other assigned profiles drops there
2026-11-14 16:49:54 +07: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
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
BFlat ea0e8142e9 Merge pull request #6613 from ruchirguitar/feat/gu-interface-catalog
i18n: add Gujarati (gu) interface catalog
2026-11-14 16:49:14 +07:00
dotCooCoo 82e098d60c Merge main into fix/i18n-literal-brace-messages 2026-11-14 01:47:12 -08:00
ruchirguitar f9ab6fcbac fix(layers): resolve holding layer for object rows in others actions and check sublayer state 2026-11-14 14:13:47 +05:30
BFlat 47500c42c2 Merge pull request #7514 from storytold/fix/cs-bracket-fields
i18n: Czech keeps [subpath, anchor] in English (fix main)
2026-11-14 15:38:38 +07:00
ruchirguitar 22fc487cb5 #6613: reconcile main and preserve Czech parameter literals 2026-11-14 14:05:01 +05:30
ruchirguitar b0379b0309 fix(layers): resolve review feedback for row key ownership, others actions, and delete gating 2026-11-14 13:25:54 +05:30
bflatastic 04a2f1c6b9 i18n: Czech keeps [subpath, anchor] in English
The Czech message rows (#7355) and the rule that bracketed field names stay in English (#7392)
landed in the same batch; four Czech rows translated [subpath, anchor], so main fails
translated_messages_keep_the_field_names_and_values_their_english_lists.
2026-11-14 14:35:02 +07:00
jayzed80 f4f90d3e99 Appearance: a group's own fills and strokes follow a clip group's clipping path, not the art it hides (#7289)
A Fill + Offset Path below a group's Contents painted every clipped member
of a clip group among its members, so art hidden outside the clipping path
bulged the offset outline. A clip group (or clipping layer) now adds the
region its clipping path clips to.
2026-11-14 07:14:51 +00:00
ruchirguitar 71df7e0e6d #6613: apply approved Gujarati proofreading corrections 2026-11-14 12:20:13 +05:30