BFlat
bd92fd78cd
Merge pull request #6189 from dotCooCoo/feat/js-builtins-core
...
JavaScript: vectorcraft-js adds ES5 Object, Array, Math, JSON and Function.prototype.bind
2026-11-09 09:28:15 +08:00
BFlat
b652599548
Merge pull request #6264 from dotCooCoo/feat/plugin-importers
...
Plug-ins: importer plug-ins open file types VectorCraft does not read
2026-11-09 09:24:07 +08:00
BFlat
59e485614c
Merge pull request #6267 from slafebre/fix/6252-new-art-follows-selection
...
Fix #6252 : selecting an object gives new art its fill, stroke and weight
2026-11-09 09:23:02 +08:00
BFlat
636ffe78ce
Merge pull request #5070 from dotCooCoo/feat/kinsoku-shori-type
...
Paragraph: Kinsoku Shori Type chooses Push In First, Push Out First or Push Out Only
2026-11-09 09:22:52 +08:00
BFlat
7361e70452
Merge pull request #4599 from dotCooCoo/fix/blend-pick-resets-on-history-step
...
Blend: a pending pick starts over when the document's history changes
2026-11-09 09:18:15 +08:00
BFlat
44a37b0729
Merge pull request #6233 from dotCooCoo/fix/fitted-gradient-turns-with-transform
...
Effects: fitted gradients turn with the Transform effect
2026-11-09 08:58:30 +08:00
BFlat
104977f404
Merge pull request #6263 from dotCooCoo/fix/plugin-grant-module-hash
...
Plug-ins: a permission grant covers only the module that was approved
2026-11-09 08:58:22 +08:00
BFlat
e8dbb22d4c
Merge pull request #6174 from dotCooCoo/feat/3d-classic-extrude-bevel
...
3D (Classic): Extrude & Bevel (Classic) extrudes art with Wireframe, No Shading, Diffuse and Plastic surfaces
2026-11-09 08:53:49 +08:00
dotCooCoo
3ea13d88d3
Merge main into feat/kinsoku-shori-type
...
# Conflicts:
# crates/engine/src/cmd/panelcmds.rs
2026-11-08 16:47:29 -08:00
dotCooCoo
918ef940cb
Merge main into feat/plugin-importers
2026-11-08 16:45:20 -08:00
dotCooCoo
1f9319ae97
Merge main into feat/js-builtins-core
2026-11-08 16:34:50 -08:00
dotCooCoo
5faa5c4d1d
JavaScript: JSON.parse releases its text before the reviver runs
...
The text is rooted and held only while the parse runs. A reviver can use the room the text took.
2026-11-08 16:34:49 -08:00
dotCooCoo
be46e95cd9
Merge main into fix/blend-pick-resets-on-history-step
2026-11-08 16:34:32 -08:00
dotCooCoo
fb4c38db5d
JavaScript: JSON.parse counts its text and pending names toward the heap limit
...
The text a non-string argument converts to stays rooted while the parse runs, so a
collection still counts it. A property name read from the text is charged to the heap
until its property is defined. Boolean.prototype.toString and valueOf are added, so a
Boolean object writes `true` or `false`. The json2 sample no longer includes U+2028:
the polyfill escapes it and section 15.12.3 does not.
2026-11-08 16:27:59 -08:00
BFlat
a5c166fbea
Merge pull request #6260 from dotCooCoo/fix/composite-fonts-review
...
Type: type in a composite font is measured in its own document's definition
2026-11-09 08:27:10 +08:00
Sven Lafebre
de6cc6a9c3
Fix #6252 : selecting an object gives new art its fill, stroke and weight
...
With New Art Has Basic Appearance on (the default), the selection never
reached the fill and stroke proxies, so new art kept the colours set last.
A select.* command or layer.target that changes the selection now loads
the proxies and the weight from what the selection shows in them.
A paint or weight the selected objects don't share stays as it was, and
art without paint (a placed image) changes nothing. The template is left
alone, and only a changed selection loads, so a sampled paint stays.
2026-11-09 01:26:47 +01:00
dotCooCoo
501d82ece4
Merge main into feat/js-builtins-core
2026-11-08 16:25:35 -08:00
dotCooCoo
6e058f1481
Merge main into fix/plugin-grant-module-hash
2026-11-08 16:22:41 -08:00
BFlat
49c8b86461
Merge pull request #6262 from devius/ka-update
...
i18n(ka): update the Georgian catalog (59 strings)
2026-11-09 08:22:09 +08:00
dotCooCoo
0ce616da4b
Merge main into feat/kinsoku-shori-type
...
# Conflicts:
# crates/engine/src/cmd/panelcmds.rs
# crates/text/src/layout/breaking.rs
# crates/ui-egui/src/panels/paragraph.rs
# docs/target-app-parity.md
2026-11-08 16:13:35 -08:00
BFlat
0c4fd6afa0
Merge pull request #6261 from dotCooCoo/fix/macos-filter-plugin-shortcut-test
...
Tests: the filter plug-in shortcut test accepts the macOS chord text
2026-11-09 08:08:08 +08:00
dotCooCoo
98b5892a37
Merge main into fix/blend-pick-resets-on-history-step
2026-11-08 16:06:38 -08:00
BFlat
64280c64d3
Merge pull request #6152 from dotCooCoo/perf/contours-cover-lists
...
Path ops: boolean contour passes test the shapes covering each face instead of a flag per shape
2026-11-09 08:03:59 +08:00
BFlat
2fe33b1fc6
Merge pull request #5355 from dotCooCoo/feat/help-bar-visibility
...
UI: show or hide the Help Bar independently
2026-11-09 08:02:10 +08:00
BFlat
ab0cadc924
Merge pull request #6113 from ruchirguitar/fix/5949-hover-numeric-wheel
...
Numeric fields: step on wheel hover without taking focus
2026-11-09 07:57:18 +08:00
BFlat
7724463e00
Merge pull request #5991 from mockydevs/fix/eps01-editing-overlay
...
EPS import: gradients drawn as abutting strips come in as one gradient, without seams
2026-11-09 07:57:02 +08:00
dotCooCoo
e2bac253f1
Merge main into fix/fitted-gradient-turns-with-transform
2026-11-08 15:56:12 -08:00
dotCooCoo
988da4538a
Merge main into fix/plugin-grant-module-hash
2026-11-08 15:55:53 -08:00
BFlat
52ee41f897
Merge pull request #6253 from Silvertree2010/fix/h12972-mcp-object-resource-uri-accepts
...
Reject non-digit object ids in MCP object resource URIs
2026-11-09 07:55:33 +08:00
dotCooCoo
5bd49c000e
JSON: parse counts a string it has read and a flattened text toward the heap limit
...
A string value the parser has read is held only by the parser until it is stored. The
property reservation can start a collection, which dropped the string from the heap
total. The value now stays rooted across that reservation, for array elements and for
object members. `JSON.parse` also charges the buffer it flattens a concatenated text
into, through the helper `parseInt` and `parseFloat` use.
2026-11-08 15:54:03 -08:00
BFlat
22f5ede66f
Merge pull request #6161 from dotCooCoo/feat/ai-editing-data-s6b2
...
.ai save: the editing copy keeps graphic styles and links to them
2026-11-09 07:52:12 +08:00
BFlat
302c0575e3
Merge pull request #6194 from dotCooCoo/feat/js-builtins-text
...
JavaScript: a realm has the String, Number, RegExp and Date built-ins
2026-11-09 07:48:04 +08:00
BFlat
d83bb6c0b8
Merge pull request #5058 from dotCooCoo/feat/character-anti-aliasing-method-r
...
Character: Anti-aliasing Method sets how a type object's edges are drawn as pixels
2026-11-09 07:47:57 +08:00
BFlat
3e836ad856
Merge pull request #6193 from dotCooCoo/feat/plugin-menu-commands
...
Plug-ins: a plug-in adds menu commands of its own under Object › Plug-ins
2026-11-09 07:47:49 +08:00
BFlat
9499281b49
Merge pull request #5029 from dotCooCoo/fix/batch-override-export-for-screens-folder-r
...
Actions: Batch's Override Export sends Export for Screens files to the destination folder
2026-11-09 07:47:42 +08:00
BFlat
7adc2f66a3
Merge pull request #6109 from dotCooCoo/feat/ai-symbol-libraries
...
.ai import: symbol libraries open with their symbols
2026-11-09 07:47:36 +08:00
BFlat
165810aa6c
Merge pull request #6104 from dotCooCoo/fix/graph-series-object-opacity
...
Graphs: a series keeps the object opacity and blend modes set on one of its marks
2026-11-09 07:47:29 +08:00
BFlat
1961b2468d
Merge pull request #5024 from dotCooCoo/fix/outline-stroke-keeps-effects-on-outline-r
...
Outline Stroke: geometry effects reshape the path that is outlined, as on the canvas
2026-11-09 07:47:22 +08:00
BFlat
1bacc7f1f0
Merge pull request #6061 from dotCooCoo/fix/export-unknown-options
...
Export: the export commands refuse an unknown option key
2026-11-09 07:47:15 +08:00
BFlat
8fc4464542
Merge pull request #6236 from dotCooCoo/fix/placed-gradient-follows-warp
...
Effects: placed gradients move and scale with the Warp effects
2026-11-09 07:47:08 +08:00
BFlat
c82bd36f07
Merge pull request #6052 from dotCooCoo/fix/edit-copy-artboard-route
...
Artboards: a Cut or Copy with the Artboard tool replays on its artboards
2026-11-09 07:47:00 +08:00
BFlat
0cb2d5dbd8
Merge pull request #5030 from dotCooCoo/fix/issue-3748-r
...
Fix #3748 : in isolation mode, art outside a clip group's mask can be selected and dragged
2026-11-09 07:46:54 +08:00
BFlat
0b0f8d71eb
Merge pull request #5475 from dotCooCoo/fix/spiral-decay-per-wind
...
Spiral: Decay applies once per full wind
2026-11-09 07:46:47 +08:00
BFlat
ecdd36483d
Merge pull request #6259 from dotCooCoo/fix/ai-pattern-mask-ids
...
.ai import: opacity mask art in pattern and brush art takes document ids
2026-11-09 07:46:40 +08:00
BFlat
c0887164cc
Merge pull request #6258 from dotCooCoo/fix/plugin-clear-cache-test
...
Plug-ins: clearing every plug-in's cache is tested in a binary of its own
2026-11-09 07:46:33 +08:00
BFlat
c8d67344a9
Merge pull request #3968 from dotCooCoo/feat/trace-keep-colors
...
Image Trace: keepColors traces only the listed palette colors
2026-11-09 07:46:01 +08:00
BFlat
500cda491c
Merge pull request #6257 from dotCooCoo/fix/escape-return-tool-docs
...
Type: docs say Escape returns to the tool whose double-click chose the Type tool
2026-11-09 07:45:45 +08:00
dotCooCoo
4afee338cf
JavaScript: toLocaleString writes the primitive value of Number, String and Boolean objects
...
`[1, 'x', true].toLocaleString()` gave `[object Number],[object String],[object Boolean]`
because the wrappers' prototypes have no `toString` on this branch and the lookup reached
Object.prototype.toString. Object.prototype.toLocaleString now returns the string form of
the object's primitive value when `toString` is not found on the object or on its chain up
to its standard prototype. A `toString` on the object or that prototype is still called.
2026-11-08 15:43:09 -08:00
dotCooCoo
83f1333d1c
Effects: a Transform effect that flattens the object leaves a fitted gradient fitted with its options on
...
With Scale Strokes & Effects or Transform Patterns on, the path and each copy are moved by Node::transform, which fixed a fitted gradient to its fit before a scale of 0 flattened it to one color. Scaling::keep_fit_when_flat keeps the gradient fitted under a map that flattens the object (node::flattens, the gate fixes_fit already used), and the Transform effect's path transforms set it.
docs/target-app-parity.md also says that the Gradient tool still shows a fitted gradient's vector at its unturned fit.
2026-11-08 15:38:07 -08:00
dotCooCoo
438f1cd8f2
Plug-ins: importer tests use American spelling
2026-11-08 15:35:45 -08:00