@diagrammo/dgmo 0.48.2 → 0.49.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 (216) hide show
  1. package/.cursorrules +8 -3
  2. package/.github/copilot-instructions.md +8 -3
  3. package/.windsurfrules +8 -3
  4. package/SKILL.md +8 -3
  5. package/dist/advanced.d.ts +444 -1
  6. package/dist/advanced.js +208 -146
  7. package/dist/auto.css +63 -0
  8. package/dist/auto.js +202 -102
  9. package/dist/auto.mjs +6849 -824
  10. package/dist/block.css +63 -0
  11. package/dist/block.d.ts +13 -5
  12. package/dist/block.js +137 -57
  13. package/dist/{charts-d3-QOZHKTCT.js → charts-d3-EW3YQTEA.js} +9 -8
  14. package/dist/chunk-26RVGM44.js +331 -0
  15. package/dist/{chunk-44CM72SQ.js → chunk-2WMBWZY2.js} +3 -3
  16. package/dist/{chunk-L66GEFB6.js → chunk-35BBZDFE.js} +4 -4
  17. package/dist/{chunk-4GRI7MEB.js → chunk-3BIAFYD2.js} +6 -6
  18. package/dist/chunk-3NFJWFNP.js +1474 -0
  19. package/dist/{chunk-76OWZ3BA.js → chunk-4BD7EVPK.js} +2 -2
  20. package/dist/{chunk-MITI6NOL.js → chunk-4FIV4K4Z.js} +9 -9
  21. package/dist/chunk-4HVNZ7WF.js +574 -0
  22. package/dist/{chunk-X5LCYCL5.js → chunk-4NQ3IKUM.js} +2 -2
  23. package/dist/{chunk-PWIHZ6NJ.js → chunk-4UDKKGHH.js} +4 -4
  24. package/dist/{chunk-6NYWYNBI.js → chunk-4XK3FLFB.js} +3 -3
  25. package/dist/chunk-4YNP6O47.js +607 -0
  26. package/dist/{chunk-3MQQNXPD.js → chunk-5FGDJIJX.js} +3 -3
  27. package/dist/{chunk-WCT3NYCV.js → chunk-5LWQH6QV.js} +1 -1
  28. package/dist/chunk-5XCM7UUW.js +261 -0
  29. package/dist/{chunk-RYEGFMUO.js → chunk-5ZZLLBFK.js} +2 -2
  30. package/dist/{chunk-EB6FPQUP.js → chunk-65RTDUZH.js} +3 -3
  31. package/dist/chunk-6CLKNXVP.js +664 -0
  32. package/dist/{chunk-H6PI3KJT.js → chunk-6IUAK7RZ.js} +2 -2
  33. package/dist/{chunk-ZGR7ULFJ.js → chunk-6SA7FJE4.js} +31 -19
  34. package/dist/{chunk-LIOHW36Z.js → chunk-6VE3VLWM.js} +3 -3
  35. package/dist/{chunk-AN2MOO5T.js → chunk-7OVSJI2V.js} +3 -3
  36. package/dist/{chunk-YAA6IID3.js → chunk-7UEMZREK.js} +2 -2
  37. package/dist/{chunk-FCIIHT24.js → chunk-7VLUGEMJ.js} +7 -7
  38. package/dist/{chunk-VOKGH627.js → chunk-AHGF2YYA.js} +13 -3
  39. package/dist/{chunk-3R5POCTZ.js → chunk-AJ2PEY7J.js} +6 -6
  40. package/dist/{chunk-PBHE5UG6.js → chunk-ALRHIR6I.js} +46 -12
  41. package/dist/{chunk-7JEGTRLD.js → chunk-B57V3DWN.js} +3 -3
  42. package/dist/{chunk-ILKORZ3H.js → chunk-BCT5G2VN.js} +7 -7
  43. package/dist/{chunk-TYS6CSS5.js → chunk-BCYVE3N5.js} +2 -2
  44. package/dist/{chunk-ZBWMSD5N.js → chunk-BGJV5ATD.js} +4 -4
  45. package/dist/{chunk-G2H74XJZ.js → chunk-BPIJLRYE.js} +8 -8
  46. package/dist/{chunk-YGJTDXVR.js → chunk-C4GQDB5L.js} +2 -2
  47. package/dist/{chunk-Y2ZE3MSG.js → chunk-C63UWAKM.js} +2 -2
  48. package/dist/{chunk-QEBUY5NY.js → chunk-CEHZOPGM.js} +4 -4
  49. package/dist/{chunk-725LDASD.js → chunk-CLD2OKV7.js} +2 -2
  50. package/dist/{chunk-5QXL4NYS.js → chunk-CLR4A2N2.js} +10 -5
  51. package/dist/{chunk-WBRZJOEC.js → chunk-CMCR5WBW.js} +3 -3
  52. package/dist/{chunk-SML67VPV.js → chunk-D5AVQCDN.js} +3 -3
  53. package/dist/{chunk-2LACINWN.js → chunk-DDTJ5N7Q.js} +9 -9
  54. package/dist/{chunk-FITOLXSX.js → chunk-EOFPYPAU.js} +26 -2
  55. package/dist/{chunk-B65G5DNL.js → chunk-EYN7VFKL.js} +3 -3
  56. package/dist/{chunk-4OHACBGX.js → chunk-F2L5GCQ4.js} +2 -2
  57. package/dist/{chunk-RVMRZAPB.js → chunk-F743CM2N.js} +3 -3
  58. package/dist/{chunk-3JLKYGBQ.js → chunk-F7BFXWNQ.js} +2 -2
  59. package/dist/{chunk-WCSOJFU3.js → chunk-FMKTYMP4.js} +3 -3
  60. package/dist/{chunk-RTLBSQ3G.js → chunk-FUCAB3KQ.js} +3 -3
  61. package/dist/{chunk-SGZYXELT.js → chunk-GB3YZTAM.js} +9 -6
  62. package/dist/{chunk-QLCCJEJI.js → chunk-HBVD67XG.js} +2 -2
  63. package/dist/{chunk-PBAHEPLQ.js → chunk-HGN652MU.js} +7 -6
  64. package/dist/{chunk-3SMGIJDD.js → chunk-HHXOONLX.js} +13 -1
  65. package/dist/{chunk-QOOUC2J5.js → chunk-HQCHYB5F.js} +2 -2
  66. package/dist/chunk-IAEC4KLA.js +492 -0
  67. package/dist/{chunk-J5FIXQRT.js → chunk-IBC35BTK.js} +4 -4
  68. package/dist/{chunk-NURGB5Z4.js → chunk-IFK3GIUW.js} +2 -2
  69. package/dist/{chunk-FANX6UJR.js → chunk-IHLSHCPZ.js} +11 -11
  70. package/dist/{chunk-GMR5MFHJ.js → chunk-IUK7AGD4.js} +2 -2
  71. package/dist/chunk-IVKC4GID.js +32 -0
  72. package/dist/{chunk-OJR3MQYV.js → chunk-JFPY3UJ7.js} +296 -57
  73. package/dist/{chunk-5MLYVTYM.js → chunk-K6HNAY5V.js} +2 -2
  74. package/dist/{chunk-P235SVAH.js → chunk-KQAEKMIX.js} +2 -2
  75. package/dist/{chunk-7DTWEFUE.js → chunk-KUBBJ2CD.js} +10 -10
  76. package/dist/{chunk-BUVJFRPY.js → chunk-KV6Y2HE6.js} +4 -4
  77. package/dist/{chunk-OURHMODR.js → chunk-LG4TWW4U.js} +13 -13
  78. package/dist/{chunk-XAKEUMEJ.js → chunk-LVHPTBO3.js} +3 -3
  79. package/dist/{chunk-ERLBPDGU.js → chunk-MJCG5K2O.js} +2 -2
  80. package/dist/{chunk-THXCFRTU.js → chunk-N4J5KGWG.js} +12 -12
  81. package/dist/{chunk-MZSBFAPJ.js → chunk-NVT6C2VE.js} +9 -9
  82. package/dist/{chunk-AELOBFW5.js → chunk-O5MQPK7E.js} +3 -3
  83. package/dist/{chunk-JM4LEPY3.js → chunk-O7NUCTFU.js} +2 -2
  84. package/dist/{chunk-JED6ZDEE.js → chunk-O7WP4ZD4.js} +2 -2
  85. package/dist/{chunk-ZO27FGJS.js → chunk-PH5X4GIP.js} +2 -2
  86. package/dist/{chunk-B7JUCQUA.js → chunk-PU3AUQPA.js} +4 -4
  87. package/dist/{chunk-YGJZWZTY.js → chunk-PZFVK3IH.js} +2 -2
  88. package/dist/chunk-QQJUTGQH.js +135 -0
  89. package/dist/{chunk-HSH73DP6.js → chunk-RI4NIMFP.js} +99 -39
  90. package/dist/{chunk-33LCUH4H.js → chunk-RTERS6S5.js} +3 -3
  91. package/dist/{chunk-T3UBLACL.js → chunk-SCQ5VPUF.js} +19 -5
  92. package/dist/chunk-SGHSY3LU.js +377 -0
  93. package/dist/{chunk-SRTU6HMQ.js → chunk-SJEGO2QL.js} +8 -8
  94. package/dist/chunk-SQDFK5ZQ.js +273 -0
  95. package/dist/{chunk-PZMETGLY.js → chunk-SVDWQGX2.js} +296 -121
  96. package/dist/{chunk-Z5CGSFJB.js → chunk-T7IKPCMI.js} +4 -4
  97. package/dist/chunk-TC3YWBFO.js +233 -0
  98. package/dist/{chunk-EVCVDTXE.js → chunk-TLKMTQYL.js} +3 -3
  99. package/dist/{chunk-IJZFN3HM.js → chunk-TWQUYVP3.js} +4 -4
  100. package/dist/{chunk-IZMRON6C.js → chunk-UVCXZEGU.js} +2 -2
  101. package/dist/{chunk-CKNVO24D.js → chunk-UWDO3O52.js} +2 -2
  102. package/dist/{chunk-RJE5JTVK.js → chunk-VC3TR4NL.js} +7 -7
  103. package/dist/{chunk-CI2G3OEB.js → chunk-X2CH42BN.js} +9 -9
  104. package/dist/{chunk-6HO5ZTXK.js → chunk-XCC2RENT.js} +2 -2
  105. package/dist/chunk-XHVV4NVW.js +51 -0
  106. package/dist/{chunk-ZJEL4H2R.js → chunk-XJ7J6WOO.js} +9 -9
  107. package/dist/{chunk-ULOEATBZ.js → chunk-XKTN7CZF.js} +106 -29
  108. package/dist/{chunk-IPWPWM6R.js → chunk-YM2BSPYW.js} +111 -10
  109. package/dist/{chunk-BUPDIHML.js → chunk-YRVLP7UU.js} +3 -3
  110. package/dist/{chunk-T2OE3YQB.js → chunk-YTN572Q2.js} +3 -3
  111. package/dist/{chunk-WVAJFAIA.js → chunk-YYX3SU6H.js} +3 -3
  112. package/dist/{chunk-MO5YHHMQ.js → chunk-ZDUQGL3N.js} +2 -2
  113. package/dist/{chunk-Y3J7VR52.js → chunk-ZNQX6QWH.js} +30 -2
  114. package/dist/{chunk-UWN33VNX.js → chunk-ZREZOIGS.js} +8 -8
  115. package/dist/{chunk-6SM5NJQH.js → chunk-ZTLWVRNS.js} +4 -4
  116. package/dist/{chunk-RUNNI6VE.js → chunk-ZXL6MB4R.js} +3 -3
  117. package/dist/cli.cjs +159 -122
  118. package/dist/dgmo-router-ODKPEJ3P.js +79 -0
  119. package/dist/dimensions-WSIJXT5Q.js +22 -0
  120. package/dist/editor.js +4 -1
  121. package/dist/element.js +203 -103
  122. package/dist/element.mjs +6849 -824
  123. package/dist/{flowchart-parser-ZNSKIBVR.js → flowchart-parser-IVZN7CQN.js} +4 -4
  124. package/dist/{flowchart-renderer-SNDSII4D.js → flowchart-renderer-GMI2U3DD.js} +9 -9
  125. package/dist/highlight.js +7 -1
  126. package/dist/index.d.ts +5 -1
  127. package/dist/index.js +193 -232
  128. package/dist/{layout-HRBZPFCN.js → layout-34CLNICW.js} +5 -5
  129. package/dist/{layout-5RA6QWR6.js → layout-4Z5JM7PT.js} +6 -6
  130. package/dist/layout-6RDJHS6E.js +9 -0
  131. package/dist/{layout-7QXCNOVS.js → layout-7H4H46CS.js} +3 -3
  132. package/dist/{layout-46N4JJYK.js → layout-7SKMFYHL.js} +5 -5
  133. package/dist/{layout-HWDSRX5E.js → layout-D42XE4RE.js} +6 -6
  134. package/dist/{layout-EE6GE46Y.js → layout-DC4TVXER.js} +5 -5
  135. package/dist/layout-FGQWRYYW.js +14 -0
  136. package/dist/layout-GZ2CWONU.js +14 -0
  137. package/dist/layout-HQMBPJVS.js +10 -0
  138. package/dist/{layout-UM5F4DJB.js → layout-K2ZN3Q42.js} +5 -5
  139. package/dist/{layout-S2QBYSK2.js → layout-NXG63LWH.js} +3 -3
  140. package/dist/{layout-N76NR4ZO.js → layout-PUQCB6AN.js} +7 -7
  141. package/dist/{layout-HYZPWAK5.js → layout-QNUQLEHU.js} +3 -3
  142. package/dist/layout-S3EK4IYO.js +14 -0
  143. package/dist/{layout-search-OYV77HHS.js → layout-search-QS44PI5R.js} +6 -6
  144. package/dist/{parser-KNSQSKQO.js → parser-4BKIFG2C.js} +5 -5
  145. package/dist/{parser-OV7NOBW6.js → parser-4ROBKVUR.js} +4 -4
  146. package/dist/parser-667RGSUW.js +13 -0
  147. package/dist/{parser-IXSZZQHY.js → parser-BL7Z72EY.js} +4 -4
  148. package/dist/{parser-AQETEVRW.js → parser-CLMFZWCC.js} +4 -4
  149. package/dist/{parser-XKRP7QKP.js → parser-D6ONJQFR.js} +3 -3
  150. package/dist/{parser-2EWECDSA.js → parser-DERPY5KC.js} +4 -4
  151. package/dist/{parser-4OGOBJJ4.js → parser-GFSOPDB7.js} +4 -4
  152. package/dist/{parser-2MFP2H2E.js → parser-HVJFTOXL.js} +3 -3
  153. package/dist/{parser-VQP2UJ6W.js → parser-IKZFTLOJ.js} +3 -3
  154. package/dist/parser-J3P2D6IP.js +13 -0
  155. package/dist/{parser-PQ3POX45.js → parser-JD7OQ2E6.js} +4 -4
  156. package/dist/{parser-O5J4VBII.js → parser-K647FRI4.js} +3 -3
  157. package/dist/{parser-NGU3ETO6.js → parser-KPMN5KKE.js} +4 -4
  158. package/dist/{parser-4FL2CMDG.js → parser-MBJSBTL5.js} +4 -4
  159. package/dist/{parser-TFZFBVWN.js → parser-MCJWF5G3.js} +3 -3
  160. package/dist/{parser-NRAI6O25.js → parser-MRBPXXIV.js} +4 -4
  161. package/dist/{parser-6BTRLKRZ.js → parser-OBQG655V.js} +4 -4
  162. package/dist/{parser-3STE62GB.js → parser-QJYS7KQQ.js} +4 -4
  163. package/dist/{parser-XDVELHRK.js → parser-SMBJO3XN.js} +4 -4
  164. package/dist/{parser-TRTHDFPP.js → parser-TITK4YW6.js} +5 -5
  165. package/dist/{parser-I6KXEYFK.js → parser-TNYX5S7E.js} +4 -4
  166. package/dist/{parser-Y6WTBU76.js → parser-UBGPTIZD.js} +3 -3
  167. package/dist/parser-UGA23PYK.js +14 -0
  168. package/dist/{parser-N5O4IHUN.js → parser-WISPH7LW.js} +4 -4
  169. package/dist/{parser-CFZD5IBL.js → parser-XWUDFJ7P.js} +4 -4
  170. package/dist/parser-ZKF5K2H2.js +15 -0
  171. package/dist/{parser-ZSDPZYQP.js → parser-ZYC3XGNS.js} +4 -4
  172. package/dist/{renderer-AWWAF6XD.js → renderer-4IUPINAE.js} +10 -10
  173. package/dist/renderer-6L3NBEY5.js +24 -0
  174. package/dist/{renderer-ZRNG54CW.js → renderer-6T3KK4S3.js} +11 -11
  175. package/dist/{renderer-KQB7UGDS.js → renderer-7RH2SI3B.js} +3 -3
  176. package/dist/{renderer-6EEZHMH4.js → renderer-A5VFZQQK.js} +9 -9
  177. package/dist/{renderer-5MYBMBYO.js → renderer-BB5PREMY.js} +5 -5
  178. package/dist/{renderer-BYCNMBF7.js → renderer-CGW7QPNA.js} +10 -10
  179. package/dist/{renderer-QIWVHWZO.js → renderer-DAXMXIKD.js} +3 -3
  180. package/dist/{renderer-7MVLWWQD.js → renderer-DKESNMU5.js} +9 -9
  181. package/dist/{renderer-UV6MI64M.js → renderer-HVCU2C3Z.js} +3 -3
  182. package/dist/{renderer-VACVQYML.js → renderer-LWGJFT3D.js} +8 -8
  183. package/dist/{renderer-PGX2TKVS.js → renderer-MFJ7HY2H.js} +8 -8
  184. package/dist/{renderer-B2OMQIQG.js → renderer-MJDDU27W.js} +15 -15
  185. package/dist/{renderer-4JHRUBE6.js → renderer-QL5KO6SK.js} +10 -10
  186. package/dist/{renderer-W4M6QLIJ.js → renderer-QNHUXCRL.js} +14 -14
  187. package/dist/{renderer-ZGNTUWC4.js → renderer-ROV756WT.js} +8 -8
  188. package/dist/{renderer-YY2OSF6E.js → renderer-SQ3JUAI7.js} +9 -9
  189. package/dist/renderer-THD6V5TL.js +22 -0
  190. package/dist/{renderer-5NDVNDAZ.js → renderer-TPIBXNOS.js} +9 -9
  191. package/dist/{renderer-RPOA5YPZ.js → renderer-TYXRHMRI.js} +13 -13
  192. package/dist/{renderer-N43WR5GV.js → renderer-UZF3JROD.js} +11 -11
  193. package/dist/{renderer-6W5462RB.js → renderer-V3JEMWMM.js} +9 -9
  194. package/dist/{renderer-JGBKUCZD.js → renderer-VFUVRNLK.js} +4 -4
  195. package/dist/{renderer-Z7I3W2PP.js → renderer-VICQ4WNY.js} +8 -8
  196. package/dist/renderer-W5RMOURB.js +21 -0
  197. package/dist/renderer-XEKIRPI6.js +23 -0
  198. package/dist/{renderer-CLJHQPBJ.js → renderer-YHXPN3GF.js} +12 -12
  199. package/dist/renderer-radial-MHO2VDXN.js +21 -0
  200. package/dist/{resolver-NOAA7ID7.js → resolver-FHBCO3PL.js} +3 -3
  201. package/dist/{state-parser-Z2V23ATR.js → state-parser-RX3GXOIB.js} +4 -4
  202. package/dist/{state-renderer-B4DQBM6M.js → state-renderer-AJUKGNWU.js} +9 -9
  203. package/docs/ai-integration.md +8 -3
  204. package/docs/language-reference.md +179 -5
  205. package/gallery/fixtures/family.dgmo +23 -0
  206. package/gallery/fixtures/sketch.dgmo +22 -0
  207. package/package.json +1 -1
  208. package/dist/chunk-ODZVHU3R.js +0 -153
  209. package/dist/dgmo-router-X35VLZLM.js +0 -73
  210. package/dist/dimensions-J3FHIMJ6.js +0 -22
  211. package/dist/layout-5T6RH5M6.js +0 -14
  212. package/dist/layout-G23F7LDH.js +0 -9
  213. package/dist/layout-OB3RI63S.js +0 -14
  214. package/dist/parser-JAL2HD4I.js +0 -13
  215. package/dist/renderer-SMIBCRVB.js +0 -24
  216. package/dist/renderer-radial-C32GPJQ7.js +0 -21
@@ -1,9 +1,9 @@
1
+ import {
2
+ renderNodeCard
3
+ } from "./chunk-AHGF2YYA.js";
1
4
  import {
2
5
  renderInlineText
3
6
  } from "./chunk-3HDBAXF5.js";
4
- import {
5
- renderNodeCard
6
- } from "./chunk-VOKGH627.js";
7
7
  import {
8
8
  CARD_RADIUS,
9
9
  COLLAPSE_BAR_HEIGHT,
@@ -20,15 +20,15 @@ import {
20
20
  NODE_STROKE_WIDTH,
21
21
  SEPARATOR_GAP
22
22
  } from "./chunk-3CIOJ5YJ.js";
23
- import {
24
- renderIntegratedLegend
25
- } from "./chunk-PWIHZ6NJ.js";
26
23
  import {
27
24
  ScaleContext
28
25
  } from "./chunk-YYVTBZZC.js";
26
+ import {
27
+ renderIntegratedLegend
28
+ } from "./chunk-4UDKKGHH.js";
29
29
  import {
30
30
  getMaxLegendReservedHeight
31
- } from "./chunk-YAA6IID3.js";
31
+ } from "./chunk-7UEMZREK.js";
32
32
  import {
33
33
  TITLE_FONT_SIZE,
34
34
  TITLE_FONT_WEIGHT
@@ -43,10 +43,10 @@ import {
43
43
  LEGEND_EYE_SIZE,
44
44
  LEGEND_GROUP_GAP,
45
45
  LEGEND_HEIGHT
46
- } from "./chunk-QOOUC2J5.js";
46
+ } from "./chunk-HQCHYB5F.js";
47
47
  import {
48
48
  measureText
49
- } from "./chunk-WCT3NYCV.js";
49
+ } from "./chunk-5LWQH6QV.js";
50
50
  import {
51
51
  preprocessDescriptionLine
52
52
  } from "./chunk-IYULMRBE.js";
@@ -58,7 +58,7 @@ import {
58
58
  } from "./chunk-P6T66CCZ.js";
59
59
  import {
60
60
  tagAttrKey
61
- } from "./chunk-QLCCJEJI.js";
61
+ } from "./chunk-HBVD67XG.js";
62
62
 
63
63
  // src/sitemap/renderer.ts
64
64
  import * as d3Selection from "d3-selection";
@@ -400,8 +400,8 @@ function renderLegend(parent, legendGroups, palette, isDark, activeTagGroup, fix
400
400
  }
401
401
  }
402
402
  async function renderSitemapForExport(content, theme, palette) {
403
- const { parseSitemap } = await import("./parser-NGU3ETO6.js");
404
- const { layoutSitemap } = await import("./layout-5T6RH5M6.js");
403
+ const { parseSitemap } = await import("./parser-KPMN5KKE.js");
404
+ const { layoutSitemap } = await import("./layout-S3EK4IYO.js");
405
405
  const { getPalette } = await import("./palettes-PRJ2RI6D.js");
406
406
  const isDark = theme === "dark";
407
407
  const effectivePalette = palette ?? (isDark ? getPalette("nord").dark : getPalette("nord").light);
@@ -451,4 +451,4 @@ export {
451
451
  renderSitemap,
452
452
  renderSitemapForExport
453
453
  };
454
- //# sourceMappingURL=chunk-OURHMODR.js.map
454
+ //# sourceMappingURL=chunk-LG4TWW4U.js.map
@@ -15,7 +15,7 @@ import {
15
15
  stripDefaultModifier,
16
16
  tagAttrKey,
17
17
  validateTagGroupNames
18
- } from "./chunk-QLCCJEJI.js";
18
+ } from "./chunk-HBVD67XG.js";
19
19
  import {
20
20
  normalizeName
21
21
  } from "./chunk-NOTA6TEI.js";
@@ -28,7 +28,7 @@ import {
28
28
  splitNameAndMeta,
29
29
  warnUnknownMetaKeys,
30
30
  withTagAliases
31
- } from "./chunk-Y3J7VR52.js";
31
+ } from "./chunk-ZNQX6QWH.js";
32
32
  import {
33
33
  formatDgmoError,
34
34
  makeDgmoError
@@ -1253,4 +1253,4 @@ export {
1253
1253
  GANTT_KNOWN_OPTIONS,
1254
1254
  GANTT_KNOWN_BOOLEANS
1255
1255
  };
1256
- //# sourceMappingURL=chunk-XAKEUMEJ.js.map
1256
+ //# sourceMappingURL=chunk-LVHPTBO3.js.map
@@ -2,7 +2,7 @@ import {
2
2
  extractColor,
3
3
  measureIndent,
4
4
  parseFirstLine
5
- } from "./chunk-Y3J7VR52.js";
5
+ } from "./chunk-ZNQX6QWH.js";
6
6
  import {
7
7
  emit,
8
8
  formatDgmoError,
@@ -507,4 +507,4 @@ export {
507
507
  VERSION_CONTROL_DIAGNOSTICS,
508
508
  parseVersionControl
509
509
  };
510
- //# sourceMappingURL=chunk-ERLBPDGU.js.map
510
+ //# sourceMappingURL=chunk-MJCG5K2O.js.map
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  computeNodeText,
3
3
  layoutMindmap
4
- } from "./chunk-T2OE3YQB.js";
5
- import {
6
- renderInlineText
7
- } from "./chunk-3HDBAXF5.js";
4
+ } from "./chunk-YTN572Q2.js";
8
5
  import {
9
6
  extractExportSvg,
10
7
  runInExportContainer
11
8
  } from "./chunk-JTSMEYIZ.js";
9
+ import {
10
+ renderInlineText
11
+ } from "./chunk-3HDBAXF5.js";
12
12
  import {
13
13
  COLLAPSE_BAR_HEIGHT,
14
14
  EDGE_STROKE_WIDTH,
15
15
  NODE_STROKE_WIDTH
16
16
  } from "./chunk-3CIOJ5YJ.js";
17
- import {
18
- renderIntegratedLegend
19
- } from "./chunk-PWIHZ6NJ.js";
20
17
  import {
21
18
  ScaleContext
22
19
  } from "./chunk-YYVTBZZC.js";
20
+ import {
21
+ renderIntegratedLegend
22
+ } from "./chunk-4UDKKGHH.js";
23
23
  import {
24
24
  getMaxLegendReservedHeight
25
- } from "./chunk-YAA6IID3.js";
25
+ } from "./chunk-7UEMZREK.js";
26
26
  import {
27
27
  TITLE_FONT_SIZE,
28
28
  TITLE_FONT_WEIGHT
@@ -32,10 +32,10 @@ import {
32
32
  } from "./chunk-6KFWC4CO.js";
33
33
  import {
34
34
  LEGEND_GROUP_GAP
35
- } from "./chunk-QOOUC2J5.js";
35
+ } from "./chunk-HQCHYB5F.js";
36
36
  import {
37
37
  parseMindmap
38
- } from "./chunk-EB6FPQUP.js";
38
+ } from "./chunk-65RTDUZH.js";
39
39
  import {
40
40
  preprocessDescriptionLine
41
41
  } from "./chunk-IYULMRBE.js";
@@ -45,7 +45,7 @@ import {
45
45
  } from "./chunk-P6T66CCZ.js";
46
46
  import {
47
47
  tagAttrKey
48
- } from "./chunk-QLCCJEJI.js";
48
+ } from "./chunk-HBVD67XG.js";
49
49
 
50
50
  // src/mindmap/renderer.ts
51
51
  import * as d3Selection from "d3-selection";
@@ -388,4 +388,4 @@ export {
388
388
  renderMindmap,
389
389
  renderMindmapForExport
390
390
  };
391
- //# sourceMappingURL=chunk-THXCFRTU.js.map
391
+ //# sourceMappingURL=chunk-N4J5KGWG.js.map
@@ -4,15 +4,15 @@ import {
4
4
  import {
5
5
  CARD_RADIUS
6
6
  } from "./chunk-3CIOJ5YJ.js";
7
- import {
8
- renderIntegratedLegend
9
- } from "./chunk-PWIHZ6NJ.js";
10
7
  import {
11
8
  ScaleContext
12
9
  } from "./chunk-YYVTBZZC.js";
10
+ import {
11
+ renderIntegratedLegend
12
+ } from "./chunk-4UDKKGHH.js";
13
13
  import {
14
14
  getMaxLegendReservedHeight
15
- } from "./chunk-YAA6IID3.js";
15
+ } from "./chunk-7UEMZREK.js";
16
16
  import {
17
17
  TITLE_FONT_SIZE,
18
18
  TITLE_FONT_WEIGHT
@@ -23,13 +23,13 @@ import {
23
23
  import {
24
24
  LEGEND_HEIGHT,
25
25
  measureLegendText
26
- } from "./chunk-QOOUC2J5.js";
26
+ } from "./chunk-HQCHYB5F.js";
27
27
  import {
28
28
  measureText
29
- } from "./chunk-WCT3NYCV.js";
29
+ } from "./chunk-5LWQH6QV.js";
30
30
  import {
31
31
  parseKanban
32
- } from "./chunk-AELOBFW5.js";
32
+ } from "./chunk-O5MQPK7E.js";
33
33
  import {
34
34
  contrastText,
35
35
  mix,
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-P6T66CCZ.js";
38
38
  import {
39
39
  tagAttrKey
40
- } from "./chunk-QLCCJEJI.js";
40
+ } from "./chunk-HBVD67XG.js";
41
41
 
42
42
  // src/kanban/renderer.ts
43
43
  import * as d3Selection from "d3-selection";
@@ -882,4 +882,4 @@ export {
882
882
  renderKanban,
883
883
  renderKanbanForExport
884
884
  };
885
- //# sourceMappingURL=chunk-MZSBFAPJ.js.map
885
+ //# sourceMappingURL=chunk-NVT6C2VE.js.map
@@ -5,7 +5,7 @@ import {
5
5
  stripDefaultModifier,
6
6
  tagAttrKey,
7
7
  validateTagGroupNames
8
- } from "./chunk-QLCCJEJI.js";
8
+ } from "./chunk-HBVD67XG.js";
9
9
  import {
10
10
  normalizeName
11
11
  } from "./chunk-NOTA6TEI.js";
@@ -18,7 +18,7 @@ import {
18
18
  splitNameAndMeta,
19
19
  warnUnknownMetaKeys,
20
20
  withTagAliases
21
- } from "./chunk-Y3J7VR52.js";
21
+ } from "./chunk-ZNQX6QWH.js";
22
22
  import {
23
23
  resolveColorWithDiagnostic
24
24
  } from "./chunk-TLVIHFRO.js";
@@ -372,4 +372,4 @@ function parseCardLine(trimmed, lineNumber, counter, metaAliasMap, _palette, dia
372
372
  export {
373
373
  parseKanban
374
374
  };
375
- //# sourceMappingURL=chunk-AELOBFW5.js.map
375
+ //# sourceMappingURL=chunk-O5MQPK7E.js.map
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  CHAR_WIDTH_RATIO,
20
20
  measureText
21
- } from "./chunk-WCT3NYCV.js";
21
+ } from "./chunk-5LWQH6QV.js";
22
22
  import {
23
23
  contrastText,
24
24
  getSeriesColors,
@@ -433,4 +433,4 @@ export {
433
433
  renderPyramid,
434
434
  renderPyramidForExport
435
435
  };
436
- //# sourceMappingURL=chunk-JM4LEPY3.js.map
436
+ //# sourceMappingURL=chunk-O7NUCTFU.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-6EK55ART.js";
4
4
  import {
5
5
  noteBoxSize
6
- } from "./chunk-TYS6CSS5.js";
6
+ } from "./chunk-BCYVE3N5.js";
7
7
 
8
8
  // src/utils/notes/build.ts
9
9
  function buildPlacedNotes(anchors, noteByNode, direction, collapsedNotes) {
@@ -70,4 +70,4 @@ function buildPlacedNotes(anchors, noteByNode, direction, collapsedNotes) {
70
70
  export {
71
71
  buildPlacedNotes
72
72
  };
73
- //# sourceMappingURL=chunk-JED6ZDEE.js.map
73
+ //# sourceMappingURL=chunk-O7WP4ZD4.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-6KFWC4CO.js";
11
11
  import {
12
12
  measureText
13
- } from "./chunk-WCT3NYCV.js";
13
+ } from "./chunk-5LWQH6QV.js";
14
14
  import {
15
15
  contrastText,
16
16
  mix,
@@ -551,4 +551,4 @@ function renderModal(parent, node, ctx) {
551
551
  export {
552
552
  renderWireframe
553
553
  };
554
- //# sourceMappingURL=chunk-ZO27FGJS.js.map
554
+ //# sourceMappingURL=chunk-PH5X4GIP.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-PDKUANDZ.js";
5
5
  import {
6
6
  layoutGraph
7
- } from "./chunk-T3UBLACL.js";
7
+ } from "./chunk-SCQ5VPUF.js";
8
8
  import {
9
9
  appendArrowheadMarkers
10
10
  } from "./chunk-LP7EC4MI.js";
@@ -32,14 +32,14 @@ import {
32
32
  } from "./chunk-6KFWC4CO.js";
33
33
  import {
34
34
  measureText
35
- } from "./chunk-WCT3NYCV.js";
35
+ } from "./chunk-5LWQH6QV.js";
36
36
  import {
37
37
  contrastText,
38
38
  shapeFill
39
39
  } from "./chunk-P6T66CCZ.js";
40
40
  import {
41
41
  parseFlowchart
42
- } from "./chunk-LIOHW36Z.js";
42
+ } from "./chunk-6VE3VLWM.js";
43
43
 
44
44
  // src/graph/flowchart-renderer.ts
45
45
  import * as d3Selection from "d3-selection";
@@ -527,4 +527,4 @@ export {
527
527
  renderFlowchart,
528
528
  renderFlowchartForExport
529
529
  };
530
- //# sourceMappingURL=chunk-B7JUCQUA.js.map
530
+ //# sourceMappingURL=chunk-PU3AUQPA.js.map
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  CHAR_WIDTH_RATIO,
20
20
  measureText
21
- } from "./chunk-WCT3NYCV.js";
21
+ } from "./chunk-5LWQH6QV.js";
22
22
  import {
23
23
  contrastText,
24
24
  getSeriesColors,
@@ -293,4 +293,4 @@ export {
293
293
  renderRing,
294
294
  renderRingForExport
295
295
  };
296
- //# sourceMappingURL=chunk-YGJZWZTY.js.map
296
+ //# sourceMappingURL=chunk-PZFVK3IH.js.map
@@ -0,0 +1,135 @@
1
+ // src/family/couple-rank.ts
2
+ var UnionFind = class {
3
+ parent = /* @__PURE__ */ new Map();
4
+ find(x) {
5
+ if (!this.parent.has(x)) {
6
+ this.parent.set(x, x);
7
+ return x;
8
+ }
9
+ let root = x;
10
+ while (this.parent.get(root) !== root) root = this.parent.get(root);
11
+ let cur = x;
12
+ while (this.parent.get(cur) !== root) {
13
+ const next = this.parent.get(cur);
14
+ this.parent.set(cur, root);
15
+ cur = next;
16
+ }
17
+ return root;
18
+ }
19
+ union(a, b) {
20
+ const ra = this.find(a);
21
+ const rb = this.find(b);
22
+ if (ra !== rb) this.parent.set(ra, rb);
23
+ }
24
+ add(x) {
25
+ if (!this.parent.has(x)) this.parent.set(x, x);
26
+ }
27
+ };
28
+ function buildCoupleQuotient(persons, unions) {
29
+ const uf = new UnionFind();
30
+ for (const id of persons.keys()) uf.add(id);
31
+ for (const u of unions) {
32
+ for (const p of u.parents) uf.add(p);
33
+ for (let i = 1; i < u.parents.length; i++) {
34
+ uf.union(u.parents[0], u.parents[i]);
35
+ }
36
+ }
37
+ const rootToClass = /* @__PURE__ */ new Map();
38
+ const classOf = /* @__PURE__ */ new Map();
39
+ const classMembers = /* @__PURE__ */ new Map();
40
+ const claim = (id) => {
41
+ const root = uf.find(id);
42
+ let c = rootToClass.get(root);
43
+ if (c === void 0) {
44
+ c = rootToClass.size;
45
+ rootToClass.set(root, c);
46
+ classMembers.set(c, []);
47
+ }
48
+ classOf.set(id, c);
49
+ classMembers.get(c).push(id);
50
+ return c;
51
+ };
52
+ for (const id of persons.keys()) claim(id);
53
+ for (const u of unions) {
54
+ for (const p of u.parents) if (!classOf.has(p)) claim(p);
55
+ for (const c of u.children) if (!classOf.has(c.personId)) claim(c.personId);
56
+ }
57
+ const edgeSet = /* @__PURE__ */ new Set();
58
+ const edges = [];
59
+ for (const u of unions) {
60
+ if (u.parents.length === 0) continue;
61
+ const pc = classOf.get(u.parents[0]);
62
+ for (const child of u.children) {
63
+ const cc = classOf.get(child.personId);
64
+ const key = `${pc}\0${cc}`;
65
+ if (edgeSet.has(key)) continue;
66
+ edgeSet.add(key);
67
+ edges.push([pc, cc]);
68
+ }
69
+ }
70
+ const cycle = hasCycle(rootToClass.size, edges);
71
+ return { classOf, classMembers, edges, cycle };
72
+ }
73
+ function hasCycle(n, edges) {
74
+ const adj = /* @__PURE__ */ new Map();
75
+ for (const [a, b] of edges) {
76
+ if (a === b) return true;
77
+ (adj.get(a) ?? adj.set(a, []).get(a)).push(b);
78
+ }
79
+ const color = new Int8Array(n);
80
+ const stack = [];
81
+ for (let s = 0; s < n; s++) {
82
+ if (color[s] !== 0) continue;
83
+ stack.push({ v: s, i: 0 });
84
+ color[s] = 1;
85
+ while (stack.length) {
86
+ const top = stack[stack.length - 1];
87
+ const nbrs = adj.get(top.v) ?? [];
88
+ if (top.i < nbrs.length) {
89
+ const w = nbrs[top.i++];
90
+ if (color[w] === 1) return true;
91
+ if (color[w] === 0) {
92
+ color[w] = 1;
93
+ stack.push({ v: w, i: 0 });
94
+ }
95
+ } else {
96
+ color[top.v] = 2;
97
+ stack.pop();
98
+ }
99
+ }
100
+ }
101
+ return false;
102
+ }
103
+ function rankClasses(q) {
104
+ const n = q.classMembers.size;
105
+ const adj = /* @__PURE__ */ new Map();
106
+ const indeg = new Array(n).fill(0);
107
+ for (const [a, b] of q.edges) {
108
+ if (a === b) continue;
109
+ (adj.get(a) ?? adj.set(a, []).get(a)).push(b);
110
+ indeg[b] = (indeg[b] ?? 0) + 1;
111
+ }
112
+ const row = /* @__PURE__ */ new Map();
113
+ const queue = [];
114
+ for (let c = 0; c < n; c++) {
115
+ row.set(c, 0);
116
+ if ((indeg[c] ?? 0) === 0) queue.push(c);
117
+ }
118
+ for (let qi = 0; qi < queue.length; qi++) {
119
+ const u = queue[qi];
120
+ const ru = row.get(u);
121
+ for (const w of adj.get(u) ?? []) {
122
+ if (ru + 1 > (row.get(w) ?? 0)) row.set(w, ru + 1);
123
+ const nd = (indeg[w] ?? 0) - 1;
124
+ indeg[w] = nd;
125
+ if (nd === 0) queue.push(w);
126
+ }
127
+ }
128
+ return row;
129
+ }
130
+
131
+ export {
132
+ buildCoupleQuotient,
133
+ rankClasses
134
+ };
135
+ //# sourceMappingURL=chunk-QQJUTGQH.js.map