@graphty/graphty-element 2.6.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/ai.js +3 -3
  2. package/dist/catalog.js +53 -54
  3. package/dist/chunks/{AiManager-4iQpsJW1.js → AiManager-Bhh0rR_p.js} +706 -655
  4. package/dist/chunks/GraphSession-DPoTaT3b.js +21175 -0
  5. package/dist/chunks/{GraphtyLogger-B_O67a6c.js → GraphtyLogger-BtcBJQPL.js} +1 -1
  6. package/dist/chunks/{VoiceInputAdapter-Cc6mHXTI.js → VoiceInputAdapter-CdLsJ_nG.js} +1 -1
  7. package/dist/chunks/{XRPivotCameraController-BLa89LXn.js → XRPivotCameraController-CiLJ9Gz6.js} +2 -2
  8. package/dist/chunks/algorithms-qij74zEN.js +6811 -0
  9. package/dist/chunks/{capability-check-Am2zliFj.js → capability-check-BbgTejS3.js} +1 -1
  10. package/dist/chunks/definePalette-BYt2Llxs.js +1333 -0
  11. package/dist/chunks/fields-5uVC1Pll.js +4999 -0
  12. package/dist/chunks/{format-detection-BHwrAVzW.js → format-detection-FKaDMshR.js} +1 -1
  13. package/dist/chunks/{index-BkBLbvui.js → index-Cc_6D9hV.js} +6034 -7127
  14. package/dist/chunks/interpolation-Dk206AhZ.js +105 -0
  15. package/dist/chunks/paletteRegistry-De3CGdst.js +357 -0
  16. package/dist/chunks/parse-SVp77JbE.js +669 -0
  17. package/dist/chunks/{pluginRegistry-Bs8bEkz9.js → pluginRegistry-Ddfl6Mv2.js} +27 -24
  18. package/dist/chunks/{registry-BdGvyZou.js → registry-CgMqldp4.js} +1 -1
  19. package/dist/chunks/{DataSource-BL2UzPff.js → sources-BbAJCDIH.js} +279 -108
  20. package/dist/commands.d.ts +128 -19
  21. package/dist/commands.js +49 -1
  22. package/dist/custom-elements.json +1 -1
  23. package/dist/extend.d.ts +10 -2
  24. package/dist/extend.js +64 -57
  25. package/dist/graphty-catalog.json +6 -3
  26. package/dist/graphty.bundle.js +267177 -240648
  27. package/dist/graphty.js +84 -78
  28. package/dist/index.d.ts +4 -0
  29. package/dist/logging.js +2 -2
  30. package/dist/schema.js +70 -71
  31. package/dist/session.d.ts +5 -6
  32. package/dist/session.js +40 -86
  33. package/dist/src/Edge.d.ts +31 -67
  34. package/dist/src/Graph.d.ts +335 -77
  35. package/dist/src/Node.d.ts +36 -3
  36. package/dist/src/NodeBehavior.d.ts +28 -0
  37. package/dist/src/Styles.d.ts +15 -4
  38. package/dist/src/acceleration/AccelerationController.d.ts +8 -0
  39. package/dist/src/acceleration/narrow.d.ts +9 -1
  40. package/dist/src/acceleration/types.d.ts +10 -0
  41. package/dist/src/ai/AiController.d.ts +12 -0
  42. package/dist/src/ai/AiManager.d.ts +7 -0
  43. package/dist/src/ai/commands/AlgorithmCommands.d.ts +1 -1
  44. package/dist/src/ai/commands/LayoutCommands.d.ts +1 -1
  45. package/dist/src/ai/commands/StyleCommands.d.ts +1 -1
  46. package/dist/src/ai/commands/types.d.ts +20 -1
  47. package/dist/src/algorithms/Algorithm.d.ts +21 -4
  48. package/dist/src/algorithms/BFSAlgorithm.d.ts +0 -9
  49. package/dist/src/algorithms/BellmanFordAlgorithm.d.ts +0 -14
  50. package/dist/src/algorithms/DFSAlgorithm.d.ts +1 -1
  51. package/dist/src/algorithms/FloydWarshallAlgorithm.d.ts +5 -0
  52. package/dist/src/algorithms/GirvanNewmanAlgorithm.d.ts +5 -0
  53. package/dist/src/algorithms/LeidenAlgorithm.d.ts +5 -0
  54. package/dist/src/algorithms/PageRankAlgorithm.d.ts +1 -1
  55. package/dist/src/algorithms/StronglyConnectedComponentsAlgorithm.d.ts +1 -1
  56. package/dist/src/algorithms/metrics/fields.d.ts +23 -1
  57. package/dist/src/algorithms/utils/graphUtils.d.ts +13 -1
  58. package/dist/src/catalog/paletteRegistry.d.ts +4 -4
  59. package/dist/src/catalog/registry.d.ts +3 -2
  60. package/dist/src/catalog/types.d.ts +18 -1
  61. package/dist/src/config/GraphStyle.d.ts +1 -1
  62. package/dist/src/config/StyleTemplate.d.ts +2 -2
  63. package/dist/src/config/xr-config-schema.d.ts +4 -4
  64. package/dist/src/data/CSVDataSource.d.ts +77 -22
  65. package/dist/src/data/ErrorAggregator.d.ts +5 -0
  66. package/dist/src/data/GEXFDataSource.d.ts +12 -61
  67. package/dist/src/data/GraphMLDataSource.d.ts +3 -44
  68. package/dist/src/data/GraphStore.d.ts +322 -15
  69. package/dist/src/data/JsonDataSource.d.ts +43 -1
  70. package/dist/src/data/graph-io-import.d.ts +89 -0
  71. package/dist/src/data/graph-io-records.d.ts +64 -0
  72. package/dist/src/data/lane.d.ts +23 -0
  73. package/dist/src/data/positions.d.ts +13 -0
  74. package/dist/src/data/seedPosition.d.ts +16 -0
  75. package/dist/src/errors/GraphtyError.d.ts +3 -1
  76. package/dist/src/errors/codes.d.ts +23 -0
  77. package/dist/src/events.d.ts +12 -0
  78. package/dist/src/graphty-element.d.ts +149 -54
  79. package/dist/src/input/types.d.ts +2 -0
  80. package/dist/src/layout/D3GraphLayoutEngine.d.ts +17 -3
  81. package/dist/src/layout/FixedLayoutEngine.d.ts +20 -4
  82. package/dist/src/layout/KamadaKawaiLayoutEngine.d.ts +6 -0
  83. package/dist/src/layout/LayoutEngine.d.ts +214 -116
  84. package/dist/src/layout/NGraphLayoutEngine.d.ts +10 -3
  85. package/dist/src/layout/SimulationLayoutEngine.d.ts +8 -3
  86. package/dist/src/managers/AlgorithmManager.d.ts +24 -5
  87. package/dist/src/managers/DataManager.d.ts +258 -181
  88. package/dist/src/managers/EventManager.d.ts +5 -2
  89. package/dist/src/managers/GraphContext.d.ts +7 -0
  90. package/dist/src/managers/InputManager.d.ts +11 -0
  91. package/dist/src/managers/LayoutManager.d.ts +129 -50
  92. package/dist/src/managers/RenderManager.d.ts +14 -1
  93. package/dist/src/managers/UpdateManager.d.ts +20 -0
  94. package/dist/src/screenshot/ScreenshotCapture.d.ts +1 -1
  95. package/dist/src/session/GraphSession.d.ts +83 -6
  96. package/dist/src/session/commands/algo.d.ts +169 -0
  97. package/dist/src/session/commands/config.d.ts +45 -0
  98. package/dist/src/session/commands/data.d.ts +178 -0
  99. package/dist/src/session/commands/doors.d.ts +93 -0
  100. package/dist/src/session/commands/index.d.ts +20 -0
  101. package/dist/src/session/commands/layout.d.ts +104 -0
  102. package/dist/src/session/commands/positions.d.ts +30 -0
  103. package/dist/src/session/commands/sets.d.ts +113 -0
  104. package/dist/src/session/commands/style.d.ts +92 -0
  105. package/dist/src/session/commands/view.d.ts +57 -0
  106. package/dist/src/session/commands/visibility.d.ts +41 -0
  107. package/dist/src/session/data.d.ts +131 -4
  108. package/dist/src/session/index.d.ts +1 -1
  109. package/dist/src/session/planning.d.ts +25 -8
  110. package/dist/src/session/project/Dispatcher.d.ts +905 -0
  111. package/dist/src/session/project/History.d.ts +382 -0
  112. package/dist/src/session/project/arrangement.d.ts +247 -0
  113. package/dist/src/session/project/derive.d.ts +132 -0
  114. package/dist/src/session/project/digest.d.ts +33 -0
  115. package/dist/src/session/project/draft.d.ts +194 -0
  116. package/dist/src/session/project/graphOps.d.ts +304 -0
  117. package/dist/src/session/project/ingest.d.ts +364 -0
  118. package/dist/src/session/project/state.d.ts +145 -0
  119. package/dist/src/session/project/strict.d.ts +68 -0
  120. package/dist/src/session/results/RunResult.d.ts +48 -0
  121. package/dist/src/session/results/statistics.d.ts +20 -0
  122. package/dist/src/session/runs/Run.d.ts +80 -4
  123. package/dist/src/session/runs/RunsApi.d.ts +23 -6
  124. package/dist/src/session/runs/types.d.ts +25 -6
  125. package/dist/src/session/scope/ElementMask.d.ts +14 -0
  126. package/dist/src/session/scope/ScopeApi.d.ts +3 -22
  127. package/dist/src/session/scope/spaces.d.ts +29 -0
  128. package/dist/src/session/sealed.d.ts +22 -0
  129. package/dist/src/session/selection/SelectionApi.d.ts +14 -4
  130. package/dist/src/session/sets/SetsApi.d.ts +13 -5
  131. package/dist/src/session/sets/store.d.ts +54 -53
  132. package/dist/src/session/sets/types.d.ts +5 -2
  133. package/dist/src/session/styles/Layer.d.ts +5 -0
  134. package/dist/src/session/styles/StylesApi.d.ts +68 -17
  135. package/dist/src/session/styles/autoApply.d.ts +64 -53
  136. package/dist/src/session/styles/index.d.ts +3 -3
  137. package/dist/src/session/styles/predicate.d.ts +7 -0
  138. package/dist/src/session/styles/repaint.d.ts +16 -1
  139. package/dist/src/session/styles/sources.d.ts +1 -1
  140. package/dist/src/session/types.d.ts +625 -54
  141. package/dist/src/session/visibility/VisibilityApi.d.ts +38 -18
  142. package/dist/src/session/visibility/filter.d.ts +10 -0
  143. package/dist/src/simple/defineAlgorithm.d.ts +28 -0
  144. package/dist/src/simple/defineLayout.d.ts +35 -0
  145. package/dist/src/simple/defineLogDestination.d.ts +31 -0
  146. package/dist/src/simple/definePalette.d.ts +26 -0
  147. package/dist/src/simple/definition.d.ts +106 -0
  148. package/dist/src/simple/options.d.ts +33 -0
  149. package/dist/src/simple/source.d.ts +49 -0
  150. package/dist/src/simple/types.d.ts +366 -0
  151. package/dist/src/simple/view.d.ts +107 -0
  152. package/dist/webgpu.js +2 -2
  153. package/package.json +10 -12
  154. package/dist/chunks/GraphSession-BhuHSXIo.js +0 -12819
  155. package/dist/chunks/GraphStyle-Cwr55SAE.js +0 -65
  156. package/dist/chunks/algorithms-BJ6DQMOe.js +0 -3777
  157. package/dist/chunks/detect-fyuVnlCT.js +0 -88
  158. package/dist/chunks/interpolation-DY-PNpqX.js +0 -43
  159. package/dist/chunks/optionsFromZod-CKMYSwTz.js +0 -3636
  160. package/dist/chunks/paletteRegistry-BCFSwJGK.js +0 -1196
  161. package/dist/chunks/parse-BMTqt4SS.js +0 -3658
  162. package/dist/src/data/csv-variant-detection.d.ts +0 -29
  163. package/dist/src/data/ingest.d.ts +0 -104
@@ -18,15 +18,31 @@ interface EdgeLine {
18
18
  interface EdgeOpts {
19
19
  metadata?: object;
20
20
  }
21
+ /**
22
+ * Move an edge to a row of the current snapshot. Only the data manager calls it, as an edge is
23
+ * added, removed or renumbered by a compacting freeze.
24
+ * @param edge - The edge.
25
+ * @param row - Its logical edge index, or INVALID_INDEX.
26
+ */
27
+ export declare function placeEdgeRow(edge: Edge, row: number): void;
28
+ /**
29
+ * Hand an edge the record the graph now holds for it. Only the data manager calls it, from the
30
+ * render half of the graph's derivation, when a command, an undo or a redo changed the record;
31
+ * no entry point exports it, so `edge.data` is always the graph's record.
32
+ * @param edge - The edge.
33
+ * @param record - The record.
34
+ */
35
+ export declare function adoptEdgeRecord(edge: Edge, record: AdHocData): void;
21
36
  /**
22
37
  * Represents a directed edge between two nodes in the graph visualization.
23
38
  * Handles rendering of edge lines, arrow heads/tails, and labels with support for various styles.
24
39
  */
25
40
  export declare class Edge {
41
+ #private;
26
42
  parentGraph: Graph | GraphContext;
27
43
  opts: EdgeOpts;
28
- srcId: NodeIdType;
29
- dstId: NodeIdType;
44
+ readonly srcId: NodeIdType;
45
+ readonly dstId: NodeIdType;
30
46
  /**
31
47
  * This edge's identity: the element-assigned counter the store stamped into its
32
48
  * `graphty.edgeId` column, printed as a string.
@@ -44,11 +60,19 @@ export declare class Edge {
44
60
  * Every Edge has one. An edge whose endpoint ids graph-format will not store is REJECTED
45
61
  * before a render object is built for it, so there is no such thing as an Edge with no row --
46
62
  * which is what makes `index` safe to read without a guard everywhere downstream.
63
+ * @returns The row.
47
64
  */
48
- index: number;
65
+ get index(): number;
66
+ private set index(value);
67
+ private row;
49
68
  dstNode: Node;
50
69
  srcNode: Node;
51
- data: AdHocData;
70
+ /**
71
+ * The record this edge carries, as the graph holds it: deep-frozen, so a write to it throws. A
72
+ * change goes through the graph (`updateNodes`, `session.data.updateNodes`, ...), which is what undo sees.
73
+ * @returns The record.
74
+ */
75
+ get data(): AdHocData;
52
76
  mesh: AbstractMesh | PatternedLineMesh;
53
77
  arrowMesh: AbstractMesh | null;
54
78
  arrowTailMesh: AbstractMesh | null;
@@ -137,11 +161,11 @@ export declare class Edge {
137
161
  /**
138
162
  * Where this edge sits among the edges sharing its ordered endpoint pair, counting from zero.
139
163
  *
140
- * Derived on every read from the data manager's edge cache rather than stored, so a removal
141
- * cannot leave it stale. Nothing draws with it yet -- two parallel edges still render as two
164
+ * Derived on every read from the graph store rather than stored, so a removal cannot leave it
165
+ * stale. Nothing draws with it yet -- two parallel edges still render as two
142
166
  * coincident lines -- but a style layer can read it, and the geometry work that eventually
143
167
  * separates parallel edges needs exactly this number.
144
- * @returns the rank, or -1 for an edge the cache no longer holds
168
+ * @returns the rank, or -1 for an edge the store no longer holds
145
169
  */
146
170
  get parallelRank(): number;
147
171
  /**
@@ -394,64 +418,4 @@ export declare class Edge {
394
418
  */
395
419
  private createArrowText;
396
420
  }
397
- /**
398
- * Every edge the graph holds, indexed by its ordered endpoint pair.
399
- *
400
- * The inner value is an ARRAY, not one edge: two edges between the same ordered pair are two
401
- * edges. This class used to throw `"Attempting to create duplicate Edge"` on the second one, which
402
- * is why the data manager carried two separate guards that dropped a repeated record before it
403
- * could reach here -- and those drops are what pinned `statistics().repeatedEdgeCount` at zero for
404
- * every multigraph the element has ever loaded.
405
- *
406
- * Ask {@link EdgeMap.first} when the question genuinely has one answer, and {@link EdgeMap.get}
407
- * otherwise. Neither ever returns undefined for the pair itself: an absent pair is an empty array.
408
- */
409
- export declare class EdgeMap {
410
- map: Map<NodeIdType, Map<NodeIdType, Edge[]>>;
411
- /**
412
- * Whether any edge runs between the specified source and destination nodes.
413
- * @param srcId - The source node ID
414
- * @param dstId - The destination node ID
415
- * @returns True when at least one edge exists, false otherwise
416
- */
417
- has(srcId: NodeIdType, dstId: NodeIdType): boolean;
418
- /**
419
- * Adds an edge to the map, alongside any edges already running between the same pair.
420
- * @param srcId - The source node ID
421
- * @param dstId - The destination node ID
422
- * @param e - The edge instance to store
423
- */
424
- set(srcId: NodeIdType, dstId: NodeIdType, e: Edge): void;
425
- /**
426
- * Every edge running from one node to another, in the order they were added.
427
- * @param srcId - The source node ID
428
- * @param dstId - The destination node ID
429
- * @returns The edges, which is an empty array when there are none
430
- */
431
- get(srcId: NodeIdType, dstId: NodeIdType): readonly Edge[];
432
- /**
433
- * The first edge running from one node to another, for a caller whose question has one answer.
434
- * @param srcId - The source node ID
435
- * @param dstId - The destination node ID
436
- * @returns The oldest edge between the pair, or undefined when there is none
437
- */
438
- first(srcId: NodeIdType, dstId: NodeIdType): Edge | undefined;
439
- /**
440
- * How many EDGES the map holds, which under parallel edges is more than the number of pairs.
441
- * @returns The total count of all edges
442
- */
443
- get size(): number;
444
- /**
445
- * Removes ONE edge from the map, leaving any other edges between the same pair alone.
446
- * @param srcId - The source node ID
447
- * @param dstId - The destination node ID
448
- * @param e - The edge to remove
449
- * @returns True if that edge was removed, false if the map did not hold it
450
- */
451
- delete(srcId: NodeIdType, dstId: NodeIdType, e: Edge): boolean;
452
- /**
453
- * Removes all edges from the map.
454
- */
455
- clear(): void;
456
- }
457
421
  export {};