@diagrammo/dgmo 0.50.2 → 0.52.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/.cursorrules +15 -19
- package/.github/copilot-instructions.md +15 -19
- package/.windsurfrules +15 -19
- package/SKILL.md +15 -19
- package/dist/advanced.d.ts +155 -65
- package/dist/advanced.js +231 -189
- package/dist/{analyzer-UYKBXAKR.js → analyzer-BJ54GIFB.js} +3 -3
- package/dist/auto.css +31 -8
- package/dist/auto.d.ts +6 -0
- package/dist/auto.js +171 -133
- package/dist/auto.mjs +3062 -1478
- package/dist/block.css +28 -8
- package/dist/block.js +138 -72
- package/dist/charts-d3-MXEP6BNP.js +26 -0
- package/dist/{chunk-3YPY3OXD.js → chunk-3HF5YEFJ.js} +17 -7
- package/dist/{chunk-4MJ7M6YL.js → chunk-3HGU63UY.js} +14 -13
- package/dist/chunk-3LK5DNED.js +35 -0
- package/dist/{chunk-3Y2DRD7S.js → chunk-3QD7VP3U.js} +9 -4
- package/dist/{chunk-6BFZKBGD.js → chunk-3YRPZ7ZZ.js} +2 -2
- package/dist/{chunk-WW32K72E.js → chunk-44VCIPHF.js} +25 -21
- package/dist/{chunk-TN35C5KM.js → chunk-4AQRFDXL.js} +2 -2
- package/dist/{chunk-HHXOONLX.js → chunk-4B5YISOR.js} +38 -1
- package/dist/{chunk-PGEGPSCZ.js → chunk-4IHAV6O7.js} +2 -2
- package/dist/{chunk-7L3R6I3U.js → chunk-4UNQ6X24.js} +10 -7
- package/dist/{chunk-O7NUCTFU.js → chunk-4YFKQ5WT.js} +7 -4
- package/dist/{chunk-5WFIYXQ6.js → chunk-5223KXFD.js} +122 -242
- package/dist/{chunk-PFHVU7UA.js → chunk-5BHJZH62.js} +3 -3
- package/dist/{chunk-QYTPPDAO.js → chunk-5HILBT7X.js} +2 -2
- package/dist/{chunk-GKC3HILQ.js → chunk-5NGAO4QK.js} +27 -4
- package/dist/{chunk-IAEC4KLA.js → chunk-5QKQSSPO.js} +2 -2
- package/dist/{chunk-DSWVNQVS.js → chunk-5RP7JRVP.js} +4 -59
- package/dist/{chunk-MCZ5LBZD.js → chunk-5SEVICBT.js} +8 -8
- package/dist/{chunk-GBE54KY6.js → chunk-6EJITS44.js} +8 -5
- package/dist/{chunk-BBGDM4NQ.js → chunk-6HQH6JZE.js} +35 -16
- package/dist/{chunk-66NVRO4K.js → chunk-6LBQ7ELG.js} +17 -18
- package/dist/{chunk-4XK3FLFB.js → chunk-6NYWYNBI.js} +3 -3
- package/dist/{chunk-VBYSIOOY.js → chunk-75G3Q4DK.js} +3 -3
- package/dist/{chunk-3NODSS6A.js → chunk-77FGAVZC.js} +13 -10
- package/dist/{chunk-6IAA2QQ2.js → chunk-7BIZCTAX.js} +2 -2
- package/dist/{chunk-TWQUYVP3.js → chunk-7DF4J4RL.js} +4 -4
- package/dist/{chunk-66RUL3XF.js → chunk-7KINELPI.js} +111 -49
- package/dist/{chunk-L3UHP6TD.js → chunk-7L4UJOY6.js} +1 -2
- package/dist/{chunk-QJP6PG7F.js → chunk-7QE3XMRK.js} +19 -18
- package/dist/{chunk-P7CE7LXL.js → chunk-AAXZDUOV.js} +18 -17
- package/dist/{chunk-SXRTRMEE.js → chunk-AL672HNE.js} +3 -3
- package/dist/chunk-APKUAJ2L.js +220 -0
- package/dist/{chunk-SCHXJTZL.js → chunk-ARGMQ3H4.js} +2 -2
- package/dist/{chunk-HEVYAHLW.js → chunk-AUIM2NVH.js} +5 -5
- package/dist/{chunk-3LH5CLP4.js → chunk-BKVOYV6I.js} +143 -6
- package/dist/{chunk-RZ6YKEUJ.js → chunk-BPIZNB5O.js} +17 -15
- package/dist/{chunk-QROYX7TT.js → chunk-BPY242XU.js} +6 -4
- package/dist/{chunk-OTAL43EH.js → chunk-BRENJ2BQ.js} +39 -3
- package/dist/{chunk-FA6K3FWM.js → chunk-CCNDLW7Z.js} +44 -22
- package/dist/{chunk-2KGXHFYK.js → chunk-CIRFIL4M.js} +49 -29
- package/dist/chunk-DAOFNU6J.js +283 -0
- package/dist/{chunk-QJJZSROI.js → chunk-DYWQFQJP.js} +48 -38
- package/dist/{chunk-XEGTMVYY.js → chunk-EMLPOL77.js} +15 -8
- package/dist/{chunk-NWED7CYO.js → chunk-FHGVORFO.js} +29 -25
- package/dist/{chunk-U2HGPLZS.js → chunk-FQ7HTV52.js} +17 -2
- package/dist/{chunk-H73FP42Q.js → chunk-FQMUHRVC.js} +70 -31
- package/dist/{chunk-BTUTZMPT.js → chunk-FT3ZYWET.js} +108 -42
- package/dist/{chunk-T5SHNNGP.js → chunk-FUPF2UYQ.js} +92 -34
- package/dist/{chunk-3XPUDB7B.js → chunk-FY5MSZAP.js} +279 -39
- package/dist/{chunk-M5RXSRO2.js → chunk-GCYTI3DE.js} +42 -33
- package/dist/{chunk-DN66GPY5.js → chunk-GJFAMOGK.js} +24 -3
- package/dist/{chunk-F2L5GCQ4.js → chunk-GU46PPT3.js} +3 -3
- package/dist/{chunk-6IUAK7RZ.js → chunk-H6PI3KJT.js} +2 -2
- package/dist/{chunk-ONA5KPV3.js → chunk-H7KENAZO.js} +18 -14
- package/dist/{chunk-SQLNBA64.js → chunk-HBPDFCQY.js} +3 -3
- package/dist/{chunk-SCQ5VPUF.js → chunk-HFMYN6N2.js} +2 -2
- package/dist/{chunk-FJUNPCYI.js → chunk-HHKO6SKY.js} +2 -2
- package/dist/{chunk-DZXYF2F5.js → chunk-HQQNCY7W.js} +21 -8
- package/dist/{chunk-7TV5Y53Y.js → chunk-HWX6ZHF3.js} +3 -3
- package/dist/{chunk-3P2DKJCG.js → chunk-ICPJPQ5C.js} +2 -2
- package/dist/{chunk-VUJGMJE6.js → chunk-IM6PDDCE.js} +4 -4
- package/dist/{chunk-JJUOHGX2.js → chunk-INE5YJBZ.js} +13 -8
- package/dist/{chunk-HTMN2Z6U.js → chunk-J6QROYDA.js} +58 -11
- package/dist/{chunk-NX4EQS3U.js → chunk-J76PIKAT.js} +2 -2
- package/dist/{chunk-SVTI362O.js → chunk-J7KJR3R6.js} +129 -109
- package/dist/{chunk-JEUJOX5X.js → chunk-J7TLCB2Q.js} +2 -2
- package/dist/{chunk-O7WP4ZD4.js → chunk-JED6ZDEE.js} +2 -2
- package/dist/{chunk-J6K7RP6P.js → chunk-JRCOYRRH.js} +19 -7
- package/dist/{chunk-7QKLIMRZ.js → chunk-K2I2XOZD.js} +46 -51
- package/dist/{chunk-EAMEADTV.js → chunk-K4EOKJA6.js} +96 -24
- package/dist/{chunk-5OWVC2A6.js → chunk-KGVZ5VGH.js} +13 -10
- package/dist/{chunk-DFTFPYUD.js → chunk-LBMS4AW6.js} +22 -21
- package/dist/{chunk-VVW3F3MD.js → chunk-LGT3PZCJ.js} +27 -19
- package/dist/{chunk-OMNGQPEZ.js → chunk-LTXOLDUZ.js} +9 -6
- package/dist/{chunk-Q4V4XQWV.js → chunk-MUE65OTD.js} +5 -4
- package/dist/{chunk-5GJYGP5Z.js → chunk-MUVJ57EP.js} +14 -18
- package/dist/{chunk-CLD2OKV7.js → chunk-MX2EY5Y7.js} +2 -2
- package/dist/{chunk-OTQKUHRS.js → chunk-NNS4E7CW.js} +6 -4
- package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
- package/dist/{chunk-KFZYNWWO.js → chunk-ONU3U4GL.js} +4 -4
- package/dist/{chunk-YNRDWYZP.js → chunk-OQKP2X3D.js} +170 -51
- package/dist/{chunk-AHGF2YYA.js → chunk-OTOHI4JO.js} +2 -2
- package/dist/{chunk-EOFPYPAU.js → chunk-P3NRSSUU.js} +51 -11
- package/dist/{chunk-QXKWYZNR.js → chunk-PRI2OD4E.js} +10 -3
- package/dist/{chunk-U6EQI3U6.js → chunk-QBZYACOG.js} +3 -3
- package/dist/{chunk-C2CVAM3U.js → chunk-QGATPIPX.js} +170 -91
- package/dist/{chunk-PZFVK3IH.js → chunk-QHXCAEMX.js} +8 -5
- package/dist/{chunk-BH3UYK36.js → chunk-QJMKPUYK.js} +15 -5
- package/dist/{chunk-HQCHYB5F.js → chunk-QOOUC2J5.js} +2 -2
- package/dist/{chunk-Z6XJQ6KO.js → chunk-QVENJMNX.js} +2 -2
- package/dist/{chunk-IUMPEA64.js → chunk-QZX5S6R3.js} +4 -4
- package/dist/{chunk-I7F2A35O.js → chunk-R3YSD62R.js} +25 -47
- package/dist/{chunk-NU3XLTGP.js → chunk-REJAIQ5S.js} +4 -4
- package/dist/{chunk-2C56LEML.js → chunk-ROOE4R4Y.js} +8 -5
- package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
- package/dist/{chunk-I2WKW7C7.js → chunk-SMRFPVLQ.js} +3 -3
- package/dist/{chunk-VDOOQZUD.js → chunk-SWSIKFEB.js} +4 -4
- package/dist/{chunk-HLJVEAOF.js → chunk-T4A4TSTJ.js} +19 -45
- package/dist/{chunk-KHEYDLMT.js → chunk-TJVLKNGR.js} +20 -10
- package/dist/{chunk-GL5UZ6NY.js → chunk-TPFKKXCB.js} +3 -3
- package/dist/{chunk-X6EZPSW6.js → chunk-TTIM6YTT.js} +31 -21
- package/dist/{chunk-BCYVE3N5.js → chunk-TYS6CSS5.js} +2 -2
- package/dist/{chunk-T4VOVZT5.js → chunk-UBLHQTLV.js} +15 -14
- package/dist/{chunk-3LKM6FMW.js → chunk-UNURMIQO.js} +2 -2
- package/dist/{chunk-TSA237IM.js → chunk-VILVLS7P.js} +5 -3
- package/dist/{chunk-HGN652MU.js → chunk-VL2O2F3W.js} +2 -2
- package/dist/{chunk-3XGZF2QJ.js → chunk-VQOCMUWI.js} +39 -28
- package/dist/{chunk-P6T66CCZ.js → chunk-WBM7ZNDI.js} +3 -2
- package/dist/{chunk-CMCR5WBW.js → chunk-WBRZJOEC.js} +3 -3
- package/dist/{chunk-5LWQH6QV.js → chunk-WCT3NYCV.js} +1 -1
- package/dist/{chunk-C4GQDB5L.js → chunk-WRNFDFPU.js} +2 -2
- package/dist/{chunk-6HJBFVLO.js → chunk-XD6ZYURY.js} +9 -4
- package/dist/{chunk-C63UWAKM.js → chunk-Y2ZE3MSG.js} +2 -2
- package/dist/{chunk-7UEMZREK.js → chunk-YAA6IID3.js} +2 -2
- package/dist/{chunk-F7BFXWNQ.js → chunk-YIBAWQGJ.js} +7 -4
- package/dist/{chunk-PH5X4GIP.js → chunk-YTMTPUH4.js} +8 -5
- package/dist/{chunk-3UIKSPFB.js → chunk-Z5QVYKR7.js} +11 -3
- package/dist/{chunk-KQ57MHRO.js → chunk-ZEF5M5MB.js} +155 -87
- package/dist/{chunk-LE4MYMLI.js → chunk-ZJV7GYR4.js} +6 -6
- package/dist/{chunk-XJLKLU4D.js → chunk-ZNWAYU6N.js} +11 -7
- package/dist/cli.cjs +165 -148
- package/dist/clock.js +105 -25
- package/dist/countdown.js +208 -82
- package/dist/dgmo-router-X7ZGAPIE.js +86 -0
- package/dist/dimensions-45H6JQEY.js +22 -0
- package/dist/editor.js +17 -2
- package/dist/element.d.ts +6 -0
- package/dist/element.js +172 -134
- package/dist/element.mjs +3026 -1463
- package/dist/{flowchart-parser-OE4WHLTF.js → flowchart-parser-UKELHBSB.js} +4 -4
- package/dist/{flowchart-renderer-GPCSMTOR.js → flowchart-renderer-MNCDS7MV.js} +10 -10
- package/dist/highlight.d.ts +21 -1
- package/dist/highlight.js +106 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +59 -57
- package/dist/{layout-FWODLIMP.js → layout-2L3WMRYU.js} +6 -6
- package/dist/{layout-7SKMFYHL.js → layout-46N4JJYK.js} +5 -5
- package/dist/{layout-7H4H46CS.js → layout-7QXCNOVS.js} +3 -3
- package/dist/layout-A4XWNVID.js +14 -0
- package/dist/{layout-46366KBT.js → layout-A5UHRWVH.js} +3 -3
- package/dist/{layout-NXG63LWH.js → layout-AM2JWW3X.js} +4 -4
- package/dist/{layout-DC4TVXER.js → layout-EE6GE46Y.js} +5 -5
- package/dist/{layout-FGQWRYYW.js → layout-F4WO357A.js} +3 -3
- package/dist/layout-G23F7LDH.js +9 -0
- package/dist/{layout-QNUQLEHU.js → layout-GM4UGR7B.js} +5 -4
- package/dist/{layout-7MZ5NF2N.js → layout-GQQJXNYH.js} +5 -5
- package/dist/{layout-5BG6DFCU.js → layout-IIE2S5FK.js} +6 -6
- package/dist/{layout-34CLNICW.js → layout-OAC4PEAC.js} +5 -5
- package/dist/layout-VMCRX66I.js +14 -0
- package/dist/{layout-PUQCB6AN.js → layout-ZDOSXL5G.js} +7 -7
- package/dist/{layout-search-QS44PI5R.js → layout-search-55FU6HD3.js} +6 -157
- package/dist/map-data/gazetteer.json +1 -1
- package/dist/{palettes-PRJ2RI6D.js → palettes-UDLZ2SA4.js} +2 -2
- package/dist/{parser-D5VILGN2.js → parser-2ECN6JA2.js} +4 -4
- package/dist/{parser-LWKKBNSA.js → parser-4WTIHM5J.js} +3 -3
- package/dist/{parser-DFFEDKHH.js → parser-5H2BTSJQ.js} +3 -3
- package/dist/{parser-4NO6VZ6S.js → parser-75KVXUNS.js} +4 -4
- package/dist/{parser-VKOJM7KS.js → parser-774AC53T.js} +4 -4
- package/dist/{parser-IBWNAPY4.js → parser-BE4YCSRU.js} +3 -3
- package/dist/{parser-4AI5ZN5F.js → parser-CNGUQUQI.js} +3 -3
- package/dist/{parser-36HVKU5U.js → parser-DEUUSQIN.js} +7 -6
- package/dist/{parser-H3XEPFPV.js → parser-DQAFLUJB.js} +4 -4
- package/dist/{parser-5OXGPNBF.js → parser-EYCKNKQA.js} +5 -5
- package/dist/{parser-TGQZJ5OT.js → parser-FXISIU6A.js} +4 -4
- package/dist/{parser-JJR52VAT.js → parser-GTB4XC7P.js} +5 -5
- package/dist/{parser-AGVYTQXV.js → parser-GVEPAUSD.js} +4 -4
- package/dist/{parser-WAV5JRPT.js → parser-HSQGTY4G.js} +4 -4
- package/dist/{parser-YS7TOS2K.js → parser-HVKRINUS.js} +3 -3
- package/dist/{parser-W4PQUGX3.js → parser-J5MIEYO4.js} +5 -5
- package/dist/parser-KMZIXLDZ.js +13 -0
- package/dist/{parser-HYRTF3DO.js → parser-LJHXWSXU.js} +3 -3
- package/dist/{parser-KCR2WS3V.js → parser-PT3W72G5.js} +4 -4
- package/dist/{parser-CVMEDULU.js → parser-SBJQDPHL.js} +4 -4
- package/dist/{parser-RZPVAQVX.js → parser-SUWWWCMX.js} +4 -3
- package/dist/{parser-TXND652E.js → parser-SXDRNZOA.js} +4 -4
- package/dist/parser-UMILOW3M.js +14 -0
- package/dist/{parser-RV4M6AS2.js → parser-UP3AZ367.js} +4 -4
- package/dist/{parser-IJBMRXMC.js → parser-WHPRV3X5.js} +5 -5
- package/dist/{parser-MPCE5JBG.js → parser-WX3UODSJ.js} +4 -4
- package/dist/{parser-K3XXLMUW.js → parser-XCIEN3KN.js} +4 -4
- package/dist/{parser-AXKBDGNO.js → parser-XIRTUMVN.js} +5 -5
- package/dist/{parser-B5FVS7O6.js → parser-YKCGIG45.js} +3 -3
- package/dist/{parser-PSA4UBSP.js → parser-YKYMQG3B.js} +4 -4
- package/dist/{parser-MTOMTWTD.js → parser-ZGM2OJ6Y.js} +6 -5
- package/dist/{parser-CSFUN3CT.js → parser-ZL5QUFVH.js} +5 -4
- package/dist/pert.d.ts +2 -2
- package/dist/{renderer-PPIHO5FI.js → renderer-3F7OS2AX.js} +14 -13
- package/dist/{renderer-SBS3YWU5.js → renderer-4QB4K7Q3.js} +9 -9
- package/dist/{renderer-GHPZMFU2.js → renderer-5DAKMIU2.js} +3 -3
- package/dist/{renderer-R2WNIC2C.js → renderer-5H4SY7YY.js} +9 -9
- package/dist/{renderer-DAXMXIKD.js → renderer-5PIQPFOX.js} +5 -4
- package/dist/{renderer-45PSOL3E.js → renderer-6MU37QF5.js} +6 -6
- package/dist/renderer-AQVMWJ4M.js +27 -0
- package/dist/{renderer-A5VE5BCI.js → renderer-BDDW6K7N.js} +9 -9
- package/dist/{renderer-AUW2BE6G.js → renderer-BNB3VIDY.js} +10 -10
- package/dist/{renderer-4ITCHBT7.js → renderer-CQY6ATOS.js} +6 -6
- package/dist/{renderer-6OKF44KS.js → renderer-CVW75CXL.js} +15 -15
- package/dist/{renderer-7RH2SI3B.js → renderer-DT4XRFEP.js} +5 -4
- package/dist/{renderer-B5TBNZJE.js → renderer-ERHBSTQT.js} +9 -9
- package/dist/{renderer-HVCU2C3Z.js → renderer-HSHHVYWF.js} +5 -4
- package/dist/renderer-IDPVUFNB.js +28 -0
- package/dist/renderer-ILX6BGKR.js +21 -0
- package/dist/renderer-JP663HKG.js +22 -0
- package/dist/{renderer-KS7YZJE2.js → renderer-KNFTTOBL.js} +11 -11
- package/dist/{renderer-2AZ5HJFK.js → renderer-MVUZBESR.js} +5 -5
- package/dist/{renderer-QAOBLRXV.js → renderer-N4EBR2FV.js} +11 -11
- package/dist/{renderer-P5ROYQGU.js → renderer-NHO46CT2.js} +4 -4
- package/dist/{renderer-NGXZTRK6.js → renderer-NO2QJ5LZ.js} +10 -10
- package/dist/{renderer-FPE3J5VZ.js → renderer-OGFV5RXX.js} +12 -12
- package/dist/{renderer-ODUUOPVT.js → renderer-PDLESJMS.js} +15 -15
- package/dist/renderer-T4MTNINC.js +24 -0
- package/dist/renderer-TOUGFGTM.js +24 -0
- package/dist/{renderer-BSR2O2H6.js → renderer-U3KPD43Y.js} +14 -13
- package/dist/{renderer-JCCHNECZ.js → renderer-X334IJU2.js} +10 -10
- package/dist/{renderer-5DSEWF74.js → renderer-Y5OAMOCR.js} +9 -9
- package/dist/{renderer-5KVCNMOJ.js → renderer-YONAKAJU.js} +5 -3
- package/dist/{renderer-7SD6MSBS.js → renderer-YWMI6Y2U.js} +12 -12
- package/dist/{renderer-2QPMJ2DA.js → renderer-ZWIH4WDW.js} +10 -10
- package/dist/renderer-radial-7CGZMVMS.js +21 -0
- package/dist/{resolver-FHBCO3PL.js → resolver-EMTGNR3D.js} +4 -3
- package/dist/{state-parser-3REXRK3R.js → state-parser-BATWAID2.js} +4 -4
- package/dist/{state-renderer-XYLNRWXR.js → state-renderer-3FKZJ3LP.js} +10 -10
- package/dist/{themes-PdPR1-hC.d.ts → themes-32xj5ZTW.d.ts} +27 -0
- package/docs/ai-integration.md +15 -19
- package/docs/language-reference.md +106 -21
- package/gallery/fixtures/clock.dgmo +3 -3
- package/gallery/fixtures/countdown-tz.dgmo +5 -0
- package/package.json +1 -1
- package/dist/charts-d3-MUW3LTML.js +0 -26
- package/dist/dgmo-router-CE2G67FV.js +0 -84
- package/dist/dimensions-OTBKC5M6.js +0 -22
- package/dist/layout-6RDJHS6E.js +0 -9
- package/dist/layout-J36454XU.js +0 -14
- package/dist/layout-LD6XTLD6.js +0 -14
- package/dist/parser-4WQQQXCG.js +0 -13
- package/dist/parser-O4HIUN6G.js +0 -13
- package/dist/renderer-CYB4LK3G.js +0 -22
- package/dist/renderer-FF24KZCI.js +0 -24
- package/dist/renderer-FYSVXL7M.js +0 -28
- package/dist/renderer-HDCCZURL.js +0 -24
- package/dist/renderer-PSMMZCKH.js +0 -21
- package/dist/renderer-UYMQQCJK.js +0 -24
- package/dist/renderer-radial-F7X5F2VU.js +0 -21
package/docs/ai-integration.md
CHANGED
|
@@ -182,7 +182,6 @@ _The most common types, inline so you can generate them without a fetch. For the
|
|
|
182
182
|
|
|
183
183
|
```dgmo
|
|
184
184
|
journey-map A Cabin Boy's First Voyage
|
|
185
|
-
solid-fill
|
|
186
185
|
|
|
187
186
|
persona Squidlips Sam color: blue
|
|
188
187
|
Greenhorn cabin boy, first time at sea
|
|
@@ -212,7 +211,6 @@ persona Squidlips Sam color: blue
|
|
|
212
211
|
|
|
213
212
|
```dgmo
|
|
214
213
|
c4 Pirate Treasure Map System
|
|
215
|
-
solid-fill
|
|
216
214
|
|
|
217
215
|
tag Scope as sc
|
|
218
216
|
Crew blue
|
|
@@ -288,8 +286,6 @@ ports
|
|
|
288
286
|
```dgmo
|
|
289
287
|
class Ship Class Hierarchy
|
|
290
288
|
|
|
291
|
-
solid-fill
|
|
292
|
-
|
|
293
289
|
interface Vessel
|
|
294
290
|
+ sail(): void
|
|
295
291
|
+ anchor(): void
|
|
@@ -360,18 +356,25 @@ else
|
|
|
360
356
|
|
|
361
357
|
```dgmo
|
|
362
358
|
state Ship Battle Lifecycle
|
|
363
|
-
solid-fill
|
|
364
359
|
|
|
365
360
|
[*] -> Sailing
|
|
366
361
|
|
|
367
362
|
Sailing
|
|
368
363
|
-enemy spotted-> BattleStations
|
|
369
364
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
365
|
+
[Losses] gray
|
|
366
|
+
Captured -> [*]
|
|
367
|
+
Sinking -> [*]
|
|
368
|
+
|
|
369
|
+
[Aftermath] teal
|
|
370
|
+
Victorious
|
|
371
|
+
-loot taken-> Sailing
|
|
372
|
+
|
|
373
|
+
Retreating
|
|
374
|
+
-escaped-> Sailing
|
|
375
|
+
-caught-> Captured
|
|
373
376
|
|
|
374
|
-
[Combat]
|
|
377
|
+
[Combat] red
|
|
375
378
|
Engaging
|
|
376
379
|
-alongside-> Boarding
|
|
377
380
|
-hull breach-> Sinking
|
|
@@ -381,16 +384,9 @@ BattleStations
|
|
|
381
384
|
-crew wins-> Victorious
|
|
382
385
|
-crew loses-> Captured
|
|
383
386
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
Retreating
|
|
389
|
-
-escaped-> Sailing
|
|
390
|
-
-caught-> Captured
|
|
391
|
-
|
|
392
|
-
Captured -> [*]
|
|
393
|
-
Sinking -> [*]
|
|
387
|
+
BattleStations
|
|
388
|
+
-in range-> Engaging
|
|
389
|
+
-enemy retreats-> Sailing
|
|
394
390
|
```
|
|
395
391
|
#### infra
|
|
396
392
|
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
1. [Universal Constructs](#1-universal-constructs)
|
|
11
11
|
2. [Universal Name Handling](#2-universal-name-handling)
|
|
12
12
|
2A. [Universal Aliases (`as` keyword)](#2a-universal-aliases-as-keyword)
|
|
13
|
+
2B. [Universal Date Handling](#2b-universal-date-handling)
|
|
13
14
|
3. [Sequence Diagrams](#3-sequence-diagrams)
|
|
14
15
|
4. [Infrastructure Diagrams](#4-infrastructure-diagrams)
|
|
15
16
|
5. [Flowchart Diagrams](#5-flowchart-diagrams)
|
|
@@ -290,7 +291,9 @@ no-option-name // off
|
|
|
290
291
|
|
|
291
292
|
| Directive | Effect |
|
|
292
293
|
| ------------ | --------------------------------------------------------------------------------------- |
|
|
293
|
-
| `
|
|
294
|
+
| `fill-tint` | The default, spelled explicitly — shapes get the canonical 25% tint fill with a solid intent-color outline |
|
|
295
|
+
| `fill-solid` | Render nodes/bars at full intent saturation instead of the canonical 25% tint |
|
|
296
|
+
| `fill-outline` | No fill — shapes take the theme background fill; the intent color is carried entirely by the outline |
|
|
294
297
|
| `no-title` | Hide the diagram banner title in the rendered output (does not mutate the parsed model) |
|
|
295
298
|
|
|
296
299
|
Examples: `no-legend` (journey-map), `no-color` (flowchart, state), `no-title` (all chart types with a banner title).
|
|
@@ -509,6 +512,51 @@ rarely benefit. Aliases should aid comprehension, not obscure it.
|
|
|
509
512
|
|
|
510
513
|
---
|
|
511
514
|
|
|
515
|
+
## 2B. Universal Date Handling
|
|
516
|
+
|
|
517
|
+
<a id="2b-universal-date-handling"></a>
|
|
518
|
+
|
|
519
|
+
Every date-bearing chart — **gantt (§13), pert (§13A), timeline (§15),
|
|
520
|
+
event-line (§28), countdown (§36)** — accepts one liberal date grammar. Write
|
|
521
|
+
dates however is natural; they store internally as ISO. (Family uses year-grain
|
|
522
|
+
only; clock has no date input.)
|
|
523
|
+
|
|
524
|
+
**Accepted forms** (all equivalent to `2026-07-04`):
|
|
525
|
+
|
|
526
|
+
- `2026-07-04` — ISO, canonical, always unambiguous
|
|
527
|
+
- `2026-07-04 14:30` — datetime (where the type supports a time)
|
|
528
|
+
- `2026-07` / `2026` — month- / year-grain
|
|
529
|
+
- `07-04` / `7/4` — numeric, **US month-first by default**
|
|
530
|
+
- `Jul 4` / `July 4` / `July 4, 2026` / `4 Jul 2026` — month-name
|
|
531
|
+
- `753 BCE` / `14 CE` — era-signed year (timeline)
|
|
532
|
+
|
|
533
|
+
**Rarely type a year.** A bare month-day resolves via: (1) an explicit year on
|
|
534
|
+
the date → (2) a `year 20XX` directive → (3) a sibling dated row (timeline/
|
|
535
|
+
event-line carry forward + roll across New Year; gantt/pert anchor to the first
|
|
536
|
+
full date, usually `start`) → (4) the current render year (only if the chart has
|
|
537
|
+
no full date at all; emits a soft `year 20XX` hint).
|
|
538
|
+
|
|
539
|
+
**Directives** (any date-bearing chart; position-independent):
|
|
540
|
+
|
|
541
|
+
| Directive | Effect |
|
|
542
|
+
| --------- | ------ |
|
|
543
|
+
| `year 2026` | base year for bare month-days |
|
|
544
|
+
| `date-order dmy` | numeric slash/dash dates read day-first (default `mdy`) |
|
|
545
|
+
| `no-current-year` | a fully-bare chart errors instead of assuming this year |
|
|
546
|
+
|
|
547
|
+
**TIPS (AI authoring):**
|
|
548
|
+
|
|
549
|
+
- Prefer `Jul 4` or `07-04` + one `year 2026` line over repeating the ISO year
|
|
550
|
+
on every row — shorter and reproducible.
|
|
551
|
+
- `7/4` is **Jul 4** (US month-first). For day-first documents add `date-order
|
|
552
|
+
dmy` once at the top; then `7/4` is **Apr 7**.
|
|
553
|
+
- Month-name forms (`Jul 4`) are never ambiguous and ignore `date-order` — use
|
|
554
|
+
them when a mixed audience will read the source.
|
|
555
|
+
- Existing ISO dates keep working unchanged; this is a superset, not a
|
|
556
|
+
migration.
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
512
560
|
## 3. Sequence Diagrams
|
|
513
561
|
|
|
514
562
|
<!-- TYPE:sequence -->
|
|
@@ -793,7 +841,7 @@ tag Team as t
|
|
|
793
841
|
- `animate` / `no-animate`
|
|
794
842
|
- `active-tag GroupName` / `active-tag none` — pre-select a tag filter on render
|
|
795
843
|
|
|
796
|
-
The universal options `
|
|
844
|
+
The universal options `no-title` and the `fill-*` family also apply — but severity/SLO status tints are data and are never restyled by the fill family.
|
|
797
845
|
|
|
798
846
|
### 4.8 Edge Nodes
|
|
799
847
|
|
|
@@ -888,10 +936,10 @@ Bracket syntax only.
|
|
|
888
936
|
- `direction-lr` (boolean; default is TB)
|
|
889
937
|
- `orientation-vertical` (boolean; default is horizontal)
|
|
890
938
|
- `no-color` (boolean; default off — when on, all nodes resolve to the muted neutral fill instead of their default intent color)
|
|
891
|
-
- `solid-
|
|
939
|
+
- `fill-solid` / `fill-outline` (fill family; default is the 25% tint — `fill-solid` renders shapes at full intent color, `fill-outline` drops the fill and carries color on the outline alone)
|
|
892
940
|
- `no-notes` (boolean; default off — suppress all note boxes, see §4.7)
|
|
893
941
|
|
|
894
|
-
`no-color` + `solid
|
|
942
|
+
`no-color` + `fill-solid` precedence: `no-color` wins for nodes with no explicit color (the muted neutral path bypasses `fill-solid`). Nodes with an explicit color survive `no-color` and are then rendered at full saturation if `fill-solid` is also on.
|
|
895
943
|
|
|
896
944
|
### 4.7 Notes (Nodes)
|
|
897
945
|
|
|
@@ -974,10 +1022,10 @@ Pending p: Active
|
|
|
974
1022
|
Shipped p: Done
|
|
975
1023
|
Pending -ship-> Shipped
|
|
976
1024
|
```
|
|
977
|
-
- `solid-
|
|
1025
|
+
- `fill-solid` / `fill-outline` (fill family; default is the 25% tint — collapsed groups follow the same mode, e.g. full saturation under `fill-solid`)
|
|
978
1026
|
- `no-notes` (boolean; default off — suppress all note boxes, see §4.7)
|
|
979
1027
|
|
|
980
|
-
`no-color` + `solid
|
|
1028
|
+
`no-color` + `fill-solid` precedence: `no-color` wins for states with no explicit color (the muted neutral path bypasses `fill-solid`). Group colors survive `no-color` and are then rendered at full saturation if `fill-solid` is also on.
|
|
981
1029
|
|
|
982
1030
|
---
|
|
983
1031
|
|
|
@@ -3380,7 +3428,7 @@ LayerLabel green
|
|
|
3380
3428
|
```
|
|
3381
3429
|
ring Captain's Sphere of Influence
|
|
3382
3430
|
|
|
3383
|
-
solid
|
|
3431
|
+
fill-solid
|
|
3384
3432
|
|
|
3385
3433
|
Captain purple
|
|
3386
3434
|
Final word on heading and plunder,
|
|
@@ -3413,7 +3461,7 @@ Indented lines under a layer are description text. Markdown inline formatting is
|
|
|
3413
3461
|
|
|
3414
3462
|
| Directive | Effect |
|
|
3415
3463
|
| ------------ | -------------------------------------------------------------------- |
|
|
3416
|
-
| `solid-
|
|
3464
|
+
| `fill-solid` / `fill-outline` | Render rings with full intent color, or outline-only, instead of the default 25% tint (fill family). |
|
|
3417
3465
|
|
|
3418
3466
|
`inverted` is **not** valid on ring diagrams (rings are rotationally symmetric). Using it emits an error-severity diagnostic and the line is discarded.
|
|
3419
3467
|
|
|
@@ -3709,7 +3757,7 @@ In the desktop and web app a sketch opens in the **canvas editor** (the code pan
|
|
|
3709
3757
|
<!-- TYPE:goal -->
|
|
3710
3758
|
|
|
3711
3759
|
<!-- TIPS start -->
|
|
3712
|
-
**Styling tips:** A single progress-toward-a-target reading — one `now` against one `target`, answering "how close am I?". Reach for it for a KPI tile, a fundraising thermometer, a quarterly quota, or a completion percentage; there is no time axis, series, or milestones (use `line` for a trend, `countdown` for a live deadline). Put the **unit in the title** (`Marathon Fund ($)`, `Grog Barrel Fill (L)`) — there is no format/currency directive. `now` and `target` are **space-separated `key value`** directives, no colon (`now 6400` / `target 10000`); the percent is `now / target` and values auto-compact (`6.4k`, `1.2M`). Pick the face for the story with a bare flag on its own line: the default progress **bar** for a plain KPI, `thermometer` for fundraising/fill-the-tank framings, `gauge` for a speedometer/quota dial — all three read the same value pair. The fill is **auto traffic-light** by completion (`< 50%` red, `50–80%` orange, `≥ 80%` green; over-target stays green) so the color already reads the number's health — leave it unless you have reason to override with a trailing color on the title line (`goal Marathon Fund ($) green`) or `no-auto-color` (flat palette color). Over-target clamps the fill at 100% while the `%` label stays truthful (`120%`). Add a `note` — inline (`note Still waiting on three crews`) or a block header on its own line with an indented body — to caption the number with context (who's still owed, what's left); it takes simple markdown (`**bold**`, `*italic*`, `` `code` ``) and `- ` bullets. `solid
|
|
3760
|
+
**Styling tips:** A single progress-toward-a-target reading — one `now` against one `target`, answering "how close am I?". Reach for it for a KPI tile, a fundraising thermometer, a quarterly quota, or a completion percentage; there is no time axis, series, or milestones (use `line` for a trend, `countdown` for a live deadline). Put the **unit in the title** (`Marathon Fund ($)`, `Grog Barrel Fill (L)`) — there is no format/currency directive. `now` and `target` are **space-separated `key value`** directives, no colon (`now 6400` / `target 10000`); the percent is `now / target` and values auto-compact (`6.4k`, `1.2M`). Pick the face for the story with a bare flag on its own line: the default progress **bar** for a plain KPI, `thermometer` for fundraising/fill-the-tank framings, `gauge` for a speedometer/quota dial — all three read the same value pair. The fill is **auto traffic-light** by completion (`< 50%` red, `50–80%` orange, `≥ 80%` green; over-target stays green) so the color already reads the number's health — leave it unless you have reason to override with a trailing color on the title line (`goal Marathon Fund ($) green`) or `no-auto-color` (flat palette color). Over-target clamps the fill at 100% while the `%` label stays truthful (`120%`). Add a `note` — inline (`note Still waiting on three crews`) or a block header on its own line with an indented body — to caption the number with context (who's still owed, what's left); it takes simple markdown (`**bold**`, `*italic*`, `` `code` ``) and `- ` bullets. `fill-solid` for a bolder fill; `no-percent` / `no-value` / `no-title` / `no-note` to drop labels.
|
|
3713
3761
|
<!-- TIPS end -->
|
|
3714
3762
|
|
|
3715
3763
|
A single progress-toward-a-target value: one `now` measured against one `target`, drawn in one of three static faces. No time axis, no series, no milestones — just "how close am I?". The face is a bare-flag mode directive under the title (like treemap's `radial`); all three faces consume the same value pair.
|
|
@@ -3744,7 +3792,7 @@ target 10000
|
|
|
3744
3792
|
| `target <number>` | Goal value (required; must be > 0). |
|
|
3745
3793
|
| `no-percent` | Hide the `%` label. |
|
|
3746
3794
|
| `no-value` | Hide the raw `now / target` label. |
|
|
3747
|
-
| `solid
|
|
3795
|
+
| `fill-solid` | Full-saturation fill instead of the default 25% tint (`fill-outline` hollows the meter — color on the rim). |
|
|
3748
3796
|
| `no-title` | Hide the banner title. |
|
|
3749
3797
|
| `no-note` | Suppress the `note` block even if one is authored. |
|
|
3750
3798
|
| `no-auto-color` | Disable the traffic-light bands; use the flat palette color. |
|
|
@@ -3769,7 +3817,7 @@ The body supports inline `**bold**` / `*italic*` / `` `code` ``, `- `/`* ` bulle
|
|
|
3769
3817
|
|
|
3770
3818
|
### Values & color
|
|
3771
3819
|
|
|
3772
|
-
Values accept `_` separators (`10_000`) but not thousands commas; the unit lives in the title. Color precedence: (1) an explicit trailing color token on the title line (`goal Marathon Fund ($) green`, §1.5) always wins; (2) otherwise the **auto traffic-light** band by completion — `< 50%` red, `50–80%` orange, `≥ 80%` green (over-target stays green), which needs a `target`; (3) `no-auto-color` disables the bands and falls back to the palette series color. The fill is a 25% tint of the resolved color; `solid
|
|
3820
|
+
Values accept `_` separators (`10_000`) but not thousands commas; the unit lives in the title. Color precedence: (1) an explicit trailing color token on the title line (`goal Marathon Fund ($) green`, §1.5) always wins; (2) otherwise the **auto traffic-light** band by completion — `< 50%` red, `50–80%` orange, `≥ 80%` green (over-target stays green), which needs a `target`; (3) `no-auto-color` disables the bands and falls back to the palette series color. The fill is a 25% tint of the resolved color; `fill-solid` opts into full saturation; `fill-outline` hollows the meter (color on the rim, advancement reads from the outlined extent).
|
|
3773
3821
|
|
|
3774
3822
|
### Semantics
|
|
3775
3823
|
|
|
@@ -3782,7 +3830,7 @@ Percent is `now / target`. Over-target clamps the fill at 100% while the `%` lab
|
|
|
3782
3830
|
<!-- TYPE:countdown -->
|
|
3783
3831
|
|
|
3784
3832
|
<!-- TIPS start -->
|
|
3785
|
-
**Styling tips:** The only dynamic chart — it ticks every second and is accurate on every load, so use it for a live "N days until X" widget, not a static report. Keep the title to the event (`Trip to Japan`); the target date renders as a caption automatically. `target` is a space-separated `key value` directive (no colon): a bare date (`2026-08-21`) counts to
|
|
3833
|
+
**Styling tips:** The only dynamic chart — it ticks every second and is accurate on every load, so use it for a live "N days until X" widget, not a static report. Keep the title to the event (`Trip to Japan`); the target date renders as a caption automatically. `target` is a space-separated `key value` directive (no colon): a bare date (`2026-08-21`) counts to midnight, a datetime or offset is honored. By default those times are **viewer-local** — each person sees their own; add `tz America/New_York` (any IANA zone, no colon) to **pin** the count so a shared launch/livestream page shows everyone the same remaining time and it doesn't shift when you carry the laptop to another zone. Default `units days` reads best for weeks/months out; use `units full` for a launch-day `Nd HH:MM:SS` clock. Set `expired` to the celebration text (`🚀 Shipped!`); after the target passes every live surface shows it and the tick stops. On images (PNG export, `.svg` via `<img>`, GitHub camo) it can't tick and shows the whole-day count baked at export time — the correct fallback.
|
|
3786
3834
|
<!-- TIPS end -->
|
|
3787
3835
|
|
|
3788
3836
|
The only *dynamic* dgmo chart: a single "N days until X" recomputed against the viewer's clock on every load and ticking every second on any live surface. Distinct from `goal` (static) — a countdown has no `now`/`target` pair, just one future instant. The renderer bakes a whole-day fallback number (the no-JS floor); a tiny page-level ticker overwrites it live and, in `units full`, upgrades it to `Nd HH:MM:SS`.
|
|
@@ -3810,12 +3858,13 @@ target 2026-08-21
|
|
|
3810
3858
|
| Directive | Effect |
|
|
3811
3859
|
| ----------------------- | ---------------------------------------------------------------------- |
|
|
3812
3860
|
| `target <iso>` | The future instant (required). `2026-08-21`, `2026-08-21T18:00`, or with a tz offset. The literal `now` resolves at render (→ immediately expired; for testing). |
|
|
3861
|
+
| `tz <IANA>` | Pin authored times to a zone (`America/New_York`, `Asia/Kolkata`, `UTC`) so the count is the **same for every viewer** and doesn't drift when the host moves zones. Default viewer-local. Footer then shows the in-zone time + a `UTC±` tag. |
|
|
3813
3862
|
| `units <days\|full>` | `days` (default) shows whole days (ceil); `full` ticks `Nd HH:MM:SS` on live surfaces. |
|
|
3814
3863
|
| `expired <text>` | Shown once the target passes; the tick stops. Default `"Now!"`. |
|
|
3815
3864
|
|
|
3816
3865
|
### Values & color
|
|
3817
3866
|
|
|
3818
|
-
A bare `YYYY-MM-DD` counts to
|
|
3867
|
+
A bare `YYYY-MM-DD` counts to **midnight** and a datetime with no offset to that wall-clock time — both in the `tz` zone if one is set (`tz America/New_York`), otherwise **viewer-local**; an explicit ISO offset is always an absolute instant. Pin a `tz` when a shared page must show everyone the same countdown (a launch, a livestream); leave it off for a personal "my local deadline" widget. The trailing-token color rule (§1.5) applies to the title line (`countdown Trip to Japan blue`) and tints the figure.
|
|
3819
3868
|
|
|
3820
3869
|
### Semantics
|
|
3821
3870
|
|
|
@@ -3828,7 +3877,7 @@ Days mode uses `ceil` — a target later *today* reads "1 day", not "0". Full mo
|
|
|
3828
3877
|
<!-- TYPE:clock -->
|
|
3829
3878
|
|
|
3830
3879
|
<!-- TIPS start -->
|
|
3831
|
-
**Styling tips:** A live world clock — one panel per person or place, each showing the CURRENT time in its zone and ticking every second, accurate the instant the page loads. Reach for it to answer "what time is it for the crew right now": a distributed team's local times, a single collaborator's clock, or the overlap window for scheduling a call. The first line declares the type and a title (`Crew standups`). Each entry is one line, `<
|
|
3880
|
+
**Styling tips:** A live world clock — one panel per person or place, each showing the CURRENT time in its zone and ticking every second, accurate the instant the page loads. Reach for it to answer "what time is it for the crew right now": a distributed team's local times, a single collaborator's clock, or the overlap window for scheduling a call. The first line declares the type and a title (`Crew standups`). Each entry is one line, `<anchor> [as <label>] [color]`: name the zone once as the anchor — a plain **city name** (`London`, `NYC`, `Bombay`, `Los Angeles` — easiest, resolved through the bundled gazetteer to its canonical zone and displayed as the canonical city), a full **IANA id** (the token containing `/`, like `Europe/London` or `America/New_York`), or a **UTC/GMT offset** (`UTC`, `UTC+1`, `UTC+5:30`, `GMT+2`) which pins a **fixed** offset with no daylight-saving shift (bare `UTC`/`GMT` = +00:00, and no sun line). Use `as <label>` to name the person or role behind a zone (`New York as Dani (NY)`); the label becomes the caption and defaults to the resolved city (or the offset label for a fixed row). The single-clock case is common and encouraged — one title, one entry (`clock Dani` / `New York`). Global directives are flat, no colon: `analog` for analog dials (digital is the default face), `time-24` for a 24-hour readout (12h am/pm is the default), and optional context bands `hours 9-17` + `days mon-fri` (the window accepts `HH:MM` and am/pm, e.g. `hours 8:30-17:15`) to shade each zone's working window so out-of-hours people read at a glance. `no-sun` hides the sunrise/sundown indicator (on by default). Add `hours`/`days` only when the point is scheduling overlap; drop them for a plain "current time" widget. Zones are **colorized by default** (`color-by`, default `place` — a distinct palette accent per place); reach for a semantic mode when color should *mean* something: `color-by time` or `color-by daylight` make an at-a-glance world board read as day-vs-night (order the zones west→east so the daylight sweeps across), and `color-by work` turns a standup/team board green/amber/grey by availability — it needs `hours` set. A hand-set per-zone color (`London as UK team purple`, or just `London purple`) is a **defined** shade that always wins over the dimension, so you can pin one zone and let the rest follow. `color-by none` goes neutral. On image surfaces (PNG, `.svg` via `<img>`, GitHub camo) it can't tick and bakes the time at export — the correct graceful fallback.
|
|
3832
3881
|
<!-- TIPS end -->
|
|
3833
3882
|
|
|
3834
3883
|
The second *dynamic* dgmo chart (with `countdown`): a live board of world clocks recomputed against the viewer's clock every second. Flat syntax — the first line is `clock <Title>`; every other non-blank line is either a board-level directive (its first token is an option keyword) or a place row. Order-independent; no colons anywhere.
|
|
@@ -3847,7 +3896,7 @@ no-title // suppress the board title
|
|
|
3847
3896
|
direction lr // lay the panels out in a row
|
|
3848
3897
|
color-by <place|work|daylight|time|none> // zone coloring; default place
|
|
3849
3898
|
|
|
3850
|
-
<
|
|
3899
|
+
<anchor> [as <label…>] [color]
|
|
3851
3900
|
```
|
|
3852
3901
|
|
|
3853
3902
|
### Example
|
|
@@ -3857,9 +3906,20 @@ clock Crew standups
|
|
|
3857
3906
|
hours 9-17
|
|
3858
3907
|
days mon-fri
|
|
3859
3908
|
|
|
3860
|
-
London
|
|
3861
|
-
New York
|
|
3862
|
-
Los Angeles
|
|
3909
|
+
London as UK team
|
|
3910
|
+
New York as Dani (NY)
|
|
3911
|
+
Los Angeles as West coast
|
|
3912
|
+
```
|
|
3913
|
+
|
|
3914
|
+
A UTC-offset board (offsets are fixed — no DST, no sun line):
|
|
3915
|
+
|
|
3916
|
+
```
|
|
3917
|
+
clock Bridge watch
|
|
3918
|
+
time-24
|
|
3919
|
+
|
|
3920
|
+
London as UK team
|
|
3921
|
+
UTC+5:30 as Bangalore ops
|
|
3922
|
+
UTC as Servers
|
|
3863
3923
|
```
|
|
3864
3924
|
|
|
3865
3925
|
### Directives
|
|
@@ -3877,7 +3937,13 @@ Los Angeles America/Los_Angeles as West coast
|
|
|
3877
3937
|
|
|
3878
3938
|
### Entry grammar
|
|
3879
3939
|
|
|
3880
|
-
Each place row is `<
|
|
3940
|
+
Each place row is `<anchor> [as <label…>] [color]`. The **anchor** names the zone exactly once and is resolved in this order:
|
|
3941
|
+
|
|
3942
|
+
1. **UTC/GMT offset** — `UTC`, `UTC+1`, `UTC-7`, `UTC+5:30`, `GMT+2`. A **fixed** offset with no DST (bare `UTC`/`GMT` = +00:00); renders a "no DST" marker and no sun line.
|
|
3943
|
+
2. **IANA id** — the token containing `/` (`Europe/London`, `America/New_York`). DST-correct.
|
|
3944
|
+
3. **City name** — via the bundled gazetteer (`London`, `NYC`, `Bombay`, `Los Angeles`). Resolves to the canonical IANA zone and displays the canonical city. An ambiguous name (`San Jose`) errors and lists the candidates; an unknown name is skipped with a warning and a did-you-mean.
|
|
3945
|
+
|
|
3946
|
+
`as <label>` sets the display alias (default = the resolved city, or the offset label for a fixed row). A trailing palette color token pins the row's shade (`London as UK team purple`, or `London purple`).
|
|
3881
3947
|
|
|
3882
3948
|
### Semantics
|
|
3883
3949
|
|
|
@@ -4038,7 +4104,7 @@ Markers in cells are always **rendered in canonical alphabet order** (`R A C I`,
|
|
|
4038
4104
|
<!-- TYPE:map -->
|
|
4039
4105
|
|
|
4040
4106
|
<!-- TIPS start -->
|
|
4041
|
-
**Styling tips:** the zero-config map already looks good — name places and stop. When POIs fall into categories, tag them so each category gets its own color; keep place labels to the place name; leave region colorize and coastlines on unless the user asks to hide them. **For flights and airport routes, use IATA codes, not city names** — `LHR ~> JFK`, `LHR ~> DXB`, `LHR ~> SIN`, `LHR ~> HND` — the bundled airport set (large international hubs + all US commercial airports) resolves them to the right coordinates and labels them with the code. **For cities, use the exact canonical name**: "New York City" (NOT "New York"), "Washington, D.C.", etc. — a name the gazetteer doesn't have **silently drops that point** and the map just reframes around the rest, so it looks fine but is wrong. When unsure of the exact token, look it up: `dgmo map-search "<place>"` (or the `lookup_map_location` MCP tool) returns the city name or airport code to paste; fall back to coordinates (`poi Name as 40.71,-74.0`) for anything not found. **For routes/flows from a hub** (an airport's daily flights, a distribution center's shipments), write ONE edge per line and repeat the origin — never indented edges (those error). Use **arcs** (`~>`) for flights and long-haul links so the spokes separate; the connector label carries the relationship (`~daily~>`, `~2x daily~>`). Endpoints auto-create POIs, so don't add separate `poi` lines for places already in an edge. Reach for a `route` block only when the trip is an **ordered voyage** that continues stop→stop (a cruise itinerary), not a set of independent routes from one origin.
|
|
4107
|
+
**Styling tips:** the zero-config map already looks good — name places and stop. When POIs fall into categories, tag them so each category gets its own color; keep place labels to the place name; leave region colorize and coastlines on unless the user asks to hide them. **For flights and airport routes, use IATA codes, not city names** — `LHR ~> JFK`, `LHR ~> DXB`, `LHR ~> SIN`, `LHR ~> HND` — the bundled airport set (large international hubs + all US commercial airports) resolves them to the right coordinates and labels them with the code. **For cities, use the exact canonical name**: "New York City" (NOT "New York"), "Washington, D.C.", etc. — a name the gazetteer doesn't have **silently drops that point** and the map just reframes around the rest, so it looks fine but is wrong. When unsure of the exact token, look it up: `dgmo map-search "<place>"` (or the `lookup_map_location` MCP tool) returns the city name or airport code to paste; fall back to coordinates (`poi Name as 40.71,-74.0`) for anything not found. **For routes/flows from a hub** (an airport's daily flights, a distribution center's shipments), write ONE edge per line and repeat the origin — never indented edges (those error). Use **arcs** (`~>`) for flights and long-haul links so the spokes separate; the connector label carries the relationship (`~daily~>`, `~2x daily~>`). Endpoints auto-create POIs, so don't add separate `poi` lines for places already in an edge. Reach for a `route` block only when the trip is an **ordered voyage** that continues stop→stop (a cruise itinerary), not a set of independent routes from one origin. **For a "what time is it at each office" map**, flag each POI with `clock` — the zone comes from the place automatically, so just `poi Denver clock`; add `hours 9-17` + `days mon-fri` for open/closed dots, and `clock: <IANA>` only on bare-coordinate pins. Use `label:` (not `as`) for a multi-word office name.
|
|
4042
4108
|
<!-- TIPS end -->
|
|
4043
4109
|
|
|
4044
4110
|
Geographic concept maps: highlight/shade political subdivisions, drop points of interest (POIs), and connect them with routes or edges. For "share a concept" business maps, not cartography. Renders at a fixed, auto-fit position — no pan/zoom. Basemap and viewport are **inferred from the content you reference** — most maps need no directives. v1 boundaries: world countries + US states.
|
|
@@ -4109,9 +4175,28 @@ poi Austin red # direct marker color (trailing token, §1.5
|
|
|
4109
4175
|
```
|
|
4110
4176
|
|
|
4111
4177
|
- **Coordinates are positional** — two leading signed numbers (lat then lon); cities never start with a number.
|
|
4112
|
-
- `size:` scales marker area (use `poi-size <label>` for the legend key). A trailing color (`poi Austin red`) sets the marker fill directly — winning over a tag color and the default orange. POI properties: `label`, `size`, `style`, applied tag alias, `as`. No `icon` in v1.
|
|
4178
|
+
- `size:` scales marker area (use `poi-size <label>` for the legend key). A trailing color (`poi Austin red`) sets the marker fill directly — winning over a tag color and the default orange. POI properties: `label`, `size`, `style`, applied tag alias, `as`, `clock`. No `icon` in v1.
|
|
4113
4179
|
- Coord-positioned or relabeled POIs take `as <alias>` for route/edge references; named POIs are referenced by name.
|
|
4114
4180
|
|
|
4181
|
+
### Local-time cards (`clock`)
|
|
4182
|
+
|
|
4183
|
+
Flag a POI with `clock` and it grows a **live local-time card** above the marker — for a team/office map that shows what time it is at each site.
|
|
4184
|
+
|
|
4185
|
+
```
|
|
4186
|
+
map Team offices
|
|
4187
|
+
hours 9-17 # per-pin availability window (open/closed dot)
|
|
4188
|
+
days mon-fri
|
|
4189
|
+
poi San Francisco clock # zone auto-derived from the place
|
|
4190
|
+
poi London clock
|
|
4191
|
+
poi Bengaluru clock
|
|
4192
|
+
poi 1.29 103.85 as SG clock: Asia/Singapore # bare-coord pin names its zone
|
|
4193
|
+
```
|
|
4194
|
+
|
|
4195
|
+
- **The place picks the zone — don't type it.** A named city derives its IANA zone from the gazetteer (correct by construction, e.g. Austin → Central). Only a **bare-coordinate** pin needs the valued form `clock: <zone>` — an IANA id (`Asia/Tokyo`) or a fixed offset (`clock: UTC+9`, no DST). The valued form also *overrides* a city, but a mismatch warns (you almost never want it).
|
|
4196
|
+
- `hours 9-17` + `days mon-fri` (map-level) give a status dot per pin — green open / amber opening soon / hollow closed·weekend — evaluated in **each pin's own zone**.
|
|
4197
|
+
- Use `label:` for a multi-word office name (`poi Los Angeles clock, label: El Segundo`); the `as` alias is a single word and doesn't render.
|
|
4198
|
+
- The card ticks every second on live surfaces and bakes a snapshot for PNG/SVG. It shows the weekday only when the pin's day differs from the viewer's.
|
|
4199
|
+
|
|
4115
4200
|
### Routes & connectors
|
|
4116
4201
|
|
|
4117
4202
|
`route <origin>` — an ordered, auto-numbered voyage; the origin gets a distinct marker, and the header takes **no shape option**. Each indented line is a `<arrow> destination` leg that continues from the previous stop, using the same indented arrow idiom as a sitemap — a leg is an edge (in-arrow label, `width:` thickness, and the **arrow glyph alone sets shape**: `-…->` straight, `~…~>` arc, mixable per leg). The **arrow is required and must be directional** — a bare destination errors, and so does an undirected `--`/`~~` glyph (a voyage always flows forward; use `->`/`~>`). A **tag on a leg colours the LINE** (categorical leg-type colouring — flights vs cruises vs trains); `label:`/`as` still name the destination stop. Repeat the origin as a leg's destination to close a loop (no second marker):
|
package/package.json
CHANGED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
D3_DATA_CHART_TYPES,
|
|
3
|
-
renderDataChartD3,
|
|
4
|
-
supportsD3DataChart
|
|
5
|
-
} from "./chunk-QJJZSROI.js";
|
|
6
|
-
import "./chunk-HGN652MU.js";
|
|
7
|
-
import "./chunk-U6EQI3U6.js";
|
|
8
|
-
import "./chunk-7UEMZREK.js";
|
|
9
|
-
import "./chunk-A4GOY3PE.js";
|
|
10
|
-
import "./chunk-6KFWC4CO.js";
|
|
11
|
-
import "./chunk-HQCHYB5F.js";
|
|
12
|
-
import "./chunk-5LWQH6QV.js";
|
|
13
|
-
import "./chunk-XEGTMVYY.js";
|
|
14
|
-
import "./chunk-R3XI2VC7.js";
|
|
15
|
-
import "./chunk-P6T66CCZ.js";
|
|
16
|
-
import "./chunk-FJUNPCYI.js";
|
|
17
|
-
import "./chunk-OTAL43EH.js";
|
|
18
|
-
import "./chunk-TLVIHFRO.js";
|
|
19
|
-
import "./chunk-CXK4DZH3.js";
|
|
20
|
-
import "./chunk-5WRI5ZAA.js";
|
|
21
|
-
export {
|
|
22
|
-
D3_DATA_CHART_TYPES,
|
|
23
|
-
renderDataChartD3,
|
|
24
|
-
supportsD3DataChart
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=charts-d3-MUW3LTML.js.map
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CHART_TYPE_DESCRIPTIONS,
|
|
3
|
-
chartTypeParsers,
|
|
4
|
-
getAllChartTypes,
|
|
5
|
-
getRenderCategory,
|
|
6
|
-
isExtendedChartType,
|
|
7
|
-
knownChartTypeIds,
|
|
8
|
-
looksLikeC4,
|
|
9
|
-
looksLikeGantt,
|
|
10
|
-
parseDgmo,
|
|
11
|
-
parseDgmoChartType
|
|
12
|
-
} from "./chunk-KQ57MHRO.js";
|
|
13
|
-
import "./chunk-Q4V4XQWV.js";
|
|
14
|
-
import "./chunk-BTUTZMPT.js";
|
|
15
|
-
import "./chunk-YNRDWYZP.js";
|
|
16
|
-
import "./chunk-3XPUDB7B.js";
|
|
17
|
-
import "./chunk-QXKWYZNR.js";
|
|
18
|
-
import "./chunk-PGEGPSCZ.js";
|
|
19
|
-
import "./chunk-3UIKSPFB.js";
|
|
20
|
-
import "./chunk-BDXC7MDK.js";
|
|
21
|
-
import "./chunk-XEGTMVYY.js";
|
|
22
|
-
import "./chunk-I2WKW7C7.js";
|
|
23
|
-
import "./chunk-TSA237IM.js";
|
|
24
|
-
import "./chunk-6IAA2QQ2.js";
|
|
25
|
-
import "./chunk-6HJBFVLO.js";
|
|
26
|
-
import "./chunk-3P2DKJCG.js";
|
|
27
|
-
import "./chunk-3LKM6FMW.js";
|
|
28
|
-
import "./chunk-XJLKLU4D.js";
|
|
29
|
-
import "./chunk-7L3R6I3U.js";
|
|
30
|
-
import "./chunk-NNAAJVBU.js";
|
|
31
|
-
import "./chunk-VUJGMJE6.js";
|
|
32
|
-
import "./chunk-C2CVAM3U.js";
|
|
33
|
-
import "./chunk-GKC3HILQ.js";
|
|
34
|
-
import "./chunk-U2HGPLZS.js";
|
|
35
|
-
import "./chunk-DSWVNQVS.js";
|
|
36
|
-
import "./chunk-DZXYF2F5.js";
|
|
37
|
-
import "./chunk-XHVV4NVW.js";
|
|
38
|
-
import "./chunk-OMNGQPEZ.js";
|
|
39
|
-
import "./chunk-VBYSIOOY.js";
|
|
40
|
-
import "./chunk-QQJUTGQH.js";
|
|
41
|
-
import "./chunk-SXRTRMEE.js";
|
|
42
|
-
import "./chunk-NU3XLTGP.js";
|
|
43
|
-
import "./chunk-OTQKUHRS.js";
|
|
44
|
-
import "./chunk-SQLNBA64.js";
|
|
45
|
-
import "./chunk-EAMEADTV.js";
|
|
46
|
-
import "./chunk-L3UHP6TD.js";
|
|
47
|
-
import "./chunk-USZW2HHU.js";
|
|
48
|
-
import "./chunk-HTMN2Z6U.js";
|
|
49
|
-
import "./chunk-I7F2A35O.js";
|
|
50
|
-
import "./chunk-6BFZKBGD.js";
|
|
51
|
-
import "./chunk-3Y2DRD7S.js";
|
|
52
|
-
import "./chunk-QROYX7TT.js";
|
|
53
|
-
import "./chunk-IYULMRBE.js";
|
|
54
|
-
import "./chunk-R3XI2VC7.js";
|
|
55
|
-
import "./chunk-P6T66CCZ.js";
|
|
56
|
-
import "./chunk-BH3UYK36.js";
|
|
57
|
-
import "./chunk-C3Z4DX3V.js";
|
|
58
|
-
import "./chunk-FJUNPCYI.js";
|
|
59
|
-
import "./chunk-GBE54KY6.js";
|
|
60
|
-
import "./chunk-I46X5VUA.js";
|
|
61
|
-
import "./chunk-2C56LEML.js";
|
|
62
|
-
import "./chunk-NXMESY4J.js";
|
|
63
|
-
import "./chunk-GL5UZ6NY.js";
|
|
64
|
-
import "./chunk-SCHXJTZL.js";
|
|
65
|
-
import "./chunk-FMDSF3OV.js";
|
|
66
|
-
import "./chunk-FFUN5D66.js";
|
|
67
|
-
import "./chunk-NOTA6TEI.js";
|
|
68
|
-
import "./chunk-OTAL43EH.js";
|
|
69
|
-
import "./chunk-TLVIHFRO.js";
|
|
70
|
-
import "./chunk-CXK4DZH3.js";
|
|
71
|
-
import "./chunk-5WRI5ZAA.js";
|
|
72
|
-
export {
|
|
73
|
-
CHART_TYPE_DESCRIPTIONS,
|
|
74
|
-
chartTypeParsers,
|
|
75
|
-
getAllChartTypes,
|
|
76
|
-
getRenderCategory,
|
|
77
|
-
isExtendedChartType,
|
|
78
|
-
knownChartTypeIds,
|
|
79
|
-
looksLikeC4,
|
|
80
|
-
looksLikeGantt,
|
|
81
|
-
parseDgmo,
|
|
82
|
-
parseDgmoChartType
|
|
83
|
-
};
|
|
84
|
-
//# sourceMappingURL=dgmo-router-CE2G67FV.js.map
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
mapContentAspect,
|
|
3
|
-
mapExportDimensions
|
|
4
|
-
} from "./chunk-TN35C5KM.js";
|
|
5
|
-
import "./chunk-LE4MYMLI.js";
|
|
6
|
-
import "./chunk-I5IGB56C.js";
|
|
7
|
-
import "./chunk-HGN652MU.js";
|
|
8
|
-
import "./chunk-7UEMZREK.js";
|
|
9
|
-
import "./chunk-A4GOY3PE.js";
|
|
10
|
-
import "./chunk-HQCHYB5F.js";
|
|
11
|
-
import "./chunk-5LWQH6QV.js";
|
|
12
|
-
import "./chunk-P6T66CCZ.js";
|
|
13
|
-
import "./chunk-FJUNPCYI.js";
|
|
14
|
-
import "./chunk-OTAL43EH.js";
|
|
15
|
-
import "./chunk-TLVIHFRO.js";
|
|
16
|
-
import "./chunk-CXK4DZH3.js";
|
|
17
|
-
import "./chunk-5WRI5ZAA.js";
|
|
18
|
-
export {
|
|
19
|
-
mapContentAspect,
|
|
20
|
-
mapExportDimensions
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=dimensions-OTBKC5M6.js.map
|
package/dist/layout-6RDJHS6E.js
DELETED
package/dist/layout-J36454XU.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
layoutOrg
|
|
3
|
-
} from "./chunk-IUMPEA64.js";
|
|
4
|
-
import "./chunk-HQCHYB5F.js";
|
|
5
|
-
import "./chunk-5LWQH6QV.js";
|
|
6
|
-
import "./chunk-FJUNPCYI.js";
|
|
7
|
-
import "./chunk-OTAL43EH.js";
|
|
8
|
-
import "./chunk-TLVIHFRO.js";
|
|
9
|
-
import "./chunk-CXK4DZH3.js";
|
|
10
|
-
import "./chunk-5WRI5ZAA.js";
|
|
11
|
-
export {
|
|
12
|
-
layoutOrg
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=layout-J36454XU.js.map
|
package/dist/layout-LD6XTLD6.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
layoutSitemap
|
|
3
|
-
} from "./chunk-VDOOQZUD.js";
|
|
4
|
-
import "./chunk-HQCHYB5F.js";
|
|
5
|
-
import "./chunk-5LWQH6QV.js";
|
|
6
|
-
import "./chunk-FJUNPCYI.js";
|
|
7
|
-
import "./chunk-OTAL43EH.js";
|
|
8
|
-
import "./chunk-TLVIHFRO.js";
|
|
9
|
-
import "./chunk-CXK4DZH3.js";
|
|
10
|
-
import "./chunk-5WRI5ZAA.js";
|
|
11
|
-
export {
|
|
12
|
-
layoutSitemap
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=layout-LD6XTLD6.js.map
|
package/dist/parser-4WQQQXCG.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
parseEventLine
|
|
3
|
-
} from "./chunk-HTMN2Z6U.js";
|
|
4
|
-
import "./chunk-I7F2A35O.js";
|
|
5
|
-
import "./chunk-FJUNPCYI.js";
|
|
6
|
-
import "./chunk-OTAL43EH.js";
|
|
7
|
-
import "./chunk-TLVIHFRO.js";
|
|
8
|
-
import "./chunk-CXK4DZH3.js";
|
|
9
|
-
import "./chunk-5WRI5ZAA.js";
|
|
10
|
-
export {
|
|
11
|
-
parseEventLine
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=parser-4WQQQXCG.js.map
|
package/dist/parser-O4HIUN6G.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
parseBlock
|
|
3
|
-
} from "./chunk-7L3R6I3U.js";
|
|
4
|
-
import "./chunk-NNAAJVBU.js";
|
|
5
|
-
import "./chunk-FJUNPCYI.js";
|
|
6
|
-
import "./chunk-OTAL43EH.js";
|
|
7
|
-
import "./chunk-TLVIHFRO.js";
|
|
8
|
-
import "./chunk-CXK4DZH3.js";
|
|
9
|
-
import "./chunk-5WRI5ZAA.js";
|
|
10
|
-
export {
|
|
11
|
-
parseBlock
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=parser-O4HIUN6G.js.map
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
renderTreemap,
|
|
3
|
-
renderTreemapForExport
|
|
4
|
-
} from "./chunk-66NVRO4K.js";
|
|
5
|
-
import "./chunk-PFHVU7UA.js";
|
|
6
|
-
import "./chunk-HEVYAHLW.js";
|
|
7
|
-
import "./chunk-7UEMZREK.js";
|
|
8
|
-
import "./chunk-A4GOY3PE.js";
|
|
9
|
-
import "./chunk-6KFWC4CO.js";
|
|
10
|
-
import "./chunk-HQCHYB5F.js";
|
|
11
|
-
import "./chunk-5LWQH6QV.js";
|
|
12
|
-
import "./chunk-P6T66CCZ.js";
|
|
13
|
-
import "./chunk-FJUNPCYI.js";
|
|
14
|
-
import "./chunk-OTAL43EH.js";
|
|
15
|
-
import "./chunk-TLVIHFRO.js";
|
|
16
|
-
import "./chunk-CXK4DZH3.js";
|
|
17
|
-
import "./chunk-5WRI5ZAA.js";
|
|
18
|
-
export {
|
|
19
|
-
renderTreemap,
|
|
20
|
-
renderTreemapForExport
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=renderer-CYB4LK3G.js.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
authoredCollapsedIds,
|
|
3
|
-
renderBlock,
|
|
4
|
-
renderBlockForExport
|
|
5
|
-
} from "./chunk-RZ6YKEUJ.js";
|
|
6
|
-
import "./chunk-HEVYAHLW.js";
|
|
7
|
-
import "./chunk-7UEMZREK.js";
|
|
8
|
-
import "./chunk-A4GOY3PE.js";
|
|
9
|
-
import "./chunk-6KFWC4CO.js";
|
|
10
|
-
import "./chunk-HQCHYB5F.js";
|
|
11
|
-
import "./chunk-5LWQH6QV.js";
|
|
12
|
-
import "./chunk-NNAAJVBU.js";
|
|
13
|
-
import "./chunk-P6T66CCZ.js";
|
|
14
|
-
import "./chunk-FJUNPCYI.js";
|
|
15
|
-
import "./chunk-OTAL43EH.js";
|
|
16
|
-
import "./chunk-TLVIHFRO.js";
|
|
17
|
-
import "./chunk-CXK4DZH3.js";
|
|
18
|
-
import "./chunk-5WRI5ZAA.js";
|
|
19
|
-
export {
|
|
20
|
-
authoredCollapsedIds,
|
|
21
|
-
renderBlock,
|
|
22
|
-
renderBlockForExport
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=renderer-FF24KZCI.js.map
|