BFlat
b82cb8f264
Merge pull request #7187 from dotCooCoo/fix/trace-stair-steps-curves
...
Image Trace: staircases of longer steps in smooth areas trace as slopes
2026-11-14 00:49:57 +07:00
BFlat
8edfef83f6
Merge pull request #7140 from dotCooCoo/fix/script-namespace-heap-limit
...
Scripts: namespace scopes and edits count against the heap limit
2026-11-14 00:49:48 +07:00
BFlat
4f58b83c75
Merge pull request #7118 from dotCooCoo/fix/painted-effect-every-item
...
Effects: a later painted effect runs on every fill and stroke a piece returns
2026-11-14 00:49:38 +07:00
BFlat
c1c06a839a
Merge pull request #7183 from dotCooCoo/feat/pdf-long-pages-points-default
...
PDF: pages longer than 200 in are written at full size in points by default
2026-11-14 00:49:30 +07:00
BFlat
3904a7396c
Merge pull request #7120 from dotCooCoo/feat/revolve-graphics
...
3D and Materials: wrap graphics around the side of Revolve objects
2026-11-14 00:49:21 +07:00
BFlat
858d52c2f3
Merge pull request #7185 from dotCooCoo/fix/mcp-integration-test-temp-folders
...
Tests: the vectorcraft-mcp integration tests remove their temp folders
2026-11-14 00:49:12 +07:00
BFlat
d58452f287
Merge pull request #7167 from dotCooCoo/fix/image-icc-16bit-kept
...
Images: an image stored again keeps its ICC profile and 16-bit samples
2026-11-14 00:49:03 +07:00
BFlat
ae33ab04cb
Merge pull request #7181 from dotCooCoo/fix/area-type-inset-from-edge
...
Area type: Inset Spacing on a shaped frame is measured from the frame's edge
2026-11-14 00:48:54 +07:00
BFlat
f520e6f8c5
Merge pull request #7184 from dotCooCoo/fix/cleanup-one-pass
...
Artwork Cleanup: remove quadratic work from three path repairs
2026-11-14 00:48:45 +07:00
BFlat
60fd4bd644
Merge pull request #7090 from dotCooCoo/feat/pixel-snapping-options
...
View: Pixel Snapping Options choose whether Snap to Pixel snaps drawing, moving and scaling
2026-11-13 23:58:35 +07:00
BFlat
6a1b4c42de
Merge pull request #7040 from dotCooCoo/fix/nested-link-ids
...
Links: list and manage linked art in symbols, graph designs, patterns and masks by id
2026-11-13 23:58:20 +07:00
BFlat
a9613094a9
Merge pull request #7171 from dotCooCoo/fix/ai-export-art-bounds
...
.ai export: a .ai of the art's bounds carries no editing data
2026-11-13 23:58:07 +07:00
BFlat
404d427ff4
Merge pull request #7128 from dotCooCoo/fix/font-menu-nested-lock
...
Font menu: the app keeps responding when a sample finishes while a font field is drawn
2026-11-13 23:57:56 +07:00
BFlat
b024fe75b6
Merge pull request #7102 from dotCooCoo/feat/layers-drag-autoscroll
...
Layers: layer and object rows held near the list's top or bottom edge scroll a long list
2026-11-13 23:57:46 +07:00
BFlat
a8a4730eff
Merge pull request #7142 from dotCooCoo/feat/ai-image-warp-live
...
.ai: an image's Warp effect is saved and opened live
2026-11-13 23:57:33 +07:00
BFlat
910f3a7710
Merge pull request #7077 from Hassan1305/feat-6304-font-height-icons
...
Character panel: icons for the font height references (#6304 )
2026-11-13 23:57:22 +07:00
BFlat
10c84a909e
Merge pull request #7173 from dotCooCoo/fix/assigned-profile-follows-front-document
...
Color: assigned profiles follow the document in front
2026-11-13 23:45:03 +07:00
BFlat
4342e48df2
Merge pull request #7170 from dotCooCoo/fix/cursor-catalog-smooth
...
Cursors: the Smooth entry lists the Paintbrush and Blob Brush Alt cases
2026-11-13 23:44:54 +07:00
BFlat
2aba3ccaff
Merge pull request #7172 from dotCooCoo/fix/mcp-test-temp-folders
...
Tests: the vectorcraft-mcp tests remove the temp folders they create
2026-11-13 23:44:46 +07:00
BFlat
a2adbf61e6
Merge pull request #7106 from dotCooCoo/feat/custom-toolbar-dock
...
Toolbars: toolbars made with New Toolbar dock along the window's edges
2026-11-13 23:32:06 +07:00
BFlat
7f92d8ffc2
Merge pull request #7149 from dotCooCoo/fix/document-info-labels-translated
...
i18n: Document Info shows every category title and count label in the interface language
2026-11-13 23:31:57 +07:00
BFlat
4c135b0ab8
Merge pull request #7165 from dotCooCoo/fix/trace-current-pixels
...
Image Trace: a background trace applies only to the pixels it traced
2026-11-13 23:31:46 +07:00
BFlat
e74c2d04df
Merge pull request #7083 from dotCooCoo/fix/simplify-line-keeps-tangent
...
Simplify: a refitted curve becomes a line only when its joins stay smooth
2026-11-13 23:31:37 +07:00
BFlat
4c072b320c
Merge pull request #7136 from dotCooCoo/fix/command-batch-artboards
...
Artboards: a batch's Fit to Artwork Bounds step fits every selected artboard
2026-11-13 23:31:28 +07:00
BFlat
538e471783
Merge pull request #7163 from dotCooCoo/feat/live-paint-bucket-cursor
...
Live Paint: the bucket shows a filled bucket over a face and a brush over an edge
2026-11-13 23:31:19 +07:00
BFlat
d3bb35ff61
Merge pull request #7154 from dotCooCoo/fix/3d-walls-depth-sort
...
3D: fill walls and dashed or profiled strokes draw in depth order where they overlap
2026-11-13 23:31:09 +07:00
BFlat
b7a9bd6e29
Merge pull request #7169 from dotCooCoo/fix/join-coincident-one-pass
...
Join: merge a run of coincident anchors in one pass over the path
2026-11-13 23:31:00 +07:00
dotCooCoo
bc9280967a
Image Trace: staircases of longer steps in smooth areas trace as slopes
...
Where a band border in a gradient or a shaded area runs at a slant, its
pixels form a staircase whose steps are two or more pixels long. When one
piece of outline also runs along a sharp edge in the image, that piece as
a whole is not the contour of a smooth area, and the outline kept a
corner at every step, so the border was traced as a series of right-angle
steps.
subpixel::outline now reads a run of three or more edges of 1 to 8 px,
each turning one way where it starts and the other where it ends, with no
junction on it, as a staircase when the run's own cracks pass
subpixel::low_contrast. A run is cut at any step whose own cracks show half
of the step between the two colors or more. Its edges are steps, as
one-pixel steps already were: no corner where two of them meet, and one
point at the middle of each, moved by the mean of its cracks' shifts. The
corner where a run meets an edge that is not a step stays, so a straight
edge longer than 8 px next to a staircase stays straight. Two one-pixel
steps inside a run are read as part of the slope and do not make a notch.
Longer steps, staircases along a sharp edge and Black and White traces
keep their corners. The runs are the same from either side of the border.
On gradient and photo inputs most traces take fewer anchors. Some rows get
worse: 6 Colors on gradient and photo leaves a gap of 0.9 px (was 1.2) and
an overlap of 1.0 px (was 0.8), High Fidelity Photo with Gradients on a
blurred input takes 50 anchors (was 47), and on a synthetic 800 px photo
the 95th percentile of High Fidelity Photo's pixel difference rises from
6.33 to 6.67 and 16 Colors leaves 2 staircases of 2 px steps or more where
it left none.
Docs: docs/target-app-parity.md, docs/image-trace-quality.md.
2026-11-13 08:29:28 -08:00
dotCooCoo
9b027bb43a
Merge main into fix/image-icc-16bit-kept
2026-11-13 08:25:53 -08:00
dotCooCoo
940b47234b
Tests: the vectorcraft-mcp integration tests remove their temp folders
...
automation_roots.rs and protocol_props.rs wrote their files into folders
made by vectorcraft_testkit::temp_dir (vectorcraft-testkit-roots-<tag>-<pid>,
mcp-junk, mcp-confined), and nothing removed them after the run.
A shared tests/common module adds TempFolder, which takes the folder from
temp_dir, with its checks against a folder made by another user, and
removes it with everything in it when dropped, also when the test panics,
as the findfiles tests' Tree guard does
(crates/engine/src/cmd/findfiles/tests.rs:49). Each proptest case of
a_confined_server_writes_only_inside_its_root now gets a new folder. A new
test checks that the folder is removed on drop and after a panic.
2026-11-13 08:22:23 -08:00
BFlat
9395fb9cec
Merge pull request #7160 from dotCooCoo/fix/svg-image-orientation
...
SVG import: raster images follow their EXIF or TIFF orientation
2026-11-13 23:16:49 +07:00
BFlat
ebd7568b69
Merge pull request #7124 from dotCooCoo/fix/control-bar-trailing-separator
...
Control bar: no separator is left at the end of the bar when the controls after it are hidden
2026-11-13 23:15:28 +07:00
BFlat
1af96f4e25
Merge pull request #7166 from dotCooCoo/fix/test-temp-folder-cleanup
...
Tests: ui-egui tests remove the temp folders they make
2026-11-13 23:15:19 +07:00
BFlat
43d0b50760
Merge pull request #7157 from dotCooCoo/fix/remove-anchors-one-pass
...
Paths: Remove Anchor Points removes many anchors of a subpath in one pass
2026-11-13 23:15:10 +07:00
BFlat
4cad65c603
Merge pull request #7150 from dotCooCoo/fix/thread-frame-measure-needed-paragraphs
...
Type: a threaded story measures each frame with the paragraphs it needs
2026-11-13 23:15:01 +07:00
BFlat
dad9116ef7
Merge pull request #7156 from dotCooCoo/fix/justify-after-last-tab
...
Justify: a line with a tab spreads the text after its last tab to the edge
2026-11-13 23:14:52 +07:00
BFlat
39940f5568
Merge pull request #7133 from dotCooCoo/fix/font-menu-scrollbar-test-flaky
...
Tests: the font menu scroll bar test lists fonts of its own
2026-11-13 23:14:43 +07:00
BFlat
f97e81afd7
Merge pull request #7159 from dotCooCoo/fix/delete-cut-per-subpath-anchors
...
Paths: Delete, Cut and Cut Path read each subpath's own selected anchors
2026-11-13 23:14:36 +07:00
dotCooCoo
4b695aafb1
Merge main into fix/painted-effect-every-item
2026-11-13 08:12:58 -08:00
dotCooCoo
a68b843d8c
Merge main into feat/ai-image-warp-live
2026-11-13 08:12:50 -08:00
HassanKhan
04d1fd9edf
Merge remote-tracking branch 'upstream/main' into feat-6304-font-height-icons
...
# Conflicts:
# docs/target-app-parity.md
2026-11-13 21:12:42 +05:00
dotCooCoo
1db47f6488
Merge main into fix/script-namespace-heap-limit
2026-11-13 08:11:30 -08:00
dotCooCoo
cd7e209934
PDF: pages longer than 200 in are written at full size in points by default
...
PDF export without a PDF/X or PDF/A standard writes pages longer than
200 in at full size in points instead of with a UserUnit scale.
longPagesInPoints is now on by default in PdfSettings, the built-in
presets and the Save PDF dialog. Turning it off writes such a page with a
UserUnit from PDF 1.6 on, as before. PDF/A-2b files keep the UserUnit,
and .ai saves keep it unless longPagesInPoints: true is passed.
Docs: params text, docs/mcp.md, docs/target-app-parity.md.
2026-11-13 08:10:42 -08:00
dotCooCoo
302be702d4
i18n: Dutch rows for the Revolve graphics messages
2026-11-13 08:08:06 -08:00
BFlat
cb061d6a2c
Merge pull request #7085 from dotCooCoo/feat/learn-next-up
...
Learn: View more opens a tutorial's practice sample, and Next Up shows the next tutorial
2026-11-13 23:05:29 +07:00
BFlat
6326acb122
Merge pull request #7070 from dotCooCoo/feat/recolor-prominent-colors
...
Recolor Artwork: the Prominent Colors bar weighs the art's colors
2026-11-13 23:05:19 +07:00
BFlat
25553f21fe
Merge pull request #7123 from dotCooCoo/fix/actions-insert-menu-item-ui-commands
...
Actions: Insert Menu Item adds Object › Align and View menu commands
2026-11-13 23:05:00 +07:00
BFlat
e0e97e8ed1
Merge pull request #7153 from dotCooCoo/fix/blend-spine-binary-search
...
Blend: find the spine segment for an arc length with a binary search
2026-11-13 23:04:50 +07:00
BFlat
be99b8895d
Merge pull request #7155 from dotCooCoo/fix/hindi-message-terms
...
i18n: Hindi messages keep their English meaning and the catalog's terms
2026-11-13 23:04:40 +07:00
BFlat
508c1b658e
Merge pull request #7096 from dotCooCoo/feat/ai-save-envelopes
...
PDF/.ai save: envelopes stay editable when the file is reopened
2026-11-13 23:04:30 +07:00