@diagrammo/dgmo 0.51.0 → 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.
Files changed (201) hide show
  1. package/.cursorrules +15 -19
  2. package/.github/copilot-instructions.md +15 -19
  3. package/.windsurfrules +15 -19
  4. package/SKILL.md +15 -19
  5. package/dist/advanced.d.ts +70 -42
  6. package/dist/advanced.js +115 -119
  7. package/dist/auto.js +125 -123
  8. package/dist/auto.mjs +952 -492
  9. package/dist/block.js +89 -52
  10. package/dist/{charts-d3-7E4B4IMW.js → charts-d3-MXEP6BNP.js} +7 -7
  11. package/dist/{chunk-CC4YRBWV.js → chunk-3HF5YEFJ.js} +17 -7
  12. package/dist/{chunk-5X6YQA2J.js → chunk-3HGU63UY.js} +12 -11
  13. package/dist/{chunk-4XFBQT5O.js → chunk-3LK5DNED.js} +2 -2
  14. package/dist/{chunk-IEDMFNU7.js → chunk-3QD7VP3U.js} +9 -4
  15. package/dist/{chunk-JJXGQIRV.js → chunk-3YRPZ7ZZ.js} +2 -2
  16. package/dist/{chunk-OJTXTQA2.js → chunk-44VCIPHF.js} +21 -17
  17. package/dist/{chunk-RAHVMKBG.js → chunk-4AQRFDXL.js} +2 -2
  18. package/dist/{chunk-6MNGECP2.js → chunk-4IHAV6O7.js} +2 -2
  19. package/dist/{chunk-ENRS56GC.js → chunk-4UNQ6X24.js} +10 -7
  20. package/dist/{chunk-JM4LEPY3.js → chunk-4YFKQ5WT.js} +6 -3
  21. package/dist/{chunk-U5SI5NIM.js → chunk-5223KXFD.js} +39 -22
  22. package/dist/{chunk-NI3XQBPB.js → chunk-5BHJZH62.js} +3 -3
  23. package/dist/{chunk-QYTPPDAO.js → chunk-5HILBT7X.js} +2 -2
  24. package/dist/{chunk-I2QZFCS2.js → chunk-5NGAO4QK.js} +4 -4
  25. package/dist/{chunk-BGP54HVR.js → chunk-5RP7JRVP.js} +4 -4
  26. package/dist/{chunk-IE477RQZ.js → chunk-5SEVICBT.js} +5 -5
  27. package/dist/{chunk-OZPBJM5Q.js → chunk-6EJITS44.js} +8 -5
  28. package/dist/{chunk-F3FYUFUH.js → chunk-6HQH6JZE.js} +12 -11
  29. package/dist/{chunk-X7EC3L2H.js → chunk-6LBQ7ELG.js} +14 -15
  30. package/dist/{chunk-5WPNFSXP.js → chunk-75G3Q4DK.js} +3 -3
  31. package/dist/{chunk-BYJBIALT.js → chunk-77FGAVZC.js} +10 -7
  32. package/dist/{chunk-2EQMXBBQ.js → chunk-7BIZCTAX.js} +2 -2
  33. package/dist/{chunk-B63YB7X3.js → chunk-7KINELPI.js} +110 -48
  34. package/dist/{chunk-AB7INMR5.js → chunk-7QE3XMRK.js} +15 -14
  35. package/dist/{chunk-IUJODQKX.js → chunk-AAXZDUOV.js} +15 -14
  36. package/dist/{chunk-2UJSV2VT.js → chunk-AL672HNE.js} +3 -3
  37. package/dist/{chunk-WQLMU7VG.js → chunk-ARGMQ3H4.js} +2 -2
  38. package/dist/{chunk-OU7HLO7I.js → chunk-AUIM2NVH.js} +3 -3
  39. package/dist/{chunk-RXKTSFDL.js → chunk-BKVOYV6I.js} +24 -32
  40. package/dist/{chunk-TK2VQQX2.js → chunk-BPIZNB5O.js} +14 -12
  41. package/dist/{chunk-3LV2NCB6.js → chunk-BPY242XU.js} +6 -4
  42. package/dist/{chunk-LV4BETUU.js → chunk-BRENJ2BQ.js} +32 -2
  43. package/dist/{chunk-Y6GBQTBK.js → chunk-CCNDLW7Z.js} +41 -19
  44. package/dist/{chunk-EXOQP75F.js → chunk-CIRFIL4M.js} +47 -27
  45. package/dist/{chunk-RBDIYLA5.js → chunk-DAOFNU6J.js} +17 -1
  46. package/dist/{chunk-4VWJ4LW2.js → chunk-DYWQFQJP.js} +44 -34
  47. package/dist/{chunk-QZPEGJOM.js → chunk-EMLPOL77.js} +15 -8
  48. package/dist/{chunk-IUO34HKW.js → chunk-FHGVORFO.js} +26 -22
  49. package/dist/{chunk-6H7O2OPM.js → chunk-FQ7HTV52.js} +4 -2
  50. package/dist/{chunk-7DYOELRK.js → chunk-FQMUHRVC.js} +69 -30
  51. package/dist/{chunk-AFIEPDLX.js → chunk-FT3ZYWET.js} +14 -3
  52. package/dist/{chunk-ND76YJCN.js → chunk-FUPF2UYQ.js} +35 -11
  53. package/dist/{chunk-6NFYEQDX.js → chunk-FY5MSZAP.js} +15 -3
  54. package/dist/{chunk-IEWG6J7C.js → chunk-GCYTI3DE.js} +40 -31
  55. package/dist/{chunk-GNSFLJAA.js → chunk-GJFAMOGK.js} +3 -3
  56. package/dist/{chunk-VNSXLA6G.js → chunk-H7KENAZO.js} +16 -12
  57. package/dist/{chunk-KFNWFNAA.js → chunk-HBPDFCQY.js} +3 -3
  58. package/dist/{chunk-467TVMQL.js → chunk-HHKO6SKY.js} +2 -2
  59. package/dist/{chunk-6K2M4VSR.js → chunk-HQQNCY7W.js} +21 -8
  60. package/dist/{chunk-ZJ3LS7DW.js → chunk-HWX6ZHF3.js} +2 -2
  61. package/dist/{chunk-Q62FEYK3.js → chunk-ICPJPQ5C.js} +2 -2
  62. package/dist/{chunk-MVN25IF6.js → chunk-IM6PDDCE.js} +4 -4
  63. package/dist/{chunk-65WJYYKJ.js → chunk-INE5YJBZ.js} +11 -6
  64. package/dist/{chunk-EDA6C7MV.js → chunk-J6QROYDA.js} +13 -9
  65. package/dist/{chunk-3ODS2VGL.js → chunk-J7KJR3R6.js} +116 -96
  66. package/dist/{chunk-JEUJOX5X.js → chunk-J7TLCB2Q.js} +2 -2
  67. package/dist/{chunk-GD6L76WD.js → chunk-JRCOYRRH.js} +19 -7
  68. package/dist/{chunk-G3PF3S7P.js → chunk-K2I2XOZD.js} +9 -9
  69. package/dist/{chunk-5PDTIBLV.js → chunk-K4EOKJA6.js} +17 -7
  70. package/dist/{chunk-5SVOCD5W.js → chunk-KGVZ5VGH.js} +10 -7
  71. package/dist/{chunk-QHI5XVUJ.js → chunk-LBMS4AW6.js} +20 -19
  72. package/dist/{chunk-FTBZV6NE.js → chunk-LGT3PZCJ.js} +22 -14
  73. package/dist/{chunk-E7Y3SYKW.js → chunk-LTXOLDUZ.js} +9 -6
  74. package/dist/{chunk-GTWKD3QT.js → chunk-MUE65OTD.js} +5 -4
  75. package/dist/{chunk-TRM2J7ZN.js → chunk-MUVJ57EP.js} +10 -14
  76. package/dist/{chunk-RBHWPDBB.js → chunk-NNS4E7CW.js} +6 -4
  77. package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
  78. package/dist/{chunk-NEQ6GJXB.js → chunk-ONU3U4GL.js} +2 -2
  79. package/dist/{chunk-XEQXCIBC.js → chunk-PRI2OD4E.js} +10 -3
  80. package/dist/{chunk-U6EQI3U6.js → chunk-QBZYACOG.js} +3 -3
  81. package/dist/{chunk-5PZT4DQG.js → chunk-QGATPIPX.js} +15 -9
  82. package/dist/{chunk-YGJZWZTY.js → chunk-QHXCAEMX.js} +7 -4
  83. package/dist/{chunk-RLFVAKEO.js → chunk-QJMKPUYK.js} +15 -5
  84. package/dist/{chunk-Z6XJQ6KO.js → chunk-QVENJMNX.js} +2 -2
  85. package/dist/{chunk-GROLTAWZ.js → chunk-QZX5S6R3.js} +2 -2
  86. package/dist/{chunk-TMACGPW5.js → chunk-R3YSD62R.js} +3 -3
  87. package/dist/{chunk-332ZR4QU.js → chunk-REJAIQ5S.js} +4 -4
  88. package/dist/{chunk-5F5ELR3V.js → chunk-ROOE4R4Y.js} +8 -5
  89. package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
  90. package/dist/{chunk-GGHRAITI.js → chunk-SMRFPVLQ.js} +3 -3
  91. package/dist/{chunk-JSSX2SX4.js → chunk-SWSIKFEB.js} +2 -2
  92. package/dist/{chunk-DY7XLRHK.js → chunk-T4A4TSTJ.js} +14 -15
  93. package/dist/{chunk-VB4UJ3H2.js → chunk-TJVLKNGR.js} +20 -10
  94. package/dist/{chunk-FC5I2KXV.js → chunk-TPFKKXCB.js} +3 -3
  95. package/dist/{chunk-AXW3M6OQ.js → chunk-TTIM6YTT.js} +28 -18
  96. package/dist/{chunk-WJ7RW65H.js → chunk-UBLHQTLV.js} +13 -12
  97. package/dist/{chunk-AE7II3E3.js → chunk-UNURMIQO.js} +2 -2
  98. package/dist/{chunk-PZDBOK2Q.js → chunk-VILVLS7P.js} +5 -3
  99. package/dist/{chunk-3YSQZ75W.js → chunk-VQOCMUWI.js} +37 -26
  100. package/dist/{chunk-P6T66CCZ.js → chunk-WBM7ZNDI.js} +3 -2
  101. package/dist/{chunk-4QZ43D7I.js → chunk-XD6ZYURY.js} +9 -4
  102. package/dist/{chunk-3JLKYGBQ.js → chunk-YIBAWQGJ.js} +6 -3
  103. package/dist/{chunk-ZO27FGJS.js → chunk-YTMTPUH4.js} +7 -4
  104. package/dist/{chunk-6BQFET7X.js → chunk-Z5QVYKR7.js} +11 -3
  105. package/dist/{chunk-KJGG2JKQ.js → chunk-ZEF5M5MB.js} +52 -45
  106. package/dist/{chunk-32XPAAET.js → chunk-ZJV7GYR4.js} +3 -3
  107. package/dist/{chunk-2ILHQOL3.js → chunk-ZNWAYU6N.js} +11 -7
  108. package/dist/cli.cjs +146 -145
  109. package/dist/clock.js +16 -22
  110. package/dist/dgmo-router-X7ZGAPIE.js +86 -0
  111. package/dist/{dimensions-F7B5C4BJ.js → dimensions-45H6JQEY.js} +6 -6
  112. package/dist/editor.js +4 -2
  113. package/dist/element.js +126 -124
  114. package/dist/element.mjs +952 -492
  115. package/dist/{flowchart-parser-MY53QWTZ.js → flowchart-parser-UKELHBSB.js} +4 -4
  116. package/dist/{flowchart-renderer-AQSMEMYF.js → flowchart-renderer-MNCDS7MV.js} +7 -7
  117. package/dist/highlight.d.ts +21 -1
  118. package/dist/highlight.js +93 -3
  119. package/dist/index.js +51 -51
  120. package/dist/{layout-JDJAEQ3P.js → layout-2L3WMRYU.js} +4 -4
  121. package/dist/{layout-MUPRALE5.js → layout-A4XWNVID.js} +4 -4
  122. package/dist/{layout-46366KBT.js → layout-A5UHRWVH.js} +3 -3
  123. package/dist/{layout-HYZPWAK5.js → layout-GM4UGR7B.js} +4 -3
  124. package/dist/{layout-CBCLPMSG.js → layout-GQQJXNYH.js} +4 -4
  125. package/dist/{layout-YVTNOTN4.js → layout-IIE2S5FK.js} +3 -3
  126. package/dist/{layout-4DIUOX2T.js → layout-VMCRX66I.js} +4 -4
  127. package/dist/{palettes-PRJ2RI6D.js → palettes-UDLZ2SA4.js} +2 -2
  128. package/dist/{parser-BKI42XBQ.js → parser-2ECN6JA2.js} +4 -4
  129. package/dist/{parser-C3D7MVXY.js → parser-4WTIHM5J.js} +3 -3
  130. package/dist/{parser-5A2UWU6B.js → parser-5H2BTSJQ.js} +3 -3
  131. package/dist/{parser-OK2ILHRT.js → parser-75KVXUNS.js} +4 -4
  132. package/dist/{parser-SRVFR7PM.js → parser-774AC53T.js} +4 -4
  133. package/dist/{parser-BEPSWJAD.js → parser-BE4YCSRU.js} +3 -3
  134. package/dist/{parser-B77S5SZM.js → parser-CNGUQUQI.js} +3 -3
  135. package/dist/{parser-2Q2T4C3B.js → parser-DEUUSQIN.js} +7 -7
  136. package/dist/{parser-5PDYJGWA.js → parser-DQAFLUJB.js} +4 -4
  137. package/dist/{parser-KKTJ6M3Y.js → parser-EYCKNKQA.js} +5 -5
  138. package/dist/{parser-UKFFZCFJ.js → parser-FXISIU6A.js} +4 -4
  139. package/dist/{parser-UMWPLORP.js → parser-GTB4XC7P.js} +5 -5
  140. package/dist/{parser-Z4TZV2CB.js → parser-GVEPAUSD.js} +4 -4
  141. package/dist/{parser-AIMHGJRR.js → parser-HSQGTY4G.js} +4 -4
  142. package/dist/{parser-OUTPNJWC.js → parser-HVKRINUS.js} +3 -3
  143. package/dist/{parser-JA7JQ7NF.js → parser-J5MIEYO4.js} +5 -5
  144. package/dist/parser-KMZIXLDZ.js +13 -0
  145. package/dist/{parser-CDG7CHV5.js → parser-LJHXWSXU.js} +3 -3
  146. package/dist/{parser-PORDUX5E.js → parser-PT3W72G5.js} +4 -4
  147. package/dist/{parser-CZOJ7XQ6.js → parser-SBJQDPHL.js} +4 -4
  148. package/dist/{parser-I6GGFKOQ.js → parser-SUWWWCMX.js} +3 -3
  149. package/dist/{parser-AZJ25OKK.js → parser-SXDRNZOA.js} +4 -4
  150. package/dist/parser-UMILOW3M.js +14 -0
  151. package/dist/{parser-GKLZKEIK.js → parser-UP3AZ367.js} +4 -4
  152. package/dist/{parser-57ILIFZ2.js → parser-WHPRV3X5.js} +5 -5
  153. package/dist/{parser-H6ABKHZZ.js → parser-WX3UODSJ.js} +4 -4
  154. package/dist/{parser-FQ6GZFMR.js → parser-XCIEN3KN.js} +4 -4
  155. package/dist/{parser-E2RL6JYF.js → parser-XIRTUMVN.js} +5 -5
  156. package/dist/{parser-3A42DZ72.js → parser-YKCGIG45.js} +3 -3
  157. package/dist/{parser-EH5VE7ZN.js → parser-YKYMQG3B.js} +4 -4
  158. package/dist/{parser-6ZKABF5S.js → parser-ZGM2OJ6Y.js} +5 -5
  159. package/dist/{parser-4RFTKAQX.js → parser-ZL5QUFVH.js} +4 -4
  160. package/dist/pert.d.ts +2 -2
  161. package/dist/{renderer-RYR3TJ46.js → renderer-3F7OS2AX.js} +10 -10
  162. package/dist/{renderer-TGTUABCI.js → renderer-4QB4K7Q3.js} +6 -6
  163. package/dist/{renderer-GHPZMFU2.js → renderer-5DAKMIU2.js} +3 -3
  164. package/dist/{renderer-3K3IB7D5.js → renderer-5H4SY7YY.js} +6 -6
  165. package/dist/{renderer-QIWVHWZO.js → renderer-5PIQPFOX.js} +4 -3
  166. package/dist/{renderer-NKJ24TEA.js → renderer-6MU37QF5.js} +6 -6
  167. package/dist/{renderer-QXPP4TA2.js → renderer-AQVMWJ4M.js} +9 -9
  168. package/dist/{renderer-2AUFT3E2.js → renderer-BDDW6K7N.js} +6 -6
  169. package/dist/{renderer-OYO67VZK.js → renderer-BNB3VIDY.js} +7 -7
  170. package/dist/{renderer-QXGN5H3A.js → renderer-CQY6ATOS.js} +5 -5
  171. package/dist/{renderer-CO2DW7S7.js → renderer-CVW75CXL.js} +9 -9
  172. package/dist/{renderer-KQB7UGDS.js → renderer-DT4XRFEP.js} +4 -3
  173. package/dist/{renderer-GQIESYEM.js → renderer-ERHBSTQT.js} +6 -6
  174. package/dist/{renderer-UV6MI64M.js → renderer-HSHHVYWF.js} +4 -3
  175. package/dist/{renderer-ARMJBP6C.js → renderer-IDPVUFNB.js} +8 -8
  176. package/dist/{renderer-QRWACQRI.js → renderer-ILX6BGKR.js} +6 -6
  177. package/dist/{renderer-F7U3MFCV.js → renderer-JP663HKG.js} +7 -7
  178. package/dist/{renderer-RGIYOTKJ.js → renderer-KNFTTOBL.js} +8 -8
  179. package/dist/{renderer-3YNIWF5I.js → renderer-MVUZBESR.js} +5 -5
  180. package/dist/{renderer-HYGHO4SJ.js → renderer-N4EBR2FV.js} +8 -8
  181. package/dist/{renderer-3YPZHMOU.js → renderer-NHO46CT2.js} +3 -3
  182. package/dist/{renderer-SRKDNDFB.js → renderer-NO2QJ5LZ.js} +7 -7
  183. package/dist/{renderer-2HTNBIF2.js → renderer-OGFV5RXX.js} +8 -8
  184. package/dist/{renderer-HCKJDFXD.js → renderer-PDLESJMS.js} +9 -9
  185. package/dist/{renderer-66MERVQ2.js → renderer-T4MTNINC.js} +6 -6
  186. package/dist/{renderer-RHT4MHFU.js → renderer-TOUGFGTM.js} +7 -7
  187. package/dist/{renderer-EDJ2O4S5.js → renderer-U3KPD43Y.js} +8 -8
  188. package/dist/{renderer-4WR6WMVF.js → renderer-X334IJU2.js} +6 -6
  189. package/dist/{renderer-JC3RDUT7.js → renderer-Y5OAMOCR.js} +6 -6
  190. package/dist/{renderer-GD2COXVL.js → renderer-YONAKAJU.js} +4 -4
  191. package/dist/{renderer-TXJFKPOG.js → renderer-YWMI6Y2U.js} +8 -8
  192. package/dist/{renderer-6RKQPNJI.js → renderer-ZWIH4WDW.js} +7 -7
  193. package/dist/{renderer-radial-FWABAZHB.js → renderer-radial-7CGZMVMS.js} +7 -7
  194. package/dist/{state-parser-6T6CNMPX.js → state-parser-BATWAID2.js} +4 -4
  195. package/dist/{state-renderer-AWZ3ECAX.js → state-renderer-3FKZJ3LP.js} +7 -7
  196. package/docs/ai-integration.md +15 -19
  197. package/docs/language-reference.md +13 -11
  198. package/package.json +1 -1
  199. package/dist/dgmo-router-Y2VEX46B.js +0 -86
  200. package/dist/parser-6BJEXUFX.js +0 -13
  201. package/dist/parser-OK22AC6Y.js +0 -14
@@ -18,10 +18,10 @@ import {
18
18
  import {
19
19
  mix,
20
20
  valueRampStops
21
- } from "./chunk-P6T66CCZ.js";
21
+ } from "./chunk-WBM7ZNDI.js";
22
22
  import {
23
23
  tagAttrKey
24
- } from "./chunk-467TVMQL.js";
24
+ } from "./chunk-HHKO6SKY.js";
25
25
 
26
26
  // src/utils/legend-d3.ts
27
27
  var LEGEND_TEXT_DY = "0.32em";
@@ -293,4 +293,4 @@ export {
293
293
  renderLegendD3,
294
294
  renderIntegratedLegend
295
295
  };
296
- //# sourceMappingURL=chunk-OU7HLO7I.js.map
296
+ //# sourceMappingURL=chunk-AUIM2NVH.js.map
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  buildSwatches
3
- } from "./chunk-4XFBQT5O.js";
3
+ } from "./chunk-3LK5DNED.js";
4
4
  import {
5
5
  layoutMap,
6
6
  mapLegendConfig,
7
7
  mapLegendGroups,
8
8
  parsePathRings
9
- } from "./chunk-32XPAAET.js";
9
+ } from "./chunk-ZJV7GYR4.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-OU7HLO7I.js";
12
+ } from "./chunk-AUIM2NVH.js";
13
13
  import {
14
14
  parseClock
15
- } from "./chunk-6NFYEQDX.js";
15
+ } from "./chunk-FY5MSZAP.js";
16
16
  import {
17
17
  fixedParts,
18
18
  formatTime,
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  mix,
36
36
  themeBaseBg
37
- } from "./chunk-P6T66CCZ.js";
37
+ } from "./chunk-WBM7ZNDI.js";
38
38
 
39
39
  // src/map/renderer.ts
40
40
  import * as d3Selection from "d3-selection";
@@ -72,7 +72,6 @@ function renderClockCards(gCards, layout, resolved, palette, isDark, now, frameW
72
72
  const hasCoords = Number.isFinite(poi.lat) && Number.isFinite(poi.lon);
73
73
  const isFixed = poi.tzFixedOffsetMin !== void 0;
74
74
  const sun = !isFixed && hasCoords ? sunLine(now, poi.lat, poi.lon) : null;
75
- const up = sun ? sun.up : parts.h >= 6 && parts.h < 18;
76
75
  const ts = formatTime(parts.h, parts.m, parts.s, hours12);
77
76
  const status = workStatus(parts, work);
78
77
  const viewerWeekday = WEEKDAY_ABBR[new Date(now).getDay()];
@@ -80,16 +79,17 @@ function renderClockCards(gCards, layout, resolved, palette, isDark, now, frameW
80
79
  const line2 = [showWeekday ? parts.weekday : null, status?.text].filter(Boolean).join(" \xB7 ");
81
80
  const mainFont = 18;
82
81
  const sf = 8;
83
- const mainW = measureText(ts.main, mainFont);
84
- const stackW = Math.max(
85
- measureText(`:${ts.sec}`, sf),
86
- ts.ap ? measureText(ts.ap, sf) : 0
87
- );
88
- const stackGap = 3;
89
- const dotGap = 15;
82
+ const advance = (s, f) => [...s].reduce((w, c) => w + f * (c === ":" ? 0.334 : 0.6), 0);
83
+ const mainW = advance(ts.main, mainFont);
84
+ const secW = advance(`:${ts.sec}`, sf);
85
+ const stackW = Math.max(secW, ts.ap ? measureText(ts.ap, sf) : 0);
86
+ const stackGap = 6;
90
87
  const padX = 9;
91
- const line1W = dotGap + mainW + stackGap + stackW;
92
- const line2W = measureText(line2, 10.5);
88
+ const iconR = 3.5;
89
+ const iconGap = 5;
90
+ const line2Icon = status ? iconR * 2 + iconGap : 0;
91
+ const line1W = mainW + stackGap + stackW;
92
+ const line2W = line2Icon + measureText(line2, 10.5);
93
93
  const cardW = Math.max(line1W, line2W) + padX * 2;
94
94
  const cardH = 44;
95
95
  const leaderGap = 7;
@@ -119,27 +119,19 @@ function renderClockCards(gCards, layout, resolved, palette, isDark, now, frameW
119
119
  const leaderX = clamp(cx, cardLeft + 10, cardLeft + cardW - 10);
120
120
  g.append("line").attr("x1", cx).attr("y1", below ? lp.cy + lp.r : lp.cy - lp.r).attr("x2", leaderX).attr("y2", below ? cardTop : cardTop + cardH).attr("stroke", border).attr("stroke-width", 1);
121
121
  g.append("rect").attr("x", cardLeft).attr("y", cardTop).attr("width", cardW).attr("height", cardH).attr("rx", 6).attr("fill", cardFill).attr("stroke", border).attr("stroke-width", 1);
122
- const dotCX = cardLeft + padX + 3.5;
122
+ const statusColor = (cls) => cls === "ok" ? sw.ok : cls === "soon" ? sw.soon : sw.off;
123
123
  const line1Y = cardTop + 20;
124
- const dot = g.append("circle").attr("data-dgmo-clock-status-dot", "").attr("cx", dotCX).attr("cy", line1Y - mainFont * 0.35).attr("r", 3.5);
125
- if (status) {
126
- const dc = status.cls === "ok" ? sw.ok : status.cls === "soon" ? sw.soon : sw.off;
127
- if (status.cls === "off") {
128
- dot.attr("fill", "none").attr("stroke", dc).attr("stroke-width", 1.4);
129
- } else {
130
- dot.attr("fill", dc);
131
- }
132
- } else {
133
- dot.attr("fill", up ? sw.day : sw.night);
134
- }
135
- const timeX = cardLeft + padX + dotGap;
136
- g.append("text").attr("data-dgmo-clock-digital-part", "main").attr("x", timeX).attr("y", line1Y).attr("font-family", FONT_FAMILY).attr("fill", palette.text).attr("font-size", mainFont).attr("font-weight", 600).style("font-variant-numeric", "tabular-nums").text(ts.main);
124
+ const timeX = cardLeft + padX;
125
+ g.append("text").attr("data-dgmo-clock-digital-part", "main").attr("x", timeX).attr("y", line1Y).attr("font-family", FONT_FAMILY).attr("fill", palette.text).attr("font-size", mainFont).attr("font-weight", 600).attr("textLength", mainW).attr("lengthAdjust", "spacing").style("font-variant-numeric", "tabular-nums").text(ts.main);
137
126
  const stackX = timeX + mainW + stackGap;
138
127
  const capTop = line1Y - mainFont * 0.7;
139
- g.append("text").attr("data-dgmo-clock-digital-part", "sec").attr("x", stackX).attr("y", capTop + sf * 0.72).attr("font-family", FONT_FAMILY).attr("fill", muted).attr("font-size", sf).style("font-variant-numeric", "tabular-nums").text(`:${ts.sec}`);
128
+ g.append("text").attr("data-dgmo-clock-digital-part", "sec").attr("x", stackX).attr("y", capTop + sf * 0.72).attr("font-family", FONT_FAMILY).attr("fill", muted).attr("font-size", sf).attr("textLength", secW).attr("lengthAdjust", "spacing").style("font-variant-numeric", "tabular-nums").text(`:${ts.sec}`);
140
129
  g.append("text").attr("data-dgmo-clock-digital-part", "ap").attr("x", stackX).attr("y", line1Y).attr("font-family", FONT_FAMILY).attr("fill", muted).attr("font-size", sf).text(ts.ap);
141
130
  const line2Y = cardTop + 36;
142
- const l2 = g.append("text").attr("x", cardLeft + padX).attr("y", line2Y).attr("font-family", FONT_FAMILY).attr("font-size", 10.5).attr("fill", muted);
131
+ if (status) {
132
+ g.append("circle").attr("data-dgmo-clock-status-icon", "").attr("cx", cardLeft + padX + iconR).attr("cy", line2Y - 3.5).attr("r", iconR).attr("fill", statusColor(status.cls));
133
+ }
134
+ const l2 = g.append("text").attr("x", cardLeft + padX + line2Icon).attr("y", line2Y).attr("font-family", FONT_FAMILY).attr("font-size", 10.5).attr("fill", muted);
143
135
  let needSep = false;
144
136
  if (showWeekday) {
145
137
  l2.append("tspan").text(parts.weekday);
@@ -789,4 +781,4 @@ export {
789
781
  renderMap,
790
782
  renderMapForExport
791
783
  };
792
- //# sourceMappingURL=chunk-RXKTSFDL.js.map
784
+ //# sourceMappingURL=chunk-BKVOYV6I.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  renderIntegratedLegend
3
- } from "./chunk-OU7HLO7I.js";
3
+ } from "./chunk-AUIM2NVH.js";
4
4
  import {
5
5
  getMaxLegendReservedHeight
6
6
  } from "./chunk-YAA6IID3.js";
@@ -20,14 +20,15 @@ import {
20
20
  } from "./chunk-WCT3NYCV.js";
21
21
  import {
22
22
  isBlockNode
23
- } from "./chunk-NNAAJVBU.js";
23
+ } from "./chunk-NR5HCAUD.js";
24
24
  import {
25
- mix
26
- } from "./chunk-P6T66CCZ.js";
25
+ mix,
26
+ themeBaseBg
27
+ } from "./chunk-WBM7ZNDI.js";
27
28
  import {
28
29
  resolveTagColor,
29
30
  tagAttrKey
30
- } from "./chunk-467TVMQL.js";
31
+ } from "./chunk-HHKO6SKY.js";
31
32
 
32
33
  // src/block/renderer.ts
33
34
  import * as d3Selection from "d3-selection";
@@ -223,7 +224,8 @@ function renderBlock(container, parsed, palette, isDark, exportDims, options = {
223
224
  activeGroup,
224
225
  activeKey: activeGroup ? tagAttrKey(activeGroup) : null,
225
226
  neutral,
226
- solidFill: opts.solidFill,
227
+ fillMode: opts.fillMode,
228
+ isDark,
227
229
  onToggle: options.onToggle
228
230
  });
229
231
  if (legend) {
@@ -262,7 +264,7 @@ function clipLabel(s, maxWidth, fs) {
262
264
  }
263
265
  var clipCounter = 0;
264
266
  function drawItems(g, items, ctx, path = []) {
265
- const { palette, solidFill: solid } = ctx;
267
+ const { palette, fillMode } = ctx;
266
268
  for (const it of items) {
267
269
  if (it.type === "empty") {
268
270
  g.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 7).attr("fill", "none").attr("stroke", ctx.neutral).attr("stroke-width", 1).attr("stroke-dasharray", "3 4").attr("opacity", 0.7);
@@ -280,17 +282,17 @@ function drawItems(g, items, ctx, path = []) {
280
282
  if (v) cell.attr(`data-tag-${ctx.activeKey}`, v);
281
283
  }
282
284
  if (it.type === "collapsed") {
283
- const fill2 = color ? solid ? color : mix(color, palette.bg, 12) : palette.surface;
285
+ const fill2 = color ? fillMode === "solid" ? color : fillMode === "outline" ? themeBaseBg(palette, ctx.isDark) : mix(color, palette.bg, 12) : palette.surface;
284
286
  const cid = `dgmo-block-clip-${clipCounter++}`;
285
287
  cell.append("clipPath").attr("id", cid).append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 10);
286
288
  cell.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 10).attr("fill", fill2).attr("stroke", stroke).attr("stroke-width", 1.5);
287
289
  cell.append("text").attr("x", it.x + it.w / 2).attr("y", it.y + it.h / 2 + 4).attr("text-anchor", "middle").attr("font-size", 12.5).attr("font-weight", 700).attr("fill", palette.text).text(clipLabel(it.label ?? "", it.w - 24, 12.5));
288
- cell.append("rect").attr("x", it.x).attr("y", it.y + it.h - BLOCK_BAR_H).attr("width", it.w).attr("height", BLOCK_BAR_H).attr("fill", solid && color ? palette.text : stroke).attr("clip-path", `url(#${cid})`);
290
+ cell.append("rect").attr("x", it.x).attr("y", it.y + it.h - BLOCK_BAR_H).attr("width", it.w).attr("height", BLOCK_BAR_H).attr("fill", fillMode === "solid" && color ? palette.text : stroke).attr("clip-path", `url(#${cid})`);
289
291
  bindToggle(cell, it, ctx, it.h);
290
292
  continue;
291
293
  }
292
294
  if (it.type === "container") {
293
- const fill2 = color ? solid ? color : mix(color, palette.bg, 7) : palette.surface;
295
+ const fill2 = color ? fillMode === "solid" ? color : fillMode === "outline" ? themeBaseBg(palette, ctx.isDark) : mix(color, palette.bg, 7) : palette.surface;
294
296
  cell.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 10).attr("fill", fill2).attr("stroke", stroke).attr("stroke-width", 1.5);
295
297
  const sizeMetric = Math.min(it.w, it.h * 2.5);
296
298
  const headerFs = Math.max(
@@ -305,7 +307,7 @@ function drawItems(g, items, ctx, path = []) {
305
307
  if (it.inner) drawItems(g, it.inner, ctx, itemPath);
306
308
  continue;
307
309
  }
308
- const fill = color ? solid ? mix(color, palette.bg, 80) : mix(color, palette.bg, 14) : palette.bg;
310
+ const fill = color ? fillMode === "solid" ? mix(color, palette.bg, 80) : fillMode === "outline" ? themeBaseBg(palette, ctx.isDark) : mix(color, palette.bg, 14) : palette.bg;
309
311
  cell.attr("data-leaf", "true");
310
312
  cell.append("rect").attr("x", it.x).attr("y", it.y).attr("width", it.w).attr("height", it.h).attr("rx", 8).attr("fill", fill).attr("stroke", stroke).attr("stroke-width", 1.25);
311
313
  cell.append("text").attr("x", it.x + it.w / 2).attr("y", it.y + it.h / 2 + 5).attr("text-anchor", "middle").attr("font-size", 13).attr("font-weight", 600).attr("fill", palette.text).text(clipLabel(it.label ?? "", it.w - 16, 13));
@@ -359,4 +361,4 @@ export {
359
361
  renderBlock,
360
362
  authoredCollapsedIds
361
363
  };
362
- //# sourceMappingURL=chunk-TK2VQQX2.js.map
364
+ //# sourceMappingURL=chunk-BPIZNB5O.js.map
@@ -11,7 +11,7 @@ import {
11
11
  stripDefaultModifier,
12
12
  tagAttrKey,
13
13
  validateTagGroupNames
14
- } from "./chunk-467TVMQL.js";
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-LV4BETUU.js";
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
- "solid-fill",
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-3LV2NCB6.js.map
809
+ //# sourceMappingURL=chunk-BPY242XU.js.map
@@ -268,10 +268,34 @@ function extractColor(label, palette, diagnostics, line) {
268
268
  }
269
269
  var OPTION_NOCOLON_RE = /^([a-z][a-z0-9-]*)\s+(.+)$/i;
270
270
  var GLOBAL_BOOLEANS = /* @__PURE__ */ new Set([
271
- "solid-fill",
271
+ "fill-tint",
272
+ "fill-solid",
273
+ "fill-outline",
272
274
  "no-title",
273
275
  "no-notes"
274
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
+ }
275
299
  function recognizeGlobalBoolean(token) {
276
300
  const t = token.trim().toLowerCase();
277
301
  return GLOBAL_BOOLEANS.has(t) ? t : null;
@@ -279,6 +303,9 @@ function recognizeGlobalBoolean(token) {
279
303
  function tryParseSharedOption(line, options) {
280
304
  const key = recognizeGlobalBoolean(line);
281
305
  if (key) {
306
+ if (FILL_FAMILY_TOKENS.has(key)) {
307
+ for (const t of FILL_FAMILY_TOKENS) delete options[t];
308
+ }
282
309
  options[key] = "on";
283
310
  return true;
284
311
  }
@@ -668,6 +695,9 @@ export {
668
695
  measureIndent,
669
696
  extractColor,
670
697
  OPTION_NOCOLON_RE,
698
+ FILL_FAMILY_TOKENS,
699
+ fillModeFromToken,
700
+ fillModeFromOptions,
671
701
  tryParseSharedOption,
672
702
  parseFirstLine,
673
703
  normalizeNumericToken,
@@ -681,4 +711,4 @@ export {
681
711
  splitNameAndMeta,
682
712
  warnUnknownMetaKeys
683
713
  };
684
- //# sourceMappingURL=chunk-LV4BETUU.js.map
714
+ //# sourceMappingURL=chunk-BRENJ2BQ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3HDBAXF5.js";
4
4
  import {
5
5
  renderIntegratedLegend
6
- } from "./chunk-OU7HLO7I.js";
6
+ } from "./chunk-AUIM2NVH.js";
7
7
  import {
8
8
  getMaxLegendReservedHeight
9
9
  } from "./chunk-YAA6IID3.js";
@@ -22,15 +22,16 @@ import {
22
22
  measureText
23
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-P6T66CCZ.js";
30
+ } from "./chunk-WBM7ZNDI.js";
30
31
  import {
31
32
  resolveTagColor,
32
33
  tagAttrKey
33
- } from "./chunk-467TVMQL.js";
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
- tint: shapeFill(palette, accent, isDark)
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 basePaint = paintForAccent(palette, isDark, baseAccent);
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("fill", mix(c, palette.bg, isDark ? 12 : 8));
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("fill", mix(c, palette.bg, isDark ? 20 : 14)).attr("stroke", mix(c, palette.bg, 55)).attr("stroke-width", 1);
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", paint.muted).text(info.seed);
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, paint.muted);
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 : paint.muted).text(info.score);
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-Y6GBQTBK.js.map
962
+ //# sourceMappingURL=chunk-CCNDLW7Z.js.map