Commit Graph
4238 Commits
Author SHA1 Message Date
nrq6993-a11yandCursor 12f7d41c38 G4: Properties panel shows Variable Font axes for selected type
Reuse the Character panel's Variable Font popover in Properties so axis
sliders are available without opening Character.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:34 +07:00
bflatastic 85163a7c82 Tests: the Snap to Glyph test says what it checks (#3124) 2026-10-20 02:23:34 +07:00
bflatastic 88a444ef7b fmt (#3124) 2026-10-20 02:23:34 +07:00
nrq6993-a11yandCursor 0c62d9c02c G4: View › Snap to Glyph snaps new type to live-text guides
Wire the View menu toggle and add glyph baselines and bounds to drawing snap targets so point type placement lines up with existing text when Smart Guides are on.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:34 +07:00
bflatastic cb229ac08c fmt (#3121) 2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 88bd9bcd9e G4: Touch Type drag test treats omitted zero dx as no kerning
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 222ec72e28 G4: Touch Type arrow keys nudge the selected character
Keyboard increment (Shift ×10) moves the active glyph through text.touchType, with vertical type remapping like the Type tool.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
bflatastic b8f9c403a7 Measure: with Measurement Labels off the measured line still draws, only its readout goes (#3128) 2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor 6ef9f2dd93 G1: Measure tool honors Measurement Labels preference
Hide the preview line and readout when Smart Guides › Measurement Labels is off; options still report the last drag.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
nrq6993-a11yandCursor fd53416de3 G1: honor Show Measurement Labels on pie, corners, width, and tiling readouts
Tools that showed distance or angle overlays during drags now respect the
Units preference, consistent with shape and selection tools.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 02:23:33 +07:00
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