@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,409 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.width = exports.sep = exports.positionX = exports.balance = exports.alignCoordinates = exports.findSmallestWidthAlignment = exports.buildBlockGraph = exports.horizontalCompaction = exports.verticalAlignment = exports.hasConflict = exports.addConflict = exports.findOtherInnerSegmentNode = exports.findType2Conflicts = exports.findType1Conflicts = void 0;
19
- /*
20
- * This module provides coordinate assignment based on Brandes and Köpf, "Fast
21
- * and Simple Horizontal Coordinate Assignment."
22
- */
23
- var graphlib_1 = require("@antv/graphlib");
24
- var util_1 = require("../util");
25
- var BlockGraph = /** @class */ (function (_super) {
26
- __extends(BlockGraph, _super);
27
- function BlockGraph() {
28
- return _super !== null && _super.apply(this, arguments) || this;
29
- }
30
- return BlockGraph;
31
- }(graphlib_1.Graph));
32
- var findType1Conflicts = function (g, layering) {
33
- var conflicts = {};
34
- var visitLayer = function (prevLayer, layer) {
35
- // last visited node in the previous layer that is incident on an inner
36
- // segment.
37
- var k0 = 0;
38
- // Tracks the last node in this layer scanned for crossings with a type-1
39
- // segment.
40
- var scanPos = 0;
41
- var prevLayerLength = prevLayer.length;
42
- var lastNode = layer === null || layer === void 0 ? void 0 : layer[(layer === null || layer === void 0 ? void 0 : layer.length) - 1];
43
- layer === null || layer === void 0 ? void 0 : layer.forEach(function (v, i) {
44
- var _a;
45
- var w = (0, exports.findOtherInnerSegmentNode)(g, v);
46
- var k1 = w ? g.node(w).order : prevLayerLength;
47
- if (w || v === lastNode) {
48
- (_a = layer.slice(scanPos, i + 1)) === null || _a === void 0 ? void 0 : _a.forEach(function (scanNode) {
49
- var _a;
50
- (_a = g.predecessors(scanNode)) === null || _a === void 0 ? void 0 : _a.forEach(function (u) {
51
- var _a;
52
- var uLabel = g.node(u);
53
- var uPos = uLabel.order;
54
- if ((uPos < k0 || k1 < uPos) &&
55
- !(uLabel.dummy && ((_a = g.node(scanNode)) === null || _a === void 0 ? void 0 : _a.dummy))) {
56
- (0, exports.addConflict)(conflicts, u, scanNode);
57
- }
58
- });
59
- });
60
- scanPos = i + 1;
61
- k0 = k1;
62
- }
63
- });
64
- return layer;
65
- };
66
- if (layering === null || layering === void 0 ? void 0 : layering.length) {
67
- layering.reduce(visitLayer);
68
- }
69
- return conflicts;
70
- };
71
- exports.findType1Conflicts = findType1Conflicts;
72
- var findType2Conflicts = function (g, layering) {
73
- var conflicts = {};
74
- var scan = function (south, southPos, southEnd, prevNorthBorder, nextNorthBorder) {
75
- var v;
76
- var range = [];
77
- for (var i = southPos; i < southEnd; i++) {
78
- range.push(i);
79
- }
80
- range.forEach(function (i) {
81
- var _a, _b;
82
- v = south[i];
83
- if ((_a = g.node(v)) === null || _a === void 0 ? void 0 : _a.dummy) {
84
- (_b = g.predecessors(v)) === null || _b === void 0 ? void 0 : _b.forEach(function (u) {
85
- var uNode = g.node(u);
86
- if (uNode.dummy &&
87
- (uNode.order < prevNorthBorder ||
88
- uNode.order > nextNorthBorder)) {
89
- (0, exports.addConflict)(conflicts, u, v);
90
- }
91
- });
92
- }
93
- });
94
- };
95
- var visitLayer = function (north, south) {
96
- var prevNorthPos = -1;
97
- var nextNorthPos;
98
- var southPos = 0;
99
- south === null || south === void 0 ? void 0 : south.forEach(function (v, southLookahead) {
100
- var _a;
101
- if (((_a = g.node(v)) === null || _a === void 0 ? void 0 : _a.dummy) === "border") {
102
- var predecessors = g.predecessors(v) || [];
103
- if (predecessors.length) {
104
- nextNorthPos = g.node(predecessors[0]).order;
105
- scan(south, southPos, southLookahead, prevNorthPos, nextNorthPos);
106
- southPos = southLookahead;
107
- prevNorthPos = nextNorthPos;
108
- }
109
- }
110
- scan(south, southPos, south.length, nextNorthPos, north.length);
111
- });
112
- return south;
113
- };
114
- if (layering === null || layering === void 0 ? void 0 : layering.length) {
115
- layering.reduce(visitLayer);
116
- }
117
- return conflicts;
118
- };
119
- exports.findType2Conflicts = findType2Conflicts;
120
- var findOtherInnerSegmentNode = function (g, v) {
121
- var _a, _b;
122
- if ((_a = g.node(v)) === null || _a === void 0 ? void 0 : _a.dummy) {
123
- return (_b = g.predecessors(v)) === null || _b === void 0 ? void 0 : _b.find(function (u) { return g.node(u).dummy; });
124
- }
125
- };
126
- exports.findOtherInnerSegmentNode = findOtherInnerSegmentNode;
127
- var addConflict = function (conflicts, v, w) {
128
- var vv = v;
129
- var ww = w;
130
- if (vv > ww) {
131
- var tmp = vv;
132
- vv = ww;
133
- ww = tmp;
134
- }
135
- var conflictsV = conflicts[vv];
136
- if (!conflictsV) {
137
- conflicts[vv] = conflictsV = {};
138
- }
139
- conflictsV[ww] = true;
140
- };
141
- exports.addConflict = addConflict;
142
- var hasConflict = function (conflicts, v, w) {
143
- var vv = v;
144
- var ww = w;
145
- if (vv > ww) {
146
- var tmp = v;
147
- vv = ww;
148
- ww = tmp;
149
- }
150
- return !!conflicts[vv];
151
- };
152
- exports.hasConflict = hasConflict;
153
- /*
154
- * Try to align nodes into vertical "blocks" where possible. This algorithm
155
- * attempts to align a node with one of its median neighbors. If the edge
156
- * connecting a neighbor is a type-1 conflict then we ignore that possibility.
157
- * If a previous node has already formed a block with a node after the node
158
- * we're trying to form a block with, we also ignore that possibility - our
159
- * blocks would be split in that scenario.
160
- */
161
- var verticalAlignment = function (g, layering, conflicts, neighborFn) {
162
- var root = {};
163
- var align = {};
164
- var pos = {};
165
- // We cache the position here based on the layering because the graph and
166
- // layering may be out of sync. The layering matrix is manipulated to
167
- // generate different extreme alignments.
168
- layering === null || layering === void 0 ? void 0 : layering.forEach(function (layer) {
169
- layer === null || layer === void 0 ? void 0 : layer.forEach(function (v, order) {
170
- root[v] = v;
171
- align[v] = v;
172
- pos[v] = order;
173
- });
174
- });
175
- layering === null || layering === void 0 ? void 0 : layering.forEach(function (layer) {
176
- var prevIdx = -1;
177
- layer === null || layer === void 0 ? void 0 : layer.forEach(function (v) {
178
- var ws = neighborFn(v);
179
- if (ws.length) {
180
- ws = ws.sort(function (a, b) { return pos[a] - pos[b]; });
181
- var mp = (ws.length - 1) / 2;
182
- for (var i = Math.floor(mp), il = Math.ceil(mp); i <= il; ++i) {
183
- var w = ws[i];
184
- if (align[v] === v &&
185
- prevIdx < pos[w] &&
186
- !(0, exports.hasConflict)(conflicts, v, w)) {
187
- align[w] = v;
188
- align[v] = root[v] = root[w];
189
- prevIdx = pos[w];
190
- }
191
- }
192
- }
193
- });
194
- });
195
- return { root: root, align: align };
196
- };
197
- exports.verticalAlignment = verticalAlignment;
198
- var horizontalCompaction = function (g, layering, root, align, reverseSep) {
199
- var _a;
200
- // This portion of the algorithm differs from BK due to a number of problems.
201
- // Instead of their algorithm we construct a new block graph and do two
202
- // sweeps. The first sweep places blocks with the smallest possible
203
- // coordinates. The second sweep removes unused space by moving blocks to the
204
- // greatest coordinates without violating separation.
205
- var xs = {};
206
- var blockG = (0, exports.buildBlockGraph)(g, layering, root, reverseSep);
207
- var borderType = reverseSep ? "borderLeft" : "borderRight";
208
- var iterate = function (setXsFunc, nextNodesFunc) {
209
- var stack = blockG.nodes();
210
- var elem = stack.pop();
211
- var visited = {};
212
- while (elem) {
213
- if (visited[elem]) {
214
- setXsFunc(elem);
215
- }
216
- else {
217
- visited[elem] = true;
218
- stack.push(elem);
219
- stack = stack.concat(nextNodesFunc(elem));
220
- }
221
- elem = stack.pop();
222
- }
223
- };
224
- // First pass, assign smallest coordinates
225
- var pass1 = function (elem) {
226
- xs[elem] = (blockG.inEdges(elem) || []).reduce(function (acc, e) {
227
- return Math.max(acc, (xs[e.v] || 0) + blockG.edge(e));
228
- }, 0);
229
- };
230
- // Second pass, assign greatest coordinates
231
- var pass2 = function (elem) {
232
- var min = (blockG.outEdges(elem) || []).reduce(function (acc, e) {
233
- return Math.min(acc, (xs[e.w] || 0) - blockG.edge(e));
234
- }, Number.POSITIVE_INFINITY);
235
- var node = g.node(elem);
236
- if (min !== Number.POSITIVE_INFINITY && node.borderType !== borderType) {
237
- xs[elem] = Math.max(xs[elem], min);
238
- }
239
- };
240
- iterate(pass1, blockG.predecessors.bind(blockG));
241
- iterate(pass2, blockG.successors.bind(blockG));
242
- // Assign x coordinates to all nodes
243
- (_a = Object.values(align)) === null || _a === void 0 ? void 0 : _a.forEach(function (v) {
244
- xs[v] = xs[root[v]];
245
- });
246
- return xs;
247
- };
248
- exports.horizontalCompaction = horizontalCompaction;
249
- var buildBlockGraph = function (g, layering, root, reverseSep) {
250
- var blockGraph = new BlockGraph();
251
- var graphLabel = g.graph();
252
- var sepFn = (0, exports.sep)(graphLabel.nodesep, graphLabel.edgesep, reverseSep);
253
- layering === null || layering === void 0 ? void 0 : layering.forEach(function (layer) {
254
- var u;
255
- layer === null || layer === void 0 ? void 0 : layer.forEach(function (v) {
256
- var vRoot = root[v];
257
- blockGraph.setNode(vRoot);
258
- if (u) {
259
- var uRoot = root[u];
260
- var prevMax = blockGraph.edgeFromArgs(uRoot, vRoot);
261
- blockGraph.setEdge(uRoot, vRoot, Math.max(sepFn(g, v, u), prevMax || 0));
262
- }
263
- u = v;
264
- });
265
- });
266
- return blockGraph;
267
- };
268
- exports.buildBlockGraph = buildBlockGraph;
269
- /*
270
- * Returns the alignment that has the smallest width of the given alignments.
271
- */
272
- var findSmallestWidthAlignment = function (g, xss) {
273
- return (0, util_1.minBy)(Object.values(xss), function (xs) {
274
- var _a;
275
- var max = Number.NEGATIVE_INFINITY;
276
- var min = Number.POSITIVE_INFINITY;
277
- (_a = Object.keys(xs)) === null || _a === void 0 ? void 0 : _a.forEach(function (v) {
278
- var x = xs[v];
279
- var halfWidth = (0, exports.width)(g, v) / 2;
280
- max = Math.max(x + halfWidth, max);
281
- min = Math.min(x - halfWidth, min);
282
- });
283
- return max - min;
284
- });
285
- };
286
- exports.findSmallestWidthAlignment = findSmallestWidthAlignment;
287
- /*
288
- * Align the coordinates of each of the layout alignments such that
289
- * left-biased alignments have their minimum coordinate at the same point as
290
- * the minimum coordinate of the smallest width alignment and right-biased
291
- * alignments have their maximum coordinate at the same point as the maximum
292
- * coordinate of the smallest width alignment.
293
- */
294
- function alignCoordinates(xss, alignTo) {
295
- // @ts-ignore
296
- var alignToVals = Object.values(alignTo);
297
- var alignToMin = Math.min.apply(Math, alignToVals);
298
- var alignToMax = Math.max.apply(Math, alignToVals);
299
- ["u", "d"].forEach(function (vert) {
300
- ["l", "r"].forEach(function (horiz) {
301
- var alignment = vert + horiz;
302
- var xs = xss[alignment];
303
- var delta;
304
- if (xs === alignTo)
305
- return;
306
- var xsVals = Object.values(xs);
307
- delta =
308
- horiz === "l"
309
- ? alignToMin - Math.min.apply(Math, xsVals)
310
- : alignToMax - Math.max.apply(Math, xsVals);
311
- if (delta) {
312
- xss[alignment] = {};
313
- Object.keys(xs).forEach(function (key) {
314
- xss[alignment][key] = xs[key] + delta;
315
- });
316
- }
317
- });
318
- });
319
- }
320
- exports.alignCoordinates = alignCoordinates;
321
- var balance = function (xss, align) {
322
- var result = {};
323
- Object.keys(xss.ul).forEach(function (key) {
324
- if (align) {
325
- result[key] = xss[align.toLowerCase()][key];
326
- }
327
- else {
328
- var values = Object.values(xss).map(function (x) { return x[key]; });
329
- result[key] = (values[0] + values[1]) / 2; // (ur + ul) / 2
330
- }
331
- });
332
- return result;
333
- };
334
- exports.balance = balance;
335
- var positionX = function (g) {
336
- var layering = (0, util_1.buildLayerMatrix)(g);
337
- var conflicts = Object.assign((0, exports.findType1Conflicts)(g, layering), (0, exports.findType2Conflicts)(g, layering));
338
- var xss = {};
339
- var adjustedLayering;
340
- ["u", "d"].forEach(function (vert) {
341
- adjustedLayering =
342
- vert === "u" ? layering : Object.values(layering).reverse();
343
- ["l", "r"].forEach(function (horiz) {
344
- if (horiz === "r") {
345
- adjustedLayering = adjustedLayering.map(function (inner) {
346
- return Object.values(inner).reverse();
347
- });
348
- }
349
- var neighborFn = (vert === "u" ? g.predecessors : g.successors).bind(g);
350
- var align = (0, exports.verticalAlignment)(g, adjustedLayering, conflicts, neighborFn);
351
- var xs = (0, exports.horizontalCompaction)(g, adjustedLayering, align.root, align.align, horiz === "r");
352
- if (horiz === "r") {
353
- Object.keys(xs).forEach(function (key) {
354
- xs[key] = -xs[key];
355
- });
356
- }
357
- xss[vert + horiz] = xs;
358
- });
359
- });
360
- var smallestWidth = (0, exports.findSmallestWidthAlignment)(g, xss);
361
- alignCoordinates(xss, smallestWidth);
362
- return (0, exports.balance)(xss, g.graph().align);
363
- };
364
- exports.positionX = positionX;
365
- var sep = function (nodeSep, edgeSep, reverseSep) {
366
- return function (g, v, w) {
367
- var vLabel = g.node(v);
368
- var wLabel = g.node(w);
369
- var sum = 0;
370
- var delta;
371
- sum += vLabel.width / 2;
372
- if (vLabel.hasOwnProperty("labelpos")) {
373
- switch ((vLabel.labelpos || "").toLowerCase()) {
374
- case "l":
375
- delta = -vLabel.width / 2;
376
- break;
377
- case "r":
378
- delta = vLabel.width / 2;
379
- break;
380
- }
381
- }
382
- if (delta) {
383
- sum += reverseSep ? delta : -delta;
384
- }
385
- delta = 0;
386
- sum += (vLabel.dummy ? edgeSep : nodeSep) / 2;
387
- sum += (wLabel.dummy ? edgeSep : nodeSep) / 2;
388
- sum += wLabel.width / 2;
389
- if (wLabel.labelpos) {
390
- switch ((wLabel.labelpos || "").toLowerCase()) {
391
- case "l":
392
- delta = wLabel.width / 2;
393
- break;
394
- case "r":
395
- delta = -wLabel.width / 2;
396
- break;
397
- }
398
- }
399
- if (delta) {
400
- sum += reverseSep ? delta : -delta;
401
- }
402
- delta = 0;
403
- return sum;
404
- };
405
- };
406
- exports.sep = sep;
407
- var width = function (g, v) { return g.node(v).width || 0; };
408
- exports.width = width;
409
- //# sourceMappingURL=bk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bk.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/position/bk.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Graph } from "../../graph";
2
- declare const position: (g: Graph) => void;
3
- export default position;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- var util_1 = require("../util");
13
- var bk_1 = require("./bk");
14
- var positionY = function (g) {
15
- var layering = (0, util_1.buildLayerMatrix)(g);
16
- var rankSep = g.graph().ranksep;
17
- var prevY = 0;
18
- layering === null || layering === void 0 ? void 0 : layering.forEach(function (layer) {
19
- var heights = layer.map(function (v) { return g.node(v).height; });
20
- var maxHeight = Math.max.apply(Math, __spreadArray(__spreadArray([], heights, false), [0], false));
21
- layer === null || layer === void 0 ? void 0 : layer.forEach(function (v) {
22
- g.node(v).y = prevY + maxHeight / 2;
23
- });
24
- prevY += maxHeight + rankSep;
25
- });
26
- };
27
- var positionX = function (g) {
28
- var layering = (0, util_1.buildLayerMatrix)(g);
29
- var conflicts = Object.assign((0, bk_1.findType1Conflicts)(g, layering), (0, bk_1.findType2Conflicts)(g, layering));
30
- var xss = {};
31
- var adjustedLayering = [];
32
- ["u", "d"].forEach(function (vert) {
33
- adjustedLayering =
34
- vert === "u" ? layering : Object.values(layering).reverse();
35
- ["l", "r"].forEach(function (horiz) {
36
- if (horiz === "r") {
37
- adjustedLayering = adjustedLayering.map(function (inner) {
38
- return Object.values(inner).reverse();
39
- });
40
- }
41
- var neighborFn = (vert === "u" ? g.predecessors : g.successors).bind(g);
42
- var align = (0, bk_1.verticalAlignment)(g, adjustedLayering, conflicts, neighborFn);
43
- var xs = (0, bk_1.horizontalCompaction)(g, adjustedLayering, align.root, align.align, horiz === "r");
44
- if (horiz === "r") {
45
- Object.keys(xs).forEach(function (xsKey) { return (xs[xsKey] = -xs[xsKey]); });
46
- }
47
- xss[vert + horiz] = xs;
48
- });
49
- });
50
- var smallestWidth = (0, bk_1.findSmallestWidthAlignment)(g, xss);
51
- smallestWidth && (0, bk_1.alignCoordinates)(xss, smallestWidth);
52
- return (0, bk_1.balance)(xss, g.graph().align);
53
- };
54
- var position = function (g) {
55
- var _a;
56
- var ng = (0, util_1.asNonCompoundGraph)(g);
57
- positionY(ng);
58
- var xs = positionX(ng);
59
- (_a = Object.keys(xs)) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {
60
- ng.node(key).x = xs[key];
61
- });
62
- };
63
- exports.default = position;
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/position/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { Graph } from '../../graph';
2
- declare const feasibleTree: (g: Graph) => Graph;
3
- declare const feasibleTreeWithLayer: (g: Graph) => any;
4
- export { feasibleTree, feasibleTreeWithLayer };
5
- declare const _default: {
6
- feasibleTree: (g: Graph) => Graph;
7
- feasibleTreeWithLayer: (g: Graph) => any;
8
- };
9
- export default _default;
@@ -1,152 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.feasibleTreeWithLayer = exports.feasibleTree = void 0;
4
- var util_1 = require("./util");
5
- var util_2 = require("../util");
6
- var graph_1 = require("../../graph");
7
- /*
8
- * Constructs a spanning tree with tight edges and adjusted the input node's
9
- * ranks to achieve this. A tight edge is one that is has a length that matches
10
- * its "minlen" attribute.
11
- *
12
- * The basic structure for this function is derived from Gansner, et al., "A
13
- * Technique for Drawing Directed Graphs."
14
- *
15
- * Pre-conditions:
16
- *
17
- * 1. Graph must be a DAG.
18
- * 2. Graph must be connected.
19
- * 3. Graph must have at least one node.
20
- * 5. Graph nodes must have been previously assigned a "rank" property that
21
- * respects the "minlen" property of incident edges.
22
- * 6. Graph edges must have a "minlen" property.
23
- *
24
- * Post-conditions:
25
- *
26
- * - Graph nodes will have their rank adjusted to ensure that all edges are
27
- * tight.
28
- *
29
- * Returns a tree (undirected graph) that is constructed using only "tight"
30
- * edges.
31
- */
32
- var feasibleTree = function (g) {
33
- var t = new graph_1.Graph({ directed: false });
34
- // Choose arbitrary node from which to start our tree
35
- var start = g.nodes()[0];
36
- var size = g.nodeCount();
37
- t.setNode(start, {});
38
- var edge;
39
- var delta;
40
- while (tightTree(t, g) < size) {
41
- edge = findMinSlackEdge(t, g);
42
- delta = t.hasNode(edge.v) ? (0, util_1.slack)(g, edge) : -(0, util_1.slack)(g, edge);
43
- shiftRanks(t, g, delta);
44
- }
45
- return t;
46
- };
47
- exports.feasibleTree = feasibleTree;
48
- /*
49
- * Finds a maximal tree of tight edges and returns the number of nodes in the
50
- * tree.
51
- */
52
- var tightTree = function (t, g) {
53
- var dfs = function (v) {
54
- g.nodeEdges(v).forEach(function (e) {
55
- var edgeV = e.v;
56
- var w = (v === edgeV) ? e.w : edgeV;
57
- if (!t.hasNode(w) && !(0, util_1.slack)(g, e)) {
58
- t.setNode(w, {});
59
- t.setEdge(v, w, {});
60
- dfs(w);
61
- }
62
- });
63
- };
64
- t.nodes().forEach(dfs);
65
- return t.nodeCount();
66
- };
67
- /*
68
- * Constructs a spanning tree with tight edges and adjusted the input node's
69
- * ranks to achieve this. A tight edge is one that is has a length that matches
70
- * its "minlen" attribute.
71
- *
72
- * The basic structure for this function is derived from Gansner, et al., "A
73
- * Technique for Drawing Directed Graphs."
74
- *
75
- * Pre-conditions:
76
- *
77
- * 1. Graph must be a DAG.
78
- * 2. Graph must be connected.
79
- * 3. Graph must have at least one node.
80
- * 5. Graph nodes must have been previously assigned a "rank" property that
81
- * respects the "minlen" property of incident edges.
82
- * 6. Graph edges must have a "minlen" property.
83
- *
84
- * Post-conditions:
85
- *
86
- * - Graph nodes will have their rank adjusted to ensure that all edges are
87
- * tight.
88
- *
89
- * Returns a tree (undirected graph) that is constructed using only "tight"
90
- * edges.
91
- */
92
- var feasibleTreeWithLayer = function (g) {
93
- var t = new graph_1.Graph({ directed: false });
94
- // Choose arbitrary node from which to start our tree
95
- var start = g.nodes()[0];
96
- var size = g.nodes().filter(function (n) { return !!g.node(n); }).length;
97
- t.setNode(start, {});
98
- var edge;
99
- var delta;
100
- while (tightTreeWithLayer(t, g) < size) {
101
- edge = findMinSlackEdge(t, g);
102
- delta = t.hasNode(edge.v) ? (0, util_1.slack)(g, edge) : -(0, util_1.slack)(g, edge);
103
- shiftRanks(t, g, delta);
104
- }
105
- return t;
106
- };
107
- exports.feasibleTreeWithLayer = feasibleTreeWithLayer;
108
- /*
109
- * Finds a maximal tree of tight edges and returns the number of nodes in the
110
- * tree.
111
- */
112
- var tightTreeWithLayer = function (t, g) {
113
- var dfs = function (v) {
114
- var _a;
115
- (_a = g.nodeEdges(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
116
- var edgeV = e.v;
117
- var w = (v === edgeV) ? e.w : edgeV;
118
- // 对于指定layer的,直接加入tight-tree,不参与调整
119
- if (!t.hasNode(w) && (g.node(w).layer !== undefined || !(0, util_1.slack)(g, e))) {
120
- t.setNode(w, {});
121
- t.setEdge(v, w, {});
122
- dfs(w);
123
- }
124
- });
125
- };
126
- t.nodes().forEach(dfs);
127
- return t.nodeCount();
128
- };
129
- /*
130
- * Finds the edge with the smallest slack that is incident on tree and returns
131
- * it.
132
- */
133
- var findMinSlackEdge = function (t, g) {
134
- return (0, util_2.minBy)(g.edges(), function (e) {
135
- if (t.hasNode(e.v) !== t.hasNode(e.w)) {
136
- return (0, util_1.slack)(g, e);
137
- }
138
- return Infinity;
139
- });
140
- };
141
- var shiftRanks = function (t, g, delta) {
142
- t.nodes().forEach(function (v) {
143
- if (!g.node(v).rank)
144
- g.node(v).rank = 0;
145
- g.node(v).rank += delta;
146
- });
147
- };
148
- exports.default = {
149
- feasibleTree: feasibleTree,
150
- feasibleTreeWithLayer: feasibleTreeWithLayer
151
- };
152
- //# sourceMappingURL=feasible-tree.js.map