@diagrammo/dgmo 0.76.0 → 0.78.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 (229) hide show
  1. package/README.md +17 -13
  2. package/dist/advanced.d.ts +150 -13
  3. package/dist/advanced.js +180 -131
  4. package/dist/block.css +1 -1
  5. package/dist/block.d.ts +2 -2
  6. package/dist/block.js +45 -41
  7. package/dist/{chart-meta-lP8Rl19E.d.ts → chart-meta-BKN2ORkc.d.ts} +2 -2
  8. package/dist/chart-meta.d.ts +3 -3
  9. package/dist/chart-meta.js +30 -29
  10. package/dist/charts-d3-KEQ7XVSM.js +31 -0
  11. package/dist/{chunk-7IATMZSA.js → chunk-26EVL454.js} +1 -25
  12. package/dist/{chunk-3H4PDNP4.js → chunk-2NLBIZEW.js} +2 -2
  13. package/dist/{chunk-GFXFRKUG.js → chunk-32VR65TL.js} +63 -36
  14. package/dist/{chunk-IHUOYDLN.js → chunk-36UQ77JV.js} +24 -24
  15. package/dist/chunk-3DPOIW3W.js +10 -0
  16. package/dist/{chunk-3SP6G4LN.js → chunk-3GLTQZKE.js} +2 -2
  17. package/dist/{chunk-DY7KDZUF.js → chunk-3OWIYK52.js} +2 -2
  18. package/dist/{chunk-UBW53CNS.js → chunk-3XFOE3DQ.js} +12 -7
  19. package/dist/{chunk-W7UBPARG.js → chunk-3ZLQM6XN.js} +2 -2
  20. package/dist/{chunk-5GM6BZO7.js → chunk-4AWLEWSD.js} +5 -2
  21. package/dist/{chunk-AYM472K3.js → chunk-4IGUEGD6.js} +80 -61
  22. package/dist/{chunk-QOVM5VRC.js → chunk-57GSSHBR.js} +2 -2
  23. package/dist/{chunk-5VMUVJO4.js → chunk-5G55TS3H.js} +2 -2
  24. package/dist/{chunk-QT5UMFPE.js → chunk-67I3HFSF.js} +9 -9
  25. package/dist/{chunk-WQXD3IIN.js → chunk-6B3M6LW6.js} +10 -8
  26. package/dist/{chunk-3EGIU5WY.js → chunk-6PHOZBW5.js} +4 -6
  27. package/dist/{chunk-5PFNUDXR.js → chunk-6VTLVU7D.js} +2 -2
  28. package/dist/{chunk-M5JT2AU7.js → chunk-6Z2NUJSX.js} +2 -2
  29. package/dist/{chunk-BWJLLNUX.js → chunk-7BNRHSSF.js} +2 -2
  30. package/dist/{chunk-JLODGGN2.js → chunk-7NNJXYXU.js} +2 -2
  31. package/dist/{chunk-FTTB64OJ.js → chunk-7SMVTA7I.js} +26 -26
  32. package/dist/{chunk-Z7KVOVE4.js → chunk-7WTFX6OA.js} +6 -3
  33. package/dist/{chunk-ZM27UI5O.js → chunk-A7Y32YD6.js} +2 -2
  34. package/dist/{chunk-FPRMP6YA.js → chunk-AHN2CVCH.js} +10 -7
  35. package/dist/{chunk-N6MZSBOL.js → chunk-AN7T6VP7.js} +2 -2
  36. package/dist/{chunk-F4X5NVKY.js → chunk-B6PVPAS5.js} +2 -2
  37. package/dist/{chunk-QI4Q5ZZH.js → chunk-BB2ORSTF.js} +19 -18
  38. package/dist/{chunk-HGFKDSKZ.js → chunk-BJB4YDJP.js} +21 -21
  39. package/dist/{chunk-BZQCAZZZ.js → chunk-BPM52K3Z.js} +41 -34
  40. package/dist/{chunk-HFCKU73Y.js → chunk-BSREARWG.js} +29 -28
  41. package/dist/{chunk-F4V67JXG.js → chunk-CTERZC4K.js} +2 -2
  42. package/dist/{chunk-FMZEU7MF.js → chunk-CYLSQO4L.js} +6 -6
  43. package/dist/{chunk-JLJ7SP4X.js → chunk-DCPD5SHV.js} +3 -3
  44. package/dist/{chunk-U7AO6FRL.js → chunk-ENDB5YSV.js} +363 -129
  45. package/dist/{chunk-RTTZIX34.js → chunk-EOB7XVYR.js} +2 -2
  46. package/dist/chunk-EPDBWATV.js +38 -0
  47. package/dist/{chunk-TPN7RJOM.js → chunk-FJADQOFQ.js} +3 -3
  48. package/dist/{chunk-MG3DE3VO.js → chunk-FLMXJMMY.js} +3 -3
  49. package/dist/{chunk-WGC42WJU.js → chunk-FWNJDD4U.js} +6 -2
  50. package/dist/{chunk-S5P5Z5Y5.js → chunk-GINNZHVN.js} +2 -2
  51. package/dist/{chunk-7EZ5AKBK.js → chunk-GJH7ZEPH.js} +45 -38
  52. package/dist/{chunk-E3BJVEMZ.js → chunk-GQEXY7XL.js} +68 -65
  53. package/dist/{chunk-COCMMQXW.js → chunk-HHHYVTVS.js} +16 -16
  54. package/dist/chunk-ICLB27PZ.js +11 -0
  55. package/dist/{chunk-QMFIZQTB.js → chunk-IDGQB6XD.js} +6 -4
  56. package/dist/{chunk-R3XI2VC7.js → chunk-IDJGV6VM.js} +2 -1
  57. package/dist/{chunk-4CRLM3IT.js → chunk-IE47TYZT.js} +177 -118
  58. package/dist/{chunk-FJ57274M.js → chunk-IIEI7VK5.js} +15 -1
  59. package/dist/{chunk-YDA46XHI.js → chunk-IMO46ROR.js} +38 -32
  60. package/dist/{chunk-4SXHMFFP.js → chunk-IZTU6WVR.js} +24 -13
  61. package/dist/{chunk-U74EGVOA.js → chunk-JOD2CK2M.js} +16 -14
  62. package/dist/{chunk-U5B3TUEW.js → chunk-JUNTVLOU.js} +16 -15
  63. package/dist/{chunk-RWFMOVHG.js → chunk-KAZQX2EY.js} +2 -2
  64. package/dist/{chunk-NHQ7HUAS.js → chunk-KGX5LIUG.js} +10 -8
  65. package/dist/{chunk-Q74GP3GK.js → chunk-KO6DGOOB.js} +3 -3
  66. package/dist/{chunk-UTTRJ6KN.js → chunk-L26M3X7K.js} +16 -13
  67. package/dist/{chunk-RU2HHHYA.js → chunk-LD2JSKU3.js} +12 -2
  68. package/dist/{chunk-32MOGTKT.js → chunk-LEBPWFVF.js} +50 -46
  69. package/dist/{chunk-MU3CJPJF.js → chunk-LGI735AJ.js} +2 -2
  70. package/dist/{chunk-OWVDD5EC.js → chunk-LMWXBFLA.js} +2 -2
  71. package/dist/{chunk-CLQJAGWL.js → chunk-M3LZCDB6.js} +40 -42
  72. package/dist/{chunk-YT5ICQ4R.js → chunk-MFK7LF66.js} +2 -2
  73. package/dist/{chunk-JL7BDLC6.js → chunk-MJYFPFZT.js} +110 -20
  74. package/dist/{chunk-2QRIMMIH.js → chunk-N56W4R66.js} +2 -2
  75. package/dist/{chunk-LXXVHLTH.js → chunk-NN5IDH2I.js} +2 -2
  76. package/dist/{chunk-46KVXDUJ.js → chunk-NS3KIRSW.js} +2 -2
  77. package/dist/{chunk-LM3HY3VG.js → chunk-P2DM7Q5U.js} +2 -2
  78. package/dist/{chunk-DJL5PO27.js → chunk-P4SQV3XD.js} +2 -2
  79. package/dist/{chunk-HOIAQ3P2.js → chunk-P54AX5XN.js} +9 -9
  80. package/dist/{chunk-JQ575OAK.js → chunk-P64NBPSK.js} +14 -14
  81. package/dist/{chunk-7G4XMHDB.js → chunk-PIWUZFG7.js} +33 -25
  82. package/dist/{chunk-SWEKCK34.js → chunk-QAPFXLAC.js} +2 -2
  83. package/dist/chunk-QFIXL3OK.js +68 -0
  84. package/dist/{chunk-KRTLS3G6.js → chunk-QVMV4KCA.js} +2 -2
  85. package/dist/{chunk-76LHNLGX.js → chunk-R4YGH7DJ.js} +5 -3
  86. package/dist/{chunk-PAW4RMH3.js → chunk-RC3FM3FE.js} +12 -13
  87. package/dist/{chunk-UJBP57UJ.js → chunk-RC6GGF6X.js} +2 -2
  88. package/dist/{chunk-S6OXNZBM.js → chunk-RHZZVIGA.js} +3 -3
  89. package/dist/{chunk-MS5574I7.js → chunk-RIXWLFB4.js} +2 -2
  90. package/dist/{chunk-BCB24FG7.js → chunk-RUNI4OXP.js} +18 -14
  91. package/dist/{chunk-ICVIJLBA.js → chunk-SFSJ6XWV.js} +2 -2
  92. package/dist/{chunk-EGXJWRO6.js → chunk-SNBEAO4Q.js} +8 -8
  93. package/dist/{chunk-XHROEQ23.js → chunk-SXD6VY7D.js} +16 -14
  94. package/dist/{chunk-GEURKGZS.js → chunk-TLM3I4XF.js} +16 -16
  95. package/dist/{chunk-IFC3JXCT.js → chunk-TO6TWNMF.js} +19 -15
  96. package/dist/{chunk-OUJG73YJ.js → chunk-U2JIFCJN.js} +18 -18
  97. package/dist/{chunk-CAPR5DET.js → chunk-U4ND3J6C.js} +18 -14
  98. package/dist/{chunk-YVDBBWEP.js → chunk-UCF6TKWV.js} +51 -48
  99. package/dist/{chunk-UWYZIGCB.js → chunk-UDYJVX6Y.js} +9 -9
  100. package/dist/{chunk-OBYZU23V.js → chunk-UQY2VLUK.js} +25 -23
  101. package/dist/{chunk-CQKD6GOC.js → chunk-VAA7QSZ7.js} +53 -32
  102. package/dist/{chunk-Q6BAFS7I.js → chunk-VQGQF7O7.js} +12 -10
  103. package/dist/{chunk-DEW62ON3.js → chunk-VSPNH7LC.js} +2 -2
  104. package/dist/{chunk-4YER7UCV.js → chunk-VUJQ6RU6.js} +2 -2
  105. package/dist/{chunk-C576CU77.js → chunk-VZD3ZV4Y.js} +26 -22
  106. package/dist/{chunk-NCT22MOD.js → chunk-WMIKC5XO.js} +2 -2
  107. package/dist/{chunk-C2WH3BMS.js → chunk-X326N4GN.js} +10 -7
  108. package/dist/chunk-XBJJP2HN.js +37 -0
  109. package/dist/{chunk-7NSNE52V.js → chunk-XCR3PDFF.js} +2 -2
  110. package/dist/{chunk-TF76LCZS.js → chunk-XDPJMLOH.js} +30 -27
  111. package/dist/{chunk-3LJNQ6LR.js → chunk-YKDZ3ZRI.js} +27 -25
  112. package/dist/{chunk-GLREDNBA.js → chunk-YVLTNNME.js} +12 -2
  113. package/dist/{chunk-76IBFEYW.js → chunk-ZGOBAMQ2.js} +15 -13
  114. package/dist/{chunk-AFR6GWXD.js → chunk-ZMCFUGKO.js} +49 -42
  115. package/dist/clock.js +11 -5
  116. package/dist/completion-registry.js +2 -2
  117. package/dist/countdown.js +26 -20
  118. package/dist/{d3--y67plmW.d.ts → d3-CQT5bwpb.d.ts} +1 -1
  119. package/dist/{dgmo-router-CY5j16Pl.d.ts → dgmo-router-C9CsswPZ.d.ts} +1 -1
  120. package/dist/{dgmo-router-A3LIHT6H.js → dgmo-router-XZNCLYTV.js} +30 -29
  121. package/dist/{dimensions-7NYBSZRJ.js → dimensions-SIZMZ4DC.js} +8 -8
  122. package/dist/{flowchart-renderer-QYGQ64BM.js → flowchart-renderer-FDJ4QQXE.js} +15 -14
  123. package/dist/index.d.ts +7 -7
  124. package/dist/index.js +58 -43
  125. package/dist/{layout-LAS67TK3.js → layout-5DZ2LI2R.js} +2 -2
  126. package/dist/{layout-ZAGUFT2G.js → layout-6I6LSBUR.js} +6 -5
  127. package/dist/{layout-2OJ25STS.js → layout-C2SCZV5M.js} +6 -5
  128. package/dist/{layout-6SKHNQYO.js → layout-CHWKNE3O.js} +3 -3
  129. package/dist/{layout-EM4DLMAX.js → layout-K4KML2DL.js} +3 -3
  130. package/dist/{layout-KQUSB45X.js → layout-S53FSD6R.js} +7 -6
  131. package/dist/{layout-ROORJQ4X.js → layout-TCFXB5XH.js} +7 -6
  132. package/dist/{layout-5ILNODTP.js → layout-XK6ZD7BU.js} +6 -5
  133. package/dist/{layout-B5GQVXXY.js → layout-YVY72CIG.js} +7 -6
  134. package/dist/{layout-VUZ3MLOI.js → layout-YY6VH5XH.js} +6 -5
  135. package/dist/{layout-RV2T2YTT.js → layout-ZDN252GR.js} +4 -3
  136. package/dist/{layout-search-UOKEMER5.js → layout-search-TSV4FURP.js} +7 -6
  137. package/dist/{legend-constants-PLN2YHGM.js → legend-constants-SB4PLHV5.js} +3 -3
  138. package/dist/{palettes-54YSI3IX.js → palettes-YIPSRYXP.js} +5 -3
  139. package/dist/{parser-GCVSRQPY.js → parser-2BX2EJUB.js} +3 -3
  140. package/dist/{parser-WVE6SKB7.js → parser-3UNIPVNY.js} +3 -3
  141. package/dist/{parser-5XFGK5C5.js → parser-4IHIVDJD.js} +5 -5
  142. package/dist/{parser-ZT3PU2HT.js → parser-62VNEQRT.js} +3 -3
  143. package/dist/{parser-PR3OR3LO.js → parser-6JNJHQAG.js} +3 -3
  144. package/dist/{parser-ZXQZZK6W.js → parser-6ZFQLLVE.js} +3 -2
  145. package/dist/{parser-WMJEPZDC.js → parser-BOPXE6RP.js} +3 -3
  146. package/dist/{parser-WWRRG2DV.js → parser-DFBQ2RID.js} +3 -3
  147. package/dist/{parser-2GMHFSTS.js → parser-EPKXJ2RL.js} +3 -3
  148. package/dist/{parser-ML3LVNDV.js → parser-G7E2BURB.js} +3 -3
  149. package/dist/{parser-QOIZGW7I.js → parser-GFGU5ZLQ.js} +3 -3
  150. package/dist/{parser-L7T7FY3H.js → parser-GKZWI5SZ.js} +3 -3
  151. package/dist/{parser-QYAIFXLP.js → parser-HSPODF4H.js} +3 -3
  152. package/dist/{parser-EQ4I3TSH.js → parser-IK3FXZ7D.js} +3 -3
  153. package/dist/{parser-LV7PQBUG.js → parser-LJWPKRDM.js} +3 -3
  154. package/dist/{parser-RDBXEVI4.js → parser-OYWUBQV4.js} +3 -3
  155. package/dist/{parser-6FUESG4N.js → parser-PD4TP6NM.js} +3 -3
  156. package/dist/{parser-E3OHNNTH.js → parser-R2JHC7LQ.js} +3 -3
  157. package/dist/{parser-CJNP7RKR.js → parser-RMZ6YI7H.js} +3 -3
  158. package/dist/{parser-TA5TYZNL.js → parser-RUJNN5PK.js} +3 -3
  159. package/dist/{parser-UTR5WE4O.js → parser-YWE7GHW6.js} +3 -3
  160. package/dist/{parser-3AOMUX5D.js → parser-Z5UK6ADF.js} +3 -3
  161. package/dist/{parser-YWQCC33R.js → parser-ZO5YT5SV.js} +3 -3
  162. package/dist/renderer-5TPUPMZ7.js +26 -0
  163. package/dist/{renderer-4EWGZLJ6.js → renderer-AIVALEQR.js} +7 -7
  164. package/dist/renderer-AMELXBNW.js +23 -0
  165. package/dist/renderer-BF7FYXG3.js +25 -0
  166. package/dist/renderer-CRRW7LTW.js +17 -0
  167. package/dist/renderer-CXU2MGSC.js +27 -0
  168. package/dist/renderer-DI66RLAG.js +30 -0
  169. package/dist/renderer-E2JTYQY5.js +39 -0
  170. package/dist/{renderer-ZAJ5353N.js → renderer-FA4BTAOL.js} +7 -7
  171. package/dist/{renderer-GF6S5ZX6.js → renderer-FFGFTIT4.js} +15 -14
  172. package/dist/renderer-IVAM7Z3Y.js +27 -0
  173. package/dist/renderer-J6HK2KOW.js +23 -0
  174. package/dist/renderer-J7J3OVLQ.js +39 -0
  175. package/dist/{renderer-QAMOXOZ2.js → renderer-JC7MK7SD.js} +6 -5
  176. package/dist/{renderer-CGOPX4HW.js → renderer-JHQC5RGJ.js} +14 -14
  177. package/dist/renderer-JRITSZY3.js +28 -0
  178. package/dist/{renderer-E6NHTVN6.js → renderer-KD5X4RIS.js} +14 -13
  179. package/dist/{renderer-OTHBTGBN.js → renderer-KWNNWCGD.js} +6 -5
  180. package/dist/{renderer-EP4GRCDX.js → renderer-LGMIAG6N.js} +7 -6
  181. package/dist/{renderer-IH45QV6Z.js → renderer-LQN3FXAP.js} +33 -32
  182. package/dist/renderer-LRL4SU43.js +29 -0
  183. package/dist/{renderer-D7N7PPB7.js → renderer-MBL64AJI.js} +6 -6
  184. package/dist/renderer-NA3DTAWF.js +39 -0
  185. package/dist/renderer-OR5QHR7X.js +31 -0
  186. package/dist/renderer-SBVWHQVW.js +30 -0
  187. package/dist/{renderer-KMOGGMM7.js → renderer-TLOSBJKW.js} +13 -13
  188. package/dist/{renderer-LE3ZKHNS.js → renderer-UDWJRRIC.js} +11 -11
  189. package/dist/renderer-VHK6UAW2.js +20 -0
  190. package/dist/{renderer-FUJNSC5X.js → renderer-W5UG2HWT.js} +5 -5
  191. package/dist/renderer-WOOKJOBQ.js +25 -0
  192. package/dist/renderer-WYNLGZRF.js +25 -0
  193. package/dist/{renderer-BUEFD2IF.js → renderer-Y74Y54C3.js} +8 -8
  194. package/dist/renderer-ZUAXGHFC.js +28 -0
  195. package/dist/renderer-radial-YVUDGR7C.js +21 -0
  196. package/dist/{state-parser-TPA67IXM.js → state-parser-CT5HQQ7E.js} +3 -3
  197. package/dist/state-renderer-7O3QGNJ5.js +41 -0
  198. package/dist/{tag-groups-DrHT2tEc.d.ts → tag-groups-BoJg3lFV.d.ts} +23 -1
  199. package/dist/{themes-GWhsabnx.d.ts → themes-CXYnNA4e.d.ts} +2 -2
  200. package/docs/architecture-report.md +3 -3
  201. package/docs/language-reference.md +122 -30
  202. package/docs/migration-sequence-color-to-tags.md +16 -8
  203. package/gallery/fixtures/sketch.dgmo +1 -1
  204. package/package.json +7 -6
  205. package/dist/charts-d3-SQEVMIAM.js +0 -29
  206. package/dist/chunk-LP7EC4MI.js +0 -16
  207. package/dist/chunk-UTCPNJND.js +0 -7
  208. package/dist/chunk-VV6HZQ5K.js +0 -40
  209. package/dist/renderer-3FB56573.js +0 -22
  210. package/dist/renderer-4PNVGHVA.js +0 -16
  211. package/dist/renderer-5W3HWIUL.js +0 -24
  212. package/dist/renderer-CO5O5VR5.js +0 -20
  213. package/dist/renderer-DKW273R7.js +0 -26
  214. package/dist/renderer-F24V3RD3.js +0 -26
  215. package/dist/renderer-F6WSR7UM.js +0 -39
  216. package/dist/renderer-FGGDZZFQ.js +0 -31
  217. package/dist/renderer-GJDVPXI3.js +0 -30
  218. package/dist/renderer-JMJ7Q5OC.js +0 -28
  219. package/dist/renderer-LBNVKVO3.js +0 -39
  220. package/dist/renderer-MUW4G2N6.js +0 -38
  221. package/dist/renderer-PIEPRK6M.js +0 -23
  222. package/dist/renderer-PKRKLOYR.js +0 -25
  223. package/dist/renderer-PR3KLNST.js +0 -28
  224. package/dist/renderer-RUHC6D3B.js +0 -25
  225. package/dist/renderer-UUP6OX6F.js +0 -27
  226. package/dist/renderer-UYZSP7MF.js +0 -25
  227. package/dist/renderer-XBL6CLN2.js +0 -30
  228. package/dist/renderer-radial-MZP3SVTZ.js +0 -21
  229. package/dist/state-renderer-UIE3AQM6.js +0 -40
@@ -1,41 +1,41 @@
1
1
  import {
2
2
  renderInlineText
3
- } from "./chunk-WGC42WJU.js";
3
+ } from "./chunk-FWNJDD4U.js";
4
4
  import {
5
5
  layoutInlineHeader
6
- } from "./chunk-MG3DE3VO.js";
6
+ } from "./chunk-FLMXJMMY.js";
7
7
  import {
8
8
  TITLE_FONT_SIZE,
9
9
  TITLE_FONT_WEIGHT,
10
10
  TITLE_Y
11
- } from "./chunk-DEW62ON3.js";
11
+ } from "./chunk-VSPNH7LC.js";
12
12
  import {
13
13
  renderIntegratedLegend
14
- } from "./chunk-QT5UMFPE.js";
14
+ } from "./chunk-67I3HFSF.js";
15
15
  import {
16
16
  getLegendExtent,
17
17
  getMaxLegendReservedHeight
18
- } from "./chunk-4SXHMFFP.js";
18
+ } from "./chunk-IZTU6WVR.js";
19
19
  import {
20
20
  FONT_FAMILY
21
- } from "./chunk-UTCPNJND.js";
21
+ } from "./chunk-ICLB27PZ.js";
22
22
  import {
23
23
  LEGEND_GROUP_GAP
24
- } from "./chunk-YT5ICQ4R.js";
24
+ } from "./chunk-MFK7LF66.js";
25
25
  import {
26
26
  measureText
27
27
  } from "./chunk-MTGGOCND.js";
28
28
  import {
29
29
  resolveTagColor,
30
30
  tagAttrKey
31
- } from "./chunk-76LHNLGX.js";
31
+ } from "./chunk-R4YGH7DJ.js";
32
32
  import {
33
33
  contrastText,
34
34
  getSeriesColors,
35
35
  mix,
36
36
  shapeFill,
37
37
  themeBaseBg
38
- } from "./chunk-GLREDNBA.js";
38
+ } from "./chunk-YVLTNNME.js";
39
39
  import {
40
40
  resolveColor
41
41
  } from "./chunk-XOGQY4EC.js";
@@ -806,14 +806,14 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
806
806
  "fill",
807
807
  fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(c, palette.bg, isDark ? 20 : 14)
808
808
  ).attr("stroke", fillMode === "outline" ? c : mix(c, palette.bg, 55)).attr("stroke-width", 1);
809
- 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, true));
809
+ root.append("text").attr("x", (s.x0 + s.x1) / 2).attr("y", 18).attr("text-anchor", "middle").attr("font-size", 13).attr("font-weight", "bold").attr("letter-spacing", 0.3).attr("fill", c).text(clip(s.label, s.x1 - s.x0, 13, true));
810
810
  }
811
811
  for (const col of layout.columns) {
812
812
  const c = col.color ? resolveColor(col.color, palette) ?? col.color : basePaint.muted;
813
813
  const covered = layout.sideLabels.some(
814
814
  (s) => col.x >= s.x0 && col.x <= s.x1
815
815
  );
816
- root.append("text").attr("x", col.x).attr("y", covered ? roundY : 22).attr("text-anchor", "middle").attr("font-size", covered ? 14 : 15).attr("font-weight", covered ? 700 : 800).attr("fill", c).attr("letter-spacing", 0.4).text(clip(col.label, BOX_W + 20, covered ? 14 : 15, true));
816
+ root.append("text").attr("x", col.x).attr("y", covered ? roundY : 22).attr("text-anchor", "middle").attr("font-size", covered ? 14 : 15).attr("font-weight", "bold").attr("fill", c).attr("letter-spacing", 0.4).text(clip(col.label, BOX_W + 20, covered ? 14 : 15, true));
817
817
  }
818
818
  for (const m of layout.matches) {
819
819
  drawConnector(root, m, m.topFrom, m.y - HALF_SPAN2, basePaint);
@@ -905,26 +905,26 @@ function drawBox(g, cx, cy, name, info, sidePaint, palette, isDark, m, activeKey
905
905
  let sw = 1.25;
906
906
  let dash = null;
907
907
  let textColor = paint.ink;
908
- let weight = 600;
908
+ let weight = "bold";
909
909
  if (info.isChampion) {
910
910
  fill = paint.tint;
911
911
  stroke = paint.accent;
912
912
  sw = 3;
913
- weight = 800;
913
+ weight = "bold";
914
914
  } else if (isTBD) {
915
915
  fill = paint.track;
916
916
  dash = "4 4";
917
917
  textColor = paint.muted;
918
- weight = 500;
918
+ weight = "normal";
919
919
  } else if (info.isWinner) {
920
920
  fill = paint.tint;
921
921
  stroke = paint.accent;
922
922
  sw = 2;
923
- weight = 700;
923
+ weight = "bold";
924
924
  } else if (info.isLoser) {
925
925
  stroke = paint.hair;
926
926
  textColor = paint.muted;
927
- weight = 500;
927
+ weight = "normal";
928
928
  } else if (info.pending) {
929
929
  stroke = mix(paint.accent, paint.hair, 50);
930
930
  }
@@ -939,7 +939,7 @@ function drawBox(g, cx, cy, name, info, sidePaint, palette, isDark, m, activeKey
939
939
  if (dash) rect.attr("stroke-dasharray", dash);
940
940
  let leftPad = 11;
941
941
  if (info.seed !== null) {
942
- 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);
942
+ cell.append("text").attr("x", x + 9).attr("y", cy + 4).attr("text-anchor", "start").attr("font-size", 10).attr("font-weight", "bold").attr("fill", gutterColor).text(info.seed);
943
943
  leftPad = 9 + Math.max(12, measureText(String(info.seed), 10, { bold: true })) + 6;
944
944
  }
945
945
  let rightPad = 11;
@@ -953,11 +953,11 @@ function drawBox(g, cx, cy, name, info, sidePaint, palette, isDark, m, activeKey
953
953
  isTBD ? "TBD" : name,
954
954
  BOX_W - leftPad - rightPad,
955
955
  12.5,
956
- weight >= 600
956
+ weight === "bold"
957
957
  )
958
958
  );
959
959
  if (info.score) {
960
- 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);
960
+ 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 ? "bold" : "normal").attr("fill", info.isWinner ? textColor : gutterColor).text(info.score);
961
961
  }
962
962
  }
963
963
  function drawHome(cell, hx, cy, color) {
@@ -967,7 +967,7 @@ function drawHome(cell, hx, cy, color) {
967
967
  cell.append("path").attr("d", d).attr("fill", "none").attr("stroke", color).attr("stroke-width", 1.2).attr("stroke-linejoin", "round");
968
968
  }
969
969
  function drawUpset(g, m, paint) {
970
- g.append("text").attr("x", m.x + BOX_W / 2).attr("y", m.y - HALF_SPAN2 - BOX_H / 2 - 4).attr("text-anchor", "end").attr("font-size", 9).attr("font-weight", 800).attr("letter-spacing", 0.6).attr("fill", paint.accent).text("UPSET");
970
+ g.append("text").attr("x", m.x + BOX_W / 2).attr("y", m.y - HALF_SPAN2 - BOX_H / 2 - 4).attr("text-anchor", "end").attr("font-size", 9).attr("font-weight", "bold").attr("letter-spacing", 0.6).attr("fill", paint.accent).text("UPSET");
971
971
  }
972
972
  function drawCommentary(g, m, palette) {
973
973
  const x = m.x - BOX_W / 2 + 2;
@@ -1001,4 +1001,4 @@ export {
1001
1001
  renderBracket,
1002
1002
  renderBracketForExport
1003
1003
  };
1004
- //# sourceMappingURL=chunk-HGFKDSKZ.js.map
1004
+ //# sourceMappingURL=chunk-BJB4YDJP.js.map
@@ -9,7 +9,7 @@ import {
9
9
  var SKETCH_PHI = (1 + Math.sqrt(5)) / 2;
10
10
  var SKETCH_GEOMETRY = {
11
11
  /** px per grid cell (the dot-grid pitch) */
12
- cellPx: 26,
12
+ cellPx: 16,
13
13
  /** universal footprint width, in grid cells */
14
14
  footprintCellsW: 8,
15
15
  /**
@@ -19,9 +19,9 @@ var SKETCH_GEOMETRY = {
19
19
  gapCellsX: 4,
20
20
  gapCellsY: 4,
21
21
  /** box reserved top band, px (spec decision 12) */
22
- bandPx: 44,
22
+ bandPx: 28,
23
23
  /** box frame padding around the children bbox, px */
24
- boxPadPx: 26,
24
+ boxPadPx: 16,
25
25
  /** edge-ring (connect hook) width as a fraction of footprint height */
26
26
  ringFrac: 0.22
27
27
  };
@@ -95,22 +95,28 @@ function unitRect(c, r) {
95
95
  return { c, r, w: SKETCH_SEP, h: SKETCH_SEP };
96
96
  }
97
97
  var childBoxAt = /* @__PURE__ */ new Map();
98
+ function firstFreeOnRing(base, occupied, d) {
99
+ for (let quadrant = 0; quadrant < 4; quadrant++) {
100
+ for (let dr = -d; dr <= d; dr++) {
101
+ const r = base.r + dr;
102
+ const spread = d - Math.abs(dr);
103
+ for (const c of spread === 0 ? [base.c] : [base.c - spread, base.c + spread]) {
104
+ const cost = (r < base.r ? 2 : 0) + (c < base.c ? 1 : 0);
105
+ if (cost !== quadrant) continue;
106
+ if (!occupied.hits({ ...base, c, r })) return { c, r };
107
+ }
108
+ }
109
+ }
110
+ return null;
111
+ }
98
112
  function nearestFreeRect(base, occupied) {
99
113
  if (!occupied.hits(base)) return { c: base.c, r: base.r };
100
- for (let d = 1; d <= 200; d++) {
101
- const candidates = [];
102
- for (let dc = -d; dc <= d; dc++) {
103
- const dr = d - Math.abs(dc);
104
- candidates.push({ c: base.c + dc, r: base.r + dr });
105
- if (dr !== 0) candidates.push({ c: base.c + dc, r: base.r - dr });
106
- }
107
- candidates.sort((a, b) => {
108
- const costA = (a.r < base.r ? 2 : 0) + (a.c < base.c ? 1 : 0);
109
- const costB = (b.r < base.r ? 2 : 0) + (b.c < base.c ? 1 : 0);
110
- return costA - costB || a.r - b.r || a.c - b.c;
111
- });
112
- for (const cand of candidates) {
113
- if (!occupied.hits({ ...base, c: cand.c, r: cand.r })) return cand;
114
+ const key = `${base.c},${base.r},${base.w},${base.h}`;
115
+ for (let d = occupied.ringStart.get(key) ?? 1; d <= 200; d++) {
116
+ const found = firstFreeOnRing(base, occupied, d);
117
+ if (found) {
118
+ occupied.ringStart.set(key, d);
119
+ return found;
114
120
  }
115
121
  }
116
122
  return { c: base.c, r: base.r };
@@ -136,6 +142,17 @@ var Occupancy = class {
136
142
  oversized = [];
137
143
  /** Every rect, in insertion order — the extent and flow-origin maths want it. */
138
144
  rects = [];
145
+ /**
146
+ * The ring a search from a given base last had to reach, keyed by that base.
147
+ *
148
+ * Slots are only ever taken here, never given back, so a ring that was full
149
+ * once is full for the rest of the layout. The next unit authored at the
150
+ * same slot can therefore start where the last one finished instead of
151
+ * re-walking every ring inside it — which is what made a stack of shapes on
152
+ * one coordinate cost more than linear even with the collision index in
153
+ * place (#484). Skipping proven-full rings cannot change where a unit lands.
154
+ */
155
+ ringStart = /* @__PURE__ */ new Map();
139
156
  add(rect) {
140
157
  this.rects.push(rect);
141
158
  const range = cellRange(rect);
@@ -173,22 +190,12 @@ var Occupancy = class {
173
190
  };
174
191
  function nearestFree(base, occupied) {
175
192
  if (!occupied.hits(base)) return { c: base.c, r: base.r };
176
- for (let d = 1; d <= 200; d++) {
177
- const candidates = [];
178
- for (let dc = -d; dc <= d; dc++) {
179
- const dr = d - Math.abs(dc);
180
- candidates.push({ c: base.c + dc, r: base.r + dr });
181
- if (dr !== 0) candidates.push({ c: base.c + dc, r: base.r - dr });
182
- }
183
- candidates.sort((a, b) => {
184
- const costA = (a.r < base.r ? 2 : 0) + (a.c < base.c ? 1 : 0);
185
- const costB = (b.r < base.r ? 2 : 0) + (b.c < base.c ? 1 : 0);
186
- return costA - costB || a.r - b.r || a.c - b.c;
187
- });
188
- for (const cand of candidates) {
189
- if (!occupied.hits({ ...base, c: cand.c, r: cand.r })) {
190
- return cand;
191
- }
193
+ const key = `${base.c},${base.r},${base.w},${base.h}`;
194
+ for (let d = occupied.ringStart.get(key) ?? 1; d <= 200; d++) {
195
+ const found = firstFreeOnRing(base, occupied, d);
196
+ if (found) {
197
+ occupied.ringStart.set(key, d);
198
+ return found;
192
199
  }
193
200
  }
194
201
  return { c: base.c, r: base.r };
@@ -706,4 +713,4 @@ export {
706
713
  SKETCH_AUTO_LAYOUT_DEFAULTS,
707
714
  layoutSketch
708
715
  };
709
- //# sourceMappingURL=chunk-BZQCAZZZ.js.map
716
+ //# sourceMappingURL=chunk-BPM52K3Z.js.map
@@ -3,31 +3,34 @@ import {
3
3
  layoutJourneyMap,
4
4
  scoreToColor,
5
5
  scoreToCurveY
6
- } from "./chunk-F4V67JXG.js";
6
+ } from "./chunk-CTERZC4K.js";
7
7
  import {
8
8
  wrapNoteBody
9
- } from "./chunk-MU3CJPJF.js";
9
+ } from "./chunk-LGI735AJ.js";
10
10
  import {
11
11
  NOTE_BULLET_INDENT
12
12
  } from "./chunk-5DH3KYFH.js";
13
13
  import {
14
14
  renderInlineText
15
- } from "./chunk-WGC42WJU.js";
16
- import {
17
- CARD_RADIUS
18
- } from "./chunk-FJ57274M.js";
15
+ } from "./chunk-FWNJDD4U.js";
19
16
  import {
20
17
  ScaleContext
21
18
  } from "./chunk-24YPR5EH.js";
19
+ import {
20
+ CARD_RADIUS,
21
+ CONTAINER_RADIUS,
22
+ GRID_DASH,
23
+ NODE_STROKE_WIDTH
24
+ } from "./chunk-IIEI7VK5.js";
22
25
  import {
23
26
  serializeSvg
24
- } from "./chunk-RU2HHHYA.js";
27
+ } from "./chunk-LD2JSKU3.js";
25
28
  import {
26
29
  renderIntegratedLegend
27
- } from "./chunk-QT5UMFPE.js";
30
+ } from "./chunk-67I3HFSF.js";
28
31
  import {
29
32
  FONT_FAMILY
30
- } from "./chunk-UTCPNJND.js";
33
+ } from "./chunk-ICLB27PZ.js";
31
34
  import {
32
35
  measureText,
33
36
  truncateText,
@@ -35,11 +38,11 @@ import {
35
38
  } from "./chunk-MTGGOCND.js";
36
39
  import {
37
40
  parseJourneyMap
38
- } from "./chunk-2QRIMMIH.js";
41
+ } from "./chunk-N56W4R66.js";
39
42
  import {
40
43
  resolveActiveTagGroup,
41
44
  tagAttrKey
42
- } from "./chunk-76LHNLGX.js";
45
+ } from "./chunk-R4YGH7DJ.js";
43
46
  import {
44
47
  fillModeFromOptions
45
48
  } from "./chunk-M5OOAP65.js";
@@ -48,7 +51,7 @@ import {
48
51
  mix,
49
52
  shapeFill,
50
53
  themeBaseBg
51
- } from "./chunk-GLREDNBA.js";
54
+ } from "./chunk-YVLTNNME.js";
52
55
 
53
56
  // src/journey-map/renderer.ts
54
57
  import * as d3 from "d3-selection";
@@ -58,10 +61,8 @@ var PADDING = DIAGRAM_PADDING;
58
61
  var CARD_PADDING_X = 10;
59
62
  var CARD_PADDING_Y = 6;
60
63
  var CARD_HEADER_HEIGHT = 24;
61
- var CARD_STROKE_WIDTH = 1.5;
62
64
  var CARD_META_LINE_HEIGHT = 14;
63
65
  var CARD_GAP_INTERNAL = 8;
64
- var COLUMN_RADIUS = 8;
65
66
  var COLUMN_HEADER_HEIGHT = 36;
66
67
  var COLUMN_PADDING = 12;
67
68
  var FONT_SIZE_TITLE = 18;
@@ -173,8 +174,8 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
173
174
  1.2,
174
175
  fillMode
175
176
  );
176
- 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);
177
- 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(
177
+ 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", NODE_STROKE_WIDTH);
178
+ personaG.append("text").attr("x", textX).attr("y", panelY + CARD_PADDING_Y + FONT_SIZE_STEP).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "normal").attr("fill", onPersonaText).text(
178
179
  truncateText(parsed.persona.name, FONT_SIZE_STEP, textAreaWidth)
179
180
  );
180
181
  for (let li = 0; li < descLines.length; li++) {
@@ -270,7 +271,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
270
271
  const curveG = svg.append("g").attr("class", "journey-curve-area");
271
272
  for (let score = 1; score <= 5; score++) {
272
273
  const y = scoreToCurveY(score, layout.curveAreaBottom);
273
- curveG.append("line").attr("x1", PADDING).attr("x2", layout.totalWidth - PADDING).attr("y1", y).attr("y2", y).attr("stroke", palette.textMuted).attr("stroke-opacity", GRID_LINE_OPACITY).attr("stroke-dasharray", "4,4");
274
+ curveG.append("line").attr("x1", PADDING).attr("x2", layout.totalWidth - PADDING).attr("y1", y).attr("y2", y).attr("stroke", palette.textMuted).attr("stroke-opacity", GRID_LINE_OPACITY).attr("stroke-dasharray", GRID_DASH);
274
275
  }
275
276
  if (layout.curvePoints.length >= 2) {
276
277
  const first = layout.curvePoints[0];
@@ -376,9 +377,9 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
376
377
  const isCollapsed = collapsedPhases.has(pl.phase.name);
377
378
  const phaseG = phasesG.append("g").attr("class", "journey-phase").attr("data-line-number", pl.phase.lineNumber);
378
379
  const colBg = isDark ? mix(palette.surface, palette.bg, 50) : mix(palette.surface, palette.bg, 30);
379
- phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", pl.height).attr("rx", COLUMN_RADIUS).attr("fill", colBg);
380
- phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", COLUMN_HEADER_HEIGHT).attr("rx", COLUMN_RADIUS).attr("fill", pl.headerColor);
381
- phaseG.append("rect").attr("x", pl.x).attr("y", pl.y + COLUMN_HEADER_HEIGHT - COLUMN_RADIUS).attr("width", pl.width).attr("height", COLUMN_RADIUS).attr("fill", pl.headerColor);
380
+ phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", pl.height).attr("rx", CONTAINER_RADIUS).attr("fill", colBg);
381
+ phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", COLUMN_HEADER_HEIGHT).attr("rx", CONTAINER_RADIUS).attr("fill", pl.headerColor);
382
+ phaseG.append("rect").attr("x", pl.x).attr("y", pl.y + COLUMN_HEADER_HEIGHT - CONTAINER_RADIUS).attr("width", pl.width).attr("height", CONTAINER_RADIUS).attr("fill", pl.headerColor);
382
383
  const onHeaderText = contrastText(
383
384
  pl.headerColor,
384
385
  palette.textOnFillLight,
@@ -435,7 +436,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
435
436
  { mode: fillMode }
436
437
  );
437
438
  const rowStroke = stepColor ?? palette.textMuted;
438
- 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);
439
+ 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", NODE_STROKE_WIDTH);
439
440
  const faceCx = listX + CARD_PADDING_X + COLLAPSED_FACE_R;
440
441
  const faceCy = itemY + COLLAPSED_CARD_H / 2;
441
442
  if (step.score !== void 0) {
@@ -567,8 +568,8 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
567
568
  const scoreColor = scoreToColor(score, palette);
568
569
  const tintedBg = fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(scoreColor, palette.surface, 20);
569
570
  const g = overlayG.append("g").attr("class", "journey-thought-hover");
570
- 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);
571
- 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);
571
+ 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", NODE_STROKE_WIDTH);
572
+ 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", NODE_STROKE_WIDTH);
572
573
  const centerX = bx + bw / 2;
573
574
  for (let i = 0; i < lines.length; i++) {
574
575
  g.append("text").attr("x", centerX).attr("y", by + THOUGHT_PAD_Y + (i + 1) * THOUGHT_LINE_H - 2).attr("text-anchor", "middle").attr("font-size", THOUGHT_FONT).attr("font-style", "italic").attr("fill", palette.textMuted).text(lines[i]);
@@ -688,11 +689,11 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
688
689
  palette.textOnFillLight,
689
690
  palette.textOnFillDark
690
691
  );
691
- stepG.append("rect").attr("x", cx).attr("y", cy).attr("width", sl.width).attr("height", sl.height).attr("rx", CARD_RADIUS).attr("fill", cardFill).attr("stroke", cardStroke).attr("stroke-width", CARD_STROKE_WIDTH);
692
+ stepG.append("rect").attr("x", cx).attr("y", cy).attr("width", sl.width).attr("height", sl.height).attr("rx", CARD_RADIUS).attr("fill", cardFill).attr("stroke", cardStroke).attr("stroke-width", NODE_STROKE_WIDTH);
692
693
  const titleMaxW = sl.width - CARD_PADDING_X * 2;
693
694
  const titleLines = wrapTextToWidth(sl.step.title, FONT_SIZE_STEP, titleMaxW);
694
695
  for (let i = 0; i < titleLines.length; i++) {
695
- stepG.append("text").attr("x", cx + CARD_PADDING_X).attr("y", cy + CARD_PADDING_Y + FONT_SIZE_STEP + i * TITLE_LINE_HEIGHT).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "500").attr("fill", onCardText).text(titleLines[i]);
696
+ stepG.append("text").attr("x", cx + CARD_PADDING_X).attr("y", cy + CARD_PADDING_Y + FONT_SIZE_STEP + i * TITLE_LINE_HEIGHT).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "normal").attr("fill", onCardText).text(titleLines[i]);
696
697
  }
697
698
  const titleBlockH = CARD_PADDING_Y + titleLines.length * TITLE_LINE_HEIGHT + CARD_PADDING_Y;
698
699
  const cardAnnotations = sl.step.annotations;
@@ -747,7 +748,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
747
748
  const stripFill = shapeFill(palette, stripColor, isDark, {
748
749
  mode: fillMode
749
750
  });
750
- 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);
751
+ 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", NODE_STROKE_WIDTH);
751
752
  const stripTextColor = contrastText(
752
753
  stripFill,
753
754
  palette.textOnFillLight,
@@ -809,7 +810,7 @@ function addEmotionLabel(faceG, pt, palette) {
809
810
  EMOTION_LABEL_MAX_WIDTH
810
811
  );
811
812
  const y = pt.y + FACE_RADIUS + 5 + EMOTION_LABEL_FONT_SIZE;
812
- faceG.append("text").attr("class", "journey-emotion-label").attr("x", pt.x).attr("y", y).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", EMOTION_LABEL_FONT_SIZE).attr("font-weight", 500).attr("fill", palette.text).attr("stroke", palette.bg).attr("stroke-width", 3).attr("stroke-linejoin", "round").attr("stroke-opacity", 0.8).attr("paint-order", "stroke").attr("pointer-events", "none").text(text);
813
+ faceG.append("text").attr("class", "journey-emotion-label").attr("x", pt.x).attr("y", y).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", EMOTION_LABEL_FONT_SIZE).attr("font-weight", "normal").attr("fill", palette.text).attr("stroke", palette.bg).attr("stroke-width", 3).attr("stroke-linejoin", "round").attr("stroke-opacity", 0.8).attr("paint-order", "stroke").attr("pointer-events", "none").text(text);
813
814
  }
814
815
  function annotationColor(type, palette) {
815
816
  switch (type) {
@@ -877,4 +878,4 @@ export {
877
878
  renderJourneyMap,
878
879
  renderJourneyMapForExport
879
880
  };
880
- //# sourceMappingURL=chunk-HFCKU73Y.js.map
881
+ //# sourceMappingURL=chunk-BSREARWG.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  mix,
10
10
  shapeFill
11
- } from "./chunk-GLREDNBA.js";
11
+ } from "./chunk-YVLTNNME.js";
12
12
 
13
13
  // src/journey-map/layout.ts
14
14
  var PADDING = 24;
@@ -290,4 +290,4 @@ export {
290
290
  scoreToCurveY,
291
291
  layoutJourneyMap
292
292
  };
293
- //# sourceMappingURL=chunk-F4V67JXG.js.map
293
+ //# sourceMappingURL=chunk-CTERZC4K.js.map
@@ -12,24 +12,24 @@ import {
12
12
  import {
13
13
  TITLE_FONT_SIZE,
14
14
  TITLE_Y
15
- } from "./chunk-DEW62ON3.js";
15
+ } from "./chunk-VSPNH7LC.js";
16
16
  import {
17
17
  compactNumber,
18
18
  computeLegendLayout
19
- } from "./chunk-4SXHMFFP.js";
19
+ } from "./chunk-IZTU6WVR.js";
20
20
  import {
21
21
  measureLegendText
22
- } from "./chunk-YT5ICQ4R.js";
22
+ } from "./chunk-MFK7LF66.js";
23
23
  import {
24
24
  tagAttrKey
25
- } from "./chunk-76LHNLGX.js";
25
+ } from "./chunk-R4YGH7DJ.js";
26
26
  import {
27
27
  contrastRatio,
28
28
  mix,
29
29
  politicalTints,
30
30
  relativeLuminance,
31
31
  valueRampColor
32
- } from "./chunk-GLREDNBA.js";
32
+ } from "./chunk-YVLTNNME.js";
33
33
  import {
34
34
  resolveColor
35
35
  } from "./chunk-XOGQY4EC.js";
@@ -3406,4 +3406,4 @@ export {
3406
3406
  albersSkewFallback,
3407
3407
  layoutMap
3408
3408
  };
3409
- //# sourceMappingURL=chunk-FMZEU7MF.js.map
3409
+ //# sourceMappingURL=chunk-CYLSQO4L.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  buildMapProjection
3
- } from "./chunk-FMZEU7MF.js";
3
+ } from "./chunk-CYLSQO4L.js";
4
4
  import {
5
5
  TITLE_FONT_SIZE,
6
6
  TITLE_Y
7
- } from "./chunk-DEW62ON3.js";
7
+ } from "./chunk-VSPNH7LC.js";
8
8
 
9
9
  // src/map/dimensions.ts
10
10
  import { geoPath } from "d3-geo";
@@ -51,4 +51,4 @@ export {
51
51
  mapContentAspect,
52
52
  mapExportDimensions
53
53
  };
54
- //# sourceMappingURL=chunk-JLJ7SP4X.js.map
54
+ //# sourceMappingURL=chunk-DCPD5SHV.js.map