@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
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
stripDefaultModifier,
|
|
12
12
|
tagAttrKey,
|
|
13
13
|
validateTagGroupNames
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HHKO6SKY.js";
|
|
15
15
|
import {
|
|
16
16
|
parseInArrowLabel
|
|
17
17
|
} from "./chunk-FFUN5D66.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
splitNameAndMeta,
|
|
28
28
|
warnUnknownMetaKeys,
|
|
29
29
|
withTagAliases
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
31
31
|
import {
|
|
32
32
|
formatDgmoError,
|
|
33
33
|
makeDgmoError,
|
|
@@ -65,7 +65,9 @@ var VALID_SHAPES = /* @__PURE__ */ new Set([
|
|
|
65
65
|
var KNOWN_C4_OPTIONS = /* @__PURE__ */ new Set(["layout", "active-tag"]);
|
|
66
66
|
var KNOWN_C4_BOOLEANS = /* @__PURE__ */ new Set([
|
|
67
67
|
"direction-tb",
|
|
68
|
-
"
|
|
68
|
+
"fill-tint",
|
|
69
|
+
"fill-solid",
|
|
70
|
+
"fill-outline",
|
|
69
71
|
"no-title"
|
|
70
72
|
]);
|
|
71
73
|
var ALL_CHART_TYPES = [
|
|
@@ -804,4 +806,4 @@ function validateDeploymentRefs(result, knownNames, pushWarning) {
|
|
|
804
806
|
export {
|
|
805
807
|
parseC4
|
|
806
808
|
};
|
|
807
|
-
//# sourceMappingURL=chunk-
|
|
809
|
+
//# sourceMappingURL=chunk-BPY242XU.js.map
|
|
@@ -40,7 +40,13 @@ var MAP_REGISTRY = staticRegistry([
|
|
|
40
40
|
"size",
|
|
41
41
|
"width",
|
|
42
42
|
"label",
|
|
43
|
-
"style"
|
|
43
|
+
"style",
|
|
44
|
+
// `clock` (BL-122): the time-card control. Bare (`poi Denver clock`) → a card
|
|
45
|
+
// with the zone auto-derived from the place; valued (`clock: Europe/Oslo`) →
|
|
46
|
+
// that IANA id or fixed offset (`clock: UTC+9`) as the zone, for bare-coord
|
|
47
|
+
// pins or to override a city. Reserved so the valued form peels off the POI
|
|
48
|
+
// name cleanly; the BARE flag is peeled separately in handlePoi (no colon).
|
|
49
|
+
"clock"
|
|
44
50
|
// `surface:` was removed in the 2026-06-02 defaults-on review — it is no longer
|
|
45
51
|
// a recognized metadata key (the route/edge surface feature was cut; §24B.7).
|
|
46
52
|
// A stray `surface: water` is no longer captured as a reserved key.
|
|
@@ -262,10 +268,34 @@ function extractColor(label, palette, diagnostics, line) {
|
|
|
262
268
|
}
|
|
263
269
|
var OPTION_NOCOLON_RE = /^([a-z][a-z0-9-]*)\s+(.+)$/i;
|
|
264
270
|
var GLOBAL_BOOLEANS = /* @__PURE__ */ new Set([
|
|
265
|
-
"
|
|
271
|
+
"fill-tint",
|
|
272
|
+
"fill-solid",
|
|
273
|
+
"fill-outline",
|
|
266
274
|
"no-title",
|
|
267
275
|
"no-notes"
|
|
268
276
|
]);
|
|
277
|
+
var FILL_FAMILY_TOKENS = /* @__PURE__ */ new Set([
|
|
278
|
+
"fill-tint",
|
|
279
|
+
"fill-solid",
|
|
280
|
+
"fill-outline"
|
|
281
|
+
]);
|
|
282
|
+
function fillModeFromToken(token) {
|
|
283
|
+
switch (token.trim().toLowerCase()) {
|
|
284
|
+
case "fill-solid":
|
|
285
|
+
return "solid";
|
|
286
|
+
case "fill-outline":
|
|
287
|
+
return "outline";
|
|
288
|
+
case "fill-tint":
|
|
289
|
+
return "tint";
|
|
290
|
+
default:
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
function fillModeFromOptions(options) {
|
|
295
|
+
if (options["fill-solid"] === "on") return "solid";
|
|
296
|
+
if (options["fill-outline"] === "on") return "outline";
|
|
297
|
+
return void 0;
|
|
298
|
+
}
|
|
269
299
|
function recognizeGlobalBoolean(token) {
|
|
270
300
|
const t = token.trim().toLowerCase();
|
|
271
301
|
return GLOBAL_BOOLEANS.has(t) ? t : null;
|
|
@@ -273,6 +303,9 @@ function recognizeGlobalBoolean(token) {
|
|
|
273
303
|
function tryParseSharedOption(line, options) {
|
|
274
304
|
const key = recognizeGlobalBoolean(line);
|
|
275
305
|
if (key) {
|
|
306
|
+
if (FILL_FAMILY_TOKENS.has(key)) {
|
|
307
|
+
for (const t of FILL_FAMILY_TOKENS) delete options[t];
|
|
308
|
+
}
|
|
276
309
|
options[key] = "on";
|
|
277
310
|
return true;
|
|
278
311
|
}
|
|
@@ -662,6 +695,9 @@ export {
|
|
|
662
695
|
measureIndent,
|
|
663
696
|
extractColor,
|
|
664
697
|
OPTION_NOCOLON_RE,
|
|
698
|
+
FILL_FAMILY_TOKENS,
|
|
699
|
+
fillModeFromToken,
|
|
700
|
+
fillModeFromOptions,
|
|
665
701
|
tryParseSharedOption,
|
|
666
702
|
parseFirstLine,
|
|
667
703
|
normalizeNumericToken,
|
|
@@ -675,4 +711,4 @@ export {
|
|
|
675
711
|
splitNameAndMeta,
|
|
676
712
|
warnUnknownMetaKeys
|
|
677
713
|
};
|
|
678
|
-
//# sourceMappingURL=chunk-
|
|
714
|
+
//# sourceMappingURL=chunk-BRENJ2BQ.js.map
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-3HDBAXF5.js";
|
|
4
4
|
import {
|
|
5
5
|
renderIntegratedLegend
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AUIM2NVH.js";
|
|
7
7
|
import {
|
|
8
8
|
getMaxLegendReservedHeight
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YAA6IID3.js";
|
|
10
10
|
import {
|
|
11
11
|
TITLE_FONT_SIZE,
|
|
12
12
|
TITLE_FONT_WEIGHT,
|
|
@@ -17,20 +17,21 @@ import {
|
|
|
17
17
|
} from "./chunk-6KFWC4CO.js";
|
|
18
18
|
import {
|
|
19
19
|
LEGEND_GROUP_GAP
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QOOUC2J5.js";
|
|
21
21
|
import {
|
|
22
22
|
measureText
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-WCT3NYCV.js";
|
|
24
24
|
import {
|
|
25
|
+
contrastText,
|
|
25
26
|
getSeriesColors,
|
|
26
27
|
mix,
|
|
27
28
|
shapeFill,
|
|
28
29
|
themeBaseBg
|
|
29
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
30
31
|
import {
|
|
31
32
|
resolveTagColor,
|
|
32
33
|
tagAttrKey
|
|
33
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-HHKO6SKY.js";
|
|
34
35
|
import {
|
|
35
36
|
resolveColor
|
|
36
37
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -628,7 +629,7 @@ function clip(s, maxW, fs) {
|
|
|
628
629
|
}
|
|
629
630
|
return lo <= 0 ? "" : s.slice(0, lo) + "\u2026";
|
|
630
631
|
}
|
|
631
|
-
function paintForAccent(palette, isDark, accent) {
|
|
632
|
+
function paintForAccent(palette, isDark, accent, fillMode) {
|
|
632
633
|
const base = themeBaseBg(palette, isDark);
|
|
633
634
|
return {
|
|
634
635
|
accent,
|
|
@@ -639,12 +640,14 @@ function paintForAccent(palette, isDark, accent) {
|
|
|
639
640
|
hair: mix(palette.text, base, 34),
|
|
640
641
|
wire: mix(palette.text, base, 30),
|
|
641
642
|
track: mix(palette.border, base, 55),
|
|
642
|
-
|
|
643
|
+
// §1.9 fill family rides through shapeFill: solid ⇒ raw accent,
|
|
644
|
+
// outline ⇒ theme base bg (accent stays on the stroke), absent ⇒ 25% tint.
|
|
645
|
+
tint: shapeFill(palette, accent, isDark, { mode: fillMode })
|
|
643
646
|
};
|
|
644
647
|
}
|
|
645
|
-
function paintFor(palette, isDark, sideColor) {
|
|
648
|
+
function paintFor(palette, isDark, sideColor, fillMode) {
|
|
646
649
|
const accent = sideColor && resolveColor(sideColor, palette) || sideColor || getSeriesColors(palette)[0];
|
|
647
|
-
return paintForAccent(palette, isDark, accent);
|
|
650
|
+
return paintForAccent(palette, isDark, accent, fillMode);
|
|
648
651
|
}
|
|
649
652
|
function resolveBracketLegend(parsed, palette) {
|
|
650
653
|
const activeTag = parsed.activeTag;
|
|
@@ -740,7 +743,8 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
|
|
|
740
743
|
});
|
|
741
744
|
}
|
|
742
745
|
const baseAccent = parsed.accentColor ?? resolveColor("blue", palette) ?? getSeriesColors(palette)[0];
|
|
743
|
-
const
|
|
746
|
+
const fillMode = parsed.fillMode;
|
|
747
|
+
const basePaint = paintForAccent(palette, isDark, baseAccent, fillMode);
|
|
744
748
|
const sideColorByLabel = /* @__PURE__ */ new Map();
|
|
745
749
|
for (const s of parsed.sides) sideColorByLabel.set(s.label, s.color);
|
|
746
750
|
const sideBarH = layout.sideLabels.length ? 30 : 0;
|
|
@@ -753,11 +757,20 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
|
|
|
753
757
|
);
|
|
754
758
|
const top = covered ? bandTop : 2;
|
|
755
759
|
const c = resolveColor(col.color, palette) ?? col.color;
|
|
756
|
-
root.append("rect").attr("x", col.x - BOX_W / 2 - 10).attr("y", top).attr("width", BOX_W + 20).attr("height", Math.max(0, layout.height - top)).attr("rx", 10).attr(
|
|
760
|
+
root.append("rect").attr("x", col.x - BOX_W / 2 - 10).attr("y", top).attr("width", BOX_W + 20).attr("height", Math.max(0, layout.height - top)).attr("rx", 10).attr(
|
|
761
|
+
"fill",
|
|
762
|
+
fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(c, palette.bg, isDark ? 12 : 8)
|
|
763
|
+
).call((sel) => {
|
|
764
|
+
if (fillMode === "outline")
|
|
765
|
+
sel.attr("stroke", mix(c, palette.bg, 35)).attr("stroke-width", 1);
|
|
766
|
+
});
|
|
757
767
|
}
|
|
758
768
|
for (const s of layout.sideLabels) {
|
|
759
769
|
const c = s.color ? resolveColor(s.color, palette) ?? s.color : basePaint.accent;
|
|
760
|
-
root.append("rect").attr("x", s.x0 - 8).attr("y", 2).attr("width", s.x1 - s.x0 + 16).attr("height", 24).attr("rx", 8).attr(
|
|
770
|
+
root.append("rect").attr("x", s.x0 - 8).attr("y", 2).attr("width", s.x1 - s.x0 + 16).attr("height", 24).attr("rx", 8).attr(
|
|
771
|
+
"fill",
|
|
772
|
+
fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(c, palette.bg, isDark ? 20 : 14)
|
|
773
|
+
).attr("stroke", fillMode === "outline" ? c : mix(c, palette.bg, 55)).attr("stroke-width", 1);
|
|
761
774
|
root.append("text").attr("x", (s.x0 + s.x1) / 2).attr("y", 18).attr("text-anchor", "middle").attr("font-size", 13).attr("font-weight", 800).attr("letter-spacing", 0.3).attr("fill", c).text(clip(s.label, s.x1 - s.x0, 13));
|
|
762
775
|
}
|
|
763
776
|
for (const col of layout.columns) {
|
|
@@ -772,7 +785,7 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
|
|
|
772
785
|
drawConnector(root, m, m.botFrom, m.y + HALF_SPAN2, basePaint);
|
|
773
786
|
}
|
|
774
787
|
for (const m of layout.matches) {
|
|
775
|
-
const sidePaint = m.side && sideColorByLabel.get(m.side) ? paintFor(palette, isDark, sideColorByLabel.get(m.side)) : basePaint;
|
|
788
|
+
const sidePaint = m.side && sideColorByLabel.get(m.side) ? paintFor(palette, isDark, sideColorByLabel.get(m.side), fillMode) : basePaint;
|
|
776
789
|
const topSeed = seedByName.get(m.top ?? "") ?? null;
|
|
777
790
|
const botSeed = seedByName.get(m.bot ?? "") ?? null;
|
|
778
791
|
let homeName = m.home;
|
|
@@ -810,7 +823,8 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
|
|
|
810
823
|
palette,
|
|
811
824
|
isDark,
|
|
812
825
|
m,
|
|
813
|
-
activeKey
|
|
826
|
+
activeKey,
|
|
827
|
+
fillMode
|
|
814
828
|
);
|
|
815
829
|
drawBox(
|
|
816
830
|
root,
|
|
@@ -822,7 +836,8 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
|
|
|
822
836
|
palette,
|
|
823
837
|
isDark,
|
|
824
838
|
m,
|
|
825
|
-
activeKey
|
|
839
|
+
activeKey,
|
|
840
|
+
fillMode
|
|
826
841
|
);
|
|
827
842
|
if (isUpset) drawUpset(root, m, sidePaint);
|
|
828
843
|
if (m.commentary.length) drawCommentary(root, m, palette);
|
|
@@ -841,10 +856,10 @@ function drawConnector(g, m, from, toCy, paint) {
|
|
|
841
856
|
const d = from.yA !== from.yB ? `M ${childEdge} ${from.yA} H ${midX} M ${childEdge} ${from.yB} H ${midX} M ${midX} ${vLo} V ${vHi} M ${midX} ${toCy} H ${parentEdge}` : `M ${childEdge} ${from.y} H ${midX} V ${toCy} H ${parentEdge}`;
|
|
842
857
|
g.append("path").attr("d", d).attr("fill", "none").attr("stroke", paint.wire).attr("stroke-width", 1.5);
|
|
843
858
|
}
|
|
844
|
-
function drawBox(g, cx, cy, name, info, sidePaint, palette, isDark, m, activeKey) {
|
|
859
|
+
function drawBox(g, cx, cy, name, info, sidePaint, palette, isDark, m, activeKey, fillMode) {
|
|
845
860
|
const x = cx - BOX_W / 2;
|
|
846
861
|
const y = cy - BOX_H / 2;
|
|
847
|
-
const paint = info.tagColor ? paintForAccent(palette, isDark, info.tagColor) : sidePaint;
|
|
862
|
+
const paint = info.tagColor ? paintForAccent(palette, isDark, info.tagColor, fillMode) : sidePaint;
|
|
848
863
|
const cell = g.append("g").attr("class", "dgmo-bracket-box");
|
|
849
864
|
if (m.lineNumber !== null) cell.attr("data-line-number", m.lineNumber);
|
|
850
865
|
if (activeKey && info.tagValue)
|
|
@@ -878,22 +893,29 @@ function drawBox(g, cx, cy, name, info, sidePaint, palette, isDark, m, activeKey
|
|
|
878
893
|
} else if (info.pending) {
|
|
879
894
|
stroke = mix(paint.accent, paint.hair, 50);
|
|
880
895
|
}
|
|
896
|
+
const onSolid = fillMode === "solid" && (info.isChampion || info.isWinner) ? contrastText(
|
|
897
|
+
paint.tint,
|
|
898
|
+
palette.textOnFillLight,
|
|
899
|
+
palette.textOnFillDark
|
|
900
|
+
) : null;
|
|
901
|
+
if (onSolid) textColor = onSolid;
|
|
902
|
+
const gutterColor = onSolid ?? paint.muted;
|
|
881
903
|
const rect = cell.append("rect").attr("x", x).attr("y", y).attr("width", BOX_W).attr("height", BOX_H).attr("rx", 6).attr("fill", fill).attr("stroke", stroke).attr("stroke-width", sw);
|
|
882
904
|
if (dash) rect.attr("stroke-dasharray", dash);
|
|
883
905
|
let leftPad = 11;
|
|
884
906
|
if (info.seed !== null) {
|
|
885
|
-
cell.append("text").attr("x", x + 9).attr("y", cy + 4).attr("text-anchor", "start").attr("font-size", 10).attr("font-weight", 700).attr("fill",
|
|
907
|
+
cell.append("text").attr("x", x + 9).attr("y", cy + 4).attr("text-anchor", "start").attr("font-size", 10).attr("font-weight", 700).attr("fill", gutterColor).text(info.seed);
|
|
886
908
|
leftPad = 9 + Math.max(12, measureText(String(info.seed), 10)) + 6;
|
|
887
909
|
}
|
|
888
910
|
let rightPad = 11;
|
|
889
911
|
if (info.score) rightPad += 20;
|
|
890
912
|
if (info.isHome) {
|
|
891
|
-
drawHome(cell, x + BOX_W - rightPad - 6, cy,
|
|
913
|
+
drawHome(cell, x + BOX_W - rightPad - 6, cy, gutterColor);
|
|
892
914
|
rightPad += 16;
|
|
893
915
|
}
|
|
894
916
|
cell.append("text").attr("x", x + leftPad).attr("y", cy + 4).attr("text-anchor", "start").attr("font-size", 12.5).attr("font-weight", weight).attr("fill", textColor).text(clip(isTBD ? "TBD" : name, BOX_W - leftPad - rightPad, 12.5));
|
|
895
917
|
if (info.score) {
|
|
896
|
-
cell.append("text").attr("x", x + BOX_W - 11).attr("y", cy + 4).attr("text-anchor", "end").attr("font-size", 12).attr("font-weight", info.isWinner ? 700 : 500).attr("fill", info.isWinner ? textColor :
|
|
918
|
+
cell.append("text").attr("x", x + BOX_W - 11).attr("y", cy + 4).attr("text-anchor", "end").attr("font-size", 12).attr("font-weight", info.isWinner ? 700 : 500).attr("fill", info.isWinner ? textColor : gutterColor).text(info.score);
|
|
897
919
|
}
|
|
898
920
|
}
|
|
899
921
|
function drawHome(cell, hx, cy, color) {
|
|
@@ -937,4 +959,4 @@ export {
|
|
|
937
959
|
renderBracket,
|
|
938
960
|
renderBracketForExport
|
|
939
961
|
};
|
|
940
|
-
//# sourceMappingURL=chunk-
|
|
962
|
+
//# sourceMappingURL=chunk-CCNDLW7Z.js.map
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
layoutJourneyMap,
|
|
4
4
|
scoreToColor,
|
|
5
5
|
scoreToCurveY
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YIBAWQGJ.js";
|
|
7
7
|
import {
|
|
8
8
|
wrapNoteBody
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TYS6CSS5.js";
|
|
10
10
|
import {
|
|
11
11
|
NOTE_BULLET_INDENT
|
|
12
12
|
} from "./chunk-5DH3KYFH.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-YYVTBZZC.js";
|
|
22
22
|
import {
|
|
23
23
|
renderIntegratedLegend
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-AUIM2NVH.js";
|
|
25
25
|
import {
|
|
26
26
|
FONT_FAMILY
|
|
27
27
|
} from "./chunk-6KFWC4CO.js";
|
|
@@ -29,19 +29,23 @@ import {
|
|
|
29
29
|
measureText,
|
|
30
30
|
truncateText,
|
|
31
31
|
wrapTextToWidth
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-WCT3NYCV.js";
|
|
33
33
|
import {
|
|
34
34
|
parseJourneyMap
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-XD6ZYURY.js";
|
|
36
36
|
import {
|
|
37
37
|
contrastText,
|
|
38
38
|
mix,
|
|
39
|
-
shapeFill
|
|
40
|
-
|
|
39
|
+
shapeFill,
|
|
40
|
+
themeBaseBg
|
|
41
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
41
42
|
import {
|
|
42
43
|
resolveActiveTagGroup,
|
|
43
44
|
tagAttrKey
|
|
44
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-HHKO6SKY.js";
|
|
46
|
+
import {
|
|
47
|
+
fillModeFromOptions
|
|
48
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
45
49
|
|
|
46
50
|
// src/journey-map/renderer.ts
|
|
47
51
|
import * as d3 from "d3-selection";
|
|
@@ -76,7 +80,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
76
80
|
const onActiveTagGroupChange = options?.onActiveTagGroupChange;
|
|
77
81
|
const collapsedPhases = options?.collapsedPhases ?? /* @__PURE__ */ new Set();
|
|
78
82
|
const onPhaseToggle = options?.onPhaseToggle;
|
|
79
|
-
const
|
|
83
|
+
const fillMode = fillModeFromOptions(parsed.options);
|
|
80
84
|
const layout = layoutJourneyMap(parsed, palette, {
|
|
81
85
|
collapsedPhases,
|
|
82
86
|
...exportDims !== void 0 && { exportDims },
|
|
@@ -131,7 +135,9 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
131
135
|
const textX = panelX + CARD_PADDING_X;
|
|
132
136
|
const clipId = "persona-clip";
|
|
133
137
|
defs.append("clipPath").attr("id", clipId).append("rect").attr("x", panelX).attr("y", panelY).attr("width", panelWidth).attr("height", panelHeight).attr("rx", CARD_RADIUS);
|
|
134
|
-
const personaFill = shapeFill(palette, personaColor, isDark, {
|
|
138
|
+
const personaFill = shapeFill(palette, personaColor, isDark, {
|
|
139
|
+
mode: fillMode
|
|
140
|
+
});
|
|
135
141
|
const onPersonaText = contrastText(
|
|
136
142
|
personaFill,
|
|
137
143
|
palette.textOnFillLight,
|
|
@@ -139,12 +145,21 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
139
145
|
);
|
|
140
146
|
personaG.append("rect").attr("x", panelX).attr("y", panelY).attr("width", panelWidth).attr("height", panelHeight).attr("rx", CARD_RADIUS).attr("fill", personaFill);
|
|
141
147
|
if (descLines.length > 0) {
|
|
142
|
-
personaG.append("line").attr("x1", panelX + 1).attr("x2", panelX + panelWidth - silhouetteZone).attr("y1", panelY + titleRowH).attr("y2", panelY + titleRowH).attr("stroke", solid ? onPersonaText : personaColor).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
148
|
+
personaG.append("line").attr("x1", panelX + 1).attr("x2", panelX + panelWidth - silhouetteZone).attr("y1", panelY + titleRowH).attr("y2", panelY + titleRowH).attr("stroke", fillMode === "solid" ? onPersonaText : personaColor).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
143
149
|
}
|
|
144
150
|
const silX = panelX + panelWidth - 32;
|
|
145
151
|
const silY = panelY + panelHeight / 2 - 6;
|
|
146
152
|
const silClip = personaG.append("g").attr("clip-path", `url(#${clipId})`);
|
|
147
|
-
renderPersonaSilhouette(
|
|
153
|
+
renderPersonaSilhouette(
|
|
154
|
+
silClip,
|
|
155
|
+
silX,
|
|
156
|
+
silY,
|
|
157
|
+
personaColor,
|
|
158
|
+
palette,
|
|
159
|
+
isDark,
|
|
160
|
+
1.2,
|
|
161
|
+
fillMode
|
|
162
|
+
);
|
|
148
163
|
personaG.append("rect").attr("x", panelX).attr("y", panelY).attr("width", panelWidth).attr("height", panelHeight).attr("rx", CARD_RADIUS).attr("fill", "none").attr("stroke", personaColor).attr("stroke-width", CARD_STROKE_WIDTH);
|
|
149
164
|
personaG.append("text").attr("x", textX).attr("y", panelY + CARD_PADDING_Y + FONT_SIZE_STEP).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "500").attr("fill", onPersonaText).text(parsed.persona.name);
|
|
150
165
|
for (let li = 0; li < descLines.length; li++) {
|
|
@@ -280,7 +295,9 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
280
295
|
pt.y,
|
|
281
296
|
pt.score,
|
|
282
297
|
palette,
|
|
283
|
-
isDark
|
|
298
|
+
isDark,
|
|
299
|
+
void 0,
|
|
300
|
+
fillMode
|
|
284
301
|
);
|
|
285
302
|
addEmotionLabel(faceG, pt, palette);
|
|
286
303
|
if (step) {
|
|
@@ -313,7 +330,9 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
313
330
|
pt.y,
|
|
314
331
|
pt.score,
|
|
315
332
|
palette,
|
|
316
|
-
isDark
|
|
333
|
+
isDark,
|
|
334
|
+
void 0,
|
|
335
|
+
fillMode
|
|
317
336
|
);
|
|
318
337
|
addEmotionLabel(faceG, pt, palette);
|
|
319
338
|
if (step) {
|
|
@@ -398,7 +417,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
398
417
|
palette,
|
|
399
418
|
stepColor ?? palette.primary,
|
|
400
419
|
isDark,
|
|
401
|
-
{
|
|
420
|
+
{ mode: fillMode }
|
|
402
421
|
);
|
|
403
422
|
const rowStroke = stepColor ?? palette.textMuted;
|
|
404
423
|
itemG.append("rect").attr("x", listX).attr("y", itemY).attr("width", cardW).attr("height", COLLAPSED_CARD_H).attr("rx", CARD_RADIUS).attr("fill", rowFill).attr("stroke", rowStroke).attr("stroke-width", CARD_STROKE_WIDTH);
|
|
@@ -412,7 +431,8 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
412
431
|
step.score,
|
|
413
432
|
palette,
|
|
414
433
|
isDark,
|
|
415
|
-
COLLAPSED_FACE_R
|
|
434
|
+
COLLAPSED_FACE_R,
|
|
435
|
+
fillMode
|
|
416
436
|
);
|
|
417
437
|
faceG.attr("data-line-number", step.lineNumber);
|
|
418
438
|
faceG.attr("data-score", step.score);
|
|
@@ -441,7 +461,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
441
461
|
effectiveActiveGroup,
|
|
442
462
|
parsed.tagGroups,
|
|
443
463
|
onNavigateToLine,
|
|
444
|
-
|
|
464
|
+
fillMode
|
|
445
465
|
);
|
|
446
466
|
}
|
|
447
467
|
}
|
|
@@ -456,7 +476,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
456
476
|
effectiveActiveGroup,
|
|
457
477
|
parsed.tagGroups,
|
|
458
478
|
onNavigateToLine,
|
|
459
|
-
|
|
479
|
+
fillMode
|
|
460
480
|
);
|
|
461
481
|
}
|
|
462
482
|
}
|
|
@@ -530,7 +550,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
530
550
|
);
|
|
531
551
|
const by = Math.max(PADDING, fcy - FACE_HOVER_R - THOUGHT_GAP - bh);
|
|
532
552
|
const scoreColor = scoreToColor(score, palette);
|
|
533
|
-
const tintedBg = mix(scoreColor, palette.surface, 20);
|
|
553
|
+
const tintedBg = fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(scoreColor, palette.surface, 20);
|
|
534
554
|
const g = overlayG.append("g").attr("class", "journey-thought-hover");
|
|
535
555
|
g.append("rect").attr("x", bx).attr("y", by).attr("width", bw).attr("height", bh).attr("rx", CARD_RADIUS).attr("fill", tintedBg).attr("stroke", scoreColor).attr("stroke-width", CARD_STROKE_WIDTH);
|
|
536
556
|
g.append("line").attr("x1", fcx).attr("y1", by + bh).attr("x2", fcx).attr("y2", fcy - FACE_HOVER_R - 1).attr("stroke", scoreColor).attr("stroke-width", CARD_STROKE_WIDTH);
|
|
@@ -624,7 +644,7 @@ function resolveStepColor(step, scoreColor, activeGroup, tagGroups, _palette) {
|
|
|
624
644
|
);
|
|
625
645
|
return entry?.color;
|
|
626
646
|
}
|
|
627
|
-
function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onNavigateToLine,
|
|
647
|
+
function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onNavigateToLine, fillMode) {
|
|
628
648
|
const stepG = parent.append("g").attr("class", "journey-step").attr("data-line-number", sl.step.lineNumber);
|
|
629
649
|
if (sl.step.score !== void 0) {
|
|
630
650
|
stepG.attr("data-score", sl.step.score);
|
|
@@ -645,7 +665,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
645
665
|
palette,
|
|
646
666
|
resolvedColor ?? palette.primary,
|
|
647
667
|
isDark,
|
|
648
|
-
{
|
|
668
|
+
{ mode: fillMode }
|
|
649
669
|
);
|
|
650
670
|
const cardStroke = resolvedColor ?? palette.textMuted;
|
|
651
671
|
const onCardText = contrastText(
|
|
@@ -663,7 +683,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
663
683
|
const cardAnnotations = sl.step.annotations;
|
|
664
684
|
const hasContent = sl.step.description || cardAnnotations.length > 0;
|
|
665
685
|
if (hasContent) {
|
|
666
|
-
stepG.append("line").attr("x1", cx).attr("y1", cy + titleBlockH).attr("x2", cx + sl.width).attr("y2", cy + titleBlockH).attr("stroke", solid ? onCardText : cardStroke).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
686
|
+
stepG.append("line").attr("x1", cx).attr("y1", cy + titleBlockH).attr("x2", cx + sl.width).attr("y2", cy + titleBlockH).attr("stroke", fillMode === "solid" ? onCardText : cardStroke).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
667
687
|
}
|
|
668
688
|
let metaY = cy + titleBlockH + CARD_META_LINE_HEIGHT;
|
|
669
689
|
if (sl.step.description) {
|
|
@@ -685,7 +705,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
685
705
|
const annoColor = annotationColor(anno.type, palette);
|
|
686
706
|
const iconPaths = annotationIconPaths(anno.type);
|
|
687
707
|
const annoLines = wrapText(anno.text, annoTextW, FONT_SIZE_META);
|
|
688
|
-
const iconColor = solid ? onCardText : annoColor;
|
|
708
|
+
const iconColor = fillMode === "solid" ? onCardText : annoColor;
|
|
689
709
|
renderAnnotationIcon(
|
|
690
710
|
stepG,
|
|
691
711
|
cx + CARD_PADDING_X,
|
|
@@ -710,7 +730,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
710
730
|
const TAG_GAP = 6;
|
|
711
731
|
const stripY = cy - TAG_STRIP_HEIGHT - TAG_GAP;
|
|
712
732
|
const stripFill = shapeFill(palette, stripColor, isDark, {
|
|
713
|
-
|
|
733
|
+
mode: fillMode
|
|
714
734
|
});
|
|
715
735
|
stepG.append("rect").attr("x", cx).attr("y", stripY).attr("width", sl.width).attr("height", TAG_STRIP_HEIGHT).attr("rx", CARD_RADIUS).attr("fill", stripFill).attr("stroke", stripColor).attr("stroke-width", CARD_STROKE_WIDTH);
|
|
716
736
|
const stripTextColor = contrastText(
|
|
@@ -727,8 +747,8 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
727
747
|
});
|
|
728
748
|
}
|
|
729
749
|
}
|
|
730
|
-
function renderPersonaSilhouette(parent, cx, cy, color, palette, scale = 1) {
|
|
731
|
-
const fill = mix(color, palette.bg, 70);
|
|
750
|
+
function renderPersonaSilhouette(parent, cx, cy, color, palette, isDark, scale = 1, fillMode) {
|
|
751
|
+
const fill = fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(color, palette.bg, 70);
|
|
732
752
|
const stroke = color;
|
|
733
753
|
const s = scale;
|
|
734
754
|
parent.append("path").attr(
|
|
@@ -740,12 +760,12 @@ function renderPersonaSilhouette(parent, cx, cy, color, palette, scale = 1) {
|
|
|
740
760
|
`M ${cx} ${cy - 12 * s} C ${cx + 10 * s} ${cy - 12 * s}, ${cx + 9 * s} ${cy + 2 * s}, ${cx + 6 * s} ${cy + 6 * s} Q ${cx} ${cy + 9 * s}, ${cx - 6 * s} ${cy + 6 * s} C ${cx - 9 * s} ${cy + 2 * s}, ${cx - 10 * s} ${cy - 12 * s}, ${cx} ${cy - 12 * s} Z`
|
|
741
761
|
).attr("fill", fill).attr("stroke", stroke).attr("stroke-width", 1.2);
|
|
742
762
|
}
|
|
743
|
-
function renderScoreFace(parent, cx, cy, score, palette, isDark, radius) {
|
|
763
|
+
function renderScoreFace(parent, cx, cy, score, palette, isDark, radius, fillMode) {
|
|
744
764
|
const r = radius ?? FACE_RADIUS;
|
|
745
765
|
const color = scoreToColor(score, palette);
|
|
746
766
|
const g = parent.append("g").attr("class", "journey-face").attr("data-cx", cx).attr("data-cy", cy);
|
|
747
767
|
const iconG = g.append("g").attr("class", "journey-face-icon");
|
|
748
|
-
const faceFill = shapeFill(palette, color, isDark);
|
|
768
|
+
const faceFill = fillMode === "outline" ? shapeFill(palette, color, isDark, { mode: "outline" }) : shapeFill(palette, color, isDark);
|
|
749
769
|
iconG.append("circle").attr("cx", cx).attr("cy", cy).attr("r", r + 1).attr("fill", palette.bg);
|
|
750
770
|
iconG.append("circle").attr("cx", cx).attr("cy", cy).attr("r", r).attr("fill", faceFill).attr("stroke", color).attr("stroke-width", 2);
|
|
751
771
|
const eyeColor = color;
|
|
@@ -848,4 +868,4 @@ export {
|
|
|
848
868
|
renderJourneyMap,
|
|
849
869
|
renderJourneyMapForExport
|
|
850
870
|
};
|
|
851
|
-
//# sourceMappingURL=chunk-
|
|
871
|
+
//# sourceMappingURL=chunk-CIRFIL4M.js.map
|