vectorcraft/crates
Fahri Meral e80b7e383b MCP: prompts, resource templates, completions and logging
The server answered tools/* and two fixed resources and nothing else, and
resources/templates/list returned an empty array. This adds the rest of the surface a
client can actually use, against 2025-06-18.

- prompts/list and prompts/get: five workflows (poster, icon-set, recolor,
  trace-and-style, export-set) with templated arguments. A missing required argument
  is -32602 and names itself.
- resources/templates/list, and resources/read for the templates: object/{id},
  command/{id}, effect/{id}, swatch/{name}. Reading one thing at a time instead of
  vectorcraft://document/json, which on a real document is thousands of lines an agent
  pays for again on every change.
- completion/complete for prompt arguments and template variables, ranked prefix
  first, capped at 100 with total and hasMore. The values are read live, so a suggested
  format, effect id, command id, trace preset, swatch or object id is one the engine
  has.
- logging/setLevel and notifications/message. Nothing installed a log::Log before, so
  the engine's log::debug! calls went nowhere; this is the sink, silent until asked.
  Installing it is vectorcraft-cli's job rather than the library's, so an embedder
  that already has a logger keeps it.

docs/mcp.md gains a Protocol section with the capability table and a Not implemented
section: subscriptions, progress, cancellation, sampling, elicitation and Streamable
HTTP all need the transport to interleave reads, which this one does not — handle_line
answers a line with a reply, so it neither reads an incoming cancellation nor can write
progress before the reply it belongs to.

62 tests (50 unit, 12 property/fuzz). protocol_props.rs gained five: prompts survive
junk arguments, completion/complete never panics and always answers at most 100
string values with a consistent hasMore, every template reads or fails cleanly, and
prompts/completions/templates are swept with junk params while asserting the document
comes back byte-identical.

ROADMAP: one bullet under Automation in Shipped so far and the changelog line. The
parity table and the gap list are untouched — MCP is agent automation, so feature
parity does not move.
2026-10-07 07:25:02 +07:00
..
brush M4.39: SVG symbols as <symbol>/<use>, hidden layers on Save, Dublin Core metadata 2026-10-05 09:03:52 +07:00
cad Fix #177: DXF Fit and Aligned text span their two points 2026-10-07 02:14:39 +07:00
color M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
doc i18n: add Japanese menus and initial vertical type tools 2026-10-06 16:55:47 +09:00
effects M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
engine Tests: the font resolution test no longer depends on the installed fonts 2026-10-07 07:17:36 +07:00
eps M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
format M4.38: native and .ai save options: each artboard to its own file, linked files, ICC profiles, PDF content 2026-10-05 15:24:19 +07:00
geom M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
mcp MCP: prompts, resource templates, completions and logging 2026-10-07 07:25:02 +07:00
metafile M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
pathops Fix #206: Live Paint treats every path as an edge, open lines included 2026-10-07 02:08:39 +07:00
pdf PDF/.ai import: fonts are found by their PostScript name, whatever hyphens the family holds 2026-10-06 20:18:53 +09:00
plugins Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
render Type: find fonts by any of their names; say how each one resolved 2026-10-06 21:45:10 +09:00
svg i18n: add Japanese menus and initial vertical type tools 2026-10-06 16:55:47 +09:00
testkit M4.62: PDF/.ai layers from optional content: named layers with visibility, print state and lock; art that is off as hidden layers 2026-10-05 13:05:12 +07:00
text Merge pull request #228 from EthanSuquet/fix/hide-dot-system-fonts 2026-10-06 15:57:48 -04:00
tools Merge main into #208 (after #207 and #209): keep both IME and vertical-arrow tests 2026-10-06 15:44:50 -04:00
trace Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
ui-egui Merge pull request #233 from theironchef/fix/canvas-edge-click 2026-10-07 07:24:21 +07:00