@antv/layout 0.3.12 → 1.0.0-alpha.1

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 +4 -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 +3 -3
  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 -354
  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 -48
  242. package/es/util/math.js +0 -276
  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 -390
  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 -289
  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 -397
  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 -294
  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,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFuncByUnknownType = exports.getFunc = exports.isFunction = void 0;
4
- var _1 = require(".");
5
- var number_1 = require("./number");
6
- var isFunction = function (val) {
7
- return typeof val === 'function';
8
- };
9
- exports.isFunction = isFunction;
10
- var getFunc = function (value, defaultValue, func) {
11
- var resultFunc;
12
- if (func) {
13
- resultFunc = func;
14
- }
15
- else if ((0, number_1.isNumber)(value)) {
16
- resultFunc = function () { return value; };
17
- }
18
- else {
19
- resultFunc = function () { return defaultValue; };
20
- }
21
- return resultFunc;
22
- };
23
- exports.getFunc = getFunc;
24
- var getFuncByUnknownType = function (defaultValue, value, resultIsNumber) {
25
- if (resultIsNumber === void 0) { resultIsNumber = true; }
26
- if (!value && value !== 0) {
27
- return function (d) {
28
- if (d.size) {
29
- if ((0, _1.isArray)(d.size))
30
- return d.size[0] > d.size[1] ? d.size[0] : d.size[1];
31
- if ((0, _1.isObject)(d.size))
32
- return d.size.width > d.size.height ? d.size.width : d.size.height;
33
- return d.size;
34
- }
35
- return defaultValue;
36
- };
37
- }
38
- if ((0, exports.isFunction)(value)) {
39
- return value;
40
- }
41
- if ((0, number_1.isNumber)(value)) {
42
- return function () { return value; };
43
- }
44
- if ((0, _1.isArray)(value)) {
45
- return function () {
46
- if (resultIsNumber) {
47
- var max = Math.max.apply(Math, value);
48
- return isNaN(max) ? defaultValue : max;
49
- }
50
- return value;
51
- };
52
- }
53
- if ((0, _1.isObject)(value)) {
54
- return function () {
55
- if (resultIsNumber) {
56
- var max = Math.max(value.width, value.height);
57
- return isNaN(max) ? defaultValue : max;
58
- }
59
- return [value.width, value.height];
60
- };
61
- }
62
- return function () { return defaultValue; };
63
- };
64
- exports.getFuncByUnknownType = getFuncByUnknownType;
65
- //# sourceMappingURL=function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/util/function.ts"],"names":[],"mappings":";;;AAAA,sBAAsC;AACtC,mCAAoC;AAE7B,IAAM,UAAU,GAAG,UAAC,GAAY;IACrC,OAAA,OAAO,GAAG,KAAK,UAAU;AAAzB,CAAyB,CAAC;AADf,QAAA,UAAU,cACK;AAGrB,IAAM,OAAO,GAAG,UACrB,KAAa,EACb,YAAoB,EACpB,IAAwC;IAExC,IAAI,UAAU,CAAC;IACf,IAAI,IAAI,EAAE;QACR,UAAU,GAAG,IAAI,CAAC;KACnB;SAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QAC1B,UAAU,GAAG,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC;KAC1B;SAAM;QACL,UAAU,GAAG,cAAM,OAAA,YAAY,EAAZ,CAAY,CAAC;KACjC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAdW,QAAA,OAAO,WAclB;AAEK,IAAM,oBAAoB,GAAG,UAClC,YAAoB,EACpB,KAAiG,EACjG,cAA8B;IAA9B,+BAAA,EAAA,qBAA8B;IAE9B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE;QACzB,OAAO,UAAC,CAAC;YACP,IAAI,CAAC,CAAC,IAAI,EAAE;gBACV,IAAI,IAAA,UAAO,EAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1E,IAAI,IAAA,WAAQ,EAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzF,OAAO,CAAC,CAAC,IAAI,CAAC;aACf;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;KACH;IACD,IAAI,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC;KACpB;IACD,IAAI,IAAA,UAAO,EAAC,KAAK,CAAC,EAAE;QAClB,OAAO;YACL,IAAI,cAAc,EAAE;gBAClB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAS,KAAkB,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;aACxC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;KACH;IACD,IAAI,IAAA,WAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO;YACL,IAAI,cAAc,EAAE;gBAClB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;aACxC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;KACH;IACD,OAAO,cAAM,OAAA,YAAY,EAAZ,CAAY,CAAC;AAC5B,CAAC,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
package/lib/util/gpu.js DELETED
@@ -1,250 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayToTextureData = exports.attributesToTextureData = exports.buildTextureDataWithTwoEdgeAttr = exports.buildTextureData = exports.proccessToFunc = void 0;
4
- var _1 = require("./");
5
- var math_1 = require("./math");
6
- /**
7
- * 将 number | Function 类型的参数转换为 return number 的 Function
8
- * @param {number | Function} value 需要被转换的值
9
- * @param {number} defaultV 返回函数的默认返回值
10
- * @return {Function} 转换后的函数
11
- */
12
- var proccessToFunc = function (value, defaultV) {
13
- var func;
14
- if (!value) {
15
- func = function () {
16
- return defaultV || 1;
17
- };
18
- }
19
- else if ((0, _1.isNumber)(value)) {
20
- func = function () {
21
- return value;
22
- };
23
- }
24
- else {
25
- func = value;
26
- }
27
- return func;
28
- };
29
- exports.proccessToFunc = proccessToFunc;
30
- /**
31
- * 将节点和边数据转换为 GPU 可读的数组。并返回 maxEdgePerVetex,每个节点上最多的边数
32
- * @param {NodeConfig[]} nodes 需要被转换的值
33
- * @param {EdgeConfig[]} edges 返回函数的默认返回值
34
- * @return {Object} 转换后的数组及 maxEdgePerVetex 组成的对象
35
- */
36
- var buildTextureData = function (nodes, edges) {
37
- var dataArray = [];
38
- var nodeDict = [];
39
- var mapIdPos = {};
40
- var i = 0;
41
- for (i = 0; i < nodes.length; i++) {
42
- var n = nodes[i];
43
- mapIdPos[n.id] = i;
44
- dataArray.push(n.x);
45
- dataArray.push(n.y);
46
- dataArray.push(0);
47
- dataArray.push(0);
48
- nodeDict.push([]);
49
- }
50
- for (i = 0; i < edges.length; i++) {
51
- var e = edges[i];
52
- var source = (0, math_1.getEdgeTerminal)(e, 'source');
53
- var target = (0, math_1.getEdgeTerminal)(e, 'target');
54
- if (!isNaN(mapIdPos[source]) && !isNaN(mapIdPos[target])) {
55
- nodeDict[mapIdPos[source]].push(mapIdPos[target]);
56
- nodeDict[mapIdPos[target]].push(mapIdPos[source]);
57
- }
58
- }
59
- var maxEdgePerVetex = 0;
60
- for (i = 0; i < nodes.length; i++) {
61
- var offset = dataArray.length;
62
- var dests = nodeDict[i];
63
- var len = dests.length;
64
- dataArray[i * 4 + 2] = offset;
65
- dataArray[i * 4 + 3] = len;
66
- maxEdgePerVetex = Math.max(maxEdgePerVetex, len);
67
- for (var j = 0; j < len; ++j) {
68
- var dest = dests[j];
69
- dataArray.push(+dest);
70
- }
71
- }
72
- while (dataArray.length % 4 !== 0) {
73
- dataArray.push(0);
74
- }
75
- return {
76
- maxEdgePerVetex: maxEdgePerVetex,
77
- array: new Float32Array(dataArray),
78
- };
79
- };
80
- exports.buildTextureData = buildTextureData;
81
- /**
82
- * 将节点和边数据转换为 GPU 可读的数组,每条边带有一个属性。并返回 maxEdgePerVetex,每个节点上最多的边数
83
- * @param {NodeConfig[]} nodes 节点数组
84
- * @param {EdgeConfig[]} edges 边数组
85
- * @param {Function} attrs 读取边属性的函数
86
- * @return {Object} 转换后的数组及 maxEdgePerVetex 组成的对象
87
- */
88
- // export const buildTextureDataWithOneEdgeAttr = (nodes: OutNode[], edges: Edge[], attrs: Function): {
89
- // array: Float32Array,
90
- // maxEdgePerVetex: number
91
- // } => {
92
- // const dataArray = [];
93
- // const nodeDict: any = [];
94
- // const mapIdPos: IndexMap = {};
95
- // let i = 0;
96
- // for (i = 0; i < nodes.length; i++) {
97
- // const n = nodes[i];
98
- // mapIdPos[n.id] = i;
99
- // dataArray.push(n.x);
100
- // dataArray.push(n.y);
101
- // dataArray.push(0);
102
- // dataArray.push(0);
103
- // nodeDict.push([]);
104
- // }
105
- // for (i = 0; i < edges.length; i++) {
106
- // const e = edges[i];
107
- // nodeDict[mapIdPos[e.source]].push(mapIdPos[e.target]);
108
- // nodeDict[mapIdPos[e.source]].push(attrs(e)); // 理想边长,后续可以改成每条边不同
109
- // nodeDict[mapIdPos[e.target]].push(mapIdPos[e.source]);
110
- // nodeDict[mapIdPos[e.target]].push(attrs(e)); // 理想边长,后续可以改成每条边不同
111
- // }
112
- // let maxEdgePerVetex = 0;
113
- // for (i = 0; i < nodes.length; i++) {
114
- // const offset: number = dataArray.length;
115
- // const dests = nodeDict[i]; // dest 中节点 id 与边长间隔存储,即一位节点 id,一位边长……
116
- // const len = dests.length;
117
- // dataArray[i * 4 + 2] = offset;
118
- // dataArray[i * 4 + 3] = len / 2; // 第四位存储与该节点相关的所有节点个数
119
- // maxEdgePerVetex = Math.max(maxEdgePerVetex, len / 2);
120
- // for (let j = 0; j < len; ++j) {
121
- // const dest = dests[j];
122
- // dataArray.push(+dest);
123
- // }
124
- // }
125
- // // 不是 4 的倍数,填充 0
126
- // while (dataArray.length % 4 !== 0) {
127
- // dataArray.push(0);
128
- // }
129
- // return {
130
- // array: new Float32Array(dataArray),
131
- // maxEdgePerVetex
132
- // }
133
- // }
134
- /**
135
- * 将节点和边数据转换为 GPU 可读的数组,每条边带有一个以上属性。并返回 maxEdgePerVetex,每个节点上最多的边数
136
- * @param {NodeConfig[]} nodes 节点数组
137
- * @param {EdgeConfig[]} edges 边数组
138
- * @param {Function} attrs 读取边属性的函数
139
- * @return {Object} 转换后的数组及 maxEdgePerVetex 组成的对象
140
- */
141
- var buildTextureDataWithTwoEdgeAttr = function (nodes, edges, attrs1, attrs2) {
142
- var dataArray = [];
143
- var nodeDict = [];
144
- var mapIdPos = {};
145
- var i = 0;
146
- for (i = 0; i < nodes.length; i++) {
147
- var n = nodes[i];
148
- mapIdPos[n.id] = i;
149
- dataArray.push(n.x);
150
- dataArray.push(n.y);
151
- dataArray.push(0);
152
- dataArray.push(0);
153
- nodeDict.push([]);
154
- }
155
- for (i = 0; i < edges.length; i++) {
156
- var e = edges[i];
157
- var source = (0, math_1.getEdgeTerminal)(e, 'source');
158
- var target = (0, math_1.getEdgeTerminal)(e, 'target');
159
- nodeDict[mapIdPos[source]].push(mapIdPos[target]);
160
- nodeDict[mapIdPos[source]].push(attrs1(e));
161
- nodeDict[mapIdPos[source]].push(attrs2(e));
162
- nodeDict[mapIdPos[source]].push(0);
163
- nodeDict[mapIdPos[target]].push(mapIdPos[source]);
164
- nodeDict[mapIdPos[target]].push(attrs1(e));
165
- nodeDict[mapIdPos[target]].push(attrs2(e));
166
- nodeDict[mapIdPos[target]].push(0);
167
- }
168
- var maxEdgePerVetex = 0;
169
- for (i = 0; i < nodes.length; i++) {
170
- var offset = dataArray.length;
171
- var dests = nodeDict[i]; // dest 中节点 id 与边长间隔存储,即一位节点 id,一位边长……
172
- var len = dests.length;
173
- // dataArray[i * 4 + 2] = offset;
174
- // dataArray[i * 4 + 3] = len / 4; // 第四位存储与该节点相关的所有节点个数
175
- // pack offset & length into float32: offset 20bit, length 12bit
176
- dataArray[i * 4 + 2] = offset + 1048576 * len / 4;
177
- dataArray[i * 4 + 3] = 0; // 第四位存储与上一次的距离差值
178
- maxEdgePerVetex = Math.max(maxEdgePerVetex, len / 4);
179
- for (var j = 0; j < len; ++j) {
180
- var dest = dests[j];
181
- dataArray.push(+dest);
182
- }
183
- }
184
- // 不是 4 的倍数,填充 0
185
- while (dataArray.length % 4 !== 0) {
186
- dataArray.push(0);
187
- }
188
- return {
189
- maxEdgePerVetex: maxEdgePerVetex,
190
- array: new Float32Array(dataArray),
191
- };
192
- };
193
- exports.buildTextureDataWithTwoEdgeAttr = buildTextureDataWithTwoEdgeAttr;
194
- /**
195
- * transform the extended attributes of nodes or edges to a texture array
196
- * @param {string[]} attributeNames attributes' name to be read from items and put into output array
197
- * @param {ModelConfig[]} items the items to be read
198
- * @return {Float32Array} the attributes' value array to be read by GPU
199
- */
200
- var attributesToTextureData = function (attributeNames, items) {
201
- var dataArray = [];
202
- var attributeNum = attributeNames.length;
203
- var attributteStringMap = {};
204
- items.forEach(function (item) {
205
- attributeNames.forEach(function (name, i) {
206
- if (attributteStringMap[item[name]] === undefined) {
207
- attributteStringMap[item[name]] = Object.keys(attributteStringMap).length;
208
- }
209
- dataArray.push(attributteStringMap[item[name]]);
210
- // insure each node's attributes take inter number of grids
211
- if (i === attributeNum - 1) {
212
- while (dataArray.length % 4 !== 0) {
213
- dataArray.push(0);
214
- }
215
- }
216
- });
217
- });
218
- return {
219
- array: new Float32Array(dataArray),
220
- count: Object.keys(attributteStringMap).length
221
- };
222
- };
223
- exports.attributesToTextureData = attributesToTextureData;
224
- /**
225
- * transform the number array format of extended attributes of nodes or edges to a texture array
226
- * @param {string[]} attributeNames attributes' name to be read from items and put into output array
227
- * @return {Float32Array} the attributes' value array to be read by GPU
228
- */
229
- var arrayToTextureData = function (valueArrays) {
230
- var dataArray = [];
231
- var attributeNum = valueArrays.length;
232
- var itemNum = valueArrays[0].length;
233
- var _loop_1 = function (j) {
234
- valueArrays.forEach(function (valueArray, i) {
235
- dataArray.push(valueArray[j]);
236
- // insure each node's attributes take inter number of grids
237
- if (i === attributeNum - 1) {
238
- while (dataArray.length % 4 !== 0) {
239
- dataArray.push(0);
240
- }
241
- }
242
- });
243
- };
244
- for (var j = 0; j < itemNum; j++) {
245
- _loop_1(j);
246
- }
247
- return new Float32Array(dataArray);
248
- };
249
- exports.arrayToTextureData = arrayToTextureData;
250
- //# sourceMappingURL=gpu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gpu.js","sourceRoot":"","sources":["../../src/util/gpu.ts"],"names":[],"mappings":"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"}
package/lib/util/index.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./string"), exports);
18
- __exportStar(require("./array"), exports);
19
- __exportStar(require("./number"), exports);
20
- __exportStar(require("./math"), exports);
21
- __exportStar(require("./object"), exports);
22
- __exportStar(require("./function"), exports);
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,6CAA2B"}
package/lib/util/math.js DELETED
@@ -1,289 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCoreNodeAndRelativeLeafNodes = exports.getAvgNodePosition = exports.getLayoutBBox = exports.traverseTreeUp = exports.scaleMatrix = exports.getAdjMatrix = exports.floydWarshall = exports.getDegreeMap = exports.getDegree = exports.getEdgeTerminal = void 0;
4
- var array_1 = require("./array");
5
- var number_1 = require("./number");
6
- var object_1 = require("./object");
7
- var getEdgeTerminal = function (edge, type) {
8
- var terminal = edge[type];
9
- if ((0, object_1.isObject)(terminal)) {
10
- return terminal.cell;
11
- }
12
- return terminal;
13
- };
14
- exports.getEdgeTerminal = getEdgeTerminal;
15
- var getDegree = function (n, nodeIdxMap, edges) {
16
- var degrees = [];
17
- for (var i = 0; i < n; i++) {
18
- degrees[i] = {
19
- in: 0,
20
- out: 0,
21
- all: 0
22
- };
23
- }
24
- if (!edges)
25
- return degrees;
26
- edges.forEach(function (e) {
27
- var source = (0, exports.getEdgeTerminal)(e, 'source');
28
- var target = (0, exports.getEdgeTerminal)(e, 'target');
29
- if (source && degrees[nodeIdxMap[source]]) {
30
- degrees[nodeIdxMap[source]].out += 1;
31
- degrees[nodeIdxMap[source]].all += 1;
32
- }
33
- if (target && degrees[nodeIdxMap[target]]) {
34
- degrees[nodeIdxMap[target]].in += 1;
35
- degrees[nodeIdxMap[target]].all += 1;
36
- }
37
- });
38
- return degrees;
39
- };
40
- exports.getDegree = getDegree;
41
- var getDegreeMap = function (nodes, edges) {
42
- var degreesMap = {};
43
- nodes.forEach(function (node) {
44
- degreesMap[node.id] = {
45
- in: 0,
46
- out: 0,
47
- all: 0
48
- };
49
- });
50
- if (!edges)
51
- return degreesMap;
52
- edges.forEach(function (e) {
53
- var source = (0, exports.getEdgeTerminal)(e, 'source');
54
- var target = (0, exports.getEdgeTerminal)(e, 'target');
55
- if (source) {
56
- degreesMap[source].out += 1;
57
- degreesMap[source].all += 1;
58
- }
59
- if (target) {
60
- degreesMap[target].in += 1;
61
- degreesMap[target].all += 1;
62
- }
63
- });
64
- return degreesMap;
65
- };
66
- exports.getDegreeMap = getDegreeMap;
67
- var floydWarshall = function (adjMatrix) {
68
- // initialize
69
- var dist = [];
70
- var size = adjMatrix.length;
71
- for (var i = 0; i < size; i += 1) {
72
- dist[i] = [];
73
- for (var j = 0; j < size; j += 1) {
74
- if (i === j) {
75
- dist[i][j] = 0;
76
- }
77
- else if (adjMatrix[i][j] === 0 || !adjMatrix[i][j]) {
78
- dist[i][j] = Infinity;
79
- }
80
- else {
81
- dist[i][j] = adjMatrix[i][j];
82
- }
83
- }
84
- }
85
- // floyd
86
- for (var k = 0; k < size; k += 1) {
87
- for (var i = 0; i < size; i += 1) {
88
- for (var j = 0; j < size; j += 1) {
89
- if (dist[i][j] > dist[i][k] + dist[k][j]) {
90
- dist[i][j] = dist[i][k] + dist[k][j];
91
- }
92
- }
93
- }
94
- }
95
- return dist;
96
- };
97
- exports.floydWarshall = floydWarshall;
98
- var getAdjMatrix = function (data, directed) {
99
- var nodes = data.nodes, edges = data.edges;
100
- var matrix = [];
101
- // map node with index in data.nodes
102
- var nodeMap = {};
103
- if (!nodes) {
104
- throw new Error('invalid nodes data!');
105
- }
106
- if (nodes) {
107
- nodes.forEach(function (node, i) {
108
- nodeMap[node.id] = i;
109
- var row = [];
110
- matrix.push(row);
111
- });
112
- }
113
- edges === null || edges === void 0 ? void 0 : edges.forEach(function (e) {
114
- var source = (0, exports.getEdgeTerminal)(e, 'source');
115
- var target = (0, exports.getEdgeTerminal)(e, 'target');
116
- var sIndex = nodeMap[source];
117
- var tIndex = nodeMap[target];
118
- if (sIndex === undefined || tIndex === undefined)
119
- return;
120
- matrix[sIndex][tIndex] = 1;
121
- if (!directed) {
122
- matrix[tIndex][sIndex] = 1;
123
- }
124
- });
125
- return matrix;
126
- };
127
- exports.getAdjMatrix = getAdjMatrix;
128
- /**
129
- * scale matrix
130
- * @param matrix [ [], [], [] ]
131
- * @param ratio
132
- */
133
- var scaleMatrix = function (matrix, ratio) {
134
- var result = [];
135
- matrix.forEach(function (row) {
136
- var newRow = [];
137
- row.forEach(function (v) {
138
- newRow.push(v * ratio);
139
- });
140
- result.push(newRow);
141
- });
142
- return result;
143
- };
144
- exports.scaleMatrix = scaleMatrix;
145
- /**
146
- * depth first traverse, from leaves to root, children in inverse order
147
- * if the fn returns false, terminate the traverse
148
- */
149
- var traverseUp = function (data, fn) {
150
- if (data && data.children) {
151
- for (var i = data.children.length - 1; i >= 0; i--) {
152
- if (!traverseUp(data.children[i], fn))
153
- return;
154
- }
155
- }
156
- if (!fn(data)) {
157
- return false;
158
- }
159
- return true;
160
- };
161
- /**
162
- * depth first traverse, from leaves to root, children in inverse order
163
- * if the fn returns false, terminate the traverse
164
- */
165
- var traverseTreeUp = function (data, fn) {
166
- if (typeof fn !== 'function') {
167
- return;
168
- }
169
- traverseUp(data, fn);
170
- };
171
- exports.traverseTreeUp = traverseTreeUp;
172
- /**
173
- * calculate the bounding box for the nodes according to their x, y, and size
174
- * @param nodes nodes in the layout
175
- * @returns
176
- */
177
- var getLayoutBBox = function (nodes) {
178
- var minX = Infinity;
179
- var minY = Infinity;
180
- var maxX = -Infinity;
181
- var maxY = -Infinity;
182
- nodes.forEach(function (node) {
183
- var size = node.size;
184
- if ((0, array_1.isArray)(size)) {
185
- if (size.length === 1)
186
- size = [size[0], size[0]];
187
- }
188
- else if ((0, number_1.isNumber)(size)) {
189
- size = [size, size];
190
- }
191
- else if (size === undefined || isNaN(size)) {
192
- size = [30, 30];
193
- }
194
- var halfSize = [size[0] / 2, size[1] / 2];
195
- var left = node.x - halfSize[0];
196
- var right = node.x + halfSize[0];
197
- var top = node.y - halfSize[1];
198
- var bottom = node.y + halfSize[1];
199
- if (minX > left)
200
- minX = left;
201
- if (minY > top)
202
- minY = top;
203
- if (maxX < right)
204
- maxX = right;
205
- if (maxY < bottom)
206
- maxY = bottom;
207
- });
208
- return { minX: minX, minY: minY, maxX: maxX, maxY: maxY };
209
- };
210
- exports.getLayoutBBox = getLayoutBBox;
211
- /**
212
- * 获取节点集合的平均位置信息
213
- * @param nodes 节点集合
214
- * @returns 平局内置
215
- */
216
- var getAvgNodePosition = function (nodes) {
217
- var totalNodes = { x: 0, y: 0 };
218
- nodes.forEach(function (node) {
219
- totalNodes.x += node.x || 0;
220
- totalNodes.y += node.y || 0;
221
- });
222
- // 获取均值向量
223
- var length = nodes.length || 1;
224
- return {
225
- x: totalNodes.x / length,
226
- y: totalNodes.y / length,
227
- };
228
- };
229
- exports.getAvgNodePosition = getAvgNodePosition;
230
- // 找出指定节点关联的边的起点或终点
231
- var getCoreNode = function (type, node, edges) {
232
- var _a, _b;
233
- if (type === 'source') {
234
- return (((_a = edges === null || edges === void 0 ? void 0 : edges.find(function (edge) { return edge.target === node.id; })) === null || _a === void 0 ? void 0 : _a.source) || {});
235
- }
236
- return (((_b = edges === null || edges === void 0 ? void 0 : edges.find(function (edge) { return edge.source === node.id; })) === null || _b === void 0 ? void 0 : _b.target) || {});
237
- };
238
- // 找出指定节点为起点或终点的所有一度叶子节点
239
- var getRelativeNodeIds = function (type, coreNode, edges) {
240
- var relativeNodes = [];
241
- switch (type) {
242
- case 'source':
243
- relativeNodes = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.source === coreNode.id; }).map(function (edge) { return edge.target; });
244
- break;
245
- case 'target':
246
- relativeNodes = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.target === coreNode.id; }).map(function (edge) { return edge.source; });
247
- break;
248
- case 'both':
249
- relativeNodes = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.source === coreNode.id; }).map(function (edge) { return edge.target; }).concat(edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.target === coreNode.id; }).map(function (edge) { return edge.source; }));
250
- break;
251
- default:
252
- break;
253
- }
254
- // 去重
255
- var set = new Set(relativeNodes);
256
- return Array.from(set);
257
- };
258
- // 找出同类型的节点
259
- var getSameTypeNodes = function (type, nodeClusterBy, node, relativeNodes, degreesMap) {
260
- // @ts-ignore
261
- var typeName = node[nodeClusterBy] || '';
262
- // @ts-ignore
263
- var sameTypeNodes = (relativeNodes === null || relativeNodes === void 0 ? void 0 : relativeNodes.filter(function (item) { return item[nodeClusterBy] === typeName; })) || [];
264
- if (type === 'leaf') {
265
- sameTypeNodes = sameTypeNodes.filter(function (node) { var _a, _b; return ((_a = degreesMap[node.id]) === null || _a === void 0 ? void 0 : _a.in) === 0 || ((_b = degreesMap[node.id]) === null || _b === void 0 ? void 0 : _b.out) === 0; });
266
- }
267
- return sameTypeNodes;
268
- };
269
- // 找出与指定节点关联的边的起点或终点出发的所有一度叶子节点
270
- var getCoreNodeAndRelativeLeafNodes = function (type, node, edges, nodeClusterBy, degreesMap, nodeMap) {
271
- var _a = degreesMap[node.id], inDegree = _a.in, outDegree = _a.out;
272
- var coreNode = node;
273
- var relativeLeafNodes = [];
274
- if (inDegree === 0) {
275
- // 如果为没有出边的叶子节点,则找出与它关联的边的起点出发的所有一度节点
276
- coreNode = getCoreNode('source', node, edges);
277
- relativeLeafNodes = getRelativeNodeIds('both', coreNode, edges).map(function (nodeId) { return nodeMap[nodeId]; });
278
- }
279
- else if (outDegree === 0) {
280
- // 如果为没有入边边的叶子节点,则找出与它关联的边的起点出发的所有一度节点
281
- coreNode = getCoreNode('target', node, edges);
282
- relativeLeafNodes = getRelativeNodeIds('both', coreNode, edges).map(function (nodeId) { return nodeMap[nodeId]; });
283
- }
284
- relativeLeafNodes = relativeLeafNodes.filter(function (node) { return degreesMap[node.id] && (degreesMap[node.id].in === 0 || degreesMap[node.id].out === 0); });
285
- var sameTypeLeafNodes = getSameTypeNodes(type, nodeClusterBy, node, relativeLeafNodes, degreesMap);
286
- return { coreNode: coreNode, relativeLeafNodes: relativeLeafNodes, sameTypeLeafNodes: sameTypeLeafNodes };
287
- };
288
- exports.getCoreNodeAndRelativeLeafNodes = getCoreNodeAndRelativeLeafNodes;
289
- //# sourceMappingURL=math.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"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"}