@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,101 @@
1
+ /**
2
+ * SparseMatrix — the CSR/COORD matrix substrate of sfdp, ported from
3
+ * lib/sparse/SparseMatrix.c at the 15.0.0 tag.
4
+ *
5
+ * Only the REAL and PATTERN types used by the sfdp pipeline are
6
+ * ported (INTEGER paths are unreachable from sfdp_layout). Row entry
7
+ * ORDER is load-bearing: the mask-accumulator append order of
8
+ * add/multiply and the counting-sort order of from_coordinate_arrays
9
+ * feed float-summation order downstream — do not sort rows.
10
+ *
11
+ * Products: see sparse-matrix-multiply.ts.
12
+ *
13
+ * @see lib/sparse/SparseMatrix.c (15.0.0)
14
+ */
15
+ /** @see lib/sparse/SparseMatrix.h:MATRIX_TYPE_* */
16
+ export declare const MATRIX_TYPE_REAL: number;
17
+ export declare const MATRIX_TYPE_PATTERN: number;
18
+ /** @see lib/sparse/SparseMatrix.h: enum FORMAT_* */
19
+ export declare const FORMAT_CSR = 0;
20
+ export declare const FORMAT_COORD = 1;
21
+ /**
22
+ * @see lib/sparse/SparseMatrix.h:SparseMatrix_struct
23
+ * In CSR format ia is the row pointer (m+1); in COORD it is the row
24
+ * index per entry.
25
+ */
26
+ export interface SpMatrix {
27
+ m: number;
28
+ n: number;
29
+ nz: number;
30
+ type: number;
31
+ format: number;
32
+ ia: number[];
33
+ ja: number[];
34
+ /** Entry values; null for PATTERN. */
35
+ a: number[] | null;
36
+ isSymmetric: boolean;
37
+ isPatternSymmetric: boolean;
38
+ }
39
+ /** @see lib/sparse/SparseMatrix.c:SparseMatrix_new */
40
+ export declare function smNew(m: number, n: number, type: number, format: number): SpMatrix;
41
+ /**
42
+ * Append one COORD entry, growing m/n as needed.
43
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_coordinate_form_add_entry_
44
+ */
45
+ export declare function smCoordAddEntry(A: SpMatrix, irn: number, jcn: number, val: number): void;
46
+ /**
47
+ * COORD → CSR with repeated entries summed.
48
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_from_coordinate_format
49
+ */
50
+ export declare function smFromCoordinateFormat(A: SpMatrix): SpMatrix;
51
+ /**
52
+ * Coordinate arrays → CSR (counting sort by row; entry order within a
53
+ * row is input order), then repeated entries summed.
54
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_from_coordinate_arrays_internal
55
+ */
56
+ export declare function smFromCoordinateArrays(nz: number, m: number, n: number, coords: {
57
+ irn: number[];
58
+ jcn: number[];
59
+ val: number[] | null;
60
+ }, type: number): SpMatrix;
61
+ /**
62
+ * Sum repeated entries within each row in place (first-occurrence
63
+ * positions keep the row order).
64
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_sum_repeat_entries
65
+ */
66
+ export declare function smSumRepeatEntries(A: SpMatrix): SpMatrix;
67
+ /** @see lib/sparse/SparseMatrix.c:SparseMatrix_transpose */
68
+ export declare function smTranspose(A: SpMatrix): SpMatrix;
69
+ /** @see lib/sparse/SparseMatrix.c:SparseMatrix_copy */
70
+ export declare function smCopy(A: SpMatrix): SpMatrix;
71
+ /**
72
+ * Symmetry test (REAL compares values to SYMMETRY_EPSILON); caches
73
+ * the result flags on A as in C.
74
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_is_symmetric
75
+ */
76
+ export declare function smIsSymmetric(A: SpMatrix, patternOnly: boolean): boolean;
77
+ /**
78
+ * A + Aᵀ unless already symmetric (then a copy). Row order = A's row
79
+ * entries first, then unmatched Aᵀ entries (mask-append).
80
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_symmetrize
81
+ */
82
+ export declare function smSymmetrize(A: SpMatrix, patternSymmetricOnly: boolean): SpMatrix;
83
+ /** C = A + B (mask-append row order). @see SparseMatrix.c:SparseMatrix_add */
84
+ export declare function smAdd(A: SpMatrix, B: SpMatrix): SpMatrix;
85
+ /** In-place diagonal removal. @see SparseMatrix.c:SparseMatrix_remove_diagonal */
86
+ export declare function smRemoveDiagonal(A: SpMatrix): SpMatrix;
87
+ /** @see lib/sparse/SparseMatrix.c:SparseMatrix_has_diagonal */
88
+ export declare function smHasDiagonal(A: SpMatrix): boolean;
89
+ /** a[row] /= degree(row). @see SparseMatrix.c:SparseMatrix_divide_row_by_degree */
90
+ export declare function smDivideRowByDegree(A: SpMatrix): SpMatrix;
91
+ /**
92
+ * Pattern-symmetrized adjacency with unit weights and no diagonal.
93
+ * @see SparseMatrix.c:SparseMatrix_get_real_adjacency_matrix_symmetrized
94
+ */
95
+ export declare function smGetRealAdjacencySymmetrized(A: SpMatrix): SpMatrix;
96
+ /**
97
+ * res = A·V for dense n×dim V (row-major).
98
+ * @see lib/sparse/SparseMatrix.c:SparseMatrix_multiply_dense
99
+ */
100
+ export declare function smMultiplyDense(A: SpMatrix, v: number[], res: number[], dim: number): void;
101
+ //# sourceMappingURL=sparse-matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparse-matrix.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/sparse-matrix.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,oDAAoD;AACpD,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,YAAY,IAAI,CAAC;AAK9B;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,sCAAsC;IACtC,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,sDAAsD;AACtD,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CASlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOxF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAChC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,EAC9D,IAAI,EAAE,MAAM,GACX,QAAQ,CAIV;AA4BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAuBxD;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAwBjD;AAED,uDAAuD;AACvD,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAYxE;AA4BD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,GAAG,QAAQ,CAOjF;AAED,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAYxD;AA2BD,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAoBtD;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAOlD;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAUzD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAUnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAW1F"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Jacobi-preconditioned conjugate gradient over a SparseMatrix — the solver
3
+ * used by the stress-majorization smoothers.
4
+ *
5
+ * @see lib/sfdpgen/sparse_solve.c
6
+ */
7
+ import type { SpMatrix } from './sparse-matrix.js';
8
+ /**
9
+ * Solve A x = rhs per dimension with CG; the solution replaces rhs
10
+ * (matching the C convention: x0 holds initial guesses, rhs the result).
11
+ * @see lib/sfdpgen/sparse_solve.c:SparseMatrix_solve
12
+ */
13
+ export declare function smSolve(A: SpMatrix, dim: number, x0: number[], rhs: number[], tol: number, maxit: number): number;
14
+ //# sourceMappingURL=sparse-solve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparse-solve.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/sparse-solve.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAuFnD;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EACrD,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GACzB,MAAM,CAiBR"}
@@ -0,0 +1,18 @@
1
+ import { type SpMatrix } from './sparse-matrix.js';
2
+ import { type SpringElectricalControl } from './spring-electrical.js';
3
+ /** @see lib/sfdpgen/spring_electrical.c:power_law_graph */
4
+ export declare function powerLawGraph(A: SpMatrix): boolean;
5
+ /**
6
+ * Principal-component rotation about the centroid.
7
+ * @see lib/sfdpgen/spring_electrical.c:pcp_rotate
8
+ */
9
+ export declare function pcpRotate(n: number, dim: number, x: number[]): void;
10
+ /**
11
+ * Coarsen, embed coarsest-to-finest with prolongation, rotate to the
12
+ * principal axis, and apply the overlap scaling.
13
+ * The edge-label-scheme path is not ported (no |edgelabel| nodes in
14
+ * any supported input).
15
+ * @see lib/sfdpgen/spring_electrical.c:multilevel_spring_electrical_embedding
16
+ */
17
+ export declare function multilevelSpringElectricalEmbedding(dim: number, A0: SpMatrix, ctrl: SpringElectricalControl, labelSizes: number[] | null, x: number[]): void;
18
+ //# sourceMappingURL=spring-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring-driver.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/spring-driver.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,wBAAwB,CAAC;AAOhC,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAclD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAiCnE;AAqDD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EACxD,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GACvC,IAAI,CAmDN"}
@@ -0,0 +1,61 @@
1
+ import { type SpMatrix } from './sparse-matrix.js';
2
+ /** @see lib/sfdpgen/spring_electrical.h:AUTOP */
3
+ export declare const AUTOP = -1.0001234;
4
+ /** @see lib/sfdpgen/spring_electrical.h: QUAD_TREE_* */
5
+ export declare const QUAD_TREE_NONE = 0;
6
+ export declare const QUAD_TREE_NORMAL = 1;
7
+ export declare const QUAD_TREE_FAST = 2;
8
+ export declare const QUAD_TREE_HYBRID = 3;
9
+ /** @see lib/sfdpgen/spring_electrical.h:spring_electrical_control */
10
+ export interface SpringElectricalControl {
11
+ p: number;
12
+ K: number;
13
+ multilevels: number;
14
+ maxQtreeLevel: number;
15
+ maxiter: number;
16
+ step: number;
17
+ randomSeed: number;
18
+ randomStart: boolean;
19
+ adaptiveCooling: boolean;
20
+ beautifyLeaves: boolean;
21
+ smoothing: number;
22
+ overlap: number;
23
+ doShrinking: boolean;
24
+ tscheme: number;
25
+ initialScaling: number;
26
+ rotation: number;
27
+ edgeLabelingScheme: number;
28
+ }
29
+ /** @see lib/sfdpgen/spring_electrical.c:spring_electrical_control_new */
30
+ export declare function springElectricalControlNew(): SpringElectricalControl;
31
+ /** @see lib/sfdpgen/spring_electrical.c:oned_optimizer */
32
+ export interface OnedOptimizer {
33
+ i: number;
34
+ work: number[];
35
+ direction: number;
36
+ }
37
+ /** @see spring_electrical.c:oned_optimizer_new */
38
+ export declare function onedOptimizerNew(i: number): OnedOptimizer;
39
+ /** @see spring_electrical.c:oned_optimizer_train */
40
+ export declare function onedOptimizerTrain(opt: OnedOptimizer, work: number): void;
41
+ /** @see lib/sparse/general.c:distance */
42
+ export declare function distance(x: number[], dim: number, i: number, j: number): number;
43
+ /** @see lib/sparse/general.c:distance_cropped */
44
+ export declare function distanceCropped(x: number[], dim: number, i: number, j: number): number;
45
+ /**
46
+ * Reposition every degree-1 leaf radially around its parent at the parent's
47
+ * average leaf distance, evenly fanned over `[pad, 2π−pad]` (pad = 0.1). Each
48
+ * parent is processed once. Assumes A has no diagonal (guaranteed upstream).
49
+ * @see lib/sfdpgen/spring_electrical.c:beautify_leaves
50
+ */
51
+ export declare function beautifyLeaves(dim: number, A: SpMatrix, x: number[]): void;
52
+ /** @see lib/sfdpgen/spring_electrical.c:average_edge_length */
53
+ export declare function averageEdgeLength(A: SpMatrix, dim: number, coord: number[]): number;
54
+ /**
55
+ * The NORMAL-scheme embedding: per-node attract + repulse (direct or
56
+ * Barnes–Hut above QUADTREE_SIZE), normalized move, adaptive cooling.
57
+ * Mutates ctrl.K/p/maxQtreeLevel as the C does.
58
+ * @see lib/sfdpgen/spring_electrical.c:spring_electrical_embedding
59
+ */
60
+ export declare function springElectricalEmbedding(dim: number, A0: SpMatrix, ctrl: SpringElectricalControl, x: number[]): void;
61
+ //# sourceMappingURL=spring-electrical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring-electrical.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/spring-electrical.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,oBAAoB,CAAC;AAG5B,iDAAiD;AACjD,eAAO,MAAM,KAAK,aAAa,CAAC;AAEhC,wDAAwD;AACxD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAelC,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,yEAAyE;AACzE,wBAAgB,0BAA0B,IAAI,uBAAuB,CAoBpE;AAYD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAEzD;AA8BD,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKzE;AAMD,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtF;AA0BD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB1E;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAenF;AA6JD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,EAAE,MAAM,EAAE,GACpE,IAAI,CAuBN"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Seven-phase radial layout algorithm for the twopi engine.
3
+ * Ports lib/twopigen/circle.c.
4
+ *
5
+ * @see lib/twopigen/circle.c
6
+ * @see lib/twopigen/circle.h
7
+ */
8
+ import type { Graph } from '../../model/graph.js';
9
+ import type { Node } from '../../model/node.js';
10
+ /** Minimum per-ring delta. @see lib/common/render.h:MIN_RANKSEP */
11
+ export declare const MIN_RANKSEP = 0.02;
12
+ /**
13
+ * Return true if n is a leaf: at most one distinct neighbor.
14
+ * @see lib/twopigen/circle.c:isLeaf
15
+ */
16
+ export declare function isLeaf(g: Graph, n: Node): boolean;
17
+ /**
18
+ * Phase 1: initialize all rdata fields before BFS passes.
19
+ * @see lib/twopigen/circle.c:initLayout
20
+ */
21
+ export declare function initLayout(g: Graph): void;
22
+ /**
23
+ * DFS to propagate leaf distance outward from n.
24
+ * @see lib/twopigen/circle.c:setNStepsToLeaf
25
+ */
26
+ export declare function setNStepsToLeaf(g: Graph, n: Node, prev: Node | null): void;
27
+ /**
28
+ * Phase 2: find center node (max nStepsToLeaf).
29
+ * @see lib/twopigen/circle.c:findCenterNode
30
+ */
31
+ export declare function findCenterNode(g: Graph): Node | null;
32
+ /**
33
+ * BFS from n assigning SCENTER and SPARENT; skips weight=0 edges.
34
+ * @see lib/twopigen/circle.c:setNStepsToCenter
35
+ */
36
+ export declare function setNStepsToCenter(g: Graph, n: Node): void;
37
+ /**
38
+ * Phase 3: BFS from center; returns max ring index or MAX_SAFE_INTEGER.
39
+ * @see lib/twopigen/circle.c:setParentNodes
40
+ */
41
+ export declare function setParentNodes(sg: Graph, center: Node): number;
42
+ /**
43
+ * Phase 4: count BFS-leaves in each subtree bottom-up.
44
+ * @see lib/twopigen/circle.c:setSubtreeSize
45
+ */
46
+ export declare function setSubtreeSize(g: Graph): void;
47
+ /**
48
+ * Recursively partition a node's angular span among its children.
49
+ * @see lib/twopigen/circle.c:setChildSubtreeSpans
50
+ */
51
+ export declare function setChildSubtreeSpans(g: Graph, n: Node): void;
52
+ /**
53
+ * Phase 5: root gets 2π span; children get proportional shares.
54
+ * @see lib/twopigen/circle.c:setSubtreeSpans
55
+ */
56
+ export declare function setSubtreeSpans(sg: Graph, center: Node): void;
57
+ /**
58
+ * Assign theta (angular midpoint) to each child of n in a fan.
59
+ * @see lib/twopigen/circle.c:setChildPositions
60
+ */
61
+ export declare function setChildPositions(sg: Graph, n: Node): void;
62
+ /**
63
+ * Phase 6: assign angular positions; root gets theta = 0.
64
+ * @see lib/twopigen/circle.c:setPositions
65
+ */
66
+ export declare function setPositions(sg: Graph, center: Node): void;
67
+ /**
68
+ * Build cumulative radius array from ranksep attribute.
69
+ * @see lib/twopigen/circle.c:getRankseps
70
+ */
71
+ export declare function getRankseps(g: Graph, maxrank: number): number[];
72
+ /**
73
+ * Phase 7: polar → Cartesian; writes to n.info.pos.
74
+ * @see lib/twopigen/circle.c:setAbsolutePos
75
+ */
76
+ export declare function setAbsolutePos(g: Graph, maxrank: number): void;
77
+ /**
78
+ * Run the full seven-phase radial layout on a connected subgraph.
79
+ * Returns the center node used; null only if the graph is empty.
80
+ * @see lib/twopigen/circle.c:circleLayout
81
+ */
82
+ export declare function circleLayout(sg: Graph, center: Node | null): Node | null;
83
+ //# sourceMappingURL=circle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/circle.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAQhD,mEAAmE;AACnE,eAAO,MAAM,WAAW,OAAO,CAAC;AA6BhC;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CASjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAczC;AAWD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAM1E;AAaD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAWpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAYzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAa9D;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAO7C;AAcD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAG7D;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAO1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAG1D;AAyBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAiBxE"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * twopi radial layout engine — public entry point.
3
+ *
4
+ * @see lib/twopigen/twopiinit.c:twopi_layout
5
+ */
6
+ import type { Graph } from '../../model/graph.js';
7
+ import type { LayoutEngine } from '../../gvc/context.js';
8
+ export { twopiInitGraph, twopiCleanup, findRootNode, adjustNodes, finaliseCoords, } from './init.js';
9
+ export { circleLayout, isLeaf, initLayout } from './circle.js';
10
+ export { THETA_UNSET } from '../../model/nodeInfo.js';
11
+ /**
12
+ * Full twopi layout pipeline for a graph.
13
+ *
14
+ * @see lib/twopigen/twopiinit.c:twopi_layout
15
+ */
16
+ export declare function twopiLayout(g: Graph): void;
17
+ /**
18
+ * LayoutEngine descriptor for registration with GvcContext.
19
+ *
20
+ * @see lib/gvc/gvcext.h:gvlayout_engine_s
21
+ * @see lib/twopigen/twopiinit.c (plugin wiring)
22
+ */
23
+ export declare const TWOPI_LAYOUT_ENGINE: LayoutEngine;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUzD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA+B1C;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAIjC,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * twopi engine initialisation: per-node/edge init, graph init, cleanup.
3
+ * Ports lib/twopigen/twopiinit.c: twopi_init_node_edge, twopi_init_graph,
4
+ * findRootNode, twopi_cleanup.
5
+ *
6
+ * @see lib/twopigen/twopiinit.c
7
+ */
8
+ import type { Graph } from '../../model/graph.js';
9
+ import type { Node } from '../../model/node.js';
10
+ import type { Edge } from '../../model/edge.js';
11
+ /**
12
+ * Initialize a node for twopi layout: ensure pos[0..1] exist, set defaults.
13
+ * Mirrors neato_init_node for the twopi engine.
14
+ *
15
+ * @see lib/twopigen/twopiinit.c:twopi_init_node_edge (neato_init_node call)
16
+ */
17
+ export declare function twopiInitNode(n: Node): void;
18
+ /**
19
+ * Initialize an edge for twopi layout: set ED_factor from weight attribute.
20
+ * Default weight 1.0; minimum 0.0.
21
+ *
22
+ * @see lib/twopigen/twopiinit.c:twopi_init_edge
23
+ */
24
+ export declare function twopiInitEdge(e: Edge): void;
25
+ /**
26
+ * Initialize all nodes and edges in g for twopi layout.
27
+ *
28
+ * Mirrors the C twopi_init_node_edge: allocates a contiguous rdata block
29
+ * (one TwopiAlgData per node), populates GD_neato_nlist, assigns ND_alg,
30
+ * then initialises every out-edge.
31
+ *
32
+ * The contiguous-allocation semantics are preserved: all TwopiAlgData objects
33
+ * are created here in one pass (matching gv_calloc(n_nodes, sizeof(rdata))),
34
+ * so twopiCleanup can mirror the C free(ND_alg(first_node)) by nulling only
35
+ * the first node's alg field.
36
+ *
37
+ * @see lib/twopigen/twopiinit.c:twopi_init_node_edge
38
+ */
39
+ export declare function twopiInitNodeEdge(g: Graph): void;
40
+ /**
41
+ * Full graph initialisation: set edge type to line, force 2D, init nodes/edges.
42
+ *
43
+ * @see lib/twopigen/twopiinit.c:twopi_init_graph
44
+ */
45
+ export declare function twopiInitGraph(g: Graph): void;
46
+ /**
47
+ * Scan sg for the first node whose `root` attribute is truthy.
48
+ * Returns null if no such node exists.
49
+ *
50
+ * @see lib/twopigen/twopiinit.c:findRootNode
51
+ */
52
+ export declare function findRootNode(sg: Graph): Node | null;
53
+ /**
54
+ * Convert pos (inches) to coord (points) for every node in g.
55
+ * Matches the neatoSetAspect / dotneato_postprocess coordinate finalisation.
56
+ *
57
+ * @see lib/twopigen/twopiinit.c:twopi_layout (post-layout coord write)
58
+ * @see lib/neatogen/neatoinit.c:neatoSetAspect
59
+ */
60
+ export declare function finaliseCoords(g: Graph): void;
61
+ /**
62
+ * Overlap adjustment: scale-family modes via scAdjust, PRISM (the GTS
63
+ * build's resolution of overlap=false / unrecognized values) via
64
+ * fdpAdjust; remaining modes (voronoi, vpsc, ortho*) are unported no-ops.
65
+ *
66
+ * @see lib/neatogen/adjust.c:adjustNodes
67
+ * @see lib/neatogen/constraint.c:scAdjust
68
+ */
69
+ export declare function adjustNodes(g: Graph): void;
70
+ /**
71
+ * Release twopi-specific per-node state after layout.
72
+ *
73
+ * Mirrors the C twopi_layout cleanup: free(ND_alg(first_node)) / ND_alg = NULL
74
+ * on the FIRST node only (the contiguous block was allocated as a single unit).
75
+ * Other nodes' ND_alg pointers were interior offsets into that block so they
76
+ * do not need to be freed separately.
77
+ *
78
+ * ORDERING: must be called BEFORE splineEdges because edge routing may
79
+ * store its own data in n.info.alg.
80
+ *
81
+ * @see lib/twopigen/twopiinit.c:twopi_layout (free(ND_alg) placement note)
82
+ * @see lib/twopigen/twopiinit.c:twopi_cleanup
83
+ */
84
+ export declare function twopiCleanup(g: Graph): void;
85
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/init.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;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;AA6BhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAchD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAO7C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAMnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAS7C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAM3C"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Internal pipeline helpers for the twopi layout engine.
3
+ * Isolated from index.ts so lizard can parse each function boundary cleanly.
4
+ *
5
+ * @see lib/twopigen/twopiinit.c:twopi_layout
6
+ */
7
+ import type { Graph } from '../../model/graph.js';
8
+ import type { Node } from '../../model/node.js';
9
+ import type { PackInfo } from '../pack/index.js';
10
+ /** Margin constant matching C CL_OFFSET. @see lib/pack/pack.h:CL_OFFSET */
11
+ export declare const CL_OFFSET = 8;
12
+ /** circleLayout return type; Node | null. */
13
+ export type Center = Node | null;
14
+ /** Add only edges whose both endpoints belong to sg. */
15
+ export declare function induceEdges(g: Graph, sg: Graph): void;
16
+ /** Prefer globalRoot if it is in sg; otherwise scan for root attribute. */
17
+ export declare function resolveCenter(sg: Graph, globalRoot: Center): Center;
18
+ /** Lay out one component; return the chosen center node. */
19
+ export declare function layoutComponent(g: Graph, sg: Graph, globalRoot: Center): Center;
20
+ /**
21
+ * Build a PackInfo for multi-component packing.
22
+ *
23
+ * @see lib/twopigen/twopiinit.c:twopi_layout (getPackInfo call with l_node)
24
+ */
25
+ export declare function buildPackInfo(g: Graph): PackInfo;
26
+ /** Single-component pipeline: layout → cleanup → splines → coords. */
27
+ export declare function layoutSingle(g: Graph, comps: Graph[], globalRoot: Center, setRoot: boolean): void;
28
+ /**
29
+ * Multi-component pipeline: per-component layout + coords, then cleanup,
30
+ * pack, re-sync coords, splines.
31
+ *
32
+ * finaliseCoords per component runs BEFORE packSubgraphs so that
33
+ * computeSubgraphBB reads real point-coords for bounding-box calculation.
34
+ * After packing shifts pos (inches), finaliseCoords re-syncs coord.
35
+ */
36
+ export declare function layoutMulti(g: Graph, comps: Graph[], globalRoot: Center, pinfo: PackInfo): void;
37
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/pipeline.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAWjD,2EAA2E;AAC3E,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,6CAA6C;AAC7C,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAIrD;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM/E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAShD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAUjG;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAU/F"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared test fixtures for twopi layout tests.
3
+ * Kept in a separate file so lizard does not conflate helper function spans
4
+ * with the describe() callbacks that follow them in the test file.
5
+ */
6
+ import { Graph } from '../../model/graph.js';
7
+ import { Node } from '../../model/node.js';
8
+ export declare function h_node(g: Graph, name: string): Node;
9
+ export declare function h_edge(g: Graph, t: Node, h: Node): void;
10
+ export declare function makeStar(leaves: number): Graph;
11
+ export declare function makeTwoTriangles(): Graph;
12
+ //# sourceMappingURL=twopi-test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twopi-test-helpers.d.ts","sourceRoot":"","sources":["../../../src/layout/twopi/twopi-test-helpers.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAM3C,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMnD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAEvD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAM9C;AAED,wBAAgB,gBAAgB,IAAI,KAAK,CAQxC"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Per-engine algorithm data — discriminated union (AD-7).
3
+ *
4
+ * In C, ND_alg is a void* that each layout engine casts to its own private
5
+ * struct. TypeScript uses a discriminated union so the kind discriminant is
6
+ * statically knowable and no unsafe casts are needed. Each engine's batch
7
+ * adds its concrete fields; the `kind` discriminant is the only required
8
+ * field now. Split out of nodeInfo.ts to keep that file under the size cap.
9
+ *
10
+ * @see lib/common/types.h:Agnodeinfo_t:alg (ND_alg)
11
+ */
12
+ import type { Graph } from './graph.js';
13
+ import type { Node } from './node.js';
14
+ /**
15
+ * Layout-engine algorithm data stored in ND_alg for the dot engine.
16
+ *
17
+ * @see lib/dotgen/ — dot-engine algorithm data
18
+ */
19
+ export interface DotAlgData {
20
+ readonly kind: 'dot';
21
+ }
22
+ /**
23
+ * Layout-engine algorithm data stored in ND_alg for the neato engine.
24
+ *
25
+ * @see lib/neatogen/ — neato-engine algorithm data
26
+ */
27
+ export interface NeatoAlgData {
28
+ readonly kind: 'neato';
29
+ }
30
+ /**
31
+ * fdp data for REAL (input-graph) nodes.
32
+ *
33
+ * C stores DNODE in ND_next and PARENT in ND_clust (dot fields reused);
34
+ * here both live in the alg record together with the numeric ND_pinned
35
+ * state (P_SET/P_FIX/P_PIN), which the boolean NodeInfo.pinned cannot
36
+ * represent.
37
+ *
38
+ * @see lib/fdpgen/fdp.h:DNODE / PARENT
39
+ */
40
+ export interface FdpAlgData {
41
+ readonly kind: 'fdp';
42
+ /** Derived node for this real node. @see lib/fdpgen/fdp.h:DNODE */
43
+ dnode: Node | null;
44
+ /** Smallest containing cluster. @see lib/fdpgen/fdp.h:PARENT */
45
+ parent: Graph | null;
46
+ /** ND_pinned P_* state. @see lib/common/const.h:P_SET */
47
+ pinned: number;
48
+ }
49
+ /**
50
+ * fdp data for DERIVED-graph nodes (dndata in C).
51
+ *
52
+ * @see lib/fdpgen/fdp.h:dndata
53
+ */
54
+ export interface FdpDndata {
55
+ readonly kind: 'fdp-dndata';
56
+ /** Degree of node. @see lib/fdpgen/fdp.h:DEG */
57
+ deg: number;
58
+ /** Weighted degree of node. @see lib/fdpgen/fdp.h:WDEG */
59
+ wdeg: number;
60
+ /** Real node if not a cluster. @see lib/fdpgen/fdp.h:ANODE */
61
+ dn: Node | null;
62
+ /** Cluster in real graph, for cluster nodes. @see lib/common/types.h:ND_clust */
63
+ clust: Graph | null;
64
+ /** Incremental displacement. @see lib/fdpgen/fdp.h:DISP */
65
+ disp: [number, number];
66
+ /** ND_pinned P_* state. @see lib/common/const.h:P_SET */
67
+ pinned: number;
68
+ }
69
+ /**
70
+ * Per-node init data for the circo engine (ndata in C).
71
+ * Stored in ND_alg on original-graph nodes during Pass 0.
72
+ * @see lib/circogen/circular.h:ndata
73
+ */
74
+ export interface CircoNData {
75
+ readonly kind: 'circo-ndata';
76
+ dnode: unknown;
77
+ }
78
+ /**
79
+ * Rich per-node layout data for the circo engine (cdata in C).
80
+ * Stored in ND_alg on derived-graph nodes across Passes 1–4.
81
+ * @see lib/circogen/circular.h:cdata
82
+ */
83
+ export interface CircoCData {
84
+ readonly kind: 'circo-cdata';
85
+ flags: number;
86
+ parent: unknown;
87
+ block: unknown;
88
+ bc: {
89
+ val: number;
90
+ lowVal: number;
91
+ };
92
+ clone: unknown;
93
+ tparent: unknown;
94
+ leafone: unknown;
95
+ leaftwo: unknown;
96
+ fdist: number;
97
+ sdist: number;
98
+ pos: number;
99
+ psi: number;
100
+ degree: number;
101
+ derivedNode: unknown;
102
+ }
103
+ /**
104
+ * Sentinel value for an unset theta (angular position).
105
+ * Valid theta values are in [0, 2π]; 10.0 is outside this range.
106
+ *
107
+ * @see lib/twopigen/circle.c:#define UNSET 10.00
108
+ */
109
+ export declare const THETA_UNSET = 10;
110
+ /**
111
+ * Per-node radial layout data for the twopi engine.
112
+ *
113
+ * Mirrors the `rdata` struct in lib/twopigen/circle.h. All fields are zeroed
114
+ * at allocation time (gv_calloc equivalent). theta is set to THETA_UNSET
115
+ * (10.0) by initLayout; nStepsToCenter is set to n² as the INF sentinel.
116
+ *
117
+ * @see lib/twopigen/circle.h:rdata
118
+ * @see lib/twopigen/circle.c:initLayout
119
+ */
120
+ export interface TwopiAlgData {
121
+ readonly kind: 'twopi';
122
+ /** BFS distance to nearest leaf. @see lib/twopigen/circle.h:rdata:nStepsToLeaf (SLEAF) */
123
+ nStepsToLeaf: number;
124
+ /** Leaf count in BFS subtree. @see lib/twopigen/circle.h:rdata:subtreeSize (STSIZE) */
125
+ subtreeSize: number;
126
+ /** Number of BFS children. @see lib/twopigen/circle.h:rdata:nChildren (NCHILD) */
127
+ nChildren: number;
128
+ /**
129
+ * BFS distance from root (ring index). n² = INF sentinel.
130
+ * @see lib/twopigen/circle.h:rdata:nStepsToCenter (SCENTER)
131
+ */
132
+ nStepsToCenter: number;
133
+ /** BFS parent pointer; null for root. @see lib/twopigen/circle.h:rdata:parent (SPARENT) */
134
+ parent: Node | null;
135
+ /** Angular span in radians. @see lib/twopigen/circle.h:rdata:span (SPAN) */
136
+ span: number;
137
+ /**
138
+ * Angular midpoint in radians. THETA_UNSET (10.0) until assigned.
139
+ * @see lib/twopigen/circle.h:rdata:theta (THETA)
140
+ */
141
+ theta: number;
142
+ }
143
+ /**
144
+ * Layout-engine algorithm data stored in ND_alg for the osage engine.
145
+ *
146
+ * ND_alg(n) is repurposed as a cluster-ownership marker during layout():
147
+ * when a node is claimed by a cluster, alg is set to an OsageAlgData
148
+ * with ownerCluster pointing to that cluster. Unclaimed nodes have
149
+ * alg === undefined.
150
+ *
151
+ * @see lib/osage/osageinit.c:PARENT macro
152
+ */
153
+ export interface OsageAlgData {
154
+ readonly kind: 'osage';
155
+ /** The cluster graph that owns this node. @see lib/osage/osageinit.c:ND_alg usage */
156
+ readonly ownerCluster: Graph;
157
+ }
158
+ /**
159
+ * Layout-engine algorithm data stored in ND_alg for the patchwork engine.
160
+ *
161
+ * @see lib/patchwork/ — patchwork-engine algorithm data
162
+ */
163
+ export interface PatchworkAlgData {
164
+ readonly kind: 'patchwork';
165
+ }
166
+ /**
167
+ * Discriminated union of all per-engine algorithm data structs stored in
168
+ * Agnodeinfo_t.alg (ND_alg). Each layout engine stores a different struct
169
+ * in the C void*; here the `kind` discriminant makes the active engine
170
+ * statically knowable without unsafe casting.
171
+ *
172
+ * @see lib/common/types.h:Agnodeinfo_t:alg (ND_alg)
173
+ */
174
+ export type NodeAlgData = DotAlgData | NeatoAlgData | FdpAlgData | FdpDndata | CircoNData | CircoCData | TwopiAlgData | OsageAlgData | PatchworkAlgData;
175
+ //# sourceMappingURL=algData.d.ts.map