vectorcraft/crates
dotCooCoo 9cbab1383b Paint: fill, stroke, gradient and Appearance panel commands that change nothing record no undo step
These commands edited the document even when nothing changed, so the
call recorded an undo step, emptied Redo and marked the document
modified:

- Fill, Stroke, None, Apply Last Color and Apply Last Gradient with the
  paint the objects have already, also on characters selected with the
  Type tool.
- stroke.set and stroke.setAdvanced with the options the strokes have
  already.
- paint.editGradient, paint.setGradientGeom and the freeform point
  commands when the gradient comes out as it was.
- Invert and Complement on the Appearance panel's selected row when no
  color changes.
- Swap Fill and Stroke and Default Fill and Stroke when every object
  comes out as it was.
- appearance.setItem with the values the item has or an index no
  object has, and transparency.set with an item and the values that
  item has; appearance.removeItem with indices past every stack;
  appearance.moveItem, Reduce to Basic Appearance, Clear Appearance,
  the Eyedropper (appearance.copyFrom) and appearance.transfer when
  every object comes out as it was.

These commands now return without editing the document. The replies
have the same form as before. On a graph's series or labels, a fill or
stroke that the art has already still records one undo step when the
graph does not keep that paint for them (for example after the
Eyedropper painted the art), and the graph then keeps it.

The Eyedropper test whose second copy changed nothing gives its target
a green fill first, which the copy turns red again.

One line in the evidence list of docs/target-app-parity.md names these
commands, apart from Invert and Complement.
2026-10-12 09:43:15 +07:00
..
affinity Clippy 1.99: as_chunks in the Affinity raster tests 2026-10-09 23:15:36 +07:00
brush #1172: share an object's appearance with its undo history until it changes 2026-10-11 23:27:21 +07:00
cad fix(cad): set the closed bit on DXF SPLINE entities so closed curves import into CAM (#1299) 2026-10-12 08:53:36 +07:00
color Review: palette writing keeps the swatches PaletteFormat::holds names; ROADMAP (#1110) 2026-10-11 11:33:07 +07:00
doc Links: Find in Folder… looks for missing linked files in a folder and its subfolders 2026-10-12 08:16:41 +07:00
effects G2: add Artistic Film Grain live effect 2026-10-12 07:26:05 +07:00
engine Paint: fill, stroke, gradient and Appearance panel commands that change nothing record no undo step 2026-10-12 09:43:15 +07:00
eps EPS: huge arcs, fine dashes and rectangle arrays in a loop no longer hang the import 2026-10-12 09:43:15 +07:00
format Graph designs and marker designs: Object › Graph › Design… and Marker… 2026-10-12 06:42:49 +07:00
geom #1111: a blend's spine bends into a curve 2026-10-11 17:49:41 +07:00
mcp MCP: lost replies report uncertainty instead of replaying edits 2026-10-12 06:59:49 +07:00
metafile Part of #637: the editing data's structure read whole, colours, gradients, transparency, names, images and artboards included 2026-10-09 16:02:36 +07:00
pathops Shape Builder: a line's loose end past a crossing no longer runs out and back in most cases 2026-10-12 00:16:22 +07:00
pdf TEST.1: correct font shaping and embedding oracles 2026-10-12 06:59:49 +07:00
plugins Review: a whole number past i64::MAX is past any maximum; ROADMAP (#1091) 2026-10-11 12:24:46 +07:00
render perf: テクスチャ効果の距離判定を軽くする #1257 2026-10-12 07:25:58 +07:00
svg SVG.1: preserve data attributes and validate export ranges 2026-10-12 06:59:49 +07:00
testkit variables: fix binding lifetime, dataset editing and the missing UI to define 2026-10-10 23:34:21 +07:00
text Type: Proportional Metrics bring their kerning — `apkn` with `palt`, `vkrn` and `vapk` with `vpal` (#966) 2026-10-12 07:25:55 +07:00
three-d M9: add live Revolve with artboard rotation and lighting controls 2026-10-10 23:44:46 +07:00
tools Merge pull request #1313 from itrycodinganditsbad/fix-1274 2026-10-12 08:20:33 +07:00
trace Image Trace: an oversized image decodes within the allocation its 192 megapixel limit needs (512 MB on the web) 2026-10-12 08:23:19 +07:00
ui-egui Plug-ins: share the whole-number field test harness 2026-10-12 09:21:30 +07:00