dotCooCoo
db10eaf115
Image Trace: Overlapping holds an image's untraced pixels in one list of runs
...
The runs of transparent and left-out pixels that the first round checks
holes against were kept in a list for each row. A tall, narrow image paid
a list header for every row: 1.1 MB for a 3 x 20,000 pixel image with
two runs. The runs are now one list over the whole image, so they take
at most four bytes a pixel, as the half-gigabyte bound counts them.
2026-11-13 09:58:38 -08:00
dotCooCoo
55820e48b4
Image Trace: Overlapping's trace is checked across thread orders, and its memory bound names the kept components
...
The overlapping test now traces the same image eight times with several
levels found at a time and compares each result with the one traced a
level at a time. The doc comment of the stacked rounds says that the
components kept for the second pass take up to 256 MiB outside the half
gigabyte that sets how many levels are traced at once.
2026-11-13 09:43:19 -08:00
dotCooCoo
b4ad756721
Image Trace: Overlapping fills each shape whole and stacks what it encloses above it
...
An Overlapping layer covers the colors above it within its area, so an
area of another color that a shape enclosed was a hole in that shape
and in the shape of every layer around it, and its outline was fitted
once for each of them. In a code-drawn test, a white disc in a black
ring that four grays touch had six copies of its outline.
With Fills and without Create Strokes, each shape is now filled whole,
by a fill rule of VectorCraft's own. The area inside a filled hole is
traced on its own and drawn after the shapes around it, so its outline
is fitted once. An area of one color is drawn from the hole's outline.
A shape keeps a hole where the area holds a transparent pixel or a
color that Ignore Color or Keep Colors leaves out, and a hole smaller
than Noise is filled with the shape's color as before. Nested areas are
traced within a work budget of VectorCraft's own: four times the
image's pixels (counted as at least 65,536) times its colors, each area
costing its box times its colors. An area that costs more than what is
left keeps its holes and is not charged. Create Strokes and outlines
without Fills are unchanged.
Shapes have holes only in those cases, there are more paths, and the
stacking order changes. Expand by Color starts another group of a color
where an area is drawn above the shape around it. The trace's progress
counts finer steps across the rounds of enclosed areas, not one step
per color layer.
A layer's components without its own color are now left out after its
mask is traced, instead of in a labeling pass before it. Every route
finds its components through the same function.
2026-11-13 09:07:19 -08: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
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
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
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
BFlat
d26413c3fb
Merge pull request #7117 from dotCooCoo/fix/smooth-tool-smooths
...
Smooth tool: each drag smooths the path under it, and repeated drags keep smoothing
2026-11-13 23:04:21 +07:00
BFlat
de93bef121
Merge pull request #7101 from dotCooCoo/fix/eyedropper-series-opacity
...
Eyedropper: a pick that leaves a series mark's row without paint replaces the stored transparency
2026-11-13 23:04:12 +07:00
BFlat
f525bd742e
Merge pull request #7147 from dotCooCoo/fix/script-file-name
...
Scripts: $.fileName names the file of the code that reads it
2026-11-13 23:04:04 +07:00
BFlat
dd8f8ed2bd
Merge pull request #7115 from dotCooCoo/fix/settle-keeps-preview-warnings
...
Edit: settling an interaction keeps the warning of the preview it applies
2026-11-13 23:03:55 +07:00
BFlat
ada78a07ba
Merge pull request #7114 from dotCooCoo/feat/group-effect-after-members
...
Effects: a group's geometry effects reshape what its members draw
2026-11-13 23:03:46 +07:00
BFlat
0cc04afd57
Merge pull request #7161 from dotCooCoo/fix/script-xml-heap-limit
...
Scripts: E4X operations count their temporary storage against the heap limit
2026-11-13 23:03:38 +07:00
BFlat
2d91c860a7
Merge pull request #7087 from dotCooCoo/feat/every-line-composer-shaped-area
...
Type: the Every-line Composer sets mixed sizes in shaped and wrapped area type
2026-11-13 23:03:29 +07:00
BFlat
c68b2775e4
Merge pull request #7125 from dotCooCoo/fix/plugin-install-checks-first
...
Plug-ins: plugin.install writes nothing to the store until the module is checked
2026-11-13 23:02:12 +07:00
BFlat
f239944df0
Merge pull request #7107 from dotCooCoo/fix/measured-arclen-coincident-quad
...
Paths: a quadratic segment whose points coincide measures zero length instead of NaN
2026-11-13 23:02:03 +07:00
BFlat
b17a62be34
Merge pull request #7109 from dotCooCoo/fix/painted-fx-brush-reach
...
Effects: culling a painted piece leaves room for its own brush art
2026-11-13 23:01:55 +07:00
BFlat
c8bf38c6a1
Merge pull request #7092 from dotCooCoo/fix/dimension-guide-line-snap
...
Dimension tool: a point on a Smart Guide stays on the guide
2026-11-13 23:01:45 +07:00
BFlat
714e3a3821
Merge pull request #7135 from dotCooCoo/fix/docs-paragraph-style-options-rows
...
Docs: Paragraph Style Options rows name the dialog and its seven sections
2026-11-13 23:01:36 +07:00
BFlat
cd1feada31
Merge pull request #7132 from dotCooCoo/fix/ui-docs-brush-libraries
...
Docs: `ui-parity.md` names all nine built-in brush libraries
2026-11-13 23:01:27 +07:00