@antv/layout 0.3.11 → 1.0.0-alpha.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 (555) hide show
  1. package/README.md +45 -32
  2. package/dist/3a54d760230d1933f953.worker.js +2 -0
  3. package/dist/3a54d760230d1933f953.worker.js.map +1 -0
  4. package/dist/index.min.js +2 -0
  5. package/dist/index.min.js.map +1 -0
  6. package/lib/Circular.d.ts +40 -0
  7. package/lib/Supervisor.d.ts +65 -0
  8. package/lib/index.d.ts +3 -3
  9. package/lib/registry.d.ts +3 -0
  10. package/lib/types.d.ts +128 -0
  11. package/lib/util/gpu.d.ts +22 -22
  12. package/lib/util/index.d.ts +6 -6
  13. package/lib/util/math.d.ts +9 -4
  14. package/lib/worker.d.ts +3 -0
  15. package/package.json +21 -95
  16. package/dist/layout.min.js +0 -3
  17. package/dist/layout.min.js.LICENSE.txt +0 -1
  18. package/dist/layout.min.js.map +0 -1
  19. package/es/index.d.ts +0 -3
  20. package/es/index.js +0 -6
  21. package/es/index.js.map +0 -1
  22. package/es/layout/base.d.ts +0 -22
  23. package/es/layout/base.js +0 -51
  24. package/es/layout/base.js.map +0 -1
  25. package/es/layout/circular.d.ts +0 -80
  26. package/es/layout/circular.js +0 -314
  27. package/es/layout/circular.js.map +0 -1
  28. package/es/layout/comboCombined.d.ts +0 -54
  29. package/es/layout/comboCombined.js +0 -348
  30. package/es/layout/comboCombined.js.map +0 -1
  31. package/es/layout/comboForce.d.ts +0 -134
  32. package/es/layout/comboForce.js +0 -801
  33. package/es/layout/comboForce.js.map +0 -1
  34. package/es/layout/concentric.d.ts +0 -67
  35. package/es/layout/concentric.js +0 -219
  36. package/es/layout/concentric.js.map +0 -1
  37. package/es/layout/constants.d.ts +0 -12
  38. package/es/layout/constants.js +0 -22
  39. package/es/layout/constants.js.map +0 -1
  40. package/es/layout/dagre/graph.d.ts +0 -91
  41. package/es/layout/dagre/graph.js +0 -4
  42. package/es/layout/dagre/graph.js.map +0 -1
  43. package/es/layout/dagre/index.d.ts +0 -8
  44. package/es/layout/dagre/index.js +0 -31
  45. package/es/layout/dagre/index.js.map +0 -1
  46. package/es/layout/dagre/src/acyclic.d.ts +0 -6
  47. package/es/layout/dagre/src/acyclic.js +0 -52
  48. package/es/layout/dagre/src/acyclic.js.map +0 -1
  49. package/es/layout/dagre/src/add-border-segments.d.ts +0 -3
  50. package/es/layout/dagre/src/add-border-segments.js +0 -32
  51. package/es/layout/dagre/src/add-border-segments.js.map +0 -1
  52. package/es/layout/dagre/src/coordinate-system.d.ts +0 -6
  53. package/es/layout/dagre/src/coordinate-system.js +0 -69
  54. package/es/layout/dagre/src/coordinate-system.js.map +0 -1
  55. package/es/layout/dagre/src/data/list.d.ts +0 -12
  56. package/es/layout/dagre/src/data/list.js +0 -48
  57. package/es/layout/dagre/src/data/list.js.map +0 -1
  58. package/es/layout/dagre/src/debug.d.ts +0 -3
  59. package/es/layout/dagre/src/debug.js +0 -24
  60. package/es/layout/dagre/src/debug.js.map +0 -1
  61. package/es/layout/dagre/src/greedy-fas.d.ts +0 -3
  62. package/es/layout/dagre/src/greedy-fas.js +0 -114
  63. package/es/layout/dagre/src/greedy-fas.js.map +0 -1
  64. package/es/layout/dagre/src/layout.d.ts +0 -3
  65. package/es/layout/dagre/src/layout.js +0 -518
  66. package/es/layout/dagre/src/layout.js.map +0 -1
  67. package/es/layout/dagre/src/nesting-graph.d.ts +0 -6
  68. package/es/layout/dagre/src/nesting-graph.js +0 -117
  69. package/es/layout/dagre/src/nesting-graph.js.map +0 -1
  70. package/es/layout/dagre/src/normalize.d.ts +0 -6
  71. package/es/layout/dagre/src/normalize.js +0 -89
  72. package/es/layout/dagre/src/normalize.js.map +0 -1
  73. package/es/layout/dagre/src/order/add-subgraph-constraints.d.ts +0 -3
  74. package/es/layout/dagre/src/order/add-subgraph-constraints.js +0 -27
  75. package/es/layout/dagre/src/order/add-subgraph-constraints.js.map +0 -1
  76. package/es/layout/dagre/src/order/barycenter.d.ts +0 -11
  77. package/es/layout/dagre/src/order/barycenter.js +0 -24
  78. package/es/layout/dagre/src/order/barycenter.js.map +0 -1
  79. package/es/layout/dagre/src/order/build-layer-graph.d.ts +0 -3
  80. package/es/layout/dagre/src/order/build-layer-graph.js +0 -71
  81. package/es/layout/dagre/src/order/build-layer-graph.js.map +0 -1
  82. package/es/layout/dagre/src/order/cross-count.d.ts +0 -3
  83. package/es/layout/dagre/src/order/cross-count.js +0 -65
  84. package/es/layout/dagre/src/order/cross-count.js.map +0 -1
  85. package/es/layout/dagre/src/order/index.d.ts +0 -3
  86. package/es/layout/dagre/src/order/index.js +0 -91
  87. package/es/layout/dagre/src/order/index.js.map +0 -1
  88. package/es/layout/dagre/src/order/init-data-order.d.ts +0 -6
  89. package/es/layout/dagre/src/order/init-data-order.js +0 -25
  90. package/es/layout/dagre/src/order/init-data-order.js.map +0 -1
  91. package/es/layout/dagre/src/order/init-order.d.ts +0 -3
  92. package/es/layout/dagre/src/order/init-order.js +0 -52
  93. package/es/layout/dagre/src/order/init-order.js.map +0 -1
  94. package/es/layout/dagre/src/order/resolve-conflicts.d.ts +0 -19
  95. package/es/layout/dagre/src/order/resolve-conflicts.js +0 -93
  96. package/es/layout/dagre/src/order/resolve-conflicts.js.map +0 -1
  97. package/es/layout/dagre/src/order/sort-subgraph.d.ts +0 -7
  98. package/es/layout/dagre/src/order/sort-subgraph.js +0 -85
  99. package/es/layout/dagre/src/order/sort-subgraph.js.map +0 -1
  100. package/es/layout/dagre/src/order/sort.d.ts +0 -7
  101. package/es/layout/dagre/src/order/sort.js +0 -68
  102. package/es/layout/dagre/src/order/sort.js.map +0 -1
  103. package/es/layout/dagre/src/parent-dummy-chains.d.ts +0 -3
  104. package/es/layout/dagre/src/parent-dummy-chains.js +0 -81
  105. package/es/layout/dagre/src/parent-dummy-chains.js.map +0 -1
  106. package/es/layout/dagre/src/position/bk.d.ts +0 -23
  107. package/es/layout/dagre/src/position/bk.js +0 -370
  108. package/es/layout/dagre/src/position/bk.js.map +0 -1
  109. package/es/layout/dagre/src/position/index.d.ts +0 -3
  110. package/es/layout/dagre/src/position/index.js +0 -51
  111. package/es/layout/dagre/src/position/index.js.map +0 -1
  112. package/es/layout/dagre/src/rank/feasible-tree.d.ts +0 -9
  113. package/es/layout/dagre/src/rank/feasible-tree.js +0 -148
  114. package/es/layout/dagre/src/rank/feasible-tree.js.map +0 -1
  115. package/es/layout/dagre/src/rank/index.d.ts +0 -3
  116. package/es/layout/dagre/src/rank/index.js +0 -53
  117. package/es/layout/dagre/src/rank/index.js.map +0 -1
  118. package/es/layout/dagre/src/rank/network-simplex.d.ts +0 -9
  119. package/es/layout/dagre/src/rank/network-simplex.js +0 -195
  120. package/es/layout/dagre/src/rank/network-simplex.js.map +0 -1
  121. package/es/layout/dagre/src/rank/util.d.ts +0 -11
  122. package/es/layout/dagre/src/rank/util.js +0 -141
  123. package/es/layout/dagre/src/rank/util.js.map +0 -1
  124. package/es/layout/dagre/src/util.d.ts +0 -31
  125. package/es/layout/dagre/src/util.js +0 -261
  126. package/es/layout/dagre/src/util.js.map +0 -1
  127. package/es/layout/dagre.d.ts +0 -71
  128. package/es/layout/dagre.js +0 -433
  129. package/es/layout/dagre.js.map +0 -1
  130. package/es/layout/dagreCompound.d.ts +0 -121
  131. package/es/layout/dagreCompound.js +0 -391
  132. package/es/layout/dagreCompound.js.map +0 -1
  133. package/es/layout/er/core.d.ts +0 -1
  134. package/es/layout/er/core.js +0 -107
  135. package/es/layout/er/core.js.map +0 -1
  136. package/es/layout/er/forceGrid.d.ts +0 -8
  137. package/es/layout/er/forceGrid.js +0 -88
  138. package/es/layout/er/forceGrid.js.map +0 -1
  139. package/es/layout/er/grid.d.ts +0 -26
  140. package/es/layout/er/grid.js +0 -162
  141. package/es/layout/er/grid.js.map +0 -1
  142. package/es/layout/er/index.d.ts +0 -29
  143. package/es/layout/er/index.js +0 -54
  144. package/es/layout/er/index.js.map +0 -1
  145. package/es/layout/er/mysqlWorkbench.d.ts +0 -6
  146. package/es/layout/er/mysqlWorkbench.js +0 -324
  147. package/es/layout/er/mysqlWorkbench.js.map +0 -1
  148. package/es/layout/er/type.d.ts +0 -35
  149. package/es/layout/er/type.js +0 -2
  150. package/es/layout/er/type.js.map +0 -1
  151. package/es/layout/force/force-in-a-box.d.ts +0 -28
  152. package/es/layout/force/force-in-a-box.js +0 -330
  153. package/es/layout/force/force-in-a-box.js.map +0 -1
  154. package/es/layout/force/force.d.ts +0 -100
  155. package/es/layout/force/force.js +0 -340
  156. package/es/layout/force/force.js.map +0 -1
  157. package/es/layout/force/index.d.ts +0 -1
  158. package/es/layout/force/index.js +0 -2
  159. package/es/layout/force/index.js.map +0 -1
  160. package/es/layout/force2/ForceNBody.d.ts +0 -7
  161. package/es/layout/force2/ForceNBody.js +0 -94
  162. package/es/layout/force2/ForceNBody.js.map +0 -1
  163. package/es/layout/force2/index.d.ts +0 -119
  164. package/es/layout/force2/index.js +0 -608
  165. package/es/layout/force2/index.js.map +0 -1
  166. package/es/layout/forceAtlas2/body.d.ts +0 -33
  167. package/es/layout/forceAtlas2/body.js +0 -89
  168. package/es/layout/forceAtlas2/body.js.map +0 -1
  169. package/es/layout/forceAtlas2/index.d.ts +0 -115
  170. package/es/layout/forceAtlas2/index.js +0 -484
  171. package/es/layout/forceAtlas2/index.js.map +0 -1
  172. package/es/layout/forceAtlas2/quad.d.ts +0 -27
  173. package/es/layout/forceAtlas2/quad.js +0 -96
  174. package/es/layout/forceAtlas2/quad.js.map +0 -1
  175. package/es/layout/forceAtlas2/quadTree.d.ts +0 -20
  176. package/es/layout/forceAtlas2/quadTree.js +0 -103
  177. package/es/layout/forceAtlas2/quadTree.js.map +0 -1
  178. package/es/layout/fruchterman.d.ts +0 -73
  179. package/es/layout/fruchterman.js +0 -296
  180. package/es/layout/fruchterman.js.map +0 -1
  181. package/es/layout/gForce.d.ts +0 -96
  182. package/es/layout/gForce.js +0 -399
  183. package/es/layout/gForce.js.map +0 -1
  184. package/es/layout/gpu/fruchterman.d.ts +0 -57
  185. package/es/layout/gpu/fruchterman.js +0 -267
  186. package/es/layout/gpu/fruchterman.js.map +0 -1
  187. package/es/layout/gpu/fruchtermanShader.d.ts +0 -4
  188. package/es/layout/gpu/fruchtermanShader.js +0 -201
  189. package/es/layout/gpu/fruchtermanShader.js.map +0 -1
  190. package/es/layout/gpu/gForce.d.ts +0 -68
  191. package/es/layout/gpu/gForce.js +0 -330
  192. package/es/layout/gpu/gForce.js.map +0 -1
  193. package/es/layout/gpu/gForceShader.d.ts +0 -4
  194. package/es/layout/gpu/gForceShader.js +0 -218
  195. package/es/layout/gpu/gForceShader.js.map +0 -1
  196. package/es/layout/grid.d.ts +0 -83
  197. package/es/layout/grid.js +0 -317
  198. package/es/layout/grid.js.map +0 -1
  199. package/es/layout/index.d.ts +0 -22
  200. package/es/layout/index.js +0 -25
  201. package/es/layout/index.js.map +0 -1
  202. package/es/layout/layout.d.ts +0 -26
  203. package/es/layout/layout.js +0 -97
  204. package/es/layout/layout.js.map +0 -1
  205. package/es/layout/mds.d.ts +0 -39
  206. package/es/layout/mds.js +0 -122
  207. package/es/layout/mds.js.map +0 -1
  208. package/es/layout/radial/index.d.ts +0 -1
  209. package/es/layout/radial/index.js +0 -2
  210. package/es/layout/radial/index.js.map +0 -1
  211. package/es/layout/radial/mds.d.ts +0 -15
  212. package/es/layout/radial/mds.js +0 -38
  213. package/es/layout/radial/mds.js.map +0 -1
  214. package/es/layout/radial/radial.d.ts +0 -74
  215. package/es/layout/radial/radial.js +0 -420
  216. package/es/layout/radial/radial.js.map +0 -1
  217. package/es/layout/radial/radialNonoverlapForce.d.ts +0 -50
  218. package/es/layout/radial/radialNonoverlapForce.js +0 -123
  219. package/es/layout/radial/radialNonoverlapForce.js.map +0 -1
  220. package/es/layout/random.d.ts +0 -35
  221. package/es/layout/random.js +0 -62
  222. package/es/layout/random.js.map +0 -1
  223. package/es/layout/types.d.ts +0 -432
  224. package/es/layout/types.js +0 -2
  225. package/es/layout/types.js.map +0 -1
  226. package/es/registy/index.d.ts +0 -3
  227. package/es/registy/index.js +0 -41
  228. package/es/registy/index.js.map +0 -1
  229. package/es/util/array.d.ts +0 -1
  230. package/es/util/array.js +0 -2
  231. package/es/util/array.js.map +0 -1
  232. package/es/util/function.d.ts +0 -6
  233. package/es/util/function.js +0 -56
  234. package/es/util/function.js.map +0 -1
  235. package/es/util/gpu.d.ts +0 -52
  236. package/es/util/gpu.js +0 -239
  237. package/es/util/gpu.js.map +0 -1
  238. package/es/util/index.d.ts +0 -6
  239. package/es/util/index.js +0 -7
  240. package/es/util/index.js.map +0 -1
  241. package/es/util/math.d.ts +0 -43
  242. package/es/util/math.js +0 -253
  243. package/es/util/math.js.map +0 -1
  244. package/es/util/number.d.ts +0 -3
  245. package/es/util/number.js +0 -7
  246. package/es/util/number.js.map +0 -1
  247. package/es/util/object.d.ts +0 -2
  248. package/es/util/object.js +0 -25
  249. package/es/util/object.js.map +0 -1
  250. package/es/util/string.d.ts +0 -2
  251. package/es/util/string.js +0 -16
  252. package/es/util/string.js.map +0 -1
  253. package/lib/index.js +0 -24
  254. package/lib/index.js.map +0 -1
  255. package/lib/layout/base.d.ts +0 -22
  256. package/lib/layout/base.js +0 -56
  257. package/lib/layout/base.js.map +0 -1
  258. package/lib/layout/circular.d.ts +0 -80
  259. package/lib/layout/circular.js +0 -337
  260. package/lib/layout/circular.js.map +0 -1
  261. package/lib/layout/comboCombined.d.ts +0 -54
  262. package/lib/layout/comboCombined.js +0 -384
  263. package/lib/layout/comboCombined.js.map +0 -1
  264. package/lib/layout/comboForce.d.ts +0 -134
  265. package/lib/layout/comboForce.js +0 -826
  266. package/lib/layout/comboForce.js.map +0 -1
  267. package/lib/layout/concentric.d.ts +0 -67
  268. package/lib/layout/concentric.js +0 -243
  269. package/lib/layout/concentric.js.map +0 -1
  270. package/lib/layout/constants.d.ts +0 -12
  271. package/lib/layout/constants.js +0 -25
  272. package/lib/layout/constants.js.map +0 -1
  273. package/lib/layout/dagre/graph.d.ts +0 -91
  274. package/lib/layout/dagre/graph.js +0 -28
  275. package/lib/layout/dagre/graph.js.map +0 -1
  276. package/lib/layout/dagre/index.d.ts +0 -8
  277. package/lib/layout/dagre/index.js +0 -36
  278. package/lib/layout/dagre/index.js.map +0 -1
  279. package/lib/layout/dagre/src/acyclic.d.ts +0 -6
  280. package/lib/layout/dagre/src/acyclic.js +0 -57
  281. package/lib/layout/dagre/src/acyclic.js.map +0 -1
  282. package/lib/layout/dagre/src/add-border-segments.d.ts +0 -3
  283. package/lib/layout/dagre/src/add-border-segments.js +0 -34
  284. package/lib/layout/dagre/src/add-border-segments.js.map +0 -1
  285. package/lib/layout/dagre/src/coordinate-system.d.ts +0 -6
  286. package/lib/layout/dagre/src/coordinate-system.js +0 -71
  287. package/lib/layout/dagre/src/coordinate-system.js.map +0 -1
  288. package/lib/layout/dagre/src/data/list.d.ts +0 -12
  289. package/lib/layout/dagre/src/data/list.js +0 -52
  290. package/lib/layout/dagre/src/data/list.js.map +0 -1
  291. package/lib/layout/dagre/src/debug.d.ts +0 -3
  292. package/lib/layout/dagre/src/debug.js +0 -26
  293. package/lib/layout/dagre/src/debug.js.map +0 -1
  294. package/lib/layout/dagre/src/greedy-fas.d.ts +0 -3
  295. package/lib/layout/dagre/src/greedy-fas.js +0 -144
  296. package/lib/layout/dagre/src/greedy-fas.js.map +0 -1
  297. package/lib/layout/dagre/src/layout.d.ts +0 -3
  298. package/lib/layout/dagre/src/layout.js +0 -535
  299. package/lib/layout/dagre/src/layout.js.map +0 -1
  300. package/lib/layout/dagre/src/nesting-graph.d.ts +0 -6
  301. package/lib/layout/dagre/src/nesting-graph.js +0 -119
  302. package/lib/layout/dagre/src/nesting-graph.js.map +0 -1
  303. package/lib/layout/dagre/src/normalize.d.ts +0 -6
  304. package/lib/layout/dagre/src/normalize.js +0 -91
  305. package/lib/layout/dagre/src/normalize.js.map +0 -1
  306. package/lib/layout/dagre/src/order/add-subgraph-constraints.d.ts +0 -3
  307. package/lib/layout/dagre/src/order/add-subgraph-constraints.js +0 -29
  308. package/lib/layout/dagre/src/order/add-subgraph-constraints.js.map +0 -1
  309. package/lib/layout/dagre/src/order/barycenter.d.ts +0 -11
  310. package/lib/layout/dagre/src/order/barycenter.js +0 -26
  311. package/lib/layout/dagre/src/order/barycenter.js.map +0 -1
  312. package/lib/layout/dagre/src/order/build-layer-graph.d.ts +0 -3
  313. package/lib/layout/dagre/src/order/build-layer-graph.js +0 -73
  314. package/lib/layout/dagre/src/order/build-layer-graph.js.map +0 -1
  315. package/lib/layout/dagre/src/order/cross-count.d.ts +0 -3
  316. package/lib/layout/dagre/src/order/cross-count.js +0 -67
  317. package/lib/layout/dagre/src/order/cross-count.js.map +0 -1
  318. package/lib/layout/dagre/src/order/index.d.ts +0 -3
  319. package/lib/layout/dagre/src/order/index.js +0 -96
  320. package/lib/layout/dagre/src/order/index.js.map +0 -1
  321. package/lib/layout/dagre/src/order/init-data-order.d.ts +0 -6
  322. package/lib/layout/dagre/src/order/init-data-order.js +0 -27
  323. package/lib/layout/dagre/src/order/init-data-order.js.map +0 -1
  324. package/lib/layout/dagre/src/order/init-order.d.ts +0 -3
  325. package/lib/layout/dagre/src/order/init-order.js +0 -54
  326. package/lib/layout/dagre/src/order/init-order.js.map +0 -1
  327. package/lib/layout/dagre/src/order/resolve-conflicts.d.ts +0 -19
  328. package/lib/layout/dagre/src/order/resolve-conflicts.js +0 -98
  329. package/lib/layout/dagre/src/order/resolve-conflicts.js.map +0 -1
  330. package/lib/layout/dagre/src/order/sort-subgraph.d.ts +0 -7
  331. package/lib/layout/dagre/src/order/sort-subgraph.js +0 -90
  332. package/lib/layout/dagre/src/order/sort-subgraph.js.map +0 -1
  333. package/lib/layout/dagre/src/order/sort.d.ts +0 -7
  334. package/lib/layout/dagre/src/order/sort.js +0 -70
  335. package/lib/layout/dagre/src/order/sort.js.map +0 -1
  336. package/lib/layout/dagre/src/parent-dummy-chains.d.ts +0 -3
  337. package/lib/layout/dagre/src/parent-dummy-chains.js +0 -83
  338. package/lib/layout/dagre/src/parent-dummy-chains.js.map +0 -1
  339. package/lib/layout/dagre/src/position/bk.d.ts +0 -23
  340. package/lib/layout/dagre/src/position/bk.js +0 -409
  341. package/lib/layout/dagre/src/position/bk.js.map +0 -1
  342. package/lib/layout/dagre/src/position/index.d.ts +0 -3
  343. package/lib/layout/dagre/src/position/index.js +0 -64
  344. package/lib/layout/dagre/src/position/index.js.map +0 -1
  345. package/lib/layout/dagre/src/rank/feasible-tree.d.ts +0 -9
  346. package/lib/layout/dagre/src/rank/feasible-tree.js +0 -152
  347. package/lib/layout/dagre/src/rank/feasible-tree.js.map +0 -1
  348. package/lib/layout/dagre/src/rank/index.d.ts +0 -3
  349. package/lib/layout/dagre/src/rank/index.js +0 -58
  350. package/lib/layout/dagre/src/rank/index.js.map +0 -1
  351. package/lib/layout/dagre/src/rank/network-simplex.d.ts +0 -9
  352. package/lib/layout/dagre/src/rank/network-simplex.js +0 -205
  353. package/lib/layout/dagre/src/rank/network-simplex.js.map +0 -1
  354. package/lib/layout/dagre/src/rank/util.d.ts +0 -11
  355. package/lib/layout/dagre/src/rank/util.js +0 -146
  356. package/lib/layout/dagre/src/rank/util.js.map +0 -1
  357. package/lib/layout/dagre/src/util.d.ts +0 -31
  358. package/lib/layout/dagre/src/util.js +0 -280
  359. package/lib/layout/dagre/src/util.js.map +0 -1
  360. package/lib/layout/dagre.d.ts +0 -71
  361. package/lib/layout/dagre.js +0 -462
  362. package/lib/layout/dagre.js.map +0 -1
  363. package/lib/layout/dagreCompound.d.ts +0 -121
  364. package/lib/layout/dagreCompound.js +0 -429
  365. package/lib/layout/dagreCompound.js.map +0 -1
  366. package/lib/layout/er/core.d.ts +0 -1
  367. package/lib/layout/er/core.js +0 -147
  368. package/lib/layout/er/core.js.map +0 -1
  369. package/lib/layout/er/forceGrid.d.ts +0 -8
  370. package/lib/layout/er/forceGrid.js +0 -97
  371. package/lib/layout/er/forceGrid.js.map +0 -1
  372. package/lib/layout/er/grid.d.ts +0 -26
  373. package/lib/layout/er/grid.js +0 -177
  374. package/lib/layout/er/grid.js.map +0 -1
  375. package/lib/layout/er/index.d.ts +0 -29
  376. package/lib/layout/er/index.js +0 -80
  377. package/lib/layout/er/index.js.map +0 -1
  378. package/lib/layout/er/mysqlWorkbench.d.ts +0 -6
  379. package/lib/layout/er/mysqlWorkbench.js +0 -326
  380. package/lib/layout/er/mysqlWorkbench.js.map +0 -1
  381. package/lib/layout/er/type.d.ts +0 -35
  382. package/lib/layout/er/type.js +0 -3
  383. package/lib/layout/er/type.js.map +0 -1
  384. package/lib/layout/force/force-in-a-box.d.ts +0 -28
  385. package/lib/layout/force/force-in-a-box.js +0 -357
  386. package/lib/layout/force/force-in-a-box.js.map +0 -1
  387. package/lib/layout/force/force.d.ts +0 -100
  388. package/lib/layout/force/force.js +0 -388
  389. package/lib/layout/force/force.js.map +0 -1
  390. package/lib/layout/force/index.d.ts +0 -1
  391. package/lib/layout/force/index.js +0 -18
  392. package/lib/layout/force/index.js.map +0 -1
  393. package/lib/layout/force2/ForceNBody.d.ts +0 -7
  394. package/lib/layout/force2/ForceNBody.js +0 -98
  395. package/lib/layout/force2/ForceNBody.js.map +0 -1
  396. package/lib/layout/force2/index.d.ts +0 -119
  397. package/lib/layout/force2/index.js +0 -643
  398. package/lib/layout/force2/index.js.map +0 -1
  399. package/lib/layout/forceAtlas2/body.d.ts +0 -33
  400. package/lib/layout/forceAtlas2/body.js +0 -93
  401. package/lib/layout/forceAtlas2/body.js.map +0 -1
  402. package/lib/layout/forceAtlas2/index.d.ts +0 -115
  403. package/lib/layout/forceAtlas2/index.js +0 -509
  404. package/lib/layout/forceAtlas2/index.js.map +0 -1
  405. package/lib/layout/forceAtlas2/quad.d.ts +0 -27
  406. package/lib/layout/forceAtlas2/quad.js +0 -100
  407. package/lib/layout/forceAtlas2/quad.js.map +0 -1
  408. package/lib/layout/forceAtlas2/quadTree.d.ts +0 -20
  409. package/lib/layout/forceAtlas2/quadTree.js +0 -107
  410. package/lib/layout/forceAtlas2/quadTree.js.map +0 -1
  411. package/lib/layout/fruchterman.d.ts +0 -73
  412. package/lib/layout/fruchterman.js +0 -320
  413. package/lib/layout/fruchterman.js.map +0 -1
  414. package/lib/layout/gForce.d.ts +0 -96
  415. package/lib/layout/gForce.js +0 -421
  416. package/lib/layout/gForce.js.map +0 -1
  417. package/lib/layout/gpu/fruchterman.d.ts +0 -57
  418. package/lib/layout/gpu/fruchterman.js +0 -361
  419. package/lib/layout/gpu/fruchterman.js.map +0 -1
  420. package/lib/layout/gpu/fruchtermanShader.d.ts +0 -4
  421. package/lib/layout/gpu/fruchtermanShader.js +0 -8
  422. package/lib/layout/gpu/fruchtermanShader.js.map +0 -1
  423. package/lib/layout/gpu/gForce.d.ts +0 -68
  424. package/lib/layout/gpu/gForce.js +0 -415
  425. package/lib/layout/gpu/gForce.js.map +0 -1
  426. package/lib/layout/gpu/gForceShader.d.ts +0 -4
  427. package/lib/layout/gpu/gForceShader.js +0 -8
  428. package/lib/layout/gpu/gForceShader.js.map +0 -1
  429. package/lib/layout/grid.d.ts +0 -83
  430. package/lib/layout/grid.js +0 -339
  431. package/lib/layout/grid.js.map +0 -1
  432. package/lib/layout/index.d.ts +0 -22
  433. package/lib/layout/index.js +0 -59
  434. package/lib/layout/index.js.map +0 -1
  435. package/lib/layout/layout.d.ts +0 -26
  436. package/lib/layout/layout.js +0 -102
  437. package/lib/layout/layout.js.map +0 -1
  438. package/lib/layout/mds.d.ts +0 -39
  439. package/lib/layout/mds.js +0 -144
  440. package/lib/layout/mds.js.map +0 -1
  441. package/lib/layout/radial/index.d.ts +0 -1
  442. package/lib/layout/radial/index.js +0 -18
  443. package/lib/layout/radial/index.js.map +0 -1
  444. package/lib/layout/radial/mds.d.ts +0 -15
  445. package/lib/layout/radial/mds.js +0 -42
  446. package/lib/layout/radial/mds.js.map +0 -1
  447. package/lib/layout/radial/radial.d.ts +0 -74
  448. package/lib/layout/radial/radial.js +0 -445
  449. package/lib/layout/radial/radial.js.map +0 -1
  450. package/lib/layout/radial/radialNonoverlapForce.d.ts +0 -50
  451. package/lib/layout/radial/radialNonoverlapForce.js +0 -127
  452. package/lib/layout/radial/radialNonoverlapForce.js.map +0 -1
  453. package/lib/layout/random.d.ts +0 -35
  454. package/lib/layout/random.js +0 -84
  455. package/lib/layout/random.js.map +0 -1
  456. package/lib/layout/types.d.ts +0 -432
  457. package/lib/layout/types.js +0 -3
  458. package/lib/layout/types.js.map +0 -1
  459. package/lib/registy/index.d.ts +0 -3
  460. package/lib/registy/index.js +0 -65
  461. package/lib/registy/index.js.map +0 -1
  462. package/lib/util/array.js +0 -5
  463. package/lib/util/array.js.map +0 -1
  464. package/lib/util/function.js +0 -65
  465. package/lib/util/function.js.map +0 -1
  466. package/lib/util/gpu.js +0 -250
  467. package/lib/util/gpu.js.map +0 -1
  468. package/lib/util/index.js +0 -23
  469. package/lib/util/index.js.map +0 -1
  470. package/lib/util/math.js +0 -266
  471. package/lib/util/math.js.map +0 -1
  472. package/lib/util/number.js +0 -13
  473. package/lib/util/number.js.map +0 -1
  474. package/lib/util/object.js +0 -43
  475. package/lib/util/object.js.map +0 -1
  476. package/lib/util/string.js +0 -20
  477. package/lib/util/string.js.map +0 -1
  478. package/src/index.ts +0 -7
  479. package/src/layout/base.ts +0 -57
  480. package/src/layout/circular.ts +0 -370
  481. package/src/layout/comboCombined.ts +0 -391
  482. package/src/layout/comboForce.ts +0 -873
  483. package/src/layout/concentric.ts +0 -289
  484. package/src/layout/constants.ts +0 -22
  485. package/src/layout/dagre/graph.ts +0 -104
  486. package/src/layout/dagre/index.ts +0 -31
  487. package/src/layout/dagre/src/acyclic.ts +0 -58
  488. package/src/layout/dagre/src/add-border-segments.ts +0 -47
  489. package/src/layout/dagre/src/coordinate-system.ts +0 -77
  490. package/src/layout/dagre/src/data/list.ts +0 -60
  491. package/src/layout/dagre/src/debug.ts +0 -30
  492. package/src/layout/dagre/src/greedy-fas.ts +0 -144
  493. package/src/layout/dagre/src/layout.ts +0 -579
  494. package/src/layout/dagre/src/nesting-graph.ts +0 -143
  495. package/src/layout/dagre/src/normalize.ts +0 -96
  496. package/src/layout/dagre/src/order/add-subgraph-constraints.ts +0 -29
  497. package/src/layout/dagre/src/order/barycenter.ts +0 -26
  498. package/src/layout/dagre/src/order/build-layer-graph.ts +0 -82
  499. package/src/layout/dagre/src/order/cross-count.ts +0 -77
  500. package/src/layout/dagre/src/order/index.ts +0 -105
  501. package/src/layout/dagre/src/order/init-data-order.ts +0 -27
  502. package/src/layout/dagre/src/order/init-order.ts +0 -56
  503. package/src/layout/dagre/src/order/resolve-conflicts.ts +0 -152
  504. package/src/layout/dagre/src/order/sort-subgraph.ts +0 -105
  505. package/src/layout/dagre/src/order/sort.ts +0 -76
  506. package/src/layout/dagre/src/parent-dummy-chains.ts +0 -102
  507. package/src/layout/dagre/src/position/bk.ts +0 -493
  508. package/src/layout/dagre/src/position/index.ts +0 -82
  509. package/src/layout/dagre/src/rank/feasible-tree.ts +0 -165
  510. package/src/layout/dagre/src/rank/index.ts +0 -54
  511. package/src/layout/dagre/src/rank/network-simplex.ts +0 -225
  512. package/src/layout/dagre/src/rank/util.ts +0 -166
  513. package/src/layout/dagre/src/util.ts +0 -309
  514. package/src/layout/dagre.ts +0 -460
  515. package/src/layout/dagreCompound.ts +0 -518
  516. package/src/layout/er/core.ts +0 -117
  517. package/src/layout/er/forceGrid.ts +0 -95
  518. package/src/layout/er/grid.ts +0 -185
  519. package/src/layout/er/index.ts +0 -68
  520. package/src/layout/er/mysqlWorkbench.ts +0 -345
  521. package/src/layout/er/type.ts +0 -39
  522. package/src/layout/force/force-in-a-box.ts +0 -400
  523. package/src/layout/force/force.ts +0 -391
  524. package/src/layout/force/index.ts +0 -1
  525. package/src/layout/force2/ForceNBody.ts +0 -128
  526. package/src/layout/force2/index.ts +0 -741
  527. package/src/layout/forceAtlas2/body.ts +0 -115
  528. package/src/layout/forceAtlas2/index.ts +0 -556
  529. package/src/layout/forceAtlas2/quad.ts +0 -115
  530. package/src/layout/forceAtlas2/quadTree.ts +0 -107
  531. package/src/layout/fruchterman.ts +0 -361
  532. package/src/layout/gForce.ts +0 -488
  533. package/src/layout/gpu/fruchterman.ts +0 -314
  534. package/src/layout/gpu/fruchtermanShader.ts +0 -203
  535. package/src/layout/gpu/gForce.ts +0 -407
  536. package/src/layout/gpu/gForceShader.ts +0 -220
  537. package/src/layout/grid.ts +0 -404
  538. package/src/layout/index.ts +0 -47
  539. package/src/layout/layout.ts +0 -110
  540. package/src/layout/mds.ts +0 -140
  541. package/src/layout/radial/index.ts +0 -1
  542. package/src/layout/radial/mds.ts +0 -51
  543. package/src/layout/radial/radial.ts +0 -500
  544. package/src/layout/radial/radialNonoverlapForce.ts +0 -189
  545. package/src/layout/random.ts +0 -75
  546. package/src/layout/types.ts +0 -496
  547. package/src/registy/index.ts +0 -43
  548. package/src/util/array.ts +0 -1
  549. package/src/util/function.ts +0 -64
  550. package/src/util/gpu.ts +0 -256
  551. package/src/util/index.ts +0 -6
  552. package/src/util/math.ts +0 -272
  553. package/src/util/number.ts +0 -8
  554. package/src/util/object.ts +0 -28
  555. package/src/util/string.ts +0 -18
@@ -1 +0,0 @@
1
- {"version":3,"file":"feasible-tree.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/feasible-tree.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,gCAAgC;AAChC,qCAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,IAAM,YAAY,GAAG,UAAC,CAAQ;IAC5B,IAAM,CAAC,GAAG,IAAI,aAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzC,qDAAqD;IACrD,IAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAM,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErB,IAAI,IAAS,CAAC;IACd,IAAI,KAAa,CAAC;IAClB,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAC7B,IAAI,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;KACzB;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AA+GA,oCAAY;AA7Gd;;;GAGG;AACH,IAAM,SAAS,GAAG,UAAC,CAAQ,EAAE,CAAQ;IACnC,IAAM,GAAG,GAAG,UAAC,CAAS;QACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,UAAC,CAAC;YACxB,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACtC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBACjC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,CAAC,CAAC;aACR;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,IAAM,qBAAqB,GAAG,UAAC,CAAQ;IACrC,IAAM,CAAC,GAAG,IAAI,aAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAQ,CAAC;IAEhD,qDAAqD;IACrD,IAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAM,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,MAAM,CAAC;IACvD,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErB,IAAI,IAAS,CAAC;IACd,IAAI,KAAa,CAAC;IAClB,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,GAAG,IAAI,EAAE;QACvC,IAAI,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;KACzB;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AA+CA,sDAAqB;AA5CvB;;;GAGG;AACH,IAAM,kBAAkB,GAAG,UAAC,CAAQ,EAAE,CAAQ;IAC5C,IAAM,GAAG,GAAG,UAAC,CAAS;;QACpB,MAAA,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,UAAC,CAAC;YACxB,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACtC,kCAAkC;YAClC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBACrE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,CAAC,CAAC,CAAC;aACR;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;GAGG;AACH,IAAM,gBAAgB,GAAG,UAAC,CAAQ,EAAE,CAAQ;IAC1C,OAAO,IAAA,YAAK,EAAC,CAAC,CAAC,KAAK,EAAE,EAAE,UAAC,CAAM;QAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACrC,OAAO,IAAA,YAAK,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACpB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,IAAM,UAAU,GAAG,UAAC,CAAQ,EAAE,CAAQ,EAAE,KAAa;IACnD,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,CAAS;QAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI;YAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,IAAI,KAAK,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAOF,kBAAe;IACb,YAAY,cAAA;IACZ,qBAAqB,uBAAA;CACtB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Graph } from '../../graph';
2
- declare const rank: (g: Graph) => void;
3
- export default rank;
@@ -1,58 +0,0 @@
1
- "use strict";
2
- // "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- // var rankUtil = require("./util");
8
- // var longestPath = rankUtil.longestPathWithLayer;
9
- // var feasibleTree = require("./feasible-tree").feasibleTreeWithLayer;
10
- // var networkSimplex = require("./network-simplex");
11
- var util_1 = require("./util");
12
- var feasible_tree_1 = require("./feasible-tree");
13
- var network_simplex_1 = __importDefault(require("./network-simplex"));
14
- /*
15
- * Assigns a rank to each node in the input graph that respects the "minlen"
16
- * constraint specified on edges between nodes.
17
- *
18
- * This basic structure is derived from Gansner, et al., "A Technique for
19
- * Drawing Directed Graphs."
20
- *
21
- * Pre-conditions:
22
- *
23
- * 1. Graph must be a connected DAG
24
- * 2. Graph nodes must be objects
25
- * 3. Graph edges must have "weight" and "minlen" attributes
26
- *
27
- * Post-conditions:
28
- *
29
- * 1. Graph nodes will have a "rank" attribute based on the results of the
30
- * algorithm. Ranks can start at any index (including negative), we'll
31
- * fix them up later.
32
- */
33
- var rank = function (g) {
34
- switch (g.graph().ranker) {
35
- case "network-simplex":
36
- networkSimplexRanker(g);
37
- break;
38
- case "tight-tree":
39
- tightTreeRanker(g);
40
- break;
41
- case "longest-path":
42
- longestPathRanker(g);
43
- break;
44
- // default: networkSimplexRanker(g);
45
- default: tightTreeRanker(g);
46
- }
47
- };
48
- // A fast and simple ranker, but results are far from optimal.
49
- var longestPathRanker = util_1.longestPath;
50
- var tightTreeRanker = function (g) {
51
- (0, util_1.longestPathWithLayer)(g);
52
- (0, feasible_tree_1.feasibleTreeWithLayer)(g);
53
- };
54
- var networkSimplexRanker = function (g) {
55
- (0, network_simplex_1.default)(g);
56
- };
57
- exports.default = rank;
58
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/index.ts"],"names":[],"mappings":";AAAA,gBAAgB;;;;;AAEhB,oCAAoC;AACpC,mDAAmD;AACnD,uEAAuE;AACvE,qDAAqD;AAErD,+BAA2D;AAC3D,iDAAwE;AACxE,sEAA+C;AAG/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,IAAM,IAAI,GAAG,UAAC,CAAQ;IACpB,QAAO,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE;QACzB,KAAK,iBAAiB;YAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM;QACvD,KAAK,YAAY;YAAE,eAAe,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM;QAC7C,KAAK,cAAc;YAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM;QACjD,oCAAoC;QACpC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;KAC3B;AACH,CAAC,CAAC;AAEF,8DAA8D;AAC9D,IAAM,iBAAiB,GAAG,kBAAW,CAAC;AAEtC,IAAM,eAAe,GAAG,UAAC,CAAQ;IAC/B,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC;IACxB,IAAA,qCAAY,EAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAAC,CAAQ;IACpC,IAAA,yBAAc,EAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
@@ -1,9 +0,0 @@
1
- import { Edge, Graph } from '../../graph';
2
- declare const networkSimplex: (og: Graph) => void;
3
- export declare const initCutValues: (t: Graph, g: Graph) => void;
4
- export declare const calcCutValue: (t: Graph, g: Graph, child: string) => number;
5
- export declare const initLowLimValues: (tree: Graph, root?: string) => void;
6
- export declare const leaveEdge: (tree: Graph) => import("@antv/graphlib/lib/Graph").DefaultEdgeType<string, Partial<import("../../graph").EdgeConfig & Edge & import("../../graph").GraphEdge>> | undefined;
7
- export declare const enterEdge: (t: Graph, g: Graph, edge: any) => import("@antv/graphlib/lib/Graph").DefaultEdgeType<string, Partial<import("../../graph").EdgeConfig & Edge & import("../../graph").GraphEdge>>;
8
- export declare const exchangeEdges: (t: Graph, g: Graph, e: Edge, f: Edge) => void;
9
- export default networkSimplex;
@@ -1,205 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exchangeEdges = exports.enterEdge = exports.leaveEdge = exports.initLowLimValues = exports.calcCutValue = exports.initCutValues = void 0;
4
- var feasible_tree_1 = require("./feasible-tree");
5
- var util_1 = require("./util");
6
- var util_2 = require("../util");
7
- var graphlib_1 = require("@antv/graphlib");
8
- var preorder = graphlib_1.algorithm.preorder, postorder = graphlib_1.algorithm.postorder;
9
- /*
10
- * The network simplex algorithm assigns ranks to each node in the input graph
11
- * and iteratively improves the ranking to reduce the length of edges.
12
- *
13
- * Preconditions:
14
- *
15
- * 1. The input graph must be a DAG.
16
- * 2. All nodes in the graph must have an object value.
17
- * 3. All edges in the graph must have "minlen" and "weight" attributes.
18
- *
19
- * Postconditions:
20
- *
21
- * 1. All nodes in the graph will have an assigned "rank" attribute that has
22
- * been optimized by the network simplex algorithm. Ranks start at 0.
23
- *
24
- *
25
- * A rough sketch of the algorithm is as follows:
26
- *
27
- * 1. Assign initial ranks to each node. We use the longest path algorithm,
28
- * which assigns ranks to the lowest position possible. In general this
29
- * leads to very wide bottom ranks and unnecessarily long edges.
30
- * 2. Construct a feasible tight tree. A tight tree is one such that all
31
- * edges in the tree have no slack (difference between length of edge
32
- * and minlen for the edge). This by itself greatly improves the assigned
33
- * rankings by shorting edges.
34
- * 3. Iteratively find edges that have negative cut values. Generally a
35
- * negative cut value indicates that the edge could be removed and a new
36
- * tree edge could be added to produce a more compact graph.
37
- *
38
- * Much of the algorithms here are derived from Gansner, et al., "A Technique
39
- * for Drawing Directed Graphs." The structure of the file roughly follows the
40
- * structure of the overall algorithm.
41
- */
42
- var networkSimplex = function (og) {
43
- var g = (0, util_2.simplify)(og);
44
- (0, util_1.longestPath)(g);
45
- var t = (0, feasible_tree_1.feasibleTree)(g);
46
- (0, exports.initLowLimValues)(t);
47
- (0, exports.initCutValues)(t, g);
48
- var e;
49
- var f;
50
- while ((e = (0, exports.leaveEdge)(t))) {
51
- f = (0, exports.enterEdge)(t, g, e);
52
- (0, exports.exchangeEdges)(t, g, e, f);
53
- }
54
- };
55
- /*
56
- * Initializes cut values for all edges in the tree.
57
- */
58
- var initCutValues = function (t, g) {
59
- var vs = postorder(t, t.nodes());
60
- vs = vs === null || vs === void 0 ? void 0 : vs.slice(0, (vs === null || vs === void 0 ? void 0 : vs.length) - 1);
61
- vs === null || vs === void 0 ? void 0 : vs.forEach(function (v) {
62
- assignCutValue(t, g, v);
63
- });
64
- };
65
- exports.initCutValues = initCutValues;
66
- var assignCutValue = function (t, g, child) {
67
- var childLab = t.node(child);
68
- var parent = childLab.parent;
69
- t.edgeFromArgs(child, parent).cutvalue = (0, exports.calcCutValue)(t, g, child);
70
- };
71
- /*
72
- * Given the tight tree, its graph, and a child in the graph calculate and
73
- * return the cut value for the edge between the child and its parent.
74
- */
75
- var calcCutValue = function (t, g, child) {
76
- var _a;
77
- var childLab = t.node(child);
78
- var parent = childLab.parent;
79
- // True if the child is on the tail end of the edge in the directed graph
80
- var childIsTail = true;
81
- // The graph's view of the tree edge we're inspecting
82
- var graphEdge = g.edgeFromArgs(child, parent);
83
- // The accumulated cut value for the edge between this node and its parent
84
- var cutValue = 0;
85
- if (!graphEdge) {
86
- childIsTail = false;
87
- graphEdge = g.edgeFromArgs(parent, child);
88
- }
89
- cutValue = graphEdge.weight;
90
- (_a = g.nodeEdges(child)) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
91
- var isOutEdge = e.v === child;
92
- var other = isOutEdge ? e.w : e.v;
93
- if (other !== parent) {
94
- var pointsToHead = isOutEdge === childIsTail;
95
- var otherWeight = g.edge(e).weight;
96
- cutValue += pointsToHead ? otherWeight : -otherWeight;
97
- if (isTreeEdge(t, child, other)) {
98
- var otherCutValue = t.edgeFromArgs(child, other).cutvalue;
99
- cutValue += pointsToHead ? -otherCutValue : otherCutValue;
100
- }
101
- }
102
- });
103
- return cutValue;
104
- };
105
- exports.calcCutValue = calcCutValue;
106
- var initLowLimValues = function (tree, root) {
107
- if (root === void 0) { root = tree.nodes()[0]; }
108
- dfsAssignLowLim(tree, {}, 1, root);
109
- };
110
- exports.initLowLimValues = initLowLimValues;
111
- var dfsAssignLowLim = function (tree, visited, nextLim, v, parent) {
112
- var _a;
113
- var low = nextLim;
114
- var useNextLim = nextLim;
115
- var label = tree.node(v);
116
- visited[v] = true;
117
- (_a = tree.neighbors(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (w) {
118
- if (!visited[w]) {
119
- useNextLim = dfsAssignLowLim(tree, visited, useNextLim, w, v);
120
- }
121
- });
122
- label.low = low;
123
- label.lim = useNextLim++;
124
- if (parent) {
125
- label.parent = parent;
126
- }
127
- else {
128
- // TODO should be able to remove this when we incrementally update low lim
129
- delete label.parent;
130
- }
131
- return useNextLim;
132
- };
133
- var leaveEdge = function (tree) {
134
- return tree.edges().find(function (e) {
135
- return tree.edge(e).cutvalue < 0;
136
- });
137
- };
138
- exports.leaveEdge = leaveEdge;
139
- var enterEdge = function (t, g, edge) {
140
- var v = edge.v;
141
- var w = edge.w;
142
- // For the rest of this function we assume that v is the tail and w is the
143
- // head, so if we don't have this edge in the graph we should flip it to
144
- // match the correct orientation.
145
- if (!g.hasEdge(v, w)) {
146
- v = edge.w;
147
- w = edge.v;
148
- }
149
- var vLabel = t.node(v);
150
- var wLabel = t.node(w);
151
- var tailLabel = vLabel;
152
- var flip = false;
153
- // If the root is in the tail of the edge then we need to flip the logic that
154
- // checks for the head and tail nodes in the candidates function below.
155
- if (vLabel.lim > wLabel.lim) {
156
- tailLabel = wLabel;
157
- flip = true;
158
- }
159
- var candidates = g.edges().filter(function (edge) {
160
- return flip === isDescendant(t, t.node(edge.v), tailLabel) &&
161
- flip !== isDescendant(t, t.node(edge.w), tailLabel);
162
- });
163
- return (0, util_2.minBy)(candidates, function (edge) { return (0, util_1.slack)(g, edge); });
164
- };
165
- exports.enterEdge = enterEdge;
166
- var exchangeEdges = function (t, g, e, f) {
167
- var v = e.v;
168
- var w = e.w;
169
- t.removeEdge(v, w);
170
- t.setEdge(f.v, f.w, {});
171
- (0, exports.initLowLimValues)(t);
172
- (0, exports.initCutValues)(t, g);
173
- updateRanks(t, g);
174
- };
175
- exports.exchangeEdges = exchangeEdges;
176
- var updateRanks = function (t, g) {
177
- var root = t.nodes().find(function (v) { var _a; return !((_a = g.node(v)) === null || _a === void 0 ? void 0 : _a.parent); });
178
- var vs = preorder(t, root);
179
- vs = vs === null || vs === void 0 ? void 0 : vs.slice(1);
180
- vs === null || vs === void 0 ? void 0 : vs.forEach(function (v) {
181
- var parent = t.node(v).parent;
182
- var edge = g.edgeFromArgs(v, parent);
183
- var flipped = false;
184
- if (!edge) {
185
- edge = g.edgeFromArgs(parent, v);
186
- flipped = true;
187
- }
188
- g.node(v).rank = g.node(parent).rank + (flipped ? edge.minlen : -edge.minlen);
189
- });
190
- };
191
- /*
192
- * Returns true if the edge is in the tree.
193
- */
194
- var isTreeEdge = function (tree, u, v) {
195
- return tree.hasEdge(u, v);
196
- };
197
- /*
198
- * Returns true if the specified node is descendant of the root node per the
199
- * assigned low and lim attributes in the tree.
200
- */
201
- var isDescendant = function (tree, vLabel, rootLabel) {
202
- return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim;
203
- };
204
- exports.default = networkSimplex;
205
- //# sourceMappingURL=network-simplex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-simplex.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/network-simplex.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { Edge, Graph } from "../../graph";
2
- declare const longestPath: (g: Graph) => void;
3
- declare const longestPathWithLayer: (g: Graph) => void;
4
- declare const slack: (g: Graph, e: Edge) => number;
5
- export { longestPath, longestPathWithLayer, slack };
6
- declare const _default: {
7
- longestPath: (g: Graph) => void;
8
- longestPathWithLayer: (g: Graph) => void;
9
- slack: (g: Graph, e: Edge) => number;
10
- };
11
- export default _default;
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.slack = exports.longestPathWithLayer = exports.longestPath = void 0;
4
- /*
5
- * Initializes ranks for the input graph using the longest path algorithm. This
6
- * algorithm scales well and is fast in practice, it yields rather poor
7
- * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom
8
- * ranks wide and leaving edges longer than necessary. However, due to its
9
- * speed, this algorithm is good for getting an initial ranking that can be fed
10
- * into other algorithms.
11
- *
12
- * This algorithm does not normalize layers because it will be used by other
13
- * algorithms in most cases. If using this algorithm directly, be sure to
14
- * run normalize at the end.
15
- *
16
- * Pre-conditions:
17
- *
18
- * 1. Input graph is a DAG.
19
- * 2. Input graph node labels can be assigned properties.
20
- *
21
- * Post-conditions:
22
- *
23
- * 1. Each node will be assign an (unnormalized) "rank" property.
24
- */
25
- var longestPath = function (g) {
26
- var _a;
27
- var visited = {};
28
- var dfs = function (v) {
29
- var _a;
30
- var label = g.node(v);
31
- if (!label)
32
- return 0;
33
- if (visited[v]) {
34
- return label.rank;
35
- }
36
- visited[v] = true;
37
- var rank;
38
- (_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (edgeObj) {
39
- var wRank = dfs(edgeObj.w);
40
- var minLen = g.edge(edgeObj).minlen;
41
- var r = wRank - minLen;
42
- if (r) {
43
- if (rank === undefined || r < rank) {
44
- rank = r;
45
- }
46
- }
47
- });
48
- if (!rank) {
49
- rank = 0;
50
- }
51
- label.rank = rank;
52
- return rank;
53
- };
54
- (_a = g.sources()) === null || _a === void 0 ? void 0 : _a.forEach(function (source) { return dfs(source); });
55
- };
56
- exports.longestPath = longestPath;
57
- var longestPathWithLayer = function (g) {
58
- var _a;
59
- // 用longest path,找出最深的点
60
- var visited = {};
61
- var minRank;
62
- var dfs = function (v) {
63
- var _a;
64
- var label = g.node(v);
65
- if (!label)
66
- return 0;
67
- if (visited[v]) {
68
- return label.rank;
69
- }
70
- visited[v] = true;
71
- var rank;
72
- (_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (edgeObj) {
73
- var wRank = dfs(edgeObj.w);
74
- var minLen = g.edge(edgeObj).minlen;
75
- var r = wRank - minLen;
76
- if (r) {
77
- if (rank === undefined || r < rank) {
78
- rank = r;
79
- }
80
- }
81
- });
82
- if (!rank) {
83
- rank = 0;
84
- }
85
- if (minRank === undefined || rank < minRank) {
86
- minRank = rank;
87
- }
88
- label.rank = rank;
89
- return rank;
90
- };
91
- (_a = g.sources()) === null || _a === void 0 ? void 0 : _a.forEach(function (source) {
92
- if (g.node(source))
93
- dfs(source);
94
- });
95
- if (minRank === undefined) {
96
- minRank = 0;
97
- }
98
- // minRank += 1; // NOTE: 最小的层级是dummy root,+1
99
- // forward一遍,赋值层级
100
- var forwardVisited = {};
101
- var dfsForward = function (v, nextRank) {
102
- var _a;
103
- var label = g.node(v);
104
- var currRank = (!isNaN(label.layer) ? label.layer : nextRank);
105
- // 没有指定,取最大值
106
- if (label.rank === undefined || label.rank < currRank) {
107
- label.rank = currRank;
108
- }
109
- if (forwardVisited[v])
110
- return;
111
- forwardVisited[v] = true;
112
- // DFS遍历子节点
113
- (_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.map(function (e) {
114
- dfsForward(e.w, currRank + g.edge(e).minlen);
115
- });
116
- };
117
- // 指定层级的,更新下游
118
- g.nodes().forEach(function (n) {
119
- var label = g.node(n);
120
- if (!label)
121
- return;
122
- if (!isNaN(label.layer)) {
123
- dfsForward(n, label.layer); // 默认的dummy root所在层的rank是-1
124
- }
125
- else {
126
- label.rank -= minRank;
127
- }
128
- });
129
- };
130
- exports.longestPathWithLayer = longestPathWithLayer;
131
- /*
132
- * Returns the amount of slack for the given edge. The slack is defined as the
133
- * difference between the length of the edge and its minimum length.
134
- */
135
- var slack = function (g, e) {
136
- return (g.node(e.w).rank -
137
- g.node(e.v).rank -
138
- g.edge(e).minlen);
139
- };
140
- exports.slack = slack;
141
- exports.default = {
142
- longestPath: longestPath,
143
- longestPathWithLayer: longestPathWithLayer,
144
- slack: slack,
145
- };
146
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/util.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { Graph, Node } from "../graph";
2
- export declare const addDummyNode: (g: Graph, type: string, attrs: Node<Record<string, any>>, name: string) => string;
3
- export declare const simplify: (g: Graph) => Graph;
4
- export declare const asNonCompoundGraph: (g: Graph) => Graph;
5
- export declare const zipObject: <T = any>(keys: string[], values: T[]) => Record<string, T>;
6
- export declare const successorWeights: (g: Graph) => Record<string, Record<string, number>>;
7
- export declare const predecessorWeights: (g: Graph) => Record<string, Record<string, number>>;
8
- export declare const intersectRect: (rect: {
9
- x?: number | undefined;
10
- y?: number | undefined;
11
- width?: number | undefined;
12
- height?: number | undefined;
13
- }, point: {
14
- x?: number | undefined;
15
- y?: number | undefined;
16
- }) => {
17
- x: number;
18
- y: number;
19
- };
20
- export declare const buildLayerMatrix: (g: Graph) => string[][];
21
- export declare const normalizeRanks: (g: Graph) => void;
22
- export declare const removeEmptyRanks: (g: Graph) => void;
23
- export declare const addBorderNode: (g: Graph, prefix: string, rank?: number, order?: number) => string;
24
- export declare const maxRank: (g: Graph) => number;
25
- export declare const partition: <T = any>(collection: T[], fn: (val: T) => boolean) => {
26
- lhs: T[];
27
- rhs: T[];
28
- };
29
- export declare const time: (name: string, fn: () => void) => void;
30
- export declare const notime: (name: string, fn: () => void) => void;
31
- export declare const minBy: <T = any>(array: T[], func: (param: T) => number) => T;