flo-mat 2.0.1 → 2.0.3

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 (405) hide show
  1. package/.eslintrc.cjs +69 -0
  2. package/README.md +9 -27
  3. package/browser/index.js +29604 -7008
  4. package/browser/index.min.js +1 -2
  5. package/node/circle.d.ts +20 -20
  6. package/node/circle.js +31 -31
  7. package/node/circle.js.map +1 -1
  8. package/node/compare-curvatures-at-interface.d.ts +19 -19
  9. package/node/compare-curvatures-at-interface.js +124 -124
  10. package/node/compare-curvatures-at-interface.js.map +1 -1
  11. package/node/contact-point.d.ts +26 -26
  12. package/node/contact-point.js +25 -25
  13. package/node/cp-node/clone.d.ts +8 -8
  14. package/node/cp-node/clone.js +31 -31
  15. package/node/cp-node/clone.js.map +1 -1
  16. package/node/cp-node/remove.d.ts +9 -9
  17. package/node/cp-node/remove.js +19 -19
  18. package/node/cp-node/remove.js.map +1 -1
  19. package/node/cp-node.d.ts +202 -202
  20. package/node/cp-node.js +320 -320
  21. package/node/cp-node.js.map +1 -1
  22. package/node/curve.d.ts +46 -46
  23. package/node/curve.js +88 -88
  24. package/node/curve.js.map +1 -1
  25. package/node/debug/cp-node-for-debugging.d.ts +11 -11
  26. package/node/debug/cp-node-for-debugging.js +1 -1
  27. package/node/debug/debug-elem-types.d.ts +32 -32
  28. package/node/debug/debug-elem-types.js +1 -1
  29. package/node/debug/debug.d.ts +50 -50
  30. package/node/debug/debug.js +75 -75
  31. package/node/debug/functions/draw-elem/bounding-hull.d.ts +3 -3
  32. package/node/debug/functions/draw-elem/bounding-hull.js +7 -7
  33. package/node/debug/functions/draw-elem/bounding-hull.js.map +1 -1
  34. package/node/debug/functions/draw-elem/branch.d.ts +4 -4
  35. package/node/debug/functions/draw-elem/branch.js +22 -22
  36. package/node/debug/functions/draw-elem/branch.js.map +1 -1
  37. package/node/debug/functions/draw-elem/culls.d.ts +4 -4
  38. package/node/debug/functions/draw-elem/culls.js +21 -21
  39. package/node/debug/functions/draw-elem/culls.js.map +1 -1
  40. package/node/debug/functions/draw-elem/draw-circle-percent.d.ts +3 -3
  41. package/node/debug/functions/draw-elem/draw-circle-percent.js +12 -12
  42. package/node/debug/functions/draw-elem/draw-circle-percent.js.map +1 -1
  43. package/node/debug/functions/draw-elem/draw-elem.d.ts +8 -8
  44. package/node/debug/functions/draw-elem/draw-elem.js +45 -45
  45. package/node/debug/functions/draw-elem/draw-elem.js.map +1 -1
  46. package/node/debug/functions/draw-elem/dull-corner.d.ts +4 -4
  47. package/node/debug/functions/draw-elem/dull-corner.js +10 -10
  48. package/node/debug/functions/draw-elem/dull-corner.js.map +1 -1
  49. package/node/debug/functions/draw-elem/leaves.d.ts +4 -4
  50. package/node/debug/functions/draw-elem/leaves.js +12 -12
  51. package/node/debug/functions/draw-elem/leaves.js.map +1 -1
  52. package/node/debug/functions/draw-elem/loop.d.ts +4 -4
  53. package/node/debug/functions/draw-elem/loop.js +11 -11
  54. package/node/debug/functions/draw-elem/loops.d.ts +4 -4
  55. package/node/debug/functions/draw-elem/loops.js +6 -6
  56. package/node/debug/functions/draw-elem/loose-bounding-box.d.ts +3 -3
  57. package/node/debug/functions/draw-elem/loose-bounding-box.js +9 -9
  58. package/node/debug/functions/draw-elem/loose-bounding-box.js.map +1 -1
  59. package/node/debug/functions/draw-elem/mat.d.ts +4 -4
  60. package/node/debug/functions/draw-elem/mat.js +30 -30
  61. package/node/debug/functions/draw-elem/mat.js.map +1 -1
  62. package/node/debug/functions/draw-elem/max-vertex.d.ts +4 -4
  63. package/node/debug/functions/draw-elem/max-vertex.js +8 -8
  64. package/node/debug/functions/draw-elem/max-vertex.js.map +1 -1
  65. package/node/debug/functions/draw-elem/min-y.d.ts +4 -4
  66. package/node/debug/functions/draw-elem/min-y.js +13 -13
  67. package/node/debug/functions/draw-elem/min-y.js.map +1 -1
  68. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.d.ts +4 -4
  69. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js +12 -12
  70. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js.map +1 -1
  71. package/node/debug/functions/draw-elem/one-prong.d.ts +4 -4
  72. package/node/debug/functions/draw-elem/one-prong.js +16 -16
  73. package/node/debug/functions/draw-elem/one-prong.js.map +1 -1
  74. package/node/debug/functions/draw-elem/sharp-corner.d.ts +4 -4
  75. package/node/debug/functions/draw-elem/sharp-corner.js +9 -9
  76. package/node/debug/functions/draw-elem/sharp-corner.js.map +1 -1
  77. package/node/debug/functions/draw-elem/three-prong.d.ts +4 -4
  78. package/node/debug/functions/draw-elem/three-prong.js +16 -16
  79. package/node/debug/functions/draw-elem/three-prong.js.map +1 -1
  80. package/node/debug/functions/draw-elem/tight-bounding-box.d.ts +3 -3
  81. package/node/debug/functions/draw-elem/tight-bounding-box.js +7 -7
  82. package/node/debug/functions/draw-elem/tight-bounding-box.js.map +1 -1
  83. package/node/debug/functions/draw-elem/two-prong.d.ts +4 -4
  84. package/node/debug/functions/draw-elem/two-prong.js +36 -36
  85. package/node/debug/functions/draw-elem/two-prong.js.map +1 -1
  86. package/node/debug/functions/draw-elem/vertex.d.ts +4 -4
  87. package/node/debug/functions/draw-elem/vertex.js +27 -27
  88. package/node/debug/functions/draw-elem/vertex.js.map +1 -1
  89. package/node/debug/functions/general.d.ts +48 -48
  90. package/node/debug/functions/general.js +52 -52
  91. package/node/debug/functions/general.js.map +1 -1
  92. package/node/debug/functions/three-prong.d.ts +11 -11
  93. package/node/debug/functions/three-prong.js +184 -184
  94. package/node/debug/functions/three-prong.js.map +1 -1
  95. package/node/debug/functions/two-prong.d.ts +13 -13
  96. package/node/debug/functions/two-prong.js +117 -117
  97. package/node/debug/functions/two-prong.js.map +1 -1
  98. package/node/debug/three-prong-for-debugging.d.ts +31 -31
  99. package/node/debug/three-prong-for-debugging.js +20 -20
  100. package/node/debug/two-prong-for-debugging.d.ts +26 -26
  101. package/node/debug/two-prong-for-debugging.js +1 -1
  102. package/node/find-mats.d.ts +26 -26
  103. package/node/find-mats.js +122 -125
  104. package/node/find-mats.js.map +1 -1
  105. package/node/get-boundary-bezier-parts-to-next.d.ts +9 -9
  106. package/node/get-boundary-bezier-parts-to-next.js +42 -42
  107. package/node/get-boundary-bezier-parts-to-next.js.map +1 -1
  108. package/node/get-boundary-beziers-to-next.d.ts +8 -8
  109. package/node/get-boundary-beziers-to-next.js +44 -44
  110. package/node/get-boundary-beziers-to-next.js.map +1 -1
  111. package/node/get-bounding-box-.d.ts +2 -2
  112. package/node/get-bounding-box-.js +4 -4
  113. package/node/get-branches.d.ts +12 -12
  114. package/node/get-branches.js +68 -68
  115. package/node/get-branches.js.map +1 -1
  116. package/node/get-curve/get-curve-between.d.ts +9 -9
  117. package/node/get-curve/get-curve-between.js +56 -56
  118. package/node/get-curve/get-curve-between.js.map +1 -1
  119. package/node/get-curve/get-edge-direction.d.ts +9 -9
  120. package/node/get-curve/get-edge-direction.js +53 -53
  121. package/node/get-curve/get-edge-direction.js.map +1 -1
  122. package/node/get-curve-to-next.d.ts +9 -9
  123. package/node/get-curve-to-next.js +11 -11
  124. package/node/get-interface-ccw.d.ts +24 -24
  125. package/node/get-interface-ccw.js +97 -97
  126. package/node/get-interface-ccw.js.map +1 -1
  127. package/node/index.d.ts +36 -36
  128. package/node/index.js +32 -32
  129. package/node/loop/get-max-coordinate.d.ts +10 -10
  130. package/node/loop/get-max-coordinate.js +43 -43
  131. package/node/loop/get-max-coordinate.js.map +1 -1
  132. package/node/loop.d.ts +16 -16
  133. package/node/loop.js +34 -34
  134. package/node/loop.js.map +1 -1
  135. package/node/mat/add-to-cp-graph.d.ts +16 -16
  136. package/node/mat/add-to-cp-graph.js +30 -30
  137. package/node/mat/add-to-cp-graph.js.map +1 -1
  138. package/node/mat/bezier-piece.d.ts +12 -12
  139. package/node/mat/bezier-piece.js +1 -1
  140. package/node/mat/closest-boundary-point/closest-points-on-curve.d.ts +14 -14
  141. package/node/mat/closest-boundary-point/closest-points-on-curve.js +72 -73
  142. package/node/mat/closest-boundary-point/closest-points-on-curve.js.map +1 -1
  143. package/node/mat/closest-boundary-point/cull-bezier-pieces.d.ts +9 -9
  144. package/node/mat/closest-boundary-point/cull-bezier-pieces.js +19 -19
  145. package/node/mat/closest-boundary-point/cull-bezier-pieces.js.map +1 -1
  146. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.d.ts +11 -11
  147. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js +24 -24
  148. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js.map +1 -1
  149. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.d.ts +11 -11
  150. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js +26 -26
  151. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js.map +1 -1
  152. package/node/mat/closest-boundary-point/get-best-distance-squared.d.ts +8 -8
  153. package/node/mat/closest-boundary-point/get-best-distance-squared.js +24 -24
  154. package/node/mat/closest-boundary-point/get-best-distance-squared.js.map +1 -1
  155. package/node/mat/closest-boundary-point/get-close-boundary-points.d.ts +17 -17
  156. package/node/mat/closest-boundary-point/get-close-boundary-points.js +80 -80
  157. package/node/mat/closest-boundary-point/get-close-boundary-points.js.map +1 -1
  158. package/node/mat/closest-boundary-point/get-closest-boundary-point.d.ts +18 -18
  159. package/node/mat/closest-boundary-point/get-closest-boundary-point.js +40 -40
  160. package/node/mat/closest-boundary-point/get-closest-boundary-point.js.map +1 -1
  161. package/node/mat/corner.d.ts +37 -37
  162. package/node/mat/corner.js +1 -1
  163. package/node/mat/create-new-cp-tree.d.ts +9 -9
  164. package/node/mat/create-new-cp-tree.js +23 -23
  165. package/node/mat/create-new-cp-tree.js.map +1 -1
  166. package/node/mat/elem-type-two-prong.d.ts +3 -3
  167. package/node/mat/elem-type-two-prong.js +1 -1
  168. package/node/mat/find-mat/add-1-prong.d.ts +12 -12
  169. package/node/mat/find-mat/add-1-prong.js +42 -42
  170. package/node/mat/find-mat/add-1-prong.js.map +1 -1
  171. package/node/mat/find-mat/add-2-prong.d.ts +21 -21
  172. package/node/mat/find-mat/add-2-prong.js +192 -192
  173. package/node/mat/find-mat/add-2-prong.js.map +1 -1
  174. package/node/mat/find-mat/add-3-prong.d.ts +19 -19
  175. package/node/mat/find-mat/add-3-prong.js +54 -54
  176. package/node/mat/find-mat/add-3-prong.js.map +1 -1
  177. package/node/mat/find-mat/add-debug-info.d.ts +9 -9
  178. package/node/mat/find-mat/add-debug-info.js +67 -69
  179. package/node/mat/find-mat/add-debug-info.js.map +1 -1
  180. package/node/mat/find-mat/create-get-interesting-points-on-loop.d.ts +11 -11
  181. package/node/mat/find-mat/create-get-interesting-points-on-loop.js +51 -51
  182. package/node/mat/find-mat/create-get-interesting-points-on-loop.js.map +1 -1
  183. package/node/mat/find-mat/create-initial-cp-graph.d.ts +12 -12
  184. package/node/mat/find-mat/create-initial-cp-graph.js +40 -40
  185. package/node/mat/find-mat/create-initial-cp-graph.js.map +1 -1
  186. package/node/mat/find-mat/find-2-prong/add-debug-info.d.ts +8 -8
  187. package/node/mat/find-mat/find-2-prong/add-debug-info.js +21 -21
  188. package/node/mat/find-mat/find-2-prong/add-debug-info.js.map +1 -1
  189. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.d.ts +11 -11
  190. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js +29 -29
  191. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js.map +1 -1
  192. package/node/mat/find-mat/find-2-prong/find-2-prong.d.ts +37 -37
  193. package/node/mat/find-mat/find-2-prong/find-2-prong.js +232 -232
  194. package/node/mat/find-mat/find-2-prong/find-2-prong.js.map +1 -1
  195. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.d.ts +9 -9
  196. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js +39 -39
  197. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js.map +1 -1
  198. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.d.ts +11 -11
  199. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js +37 -37
  200. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js.map +1 -1
  201. package/node/mat/find-mat/find-2-prong/x-for-debugging.d.ts +9 -9
  202. package/node/mat/find-mat/find-2-prong/x-for-debugging.js +1 -1
  203. package/node/mat/find-mat/find-3-prong/calc-better-x.d.ts +19 -19
  204. package/node/mat/find-mat/find-3-prong/calc-better-x.js +36 -36
  205. package/node/mat/find-mat/find-3-prong/calc-better-x.js.map +1 -1
  206. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.d.ts +13 -13
  207. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js +25 -25
  208. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js.map +1 -1
  209. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.d.ts +22 -22
  210. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js +159 -159
  211. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js.map +1 -1
  212. package/node/mat/find-mat/find-3-prong/find-3-prong.d.ts +16 -16
  213. package/node/mat/find-mat/find-3-prong/find-3-prong.js +76 -76
  214. package/node/mat/find-mat/find-3-prong/find-3-prong.js.map +1 -1
  215. package/node/mat/find-mat/find-3-prong/get-closest-points.d.ts +9 -9
  216. package/node/mat/find-mat/find-3-prong/get-closest-points.js +16 -16
  217. package/node/mat/find-mat/find-3-prong/get-closest-points.js.map +1 -1
  218. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.d.ts +15 -15
  219. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js +20 -20
  220. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js.map +1 -1
  221. package/node/mat/find-mat/find-and-add-2-prongs.d.ts +16 -16
  222. package/node/mat/find-mat/find-and-add-2-prongs.js +73 -74
  223. package/node/mat/find-mat/find-and-add-2-prongs.js.map +1 -1
  224. package/node/mat/find-mat/find-and-add-3-prongs.d.ts +13 -13
  225. package/node/mat/find-mat/find-and-add-3-prongs.js +146 -147
  226. package/node/mat/find-mat/find-and-add-3-prongs.js.map +1 -1
  227. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.d.ts +14 -14
  228. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js +33 -33
  229. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js.map +1 -1
  230. package/node/mat/find-mat/get-potential-2-prongs.d.ts +4 -4
  231. package/node/mat/find-mat/get-potential-2-prongs.js +16 -16
  232. package/node/mat/find-mat/get-potential-2-prongs.js.map +1 -1
  233. package/node/mat/find-mat/get-sharp-corners.d.ts +4 -4
  234. package/node/mat/find-mat/get-sharp-corners.js +17 -17
  235. package/node/mat/find-mat/get-sharp-corners.js.map +1 -1
  236. package/node/mat/geometry/get-closest-square-distance-to-rect.d.ts +5 -5
  237. package/node/mat/geometry/get-closest-square-distance-to-rect.js +49 -49
  238. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.d.ts +5 -5
  239. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js +15 -15
  240. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js.map +1 -1
  241. package/node/mat/get-boundary-piece-beziers.d.ts +11 -11
  242. package/node/mat/get-boundary-piece-beziers.js +58 -58
  243. package/node/mat/get-boundary-piece-beziers.js.map +1 -1
  244. package/node/mat/get-contact-circles-at-interface.d.ts +8 -8
  245. package/node/mat/get-contact-circles-at-interface.js +20 -20
  246. package/node/mat/get-contact-circles-at-interface.js.map +1 -1
  247. package/node/mat/get-largest-vertex.d.ts +4 -4
  248. package/node/mat/get-largest-vertex.js +9 -9
  249. package/node/mat/get-leaves.d.ts +4 -4
  250. package/node/mat/get-leaves.js +12 -12
  251. package/node/mat/get-leaves.js.map +1 -1
  252. package/node/mat/get-neighboring-cps.d.ts +14 -14
  253. package/node/mat/get-neighboring-cps.js +30 -30
  254. package/node/mat/get-neighboring-cps.js.map +1 -1
  255. package/node/mat/get-two-prong-type.d.ts +5 -5
  256. package/node/mat/get-two-prong-type.js +8 -8
  257. package/node/mat/is-another-cp-closeby.d.ts +20 -20
  258. package/node/mat/is-another-cp-closeby.js +55 -55
  259. package/node/mat/is-another-cp-closeby.js.map +1 -1
  260. package/node/mat/simplify-mat-map-only.d.ts +23 -23
  261. package/node/mat/simplify-mat-map-only.js +80 -80
  262. package/node/mat/simplify-mat-map-only.js.map +1 -1
  263. package/node/mat/to-scale-axis/add-debug-info.d.ts +7 -7
  264. package/node/mat/to-scale-axis/add-debug-info.js +13 -13
  265. package/node/mat/to-scale-axis/add-debug-info.js.map +1 -1
  266. package/node/mat/to-scale-axis/cull-non-cycles.d.ts +9 -9
  267. package/node/mat/to-scale-axis/cull-non-cycles.js +51 -51
  268. package/node/mat/to-scale-axis/cull-non-cycles.js.map +1 -1
  269. package/node/mat/to-scale-axis/cull.d.ts +12 -12
  270. package/node/mat/to-scale-axis/cull.js +132 -132
  271. package/node/mat/to-scale-axis/cull.js.map +1 -1
  272. package/node/mat/trim-mat.d.ts +8 -8
  273. package/node/mat/trim-mat.js +16 -16
  274. package/node/mat/trim-mat.js.map +1 -1
  275. package/node/mat.d.ts +22 -22
  276. package/node/mat.js +1 -1
  277. package/node/point-on-shape.d.ts +73 -73
  278. package/node/point-on-shape.js +167 -167
  279. package/node/point-on-shape.js.map +1 -1
  280. package/node/simplify-mat.d.ts +16 -16
  281. package/node/simplify-mat.js +71 -71
  282. package/node/simplify-mat.js.map +1 -1
  283. package/node/svg/get-loop-bounds.d.ts +12 -12
  284. package/node/svg/get-loop-bounds.js +80 -80
  285. package/node/svg/get-loop-bounds.js.map +1 -1
  286. package/node/svg/get-min-y-pos.d.ts +8 -8
  287. package/node/svg/get-min-y-pos.js +9 -9
  288. package/node/svg/get-shape-bounds.d.ts +9 -9
  289. package/node/svg/get-shape-bounds.js +35 -35
  290. package/node/svg/get-shape-bounds.js.map +1 -1
  291. package/node/sweep-line/sweep-line.d.ts +18 -18
  292. package/node/sweep-line/sweep-line.js +72 -72
  293. package/node/sweep-line/sweep-line.js.map +1 -1
  294. package/node/to-scale-axis.d.ts +16 -16
  295. package/node/to-scale-axis.js +74 -73
  296. package/node/to-scale-axis.js.map +1 -1
  297. package/node/traverse-edges.d.ts +10 -10
  298. package/node/traverse-edges.js +21 -21
  299. package/node/traverse-edges.js.map +1 -1
  300. package/node/traverse-vertices.d.ts +12 -12
  301. package/node/traverse-vertices.js +27 -27
  302. package/node/traverse-vertices.js.map +1 -1
  303. package/package.json +29 -24
  304. package/src/circle.ts +3 -3
  305. package/src/compare-curvatures-at-interface.ts +36 -36
  306. package/src/cp-node/clone.ts +6 -6
  307. package/src/cp-node/remove.ts +4 -4
  308. package/src/cp-node.ts +20 -20
  309. package/src/curve.ts +19 -19
  310. package/src/debug/functions/draw-elem/bounding-hull.ts +2 -2
  311. package/src/debug/functions/draw-elem/branch.ts +4 -4
  312. package/src/debug/functions/draw-elem/culls.ts +4 -4
  313. package/src/debug/functions/draw-elem/draw-circle-percent.ts +2 -2
  314. package/src/debug/functions/draw-elem/draw-elem.ts +1 -1
  315. package/src/debug/functions/draw-elem/dull-corner.ts +3 -3
  316. package/src/debug/functions/draw-elem/leaves.ts +4 -4
  317. package/src/debug/functions/draw-elem/loose-bounding-box.ts +2 -2
  318. package/src/debug/functions/draw-elem/mat.ts +4 -4
  319. package/src/debug/functions/draw-elem/max-vertex.ts +2 -2
  320. package/src/debug/functions/draw-elem/min-y.ts +3 -3
  321. package/src/debug/functions/draw-elem/one-prong-at-dull-corner.ts +4 -4
  322. package/src/debug/functions/draw-elem/one-prong.ts +4 -4
  323. package/src/debug/functions/draw-elem/sharp-corner.ts +2 -2
  324. package/src/debug/functions/draw-elem/three-prong.ts +7 -7
  325. package/src/debug/functions/draw-elem/tight-bounding-box.ts +1 -1
  326. package/src/debug/functions/draw-elem/two-prong.ts +1 -1
  327. package/src/debug/functions/draw-elem/vertex.ts +20 -14
  328. package/src/debug/functions/general.ts +3 -3
  329. package/src/debug/functions/three-prong.ts +37 -37
  330. package/src/debug/functions/two-prong.ts +15 -15
  331. package/src/find-mats.ts +19 -19
  332. package/src/get-boundary-bezier-parts-to-next.ts +8 -8
  333. package/src/get-boundary-beziers-to-next.ts +8 -8
  334. package/src/get-branches.ts +7 -7
  335. package/src/get-curve/get-curve-between.ts +21 -21
  336. package/src/get-curve/get-edge-direction.ts +13 -14
  337. package/src/get-interface-ccw.ts +12 -12
  338. package/src/loop/get-max-coordinate.ts +7 -7
  339. package/src/loop.ts +4 -4
  340. package/src/mat/add-to-cp-graph.ts +8 -8
  341. package/src/mat/closest-boundary-point/closest-points-on-curve.ts +5 -6
  342. package/src/mat/closest-boundary-point/cull-bezier-pieces.ts +1 -1
  343. package/src/mat/closest-boundary-point/cull-by-loose-bounding-box.ts +5 -5
  344. package/src/mat/closest-boundary-point/cull-by-tight-boundary-box.ts +5 -5
  345. package/src/mat/closest-boundary-point/get-best-distance-squared.ts +5 -5
  346. package/src/mat/closest-boundary-point/get-close-boundary-points.ts +15 -15
  347. package/src/mat/closest-boundary-point/get-closest-boundary-point.ts +4 -4
  348. package/src/mat/cmp-cp-on-delta.ts +5 -5
  349. package/src/mat/create-new-cp-tree.ts +3 -3
  350. package/src/mat/find-mat/add-1-prong.ts +5 -5
  351. package/src/mat/find-mat/add-2-prong.ts +42 -42
  352. package/src/mat/find-mat/add-3-prong.ts +1 -1
  353. package/src/mat/find-mat/add-debug-info.ts +18 -20
  354. package/src/mat/find-mat/create-get-interesting-points-on-loop.ts +4 -4
  355. package/src/mat/find-mat/create-initial-cp-graph.ts +11 -11
  356. package/src/mat/find-mat/find-2-prong/add-debug-info.ts +4 -4
  357. package/src/mat/find-mat/find-2-prong/cull-bezier-pieces.ts +5 -5
  358. package/src/mat/find-mat/find-2-prong/find-2-prong.ts +27 -27
  359. package/src/mat/find-mat/find-2-prong/find-equidistant-point-on-line.ts +7 -7
  360. package/src/mat/find-mat/find-2-prong/get-initial-bezier-pieces.ts +4 -4
  361. package/src/mat/find-mat/find-3-prong/calc-better-x.ts +4 -4
  362. package/src/mat/find-mat/find-3-prong/calc-initial-3-prong-center.ts +3 -3
  363. package/src/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.ts +37 -37
  364. package/src/mat/find-mat/find-3-prong/find-3-prong.ts +16 -16
  365. package/src/mat/find-mat/find-3-prong/get-closest-points.ts +1 -1
  366. package/src/mat/find-mat/find-and-add-2-prongs-on-all-paths.ts +2 -2
  367. package/src/mat/find-mat/find-and-add-2-prongs.ts +14 -16
  368. package/src/mat/find-mat/find-and-add-3-prongs.ts +19 -19
  369. package/src/mat/find-mat/find-and-add-hole-closing-2-prongs.ts +6 -6
  370. package/src/mat/find-mat/get-potential-2-prongs.ts +4 -4
  371. package/src/mat/find-mat/get-sharp-corners.ts +4 -4
  372. package/src/mat/find-mat/get-total-abs-curvature.ts +1 -1
  373. package/src/mat/geometry/get-closest-squared-distance-to-rotated-rect.ts +3 -3
  374. package/src/mat/get-boundary-piece-beziers.ts +5 -5
  375. package/src/mat/get-contact-circles-at-interface.ts +1 -1
  376. package/src/mat/get-edges-as-array.ts +2 -2
  377. package/src/mat/get-leaves.ts +2 -2
  378. package/src/mat/get-neighboring-cps.ts +1 -1
  379. package/src/mat/is-another-cp-closeby.ts +9 -9
  380. package/src/mat/simplify-mat-map-only.ts +15 -15
  381. package/src/mat/to-scale-axis/add-debug-info.ts +6 -3
  382. package/src/mat/to-scale-axis/add-to-tree.ts +10 -10
  383. package/src/mat/to-scale-axis/calc-groups.ts +19 -19
  384. package/src/mat/to-scale-axis/create-spacial-tree.ts +4 -4
  385. package/src/mat/to-scale-axis/cull-non-cycles.ts +5 -5
  386. package/src/mat/to-scale-axis/cull.ts +5 -5
  387. package/src/mat/to-scale-axis/get-engulfed-vertices.ts +18 -18
  388. package/src/mat/trim-mat.ts +1 -1
  389. package/src/point-on-shape.ts +16 -16
  390. package/src/simplify-mat.ts +10 -10
  391. package/src/svg/get-curvature-at-interface.ts +6 -8
  392. package/src/svg/get-extreme.ts +1 -1
  393. package/src/svg/get-loop-bounds.ts +13 -13
  394. package/src/svg/get-shape-bounds.ts +4 -4
  395. package/src/sweep-line/are-boxes-intersecting.ts +4 -4
  396. package/src/sweep-line/sweep-line.ts +8 -8
  397. package/src/to-scale-axis.ts +18 -17
  398. package/src/traverse-edges.ts +2 -2
  399. package/src/traverse-vertices.ts +2 -2
  400. package/tsconfig.json +0 -1
  401. package/webpack.config.cjs +12 -63
  402. package/browser/index.min.js.LICENSE.txt +0 -2819
  403. package/browser/index.module.js +0 -7149
  404. package/browser/index.module.min.js +0 -2
  405. package/browser/index.module.min.js.LICENSE.txt +0 -2819
@@ -1 +1 @@
1
- {"version":3,"file":"cp-node.js","sourceRoot":"","sources":["../src/cp-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cp-node.js","sourceRoot":"","sources":["../src/cp-node.ts"],"names":[],"mappings":"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"}
package/node/curve.d.ts CHANGED
@@ -1,46 +1,46 @@
1
- import { Loop } from './loop.js';
2
- import { Corner } from './mat/corner.js';
3
- /**
4
- * Represents a bezier curve on the shape boundary / loop.
5
- */
6
- interface Curve {
7
- /**
8
- * Primarily for internal use.
9
- * @param loop The closed loop of bezier curves representing the shape
10
- * boundary this curve belongs to.
11
- * @param ps The bezier control points.
12
- * @param prev The previous curve (when going in a negative direction around
13
- * the shape boundary, i.e. clockwise for the outer shape and anti-clockwise
14
- * for the holes (if any)).
15
- * @param next The next curve (when going in a positive direction around
16
- * the shape boundary, i.e. anti-clockwise for the outer shape and clockwise
17
- * for the holes (if any)).
18
- * @param idx The curve's ordered index in the loop. This imposes a cycling
19
- * ordering of the curves in the loop.
20
- */
21
- loop: Loop;
22
- ps: number[][];
23
- prev: Curve;
24
- next: Curve;
25
- idx: number;
26
- }
27
- /**
28
- * @hidden
29
- * Returns a new corner with properties.
30
- *
31
- * PRECONDITION: The beziers has control points with max bit-length of 26 and
32
- * aligned to a 'grid' to have the same exponent. This is so the vectors between
33
- * control points can be calculated exactly without resorting to adaptive
34
- * infinite precision floating point operations.
35
- *
36
- * @param psI The incoming bezier that ends in the corner
37
- * @param psO The outgoing bezier that starts at the corner
38
- */
39
- declare function getCorner(psI: number[][], psO: number[][]): Corner;
40
- /**
41
- * @hidden
42
- * Returns information about the corner created at the end of this curve
43
- * (at t === 1) and the start of the next curve (at t === 0).
44
- */
45
- declare let getCornerAtEnd: (a: Curve) => Corner;
46
- export { Curve, getCorner, getCornerAtEnd };
1
+ import { Loop } from './loop.js';
2
+ import { Corner } from './mat/corner.js';
3
+ /**
4
+ * Represents a bezier curve on the shape boundary / loop.
5
+ */
6
+ interface Curve {
7
+ /**
8
+ * Primarily for internal use.
9
+ * @param loop The closed loop of bezier curves representing the shape
10
+ * boundary this curve belongs to.
11
+ * @param ps The bezier control points.
12
+ * @param prev The previous curve (when going in a negative direction around
13
+ * the shape boundary, i.e. clockwise for the outer shape and anti-clockwise
14
+ * for the holes (if any)).
15
+ * @param next The next curve (when going in a positive direction around
16
+ * the shape boundary, i.e. anti-clockwise for the outer shape and clockwise
17
+ * for the holes (if any)).
18
+ * @param idx The curve's ordered index in the loop. This imposes a cycling
19
+ * ordering of the curves in the loop.
20
+ */
21
+ loop: Loop;
22
+ ps: number[][];
23
+ prev: Curve;
24
+ next: Curve;
25
+ idx: number;
26
+ }
27
+ /**
28
+ * @hidden
29
+ * Returns a new corner with properties.
30
+ *
31
+ * PRECONDITION: The beziers has control points with max bit-length of 26 and
32
+ * aligned to a 'grid' to have the same exponent. This is so the vectors between
33
+ * control points can be calculated exactly without resorting to adaptive
34
+ * infinite precision floating point operations.
35
+ *
36
+ * @param psI The incoming bezier that ends in the corner
37
+ * @param psO The outgoing bezier that starts at the corner
38
+ */
39
+ declare function getCorner(psI: number[][], psO: number[][]): Corner;
40
+ /**
41
+ * @hidden
42
+ * Returns information about the corner created at the end of this curve
43
+ * (at t === 1) and the start of the next curve (at t === 0).
44
+ */
45
+ declare const getCornerAtEnd: (a: Curve) => Corner;
46
+ export { Curve, getCorner, getCornerAtEnd };
package/node/curve.js CHANGED
@@ -1,89 +1,89 @@
1
- import { memoize } from 'flo-memoize';
2
- import { cross, dot, toUnitVector } from 'flo-vector2d';
3
- import { getInterfaceCcw } from './get-interface-ccw.js';
4
- /**
5
- * @hidden
6
- * Angle in degrees to radians.
7
- */
8
- const DEGREES = {
9
- //'0' : 0.0000,
10
- 0.25: 0.0050,
11
- 1: 0.0167,
12
- 4: 0.0698,
13
- 16: 0.2756,
14
- };
15
- /** @hidden */
16
- //const DEGREE_LIMIT = DEGREES[1];
17
- const DEGREE_LIMIT = DEGREES[4];
18
- //const DEGREE_LIMIT = DEGREES[16];
19
- /**
20
- * @hidden
21
- * Returns a new corner with properties.
22
- *
23
- * PRECONDITION: The beziers has control points with max bit-length of 26 and
24
- * aligned to a 'grid' to have the same exponent. This is so the vectors between
25
- * control points can be calculated exactly without resorting to adaptive
26
- * infinite precision floating point operations.
27
- *
28
- * @param psI The incoming bezier that ends in the corner
29
- * @param psO The outgoing bezier that starts at the corner
30
- */
31
- function getCorner(psI, psO) {
32
- // getInterfaceCcw must return a number !== 0 if psI and psO are not the
33
- // same as seen as a curve extension with t ∈ [-∞,+∞]
34
- let ccw = getInterfaceCcw(psI, psO);
35
- let isSharp = ccw < 0;
36
- let isDull = ccw > 0;
37
- // Find (non-normalized) tangent of curve.ps at t === 1
38
- let p0E = psI[psI.length - 2];
39
- let p1E = psI[psI.length - 1];
40
- let xE = p1E[0] - p0E[0];
41
- let yE = p1E[1] - p0E[1];
42
- let tangentAtEnd = [xE, yE];
43
- // Find (non-normalized) tangent of curve.next.ps at t === 0
44
- let p0S = psO[0];
45
- let p1S = psO[1];
46
- let xS = p1S[0] - p0S[0];
47
- let yS = p1S[1] - p0S[1];
48
- let tangentAtStart = [xS, yS];
49
- // These use square root and are thus not exact
50
- let tangents_ = [
51
- toUnitVector(tangentAtEnd),
52
- toUnitVector(tangentAtStart),
53
- ];
54
- // The cross calculated below should be exact due to beziers having been
55
- // normalized!
56
- let crossTangents = cross(tangents_[0], tangents_[1]);
57
- let isQuiteSharp;
58
- let isQuiteDull;
59
- let dotTangents = dot(tangentAtEnd, tangentAtStart);
60
- if (dotTangents > 0) {
61
- // Curves go in same direction
62
- isQuiteSharp = crossTangents < -DEGREE_LIMIT;
63
- isQuiteDull = crossTangents > +DEGREE_LIMIT;
64
- }
65
- else {
66
- isQuiteSharp = isSharp;
67
- isQuiteDull = isDull;
68
- }
69
- return {
70
- tangents: tangents_,
71
- crossTangents,
72
- isSharp,
73
- isDull,
74
- isQuiteSharp,
75
- isQuiteDull
76
- };
77
- }
78
- /**
79
- * @hidden
80
- * Returns information about the corner created at the end of this curve
81
- * (at t === 1) and the start of the next curve (at t === 0).
82
- */
83
- let getCornerAtEnd = memoize(function (curve) {
84
- let psE = curve.ps;
85
- let psS = curve.next.ps;
86
- return getCorner(psE, psS);
87
- });
88
- export { getCorner, getCornerAtEnd };
1
+ import { memoize } from 'flo-memoize';
2
+ import { cross, dot, toUnitVector } from 'flo-vector2d';
3
+ import { getInterfaceCcw } from './get-interface-ccw.js';
4
+ /**
5
+ * @hidden
6
+ * Angle in degrees to radians.
7
+ */
8
+ const DEGREES = {
9
+ //'0' : 0.0000,
10
+ 0.25: 0.0050,
11
+ 1: 0.0167,
12
+ 4: 0.0698,
13
+ 16: 0.2756,
14
+ };
15
+ /** @hidden */
16
+ //const DEGREE_LIMIT = DEGREES[1];
17
+ const DEGREE_LIMIT = DEGREES[4];
18
+ //const DEGREE_LIMIT = DEGREES[16];
19
+ /**
20
+ * @hidden
21
+ * Returns a new corner with properties.
22
+ *
23
+ * PRECONDITION: The beziers has control points with max bit-length of 26 and
24
+ * aligned to a 'grid' to have the same exponent. This is so the vectors between
25
+ * control points can be calculated exactly without resorting to adaptive
26
+ * infinite precision floating point operations.
27
+ *
28
+ * @param psI The incoming bezier that ends in the corner
29
+ * @param psO The outgoing bezier that starts at the corner
30
+ */
31
+ function getCorner(psI, psO) {
32
+ // getInterfaceCcw must return a number !== 0 if psI and psO are not the
33
+ // same as seen as a curve extension with t ∈ [-∞,+∞]
34
+ const ccw = getInterfaceCcw(psI, psO);
35
+ const isSharp = ccw < 0;
36
+ const isDull = ccw > 0;
37
+ // Find (non-normalized) tangent of curve.ps at t === 1
38
+ const p0E = psI[psI.length - 2];
39
+ const p1E = psI[psI.length - 1];
40
+ const xE = p1E[0] - p0E[0];
41
+ const yE = p1E[1] - p0E[1];
42
+ const tangentAtEnd = [xE, yE];
43
+ // Find (non-normalized) tangent of curve.next.ps at t === 0
44
+ const p0S = psO[0];
45
+ const p1S = psO[1];
46
+ const xS = p1S[0] - p0S[0];
47
+ const yS = p1S[1] - p0S[1];
48
+ const tangentAtStart = [xS, yS];
49
+ // These use square root and are thus not exact
50
+ const tangents_ = [
51
+ toUnitVector(tangentAtEnd),
52
+ toUnitVector(tangentAtStart),
53
+ ];
54
+ // The cross calculated below should be exact due to beziers having been
55
+ // normalized!
56
+ const crossTangents = cross(tangents_[0], tangents_[1]);
57
+ let isQuiteSharp;
58
+ let isQuiteDull;
59
+ const dotTangents = dot(tangentAtEnd, tangentAtStart);
60
+ if (dotTangents > 0) {
61
+ // Curves go in same direction
62
+ isQuiteSharp = crossTangents < -DEGREE_LIMIT;
63
+ isQuiteDull = crossTangents > +DEGREE_LIMIT;
64
+ }
65
+ else {
66
+ isQuiteSharp = isSharp;
67
+ isQuiteDull = isDull;
68
+ }
69
+ return {
70
+ tangents: tangents_,
71
+ crossTangents,
72
+ isSharp,
73
+ isDull,
74
+ isQuiteSharp,
75
+ isQuiteDull
76
+ };
77
+ }
78
+ /**
79
+ * @hidden
80
+ * Returns information about the corner created at the end of this curve
81
+ * (at t === 1) and the start of the next curve (at t === 0).
82
+ */
83
+ const getCornerAtEnd = memoize(function (curve) {
84
+ const psE = curve.ps;
85
+ const psS = curve.next.ps;
86
+ return getCorner(psE, psS);
87
+ });
88
+ export { getCorner, getCornerAtEnd };
89
89
  //# sourceMappingURL=curve.js.map
package/node/curve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"curve.js","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgCzD;;;GAGG;AACH,MAAM,OAAO,GAAG;IACf,kBAAkB;IAClB,IAAI,EAAG,MAAM;IACb,CAAC,EAAM,MAAM;IACb,CAAC,EAAM,MAAM;IACb,EAAE,EAAK,MAAM;CACb,CAAC;AAGF,cAAc;AACd,kCAAkC;AAClC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,oCAAoC;AAGpC;;;;;;;;;;;GAWG;AACH,SAAS,SAAS,CAAC,GAAe,EAAE,GAAe;IAClD,wEAAwE;IACxE,qDAAqD;IACrD,IAAI,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC;IACtB,IAAI,MAAM,GAAI,GAAG,GAAG,CAAC,CAAC;IAEtB,uDAAuD;IACvD,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,YAAY,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;IAE3B,4DAA4D;IAC5D,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,cAAc,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;IAE7B,+CAA+C;IAC/C,IAAI,SAAS,GAAG;QACf,YAAY,CAAC,YAAY,CAAC;QAC1B,YAAY,CAAC,cAAc,CAAC;KAC5B,CAAC;IAEF,wEAAwE;IACxE,cAAc;IACd,IAAI,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,YAAqB,CAAC;IAC1B,IAAI,WAAoB,CAAC;IACzB,IAAI,WAAW,GAAG,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,WAAW,GAAG,CAAC,EAAE;QACpB,8BAA8B;QAC9B,YAAY,GAAG,aAAa,GAAG,CAAC,YAAY,CAAC;QAC7C,WAAW,GAAG,aAAa,GAAG,CAAC,YAAY,CAAC;KAC5C;SAAM;QACN,YAAY,GAAG,OAAO,CAAC;QACvB,WAAW,GAAI,MAAM,CAAC;KACtB;IAED,OAAO;QACN,QAAQ,EAAE,SAAS;QACnB,aAAa;QACb,OAAO;QACP,MAAM;QACN,YAAY;QACZ,WAAW;KACX,CAAC;AACH,CAAC;AAGD;;;;GAIG;AACH,IAAI,cAAc,GAAG,OAAO,CAAC,UAAS,KAAY;IACjD,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;IACnB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAExB,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAGH,OAAO,EAAS,SAAS,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { CpNode } from '../cp-node.js';
2
- import { Generated } from './debug.js';
3
- /**
4
- * @hidden
5
- * Used for debugging only.
6
- */
7
- interface ICpNodeForDebugging {
8
- generated: Generated;
9
- cpNode: CpNode;
10
- }
11
- export { ICpNodeForDebugging };
1
+ import { CpNode } from '../cp-node.js';
2
+ import { Generated } from './debug.js';
3
+ /**
4
+ * @hidden
5
+ * Used for debugging only.
6
+ */
7
+ interface ICpNodeForDebugging {
8
+ generated: Generated;
9
+ cpNode: CpNode;
10
+ }
11
+ export { ICpNodeForDebugging };
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=cp-node-for-debugging.js.map
@@ -1,32 +1,32 @@
1
- import { IPointOnShape } from '../point-on-shape.js';
2
- import { TwoProngForDebugging } from './two-prong-for-debugging.js';
3
- import { ThreeProngForDebugging } from './three-prong-for-debugging.js';
4
- import { Curve } from '../curve.js';
5
- import { Mat } from '../mat.js';
6
- import { CpNode } from '../cp-node.js';
7
- import { Circle } from '../circle.js';
8
- import { ICpNodeForDebugging } from './cp-node-for-debugging.js';
9
- /** @hidden */
10
- interface IDebugElems {
11
- oneProng: IPointOnShape;
12
- oneProngAtDullCorner: IPointOnShape;
13
- twoProng_regular: TwoProngForDebugging;
14
- twoProng_failed: TwoProngForDebugging;
15
- twoProng_notAdded: TwoProngForDebugging;
16
- twoProng_deleted: TwoProngForDebugging;
17
- twoProng_holeClosing: TwoProngForDebugging;
18
- threeProng: ThreeProngForDebugging;
19
- looseBoundingBox: number[][];
20
- tightBoundingBox: number[][];
21
- boundingHull: number[][];
22
- sharpCorner: Curve;
23
- dullCorner: Curve;
24
- vertex: CpNode;
25
- mat: Mat;
26
- sat: Mat;
27
- maxVertex: CpNode;
28
- leaves: CpNode[];
29
- culls: Circle[];
30
- cpNode: ICpNodeForDebugging;
31
- }
32
- export { IDebugElems };
1
+ import { IPointOnShape } from '../point-on-shape.js';
2
+ import { TwoProngForDebugging } from './two-prong-for-debugging.js';
3
+ import { ThreeProngForDebugging } from './three-prong-for-debugging.js';
4
+ import { Curve } from '../curve.js';
5
+ import { Mat } from '../mat.js';
6
+ import { CpNode } from '../cp-node.js';
7
+ import { Circle } from '../circle.js';
8
+ import { ICpNodeForDebugging } from './cp-node-for-debugging.js';
9
+ /** @hidden */
10
+ interface IDebugElems {
11
+ oneProng: IPointOnShape;
12
+ oneProngAtDullCorner: IPointOnShape;
13
+ twoProng_regular: TwoProngForDebugging;
14
+ twoProng_failed: TwoProngForDebugging;
15
+ twoProng_notAdded: TwoProngForDebugging;
16
+ twoProng_deleted: TwoProngForDebugging;
17
+ twoProng_holeClosing: TwoProngForDebugging;
18
+ threeProng: ThreeProngForDebugging;
19
+ looseBoundingBox: number[][];
20
+ tightBoundingBox: number[][];
21
+ boundingHull: number[][];
22
+ sharpCorner: Curve;
23
+ dullCorner: Curve;
24
+ vertex: CpNode;
25
+ mat: Mat;
26
+ sat: Mat;
27
+ maxVertex: CpNode;
28
+ leaves: CpNode[];
29
+ culls: Circle[];
30
+ cpNode: ICpNodeForDebugging;
31
+ }
32
+ export { IDebugElems };
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=debug-elem-types.js.map
@@ -1,50 +1,50 @@
1
- import { IGeneralDebugFunctions } from './functions/general.js';
2
- import { ITwoProngDebugFunctions } from './functions/two-prong.js';
3
- import { IThreeProngDebugFunctions } from './functions/three-prong.js';
4
- import { TDrawElemFunctions } from './functions/draw-elem/draw-elem.js';
5
- import { IDebugElems } from './debug-elem-types.js';
6
- /** @hidden */
7
- interface Debug {
8
- /** Generated by debug object for later inspection */
9
- generated: Generated;
10
- /**
11
- * These functions are meant to be used in the console, e.g. in the
12
- * console try typing d.fs.twoProng.traceConvergence(0);
13
- */
14
- fs: IDebugFunctions;
15
- directives: IDirectives;
16
- }
17
- /** @hidden */
18
- declare type GeneratedElems = {
19
- [T in keyof IDebugElems]: IDebugElems[T][];
20
- };
21
- /** @hidden */
22
- interface ITiming {
23
- holeClosers: number;
24
- oneAnd2Prongs: number;
25
- threeProngs: number;
26
- sats: number;
27
- simplifyMat: number;
28
- }
29
- /** @hidden */
30
- interface Generated {
31
- elems: GeneratedElems;
32
- timing: ITiming;
33
- }
34
- /** @hidden */
35
- interface IDebugFunctions extends IGeneralDebugFunctions {
36
- twoProng: ITwoProngDebugFunctions;
37
- threeProng: IThreeProngDebugFunctions;
38
- drawElem: TDrawElemFunctions;
39
- }
40
- /** @hidden */
41
- interface IDirectives {
42
- stopAfterHoleClosers: boolean;
43
- stopAfterHoleClosersNum: number;
44
- stopAfterTwoProngs: boolean;
45
- stopAfterTwoProngsNum: number;
46
- stopAfterThreeProngs: boolean;
47
- stopAfterThreeProngsNum: number;
48
- }
49
- declare function enableDebugForMat(debugOn: boolean): void;
50
- export { Debug, GeneratedElems, ITiming, Generated, IDebugFunctions, IDirectives, enableDebugForMat };
1
+ import { IGeneralDebugFunctions } from './functions/general.js';
2
+ import { ITwoProngDebugFunctions } from './functions/two-prong.js';
3
+ import { IThreeProngDebugFunctions } from './functions/three-prong.js';
4
+ import { TDrawElemFunctions } from './functions/draw-elem/draw-elem.js';
5
+ import { IDebugElems } from './debug-elem-types.js';
6
+ /** @hidden */
7
+ interface Debug {
8
+ /** Generated by debug object for later inspection */
9
+ generated: Generated;
10
+ /**
11
+ * These functions are meant to be used in the console, e.g. in the
12
+ * console try typing d.fs.twoProng.traceConvergence(0);
13
+ */
14
+ fs: IDebugFunctions;
15
+ directives: IDirectives;
16
+ }
17
+ /** @hidden */
18
+ type GeneratedElems = {
19
+ [T in keyof IDebugElems]: IDebugElems[T][];
20
+ };
21
+ /** @hidden */
22
+ interface ITiming {
23
+ holeClosers: number;
24
+ oneAnd2Prongs: number;
25
+ threeProngs: number;
26
+ sats: number;
27
+ simplifyMat: number;
28
+ }
29
+ /** @hidden */
30
+ interface Generated {
31
+ elems: GeneratedElems;
32
+ timing: ITiming;
33
+ }
34
+ /** @hidden */
35
+ interface IDebugFunctions extends IGeneralDebugFunctions {
36
+ twoProng: ITwoProngDebugFunctions;
37
+ threeProng: IThreeProngDebugFunctions;
38
+ drawElem: TDrawElemFunctions;
39
+ }
40
+ /** @hidden */
41
+ interface IDirectives {
42
+ stopAfterHoleClosers: boolean;
43
+ stopAfterHoleClosersNum: number;
44
+ stopAfterTwoProngs: boolean;
45
+ stopAfterTwoProngsNum: number;
46
+ stopAfterThreeProngs: boolean;
47
+ stopAfterThreeProngsNum: number;
48
+ }
49
+ declare function enableDebugForMat(debugOn: boolean): void;
50
+ export { Debug, GeneratedElems, ITiming, Generated, IDebugFunctions, IDirectives, enableDebugForMat };