chalkbridge 1.0.4 → 1.1.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/dist/{chunk-U2ZMSGNS.js → chunk-XDK5UUTO.js} +243 -9
- package/dist/cli.js +538 -86
- package/dist/index.js +1 -1
- package/guides/icons.md +22 -3
- package/guides/layout.md +42 -3
- package/package.json +1 -1
- package/ui-dist/assets/{abnfDiagram-VCTEODGH-C_cqCKun.js → abnfDiagram-VCTEODGH-BCawxiKB.js} +1 -1
- package/ui-dist/assets/{ar-SA-G6X2FPQ2-CEKRHtmX.js → ar-SA-G6X2FPQ2-UCm9FftA.js} +1 -1
- package/ui-dist/assets/architecture-7GRP2DOG-CiyYoVgW.js +1 -0
- package/ui-dist/assets/{architectureDiagram-5GKGNRK7-BuWVonvB.js → architectureDiagram-5GKGNRK7-DIw1pNEk.js} +1 -1
- package/ui-dist/assets/{az-AZ-76LH7QW2-mn2Y6BCY.js → az-AZ-76LH7QW2-B5LEIxkk.js} +1 -1
- package/ui-dist/assets/{bg-BG-XCXSNQG7-CraLx0fE.js → bg-BG-XCXSNQG7-2bpThpZL.js} +1 -1
- package/ui-dist/assets/{blockDiagram-NRAW4CY4-83XozRPe.js → blockDiagram-NRAW4CY4-BGr2WGp_.js} +1 -1
- package/ui-dist/assets/{bn-BD-2XOGV67Q-CsTrJsPu.js → bn-BD-2XOGV67Q-Drz-y_cX.js} +1 -1
- package/ui-dist/assets/{c4Diagram-UCG6FXSJ-DTdS8B8G.js → c4Diagram-UCG6FXSJ-vbm87bpC.js} +1 -1
- package/ui-dist/assets/{ca-ES-6MX7JW3Y-DD8cv_ze.js → ca-ES-6MX7JW3Y-D89p_FZ-.js} +1 -1
- package/ui-dist/assets/channel-DtgwkzBZ.js +1 -0
- package/ui-dist/assets/{chunk-75Z2AOVW-DQDqkKP0.js → chunk-75Z2AOVW-B7kf5jVz.js} +1 -1
- package/ui-dist/assets/{chunk-DU6HZSFF-_YwywVCK.js → chunk-DU6HZSFF-BlGPS6B6.js} +1 -1
- package/ui-dist/assets/{chunk-EIO257PC-CLwbKeso.js → chunk-EIO257PC-nzXnwORk.js} +1 -1
- package/ui-dist/assets/{chunk-F27PBJKO-BwhryBf6.js → chunk-F27PBJKO-B7qepoj_.js} +1 -1
- package/ui-dist/assets/{chunk-G27WJ6UU-BixSJdhz.js → chunk-G27WJ6UU-CSjcvmOf.js} +1 -1
- package/ui-dist/assets/{chunk-GMAD6QVW-Bp7aUQup.js → chunk-GMAD6QVW-CtaZAO5u.js} +1 -1
- package/ui-dist/assets/{chunk-JQ64N6SF-Dt5bAScf.js → chunk-JQ64N6SF-CuhtdTse.js} +1 -1
- package/ui-dist/assets/{chunk-LCL6LL3I-B5MsvPPp.js → chunk-LCL6LL3I-DMfA3a_s.js} +1 -1
- package/ui-dist/assets/{chunk-OBVCFTLP-DBqcHzNF.js → chunk-OBVCFTLP-BoBuso2l.js} +1 -1
- package/ui-dist/assets/{chunk-P2QGCYS3-TMRACTMO.js → chunk-P2QGCYS3-BZHK87sP.js} +1 -1
- package/ui-dist/assets/{chunk-POPQ4Y6H-BsmX_MmQ.js → chunk-POPQ4Y6H-Dk_v51-0.js} +1 -1
- package/ui-dist/assets/{chunk-PWAF6VOD-g4MniF8u.js → chunk-PWAF6VOD-DQTvHbxy.js} +1 -1
- package/ui-dist/assets/{chunk-R7TYR2AO-S7THFl9x.js → chunk-R7TYR2AO-CQ_StUs1.js} +1 -1
- package/ui-dist/assets/{chunk-RHFEMEQ7-CZYull6D.js → chunk-RHFEMEQ7-BTgGEQit.js} +1 -1
- package/ui-dist/assets/{chunk-SVP7TREG-DCss0vmb.js → chunk-SVP7TREG-lkVXeHxJ.js} +1 -1
- package/ui-dist/assets/{chunk-TEH6E4GO-B-6h5v_5.js → chunk-TEH6E4GO-DIEC-0PO.js} +1 -1
- package/ui-dist/assets/classDiagram-DTDB5LWJ-B83TJF6p.js +1 -0
- package/ui-dist/assets/classDiagram-v2-JRS7N3AN-B83TJF6p.js +1 -0
- package/ui-dist/assets/{cs-CZ-2BRQDIVT-C9fIM1z5.js → cs-CZ-2BRQDIVT-CmSaQCAW.js} +1 -1
- package/ui-dist/assets/{cynefin-OW5HDTMX-CtdCt-Da.js → cynefin-OW5HDTMX-B6f8qooM.js} +1 -1
- package/ui-dist/assets/{cynefinDiagram-5FMLGOSQ-CF9L7X85.js → cynefinDiagram-5FMLGOSQ-DFu8uB2c.js} +1 -1
- package/ui-dist/assets/{da-DK-5WZEPLOC-DXGP9-TU.js → da-DK-5WZEPLOC-DZ68cfJh.js} +1 -1
- package/ui-dist/assets/{dagre-3AP2YEHR-Bt0GOj3f.js → dagre-3AP2YEHR-CuUE3cEY.js} +1 -1
- package/ui-dist/assets/{de-DE-XR44H4JA-ChR8kF4h.js → de-DE-XR44H4JA-ClBUqbwZ.js} +1 -1
- package/ui-dist/assets/{diagram-S7CK7UJ4-D2NIL20U.js → diagram-S7CK7UJ4-DjLndaJK.js} +1 -1
- package/ui-dist/assets/{diagram-UQ7AKVKN-Dty3qvRq.js → diagram-UQ7AKVKN-wLhxEBwN.js} +1 -1
- package/ui-dist/assets/{diagram-VSXAHHWV-znpNlomZ.js → diagram-VSXAHHWV-CVek4gvW.js} +1 -1
- package/ui-dist/assets/{diagram-VX7I27RA-DMKYB58y.js → diagram-VX7I27RA-CXyuaDuW.js} +1 -1
- package/ui-dist/assets/{diagram-Z3DM3KII-BLsAgfm1.js → diagram-Z3DM3KII-BGk8dw5c.js} +1 -1
- package/ui-dist/assets/{dist-Biz3NhE4.js → dist-DyDCC61R.js} +4 -4
- package/ui-dist/assets/{ebnfDiagram-PWID7BFC-sN1WpIzH.js → ebnfDiagram-PWID7BFC-Bq5wdWGX.js} +1 -1
- package/ui-dist/assets/{el-GR-BZB4AONW-BMi-5oTn.js → el-GR-BZB4AONW-oCuJWxYE.js} +1 -1
- package/ui-dist/assets/{en-B4ZKOASM-DTTcVPyw.js → en-B4ZKOASM-DevQWFhD.js} +1 -1
- package/ui-dist/assets/{erDiagram-SSCWMZ5O-qLib13wp.js → erDiagram-SSCWMZ5O-CXZW4I_b.js} +1 -1
- package/ui-dist/assets/{es-ES-U4NZUMDT-DSk-whe2.js → es-ES-U4NZUMDT-DgzMLG1J.js} +1 -1
- package/ui-dist/assets/{eu-ES-A7QVB2H4-Dlhf1HMz.js → eu-ES-A7QVB2H4-1tA3vosZ.js} +1 -1
- package/ui-dist/assets/eventmodeling-NTZA5JFV-Bh0QsTUi.js +1 -0
- package/ui-dist/assets/{fa-IR-HGAKTJCU-C4NL1SUQ.js → fa-IR-HGAKTJCU-BVbN6Ifb.js} +1 -1
- package/ui-dist/assets/{fi-FI-Z5N7JZ37-BPDGFbjy.js → fi-FI-Z5N7JZ37-DsGMdP7T.js} +1 -1
- package/ui-dist/assets/flowDiagram-A5DVABFB-Chb6hSSG.js +1 -0
- package/ui-dist/assets/{fr-FR-RHASNOE6-BKM44_qc.js → fr-FR-RHASNOE6-BEZa94DA.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-EL5Y4UJY-Cm_9m3AA.js → ganttDiagram-EL5Y4UJY-BZxyNgRP.js} +1 -1
- package/ui-dist/assets/{gitGraph-4MIJSDKK-B53Ccobw.js → gitGraph-4MIJSDKK-Cz7F-_6d.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-WWUBYQGX-CshbIfrd.js → gitGraphDiagram-WWUBYQGX-77gOaAOD.js} +1 -1
- package/ui-dist/assets/{gl-ES-HMX3MZ6V-CYq-Wgeo.js → gl-ES-HMX3MZ6V-DfSDz_sy.js} +1 -1
- package/ui-dist/assets/{he-IL-6SHJWFNN-CejOCh7c.js → he-IL-6SHJWFNN-DT8nqxK2.js} +1 -1
- package/ui-dist/assets/{hi-IN-IWLTKZ5I-DdZM6com.js → hi-IN-IWLTKZ5I-BtL1eizk.js} +1 -1
- package/ui-dist/assets/{hu-HU-A5ZG7DT2-DcLFRMuO.js → hu-HU-A5ZG7DT2-5FwjCLbT.js} +1 -1
- package/ui-dist/assets/{id-ID-SAP4L64H-1x9JAf0A.js → id-ID-SAP4L64H-DXfUbYET.js} +1 -1
- package/ui-dist/assets/image-GAAHSSAO-AgKiDvHK.js +1 -0
- package/ui-dist/assets/{index-CzWe1zeF.js → index-Boxo043A.js} +8 -8
- package/ui-dist/assets/{info-A6RAGUB7-Cge9ecX_.js → info-A6RAGUB7-DIe8iET8.js} +1 -1
- package/ui-dist/assets/{infoDiagram-RXCK75RN-VS1BTI_H.js → infoDiagram-RXCK75RN-Dik-rzpk.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-5VMMS53U-Cbf1xbxj.js → ishikawaDiagram-5VMMS53U-Ccb-hHW6.js} +1 -1
- package/ui-dist/assets/{it-IT-JPQ66NNP-DgmQi0B_.js → it-IT-JPQ66NNP-6_sPHBVO.js} +1 -1
- package/ui-dist/assets/{ja-JP-DBVTYXUO-BpmMfXE3.js → ja-JP-DBVTYXUO-DgY_5_c8.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-EYS64GPL-C8RWIfHV.js → journeyDiagram-EYS64GPL-CgzxmpyV.js} +1 -1
- package/ui-dist/assets/{kaa-6HZHGXH3-CczLR43o.js → kaa-6HZHGXH3-glmGx672.js} +1 -1
- package/ui-dist/assets/{kab-KAB-ZGHBKWFO-Cx74DVre.js → kab-KAB-ZGHBKWFO--G7baVL0.js} +1 -1
- package/ui-dist/assets/{kanban-definition-3QL26DDD-R8ng9q7k.js → kanban-definition-3QL26DDD-D6TnbrdQ.js} +1 -1
- package/ui-dist/assets/{kk-KZ-P5N5QNE5-BPvg9KTT.js → kk-KZ-P5N5QNE5-D3Vn0qgF.js} +1 -1
- package/ui-dist/assets/{km-KH-HSX4SM5Z-Blgo7Zit.js → km-KH-HSX4SM5Z-CAHt3o8M.js} +1 -1
- package/ui-dist/assets/{ko-KR-MTYHY66A-DZdo-KOi.js → ko-KR-MTYHY66A-N3tCiPap.js} +1 -1
- package/ui-dist/assets/{ku-TR-6OUDTVRD-CTpgWpW_.js → ku-TR-6OUDTVRD-CSZFwS--.js} +1 -1
- package/ui-dist/assets/{line-Baf15v0x.js → line-BhVZwKwh.js} +1 -1
- package/ui-dist/assets/{lt-LT-XHIRWOB4-DKNkbcsj.js → lt-LT-XHIRWOB4-DuSlkfc-.js} +1 -1
- package/ui-dist/assets/{lv-LV-5QDEKY6T-DwnZRxkH.js → lv-LV-5QDEKY6T-COuWGNLd.js} +1 -1
- package/ui-dist/assets/{mermaid-parser.core-0V2gZHuN.js → mermaid-parser.core-DlqbfUOM.js} +3 -3
- package/ui-dist/assets/{mindmap-definition-FBJOCRG2-7hOTFX4B.js → mindmap-definition-FBJOCRG2-D9wLjZXa.js} +1 -1
- package/ui-dist/assets/{mr-IN-CRQNXWMA-C-BFvdUk.js → mr-IN-CRQNXWMA-Bv4WHAzM.js} +1 -1
- package/ui-dist/assets/{my-MM-5M5IBNSE-BFs64Lrm.js → my-MM-5M5IBNSE-BNltBCCh.js} +1 -1
- package/ui-dist/assets/{nb-NO-T6EIAALU-CHGzOQzI.js → nb-NO-T6EIAALU-DgsGabVE.js} +1 -1
- package/ui-dist/assets/{nl-NL-IS3SIHDZ-CmrNJ43t.js → nl-NL-IS3SIHDZ-MPMxu0cH.js} +1 -1
- package/ui-dist/assets/{nn-NO-6E72VCQL-Cmx8XlD1.js → nn-NO-6E72VCQL-CY-NT6bD.js} +1 -1
- package/ui-dist/assets/{oc-FR-POXYY2M6-D6ZK0W24.js → oc-FR-POXYY2M6-BCWtA2dJ.js} +1 -1
- package/ui-dist/assets/{pa-IN-N4M65BXN-CoFjVv1P.js → pa-IN-N4M65BXN-CU1D5Lce.js} +1 -1
- package/ui-dist/assets/{packet-AYTQ26CC-auec35xT.js → packet-AYTQ26CC-DCMIIosG.js} +1 -1
- package/ui-dist/assets/{pegDiagram-XKGWAZYB-NMMkeAIs.js → pegDiagram-XKGWAZYB-CpU2aj-A.js} +1 -1
- package/ui-dist/assets/percentages-BXMCSKIN-CMz17NMy.js +1 -0
- package/ui-dist/assets/{pie-WAS4IAKB-Brhoju7F.js → pie-WAS4IAKB-BEVkH0em.js} +1 -1
- package/ui-dist/assets/{pieDiagram-E7YTZNPT-CbaXV2ep.js → pieDiagram-E7YTZNPT-D-jyX8nJ.js} +1 -1
- package/ui-dist/assets/{pl-PL-T2D74RX3-CtZh2-fJ.js → pl-PL-T2D74RX3-CwNWACCb.js} +1 -1
- package/ui-dist/assets/{pt-BR-5N22H2LF-Dwnm2Lle.js → pt-BR-5N22H2LF-DCs1W5P0.js} +1 -1
- package/ui-dist/assets/{pt-PT-UZXXM6DQ-Cb08TgqC.js → pt-PT-UZXXM6DQ-Bm9Hlh9S.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-AXDQQJYC-CXEPKL_-.js → quadrantDiagram-AXDQQJYC-BqzJD4zL.js} +1 -1
- package/ui-dist/assets/{radar-RG4KPBEZ-CTDsgRBl.js → radar-RG4KPBEZ-B6T3SZ4z.js} +1 -1
- package/ui-dist/assets/{railroad-74A4TZTK-Bad-j95k.js → railroad-74A4TZTK-BPKCaP4g.js} +1 -1
- package/ui-dist/assets/railroad-abnf-HS5TGJTU-RL2kk25t.js +1 -0
- package/ui-dist/assets/railroad-ebnf-LZEXJU2U-NY4mALmg.js +1 -0
- package/ui-dist/assets/railroad-peg-WCYAUIDC-BNAC9MGy.js +1 -0
- package/ui-dist/assets/{railroadDiagram-O6MQD6OU-CJiZ6mmg.js → railroadDiagram-O6MQD6OU-CzTuUKE-.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-EFPCY7ZU-T8QMEZu6.js → requirementDiagram-EFPCY7ZU-Bly8_reu.js} +1 -1
- package/ui-dist/assets/{ro-RO-JPDTUUEW-D6H165NT.js → ro-RO-JPDTUUEW-DbKkWzmT.js} +1 -1
- package/ui-dist/assets/{ru-RU-B4JR7IUQ-CBp0xVXG.js → ru-RU-B4JR7IUQ-C7y8hptt.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-P5KCCOFB-Z9s0vmSt.js → sankeyDiagram-P5KCCOFB-BNe1jsYh.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-WJ2MYXX4-BulR70nw.js → sequenceDiagram-WJ2MYXX4-jpU3VDzA.js} +1 -1
- package/ui-dist/assets/{si-LK-N5RQ5JYF-10AxMH9e.js → si-LK-N5RQ5JYF-DsyN9eZC.js} +1 -1
- package/ui-dist/assets/{sk-SK-C5VTKIMK-BXvCxb46.js → sk-SK-C5VTKIMK-C3GmutL2.js} +1 -1
- package/ui-dist/assets/{sl-SI-NN7IZMDC-BI5_PFXZ.js → sl-SI-NN7IZMDC-C6dxM6aa.js} +1 -1
- package/ui-dist/assets/{stateDiagram-HBIQ2CUA-Dam0DwKS.js → stateDiagram-HBIQ2CUA-B2ZRnydN.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-4QOOHH4V-BUscqu-N.js +1 -0
- package/ui-dist/assets/subset-shared.chunk-CRXudW0i.js +1 -0
- package/ui-dist/assets/{subset-worker.chunk-BaDYCnkg.js → subset-worker.chunk-WItGSQq_.js} +1 -1
- package/ui-dist/assets/{sv-SE-XGPEYMSR-dVM3morJ.js → sv-SE-XGPEYMSR-BPU1z_vz.js} +1 -1
- package/ui-dist/assets/{swimlanes-XN3QIQJK-txWA6rWV.js → swimlanes-XN3QIQJK-BuYIN15M.js} +1 -1
- package/ui-dist/assets/swimlanesDiagram-VK2B7HYN-Cn_HC7uw.js +8 -0
- package/ui-dist/assets/{ta-IN-2NMHFXQM-CWJY03pN.js → ta-IN-2NMHFXQM-AJVbdGTO.js} +1 -1
- package/ui-dist/assets/{th-TH-HPSO5L25-CR6GhLgj.js → th-TH-HPSO5L25-B1vvYNmv.js} +1 -1
- package/ui-dist/assets/{timeline-definition-24CTP7MA-D8m_1UrT.js → timeline-definition-24CTP7MA-Bld3Oj9i.js} +1 -1
- package/ui-dist/assets/{tr-TR-DEFEU3FU-BI8tDJSm.js → tr-TR-DEFEU3FU-C_emJDca.js} +1 -1
- package/ui-dist/assets/{treeView-Q6P3EWNA-CWJmpg6A.js → treeView-Q6P3EWNA-CQEi50Re.js} +1 -1
- package/ui-dist/assets/{treemap-WGGIJYW6-CvClsvN5.js → treemap-WGGIJYW6-D3gRwGbr.js} +1 -1
- package/ui-dist/assets/{uk-UA-QMV73CPH-D3Uc38wP.js → uk-UA-QMV73CPH-B69Ddo0p.js} +1 -1
- package/ui-dist/assets/{vennDiagram-4TSXK5OY-C5iS8F8o.js → vennDiagram-4TSXK5OY-BWtR81LD.js} +1 -1
- package/ui-dist/assets/{vi-VN-M7AON7JQ-B6BZpyS4.js → vi-VN-M7AON7JQ-ByM0OkIF.js} +1 -1
- package/ui-dist/assets/{wardley-WFR3VGLG-CdqB7_9-.js → wardley-WFR3VGLG-DpBUmo8s.js} +1 -1
- package/ui-dist/assets/{wardleyDiagram-VM6X3IG4-DAHyWwbW.js → wardleyDiagram-VM6X3IG4-n39Dh9vZ.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-S5SC5T6Z-ilyFTLQ_.js → xychartDiagram-S5SC5T6Z-D8-lcdGr.js} +1 -1
- package/ui-dist/assets/{zh-CN-LNUGB5OW-B0PN355q.js → zh-CN-LNUGB5OW-g_S93sCp.js} +1 -1
- package/ui-dist/assets/{zh-HK-E62DVLB3-DUEHDaPB.js → zh-HK-E62DVLB3-B3J_lyrF.js} +1 -1
- package/ui-dist/assets/{zh-TW-RAJ6MFWO-Ci4YMClQ.js → zh-TW-RAJ6MFWO-mYLP5aqQ.js} +1 -1
- package/ui-dist/index.html +1 -1
- package/ui-dist/assets/architecture-7GRP2DOG-fqG4giDT.js +0 -1
- package/ui-dist/assets/channel-BOrwYBHk.js +0 -1
- package/ui-dist/assets/classDiagram-DTDB5LWJ-Dm2kcSSm.js +0 -1
- package/ui-dist/assets/classDiagram-v2-JRS7N3AN-Dm2kcSSm.js +0 -1
- package/ui-dist/assets/eventmodeling-NTZA5JFV-BN91GLT5.js +0 -1
- package/ui-dist/assets/flowDiagram-A5DVABFB-DBrXJ-Jf.js +0 -1
- package/ui-dist/assets/image-GAAHSSAO-BgehxCDd.js +0 -1
- package/ui-dist/assets/percentages-BXMCSKIN-BBuUnwM-.js +0 -1
- package/ui-dist/assets/railroad-abnf-HS5TGJTU-CbvNSNpm.js +0 -1
- package/ui-dist/assets/railroad-ebnf-LZEXJU2U-DdltjnE0.js +0 -1
- package/ui-dist/assets/railroad-peg-WCYAUIDC-CgbxToYh.js +0 -1
- package/ui-dist/assets/stateDiagram-v2-4QOOHH4V-CSjCWsxW.js +0 -1
- package/ui-dist/assets/subset-shared.chunk-Du7WrYQy.js +0 -1
- package/ui-dist/assets/swimlanesDiagram-VK2B7HYN-CU4h0g7a.js +0 -8
|
@@ -387,6 +387,13 @@ var DescribedElement = z.object({
|
|
|
387
387
|
to: ElementId.nullish(),
|
|
388
388
|
style: DescribedStyle.nullish()
|
|
389
389
|
});
|
|
390
|
+
var Overlap = z.object({
|
|
391
|
+
a: ElementId,
|
|
392
|
+
b: ElementId,
|
|
393
|
+
/** Size of the intersecting region, in px. */
|
|
394
|
+
width: z.number(),
|
|
395
|
+
height: z.number()
|
|
396
|
+
});
|
|
390
397
|
var SceneDescription = z.object({
|
|
391
398
|
sceneId: SceneId,
|
|
392
399
|
name: z.string(),
|
|
@@ -395,6 +402,10 @@ var SceneDescription = z.object({
|
|
|
395
402
|
updatedAgoMs: z.number().int(),
|
|
396
403
|
frames: z.array(DescribedFrame),
|
|
397
404
|
elements: z.array(DescribedElement),
|
|
405
|
+
/** Worst first, and capped — see `MAX_REPORTED_OVERLAPS`. */
|
|
406
|
+
overlaps: z.array(Overlap),
|
|
407
|
+
/** Every collision found, including the ones `overlaps` was truncated past. */
|
|
408
|
+
overlapCount: z.number().int().nonnegative(),
|
|
398
409
|
detail: DetailLevel
|
|
399
410
|
});
|
|
400
411
|
var DescribedEdge = z.object({
|
|
@@ -732,8 +743,30 @@ var HOUSE = {
|
|
|
732
743
|
external: { strokeColor: "#1e1e1e", backgroundColor: "transparent" },
|
|
733
744
|
hotspot: { strokeColor: "#e03131", backgroundColor: "#ffc9c9" }
|
|
734
745
|
},
|
|
735
|
-
sizes: {
|
|
736
|
-
|
|
746
|
+
sizes: {
|
|
747
|
+
/** The floor a labelled shape starts from, and the size an unlabelled one keeps. */
|
|
748
|
+
service: [180, 80],
|
|
749
|
+
icon: 64,
|
|
750
|
+
framePad: 40,
|
|
751
|
+
/** Breathing room around a bound label. Wider than upstream's 5 px, which lets text
|
|
752
|
+
* touch the stroke. */
|
|
753
|
+
labelPadX: 16,
|
|
754
|
+
labelPadY: 12,
|
|
755
|
+
/** Past this a label wraps instead of widening. A 400 px box holding one line reads
|
|
756
|
+
* as a banner, not a node. */
|
|
757
|
+
maxBox: 280
|
|
758
|
+
},
|
|
759
|
+
spacing: { h: 60, v: 100 },
|
|
760
|
+
/**
|
|
761
|
+
* Every computed size rounds up to this.
|
|
762
|
+
*
|
|
763
|
+
* `guides/layout.md` already tells the reader to keep coordinates on a 20 px grid so a
|
|
764
|
+
* nudge stays aligned; sizes derived from measured text have to land on it too. It is
|
|
765
|
+
* also what answers `adr/0004`'s objection to measuring at all — that per-box widths
|
|
766
|
+
* differing by a few pixels make a rank of five look ragged. Quantised, they do not
|
|
767
|
+
* differ by a few pixels: they are equal or they are 20 apart on purpose.
|
|
768
|
+
*/
|
|
769
|
+
grid: 20
|
|
737
770
|
};
|
|
738
771
|
var CreatableType = z.enum(["rectangle", "diamond", "ellipse", "text", "line"], {
|
|
739
772
|
error: (issue) => issue.input === "arrow" ? "arrow rejected \u2014 use chalk_connect(fromId, toId), it handles the bindings" : `unknown element type ${JSON.stringify(issue.input)} \u2014 valid: rectangle, diamond, ellipse, text, line, and chalk_connect for arrows`
|
|
@@ -904,7 +937,17 @@ var ReadMeOutput = z.object({
|
|
|
904
937
|
var writeResult = {
|
|
905
938
|
sceneId: SceneId,
|
|
906
939
|
sceneVersion: z.number().int(),
|
|
907
|
-
broadcastTo: z.number().int().nonnegative()
|
|
940
|
+
broadcastTo: z.number().int().nonnegative(),
|
|
941
|
+
/**
|
|
942
|
+
* Something is buried on the canvas after this write — or `null`, which is the normal
|
|
943
|
+
* case and says so by being absent rather than by saying "none".
|
|
944
|
+
*
|
|
945
|
+
* On **every** write rather than on a read, because the alternative is that the agent
|
|
946
|
+
* has to decide to go and look, and the only tool that used to answer "did that land
|
|
947
|
+
* badly?" was `chalk_screenshot` — a rendered image, the most expensive call here. A
|
|
948
|
+
* layout mistake now costs one sentence at the moment it is made.
|
|
949
|
+
*/
|
|
950
|
+
overlapWarning: z.string().nullable()
|
|
908
951
|
};
|
|
909
952
|
var ToolRejection = z.object({
|
|
910
953
|
id: ElementId,
|
|
@@ -1056,10 +1099,27 @@ var SearchIconsOutput = z.object({
|
|
|
1056
1099
|
*/
|
|
1057
1100
|
note: z.string().nullable()
|
|
1058
1101
|
});
|
|
1102
|
+
var IconPlacement = z.enum(["above", "below", "left", "right", "badge", "inside"]);
|
|
1059
1103
|
var PlaceIconInput = z.object({
|
|
1060
1104
|
iconId: IconId,
|
|
1061
|
-
|
|
1062
|
-
|
|
1105
|
+
/**
|
|
1106
|
+
* Absolute position. Optional **only** when `attachTo` is given — one or the other has
|
|
1107
|
+
* to say where the icon goes, and the error names the missing half.
|
|
1108
|
+
*/
|
|
1109
|
+
x: z.number().optional(),
|
|
1110
|
+
y: z.number().optional(),
|
|
1111
|
+
/**
|
|
1112
|
+
* Attach the icon to an existing element instead of positioning it by hand.
|
|
1113
|
+
*
|
|
1114
|
+
* This is the difference between an icon that is *part of* a node and one that merely
|
|
1115
|
+
* happens to be near it today. An attached icon is recorded in
|
|
1116
|
+
* `customData.chalk.anchorIds` and travels with its element through every arrange
|
|
1117
|
+
* operation, `layout-layered` included — which is what stops a set of vendor marks being
|
|
1118
|
+
* left stranded across the canvas the first time the boxes are laid out.
|
|
1119
|
+
*/
|
|
1120
|
+
attachTo: ElementId.optional(),
|
|
1121
|
+
/** Where it sits relative to `attachTo`. Ignored without it. Defaults to `above`. */
|
|
1122
|
+
placement: IconPlacement.optional(),
|
|
1063
1123
|
/** Longest side in px. Defaults to `HOUSE.sizes.icon`; the aspect comes from the icon. */
|
|
1064
1124
|
size: z.number().positive().optional(),
|
|
1065
1125
|
/** A caption centred beneath it. An unlabelled icon says "a thing was here". */
|
|
@@ -1317,6 +1377,11 @@ var unknownIcon = (id, packs) => err("UNKNOWN_ICON", `no icon "${id}" in the cat
|
|
|
1317
1377
|
tool: "chalk_search_icons",
|
|
1318
1378
|
detail: { id }
|
|
1319
1379
|
});
|
|
1380
|
+
var iconNeedsAPlace = (id) => err("ICON_NEEDS_A_PLACE", `nowhere to put "${id}" \u2014 pass attachTo, or both x and y`, {
|
|
1381
|
+
hint: "attachTo: the element it belongs to (it then travels with that element through every layout). x/y only for an icon that belongs to the canvas rather than to a node",
|
|
1382
|
+
tool: "chalk_place_icon",
|
|
1383
|
+
detail: { id }
|
|
1384
|
+
});
|
|
1320
1385
|
var packInstallFailed = (pack, reason) => err("PACK_INSTALL_FAILED", `could not install the icon pack "${pack}": ${reason}`, {
|
|
1321
1386
|
hint: "check the machine can reach the npm registry, or install the package yourself and point chalk_install_pack at it with `from`",
|
|
1322
1387
|
tool: "chalk_install_pack",
|
|
@@ -1436,6 +1501,174 @@ function installDomShim() {
|
|
|
1436
1501
|
};
|
|
1437
1502
|
}
|
|
1438
1503
|
|
|
1504
|
+
// src/domain/style/text-metrics.ts
|
|
1505
|
+
var EXCALIFONT_EM = {
|
|
1506
|
+
" ": 0.4,
|
|
1507
|
+
"!": 0.314,
|
|
1508
|
+
'"': 0.371,
|
|
1509
|
+
"#": 0.783,
|
|
1510
|
+
$: 0.721,
|
|
1511
|
+
"%": 0.928,
|
|
1512
|
+
"&": 0.718,
|
|
1513
|
+
"'": 0.218,
|
|
1514
|
+
"(": 0.441,
|
|
1515
|
+
")": 0.402,
|
|
1516
|
+
"*": 0.525,
|
|
1517
|
+
"+": 0.55,
|
|
1518
|
+
",": 0.257,
|
|
1519
|
+
"-": 0.411,
|
|
1520
|
+
".": 0.274,
|
|
1521
|
+
"/": 0.561,
|
|
1522
|
+
"0": 0.664,
|
|
1523
|
+
"1": 0.427,
|
|
1524
|
+
"2": 0.7,
|
|
1525
|
+
"3": 0.608,
|
|
1526
|
+
"4": 0.585,
|
|
1527
|
+
"5": 0.618,
|
|
1528
|
+
"6": 0.64,
|
|
1529
|
+
"7": 0.558,
|
|
1530
|
+
"8": 0.636,
|
|
1531
|
+
"9": 0.629,
|
|
1532
|
+
":": 0.264,
|
|
1533
|
+
";": 0.298,
|
|
1534
|
+
"<": 0.55,
|
|
1535
|
+
"=": 0.55,
|
|
1536
|
+
">": 0.55,
|
|
1537
|
+
"?": 0.466,
|
|
1538
|
+
"@": 0.829,
|
|
1539
|
+
A: 0.676,
|
|
1540
|
+
B: 0.761,
|
|
1541
|
+
C: 0.629,
|
|
1542
|
+
D: 0.78,
|
|
1543
|
+
E: 0.707,
|
|
1544
|
+
F: 0.661,
|
|
1545
|
+
G: 0.78,
|
|
1546
|
+
H: 0.573,
|
|
1547
|
+
I: 0.545,
|
|
1548
|
+
J: 0.569,
|
|
1549
|
+
K: 0.613,
|
|
1550
|
+
L: 0.543,
|
|
1551
|
+
M: 0.766,
|
|
1552
|
+
N: 0.632,
|
|
1553
|
+
O: 0.767,
|
|
1554
|
+
P: 0.698,
|
|
1555
|
+
Q: 0.768,
|
|
1556
|
+
R: 0.736,
|
|
1557
|
+
S: 0.622,
|
|
1558
|
+
T: 0.857,
|
|
1559
|
+
U: 0.73,
|
|
1560
|
+
V: 0.592,
|
|
1561
|
+
W: 0.786,
|
|
1562
|
+
X: 0.628,
|
|
1563
|
+
Y: 0.564,
|
|
1564
|
+
Z: 0.832,
|
|
1565
|
+
"[": 0.472,
|
|
1566
|
+
"\\": 0.589,
|
|
1567
|
+
"]": 0.497,
|
|
1568
|
+
"^": 0.51,
|
|
1569
|
+
_: 0.67,
|
|
1570
|
+
"`": 0.6,
|
|
1571
|
+
a: 0.576,
|
|
1572
|
+
b: 0.555,
|
|
1573
|
+
c: 0.504,
|
|
1574
|
+
d: 0.605,
|
|
1575
|
+
e: 0.537,
|
|
1576
|
+
f: 0.497,
|
|
1577
|
+
g: 0.555,
|
|
1578
|
+
h: 0.567,
|
|
1579
|
+
i: 0.244,
|
|
1580
|
+
j: 0.328,
|
|
1581
|
+
k: 0.533,
|
|
1582
|
+
l: 0.225,
|
|
1583
|
+
m: 0.663,
|
|
1584
|
+
n: 0.526,
|
|
1585
|
+
o: 0.6,
|
|
1586
|
+
p: 0.537,
|
|
1587
|
+
q: 0.539,
|
|
1588
|
+
r: 0.412,
|
|
1589
|
+
s: 0.543,
|
|
1590
|
+
t: 0.553,
|
|
1591
|
+
u: 0.548,
|
|
1592
|
+
v: 0.525,
|
|
1593
|
+
w: 0.693,
|
|
1594
|
+
x: 0.591,
|
|
1595
|
+
y: 0.53,
|
|
1596
|
+
z: 0.572,
|
|
1597
|
+
"{": 0.504,
|
|
1598
|
+
"|": 0.299,
|
|
1599
|
+
"}": 0.544,
|
|
1600
|
+
"~": 0.669,
|
|
1601
|
+
// Beyond ASCII, only what actually turns up in a diagram. `·` earns its place: it is
|
|
1602
|
+
// the separator this project's own labels use ("Dev machine · manage.sh dist"), and the
|
|
1603
|
+
// block fallback below would over-estimate it nearly threefold.
|
|
1604
|
+
"\xB7": 0.2,
|
|
1605
|
+
"\u2013": 0.702,
|
|
1606
|
+
"\u2014": 0.935,
|
|
1607
|
+
"\u2026": 0.709,
|
|
1608
|
+
"\u2022": 0.522,
|
|
1609
|
+
"\u2019": 0.304,
|
|
1610
|
+
"\u201C": 0.412,
|
|
1611
|
+
"\u201D": 0.428,
|
|
1612
|
+
"\xD7": 0.55,
|
|
1613
|
+
"\xB0": 0.412,
|
|
1614
|
+
"\xA3": 0.71,
|
|
1615
|
+
"\u20AC": 0.713,
|
|
1616
|
+
\u00E9: 0.551,
|
|
1617
|
+
\u00FC: 0.508,
|
|
1618
|
+
\u00F1: 0.526,
|
|
1619
|
+
"\u2713": 0.749
|
|
1620
|
+
};
|
|
1621
|
+
var fallbackEm = (codePoint) => {
|
|
1622
|
+
if (codePoint < 32) return 0;
|
|
1623
|
+
if (codePoint <= 591) return 0.56;
|
|
1624
|
+
if (codePoint >= 8192 && codePoint <= 8303) return 0.95;
|
|
1625
|
+
if (codePoint >= 126976) return 1.4;
|
|
1626
|
+
return 1;
|
|
1627
|
+
};
|
|
1628
|
+
var emWidth = (character) => {
|
|
1629
|
+
const known = EXCALIFONT_EM[character];
|
|
1630
|
+
if (known !== void 0) return known;
|
|
1631
|
+
return fallbackEm(character.codePointAt(0) ?? 0);
|
|
1632
|
+
};
|
|
1633
|
+
function measureLine(text, fontSize) {
|
|
1634
|
+
let em = 0;
|
|
1635
|
+
for (const character of text) em += emWidth(character);
|
|
1636
|
+
return em * fontSize;
|
|
1637
|
+
}
|
|
1638
|
+
function wrapLines(text, fontSize, maxWidth) {
|
|
1639
|
+
const paragraphs = text.split("\n");
|
|
1640
|
+
const lines = [];
|
|
1641
|
+
for (const paragraph of paragraphs) {
|
|
1642
|
+
const words = paragraph.split(" ").filter((word) => word !== "");
|
|
1643
|
+
if (words.length === 0) {
|
|
1644
|
+
lines.push("");
|
|
1645
|
+
continue;
|
|
1646
|
+
}
|
|
1647
|
+
let line = "";
|
|
1648
|
+
for (const word of words) {
|
|
1649
|
+
const candidate = line === "" ? word : `${line} ${word}`;
|
|
1650
|
+
if (line !== "" && measureLine(candidate, fontSize) > maxWidth) {
|
|
1651
|
+
lines.push(line);
|
|
1652
|
+
line = word;
|
|
1653
|
+
} else {
|
|
1654
|
+
line = candidate;
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
lines.push(line);
|
|
1658
|
+
}
|
|
1659
|
+
return lines;
|
|
1660
|
+
}
|
|
1661
|
+
|
|
1662
|
+
// src/adapters/excalidraw/text-metrics.ts
|
|
1663
|
+
var fontSizeOf = (fontString) => {
|
|
1664
|
+
const match = /(\d+(?:\.\d+)?)px/.exec(fontString);
|
|
1665
|
+
const size = match?.[1];
|
|
1666
|
+
return size === void 0 ? 20 : Number.parseFloat(size);
|
|
1667
|
+
};
|
|
1668
|
+
var createTextMetricsProvider = () => ({
|
|
1669
|
+
getLineWidth: (text, fontString) => measureLine(text, fontSizeOf(fontString))
|
|
1670
|
+
});
|
|
1671
|
+
|
|
1439
1672
|
// src/adapters/excalidraw/node-expander.ts
|
|
1440
1673
|
var WARM_UP = [
|
|
1441
1674
|
{ type: "rectangle", id: "warmup-a", x: 0, y: 0, width: 10, height: 10, label: { text: "a" } },
|
|
@@ -1454,7 +1687,8 @@ var converter = null;
|
|
|
1454
1687
|
async function loadConverter() {
|
|
1455
1688
|
const uninstall = installDomShim();
|
|
1456
1689
|
try {
|
|
1457
|
-
const { convertToExcalidrawElements } = await import('./prod-KHI2WQT3.js');
|
|
1690
|
+
const { convertToExcalidrawElements, setCustomTextMetricsProvider } = await import('./prod-KHI2WQT3.js');
|
|
1691
|
+
setCustomTextMetricsProvider(createTextMetricsProvider());
|
|
1458
1692
|
convertToExcalidrawElements([...WARM_UP], { regenerateIds: false });
|
|
1459
1693
|
return ok(convertToExcalidrawElements);
|
|
1460
1694
|
} catch (thrown) {
|
|
@@ -1511,6 +1745,6 @@ var stable = (element) => {
|
|
|
1511
1745
|
return rest;
|
|
1512
1746
|
};
|
|
1513
1747
|
|
|
1514
|
-
export { AnnotateInput, AnnotateOutput, ApiError, ArrangeOutput, ArrangeToolInput, BINDING_FIELDS, ClientMessage, ConnectOutput, ConnectToolInput, CreateElementsInput, CreateElementsOutput, DataUrl, DebugElementRequest, DeleteElementsInput, DeleteElementsOutput, DescribeSceneInput, DescribeSceneOutput, DetailLevel, EXCALIDRAW_FILE_TYPE, EXCALIDRAW_FILE_VERSION, ElementId, EmbedInput, EmbedOutput, ExcalidrawFile, ExportImageInput, ExportImageOutput, ExportSceneInput, ExportSceneOutput, FLAG_GLYPH, FileId, FocusInput, FocusOutput, FrameId, FrameInput, FrameOutput, GUIDE_TOPICS, GetElementsInput, GetElementsOutput, GetSelectionInput, GetSelectionOutput, GroupId, GroupInput, GroupOutput, GuideTopic, HOUSE, HealthResponse, IconId, IconItem, ImportSceneInput, ImportSceneOutput, Index, InstallPackInput, InstallPackOutput, KIND_ABBREVIATION, ListPacksInput, ListPacksOutput, ListScenesInput, ListScenesOutput, PROTOCOL_VERSION, PackKind, PackName, PackRecipe, PlaceIconInput, PlaceIconOutput, ROUNDNESS, RawElementsInput, RawElementsOutput, ReadMeInput, ReadMeOutput, RemovePackInput, RemovePackOutput, RestoreSnapshotInput, RestoreSnapshotOutput, SERVER_MANAGED_FIELDS, STALE_SELECTION_MS, Scene, SceneElement, SceneId, SceneSettingsInput, SceneSettingsOutput, ScreenshotInput, ScreenshotOutput, ScreenshotResponse, SearchIconsInput, SearchIconsOutput, SnapshotId, SnapshotInput, SnapshotOutput, UngroupInput, UngroupOutput, UpdateElementsInput, UpdateElementsOutput, assertNever, bridgeSpawnFailed, bridgeUnreachable, bridgeVersionMismatch, catalogUnavailable, createNodeSkeletonExpander, deepEqual, describeThrown, diskConflict, emptySelection, expansionFailed, exportFailed, exportTimedOut, fail, frameIdOf, iconIdOf, idCollision, isFail, isOk, noBoundLabel, noBrowser, noScenes, notAPack, notARepo, ok, packInstallFailed, partition, pathOutsideRepo, point, portUnavailable, refusedFieldMessage, sceneFileMissing, staleVersion, storeUnavailable, unknownElement, unknownIcon, unknownScene, unknownSnapshot, unreadableSceneFile };
|
|
1515
|
-
//# sourceMappingURL=chunk-
|
|
1516
|
-
//# sourceMappingURL=chunk-
|
|
1748
|
+
export { AnnotateInput, AnnotateOutput, ApiError, ArrangeOutput, ArrangeToolInput, BINDING_FIELDS, ClientMessage, ConnectOutput, ConnectToolInput, CreateElementsInput, CreateElementsOutput, DataUrl, DebugElementRequest, DeleteElementsInput, DeleteElementsOutput, DescribeSceneInput, DescribeSceneOutput, DetailLevel, EXCALIDRAW_FILE_TYPE, EXCALIDRAW_FILE_VERSION, ElementId, EmbedInput, EmbedOutput, ExcalidrawFile, ExportImageInput, ExportImageOutput, ExportSceneInput, ExportSceneOutput, FLAG_GLYPH, FileId, FocusInput, FocusOutput, FrameId, FrameInput, FrameOutput, GUIDE_TOPICS, GetElementsInput, GetElementsOutput, GetSelectionInput, GetSelectionOutput, GroupId, GroupInput, GroupOutput, GuideTopic, HOUSE, HealthResponse, IconId, IconItem, ImportSceneInput, ImportSceneOutput, Index, InstallPackInput, InstallPackOutput, KIND_ABBREVIATION, ListPacksInput, ListPacksOutput, ListScenesInput, ListScenesOutput, PROTOCOL_VERSION, PackKind, PackName, PackRecipe, PlaceIconInput, PlaceIconOutput, ROUNDNESS, RawElementsInput, RawElementsOutput, ReadMeInput, ReadMeOutput, RemovePackInput, RemovePackOutput, RestoreSnapshotInput, RestoreSnapshotOutput, SERVER_MANAGED_FIELDS, STALE_SELECTION_MS, Scene, SceneElement, SceneId, SceneSettingsInput, SceneSettingsOutput, ScreenshotInput, ScreenshotOutput, ScreenshotResponse, SearchIconsInput, SearchIconsOutput, SnapshotId, SnapshotInput, SnapshotOutput, UngroupInput, UngroupOutput, UpdateElementsInput, UpdateElementsOutput, assertNever, bridgeSpawnFailed, bridgeUnreachable, bridgeVersionMismatch, catalogUnavailable, createNodeSkeletonExpander, deepEqual, describeThrown, diskConflict, emptySelection, expansionFailed, exportFailed, exportTimedOut, fail, frameIdOf, iconIdOf, iconNeedsAPlace, idCollision, isFail, isOk, measureLine, noBoundLabel, noBrowser, noScenes, notAPack, notARepo, ok, packInstallFailed, partition, pathOutsideRepo, point, portUnavailable, refusedFieldMessage, sceneFileMissing, staleVersion, storeUnavailable, unknownElement, unknownIcon, unknownScene, unknownSnapshot, unreadableSceneFile, wrapLines };
|
|
1749
|
+
//# sourceMappingURL=chunk-XDK5UUTO.js.map
|
|
1750
|
+
//# sourceMappingURL=chunk-XDK5UUTO.js.map
|