@graphty/graphty-element 2.2.4 → 2.3.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/ai.js +3 -3
- package/dist/catalog.js +5 -5
- package/dist/chunks/{AiManager-DC3JWPeM.js → AiManager-Bd_r1Hei.js} +7 -2
- package/dist/chunks/{DataSource-DEg3igzS.js → DataSource-bt0DhBjG.js} +3 -3
- package/dist/chunks/{GraphSession-DDrQWABb.js → GraphSession-iNyKm7Ds.js} +3308 -3284
- package/dist/chunks/{VoiceInputAdapter-BueUG885.js → VoiceInputAdapter-DszYl6Ha.js} +442 -424
- package/dist/chunks/{XRPivotCameraController-DENGN2uV.js → XRPivotCameraController-XtxbbZ-D.js} +1 -1
- package/dist/chunks/{capability-check-BC3Qn6fS.js → capability-check-BqIEXcun.js} +1 -1
- package/dist/chunks/{detect-CqN0mC6u.js → detect-DM29BEaB.js} +1 -1
- package/dist/chunks/{format-detection-C8vbCSlS.js → format-detection-BEdmtvsy.js} +1 -1
- package/dist/chunks/{index-COss7yTG.js → index-CD0_RJv-.js} +1001 -848
- package/dist/chunks/{paletteRegistry-NrWOKT-A.js → paletteRegistry-DnWHQsAD.js} +162 -160
- package/dist/chunks/{scales-DKsbJE2L.js → scales-DyuwlJKI.js} +237 -236
- package/dist/extend.js +3 -3
- package/dist/graphty-catalog.json +1 -1
- package/dist/graphty.bundle.js +22378 -22178
- package/dist/graphty.js +3 -3
- package/dist/session.js +37 -52
- package/dist/src/Graph.d.ts +3 -0
- package/dist/src/acceleration/AccelerationController.d.ts +11 -0
- package/dist/src/ai/input/VoiceInputAdapter.d.ts +18 -0
- package/dist/src/algorithms/metrics/context.d.ts +7 -5
- package/dist/src/algorithms/results/types.d.ts +17 -1
- package/dist/src/data/ingest.d.ts +13 -0
- package/dist/src/managers/DataManager.d.ts +51 -0
- package/dist/src/managers/RenderManager.d.ts +21 -0
- package/dist/src/managers/UpdateManager.d.ts +38 -23
- package/dist/src/session/limits.d.ts +24 -5
- package/package.json +4 -4
|
@@ -2,22 +2,22 @@ import { z as a } from "zod/v4";
|
|
|
2
2
|
import { bellmanFord as ia, betweennessCentrality as sa, breadthFirstSearch as oa, bipartitePartition as ra, maximumBipartiteMatching as ca, closenessCentrality as la, depthFirstSearch as da, eigenvectorCentrality as ha, ConvergenceError as ua, floydWarshall as ma, girvanNewman as pa, hits as ga, katzCentrality as fa, labelPropagation as ya, leiden as ba, louvain as va, Graph as Jt, fordFulkerson as wa, kargerMinCut as Na, stoerWagner as Sa, minSTCut as xa, pageRank as ka, primMST as Oa, stronglyConnectedComponents as Ma } from "@graphty/algorithms";
|
|
3
3
|
import { A as k, C as zt, n as Da } from "./Algorithm-RQ629NLb.js";
|
|
4
4
|
import { G as De } from "./GraphtyError-BwcnblTH.js";
|
|
5
|
-
import { D as C, i as S, P as Qt, h as D,
|
|
5
|
+
import { D as C, i as S, P as Qt, h as D, Y as Ia, V as za, W as Ca, n as H, L as Gt, s as Dt, g as de, m as Ce, j as Rt, o as Ee, b as F, S as P, a as Tt, X as Ea, Z as Ra, _ as ea, $ as Ta, p as ta } from "./paletteRegistry-DnWHQsAD.js";
|
|
6
6
|
import { INVALID_INDEX as K, makeMask as $t, maskSet as Ct } from "@graphty/graph-format";
|
|
7
|
-
import { arfLayout as
|
|
8
|
-
import { forceLink as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { h as
|
|
12
|
-
import { V as
|
|
13
|
-
function
|
|
7
|
+
import { arfLayout as Fa, bfsLayout as Pa, bipartiteLayout as Wa, circularLayout as La, createSimulation as Ga, seedPositions as $a, resolveNodeVector as Ka, kamadaKawaiLayout as Ua, multipartiteLayout as qa, planarLayout as Ha, randomLayout as ja, shellLayout as Ba, spectralLayout as Va, spiralLayout as Aa } from "@graphty/layout";
|
|
8
|
+
import { forceLink as _a, forceSimulation as Ya, forceManyBody as Za, forceCenter as Xa } from "d3-force-3d";
|
|
9
|
+
import Ja from "ngraph.forcelayout";
|
|
10
|
+
import Qa from "ngraph.graph";
|
|
11
|
+
import { h as en } from "./cameras-ii4vngYY.js";
|
|
12
|
+
import { V as tn, Y as an, g as nn, I as sn, B as on, G as rn, d as cn, O as Kt, i as Ut, T as qt, P as Ht, C as jt, h as ln, b as dn, R as hn, a as Bt, c as Vt, e as At } from "./sequential-Zym81qm7.js";
|
|
13
|
+
function un(r) {
|
|
14
14
|
const e = {};
|
|
15
15
|
for (const [t, n] of Object.entries(r))
|
|
16
16
|
e[t] = n.schema;
|
|
17
17
|
return a.object(e);
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
return
|
|
19
|
+
function mn(r, e) {
|
|
20
|
+
return un(r).parse(e);
|
|
21
21
|
}
|
|
22
22
|
function R(r, e) {
|
|
23
23
|
return `${String(r)}:${String(e)}`;
|
|
@@ -33,7 +33,7 @@ function Re(r, e, t, n) {
|
|
|
33
33
|
});
|
|
34
34
|
return i;
|
|
35
35
|
}
|
|
36
|
-
const
|
|
36
|
+
const pn = {
|
|
37
37
|
source: {
|
|
38
38
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
39
39
|
meta: {
|
|
@@ -143,7 +143,7 @@ const mn = {
|
|
|
143
143
|
return t;
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
|
-
A.namespace = "graphty", A.type = "bellman-ford", A.zodOptionsSchema =
|
|
146
|
+
A.namespace = "graphty", A.type = "bellman-ford", A.zodOptionsSchema = pn, A.optionsSchema = {
|
|
147
147
|
source: {
|
|
148
148
|
type: "nodeId",
|
|
149
149
|
default: null,
|
|
@@ -161,8 +161,8 @@ A.namespace = "graphty", A.type = "bellman-ford", A.zodOptionsSchema = mn, A.opt
|
|
|
161
161
|
};
|
|
162
162
|
let Te = A;
|
|
163
163
|
k.register(Te);
|
|
164
|
-
const
|
|
165
|
-
function
|
|
164
|
+
const gn = 2048;
|
|
165
|
+
function fn(r) {
|
|
166
166
|
return {
|
|
167
167
|
runId: r,
|
|
168
168
|
signal: new AbortController().signal,
|
|
@@ -175,8 +175,9 @@ function gn(r) {
|
|
|
175
175
|
}
|
|
176
176
|
async function U(r, e, t, n) {
|
|
177
177
|
const i = r.length;
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
let s = performance.now();
|
|
179
|
+
for (let l = 0; l < i; l++)
|
|
180
|
+
e.signal.throwIfAborted(), n(r[l], l), (l + 1) % gn === 0 && l + 1 < i && (e.report({ phase: t, completed: l + 1, total: i }), performance.now() - s >= Ia && (await e.yieldNow(), s = performance.now()));
|
|
180
181
|
e.report({ phase: t, completed: i, total: i });
|
|
181
182
|
}
|
|
182
183
|
class j extends k {
|
|
@@ -199,7 +200,7 @@ class j extends k {
|
|
|
199
200
|
* @returns A promise that settles once the result has been published.
|
|
200
201
|
*/
|
|
201
202
|
async run() {
|
|
202
|
-
await this.measureRun(
|
|
203
|
+
await this.measureRun(fn(this.type));
|
|
203
204
|
}
|
|
204
205
|
/**
|
|
205
206
|
* Measure the graph on behalf of a run, and hand the result back.
|
|
@@ -226,7 +227,7 @@ class j extends k {
|
|
|
226
227
|
const t = this.graph.getDataManager(), n = Array.from(t.nodes.keys());
|
|
227
228
|
if (n.length === 0)
|
|
228
229
|
return;
|
|
229
|
-
const i = Date.now(), s = await this.measure(e, n), l =
|
|
230
|
+
const i = Date.now(), s = await this.measure(e, n), l = za(this.graph), c = Ca({
|
|
230
231
|
...l === void 0 ? {} : { labelOf: l },
|
|
231
232
|
runId: e.runId,
|
|
232
233
|
shape: "node-metric",
|
|
@@ -243,7 +244,7 @@ class j extends k {
|
|
|
243
244
|
return this.#h = c, c;
|
|
244
245
|
}
|
|
245
246
|
}
|
|
246
|
-
const
|
|
247
|
+
const yn = H({
|
|
247
248
|
plainName: "Bridging",
|
|
248
249
|
technicalName: "betweenness"
|
|
249
250
|
}), vt = class vt extends j {
|
|
@@ -252,7 +253,7 @@ const fn = H({
|
|
|
252
253
|
* @returns The uniform node-metric fields.
|
|
253
254
|
*/
|
|
254
255
|
resultFields() {
|
|
255
|
-
return
|
|
256
|
+
return yn;
|
|
256
257
|
}
|
|
257
258
|
/**
|
|
258
259
|
* Score every node by the shortest paths that run through it.
|
|
@@ -296,7 +297,7 @@ const fn = H({
|
|
|
296
297
|
vt.namespace = "graphty", vt.type = "betweenness";
|
|
297
298
|
let Fe = vt;
|
|
298
299
|
k.register(Fe);
|
|
299
|
-
const
|
|
300
|
+
const bn = {
|
|
300
301
|
source: {
|
|
301
302
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
302
303
|
meta: {
|
|
@@ -414,7 +415,7 @@ const yn = {
|
|
|
414
415
|
};
|
|
415
416
|
}
|
|
416
417
|
};
|
|
417
|
-
_.namespace = "graphty", _.type = "bfs", _.zodOptionsSchema =
|
|
418
|
+
_.namespace = "graphty", _.type = "bfs", _.zodOptionsSchema = bn, _.optionsSchema = {
|
|
418
419
|
source: {
|
|
419
420
|
type: "nodeId",
|
|
420
421
|
default: null,
|
|
@@ -506,7 +507,7 @@ const wt = class wt extends C {
|
|
|
506
507
|
wt.namespace = "graphty", wt.type = "bipartite-matching";
|
|
507
508
|
let We = wt;
|
|
508
509
|
k.register(We);
|
|
509
|
-
const
|
|
510
|
+
const vn = H({
|
|
510
511
|
plainName: "Reach",
|
|
511
512
|
technicalName: "closeness"
|
|
512
513
|
}), Nt = class Nt extends j {
|
|
@@ -515,7 +516,7 @@ const bn = H({
|
|
|
515
516
|
* @returns The uniform node-metric fields.
|
|
516
517
|
*/
|
|
517
518
|
resultFields() {
|
|
518
|
-
return
|
|
519
|
+
return vn;
|
|
519
520
|
}
|
|
520
521
|
/**
|
|
521
522
|
* Score every node by how short its paths to the rest of the graph are.
|
|
@@ -596,7 +597,7 @@ const St = class St extends C {
|
|
|
596
597
|
St.namespace = "graphty", St.type = "connected-components";
|
|
597
598
|
let Ge = St;
|
|
598
599
|
k.register(Ge);
|
|
599
|
-
const
|
|
600
|
+
const wn = [
|
|
600
601
|
...H({ plainName: "Connections", technicalName: "degree", type: "integer", unit: "links" }),
|
|
601
602
|
Ce({
|
|
602
603
|
name: "inDegree",
|
|
@@ -618,7 +619,7 @@ const vn = [
|
|
|
618
619
|
* @returns The uniform node-metric fields, plus `inDegree` and `outDegree`.
|
|
619
620
|
*/
|
|
620
621
|
resultFields() {
|
|
621
|
-
return
|
|
622
|
+
return wn;
|
|
622
623
|
}
|
|
623
624
|
/**
|
|
624
625
|
* Count every node's edges.
|
|
@@ -649,7 +650,7 @@ const vn = [
|
|
|
649
650
|
xt.namespace = "graphty", xt.type = "degree";
|
|
650
651
|
let $e = xt;
|
|
651
652
|
k.register($e);
|
|
652
|
-
const
|
|
653
|
+
const Nn = {
|
|
653
654
|
source: {
|
|
654
655
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
655
656
|
meta: {
|
|
@@ -737,7 +738,7 @@ const wn = {
|
|
|
737
738
|
};
|
|
738
739
|
}
|
|
739
740
|
};
|
|
740
|
-
Y.namespace = "graphty", Y.type = "dfs", Y.zodOptionsSchema =
|
|
741
|
+
Y.namespace = "graphty", Y.type = "dfs", Y.zodOptionsSchema = Nn, Y.optionsSchema = {
|
|
741
742
|
source: {
|
|
742
743
|
type: "nodeId",
|
|
743
744
|
default: null,
|
|
@@ -770,7 +771,7 @@ Y.namespace = "graphty", Y.type = "dfs", Y.zodOptionsSchema = wn, Y.optionsSchem
|
|
|
770
771
|
};
|
|
771
772
|
let Ke = Y;
|
|
772
773
|
k.register(Ke);
|
|
773
|
-
const
|
|
774
|
+
const Sn = {
|
|
774
775
|
source: {
|
|
775
776
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
776
777
|
meta: {
|
|
@@ -865,7 +866,7 @@ const Nn = {
|
|
|
865
866
|
};
|
|
866
867
|
}
|
|
867
868
|
};
|
|
868
|
-
Z.namespace = "graphty", Z.type = "dijkstra", Z.zodOptionsSchema =
|
|
869
|
+
Z.namespace = "graphty", Z.type = "dijkstra", Z.zodOptionsSchema = Sn, Z.optionsSchema = {
|
|
869
870
|
source: {
|
|
870
871
|
type: "nodeId",
|
|
871
872
|
default: null,
|
|
@@ -890,7 +891,7 @@ Z.namespace = "graphty", Z.type = "dijkstra", Z.zodOptionsSchema = Nn, Z.options
|
|
|
890
891
|
};
|
|
891
892
|
let Ue = Z;
|
|
892
893
|
k.register(Ue);
|
|
893
|
-
const
|
|
894
|
+
const xn = {
|
|
894
895
|
maxIterations: {
|
|
895
896
|
schema: a.number().int().min(1).max(1e4).default(1e3),
|
|
896
897
|
meta: {
|
|
@@ -931,7 +932,7 @@ const Sn = {
|
|
|
931
932
|
advanced: !0
|
|
932
933
|
}
|
|
933
934
|
}
|
|
934
|
-
},
|
|
935
|
+
}, kn = H({
|
|
935
936
|
plainName: "Influence by association",
|
|
936
937
|
technicalName: "eigenvector score"
|
|
937
938
|
}), $ = class $ extends j {
|
|
@@ -940,7 +941,7 @@ const Sn = {
|
|
|
940
941
|
* @returns The uniform node-metric fields.
|
|
941
942
|
*/
|
|
942
943
|
resultFields() {
|
|
943
|
-
return
|
|
944
|
+
return kn;
|
|
944
945
|
}
|
|
945
946
|
/**
|
|
946
947
|
* Score every node by the influence of its neighbours.
|
|
@@ -1006,7 +1007,7 @@ const Sn = {
|
|
|
1006
1007
|
};
|
|
1007
1008
|
}
|
|
1008
1009
|
};
|
|
1009
|
-
$.namespace = "graphty", $.type = "eigenvector", $.zodOptionsSchema =
|
|
1010
|
+
$.namespace = "graphty", $.type = "eigenvector", $.zodOptionsSchema = xn, $.optionsSchema = {
|
|
1010
1011
|
maxIterations: {
|
|
1011
1012
|
type: "integer",
|
|
1012
1013
|
default: 1e3,
|
|
@@ -1123,7 +1124,7 @@ const kt = class kt extends C {
|
|
|
1123
1124
|
kt.namespace = "graphty", kt.type = "floyd-warshall";
|
|
1124
1125
|
let He = kt;
|
|
1125
1126
|
k.register(He);
|
|
1126
|
-
const
|
|
1127
|
+
const On = {
|
|
1127
1128
|
maxCommunities: {
|
|
1128
1129
|
schema: a.number().int().min(0).max(100).default(0),
|
|
1129
1130
|
meta: {
|
|
@@ -1194,7 +1195,7 @@ const kn = {
|
|
|
1194
1195
|
};
|
|
1195
1196
|
}
|
|
1196
1197
|
};
|
|
1197
|
-
X.namespace = "graphty", X.type = "girvan-newman", X.zodOptionsSchema =
|
|
1198
|
+
X.namespace = "graphty", X.type = "girvan-newman", X.zodOptionsSchema = On, X.optionsSchema = {
|
|
1198
1199
|
maxCommunities: {
|
|
1199
1200
|
type: "integer",
|
|
1200
1201
|
default: 0,
|
|
@@ -1224,7 +1225,7 @@ X.namespace = "graphty", X.type = "girvan-newman", X.zodOptionsSchema = kn, X.op
|
|
|
1224
1225
|
};
|
|
1225
1226
|
let je = X;
|
|
1226
1227
|
k.register(je);
|
|
1227
|
-
const
|
|
1228
|
+
const Mn = {
|
|
1228
1229
|
maxIterations: {
|
|
1229
1230
|
schema: a.number().int().min(1).max(1e3).default(100),
|
|
1230
1231
|
meta: {
|
|
@@ -1265,7 +1266,7 @@ const On = {
|
|
|
1265
1266
|
advanced: !0
|
|
1266
1267
|
}
|
|
1267
1268
|
}
|
|
1268
|
-
},
|
|
1269
|
+
}, Dn = [
|
|
1269
1270
|
...H({ plainName: "Hub and authority", technicalName: "combined HITS score" }),
|
|
1270
1271
|
Ce({ name: "hub", plainName: "Hub", technicalName: "hub score", kind: "node", type: "number" }),
|
|
1271
1272
|
Ce({
|
|
@@ -1281,7 +1282,7 @@ const On = {
|
|
|
1281
1282
|
* @returns The uniform node-metric fields, plus `hub` and `authority`.
|
|
1282
1283
|
*/
|
|
1283
1284
|
resultFields() {
|
|
1284
|
-
return
|
|
1285
|
+
return Dn;
|
|
1285
1286
|
}
|
|
1286
1287
|
/**
|
|
1287
1288
|
* Score every node as a hub and as an authority.
|
|
@@ -1337,7 +1338,7 @@ const On = {
|
|
|
1337
1338
|
};
|
|
1338
1339
|
}
|
|
1339
1340
|
};
|
|
1340
|
-
J.namespace = "graphty", J.type = "hits", J.zodOptionsSchema =
|
|
1341
|
+
J.namespace = "graphty", J.type = "hits", J.zodOptionsSchema = Mn, J.optionsSchema = {
|
|
1341
1342
|
maxIterations: {
|
|
1342
1343
|
type: "integer",
|
|
1343
1344
|
default: 100,
|
|
@@ -1385,7 +1386,7 @@ J.namespace = "graphty", J.type = "hits", J.zodOptionsSchema = On, J.optionsSche
|
|
|
1385
1386
|
};
|
|
1386
1387
|
let Be = J;
|
|
1387
1388
|
k.register(Be);
|
|
1388
|
-
const
|
|
1389
|
+
const In = {
|
|
1389
1390
|
alpha: {
|
|
1390
1391
|
schema: a.number().min(0.01).max(0.5).default(0.1),
|
|
1391
1392
|
meta: {
|
|
@@ -1443,7 +1444,7 @@ const Dn = {
|
|
|
1443
1444
|
advanced: !0
|
|
1444
1445
|
}
|
|
1445
1446
|
}
|
|
1446
|
-
},
|
|
1447
|
+
}, zn = H({
|
|
1447
1448
|
plainName: "Influence at a distance",
|
|
1448
1449
|
technicalName: "Katz score"
|
|
1449
1450
|
}), Q = class Q extends j {
|
|
@@ -1452,7 +1453,7 @@ const Dn = {
|
|
|
1452
1453
|
* @returns The uniform node-metric fields.
|
|
1453
1454
|
*/
|
|
1454
1455
|
resultFields() {
|
|
1455
|
-
return
|
|
1456
|
+
return zn;
|
|
1456
1457
|
}
|
|
1457
1458
|
/**
|
|
1458
1459
|
* Score every node by the paths that reach it.
|
|
@@ -1505,7 +1506,7 @@ const Dn = {
|
|
|
1505
1506
|
};
|
|
1506
1507
|
}
|
|
1507
1508
|
};
|
|
1508
|
-
Q.namespace = "graphty", Q.type = "katz", Q.zodOptionsSchema =
|
|
1509
|
+
Q.namespace = "graphty", Q.type = "katz", Q.zodOptionsSchema = In, Q.optionsSchema = {
|
|
1509
1510
|
alpha: {
|
|
1510
1511
|
type: "number",
|
|
1511
1512
|
default: 0.1,
|
|
@@ -1610,7 +1611,7 @@ const Ot = class Ot extends C {
|
|
|
1610
1611
|
Ot.namespace = "graphty", Ot.type = "kruskal";
|
|
1611
1612
|
let Ae = Ot;
|
|
1612
1613
|
k.register(Ae);
|
|
1613
|
-
const
|
|
1614
|
+
const Cn = {
|
|
1614
1615
|
maxIterations: {
|
|
1615
1616
|
schema: a.number().int().min(1).max(500).default(100),
|
|
1616
1617
|
meta: {
|
|
@@ -1665,7 +1666,7 @@ const zn = {
|
|
|
1665
1666
|
};
|
|
1666
1667
|
}
|
|
1667
1668
|
};
|
|
1668
|
-
ee.namespace = "graphty", ee.type = "label-propagation", ee.zodOptionsSchema =
|
|
1669
|
+
ee.namespace = "graphty", ee.type = "label-propagation", ee.zodOptionsSchema = Cn, ee.optionsSchema = {
|
|
1669
1670
|
maxIterations: {
|
|
1670
1671
|
type: "integer",
|
|
1671
1672
|
default: 100,
|
|
@@ -1686,7 +1687,7 @@ ee.namespace = "graphty", ee.type = "label-propagation", ee.zodOptionsSchema = z
|
|
|
1686
1687
|
};
|
|
1687
1688
|
let _e = ee;
|
|
1688
1689
|
k.register(_e);
|
|
1689
|
-
const
|
|
1690
|
+
const En = {
|
|
1690
1691
|
resolution: {
|
|
1691
1692
|
schema: a.number().min(0.1).max(5).default(1),
|
|
1692
1693
|
meta: {
|
|
@@ -1758,7 +1759,7 @@ const Cn = {
|
|
|
1758
1759
|
};
|
|
1759
1760
|
}
|
|
1760
1761
|
};
|
|
1761
|
-
te.namespace = "graphty", te.type = "leiden", te.zodOptionsSchema =
|
|
1762
|
+
te.namespace = "graphty", te.type = "leiden", te.zodOptionsSchema = En, te.optionsSchema = {
|
|
1762
1763
|
resolution: {
|
|
1763
1764
|
type: "number",
|
|
1764
1765
|
default: 1,
|
|
@@ -1798,7 +1799,7 @@ te.namespace = "graphty", te.type = "leiden", te.zodOptionsSchema = Cn, te.optio
|
|
|
1798
1799
|
};
|
|
1799
1800
|
let Ye = te;
|
|
1800
1801
|
k.register(Ye);
|
|
1801
|
-
const
|
|
1802
|
+
const Rn = {
|
|
1802
1803
|
resolution: {
|
|
1803
1804
|
schema: a.number().min(0.1).max(5).default(1),
|
|
1804
1805
|
meta: {
|
|
@@ -1873,7 +1874,7 @@ const En = {
|
|
|
1873
1874
|
};
|
|
1874
1875
|
}
|
|
1875
1876
|
};
|
|
1876
|
-
ae.namespace = "graphty", ae.type = "louvain", ae.zodOptionsSchema =
|
|
1877
|
+
ae.namespace = "graphty", ae.type = "louvain", ae.zodOptionsSchema = Rn, ae.optionsSchema = {
|
|
1877
1878
|
resolution: {
|
|
1878
1879
|
type: "number",
|
|
1879
1880
|
default: 1,
|
|
@@ -1911,7 +1912,7 @@ ae.namespace = "graphty", ae.type = "louvain", ae.zodOptionsSchema = En, ae.opti
|
|
|
1911
1912
|
};
|
|
1912
1913
|
let Ze = ae;
|
|
1913
1914
|
k.register(Ze);
|
|
1914
|
-
const
|
|
1915
|
+
const Tn = {
|
|
1915
1916
|
source: {
|
|
1916
1917
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
1917
1918
|
meta: {
|
|
@@ -2005,7 +2006,7 @@ const Rn = {
|
|
|
2005
2006
|
};
|
|
2006
2007
|
}
|
|
2007
2008
|
};
|
|
2008
|
-
ne.namespace = "graphty", ne.type = "max-flow", ne.zodOptionsSchema =
|
|
2009
|
+
ne.namespace = "graphty", ne.type = "max-flow", ne.zodOptionsSchema = Tn, ne.optionsSchema = {
|
|
2009
2010
|
source: {
|
|
2010
2011
|
type: "nodeId",
|
|
2011
2012
|
default: null,
|
|
@@ -2023,7 +2024,7 @@ ne.namespace = "graphty", ne.type = "max-flow", ne.zodOptionsSchema = Rn, ne.opt
|
|
|
2023
2024
|
};
|
|
2024
2025
|
let Xe = ne;
|
|
2025
2026
|
k.register(Xe);
|
|
2026
|
-
const
|
|
2027
|
+
const Fn = {
|
|
2027
2028
|
source: {
|
|
2028
2029
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
2029
2030
|
meta: {
|
|
@@ -2147,7 +2148,7 @@ const Tn = {
|
|
|
2147
2148
|
};
|
|
2148
2149
|
}
|
|
2149
2150
|
};
|
|
2150
|
-
ie.namespace = "graphty", ie.type = "min-cut", ie.zodOptionsSchema =
|
|
2151
|
+
ie.namespace = "graphty", ie.type = "min-cut", ie.zodOptionsSchema = Fn, ie.optionsSchema = {
|
|
2151
2152
|
source: {
|
|
2152
2153
|
type: "nodeId",
|
|
2153
2154
|
default: null,
|
|
@@ -2229,11 +2230,11 @@ const _t = {
|
|
|
2229
2230
|
advanced: !0
|
|
2230
2231
|
}
|
|
2231
2232
|
}
|
|
2232
|
-
},
|
|
2233
|
+
}, Pn = H({
|
|
2233
2234
|
plainName: "Influence",
|
|
2234
2235
|
technicalName: "PageRank score"
|
|
2235
|
-
}),
|
|
2236
|
-
function
|
|
2236
|
+
}), Wn = 100;
|
|
2237
|
+
function Ln(r) {
|
|
2237
2238
|
return r.hasPersonalization ? "a personalization vector was given, and only the reference implementation takes one" : r.hasInitialRanks ? "initial ranks were given, and only the reference implementation takes them" : r.directed ? null : "the graph is undirected, and rank flows along out-edges";
|
|
2238
2239
|
}
|
|
2239
2240
|
const se = class se extends j {
|
|
@@ -2243,7 +2244,7 @@ const se = class se extends j {
|
|
|
2243
2244
|
* @param options - Optional configuration options
|
|
2244
2245
|
*/
|
|
2245
2246
|
constructor(e, t) {
|
|
2246
|
-
super(e, t), this.zodOptions =
|
|
2247
|
+
super(e, t), this.zodOptions = mn(_t, t ?? {}), this.programmaticOptions = {
|
|
2247
2248
|
initialRanks: t?.initialRanks ?? null,
|
|
2248
2249
|
personalization: t?.personalization ?? null
|
|
2249
2250
|
};
|
|
@@ -2253,7 +2254,7 @@ const se = class se extends j {
|
|
|
2253
2254
|
* @returns The uniform node-metric fields.
|
|
2254
2255
|
*/
|
|
2255
2256
|
resultFields() {
|
|
2256
|
-
return
|
|
2257
|
+
return Pn;
|
|
2257
2258
|
}
|
|
2258
2259
|
/**
|
|
2259
2260
|
* Rank every node by the influence flowing into it.
|
|
@@ -2262,7 +2263,7 @@ const se = class se extends j {
|
|
|
2262
2263
|
* @returns One raw rank per node, unscaled.
|
|
2263
2264
|
*/
|
|
2264
2265
|
async measure(e, t) {
|
|
2265
|
-
const { dampingFactor: n, maxIterations: i, tolerance: s, weight: l, useDelta: c } = this.zodOptions, o = this.programmaticOptions.initialRanks ?? void 0, d = this.programmaticOptions.personalization ?? void 0, h =
|
|
2266
|
+
const { dampingFactor: n, maxIterations: i, tolerance: s, weight: l, useDelta: c } = this.zodOptions, o = this.programmaticOptions.initialRanks ?? void 0, d = this.programmaticOptions.personalization ?? void 0, h = Ln({
|
|
2266
2267
|
directed: this.graph.getDataManager().getSnapshot().directed,
|
|
2267
2268
|
hasInitialRanks: o !== void 0,
|
|
2268
2269
|
hasPersonalization: d !== void 0
|
|
@@ -2312,7 +2313,7 @@ const se = class se extends j {
|
|
|
2312
2313
|
}
|
|
2313
2314
|
};
|
|
2314
2315
|
}
|
|
2315
|
-
const u = this.algorithmGraph("directed"), p = c && u.nodeCount >
|
|
2316
|
+
const u = this.algorithmGraph("directed"), p = c && u.nodeCount > Wn;
|
|
2316
2317
|
e.report({
|
|
2317
2318
|
phase: "iterating",
|
|
2318
2319
|
completed: 0,
|
|
@@ -2405,7 +2406,7 @@ se.namespace = "graphty", se.type = "pagerank", se.zodOptionsSchema = _t, se.opt
|
|
|
2405
2406
|
};
|
|
2406
2407
|
let Qe = se;
|
|
2407
2408
|
k.register(Qe);
|
|
2408
|
-
const
|
|
2409
|
+
const Gn = {
|
|
2409
2410
|
startNode: {
|
|
2410
2411
|
schema: a.union([a.string(), a.number()]).nullable().default(null),
|
|
2411
2412
|
meta: {
|
|
@@ -2462,7 +2463,7 @@ const Ln = {
|
|
|
2462
2463
|
};
|
|
2463
2464
|
}
|
|
2464
2465
|
};
|
|
2465
|
-
oe.namespace = "graphty", oe.type = "prim", oe.zodOptionsSchema =
|
|
2466
|
+
oe.namespace = "graphty", oe.type = "prim", oe.zodOptionsSchema = Gn, oe.optionsSchema = {
|
|
2466
2467
|
startNode: {
|
|
2467
2468
|
type: "nodeId",
|
|
2468
2469
|
default: null,
|
|
@@ -2512,9 +2513,9 @@ const Mt = class Mt extends C {
|
|
|
2512
2513
|
Mt.namespace = "graphty", Mt.type = "scc";
|
|
2513
2514
|
let tt = Mt;
|
|
2514
2515
|
k.register(tt);
|
|
2515
|
-
const
|
|
2516
|
+
const $n = "results.$";
|
|
2516
2517
|
function f(r) {
|
|
2517
|
-
return { ...r, path: `${
|
|
2518
|
+
return { ...r, path: `${$n}.${r.name}` };
|
|
2518
2519
|
}
|
|
2519
2520
|
function W(r, e) {
|
|
2520
2521
|
return [
|
|
@@ -2601,7 +2602,7 @@ function Yt(...r) {
|
|
|
2601
2602
|
t.has(i.name) || (t.add(i.name), e.push(i));
|
|
2602
2603
|
return e;
|
|
2603
2604
|
}
|
|
2604
|
-
const
|
|
2605
|
+
const Kn = {
|
|
2605
2606
|
method: {
|
|
2606
2607
|
schema: a.enum(["dijkstra", "bellman-ford"]).nullable().default(null),
|
|
2607
2608
|
meta: {
|
|
@@ -2611,7 +2612,7 @@ const $n = {
|
|
|
2611
2612
|
group: "engine"
|
|
2612
2613
|
}
|
|
2613
2614
|
}
|
|
2614
|
-
},
|
|
2615
|
+
}, Un = {
|
|
2615
2616
|
strength: {
|
|
2616
2617
|
schema: a.enum(["weak", "strong"]).default("weak"),
|
|
2617
2618
|
meta: {
|
|
@@ -2800,7 +2801,7 @@ const $n = {
|
|
|
2800
2801
|
options: Yt(
|
|
2801
2802
|
O(Ge),
|
|
2802
2803
|
O(tt),
|
|
2803
|
-
Ee(
|
|
2804
|
+
Ee(Un)
|
|
2804
2805
|
),
|
|
2805
2806
|
costClass: "instant",
|
|
2806
2807
|
complexity: "O(n + m)",
|
|
@@ -2832,7 +2833,7 @@ const $n = {
|
|
|
2832
2833
|
options: Yt(
|
|
2833
2834
|
O(Ue),
|
|
2834
2835
|
O(Te),
|
|
2835
|
-
Ee(
|
|
2836
|
+
Ee(Kn)
|
|
2836
2837
|
),
|
|
2837
2838
|
costClass: "instant",
|
|
2838
2839
|
complexity: "O((n + m) log n) with dijkstra, O(n * m) with bellman-ford",
|
|
@@ -3012,16 +3013,16 @@ const $n = {
|
|
|
3012
3013
|
legacyKeys: [{ key: "min-cut" }]
|
|
3013
3014
|
}
|
|
3014
3015
|
];
|
|
3015
|
-
function
|
|
3016
|
+
function cs(r) {
|
|
3016
3017
|
return aa.find((e) => e.key === r);
|
|
3017
3018
|
}
|
|
3018
|
-
function
|
|
3019
|
+
function ls(r) {
|
|
3019
3020
|
for (const e of aa)
|
|
3020
3021
|
for (const t of e.legacyKeys)
|
|
3021
3022
|
if (t.key === r)
|
|
3022
3023
|
return { descriptor: e, params: t.params ?? {} };
|
|
3023
3024
|
}
|
|
3024
|
-
const
|
|
3025
|
+
const qn = {
|
|
3025
3026
|
scalingFactor: {
|
|
3026
3027
|
schema: a.number().min(1).max(1e3).default(100),
|
|
3027
3028
|
meta: {
|
|
@@ -3061,7 +3062,7 @@ const Un = {
|
|
|
3061
3062
|
advanced: !0
|
|
3062
3063
|
}
|
|
3063
3064
|
}
|
|
3064
|
-
},
|
|
3065
|
+
}, Hn = a.strictObject({
|
|
3065
3066
|
...P.shape,
|
|
3066
3067
|
pos: a.record(a.number(), a.array(a.number())).or(a.null()).default(null),
|
|
3067
3068
|
scaling: a.number().positive().default(1),
|
|
@@ -3074,7 +3075,7 @@ const Un = {
|
|
|
3074
3075
|
* @param opts - Configuration options for the ARF algorithm
|
|
3075
3076
|
*/
|
|
3076
3077
|
constructor(e) {
|
|
3077
|
-
super(e), this.scalingFactor = 100, this.config =
|
|
3078
|
+
super(e), this.scalingFactor = 100, this.config = Hn.parse(e);
|
|
3078
3079
|
}
|
|
3079
3080
|
/**
|
|
3080
3081
|
* Get dimension-specific options for ARF layout
|
|
@@ -3090,7 +3091,7 @@ const Un = {
|
|
|
3090
3091
|
doLayout() {
|
|
3091
3092
|
this.stale = !1;
|
|
3092
3093
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
3093
|
-
this.positions =
|
|
3094
|
+
this.positions = Fa(
|
|
3094
3095
|
{ nodes: e, edges: t },
|
|
3095
3096
|
this.config.pos,
|
|
3096
3097
|
this.config.scaling,
|
|
@@ -3100,9 +3101,9 @@ const Un = {
|
|
|
3100
3101
|
);
|
|
3101
3102
|
}
|
|
3102
3103
|
};
|
|
3103
|
-
pe.type = "arf", pe.maxDimensions = 2, pe.zodOptionsSchema =
|
|
3104
|
+
pe.type = "arf", pe.maxDimensions = 2, pe.zodOptionsSchema = qn;
|
|
3104
3105
|
let at = pe;
|
|
3105
|
-
const
|
|
3106
|
+
const jn = {
|
|
3106
3107
|
scalingFactor: {
|
|
3107
3108
|
schema: a.number().min(1).max(1e3).default(20),
|
|
3108
3109
|
meta: {
|
|
@@ -3132,7 +3133,7 @@ const Hn = {
|
|
|
3132
3133
|
step: 0.1
|
|
3133
3134
|
}
|
|
3134
3135
|
}
|
|
3135
|
-
},
|
|
3136
|
+
}, Bn = a.strictObject({
|
|
3136
3137
|
...P.shape,
|
|
3137
3138
|
start: a.number().or(a.string()),
|
|
3138
3139
|
align: a.enum(["vertical", "horizontal"]).default("vertical"),
|
|
@@ -3144,7 +3145,7 @@ const Hn = {
|
|
|
3144
3145
|
* @param opts - Configuration options including start node and alignment
|
|
3145
3146
|
*/
|
|
3146
3147
|
constructor(e) {
|
|
3147
|
-
super(e), this.scalingFactor = 20, this.config =
|
|
3148
|
+
super(e), this.scalingFactor = 20, this.config = Bn.parse(e);
|
|
3148
3149
|
}
|
|
3149
3150
|
/**
|
|
3150
3151
|
* Get dimension-specific options for BFS layout
|
|
@@ -3160,7 +3161,7 @@ const Hn = {
|
|
|
3160
3161
|
doLayout() {
|
|
3161
3162
|
this.stale = !1;
|
|
3162
3163
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
3163
|
-
this.positions =
|
|
3164
|
+
this.positions = Pa(
|
|
3164
3165
|
{ nodes: e, edges: t },
|
|
3165
3166
|
this.config.start,
|
|
3166
3167
|
this.config.align,
|
|
@@ -3169,9 +3170,9 @@ const Hn = {
|
|
|
3169
3170
|
);
|
|
3170
3171
|
}
|
|
3171
3172
|
};
|
|
3172
|
-
ge.type = "bfs", ge.maxDimensions = 2, ge.zodOptionsSchema =
|
|
3173
|
+
ge.type = "bfs", ge.maxDimensions = 2, ge.zodOptionsSchema = jn;
|
|
3173
3174
|
let nt = ge;
|
|
3174
|
-
const
|
|
3175
|
+
const Vn = {
|
|
3175
3176
|
scalingFactor: {
|
|
3176
3177
|
schema: a.number().min(1).max(1e3).default(40),
|
|
3177
3178
|
meta: {
|
|
@@ -3202,7 +3203,7 @@ const Bn = {
|
|
|
3202
3203
|
step: 0.1
|
|
3203
3204
|
}
|
|
3204
3205
|
}
|
|
3205
|
-
},
|
|
3206
|
+
}, An = a.strictObject({
|
|
3206
3207
|
...P.shape,
|
|
3207
3208
|
nodes: a.array(a.number().or(a.string())),
|
|
3208
3209
|
align: a.enum(["vertical", "horizontal"]).default("vertical"),
|
|
@@ -3215,7 +3216,7 @@ const Bn = {
|
|
|
3215
3216
|
* @param opts - Configuration options including node partitions and alignment
|
|
3216
3217
|
*/
|
|
3217
3218
|
constructor(e) {
|
|
3218
|
-
super(e), this.scalingFactor = 40, this.config =
|
|
3219
|
+
super(e), this.scalingFactor = 40, this.config = An.parse(e);
|
|
3219
3220
|
}
|
|
3220
3221
|
/**
|
|
3221
3222
|
* Get dimension-specific options for bipartite layout
|
|
@@ -3231,7 +3232,7 @@ const Bn = {
|
|
|
3231
3232
|
doLayout() {
|
|
3232
3233
|
this.stale = !1;
|
|
3233
3234
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
3234
|
-
this.positions =
|
|
3235
|
+
this.positions = Wa(
|
|
3235
3236
|
{ nodes: e, edges: t },
|
|
3236
3237
|
this.config.nodes,
|
|
3237
3238
|
this.config.align,
|
|
@@ -3241,9 +3242,9 @@ const Bn = {
|
|
|
3241
3242
|
);
|
|
3242
3243
|
}
|
|
3243
3244
|
};
|
|
3244
|
-
fe.type = "bipartite", fe.maxDimensions = 2, fe.zodOptionsSchema =
|
|
3245
|
+
fe.type = "bipartite", fe.maxDimensions = 2, fe.zodOptionsSchema = Vn;
|
|
3245
3246
|
let it = fe;
|
|
3246
|
-
const
|
|
3247
|
+
const _n = {
|
|
3247
3248
|
scalingFactor: {
|
|
3248
3249
|
schema: a.number().min(1).max(1e3).default(100),
|
|
3249
3250
|
meta: {
|
|
@@ -3266,7 +3267,7 @@ const An = {
|
|
|
3266
3267
|
description: "Layout dimensionality (2D or 3D)"
|
|
3267
3268
|
}
|
|
3268
3269
|
}
|
|
3269
|
-
},
|
|
3270
|
+
}, Yn = a.strictObject({
|
|
3270
3271
|
...P.shape,
|
|
3271
3272
|
scale: a.number().positive().default(1),
|
|
3272
3273
|
center: a.array(a.number()).min(2).max(3).or(a.null()).default(null),
|
|
@@ -3277,7 +3278,7 @@ const An = {
|
|
|
3277
3278
|
* @param opts - Configuration options including scale and dimensions
|
|
3278
3279
|
*/
|
|
3279
3280
|
constructor(e) {
|
|
3280
|
-
super(e), this.scalingFactor = 80, this.config =
|
|
3281
|
+
super(e), this.scalingFactor = 80, this.config = Yn.parse(e);
|
|
3281
3282
|
}
|
|
3282
3283
|
/**
|
|
3283
3284
|
* Get dimension-specific options for circular layout
|
|
@@ -3293,12 +3294,12 @@ const An = {
|
|
|
3293
3294
|
doLayout() {
|
|
3294
3295
|
this.stale = !1;
|
|
3295
3296
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
3296
|
-
this.positions =
|
|
3297
|
+
this.positions = La({ nodes: e, edges: t }, this.config.scale, this.config.center, this.config.dim);
|
|
3297
3298
|
}
|
|
3298
3299
|
};
|
|
3299
|
-
ye.type = "circular", ye.maxDimensions = 3, ye.zodOptionsSchema =
|
|
3300
|
+
ye.type = "circular", ye.maxDimensions = 3, ye.zodOptionsSchema = _n;
|
|
3300
3301
|
let st = ye;
|
|
3301
|
-
const
|
|
3302
|
+
const Zn = {
|
|
3302
3303
|
alphaMin: {
|
|
3303
3304
|
schema: a.number().positive().default(0.1),
|
|
3304
3305
|
meta: {
|
|
@@ -3338,13 +3339,13 @@ const Yn = {
|
|
|
3338
3339
|
function Et(r) {
|
|
3339
3340
|
return typeof r == "object" && r !== null && "index" in r && typeof r.index == "number" && "x" in r && typeof r.x == "number" && "y" in r && typeof r.y == "number" && "z" in r && typeof r.z == "number" && "vx" in r && typeof r.vx == "number" && "vy" in r && typeof r.vy == "number" && "vz" in r && typeof r.vz == "number";
|
|
3340
3341
|
}
|
|
3341
|
-
const
|
|
3342
|
+
const Xn = a.strictObject({
|
|
3342
3343
|
alphaMin: a.number().positive().default(0.1),
|
|
3343
3344
|
alphaTarget: a.number().min(0).default(0),
|
|
3344
3345
|
alphaDecay: a.number().positive().default(0.0228),
|
|
3345
3346
|
velocityDecay: a.number().positive().default(0.4)
|
|
3346
3347
|
});
|
|
3347
|
-
function
|
|
3348
|
+
function Jn(r) {
|
|
3348
3349
|
return !!(typeof r == "object" && r !== null && Object.hasOwn(r, "index") && "index" in r && typeof r.index == "number" && "source" in r && Et(r.source) && "target" in r && Et(r.target));
|
|
3349
3350
|
}
|
|
3350
3351
|
const be = class be extends Tt {
|
|
@@ -3354,10 +3355,10 @@ const be = class be extends Tt {
|
|
|
3354
3355
|
*/
|
|
3355
3356
|
constructor(e = {}) {
|
|
3356
3357
|
super(), this.nodeMapping = /* @__PURE__ */ new Map(), this.edgeMapping = /* @__PURE__ */ new Map(), this.newNodeMap = /* @__PURE__ */ new Map(), this.newEdgeMap = /* @__PURE__ */ new Map(), this.reheat = !1;
|
|
3357
|
-
const t =
|
|
3358
|
+
const t = Xn.parse(e);
|
|
3358
3359
|
this.d3AlphaMin = t.alphaMin, this.d3AlphaTarget = t.alphaTarget, this.d3AlphaDecay = t.alphaDecay, this.d3VelocityDecay = t.velocityDecay;
|
|
3359
|
-
const n =
|
|
3360
|
-
n.strength(0.9), this.d3ForceLayout =
|
|
3360
|
+
const n = _a();
|
|
3361
|
+
n.strength(0.9), this.d3ForceLayout = Ya().numDimensions(3).alpha(1).force("link", n).force("charge", Za()).force("center", Xa()).force("dagRadial", null).stop(), this.d3ForceLayout.force("link").id((i) => i.id);
|
|
3361
3362
|
}
|
|
3362
3363
|
/**
|
|
3363
3364
|
* Check if there are pending nodes or edges to be processed
|
|
@@ -3392,7 +3393,7 @@ const be = class be extends Tt {
|
|
|
3392
3393
|
t = t.concat([...this.newEdgeMap.values()]), this.d3ForceLayout.force("link").links(t);
|
|
3393
3394
|
for (const n of this.newEdgeMap.entries()) {
|
|
3394
3395
|
const i = n[0], s = n[1];
|
|
3395
|
-
if (!
|
|
3396
|
+
if (!Jn(s))
|
|
3396
3397
|
throw new Error("Internal error: Edge is not settled as a complete D3 Edge");
|
|
3397
3398
|
this.edgeMapping.set(i, s);
|
|
3398
3399
|
}
|
|
@@ -3572,9 +3573,9 @@ const be = class be extends Tt {
|
|
|
3572
3573
|
return t;
|
|
3573
3574
|
}
|
|
3574
3575
|
};
|
|
3575
|
-
be.type = "d3", be.maxDimensions = 3, be.zodOptionsSchema =
|
|
3576
|
+
be.type = "d3", be.maxDimensions = 3, be.zodOptionsSchema = Zn;
|
|
3576
3577
|
let ot = be;
|
|
3577
|
-
const
|
|
3578
|
+
const Qn = {
|
|
3578
3579
|
dim: {
|
|
3579
3580
|
schema: a.number().int().min(2).max(3).default(3),
|
|
3580
3581
|
meta: {
|
|
@@ -3582,7 +3583,7 @@ const Jn = {
|
|
|
3582
3583
|
description: "Layout dimensionality (2D or 3D)"
|
|
3583
3584
|
}
|
|
3584
3585
|
}
|
|
3585
|
-
},
|
|
3586
|
+
}, ei = a.strictObject({
|
|
3586
3587
|
...P.shape,
|
|
3587
3588
|
dim: a.number().default(3)
|
|
3588
3589
|
}), ve = class ve extends F {
|
|
@@ -3591,7 +3592,7 @@ const Jn = {
|
|
|
3591
3592
|
* @param opts - Configuration options including dimensions
|
|
3592
3593
|
*/
|
|
3593
3594
|
constructor(e = {}) {
|
|
3594
|
-
super(e), this.scalingFactor = 1, this.config =
|
|
3595
|
+
super(e), this.scalingFactor = 1, this.config = ei.parse(e);
|
|
3595
3596
|
}
|
|
3596
3597
|
/**
|
|
3597
3598
|
* Add a node and apply its fixed position immediately
|
|
@@ -3616,20 +3617,20 @@ const Jn = {
|
|
|
3616
3617
|
this.positions = e;
|
|
3617
3618
|
}
|
|
3618
3619
|
};
|
|
3619
|
-
ve.type = "fixed", ve.maxDimensions = 3, ve.zodOptionsSchema =
|
|
3620
|
+
ve.type = "fixed", ve.maxDimensions = 3, ve.zodOptionsSchema = Qn;
|
|
3620
3621
|
let rt = ve;
|
|
3621
|
-
const
|
|
3622
|
-
function
|
|
3623
|
-
return r !== null ? r : t >
|
|
3622
|
+
const ti = 25e4, ai = 4;
|
|
3623
|
+
function ni(r, e, t) {
|
|
3624
|
+
return r !== null ? r : t > ti ? e * ai : e;
|
|
3624
3625
|
}
|
|
3625
|
-
function
|
|
3626
|
+
function ii(r, e) {
|
|
3626
3627
|
if (r == null || typeof r == "string")
|
|
3627
3628
|
return null;
|
|
3628
3629
|
const t = e.outDegree();
|
|
3629
|
-
return
|
|
3630
|
+
return Ka(r, e, (n) => t[n] + 1);
|
|
3630
3631
|
}
|
|
3631
|
-
const
|
|
3632
|
-
function
|
|
3632
|
+
const si = 1e-6;
|
|
3633
|
+
function oi(r, e, t, n = null) {
|
|
3633
3634
|
let i = 0, s = 0, l = 0, c = 0;
|
|
3634
3635
|
for (let h = 0; h < e; h += 1) {
|
|
3635
3636
|
const u = r[3 * h], p = r[3 * h + 1], m = r[3 * h + 2];
|
|
@@ -3646,22 +3647,22 @@ function si(r, e, t, n = null) {
|
|
|
3646
3647
|
Number.isFinite(g) && g > o && (o = g);
|
|
3647
3648
|
}
|
|
3648
3649
|
const d = Math.sqrt(o);
|
|
3649
|
-
return { scale: d >
|
|
3650
|
+
return { scale: d > si ? t / d : 1, centre: [s, l, c], placed: i };
|
|
3650
3651
|
}
|
|
3651
|
-
function
|
|
3652
|
+
function ri(r) {
|
|
3652
3653
|
return r == null ? [0, 0, 0] : [
|
|
3653
3654
|
r.length > 0 ? r[0] : 0,
|
|
3654
3655
|
r.length > 1 ? r[1] : 0,
|
|
3655
3656
|
r.length > 2 ? r[2] : 0
|
|
3656
3657
|
];
|
|
3657
3658
|
}
|
|
3658
|
-
const
|
|
3659
|
+
const ci = {
|
|
3659
3660
|
forceatlas2: "forceAtlas2",
|
|
3660
3661
|
fruchtermanReingold: "fruchtermanReingold",
|
|
3661
3662
|
spring: "fruchtermanReingold",
|
|
3662
3663
|
"spring-electrical": "springElectrical"
|
|
3663
3664
|
};
|
|
3664
|
-
function
|
|
3665
|
+
function li() {
|
|
3665
3666
|
return new De({
|
|
3666
3667
|
code: "E_INTERNAL",
|
|
3667
3668
|
message: "a simulation layout is constructed by LayoutManager with the graph's acceleration controller, not by LayoutEngine.get: this one was built without one",
|
|
@@ -3758,8 +3759,8 @@ class Ft extends Tt {
|
|
|
3758
3759
|
super();
|
|
3759
3760
|
const t = e;
|
|
3760
3761
|
if (t.controller === void 0 || t.type === void 0)
|
|
3761
|
-
throw
|
|
3762
|
-
this.simulationType = t.type, this.#h = t.layoutType ?? t.type, this.capability =
|
|
3762
|
+
throw li();
|
|
3763
|
+
this.simulationType = t.type, this.#h = t.layoutType ?? t.type, this.capability = ci[t.type], this.#t = t.options, this.#u = t.controller, this.#D = t.report, this.#i = t.dataManager, this.#n = ri(this.#t.model.center ?? this.#t.center), this.#a[0] = this.#n[0], this.#a[1] = this.#n[1], this.#a[2] = this.#n[2];
|
|
3763
3764
|
}
|
|
3764
3765
|
/**
|
|
3765
3766
|
* The registered layout name, which every other engine reads off its class's `static type`.
|
|
@@ -4127,7 +4128,7 @@ class Ft extends Tt {
|
|
|
4127
4128
|
const e = this.#s, t = this.#c;
|
|
4128
4129
|
if (e === null || t === null)
|
|
4129
4130
|
return;
|
|
4130
|
-
const n = this.#i.positions, i = this.#l.size === 0 ? null : (o) => this.#l.has(o) && n.isPlaced(o), s =
|
|
4131
|
+
const n = this.#i.positions, i = this.#l.size === 0 ? null : (o) => this.#l.has(o) && n.isPlaced(o), s = oi(t, e.nodeCount, this.#t.scalingFactor, i);
|
|
4131
4132
|
s.placed > 0 && (this.#y = s.scale, this.#a[0] = s.centre[0], this.#a[1] = s.centre[1], this.#a[2] = s.centre[2]);
|
|
4132
4133
|
const l = this.#y, c = this.#a;
|
|
4133
4134
|
for (const o of this.nodes) {
|
|
@@ -4218,7 +4219,7 @@ class Ft extends Tt {
|
|
|
4218
4219
|
}
|
|
4219
4220
|
});
|
|
4220
4221
|
const c = this.#i.undirected(e).snapshot;
|
|
4221
|
-
this.#T(e, i), this.#d = this.#P(c), this.#p = this.#F(e.nodeCount), this.#e =
|
|
4222
|
+
this.#T(e, i), this.#d = this.#P(c), this.#p = this.#F(e.nodeCount), this.#e = Ga(
|
|
4222
4223
|
this.simulationType,
|
|
4223
4224
|
this.#W(),
|
|
4224
4225
|
l === null ? null : Da(l)
|
|
@@ -4231,7 +4232,7 @@ class Ft extends Tt {
|
|
|
4231
4232
|
* @returns The masses, or null when the simulation resolves them itself.
|
|
4232
4233
|
*/
|
|
4233
4234
|
#P(e) {
|
|
4234
|
-
return
|
|
4235
|
+
return ii(this.#t.model.nodeMass, e);
|
|
4235
4236
|
}
|
|
4236
4237
|
/**
|
|
4237
4238
|
* Gives a coordinate to every row that has none, before the simulation reads them.
|
|
@@ -4248,7 +4249,7 @@ class Ft extends Tt {
|
|
|
4248
4249
|
*/
|
|
4249
4250
|
#T(e, t) {
|
|
4250
4251
|
const { seed: n, dim: i, scale: s, center: l } = this.#t.model;
|
|
4251
|
-
|
|
4252
|
+
$a(
|
|
4252
4253
|
e,
|
|
4253
4254
|
t,
|
|
4254
4255
|
n ?? null,
|
|
@@ -4293,7 +4294,7 @@ class Ft extends Tt {
|
|
|
4293
4294
|
*/
|
|
4294
4295
|
#F(e) {
|
|
4295
4296
|
const { iterationsPerStep: t, stepMultiplier: n } = this.#t;
|
|
4296
|
-
return
|
|
4297
|
+
return ni(t, n, e);
|
|
4297
4298
|
}
|
|
4298
4299
|
/**
|
|
4299
4300
|
* Sets or clears one bit of the fixed mask and tells the simulation.
|
|
@@ -4352,7 +4353,7 @@ class Ft extends Tt {
|
|
|
4352
4353
|
));
|
|
4353
4354
|
}
|
|
4354
4355
|
}
|
|
4355
|
-
const
|
|
4356
|
+
const di = {
|
|
4356
4357
|
scalingFactor: {
|
|
4357
4358
|
schema: a.number().min(1).max(1e3).default(100),
|
|
4358
4359
|
meta: {
|
|
@@ -4467,9 +4468,9 @@ const li = {
|
|
|
4467
4468
|
return { dim: e };
|
|
4468
4469
|
}
|
|
4469
4470
|
};
|
|
4470
|
-
q.type = "forceatlas2", q.simulationType = "forceatlas2", q.maxDimensions = 3, q.honoursWeights = !0, q.zodOptionsSchema =
|
|
4471
|
+
q.type = "forceatlas2", q.simulationType = "forceatlas2", q.maxDimensions = 3, q.honoursWeights = !0, q.zodOptionsSchema = di;
|
|
4471
4472
|
let ct = q;
|
|
4472
|
-
const
|
|
4473
|
+
const hi = "weight", ui = {
|
|
4473
4474
|
scalingFactor: {
|
|
4474
4475
|
schema: a.number().min(1).max(1e3).default(50),
|
|
4475
4476
|
meta: {
|
|
@@ -4499,7 +4500,7 @@ const di = "weight", hi = {
|
|
|
4499
4500
|
description: "Place strongly connected nodes closer together"
|
|
4500
4501
|
}
|
|
4501
4502
|
}
|
|
4502
|
-
},
|
|
4503
|
+
}, mi = a.strictObject({
|
|
4503
4504
|
...P.shape,
|
|
4504
4505
|
dist: a.record(a.number(), a.record(a.number(), a.number())).or(a.null()).default(null),
|
|
4505
4506
|
pos: a.record(a.number(), a.array(a.number()).min(1).max(3)).or(a.null()).default(null),
|
|
@@ -4513,7 +4514,7 @@ const di = "weight", hi = {
|
|
|
4513
4514
|
* @param opts - Configuration options including scale and dimensions
|
|
4514
4515
|
*/
|
|
4515
4516
|
constructor(e) {
|
|
4516
|
-
super(e), this.scalingFactor = 50, this.config =
|
|
4517
|
+
super(e), this.scalingFactor = 50, this.config = mi.parse(e);
|
|
4517
4518
|
}
|
|
4518
4519
|
/**
|
|
4519
4520
|
* Get dimension-specific options for Kamada-Kawai layout
|
|
@@ -4538,23 +4539,23 @@ const di = "weight", hi = {
|
|
|
4538
4539
|
this.stale = !1;
|
|
4539
4540
|
const n = { nodes: () => this._nodes.map((s) => s.id), edges: () => this._edges.map((s) => [s.srcId, s.dstId]) }, i = this.config.weighted ? this.pairWeights(this._edges) : null;
|
|
4540
4541
|
i !== null && (this.reportClampedWeights("kamada-kawai", i), n.getEdgeData = (s, l) => {
|
|
4541
|
-
const c = i.get(
|
|
4542
|
+
const c = i.get(Ea(s, l));
|
|
4542
4543
|
if (c !== void 0)
|
|
4543
|
-
return 1 / Math.max(c,
|
|
4544
|
-
}), this.positions =
|
|
4544
|
+
return 1 / Math.max(c, Ra);
|
|
4545
|
+
}), this.positions = Ua(
|
|
4545
4546
|
n,
|
|
4546
4547
|
this.config.dist,
|
|
4547
4548
|
this.config.pos,
|
|
4548
|
-
|
|
4549
|
+
hi,
|
|
4549
4550
|
this.config.scale,
|
|
4550
4551
|
this.config.center,
|
|
4551
4552
|
this.config.dim
|
|
4552
4553
|
);
|
|
4553
4554
|
}
|
|
4554
4555
|
};
|
|
4555
|
-
re.type = "kamada-kawai", re.maxDimensions = 3, re.honoursWeights = !0, re.zodOptionsSchema =
|
|
4556
|
+
re.type = "kamada-kawai", re.maxDimensions = 3, re.honoursWeights = !0, re.zodOptionsSchema = ui;
|
|
4556
4557
|
let lt = re;
|
|
4557
|
-
const
|
|
4558
|
+
const pi = {
|
|
4558
4559
|
scalingFactor: {
|
|
4559
4560
|
schema: a.number().min(1).max(1e3).default(40),
|
|
4560
4561
|
meta: {
|
|
@@ -4577,7 +4578,7 @@ const mi = {
|
|
|
4577
4578
|
step: 0.1
|
|
4578
4579
|
}
|
|
4579
4580
|
}
|
|
4580
|
-
},
|
|
4581
|
+
}, gi = a.strictObject({
|
|
4581
4582
|
...P.shape,
|
|
4582
4583
|
// subsetKey: z.string().or(z.record(z.number(), z.array(z.string().or(z.number())))),
|
|
4583
4584
|
subsetKey: a.record(a.string(), a.array(a.string().or(a.number()))),
|
|
@@ -4590,7 +4591,7 @@ const mi = {
|
|
|
4590
4591
|
* @param opts - Configuration options including subset keys and alignment
|
|
4591
4592
|
*/
|
|
4592
4593
|
constructor(e) {
|
|
4593
|
-
super(e), this.scalingFactor = 40, this.config =
|
|
4594
|
+
super(e), this.scalingFactor = 40, this.config = gi.parse(e);
|
|
4594
4595
|
}
|
|
4595
4596
|
/**
|
|
4596
4597
|
* Get dimension-specific options for multipartite layout
|
|
@@ -4606,7 +4607,7 @@ const mi = {
|
|
|
4606
4607
|
doLayout() {
|
|
4607
4608
|
this.stale = !1;
|
|
4608
4609
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
4609
|
-
this.positions =
|
|
4610
|
+
this.positions = qa(
|
|
4610
4611
|
{ nodes: e, edges: t },
|
|
4611
4612
|
this.config.subsetKey,
|
|
4612
4613
|
this.config.align,
|
|
@@ -4615,10 +4616,10 @@ const mi = {
|
|
|
4615
4616
|
);
|
|
4616
4617
|
}
|
|
4617
4618
|
};
|
|
4618
|
-
we.type = "multipartite", we.maxDimensions = 2, we.zodOptionsSchema =
|
|
4619
|
+
we.type = "multipartite", we.maxDimensions = 2, we.zodOptionsSchema = pi;
|
|
4619
4620
|
let dt = we;
|
|
4620
4621
|
var ue = { exports: {} }, Zt;
|
|
4621
|
-
function
|
|
4622
|
+
function fi() {
|
|
4622
4623
|
if (Zt) return ue.exports;
|
|
4623
4624
|
Zt = 1, ue.exports = r, ue.exports.random = r, ue.exports.randomIterator = c;
|
|
4624
4625
|
function r(o) {
|
|
@@ -4684,8 +4685,8 @@ function gi() {
|
|
|
4684
4685
|
}
|
|
4685
4686
|
return ue.exports;
|
|
4686
4687
|
}
|
|
4687
|
-
var
|
|
4688
|
-
const
|
|
4688
|
+
var yi = fi();
|
|
4689
|
+
const bi = /* @__PURE__ */ en(yi), vi = {
|
|
4689
4690
|
dim: {
|
|
4690
4691
|
schema: a.number().int().min(2).max(3).default(3),
|
|
4691
4692
|
meta: {
|
|
@@ -4757,11 +4758,11 @@ const yi = /* @__PURE__ */ Qa(fi), bi = {
|
|
|
4757
4758
|
* @param config - Configuration options for the NGraph simulation
|
|
4758
4759
|
*/
|
|
4759
4760
|
constructor(e = {}) {
|
|
4760
|
-
super(), this.nodeMapping = /* @__PURE__ */ new Map(), this.edgeMapping = /* @__PURE__ */ new Map(), this._settled = !0, this._stepCount = 0, this._lastMoves = [], this.ngraph =
|
|
4761
|
+
super(), this.nodeMapping = /* @__PURE__ */ new Map(), this.edgeMapping = /* @__PURE__ */ new Map(), this._settled = !0, this._stepCount = 0, this._lastMoves = [], this.ngraph = Qa();
|
|
4761
4762
|
const t = e, n = {
|
|
4762
4763
|
dimensions: t.dim !== void 0 ? t.dim : 3
|
|
4763
4764
|
};
|
|
4764
|
-
t.springLength !== void 0 && (n.springLength = t.springLength), t.springCoefficient !== void 0 && (n.springCoefficient = t.springCoefficient), t.gravity !== void 0 && (n.gravity = t.gravity), t.theta !== void 0 && (n.theta = t.theta), t.dragCoefficient !== void 0 && (n.dragCoefficient = t.dragCoefficient), t.timeStep !== void 0 && (n.timeStep = t.timeStep), t.seed !== void 0 && typeof t.seed == "number" && (n.random =
|
|
4765
|
+
t.springLength !== void 0 && (n.springLength = t.springLength), t.springCoefficient !== void 0 && (n.springCoefficient = t.springCoefficient), t.gravity !== void 0 && (n.gravity = t.gravity), t.theta !== void 0 && (n.theta = t.theta), t.dragCoefficient !== void 0 && (n.dragCoefficient = t.dragCoefficient), t.timeStep !== void 0 && (n.timeStep = t.timeStep), t.seed !== void 0 && typeof t.seed == "number" && (n.random = bi(t.seed)), this.ngraphLayout = Ja(this.ngraph, n);
|
|
4765
4766
|
}
|
|
4766
4767
|
/**
|
|
4767
4768
|
* Get dimension-specific options for NGraph layout
|
|
@@ -4930,9 +4931,9 @@ const yi = /* @__PURE__ */ Qa(fi), bi = {
|
|
|
4930
4931
|
return t;
|
|
4931
4932
|
}
|
|
4932
4933
|
};
|
|
4933
|
-
Ne.type = "ngraph", Ne.maxDimensions = 3, Ne.zodOptionsSchema =
|
|
4934
|
+
Ne.type = "ngraph", Ne.maxDimensions = 3, Ne.zodOptionsSchema = vi;
|
|
4934
4935
|
let ht = Ne;
|
|
4935
|
-
const
|
|
4936
|
+
const wi = {
|
|
4936
4937
|
scalingFactor: {
|
|
4937
4938
|
schema: a.number().min(1).max(1e3).default(70),
|
|
4938
4939
|
meta: {
|
|
@@ -4963,7 +4964,7 @@ const vi = {
|
|
|
4963
4964
|
advanced: !0
|
|
4964
4965
|
}
|
|
4965
4966
|
}
|
|
4966
|
-
},
|
|
4967
|
+
}, Ni = a.strictObject({
|
|
4967
4968
|
...P.shape,
|
|
4968
4969
|
scale: a.number().positive().default(1),
|
|
4969
4970
|
center: a.array(a.number()).length(2).or(a.null()).default(null),
|
|
@@ -4975,7 +4976,7 @@ const vi = {
|
|
|
4975
4976
|
* @param opts - Configuration options including scale and seed
|
|
4976
4977
|
*/
|
|
4977
4978
|
constructor(e) {
|
|
4978
|
-
super(e), this.scalingFactor = 70, this.config =
|
|
4979
|
+
super(e), this.scalingFactor = 70, this.config = Ni.parse(e);
|
|
4979
4980
|
}
|
|
4980
4981
|
/**
|
|
4981
4982
|
* Get dimension-specific options for planar layout
|
|
@@ -4991,7 +4992,7 @@ const vi = {
|
|
|
4991
4992
|
doLayout() {
|
|
4992
4993
|
this.stale = !1;
|
|
4993
4994
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
4994
|
-
this.positions =
|
|
4995
|
+
this.positions = Ha(
|
|
4995
4996
|
{ nodes: e, edges: t },
|
|
4996
4997
|
this.config.scale,
|
|
4997
4998
|
this.config.center,
|
|
@@ -5000,9 +5001,9 @@ const vi = {
|
|
|
5000
5001
|
);
|
|
5001
5002
|
}
|
|
5002
5003
|
};
|
|
5003
|
-
Se.type = "planar", Se.maxDimensions = 2, Se.zodOptionsSchema =
|
|
5004
|
+
Se.type = "planar", Se.maxDimensions = 2, Se.zodOptionsSchema = wi;
|
|
5004
5005
|
let ut = Se;
|
|
5005
|
-
const
|
|
5006
|
+
const Si = {
|
|
5006
5007
|
scalingFactor: {
|
|
5007
5008
|
schema: a.number().min(1).max(1e3).default(100),
|
|
5008
5009
|
meta: {
|
|
@@ -5025,7 +5026,7 @@ const Ni = {
|
|
|
5025
5026
|
advanced: !0
|
|
5026
5027
|
}
|
|
5027
5028
|
}
|
|
5028
|
-
},
|
|
5029
|
+
}, xi = a.strictObject({
|
|
5029
5030
|
...P.shape,
|
|
5030
5031
|
center: a.array(a.number()).min(2).max(3).or(a.null()).default(null),
|
|
5031
5032
|
dim: a.number().default(2),
|
|
@@ -5036,7 +5037,7 @@ const Ni = {
|
|
|
5036
5037
|
* @param opts - Configuration options including dimensions and seed
|
|
5037
5038
|
*/
|
|
5038
5039
|
constructor(e) {
|
|
5039
|
-
super(e), this.scalingFactor = 100, this.config =
|
|
5040
|
+
super(e), this.scalingFactor = 100, this.config = xi.parse(e);
|
|
5040
5041
|
}
|
|
5041
5042
|
/**
|
|
5042
5043
|
* Get dimension-specific options for random layout
|
|
@@ -5052,12 +5053,12 @@ const Ni = {
|
|
|
5052
5053
|
doLayout() {
|
|
5053
5054
|
this.stale = !1;
|
|
5054
5055
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
5055
|
-
this.positions =
|
|
5056
|
+
this.positions = ja({ nodes: e, edges: t }, this.config.center, this.config.dim, this.config.seed);
|
|
5056
5057
|
}
|
|
5057
5058
|
};
|
|
5058
|
-
xe.type = "random", xe.maxDimensions = 3, xe.zodOptionsSchema =
|
|
5059
|
+
xe.type = "random", xe.maxDimensions = 3, xe.zodOptionsSchema = Si;
|
|
5059
5060
|
let mt = xe;
|
|
5060
|
-
const
|
|
5061
|
+
const ki = {
|
|
5061
5062
|
scalingFactor: {
|
|
5062
5063
|
schema: a.number().min(1).max(1e3).default(100),
|
|
5063
5064
|
meta: {
|
|
@@ -5080,7 +5081,7 @@ const xi = {
|
|
|
5080
5081
|
description: "Layout dimensionality (2D only for shell)"
|
|
5081
5082
|
}
|
|
5082
5083
|
}
|
|
5083
|
-
},
|
|
5084
|
+
}, Oi = a.strictObject({
|
|
5084
5085
|
...P.shape,
|
|
5085
5086
|
nlist: a.array(a.array(a.number())).or(a.null()).default(null),
|
|
5086
5087
|
dim: a.number().default(2),
|
|
@@ -5092,7 +5093,7 @@ const xi = {
|
|
|
5092
5093
|
* @param opts - Configuration options including node lists for each shell
|
|
5093
5094
|
*/
|
|
5094
5095
|
constructor(e) {
|
|
5095
|
-
super(e), this.scalingFactor = 100, this.config =
|
|
5096
|
+
super(e), this.scalingFactor = 100, this.config = Oi.parse(e);
|
|
5096
5097
|
}
|
|
5097
5098
|
/**
|
|
5098
5099
|
* Get dimension-specific options for shell layout
|
|
@@ -5108,7 +5109,7 @@ const xi = {
|
|
|
5108
5109
|
doLayout() {
|
|
5109
5110
|
this.stale = !1;
|
|
5110
5111
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
5111
|
-
this.positions =
|
|
5112
|
+
this.positions = Ba(
|
|
5112
5113
|
{ nodes: e, edges: t },
|
|
5113
5114
|
this.config.nlist,
|
|
5114
5115
|
this.config.scale,
|
|
@@ -5117,9 +5118,9 @@ const xi = {
|
|
|
5117
5118
|
);
|
|
5118
5119
|
}
|
|
5119
5120
|
};
|
|
5120
|
-
ke.type = "shell", ke.maxDimensions = 2, ke.zodOptionsSchema =
|
|
5121
|
+
ke.type = "shell", ke.maxDimensions = 2, ke.zodOptionsSchema = ki;
|
|
5121
5122
|
let pt = ke;
|
|
5122
|
-
const
|
|
5123
|
+
const Mi = {
|
|
5123
5124
|
scalingFactor: {
|
|
5124
5125
|
schema: a.number().min(1).max(1e3).default(100),
|
|
5125
5126
|
meta: {
|
|
@@ -5142,7 +5143,7 @@ const Oi = {
|
|
|
5142
5143
|
description: "Layout dimensionality (2D only for spectral)"
|
|
5143
5144
|
}
|
|
5144
5145
|
}
|
|
5145
|
-
},
|
|
5146
|
+
}, Di = a.strictObject({
|
|
5146
5147
|
...P.shape,
|
|
5147
5148
|
scale: a.number().positive().default(1),
|
|
5148
5149
|
center: a.array(a.number()).length(2).or(a.null()).default(null),
|
|
@@ -5153,7 +5154,7 @@ const Oi = {
|
|
|
5153
5154
|
* @param opts - Configuration options including scale and center
|
|
5154
5155
|
*/
|
|
5155
5156
|
constructor(e) {
|
|
5156
|
-
super(e), this.scalingFactor = 100, this.config =
|
|
5157
|
+
super(e), this.scalingFactor = 100, this.config = Di.parse(e);
|
|
5157
5158
|
}
|
|
5158
5159
|
/**
|
|
5159
5160
|
* Get dimension-specific options for spectral layout
|
|
@@ -5169,12 +5170,12 @@ const Oi = {
|
|
|
5169
5170
|
doLayout() {
|
|
5170
5171
|
this.stale = !1;
|
|
5171
5172
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
5172
|
-
this.positions =
|
|
5173
|
+
this.positions = Va({ nodes: e, edges: t }, this.config.scale, this.config.center, this.config.dim);
|
|
5173
5174
|
}
|
|
5174
5175
|
};
|
|
5175
|
-
Oe.type = "spectral", Oe.maxDimensions = 2, Oe.zodOptionsSchema =
|
|
5176
|
+
Oe.type = "spectral", Oe.maxDimensions = 2, Oe.zodOptionsSchema = Mi;
|
|
5176
5177
|
let gt = Oe;
|
|
5177
|
-
const
|
|
5178
|
+
const Ii = {
|
|
5178
5179
|
scalingFactor: {
|
|
5179
5180
|
schema: a.number().min(1).max(1e3).default(80),
|
|
5180
5181
|
meta: {
|
|
@@ -5214,7 +5215,7 @@ const Di = {
|
|
|
5214
5215
|
advanced: !0
|
|
5215
5216
|
}
|
|
5216
5217
|
}
|
|
5217
|
-
},
|
|
5218
|
+
}, zi = a.strictObject({
|
|
5218
5219
|
...P.shape,
|
|
5219
5220
|
scale: a.number().positive().default(1),
|
|
5220
5221
|
center: a.array(a.number()).length(2).or(a.null()).default(null),
|
|
@@ -5227,7 +5228,7 @@ const Di = {
|
|
|
5227
5228
|
* @param opts - Configuration options including resolution and equidistant spacing
|
|
5228
5229
|
*/
|
|
5229
5230
|
constructor(e) {
|
|
5230
|
-
super(e), this.scalingFactor = 80, this.config =
|
|
5231
|
+
super(e), this.scalingFactor = 80, this.config = zi.parse(e);
|
|
5231
5232
|
}
|
|
5232
5233
|
/**
|
|
5233
5234
|
* Get dimension-specific options for spiral layout
|
|
@@ -5243,7 +5244,7 @@ const Di = {
|
|
|
5243
5244
|
doLayout() {
|
|
5244
5245
|
this.stale = !1;
|
|
5245
5246
|
const e = () => this._nodes.map((n) => n.id), t = () => this._edges.map((n) => [n.srcId, n.dstId]);
|
|
5246
|
-
this.positions =
|
|
5247
|
+
this.positions = Aa(
|
|
5247
5248
|
{ nodes: e, edges: t },
|
|
5248
5249
|
this.config.scale,
|
|
5249
5250
|
this.config.center,
|
|
@@ -5253,9 +5254,9 @@ const Di = {
|
|
|
5253
5254
|
);
|
|
5254
5255
|
}
|
|
5255
5256
|
};
|
|
5256
|
-
Me.type = "spiral", Me.maxDimensions = 2, Me.zodOptionsSchema =
|
|
5257
|
+
Me.type = "spiral", Me.maxDimensions = 2, Me.zodOptionsSchema = Ii;
|
|
5257
5258
|
let ft = Me;
|
|
5258
|
-
const
|
|
5259
|
+
const Ci = {
|
|
5259
5260
|
springLength: {
|
|
5260
5261
|
schema: a.number().positive().default(10),
|
|
5261
5262
|
meta: {
|
|
@@ -5331,9 +5332,9 @@ const zi = {
|
|
|
5331
5332
|
return { dim: e };
|
|
5332
5333
|
}
|
|
5333
5334
|
};
|
|
5334
|
-
ce.type = "spring-electrical", ce.simulationType = "spring-electrical", ce.maxDimensions = 3, ce.zodOptionsSchema =
|
|
5335
|
+
ce.type = "spring-electrical", ce.simulationType = "spring-electrical", ce.maxDimensions = 3, ce.zodOptionsSchema = Ci;
|
|
5335
5336
|
let yt = ce;
|
|
5336
|
-
const
|
|
5337
|
+
const Ei = {
|
|
5337
5338
|
scalingFactor: {
|
|
5338
5339
|
schema: a.number().min(1).max(1e3).default(100),
|
|
5339
5340
|
meta: {
|
|
@@ -5389,7 +5390,7 @@ const Ci = {
|
|
|
5389
5390
|
return { dim: e };
|
|
5390
5391
|
}
|
|
5391
5392
|
};
|
|
5392
|
-
le.type = "spring", le.simulationType = "spring", le.maxDimensions = 3, le.zodOptionsSchema =
|
|
5393
|
+
le.type = "spring", le.simulationType = "spring", le.maxDimensions = 3, le.zodOptionsSchema = Ei;
|
|
5393
5394
|
let bt = le;
|
|
5394
5395
|
const B = {
|
|
5395
5396
|
seed: { type: "seed" }
|
|
@@ -5411,7 +5412,7 @@ function T(r, e, t = []) {
|
|
|
5411
5412
|
]
|
|
5412
5413
|
};
|
|
5413
5414
|
}
|
|
5414
|
-
const
|
|
5415
|
+
const Ri = {
|
|
5415
5416
|
engine: "ngraph",
|
|
5416
5417
|
plainName: "NGraph Force",
|
|
5417
5418
|
technicalName: "ngraph.forcelayout",
|
|
@@ -5420,7 +5421,7 @@ const Ei = {
|
|
|
5420
5421
|
reason: "The default: a Barnes-Hut simulation that runs live, accepts nodes and edges added while it is running, and stays interactive on graphs of a hundred thousand nodes.",
|
|
5421
5422
|
options: z(ht.zodOptionsSchema, B),
|
|
5422
5423
|
honoursWeights: ht.honoursWeights
|
|
5423
|
-
},
|
|
5424
|
+
}, Ti = {
|
|
5424
5425
|
engine: "d3",
|
|
5425
5426
|
plainName: "D3 Force",
|
|
5426
5427
|
technicalName: "d3-force-3d",
|
|
@@ -5429,7 +5430,7 @@ const Ei = {
|
|
|
5429
5430
|
reason: "Choose it for d3's own tuning vocabulary -- alpha, alpha decay, velocity decay -- when the arrangement has to match a d3 drawing elsewhere in the product.",
|
|
5430
5431
|
options: z(ot.zodOptionsSchema),
|
|
5431
5432
|
honoursWeights: ot.honoursWeights
|
|
5432
|
-
},
|
|
5433
|
+
}, Fi = {
|
|
5433
5434
|
engine: "forceatlas2",
|
|
5434
5435
|
plainName: "ForceAtlas2",
|
|
5435
5436
|
technicalName: "ForceAtlas2 (Gephi)",
|
|
@@ -5438,7 +5439,7 @@ const Ei = {
|
|
|
5438
5439
|
reason: "Choose it for the Gephi look, and for the arrangement an accelerator reproduces first. It keeps running until the layout settles and reheats on a drag or a pin.",
|
|
5439
5440
|
options: z(ct.zodOptionsSchema, B),
|
|
5440
5441
|
honoursWeights: ct.honoursWeights
|
|
5441
|
-
},
|
|
5442
|
+
}, Pi = {
|
|
5442
5443
|
engine: "spring",
|
|
5443
5444
|
plainName: "Spring",
|
|
5444
5445
|
technicalName: "Fruchterman-Reingold",
|
|
@@ -5447,7 +5448,7 @@ const Ei = {
|
|
|
5447
5448
|
reason: "Choose it when the arrangement must be reproducible from a seed: the same seed gives the same settled shape.",
|
|
5448
5449
|
options: z(bt.zodOptionsSchema, B),
|
|
5449
5450
|
honoursWeights: bt.honoursWeights
|
|
5450
|
-
},
|
|
5451
|
+
}, Wi = {
|
|
5451
5452
|
engine: "spring-electrical",
|
|
5452
5453
|
plainName: "Spring Electrical",
|
|
5453
5454
|
technicalName: "ngraph.forcelayout (spring-electrical)",
|
|
@@ -5457,7 +5458,7 @@ const Ei = {
|
|
|
5457
5458
|
options: z(yt.zodOptionsSchema, B),
|
|
5458
5459
|
honoursWeights: yt.honoursWeights,
|
|
5459
5460
|
requires: { accelerator: !0 }
|
|
5460
|
-
},
|
|
5461
|
+
}, Li = {
|
|
5461
5462
|
engine: "kamada-kawai",
|
|
5462
5463
|
plainName: "Kamada-Kawai",
|
|
5463
5464
|
technicalName: "Kamada-Kawai stress majorization",
|
|
@@ -5466,7 +5467,7 @@ const Ei = {
|
|
|
5466
5467
|
reason: "Choose it for a small graph whose drawn distances should match its graph distances. It solves over every pair of nodes, so it is slow well before the other force engines are.",
|
|
5467
5468
|
options: z(lt.zodOptionsSchema),
|
|
5468
5469
|
honoursWeights: lt.honoursWeights
|
|
5469
|
-
},
|
|
5470
|
+
}, Gi = {
|
|
5470
5471
|
engine: "arf",
|
|
5471
5472
|
plainName: "ARF",
|
|
5472
5473
|
technicalName: "Attractive and Repulsive Forces",
|
|
@@ -5475,7 +5476,7 @@ const Ei = {
|
|
|
5475
5476
|
reason: "The only registered force engine that is two-dimensional by nature, so a flat result is what it computes rather than what it is flattened into afterwards.",
|
|
5476
5477
|
options: z(at.zodOptionsSchema, B),
|
|
5477
5478
|
honoursWeights: at.honoursWeights
|
|
5478
|
-
},
|
|
5479
|
+
}, $i = {
|
|
5479
5480
|
engine: "circular",
|
|
5480
5481
|
plainName: "Circular",
|
|
5481
5482
|
technicalName: "Circular layout",
|
|
@@ -5484,7 +5485,7 @@ const Ei = {
|
|
|
5484
5485
|
reason: "The only engine that draws this arrangement.",
|
|
5485
5486
|
options: z(st.zodOptionsSchema),
|
|
5486
5487
|
honoursWeights: st.honoursWeights
|
|
5487
|
-
},
|
|
5488
|
+
}, Ki = {
|
|
5488
5489
|
engine: "shell",
|
|
5489
5490
|
plainName: "Shell",
|
|
5490
5491
|
technicalName: "Shell layout",
|
|
@@ -5493,7 +5494,7 @@ const Ei = {
|
|
|
5493
5494
|
reason: "The only engine that draws this arrangement.",
|
|
5494
5495
|
options: z(pt.zodOptionsSchema),
|
|
5495
5496
|
honoursWeights: pt.honoursWeights
|
|
5496
|
-
},
|
|
5497
|
+
}, Ui = {
|
|
5497
5498
|
engine: "spiral",
|
|
5498
5499
|
plainName: "Spiral",
|
|
5499
5500
|
technicalName: "Archimedean spiral layout",
|
|
@@ -5502,7 +5503,7 @@ const Ei = {
|
|
|
5502
5503
|
reason: "The only engine that draws this arrangement.",
|
|
5503
5504
|
options: z(ft.zodOptionsSchema),
|
|
5504
5505
|
honoursWeights: ft.honoursWeights
|
|
5505
|
-
},
|
|
5506
|
+
}, qi = {
|
|
5506
5507
|
engine: "spectral",
|
|
5507
5508
|
plainName: "Spectral",
|
|
5508
5509
|
technicalName: "Laplacian eigenvector layout",
|
|
@@ -5511,7 +5512,7 @@ const Ei = {
|
|
|
5511
5512
|
reason: "The only engine that draws this arrangement.",
|
|
5512
5513
|
options: z(gt.zodOptionsSchema),
|
|
5513
5514
|
honoursWeights: gt.honoursWeights
|
|
5514
|
-
},
|
|
5515
|
+
}, Hi = {
|
|
5515
5516
|
engine: "planar",
|
|
5516
5517
|
plainName: "Planar",
|
|
5517
5518
|
technicalName: "Planar embedding",
|
|
@@ -5520,7 +5521,7 @@ const Ei = {
|
|
|
5520
5521
|
reason: "The only engine that draws this arrangement.",
|
|
5521
5522
|
options: z(ut.zodOptionsSchema, B),
|
|
5522
5523
|
honoursWeights: ut.honoursWeights
|
|
5523
|
-
},
|
|
5524
|
+
}, ji = {
|
|
5524
5525
|
engine: "bfs",
|
|
5525
5526
|
plainName: "BFS Tree",
|
|
5526
5527
|
technicalName: "Breadth-first tree layout",
|
|
@@ -5529,7 +5530,7 @@ const Ei = {
|
|
|
5529
5530
|
reason: "The only engine that draws this arrangement. It orders each row by breadth-first arrival and does not reduce edge crossings between rows.",
|
|
5530
5531
|
options: z(nt.zodOptionsSchema),
|
|
5531
5532
|
honoursWeights: nt.honoursWeights
|
|
5532
|
-
},
|
|
5533
|
+
}, Bi = {
|
|
5533
5534
|
engine: "bipartite",
|
|
5534
5535
|
plainName: "Bipartite",
|
|
5535
5536
|
technicalName: "Bipartite layout",
|
|
@@ -5538,7 +5539,7 @@ const Ei = {
|
|
|
5538
5539
|
reason: "The only engine that draws this arrangement.",
|
|
5539
5540
|
options: z(it.zodOptionsSchema),
|
|
5540
5541
|
honoursWeights: it.honoursWeights
|
|
5541
|
-
},
|
|
5542
|
+
}, Vi = {
|
|
5542
5543
|
engine: "multipartite",
|
|
5543
5544
|
plainName: "Multipartite",
|
|
5544
5545
|
technicalName: "Multipartite layout",
|
|
@@ -5547,7 +5548,7 @@ const Ei = {
|
|
|
5547
5548
|
reason: "The only engine that draws this arrangement.",
|
|
5548
5549
|
options: z(dt.zodOptionsSchema),
|
|
5549
5550
|
honoursWeights: dt.honoursWeights
|
|
5550
|
-
},
|
|
5551
|
+
}, Ai = {
|
|
5551
5552
|
engine: "fixed",
|
|
5552
5553
|
plainName: "Fixed",
|
|
5553
5554
|
technicalName: "Fixed layout",
|
|
@@ -5556,7 +5557,7 @@ const Ei = {
|
|
|
5556
5557
|
reason: "The only engine that draws this arrangement.",
|
|
5557
5558
|
options: z(rt.zodOptionsSchema),
|
|
5558
5559
|
honoursWeights: rt.honoursWeights
|
|
5559
|
-
},
|
|
5560
|
+
}, _i = {
|
|
5560
5561
|
engine: "random",
|
|
5561
5562
|
plainName: "Random",
|
|
5562
5563
|
technicalName: "Random layout",
|
|
@@ -5578,8 +5579,8 @@ const Ei = {
|
|
|
5578
5579
|
sizeRating: "any",
|
|
5579
5580
|
structuralInputs: []
|
|
5580
5581
|
},
|
|
5581
|
-
|
|
5582
|
-
[
|
|
5582
|
+
Ri,
|
|
5583
|
+
[Ti, Fi, Pi, Li, Wi]
|
|
5583
5584
|
),
|
|
5584
5585
|
T(
|
|
5585
5586
|
{
|
|
@@ -5593,7 +5594,7 @@ const Ei = {
|
|
|
5593
5594
|
sizeRating: 2e3,
|
|
5594
5595
|
structuralInputs: []
|
|
5595
5596
|
},
|
|
5596
|
-
|
|
5597
|
+
Gi
|
|
5597
5598
|
),
|
|
5598
5599
|
T(
|
|
5599
5600
|
{
|
|
@@ -5607,7 +5608,7 @@ const Ei = {
|
|
|
5607
5608
|
sizeRating: "any",
|
|
5608
5609
|
structuralInputs: []
|
|
5609
5610
|
},
|
|
5610
|
-
|
|
5611
|
+
$i
|
|
5611
5612
|
),
|
|
5612
5613
|
T(
|
|
5613
5614
|
{
|
|
@@ -5621,7 +5622,7 @@ const Ei = {
|
|
|
5621
5622
|
sizeRating: "any",
|
|
5622
5623
|
structuralInputs: ["partition"]
|
|
5623
5624
|
},
|
|
5624
|
-
|
|
5625
|
+
Ki
|
|
5625
5626
|
),
|
|
5626
5627
|
T(
|
|
5627
5628
|
{
|
|
@@ -5635,7 +5636,7 @@ const Ei = {
|
|
|
5635
5636
|
sizeRating: "any",
|
|
5636
5637
|
structuralInputs: []
|
|
5637
5638
|
},
|
|
5638
|
-
|
|
5639
|
+
Ui
|
|
5639
5640
|
),
|
|
5640
5641
|
T(
|
|
5641
5642
|
{
|
|
@@ -5649,7 +5650,7 @@ const Ei = {
|
|
|
5649
5650
|
sizeRating: 2e3,
|
|
5650
5651
|
structuralInputs: []
|
|
5651
5652
|
},
|
|
5652
|
-
|
|
5653
|
+
qi
|
|
5653
5654
|
),
|
|
5654
5655
|
T(
|
|
5655
5656
|
{
|
|
@@ -5663,7 +5664,7 @@ const Ei = {
|
|
|
5663
5664
|
sizeRating: 2e3,
|
|
5664
5665
|
structuralInputs: []
|
|
5665
5666
|
},
|
|
5666
|
-
|
|
5667
|
+
Hi
|
|
5667
5668
|
),
|
|
5668
5669
|
T(
|
|
5669
5670
|
{
|
|
@@ -5677,7 +5678,7 @@ const Ei = {
|
|
|
5677
5678
|
sizeRating: "any",
|
|
5678
5679
|
structuralInputs: []
|
|
5679
5680
|
},
|
|
5680
|
-
|
|
5681
|
+
_i
|
|
5681
5682
|
),
|
|
5682
5683
|
T(
|
|
5683
5684
|
{
|
|
@@ -5691,7 +5692,7 @@ const Ei = {
|
|
|
5691
5692
|
sizeRating: "any",
|
|
5692
5693
|
structuralInputs: ["node"]
|
|
5693
5694
|
},
|
|
5694
|
-
|
|
5695
|
+
ji
|
|
5695
5696
|
),
|
|
5696
5697
|
T(
|
|
5697
5698
|
{
|
|
@@ -5705,7 +5706,7 @@ const Ei = {
|
|
|
5705
5706
|
sizeRating: "any",
|
|
5706
5707
|
structuralInputs: ["partition"]
|
|
5707
5708
|
},
|
|
5708
|
-
|
|
5709
|
+
Bi
|
|
5709
5710
|
),
|
|
5710
5711
|
T(
|
|
5711
5712
|
{
|
|
@@ -5719,7 +5720,7 @@ const Ei = {
|
|
|
5719
5720
|
sizeRating: "any",
|
|
5720
5721
|
structuralInputs: ["partition"]
|
|
5721
5722
|
},
|
|
5722
|
-
|
|
5723
|
+
Vi
|
|
5723
5724
|
),
|
|
5724
5725
|
T(
|
|
5725
5726
|
{
|
|
@@ -5733,9 +5734,9 @@ const Ei = {
|
|
|
5733
5734
|
sizeRating: "any",
|
|
5734
5735
|
structuralInputs: []
|
|
5735
5736
|
},
|
|
5736
|
-
|
|
5737
|
+
Ai
|
|
5737
5738
|
)
|
|
5738
|
-
],
|
|
5739
|
+
], Yi = Pt.map((r) => r.descriptor), ds = [
|
|
5739
5740
|
{
|
|
5740
5741
|
id: "radial",
|
|
5741
5742
|
reason: "No engine arranges a graph in rings by distance from a chosen node. The spiral layout winds outward but orders nodes by position in the list, not by the graph, so it answers a different question and is published under its own name instead."
|
|
@@ -5745,13 +5746,13 @@ const Ei = {
|
|
|
5745
5746
|
reason: "No engine places nodes on a regular lattice."
|
|
5746
5747
|
}
|
|
5747
5748
|
];
|
|
5748
|
-
function ds(r) {
|
|
5749
|
-
return _i.find((e) => e.id === r) ?? ea(r)?.descriptor;
|
|
5750
|
-
}
|
|
5751
5749
|
function hs(r) {
|
|
5752
|
-
return
|
|
5750
|
+
return Yi.find((e) => e.id === r) ?? ea(r)?.descriptor;
|
|
5753
5751
|
}
|
|
5754
5752
|
function us(r) {
|
|
5753
|
+
return Pt.find((e) => e.descriptor.id === r);
|
|
5754
|
+
}
|
|
5755
|
+
function ms(r) {
|
|
5755
5756
|
const e = Pt.find(
|
|
5756
5757
|
(t) => t.implementations.some((n) => n.engine === r)
|
|
5757
5758
|
);
|
|
@@ -5762,7 +5763,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5762
5763
|
id: "viridis",
|
|
5763
5764
|
plainName: "Purple to Yellow",
|
|
5764
5765
|
kind: "sequential",
|
|
5765
|
-
colors:
|
|
5766
|
+
colors: tn,
|
|
5766
5767
|
capacity: null,
|
|
5767
5768
|
colorblindSafe: E
|
|
5768
5769
|
},
|
|
@@ -5772,7 +5773,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5772
5773
|
id: "ylorbr",
|
|
5773
5774
|
plainName: "Orange to Brown",
|
|
5774
5775
|
kind: "sequential",
|
|
5775
|
-
colors:
|
|
5776
|
+
colors: an,
|
|
5776
5777
|
capacity: null,
|
|
5777
5778
|
colorblindSafe: E
|
|
5778
5779
|
},
|
|
@@ -5780,7 +5781,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5780
5781
|
id: "plasma",
|
|
5781
5782
|
plainName: "Blue to Yellow",
|
|
5782
5783
|
kind: "sequential",
|
|
5783
|
-
colors:
|
|
5784
|
+
colors: nn,
|
|
5784
5785
|
capacity: null,
|
|
5785
5786
|
colorblindSafe: E
|
|
5786
5787
|
},
|
|
@@ -5788,7 +5789,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5788
5789
|
id: "inferno",
|
|
5789
5790
|
plainName: "Black to Yellow",
|
|
5790
5791
|
kind: "sequential",
|
|
5791
|
-
colors:
|
|
5792
|
+
colors: sn,
|
|
5792
5793
|
capacity: null,
|
|
5793
5794
|
colorblindSafe: E
|
|
5794
5795
|
},
|
|
@@ -5796,7 +5797,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5796
5797
|
id: "blues",
|
|
5797
5798
|
plainName: "Shades of Blue",
|
|
5798
5799
|
kind: "sequential",
|
|
5799
|
-
colors:
|
|
5800
|
+
colors: on,
|
|
5800
5801
|
capacity: null,
|
|
5801
5802
|
colorblindSafe: E
|
|
5802
5803
|
},
|
|
@@ -5804,7 +5805,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5804
5805
|
id: "greens",
|
|
5805
5806
|
plainName: "Shades of Green",
|
|
5806
5807
|
kind: "sequential",
|
|
5807
|
-
colors:
|
|
5808
|
+
colors: rn,
|
|
5808
5809
|
capacity: null,
|
|
5809
5810
|
colorblindSafe: []
|
|
5810
5811
|
},
|
|
@@ -5812,7 +5813,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5812
5813
|
id: "oranges",
|
|
5813
5814
|
plainName: "Shades of Orange",
|
|
5814
5815
|
kind: "sequential",
|
|
5815
|
-
colors:
|
|
5816
|
+
colors: cn,
|
|
5816
5817
|
capacity: null,
|
|
5817
5818
|
colorblindSafe: []
|
|
5818
5819
|
},
|
|
@@ -5860,7 +5861,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5860
5861
|
id: "purple-green",
|
|
5861
5862
|
plainName: "Purple to Green",
|
|
5862
5863
|
kind: "diverging",
|
|
5863
|
-
colors:
|
|
5864
|
+
colors: ln,
|
|
5864
5865
|
capacity: null,
|
|
5865
5866
|
colorblindSafe: E
|
|
5866
5867
|
},
|
|
@@ -5868,7 +5869,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5868
5869
|
id: "blue-orange",
|
|
5869
5870
|
plainName: "Blue to Orange",
|
|
5870
5871
|
kind: "diverging",
|
|
5871
|
-
colors:
|
|
5872
|
+
colors: dn,
|
|
5872
5873
|
capacity: null,
|
|
5873
5874
|
colorblindSafe: E
|
|
5874
5875
|
},
|
|
@@ -5876,7 +5877,7 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5876
5877
|
id: "red-blue",
|
|
5877
5878
|
plainName: "Red to Blue",
|
|
5878
5879
|
kind: "diverging",
|
|
5879
|
-
colors:
|
|
5880
|
+
colors: hn,
|
|
5880
5881
|
capacity: null,
|
|
5881
5882
|
colorblindSafe: []
|
|
5882
5883
|
},
|
|
@@ -5905,14 +5906,14 @@ const E = ["deuteranopia", "protanopia", "tritanopia"], Wt = Object.freeze([
|
|
|
5905
5906
|
colorblindSafe: E
|
|
5906
5907
|
}
|
|
5907
5908
|
]);
|
|
5908
|
-
function ms(r) {
|
|
5909
|
-
return Wt.find((e) => e.id === r) ?? Ra(r);
|
|
5910
|
-
}
|
|
5911
5909
|
function ps(r) {
|
|
5910
|
+
return Wt.find((e) => e.id === r) ?? Ta(r);
|
|
5911
|
+
}
|
|
5912
|
+
function gs(r) {
|
|
5912
5913
|
const e = Wt.filter((n) => n.kind === r), t = ta().filter((n) => n.kind === r);
|
|
5913
5914
|
return t.length === 0 ? e : [...e, ...t];
|
|
5914
5915
|
}
|
|
5915
|
-
function
|
|
5916
|
+
function fs() {
|
|
5916
5917
|
return [...Wt, ...ta()].map((r) => String(r.id));
|
|
5917
5918
|
}
|
|
5918
5919
|
const G = {
|
|
@@ -6018,10 +6019,10 @@ const na = [
|
|
|
6018
6019
|
options: []
|
|
6019
6020
|
}
|
|
6020
6021
|
];
|
|
6021
|
-
function
|
|
6022
|
+
function ys(r) {
|
|
6022
6023
|
return na.find((e) => e.name === r);
|
|
6023
6024
|
}
|
|
6024
|
-
function
|
|
6025
|
+
function bs(r) {
|
|
6025
6026
|
return na.filter((e) => e.domainKind === r);
|
|
6026
6027
|
}
|
|
6027
6028
|
export {
|
|
@@ -6037,7 +6038,7 @@ export {
|
|
|
6037
6038
|
je as I,
|
|
6038
6039
|
Ye as J,
|
|
6039
6040
|
lt as K,
|
|
6040
|
-
|
|
6041
|
+
Yi as L,
|
|
6041
6042
|
dt as M,
|
|
6042
6043
|
ht as N,
|
|
6043
6044
|
_e as O,
|
|
@@ -6046,36 +6047,36 @@ export {
|
|
|
6046
6047
|
mt as R,
|
|
6047
6048
|
na as S,
|
|
6048
6049
|
He as T,
|
|
6049
|
-
|
|
6050
|
+
ds as U,
|
|
6050
6051
|
Pe as V,
|
|
6051
6052
|
Ke as W,
|
|
6052
6053
|
Ge as X,
|
|
6053
6054
|
tt as Y,
|
|
6054
6055
|
Ae as Z,
|
|
6055
6056
|
et as _,
|
|
6056
|
-
|
|
6057
|
+
Pt as a,
|
|
6057
6058
|
Xe as a0,
|
|
6058
6059
|
Je as a1,
|
|
6059
6060
|
Ft as a2,
|
|
6060
|
-
|
|
6061
|
-
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6061
|
+
un as a3,
|
|
6062
|
+
cs as b,
|
|
6063
|
+
ls as c,
|
|
6064
|
+
us as d,
|
|
6065
|
+
ms as e,
|
|
6066
|
+
gs as f,
|
|
6067
|
+
bs as g,
|
|
6067
6068
|
ft as h,
|
|
6068
6069
|
pt as i,
|
|
6069
6070
|
bt as j,
|
|
6070
|
-
|
|
6071
|
-
|
|
6071
|
+
fs as k,
|
|
6072
|
+
hs as l,
|
|
6072
6073
|
yt as m,
|
|
6073
6074
|
ut as n,
|
|
6074
6075
|
gt as o,
|
|
6075
|
-
|
|
6076
|
+
ps as p,
|
|
6076
6077
|
nt as q,
|
|
6077
6078
|
it as r,
|
|
6078
|
-
|
|
6079
|
+
ys as s,
|
|
6079
6080
|
rt as t,
|
|
6080
6081
|
$e as u,
|
|
6081
6082
|
Ue as v,
|