Commit Graph
4228 Commits
Author SHA1 Message Date
bflatastic d507a73d09 fmt (#3114) 2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 6d713de980 G1: Crop Image honors Smart Guides measurement labels.
Gate the crop size readout on the preference and show it at the pointer while dragging the box.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
bflatastic 9435c5079d fmt (#3099) 2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 1eac4f5b79 G1: Graph tools show W/H measurement labels while dragging plot area
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 99aa4e6a7c G1: hide bounding box while dragging type-on-path brackets.
Match corner-radius and pie-widget drags: the Selection tool reports a transforming drag so the canvas drops the sharp selection box during bracket moves.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
bflatastic 0ee6b1ac68 fmt (#3065) 2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor a2aac6bead G11: live Pen bezier preview while dragging on Wayland (#834)
Tool canvas drags no longer require a non-zero pointer delta, so smooth-point previews update as the pointer moves when the compositor coalesces motion events.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
bflatastic b21b3edb6c fmt (#3064) 2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 8f7486b90f G9: .ai art styles read Adobe Feather as live effects
Plain art-style import maps Adobe Feather dictionaries to stylize.feather so styled objects stay editable on open.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:21:41 +07:00
BFlat 5c5684f4c5 Merge pull request #2500 from dotCooCoo/feat/outline-object-image-paint
Appearance: image fills and strokes draw the shape Convert to Shape or Outline Object gives them
2026-10-20 02:20:55 +07:00
BFlat 19adc36964 Merge pull request #2555 from dotCooCoo/feat/simplify-slider
Simplify: Object › Path › Simplify opens a slider with Auto-Simplify and More Options
2026-10-20 02:20:39 +07:00
BFlat f412d30adf Merge pull request #2994 from Higgs32584/warn-svg-artboard-loss
Save: warn when SVG keeps only one of several artboards
2026-10-20 02:20:23 +07:00
BFlat 7bf326eaf1 Merge pull request #3140 from Hamza0101/cmyk-jpeg-not-jfif
A CMYK JPEG is not labelled JFIF
2026-10-20 02:20:06 +07:00
BFlat bf021ae08b Merge pull request #3138 from Silvertree2010/fix/h650-intersects-rect-ignores-a-path-c
Fix intersects_rect ignoring paths crossing zero-width/height rects
2026-10-20 02:19:50 +07:00
BFlat 301727c7d5 Merge pull request #3142 from dotCooCoo/fix/graph-data-view-test-timing
Tests: Graph Data's full-size sheet test counts the cells it draws instead of timing them
2026-10-20 02:19:31 +07:00
bflatastic a52198cefa Appearance: image fills and strokes draw the shape Convert to Shape or Outline Object gives them
Squashed from #2500 (its merges of main dropped).
2026-10-20 02:06:54 +07:00
dotCooCoo 926ca62952 Simplify: Object › Path › Simplify opens a slider with Auto-Simplify and More Options
Squashed from #2555 (its merges of main dropped).
2026-10-20 02:06:54 +07:00
bflatastic d3ee9646de i18n: the SVG one-artboard warning in every complete catalog and Bulgarian (#2994) 2026-10-20 02:06:54 +07:00
Higgs32584 a446d76637 fix changes 2026-10-20 02:05:02 +07:00
Michael Higgins 81cf399bfa Refactor SVG options and error handling 2026-10-20 02:05:02 +07:00
Michael Higgins d8c20c8eb4 Update error message for artboard preservation 2026-10-20 02:05:02 +07:00
Hamza f106f32af4 A CMYK JPEG is not labelled JFIF
A CMYK JPEG came out with JFIF's APP0 segment at its head and four components
in the frame:

  APP0/JFIF  APP14/Adobe  APP2[ICC_PROFILE 1/4 … 4/4]  SOF0: 4 components

JFIF describes one- and three-component images, greyscale and YCbCr, so an APP0
segment in front of a four-component frame says two different things about the
file's colours: a reader that trusts JFIF decodes nonsense, and one that checks
refuses the file. Adobe's own CMYK JPEGs carry the APP14 marker the encoder
already writes, and no JFIF. `jpeg-encoder` writes JFIF unconditionally, so the
segment is replaced here.

The resolution JFIF carried moves to an EXIF APP1 segment -- `XResolution`,
`YResolution` and `ResolutionUnit` -- which is where `cmd::fileio::ppi` already
looks when a file has no JFIF, so nothing is lost; with no resolution asked for
the segment is simply dropped. RGB and greyscale files keep JFIF, which is what
it is for.

Found while looking at #3084, whose default RGB exports are valid here; this is
the file that is not.
2026-10-20 02:05:01 +07:00
Michael Higginsandcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> acd8ca097d Update crates/engine/src/cmd/fileio/svg.rs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-10-20 02:05:01 +07:00
Higgs32584andClaude Opus 5.5 f9e559156f Save: decide the lost-artboards warning in the SVG handler
Move the Preserve Editing check out of save.rs into svg.rs, where it
reads the options through `plan` as the encoder does; SaveJob::encode
still puts the warning first. Review follow-up on #2994.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 02:05:01 +07:00
Higgs32584andClaude Opus 5.5 c2a605ce8e Save: warn when SVG keeps only one of several artboards
A document with more than one artboard saved as SVG/SVGZ without
Preserve Editing Capabilities is written as one artboard and reopens
with one, so the others were lost without a word. The save now says so
(first, since the status bar shows only the first warning) and names the
two ways to keep them all.

Refs storytold/vectorcraft#2091

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 02:05:01 +07:00
NetterSilverandClaude Haiku 5.5 ec4975f237 Fix intersects_rect ignoring paths crossing zero-width/height rects
Found while testing crates/geom/src/hit.rs:116

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 02:05:00 +07:00
dotCooCoo cb631ae635 Tests: Graph Data's full-size sheet test counts the cells it draws instead of timing them
a_full_size_sheet_draws_only_what_is_in_view timed three frames of a
10,001 × 257 sheet and failed when they took 20 s or more, as they did
on a FreeBSD CI runner. The test now counts the buttons in the
screen-reader tree of the window. A graph of 40 categories and 40
series, whose 42 × 42 sheet is larger than the view both ways, draws
fewer buttons than its 41 × 41 filled cells, and a full-size sheet
draws the same number.
2026-10-20 02:04:59 +07:00
BFlat 5087186eac Merge pull request #3015 from nrq6993-a11y/stream/vc-feat3-g9-ai-ruler-units
G9: .ai/.eps import restores ruler units from %AI5_RulerUnits
2026-10-20 02:02:30 +07:00
BFlat 84ab208c43 Merge pull request #2982 from nrq6993-a11y/stream/vc-feat1-g1-join-smooth-corner
path.join: corner or smooth at the merged anchor
2026-10-20 02:02:12 +07:00
BFlat ae617db6d3 Merge pull request #2983 from nrq6993-a11y/stream/vc-feat1-g1-draw-measure-labels
Drawing tools: distance and angle measurement labels while placing points
2026-10-20 02:01:54 +07:00
BFlat 408081000d Merge pull request #2966 from nrq6993-a11y/stream/vc-feat3-g1-spacing-guides-resize
G1: Spacing Guides snap bounding-box resizes to equal gaps
2026-10-20 02:01:35 +07:00
BFlat 34a9a48340 Merge pull request #2999 from nrq6993-a11y/stream/vc-feat-2991-isolation-shortcut
Allow assigning a keyboard shortcut to Enter Isolation Mode
2026-10-20 02:01:17 +07:00
BFlat 6de7c0a441 Merge pull request #2989 from nrq6993-a11y/stream/vc-feat3-2206-font-script-han
Font menu: label the Japanese script filter as 汉字 in Chinese UI (#2206)
2026-10-20 02:00:59 +07:00
BFlat b48290a4f9 Merge pull request #2981 from nrq6993-a11y/stream/vc-issue-2681-appearance-icon
Fix #2681: distinguish Appearance from Pathfinder panel icons
2026-10-20 02:00:42 +07:00
BFlat 7833756f6e Merge pull request #3003 from nrq6993-a11y/stream/vc-issue-2996-acb-filename
Fix #2996: color books copy to user folder under book title
2026-10-20 02:00:24 +07:00
BFlat ce998b89bc Merge pull request #3007 from nrq6993-a11y/stream/vc-feat3-g9-ai-nonprinting-guides
G9: Regression tests for Illustrator path guides from editing data (#779)
2026-10-20 01:59:59 +07:00
bflatastic db92c91678 fmt (#3015) 2026-10-20 01:48:35 +07:00
bflatastic ddc5fda173 path.join: a single path closed at coinciding ends is closed before its merged anchor is smoothed (#2982) 2026-10-20 01:48:35 +07:00
bflatastic bb32072be9 fmt (#2983) 2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor d41af02637 G1: Spacing Guides snap bounding-box resizes to equal gaps
Smart Guides spacing now applies when scaling with the Selection and Free Transform tools, not only on moves.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor 62910d0327 #2991: list Enter Isolation Mode in Keyboard Shortcuts
Mark object.isolate id as optional so runs_without_params includes it in the shortcut editor; engine already isolates the first selected object when id is omitted.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor db9fa8e0a9 Font menu: show 汉字 for the CJK script filter in Chinese UI (#2206)
Use a font-script i18n context so Simplified and Traditional Chinese label the Japanese-trait filter as Han characters without changing other locales.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
bflatastic 6d7a062227 .ai import: only ruler-units code 6 is pixels (#3015) 2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor 4b8e42e517 G1: path.join accepts corner or smooth on the merged anchor
Join can set the surviving junction point to a corner or smooth anchor via `to`, matching Illustrator's join choice without a combined Average+Join command.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor 5bf159d5d1 G1: show distance and angle on Pen, Line and Curvature rubber bands
Measurement labels while drawing now match the Measure tool (D, angle, dX/dY) when the preference is on.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor a48e65ba68 G9: map AI5_RulerUnits value 6 to pixels on .ai import
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
nrq6993-a11yandCursor f557a1b6f3 G9: restore document ruler units from .ai editing data
Illustrator stores General ruler units in %AI5_RulerUnits; apply them on EPS/.ai import so rulers and length fields match the saved file.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:35 +07:00
bflatastic 5af05ab572 fmt (#2981) 2026-10-20 01:48:34 +07:00
bflatastic 197cf0ba67 Color books: one branch names an imported .acb or a temporary copy after the book (#3003) 2026-10-20 01:48:34 +07:00
nrq6993-a11yandCursor 0734836616 Fix #2681: distinguish Appearance from Pathfinder panel icons
The icon column used overlapping squares for both panels; Appearance now
reads as a stacked list so it is not confused with Pathfinder (storytold/vectorcraft#2681).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 01:48:34 +07:00