From 62681d2b803f846b0af327db747cea485da4e2d0 Mon Sep 17 00:00:00 2001 From: bflatastic Date: Sun, 4 Oct 2026 00:55:55 +0700 Subject: [PATCH] Docs: README names the Illustrator habits that now work (corner widget dragging, Alt-click pivot on an anchor, middle-mouse pan, save prompt before closing); control protocol: file.close / closeAll / app.quit open a saveChanges dialog per modified document and how agents answer it --- README.md | 5 ++++- docs/control-protocol.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index af93f4f9..70715411 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,10 @@ exposes to agents, and exported by VectorCraft's own renderer. The source files ## Why VectorCraft - **Familiar.** Illustrator's layout, tools, menus, panels and shortcuts: the Pen, Direct Selection, - Pathfinder, Smart Guides, Appearance, Swatches, Layers and more. You already know how to use it. + Pathfinder, Smart Guides, Appearance, Swatches, Layers and more. You already know how to use it, + down to the habits: drag a rectangle's corner widgets to round it, Alt-click an anchor with Rotate + or Reflect to pivot exactly there, pan with the middle mouse button, and get asked before closing + unsaved work. - **Fast.** Multithreaded SIMD rendering off the UI thread. 20,000 shapes render in about 27 ms at full retina resolution while the interface stays at 120 fps. - **Robust.** Exact curve booleans (no "cannot perform operation"), unlimited undo via structural diff --git a/docs/control-protocol.md b/docs/control-protocol.md index c7d83ca9..a858ef14 100644 --- a/docs/control-protocol.md +++ b/docs/control-protocol.md @@ -18,4 +18,4 @@ | `ui.screenshot` | `{path?}` | capture the window (PNG). Needs a presented frame: with the screen locked or the window minimized/covered it fails after ~8 s with an explanatory error | | `ui.render` | `{path?, scale?}` | render the artboard headlessly (PNG) | | `ui.resize` / `ui.focus` | | | -| `app.open` / `app.save` / `app.export` / `app.quit` | `{path}` / `{path?}` / `{format, path, scale?}` | | +| `app.open` / `app.save` / `app.export` / `app.quit` | `{path}` / `{path?}` / `{format, path, scale?}` | `app.quit`, `file.close` and `file.closeAll` first open a `saveChanges` dialog for each modified document (they return `{"pending": "saveChanges"}`): `ui.dialog.confirm` saves, `ui.dialog.set {field: "discard", value: true}` then confirm discards, `ui.dialog.cancel` cancels the whole close or quit |