Commit Graph
85 Commits
Author SHA1 Message Date
nrq6993-a11yandCursor d275fbf725 G2: catalog Effect Gallery dialog tl! strings for all locales.
Co-authored-by: Cursor <[email protected]>
2026-10-22 06:52:12 +07:00
nrq6993-a11yandCursor e72735bcf9 G2: satisfy clippy and rustfmt on Effect Gallery dialog.
Co-authored-by: Cursor <[email protected]>
2026-10-22 06:52:07 +07:00
nrq6993-a11yandCursor dd9c285252 G2: Effect Gallery six categories and per-filter settings
Limit gallery folders to the six Photoshop-style sets and edit stack params via the existing effect dialog body before apply.

Co-authored-by: Cursor <[email protected]>
2026-10-22 06:52:07 +07:00
nrq6993-a11yandCursor ae3a8fe4c3 G2: Effect Gallery dialog to browse and apply raster filter stacks
Adds Effect → Effect Gallery with category browsing, procedural thumbnails, and a reorderable stack applied via command.batch as separate appearance effects.

Co-authored-by: Cursor <[email protected]>
2026-10-22 06:52:07 +07:00
nrq6993-a11yandCursor 7ceaf900d6 Pathfinder Unite: compound path, not group (#2178)
Illustrator documents Unite as a single compound path; use shape_node_styled and compoundPath.release in tests instead of wrapping islands in groups.

Co-authored-by: Cursor <[email protected]>
2026-10-22 00:01:36 +07:00
nrq6993-a11yandCursor 0650c24a09 Fix #2178: Pathfinder Unite groups disconnected islands for Ungroup
After Unite, split the result with draw2::components so each island (outer
contour plus its holes) becomes one group child instead of one compound path.

Co-authored-by: Cursor <[email protected]>
2026-10-22 00:01:36 +07:00
nrq6993-a11yandCursor 4e5f5e608b G12: translate Touch workspace for complete i18n catalogs
Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor c7df7a56e8 docs: note G4 Paragraph panel mixed indent fields
Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-10-21 23:38:03 +07:00
nrq6993-a11yandCursor 3f45472e15 i18n: add Key Color eyedropper tooltip to complete catalogs
Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor b3a380cfa0 G2: translate Hard Mix pathfinder menu and undo label
Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-10-21 23:38:02 +07:00
nrq6993-a11yandCursor 5ebef8282a G1: Anchor Point Shift-drag shows move distance in measurement labels
Co-authored-by: Cursor <[email protected]>
2026-10-21 15:42:36 +07:00
nrq6993-a11yandCursor 87686e81f2 G1: Reshape tool shows offset readouts while dragging paths
Honor Show Measurement Labels with dX/dY labels during reshape previews.

Co-authored-by: Cursor <[email protected]>
2026-10-21 15:42:36 +07:00
nrq6993-a11yandCursor 32834a9135 G1: Place drag test disables measurement labels for marquee-only overlay check.
testutil: :cx defaults measurement_labels on, so the aspect-ratio drag assertion must not expect a lone Marquee overlay.
Co-authored-by: Cursor <[email protected]>
2026-10-21 15:42:36 +07:00
nrq6993-a11yandCursor 2927ff6e85 G1: Place tool shows placement size in measurement labels while dragging.
Honor Show Measurement Labels on the file Place cursor so sizing drags get W/H readouts like other draw tools.

Co-authored-by: Cursor <[email protected]>
2026-10-21 15:42:36 +07:00
nrq6993-a11yandCursor e76a9c1a45 G1: Area type drag shows W/H in measurement labels
Honor Smart Guides › Measurement Labels while drawing an area-type frame with the Type tool.

Co-authored-by: Cursor <[email protected]>
2026-10-21 15:42:35 +07:00
nrq6993-a11y 078e67a386 G2: Effect › Sketch › Water Paper raster filter (#2955) 2026-10-21 15:17:04 +07:00
nrq6993-a11y 301783c480 G2: Effect › Sketch › Note Paper raster filter (#2954) 2026-10-20 08:28:51 +07:00
nrq6993-a11yandCursor e2e2ac12a9 Group Selection: fold MoveObject pointer-up into shared arm
Read deselect before idle reset and handle shift-deselect via select.toggle in the shared Up match.

Co-authored-by: Cursor <[email protected]>
2026-10-20 07:00:49 +07:00
nrq6993-a11yandCursor 61f35cd037 G1: Group Selection Shift-click deselects compound path members
Match the Selection tool: Shift on an already selected hit removes it on
release without a drag, including one path of a compound path.

Co-authored-by: Cursor <[email protected]>
2026-10-20 07:00:49 +07:00
nrq6993-a11yandCursor f12ad3aa0a G1: Pin grid dialog bounds to canvas click via reference locator (#1377)
Store the click as __anchorX/__anchorY and recompute x/y when the locator opens or changes so the chosen point stays on the click like Illustrator.

Co-authored-by: Cursor <[email protected]>
2026-10-20 06:07:29 +07:00
nrq6993-a11yandCursor 699e6e9af4 G1: Grid tool dialogs add reference point locator (#1377)
Rectangular and Polar Grid click dialogs show the nine-point locator and resize width/height about it using the same artboard_rect logic as Artboard Options.

Co-authored-by: Cursor <[email protected]>
2026-10-20 06:07:29 +07:00
nrq6993-a11yandCursor feda1c062f G5: Add Overlap to complete i18n catalogs for art brush options.
Co-authored-by: Cursor <[email protected]>
2026-10-20 05:05:51 +07:00
nrq6993-a11yandCursor b929561fc3 G5: Art brush Overlap option bends art per corner run
Co-authored-by: Cursor <[email protected]>
2026-10-20 05:05:50 +07:00
nrq6993-a11yandCursor 2ceb183bfe G1: restore Alt-drag copy for existing ruler guides (#2997).
Drop the undocumented orientation-swap on moved guides; Alt again previews guide.move with copy, matching new-guide Alt orientation only.

Co-authored-by: Cursor <[email protected]>
2026-10-19 23:17:28 +03:00
nrq6993-a11y a2c764d312 G2: Effect › Artistic › Plastic Wrap raster filter
Squashed from #3034 onto the Sketch filters; the Artistic label test lists it.
2026-10-20 02:55:29 +07:00
nrq6993-a11y 917aa29dd5 G2: Effect › Sketch › Reticulation raster filter
Squashed from #2976 onto Chalk & Charcoal and Graphic Pen.
2026-10-20 02:54:06 +07:00
nrq6993-a11y 11adb72d44 G2: Effect › Sketch › Graphic Pen raster filter
Squashed from #2967 onto #2972 (Chalk & Charcoal): both filters in the effect catalog, PIXEL_EFFECTS and the Sketch label and filter tests.
2026-10-20 02:52:33 +07:00
nrq6993-a11yandCursor 52380d683d G2: Chalk & Charcoal: fix clippy on luma type
Co-authored-by: Cursor <[email protected]>
2026-10-20 02:50:13 +07:00
nrq6993-a11yandCursor 1f2007eb46 G2: Effect › Sketch › Chalk & Charcoal raster filter
Adds sketch.chalkCharcoal to the pixel-effect pipeline so Effect › Sketch exposes chalk highlights and charcoal strokes with public-doc-style parameters and tests.

Co-authored-by: Cursor <[email protected]>
2026-10-20 02:50:13 +07:00
nrq6993-a11yandCursor cfea906681 G1: Mesh point drags show dX/dY in measurement labels
Honor Measurement Labels while moving gradient-mesh and mesh-envelope
points with the Mesh tool or Direct Selection.

Co-authored-by: Cursor <[email protected]>
2026-10-20 02:48:08 +07:00
nrq6993-a11yandCursor 361ebd29bf G1: Free Distort corner drags show dX/dY measurement labels
Honor Measurement Labels during envelope-style corner drags on the Free Transform tool, matching the Move handle readout.

Co-authored-by: Cursor <[email protected]>
2026-10-20 02:37:03 +07:00
nrq6993-a11yandCursor 223bfd29c2 ui-egui: satisfy clippy on warp id checks in effect dialog
Co-authored-by: Cursor <[email protected]>
2026-10-20 02:23:34 +07:00
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 <[email protected]>
2026-10-20 02:23:34 +07:00
nrq6993-a11yandCursor 1c1fd57b33 G1: Warp Options remembers last confirmed slider values
New warp effect dialogs seed bend, distortion and orientation from the
previous OK instead of catalog defaults; editing an applied warp is unchanged.

Co-authored-by: Cursor <[email protected]>
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 <[email protected]>
2026-10-20 02:23:34 +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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-10-20 02:21:41 +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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2026-10-20 01:48:35 +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 <[email protected]>
2026-10-20 01:48:34 +07:00
nrq6993-a11yandCursor e975942be0 Fix #2996: color books copy to user folder under book title
When copying a loaded .acb into the user library, use the parsed book
title instead of a macOS sandbox temporary name (storytold/vectorcraft#2996).

Co-authored-by: Cursor <[email protected]>
2026-10-20 01:43:58 +07:00
nrq6993-a11yandCursor 2f93923e60 G9: regression tests for AI editing-data path guides (#779)
Lock in (op) * guide import: plain, legacy-wrapped, and stroked paths stay guide geometry.

Co-authored-by: Cursor <[email protected]>
2026-10-20 01:43:57 +07:00
nrq6993-a11yandCursor 32a322531a G1: fix guide.move preview copy flag and ruler-drop Alt handling.
Align ruler-drop detection with source orientation and alt-flip readout tests with relative origins.

Co-authored-by: Cursor <[email protected]>
2026-10-19 07:51:20 +03:00
nrq6993-a11yandCursor 0d09d6a188 Docs: mark existing ruler-guide Alt orientation as done in ui-parity
Co-authored-by: Cursor <[email protected]>
2026-10-19 01:46:47 +03:00
nrq6993-a11yandCursor 73eaa84d34 G1: Alt-drag an existing ruler guide to swap its orientation
Match the public shortcut reference: Alt while dragging converts horizontal and vertical, with snapping on the new axis; guide.move accepts vertical on the index form.

Co-authored-by: Cursor <[email protected]>
2026-10-19 01:46:38 +03:00
nrq6993-a11yandCursor 57ddb71d97 #1753: saved workspaces restore dock panel width
Persist the main dock column width in workspace snapshots and reapply it when switching layouts.

Co-authored-by: Cursor <[email protected]>
2026-10-19 00:27:40 +07:00
nrq6993-a11yandCursor 49f7f5d7d8 G1: busy cursor during background open, save and export
Co-authored-by: Cursor <[email protected]>
2026-10-19 00:26:27 +07:00
nrq6993-a11yandCursor 2025c357d9 Fix #2719: honor Display Print Size for status-bar 100% zoom
Co-authored-by: Cursor <[email protected]>
2026-10-18 23:50:57 +07:00
nrq6993-a11yandCursor 16dcaa425b Fix #2727: opacity-mask editing no longer dims the canvas
Co-authored-by: Cursor <[email protected]>
2026-10-18 23:48:57 +07:00
nrq6993-a11yandCursor bf19ada5e1 Fix #2646: keep undocked shared-dock panels opaque
Floating groups on the canvas now always get a panel-colour backdrop from layout geometry when egui has not registered the area yet, and panel bodies paint their own fill so empty regions do not show through.

Co-authored-by: Cursor <[email protected]>
2026-10-18 23:48:57 +07:00
nrq6993-a11yandCursor e8e88c14f2 Fix #2723: Reshape falloff uses arc length along the path
Co-authored-by: Cursor <[email protected]>
2026-10-18 20:12:47 +07:00
nrq6993-a11yandCursor 640c87b537 Fix #2576: poll for fonts font managers activate while the app is in front
Font services (NexusFont, Adobe Fonts) register faces with the OS without
touching font-folder mtimes; only re-asking the platform lister sees them.
Check every two seconds as well as on window focus, and test that path churn
is detected on the system font scan.

Co-authored-by: Cursor <[email protected]>
2026-10-18 18:46:03 +07:00