vectorcraft/crates/engine/src/cmd
bflatastic 2a35c4a82f Fix #522: SVG round trips keep hidden objects and data-* attributes
An SVG used as an animation rig lost its hidden alternates and their
rotation pivots: the exporter left hidden objects out (only hidden layers
could be kept), and the importer dropped data-* attributes.

- SVG export: hiddenLayers (on by default for document.save, as before)
  now keeps hidden objects too, each written display="none" on its own
  element (path, image, text or group). Exports still leave them out
  unless asked; the CLI's convert asks, as a conversion keeps the
  document.
- An object's own data: ObjectAttributes.data, the data-* attributes in
  order (ours, data-name and data-vc-*, aside). The importer keeps them on
  the objects and layers they belong to (at most 64 per element), the
  exporter writes them back, the native format saves them (missing in
  older files), and object.setProps {data: {key: value|null}} sets or
  removes them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 03:36:08 +07:00
..
clipboard Placed documents: the object, drawn exactly and kept as art by every exporter 2026-10-08 12:20:51 -07:00
fileio Fix #522: SVG round trips keep hidden objects and data-* attributes 2026-10-09 03:36:08 +07:00
place Placed documents: Links commands check, update, relink and break their links 2026-10-08 12:20:51 -07:00
appearance.rs M3.69: target circles target layers, groups and objects; drag them to move appearances 2026-10-05 02:15:41 +07:00
assets.rs M4.65: Asset Export panel and the Assets tab of Export for Screens 2026-10-05 15:24:54 +07:00
attributes.rs M3.76: Attributes panel with overprint, centre point, path direction, fill rule, image map, URL and note 2026-10-05 03:46:04 +07:00
brushsym.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
buildcmds.rs Fix #569: Shape Builder merges leave no stray edges in their outlines 2026-10-09 03:04:48 +07:00
clipboard.rs Fix #446: copy and paste artboards with their art 2026-10-08 15:02:33 +07:00
colorcmds.rs Fix #122: colour adjustment live effects (Effect > Color Adjustments) 2026-10-06 00:42:26 +07:00
colormgmt.rs Fix #421: Document Color Mode can put RGB greys on the black plate 2026-10-08 10:30:32 +07:00
colortheme.rs M3.96: Color Themes panel with a local theme library 2026-10-05 05:08:28 +07:00
create.rs Merge #538: Fix #511: Live Corners on any path's corners (stars, polygons, pen paths) 2026-10-09 00:44:29 +07:00
css.rs M4.96: Window › CSS Properties shows, copies and exports the CSS of the selection 2026-10-05 16:03:11 +07:00
cut.rs Fix #122: Mirror & Cut, Line Cut and Rectangle Cut tools 2026-10-06 00:42:26 +07:00
distortcmds.rs Placed documents: the object, drawn exactly and kept as art by every exporter 2026-10-08 12:20:51 -07:00
docinfo.rs Placed documents: the object, drawn exactly and kept as art by every exporter 2026-10-08 12:20:51 -07:00
docmenu.rs Part of #451: guides dragged out of the rulers snap, artboard guides 2026-10-08 15:23:18 +07:00
docsetup.rs M4.20: Document Setup with bleed, transparency grid, paper and type options 2026-10-05 08:28:16 +07:00
draw2.rs Fix #494: Pen + Cmd edits the path being drawn; Pen + Alt reshapes segments; handle drags fixed and fast 2026-10-08 22:00:13 +07:00
edit.rs Fix #446: copy and paste artboards with their art 2026-10-08 15:02:33 +07:00
effectcmd.rs Fix #221: Effect > Pathfinder works on several selected objects 2026-10-07 02:21:06 +07:00
expand.rs Placed documents: Links commands check, update, relink and break their links 2026-10-08 12:20:51 -07:00
fileinfo.rs M4.55: File Info with author, description, keyword chips, rating and copyright, written to SVG, PDF and PNG 2026-10-05 09:55:47 +07:00
flatten.rs Placed documents: the object, drawn exactly and kept as art by every exporter 2026-10-08 12:20:51 -07:00
fonts.rs Fix #319: exports warn when type in a missing font is written in the fallback font 2026-10-08 06:04:29 +07:00
freeform.rs M3.97: freeform points drag out to delete, spread ring drags, Lines mode draws lines 2026-10-05 04:43:43 +07:00
gradient.rs M14.4: no panics in the shipped code main gained since the no-panics branch 2026-10-05 06:39:18 +07:00
graph.rs M12.6: Graphs — the nine graph tools (Column, Stacked Column, Bar, Stacked Bar, Line, Area, Scatter, Pie, Radar), Object → Graph → Type… and Data… (CSV), series groups with legend, regenerate in place keeping moves/scales 2026-10-02 00:16:23 -04:00
halftone.rs Fix #122: Object > Vector Halftone 2026-10-06 00:42:26 +07:00
help.rs Community links: Help menu (Discord, ArtCraft website, app page, GitHub), Discord button in the header, links on the About and Home screens; engine help.* commands return the URLs (menu clicks open them via the host's browser service) 2026-10-01 14:37:29 -04:00
layer.rs Part of #451: guides dragged out of the rulers snap, artboard guides 2026-10-08 15:23:18 +07:00
layerpanel.rs Layers: sublayers are layers, not objects, and every row has a command 2026-10-07 22:29:15 +07:00
links.rs Placed documents: Links commands check, update, relink and break their links 2026-10-08 12:20:51 -07:00
live.rs M8.17: Edit envelopes on the canvas: Edit Contents, mesh points and handles, Control bar 2026-10-06 12:16:59 +07:00
maskedit.rs M3.86: Alt-click the mask thumbnail to view only the mask 2026-10-05 03:11:04 +07:00
menucmds.rs Control bar: image controls (Image Trace, Embed, Crop, Mask) when an image is selected 2026-10-08 17:15:48 +07:00
mod.rs Placed documents: File › Place links a VectorCraft document by default; output reads its file 2026-10-08 12:20:51 -07:00
newart.rs M14.4: no panics in the shipped code main gained since the no-panics branch 2026-10-05 06:39:18 +07:00
newdoc.rs M4.55: a journal replay reproduces File Info's dates 2026-10-05 11:41:26 +07:00
object.rs Fix #522: SVG round trips keep hidden objects and data-* attributes 2026-10-09 03:36:08 +07:00
opacitymask.rs M3.69: target circles target layers, groups and objects; drag them to move appearances 2026-10-05 02:15:41 +07:00
overprint.rs M3.76: Attributes panel with overprint, centre point, path direction, fill rule, image map, URL and note 2026-10-05 03:46:04 +07:00
package.rs Fix #319: exports warn when type in a missing font is written in the fallback font 2026-10-08 06:04:29 +07:00
paint.rs M3.98: radial annotator extent ellipse, aspect handle and off-centre focal point 2026-10-05 04:43:43 +07:00
panelcmds.rs Type: burasagari labels Regular/Force, full-width commas and full stops hang, MCP docs (review of #463) 2026-10-08 17:34:05 +07:00
path.rs Pen and anchors: Alt edits one handle, cut and convert selected anchors from the Control bar 2026-10-08 17:16:12 +07:00
pathops.rs Fix #87: rust-version is 1.95, and clippy 1.95 passes 2026-10-05 23:05:32 +07:00
patterncmds.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
pdfcmds.rs M4.44: PDF presets: built-ins in code, saved presets, Edit > PDF Presets 2026-10-05 10:40:22 +07:00
perspgrid.rs Fix #321: the perspective grid hides while a perspective tool is chosen 2026-10-08 03:27:36 +07:00
plugin.rs Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
prefscmds.rs Fix #502: no startup crash on dual-GPU Linux desktops under Wayland 2026-10-08 21:59:55 +07:00
print.rs Placed documents: File › Place links a VectorCraft document by default; output reads its file 2026-10-08 12:20:51 -07:00
printadvanced.rs M4.81: Print advanced options: overprints, flattener, printer profile, bitmap 2026-10-05 17:27:00 +07:00
printpresets.rs M4.79: print presets in the Print dialog and Edit > Print Presets 2026-10-05 16:30:46 +07:00
printtiling.rs M4.80: Print Tiling tool and View > Show Print Tiling 2026-10-05 17:26:59 +07:00
rasterfx.rs M8.20: blends interpolate strokes, gradients, groups, type and symbols faithfully 2026-10-06 12:01:28 +07:00
recolor.rs M3.95: Color Guide Limit to Library and Edit or Apply Colors without art 2026-10-05 05:08:15 +07:00
recovery.rs Fix #369: restart the web build's graphics after a lost device or context 2026-10-08 07:18:32 +07:00
select.rs Fix #541: a click on a selected object makes it the key object 2026-10-09 02:08:56 +07:00
slices.rs M4.90: Save for Web (Legacy) previews and saves optimised GIF, JPEG, PNG-8 and PNG-24 images, slices and HTML 2026-10-05 15:24:51 +07:00
stroke.rs M14.5: Preferences > Units drive every length the UI shows and reads 2026-10-05 07:43:41 +07:00
style.rs M3.65: new-art appearance template (stroke options and graphic styles with nothing selected, New Art Has Basic Appearance) 2026-10-05 04:38:09 +07:00
stylelib.rs M3.80: graphic style libraries in the library panel, with .vcstyles save and load 2026-10-05 03:06:13 +07:00
swatch.rs M3.79: Edit or Apply Color Group opens Recolor Artwork on a colour group 2026-10-05 04:20:27 +07:00
swatchlib.rs M3.95: Color Guide Limit to Library and Edit or Apply Colors without art 2026-10-05 05:08:15 +07:00
tabs.rs M7.6: tab stops and the Tabs panel — left/center/right/decimal stops (align-on character), default stops every ½ inch, text.tabs.set/get/clear, ruler (click adds, drag moves, drag off deletes), Repeat Tab / Delete Tab / Clear All Tabs; control characters no longer draw .notdef boxes 2026-10-02 10:13:24 -04:00
textedit.rs Type (#432): new type in a Japanese interface starts top-to-top with em box centre alignment 2026-10-09 00:08:03 +09:00
textstyles.rs Type (#432): new type in a Japanese interface starts top-to-top with em box centre alignment 2026-10-09 00:08:03 +09:00
textwrap.rs M7.4: Text Wrap flows on both sides of an object (lines split into every free span, left to right, sharing the baseline; exact interval intersection across the line band) 2026-10-02 09:28:04 -04:00
threads.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
typecmd.rs M0.CI: restore checks without optional fonts 2026-10-08 20:50:54 +01:00
typemenu.rs Fix #429: Type on a path brackets, flip and Type on a Path Options that keep the type in place 2026-10-08 12:50:25 +07:00
views.rs M3.88: Show Transparency Grid is per-document engine view state 2026-10-05 03:11:04 +07:00
wand.rs M3.28: proxies look through groups like the paint commands (a group shows its contents' paint, and contents that differ make a "?" proxy), the toolbar and panels share the engine's Session::proxy_paints, Magic Wand and Select Text by Font bump the revision so the cached "?" state follows them; double-click proxy test 2026-10-04 18:22:05 +07:00
webexport.rs M4.90: Save for Web (Legacy) previews and saves optimised GIF, JPEG, PNG-8 and PNG-24 images, slices and HTML 2026-10-05 15:24:51 +07:00
xform.rs Part of #451: guides dragged out of the rulers snap, artboard guides 2026-10-08 15:23:18 +07:00