Commit Graph
4685 Commits
Author SHA1 Message Date
BFlat c8432aee37 Merge pull request #3390 from dotCooCoo/feat/new-brush-dialog
Brushes: New Brush asks for the type and opens its Brush Options
2026-10-21 23:53:14 +07:00
BFlat cb1512d9fe Merge pull request #3388 from dotCooCoo/fix/dialog-sliders-take-arrow-keys
Dialogs: sliders step their field's number with the arrow keys
2026-10-21 23:52:58 +07:00
BFlat 3b3eba6ae1 Merge pull request #3385 from dotCooCoo/fix/brush-rename-and-delete-reach-every-stroke
Brushes: renaming or deleting a brush updates every stroke that uses it
2026-10-21 23:52:41 +07:00
BFlat 8f2e2740c3 Merge pull request #3374 from dotCooCoo/fix/expand-keeps-random-transform-seeds
Effects: expanded, flattened and exported art keeps the random Transform the canvas drew
2026-10-21 23:52:24 +07:00
BFlat fae70b006c Merge pull request #3369 from dotCooCoo/feat/brush-reorder
Brushes: dragging a brush reorders it within its type
2026-10-21 23:52:08 +07:00
BFlat ef7cdf5927 Merge pull request #3368 from dotCooCoo/feat/library-panel-lists-missing-file
Library panels: a persistent panel whose file is gone stays listed as missing
2026-10-21 23:51:51 +07:00
BFlat 21291ab387 Merge pull request #3438 from dotCooCoo/fix/docs-localization-parity-lists-dutch-danish-indonesian
Docs: localization parity lists the Dutch, Danish and Indonesian catalogs
2026-10-21 23:51:34 +07:00
BFlat 2cf7ad1ad1 Merge pull request #3418 from KnottyDyes/squad/icc-profile-padding
ICC: all built-in profiles are checked for aligned sizes and tags
2026-10-21 23:51:18 +07:00
BFlat de01edb28a Merge pull request #3414 from dotCooCoo/fix/docs-zh-hant-catalog-counts
Docs: localization parity row counts match the catalogs on main
2026-10-21 23:51:05 +07:00
BFlat 0a1c4cdd87 Merge pull request #3406 from oracola91/fix/recovery-folders-owner-only
Data Recovery: the recovery folders are owner-only on Unix
2026-10-21 23:50:49 +07:00
BFlat 5fc175a5ef Merge pull request #3389 from dotCooCoo/fix/tests-data-set-export-fresh-folder
Tests: the data set export test checks the whole file in a folder emptied first (#2969)
2026-10-21 23:50:33 +07:00
BFlat ba047ee5f7 Merge pull request #3382 from dotCooCoo/fix/altgr-typing-runs-no-command
Type: a character typed with AltGr while editing text runs no command
2026-10-21 23:50:18 +07:00
BFlat ecb7ac1fc6 Merge pull request #3376 from dotCooCoo/fix/tests-half-form-face-filter
Tests: the half-form test uses only a fallback face that forms Ka's half form (#2670)
2026-10-21 23:50:02 +07:00
BFlat f9e289410d Merge pull request #3373 from dotCooCoo/fix/docs-pages-sentence-names-the-file
Docs: the document.open pages sentence names the file saved without PDF compatibility
2026-10-21 23:49:47 +07:00
BFlat a1738c15d4 Merge pull request #3372 from dotCooCoo/fix/save-as-replaces-a-typed-extension
Save As: a typed extension of a format the save doesn't write is replaced
2026-10-21 23:49:31 +07:00
BFlat 9a5c5459bd Merge pull request #3371 from nikolainyegaard/language-picker-order
Preferences: list the languages alphabetically by their own name
2026-10-21 23:49:15 +07:00
bflatastic c895f64063 Format: rustfmt after the batch 2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 4e5f5e608b G12: translate Touch workspace for complete i18n catalogs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor cc4836abb7 G4: reuse Character panel Shared/Metric for mixed paragraph fields.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 56cfb79d24 G4: add i18n rows for Scale Text Attributes command and error
Complete menu catalogs need plain and @msg entries so i18n tests pass for the new type command.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 240d8d4891 Fix collapsible_if clippy in object.setLiveShape relative radii path.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
Cursor Agentandnrq6993-a11y b13072b77c M3: rustfmt eyedropper and brush key-color UI
Co-authored-by: nrq6993-a11y <nrq6993-a11y@users.noreply.github.com>
2026-10-21 23:38:03 +07:00
bflatastic e5471be4d9 Commands: an index of 2^32 or more no longer wraps around on 32-bit builds
Squashed from #3292 onto main.
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 1c7b02a6fe G12: honor Enable Touch Workspace preference
Switch to the Touch built-in workspace when the preference is on and a touch
screen is present; restore the prior workspace when it is turned off.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor c7df7a56e8 docs: note G4 Paragraph panel mixed indent fields
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 07a49d447d G4: Scale Text Attributes bakes transform scale into type sizes
After scaling groups, type.scaleTextAttributes matches panel sizes to what draws on canvas without leaving scale in the affine.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor a719b22e1b G1: use "the reference app" in setLiveShape relativeRadii params doc.
cargo xtask brands rejects vendor names in CommandSpec params strings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 3f45472e15 i18n: add Key Color eyedropper tooltip to complete catalogs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 45cabc1c3c G4: blank Paragraph panel indents when paragraphs differ
Mixed left/right/first-line indents and space before/after now follow the same shared-value rules as alignment buttons.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 59534c1cbb Fix LiveCorners::style to report stored radii, not fitted draw sizes.
Star corners with a large uniform radius kept None in the panel because fitted draw radii differ per tip; tests and UI expect the value the user set.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 2d85d8818e docs: mark G5 Key Color eyedropper done in gaps.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor ab0ddf0eae G1: Live Corners relative rounding (#1144)
Store corner radii as fractions of each corner's max so rounding scales with the shape; expose via Corners dialog and object.setLiveShape relativeRadii.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 6433b6ca3a G5: Pattern brush Key Color eyedropper in Brush Options
Hue Shift colorization can sample key color from canvas art via the
eyedropper next to the swatches, matching Illustrator's brush workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor cdef620083 G2: Share glass_fields for Glass and Texturizer load-texture UI.
Drop duplicate texturizer_fields/texturizer_params per review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor b3a380cfa0 G2: translate Hard Mix pathfinder menu and undo label
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 2dcceea8e1 G1: limit Cmd+Alt Group Selection to active Direct Selection
Pen Cmd-borrow keeps Direct Selection when Alt is held so guide copy and other Alt modifiers on the lent tool still work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
bflatastic 0a3628f62f G2: Effect › Artistic › Dry Brush raster filter
Squashed from #3026 onto main.
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 571ac32362 Fix floating tab reorder deadlock by calling strip_tab_reorder in-frame.
Route dock and floating strip reorders through shared logic, sync layout.floating order, and assert reorder via window.panel.move in the harness test.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
bflatastic 58066428c6 Artboards: the Artboards panel locks an artboard and the art on it
Squashed from #2592 onto main.
2026-10-21 23:38:02 +07:00
bflatastic 9c20027778 Keyboard Shortcuts: each Align and Distribute button of the Align panel can be given a key
Squashed from #3317 onto main.
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor dfa7bd12d9 G2: Texturizer Load Texture matches Glass and Illustrator.
Users can pick an image in the Texturizer dialog; it is stored as relief heights and survives save/open like Glass textures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 3f3888d040 G2: Effect › Pathfinder › Hard Mix mixes CMYK per face
Overlapping faces take the highest of each CMYK channel from every covering shape and drop strokes, matching Illustrator's Hard Mix effect.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor fface52206 G1: Cmd+Alt lends Group Selection for one gesture
When Direct Selection was last used or is active, Cmd+Alt borrows Group Selection for pointer presses, matching the documented modifier chord.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 951d1705e3 Fix #2995: unify floating tab reorder with window.panel.move
Route floating strip drags through the same command path as the dock strip and centralize group tab index moves in one helper.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 4cba355f71 Fix #2995: address PR review on tab reorder and dock drag begin
Reuse catalogued window.panel.move errors, keep legacy dock drags from clearing docking on Escape, reorder floating tabs locally without reconcile re-entry, and fix dock_tab_order test setup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor ba2a5bfaed Fix #2995: route tab reorder through window.panel.move and harden dock_tab_order
Legacy and floating strip drags update order via the panel.move command; partial saved orders append missing tabs, with command-level tests and Illustrator workspace doc link.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 2c715c9fe3 Fix #2995: reorder grouped panel tabs by dragging within the tab strip
Horizontal drags on dock and native floating tab strips now reorder tabs
instead of only tearing off; storytold/vectorcraft#2995.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 23:38:02 +07:00
bflatastic 5e24e59bd3 Brushes: New Brush and Bristle Brush Options take a bristle brush name of at most 31 characters
Squashed from #3312 onto main.
2026-10-21 23:38:01 +07:00
bflatastic 1cfeaabb2d Docs and format: one row per area after the batch, rustfmt
Rows two PRs of the batch both changed came out twice in localization-parity, target-app-parity and type-parity; the newest of each is kept. prefs_dialog.rs is formatted.
2026-10-21 23:38:01 +07:00
dotCooCoo 3884cf9704 Tabs: a stop placed or moved on the ruler lands on a whole point
A click on the Tabs panel's ruler added a stop, and a drag moved one,
at the fraction of a point under the pointer. The reference app's Tabs
page says that the tab ruler does not set stops in increments smaller
than 1, and that the X or Y field sets them as finely as 0.01 point.
The page does not name the unit of 1. The ruler here uses 1 point, the
unit the page gives for the X or Y field, in every General unit.

With Snap to Unit off and Shift not held, a stop placed or dragged on
the ruler now lands on the nearest whole point. With Snap to Unit on,
or Shift held, it still lands on the ruler's nearest tick, which on a
millimeter ruler is a fraction of a point. A position typed in the X
or Y field keeps its hundredths of a point.

Docs: docs/target-app-parity.md.
2026-10-21 23:32:26 +07:00