@deck.gl-community/graph-layers 9.2.0-beta.2 → 9.2.0-beta.3

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 (232) hide show
  1. package/dist/core/graph-engine.d.ts +63 -21
  2. package/dist/core/graph-engine.d.ts.map +1 -1
  3. package/dist/core/graph-engine.js +155 -75
  4. package/dist/core/graph-engine.js.map +1 -1
  5. package/dist/core/graph-layout.d.ts +22 -18
  6. package/dist/core/graph-layout.d.ts.map +1 -1
  7. package/dist/core/graph-layout.js +33 -18
  8. package/dist/core/graph-layout.js.map +1 -1
  9. package/dist/core/interaction-manager.d.ts +2 -2
  10. package/dist/core/interaction-manager.d.ts.map +1 -1
  11. package/dist/core/interaction-manager.js +7 -5
  12. package/dist/core/interaction-manager.js.map +1 -1
  13. package/dist/graph/arrow-graph.d.ts +69 -0
  14. package/dist/graph/arrow-graph.d.ts.map +1 -0
  15. package/dist/graph/arrow-graph.js +513 -0
  16. package/dist/graph/arrow-graph.js.map +1 -0
  17. package/dist/graph/classic-graph.d.ts +169 -0
  18. package/dist/graph/classic-graph.d.ts.map +1 -0
  19. package/dist/graph/classic-graph.js +390 -0
  20. package/dist/graph/classic-graph.js.map +1 -0
  21. package/dist/graph/edge.d.ts +6 -6
  22. package/dist/graph/edge.d.ts.map +1 -1
  23. package/dist/graph/edge.js.map +1 -1
  24. package/dist/graph/functions/arrow-utils.d.ts +6 -0
  25. package/dist/graph/functions/arrow-utils.d.ts.map +1 -0
  26. package/dist/graph/functions/arrow-utils.js +67 -0
  27. package/dist/graph/functions/arrow-utils.js.map +1 -0
  28. package/dist/graph/functions/create-graph-from-data.d.ts +3 -0
  29. package/dist/graph/functions/create-graph-from-data.d.ts.map +1 -0
  30. package/dist/graph/functions/create-graph-from-data.js +12 -0
  31. package/dist/graph/functions/create-graph-from-data.js.map +1 -0
  32. package/dist/graph/graph-normalization.d.ts +10 -0
  33. package/dist/graph/graph-normalization.d.ts.map +1 -0
  34. package/dist/graph/graph-normalization.js +65 -0
  35. package/dist/graph/graph-normalization.js.map +1 -0
  36. package/dist/graph/graph.d.ts +62 -155
  37. package/dist/graph/graph.d.ts.map +1 -1
  38. package/dist/graph/graph.js +11 -300
  39. package/dist/graph/graph.js.map +1 -1
  40. package/dist/graph/node.d.ts +6 -6
  41. package/dist/graph/node.d.ts.map +1 -1
  42. package/dist/graph/node.js +2 -2
  43. package/dist/graph/node.js.map +1 -1
  44. package/dist/graph-data/arrow-graph-data-builder.d.ts +21 -0
  45. package/dist/graph-data/arrow-graph-data-builder.d.ts.map +1 -0
  46. package/dist/graph-data/arrow-graph-data-builder.js +105 -0
  47. package/dist/graph-data/arrow-graph-data-builder.js.map +1 -0
  48. package/dist/graph-data/graph-data-builder.d.ts +6 -0
  49. package/dist/graph-data/graph-data-builder.d.ts.map +1 -0
  50. package/dist/graph-data/graph-data-builder.js +1 -0
  51. package/dist/graph-data/graph-data-builder.js.map +1 -0
  52. package/dist/graph-data/graph-data.d.ts +40 -0
  53. package/dist/graph-data/graph-data.d.ts.map +1 -0
  54. package/dist/graph-data/graph-data.js +11 -0
  55. package/dist/graph-data/graph-data.js.map +1 -0
  56. package/dist/graph-data/plain-graph-data-builder.d.ts +20 -0
  57. package/dist/graph-data/plain-graph-data-builder.d.ts.map +1 -0
  58. package/dist/graph-data/plain-graph-data-builder.js +105 -0
  59. package/dist/graph-data/plain-graph-data-builder.js.map +1 -0
  60. package/dist/graph-style-schema.cdn.js +1 -1
  61. package/dist/graph-style-schema.json +1 -1
  62. package/dist/index.cjs +6905 -4576
  63. package/dist/index.cjs.map +4 -4
  64. package/dist/index.d.ts +14 -7
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +24 -11
  67. package/dist/index.js.map +1 -1
  68. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.d.ts.map +1 -1
  69. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js +1 -2
  70. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js.map +1 -1
  71. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts +83 -0
  72. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts.map +1 -0
  73. package/dist/layers/common-layers/grid-layer/grid-layer.js +133 -0
  74. package/dist/layers/common-layers/grid-layer/grid-layer.js.map +1 -0
  75. package/dist/layers/edge-attachment-helper.d.ts.map +1 -1
  76. package/dist/layers/edge-attachment-helper.js +1 -2
  77. package/dist/layers/edge-attachment-helper.js.map +1 -1
  78. package/dist/layers/graph-layer.d.ts +68 -11
  79. package/dist/layers/graph-layer.d.ts.map +1 -1
  80. package/dist/layers/graph-layer.js +435 -50
  81. package/dist/layers/graph-layer.js.map +1 -1
  82. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts +24 -0
  83. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts.map +1 -0
  84. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js +251 -0
  85. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js.map +1 -0
  86. package/dist/layouts/d3-dag/d3-dag-layout.d.ts +46 -61
  87. package/dist/layouts/d3-dag/d3-dag-layout.d.ts.map +1 -1
  88. package/dist/layouts/d3-dag/d3-dag-layout.js +85 -270
  89. package/dist/layouts/d3-dag/d3-dag-layout.js.map +1 -1
  90. package/dist/layouts/d3-force/d3-force-layout.d.ts +20 -8
  91. package/dist/layouts/d3-force/d3-force-layout.d.ts.map +1 -1
  92. package/dist/layouts/d3-force/d3-force-layout.js +39 -20
  93. package/dist/layouts/d3-force/d3-force-layout.js.map +1 -1
  94. package/dist/layouts/experimental/force-multi-graph-layout.d.ts +19 -15
  95. package/dist/layouts/experimental/force-multi-graph-layout.d.ts.map +1 -1
  96. package/dist/layouts/experimental/force-multi-graph-layout.js +47 -38
  97. package/dist/layouts/experimental/force-multi-graph-layout.js.map +1 -1
  98. package/dist/layouts/experimental/hive-plot-layout.d.ts +18 -15
  99. package/dist/layouts/experimental/hive-plot-layout.d.ts.map +1 -1
  100. package/dist/layouts/experimental/hive-plot-layout.js +33 -34
  101. package/dist/layouts/experimental/hive-plot-layout.js.map +1 -1
  102. package/dist/layouts/experimental/radial-layout.d.ts +12 -7
  103. package/dist/layouts/experimental/radial-layout.d.ts.map +1 -1
  104. package/dist/layouts/experimental/radial-layout.js +31 -14
  105. package/dist/layouts/experimental/radial-layout.js.map +1 -1
  106. package/dist/layouts/gpu-force/gpu-force-layout.d.ts +11 -8
  107. package/dist/layouts/gpu-force/gpu-force-layout.d.ts.map +1 -1
  108. package/dist/layouts/gpu-force/gpu-force-layout.js +59 -56
  109. package/dist/layouts/gpu-force/gpu-force-layout.js.map +1 -1
  110. package/dist/layouts/simple-layout.d.ts +8 -25
  111. package/dist/layouts/simple-layout.d.ts.map +1 -1
  112. package/dist/layouts/simple-layout.js +13 -17
  113. package/dist/layouts/simple-layout.js.map +1 -1
  114. package/dist/loaders/dot-graph-loader.d.ts +25 -0
  115. package/dist/loaders/dot-graph-loader.d.ts.map +1 -0
  116. package/dist/loaders/dot-graph-loader.js +668 -0
  117. package/dist/loaders/dot-graph-loader.js.map +1 -0
  118. package/dist/loaders/json-graph-loader.d.ts +6 -0
  119. package/dist/loaders/json-graph-loader.d.ts.map +1 -0
  120. package/dist/loaders/json-graph-loader.js +31 -0
  121. package/dist/loaders/json-graph-loader.js.map +1 -0
  122. package/dist/loaders/{edge-parsers.d.ts → parsers/edge-parsers.d.ts} +1 -1
  123. package/dist/loaders/parsers/edge-parsers.d.ts.map +1 -0
  124. package/dist/loaders/{edge-parsers.js → parsers/edge-parsers.js} +1 -1
  125. package/dist/loaders/parsers/edge-parsers.js.map +1 -0
  126. package/dist/loaders/{node-parsers.d.ts → parsers/node-parsers.d.ts} +1 -1
  127. package/dist/loaders/parsers/node-parsers.d.ts.map +1 -0
  128. package/dist/loaders/{node-parsers.js → parsers/node-parsers.js} +1 -1
  129. package/dist/loaders/parsers/node-parsers.js.map +1 -0
  130. package/dist/loaders/parsers/parse-json-graph.d.ts +29 -0
  131. package/dist/loaders/parsers/parse-json-graph.d.ts.map +1 -0
  132. package/dist/loaders/parsers/parse-json-graph.js +78 -0
  133. package/dist/loaders/parsers/parse-json-graph.js.map +1 -0
  134. package/dist/style/graph-style-engine.d.ts +4 -2
  135. package/dist/style/graph-style-engine.d.ts.map +1 -1
  136. package/dist/style/graph-style-engine.js +3 -2
  137. package/dist/style/graph-style-engine.js.map +1 -1
  138. package/dist/style/{style-engine.d.ts → stylesheet-engine.d.ts} +3 -3
  139. package/dist/style/stylesheet-engine.d.ts.map +1 -0
  140. package/dist/style/{style-engine.js → stylesheet-engine.js} +1 -1
  141. package/dist/style/stylesheet-engine.js.map +1 -0
  142. package/dist/utils/collapsed-chains.d.ts +8 -8
  143. package/dist/utils/collapsed-chains.d.ts.map +1 -1
  144. package/dist/utils/collapsed-chains.js +1 -6
  145. package/dist/utils/collapsed-chains.js.map +1 -1
  146. package/dist/utils/rank-grid.d.ts +30 -0
  147. package/dist/utils/rank-grid.d.ts.map +1 -0
  148. package/dist/utils/rank-grid.js +306 -0
  149. package/dist/utils/rank-grid.js.map +1 -0
  150. package/package.json +4 -8
  151. package/src/_disabled/arrow-graph-data.ts.disabled +18 -0
  152. package/src/_disabled/columnar-graph-data-builder.ts.disabled +250 -0
  153. package/src/_disabled/graph-runtime-layout.ts.disabled +29 -0
  154. package/src/core/graph-engine.ts +201 -84
  155. package/src/core/graph-layout.ts +52 -29
  156. package/src/core/interaction-manager.ts +20 -20
  157. package/src/graph/arrow-graph.ts +648 -0
  158. package/src/graph/classic-graph.ts +447 -0
  159. package/src/graph/edge.ts +7 -7
  160. package/src/graph/functions/arrow-utils.ts +72 -0
  161. package/src/graph/functions/convert-arrow-graph-to-classic-graph.ts.disabled +47 -0
  162. package/src/graph/functions/convert-plain-graph-to-arrow-graph.ts.disabled +119 -0
  163. package/src/graph/functions/create-graph-from-data.ts +16 -0
  164. package/src/graph/functions/create-plain-graph-from-data.ts.disabled +176 -0
  165. package/src/graph/graph-normalization.ts +87 -0
  166. package/src/graph/graph.ts +68 -339
  167. package/src/graph/node.ts +9 -9
  168. package/src/graph/tabular-graph.ts.disabled +761 -0
  169. package/src/graph-data/arrow-graph-data-builder.ts +165 -0
  170. package/src/graph-data/graph-data-builder.ts +7 -0
  171. package/src/graph-data/graph-data.ts +57 -0
  172. package/src/graph-data/plain-graph-data-builder.ts +132 -0
  173. package/src/index.ts +53 -13
  174. package/src/layers/common-layers/flow-path-layer/flow-path-layer.ts +1 -2
  175. package/src/layers/common-layers/grid-layer/grid-layer.ts +237 -0
  176. package/src/layers/edge-attachment-helper.ts +22 -16
  177. package/src/layers/graph-layer.ts +642 -62
  178. package/src/layouts/d3-dag/collapsable-d3-dag-layout.ts +330 -0
  179. package/src/layouts/d3-dag/d3-dag-layout.ts +166 -396
  180. package/src/layouts/d3-force/d3-force-layout.ts +52 -30
  181. package/src/layouts/experimental/force-multi-graph-layout.ts +55 -49
  182. package/src/layouts/experimental/hive-plot-layout.ts +41 -42
  183. package/src/layouts/experimental/radial-layout.ts +39 -20
  184. package/src/layouts/gpu-force/gpu-force-layout.ts +72 -70
  185. package/src/layouts/simple-layout.ts +20 -44
  186. package/src/loaders/{create-graph.ts → deprecated/create-graph.ts.disabled} +6 -6
  187. package/src/loaders/deprecated/json-classic-graph-loader.ts.disabled +33 -0
  188. package/src/loaders/{simple-json-graph-loader.ts → deprecated/simple-json-graph-loader.ts.disabled} +3 -3
  189. package/src/loaders/{table-graph-loader.ts → deprecated/table-graph-loader.ts.disabled} +8 -8
  190. package/src/loaders/dot-graph-loader.ts +860 -0
  191. package/src/loaders/json-graph-loader.ts +48 -0
  192. package/src/loaders/parsers/create-graph-data.ts.disabled +45 -0
  193. package/src/loaders/{edge-parsers.ts → parsers/edge-parsers.ts} +2 -2
  194. package/src/loaders/{node-parsers.ts → parsers/node-parsers.ts} +2 -2
  195. package/src/loaders/parsers/parse-json-graph.ts +134 -0
  196. package/src/style/graph-style-engine.ts +5 -2
  197. package/src/style/{style-engine.ts → stylesheet-engine.ts} +3 -3
  198. package/src/utils/collapsed-chains.ts +11 -17
  199. package/src/utils/rank-grid.ts +426 -0
  200. package/dist/loaders/create-graph.d.ts +0 -12
  201. package/dist/loaders/create-graph.d.ts.map +0 -1
  202. package/dist/loaders/create-graph.js +0 -38
  203. package/dist/loaders/create-graph.js.map +0 -1
  204. package/dist/loaders/edge-parsers.d.ts.map +0 -1
  205. package/dist/loaders/edge-parsers.js.map +0 -1
  206. package/dist/loaders/json-loader.d.ts +0 -7
  207. package/dist/loaders/json-loader.d.ts.map +0 -1
  208. package/dist/loaders/json-loader.js +0 -16
  209. package/dist/loaders/json-loader.js.map +0 -1
  210. package/dist/loaders/node-parsers.d.ts.map +0 -1
  211. package/dist/loaders/node-parsers.js.map +0 -1
  212. package/dist/loaders/simple-json-graph-loader.d.ts +0 -11
  213. package/dist/loaders/simple-json-graph-loader.d.ts.map +0 -1
  214. package/dist/loaders/simple-json-graph-loader.js +0 -20
  215. package/dist/loaders/simple-json-graph-loader.js.map +0 -1
  216. package/dist/loaders/table-graph-loader.d.ts +0 -16
  217. package/dist/loaders/table-graph-loader.d.ts.map +0 -1
  218. package/dist/loaders/table-graph-loader.js +0 -91
  219. package/dist/loaders/table-graph-loader.js.map +0 -1
  220. package/dist/style/style-engine.d.ts.map +0 -1
  221. package/dist/style/style-engine.js.map +0 -1
  222. package/dist/widgets/long-press-button.d.ts +0 -12
  223. package/dist/widgets/long-press-button.d.ts.map +0 -1
  224. package/dist/widgets/long-press-button.js +0 -31
  225. package/dist/widgets/long-press-button.js.map +0 -1
  226. package/dist/widgets/view-control-widget.d.ts +0 -77
  227. package/dist/widgets/view-control-widget.d.ts.map +0 -1
  228. package/dist/widgets/view-control-widget.js +0 -197
  229. package/dist/widgets/view-control-widget.js.map +0 -1
  230. package/src/loaders/json-loader.ts +0 -19
  231. package/src/widgets/long-press-button.tsx +0 -50
  232. package/src/widgets/view-control-widget.tsx +0 -339
@@ -1 +1 @@
1
- {"version":3,"file":"graph-layer.js","sourceRoot":"","sources":["../../src/layers/graph-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-layer.js","sourceRoot":"","sources":["../../src/layers/graph-layer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Graph } from '../../graph/graph';
2
+ import { D3DagLayout, type D3DagLayoutProps } from './d3-dag-layout';
3
+ export type CollapsableD3DagLayoutProps = D3DagLayoutProps & {
4
+ /** Whether to collapse linear chains of nodes into a single representative. */
5
+ collapseLinearChains?: boolean;
6
+ };
7
+ export declare class CollapsableD3DagLayout extends D3DagLayout<CollapsableD3DagLayoutProps> {
8
+ static defaultProps: Required<CollapsableD3DagLayoutProps>;
9
+ private _chainDescriptors;
10
+ private _nodeToChainId;
11
+ private _collapsedChainState;
12
+ private _hiddenNodeIds;
13
+ constructor(props?: CollapsableD3DagLayoutProps);
14
+ setProps(props: Partial<CollapsableD3DagLayoutProps>): void;
15
+ updateGraph(graph: Graph): void;
16
+ toggleCollapsedChain(chainId: string): void;
17
+ setCollapsedChains(chainIds: Iterable<string>): void;
18
+ protected _refreshCollapsedChains(): void;
19
+ protected _updateCollapsedChainNodeMetadata(): void;
20
+ protected _shouldSkipNode(nodeId: string | number): boolean;
21
+ protected _mapNodeId(nodeId: string | number): string | number;
22
+ private _createChainId;
23
+ private _isChainCollapsed;
24
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsable-d3-dag-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-dag/collapsable-d3-dag-layout.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,KAAK,EAA+B,6BAA0B;AAG3E,OAAO,EAAC,WAAW,EAAE,KAAK,gBAAgB,EAAC,2BAAwB;AASnE,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAC3D,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAA;AAED,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,2BAA2B,CAAC;IAClF,OAAgB,YAAY,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAGlE;IAED,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,cAAc,CAA8B;gBAExC,KAAK,GAAE,2BAAgC;IAI1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAO3D,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAO/B,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA6B3C,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;cAkC1C,uBAAuB,IAAI,IAAI;cAoJ/B,iCAAiC,IAAI,IAAI;cAwCzC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;cAIjD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAcvE,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;CAI1B"}
@@ -0,0 +1,251 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { log } from '../../utils/log';
5
+ import { D3DagLayout } from './d3-dag-layout';
6
+ export class CollapsableD3DagLayout extends D3DagLayout {
7
+ static defaultProps = {
8
+ ...D3DagLayout.defaultProps,
9
+ collapseLinearChains: false
10
+ };
11
+ _chainDescriptors = new Map();
12
+ _nodeToChainId = new Map();
13
+ _collapsedChainState = new Map();
14
+ _hiddenNodeIds = new Set();
15
+ constructor(props = {}) {
16
+ super(props, CollapsableD3DagLayout.defaultProps);
17
+ }
18
+ setProps(props) {
19
+ super.setProps(props);
20
+ if (props.collapseLinearChains !== undefined && this._graph) {
21
+ this._runLayout();
22
+ }
23
+ }
24
+ updateGraph(graph) {
25
+ super.updateGraph(graph);
26
+ this._chainDescriptors.clear();
27
+ this._nodeToChainId.clear();
28
+ this._hiddenNodeIds.clear();
29
+ }
30
+ toggleCollapsedChain(chainId) {
31
+ if (!this._graph) {
32
+ log.log(1, `CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) ignored (no graph)`);
33
+ return;
34
+ }
35
+ if (!this._chainDescriptors.has(chainId)) {
36
+ this._refreshCollapsedChains();
37
+ }
38
+ if (!this._chainDescriptors.has(chainId)) {
39
+ log.log(1, `CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) skipped (unknown chain)`);
40
+ return;
41
+ }
42
+ const collapsed = this._isChainCollapsed(chainId);
43
+ const nextState = !collapsed;
44
+ log.log(0, `CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) -> ${nextState ? 'collapsed' : 'expanded'}`);
45
+ // eslint-disable-next-line no-console
46
+ console.log(`CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) -> ${nextState ? 'collapsed' : 'expanded'}`);
47
+ this._collapsedChainState.set(chainId, nextState);
48
+ this._runLayout();
49
+ }
50
+ setCollapsedChains(chainIds) {
51
+ if (!this._graph) {
52
+ log.log(1, 'CollapsableD3DagLayout: setCollapsedChains ignored (no graph)');
53
+ return;
54
+ }
55
+ if (!this._chainDescriptors.size) {
56
+ this._refreshCollapsedChains();
57
+ }
58
+ const desired = new Set(chainIds);
59
+ log.log(0, `CollapsableD3DagLayout: setCollapsedChains(${desired.size}) requested`);
60
+ let changed = false;
61
+ for (const chainId of this._chainDescriptors.keys()) {
62
+ const next = desired.has(chainId);
63
+ if (this._isChainCollapsed(chainId) !== next) {
64
+ this._collapsedChainState.set(chainId, next);
65
+ changed = true;
66
+ }
67
+ }
68
+ if (changed) {
69
+ log.log(0, 'CollapsableD3DagLayout: setCollapsedChains -> changes detected, rerunning layout');
70
+ // eslint-disable-next-line no-console
71
+ console.log('CollapsableD3DagLayout: setCollapsedChains -> changes detected, rerunning layout');
72
+ this._runLayout();
73
+ }
74
+ else {
75
+ log.log(1, 'CollapsableD3DagLayout: setCollapsedChains -> no changes');
76
+ // eslint-disable-next-line no-console
77
+ console.log('CollapsableD3DagLayout: setCollapsedChains -> no changes');
78
+ }
79
+ }
80
+ _refreshCollapsedChains() {
81
+ const previousChainCount = this._chainDescriptors.size;
82
+ if (!this._graph) {
83
+ if (previousChainCount > 0) {
84
+ log.log(0, 'CollapsableD3DagLayout: clearing collapsed chains (graph unavailable)');
85
+ // eslint-disable-next-line no-console
86
+ console.log('CollapsableD3DagLayout: clearing collapsed chains (graph unavailable)');
87
+ }
88
+ this._chainDescriptors.clear();
89
+ this._nodeToChainId.clear();
90
+ this._hiddenNodeIds.clear();
91
+ this._updateCollapsedChainNodeMetadata();
92
+ return;
93
+ }
94
+ log.log(0, `CollapsableD3DagLayout: refreshing collapsed chains (previous=${previousChainCount})`);
95
+ // eslint-disable-next-line no-console
96
+ console.log(`CollapsableD3DagLayout: refreshing collapsed chains (previous=${previousChainCount})`);
97
+ const collapseDefault = this.props.collapseLinearChains;
98
+ const previousStates = new Map(this._collapsedChainState);
99
+ this._chainDescriptors.clear();
100
+ this._nodeToChainId.clear();
101
+ this._hiddenNodeIds.clear();
102
+ const nodes = this._graph.getNodes();
103
+ const candidateNodes = new Set();
104
+ const incomingCache = new Map();
105
+ const outgoingCache = new Map();
106
+ for (const node of nodes) {
107
+ const incoming = this._getIncomingEdges(node);
108
+ const outgoing = this._getOutgoingEdges(node);
109
+ incomingCache.set(node.getId(), incoming);
110
+ outgoingCache.set(node.getId(), outgoing);
111
+ if (incoming.length <= 1 && outgoing.length <= 1 && incoming.length + outgoing.length > 0) {
112
+ candidateNodes.add(node.getId());
113
+ }
114
+ }
115
+ const visited = new Set();
116
+ for (const node of nodes) {
117
+ const nodeId = node.getId();
118
+ if (!candidateNodes.has(nodeId) || visited.has(nodeId)) {
119
+ continue;
120
+ }
121
+ const incoming = incomingCache.get(nodeId) ?? [];
122
+ const hasCandidateParent = incoming.length === 1 && candidateNodes.has(incoming[0].getSourceNodeId());
123
+ if (hasCandidateParent) {
124
+ continue;
125
+ }
126
+ const chainNodeIds = [];
127
+ const chainEdgeIds = [];
128
+ let currentNode = node;
129
+ while (currentNode) {
130
+ const currentId = currentNode.getId();
131
+ if (!candidateNodes.has(currentId) || visited.has(currentId)) {
132
+ break;
133
+ }
134
+ visited.add(currentId);
135
+ chainNodeIds.push(currentId);
136
+ const outgoing = outgoingCache.get(currentId) ?? [];
137
+ if (outgoing.length !== 1) {
138
+ break;
139
+ }
140
+ const nextEdge = outgoing[0];
141
+ const nextNodeId = nextEdge.getTargetNodeId();
142
+ if (!candidateNodes.has(nextNodeId)) {
143
+ break;
144
+ }
145
+ const nextIncoming = incomingCache.get(nextNodeId) ?? [];
146
+ if (nextIncoming.length !== 1) {
147
+ break;
148
+ }
149
+ chainEdgeIds.push(nextEdge.getId());
150
+ currentNode = this._nodeLookup.get(nextNodeId);
151
+ }
152
+ if (chainNodeIds.length > 1) {
153
+ const chainId = this._createChainId(chainNodeIds);
154
+ const collapsed = previousStates.has(chainId)
155
+ ? Boolean(previousStates.get(chainId))
156
+ : collapseDefault;
157
+ this._chainDescriptors.set(chainId, {
158
+ id: chainId,
159
+ nodeIds: chainNodeIds,
160
+ edgeIds: chainEdgeIds,
161
+ representativeId: chainNodeIds[0]
162
+ });
163
+ this._collapsedChainState.set(chainId, collapsed);
164
+ for (const chainNodeId of chainNodeIds) {
165
+ this._nodeToChainId.set(chainNodeId, chainId);
166
+ }
167
+ }
168
+ }
169
+ for (const key of previousStates.keys()) {
170
+ if (!this._chainDescriptors.has(key)) {
171
+ this._collapsedChainState.delete(key);
172
+ }
173
+ }
174
+ this._hiddenNodeIds.clear();
175
+ for (const [chainId, descriptor] of this._chainDescriptors) {
176
+ const collapsed = this._isChainCollapsed(chainId);
177
+ if (collapsed) {
178
+ for (const nodeId of descriptor.nodeIds) {
179
+ // eslint-disable-next-line max-depth
180
+ if (nodeId !== descriptor.representativeId) {
181
+ this._hiddenNodeIds.add(nodeId);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ this._updateCollapsedChainNodeMetadata();
187
+ let collapsedCount = 0;
188
+ for (const chainId of this._chainDescriptors.keys()) {
189
+ if (this._isChainCollapsed(chainId)) {
190
+ collapsedCount++;
191
+ }
192
+ }
193
+ log.log(0, `CollapsableD3DagLayout: refreshed collapsed chains -> total=${this._chainDescriptors.size}, collapsed=${collapsedCount}`);
194
+ }
195
+ _updateCollapsedChainNodeMetadata() {
196
+ if (!this._graph) {
197
+ return;
198
+ }
199
+ for (const node of this._graph.getNodes()) {
200
+ const nodeId = node.getId();
201
+ const chainId = this._nodeToChainId.get(nodeId);
202
+ if (!chainId) {
203
+ node.setDataProperty('collapsedChainId', null);
204
+ node.setDataProperty('collapsedChainLength', 1);
205
+ node.setDataProperty('collapsedNodeIds', []);
206
+ node.setDataProperty('collapsedEdgeIds', []);
207
+ node.setDataProperty('collapsedChainRepresentativeId', null);
208
+ node.setDataProperty('isCollapsedChain', false);
209
+ continue;
210
+ }
211
+ const descriptor = this._chainDescriptors.get(chainId);
212
+ if (!descriptor) {
213
+ node.setDataProperty('collapsedChainId', null);
214
+ node.setDataProperty('collapsedChainLength', 1);
215
+ node.setDataProperty('collapsedNodeIds', []);
216
+ node.setDataProperty('collapsedEdgeIds', []);
217
+ node.setDataProperty('collapsedChainRepresentativeId', null);
218
+ node.setDataProperty('isCollapsedChain', false);
219
+ continue;
220
+ }
221
+ const collapsed = this._isChainCollapsed(chainId);
222
+ node.setDataProperty('collapsedChainId', chainId);
223
+ node.setDataProperty('collapsedChainLength', collapsed ? descriptor.nodeIds.length : 1);
224
+ node.setDataProperty('collapsedNodeIds', descriptor.nodeIds);
225
+ node.setDataProperty('collapsedEdgeIds', descriptor.edgeIds);
226
+ node.setDataProperty('collapsedChainRepresentativeId', descriptor.representativeId);
227
+ node.setDataProperty('isCollapsedChain', collapsed);
228
+ }
229
+ }
230
+ _shouldSkipNode(nodeId) {
231
+ return this._hiddenNodeIds.has(nodeId);
232
+ }
233
+ _mapNodeId(nodeId) {
234
+ const chainId = this._nodeToChainId.get(nodeId);
235
+ if (!chainId) {
236
+ return nodeId;
237
+ }
238
+ const descriptor = this._chainDescriptors.get(chainId);
239
+ if (!descriptor) {
240
+ return nodeId;
241
+ }
242
+ return this._isChainCollapsed(chainId) ? descriptor.representativeId : nodeId;
243
+ }
244
+ _createChainId(nodeIds) {
245
+ return `chain:${nodeIds.map((id) => this._toDagId(id)).join('>')}`;
246
+ }
247
+ _isChainCollapsed(chainId) {
248
+ const collapseDefault = this.props.collapseLinearChains;
249
+ return this._collapsedChainState.get(chainId) ?? collapseDefault;
250
+ }
251
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsable-d3-dag-layout.js","sourceRoot":"","sources":["../../../src/layouts/d3-dag/collapsable-d3-dag-layout.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,50 @@
1
1
  import { GraphLayout, GraphLayoutProps } from '../../core/graph-layout';
2
- import type { Graph } from '../../graph/graph';
3
- import { Node } from '../../graph/node';
4
- import { Edge } from '../../graph/edge';
2
+ import type { Graph, NodeInterface, EdgeInterface } from '../../graph/graph';
5
3
  import { coordCenter, coordGreedy, coordQuad, coordSimplex, coordTopological, decrossDfs, decrossOpt, decrossTwoLayer, layeringLongestPath, layeringSimplex, layeringTopological, type DefaultGrid, type DefaultSugiyama, type DefaultZherebko, type LayoutResult, type MutGraph, type NodeSize } from 'd3-dag';
6
- export type D3DagLayoutBuilderName = 'sugiyama' | 'grid' | 'zherebko';
7
- export type D3DagLayeringName = 'simplex' | 'longestPath' | 'topological';
8
- export type D3DagDecrossName = 'twoLayer' | 'opt' | 'dfs';
9
- export type D3DagCoordName = 'simplex' | 'greedy' | 'quad' | 'center' | 'topological';
10
- export type D3DagDagBuilderName = 'graph' | 'connect' | 'stratify';
11
- export type D3DagOrientation = 'TB' | 'BT' | 'LR' | 'RL';
12
- export type D3DagCenterOption = boolean | {
13
- x?: boolean;
14
- y?: boolean;
15
- };
16
- export type D3DagLayoutOperator = DefaultSugiyama | DefaultGrid | DefaultZherebko | ((dag: MutGraph<Node, Edge>) => LayoutResult);
17
- export type D3DagLayoutOptions = GraphLayoutProps & {
4
+ export type D3DagLayoutProps = GraphLayoutProps & {
18
5
  /** Which high-level layout operator to use. */
19
- layout?: D3DagLayoutBuilderName | D3DagLayoutOperator;
6
+ layout?: 'sugiyama' | 'grid' | 'zherebko';
20
7
  /** Layering operator used by sugiyama layouts. */
21
- layering?: D3DagLayeringName | LayeringOperator;
8
+ layering?: 'simplex' | 'longestPath' | 'topological';
9
+ /** Accessor for node rank for layering */
10
+ nodeRank?: string | ((node: NodeInterface) => number | undefined);
22
11
  /** Decrossing operator used by sugiyama layouts. */
23
- decross?: D3DagDecrossName | DecrossOperator;
12
+ decross?: 'twoLayer' | 'opt' | 'dfs';
24
13
  /** Coordinate assignment operator used by sugiyama layouts. */
25
- coord?: D3DagCoordName | CoordOperator;
14
+ coord?: 'simplex' | 'greedy' | 'quad' | 'center' | 'topological';
26
15
  /** Node sizing accessor passed to the active layout. */
27
- nodeSize?: NodeSize<Node, Edge>;
16
+ nodeSize?: NodeSize<NodeInterface, EdgeInterface>;
28
17
  /** Optional gap between nodes. Alias: separation. */
29
18
  gap?: readonly [number, number];
30
19
  /** Optional gap between nodes. */
31
20
  separation?: readonly [number, number];
32
21
  /** Orientation transform applied after the layout finishes. */
33
- orientation?: D3DagOrientation;
22
+ orientation?: 'TB' | 'BT' | 'LR' | 'RL';
34
23
  /** Whether to center the layout along each axis. */
35
- center?: D3DagCenterOption;
24
+ center?: boolean | {
25
+ x?: boolean;
26
+ y?: boolean;
27
+ };
36
28
  /** How to convert the Graph into a DAG. */
37
- dagBuilder?: D3DagDagBuilderName | DagBuilder;
38
- /** Whether to collapse linear chains of nodes into a single representative. */
39
- collapseLinearChains?: boolean;
29
+ dagBuilder?: 'graph' | 'connect' | 'stratify';
30
+ customDagBuilder?: DagBuilder;
31
+ customLayout?: D3DagLayoutOperator;
32
+ customLayering?: LayeringOperator;
33
+ customDecross?: DecrossOperator;
34
+ customCoord?: CoordOperator;
40
35
  };
41
- type DagBuilder = (graph: Graph) => MutGraph<Node, Edge>;
36
+ export type D3DagLayoutOperator = DefaultSugiyama | DefaultGrid | DefaultZherebko | ((dag: MutGraph<NodeInterface, EdgeInterface>) => LayoutResult);
37
+ type DagBuilder = (graph: Graph) => MutGraph<NodeInterface, EdgeInterface>;
42
38
  type LayeringOperator = ReturnType<typeof layeringSimplex> | ReturnType<typeof layeringLongestPath> | ReturnType<typeof layeringTopological>;
43
39
  type DecrossOperator = ReturnType<typeof decrossTwoLayer> | ReturnType<typeof decrossOpt> | ReturnType<typeof decrossDfs>;
44
40
  type CoordOperator = ReturnType<typeof coordCenter> | ReturnType<typeof coordGreedy> | ReturnType<typeof coordQuad> | ReturnType<typeof coordSimplex> | ReturnType<typeof coordTopological>;
45
41
  /**
46
42
  * Layout that orchestrates d3-dag operators from declarative options.
47
43
  */
48
- export declare class D3DagLayout extends GraphLayout<D3DagLayoutOptions> {
49
- static defaultProps: Required<Omit<D3DagLayoutOptions, 'layout'>> & {
50
- layout: D3DagLayoutBuilderName;
51
- };
44
+ export declare class D3DagLayout<PropsT extends D3DagLayoutProps = D3DagLayoutProps> extends GraphLayout<PropsT> {
45
+ static defaultProps: Readonly<Required<D3DagLayoutProps>>;
52
46
  protected readonly _name = "D3DagLayout";
53
- private _graph;
47
+ protected _graph: Graph | null;
54
48
  private _dag;
55
49
  private _layoutOperator;
56
50
  private _rawNodePositions;
@@ -60,15 +54,12 @@ export declare class D3DagLayout extends GraphLayout<D3DagLayoutOptions> {
60
54
  private _edgeControlPoints;
61
55
  private _lockedNodePositions;
62
56
  private _dagBounds;
63
- private _nodeLookup;
64
- private _stringIdLookup;
65
- private _edgeLookup;
66
- private _incomingParentMap;
67
- private _chainDescriptors;
68
- private _nodeToChainId;
69
- private _collapsedChainState;
70
- private _hiddenNodeIds;
71
- constructor(options?: D3DagLayoutOptions);
57
+ protected _nodeLookup: Map<string | number, NodeInterface>;
58
+ protected _stringIdLookup: Map<string, string | number>;
59
+ protected _edgeLookup: Map<string, EdgeInterface>;
60
+ protected _incomingParentMap: Map<string | number, (string | number)[]>;
61
+ constructor(props: D3DagLayoutProps, defaultProps?: Required<PropsT>);
62
+ setProps(options: Partial<D3DagLayoutProps>): void;
72
63
  initializeGraph(graph: Graph): void;
73
64
  updateGraph(graph: Graph): void;
74
65
  start(): void;
@@ -77,41 +68,35 @@ export declare class D3DagLayout extends GraphLayout<D3DagLayoutOptions> {
77
68
  stop(): void;
78
69
  toggleCollapsedChain(chainId: string): void;
79
70
  setCollapsedChains(chainIds: Iterable<string>): void;
80
- setPipelineOptions(options: Partial<D3DagLayoutOptions>): void;
81
- getNodePosition(node: Node): [number, number] | null;
82
- getEdgePosition(edge: Edge): {
71
+ getNodePosition(node: NodeInterface): [number, number] | null;
72
+ getEdgePosition(edge: EdgeInterface): {
83
73
  type: string;
84
74
  sourcePosition: [number, number];
85
75
  targetPosition: [number, number];
86
76
  controlPoints: [number, number][];
87
77
  } | null;
88
- getLinkControlPoints(edge: Edge): [number, number][];
89
- lockNodePosition(node: Node, x: number, y: number): void;
90
- unlockNodePosition(node: Node): void;
91
- private _runLayout;
92
- private _refreshCollapsedChains;
78
+ getLinkControlPoints(edge: EdgeInterface): [number, number][];
79
+ lockNodePosition(node: NodeInterface, x: number, y: number): void;
80
+ unlockNodePosition(node: NodeInterface): void;
81
+ protected _runLayout(): void;
82
+ protected _refreshCollapsedChains(): void;
93
83
  private _buildDag;
94
84
  private _buildDagWithGraph;
95
85
  private _buildDagWithConnect;
96
86
  private _buildDagWithStratify;
97
- private _isChainCollapsed;
98
- private _shouldSkipNode;
99
- private _mapNodeId;
100
- private _updateCollapsedChainNodeMetadata;
101
- private _createChainId;
102
- private _getIncomingEdges;
103
- private _getOutgoingEdges;
87
+ protected _shouldSkipNode(_nodeId: string | number): boolean;
88
+ protected _mapNodeId(nodeId: string | number): string | number;
89
+ protected _updateCollapsedChainNodeMetadata(): void;
90
+ protected _getIncomingEdges(node: NodeInterface): EdgeInterface[];
91
+ protected _getOutgoingEdges(node: NodeInterface): EdgeInterface[];
104
92
  private _ensureEdgeData;
105
93
  private _getLayoutOperator;
106
- private _resolveLayering;
107
- private _resolveDecross;
108
- private _resolveCoord;
109
94
  private _cacheGeometry;
110
95
  private _updateTransformedGeometry;
111
96
  private _getOffsets;
112
97
  protected _updateBounds(): void;
113
- private _edgeKey;
114
- private _toDagId;
115
- private _fromDagId;
98
+ protected _edgeKey(sourceId: string | number, targetId: string | number): string;
99
+ protected _toDagId(id: string | number): string;
100
+ protected _fromDagId(id: string): string | number;
116
101
  }
117
102
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"d3-dag-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-dag/d3-dag-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d3-dag-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-dag/d3-dag-layout.ts"],"names":[],"mappings":"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"}