@trohde/agentic-canvas 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -1
- package/README.md +10 -7
- package/dist/cli/index.js +660 -52
- package/dist/cli/index.js.map +1 -1
- package/dist/web/assets/{ar-SA-G6X2FPQ2-Bx_JGCzc.js → ar-SA-G6X2FPQ2-Cm_aowk8.js} +1 -1
- package/dist/web/assets/{arc-CZEYm-X2.js → arc-BfEOcH9b.js} +1 -1
- package/dist/web/assets/architecture-7EHR7CIX-D9uaHVVA.js +1 -0
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-BX4UqKAe.js → architectureDiagram-3BPJPVTR-D6EV9nh8.js} +1 -1
- package/dist/web/assets/{az-AZ-76LH7QW2-CQnzCEm_.js → az-AZ-76LH7QW2-BKDm9AO9.js} +1 -1
- package/dist/web/assets/{bg-BG-XCXSNQG7-B6OhJNg1.js → bg-BG-XCXSNQG7-Bhj2ixUd.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-DOaLZNH2.js → blockDiagram-GPEHLZMM-uuVOs3ER.js} +1 -1
- package/dist/web/assets/{bn-BD-2XOGV67Q-CL8DmeD-.js → bn-BD-2XOGV67Q-CnDq7W6e.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-BOYbD4o9.js → c4Diagram-AAUBKEIU-CyjNcZVo.js} +1 -1
- package/dist/web/assets/{ca-ES-6MX7JW3Y-DqXuGb3N.js → ca-ES-6MX7JW3Y-CzFlQ5Bd.js} +1 -1
- package/dist/web/assets/channel-DcqTbL2I.js +1 -0
- package/dist/web/assets/{chunk-2J33WTMH-9pRDhFmL.js → chunk-2J33WTMH-DJms322I.js} +1 -1
- package/dist/web/assets/{chunk-3OPIFGDE-Cxtej-eZ.js → chunk-3OPIFGDE-DDQRiaw9.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-WGnRPgB4.js → chunk-4BX2VUAB-8fkcN1qh.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-By23tM0L.js → chunk-55IACEB6-C_yQ14T3.js} +1 -1
- package/dist/web/assets/{chunk-5ZQYHXKU-BbvpmZDT.js → chunk-5ZQYHXKU-ZNEPgpb3.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-DeN-6nx2.js → chunk-727SXJPM-DH8nxAzX.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-3vlT2osY.js → chunk-AQP2D5EJ-DfLHvN4q.js} +1 -1
- package/dist/web/assets/{chunk-BSJP7CBP-ggZwEsYs.js → chunk-BSJP7CBP-Cf2UEop4.js} +1 -1
- package/dist/web/assets/{chunk-CSCIHK7Q-CkCt7BGB.js → chunk-CSCIHK7Q-Bt5Wp92e.js} +1 -1
- package/dist/web/assets/{chunk-EIO257PC-DhAXVvAc.js → chunk-EIO257PC-CzqCX7ih.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-BWW1dpup.js → chunk-FMBD7UC4-Dn7yJ4Og.js} +1 -1
- package/dist/web/assets/{chunk-KSCS5N6A-ByGpruIk.js → chunk-KSCS5N6A-Ckb-EIkQ.js} +1 -1
- package/dist/web/assets/{chunk-L5ZTLDWV-Brj903IS.js → chunk-L5ZTLDWV-DMOYXaNY.js} +1 -1
- package/dist/web/assets/{chunk-LZXEDZCA-B0E6SbHa.js → chunk-LZXEDZCA-BZJbFie6.js} +2 -2
- package/dist/web/assets/{chunk-ND2GUHAM-cgO1vAyy.js → chunk-ND2GUHAM-CH3bRn4I.js} +1 -1
- package/dist/web/assets/{chunk-NZK2D7GU-rJf6zpwf.js → chunk-NZK2D7GU-I17AXEJG.js} +1 -1
- package/dist/web/assets/{chunk-O5CBEL6O-DZpUP7B-.js → chunk-O5CBEL6O-hgdRiomR.js} +1 -1
- package/dist/web/assets/chunk-QZHKN3VN-DsIBQWIa.js +1 -0
- package/dist/web/assets/chunk-WU5MYG2G-CvtGRUhe.js +1 -0
- package/dist/web/assets/{chunk-XPW4576I-DRG_5uRX.js → chunk-XPW4576I-9ec1XdXl.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-BnjqOVph.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BnjqOVph.js +1 -0
- package/dist/web/assets/{cose-bilkent-S5V4N54A-Dzdtq3ax.js → cose-bilkent-S5V4N54A-CTAH7-Na.js} +1 -1
- package/dist/web/assets/{cs-CZ-2BRQDIVT-C9Hi60ft.js → cs-CZ-2BRQDIVT-BqCGlckY.js} +1 -1
- package/dist/web/assets/{da-DK-5WZEPLOC-DuscK2dU.js → da-DK-5WZEPLOC-CQW71ILY.js} +1 -1
- package/dist/web/assets/{dagre-BM42HDAG-DG-1WRTH.js → dagre-BM42HDAG-jBLuWLOm.js} +1 -1
- package/dist/web/assets/{de-DE-XR44H4JA-BUknVi9m.js → de-DE-XR44H4JA-BGJ_QF0p.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-C01yy19V.js → diagram-2AECGRRQ-Bdk2bzIQ.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-9Ly54gPf.js → diagram-5GNKFQAL-BtXDpnfX.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-Bnzn_Fk2.js → diagram-KO2AKTUF-Dzpy-rDd.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-CkQJH7qS.js → diagram-LMA3HP47-DpyU3oY9.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-sYTSt9S6.js → diagram-OG6HWLK6-D_vZYBEy.js} +1 -1
- package/dist/web/assets/{dist-CHteZrRU.js → dist-D2xqQQPY.js} +1 -1
- package/dist/web/assets/{dist--k9jX8ko.js → dist-DbhSHjHs.js} +4 -4
- package/dist/web/assets/{el-GR-BZB4AONW-CBx8IJCe.js → el-GR-BZB4AONW-CtK8iWZk.js} +1 -1
- package/dist/web/assets/{en-B4ZKOASM-D04FpeSQ.js → en-B4ZKOASM-QIuF9S_L.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-kBTcPhaQ.js → erDiagram-TEJ5UH35-CPSP5rtu.js} +1 -1
- package/dist/web/assets/{es-ES-U4NZUMDT-nQPOkQIb.js → es-ES-U4NZUMDT-BGRuwoLW.js} +1 -1
- package/dist/web/assets/{eu-ES-A7QVB2H4-OVL5j0Bz.js → eu-ES-A7QVB2H4-BffwZaTm.js} +1 -1
- package/dist/web/assets/eventmodeling-FCH6USID-DsUO1N_d.js +1 -0
- package/dist/web/assets/{fa-IR-HGAKTJCU-BXJbxYFk.js → fa-IR-HGAKTJCU-DPSCuyoW.js} +1 -1
- package/dist/web/assets/{fi-FI-Z5N7JZ37-DoZfr4yv.js → fi-FI-Z5N7JZ37-8dRu4kif.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-CwQyslgb.js → flowDiagram-I6XJVG4X-pB7KUsSZ.js} +1 -1
- package/dist/web/assets/{fr-FR-RHASNOE6-CXLv0m_p.js → fr-FR-RHASNOE6-C8e_ndFO.js} +1 -1
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-B-1gME9q.js → ganttDiagram-6RSMTGT7-DEwygfiX.js} +1 -1
- package/dist/web/assets/{gitGraph-WXDBUCRP-BC3bsb5A.js → gitGraph-WXDBUCRP-DyH-gphX.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DUh_E2g-.js → gitGraphDiagram-PVQCEYII-C580aOqP.js} +1 -1
- package/dist/web/assets/{gl-ES-HMX3MZ6V-DMYtQjyy.js → gl-ES-HMX3MZ6V-DZvyfyMN.js} +1 -1
- package/dist/web/assets/{he-IL-6SHJWFNN-BXviMgxV.js → he-IL-6SHJWFNN-DdcdKhtV.js} +1 -1
- package/dist/web/assets/{hi-IN-IWLTKZ5I-B6s0F0bv.js → hi-IN-IWLTKZ5I-BluyCJ3K.js} +1 -1
- package/dist/web/assets/{hu-HU-A5ZG7DT2-DZY88thP.js → hu-HU-A5ZG7DT2-Dg3oGdTy.js} +1 -1
- package/dist/web/assets/{id-ID-SAP4L64H-CsRPE_UY.js → id-ID-SAP4L64H-BLUaAQdX.js} +1 -1
- package/dist/web/assets/image-GAAHSSAO-Du_312iO.js +1 -0
- package/dist/web/assets/{index-Do_WCY2x.js → index-CaeNa0Nd.js} +8 -8
- package/dist/web/assets/{info-J43DQDTF-DgcAwO7L.js → info-J43DQDTF-CT6GvwIw.js} +1 -1
- package/dist/web/assets/{infoDiagram-5YYISTIA-BVoRZtf6.js → infoDiagram-5YYISTIA-DajsEaol.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-Pc0lSZjn.js → ishikawaDiagram-YF4QCWOH-B4l6Aaj1.js} +1 -1
- package/dist/web/assets/{it-IT-JPQ66NNP-D6QIIUKx.js → it-IT-JPQ66NNP-CjKMpPiP.js} +1 -1
- package/dist/web/assets/{ja-JP-DBVTYXUO-BKIOpiiN.js → ja-JP-DBVTYXUO-7hTYylEN.js} +1 -1
- package/dist/web/assets/{journeyDiagram-JHISSGLW-CUTIkP_3.js → journeyDiagram-JHISSGLW-BYZtl1Hi.js} +1 -1
- package/dist/web/assets/{kaa-6HZHGXH3-Ck2PqClI.js → kaa-6HZHGXH3-DZbKTMJH.js} +1 -1
- package/dist/web/assets/{kab-KAB-ZGHBKWFO-9067fQ1h.js → kab-KAB-ZGHBKWFO-CfiL0AkF.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-f9h-Kl6S.js → kanban-definition-UN3LZRKU-3KTfHyGo.js} +1 -1
- package/dist/web/assets/{kk-KZ-P5N5QNE5-Ds5pD5Rs.js → kk-KZ-P5N5QNE5-CL1X8K-V.js} +1 -1
- package/dist/web/assets/{km-KH-HSX4SM5Z-BvgABkMn.js → km-KH-HSX4SM5Z-DkiDM0om.js} +1 -1
- package/dist/web/assets/{ko-KR-MTYHY66A-BI-VJ_qS.js → ko-KR-MTYHY66A-DeAZ7jFA.js} +1 -1
- package/dist/web/assets/{ku-TR-6OUDTVRD-CzO0QxpT.js → ku-TR-6OUDTVRD-BOybWoIi.js} +1 -1
- package/dist/web/assets/{line-BM7n-WSY.js → line-BVaj9bp2.js} +1 -1
- package/dist/web/assets/{linear-CoV0e-iv.js → linear-BbEWsyY4.js} +1 -1
- package/dist/web/assets/{lt-LT-XHIRWOB4-Wdr8437y.js → lt-LT-XHIRWOB4-C5H7N0uM.js} +1 -1
- package/dist/web/assets/{lv-LV-5QDEKY6T-Baqs6ETz.js → lv-LV-5QDEKY6T-T9e_HCTF.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-BxU7L1C-.js → mermaid-parser.core-CBlXvD0u.js} +2 -2
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-e2CkjxCV.js → mindmap-definition-RKZ34NQL-DQbTUk5-.js} +1 -1
- package/dist/web/assets/{mr-IN-CRQNXWMA-_P3j2iZu.js → mr-IN-CRQNXWMA-B-PthEKF.js} +1 -1
- package/dist/web/assets/{my-MM-5M5IBNSE-u-YXjqOx.js → my-MM-5M5IBNSE-BvaKSQfh.js} +1 -1
- package/dist/web/assets/{nb-NO-T6EIAALU-BVTkGOfM.js → nb-NO-T6EIAALU-AVukMlbc.js} +1 -1
- package/dist/web/assets/{nl-NL-IS3SIHDZ-Dz45KRHt.js → nl-NL-IS3SIHDZ-1Ais5hls.js} +1 -1
- package/dist/web/assets/{nn-NO-6E72VCQL-Bv1T99Os.js → nn-NO-6E72VCQL-CMMf615t.js} +1 -1
- package/dist/web/assets/{oc-FR-POXYY2M6-CWPx0BPy.js → oc-FR-POXYY2M6-COfJfqJD.js} +1 -1
- package/dist/web/assets/{pa-IN-N4M65BXN-CUAufnLD.js → pa-IN-N4M65BXN-BMA3pTXK.js} +1 -1
- package/dist/web/assets/{packet-YPE3B663-DSUdqwD6.js → packet-YPE3B663-BBkze78i.js} +1 -1
- package/dist/web/assets/percentages-BXMCSKIN-D6JI391u.js +1 -0
- package/dist/web/assets/{pica-lghYzniR.js → pica-0kffCCbc.js} +1 -1
- package/dist/web/assets/{pie-LRSECV5Y-CtaLKxkL.js → pie-LRSECV5Y-CKSNEbTP.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-KQxiMI7y.js → pieDiagram-4H26LBE5-BBbcOiMW.js} +1 -1
- package/dist/web/assets/{pl-PL-T2D74RX3-BYDGKTrw.js → pl-PL-T2D74RX3-BynL7lcx.js} +1 -1
- package/dist/web/assets/{pt-BR-5N22H2LF-DiLHA1Fv.js → pt-BR-5N22H2LF-C4hPdgZm.js} +1 -1
- package/dist/web/assets/{pt-PT-UZXXM6DQ-DO4nqrjh.js → pt-PT-UZXXM6DQ-CohDul9s.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-DYnhMBii.js → quadrantDiagram-W4KKPZXB-DbFZ4mVF.js} +1 -1
- package/dist/web/assets/{radar-GUYGQ44K-BWVL_5jd.js → radar-GUYGQ44K-nUUcbbyf.js} +1 -1
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-CLSyCDmb.js → requirementDiagram-4Y6WPE33-BE4DIJ6B.js} +1 -1
- package/dist/web/assets/{ro-RO-JPDTUUEW-CkArAo01.js → ro-RO-JPDTUUEW-NPZ6H5_k.js} +1 -1
- package/dist/web/assets/{ru-RU-B4JR7IUQ-CF7qZR2L.js → ru-RU-B4JR7IUQ-DUYJexox.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-fCrXqVCu.js → sankeyDiagram-5OEKKPKP-BBgQr7tO.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-Ibg1UsPm.js → sequenceDiagram-3UESZ5HK-Bve3KCrM.js} +1 -1
- package/dist/web/assets/{si-LK-N5RQ5JYF-SlyZ_B_5.js → si-LK-N5RQ5JYF-YQIyxfwu.js} +1 -1
- package/dist/web/assets/{sk-SK-C5VTKIMK-B59JZXsV.js → sk-SK-C5VTKIMK-naC01XZT.js} +1 -1
- package/dist/web/assets/{sl-SI-NN7IZMDC-CkVIpRnH.js → sl-SI-NN7IZMDC-c8M-xB_J.js} +1 -1
- package/dist/web/assets/{src-Dc-yDLup.js → src-5GYS8Ljo.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-Cg6ervwo.js → stateDiagram-AJRCARHV-ooB93unN.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-CQKTJr2T.js +1 -0
- package/dist/web/assets/subset-shared.chunk-Lb-_zEfd.js +1 -0
- package/dist/web/assets/{subset-worker.chunk-DN4FBbFb.js → subset-worker.chunk-Cm3Hfued.js} +1 -1
- package/dist/web/assets/{sv-SE-XGPEYMSR-BwnaFVSC.js → sv-SE-XGPEYMSR-BxQJQlZm.js} +1 -1
- package/dist/web/assets/{ta-IN-2NMHFXQM-Digwj7d-.js → ta-IN-2NMHFXQM-CLstIlbu.js} +1 -1
- package/dist/web/assets/{th-TH-HPSO5L25-Ck3FgDpQ.js → th-TH-HPSO5L25-C1Fw6Lrv.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-Sxfm8qnw.js → timeline-definition-PNZ67QCA-DSwgdcbw.js} +1 -1
- package/dist/web/assets/{tr-TR-DEFEU3FU-CZntbglt.js → tr-TR-DEFEU3FU-yIjSKsYZ.js} +1 -1
- package/dist/web/assets/{treeView-BLDUP644-Cx8t5kj4.js → treeView-BLDUP644-qRIad0RL.js} +1 -1
- package/dist/web/assets/{treemap-LRROVOQU-Dfh_IQDp.js → treemap-LRROVOQU-DkzmeI5b.js} +1 -1
- package/dist/web/assets/{uk-UA-QMV73CPH-B0wjKowt.js → uk-UA-QMV73CPH-Cxu2wJjR.js} +1 -1
- package/dist/web/assets/{vennDiagram-CIIHVFJN-BMEOJ0gl.js → vennDiagram-CIIHVFJN-C9IbTAeZ.js} +1 -1
- package/dist/web/assets/{vi-VN-M7AON7JQ-Dj0BUYxm.js → vi-VN-M7AON7JQ-CVlx5WSz.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-EJTnFNq7.js → wardley-L42UT6IY-BoetX5iL.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-BJjdV56L.js → wardleyDiagram-YWT4CUSO-BnSF5czb.js} +1 -1
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-CBQ88pV0.js → xychartDiagram-2RQKCTM6-CnGeJixh.js} +1 -1
- package/dist/web/assets/{zh-CN-LNUGB5OW-K1_YaWy1.js → zh-CN-LNUGB5OW-Cnl39PI9.js} +1 -1
- package/dist/web/assets/{zh-HK-E62DVLB3-DCU_gXiJ.js → zh-HK-E62DVLB3-D0hO_t0Q.js} +1 -1
- package/dist/web/assets/{zh-TW-RAJ6MFWO-1ApXhCfP.js → zh-TW-RAJ6MFWO-Cq71LAZa.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/web/assets/architecture-7EHR7CIX-BW08P3jh.js +0 -1
- package/dist/web/assets/channel-jlcmNkDM.js +0 -1
- package/dist/web/assets/chunk-QZHKN3VN-B2hsWqvV.js +0 -1
- package/dist/web/assets/chunk-WU5MYG2G-ad-_f9bA.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-pgvxJ5K2.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-pgvxJ5K2.js +0 -1
- package/dist/web/assets/eventmodeling-FCH6USID-3Z5bJ280.js +0 -1
- package/dist/web/assets/image-GAAHSSAO-Ufj_572K.js +0 -1
- package/dist/web/assets/percentages-BXMCSKIN-BRi-lUYV.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Z9e_4KHc.js +0 -1
- package/dist/web/assets/subset-shared.chunk-CnjPFGnW.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,19 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## 0.
|
|
7
|
+
## 0.2.0 - 2026-06-13
|
|
8
|
+
|
|
9
|
+
- Added browser-backed `select_objects`, shared `set_canvas_background`, and in-memory `undo`/`redo` MCP tools.
|
|
10
|
+
- Added Excalidraw `ungroup_objects` and `remove_from_frame` tools.
|
|
11
|
+
- Hardened object validation, grouping, deletion reporting, flowchart planning, and derived label/arrow geometry after edits.
|
|
12
|
+
- Added WebSocket support for programmatic selection and expanded MCP, plugin, controller, and WebSocket tests.
|
|
13
|
+
|
|
14
|
+
## 0.1.1 - 2026-06-13
|
|
15
|
+
|
|
16
|
+
- Patch release to verify GitHub Actions trusted publishing after the first npm publication.
|
|
17
|
+
- No runtime behavior changes.
|
|
18
|
+
|
|
19
|
+
## 0.1.0 - 2026-06-13
|
|
8
20
|
|
|
9
21
|
- Initial local-first Agentic Canvas implementation.
|
|
10
22
|
- Added Excalidraw-backed browser canvas, MCP Streamable HTTP tools, WebSocket scene sync, save/open, and screenshot support.
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ Flags:
|
|
|
40
40
|
- `--workspace <dir>`: root for save/open/screenshot files, default current directory
|
|
41
41
|
- `--open` / `--no-open`: open the browser on startup, default open
|
|
42
42
|
|
|
43
|
-
Optional environment overrides are `AGENTIC_CANVAS_PORT`, `AGENTIC_CANVAS_HOST`, and `AGENTIC_CANVAS_WORKSPACE`. No secrets or `.env` file are required.
|
|
43
|
+
Optional environment overrides are `AGENTIC_CANVAS_PORT`, `AGENTIC_CANVAS_HOST`, and `AGENTIC_CANVAS_WORKSPACE`. `save_canvas`, `open_canvas`, and screenshot file writes are constrained to the configured workspace root. No secrets or `.env` file are required.
|
|
44
44
|
|
|
45
45
|
## Develop
|
|
46
46
|
|
|
@@ -73,9 +73,10 @@ Example tool flow:
|
|
|
73
73
|
|
|
74
74
|
1. Call `draw_rectangle` with `{ "x": 100, "y": 100, "width": 200, "height": 120, "text": "Hello" }`; a labeled rectangle appears in the browser.
|
|
75
75
|
2. Select the rectangle in the browser and call `get_selected_objects`; the tool returns the selected normalized object.
|
|
76
|
-
3. Call `
|
|
77
|
-
4. Call `
|
|
78
|
-
5. Call `
|
|
76
|
+
3. Call `select_objects` with the rectangle id to select it from the MCP client.
|
|
77
|
+
4. Call `screenshot`; the tool returns a PNG image.
|
|
78
|
+
5. Call `save_canvas` with `{ "path": "demo.excalidraw" }`; the file is written inside the workspace.
|
|
79
|
+
6. Call `clear_canvas`, then `open_canvas` with `{ "path": "demo.excalidraw" }`; the saved scene is restored.
|
|
79
80
|
|
|
80
81
|
## Test And Build
|
|
81
82
|
|
|
@@ -114,8 +115,10 @@ npm run inspect:mcp
|
|
|
114
115
|
4. Confirm the shapes appear live in the browser.
|
|
115
116
|
5. Call `save_canvas`, `clear_canvas`, and `open_canvas`; confirm the scene clears and reloads.
|
|
116
117
|
6. Select a shape in the browser, then call `get_selected_objects`; confirm the selected object id is returned.
|
|
117
|
-
7. Call `
|
|
118
|
-
8.
|
|
118
|
+
7. Call `select_objects`; confirm the browser selection changes.
|
|
119
|
+
8. Call `undo` and `redo`; confirm the browser scene follows the server history.
|
|
120
|
+
9. Call `screenshot`; confirm a PNG is returned and, when `path` is provided, written in the workspace.
|
|
121
|
+
10. Drag or edit a shape by hand in the browser, then call `list_objects`; confirm the listing reflects the human edit.
|
|
119
122
|
|
|
120
123
|
## Release Checks
|
|
121
124
|
|
|
@@ -156,5 +159,5 @@ scripts/ Release and package smoke scripts
|
|
|
156
159
|
- HTTP MCP transport only; no stdio transport in v1.
|
|
157
160
|
- Single browser session is the expected mode.
|
|
158
161
|
- Full-scene sync is used instead of diffs or CRDT collaboration.
|
|
159
|
-
- Screenshot and
|
|
162
|
+
- Screenshot and selection tools require a connected browser.
|
|
160
163
|
- The Excalidraw tool surface is intentionally small: shapes, text, frames, groups, arrows, flowcharts, save/open, and screenshot.
|