@knowvah/dot-engine 0.1.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 (986) hide show
  1. package/LICENSE +277 -0
  2. package/README.md +292 -0
  3. package/dist/api/builder.d.ts +78 -0
  4. package/dist/api/builder.d.ts.map +1 -0
  5. package/dist/api/edge-ops.d.ts +45 -0
  6. package/dist/api/edge-ops.d.ts.map +1 -0
  7. package/dist/api/geometry.d.ts +159 -0
  8. package/dist/api/geometry.d.ts.map +1 -0
  9. package/dist/api/index.d.ts +24 -0
  10. package/dist/api/index.d.ts.map +1 -0
  11. package/dist/api.js +719 -0
  12. package/dist/api.js.map +7 -0
  13. package/dist/bundle.js +101 -0
  14. package/dist/cdt/bag.d.ts +58 -0
  15. package/dist/cdt/bag.d.ts.map +1 -0
  16. package/dist/cdt/hash-core.d.ts +40 -0
  17. package/dist/cdt/hash-core.d.ts.map +1 -0
  18. package/dist/cdt/hash.d.ts +74 -0
  19. package/dist/cdt/hash.d.ts.map +1 -0
  20. package/dist/cdt/index.d.ts +16 -0
  21. package/dist/cdt/index.d.ts.map +1 -0
  22. package/dist/cdt/splay-core.d.ts +78 -0
  23. package/dist/cdt/splay-core.d.ts.map +1 -0
  24. package/dist/cdt/splay.d.ts +63 -0
  25. package/dist/cdt/splay.d.ts.map +1 -0
  26. package/dist/cdt/strhash.d.ts +26 -0
  27. package/dist/cdt/strhash.d.ts.map +1 -0
  28. package/dist/cdt/types.d.ts +11 -0
  29. package/dist/cdt/types.d.ts.map +1 -0
  30. package/dist/common/arith.d.ts +35 -0
  31. package/dist/common/arith.d.ts.map +1 -0
  32. package/dist/common/arm-pow-data.d.ts +17 -0
  33. package/dist/common/arm-pow-data.d.ts.map +1 -0
  34. package/dist/common/arm-pow.d.ts +12 -0
  35. package/dist/common/arm-pow.d.ts.map +1 -0
  36. package/dist/common/arrows-constants.d.ts +97 -0
  37. package/dist/common/arrows-constants.d.ts.map +1 -0
  38. package/dist/common/arrows-geometry.d.ts +24 -0
  39. package/dist/common/arrows-geometry.d.ts.map +1 -0
  40. package/dist/common/arrows-miter.d.ts +24 -0
  41. package/dist/common/arrows-miter.d.ts.map +1 -0
  42. package/dist/common/arrows-shapes-poly.d.ts +24 -0
  43. package/dist/common/arrows-shapes-poly.d.ts.map +1 -0
  44. package/dist/common/arrows-shapes-util.d.ts +77 -0
  45. package/dist/common/arrows-shapes-util.d.ts.map +1 -0
  46. package/dist/common/arrows-shapes.d.ts +48 -0
  47. package/dist/common/arrows-shapes.d.ts.map +1 -0
  48. package/dist/common/arrows-types.d.ts +59 -0
  49. package/dist/common/arrows-types.d.ts.map +1 -0
  50. package/dist/common/arrows.d.ts +69 -0
  51. package/dist/common/arrows.d.ts.map +1 -0
  52. package/dist/common/color.d.ts +66 -0
  53. package/dist/common/color.d.ts.map +1 -0
  54. package/dist/common/colorData.d.ts +10 -0
  55. package/dist/common/colorData.d.ts.map +1 -0
  56. package/dist/common/compass-port.d.ts +39 -0
  57. package/dist/common/compass-port.d.ts.map +1 -0
  58. package/dist/common/crand.d.ts +42 -0
  59. package/dist/common/crand.d.ts.map +1 -0
  60. package/dist/common/edge-label-init.d.ts +51 -0
  61. package/dist/common/edge-label-init.d.ts.map +1 -0
  62. package/dist/common/edge-offset.d.ts +66 -0
  63. package/dist/common/edge-offset.d.ts.map +1 -0
  64. package/dist/common/ellipse-wedge.d.ts +10 -0
  65. package/dist/common/ellipse-wedge.d.ts.map +1 -0
  66. package/dist/common/emit-types.d.ts +255 -0
  67. package/dist/common/emit-types.d.ts.map +1 -0
  68. package/dist/common/fma.d.ts +10 -0
  69. package/dist/common/fma.d.ts.map +1 -0
  70. package/dist/common/graph-init.d.ts +61 -0
  71. package/dist/common/graph-init.d.ts.map +1 -0
  72. package/dist/common/html-entities.d.ts +17 -0
  73. package/dist/common/html-entities.d.ts.map +1 -0
  74. package/dist/common/html-string.d.ts +14 -0
  75. package/dist/common/html-string.d.ts.map +1 -0
  76. package/dist/common/htmltable-emit-fill.d.ts +84 -0
  77. package/dist/common/htmltable-emit-fill.d.ts.map +1 -0
  78. package/dist/common/htmltable-emit-rules.d.ts +79 -0
  79. package/dist/common/htmltable-emit-rules.d.ts.map +1 -0
  80. package/dist/common/htmltable-emit.d.ts +63 -0
  81. package/dist/common/htmltable-emit.d.ts.map +1 -0
  82. package/dist/common/htmltable-lex.d.ts +16 -0
  83. package/dist/common/htmltable-lex.d.ts.map +1 -0
  84. package/dist/common/htmltable-parse.d.ts +37 -0
  85. package/dist/common/htmltable-parse.d.ts.map +1 -0
  86. package/dist/common/htmltable-port.d.ts +15 -0
  87. package/dist/common/htmltable-port.d.ts.map +1 -0
  88. package/dist/common/htmltable-pos-runs.d.ts +88 -0
  89. package/dist/common/htmltable-pos-runs.d.ts.map +1 -0
  90. package/dist/common/htmltable-pos.d.ts +192 -0
  91. package/dist/common/htmltable-pos.d.ts.map +1 -0
  92. package/dist/common/htmltable-types.d.ts +237 -0
  93. package/dist/common/htmltable-types.d.ts.map +1 -0
  94. package/dist/common/htmltable.d.ts +74 -0
  95. package/dist/common/htmltable.d.ts.map +1 -0
  96. package/dist/common/layers.d.ts +20 -0
  97. package/dist/common/layers.d.ts.map +1 -0
  98. package/dist/common/make-label.d.ts +60 -0
  99. package/dist/common/make-label.d.ts.map +1 -0
  100. package/dist/common/multicolor.d.ts +46 -0
  101. package/dist/common/multicolor.d.ts.map +1 -0
  102. package/dist/common/nodeinit.d.ts +45 -0
  103. package/dist/common/nodeinit.d.ts.map +1 -0
  104. package/dist/common/poly-gencode.d.ts +40 -0
  105. package/dist/common/poly-gencode.d.ts.map +1 -0
  106. package/dist/common/poly-init.d.ts +51 -0
  107. package/dist/common/poly-init.d.ts.map +1 -0
  108. package/dist/common/poly-inside.d.ts +37 -0
  109. package/dist/common/poly-inside.d.ts.map +1 -0
  110. package/dist/common/poly-shapes-cases.d.ts +31 -0
  111. package/dist/common/poly-shapes-cases.d.ts.map +1 -0
  112. package/dist/common/poly-shapes-cases2.d.ts +25 -0
  113. package/dist/common/poly-shapes-cases2.d.ts.map +1 -0
  114. package/dist/common/poly-shapes-util.d.ts +42 -0
  115. package/dist/common/poly-shapes-util.d.ts.map +1 -0
  116. package/dist/common/poly-shapes.d.ts +39 -0
  117. package/dist/common/poly-shapes.d.ts.map +1 -0
  118. package/dist/common/poly-sizing.d.ts +189 -0
  119. package/dist/common/poly-sizing.d.ts.map +1 -0
  120. package/dist/common/poly-vertices.d.ts +42 -0
  121. package/dist/common/poly-vertices.d.ts.map +1 -0
  122. package/dist/common/postproc.d.ts +49 -0
  123. package/dist/common/postproc.d.ts.map +1 -0
  124. package/dist/common/ps-fontalias.d.ts +36 -0
  125. package/dist/common/ps-fontalias.d.ts.map +1 -0
  126. package/dist/common/random.d.ts +8 -0
  127. package/dist/common/random.d.ts.map +1 -0
  128. package/dist/common/record-port.d.ts +34 -0
  129. package/dist/common/record-port.d.ts.map +1 -0
  130. package/dist/common/record.d.ts +105 -0
  131. package/dist/common/record.d.ts.map +1 -0
  132. package/dist/common/shapeData.d.ts +186 -0
  133. package/dist/common/shapeData.d.ts.map +1 -0
  134. package/dist/common/shapes.d.ts +36 -0
  135. package/dist/common/shapes.d.ts.map +1 -0
  136. package/dist/common/spline-midpoint.d.ts +31 -0
  137. package/dist/common/spline-midpoint.d.ts.map +1 -0
  138. package/dist/common/splines-clip.d.ts +21 -0
  139. package/dist/common/splines-clip.d.ts.map +1 -0
  140. package/dist/common/splines-constants.d.ts +42 -0
  141. package/dist/common/splines-constants.d.ts.map +1 -0
  142. package/dist/common/splines-geom.d.ts +51 -0
  143. package/dist/common/splines-geom.d.ts.map +1 -0
  144. package/dist/common/splines-path-begin.d.ts +17 -0
  145. package/dist/common/splines-path-begin.d.ts.map +1 -0
  146. package/dist/common/splines-path-end.d.ts +17 -0
  147. package/dist/common/splines-path-end.d.ts.map +1 -0
  148. package/dist/common/splines-path-shared.d.ts +53 -0
  149. package/dist/common/splines-path-shared.d.ts.map +1 -0
  150. package/dist/common/splines-routespl.d.ts +40 -0
  151. package/dist/common/splines-routespl.d.ts.map +1 -0
  152. package/dist/common/splines-selfedge.d.ts +21 -0
  153. package/dist/common/splines-selfedge.d.ts.map +1 -0
  154. package/dist/common/splines.d.ts +18 -0
  155. package/dist/common/splines.d.ts.map +1 -0
  156. package/dist/common/style-resolve.d.ts +197 -0
  157. package/dist/common/style-resolve.d.ts.map +1 -0
  158. package/dist/common/subst.d.ts +31 -0
  159. package/dist/common/subst.d.ts.map +1 -0
  160. package/dist/common/taper.d.ts +23 -0
  161. package/dist/common/taper.d.ts.map +1 -0
  162. package/dist/common/textmeasure-factory.d.ts +33 -0
  163. package/dist/common/textmeasure-factory.d.ts.map +1 -0
  164. package/dist/common/textmeasure-lookup.d.ts +17 -0
  165. package/dist/common/textmeasure-lookup.d.ts.map +1 -0
  166. package/dist/common/textmeasure-lut-data-a.d.ts +13 -0
  167. package/dist/common/textmeasure-lut-data-a.d.ts.map +1 -0
  168. package/dist/common/textmeasure-lut-data-b.d.ts +12 -0
  169. package/dist/common/textmeasure-lut-data-b.d.ts.map +1 -0
  170. package/dist/common/textmeasure-lut-data-c.d.ts +13 -0
  171. package/dist/common/textmeasure-lut-data-c.d.ts.map +1 -0
  172. package/dist/common/textmeasure-lut-data.d.ts +27 -0
  173. package/dist/common/textmeasure-lut-data.d.ts.map +1 -0
  174. package/dist/common/textmeasure.d.ts +120 -0
  175. package/dist/common/textmeasure.d.ts.map +1 -0
  176. package/dist/common/types.d.ts +316 -0
  177. package/dist/common/types.d.ts.map +1 -0
  178. package/dist/common/xlabels-place.d.ts +125 -0
  179. package/dist/common/xlabels-place.d.ts.map +1 -0
  180. package/dist/debug.d.ts +58 -0
  181. package/dist/debug.d.ts.map +1 -0
  182. package/dist/errors.d.ts +63 -0
  183. package/dist/errors.d.ts.map +1 -0
  184. package/dist/gvc/anchor.d.ts +86 -0
  185. package/dist/gvc/anchor.d.ts.map +1 -0
  186. package/dist/gvc/context.d.ts +177 -0
  187. package/dist/gvc/context.d.ts.map +1 -0
  188. package/dist/gvc/default-context.d.ts +20 -0
  189. package/dist/gvc/default-context.d.ts.map +1 -0
  190. package/dist/gvc/device-cluster.d.ts +25 -0
  191. package/dist/gvc/device-cluster.d.ts.map +1 -0
  192. package/dist/gvc/device.d.ts +99 -0
  193. package/dist/gvc/device.d.ts.map +1 -0
  194. package/dist/gvc/edge-labels.d.ts +10 -0
  195. package/dist/gvc/edge-labels.d.ts.map +1 -0
  196. package/dist/gvc/emit-walk.d.ts +22 -0
  197. package/dist/gvc/emit-walk.d.ts.map +1 -0
  198. package/dist/gvc/image-resolver.d.ts +44 -0
  199. package/dist/gvc/image-resolver.d.ts.map +1 -0
  200. package/dist/gvc/job.d.ts +234 -0
  201. package/dist/gvc/job.d.ts.map +1 -0
  202. package/dist/gvc/textlayout.d.ts +33 -0
  203. package/dist/gvc/textlayout.d.ts.map +1 -0
  204. package/dist/gvc/textspan-emit.d.ts +41 -0
  205. package/dist/gvc/textspan-emit.d.ts.map +1 -0
  206. package/dist/gvc/usershape.d.ts +25 -0
  207. package/dist/gvc/usershape.d.ts.map +1 -0
  208. package/dist/gvc/viewport.d.ts +71 -0
  209. package/dist/gvc/viewport.d.ts.map +1 -0
  210. package/dist/index.d.ts +54 -0
  211. package/dist/index.d.ts.map +1 -0
  212. package/dist/index.js +52862 -0
  213. package/dist/index.js.map +7 -0
  214. package/dist/label/index.d.ts +74 -0
  215. package/dist/label/index.d.ts.map +1 -0
  216. package/dist/label/node.d.ts +108 -0
  217. package/dist/label/node.d.ts.map +1 -0
  218. package/dist/label/rectangle.d.ts +60 -0
  219. package/dist/label/rectangle.d.ts.map +1 -0
  220. package/dist/label/split-q.d.ts +13 -0
  221. package/dist/label/split-q.d.ts.map +1 -0
  222. package/dist/label/xlabels-geom.d.ts +46 -0
  223. package/dist/label/xlabels-geom.d.ts.map +1 -0
  224. package/dist/label/xlabels-intersect.d.ts +79 -0
  225. package/dist/label/xlabels-intersect.d.ts.map +1 -0
  226. package/dist/label/xlabels.d.ts +67 -0
  227. package/dist/label/xlabels.d.ts.map +1 -0
  228. package/dist/layout/circo/blockpath.d.ts +120 -0
  229. package/dist/layout/circo/blockpath.d.ts.map +1 -0
  230. package/dist/layout/circo/blocks.d.ts +135 -0
  231. package/dist/layout/circo/blocks.d.ts.map +1 -0
  232. package/dist/layout/circo/blocktree.d.ts +51 -0
  233. package/dist/layout/circo/blocktree.d.ts.map +1 -0
  234. package/dist/layout/circo/circular.d.ts +59 -0
  235. package/dist/layout/circo/circular.d.ts.map +1 -0
  236. package/dist/layout/circo/index.d.ts +35 -0
  237. package/dist/layout/circo/index.d.ts.map +1 -0
  238. package/dist/layout/circo/init.d.ts +50 -0
  239. package/dist/layout/circo/init.d.ts.map +1 -0
  240. package/dist/layout/circo/position-helpers.d.ts +33 -0
  241. package/dist/layout/circo/position-helpers.d.ts.map +1 -0
  242. package/dist/layout/circo/position.d.ts +66 -0
  243. package/dist/layout/circo/position.d.ts.map +1 -0
  244. package/dist/layout/dot/acyclic.d.ts +8 -0
  245. package/dist/layout/dot/acyclic.d.ts.map +1 -0
  246. package/dist/layout/dot/aspect.d.ts +17 -0
  247. package/dist/layout/dot/aspect.d.ts.map +1 -0
  248. package/dist/layout/dot/classify.d.ts +52 -0
  249. package/dist/layout/dot/classify.d.ts.map +1 -0
  250. package/dist/layout/dot/cluster-path.d.ts +38 -0
  251. package/dist/layout/dot/cluster-path.d.ts.map +1 -0
  252. package/dist/layout/dot/cluster.d.ts +102 -0
  253. package/dist/layout/dot/cluster.d.ts.map +1 -0
  254. package/dist/layout/dot/compound-clip.d.ts +69 -0
  255. package/dist/layout/dot/compound-clip.d.ts.map +1 -0
  256. package/dist/layout/dot/compound-geom.d.ts +115 -0
  257. package/dist/layout/dot/compound-geom.d.ts.map +1 -0
  258. package/dist/layout/dot/compound.d.ts +56 -0
  259. package/dist/layout/dot/compound.d.ts.map +1 -0
  260. package/dist/layout/dot/conc.d.ts +88 -0
  261. package/dist/layout/dot/conc.d.ts.map +1 -0
  262. package/dist/layout/dot/decomp.d.ts +66 -0
  263. package/dist/layout/dot/decomp.d.ts.map +1 -0
  264. package/dist/layout/dot/edge-order.d.ts +27 -0
  265. package/dist/layout/dot/edge-order.d.ts.map +1 -0
  266. package/dist/layout/dot/edge-route-arrow.d.ts +46 -0
  267. package/dist/layout/dot/edge-route-arrow.d.ts.map +1 -0
  268. package/dist/layout/dot/edge-route-boxes.d.ts +75 -0
  269. package/dist/layout/dot/edge-route-boxes.d.ts.map +1 -0
  270. package/dist/layout/dot/edge-route-chain.d.ts +67 -0
  271. package/dist/layout/dot/edge-route-chain.d.ts.map +1 -0
  272. package/dist/layout/dot/edge-route-clip.d.ts +88 -0
  273. package/dist/layout/dot/edge-route-clip.d.ts.map +1 -0
  274. package/dist/layout/dot/edge-route-faithful.d.ts +94 -0
  275. package/dist/layout/dot/edge-route-faithful.d.ts.map +1 -0
  276. package/dist/layout/dot/edge-route-geom.d.ts +43 -0
  277. package/dist/layout/dot/edge-route-geom.d.ts.map +1 -0
  278. package/dist/layout/dot/edge-route-helpers.d.ts +50 -0
  279. package/dist/layout/dot/edge-route-helpers.d.ts.map +1 -0
  280. package/dist/layout/dot/edge-route-poly.d.ts +48 -0
  281. package/dist/layout/dot/edge-route-poly.d.ts.map +1 -0
  282. package/dist/layout/dot/edge-route-rank.d.ts +57 -0
  283. package/dist/layout/dot/edge-route-rank.d.ts.map +1 -0
  284. package/dist/layout/dot/edge-route-routing.d.ts +99 -0
  285. package/dist/layout/dot/edge-route-routing.d.ts.map +1 -0
  286. package/dist/layout/dot/edge-route.d.ts +57 -0
  287. package/dist/layout/dot/edge-route.d.ts.map +1 -0
  288. package/dist/layout/dot/fastgr.d.ts +147 -0
  289. package/dist/layout/dot/fastgr.d.ts.map +1 -0
  290. package/dist/layout/dot/flat-utils.d.ts +21 -0
  291. package/dist/layout/dot/flat-utils.d.ts.map +1 -0
  292. package/dist/layout/dot/flat.d.ts +152 -0
  293. package/dist/layout/dot/flat.d.ts.map +1 -0
  294. package/dist/layout/dot/graph-label.d.ts +18 -0
  295. package/dist/layout/dot/graph-label.d.ts.map +1 -0
  296. package/dist/layout/dot/index.d.ts +128 -0
  297. package/dist/layout/dot/index.d.ts.map +1 -0
  298. package/dist/layout/dot/init.d.ts +93 -0
  299. package/dist/layout/dot/init.d.ts.map +1 -0
  300. package/dist/layout/dot/label-order.d.ts +45 -0
  301. package/dist/layout/dot/label-order.d.ts.map +1 -0
  302. package/dist/layout/dot/mincross-build.d.ts +52 -0
  303. package/dist/layout/dot/mincross-build.d.ts.map +1 -0
  304. package/dist/layout/dot/mincross-cross.d.ts +80 -0
  305. package/dist/layout/dot/mincross-cross.d.ts.map +1 -0
  306. package/dist/layout/dot/mincross-flat.d.ts +27 -0
  307. package/dist/layout/dot/mincross-flat.d.ts.map +1 -0
  308. package/dist/layout/dot/mincross-order.d.ts +89 -0
  309. package/dist/layout/dot/mincross-order.d.ts.map +1 -0
  310. package/dist/layout/dot/mincross-utils.d.ts +60 -0
  311. package/dist/layout/dot/mincross-utils.d.ts.map +1 -0
  312. package/dist/layout/dot/mincross.d.ts +75 -0
  313. package/dist/layout/dot/mincross.d.ts.map +1 -0
  314. package/dist/layout/dot/ns-core.d.ts +37 -0
  315. package/dist/layout/dot/ns-core.d.ts.map +1 -0
  316. package/dist/layout/dot/ns-range.d.ts +17 -0
  317. package/dist/layout/dot/ns-range.d.ts.map +1 -0
  318. package/dist/layout/dot/ns-subtree.d.ts +78 -0
  319. package/dist/layout/dot/ns-subtree.d.ts.map +1 -0
  320. package/dist/layout/dot/ns.d.ts +86 -0
  321. package/dist/layout/dot/ns.d.ts.map +1 -0
  322. package/dist/layout/dot/ortho-adapter.d.ts +19 -0
  323. package/dist/layout/dot/ortho-adapter.d.ts.map +1 -0
  324. package/dist/layout/dot/pack-components.d.ts +100 -0
  325. package/dist/layout/dot/pack-components.d.ts.map +1 -0
  326. package/dist/layout/dot/position-aux.d.ts +110 -0
  327. package/dist/layout/dot/position-aux.d.ts.map +1 -0
  328. package/dist/layout/dot/position-bbox.d.ts +57 -0
  329. package/dist/layout/dot/position-bbox.d.ts.map +1 -0
  330. package/dist/layout/dot/position-cluster.d.ts +48 -0
  331. package/dist/layout/dot/position-cluster.d.ts.map +1 -0
  332. package/dist/layout/dot/position-ycoords.d.ts +42 -0
  333. package/dist/layout/dot/position-ycoords.d.ts.map +1 -0
  334. package/dist/layout/dot/position.d.ts +47 -0
  335. package/dist/layout/dot/position.d.ts.map +1 -0
  336. package/dist/layout/dot/rank-dot2.d.ts +114 -0
  337. package/dist/layout/dot/rank-dot2.d.ts.map +1 -0
  338. package/dist/layout/dot/rank.d.ts +119 -0
  339. package/dist/layout/dot/rank.d.ts.map +1 -0
  340. package/dist/layout/dot/sameport.d.ts +70 -0
  341. package/dist/layout/dot/sameport.d.ts.map +1 -0
  342. package/dist/layout/dot/self-loop.d.ts +54 -0
  343. package/dist/layout/dot/self-loop.d.ts.map +1 -0
  344. package/dist/layout/dot/splines-clone.d.ts +33 -0
  345. package/dist/layout/dot/splines-clone.d.ts.map +1 -0
  346. package/dist/layout/dot/splines-flat-labeled.d.ts +101 -0
  347. package/dist/layout/dot/splines-flat-labeled.d.ts.map +1 -0
  348. package/dist/layout/dot/splines-flat-multi.d.ts +35 -0
  349. package/dist/layout/dot/splines-flat-multi.d.ts.map +1 -0
  350. package/dist/layout/dot/splines-flat.d.ts +116 -0
  351. package/dist/layout/dot/splines-flat.d.ts.map +1 -0
  352. package/dist/layout/dot/splines-groups.d.ts +38 -0
  353. package/dist/layout/dot/splines-groups.d.ts.map +1 -0
  354. package/dist/layout/dot/splines-label.d.ts +105 -0
  355. package/dist/layout/dot/splines-label.d.ts.map +1 -0
  356. package/dist/layout/dot/splines-route-type.d.ts +28 -0
  357. package/dist/layout/dot/splines-route-type.d.ts.map +1 -0
  358. package/dist/layout/dot/splines-route.d.ts +99 -0
  359. package/dist/layout/dot/splines-route.d.ts.map +1 -0
  360. package/dist/layout/dot/splines.d.ts +157 -0
  361. package/dist/layout/dot/splines.d.ts.map +1 -0
  362. package/dist/layout/dot/straight-edges.d.ts +39 -0
  363. package/dist/layout/dot/straight-edges.d.ts.map +1 -0
  364. package/dist/layout/fdp/cluster-edges.d.ts +31 -0
  365. package/dist/layout/fdp/cluster-edges.d.ts.map +1 -0
  366. package/dist/layout/fdp/comp.d.ts +29 -0
  367. package/dist/layout/fdp/comp.d.ts.map +1 -0
  368. package/dist/layout/fdp/derive.d.ts +39 -0
  369. package/dist/layout/fdp/derive.d.ts.map +1 -0
  370. package/dist/layout/fdp/fdp-model.d.ts +101 -0
  371. package/dist/layout/fdp/fdp-model.d.ts.map +1 -0
  372. package/dist/layout/fdp/grid.d.ts +49 -0
  373. package/dist/layout/fdp/grid.d.ts.map +1 -0
  374. package/dist/layout/fdp/index.d.ts +36 -0
  375. package/dist/layout/fdp/index.d.ts.map +1 -0
  376. package/dist/layout/fdp/init.d.ts +26 -0
  377. package/dist/layout/fdp/init.d.ts.map +1 -0
  378. package/dist/layout/fdp/layout.d.ts +57 -0
  379. package/dist/layout/fdp/layout.d.ts.map +1 -0
  380. package/dist/layout/fdp/normalize.d.ts +18 -0
  381. package/dist/layout/fdp/normalize.d.ts.map +1 -0
  382. package/dist/layout/fdp/ports.d.ts +41 -0
  383. package/dist/layout/fdp/ports.d.ts.map +1 -0
  384. package/dist/layout/fdp/tlayout-init.d.ts +21 -0
  385. package/dist/layout/fdp/tlayout-init.d.ts.map +1 -0
  386. package/dist/layout/fdp/tlayout-parms.d.ts +98 -0
  387. package/dist/layout/fdp/tlayout-parms.d.ts.map +1 -0
  388. package/dist/layout/fdp/tlayout.d.ts +43 -0
  389. package/dist/layout/fdp/tlayout.d.ts.map +1 -0
  390. package/dist/layout/fdp/xlayout.d.ts +26 -0
  391. package/dist/layout/fdp/xlayout.d.ts.map +1 -0
  392. package/dist/layout/neato/bfs.d.ts +43 -0
  393. package/dist/layout/neato/bfs.d.ts.map +1 -0
  394. package/dist/layout/neato/cdt-surface.d.ts +16 -0
  395. package/dist/layout/neato/cdt-surface.d.ts.map +1 -0
  396. package/dist/layout/neato/conjgrad.d.ts +61 -0
  397. package/dist/layout/neato/conjgrad.d.ts.map +1 -0
  398. package/dist/layout/neato/delaunay.d.ts +28 -0
  399. package/dist/layout/neato/delaunay.d.ts.map +1 -0
  400. package/dist/layout/neato/dijkstra.d.ts +80 -0
  401. package/dist/layout/neato/dijkstra.d.ts.map +1 -0
  402. package/dist/layout/neato/fdp-adjust.d.ts +31 -0
  403. package/dist/layout/neato/fdp-adjust.d.ts.map +1 -0
  404. package/dist/layout/neato/index.d.ts +58 -0
  405. package/dist/layout/neato/index.d.ts.map +1 -0
  406. package/dist/layout/neato/init.d.ts +207 -0
  407. package/dist/layout/neato/init.d.ts.map +1 -0
  408. package/dist/layout/neato/legal.d.ts +7 -0
  409. package/dist/layout/neato/legal.d.ts.map +1 -0
  410. package/dist/layout/neato/matrix-ops.d.ts +28 -0
  411. package/dist/layout/neato/matrix-ops.d.ts.map +1 -0
  412. package/dist/layout/neato/multispline-router.d.ts +80 -0
  413. package/dist/layout/neato/multispline-router.d.ts.map +1 -0
  414. package/dist/layout/neato/multispline.d.ts +24 -0
  415. package/dist/layout/neato/multispline.d.ts.map +1 -0
  416. package/dist/layout/neato/overlap-prism.d.ts +26 -0
  417. package/dist/layout/neato/overlap-prism.d.ts.map +1 -0
  418. package/dist/layout/neato/overlap.d.ts +85 -0
  419. package/dist/layout/neato/overlap.d.ts.map +1 -0
  420. package/dist/layout/neato/sc-adjust.d.ts +33 -0
  421. package/dist/layout/neato/sc-adjust.d.ts.map +1 -0
  422. package/dist/layout/neato/sep-factor.d.ts +41 -0
  423. package/dist/layout/neato/sep-factor.d.ts.map +1 -0
  424. package/dist/layout/neato/set-aspect.d.ts +33 -0
  425. package/dist/layout/neato/set-aspect.d.ts.map +1 -0
  426. package/dist/layout/neato/sgd.d.ts +166 -0
  427. package/dist/layout/neato/sgd.d.ts.map +1 -0
  428. package/dist/layout/neato/splines.d.ts +153 -0
  429. package/dist/layout/neato/splines.d.ts.map +1 -0
  430. package/dist/layout/neato/stress-kernel.d.ts +53 -0
  431. package/dist/layout/neato/stress-kernel.d.ts.map +1 -0
  432. package/dist/layout/neato/stress.d.ts +158 -0
  433. package/dist/layout/neato/stress.d.ts.map +1 -0
  434. package/dist/layout/osage/index.d.ts +158 -0
  435. package/dist/layout/osage/index.d.ts.map +1 -0
  436. package/dist/layout/osage/layout.d.ts +49 -0
  437. package/dist/layout/osage/layout.d.ts.map +1 -0
  438. package/dist/layout/osage/types.d.ts +28 -0
  439. package/dist/layout/osage/types.d.ts.map +1 -0
  440. package/dist/layout/pack/array-pack.d.ts +114 -0
  441. package/dist/layout/pack/array-pack.d.ts.map +1 -0
  442. package/dist/layout/pack/index.d.ts +157 -0
  443. package/dist/layout/pack/index.d.ts.map +1 -0
  444. package/dist/layout/pack/poly-pack.d.ts +126 -0
  445. package/dist/layout/pack/poly-pack.d.ts.map +1 -0
  446. package/dist/layout/pack/poly-place.d.ts +27 -0
  447. package/dist/layout/pack/poly-place.d.ts.map +1 -0
  448. package/dist/layout/pack/spiral-search.d.ts +18 -0
  449. package/dist/layout/pack/spiral-search.d.ts.map +1 -0
  450. package/dist/layout/pack/test-helpers.d.ts +7 -0
  451. package/dist/layout/pack/test-helpers.d.ts.map +1 -0
  452. package/dist/layout/pack/types.d.ts +74 -0
  453. package/dist/layout/pack/types.d.ts.map +1 -0
  454. package/dist/layout/patchwork/index.d.ts +136 -0
  455. package/dist/layout/patchwork/index.d.ts.map +1 -0
  456. package/dist/layout/patchwork/tree-map.d.ts +32 -0
  457. package/dist/layout/patchwork/tree-map.d.ts.map +1 -0
  458. package/dist/layout/patchwork/tree-node.d.ts +46 -0
  459. package/dist/layout/patchwork/tree-node.d.ts.map +1 -0
  460. package/dist/layout/sfdp/index.d.ts +39 -0
  461. package/dist/layout/sfdp/index.d.ts.map +1 -0
  462. package/dist/layout/sfdp/init.d.ts +61 -0
  463. package/dist/layout/sfdp/init.d.ts.map +1 -0
  464. package/dist/layout/sfdp/multilevel.d.ts +23 -0
  465. package/dist/layout/sfdp/multilevel.d.ts.map +1 -0
  466. package/dist/layout/sfdp/quadtree.d.ts +45 -0
  467. package/dist/layout/sfdp/quadtree.d.ts.map +1 -0
  468. package/dist/layout/sfdp/sparse-matrix-multiply.d.ts +34 -0
  469. package/dist/layout/sfdp/sparse-matrix-multiply.d.ts.map +1 -0
  470. package/dist/layout/sfdp/sparse-matrix.d.ts +101 -0
  471. package/dist/layout/sfdp/sparse-matrix.d.ts.map +1 -0
  472. package/dist/layout/sfdp/sparse-solve.d.ts +14 -0
  473. package/dist/layout/sfdp/sparse-solve.d.ts.map +1 -0
  474. package/dist/layout/sfdp/spring-driver.d.ts +18 -0
  475. package/dist/layout/sfdp/spring-driver.d.ts.map +1 -0
  476. package/dist/layout/sfdp/spring-electrical.d.ts +61 -0
  477. package/dist/layout/sfdp/spring-electrical.d.ts.map +1 -0
  478. package/dist/layout/twopi/circle.d.ts +83 -0
  479. package/dist/layout/twopi/circle.d.ts.map +1 -0
  480. package/dist/layout/twopi/index.d.ts +24 -0
  481. package/dist/layout/twopi/index.d.ts.map +1 -0
  482. package/dist/layout/twopi/init.d.ts +85 -0
  483. package/dist/layout/twopi/init.d.ts.map +1 -0
  484. package/dist/layout/twopi/pipeline.d.ts +37 -0
  485. package/dist/layout/twopi/pipeline.d.ts.map +1 -0
  486. package/dist/layout/twopi/twopi-test-helpers.d.ts +12 -0
  487. package/dist/layout/twopi/twopi-test-helpers.d.ts.map +1 -0
  488. package/dist/model/algData.d.ts +175 -0
  489. package/dist/model/algData.d.ts.map +1 -0
  490. package/dist/model/cgraph-ops.d.ts +86 -0
  491. package/dist/model/cgraph-ops.d.ts.map +1 -0
  492. package/dist/model/edge.d.ts +80 -0
  493. package/dist/model/edge.d.ts.map +1 -0
  494. package/dist/model/edgeInfo.d.ts +299 -0
  495. package/dist/model/edgeInfo.d.ts.map +1 -0
  496. package/dist/model/geom.d.ts +149 -0
  497. package/dist/model/geom.d.ts.map +1 -0
  498. package/dist/model/graph.d.ts +135 -0
  499. package/dist/model/graph.d.ts.map +1 -0
  500. package/dist/model/graphInfo.d.ts +418 -0
  501. package/dist/model/graphInfo.d.ts.map +1 -0
  502. package/dist/model/index.d.ts +10 -0
  503. package/dist/model/index.d.ts.map +1 -0
  504. package/dist/model/layoutParams.d.ts +85 -0
  505. package/dist/model/layoutParams.d.ts.map +1 -0
  506. package/dist/model/node.d.ts +101 -0
  507. package/dist/model/node.d.ts.map +1 -0
  508. package/dist/model/nodeInfo.d.ts +278 -0
  509. package/dist/model/nodeInfo.d.ts.map +1 -0
  510. package/dist/model/rankEntry.d.ts +80 -0
  511. package/dist/model/rankEntry.d.ts.map +1 -0
  512. package/dist/ortho/chan-dict.d.ts +82 -0
  513. package/dist/ortho/chan-dict.d.ts.map +1 -0
  514. package/dist/ortho/fpq.d.ts +54 -0
  515. package/dist/ortho/fpq.d.ts.map +1 -0
  516. package/dist/ortho/index.d.ts +35 -0
  517. package/dist/ortho/index.d.ts.map +1 -0
  518. package/dist/ortho/maze-channels.d.ts +47 -0
  519. package/dist/ortho/maze-channels.d.ts.map +1 -0
  520. package/dist/ortho/maze.d.ts +27 -0
  521. package/dist/ortho/maze.d.ts.map +1 -0
  522. package/dist/ortho/ortho-parallel.d.ts +26 -0
  523. package/dist/ortho/ortho-parallel.d.ts.map +1 -0
  524. package/dist/ortho/ortho-route.d.ts +31 -0
  525. package/dist/ortho/ortho-route.d.ts.map +1 -0
  526. package/dist/ortho/partition.d.ts +34 -0
  527. package/dist/ortho/partition.d.ts.map +1 -0
  528. package/dist/ortho/rawgraph.d.ts +41 -0
  529. package/dist/ortho/rawgraph.d.ts.map +1 -0
  530. package/dist/ortho/sgraph.d.ts +74 -0
  531. package/dist/ortho/sgraph.d.ts.map +1 -0
  532. package/dist/ortho/trap-query.d.ts +32 -0
  533. package/dist/ortho/trap-query.d.ts.map +1 -0
  534. package/dist/ortho/trap-segment.d.ts +23 -0
  535. package/dist/ortho/trap-segment.d.ts.map +1 -0
  536. package/dist/ortho/trap-types.d.ts +91 -0
  537. package/dist/ortho/trap-types.d.ts.map +1 -0
  538. package/dist/ortho/trap-update.d.ts +12 -0
  539. package/dist/ortho/trap-update.d.ts.map +1 -0
  540. package/dist/ortho/trapezoid.d.ts +18 -0
  541. package/dist/ortho/trapezoid.d.ts.map +1 -0
  542. package/dist/ortho/types.d.ts +241 -0
  543. package/dist/ortho/types.d.ts.map +1 -0
  544. package/dist/parser/ast.d.ts +49 -0
  545. package/dist/parser/ast.d.ts.map +1 -0
  546. package/dist/parser/builder.d.ts +75 -0
  547. package/dist/parser/builder.d.ts.map +1 -0
  548. package/dist/parser/index.d.ts +97 -0
  549. package/dist/parser/index.d.ts.map +1 -0
  550. package/dist/pathplan/index.d.ts +8 -0
  551. package/dist/pathplan/index.d.ts.map +1 -0
  552. package/dist/pathplan/route.d.ts +9 -0
  553. package/dist/pathplan/route.d.ts.map +1 -0
  554. package/dist/pathplan/shortest.d.ts +5 -0
  555. package/dist/pathplan/shortest.d.ts.map +1 -0
  556. package/dist/pathplan/solvers.d.ts +5 -0
  557. package/dist/pathplan/solvers.d.ts.map +1 -0
  558. package/dist/pathplan/triang.d.ts +25 -0
  559. package/dist/pathplan/triang.d.ts.map +1 -0
  560. package/dist/pathplan/types.d.ts +22 -0
  561. package/dist/pathplan/types.d.ts.map +1 -0
  562. package/dist/pathplan/visibility.d.ts +13 -0
  563. package/dist/pathplan/visibility.d.ts.map +1 -0
  564. package/dist/pathplan/vispath.d.ts +9 -0
  565. package/dist/pathplan/vispath.d.ts.map +1 -0
  566. package/dist/rbtree/index.d.ts +127 -0
  567. package/dist/rbtree/index.d.ts.map +1 -0
  568. package/dist/render/color-resolve.d.ts +38 -0
  569. package/dist/render/color-resolve.d.ts.map +1 -0
  570. package/dist/render/dot.d.ts +379 -0
  571. package/dist/render/dot.d.ts.map +1 -0
  572. package/dist/render/index.d.ts +24 -0
  573. package/dist/render/index.d.ts.map +1 -0
  574. package/dist/render/json.d.ts +89 -0
  575. package/dist/render/json.d.ts.map +1 -0
  576. package/dist/render/map-test-helpers.d.ts +13 -0
  577. package/dist/render/map-test-helpers.d.ts.map +1 -0
  578. package/dist/render/map.d.ts +197 -0
  579. package/dist/render/map.d.ts.map +1 -0
  580. package/dist/render/public.d.ts +64 -0
  581. package/dist/render/public.d.ts.map +1 -0
  582. package/dist/render/svg-arrow-ops.d.ts +10 -0
  583. package/dist/render/svg-arrow-ops.d.ts.map +1 -0
  584. package/dist/render/svg-cluster.d.ts +9 -0
  585. package/dist/render/svg-cluster.d.ts.map +1 -0
  586. package/dist/render/svg-edge-ortho-radius.d.ts +31 -0
  587. package/dist/render/svg-edge-ortho-radius.d.ts.map +1 -0
  588. package/dist/render/svg-edge-split.d.ts +48 -0
  589. package/dist/render/svg-edge-split.d.ts.map +1 -0
  590. package/dist/render/svg-gradient.d.ts +46 -0
  591. package/dist/render/svg-gradient.d.ts.map +1 -0
  592. package/dist/render/svg-graph.d.ts +97 -0
  593. package/dist/render/svg-graph.d.ts.map +1 -0
  594. package/dist/render/svg-helpers.d.ts +122 -0
  595. package/dist/render/svg-helpers.d.ts.map +1 -0
  596. package/dist/render/svg-id.d.ts +28 -0
  597. package/dist/render/svg-id.d.ts.map +1 -0
  598. package/dist/render/svg-multicolor.d.ts +60 -0
  599. package/dist/render/svg-multicolor.d.ts.map +1 -0
  600. package/dist/render/svg-parallel-edge.d.ts +28 -0
  601. package/dist/render/svg-parallel-edge.d.ts.map +1 -0
  602. package/dist/render/svg-tapered-edge.d.ts +18 -0
  603. package/dist/render/svg-tapered-edge.d.ts.map +1 -0
  604. package/dist/render/svg.d.ts +104 -0
  605. package/dist/render/svg.d.ts.map +1 -0
  606. package/dist/render/xdot-public.d.ts +95 -0
  607. package/dist/render/xdot-public.d.ts.map +1 -0
  608. package/dist/render/xml-escape.d.ts +21 -0
  609. package/dist/render/xml-escape.d.ts.map +1 -0
  610. package/dist/render.js +52556 -0
  611. package/dist/render.js.map +7 -0
  612. package/dist/util/agxbuf.d.ts +72 -0
  613. package/dist/util/agxbuf.d.ts.map +1 -0
  614. package/dist/util/bsd-qsort.d.ts +22 -0
  615. package/dist/util/bsd-qsort.d.ts.map +1 -0
  616. package/dist/util/index.d.ts +11 -0
  617. package/dist/util/index.d.ts.map +1 -0
  618. package/dist/util/list.d.ts +47 -0
  619. package/dist/util/list.d.ts.map +1 -0
  620. package/dist/util/math.d.ts +54 -0
  621. package/dist/util/math.d.ts.map +1 -0
  622. package/dist/util/mt19937.d.ts +40 -0
  623. package/dist/util/mt19937.d.ts.map +1 -0
  624. package/dist/util/printf-round.d.ts +45 -0
  625. package/dist/util/printf-round.d.ts.map +1 -0
  626. package/dist/util/xml.d.ts +24 -0
  627. package/dist/util/xml.d.ts.map +1 -0
  628. package/dist/vpsc/Block.d.ts +116 -0
  629. package/dist/vpsc/Block.d.ts.map +1 -0
  630. package/dist/vpsc/Blocks.d.ts +66 -0
  631. package/dist/vpsc/Blocks.d.ts.map +1 -0
  632. package/dist/vpsc/Constraint.d.ts +51 -0
  633. package/dist/vpsc/Constraint.d.ts.map +1 -0
  634. package/dist/vpsc/HeapUtils.d.ts +37 -0
  635. package/dist/vpsc/HeapUtils.d.ts.map +1 -0
  636. package/dist/vpsc/Solver.d.ts +107 -0
  637. package/dist/vpsc/Solver.d.ts.map +1 -0
  638. package/dist/vpsc/SweepLine.d.ts +38 -0
  639. package/dist/vpsc/SweepLine.d.ts.map +1 -0
  640. package/dist/vpsc/Variable.d.ts +38 -0
  641. package/dist/vpsc/Variable.d.ts.map +1 -0
  642. package/dist/vpsc/index.d.ts +54 -0
  643. package/dist/vpsc/index.d.ts.map +1 -0
  644. package/dist/vpsc/sweepTypes.d.ts +29 -0
  645. package/dist/vpsc/sweepTypes.d.ts.map +1 -0
  646. package/dist/xdot/index.d.ts +6 -0
  647. package/dist/xdot/index.d.ts.map +1 -0
  648. package/dist/xdot/lex.d.ts +22 -0
  649. package/dist/xdot/lex.d.ts.map +1 -0
  650. package/dist/xdot/misc.d.ts +13 -0
  651. package/dist/xdot/misc.d.ts.map +1 -0
  652. package/dist/xdot/parse.d.ts +21 -0
  653. package/dist/xdot/parse.d.ts.map +1 -0
  654. package/dist/xdot/types.d.ts +152 -0
  655. package/dist/xdot/types.d.ts.map +1 -0
  656. package/package.json +113 -0
  657. package/src/api/builder.ts +277 -0
  658. package/src/api/edge-ops.ts +113 -0
  659. package/src/api/geometry.ts +307 -0
  660. package/src/api/index.ts +46 -0
  661. package/src/cdt/bag.ts +196 -0
  662. package/src/cdt/hash-core.ts +84 -0
  663. package/src/cdt/hash.ts +207 -0
  664. package/src/cdt/index.ts +17 -0
  665. package/src/cdt/splay-core.ts +301 -0
  666. package/src/cdt/splay.ts +191 -0
  667. package/src/cdt/strhash.ts +52 -0
  668. package/src/cdt/types.ts +13 -0
  669. package/src/common/arith.ts +39 -0
  670. package/src/common/arm-pow-data.ts +201 -0
  671. package/src/common/arm-pow.ts +296 -0
  672. package/src/common/arrows-constants.ts +175 -0
  673. package/src/common/arrows-geometry.ts +62 -0
  674. package/src/common/arrows-miter.ts +84 -0
  675. package/src/common/arrows-shapes-poly.ts +241 -0
  676. package/src/common/arrows-shapes-util.ts +162 -0
  677. package/src/common/arrows-shapes.ts +360 -0
  678. package/src/common/arrows-types.ts +59 -0
  679. package/src/common/arrows.ts +209 -0
  680. package/src/common/color.ts +340 -0
  681. package/src/common/colorData.ts +264 -0
  682. package/src/common/compass-port.ts +384 -0
  683. package/src/common/crand.ts +79 -0
  684. package/src/common/edge-label-init.ts +310 -0
  685. package/src/common/edge-offset.ts +140 -0
  686. package/src/common/ellipse-wedge.ts +189 -0
  687. package/src/common/emit-types.ts +332 -0
  688. package/src/common/fma.ts +52 -0
  689. package/src/common/graph-init.ts +359 -0
  690. package/src/common/html-entities.ts +299 -0
  691. package/src/common/html-string.ts +22 -0
  692. package/src/common/htmltable-emit-fill.ts +367 -0
  693. package/src/common/htmltable-emit-rules.ts +293 -0
  694. package/src/common/htmltable-emit.ts +345 -0
  695. package/src/common/htmltable-lex.ts +138 -0
  696. package/src/common/htmltable-parse.ts +539 -0
  697. package/src/common/htmltable-port.ts +32 -0
  698. package/src/common/htmltable-pos-runs.ts +313 -0
  699. package/src/common/htmltable-pos.ts +601 -0
  700. package/src/common/htmltable-types.ts +262 -0
  701. package/src/common/htmltable.ts +477 -0
  702. package/src/common/layers.ts +113 -0
  703. package/src/common/make-label.ts +192 -0
  704. package/src/common/multicolor.ts +167 -0
  705. package/src/common/nodeinit.ts +339 -0
  706. package/src/common/poly-gencode.ts +475 -0
  707. package/src/common/poly-init.ts +133 -0
  708. package/src/common/poly-inside.ts +202 -0
  709. package/src/common/poly-shapes-cases.ts +253 -0
  710. package/src/common/poly-shapes-cases2.ts +170 -0
  711. package/src/common/poly-shapes-util.ts +124 -0
  712. package/src/common/poly-shapes.ts +181 -0
  713. package/src/common/poly-sizing.ts +639 -0
  714. package/src/common/poly-vertices.ts +237 -0
  715. package/src/common/postproc.ts +436 -0
  716. package/src/common/ps-fontalias.ts +112 -0
  717. package/src/common/random.ts +37 -0
  718. package/src/common/record-port.ts +89 -0
  719. package/src/common/record.ts +523 -0
  720. package/src/common/shapeData.ts +502 -0
  721. package/src/common/shapes.ts +187 -0
  722. package/src/common/spline-midpoint.ts +105 -0
  723. package/src/common/splines-clip.ts +449 -0
  724. package/src/common/splines-constants.ts +53 -0
  725. package/src/common/splines-geom.ts +194 -0
  726. package/src/common/splines-path-begin.ts +243 -0
  727. package/src/common/splines-path-end.ts +231 -0
  728. package/src/common/splines-path-shared.ts +258 -0
  729. package/src/common/splines-routespl.ts +444 -0
  730. package/src/common/splines-selfedge.ts +403 -0
  731. package/src/common/splines.ts +33 -0
  732. package/src/common/style-resolve.ts +481 -0
  733. package/src/common/subst.ts +126 -0
  734. package/src/common/taper.ts +219 -0
  735. package/src/common/textmeasure-factory.ts +86 -0
  736. package/src/common/textmeasure-lookup.ts +50 -0
  737. package/src/common/textmeasure-lut-data-a.ts +182 -0
  738. package/src/common/textmeasure-lut-data-b.ts +140 -0
  739. package/src/common/textmeasure-lut-data-c.ts +221 -0
  740. package/src/common/textmeasure-lut-data.ts +78 -0
  741. package/src/common/textmeasure.ts +321 -0
  742. package/src/common/types.ts +425 -0
  743. package/src/common/xlabels-place.ts +475 -0
  744. package/src/debug.ts +38 -0
  745. package/src/errors.ts +95 -0
  746. package/src/gvc/anchor.ts +530 -0
  747. package/src/gvc/context.ts +260 -0
  748. package/src/gvc/default-context.ts +70 -0
  749. package/src/gvc/device-cluster.ts +114 -0
  750. package/src/gvc/device.ts +598 -0
  751. package/src/gvc/edge-labels.ts +116 -0
  752. package/src/gvc/emit-walk.ts +98 -0
  753. package/src/gvc/image-resolver.ts +137 -0
  754. package/src/gvc/job.ts +401 -0
  755. package/src/gvc/textlayout.ts +44 -0
  756. package/src/gvc/textspan-emit.ts +100 -0
  757. package/src/gvc/usershape.ts +33 -0
  758. package/src/gvc/viewport.ts +203 -0
  759. package/src/index.ts +165 -0
  760. package/src/label/index.ts +302 -0
  761. package/src/label/node.ts +278 -0
  762. package/src/label/rectangle.ts +123 -0
  763. package/src/label/split-q.ts +237 -0
  764. package/src/label/xlabels-geom.ts +132 -0
  765. package/src/label/xlabels-intersect.ts +421 -0
  766. package/src/label/xlabels.ts +212 -0
  767. package/src/layout/circo/blockpath.ts +560 -0
  768. package/src/layout/circo/blocks.ts +234 -0
  769. package/src/layout/circo/blocktree.ts +246 -0
  770. package/src/layout/circo/circular.ts +227 -0
  771. package/src/layout/circo/index.ts +90 -0
  772. package/src/layout/circo/init.ts +84 -0
  773. package/src/layout/circo/position-helpers.ts +104 -0
  774. package/src/layout/circo/position.ts +196 -0
  775. package/src/layout/dot/__fixtures__/xcoord-pivot-divergence.gv +79 -0
  776. package/src/layout/dot/acyclic.ts +60 -0
  777. package/src/layout/dot/aspect.ts +22 -0
  778. package/src/layout/dot/classify.ts +462 -0
  779. package/src/layout/dot/cluster-path.ts +200 -0
  780. package/src/layout/dot/cluster.ts +480 -0
  781. package/src/layout/dot/compound-clip.ts +224 -0
  782. package/src/layout/dot/compound-geom.ts +282 -0
  783. package/src/layout/dot/compound.ts +294 -0
  784. package/src/layout/dot/conc.ts +433 -0
  785. package/src/layout/dot/decomp.ts +165 -0
  786. package/src/layout/dot/edge-order.ts +62 -0
  787. package/src/layout/dot/edge-route-arrow.ts +87 -0
  788. package/src/layout/dot/edge-route-boxes.ts +99 -0
  789. package/src/layout/dot/edge-route-chain.ts +420 -0
  790. package/src/layout/dot/edge-route-clip.ts +253 -0
  791. package/src/layout/dot/edge-route-faithful.ts +404 -0
  792. package/src/layout/dot/edge-route-geom.ts +90 -0
  793. package/src/layout/dot/edge-route-helpers.ts +170 -0
  794. package/src/layout/dot/edge-route-poly.ts +174 -0
  795. package/src/layout/dot/edge-route-rank.ts +136 -0
  796. package/src/layout/dot/edge-route-routing.ts +219 -0
  797. package/src/layout/dot/edge-route.ts +490 -0
  798. package/src/layout/dot/fastgr.ts +377 -0
  799. package/src/layout/dot/flat-utils.ts +52 -0
  800. package/src/layout/dot/flat.ts +518 -0
  801. package/src/layout/dot/graph-label.ts +114 -0
  802. package/src/layout/dot/index.ts +302 -0
  803. package/src/layout/dot/init.ts +300 -0
  804. package/src/layout/dot/label-order.ts +161 -0
  805. package/src/layout/dot/mincross-build.ts +373 -0
  806. package/src/layout/dot/mincross-cross.ts +409 -0
  807. package/src/layout/dot/mincross-flat.ts +213 -0
  808. package/src/layout/dot/mincross-order.ts +401 -0
  809. package/src/layout/dot/mincross-utils.ts +170 -0
  810. package/src/layout/dot/mincross.ts +386 -0
  811. package/src/layout/dot/ns-core.ts +122 -0
  812. package/src/layout/dot/ns-range.ts +228 -0
  813. package/src/layout/dot/ns-subtree.ts +347 -0
  814. package/src/layout/dot/ns.ts +506 -0
  815. package/src/layout/dot/ortho-adapter.ts +133 -0
  816. package/src/layout/dot/pack-components.ts +433 -0
  817. package/src/layout/dot/position-aux.ts +382 -0
  818. package/src/layout/dot/position-bbox.ts +221 -0
  819. package/src/layout/dot/position-cluster.ts +286 -0
  820. package/src/layout/dot/position-ycoords.ts +287 -0
  821. package/src/layout/dot/position.ts +194 -0
  822. package/src/layout/dot/rank-dot2.ts +528 -0
  823. package/src/layout/dot/rank.ts +547 -0
  824. package/src/layout/dot/sameport.ts +278 -0
  825. package/src/layout/dot/self-loop.ts +147 -0
  826. package/src/layout/dot/splines-clone.ts +121 -0
  827. package/src/layout/dot/splines-flat-labeled.ts +408 -0
  828. package/src/layout/dot/splines-flat-multi.ts +188 -0
  829. package/src/layout/dot/splines-flat.ts +598 -0
  830. package/src/layout/dot/splines-groups.ts +190 -0
  831. package/src/layout/dot/splines-label.ts +432 -0
  832. package/src/layout/dot/splines-route-type.ts +44 -0
  833. package/src/layout/dot/splines-route.ts +478 -0
  834. package/src/layout/dot/splines.ts +538 -0
  835. package/src/layout/dot/straight-edges.ts +332 -0
  836. package/src/layout/fdp/cluster-edges.ts +0 -0
  837. package/src/layout/fdp/comp.ts +160 -0
  838. package/src/layout/fdp/derive.ts +272 -0
  839. package/src/layout/fdp/fdp-model.ts +238 -0
  840. package/src/layout/fdp/grid.ts +77 -0
  841. package/src/layout/fdp/index.ts +113 -0
  842. package/src/layout/fdp/init.ts +116 -0
  843. package/src/layout/fdp/layout.ts +485 -0
  844. package/src/layout/fdp/normalize.ts +100 -0
  845. package/src/layout/fdp/ports.ts +161 -0
  846. package/src/layout/fdp/tlayout-init.ts +230 -0
  847. package/src/layout/fdp/tlayout-parms.ts +234 -0
  848. package/src/layout/fdp/tlayout.ts +317 -0
  849. package/src/layout/fdp/xlayout.ts +350 -0
  850. package/src/layout/neato/bfs.ts +131 -0
  851. package/src/layout/neato/cdt-surface.ts +693 -0
  852. package/src/layout/neato/conjgrad.ts +159 -0
  853. package/src/layout/neato/delaunay.ts +259 -0
  854. package/src/layout/neato/dijkstra.ts +296 -0
  855. package/src/layout/neato/fdp-adjust.ts +124 -0
  856. package/src/layout/neato/index.ts +310 -0
  857. package/src/layout/neato/init.ts +505 -0
  858. package/src/layout/neato/legal.ts +316 -0
  859. package/src/layout/neato/matrix-ops.ts +112 -0
  860. package/src/layout/neato/multispline-router.ts +417 -0
  861. package/src/layout/neato/multispline.ts +427 -0
  862. package/src/layout/neato/overlap-prism.ts +503 -0
  863. package/src/layout/neato/overlap.ts +158 -0
  864. package/src/layout/neato/sc-adjust.ts +206 -0
  865. package/src/layout/neato/sep-factor.ts +118 -0
  866. package/src/layout/neato/set-aspect.ts +178 -0
  867. package/src/layout/neato/sgd.ts +461 -0
  868. package/src/layout/neato/splines.ts +1014 -0
  869. package/src/layout/neato/stress-kernel.ts +362 -0
  870. package/src/layout/neato/stress.ts +420 -0
  871. package/src/layout/osage/index.ts +548 -0
  872. package/src/layout/osage/layout.ts +254 -0
  873. package/src/layout/osage/types.ts +31 -0
  874. package/src/layout/pack/array-pack.ts +254 -0
  875. package/src/layout/pack/index.ts +570 -0
  876. package/src/layout/pack/poly-pack.ts +266 -0
  877. package/src/layout/pack/poly-place.ts +426 -0
  878. package/src/layout/pack/spiral-search.ts +106 -0
  879. package/src/layout/pack/test-helpers.ts +46 -0
  880. package/src/layout/pack/types.ts +85 -0
  881. package/src/layout/patchwork/index.ts +441 -0
  882. package/src/layout/patchwork/tree-map.ts +183 -0
  883. package/src/layout/patchwork/tree-node.ts +120 -0
  884. package/src/layout/sfdp/index.ts +231 -0
  885. package/src/layout/sfdp/init.ts +224 -0
  886. package/src/layout/sfdp/multilevel.ts +262 -0
  887. package/src/layout/sfdp/quadtree.ts +267 -0
  888. package/src/layout/sfdp/sparse-matrix-multiply.ts +160 -0
  889. package/src/layout/sfdp/sparse-matrix.ts +367 -0
  890. package/src/layout/sfdp/sparse-solve.ts +122 -0
  891. package/src/layout/sfdp/spring-driver.ts +209 -0
  892. package/src/layout/sfdp/spring-electrical.ts +431 -0
  893. package/src/layout/twopi/circle.ts +339 -0
  894. package/src/layout/twopi/index.ts +78 -0
  895. package/src/layout/twopi/init.ts +174 -0
  896. package/src/layout/twopi/pipeline.ts +98 -0
  897. package/src/layout/twopi/twopi-test-helpers.ts +44 -0
  898. package/src/model/algData.ts +194 -0
  899. package/src/model/cgraph-ops.ts +175 -0
  900. package/src/model/edge.ts +104 -0
  901. package/src/model/edgeInfo.ts +431 -0
  902. package/src/model/geom.ts +204 -0
  903. package/src/model/graph.ts +172 -0
  904. package/src/model/graphInfo.ts +528 -0
  905. package/src/model/index.ts +10 -0
  906. package/src/model/layoutParams.ts +127 -0
  907. package/src/model/node.ts +138 -0
  908. package/src/model/nodeInfo.ts +424 -0
  909. package/src/model/rankEntry.ts +95 -0
  910. package/src/ortho/chan-dict.ts +236 -0
  911. package/src/ortho/fpq.ts +149 -0
  912. package/src/ortho/index.ts +206 -0
  913. package/src/ortho/maze-channels.ts +196 -0
  914. package/src/ortho/maze.ts +311 -0
  915. package/src/ortho/ortho-parallel.ts +254 -0
  916. package/src/ortho/ortho-route.ts +349 -0
  917. package/src/ortho/partition.ts +303 -0
  918. package/src/ortho/rawgraph.ts +119 -0
  919. package/src/ortho/sgraph.ts +283 -0
  920. package/src/ortho/trap-query.ts +174 -0
  921. package/src/ortho/trap-segment.ts +303 -0
  922. package/src/ortho/trap-types.ts +171 -0
  923. package/src/ortho/trap-update.ts +89 -0
  924. package/src/ortho/trapezoid.ts +120 -0
  925. package/src/ortho/types.ts +286 -0
  926. package/src/parser/__fixtures__/directed.dot +10 -0
  927. package/src/parser/__fixtures__/simple.dot +7 -0
  928. package/src/parser/__fixtures__/subgraph.dot +17 -0
  929. package/src/parser/ast.ts +64 -0
  930. package/src/parser/builder.ts +401 -0
  931. package/src/parser/dot.d.ts +208 -0
  932. package/src/parser/dot.js +3321 -0
  933. package/src/parser/dot.pegjs +263 -0
  934. package/src/parser/index.ts +353 -0
  935. package/src/pathplan/index.ts +9 -0
  936. package/src/pathplan/route.ts +284 -0
  937. package/src/pathplan/shortest.ts +268 -0
  938. package/src/pathplan/solvers.ts +65 -0
  939. package/src/pathplan/triang.ts +221 -0
  940. package/src/pathplan/types.ts +16 -0
  941. package/src/pathplan/visibility.ts +170 -0
  942. package/src/pathplan/vispath.ts +118 -0
  943. package/src/rbtree/index.ts +418 -0
  944. package/src/render/color-resolve.ts +171 -0
  945. package/src/render/dot.ts +1514 -0
  946. package/src/render/index.ts +29 -0
  947. package/src/render/json.ts +734 -0
  948. package/src/render/map-test-helpers.ts +61 -0
  949. package/src/render/map.ts +528 -0
  950. package/src/render/public.ts +131 -0
  951. package/src/render/svg-arrow-ops.ts +113 -0
  952. package/src/render/svg-cluster.ts +24 -0
  953. package/src/render/svg-edge-ortho-radius.ts +228 -0
  954. package/src/render/svg-edge-split.ts +180 -0
  955. package/src/render/svg-gradient.ts +185 -0
  956. package/src/render/svg-graph.ts +415 -0
  957. package/src/render/svg-helpers.ts +623 -0
  958. package/src/render/svg-id.ts +76 -0
  959. package/src/render/svg-multicolor.ts +313 -0
  960. package/src/render/svg-parallel-edge.ts +123 -0
  961. package/src/render/svg-tapered-edge.ts +56 -0
  962. package/src/render/svg.ts +307 -0
  963. package/src/render/xdot-public.ts +164 -0
  964. package/src/render/xml-escape.ts +56 -0
  965. package/src/util/agxbuf.ts +138 -0
  966. package/src/util/bsd-qsort.ts +251 -0
  967. package/src/util/index.ts +25 -0
  968. package/src/util/list.ts +122 -0
  969. package/src/util/math.ts +104 -0
  970. package/src/util/mt19937.ts +143 -0
  971. package/src/util/printf-round.ts +163 -0
  972. package/src/util/xml.ts +184 -0
  973. package/src/vpsc/Block.ts +375 -0
  974. package/src/vpsc/Blocks.ts +164 -0
  975. package/src/vpsc/Constraint.ts +94 -0
  976. package/src/vpsc/HeapUtils.ts +88 -0
  977. package/src/vpsc/Solver.ts +274 -0
  978. package/src/vpsc/SweepLine.ts +214 -0
  979. package/src/vpsc/Variable.ts +54 -0
  980. package/src/vpsc/index.ts +122 -0
  981. package/src/vpsc/sweepTypes.ts +31 -0
  982. package/src/xdot/index.ts +7 -0
  983. package/src/xdot/lex.ts +151 -0
  984. package/src/xdot/misc.ts +226 -0
  985. package/src/xdot/parse.ts +349 -0
  986. package/src/xdot/types.ts +158 -0
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Cluster expansion ports: after the parent layout positions a
3
+ * cluster's derived node, the angles of its edges induce boundary
4
+ * ports for the cluster's own recursive layout.
5
+ *
6
+ * Spec read at the 15.0.0 tag.
7
+ *
8
+ * @see lib/fdpgen/layout.c:getEdgeList / genPorts / expandCluster
9
+ * (15.0.0)
10
+ */
11
+ import type { Graph } from '../../model/graph.js';
12
+ import type { Node } from '../../model/node.js';
13
+ import type { Edge } from '../../model/edge.js';
14
+ import { type Bport } from './fdp-model.js';
15
+ /** Edge record for angular sorting. @see lib/fdpgen/layout.c:erec */
16
+ interface Erec {
17
+ e: Edge;
18
+ alpha: number;
19
+ dist2: number;
20
+ }
21
+ /**
22
+ * Counterclockwise-sorted list of the derived edges at n, with ties
23
+ * broken apart angularly. Assumes g has an initial layout.
24
+ * @see lib/fdpgen/layout.c:getEdgeList
25
+ */
26
+ export declare function getEdgeList(n: Node, g: Graph): Erec[];
27
+ /**
28
+ * Append the ports corresponding to one derived edge at n to pp,
29
+ * fanning multi-edges between alpha and bnd. Real-edge order reverses
30
+ * when n is the later-created endpoint (C pointer comparison).
31
+ * @see lib/fdpgen/layout.c:genPorts
32
+ */
33
+ export declare function genPorts(n: Node, er: Erec, pp: Bport[], idx: number, bnd: number): number;
34
+ /**
35
+ * Attach ports induced by the layout of cg to the cluster subgraph
36
+ * that derived node n represents.
37
+ * @see lib/fdpgen/layout.c:expandCluster
38
+ */
39
+ export declare function expandCluster(n: Node, cg: Graph): Graph;
40
+ export {};
41
+ //# sourceMappingURL=ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../src/layout/fdp/ports.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,gBAAgB,CAAC;AAKxB,qEAAqE;AACrE,UAAU,IAAI;IACZ,CAAC,EAAE,IAAI,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAgCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,CAmBrD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACvD,MAAM,CAcR;AAoBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,CAuBvD"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * fdp initial placement: seed the RNG, size the boundary ellipse/box,
3
+ * place ports on the ellipse and free nodes within it.
4
+ *
5
+ * drand48 call order is load-bearing (exact LCG port in
6
+ * src/common/random.ts); node iteration is the component's id order
7
+ * and the per-node edge scan is out-edges then in-edges (agfstedge).
8
+ *
9
+ * Spec read at the 15.0.0 tag.
10
+ *
11
+ * @see lib/fdpgen/tlayout.c:initPositions (15.0.0)
12
+ */
13
+ import type { Graph } from '../../model/graph.js';
14
+ import type { Point } from '../../model/geom.js';
15
+ import { type Bport } from './fdp-model.js';
16
+ /**
17
+ * Create the initial layout of one derived component.
18
+ * @see lib/fdpgen/tlayout.c:initPositions
19
+ */
20
+ export declare function initPositions(g: Graph, pp: Bport[] | null): Point;
21
+ //# sourceMappingURL=tlayout-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tlayout-init.d.ts","sourceRoot":"","sources":["../../../src/layout/fdp/tlayout-init.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACL,KAAK,KAAK,EAMX,MAAM,gBAAgB,CAAC;AA4KxB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,KAAK,CA0BjE"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * fdp layout parameters: the fdp_parms process defaults, the static
3
+ * parms_t working set, the cooling schedule, and parameter resolution
4
+ * from graph attributes.
5
+ *
6
+ * Spec read at the 15.0.0 tag.
7
+ *
8
+ * @see lib/fdpgen/tlayout.c (15.0.0) — parms_t, fdp_initParams,
9
+ * init_params, cool, reset_params
10
+ * @see lib/common/globals.c (15.0.0) — fdpParms defaults
11
+ */
12
+ import type { Graph } from '../../model/graph.js';
13
+ import { type XParams } from './fdp-model.js';
14
+ /** @see lib/fdpgen/tlayout.c:EXPFACTOR */
15
+ export declare const EXPFACTOR = 1.2;
16
+ /** @see lib/neatogen/neato.h:INIT_SELF */
17
+ export declare const INIT_SELF = 0;
18
+ /** @see lib/neatogen/neato.h:INIT_REGULAR */
19
+ export declare const INIT_REGULAR = 1;
20
+ /** @see lib/neatogen/neato.h:INIT_RANDOM */
21
+ export declare const INIT_RANDOM = 2;
22
+ /**
23
+ * Process-level fdp defaults ("possibly set via command line; -1
24
+ * indicates unset"). The CLI flags (-L*) are not ported; the struct is
25
+ * kept because fdp_initParams and init_edge read it.
26
+ *
27
+ * @see lib/common/globals.c:fdpParms
28
+ * @see lib/fdpgen/fdp.h:fdpParms_t
29
+ */
30
+ export declare const fdpParms: {
31
+ useGrid: number;
32
+ useNew: number;
33
+ numIters: number;
34
+ unscaled: number;
35
+ C: number;
36
+ Tfact: number;
37
+ K: number;
38
+ T0: number;
39
+ };
40
+ /** @see lib/fdpgen/tlayout.c:parms_t */
41
+ export interface TParms {
42
+ useGrid: number;
43
+ useNew: number;
44
+ seed: number;
45
+ numIters: number;
46
+ maxIters: number;
47
+ unscaled: number;
48
+ C: number;
49
+ Tfact: number;
50
+ K: number;
51
+ T0: number;
52
+ smode: number;
53
+ Cell: number;
54
+ Wd: number;
55
+ Ht: number;
56
+ pass1: number;
57
+ loopcnt: number;
58
+ }
59
+ /** Module-level mutable state, mirroring the C static. @see tlayout.c:parms */
60
+ export declare const parms: TParms;
61
+ /** Linear cooling schedule. @see lib/fdpgen/tlayout.c:cool */
62
+ export declare function cool(t: number): number;
63
+ /** @see lib/fdpgen/tlayout.c:reset_params */
64
+ export declare function resetParams(): void;
65
+ /**
66
+ * Parse the graph "start" attribute into an init mode and seed.
67
+ * (The TS neato setSeed has a different shape; this is the C original.)
68
+ *
69
+ * When INIT_RANDOM is selected without a numeric seed, C uses
70
+ * time(NULL); Date.now() seconds substitute (non-deterministic in C
71
+ * too, so parity is unaffected).
72
+ *
73
+ * @see lib/neatogen/neatoinit.c:setSeed (15.0.0)
74
+ */
75
+ export declare function setSeedFdp(g: Graph, dflt: number, seedRef: {
76
+ value: number;
77
+ }): number;
78
+ /**
79
+ * Classify the "start" value prefix (self/regular/random keyword or a
80
+ * bare numeric seed). @see lib/neatogen/neatoinit.c:setSeed
81
+ */
82
+ export declare function classifyStart(p: string, dflt: number): {
83
+ init: number;
84
+ rest: string;
85
+ };
86
+ /**
87
+ * Initialize parameters from the root graph's attributes.
88
+ * @see lib/fdpgen/tlayout.c:fdp_initParams
89
+ */
90
+ export declare function fdpInitParams(g: Graph): void;
91
+ /**
92
+ * Set parameters for the expansion phase from the initial-layout
93
+ * parameters; auto-derive T0 from graph size when unset.
94
+ * @returns whether resetParams must be called after this layout pass
95
+ * @see lib/fdpgen/tlayout.c:init_params
96
+ */
97
+ export declare function initParams(g: Graph, xpms: XParams): boolean;
98
+ //# sourceMappingURL=tlayout-parms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tlayout-parms.d.ts","sourceRoot":"","sources":["../../../src/layout/fdp/tlayout-parms.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,gBAAgB,CAAC;AAM1D,0CAA0C;AAC1C,eAAO,MAAM,SAAS,MAAM,CAAC;AAU7B,0CAA0C;AAC1C,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,6CAA6C;AAC7C,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,4CAA4C;AAC5C,eAAO,MAAM,WAAW,IAAI,CAAC;AAQ7B;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;CASpB,CAAC;AAMF,wCAAwC;AACxC,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,+EAA+E;AAC/E,eAAO,MAAM,KAAK,EAAE,MAInB,CAAC;AAEF,8DAA8D;AAC9D,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAMD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,KAAK,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAaR;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOhC;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAsB5C;AAeD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CA2B3D"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * fdp initial layout — grid-accelerated Fruchterman–Reingold on point
3
+ * nodes with boundary ports.
4
+ *
5
+ * Spec read at the 15.0.0 tag: the post-tag tree reorders doRep floats
6
+ * (hypot vs sqrt(x²·y²)) and adds an Mlimit cutoff; the golden refs are
7
+ * 15.0.0 output, so neither is ported.
8
+ *
9
+ * All math is double precision (unlike neato's float32 stress kernel).
10
+ * Force-accumulation order is load-bearing: node iteration is the
11
+ * component's id order, edge iteration is the graph edge order, and
12
+ * grid cells walk in ascending (i, j) order.
13
+ *
14
+ * Parameter state lives in tlayout-parms.ts; initial placement in
15
+ * tlayout-init.ts.
16
+ *
17
+ * @see lib/fdpgen/tlayout.c (15.0.0)
18
+ */
19
+ import type { Graph } from '../../model/graph.js';
20
+ import { type XParams } from './fdp-model.js';
21
+ export { fdpInitParams, fdpParms, setSeedFdp, INIT_RANDOM, INIT_REGULAR, INIT_SELF } from './tlayout-parms.js';
22
+ /**
23
+ * Coincident-node fallback: re-roll the delta with rand() until the pair is
24
+ * non-zero, mirroring C's `while` loops (doRep re-rolls while dist==0,
25
+ * applyAttr while dist2==0; both re-roll until (xdelta,ydelta) ≠ (0,0), which
26
+ * for the integer 5−rand()%10 deltas is equivalent). macOS libc rand() is the
27
+ * Park–Miller MINSTD stream (crand). fdp seeds only srand48 (a separate
28
+ * drand48 placement stream), so this rand() stream starts unseeded ⇒ srand(1)
29
+ * (reset per render in fdpLayoutEngine) and is shared, in call order, across
30
+ * tlayout doRep/applyAttr and xlayout doRep.
31
+ * @see lib/fdpgen/tlayout.c:doRep / applyAttr
32
+ * @see lib/fdpgen/xlayout.c:doRep
33
+ */
34
+ export declare function coincidentDelta(): {
35
+ xdelta: number;
36
+ ydelta: number;
37
+ };
38
+ /**
39
+ * Lay out one derived component g, respecting its boundary ports.
40
+ * @see lib/fdpgen/tlayout.c:fdp_tLayout
41
+ */
42
+ export declare function fdpTLayout(g: Graph, xpms: XParams): void;
43
+ //# sourceMappingURL=tlayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tlayout.d.ts","sourceRoot":"","sources":["../../../src/layout/fdp/tlayout.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAKlD,OAAO,EAEL,KAAK,OAAO,EAMb,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/G;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQpE;AA8ND;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAyBxD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * fdp expansion layout: grow the point-node layout so sized nodes do
3
+ * not overlap, by force iteration with overlap-aware repulsion.
4
+ *
5
+ * Spec read at the 15.0.0 tag (the post-tag Mlimit force cutoff is
6
+ * deliberately NOT ported — the golden refs predate it).
7
+ *
8
+ * The default overlap attribute is "9:prism": up to 9 x_layout tries,
9
+ * then removeOverlapAs with the remaining mode. x_layout does NOT always
10
+ * converge (many cluster/derived graphs reach the mode dispatch), so
11
+ * removeOverlapAs wires the ported neato adjust machinery: AM_PRISM via
12
+ * fdpAdjust, the scale family via scAdjust. On the GTS reference build
13
+ * overlap=false resolves to AM_PRISM (value 1000), not a no-op.
14
+ *
15
+ * @see lib/fdpgen/xlayout.c (15.0.0)
16
+ */
17
+ import type { Graph } from '../../model/graph.js';
18
+ import { type XParams } from './fdp-model.js';
19
+ /**
20
+ * Overlap-removal dispatch on the overlap attribute:
21
+ * ""/null → default "9:prism"; "n:mode" → n x_layout tries, then
22
+ * removeOverlap with mode; "true" → keep overlaps.
23
+ * @see lib/fdpgen/xlayout.c:fdp_xLayout
24
+ */
25
+ export declare function fdpXLayout(g: Graph, xpms: XParams): void;
26
+ //# sourceMappingURL=xlayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xlayout.d.ts","sourceRoot":"","sources":["../../../src/layout/fdp/xlayout.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAKlD,OAAO,EACL,KAAK,OAAO,EAKb,MAAM,gBAAgB,CAAC;AAsQxB;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAMxD"}
@@ -0,0 +1,43 @@
1
+ /** @see lib/neatogen/bfs.c */
2
+ import type { VtxData } from './dijkstra.js';
3
+ /** Sentinel for unreachable nodes (INT_MAX). @internal */
4
+ export declare const BFS_UNREACHABLE = 2147483647;
5
+ /** Initialise dist array; returns a queue seeded with `src`. @internal */
6
+ export declare function bfsInit(src: number, n: number, dist: Int32Array): number[];
7
+ /**
8
+ * Replace unreachable nodes (-1) with `closestDist + 10`.
9
+ * Matches the disconnected-graph handling in bfs.c.
10
+ * @internal
11
+ */
12
+ export declare function bfsFixDisconnected(n: number, dist: Int32Array, closestDist: number): void;
13
+ /** Process one BFS vertex: enqueue unvisited neighbours. @internal */
14
+ export declare function bfsVisitNeighbors(vertex: number, graph: VtxData[], dist: Int32Array, queue: number[]): number;
15
+ /**
16
+ * Single-source BFS (unweighted) from `src`.
17
+ * Populates `dist` with hop-distances; unreachable nodes get `BFS_UNREACHABLE`.
18
+ *
19
+ * @see lib/neatogen/bfs.c:bfs
20
+ */
21
+ export declare function bfs(src: number, graph: VtxData[], n: number, dist: Int32Array): void;
22
+ /**
23
+ * Index into a packed upper-triangular array of length n*(n+1)/2.
24
+ * Requires i <= j.
25
+ *
26
+ * @see lib/neatogen/stress.c:compute_apsp_packed
27
+ */
28
+ export declare function packedIndex(i: number, j: number, n: number): number;
29
+ /**
30
+ * All-pairs shortest paths (unweighted BFS) in packed upper-triangular form.
31
+ * Returns Float32Array of length n*(n+1)/2.
32
+ *
33
+ * @see lib/neatogen/stress.c:compute_apsp_packed
34
+ */
35
+ export declare function computeApspPacked(graph: VtxData[], n: number): Float32Array;
36
+ /**
37
+ * All-pairs shortest paths (weighted Dijkstra) in packed upper-triangular form.
38
+ * Returns Float32Array of length n*(n+1)/2.
39
+ *
40
+ * @see lib/neatogen/stress.c:compute_weighted_apsp_packed
41
+ */
42
+ export declare function computeWeightedApspPacked(graph: VtxData[], n: number): Float32Array;
43
+ //# sourceMappingURL=bfs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bfs.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/bfs.ts"],"names":[],"mappings":"AACA,8BAA8B;AAE9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,0DAA0D;AAC1D,eAAO,MAAM,eAAe,aAAa,CAAC;AAM1C,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAI1E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,GAClB,IAAI,CAIN;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EAAE,EAChB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CAWR;AAMD;;;;;GAKG;AACH,wBAAgB,GAAG,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,UAAU,GACf,IAAI,CASN;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,GACR,YAAY,CAQd;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,GACR,YAAY,CAQd"}
@@ -0,0 +1,16 @@
1
+ /** Triangulated surface. @see lib/neatogen/delaunay.h:surface_t */
2
+ export interface Surface {
3
+ nfaces: number;
4
+ /** vertex indices of face i: faces[3i..3i+2] (CCW) */
5
+ faces: number[];
6
+ /** face indices sharing a side with face i (−1 padded): neigh[3i..3i+2] */
7
+ neigh: number[];
8
+ }
9
+ /**
10
+ * Build the constrained Delaunay surface over n points with nsegs directed
11
+ * constraint segments (segs[2k], segs[2k+1]), removing hole faces.
12
+ * Returns null when no proper triangulation exists.
13
+ * @see lib/neatogen/delaunay.c:tri / mkSurface
14
+ */
15
+ export declare function mkSurface(x: number[], y: number[], n: number, segs: number[], nsegs: number): Surface | null;
16
+ //# sourceMappingURL=cdt-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdt-surface.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/cdt-surface.ts"],"names":[],"mappings":"AAsCA,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAukBD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GACjE,OAAO,GAAG,IAAI,CAwDhB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Conjugate gradient solvers for packed symmetric float matrices.
3
+ * @see lib/neatogen/conjgrad.c
4
+ */
5
+ /**
6
+ * Subtract mean from `v` in-place (orthogonalize against constant vector).
7
+ * Matches `orthog1f` in lib/neatogen/matrix_ops.c.
8
+ * @see lib/neatogen/matrix_ops.c:orthog1f
9
+ */
10
+ export declare function orthog1f(n: number, v: Float32Array): void;
11
+ /**
12
+ * Multiply packed symmetric matrix `A` by vector `x`, writing result to `y`.
13
+ * `A` is upper-triangular, row-major, length n*(n+1)/2.
14
+ * Matches `right_mult_with_vector_ff` in lib/neatogen/matrix_ops.c.
15
+ * @see lib/neatogen/matrix_ops.c:right_mult_with_vector_ff
16
+ */
17
+ export declare function rightMultVecFF(A: Float32Array, n: number, x: Float32Array, y: Float32Array): void;
18
+ /** Maximum absolute value in float array. @internal */
19
+ export declare function maxAbsF(n: number, v: Float32Array): number;
20
+ /** Inner product of two float arrays. @internal */
21
+ export declare function dotF(n: number, a: Float32Array, b: Float32Array): number;
22
+ /** CG state bundle. @internal */
23
+ interface CgState {
24
+ r: Float32Array;
25
+ p: Float32Array;
26
+ Ap: Float32Array;
27
+ rr: number;
28
+ }
29
+ /**
30
+ * Initialise CG state from A, x, b (with orthogonalization).
31
+ * @see lib/neatogen/conjgrad.c:conjugate_gradient_mkernel
32
+ */
33
+ export declare function cgInit(A: Float32Array, x: Float32Array, b: Float32Array, n: number): CgState;
34
+ /**
35
+ * Update p and rr after a non-final CG step.
36
+ * Returns 1 on zero-length error, 0 on success.
37
+ * @see lib/neatogen/conjgrad.c:conjugate_gradient_mkernel
38
+ */
39
+ export declare function cgUpdateDirection(n: number, alpha: number, state: CgState): number;
40
+ /**
41
+ * Execute one CG iteration on packed matrix A.
42
+ * Returns 0 = continue, 1 = zero-length error, 2 = p·Ap zero (done).
43
+ * @see lib/neatogen/conjgrad.c:conjugate_gradient_mkernel
44
+ */
45
+ export declare function cgStep(A: Float32Array, x: Float32Array, n: number, state: CgState, last: boolean): number;
46
+ /** Options for {@link conjugateGradientMkernel}. */
47
+ export interface CgOptions {
48
+ tol: number;
49
+ maxIterations: number;
50
+ }
51
+ /**
52
+ * Conjugate gradient solver for packed symmetric float matrix `A`.
53
+ * Solves A·x = b in place (x is both initial guess and output).
54
+ * `b` and `x` are orthogonalized against 1 before and during iteration.
55
+ * Returns 0 on success, 1 if a zero-length vector is encountered.
56
+ *
57
+ * @see lib/neatogen/conjgrad.c:conjugate_gradient_mkernel
58
+ */
59
+ export declare function conjugateGradientMkernel(A: Float32Array, x: Float32Array, b: Float32Array, n: number, opts: CgOptions): number;
60
+ export {};
61
+ //# sourceMappingURL=conjgrad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conjgrad.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/conjgrad.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAKzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,GACd,IAAI,CASN;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAO1D;AAED,mDAAmD;AACnD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAIxE;AAED,iCAAiC;AACjC,UAAU,OAAO;IACf,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;IAChB,EAAE,EAAE,YAAY,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,wBAAgB,MAAM,CACpB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,MAAM,GACR,OAAO,CAST;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,GACb,MAAM,CASR;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CACpB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,GACZ,MAAM,CAWR;AAED,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,SAAS,GACd,MAAM,CASR"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Sign of the incircle determinant: > 0 iff d is strictly inside the
3
+ * circumcircle of ccw triangle (a,b,c); the sign flips for cw triangles,
4
+ * so callers pass an orientation factor.
5
+ */
6
+ export declare function incircle(px: number[], py: number[], a: number, b: number, c: number, d: number): number;
7
+ /** Robust orientation: > 0 for ccw (a,b,c). */
8
+ export declare function orient2d(px: number[], py: number[], a: number, b: number, c: number): number;
9
+ export interface Tri {
10
+ a: number;
11
+ b: number;
12
+ c: number;
13
+ /** +1 ccw / −1 cw — fixed at creation so incircle signs are comparable */
14
+ orient: number;
15
+ }
16
+ export declare function makeTri(px: number[], py: number[], a: number, b: number, c: number): Tri;
17
+ /** Insert point p, retriangulating the cavity of triangles whose
18
+ * circumcircle strictly contains it. */
19
+ export declare function bwInsert(px: number[], py: number[], tris: Tri[], p: number): void;
20
+ /** Bowyer–Watson over deduplicated point ids; null if no proper face. */
21
+ export declare function bowyerWatson(px: number[], py: number[], ids: number[]): Tri[] | null;
22
+ /**
23
+ * Compute the Delaunay edge list for n points. Returns pairs [i,j,...] in
24
+ * sorted (i,j) order, or the sorted-chain fallback for collinear input.
25
+ * @see lib/neatogen/delaunay.c:delaunay_tri
26
+ */
27
+ export declare function delaunayTri(xv: number[], yv: number[], n: number): number[];
28
+ //# sourceMappingURL=delaunay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delaunay.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/delaunay.ts"],"names":[],"mappings":"AAwFA;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GACrE,MAAM,CAsBR;AAED,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5F;AAMD,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAExF;AAED;wCACwC;AACxC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAsBjF;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAmBpF;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAmD3E"}
@@ -0,0 +1,80 @@
1
+ /** @see lib/neatogen/dijkstra.c */
2
+ import type { GraphSgd } from './sgd.js';
3
+ /**
4
+ * Sparse-graph vertex descriptor used by neato layout algorithms.
5
+ * Matches `vtx_data` in lib/neatogen/sparsegraph.h.
6
+ *
7
+ * - `nedges`: total entries including self at index 0
8
+ * - `edges[0]` = self-index; `edges[1..]` = neighbor indices
9
+ * - `ewgts[k]` = edge weight for `edges[k]`
10
+ *
11
+ * @see lib/neatogen/sparsegraph.h:vtx_data
12
+ */
13
+ export interface VtxData {
14
+ nedges: number;
15
+ edges: number[];
16
+ ewgts: number[];
17
+ }
18
+ /**
19
+ * A term used by the SGD layout engine.
20
+ * Matches `term_sgd` in lib/neatogen/sgd.h.
21
+ * @see lib/neatogen/sgd.h:term_sgd
22
+ */
23
+ export interface TermSgd {
24
+ i: number;
25
+ j: number;
26
+ d: number;
27
+ w: number;
28
+ }
29
+ /** Push vertex index `idx` into the heap. @internal */
30
+ export declare function heapPush(heap: number[], dist: Float32Array, idx: number): void;
31
+ /** Sift the root down to restore heap order after replacing it. @internal */
32
+ export declare function heapSiftDown(heap: number[], dist: Float32Array): void;
33
+ /** Pop and return the vertex with minimum distance. @internal */
34
+ export declare function heapPop(heap: number[], dist: Float32Array): number;
35
+ /** Build a min-heap from all nodes except `src`. @internal */
36
+ export declare function heapBuildExcluding(src: number, n: number, dist: Float32Array): number[];
37
+ /** Initialise dist array from source edges. @internal */
38
+ export declare function dijkstraInitDist(src: number, graph: VtxData[], n: number, dist: Float32Array): void;
39
+ /** Relax all outgoing edges of `closest`. @internal */
40
+ export declare function dijkstraRelax(closest: number, closestDist: number, graph: VtxData[], dist: Float32Array, heap: number[]): void;
41
+ /**
42
+ * Single-source shortest paths (weighted) from `src`.
43
+ * Populates `dist` with Float32 distances; unreachable nodes get Infinity.
44
+ * Equivalent to `dijkstra_f` in lib/neatogen/dijkstra.c.
45
+ *
46
+ * @see lib/neatogen/dijkstra.c:dijkstra_f
47
+ */
48
+ export declare function dijkstra(src: number, graph: VtxData[], n: number, dist: Float32Array): void;
49
+ /**
50
+ * BFS single-source distances for unweighted graphs.
51
+ * Fills `dist` with hop counts; unreachable nodes get BFS_INF (0x7fffffff).
52
+ * edges[0] of each vertex is the self-loop and is skipped.
53
+ * @see lib/neatogen/bfs.c:bfs
54
+ */
55
+ export declare function bfsDistances(src: number, graph: VtxData[], n: number, dist: Float32Array): void;
56
+ /**
57
+ * All-pairs shortest paths (unweighted), packed upper-triangular.
58
+ * Length n*(n+1)/2; index for (i,j) j>=i: i*(2n-i-1)/2 + j.
59
+ * @see lib/neatogen/stress.c:compute_apsp_packed
60
+ */
61
+ export declare function computeApspPacked(graph: VtxData[], n: number): Float32Array;
62
+ /**
63
+ * All-pairs shortest paths (weighted), packed upper-triangular.
64
+ * Length n*(n+1)/2.
65
+ * @see lib/neatogen/stress.c:compute_weighted_apsp_packed
66
+ */
67
+ export declare function computeWeightedApspPacked(graph: VtxData[], n: number): Float32Array;
68
+ /** Initialise SGD dists from source's adjacency list. @internal */
69
+ export declare function sgdInitDist(graph: GraphSgd, src: number, dists: Float32Array): void;
70
+ /** Relax SGD neighbours of `closest` and push updates onto `heap`. @internal */
71
+ export declare function sgdRelaxNeighbors(graph: GraphSgd, closest: number, d: number, dists: Float32Array, heap: number[]): void;
72
+ /**
73
+ * Single-source shortest paths for the SGD engine.
74
+ * Writes terms for all reachable `j < src` and pinned nodes.
75
+ * Returns the count of terms written.
76
+ *
77
+ * @see lib/neatogen/dijkstra.c:dijkstra_sgd
78
+ */
79
+ export declare function dijkstraSgd(graph: GraphSgd, src: number, terms: TermSgd[]): number;
80
+ //# sourceMappingURL=dijkstra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dijkstra.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/dijkstra.ts"],"names":[],"mappings":"AACA,mCAAmC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AASD,uDAAuD;AACvD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,MAAM,GACV,IAAI,CAWN;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAcrE;AAED,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAOlE;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CAMV;AAMD,yDAAyD;AACzD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,YAAY,GACjB,IAAI,CAKN;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,IAAI,CAUN;AAMD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,YAAY,GACjB,IAAI,CASN;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,YAAY,GACjB,IAAI,CAeN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAS3E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EAAE,EAChB,CAAC,EAAE,MAAM,GACR,YAAY,CASd;AAMD,mEAAmE;AACnE,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,GAClB,IAAI,CAMN;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EAAE,GACb,IAAI,CAUN;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EAAE,GACf,MAAM,CAgBR"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * adjustNodes overlap-mode dispatch including AM_PRISM — the reference
3
+ * binary is built with GTS+SFDP, so `overlap=false` (or any value that is
4
+ * neither a named mode nor a recognizable boolean) resolves to PRISM, not
5
+ * to a no-op. `overlap=true` (or unset) is AM_NONE.
6
+ *
7
+ * @see lib/neatogen/adjust.c:getAdjustMode / adjustMode table
8
+ * @see lib/neatogen/adjust.c:fdpAdjust / removeOverlapWith / adjustNodes
9
+ */
10
+ import type { Graph } from '../../model/graph.js';
11
+ /**
12
+ * Resolved PRISM try count for `flag`, or null when the mode is not PRISM
13
+ * (AM_NONE, a scale-family mode, or an unported named mode). Note
14
+ * "prism0" IS prism with ntry=0 — remove_overlap still applies the
15
+ * initial scaling before its `if (!ntry) return`.
16
+ * @see adjust.c:getAdjustMode
17
+ */
18
+ export declare function overlapPrismTries(flag: string | undefined): number | null;
19
+ /**
20
+ * PRISM node-overlap removal over ND_pos (inches).
21
+ * @see lib/neatogen/adjust.c:fdpAdjust
22
+ */
23
+ export declare function fdpAdjust(g: Graph, ntry: number): void;
24
+ /**
25
+ * Full adjustNodes: scale-family via scAdjust, PRISM via fdpAdjust,
26
+ * everything else a no-op (AM_NONE, or a mode with no divergent corpus
27
+ * coverage — see sc-adjust module doc).
28
+ * @see lib/neatogen/adjust.c:adjustNodes / removeOverlapWith
29
+ */
30
+ export declare function adjustNodesFull(g: Graph): number;
31
+ //# sourceMappingURL=fdp-adjust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fdp-adjust.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/fdp-adjust.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAuClD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAUzE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAgCtD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAShD"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Neato layout engine entry point.
3
+ *
4
+ * Wires together neatoInitNode, setSeed, solveModel, removeOverlap,
5
+ * splineEdges, neatoTranslate, and neatoSetAspect into the full neato
6
+ * layout pipeline, and exports NEATO_LAYOUT_ENGINE for registration with
7
+ * GvcContext.
8
+ *
9
+ * @see lib/neatogen/neatoinit.c:neato_layout
10
+ * @see lib/neatogen/neatoprocs.h
11
+ */
12
+ import type { Graph } from '../../model/graph.js';
13
+ import type { LayoutEngine } from '../../gvc/context.js';
14
+ export { MODE_KK, MODE_MAJOR, MODE_HIER, MODE_IPSEP, MODE_SGD, MODEL_SHORTPATH, MODEL_CIRCUIT, MODEL_SUBSET, MODEL_MDS, neatoInitNode, setSeed, solveModel, neatoTranslate, neatoSetAspect, neatoCleanup, } from './init.js';
15
+ /**
16
+ * Parse `g.info.mode` string into a numeric mode constant.
17
+ * Defaults to MODE_MAJOR when unset or unrecognised.
18
+ *
19
+ * @see lib/neatogen/neato.h:neatoMode
20
+ */
21
+ export declare function parseMode(g: Graph): number;
22
+ /**
23
+ * Parse `g.info.model` string into a numeric model constant.
24
+ * Defaults to MODEL_SHORTPATH when unset or unrecognised.
25
+ *
26
+ * @see lib/neatogen/neato.h:neatoModel
27
+ */
28
+ export declare function parseModel(g: Graph): number;
29
+ /**
30
+ * Apply VPSC overlap removal unless `g.info.overlap === 'false'`.
31
+ *
32
+ * @see lib/neatogen/neatoinit.c:neato_layout (removeOverlapWith call)
33
+ */
34
+ export declare function maybeRemoveOverlap(g: Graph): void;
35
+ /**
36
+ * Full neato layout pipeline for a single graph.
37
+ *
38
+ * Pipeline (matches neato_layout in C):
39
+ * 1. Init common node geometry (lw, rw, ht defaults)
40
+ * 2. Init each node (pos, UF_size, default width/height)
41
+ * 3. Parse mode and seed from graph attributes
42
+ * 4. Solve the layout (SGD, stress majorization, or KK)
43
+ * 5. Optionally remove overlaps via VPSC
44
+ * 6. Route edges as splines
45
+ * 7. Translate so minimum position is (0,0)
46
+ * 8. Convert inches → points into coord
47
+ *
48
+ * @see lib/neatogen/neatoinit.c:neato_layout
49
+ */
50
+ export declare function neatoLayout(g: Graph): void;
51
+ /**
52
+ * LayoutEngine descriptor for registration with GvcContext.
53
+ *
54
+ * @see lib/gvc/gvplugin.h:gvlayout_engine_s
55
+ * @see lib/neatogen/neatoprocs.h
56
+ */
57
+ export declare const NEATO_LAYOUT_ENGINE: LayoutEngine;
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AA0CzD,OAAO,EACL,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EACpD,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EACvD,aAAa,EAAE,OAAO,EAAE,UAAU,EAClC,cAAc,EAAE,cAAc,EAAE,YAAY,GAC7C,MAAM,WAAW,CAAC;AAenB;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAI1C;AAcD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAK3C;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA6BjD;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA0D1C;AAqED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAIjC,CAAC"}