@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,72 @@
1
+ /**
2
+ * @see lib/util/agxbuf.h
3
+ * @see lib/util/agxbuf.c (agxbuf_trim_zeros)
4
+ *
5
+ * Dynamically expanding string buffer. SSO threshold need not be
6
+ * replicated — only the observable contract matters.
7
+ */
8
+ /**
9
+ * Extensible string buffer, analogous to C's agxbuf.
10
+ *
11
+ * @see cgraph/agxbuf.h:agxbuf
12
+ */
13
+ export declare class AgBuffer {
14
+ private _data;
15
+ /** @see cgraph/agxbuf.h:agxbput */
16
+ append(s: string): this;
17
+ /** @see cgraph/agxbuf.h:agxbputc */
18
+ appendChar(c: string): this;
19
+ /**
20
+ * Append first n characters of s.
21
+ * @see cgraph/agxbuf.h:agxbput_n
22
+ */
23
+ appendN(s: string, n: number): this;
24
+ /** @see cgraph/agxbuf.h:agxbclear */
25
+ clear(): void;
26
+ /**
27
+ * Matches agxbuse semantics: resets the buffer and returns the content.
28
+ * The returned string is valid only until the next write.
29
+ * @see cgraph/agxbuf.h:agxbuse
30
+ */
31
+ str(): string;
32
+ /**
33
+ * Caller takes ownership; buffer is reset.
34
+ * @see cgraph/agxbuf.h:agxbdisown
35
+ */
36
+ disown(): string;
37
+ /** @see cgraph/agxbuf.h:agxblen */
38
+ length(): number;
39
+ /**
40
+ * Removes and returns the last character (UTF-16 charCodeAt semantics
41
+ * matching C char-pop), or null if empty.
42
+ * @see cgraph/agxbuf.h:agxbpop
43
+ */
44
+ pop(): string | null;
45
+ /**
46
+ * Trim trailing fractional zeros from a printed floating-point value.
47
+ *
48
+ * Examples:
49
+ * "42.00" → "42"
50
+ * "42.01" → "42.01"
51
+ * "42.10" → "42.1"
52
+ * "-0.0" → "0"
53
+ *
54
+ * @see cgraph/agxbuf.h:agxbuf_trim_zeros
55
+ */
56
+ trimZeros(): void;
57
+ /** Return index of last '.' in _data, or -1 if none. */
58
+ private _lastPeriodIndex;
59
+ /**
60
+ * Walk backwards from end; trim trailing '0' digits then the '.' if all
61
+ * fractional digits were zero. Returns the trimmed string, or null when
62
+ * no trimming is needed.
63
+ * @see cgraph/agxbuf.h:agxbuf_trim_zeros (truncate loop)
64
+ */
65
+ private _trimFractional;
66
+ /**
67
+ * Replace trailing "-0" with "0".
68
+ * @see cgraph/agxbuf.h:agxbuf_trim_zeros (-0 fix)
69
+ */
70
+ private static _fixNegativeZero;
71
+ }
72
+ //# sourceMappingURL=agxbuf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agxbuf.d.ts","sourceRoot":"","sources":["../../src/util/agxbuf.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAc;IAE3B,mCAAmC;IACnC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKvB,oCAAoC;IACpC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKnC,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,GAAG,IAAI,MAAM;IAMb;;;OAGG;IACH,MAAM,IAAI,MAAM;IAIhB,mCAAmC;IACnC,MAAM,IAAI,MAAM;IAIhB;;;;OAIG;IACH,GAAG,IAAI,MAAM,GAAG,IAAI;IASpB;;;;;;;;;;OAUG;IACH,SAAS,IAAI,IAAI;IAOjB,wDAAwD;IACxD,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOhC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * BSD heapsort — the fallback Apple libc `_qsort` dispatches to when
3
+ * introsort's recursion-depth budget (`2*(fls(n)-1)`) is exhausted, guarding
4
+ * against adversarial inputs that defeat median-of-3 pivot selection. Not
5
+ * observed to trigger on this corpus (all inputs stay within budget), but
6
+ * CLAUDE.md requires porting every branch a faithful port can reach.
7
+ *
8
+ * @see apple-oss-distributions/Libc stdlib/FreeBSD/heapsort.c:heapsort
9
+ */
10
+ export declare function heapSort<T>(arr: T[], lo: number, n: number, cmp: (a: T, b: T) => number): void;
11
+ /**
12
+ * Sort `arr` in place, reproducing libc `qsort`'s permutation of
13
+ * comparator-equal elements (Bentley–McIlroy quicksort). Use this instead of
14
+ * `Array.prototype.sort` only where the C oracle's `qsort` tie ordering is
15
+ * load-bearing; elsewhere the stable native sort is preferred.
16
+ *
17
+ * @param arr Array sorted in place (also returned for convenience).
18
+ * @param cmp Comparator returning <0, 0, or >0 — matching the C comparator's
19
+ * sign, including 0 for elements the C comparator treats as equal.
20
+ */
21
+ export declare function gvQsort<T>(arr: T[], cmp: (a: T, b: T) => number): T[];
22
+ //# sourceMappingURL=bsd-qsort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bsd-qsort.d.ts","sourceRoot":"","sources":["../../src/util/bsd-qsort.ts"],"names":[],"mappings":"AA+KA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAQ9F;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAOrE"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Public re-exports for src/util.
3
+ */
4
+ export { AgBuffer } from "./agxbuf.js";
5
+ export { List } from "./list.js";
6
+ export { gvXmlEscape } from "./xml.js";
7
+ export type { XmlFlags } from "./xml.js";
8
+ export { isExactlyZero, isExactlyEqual, fcmp, imax, imin, d2i, d2f, gvStrtod, } from "./math.js";
9
+ export { rkNewState, rkSeed, rkRandom, rkInterval, } from "./mt19937.js";
10
+ export type { RkState } from "./mt19937.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,aAAa,EACb,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Generic doubly-linked list, replacing the C LIST macro.
3
+ *
4
+ * The C LIST macro is a type-generic ring-buffer backed dynamic array.
5
+ * For the TypeScript port we expose the same logical API using a simple
6
+ * doubly-linked node structure. The ring-buffer internals need not be
7
+ * replicated; only the observable contract matters.
8
+ *
9
+ * @see lib/util/list.h
10
+ */
11
+ /**
12
+ * Type-generic doubly-linked list.
13
+ *
14
+ * Matches the observable behaviour of the C LIST macro:
15
+ * push / pop — operate on the back (LIST_APPEND / LIST_POP_BACK)
16
+ * unshift / shift — operate on the front (LIST_PREPEND / LIST_POP_FRONT)
17
+ * remove — linear scan by identity (LIST_REMOVE)
18
+ * Symbol.iterator — logical order, front to back
19
+ */
20
+ export declare class List<T> {
21
+ private _head;
22
+ private _tail;
23
+ private _size;
24
+ /** Append item to back. @see lib/util/list.h:LIST_APPEND */
25
+ push(item: T): void;
26
+ /** Remove and return the last item, or undefined if empty.
27
+ * @see lib/util/list.h:LIST_POP_BACK */
28
+ pop(): T | undefined;
29
+ /** Remove and return the first item, or undefined if empty.
30
+ * @see lib/util/list.h:LIST_POP_FRONT */
31
+ shift(): T | undefined;
32
+ /** Prepend item to front. @see lib/util/list.h:LIST_PREPEND */
33
+ unshift(item: T): void;
34
+ /**
35
+ * Remove the first occurrence of item (by reference equality).
36
+ * Returns true if found and removed.
37
+ * @see lib/util/list.h:LIST_REMOVE
38
+ */
39
+ remove(item: T): boolean;
40
+ /** Iterate items in logical order (front to back). */
41
+ [Symbol.iterator](): Iterator<T>;
42
+ /** Number of items in the list. @see lib/util/list.h:LIST_SIZE */
43
+ get size(): number;
44
+ /** Detach a node from the list. */
45
+ private _unlink;
46
+ }
47
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/util/list.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAQH;;;;;;;;GAQG;AACH,qBAAa,IAAI,CAAC,CAAC;IACjB,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAAa;IAE1B,4DAA4D;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB;6CACyC;IACzC,GAAG,IAAI,CAAC,GAAG,SAAS;IAOpB;8CAC0C;IAC1C,KAAK,IAAI,CAAC,GAAG,SAAS;IAOtB,+DAA+D;IAC/D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWtB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAUxB,sDAAsD;IACtD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAYhC,kEAAkE;IAClE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,mCAAmC;IACnC,OAAO,CAAC,OAAO;CAahB"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Arithmetic helper functions.
3
+ *
4
+ * @see lib/util/gv_math.h
5
+ */
6
+ /**
7
+ * Bit-exact zero check via DataView (mirrors C memcmp against 0).
8
+ * -0.0 returns false; +0.0 returns true.
9
+ *
10
+ * CRITICAL (AD-9): must use bit-level comparison, NOT === 0.
11
+ * @see lib/util/gv_math.h:is_exactly_zero
12
+ */
13
+ export declare function isExactlyZero(v: number): boolean;
14
+ /**
15
+ * Bit-exact equality via DataView (mirrors C memcmp).
16
+ * Distinguishes +0.0 from -0.0.
17
+ *
18
+ * CRITICAL (AD-9): must use bit-level comparison, NOT ===.
19
+ * @see lib/util/gv_math.h:is_exactly_equal
20
+ */
21
+ export declare function isExactlyEqual(a: number, b: number): boolean;
22
+ /**
23
+ * Three-way double comparator.
24
+ * Returns -1 if a<b, 0 if a==b, 1 if a>b (numerical, not bit-exact).
25
+ * @see lib/util/gv_math.h:fcmp
26
+ */
27
+ export declare function fcmp(a: number, b: number): -1 | 0 | 1;
28
+ /**
29
+ * Integer maximum.
30
+ * @see lib/util/gv_math.h:imax
31
+ */
32
+ export declare function imax(a: number, b: number): number;
33
+ /**
34
+ * Integer minimum.
35
+ * @see lib/util/gv_math.h:imin
36
+ */
37
+ export declare function imin(a: number, b: number): number;
38
+ /**
39
+ * Convert double to int32, clamping to [INT_MIN, INT_MAX].
40
+ * @see lib/util/gv_math.h:d2i
41
+ */
42
+ export declare function d2i(v: number): number;
43
+ /**
44
+ * Round-trip through Float32Array to get float32 precision,
45
+ * clamping to [-FLT_MAX, FLT_MAX].
46
+ * @see lib/util/gv_math.h:d2f
47
+ */
48
+ export declare function d2f(v: number): number;
49
+ /**
50
+ * Parse a string to a number. Returns NaN for non-numeric strings.
51
+ * Wraps parseFloat, matching C strtod behaviour for well-formed input.
52
+ */
53
+ export declare function gvStrtod(s: string): number;
54
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"AACA;;;;GAIG;AASH;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAKhD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAU5D;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAIrD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrC;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MT19937 Mersenne Twister — port of Random Kit 1.3.
3
+ *
4
+ * Must produce bit-identical output to the C reference for any seed.
5
+ * All arithmetic is kept in 32-bit unsigned space via >>> 0.
6
+ *
7
+ * @see lib/neatogen/randomkit.c
8
+ * @see lib/neatogen/randomkit.h
9
+ */
10
+ /**
11
+ * Mersenne Twister state.
12
+ * @see randomkit.h:rk_state_
13
+ */
14
+ export interface RkState {
15
+ /** 624-element state array (uint32). */
16
+ mt: Uint32Array;
17
+ /** Current position in the state array; RK_STATE_LEN means "needs twist". */
18
+ mti: number;
19
+ }
20
+ /** Allocate a fresh, uninitialised state. */
21
+ export declare function rkNewState(): RkState;
22
+ /**
23
+ * Seed the RNG with a 32-bit unsigned integer.
24
+ * @see randomkit.c:rk_seed
25
+ */
26
+ export declare function rkSeed(seed: number, state: RkState): void;
27
+ /**
28
+ * Generate the next 32-bit pseudo-random value.
29
+ * @see randomkit.c:rk_random
30
+ */
31
+ export declare function rkRandom(state: RkState): number;
32
+ /**
33
+ * Return a random value in [0, max] inclusive.
34
+ * Uses rejection sampling to avoid modulo bias.
35
+ * On this platform ULONG_MAX == 0xffffffff (32-bit path).
36
+ *
37
+ * @see randomkit.c:rk_interval
38
+ */
39
+ export declare function rkInterval(max: number, state: RkState): number;
40
+ //# sourceMappingURL=mt19937.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mt19937.d.ts","sourceRoot":"","sources":["../../src/util/mt19937.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAeH;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,EAAE,EAAE,WAAW,CAAC;IAChB,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOzD;AAeD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO/C;AAmCD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAS9D"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * C-printf-compatible decimal rounding.
3
+ *
4
+ * `Number.prototype.toFixed` and `Number.prototype.toPrecision` round exact
5
+ * binary-decimal ties (e.g. 1399.25 at 5 significant digits, 34.125 at 2
6
+ * fixed decimals — both exactly representable in float64) half-away-from-
7
+ * zero. C's snprintf ("%.Nf", "%.Ng") rounds exact ties half-to-even under
8
+ * the default FE_TONEAREST rounding mode, so a value that lands exactly on
9
+ * a tie diverges from native dot's DOT/xdot attribute output.
10
+ *
11
+ * Every finite float64 has an EXACT, finite decimal expansion (its
12
+ * denominator is a power of two, which always divides some power of ten).
13
+ * These functions decompose the IEEE-754 bit pattern into an exact integer
14
+ * mantissa and binary exponent, convert to an exact decimal digit string via
15
+ * BigInt scaling (multiply by 5^k to trade a factor of 2^k for 10^k), and
16
+ * round that EXACT digit string half-to-even at the target position. This
17
+ * never approximates with epsilon-based tie detection — the tie predicate
18
+ * (`remainder === half`) is computed on exact integers.
19
+ *
20
+ * @see lib/gvc/gvdevice.c:gvprintdouble (%.2f) · lib/common/output.c
21
+ * (agxbprint "%.5g")
22
+ */
23
+ /**
24
+ * Format `v` as C's `%.<decimals>f` would (fixed decimal places, rounded
25
+ * half-to-even on exact ties). Mirrors `Number.prototype.toFixed(decimals)`
26
+ * byte-for-byte on every non-tie input; only exact-tie inputs differ.
27
+ *
28
+ * @see lib/gvc/gvdevice.c:gvprintdouble
29
+ */
30
+ export declare function printfFixed(v: number, decimals: number): string;
31
+ /**
32
+ * Format `v` with `sig` significant digits, using the same notational
33
+ * contract as `Number.prototype.toPrecision(sig)` — fixed form when the
34
+ * decimal exponent `e` (0-indexed power of ten of the leading digit)
35
+ * satisfies `-6 <= e < sig`, otherwise exponential form
36
+ * `d.ddd...e±N` (unpadded exponent, sign always present). Exact ties round
37
+ * half-to-even; every other input is byte-identical to `toPrecision(sig)`.
38
+ * Callers that need C's `%g` exponent threshold (`e < -4 || e >= precision`)
39
+ * or trailing-zero trimming apply that on top of this — unchanged from the
40
+ * pre-existing `toPrecision`-based behavior.
41
+ *
42
+ * @see lib/common/output.c:71 (agxbprint "%.5g")
43
+ */
44
+ export declare function printfSig(v: number, sig: number): string;
45
+ //# sourceMappingURL=printf-round.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printf-round.d.ts","sourceRoot":"","sources":["../../src/util/printf-round.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA4DH;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqB/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAqCxD"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * XML/SVG escaping.
3
+ *
4
+ * @see lib/util/xml.h
5
+ * @see lib/util/xml.c
6
+ */
7
+ /** Options to tweak the behaviour of XML escaping. @see lib/util/xml.h:xml_flags_t */
8
+ export interface XmlFlags {
9
+ /** Escape & unconditionally; also escape \n and \r. */
10
+ raw: boolean;
11
+ /** Escape '-' as &#45;. */
12
+ dash: boolean;
13
+ /** Convert 2nd+ consecutive space to &#160;. */
14
+ nbsp: boolean;
15
+ /** Encode non-ASCII as &#xNNNN;. */
16
+ utf8: boolean;
17
+ }
18
+ /**
19
+ * XML-escape a string.
20
+ *
21
+ * @see lib/util/xml.c:gv_xml_escape
22
+ */
23
+ export declare function gvXmlEscape(s: string, flags: XmlFlags): string;
24
+ //# sourceMappingURL=xml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/util/xml.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,sFAAsF;AACtF,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,GAAG,EAAE,OAAO,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Block: a group of variables that must be moved together to satisfy active
3
+ * constraints. Variables in a block are spanned by a tree of active constraints.
4
+ *
5
+ * @see lib/vpsc/block.h
6
+ * @see lib/vpsc/block.cpp
7
+ */
8
+ import { Variable } from "./Variable.js";
9
+ import { Constraint } from "./Constraint.js";
10
+ export declare class Block {
11
+ vars: Variable[];
12
+ posn: number;
13
+ weight: number;
14
+ wposn: number;
15
+ deleted: boolean;
16
+ timeStamp: number;
17
+ /** In-constraint min-heap: external constraints arriving at this block. */
18
+ in: Constraint[];
19
+ /** Out-constraint min-heap: external constraints leaving this block. */
20
+ out: Constraint[];
21
+ /** Shared reference to the owning Blocks instance's blockTimeCtr. */
22
+ readonly timeCtr: {
23
+ value: number;
24
+ };
25
+ /** @see lib/vpsc/block.cpp: Block::Block(Variable *v) */
26
+ constructor(timeCtr: {
27
+ value: number;
28
+ }, v?: Variable);
29
+ /** @see lib/vpsc/block.cpp: Block::addVariable */
30
+ addVariable(v: Variable): void;
31
+ /** @see lib/vpsc/block.cpp: Block::desiredWeightedPosition */
32
+ desiredWeightedPosition(): number;
33
+ /** @see lib/vpsc/block.cpp: Block::setUpInConstraints */
34
+ setUpInConstraints(): void;
35
+ /** @see lib/vpsc/block.cpp: Block::setUpOutConstraints */
36
+ setUpOutConstraints(): void;
37
+ /** @see lib/vpsc/block.cpp: Block::setUpConstraintHeap */
38
+ private setupHeap;
39
+ /**
40
+ * Two-arg merge: pick orientation then call three-arg.
41
+ * @see lib/vpsc/block.cpp: Block::merge(Block* b, Constraint* c)
42
+ */
43
+ mergeTwoArg(b: Block, c: Constraint): void;
44
+ /**
45
+ * Merge block b into this across constraint c by dist.
46
+ * @see lib/vpsc/block.cpp: Block::merge(Block *b, Constraint *c, double dist)
47
+ */
48
+ mergeInto(b: Block, c: Constraint, dist: number): void;
49
+ /** @see lib/vpsc/block.cpp: Block::mergeIn */
50
+ mergeIn(b: Block): void;
51
+ /** @see lib/vpsc/block.cpp: Block::mergeOut */
52
+ mergeOut(b: Block): void;
53
+ /** @see lib/vpsc/block.cpp: Block::findMinInConstraint */
54
+ findMinInConstraint(): Constraint | null;
55
+ /** @see lib/vpsc/block.cpp: Block::findMinOutConstraint */
56
+ findMinOutConstraint(): Constraint | null;
57
+ /** @see lib/vpsc/block.cpp: Block::deleteMinInConstraint */
58
+ deleteMinInConstraint(): void;
59
+ /** @see lib/vpsc/block.cpp: Block::deleteMinOutConstraint */
60
+ deleteMinOutConstraint(): void;
61
+ private canFollowLeft;
62
+ private canFollowRight;
63
+ /**
64
+ * Resets LMs for all active constraints to 0 starting from v.
65
+ * @see lib/vpsc/block.cpp: Block::reset_active_lm
66
+ */
67
+ private resetActiveLm;
68
+ /**
69
+ * Computes dfdv and Lagrange multipliers; records min-LM constraint.
70
+ * @see lib/vpsc/block.cpp: Block::compute_dfdv
71
+ */
72
+ private computeDfdv;
73
+ /**
74
+ * Process one in-constraint during computeDfdvBetween.
75
+ * Returns [dfdv contribution, updated r, updated m].
76
+ */
77
+ private processBetweenIn;
78
+ /**
79
+ * Process one out-constraint during computeDfdvBetween.
80
+ * Returns [dfdv contribution, updated r, updated m].
81
+ */
82
+ private processBetweenOut;
83
+ /**
84
+ * Computes dfdv between two variables and finds the min-LM constraint.
85
+ * @see lib/vpsc/block.cpp: Block::compute_dfdv_between
86
+ */
87
+ private computeDfdvBetween;
88
+ /**
89
+ * Finds the constraint with the minimum Lagrange multiplier.
90
+ * @see lib/vpsc/block.cpp: Block::findMinLM
91
+ */
92
+ findMinLM(): Constraint | null;
93
+ /** @see lib/vpsc/block.cpp: Block::findMinLMBetween */
94
+ findMinLMBetween(lv: Variable, rv: Variable): Constraint | null;
95
+ /**
96
+ * Populates block b by traversing the active constraint tree from v.
97
+ * @see lib/vpsc/block.cpp: Block::populateSplitBlock
98
+ */
99
+ private populateSplit;
100
+ /**
101
+ * Creates two new blocks l and r, splitting this block across constraint c.
102
+ * @see lib/vpsc/block.cpp: Block::split(Block* &l, Block* &r, Constraint* c)
103
+ */
104
+ splitInto(c: Constraint): [Block, Block];
105
+ /**
106
+ * Finds the split constraint between vl and vr and splits.
107
+ * @see lib/vpsc/block.cpp: Block::splitBetween
108
+ */
109
+ splitBetween(vl: Variable, vr: Variable): [Constraint, Block, Block];
110
+ /**
111
+ * Squared euclidean distance of variables from their desired positions.
112
+ * @see lib/vpsc/block.cpp: Block::cost
113
+ */
114
+ cost(): number;
115
+ }
116
+ //# sourceMappingURL=Block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../src/vpsc/Block.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C,qBAAa,KAAK;IAChB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,EAAE,EAAE,UAAU,EAAE,CAAC;IACjB,wEAAwE;IACxE,GAAG,EAAE,UAAU,EAAE,CAAC;IAElB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC,yDAAyD;gBAC7C,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAgBpD,kDAAkD;IAClD,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI;IAQ9B,8DAA8D;IAC9D,uBAAuB,IAAI,MAAM;IAQjC,yDAAyD;IACzD,kBAAkB,IAAI,IAAI;IAI1B,0DAA0D;IAC1D,mBAAmB,IAAI,IAAI;IAI3B,0DAA0D;IAC1D,OAAO,CAAC,SAAS;IAgBjB;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI;IAW1C;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAatD,8CAA8C;IAC9C,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAMvB,+CAA+C;IAC/C,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAMxB,0DAA0D;IAC1D,mBAAmB,IAAI,UAAU,GAAG,IAAI;IAsBxC,2DAA2D;IAC3D,oBAAoB,IAAI,UAAU,GAAG,IAAI;IAWzC,4DAA4D;IAC5D,qBAAqB,IAAI,IAAI;IAE7B,6DAA6D;IAC7D,sBAAsB,IAAI,IAAI;IAE9B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAuBnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,IAAI;IAO9B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;IAM/D;;;OAGG;IACH,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IASxC;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC;IAOpE;;;OAGG;IACH,IAAI,IAAI,MAAM;CAQf"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Blocks: the block structure defined over the set of variables.
3
+ *
4
+ * Each block contains 1 or more variables. All constraints inside a block are
5
+ * satisfied by keeping the variables fixed relative to one another.
6
+ *
7
+ * In C++ Blocks extends std::set<Block*>; here we use a Set<Block>.
8
+ *
9
+ * @see lib/vpsc/blocks.h
10
+ * @see lib/vpsc/blocks.cpp
11
+ */
12
+ import { Variable } from "./Variable.js";
13
+ import { Constraint } from "./Constraint.js";
14
+ import { Block } from "./Block.js";
15
+ export declare class Blocks {
16
+ private _blocks;
17
+ private _vs;
18
+ /**
19
+ * blockTimeCtr: private instance field on Blocks, NOT a module-level global.
20
+ * Exposed as a readonly ref so Block instances can read and increment it.
21
+ * @see lib/vpsc/blocks.cpp: long blockTimeCtr; (was global; moved here per AD-4)
22
+ */
23
+ readonly timeCtr: {
24
+ value: number;
25
+ };
26
+ /** @see lib/vpsc/blocks.cpp: Blocks::Blocks(const int n, Variable *vs_[]) */
27
+ constructor(vs: Variable[]);
28
+ /** Iterate over all blocks (including deleted ones not yet cleaned up). */
29
+ [Symbol.iterator](): IterableIterator<Block>;
30
+ /** Add a block to the set. */
31
+ insert(b: Block): void;
32
+ /**
33
+ * Returns a topologically sorted list of variables determined by the
34
+ * constraint DAG.
35
+ * @see lib/vpsc/blocks.cpp: Blocks::totalOrder
36
+ */
37
+ totalOrder(): Variable[];
38
+ /** @see lib/vpsc/blocks.cpp: Blocks::dfsVisit */
39
+ private dfsVisit;
40
+ /**
41
+ * Processes incoming constraints most-violated first, merging with the left
42
+ * neighbouring block until no more violated constraints exist.
43
+ * @see lib/vpsc/blocks.cpp: Blocks::mergeLeft
44
+ */
45
+ mergeLeft(r: Block): void;
46
+ /**
47
+ * Symmetrical to mergeLeft.
48
+ * @see lib/vpsc/blocks.cpp: Blocks::mergeRight
49
+ */
50
+ mergeRight(l: Block): void;
51
+ /** @see lib/vpsc/blocks.cpp: Blocks::removeBlock */
52
+ private removeBlock;
53
+ /** @see lib/vpsc/blocks.cpp: Blocks::cleanup */
54
+ cleanup(): void;
55
+ /**
56
+ * Splits block b across constraint c into two new blocks.
57
+ * @see lib/vpsc/blocks.cpp: Blocks::split
58
+ */
59
+ split(b: Block, c: Constraint): [Block, Block];
60
+ /**
61
+ * Total squared distance of all variables from their desired positions.
62
+ * @see lib/vpsc/blocks.cpp: Blocks::cost
63
+ */
64
+ cost(): number;
65
+ }
66
+ //# sourceMappingURL=Blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../src/vpsc/Blocks.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,GAAG,CAAa;IAExB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC,6EAA6E;gBACjE,EAAE,EAAE,QAAQ,EAAE;IAS1B,2EAA2E;IAC3E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;IAI5C,8BAA8B;IAC9B,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAItB;;;;OAIG;IACH,UAAU,IAAI,QAAQ,EAAE;IASxB,iDAAiD;IACjD,OAAO,CAAC,QAAQ;IAQhB;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAsBzB;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAmB1B,oDAAoD;IACpD,OAAO,CAAC,WAAW;IAInB,gDAAgD;IAChD,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IAgB9C;;;OAGG;IACH,IAAI,IAAI,MAAM;CAKf"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * A constraint determines a minimum spacing required between two variables:
3
+ * right.position() - left.position() >= gap
4
+ *
5
+ * @see lib/vpsc/constraint.h
6
+ * @see lib/vpsc/constraint.cpp
7
+ */
8
+ import type { Block } from "./Solver.js";
9
+ import { Variable } from "./Variable.js";
10
+ /**
11
+ * Compare two constraints for ordering in a min-heap.
12
+ * Ports the `compareConstraints` inline from constraint.h.
13
+ *
14
+ * @see lib/vpsc/constraint.h: static inline bool compareConstraints(...)
15
+ */
16
+ export declare function compareConstraints(l: Constraint, r: Constraint): boolean;
17
+ export declare class Constraint {
18
+ left: Variable;
19
+ right: Variable;
20
+ gap: number;
21
+ /** Lagrange multiplier. @see lib/vpsc/constraint.h */
22
+ lm: number;
23
+ /** Timestamp for block membership staleness detection. @see lib/vpsc/constraint.h */
24
+ timeStamp: number;
25
+ /** Whether this constraint is currently active (part of a block's spanning tree). */
26
+ active: boolean;
27
+ /** Visited flag used during DFS traversals. */
28
+ visited: boolean;
29
+ /**
30
+ * Construct a constraint and register it on both variables.
31
+ * @see lib/vpsc/constraint.cpp: Constraint::Constraint(...)
32
+ */
33
+ constructor(left: Variable, right: Variable, gap: number);
34
+ /**
35
+ * Compute slack: how much room exists above the minimum separation.
36
+ * @see lib/vpsc/constraint.h: double slack() const { return right->position() - gap - left->position(); }
37
+ */
38
+ slack(): number;
39
+ /**
40
+ * Unregister this constraint from both variables' in/out lists.
41
+ * Replaces the C++ destructor logic.
42
+ * @see lib/vpsc/constraint.cpp: Constraint::~Constraint()
43
+ */
44
+ destroy(): void;
45
+ }
46
+ /**
47
+ * Re-export Block type used in compareConstraints so callers don't have a
48
+ * circular dependency when they only need the type.
49
+ */
50
+ export type { Block };
51
+ //# sourceMappingURL=Constraint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../src/vpsc/Constraint.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAiBxE;AAED,qBAAa,UAAU;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;gBACS,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;IAaxD;;;OAGG;IACH,KAAK,IAAI,MAAM;IAIf;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAMhB;AAED;;;GAGG;AACH,YAAY,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Min-heap helpers over Constraint arrays.
3
+ *
4
+ * The C++ code uses std::make_heap / std::push_heap / std::pop_heap with a
5
+ * `gt` comparator that flips compareConstraints, producing a min-heap.
6
+ * We replicate that with a standard binary heap stored in an array.
7
+ *
8
+ * @see lib/vpsc/block.cpp: make_heap, insert, deleteMin, findMin, merge_heaps, gt
9
+ */
10
+ import { Constraint } from "./Constraint.js";
11
+ /**
12
+ * Greater-than comparator: flips compareConstraints to turn a max-heap into
13
+ * a min-heap (matching the C++ `gt` lambda).
14
+ * @see lib/vpsc/block.cpp: static bool gt(...)
15
+ */
16
+ export declare function heapGt(l: Constraint, r: Constraint): boolean;
17
+ /**
18
+ * Bubble element at index i upward until the heap property is restored.
19
+ * @see lib/vpsc/block.cpp: std::push_heap internals
20
+ */
21
+ export declare function heapSiftUp(h: Constraint[], i: number): void;
22
+ /**
23
+ * Push element at index i downward until the heap property is restored.
24
+ * @see lib/vpsc/block.cpp: std::pop_heap internals
25
+ */
26
+ export declare function heapSiftDown(h: Constraint[], i: number): void;
27
+ /** @see lib/vpsc/block.cpp: static void make_heap(...) */
28
+ export declare function makeHeap(h: Constraint[]): void;
29
+ /** @see lib/vpsc/block.cpp: static Constraint *findMin(...) */
30
+ export declare function heapFindMin(h: Constraint[]): Constraint;
31
+ /** @see lib/vpsc/block.cpp: static void deleteMin(...) */
32
+ export declare function heapDeleteMin(h: Constraint[]): void;
33
+ /** @see lib/vpsc/block.cpp: static void insert(...) */
34
+ export declare function heapInsert(h: Constraint[], c: Constraint): void;
35
+ /** @see lib/vpsc/block.cpp: static void merge_heaps(...) */
36
+ export declare function mergeHeaps(heap1: Constraint[], heap2: Constraint[]): void;
37
+ //# sourceMappingURL=HeapUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeapUtils.d.ts","sourceRoot":"","sources":["../../src/vpsc/HeapUtils.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAS3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAI9C;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAEvD;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAInD;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAG/D;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAGzE"}