@diagrammo/dgmo 0.86.0 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced.d.ts +0 -18
- package/dist/advanced.js +36 -35
- package/dist/block.js +5 -17
- package/dist/{chunk-FAV4RDVT.js → chunk-2A4DQAXG.js} +1 -1
- package/dist/{chunk-JIPUBFAM.js → chunk-5KGM44TG.js} +2 -2
- package/dist/{chunk-QJ2JOLFN.js → chunk-6I5UN4FD.js} +2 -2
- package/dist/{chunk-PKXKWHDW.js → chunk-AUS7V54P.js} +1 -1
- package/dist/{chunk-BF7JAFJI.js → chunk-B7CU2HW5.js} +2 -2
- package/dist/{chunk-X2VEJ5NT.js → chunk-BMUWF77V.js} +2 -2
- package/dist/{chunk-BP4BT5TH.js → chunk-CLQIXD2C.js} +1 -1
- package/dist/{chunk-QJFT5MAH.js → chunk-DSG6GBUQ.js} +2 -2
- package/dist/{chunk-EWSESGC2.js → chunk-EJS3K44P.js} +117 -78
- package/dist/{chunk-VEE777MD.js → chunk-FBKPSU3A.js} +3 -3
- package/dist/{chunk-5JO443MB.js → chunk-HAH5X345.js} +1 -1
- package/dist/{chunk-HBCAY3KR.js → chunk-HTNLLT34.js} +1 -1
- package/dist/{chunk-HUMQIRJK.js → chunk-HTPZDZKQ.js} +2 -2
- package/dist/{chunk-VPVWG2GH.js → chunk-J7Q4VPBJ.js} +1 -1
- package/dist/{chunk-3CQS3CIO.js → chunk-LL6D3MES.js} +1 -1
- package/dist/{chunk-QPE646M2.js → chunk-LPXC4I4R.js} +18 -1
- package/dist/{chunk-ERYHC4KJ.js → chunk-LSQGJN5H.js} +1 -1
- package/dist/{chunk-E6S2K6O2.js → chunk-N7XRBWXA.js} +2 -2
- package/dist/{chunk-WMIKC5XO.js → chunk-NPWVOFB3.js} +1 -1
- package/dist/{chunk-MYHPRQHR.js → chunk-O6MMQQLF.js} +3 -3
- package/dist/{chunk-GYORDNOM.js → chunk-P5V63L35.js} +1 -1
- package/dist/{chunk-4YA5XW43.js → chunk-PJQZWJ5I.js} +50 -28
- package/dist/{chunk-BHZE36F7.js → chunk-PUVTFUNH.js} +1 -1
- package/dist/{chunk-ETBXIKK6.js → chunk-Q2U5635V.js} +1 -1
- package/dist/{chunk-TW6WMZFW.js → chunk-QT3KDDXK.js} +156 -7
- package/dist/{chunk-ZGHV4QLK.js → chunk-RJNZHFNG.js} +1 -1
- package/dist/{chunk-FWNJDD4U.js → chunk-S7W75MIM.js} +3 -20
- package/dist/{chunk-C6FZZFYD.js → chunk-WZ23JJ7U.js} +1 -1
- package/dist/{chunk-LIYWJ6DV.js → chunk-XIFK423U.js} +108 -13
- package/dist/{chunk-4ELXLATB.js → chunk-XUDGZJTJ.js} +2 -2
- package/dist/{chunk-H6AFNCN3.js → chunk-XVSJYAK7.js} +1 -1
- package/dist/{chunk-LHBMQJC3.js → chunk-XWYR5T52.js} +2 -2
- package/dist/{chunk-QNKHJ5CK.js → chunk-YK4N6TBN.js} +4 -2
- package/dist/{chunk-XFMQSFS4.js → chunk-YMG7JDEY.js} +16 -6
- package/dist/chunk-Z6DXWULM.js +23 -0
- package/dist/{chunk-PBEH52A2.js → chunk-ZNNVI5SR.js} +1 -1
- package/dist/{flowchart-renderer-H72L7BEC.js → flowchart-renderer-THC6Y7EH.js} +7 -6
- package/dist/index.d.ts +68 -1
- package/dist/index.js +75 -7
- package/dist/{layout-QIPCNUSB.js → layout-BOVTLAOT.js} +7 -6
- package/dist/{layout-6JARW64V.js → layout-EHTYSMV4.js} +6 -5
- package/dist/{layout-YELNBVPC.js → layout-P6DTD4RT.js} +6 -5
- package/dist/{layout-T6TAB5OI.js → layout-RANVNAKI.js} +3 -3
- package/dist/{layout-FMKSENGL.js → layout-XUW444O5.js} +5 -4
- package/dist/{layout-search-AW5VBDCV.js → layout-search-VKSBUCDM.js} +57 -28
- package/dist/{renderer-AI2MD52D.js → renderer-222OTVQV.js} +3 -2
- package/dist/{renderer-UUWR7NGF.js → renderer-2KVQGGTT.js} +4 -3
- package/dist/{renderer-E5EKGIX2.js → renderer-2OOPQ4CH.js} +4 -3
- package/dist/{renderer-RLSR7N6I.js → renderer-3CTUWCO7.js} +5 -4
- package/dist/{renderer-CZJ4AMYV.js → renderer-3FF4QVGW.js} +3 -2
- package/dist/{renderer-R6VJDZFO.js → renderer-4BHOELCE.js} +4 -3
- package/dist/{renderer-425QUIYO.js → renderer-4BIMRO4X.js} +4 -3
- package/dist/{renderer-5JVVJBAS.js → renderer-A4LMOBZL.js} +8 -7
- package/dist/{renderer-3AOOLHJU.js → renderer-A6ACVK4X.js} +3 -2
- package/dist/{renderer-ML2CLU25.js → renderer-DCFQDBGJ.js} +4 -3
- package/dist/{renderer-ADX4DWRJ.js → renderer-ELYPDPNF.js} +3 -2
- package/dist/{renderer-RH4U3UVM.js → renderer-LODEVN3V.js} +3 -2
- package/dist/{renderer-E7WF75GY.js → renderer-NHPKNNBD.js} +5 -4
- package/dist/{renderer-JEEGPLMM.js → renderer-R34GJL7U.js} +8 -7
- package/dist/{renderer-2BWRW23Z.js → renderer-RENDISO5.js} +1 -1
- package/dist/{renderer-VKAJ52UO.js → renderer-SDUSBCJI.js} +3 -2
- package/dist/{renderer-RUGMKHX5.js → renderer-WH2HWE5Z.js} +3 -2
- package/dist/{renderer-V6LLASGN.js → renderer-X5A5VIRD.js} +5 -4
- package/dist/{renderer-EWJS2RAZ.js → renderer-YDAVCRTP.js} +3 -2
- package/dist/{state-renderer-DDVJ43HR.js → state-renderer-5IQ4OJUI.js} +7 -6
- package/gallery/fixtures/journey-map.dgmo +28 -0
- package/gallery/fixtures/mindmap.dgmo +31 -0
- package/gallery/fixtures/pert.dgmo +27 -0
- package/gallery/fixtures/wireframe.dgmo +30 -0
- package/package.json +2 -2
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
layoutClassDiagram
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CLQIXD2C.js";
|
|
4
|
+
import "./chunk-HTNLLT34.js";
|
|
5
5
|
import "./chunk-6EK55ART.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-RJNZHFNG.js";
|
|
7
7
|
import "./chunk-5DH3KYFH.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-NPWVOFB3.js";
|
|
9
|
+
import "./chunk-S7W75MIM.js";
|
|
10
|
+
import "./chunk-Z6DXWULM.js";
|
|
10
11
|
import "./chunk-ICLB27PZ.js";
|
|
11
12
|
import "./chunk-KAO7JL4I.js";
|
|
12
13
|
import "./chunk-O753JUEZ.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
layoutSwimlane
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-AUS7V54P.js";
|
|
4
|
+
import "./chunk-EJS3K44P.js";
|
|
5
|
+
import "./chunk-QT3KDDXK.js";
|
|
6
6
|
import "./chunk-KAO7JL4I.js";
|
|
7
7
|
import "./chunk-5WRI5ZAA.js";
|
|
8
8
|
export {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
layoutGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZNNVI5SR.js";
|
|
4
4
|
import "./chunk-6EK55ART.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-RJNZHFNG.js";
|
|
6
6
|
import "./chunk-5DH3KYFH.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-NPWVOFB3.js";
|
|
8
|
+
import "./chunk-S7W75MIM.js";
|
|
9
|
+
import "./chunk-Z6DXWULM.js";
|
|
9
10
|
import "./chunk-ICLB27PZ.js";
|
|
10
11
|
import "./chunk-KAO7JL4I.js";
|
|
11
12
|
import "./chunk-NXMESY4J.js";
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeNodeSize
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XIFK423U.js";
|
|
4
4
|
import {
|
|
5
5
|
clipEndpointsToNodes,
|
|
6
6
|
groupedTierCandidates
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EJS3K44P.js";
|
|
8
8
|
import {
|
|
9
9
|
EDGE_LABEL_FONT_SIZE,
|
|
10
10
|
NODE_HEIGHT,
|
|
11
11
|
NODE_WIDTH,
|
|
12
12
|
measureEdgeLabel
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-QT3KDDXK.js";
|
|
14
|
+
import "./chunk-HTNLLT34.js";
|
|
15
15
|
import "./chunk-6EK55ART.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-RJNZHFNG.js";
|
|
17
17
|
import "./chunk-5DH3KYFH.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-NPWVOFB3.js";
|
|
19
|
+
import "./chunk-S7W75MIM.js";
|
|
20
|
+
import "./chunk-Z6DXWULM.js";
|
|
20
21
|
import "./chunk-ICLB27PZ.js";
|
|
21
22
|
import "./chunk-KAO7JL4I.js";
|
|
22
23
|
import "./chunk-O753JUEZ.js";
|
|
@@ -813,7 +814,8 @@ var ESCALATE_THRESHOLD = 4;
|
|
|
813
814
|
var ESCALATE_MAX_N = 45;
|
|
814
815
|
var ESCALATE_SEEDS = 18;
|
|
815
816
|
var ESCALATE_REFINE = 10;
|
|
816
|
-
var
|
|
817
|
+
var SEARCH_WORK_CAP = 36e3;
|
|
818
|
+
var MIN_SEARCH_CANDIDATES = 6;
|
|
817
819
|
function rng2(s) {
|
|
818
820
|
return () => {
|
|
819
821
|
s |= 0;
|
|
@@ -910,7 +912,7 @@ function countSplineCrossings(layout, floor = Infinity) {
|
|
|
910
912
|
if (g.collapsed) center.set("__group_" + g.label, { x: g.x, y: g.y });
|
|
911
913
|
const polys = flatPolys(layout);
|
|
912
914
|
const edges = layout.edges;
|
|
913
|
-
const
|
|
915
|
+
const R2 = 34 * 34;
|
|
914
916
|
let total = 0;
|
|
915
917
|
for (let a = 0; a < polys.length; a++)
|
|
916
918
|
for (let b = a + 1; b < polys.length; b++) {
|
|
@@ -928,6 +930,8 @@ function countSplineCrossings(layout, floor = Infinity) {
|
|
|
928
930
|
for (let i = 1; i < ap.length; i++) {
|
|
929
931
|
const a0 = ap[i - 1], a1 = ap[i];
|
|
930
932
|
const axMin = a0.x < a1.x ? a0.x : a1.x, axMax = a0.x > a1.x ? a0.x : a1.x, ayMin = a0.y < a1.y ? a0.y : a1.y, ayMax = a0.y > a1.y ? a0.y : a1.y;
|
|
933
|
+
if (axMax < B.x0 || axMin > B.x1 || ayMax < B.y0 || ayMin > B.y1)
|
|
934
|
+
continue;
|
|
931
935
|
for (let j = 1; j < bp.length; j++) {
|
|
932
936
|
const b0 = bp[j - 1], b1 = bp[j];
|
|
933
937
|
if (axMax < (b0.x < b1.x ? b0.x : b1.x)) continue;
|
|
@@ -936,9 +940,9 @@ function countSplineCrossings(layout, floor = Infinity) {
|
|
|
936
940
|
if ((b0.y > b1.y ? b0.y : b1.y) < ayMin) continue;
|
|
937
941
|
const p = segPoint(a0, a1, b0, b1);
|
|
938
942
|
if (!p) continue;
|
|
939
|
-
if (sh0 &&
|
|
940
|
-
if (sh1 &&
|
|
941
|
-
if (!hits.some((h) =>
|
|
943
|
+
if (sh0 && (p.x - sh0.x) ** 2 + (p.y - sh0.y) ** 2 < R2) continue;
|
|
944
|
+
if (sh1 && (p.x - sh1.x) ** 2 + (p.y - sh1.y) ** 2 < R2) continue;
|
|
945
|
+
if (!hits.some((h) => (h.x - p.x) ** 2 + (h.y - p.y) ** 2 < 36))
|
|
942
946
|
hits.push(p);
|
|
943
947
|
}
|
|
944
948
|
}
|
|
@@ -947,19 +951,25 @@ function countSplineCrossings(layout, floor = Infinity) {
|
|
|
947
951
|
}
|
|
948
952
|
return total;
|
|
949
953
|
}
|
|
950
|
-
function
|
|
954
|
+
function pointSegDist2(p, a, b) {
|
|
951
955
|
const dx = b.x - a.x, dy = b.y - a.y;
|
|
952
956
|
const len2 = dx * dx + dy * dy;
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
+
let qx = p.x - a.x, qy = p.y - a.y;
|
|
958
|
+
if (len2 >= 1e-9) {
|
|
959
|
+
let t = (qx * dx + qy * dy) / len2;
|
|
960
|
+
t = t < 0 ? 0 : t > 1 ? 1 : t;
|
|
961
|
+
qx -= t * dx;
|
|
962
|
+
qy -= t * dy;
|
|
963
|
+
}
|
|
964
|
+
return qx * qx + qy * qy;
|
|
957
965
|
}
|
|
958
|
-
function
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
966
|
+
function nearPoly(p, poly, dist) {
|
|
967
|
+
if (p.x < poly.x0 - dist || p.x > poly.x1 + dist || p.y < poly.y0 - dist || p.y > poly.y1 + dist)
|
|
968
|
+
return false;
|
|
969
|
+
const d2 = dist * dist, pts = poly.pts;
|
|
970
|
+
for (let i = 1; i < pts.length; i++)
|
|
971
|
+
if (pointSegDist2(p, pts[i - 1], pts[i]) < d2) return true;
|
|
972
|
+
return false;
|
|
963
973
|
}
|
|
964
974
|
function pointRectDist(p, r) {
|
|
965
975
|
const dx = Math.max(r.x - r.w / 2 - p.x, 0, p.x - (r.x + r.w / 2));
|
|
@@ -1010,7 +1020,7 @@ function detectEdgeOverlaps(layout, opts) {
|
|
|
1010
1020
|
};
|
|
1011
1021
|
for (const p of A.pts) {
|
|
1012
1022
|
const nearShared = shr0 !== void 0 && pointRectDist(p, shr0) < nodeClear || shr1 !== void 0 && pointRectDist(p, shr1) < nodeClear;
|
|
1013
|
-
const covered = !nearShared &&
|
|
1023
|
+
const covered = !nearShared && nearPoly(p, B, dist);
|
|
1014
1024
|
if (covered) {
|
|
1015
1025
|
if (run.length)
|
|
1016
1026
|
runLen += Math.hypot(
|
|
@@ -1434,8 +1444,6 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
|
|
|
1434
1444
|
const YIELD_EVERY_MS = 30;
|
|
1435
1445
|
const searchStart = performance.now();
|
|
1436
1446
|
let lastYield = searchStart;
|
|
1437
|
-
const budgetMs = opts?.budgetMs ?? DEFAULT_SEARCH_BUDGET_MS;
|
|
1438
|
-
const overBudget = () => budgetMs > 0 && performance.now() - searchStart > budgetMs;
|
|
1439
1447
|
const collapsedGroupLabels = /* @__PURE__ */ new Set();
|
|
1440
1448
|
if (collapseInfo) {
|
|
1441
1449
|
const missing = /* @__PURE__ */ new Set();
|
|
@@ -1694,10 +1702,16 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
|
|
|
1694
1702
|
};
|
|
1695
1703
|
}
|
|
1696
1704
|
const n = parsed.nodes.length;
|
|
1697
|
-
const seedCount = opts?.seeds ?? (n <= 12 ?
|
|
1705
|
+
const seedCount = opts?.seeds ?? (n <= 12 ? 20 : n <= 22 ? 40 : n <= 35 ? 22 : 10);
|
|
1698
1706
|
const REFINE_K = opts?.refineK ?? 6;
|
|
1699
1707
|
const lambda = opts?.lambda ?? DEFAULT_LAMBDA;
|
|
1700
1708
|
const prev = opts?.previousPositions;
|
|
1709
|
+
const searchSize = Math.max(1, n + parsed.edges.length);
|
|
1710
|
+
const maxCandidates = Math.max(
|
|
1711
|
+
MIN_SEARCH_CANDIDATES,
|
|
1712
|
+
Math.floor(SEARCH_WORK_CAP / Math.pow(searchSize, 1.5))
|
|
1713
|
+
);
|
|
1714
|
+
let attempts = 0;
|
|
1701
1715
|
const configs = [];
|
|
1702
1716
|
if (opts?.configs) {
|
|
1703
1717
|
configs.push(...opts.configs);
|
|
@@ -1737,7 +1751,15 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
|
|
|
1737
1751
|
};
|
|
1738
1752
|
const pool = [];
|
|
1739
1753
|
const cfgOf = /* @__PURE__ */ new Map();
|
|
1754
|
+
const perfect = [];
|
|
1755
|
+
let seedsChecked = false;
|
|
1740
1756
|
for (const cfg of configs) {
|
|
1757
|
+
if (!opts?.configs && cfg.seed !== void 0 && !seedsChecked) {
|
|
1758
|
+
seedsChecked = true;
|
|
1759
|
+
for (const lay of pool) if (badness(lay, 0) === 0) perfect.push(lay);
|
|
1760
|
+
if (perfect.length) break;
|
|
1761
|
+
}
|
|
1762
|
+
attempts++;
|
|
1741
1763
|
try {
|
|
1742
1764
|
const lay = place(cfg);
|
|
1743
1765
|
pool.push(lay);
|
|
@@ -1745,7 +1767,7 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
|
|
|
1745
1767
|
} catch {
|
|
1746
1768
|
}
|
|
1747
1769
|
await step("Optimizing layout");
|
|
1748
|
-
if (pool.length &&
|
|
1770
|
+
if (pool.length && attempts >= maxCandidates) break;
|
|
1749
1771
|
}
|
|
1750
1772
|
if (!pool.length) {
|
|
1751
1773
|
const plain = {
|
|
@@ -1813,6 +1835,12 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
|
|
|
1813
1835
|
if (cfg) topConfigs.push(cfg);
|
|
1814
1836
|
await step("Refining layout");
|
|
1815
1837
|
}
|
|
1838
|
+
for (const lay of perfect) {
|
|
1839
|
+
if (pool.indexOf(lay) < refineK) continue;
|
|
1840
|
+
consider(lay);
|
|
1841
|
+
const cfg = cfgOf.get(lay);
|
|
1842
|
+
if (cfg) topConfigs.push(cfg);
|
|
1843
|
+
}
|
|
1816
1844
|
if (!opts?.configs && bestBad >= ESCALATE_THRESHOLD && n <= ESCALATE_MAX_N) {
|
|
1817
1845
|
const extra = [];
|
|
1818
1846
|
for (let s = seedCount; s < seedCount + ESCALATE_SEEDS; s++) {
|
|
@@ -1822,13 +1850,14 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
|
|
|
1822
1850
|
ranksep: 60,
|
|
1823
1851
|
seed: s
|
|
1824
1852
|
};
|
|
1853
|
+
attempts++;
|
|
1825
1854
|
try {
|
|
1826
1855
|
const lay = place(cfg);
|
|
1827
1856
|
extra.push(lay);
|
|
1828
1857
|
cfgOf.set(lay, cfg);
|
|
1829
1858
|
} catch {
|
|
1830
1859
|
}
|
|
1831
|
-
if (
|
|
1860
|
+
if (attempts >= maxCandidates) break;
|
|
1832
1861
|
}
|
|
1833
1862
|
const extraKey = /* @__PURE__ */ new Map();
|
|
1834
1863
|
for (const lay of extra)
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderGoal,
|
|
3
3
|
renderGoalForExport
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XVSJYAK7.js";
|
|
5
5
|
import "./chunk-LNO3ASX5.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-VLC6WNRD.js";
|
|
8
9
|
import "./chunk-ICLB27PZ.js";
|
|
9
10
|
import "./chunk-KAO7JL4I.js";
|
|
@@ -7,12 +7,13 @@ import {
|
|
|
7
7
|
groupMessagesBySection,
|
|
8
8
|
renderSequenceDiagram,
|
|
9
9
|
summarizeSectionParticipation
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-YMG7JDEY.js";
|
|
11
|
+
import "./chunk-NPWVOFB3.js";
|
|
12
12
|
import {
|
|
13
13
|
parseInlineMarkdown,
|
|
14
14
|
truncateBareUrl
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-S7W75MIM.js";
|
|
16
|
+
import "./chunk-Z6DXWULM.js";
|
|
16
17
|
import "./chunk-24YPR5EH.js";
|
|
17
18
|
import "./chunk-XCKNFFKM.js";
|
|
18
19
|
import "./chunk-3DOQOXXI.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderRing,
|
|
3
3
|
renderRingForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-6I5UN4FD.js";
|
|
5
|
+
import "./chunk-NPWVOFB3.js";
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-24YPR5EH.js";
|
|
8
9
|
import "./chunk-VLC6WNRD.js";
|
|
9
10
|
import "./chunk-ICLB27PZ.js";
|
|
@@ -3,11 +3,12 @@ import {
|
|
|
3
3
|
focusEventLine,
|
|
4
4
|
renderEventLine,
|
|
5
5
|
renderEventLineForExport
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-FBKPSU3A.js";
|
|
7
|
+
import "./chunk-NPWVOFB3.js";
|
|
8
8
|
import "./chunk-R2K5L4UA.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-S7W75MIM.js";
|
|
10
|
+
import "./chunk-Z6DXWULM.js";
|
|
11
|
+
import "./chunk-LPXC4I4R.js";
|
|
11
12
|
import "./chunk-YRYKTYMQ.js";
|
|
12
13
|
import "./chunk-24YPR5EH.js";
|
|
13
14
|
import "./chunk-XCKNFFKM.js";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderKanban,
|
|
3
3
|
renderKanbanForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-J7Q4VPBJ.js";
|
|
5
|
+
import "./chunk-S7W75MIM.js";
|
|
6
|
+
import "./chunk-Z6DXWULM.js";
|
|
6
7
|
import "./chunk-24YPR5EH.js";
|
|
7
8
|
import "./chunk-XCKNFFKM.js";
|
|
8
9
|
import "./chunk-LD2JSKU3.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderPyramid,
|
|
3
3
|
renderPyramidForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-BMUWF77V.js";
|
|
5
|
+
import "./chunk-NPWVOFB3.js";
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-24YPR5EH.js";
|
|
8
9
|
import "./chunk-VLC6WNRD.js";
|
|
9
10
|
import "./chunk-ICLB27PZ.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderCycle,
|
|
3
3
|
renderCycleForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-DSG6GBUQ.js";
|
|
5
|
+
import "./chunk-NPWVOFB3.js";
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-24YPR5EH.js";
|
|
8
9
|
import "./chunk-XCKNFFKM.js";
|
|
9
10
|
import "./chunk-VLC6WNRD.js";
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderClassDiagram,
|
|
3
3
|
renderClassDiagramForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-XWYR5T52.js";
|
|
5
|
+
import "./chunk-CLQIXD2C.js";
|
|
6
|
+
import "./chunk-HAH5X345.js";
|
|
7
|
+
import "./chunk-HTNLLT34.js";
|
|
8
8
|
import "./chunk-6EK55ART.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-RJNZHFNG.js";
|
|
10
10
|
import "./chunk-5DH3KYFH.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-NPWVOFB3.js";
|
|
12
|
+
import "./chunk-S7W75MIM.js";
|
|
13
|
+
import "./chunk-Z6DXWULM.js";
|
|
13
14
|
import "./chunk-24YPR5EH.js";
|
|
14
15
|
import "./chunk-XCKNFFKM.js";
|
|
15
16
|
import "./chunk-QFIXL3OK.js";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderTechRadar,
|
|
3
3
|
renderTechRadarForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-YK4N6TBN.js";
|
|
5
|
+
import "./chunk-S7W75MIM.js";
|
|
6
|
+
import "./chunk-Z6DXWULM.js";
|
|
6
7
|
import "./chunk-24YPR5EH.js";
|
|
7
8
|
import "./chunk-VLC6WNRD.js";
|
|
8
9
|
import "./chunk-LHL6HDUL.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderCountdown,
|
|
3
3
|
renderCountdownForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-5KGM44TG.js";
|
|
5
|
+
import "./chunk-NPWVOFB3.js";
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-ICLB27PZ.js";
|
|
8
9
|
import "./chunk-WFA6IULY.js";
|
|
9
10
|
import "./chunk-3DPOIW3W.js";
|
|
@@ -2,8 +2,9 @@ import {
|
|
|
2
2
|
bracketExportDimensions,
|
|
3
3
|
renderBracket,
|
|
4
4
|
renderBracketForExport
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-Q2U5635V.js";
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-3DOQOXXI.js";
|
|
8
9
|
import "./chunk-VLC6WNRD.js";
|
|
9
10
|
import "./chunk-LHL6HDUL.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderMindmap,
|
|
3
3
|
renderMindmapForExport
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LL6D3MES.js";
|
|
5
5
|
import "./chunk-UIUXIDBX.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-24YPR5EH.js";
|
|
8
9
|
import "./chunk-XCKNFFKM.js";
|
|
9
10
|
import "./chunk-QFIXL3OK.js";
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderJourneyMap,
|
|
3
3
|
renderJourneyMapForExport
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-N7XRBWXA.js";
|
|
5
5
|
import "./chunk-DOXBS7F5.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-RJNZHFNG.js";
|
|
7
7
|
import "./chunk-5DH3KYFH.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-NPWVOFB3.js";
|
|
9
|
+
import "./chunk-S7W75MIM.js";
|
|
10
|
+
import "./chunk-Z6DXWULM.js";
|
|
10
11
|
import "./chunk-24YPR5EH.js";
|
|
11
12
|
import "./chunk-XCKNFFKM.js";
|
|
12
13
|
import "./chunk-LD2JSKU3.js";
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderERDiagram,
|
|
3
3
|
renderERDiagramForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-HTPZDZKQ.js";
|
|
5
|
+
import "./chunk-2A4DQAXG.js";
|
|
6
|
+
import "./chunk-HAH5X345.js";
|
|
7
|
+
import "./chunk-HTNLLT34.js";
|
|
8
8
|
import "./chunk-6EK55ART.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-RJNZHFNG.js";
|
|
10
10
|
import "./chunk-5DH3KYFH.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-NPWVOFB3.js";
|
|
12
|
+
import "./chunk-S7W75MIM.js";
|
|
13
|
+
import "./chunk-Z6DXWULM.js";
|
|
13
14
|
import "./chunk-24YPR5EH.js";
|
|
14
15
|
import "./chunk-XCKNFFKM.js";
|
|
15
16
|
import "./chunk-3DOQOXXI.js";
|
|
@@ -2,11 +2,12 @@ import {
|
|
|
2
2
|
computeInfraLegendGroups,
|
|
3
3
|
parseAndLayoutInfra,
|
|
4
4
|
renderInfra
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LSQGJN5H.js";
|
|
6
6
|
import "./chunk-ICZ7M6IZ.js";
|
|
7
7
|
import "./chunk-3FCSOYN4.js";
|
|
8
8
|
import "./chunk-XBJJP2HN.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-S7W75MIM.js";
|
|
10
|
+
import "./chunk-Z6DXWULM.js";
|
|
10
11
|
import "./chunk-24YPR5EH.js";
|
|
11
12
|
import "./chunk-XCKNFFKM.js";
|
|
12
13
|
import "./chunk-3DOQOXXI.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderSitemap,
|
|
3
3
|
renderSitemapForExport
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PUVTFUNH.js";
|
|
5
5
|
import "./chunk-R2K5L4UA.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-S7W75MIM.js";
|
|
7
|
+
import "./chunk-Z6DXWULM.js";
|
|
7
8
|
import "./chunk-24YPR5EH.js";
|
|
8
9
|
import "./chunk-XCKNFFKM.js";
|
|
9
10
|
import "./chunk-3DOQOXXI.js";
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderBoxesAndLines,
|
|
3
3
|
renderBoxesAndLinesForExport
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-O6MMQQLF.js";
|
|
5
|
+
import "./chunk-HAH5X345.js";
|
|
6
6
|
import "./chunk-XBJJP2HN.js";
|
|
7
7
|
import "./chunk-5DH3KYFH.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-NPWVOFB3.js";
|
|
9
|
+
import "./chunk-S7W75MIM.js";
|
|
10
|
+
import "./chunk-Z6DXWULM.js";
|
|
10
11
|
import "./chunk-24YPR5EH.js";
|
|
11
12
|
import "./chunk-XCKNFFKM.js";
|
|
12
13
|
import "./chunk-3DOQOXXI.js";
|
|
@@ -6,10 +6,11 @@ import {
|
|
|
6
6
|
renderC4ContextForExport,
|
|
7
7
|
renderC4Deployment,
|
|
8
8
|
renderC4DeploymentForExport
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WZ23JJ7U.js";
|
|
10
10
|
import "./chunk-DAX42XVH.js";
|
|
11
11
|
import "./chunk-XBJJP2HN.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-S7W75MIM.js";
|
|
13
|
+
import "./chunk-Z6DXWULM.js";
|
|
13
14
|
import "./chunk-XCKNFFKM.js";
|
|
14
15
|
import "./chunk-LD2JSKU3.js";
|
|
15
16
|
import "./chunk-VLC6WNRD.js";
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderState,
|
|
3
3
|
renderStateForExport
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B7CU2HW5.js";
|
|
5
5
|
import "./chunk-26EVL454.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-ZNNVI5SR.js";
|
|
7
|
+
import "./chunk-HAH5X345.js";
|
|
8
8
|
import "./chunk-XBJJP2HN.js";
|
|
9
9
|
import "./chunk-6EK55ART.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-RJNZHFNG.js";
|
|
11
11
|
import "./chunk-5DH3KYFH.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-NPWVOFB3.js";
|
|
13
|
+
import "./chunk-S7W75MIM.js";
|
|
14
|
+
import "./chunk-Z6DXWULM.js";
|
|
14
15
|
import "./chunk-EPDBWATV.js";
|
|
15
16
|
import "./chunk-24YPR5EH.js";
|
|
16
17
|
import "./chunk-XCKNFFKM.js";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
journey-map Customer Onboarding
|
|
2
|
+
|
|
3
|
+
persona New Customer color: blue
|
|
4
|
+
Team lead at a 40-person company
|
|
5
|
+
Evaluating the product on a two-week trial
|
|
6
|
+
|
|
7
|
+
[Discover]
|
|
8
|
+
Reads a comparison article score: 3, emotion: Curious
|
|
9
|
+
thought: Could this replace the spreadsheet we keep fighting?
|
|
10
|
+
Watches the product demo score: 4, emotion: Interested
|
|
11
|
+
|
|
12
|
+
[Sign Up]
|
|
13
|
+
Creates an account score: 4, emotion: Hopeful
|
|
14
|
+
description: Email, password and a workspace name
|
|
15
|
+
Waits for the verification email score: 2, emotion: Impatient
|
|
16
|
+
pain: The email lands in spam and takes ten minutes to find
|
|
17
|
+
|
|
18
|
+
[First Use]
|
|
19
|
+
Imports existing data score: 2, emotion: Frustrated
|
|
20
|
+
pain: The CSV importer rejects two columns without saying why
|
|
21
|
+
opportunity: Show a preview with the rejected columns highlighted
|
|
22
|
+
Invites the team score: 4, emotion: Relieved
|
|
23
|
+
|
|
24
|
+
[Adopt]
|
|
25
|
+
Runs the first weekly review in the tool score: 5, emotion: Confident
|
|
26
|
+
description: The whole team works from one shared board
|
|
27
|
+
Upgrades to a paid plan score: 4, emotion: Satisfied
|
|
28
|
+
thought: Worth it if it saves an hour a week
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
mindmap Product Launch Plan
|
|
2
|
+
|
|
3
|
+
tag Priority as p
|
|
4
|
+
Must red
|
|
5
|
+
Should orange
|
|
6
|
+
Could green
|
|
7
|
+
|
|
8
|
+
tag Owner as o
|
|
9
|
+
Product blue
|
|
10
|
+
Engineering teal
|
|
11
|
+
Marketing purple
|
|
12
|
+
|
|
13
|
+
Launch p: Must, o: Product
|
|
14
|
+
Scope
|
|
15
|
+
Core features description: Everything the beta asked for
|
|
16
|
+
Integrations p: Should
|
|
17
|
+
Calendar sync
|
|
18
|
+
Chat notifications p: Could
|
|
19
|
+
Pricing tiers
|
|
20
|
+
Readiness o: Engineering
|
|
21
|
+
Load testing p: Must
|
|
22
|
+
Monitoring
|
|
23
|
+
Rollback plan description: One command, rehearsed twice
|
|
24
|
+
Messaging o: Marketing, collapsed
|
|
25
|
+
Landing page
|
|
26
|
+
Launch post
|
|
27
|
+
Customer emails
|
|
28
|
+
Support
|
|
29
|
+
Help articles p: Should
|
|
30
|
+
Onboarding call
|
|
31
|
+
FAQ p: Could
|