schematex 0.9.6 → 0.9.8

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 (172) hide show
  1. package/README.md +43 -3
  2. package/dist/ai/ai-sdk.cjs +23 -23
  3. package/dist/ai/ai-sdk.d.cts +3 -3
  4. package/dist/ai/ai-sdk.d.ts +3 -3
  5. package/dist/ai/ai-sdk.js +18 -18
  6. package/dist/ai/index.cjs +32 -32
  7. package/dist/ai/index.d.cts +4 -4
  8. package/dist/ai/index.d.ts +4 -4
  9. package/dist/ai/index.js +19 -19
  10. package/dist/{api-BOJJlNb1.d.ts → api-D_d-JklT.d.ts} +1 -1
  11. package/dist/{api-v9t1T1v6.d.cts → api-DnTyW-6F.d.cts} +1 -1
  12. package/dist/browser.cjs +24 -24
  13. package/dist/browser.d.cts +3 -3
  14. package/dist/browser.d.ts +3 -3
  15. package/dist/browser.js +18 -18
  16. package/dist/{chunk-6QZQTASC.cjs → chunk-246OJILS.cjs} +12 -12
  17. package/dist/{chunk-6QZQTASC.cjs.map → chunk-246OJILS.cjs.map} +1 -1
  18. package/dist/{chunk-JEMAOC2D.js → chunk-2IRYXK4M.js} +3 -3
  19. package/dist/{chunk-JEMAOC2D.js.map → chunk-2IRYXK4M.js.map} +1 -1
  20. package/dist/{chunk-HX64QWB6.cjs → chunk-2LVU75P3.cjs} +175 -11
  21. package/dist/chunk-2LVU75P3.cjs.map +1 -0
  22. package/dist/{chunk-CVTHUOAM.js → chunk-33BFUEYU.js} +173 -9
  23. package/dist/chunk-33BFUEYU.js.map +1 -0
  24. package/dist/{chunk-ITI3STJ6.cjs → chunk-3JN4762U.cjs} +4 -4
  25. package/dist/{chunk-ITI3STJ6.cjs.map → chunk-3JN4762U.cjs.map} +1 -1
  26. package/dist/{chunk-GAQ36VFD.cjs → chunk-4MANMKQ4.cjs} +4 -4
  27. package/dist/{chunk-GAQ36VFD.cjs.map → chunk-4MANMKQ4.cjs.map} +1 -1
  28. package/dist/{chunk-4W75FGWO.js → chunk-4QLIFOKH.js} +1877 -568
  29. package/dist/chunk-4QLIFOKH.js.map +1 -0
  30. package/dist/{chunk-64LABNTF.js → chunk-7NO5LYLL.js} +3 -3
  31. package/dist/{chunk-64LABNTF.js.map → chunk-7NO5LYLL.js.map} +1 -1
  32. package/dist/{chunk-ENUM7GMZ.cjs → chunk-7OOUU6BL.cjs} +147 -2
  33. package/dist/chunk-7OOUU6BL.cjs.map +1 -0
  34. package/dist/{chunk-M26ORU4P.js → chunk-AETIGJXP.js} +3 -3
  35. package/dist/{chunk-M26ORU4P.js.map → chunk-AETIGJXP.js.map} +1 -1
  36. package/dist/{chunk-KH5GRKUM.cjs → chunk-BEPVTFXK.cjs} +2080 -770
  37. package/dist/chunk-BEPVTFXK.cjs.map +1 -0
  38. package/dist/{chunk-OJ3P4IC4.cjs → chunk-DLXDR2E7.cjs} +4 -4
  39. package/dist/{chunk-OJ3P4IC4.cjs.map → chunk-DLXDR2E7.cjs.map} +1 -1
  40. package/dist/{chunk-3J4DZPZC.js → chunk-EB7T5SEO.js} +3 -3
  41. package/dist/{chunk-3J4DZPZC.js.map → chunk-EB7T5SEO.js.map} +1 -1
  42. package/dist/{chunk-VY6UZYYL.cjs → chunk-F5RYWDWO.cjs} +15 -15
  43. package/dist/{chunk-VY6UZYYL.cjs.map → chunk-F5RYWDWO.cjs.map} +1 -1
  44. package/dist/{chunk-INVLJYAE.cjs → chunk-GTCGATOL.cjs} +4 -4
  45. package/dist/{chunk-INVLJYAE.cjs.map → chunk-GTCGATOL.cjs.map} +1 -1
  46. package/dist/{chunk-ZCHGIWJK.js → chunk-HIWJMJJB.js} +3 -3
  47. package/dist/{chunk-ZCHGIWJK.js.map → chunk-HIWJMJJB.js.map} +1 -1
  48. package/dist/{chunk-RDYACU2G.js → chunk-IHX6J4HF.js} +3 -3
  49. package/dist/{chunk-RDYACU2G.js.map → chunk-IHX6J4HF.js.map} +1 -1
  50. package/dist/{chunk-4MRVJI7G.js → chunk-JVNV2T2T.js} +147 -3
  51. package/dist/chunk-JVNV2T2T.js.map +1 -0
  52. package/dist/{chunk-SXOAAQNY.js → chunk-KUSW5I2P.js} +3 -3
  53. package/dist/{chunk-SXOAAQNY.js.map → chunk-KUSW5I2P.js.map} +1 -1
  54. package/dist/{chunk-35NGXDT2.cjs → chunk-KYE7CRED.cjs} +12 -12
  55. package/dist/{chunk-35NGXDT2.cjs.map → chunk-KYE7CRED.cjs.map} +1 -1
  56. package/dist/{chunk-II4GLKGF.js → chunk-MVTYPWHO.js} +3 -3
  57. package/dist/chunk-MVTYPWHO.js.map +1 -0
  58. package/dist/{chunk-N3HU635X.cjs → chunk-MXV3XJFH.cjs} +4 -4
  59. package/dist/chunk-MXV3XJFH.cjs.map +1 -0
  60. package/dist/{chunk-XCCXG6RR.js → chunk-NB7MFQCZ.js} +3 -3
  61. package/dist/{chunk-XCCXG6RR.js.map → chunk-NB7MFQCZ.js.map} +1 -1
  62. package/dist/{chunk-GYYYULBL.js → chunk-NP7N3DZG.js} +3 -3
  63. package/dist/{chunk-GYYYULBL.js.map → chunk-NP7N3DZG.js.map} +1 -1
  64. package/dist/{chunk-3PH2MQGN.js → chunk-P4U565XH.js} +3 -3
  65. package/dist/{chunk-3PH2MQGN.js.map → chunk-P4U565XH.js.map} +1 -1
  66. package/dist/{chunk-VYQXB2RC.cjs → chunk-QC2RICQ4.cjs} +12 -12
  67. package/dist/{chunk-VYQXB2RC.cjs.map → chunk-QC2RICQ4.cjs.map} +1 -1
  68. package/dist/{chunk-3WX24RCH.js → chunk-QMJHLDGY.js} +3 -3
  69. package/dist/{chunk-3WX24RCH.js.map → chunk-QMJHLDGY.js.map} +1 -1
  70. package/dist/{chunk-C4Y24X3U.cjs → chunk-T55OQILI.cjs} +4 -4
  71. package/dist/{chunk-C4Y24X3U.cjs.map → chunk-T55OQILI.cjs.map} +1 -1
  72. package/dist/{chunk-6ZD7TCWO.cjs → chunk-TFUVNQNA.cjs} +15 -15
  73. package/dist/{chunk-6ZD7TCWO.cjs.map → chunk-TFUVNQNA.cjs.map} +1 -1
  74. package/dist/{chunk-4AC6I7KJ.cjs → chunk-TXWVJAMR.cjs} +4 -4
  75. package/dist/{chunk-4AC6I7KJ.cjs.map → chunk-TXWVJAMR.cjs.map} +1 -1
  76. package/dist/{chunk-4OC3CTGE.cjs → chunk-UHRNFBWY.cjs} +4 -4
  77. package/dist/{chunk-4OC3CTGE.cjs.map → chunk-UHRNFBWY.cjs.map} +1 -1
  78. package/dist/{chunk-B4CMWA6Y.js → chunk-W4UVDMUC.js} +3 -3
  79. package/dist/{chunk-B4CMWA6Y.js.map → chunk-W4UVDMUC.js.map} +1 -1
  80. package/dist/{chunk-5ZQRHDMQ.cjs → chunk-YDEQZSPQ.cjs} +4 -4
  81. package/dist/{chunk-5ZQRHDMQ.cjs.map → chunk-YDEQZSPQ.cjs.map} +1 -1
  82. package/dist/{chunk-627GHE2N.cjs → chunk-YFPDZVB7.cjs} +5 -5
  83. package/dist/{chunk-627GHE2N.cjs.map → chunk-YFPDZVB7.cjs.map} +1 -1
  84. package/dist/{chunk-NKYR4PAS.js → chunk-YXEPF3SL.js} +3 -3
  85. package/dist/{chunk-NKYR4PAS.js.map → chunk-YXEPF3SL.js.map} +1 -1
  86. package/dist/{chunk-AXMBXAEA.js → chunk-ZRFKIERV.js} +3 -3
  87. package/dist/{chunk-AXMBXAEA.js.map → chunk-ZRFKIERV.js.map} +1 -1
  88. package/dist/{diagnostics-5bVLlGNj.d.cts → diagnostics-D2qkBfFx.d.cts} +1 -1
  89. package/dist/{diagnostics-5bVLlGNj.d.ts → diagnostics-D2qkBfFx.d.ts} +1 -1
  90. package/dist/diagrams/blockdiagram/index.cjs +6 -6
  91. package/dist/diagrams/blockdiagram/index.d.cts +1 -1
  92. package/dist/diagrams/blockdiagram/index.d.ts +1 -1
  93. package/dist/diagrams/blockdiagram/index.js +2 -2
  94. package/dist/diagrams/circuit/index.cjs +9 -9
  95. package/dist/diagrams/circuit/index.d.cts +1 -1
  96. package/dist/diagrams/circuit/index.d.ts +1 -1
  97. package/dist/diagrams/circuit/index.js +2 -2
  98. package/dist/diagrams/ecomap/index.cjs +7 -7
  99. package/dist/diagrams/ecomap/index.d.cts +1 -1
  100. package/dist/diagrams/ecomap/index.d.ts +1 -1
  101. package/dist/diagrams/ecomap/index.js +2 -2
  102. package/dist/diagrams/entity/index.cjs +6 -6
  103. package/dist/diagrams/entity/index.d.cts +1 -1
  104. package/dist/diagrams/entity/index.d.ts +1 -1
  105. package/dist/diagrams/entity/index.js +2 -2
  106. package/dist/diagrams/fishbone/index.cjs +8 -8
  107. package/dist/diagrams/fishbone/index.d.cts +1 -1
  108. package/dist/diagrams/fishbone/index.d.ts +1 -1
  109. package/dist/diagrams/fishbone/index.js +2 -2
  110. package/dist/diagrams/flowchart/index.cjs +8 -8
  111. package/dist/diagrams/flowchart/index.d.cts +2 -2
  112. package/dist/diagrams/flowchart/index.d.ts +2 -2
  113. package/dist/diagrams/flowchart/index.js +2 -2
  114. package/dist/diagrams/genogram/index.cjs +9 -9
  115. package/dist/diagrams/genogram/index.d.cts +1 -1
  116. package/dist/diagrams/genogram/index.d.ts +1 -1
  117. package/dist/diagrams/genogram/index.js +2 -2
  118. package/dist/diagrams/ladder/index.cjs +6 -6
  119. package/dist/diagrams/ladder/index.d.cts +1 -1
  120. package/dist/diagrams/ladder/index.d.ts +1 -1
  121. package/dist/diagrams/ladder/index.js +2 -2
  122. package/dist/diagrams/logic/index.cjs +8 -8
  123. package/dist/diagrams/logic/index.d.cts +1 -1
  124. package/dist/diagrams/logic/index.d.ts +1 -1
  125. package/dist/diagrams/logic/index.js +2 -2
  126. package/dist/diagrams/orgchart/index.cjs +8 -8
  127. package/dist/diagrams/orgchart/index.d.cts +1 -1
  128. package/dist/diagrams/orgchart/index.d.ts +1 -1
  129. package/dist/diagrams/orgchart/index.js +2 -2
  130. package/dist/diagrams/pedigree/index.cjs +7 -7
  131. package/dist/diagrams/pedigree/index.d.cts +1 -1
  132. package/dist/diagrams/pedigree/index.d.ts +1 -1
  133. package/dist/diagrams/pedigree/index.js +2 -2
  134. package/dist/diagrams/phylo/index.cjs +7 -7
  135. package/dist/diagrams/phylo/index.d.cts +1 -1
  136. package/dist/diagrams/phylo/index.d.ts +1 -1
  137. package/dist/diagrams/phylo/index.js +2 -2
  138. package/dist/diagrams/sld/index.cjs +8 -8
  139. package/dist/diagrams/sld/index.d.cts +1 -1
  140. package/dist/diagrams/sld/index.d.ts +1 -1
  141. package/dist/diagrams/sld/index.js +2 -2
  142. package/dist/diagrams/sociogram/index.cjs +6 -6
  143. package/dist/diagrams/sociogram/index.d.cts +1 -1
  144. package/dist/diagrams/sociogram/index.d.ts +1 -1
  145. package/dist/diagrams/sociogram/index.js +2 -2
  146. package/dist/diagrams/timing/index.d.cts +1 -1
  147. package/dist/diagrams/timing/index.d.ts +1 -1
  148. package/dist/diagrams/venn/index.cjs +9 -9
  149. package/dist/diagrams/venn/index.d.cts +1 -1
  150. package/dist/diagrams/venn/index.d.ts +1 -1
  151. package/dist/diagrams/venn/index.js +2 -2
  152. package/dist/{index-syc0E5Ss.d.ts → index-D9u0YRxL.d.ts} +1 -1
  153. package/dist/{index-Cmf4Rcve.d.cts → index-JZlLiE6K.d.cts} +1 -1
  154. package/dist/index.cjs +91 -87
  155. package/dist/index.d.cts +7 -5
  156. package/dist/index.d.ts +7 -5
  157. package/dist/index.js +22 -22
  158. package/dist/react.cjs +18 -18
  159. package/dist/react.d.cts +2 -2
  160. package/dist/react.d.ts +2 -2
  161. package/dist/react.js +17 -17
  162. package/dist/{tools-B98iarLm.d.cts → tools-DAKYNcPv.d.cts} +2 -2
  163. package/dist/{tools-CCZ1IcIN.d.ts → tools-DM0aLCbc.d.ts} +2 -2
  164. package/package.json +3 -1
  165. package/dist/chunk-4MRVJI7G.js.map +0 -1
  166. package/dist/chunk-4W75FGWO.js.map +0 -1
  167. package/dist/chunk-CVTHUOAM.js.map +0 -1
  168. package/dist/chunk-ENUM7GMZ.cjs.map +0 -1
  169. package/dist/chunk-HX64QWB6.cjs.map +0 -1
  170. package/dist/chunk-II4GLKGF.js.map +0 -1
  171. package/dist/chunk-KH5GRKUM.cjs.map +0 -1
  172. package/dist/chunk-N3HU635X.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkKH5GRKUM_cjs = require('./chunk-KH5GRKUM.cjs');
3
+ var chunkBEPVTFXK_cjs = require('./chunk-BEPVTFXK.cjs');
4
4
 
5
5
  // src/ai/registry.ts
6
6
  var DIAGRAM_REGISTRY = [
@@ -415,7 +415,7 @@ var DIAGRAM_REGISTRY = [
415
415
  type: "rbd",
416
416
  name: "Reliability Block Diagram (RBD)",
417
417
  tagline: "The success-logic diagram that computes its own system reliability \u2014 series/parallel/k-of-n reduction, Birnbaum importance, and single-point-of-failure detection.",
418
- useWhen: 'Use to model whether a system *works* from the reliability of its components, and to compute the overall figure \u2014 RAMS analysis, redundancy/high-availability design, fault-tolerance trade studies. Header `rbd`; nest `series { \u2026 }`, `parallel { \u2026 }`, and `kofn k/n { \u2026 }` success-logic groups around `block ID "Label" R=0.99` leaves (`p=0.01` failure prob or `R=99%` also accepted). The engine computes system reliability (\u220F for series, 1\u2212\u220F(1\u2212R\u1D62) for parallel, exact k-of-n), the Birnbaum reliability-importance of every block, and flags blocks whose failure alone fails the system (SPOF, drawn in red). Sibling of fault tree (\xA737) in the risk-reliability cluster.',
418
+ useWhen: 'Use to model whether a system *works* from the reliability of its components, and to compute the overall figure \u2014 RAMS analysis, redundancy/high-availability design, fault-tolerance trade studies. Header `rbd`; nest `series { \u2026 }`, `parallel { \u2026 }`, and `kofn k/n { \u2026 }` success-logic groups around `block ID "Label" R=0.99` leaves (`p=0.01` failure prob or `R=99%` also accepted). The engine computes system reliability (\u220F for series, 1\u2212\u220F(1\u2212R\u1D62) for parallel, exact k-of-n), the Birnbaum reliability-importance of every block, and flags blocks whose failure alone fails the system (SPOF, drawn in red). For reliability over a mission, add `mission: <t>` and give blocks a distribution \u2014 `rate=\u03BB`/`mtbf=N` (exponential) or `weibull=\u03B2,\u03B7` \u2014 and the engine evaluates R(t). Sibling of fault tree (\xA737) in the risk-reliability cluster.',
419
419
  cluster: "risk-reliability",
420
420
  standard: "IEC 61078:2016 \xB7 MIL-HDBK-338B; see 50-RBD-STANDARD.md",
421
421
  syntaxKey: "rbd",
@@ -436,7 +436,48 @@ var DIAGRAM_REGISTRY = [
436
436
  "RAMS",
437
437
  "Birnbaum importance",
438
438
  "single point of failure",
439
- "fault tolerance"
439
+ "fault tolerance",
440
+ "MTBF",
441
+ "Weibull",
442
+ "mission time reliability",
443
+ "reliability over time"
444
+ ]
445
+ },
446
+ {
447
+ type: "comparison",
448
+ name: "Comparison & Decision Matrix",
449
+ tagline: "One engine for compare-and-contrast \u2014 T-chart, pros/cons, comparison matrix, and the Pugh decision matrix that computes its own winner.",
450
+ useWhen: 'Use to put options side by side and, when there are weighted criteria, to *decide*. Header `comparison "Title"` (or `tchart` / `pugh`) with `mode:` \u2014 `tchart` (2\u2013N bullet columns, also Y-chart), `pros-cons` (green \u2713 / red \u2717 valence), `matrix` (options \xD7 criteria grid; cells take text or yes/no/partial marks), `decision`/`pugh` (criteria carry `weight:`, each option a numeric score, and the engine computes every option\'s weighted total \u03A3(w\xB7s), ranks them, and highlights the winner \u2014 Stuart Pugh / ASQ concept selection), or `double-bubble` (Thinking Maps compare/contrast: shared traits in the middle, unique ones fanning out). Distinct from `matrix` (the 2\xD72 / BCG / quadrant engine, which *positions* items on two axes) \u2014 this one lays out a *table* and computes the decision.',
451
+ cluster: "strategy",
452
+ standard: "Pugh, Total Design (1991) controlled convergence \xB7 ASQ decision matrix \xB7 Hyerle Thinking Maps (double-bubble) \xB7 K-12 graphic-organizer convention; see 51-COMPARISON-STANDARD.md",
453
+ syntaxKey: "comparison",
454
+ aliases: [
455
+ "comparison chart",
456
+ "comparison table",
457
+ "T-chart",
458
+ "Y-chart",
459
+ "pros and cons",
460
+ "pros/cons",
461
+ "decision matrix",
462
+ "Pugh matrix",
463
+ "weighted scoring matrix",
464
+ "double bubble map",
465
+ "compare and contrast",
466
+ "\u5BF9\u6BD4\u56FE",
467
+ "\u51B3\u7B56\u77E9\u9635"
468
+ ],
469
+ keywords: [
470
+ "compare options",
471
+ "concept selection",
472
+ "controlled convergence",
473
+ "weighted scoring",
474
+ "vendor selection",
475
+ "feature comparison",
476
+ "pros cons list",
477
+ "graphic organizer",
478
+ "Thinking Maps",
479
+ "decision making",
480
+ "trade study"
440
481
  ]
441
482
  },
442
483
  // ── Systems thinking / stochastic ────────────────────────────
@@ -744,7 +785,9 @@ var DIAGRAM_SINCE = {
744
785
  // 0.9.4 — multi-sport playbook (football X&O / basketball / soccer)
745
786
  playbook: "0.9.4",
746
787
  // 0.9.5 — reliability block diagram (IEC 61078)
747
- rbd: "0.9.5"
788
+ rbd: "0.9.5",
789
+ // 0.9.8 — comparison & decision matrix (Pugh / pros-cons / T-chart / double-bubble)
790
+ comparison: "0.9.8"
748
791
  };
749
792
  function getDiagramSince(type) {
750
793
  const resolved = resolveDiagramType(type);
@@ -1137,6 +1180,59 @@ If the LED doesn't light up, three things to check, in order: LED polarity (the
1137
1180
  "dsl": 'circuit "Pull-up + push button" netlist\nV1 vcc 0 5V\nR1 vcc sig 10k dir=down\nSW1 sig 0 type=switch\nC1 sig 0 100n',
1138
1181
  "notes": "## Scenario\n\nAn embedded engineer documents a classic active-low input: a pull-up resistor\nholds the signal high, a push button pulls it to ground, and a small capacitor\ndebounces it. The connectivity is written as a SPICE-style netlist \u2014 the engine\nplaces everything from the node names \u2014 and one optional hint refines the look.\n\n## Annotation key\n\n- **netlist line** \u2014 `id node-A node-B value`; components that share a node name\n are wired together. `0` is ground.\n- **`dir=down`** \u2014 the optional orientation hint. `R1` connects `vcc` to `sig`;\n by default the engine would lay it horizontally, but a pull-up reads best drawn\n vertically from the supply rail down to the signal node, so `dir=down` rotates\n just that symbol. Connectivity is unchanged \u2014 `dir=` only rotates the glyph.\n- **`type=switch`** \u2014 the `SW1` id prefix is ambiguous, so the component type is\n made explicit.\n\n## How to read\n\n`R1` ties `sig` up to `vcc` (drawn vertically thanks to `dir=down`). `SW1` and the\ndebounce cap `C1` both go from `sig` to ground, so the engine recognises them as\nshunt legs and drops them beneath the node. Pressing the button shorts `sig` to\nground, pulling the input low."
1139
1182
  },
1183
+ {
1184
+ "slug": "comparison-cell-double-bubble",
1185
+ "diagram": "comparison",
1186
+ "title": "Plant vs animal cell \u2014 double-bubble",
1187
+ "description": "A Thinking-Maps double-bubble compare/contrast organizer \u2014 shared traits in the middle connected to both centres, unique traits fanning out.",
1188
+ "standard": "Hyerle, Thinking Maps (1996)",
1189
+ "tags": [
1190
+ "comparison",
1191
+ "double-bubble",
1192
+ "thinking-maps",
1193
+ "education",
1194
+ "compare-contrast"
1195
+ ],
1196
+ "complexity": 1,
1197
+ "featured": false,
1198
+ "dsl": 'comparison "Plant cell vs Animal cell"\nmode: double-bubble\nleft "Plant cell"\nright "Animal cell"\nshared "Has a nucleus"\nshared "Mitochondria"\nshared "Cell membrane"\nleft-only "Cell wall"\nleft-only "Chloroplasts"\nleft-only "Large central vacuole"\nright-only "Centrioles"\nright-only "Lysosomes"\nright-only "Many small vacuoles"',
1199
+ "notes": "## What this shows\n\nThe Double-Bubble Map is the standard Thinking-Maps organizer for compare/contrast. The two subjects sit as centres; **shared** attributes go in the middle column and connect to *both* centres; attributes unique to each side fan out and connect only to their own centre. The rigid five-column geometry is produced automatically \u2014 you just list what is shared and what is unique."
1200
+ },
1201
+ {
1202
+ "slug": "comparison-cicd-decision-matrix",
1203
+ "diagram": "comparison",
1204
+ "title": "CI/CD platform \u2014 decision matrix",
1205
+ "description": "A Pugh weighted-decision matrix where the engine computes each option's weighted total, ranks them, and highlights the winner \u2014 with Jenkins as the datum baseline.",
1206
+ "standard": "Pugh, Total Design (1991) \xB7 ASQ decision matrix",
1207
+ "tags": [
1208
+ "comparison",
1209
+ "decision-matrix",
1210
+ "pugh",
1211
+ "weighted-scoring",
1212
+ "trade-study"
1213
+ ],
1214
+ "complexity": 3,
1215
+ "featured": true,
1216
+ "dsl": 'comparison "Selecting a CI/CD platform"\nmode: decision\nbaseline: "Jenkins"\noption "GitHub Actions"\noption "GitLab CI"\noption "CircleCI"\noption "Jenkins"\ncriterion "Ease of setup" weight: 5\n GitHub Actions: 5\n GitLab CI: 4\n CircleCI: 4\n Jenkins: 2\ncriterion "Build speed" weight: 4\n GitHub Actions: 4\n GitLab CI: 4\n CircleCI: 5\n Jenkins: 3\ncriterion "Cost at our scale" weight: 4\n GitHub Actions: 4\n GitLab CI: 3\n CircleCI: 3\n Jenkins: 5\ncriterion "Ecosystem / marketplace" weight: 3\n GitHub Actions: 5\n GitLab CI: 3\n CircleCI: 3\n Jenkins: 4\ncriterion "Self-host control" weight: 2\n GitHub Actions: 2\n GitLab CI: 5\n CircleCI: 2\n Jenkins: 5',
1217
+ "notes": '## What this shows\n\nThis is the engine\'s differentiator. You declare the **options** (columns), the weighted **criteria** (rows), and a score per cell \u2014 and you stop there. The **Weighted total** row, the `#1`\u2026`#4` ranks, the green winner, and the **vs datum** deltas against Jenkins are all *computed* (\u03A3 of weight \xD7 score), not typed in. Change one score and the winner can flip. That is Stuart Pugh\'s controlled-convergence method \u2014 the same "the engine computes the answer" stance as `pert` (schedule) and `faulttree` (cut sets).\n\nThe `baseline: "Jenkins"` line marks the Pugh datum: that column is shaded and every other option shows its margin over it.'
1218
+ },
1219
+ {
1220
+ "slug": "comparison-cloud-feature-matrix",
1221
+ "diagram": "comparison",
1222
+ "title": "Cloud providers \u2014 feature comparison matrix",
1223
+ "description": "An options \xD7 criteria comparison grid mixing yes/partial marks with free-text cells \u2014 the kind of feature table no quadrant chart can express.",
1224
+ "standard": "ASQ comparison matrix \xB7 graphic-organizer convention",
1225
+ "tags": [
1226
+ "comparison",
1227
+ "matrix",
1228
+ "feature-comparison",
1229
+ "cloud"
1230
+ ],
1231
+ "complexity": 2,
1232
+ "featured": false,
1233
+ "dsl": 'comparison "Cloud provider \u2014 managed services"\nmode: matrix\noption "AWS"\noption "GCP"\noption "Azure"\ncriterion "Free tier"\n AWS: "12 months"\n GCP: "Always-free"\n Azure: "12 months"\ncriterion "Managed Postgres"\n AWS: yes\n GCP: yes\n Azure: yes\ncriterion "Serverless GPU"\n AWS: partial\n GCP: yes\n Azure: partial\ncriterion "Spot discount"\n AWS: "up to 90%"\n GCP: "up to 91%"\n Azure: "up to 90%"\ncriterion "On-prem hybrid"\n AWS: partial\n GCP: partial\n Azure: yes',
1234
+ "notes": '## What this shows\n\nA straight side-by-side feature table \u2014 options across the top, criteria down the side. Cells mix **marks** (`yes` \u2192 \u2713 green, `partial` \u2192 ~ amber) with **free text** (`"up to 90%"`), so one grid carries both capability flags and figures. The option name on each cell line must match a declared `option`; a typo is flagged in the diagnostics rather than silently dropped.'
1235
+ },
1140
1236
  {
1141
1237
  "slug": "decisiontree-influence-market-entry",
1142
1238
  "diagram": "decisiontree",
@@ -3609,6 +3705,26 @@ A textbook fly-by-wire architecture, the kind certified under ARP4761: **2-out-o
3609
3705
 
3610
3706
  **The architecture's whole point is a number, and the engine computes it.** Each subsystem is driven so close to 1 that the product still lands at a system reliability of **\u2248 0.999998** \u2014 and Schematex prints the nines rather than rounding to "1", because in this domain the nines *are* the answer. No single point of failure remains, which is exactly the design intent the diagram now proves rather than merely asserts.`
3611
3707
  },
3708
+ {
3709
+ "slug": "rbd-pump-station-mission",
3710
+ "diagram": "rbd",
3711
+ "title": "Pump station reliability over a 1-year mission (R(t))",
3712
+ "description": "A reliability block diagram evaluated at a mission time \u2014 two redundant pumps with exponential (MTBF) and Weibull failure distributions. The engine computes R(t) for each block from its distribution and rolls it up to the system reliability at t = 8760 hours.",
3713
+ "standard": "IEC 61078 (RBD) + IEC 61810 / MIL-HDBK-217 (R(t))",
3714
+ "tags": [
3715
+ "rbd",
3716
+ "reliability",
3717
+ "mission-time",
3718
+ "mtbf",
3719
+ "weibull",
3720
+ "redundancy",
3721
+ "availability"
3722
+ ],
3723
+ "complexity": 3,
3724
+ "featured": false,
3725
+ "dsl": 'rbd "Pump Station \u2014 1-year mission"\n mission: 8760\n series {\n block CTRL "Controller" mtbf=50000\n parallel {\n block A "Pump A" mtbf=10000\n block B "Pump B" weibull=1.5,12000\n }\n }',
3726
+ "notes": "## What this shows\n\nStatic reliabilities are the entry point; real RAMS work is **reliability over a mission**. Here `mission: 8760` (one year in hours) turns each block's failure distribution into an **R(t)**: the controller and Pump A use an exponential model from their **MTBF**, while Pump B uses a **Weibull** (\u03B2 = 1.5, so a gently increasing hazard \u2014 wear-out).\n\n**The engine evaluates R(t) per block and composes it.** Pump A's `e^(\u22128760/10000) \u2248 0.42` and Pump B's `e^(\u2212(8760/12000)^1.5) \u2248 0.54` combine in parallel to \u2248 0.73, then multiply by the controller in series \u2014 the headline reads `R(t=8760) = \u2026`. Change the mission time and every figure, and the importance ranking, recomputes. Constant `R=` blocks still work and mix freely with distributions."
3727
+ },
3612
3728
  {
3613
3729
  "slug": "rbd-redundant-server",
3614
3730
  "diagram": "rbd",
@@ -4588,7 +4704,11 @@ var SYNTAX = {
4588
4704
  },
4589
4705
  "rbd": {
4590
4706
  "title": "Reliability Block Diagram",
4591
- "content": '## 1. Your first diagram\n\nEvery document starts with the `rbd` keyword (alias `reliability`), an optional title, then nested success-logic groups around `block` leaves:\n\n```\nrbd "Two redundant pumps"\n parallel {\n block A "Pump A" R=0.9\n block B "Pump B" R=0.9\n }\n```\n\nThe engine draws the two pumps on parallel rails between a split node and a join node, computes the system reliability `1 \u2212 (1\u22120.9)(1\u22120.9) = 0.99`, and prints it as the headline. A bare top-level list of blocks (no outer group) is treated as a **series** chain.\n\n## 2. Blocks\n\nA `block` is one component on a success path:\n\n```\nblock ID "Label" R=0.99\n```\n\n- `ID` \u2014 a short identifier (shown when no label is given).\n- `"Label"` \u2014 an optional display name (CJK quotes welcome).\n- Reliability is given as **`R=0.99`** (reliability/availability), **`p=0.01`** (probability of *failure*, \u2192 R = 1\u2212p), or a percentage **`R=99%`**. A block with no reliability leaves the system figure symbolic (`n/a`).\n\n## 3. Success-logic groups\n\nGroups nest freely, so you can model redundant chains, voting banks, and standby pairs:\n\n| Group | Succeeds when | Reliability |\n|-------|---------------|-------------|\n| `series { \u2026 }` | **every** child works | \u220F R\u1D62 |\n| `parallel { \u2026 }` | **any** child works | 1 \u2212 \u220F(1 \u2212 R\u1D62) |\n| `kofn k/n { \u2026 }` | **\u2265 k of n** children work | exact state enumeration |\n\n```\nseries {\n block CTRL "Controller" R=0.995\n parallel {\n series { block P1 "Path 1 sensor" R=0.97\n block A1 "Path 1 actuator" R=0.98 }\n series { block P2 "Path 2 sensor" R=0.97\n block A2 "Path 2 actuator" R=0.98 }\n }\n}\n```\n\n## 4. Computed reliability, importance & SPOF\n\nAfter parsing, the engine computes:\n\n- **System reliability** \u2014 the headline figure, by recursive series/parallel/k-of-n reduction.\n- **Birnbaum importance** `I\u1D2E(i) = R_sys(R\u1D62=1) \u2212 R_sys(R\u1D62=0)` for every block; the highest-importance block (the improvement target) is accented.\n- **Single points of failure** \u2014 any block where `R_sys(R\u1D62=0) = 0` (its failure alone fails the system) is drawn with a red border. A non-redundant block in series is always a SPOF.\n\n## 5. Validation\n\nThe parser reports non-fatal warnings rather than failing:\n\n- a `kofn k/n` threshold with `k > n` is clamped to `n` (and `k < 1` to `1`);\n- a reliability outside `0..1` is clamped;\n- a duplicate block id is flagged.\n\n## 6. Theming\n\n`theme: default` uses the shared risk-reliability palette (neutral blocks, blue reliability numerals, red single-point-of-failure borders). `theme: monochrome` renders a black-and-white print version (SPOF by border weight); `theme: dark` is the Catppuccin dark variant.'
4707
+ "content": '## 1. Your first diagram\n\nEvery document starts with the `rbd` keyword (alias `reliability`), an optional title, then nested success-logic groups around `block` leaves:\n\n```\nrbd "Two redundant pumps"\n parallel {\n block A "Pump A" R=0.9\n block B "Pump B" R=0.9\n }\n```\n\nThe engine draws the two pumps on parallel rails between a split node and a join node, computes the system reliability `1 \u2212 (1\u22120.9)(1\u22120.9) = 0.99`, and prints it as the headline. A bare top-level list of blocks (no outer group) is treated as a **series** chain.\n\n## 2. Blocks\n\nA `block` is one component on a success path:\n\n```\nblock ID "Label" R=0.99\n```\n\n- `ID` \u2014 a short identifier (shown when no label is given).\n- `"Label"` \u2014 an optional display name (CJK quotes welcome).\n- Reliability is given as **`R=0.99`** (reliability/availability), **`p=0.01`** (probability of *failure*, \u2192 R = 1\u2212p), or a percentage **`R=99%`**. A block with no reliability leaves the system figure symbolic (`n/a`).\n\n## 3. Success-logic groups\n\nGroups nest freely, so you can model redundant chains, voting banks, and standby pairs:\n\n| Group | Succeeds when | Reliability |\n|-------|---------------|-------------|\n| `series { \u2026 }` | **every** child works | \u220F R\u1D62 |\n| `parallel { \u2026 }` | **any** child works | 1 \u2212 \u220F(1 \u2212 R\u1D62) |\n| `kofn k/n { \u2026 }` | **\u2265 k of n** children work | exact state enumeration |\n\n```\nseries {\n block CTRL "Controller" R=0.995\n parallel {\n series { block P1 "Path 1 sensor" R=0.97\n block A1 "Path 1 actuator" R=0.98 }\n series { block P2 "Path 2 sensor" R=0.97\n block A2 "Path 2 actuator" R=0.98 }\n }\n}\n```\n\n## 4. Computed reliability, importance & SPOF\n\nAfter parsing, the engine computes:\n\n- **System reliability** \u2014 the headline figure, by recursive series/parallel/k-of-n reduction.\n- **Birnbaum importance** `I\u1D2E(i) = R_sys(R\u1D62=1) \u2212 R_sys(R\u1D62=0)` for every block; the highest-importance block (the improvement target) is accented.\n- **Criticality importance** `I_C(i) = I\u1D2E(i)\xB7(1\u2212R\u1D62)/(1\u2212R_sys)` \u2014 the probability block i is failed *and* critical, given the system is failed.\n- **Single points of failure** \u2014 any block where `R_sys(R\u1D62=0) = 0` (its failure alone fails the system) is drawn with a red border. A non-redundant block in series is always a SPOF.\n\n## 5. Time-dependent reliability \u2014 R(t)\n\nA static `R=` is the entry point; in practice reliability is a function of mission time. Set a **`mission: <t>`** and give blocks a failure distribution instead of a constant \u2014 the engine evaluates **R(t)** and rolls it up exactly as before. Use **consistent time units** across `mission` and the rates.\n\n| Block attribute | Model | R(t) |\n|-----------------|-------|------|\n| `rate=0.0001` | exponential (constant hazard \u03BB) | e^(\u2212\u03BBt) |\n| `mtbf=10000` | exponential (\u03BB = 1/MTBF) | e^(\u2212t/MTBF) |\n| `weibull=2,10000` | Weibull(\u03B2 shape, \u03B7 scale) | e^(\u2212(t/\u03B7)^\u03B2) |\n\n```\nrbd "Pump station \u2014 1-year mission"\n mission: 8760 # hours\n parallel {\n block A "Pump A" mtbf=10000\n block B "Pump B" weibull=1.5,12000\n }\n```\n\nThe headline becomes `R(t=8760) = \u2026`. A block with a distribution but no `mission:` warns and falls back to its constant `R=` (if any).\n\n## 6. Validation\n\nThe parser reports non-fatal warnings rather than failing:\n\n- a `kofn k/n` threshold with `k > n` is clamped to `n` (and `k < 1` to `1`);\n- a reliability outside `0..1` is clamped;\n- a duplicate block id is flagged.\n\n## 7. Theming\n\n`theme: default` uses the shared risk-reliability palette (neutral blocks, blue reliability numerals, red single-point-of-failure borders). `theme: monochrome` renders a black-and-white print version (SPOF by border weight); `theme: dark` is the Catppuccin dark variant.'
4708
+ },
4709
+ "comparison": {
4710
+ "title": "Comparison & Decision Matrix",
4711
+ "content": '## 1. Header and mode\n\nThe header keyword is `comparison` (aliases `compare`, `vs`). The header keywords `tchart` and `pugh` set the mode directly. Otherwise choose with the `mode:` directive:\n\n```\ncomparison "Title"\nmode: tchart | pros-cons | matrix | decision | double-bubble\nlegend: on | off\n```\n\nIf you omit `mode:`, it is inferred from the keywords you use \u2014 but generating it explicitly is more reliable.\n\n## 2. T-chart (and Y-chart)\n\nDeclare each `column`, then list its points with `-` bullets. Three columns reads as a Y-chart.\n\n```\ntchart "TCP vs UDP"\ncolumn "TCP"\n- Connection-oriented (handshake)\n- Guaranteed, ordered delivery\ncolumn "UDP"\n- Connectionless, fire-and-forget\n- Minimal header, low latency\n```\n\n## 3. Pros / cons\n\n```\ncomparison "Migrate to microservices?"\nmode: pros-cons\npro "Independent team deploys"\npro "Scale hot paths in isolation"\ncon "Distributed-systems complexity"\ncon "Operational + infra cost goes up"\n```\n\n`pro` lines fill the green column, `con` the red \u2014 order independent.\n\n## 4. Comparison matrix\n\nDeclare every `option` (the columns), then each `criterion` (a row) with one indented `OptionName: value` cell per option. Cell values: `yes` / `no` / `partial` render as \u2713 / \u2717 / ~, numbers are scores, quoted text is shown verbatim. The option name must match an `option` exactly (a typo is flagged, not dropped).\n\n```\ncomparison "Cloud provider \u2014 managed services"\nmode: matrix\noption "AWS"\noption "GCP"\noption "Azure"\ncriterion "Free tier"\n AWS: "12 months"\n GCP: "Always-free"\n Azure: "12 months"\ncriterion "Managed Postgres"\n AWS: yes\n GCP: yes\n Azure: partial\n```\n\nA compact pipe form is also accepted: `criterion "Free tier" | "12 months" | "Always-free" | "12 months"` (positional to option order).\n\n## 5. Decision matrix (computed)\n\nAdd a `weight:` to each criterion and a numeric score to each cell. The engine appends a **Weighted total** row, ranks the options (`#1`, `#2`, \u2026), and highlights the winner. Add `baseline: "Option"` for a Pugh datum \u2014 that column is shaded and a **vs datum** delta row is added.\n\n```\npugh "Database for the new service"\nbaseline: "PostgreSQL"\noption "PostgreSQL"\noption "MongoDB"\noption "DynamoDB"\ncriterion "Query flexibility" weight: 5\n PostgreSQL: 5\n MongoDB: 3\n DynamoDB: 2\ncriterion "Horizontal scaling" weight: 4\n PostgreSQL: 3\n MongoDB: 4\n DynamoDB: 5\ncriterion "Operational cost" weight: 3\n PostgreSQL: 4\n MongoDB: 3\n DynamoDB: 3\n```\n\nYou never write the totals \u2014 the engine computes \u03A3(weight \xD7 score), so getting a score wrong changes the computed winner.\n\n## 6. Double-bubble (compare & contrast)\n\n```\ncomparison "Plant cell vs Animal cell"\nmode: double-bubble\nleft "Plant cell"\nright "Animal cell"\nshared "Has a nucleus"\nshared "Mitochondria"\nleft-only "Cell wall"\nleft-only "Chloroplasts"\nright-only "Centrioles"\nright-only "Lysosomes"\n```\n\n`shared` traits sit in the middle, connected to both centres; `left-only` / `right-only` fan out to their own centre.\n\n## 7. Themes\n\n`default` is the house blue with green/red/amber valence; `monochrome` drops colour (valence rides on \u2713/\u2717/~, the winner on a heavy border) for B&W print; `dark` is Catppuccin.\n\n## Standard\n\nPugh, *Total Design* (1991) controlled convergence \xB7 ASQ decision matrix \xB7 Hyerle Thinking Maps (double-bubble) \xB7 K-12 graphic-organizer convention. See `docs/reference/51-COMPARISON-STANDARD.md`.'
4592
4712
  }
4593
4713
  };
4594
4714
 
@@ -5861,7 +5981,7 @@ var PROFILES = {
5861
5981
  type: "rbd",
5862
5982
  header: 'rbd "Title"',
5863
5983
  mode: "brace-nested success logic: series/parallel/kofn groups wrapping `block` leaves",
5864
- keywords: 'header: rbd | reliability \xB7 groups: series { \u2026 } | parallel { \u2026 } | kofn k/n { \u2026 } (nestable) \xB7 leaf: block ID "Label" R=0.99 (also p=0.01 failure prob, or R=99%) \xB7 engine computes system reliability + Birnbaum importance + SPOF',
5984
+ keywords: 'header: rbd | reliability \xB7 groups: series { \u2026 } | parallel { \u2026 } | kofn k/n { \u2026 } (nestable) \xB7 leaf: block ID "Label" R=0.99 (also p=0.01 failure prob, R=99%) \xB7 time-dependent: mission: <t> + block rate=\u03BB | mtbf=N | weibull=\u03B2,\u03B7 \u2192 R(t) \xB7 engine computes system reliability + Birnbaum & criticality importance + SPOF',
5865
5985
  forms: [
5866
5986
  'rbd "Redundant Server"',
5867
5987
  "series {",
@@ -5882,7 +6002,8 @@ var PROFILES = {
5882
6002
  "Give every block a reliability: `R=0.99` (or failure prob `p=0.01`, or `R=99%`); the engine then computes system reliability.",
5883
6003
  "Use `parallel { \u2026 }` for full redundancy and `kofn 2/3 { \u2026 }` for k-out-of-n voting redundancy.",
5884
6004
  "Groups nest freely \u2014 e.g. a `parallel` of two `series` strings models redundant chains.",
5885
- "A bare top-level list of blocks (no outer group) is treated as a series chain."
6005
+ "A bare top-level list of blocks (no outer group) is treated as a series chain.",
6006
+ "For reliability over a mission, add `mission: <t>` and give blocks a distribution \u2014 `rate=\u03BB` or `mtbf=N` (exponential) or `weibull=\u03B2,\u03B7` \u2014 and the engine computes R(t); keep mission and rates in the same time units."
5886
6007
  ],
5887
6008
  avoid: [
5888
6009
  "Don't omit the `block` keyword's reliability if you want a number \u2014 a block with no R leaves the system reliability symbolic.",
@@ -5895,6 +6016,49 @@ var PROFILES = {
5895
6016
  "If system reliability shows 'n/a', a block is missing its `R=`/`p=`."
5896
6017
  ]
5897
6018
  },
6019
+ comparison: {
6020
+ type: "comparison",
6021
+ header: 'comparison "Title"',
6022
+ mode: "one DSL, five modes selected by `mode:` \u2014 pick the mode that matches the task",
6023
+ keywords: 'comparison "Title" (alias headers: tchart | pugh) \xB7 mode: tchart | pros-cons | matrix | decision | double-bubble \xB7 legend: on|off \xB7 tchart: column "X" then `- item` bullets \xB7 pros-cons: pro "\u2026" / con "\u2026" \xB7 matrix & decision: option "A" (columns) + criterion "X" [weight: N] (rows) with indented `A: value` cells (value = text | yes/no/partial | number) \xB7 decision adds numeric scores + optional baseline: "A" (Pugh datum) \u2192 engine computes weighted total, rank, winner \xB7 double-bubble: left "A" / right "B" / shared "\u2026" / left-only "\u2026" / right-only "\u2026"',
6024
+ forms: [
6025
+ 'comparison "Database choice"',
6026
+ "mode: decision",
6027
+ 'option "PostgreSQL"',
6028
+ 'option "MongoDB"',
6029
+ 'criterion "Query flexibility" weight: 5',
6030
+ " PostgreSQL: 5",
6031
+ " MongoDB: 3",
6032
+ 'criterion "Horizontal scaling" weight: 4',
6033
+ " PostgreSQL: 3",
6034
+ " MongoDB: 5",
6035
+ "# \u2014 or a simple T-chart \u2014",
6036
+ "mode: tchart",
6037
+ 'column "Remote"',
6038
+ "- No commute",
6039
+ 'column "Office"',
6040
+ "- Easier collaboration"
6041
+ ],
6042
+ prefer: [
6043
+ "Choose the mode by the job: 2\u2013N bullet columns \u2192 `tchart`; a green/red list \u2192 `pros-cons`; an options\xD7criteria table of facts \u2192 `matrix`; a *decision* with weighted scores \u2192 `decision` (alias `pugh`); a compare/contrast organizer \u2192 `double-bubble`.",
6044
+ "In `matrix`/`decision`, declare every `option` first, then each `criterion`, then indent the per-option cells as `OptionName: value` (the name must match an `option` exactly).",
6045
+ "Use `decision` whenever the user wants to *pick a winner*: give each criterion a `weight:` and each option a numeric score \u2014 the engine sums \u03A3(weight\xD7score), ranks, and highlights the winner. Don't compute the totals yourself.",
6046
+ "Cell marks: `yes`/`no`/`partial` render as \u2713/\u2717/~; numbers are scores; quoted text is shown verbatim.",
6047
+ 'For a Pugh datum, add `baseline: "OptionName"` \u2014 the engine shades that column and shows each option\'s delta versus it.'
6048
+ ],
6049
+ avoid: [
6050
+ "Don't reach for `comparison` to plot items on two axes (Eisenhower / BCG / impact-effort) \u2014 that's the `matrix` diagram. `comparison` is a table, not a quadrant.",
6051
+ "Don't write cell lines before declaring the options \u2014 an unknown `Name:` cell is dropped with a warning.",
6052
+ "Don't hand-write a 'Total' row in `decision` mode \u2014 the engine appends and ranks it.",
6053
+ "Don't mix modes in one document; set exactly one `mode:`."
6054
+ ],
6055
+ repair: [
6056
+ "'is not a declared option' -> add `option \"Name\"` or fix the cell's name to match an option.",
6057
+ "'needs at least one option/criterion' -> a matrix needs both `option` columns and `criterion` rows.",
6058
+ "'no numeric scores found' (decision) -> add `Option: <number>` cells, or switch to `mode: matrix`.",
6059
+ '\'needs both a left and a right\' (double-bubble) -> declare `left "A"` and `right "B"`.'
6060
+ ]
6061
+ },
5898
6062
  causalloop: {
5899
6063
  type: "causalloop",
5900
6064
  header: 'causalloop "Title"',
@@ -6286,7 +6450,7 @@ function getExamples(type, opts = {}) {
6286
6450
  function validateDsl(type, dsl) {
6287
6451
  const resolvedType = type ? resolveDiagramType(type) : void 0;
6288
6452
  const config = type ? { type: resolvedType ?? type } : void 0;
6289
- const result = chunkKH5GRKUM_cjs.parseResult(dsl, config);
6453
+ const result = chunkBEPVTFXK_cjs.parseResult(dsl, config);
6290
6454
  if (result.ok) {
6291
6455
  return {
6292
6456
  ok: true,
@@ -6312,7 +6476,7 @@ function renderDsl(type, dsl, options = {}) {
6312
6476
  ...options,
6313
6477
  ...type ? { type: resolvedType ?? type } : {}
6314
6478
  };
6315
- const result = chunkKH5GRKUM_cjs.renderResult(dsl, config);
6479
+ const result = chunkBEPVTFXK_cjs.renderResult(dsl, config);
6316
6480
  if (result.ok) {
6317
6481
  return {
6318
6482
  ok: true,
@@ -6374,5 +6538,5 @@ exports.listDiagrams = listDiagrams;
6374
6538
  exports.renderDsl = renderDsl;
6375
6539
  exports.resolveDiagramType = resolveDiagramType;
6376
6540
  exports.validateDsl = validateDsl;
6377
- //# sourceMappingURL=chunk-HX64QWB6.cjs.map
6378
- //# sourceMappingURL=chunk-HX64QWB6.cjs.map
6541
+ //# sourceMappingURL=chunk-2LVU75P3.cjs.map
6542
+ //# sourceMappingURL=chunk-2LVU75P3.cjs.map