vectorcraft/crates
bflatastic d62ecfe33a Fix #926: the Libraries panel's search, groups and library export/import
Search: a search field at the top of the Libraries panel filters the
current library's colours, character and paragraph styles and graphics
by name, ignoring case; groups without a match are hidden, groups with
one open, and a search nothing matches says so ("No results").

Groups: items can be put in user-named groups, kept in the library file
(`groups: [{name, items: [{kind, item}]}]`, left out when there are
none, so files written before groups load as they are). New commands:
library.createGroup {library?, name?, items?}, library.renameGroup
{library?, group, name}, library.deleteGroup {library?, group} (its
items stay, ungrouped) and library.moveItem {library?, kind, item,
group?}. An item is in one group at most; deleting an item takes it out
of its group. The panel shows each group as a collapsible section with
its item count after the ungrouped items (rename and delete on its
context menu), each item's context menu has Move to Group (No Group,
the groups, New Group...), and a New Group button sits in the footer.
library.get lists the groups, library.list counts them. The generic
command dialog takes fixed params in `__params` for this.

Export / import: library.export {library?, path?} writes a library
(colours, styles, graphics with art and thumbnails, groups) as a
.vclibrary file, the JSON the library folder keeps (without a path:
{data}); library.import {path | data | dataBase64, name?} adds one as a
new library, made current, numbered on a name clash ("Brand (2)").
The panel menu has Import Library... and Export Library..., through the
app's file dialogs (the web downloads, and picks through File > Open,
which now lists Libraries files). Imported and folder files are made
safe: at most 10,000 items of a kind and 1,000 groups, names clipped and
made unique, sizes finite, thumbnails kept only when their PNG header
says at most 1024 px a side, group entries naming missing items or
unknown kinds dropped; a file over 512 MB or that isn't a library is an
error. Paths go through the engine's file helpers (automation roots).
The importer is fuzzed (import_fuzz: garbage and mutated libraries).

Also fixed: the third graphic added to a library got the second's id
(`graphic-2` twice).

Docs: the commands' params docs, docs/mcp.md, ROADMAP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 17:17:01 +07:00
..
affinity Clippy 1.99: as_chunks in the Affinity raster tests 2026-10-09 23:15:36 +07:00
brush Part of #852: Brush Options for Calligraphic and Bristle brushes, pen pressure 2026-10-10 12:15:18 +07:00
cad Fix #546: DXF export writes each fill's outlines before its hatch 2026-10-09 14:49:42 +07:00
color Fix #831: color books (.acb) open as swatch libraries 2026-10-10 10:27:58 +07:00
doc Colour graph series through Group Selection 2026-10-10 14:33:40 +07:00
effects Part of gap 2: Effect › Video (De-Interlace, NTSC Colors) 2026-10-10 17:05:56 +07:00
engine Fix #926: the Libraries panel's search, groups and library export/import 2026-10-10 17:17:01 +07:00
eps EPS: bound the stitched-gradient builder 2026-10-10 17:29:45 +09:00
format Fonts: missing fonts are listed when a document opens, with Find Fonts and a folder search 2026-10-10 08:42:32 +07:00
geom Part of #812: an ellipse's Pie Start and End Angle and Invert Pie 2026-10-10 03:00:15 +07:00
mcp Fix #832: --automation-read-root and --automation-write-root confine the MCP server's files 2026-10-10 14:27:24 +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 Fix #569: Shape Builder merges leave no stray edges in their outlines 2026-10-09 03:04:48 +07:00
pdf Fix #811: unnamed glyphs of an installed font stay in their type 2026-10-10 16:46:39 +07:00
plugins Fix #832: --automation-read-root and --automation-write-root confine the MCP server's files 2026-10-10 14:27:24 +07:00
render Part of gap 2: Effect › Video (De-Interlace, NTSC Colors) 2026-10-10 17:05:56 +07:00
svg Fix #847: draw Underline and Strikethrough 2026-10-10 06:03:04 +07:00
testkit Fonts: missing fonts are listed when a document opens, with Find Fonts and a folder search 2026-10-10 08:42:32 +07:00
text Part of #394: Show Font Names in English labels the font menus. 2026-10-10 14:10:31 +07:00
tools Part of #927: Direct Selection marquees take the type they touch 2026-10-10 16:19:44 +07:00
trace Image Trace: Flat Logo mode (sub-pixel edges, restored corners, true lines and circles) 2026-10-09 17:57:04 +11:00
ui-egui Fix #926: the Libraries panel's search, groups and library export/import 2026-10-10 17:17:01 +07:00