flo-mat 2.0.4 → 3.0.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 (652) hide show
  1. package/.quokka +4 -0
  2. package/browser/index.js +18434 -14538
  3. package/browser/index.min.js +1 -1
  4. package/node/closest-boundary-point/cull-bezier-pieces.d.ts +9 -0
  5. package/node/closest-boundary-point/cull-bezier-pieces.js +17 -0
  6. package/node/closest-boundary-point/cull-bezier-pieces.js.map +1 -0
  7. package/node/{mat/closest-boundary-point → closest-boundary-point}/cull-by-loose-bounding-box.d.ts +2 -2
  8. package/node/{mat/closest-boundary-point → closest-boundary-point}/cull-by-loose-bounding-box.js +2 -2
  9. package/node/closest-boundary-point/cull-by-loose-bounding-box.js.map +1 -0
  10. package/node/{mat/closest-boundary-point → closest-boundary-point}/cull-by-tight-boundary-box.d.ts +2 -2
  11. package/node/{mat/closest-boundary-point → closest-boundary-point}/cull-by-tight-boundary-box.js +1 -1
  12. package/node/closest-boundary-point/cull-by-tight-boundary-box.js.map +1 -0
  13. package/node/closest-boundary-point/dd-deflate-with-running-error.d.ts +25 -0
  14. package/node/closest-boundary-point/dd-deflate-with-running-error.js +68 -0
  15. package/node/closest-boundary-point/dd-deflate-with-running-error.js.map +1 -0
  16. package/node/closest-boundary-point/foot-and-endpoint-info.d.ts +10 -0
  17. package/node/closest-boundary-point/foot-and-endpoint-info.js +2 -0
  18. package/node/closest-boundary-point/foot-and-endpoint-info.js.map +1 -0
  19. package/node/{mat/closest-boundary-point → closest-boundary-point}/get-best-distance-squared.d.ts +2 -2
  20. package/node/{mat/closest-boundary-point → closest-boundary-point}/get-best-distance-squared.js +2 -3
  21. package/node/closest-boundary-point/get-best-distance-squared.js.map +1 -0
  22. package/node/closest-boundary-point/get-close-boundary-points-certified.d.ts +15 -0
  23. package/node/closest-boundary-point/get-close-boundary-points-certified.js +40 -0
  24. package/node/closest-boundary-point/get-close-boundary-points-certified.js.map +1 -0
  25. package/node/closest-boundary-point/get-closest-boundary-point-certified.d.ts +15 -0
  26. package/node/closest-boundary-point/get-closest-boundary-point-certified.js +42 -0
  27. package/node/closest-boundary-point/get-closest-boundary-point-certified.js.map +1 -0
  28. package/node/closest-boundary-point/get-p-from-box.d.ts +3 -0
  29. package/node/closest-boundary-point/get-p-from-box.js +11 -0
  30. package/node/closest-boundary-point/get-p-from-box.js.map +1 -0
  31. package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.d.ts +12 -0
  32. package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.js +93 -0
  33. package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.js.map +1 -0
  34. package/node/closest-boundary-point/root-interval-to-distance-squared-interval.d.ts +13 -0
  35. package/node/closest-boundary-point/root-interval-to-distance-squared-interval.js +58 -0
  36. package/node/closest-boundary-point/root-interval-to-distance-squared-interval.js.map +1 -0
  37. package/node/{contact-point.d.ts → contact-point/contact-point.d.ts} +3 -3
  38. package/node/{contact-point.js → contact-point/contact-point.js} +1 -5
  39. package/node/contact-point/contact-point.js.map +1 -0
  40. package/node/{compare-curvatures-at-interface.js → corner/compare-curvatures-at-interface.js} +2 -2
  41. package/node/corner/compare-curvatures-at-interface.js.map +1 -0
  42. package/node/{mat → corner}/corner.d.ts +1 -1
  43. package/node/{mat → corner}/corner.js.map +1 -1
  44. package/node/corner/get-corner.d.ts +15 -0
  45. package/node/{curve.js → corner/get-corner.js} +6 -17
  46. package/node/corner/get-corner.js.map +1 -0
  47. package/node/{get-interface-ccw.js → corner/get-interface-ccw.js} +18 -33
  48. package/node/corner/get-interface-ccw.js.map +1 -0
  49. package/node/cp-node/clone.d.ts +1 -1
  50. package/node/cp-node/clone.js +6 -4
  51. package/node/cp-node/clone.js.map +1 -1
  52. package/node/cp-node/cp-node.d.ts +196 -0
  53. package/node/cp-node/cp-node.js +249 -0
  54. package/node/cp-node/cp-node.js.map +1 -0
  55. package/node/cp-node/create-cp-node.d.ts +4 -0
  56. package/node/cp-node/create-cp-node.js +8 -0
  57. package/node/cp-node/create-cp-node.js.map +1 -0
  58. package/node/cp-node/enhance-cp-node.d.ts +24 -0
  59. package/node/cp-node/enhance-cp-node.js +20 -0
  60. package/node/cp-node/enhance-cp-node.js.map +1 -0
  61. package/node/{get-boundary-bezier-parts-to-next.js → cp-node/get-boundary-bezier-parts-to-next.js} +1 -1
  62. package/node/cp-node/get-boundary-bezier-parts-to-next.js.map +1 -0
  63. package/node/{get-boundary-beziers-to-next.d.ts → cp-node/get-boundary-beziers-to-next.d.ts} +1 -1
  64. package/node/{get-boundary-beziers-to-next.js → cp-node/get-boundary-beziers-to-next.js} +1 -1
  65. package/node/cp-node/get-boundary-beziers-to-next.js.map +1 -0
  66. package/node/cp-node/get-cp-node-ordering.d.ts +8 -0
  67. package/node/cp-node/get-cp-node-ordering.js +12 -0
  68. package/node/cp-node/get-cp-node-ordering.js.map +1 -0
  69. package/node/{get-curve-to-next.js → cp-node/get-curve-to-next.js} +1 -1
  70. package/node/cp-node/get-curve-to-next.js.map +1 -0
  71. package/node/cp-node/remove.d.ts +1 -1
  72. package/node/cp-node/traverse-cp.d.ts +12 -0
  73. package/node/cp-node/traverse-cp.js +26 -0
  74. package/node/cp-node/traverse-cp.js.map +1 -0
  75. package/node/{traverse-edges.js → cp-node/traverse-edges.js} +4 -3
  76. package/node/cp-node/traverse-edges.js.map +1 -0
  77. package/node/{traverse-vertices.js → cp-node/traverse-vertices.js} +4 -3
  78. package/node/cp-node/traverse-vertices.js.map +1 -0
  79. package/node/{curve.d.ts → curve/curve.d.ts} +4 -17
  80. package/node/curve/curve.js +14 -0
  81. package/node/curve/curve.js.map +1 -0
  82. package/node/debug/cp-node-for-debugging.d.ts +2 -2
  83. package/node/debug/debug-elem-types.d.ts +8 -8
  84. package/node/debug/debug.d.ts +6 -6
  85. package/node/debug/debug.js +2 -2
  86. package/node/debug/debug.js.map +1 -1
  87. package/node/debug/functions/draw-elem/bounding-hull.d.ts +2 -2
  88. package/node/debug/functions/draw-elem/bounding-hull.js +3 -3
  89. package/node/debug/functions/draw-elem/bounding-hull.js.map +1 -1
  90. package/node/debug/functions/draw-elem/branch.d.ts +2 -2
  91. package/node/debug/functions/draw-elem/branch.js +4 -3
  92. package/node/debug/functions/draw-elem/branch.js.map +1 -1
  93. package/node/debug/functions/draw-elem/culls.d.ts +2 -2
  94. package/node/debug/functions/draw-elem/culls.js +2 -2
  95. package/node/debug/functions/draw-elem/culls.js.map +1 -1
  96. package/node/debug/functions/draw-elem/draw-circle-percent.d.ts +1 -1
  97. package/node/debug/functions/draw-elem/draw-circle-percent.js +1 -1
  98. package/node/debug/functions/draw-elem/draw-circle-percent.js.map +1 -1
  99. package/node/debug/functions/draw-elem/draw-elem.d.ts +3 -3
  100. package/node/debug/functions/draw-elem/draw-elem.js +3 -3
  101. package/node/debug/functions/draw-elem/draw-elem.js.map +1 -1
  102. package/node/debug/functions/draw-elem/dull-corner.d.ts +3 -3
  103. package/node/debug/functions/draw-elem/dull-corner.js +3 -4
  104. package/node/debug/functions/draw-elem/dull-corner.js.map +1 -1
  105. package/node/debug/functions/draw-elem/leaves.d.ts +2 -2
  106. package/node/debug/functions/draw-elem/leaves.js +1 -1
  107. package/node/debug/functions/draw-elem/leaves.js.map +1 -1
  108. package/node/debug/functions/draw-elem/loop.d.ts +2 -2
  109. package/node/debug/functions/draw-elem/loop.js +1 -2
  110. package/node/debug/functions/draw-elem/loop.js.map +1 -1
  111. package/node/debug/functions/draw-elem/loops.d.ts +1 -1
  112. package/node/debug/functions/draw-elem/loops.js +0 -1
  113. package/node/debug/functions/draw-elem/loops.js.map +1 -1
  114. package/node/debug/functions/draw-elem/loose-bounding-box.d.ts +2 -2
  115. package/node/debug/functions/draw-elem/loose-bounding-box.js +3 -3
  116. package/node/debug/functions/draw-elem/loose-bounding-box.js.map +1 -1
  117. package/node/debug/functions/draw-elem/mat.d.ts +3 -3
  118. package/node/debug/functions/draw-elem/mat.js +9 -7
  119. package/node/debug/functions/draw-elem/mat.js.map +1 -1
  120. package/node/debug/functions/draw-elem/max-vertex.d.ts +2 -2
  121. package/node/debug/functions/draw-elem/max-vertex.js +1 -1
  122. package/node/debug/functions/draw-elem/max-vertex.js.map +1 -1
  123. package/node/debug/functions/draw-elem/min-y.d.ts +3 -3
  124. package/node/debug/functions/draw-elem/min-y.js +2 -6
  125. package/node/debug/functions/draw-elem/min-y.js.map +1 -1
  126. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.d.ts +2 -2
  127. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js +2 -2
  128. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js.map +1 -1
  129. package/node/debug/functions/draw-elem/one-prong.d.ts +2 -2
  130. package/node/debug/functions/draw-elem/one-prong.js +6 -11
  131. package/node/debug/functions/draw-elem/one-prong.js.map +1 -1
  132. package/node/debug/functions/draw-elem/sharp-corner.d.ts +3 -3
  133. package/node/debug/functions/draw-elem/sharp-corner.js +3 -4
  134. package/node/debug/functions/draw-elem/sharp-corner.js.map +1 -1
  135. package/node/debug/functions/draw-elem/three-prong.d.ts +2 -2
  136. package/node/debug/functions/draw-elem/three-prong.js +8 -10
  137. package/node/debug/functions/draw-elem/three-prong.js.map +1 -1
  138. package/node/debug/functions/draw-elem/tight-bounding-box.d.ts +2 -2
  139. package/node/debug/functions/draw-elem/tight-bounding-box.js +3 -3
  140. package/node/debug/functions/draw-elem/tight-bounding-box.js.map +1 -1
  141. package/node/debug/functions/draw-elem/two-prong.d.ts +2 -2
  142. package/node/debug/functions/draw-elem/two-prong.js +7 -8
  143. package/node/debug/functions/draw-elem/two-prong.js.map +1 -1
  144. package/node/debug/functions/draw-elem/vertex.d.ts +4 -3
  145. package/node/debug/functions/draw-elem/vertex.js +11 -9
  146. package/node/debug/functions/draw-elem/vertex.js.map +1 -1
  147. package/node/debug/functions/general.d.ts +8 -8
  148. package/node/debug/functions/general.js +8 -8
  149. package/node/debug/functions/general.js.map +1 -1
  150. package/node/debug/functions/three-prong.d.ts +2 -2
  151. package/node/debug/functions/three-prong.js +10 -13
  152. package/node/debug/functions/three-prong.js.map +1 -1
  153. package/node/debug/functions/two-prong.d.ts +16 -5
  154. package/node/debug/functions/two-prong.js +56 -58
  155. package/node/debug/functions/two-prong.js.map +1 -1
  156. package/node/debug/three-prong-for-debugging.d.ts +6 -6
  157. package/node/debug/three-prong-for-debugging.js +1 -1
  158. package/node/debug/three-prong-for-debugging.js.map +1 -1
  159. package/node/debug/two-prong-for-debugging.d.ts +7 -7
  160. package/node/error-analysis/gamma.d.ts +26 -0
  161. package/node/error-analysis/gamma.js +35 -0
  162. package/node/error-analysis/gamma.js.map +1 -0
  163. package/node/find-2-prong/add-1-prong.d.ts +12 -0
  164. package/node/{mat/find-mat → find-2-prong}/add-1-prong.js +11 -11
  165. package/node/find-2-prong/add-1-prong.js.map +1 -0
  166. package/node/{mat/find-mat → find-2-prong}/add-2-prong.d.ts +6 -9
  167. package/node/{mat/find-mat → find-2-prong}/add-2-prong.js +26 -74
  168. package/node/find-2-prong/add-2-prong.js.map +1 -0
  169. package/node/find-2-prong/add-debug-info.d.ts +8 -0
  170. package/node/{mat/find-mat/find-2-prong → find-2-prong}/add-debug-info.js +5 -4
  171. package/node/find-2-prong/add-debug-info.js.map +1 -0
  172. package/node/find-2-prong/cull-bezier-pieces.d.ts +11 -0
  173. package/node/find-2-prong/cull-bezier-pieces.js +28 -0
  174. package/node/find-2-prong/cull-bezier-pieces.js.map +1 -0
  175. package/node/{mat/find-mat/find-2-prong → find-2-prong}/find-2-prong.d.ts +9 -13
  176. package/node/find-2-prong/find-2-prong.js +144 -0
  177. package/node/find-2-prong/find-2-prong.js.map +1 -0
  178. package/node/find-2-prong/find-and-add-2-prongs-on-all-paths.d.ts +15 -0
  179. package/node/{mat/find-mat → find-2-prong}/find-and-add-2-prongs-on-all-paths.js +5 -4
  180. package/node/find-2-prong/find-and-add-2-prongs-on-all-paths.js.map +1 -0
  181. package/node/{mat/find-mat → find-2-prong}/find-and-add-2-prongs.d.ts +5 -5
  182. package/node/find-2-prong/find-and-add-2-prongs.js +60 -0
  183. package/node/find-2-prong/find-and-add-2-prongs.js.map +1 -0
  184. package/node/{mat/find-mat → find-2-prong}/find-and-add-hole-closing-2-prongs.d.ts +3 -3
  185. package/node/{mat/find-mat → find-2-prong}/find-and-add-hole-closing-2-prongs.js +5 -5
  186. package/node/find-2-prong/find-and-add-hole-closing-2-prongs.js.map +1 -0
  187. package/node/find-2-prong/find-equidistant-point-on-line-dd.d.ts +10 -0
  188. package/node/find-2-prong/find-equidistant-point-on-line-dd.js +56 -0
  189. package/node/find-2-prong/find-equidistant-point-on-line-dd.js.map +1 -0
  190. package/node/find-2-prong/get-initial-bezier-pieces.d.ts +15 -0
  191. package/node/find-2-prong/get-initial-bezier-pieces.js +40 -0
  192. package/node/find-2-prong/get-initial-bezier-pieces.js.map +1 -0
  193. package/node/find-2-prong/reduce-radius.d.ts +8 -0
  194. package/node/find-2-prong/reduce-radius.js +72 -0
  195. package/node/find-2-prong/reduce-radius.js.map +1 -0
  196. package/node/find-2-prong/squared-distance-between-dd.d.ts +2 -0
  197. package/node/find-2-prong/squared-distance-between-dd.js +17 -0
  198. package/node/find-2-prong/squared-distance-between-dd.js.map +1 -0
  199. package/node/find-2-prong/x-for-debugging.d.ts +9 -0
  200. package/node/find-2-prong/x-for-debugging.js.map +1 -0
  201. package/node/{mat/find-mat → find-3-prong.ts}/add-3-prong.d.ts +12 -7
  202. package/node/find-3-prong.ts/add-3-prong.js +82 -0
  203. package/node/find-3-prong.ts/add-3-prong.js.map +1 -0
  204. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/calc-better-x.d.ts +4 -4
  205. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/calc-better-x.js +1 -1
  206. package/node/find-3-prong.ts/calc-better-x.js.map +1 -0
  207. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/calc-initial-3-prong-center.d.ts +3 -3
  208. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/calc-initial-3-prong-center.js +5 -7
  209. package/node/find-3-prong.ts/calc-initial-3-prong-center.js.map +1 -0
  210. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/find-3-prong-for-delta3s.d.ts +6 -6
  211. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/find-3-prong-for-delta3s.js +11 -12
  212. package/node/find-3-prong.ts/find-3-prong-for-delta3s.js.map +1 -0
  213. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/find-3-prong.d.ts +5 -5
  214. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/find-3-prong.js +52 -39
  215. package/node/find-3-prong.ts/find-3-prong.js.map +1 -0
  216. package/node/find-3-prong.ts/find-and-add-3-prongs.d.ts +5 -0
  217. package/node/find-3-prong.ts/find-and-add-3-prongs.js +74 -0
  218. package/node/find-3-prong.ts/find-and-add-3-prongs.js.map +1 -0
  219. package/node/{mat/find-mat/find-and-add-3-prongs.d.ts → find-3-prong.ts/find-and-add-all-3-prongs.d.ts} +3 -3
  220. package/node/find-3-prong.ts/find-and-add-all-3-prongs.js +66 -0
  221. package/node/find-3-prong.ts/find-and-add-all-3-prongs.js.map +1 -0
  222. package/node/{mat/find-mat/find-3-prong → find-3-prong.ts}/get-closest-points.d.ts +3 -3
  223. package/node/find-3-prong.ts/get-closest-points.js +14 -0
  224. package/node/find-3-prong.ts/get-closest-points.js.map +1 -0
  225. package/node/{mat/find-mat → find-mat}/add-debug-info.d.ts +4 -4
  226. package/node/{mat/find-mat → find-mat}/add-debug-info.js +6 -6
  227. package/node/find-mat/add-debug-info.js.map +1 -0
  228. package/node/{mat/find-mat → find-mat}/create-initial-cp-graph.d.ts +5 -5
  229. package/node/{mat/find-mat → find-mat}/create-initial-cp-graph.js +5 -6
  230. package/node/find-mat/create-initial-cp-graph.js.map +1 -0
  231. package/node/find-mat/find-mat.d.ts +10 -0
  232. package/node/find-mat/find-mat.js +57 -0
  233. package/node/find-mat/find-mat.js.map +1 -0
  234. package/node/{find-mats.d.ts → find-mat/find-mats.d.ts} +1 -1
  235. package/node/find-mat/find-mats.js +58 -0
  236. package/node/find-mat/find-mats.js.map +1 -0
  237. package/node/find-mat/fix-ordering.d.ts +8 -0
  238. package/node/find-mat/fix-ordering.js +59 -0
  239. package/node/find-mat/fix-ordering.js.map +1 -0
  240. package/node/find-mat/get-dull-corners.d.ts +5 -0
  241. package/node/find-mat/get-dull-corners.js +22 -0
  242. package/node/find-mat/get-dull-corners.js.map +1 -0
  243. package/node/find-mat/get-for-1-prongs-on-loop.d.ts +11 -0
  244. package/node/find-mat/get-for-1-prongs-on-loop.js +28 -0
  245. package/node/find-mat/get-for-1-prongs-on-loop.js.map +1 -0
  246. package/node/find-mat/get-for-2-prongs-on-loop.d.ts +11 -0
  247. package/node/find-mat/get-for-2-prongs-on-loop.js +30 -0
  248. package/node/find-mat/get-for-2-prongs-on-loop.js.map +1 -0
  249. package/node/find-mat/get-sharp-corners.d.ts +5 -0
  250. package/node/find-mat/get-sharp-corners.js +21 -0
  251. package/node/find-mat/get-sharp-corners.js.map +1 -0
  252. package/node/find-mat/get-size-params.d.ts +7 -0
  253. package/node/find-mat/get-size-params.js +33 -0
  254. package/node/find-mat/get-size-params.js.map +1 -0
  255. package/node/geometry/circle.js.map +1 -0
  256. package/node/geometry/get-bounding-box-.js.map +1 -0
  257. package/node/{mat/geometry → geometry}/get-closest-square-distance-to-rect.d.ts +1 -1
  258. package/node/{mat/geometry → geometry}/get-closest-square-distance-to-rect.js +1 -1
  259. package/node/geometry/get-closest-square-distance-to-rect.js.map +1 -0
  260. package/node/{mat/geometry → geometry}/get-closest-squared-distance-to-rotated-rect.d.ts +1 -1
  261. package/node/{mat/geometry → geometry}/get-closest-squared-distance-to-rotated-rect.js +1 -1
  262. package/node/geometry/get-closest-squared-distance-to-rotated-rect.js.map +1 -0
  263. package/node/get-curve/get-curve-between.d.ts +1 -1
  264. package/node/get-curve/get-curve-between.js +2 -2
  265. package/node/get-curve/get-curve-between.js.map +1 -1
  266. package/node/get-curve/get-edge-direction.d.ts +2 -2
  267. package/node/get-curve/get-edge-direction.js +2 -4
  268. package/node/get-curve/get-edge-direction.js.map +1 -1
  269. package/node/index.d.ts +24 -20
  270. package/node/index.js +21 -16
  271. package/node/index.js.map +1 -1
  272. package/node/loop/get-max-coordinate.d.ts +1 -1
  273. package/node/loop/get-max-coordinate.js +1 -1
  274. package/node/mat/add-to-cp-graph.d.ts +8 -7
  275. package/node/mat/add-to-cp-graph.js +6 -4
  276. package/node/mat/add-to-cp-graph.js.map +1 -1
  277. package/node/mat/bezier-piece.d.ts +2 -2
  278. package/node/mat/create-new-cp-tree.d.ts +3 -3
  279. package/node/mat/create-new-cp-tree.js +5 -7
  280. package/node/mat/create-new-cp-tree.js.map +1 -1
  281. package/node/mat/elem-type-two-prong.d.ts +1 -1
  282. package/node/mat/get-boundary-piece-beziers.d.ts +2 -2
  283. package/node/mat/get-boundary-piece-beziers.js +4 -4
  284. package/node/mat/get-boundary-piece-beziers.js.map +1 -1
  285. package/node/{get-branches.d.ts → mat/get-branches.d.ts} +1 -1
  286. package/node/{get-branches.js → mat/get-branches.js} +7 -6
  287. package/node/mat/get-branches.js.map +1 -0
  288. package/node/mat/get-largest-vertex.d.ts +2 -2
  289. package/node/mat/get-largest-vertex.js +1 -1
  290. package/node/mat/get-largest-vertex.js.map +1 -1
  291. package/node/mat/get-neighboring-cps.d.ts +6 -4
  292. package/node/mat/get-neighboring-cps.js +5 -3
  293. package/node/mat/get-neighboring-cps.js.map +1 -1
  294. package/node/mat/get-two-prong-type.d.ts +1 -1
  295. package/node/mat/get-two-prong-type.js +1 -1
  296. package/node/mat/get-two-prong-type.js.map +1 -1
  297. package/node/mat/is-another-cp-closeby.d.ts +9 -8
  298. package/node/mat/is-another-cp-closeby.js +21 -29
  299. package/node/mat/is-another-cp-closeby.js.map +1 -1
  300. package/node/{mat.d.ts → mat/mat.d.ts} +2 -2
  301. package/node/mat/mat.js.map +1 -0
  302. package/node/mat/simplify-mat-map-only.d.ts +1 -1
  303. package/node/mat/simplify-mat-map-only.js +4 -3
  304. package/node/mat/simplify-mat-map-only.js.map +1 -1
  305. package/node/{simplify-mat.d.ts → mat/simplify-mat.d.ts} +3 -5
  306. package/node/{simplify-mat.js → mat/simplify-mat.js} +11 -13
  307. package/node/mat/simplify-mat.js.map +1 -0
  308. package/node/mat/trim-mat.d.ts +1 -1
  309. package/node/mat/trim-mat.js +1 -1
  310. package/node/mat/trim-mat.js.map +1 -1
  311. package/node/point-on-shape/calc-pos-order.d.ts +13 -0
  312. package/node/point-on-shape/calc-pos-order.js +27 -0
  313. package/node/point-on-shape/calc-pos-order.js.map +1 -0
  314. package/node/point-on-shape/compare-poss.d.ts +10 -0
  315. package/node/point-on-shape/compare-poss.js +18 -0
  316. package/node/point-on-shape/compare-poss.js.map +1 -0
  317. package/node/point-on-shape/create-pos.d.ts +4 -0
  318. package/node/point-on-shape/create-pos.js +12 -0
  319. package/node/point-on-shape/create-pos.js.map +1 -0
  320. package/node/point-on-shape/get-osculating-circle.d.ts +10 -0
  321. package/node/point-on-shape/get-osculating-circle.js +25 -0
  322. package/node/point-on-shape/get-osculating-circle.js.map +1 -0
  323. package/node/point-on-shape/get-pos-corner.d.ts +7 -0
  324. package/node/point-on-shape/get-pos-corner.js +9 -0
  325. package/node/point-on-shape/get-pos-corner.js.map +1 -0
  326. package/node/point-on-shape/is-pos-corner.d.ts +6 -0
  327. package/node/point-on-shape/is-pos-corner.js +8 -0
  328. package/node/point-on-shape/is-pos-corner.js.map +1 -0
  329. package/node/point-on-shape/is-pos-dull-corner.d.ts +6 -0
  330. package/node/point-on-shape/is-pos-dull-corner.js +14 -0
  331. package/node/point-on-shape/is-pos-dull-corner.js.map +1 -0
  332. package/node/point-on-shape/is-pos-quite-sharp-corner.d.ts +6 -0
  333. package/node/point-on-shape/is-pos-quite-sharp-corner.js +14 -0
  334. package/node/point-on-shape/is-pos-quite-sharp-corner.js.map +1 -0
  335. package/node/point-on-shape/is-pos-sharp-corner.d.ts +6 -0
  336. package/node/point-on-shape/is-pos-sharp-corner.js +14 -0
  337. package/node/point-on-shape/is-pos-sharp-corner.js.map +1 -0
  338. package/node/point-on-shape/point-on-shape.d.ts +11 -0
  339. package/node/point-on-shape/point-on-shape.js +2 -0
  340. package/node/point-on-shape/point-on-shape.js.map +1 -0
  341. package/node/point-on-shape/pos-to-human-string.d.ts +8 -0
  342. package/node/point-on-shape/pos-to-human-string.js +12 -0
  343. package/node/point-on-shape/pos-to-human-string.js.map +1 -0
  344. package/node/{mat/to-scale-axis → sat}/add-debug-info.d.ts +2 -2
  345. package/node/{mat/to-scale-axis → sat}/add-debug-info.js +1 -1
  346. package/node/sat/add-debug-info.js.map +1 -0
  347. package/node/{mat/to-scale-axis → sat}/cull-non-cycles.d.ts +3 -3
  348. package/node/{mat/to-scale-axis → sat}/cull-non-cycles.js +6 -6
  349. package/node/sat/cull-non-cycles.js.map +1 -0
  350. package/node/{mat/to-scale-axis → sat}/cull.d.ts +3 -3
  351. package/node/{mat/to-scale-axis → sat}/cull.js +4 -4
  352. package/node/sat/cull.js.map +1 -0
  353. package/node/{mat → sat}/get-leaves.d.ts +2 -2
  354. package/node/sat/get-leaves.js +14 -0
  355. package/node/sat/get-leaves.js.map +1 -0
  356. package/node/{to-scale-axis.d.ts → sat/to-scale-axis.d.ts} +2 -2
  357. package/node/{to-scale-axis.js → sat/to-scale-axis.js} +11 -10
  358. package/node/sat/to-scale-axis.js.map +1 -0
  359. package/node/svg/get-loop-bounds.d.ts +7 -7
  360. package/node/svg/get-loop-bounds.js +11 -7
  361. package/node/svg/get-loop-bounds.js.map +1 -1
  362. package/node/svg/get-min-y-pos.d.ts +4 -4
  363. package/node/svg/get-min-y-pos.js +1 -1
  364. package/node/svg/get-shape-bounds.d.ts +6 -5
  365. package/node/svg/get-shape-bounds.js +6 -2
  366. package/node/svg/get-shape-bounds.js.map +1 -1
  367. package/node/sweep-line/sweep-line.d.ts +1 -1
  368. package/node/sweep-line/sweep-line.js +4 -4
  369. package/node/sweep-line/sweep-line.js.map +1 -1
  370. package/package.json +10 -10
  371. package/src/closest-boundary-point/closest-points-on-curve-precise.ts +75 -0
  372. package/src/closest-boundary-point/closest-points-on-curve.ts +72 -0
  373. package/src/closest-boundary-point/cull-bezier-pieces.ts +35 -0
  374. package/src/{mat/closest-boundary-point → closest-boundary-point}/cull-by-loose-bounding-box.ts +4 -3
  375. package/src/{mat/closest-boundary-point → closest-boundary-point}/cull-by-tight-boundary-box.ts +2 -2
  376. package/src/closest-boundary-point/dd-deflate-with-running-error.ts +88 -0
  377. package/src/closest-boundary-point/foot-and-endpoint-info.ts +16 -0
  378. package/src/{mat/closest-boundary-point → closest-boundary-point}/get-best-distance-squared.ts +3 -4
  379. package/src/closest-boundary-point/get-close-boundary-points-certified.ts +69 -0
  380. package/src/closest-boundary-point/get-closest-boundary-point-certified.ts +70 -0
  381. package/src/closest-boundary-point/get-p-from-box.ts +14 -0
  382. package/src/closest-boundary-point/get-potential-closest-points-on-curve-certified.ts +122 -0
  383. package/src/closest-boundary-point/root-interval-to-distance-squared-interval.ts +75 -0
  384. package/src/{contact-point.ts → contact-point/contact-point.ts} +4 -6
  385. package/src/{compare-curvatures-at-interface.ts → corner/compare-curvatures-at-interface.ts} +2 -2
  386. package/src/{mat → corner}/corner.ts +1 -1
  387. package/src/{curve.ts → corner/get-corner.ts} +10 -49
  388. package/src/{get-interface-ccw.ts → corner/get-interface-ccw.ts} +28 -35
  389. package/src/cp-node/clone.ts +17 -6
  390. package/src/cp-node/cp-node.ts +422 -0
  391. package/src/cp-node/create-cp-node.ts +21 -0
  392. package/src/cp-node/enhance-cp-node.ts +27 -0
  393. package/src/{get-boundary-bezier-parts-to-next.ts → cp-node/get-boundary-bezier-parts-to-next.ts} +3 -3
  394. package/src/{get-boundary-beziers-to-next.ts → cp-node/get-boundary-beziers-to-next.ts} +2 -2
  395. package/src/cp-node/get-cp-node-ordering.ts +17 -0
  396. package/src/{get-curve-to-next.ts → cp-node/get-curve-to-next.ts} +1 -1
  397. package/src/cp-node/remove.ts +1 -1
  398. package/src/cp-node/traverse-cp.ts +35 -0
  399. package/src/{traverse-edges.ts → cp-node/traverse-edges.ts} +5 -5
  400. package/src/{traverse-vertices.ts → cp-node/traverse-vertices.ts} +5 -5
  401. package/src/curve/curve.ts +46 -0
  402. package/src/debug/cp-node-for-debugging.ts +2 -2
  403. package/src/debug/debug-elem-types.ts +8 -8
  404. package/src/debug/debug.ts +11 -11
  405. package/src/debug/functions/draw-elem/bounding-hull.ts +5 -3
  406. package/src/debug/functions/draw-elem/branch.ts +4 -4
  407. package/src/debug/functions/draw-elem/culls.ts +3 -3
  408. package/src/debug/functions/draw-elem/draw-circle-percent.ts +1 -1
  409. package/src/debug/functions/draw-elem/draw-elem.ts +10 -6
  410. package/src/debug/functions/draw-elem/dull-corner.ts +10 -6
  411. package/src/debug/functions/draw-elem/leaves.ts +2 -2
  412. package/src/debug/functions/draw-elem/loop.ts +4 -3
  413. package/src/debug/functions/draw-elem/loops.ts +1 -2
  414. package/src/debug/functions/draw-elem/loose-bounding-box.ts +8 -3
  415. package/src/debug/functions/draw-elem/mat.ts +16 -8
  416. package/src/debug/functions/draw-elem/max-vertex.ts +2 -2
  417. package/src/debug/functions/draw-elem/min-y.ts +4 -9
  418. package/src/debug/functions/draw-elem/one-prong-at-dull-corner.ts +10 -2
  419. package/src/debug/functions/draw-elem/one-prong.ts +12 -15
  420. package/src/debug/functions/draw-elem/sharp-corner.ts +10 -6
  421. package/src/debug/functions/draw-elem/three-prong.ts +13 -11
  422. package/src/debug/functions/draw-elem/tight-bounding-box.ts +9 -3
  423. package/src/debug/functions/draw-elem/two-prong.ts +12 -8
  424. package/src/debug/functions/draw-elem/vertex.ts +12 -11
  425. package/src/debug/functions/general.ts +10 -10
  426. package/src/debug/functions/three-prong.ts +16 -20
  427. package/src/debug/functions/two-prong.ts +89 -77
  428. package/src/debug/three-prong-for-debugging.ts +17 -16
  429. package/src/debug/two-prong-for-debugging.ts +7 -7
  430. package/src/error-analysis/gamma.ts +41 -0
  431. package/src/{mat/find-mat → find-2-prong}/add-1-prong.ts +19 -16
  432. package/src/{mat/find-mat → find-2-prong}/add-2-prong.ts +45 -91
  433. package/src/find-2-prong/add-debug-info.ts +49 -0
  434. package/src/{mat/find-mat/find-2-prong → find-2-prong}/cull-bezier-pieces.ts +9 -11
  435. package/src/find-2-prong/find-2-prong.ts +191 -0
  436. package/src/{mat/find-mat → find-2-prong}/find-and-add-2-prongs-on-all-paths.ts +12 -9
  437. package/src/find-2-prong/find-and-add-2-prongs.ts +88 -0
  438. package/src/{mat/find-mat → find-2-prong}/find-and-add-hole-closing-2-prongs.ts +7 -7
  439. package/src/find-2-prong/find-equidistant-point-on-line-dd.ts +77 -0
  440. package/src/{mat/find-mat/find-2-prong → find-2-prong}/find-equidistant-point-on-line.ts +1 -1
  441. package/src/find-2-prong/get-initial-bezier-pieces.ts +61 -0
  442. package/src/find-2-prong/pyth-trips.ts +146 -0
  443. package/src/find-2-prong/reduce-radius.ts +98 -0
  444. package/src/find-2-prong/squared-distance-between-dd.ts +25 -0
  445. package/src/find-2-prong/x-for-debugging.ts +13 -0
  446. package/src/find-3-prong.ts/add-3-prong.ts +110 -0
  447. package/src/{mat/find-mat/find-3-prong → find-3-prong.ts}/calc-better-x.ts +5 -5
  448. package/src/{mat/find-mat/find-3-prong → find-3-prong.ts}/calc-initial-3-prong-center.ts +11 -12
  449. package/src/{mat/find-mat/find-3-prong → find-3-prong.ts}/find-3-prong-for-delta3s.ts +28 -28
  450. package/src/find-3-prong.ts/find-3-prong.ts +148 -0
  451. package/src/find-3-prong.ts/find-and-add-3-prongs.ts +111 -0
  452. package/src/find-3-prong.ts/find-and-add-all-3-prongs.ts +109 -0
  453. package/src/find-3-prong.ts/get-closest-points.ts +24 -0
  454. package/src/{mat/find-mat → find-mat}/add-debug-info.ts +10 -10
  455. package/src/{mat/find-mat → find-mat}/create-initial-cp-graph.ts +11 -12
  456. package/src/find-mat/find-mat.ts +89 -0
  457. package/src/find-mat/find-mats.ts +83 -0
  458. package/src/find-mat/fix-ordering.ts +69 -0
  459. package/src/find-mat/get-dull-corners.ts +34 -0
  460. package/src/find-mat/get-for-1-prongs-on-loop.ts +40 -0
  461. package/src/find-mat/get-for-2-prongs-on-loop.ts +44 -0
  462. package/src/find-mat/get-sharp-corners.ts +33 -0
  463. package/src/find-mat/get-size-params.ts +34 -0
  464. package/src/{mat/find-mat → find-mat}/get-total-by.ts +4 -4
  465. package/src/{mat/geometry → geometry}/get-closest-square-distance-to-rect.ts +1 -1
  466. package/src/{mat/geometry → geometry}/get-closest-squared-distance-to-rotated-rect.ts +2 -2
  467. package/src/get-curve/get-curve-between.ts +7 -7
  468. package/src/get-curve/get-edge-direction.ts +11 -11
  469. package/src/index.ts +64 -21
  470. package/src/loop/get-max-coordinate.ts +1 -1
  471. package/src/mat/add-to-cp-graph.ts +15 -12
  472. package/src/mat/bezier-piece.ts +2 -2
  473. package/src/mat/cmp-cp-on-delta.ts +6 -3
  474. package/src/mat/create-new-cp-tree.ts +6 -9
  475. package/src/mat/elem-type-two-prong.ts +1 -1
  476. package/src/mat/get-boundary-piece-beziers.ts +7 -7
  477. package/src/{get-branches.ts → mat/get-branches.ts} +8 -8
  478. package/src/mat/get-edges-as-array.ts +2 -2
  479. package/src/mat/get-largest-three-prong.ts +3 -3
  480. package/src/mat/get-largest-vertex.ts +2 -2
  481. package/src/mat/get-neighboring-cps.ts +9 -6
  482. package/src/mat/get-two-prong-type.ts +1 -1
  483. package/src/mat/is-another-cp-closeby.ts +29 -44
  484. package/src/{mat.ts → mat/mat.ts} +2 -2
  485. package/src/mat/simplify-mat-map-only.ts +5 -5
  486. package/src/{simplify-mat.ts → mat/simplify-mat.ts} +12 -14
  487. package/src/mat/trim-mat.ts +3 -3
  488. package/src/point-on-shape/calc-pos-order.ts +35 -0
  489. package/src/point-on-shape/compare-poss.ts +26 -0
  490. package/src/point-on-shape/create-pos.ts +21 -0
  491. package/src/point-on-shape/get-osculating-circle.ts +39 -0
  492. package/src/point-on-shape/get-pos-corner.ts +16 -0
  493. package/src/point-on-shape/is-pos-corner.ts +12 -0
  494. package/src/point-on-shape/is-pos-dull-corner.ts +16 -0
  495. package/src/point-on-shape/is-pos-quite-dull-corner.ts +17 -0
  496. package/src/point-on-shape/is-pos-quite-sharp-corner.ts +17 -0
  497. package/src/point-on-shape/is-pos-sharp-corner.ts +17 -0
  498. package/src/point-on-shape/point-on-shape.ts +15 -0
  499. package/src/point-on-shape/pos-to-human-string.ts +16 -0
  500. package/src/{mat/to-scale-axis → sat}/add-debug-info.ts +3 -3
  501. package/src/{mat/to-scale-axis → sat}/cull-non-cycles.ts +7 -7
  502. package/src/{mat/to-scale-axis → sat}/cull.ts +6 -6
  503. package/src/{mat → sat}/get-leaves.ts +4 -4
  504. package/src/{mat/to-scale-axis → sat}/t-tree.ts +2 -2
  505. package/src/{to-scale-axis.ts → sat/to-scale-axis.ts} +16 -16
  506. package/src/{mat/to-scale-axis → sat}/traverse-spacial-tree.ts +5 -5
  507. package/src/svg/get-loop-bounds.ts +22 -17
  508. package/src/svg/get-min-y-pos.ts +3 -3
  509. package/src/svg/get-shape-bounds.ts +12 -9
  510. package/src/sweep-line/are-boxes-intersecting.ts +1 -1
  511. package/src/sweep-line/sweep-line.ts +7 -7
  512. package/tsconfig.json +3 -7
  513. package/wallaby.mjs +32 -0
  514. package/node/circle.js.map +0 -1
  515. package/node/compare-curvatures-at-interface.js.map +0 -1
  516. package/node/contact-point.js.map +0 -1
  517. package/node/cp-node.d.ts +0 -202
  518. package/node/cp-node.js +0 -321
  519. package/node/cp-node.js.map +0 -1
  520. package/node/curve.js.map +0 -1
  521. package/node/find-mats.js +0 -123
  522. package/node/find-mats.js.map +0 -1
  523. package/node/get-boundary-bezier-parts-to-next.js.map +0 -1
  524. package/node/get-boundary-beziers-to-next.js.map +0 -1
  525. package/node/get-bounding-box-.js.map +0 -1
  526. package/node/get-branches.js.map +0 -1
  527. package/node/get-curve-to-next.js.map +0 -1
  528. package/node/get-interface-ccw.js.map +0 -1
  529. package/node/loop.d.ts +0 -16
  530. package/node/loop.js +0 -35
  531. package/node/loop.js.map +0 -1
  532. package/node/mat/closest-boundary-point/closest-points-on-curve.d.ts +0 -14
  533. package/node/mat/closest-boundary-point/closest-points-on-curve.js +0 -73
  534. package/node/mat/closest-boundary-point/closest-points-on-curve.js.map +0 -1
  535. package/node/mat/closest-boundary-point/cull-bezier-pieces.d.ts +0 -9
  536. package/node/mat/closest-boundary-point/cull-bezier-pieces.js +0 -20
  537. package/node/mat/closest-boundary-point/cull-bezier-pieces.js.map +0 -1
  538. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js.map +0 -1
  539. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js.map +0 -1
  540. package/node/mat/closest-boundary-point/get-best-distance-squared.js.map +0 -1
  541. package/node/mat/closest-boundary-point/get-close-boundary-points.d.ts +0 -17
  542. package/node/mat/closest-boundary-point/get-close-boundary-points.js +0 -81
  543. package/node/mat/closest-boundary-point/get-close-boundary-points.js.map +0 -1
  544. package/node/mat/closest-boundary-point/get-closest-boundary-point.d.ts +0 -18
  545. package/node/mat/closest-boundary-point/get-closest-boundary-point.js +0 -41
  546. package/node/mat/closest-boundary-point/get-closest-boundary-point.js.map +0 -1
  547. package/node/mat/find-mat/add-1-prong.d.ts +0 -12
  548. package/node/mat/find-mat/add-1-prong.js.map +0 -1
  549. package/node/mat/find-mat/add-2-prong.js.map +0 -1
  550. package/node/mat/find-mat/add-3-prong.js +0 -55
  551. package/node/mat/find-mat/add-3-prong.js.map +0 -1
  552. package/node/mat/find-mat/add-debug-info.js.map +0 -1
  553. package/node/mat/find-mat/create-get-interesting-points-on-loop.d.ts +0 -11
  554. package/node/mat/find-mat/create-get-interesting-points-on-loop.js +0 -52
  555. package/node/mat/find-mat/create-get-interesting-points-on-loop.js.map +0 -1
  556. package/node/mat/find-mat/create-initial-cp-graph.js.map +0 -1
  557. package/node/mat/find-mat/find-2-prong/add-debug-info.d.ts +0 -8
  558. package/node/mat/find-mat/find-2-prong/add-debug-info.js.map +0 -1
  559. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.d.ts +0 -11
  560. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js +0 -30
  561. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js.map +0 -1
  562. package/node/mat/find-mat/find-2-prong/find-2-prong.js +0 -233
  563. package/node/mat/find-mat/find-2-prong/find-2-prong.js.map +0 -1
  564. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.d.ts +0 -9
  565. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js +0 -40
  566. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js.map +0 -1
  567. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.d.ts +0 -11
  568. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js +0 -38
  569. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js.map +0 -1
  570. package/node/mat/find-mat/find-2-prong/x-for-debugging.d.ts +0 -9
  571. package/node/mat/find-mat/find-2-prong/x-for-debugging.js.map +0 -1
  572. package/node/mat/find-mat/find-3-prong/calc-better-x.js.map +0 -1
  573. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js.map +0 -1
  574. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js.map +0 -1
  575. package/node/mat/find-mat/find-3-prong/find-3-prong.js.map +0 -1
  576. package/node/mat/find-mat/find-3-prong/get-closest-points.js +0 -17
  577. package/node/mat/find-mat/find-3-prong/get-closest-points.js.map +0 -1
  578. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.d.ts +0 -15
  579. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js.map +0 -1
  580. package/node/mat/find-mat/find-and-add-2-prongs.js +0 -74
  581. package/node/mat/find-mat/find-and-add-2-prongs.js.map +0 -1
  582. package/node/mat/find-mat/find-and-add-3-prongs.js +0 -147
  583. package/node/mat/find-mat/find-and-add-3-prongs.js.map +0 -1
  584. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js.map +0 -1
  585. package/node/mat/find-mat/get-potential-2-prongs.d.ts +0 -4
  586. package/node/mat/find-mat/get-potential-2-prongs.js +0 -17
  587. package/node/mat/find-mat/get-potential-2-prongs.js.map +0 -1
  588. package/node/mat/find-mat/get-sharp-corners.d.ts +0 -4
  589. package/node/mat/find-mat/get-sharp-corners.js +0 -18
  590. package/node/mat/find-mat/get-sharp-corners.js.map +0 -1
  591. package/node/mat/geometry/get-closest-square-distance-to-rect.js.map +0 -1
  592. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js.map +0 -1
  593. package/node/mat/get-contact-circles-at-interface.d.ts +0 -8
  594. package/node/mat/get-contact-circles-at-interface.js +0 -21
  595. package/node/mat/get-contact-circles-at-interface.js.map +0 -1
  596. package/node/mat/get-leaves.js +0 -13
  597. package/node/mat/get-leaves.js.map +0 -1
  598. package/node/mat/to-scale-axis/add-debug-info.js.map +0 -1
  599. package/node/mat/to-scale-axis/cull-non-cycles.js.map +0 -1
  600. package/node/mat/to-scale-axis/cull.js.map +0 -1
  601. package/node/mat.js.map +0 -1
  602. package/node/point-on-shape.d.ts +0 -73
  603. package/node/point-on-shape.js +0 -168
  604. package/node/point-on-shape.js.map +0 -1
  605. package/node/simplify-mat.js.map +0 -1
  606. package/node/to-scale-axis.js.map +0 -1
  607. package/node/traverse-edges.js.map +0 -1
  608. package/node/traverse-vertices.js.map +0 -1
  609. package/src/cp-node.ts +0 -388
  610. package/src/find-mats.ts +0 -171
  611. package/src/loop.ts +0 -56
  612. package/src/mat/closest-boundary-point/closest-point-on-curve-old.ts_ +0 -88
  613. package/src/mat/closest-boundary-point/closest-point-on-curve.ts_ +0 -95
  614. package/src/mat/closest-boundary-point/closest-points-on-curve.ts +0 -84
  615. package/src/mat/closest-boundary-point/cull-bezier-pieces.ts +0 -38
  616. package/src/mat/closest-boundary-point/get-close-boundary-points.ts +0 -107
  617. package/src/mat/closest-boundary-point/get-closest-boundary-point.ts +0 -64
  618. package/src/mat/find-mat/add-3-prong.ts +0 -75
  619. package/src/mat/find-mat/create-get-interesting-points-on-loop.ts +0 -73
  620. package/src/mat/find-mat/find-2-prong/add-debug-info.ts +0 -46
  621. package/src/mat/find-mat/find-2-prong/find-2-prong.ts +0 -316
  622. package/src/mat/find-mat/find-2-prong/get-initial-bezier-pieces.ts +0 -52
  623. package/src/mat/find-mat/find-2-prong/x-for-debugging.ts +0 -13
  624. package/src/mat/find-mat/find-3-prong/find-3-prong.ts +0 -106
  625. package/src/mat/find-mat/find-3-prong/get-closest-points.ts +0 -28
  626. package/src/mat/find-mat/find-and-add-2-prongs.ts +0 -108
  627. package/src/mat/find-mat/find-and-add-3-prongs.ts +0 -218
  628. package/src/mat/find-mat/get-potential-2-prongs.ts +0 -24
  629. package/src/mat/find-mat/get-sharp-corners.ts +0 -25
  630. package/src/mat/find-mat/get-total-abs-curvature.ts +0 -17
  631. package/src/mat/get-contact-circles-at-interface.ts +0 -26
  632. package/src/mat/to-scale-axis/add-to-tree.ts +0 -66
  633. package/src/mat/to-scale-axis/calc-groups.ts +0 -82
  634. package/src/mat/to-scale-axis/create-spacial-tree.ts +0 -41
  635. package/src/mat/to-scale-axis/get-engulfed-vertices.ts +0 -135
  636. package/src/point-on-shape.ts +0 -231
  637. package/src/svg/get-curvature-at-interface.ts +0 -55
  638. /package/node/{compare-curvatures-at-interface.d.ts → corner/compare-curvatures-at-interface.d.ts} +0 -0
  639. /package/node/{mat → corner}/corner.js +0 -0
  640. /package/node/{get-interface-ccw.d.ts → corner/get-interface-ccw.d.ts} +0 -0
  641. /package/node/{get-boundary-bezier-parts-to-next.d.ts → cp-node/get-boundary-bezier-parts-to-next.d.ts} +0 -0
  642. /package/node/{get-curve-to-next.d.ts → cp-node/get-curve-to-next.d.ts} +0 -0
  643. /package/node/{traverse-edges.d.ts → cp-node/traverse-edges.d.ts} +0 -0
  644. /package/node/{traverse-vertices.d.ts → cp-node/traverse-vertices.d.ts} +0 -0
  645. /package/node/{mat/find-mat/find-2-prong → find-2-prong}/x-for-debugging.js +0 -0
  646. /package/node/{circle.d.ts → geometry/circle.d.ts} +0 -0
  647. /package/node/{circle.js → geometry/circle.js} +0 -0
  648. /package/node/{get-bounding-box-.d.ts → geometry/get-bounding-box-.d.ts} +0 -0
  649. /package/node/{get-bounding-box-.js → geometry/get-bounding-box-.js} +0 -0
  650. /package/node/{mat.js → mat/mat.js} +0 -0
  651. /package/src/{circle.ts → geometry/circle.ts} +0 -0
  652. /package/src/{get-bounding-box-.ts → geometry/get-bounding-box-.ts} +0 -0
@@ -1,4 +1,4 @@
1
1
  import { TwoProngForDebugging } from '../../two-prong-for-debugging.js';
2
- /** @hidden */
3
- declare function twoProng(g: SVGGElement, twoProng: TwoProngForDebugging): SVGElement[];
2
+ /** @internal */
3
+ declare function twoProng(g: SVGGElement, twoProng: TwoProngForDebugging, classes?: string, delay?: number, scaleFactor?: number): SVGElement[];
4
4
  export { twoProng };
@@ -1,8 +1,7 @@
1
1
  import { drawFs } from 'flo-draw';
2
2
  import { getTwoProngType } from '../../../mat/get-two-prong-type.js';
3
- /** @hidden */
4
- function twoProng(g, twoProng) {
5
- const scaleFactor = 0.3;
3
+ /** @internal */
4
+ function twoProng(g, twoProng, classes, delay = 0, scaleFactor = 1) {
6
5
  let $failedDot = [];
7
6
  let $center = [];
8
7
  let $circle = [];
@@ -23,13 +22,13 @@ function twoProng(g, twoProng) {
23
22
  }
24
23
  }
25
24
  if (twoProng.failed) {
26
- $failedDot = drawFs.dot(g, twoProng.pos.p, 1 * scaleFactor, 'black');
25
+ $failedDot = drawFs.dot(g, twoProng.pos.p, 1 * scaleFactor, 'black', delay);
27
26
  }
28
27
  else if (!twoProng.failed) {
29
- $center = drawFs.dot(g, twoProng.circle.center, 1 * scaleFactor, 'yellow');
30
- $circle = drawFs.circle(g, twoProng.circle, color + 'thin' + thin + ' nofill');
31
- $cp1 = drawFs.dot(g, twoProng.pos.p, 0.035 * scaleFactor, color);
32
- $cp2 = drawFs.dot(g, twoProng.z, 0.07 * scaleFactor, color);
28
+ $center = drawFs.dot(g, twoProng.circle.center, 0.01 * scaleFactor, 'yellow', delay);
29
+ $circle = drawFs.circle(g, twoProng.circle, color + 'thin' + thin + ' nofill', delay);
30
+ $cp1 = drawFs.dot(g, twoProng.pos.p, 0.0175 * scaleFactor, color, delay);
31
+ $cp2 = drawFs.dot(g, twoProng.z, 0.035 * scaleFactor, color, delay);
33
32
  }
34
33
  return [...$failedDot, ...$center, ...$circle, ...$cp1, ...$cp2];
35
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"two-prong.js","sourceRoot":"","sources":["../../../../src/debug/functions/draw-elem/two-prong.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,cAAc;AACd,SAAS,QAAQ,CAAC,CAAc,EAAE,QAA8B;IAC/D,MAAM,WAAW,GAAG,GAAG,CAAC;IAExB,IAAI,UAAU,GAAkB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IAEnC,IAAI,KAAK,CAAC;IACV,IAAI,IAAI,CAAC;IAET,QAAQ,eAAe,CAAC,QAAQ,CAAC,EAAE;QAClC,KAAK,kBAAkB,CAAC,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC;YACf,IAAI,GAAG,GAAG,CAAC;YACX,MAAM;SACN;QACD,KAAK,sBAAsB,CAAC,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC;YAChB,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;SACN;KACD;IAGD,IAAI,QAAQ,CAAC,MAAM,EAAE;QACpB,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACnE;SAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC5B,OAAO,GAAG,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5E,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QAC/E,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAChE;IAED,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"two-prong.js","sourceRoot":"","sources":["../../../../src/debug/functions/draw-elem/two-prong.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,gBAAgB;AAChB,SAAS,QAAQ,CACf,CAAc,EACd,QAA8B,EACxB,OAAgB,EAChB,KAAK,GAAG,CAAC,EACT,WAAW,GAAG,CAAC;IAEtB,IAAI,UAAU,GAAkB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IAEnC,IAAI,KAAK,CAAC;IACV,IAAI,IAAI,CAAC;IAET,QAAQ,eAAe,CAAC,QAAQ,CAAC,EAAE;QAClC,KAAK,kBAAkB,CAAC,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC;YACf,IAAI,GAAG,GAAG,CAAC;YACX,MAAM;SACN;QACD,KAAK,sBAAsB,CAAC,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC;YAChB,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;SACN;KACD;IAGD,IAAI,QAAQ,CAAC,MAAM,EAAE;QACpB,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;KAC1E;SAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC5B,OAAO,GAAG,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtF,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;QACtF,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KACxE;IAED,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,4 +1,5 @@
1
- import { CpNode } from '../../../cp-node.js';
2
- /** @hidden */
3
- declare function vertex(g: SVGGElement, cpNode: CpNode, classes?: string, delay?: number, visible?: boolean): SVGElement[];
1
+ import { CpNode } from '../../../cp-node/cp-node.js';
2
+ /** @internal */
3
+ declare function vertex(g: SVGGElement, cpNode: CpNode, classes?: string, delay?: number, /*
4
+ visible = true*/ scaleFactor?: number): SVGElement[];
4
5
  export { vertex };
@@ -1,25 +1,27 @@
1
1
  import { drawFs } from 'flo-draw';
2
- /** @hidden */
3
- function vertex(g, cpNode, classes, delay, visible = true) {
4
- const visibleClass = visible ? '' : ' invisible';
2
+ import { getCpNodesOnCircle } from '../../../cp-node/cp-node.js';
3
+ /** @internal */
4
+ function vertex(g, cpNode, classes, delay, /*
5
+ visible = true*/ scaleFactor = 1) {
6
+ // const visibleClass = visible ? '' : ' invisible';
5
7
  const circle = cpNode.cp.circle;
6
8
  const THIN = 'thin20';
7
- const cps = cpNode.getCpNodesOnCircle();
9
+ const cps = getCpNodesOnCircle(cpNode);
8
10
  console.log(cps);
9
11
  let $svgs = [];
10
- const $circle = drawFs.circle(g, circle, 'red ' + THIN + ' nofill ' + visibleClass, delay);
11
- const $crossHair = drawFs.crossHair(g, circle.center, 'red ' + THIN + ' nofill ' + visibleClass, 3, delay);
12
+ const $circle = drawFs.circle(g, circle, 'red ' + THIN + ' nofill ' /* + visibleClass*/, delay);
13
+ const $crossHair = drawFs.crossHair(g, circle.center, 'red ' + THIN + ' nofill ' /* + visibleClass*/, 3, delay);
12
14
  $svgs = [...$circle, ...$crossHair];
13
15
  for (let i = 0; i < cps.length; i++) {
14
16
  const cp = cps[i];
15
17
  const edgeCircle = cp.next.cp.circle;
16
- const $circle = drawFs.circle(g, edgeCircle, 'pink ' + THIN + ' nofill ' + visibleClass, delay);
17
- const $crossHair = drawFs.crossHair(g, edgeCircle.center, 'pink ' + THIN + ' nofill ' + visibleClass, 3, delay);
18
+ const $circle = drawFs.circle(g, edgeCircle, 'pink ' + THIN + ' nofill ' /* + visibleClass*/, delay);
19
+ const $crossHair = drawFs.crossHair(g, edgeCircle.center, 'pink ' + THIN + ' nofill ' /* + visibleClass*/, 3, delay);
18
20
  $svgs.push(...$circle, ...$crossHair);
19
21
  const p1 = circle.center;
20
22
  const p2 = edgeCircle.center;
21
23
  const thin = i === 0 ? 'thin10' : (i === 1 ? 'thin20' : 'thin35');
22
- const $line = drawFs.line(g, [p1, p2], 'yellow ' + thin + ' nofill ' + visibleClass, delay);
24
+ const $line = drawFs.line(g, [p1, p2], 'yellow ' + thin + ' nofill ' /* + visibleClass*/, delay);
23
25
  $svgs.push(...$line);
24
26
  }
25
27
  return $svgs;
@@ -1 +1 @@
1
- {"version":3,"file":"vertex.js","sourceRoot":"","sources":["../../../../src/debug/functions/draw-elem/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,cAAc;AACd,SAAS,MAAM,CACb,CAAc,EACd,MAAc,EACd,OAAgB,EAChB,KAAc,EACd,OAAO,GAAG,IAAI;IAEf,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;IAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC;IAEtB,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhB,IAAI,KAAK,GAAiB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE3G,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC;QAChG,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAEhH,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;QAErC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,GAAI,UAAU,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC;QAE7F,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"vertex.js","sourceRoot":"","sources":["../../../../src/debug/functions/draw-elem/vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAU,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGzE,gBAAgB;AAChB,SAAS,MAAM,CACb,CAAc,EACd,MAAc,EACd,OAAgB,EAChB,KAAc,EAAC;gBACC,CAChB,WAAW,GAAG,CAAC;IAEhB,oDAAoD;IAEpD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;IAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC;IAEtB,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhB,IAAI,KAAK,GAAiB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA,mBAAmB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE/G,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU,CAAA,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU,CAAA,mBAAmB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAEpH,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;QAErC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,GAAI,UAAU,CAAA,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAEjG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
- import { CpNode } from '../../cp-node.js';
2
- /** @hidden */
1
+ import { CpNode } from '../../cp-node/cp-node.js';
2
+ /** @internal */
3
3
  export interface IGeneralDebugFunctions {
4
4
  nameObj: (obj: any, pre?: string) => void;
5
5
  δToString: (cpNodes: CpNode[]) => string[];
@@ -8,36 +8,36 @@ export interface IGeneralDebugFunctions {
8
8
  pointsToStr: (ps: number[][], decimalPlaces?: number) => string[];
9
9
  }
10
10
  /**
11
- * @hidden
11
+ * @internal
12
12
  * Name the given object - for debugging purposes only
13
13
  */
14
14
  declare function nameObj(o: any, pre?: string): void;
15
15
  /**
16
- * @hidden
16
+ * @internal
17
17
  * Transforms a boundary piece (δ) into a human readable string.
18
18
  * @param cpNodes A boundary piece given by two CpNodes.
19
19
  */
20
20
  declare function δToString(cpNodes: CpNode[]): string[];
21
21
  /**
22
- * @hidden
22
+ * @internal
23
23
  * Transforms an array of boundary pieces (δs) into a human readable string.
24
24
  * @param cpNodes An array of boundary pieces.
25
25
  */
26
26
  declare function δsToString(cpNodes: CpNode[][]): string[][];
27
27
  /**
28
- * @hidden
28
+ * @internal
29
29
  * Convert the given points into a human readable string.
30
30
  * @param ps
31
31
  */
32
32
  declare function pointsToStr(ps: number[][], decimalPlaces?: number): string[];
33
33
  /**
34
- * @hidden
34
+ * @internal
35
35
  * Converts the given point into a human readable string.
36
36
  * @param p The point
37
37
  * @param decimalPlaces number of decimal places
38
38
  */
39
39
  declare function pointToStr(p: number[], decimalPlaces?: number): string;
40
- /** @hidden */
40
+ /** @internal */
41
41
  declare const generalDebugFunctions: {
42
42
  δToString: typeof δToString;
43
43
  δsToString: typeof δsToString;
@@ -1,15 +1,15 @@
1
- import { posToHumanString } from '../../point-on-shape.js';
2
- /** @hidden */
1
+ import { posToHumanString } from '../../point-on-shape/pos-to-human-string.js';
2
+ /** @internal */
3
3
  let i = 0;
4
4
  /**
5
- * @hidden
5
+ * @internal
6
6
  * Name the given object - for debugging purposes only
7
7
  */
8
8
  function nameObj(o, pre = '') {
9
9
  o.name = '' + pre + i++;
10
10
  }
11
11
  /**
12
- * @hidden
12
+ * @internal
13
13
  * Transforms a boundary piece (δ) into a human readable string.
14
14
  * @param cpNodes A boundary piece given by two CpNodes.
15
15
  */
@@ -17,7 +17,7 @@ function δToString(cpNodes) {
17
17
  return cpNodes.map(cpNode => posToHumanString(cpNode.cp.pointOnShape));
18
18
  }
19
19
  /**
20
- * @hidden
20
+ * @internal
21
21
  * Transforms an array of boundary pieces (δs) into a human readable string.
22
22
  * @param cpNodes An array of boundary pieces.
23
23
  */
@@ -25,7 +25,7 @@ function δsToString(cpNodes) {
25
25
  return cpNodes.map(δToString);
26
26
  }
27
27
  /**
28
- * @hidden
28
+ * @internal
29
29
  * Convert the given points into a human readable string.
30
30
  * @param ps
31
31
  */
@@ -33,7 +33,7 @@ function pointsToStr(ps, decimalPlaces = 3) {
33
33
  return ps.map(p => pointToStr(p, decimalPlaces));
34
34
  }
35
35
  /**
36
- * @hidden
36
+ * @internal
37
37
  * Converts the given point into a human readable string.
38
38
  * @param p The point
39
39
  * @param decimalPlaces number of decimal places
@@ -41,7 +41,7 @@ function pointsToStr(ps, decimalPlaces = 3) {
41
41
  function pointToStr(p, decimalPlaces = 3) {
42
42
  return p[0].toFixed(decimalPlaces) + ', ' + p[1].toFixed(decimalPlaces);
43
43
  }
44
- /** @hidden */
44
+ /** @internal */
45
45
  const generalDebugFunctions /*: IGeneralDebugFunctions*/ = {
46
46
  δToString,
47
47
  δsToString,
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/functions/general.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAa3D,cAAc;AACd,IAAI,CAAC,GAAG,CAAC,CAAC;AACV;;;GAGG;AACH,SAAS,OAAO,CAAC,CAAM,EAAE,GAAG,GAAG,EAAE;IAChC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;AACzB,CAAC;AAGD;;;;GAIG;AACH,SAAS,SAAS,CAAC,OAAiB;IACnC,OAAO,OAAO,CAAC,GAAG,CACjB,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAClD,CAAC;AACH,CAAC;AAGD;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAmB;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAGD;;;;GAIG;AACH,SAAS,WAAW,CAAC,EAAc,EAAE,aAAa,GAAG,CAAC;IACrD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD;;;;;GAKG;AACH,SAAS,UAAU,CAAC,CAAW,EAAE,aAAa,GAAG,CAAC;IACjD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACzE,CAAC;AAGD,cAAc;AACd,MAAM,qBAAqB,CAAA,4BAA4B,GAAG;IACzD,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,OAAO;CACP,CAAA;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/functions/general.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAa/E,gBAAgB;AAChB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV;;;GAGG;AACH,SAAS,OAAO,CAAC,CAAM,EAAE,GAAG,GAAG,EAAE;IAChC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;AACzB,CAAC;AAGD;;;;GAIG;AACH,SAAS,SAAS,CAAC,OAAiB;IACnC,OAAO,OAAO,CAAC,GAAG,CACjB,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAClD,CAAC;AACH,CAAC;AAGD;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAmB;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAGD;;;;GAIG;AACH,SAAS,WAAW,CAAC,EAAc,EAAE,aAAa,GAAG,CAAC;IACrD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD;;;;;GAKG;AACH,SAAS,UAAU,CAAC,CAAW,EAAE,aAAa,GAAG,CAAC;IACjD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACzE,CAAC;AAGD,gBAAgB;AAChB,MAAM,qBAAqB,CAAA,4BAA4B,GAAG;IACzD,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,OAAO;CACP,CAAA;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- /** @hidden */
1
+ /** @internal */
2
2
  export interface IThreeProngDebugFunctions {
3
3
  drawSpokes: (g: SVGGElement, n: number) => void;
4
4
  traceConvergence: (g: SVGGElement, n: number, indx: number) => void;
@@ -6,6 +6,6 @@ export interface IThreeProngDebugFunctions {
6
6
  logδs: (n: number) => void;
7
7
  logNearest: (showSpokes?: boolean, showTrace?: boolean, showBoundaries?: boolean) => (g: SVGGElement, p: number[], showDelay?: number) => void;
8
8
  }
9
- /** @hidden */
9
+ /** @internal */
10
10
  declare const threeProngDebugFunctions: IThreeProngDebugFunctions;
11
11
  export { threeProngDebugFunctions };
@@ -1,24 +1,21 @@
1
1
  import { drawFs } from 'flo-draw';
2
2
  import { equal, getObjClosestTo } from 'flo-vector2d';
3
3
  /**
4
- * @hidden
4
+ * @internal
5
5
  * Draws 3 lines from the given 3-prong center to its 3 contact points.
6
6
  * @param n - The 3-prong's zero-based index.
7
7
  */
8
8
  function drawSpokes(g, n) {
9
9
  const threeProng = _debug_.generated.elems.threeProng[n];
10
- //const g = threeProng.generated.g;
11
10
  const cc = threeProng.circle.center;
12
11
  const poss = threeProng.poss;
13
- //_debug_.fs.draw.line(g, [poss[0].p, cc], 'thin5 red');
14
- //_debug_.fs.draw.line(g, [poss[1].p, cc], 'thin5 red');
15
- //_debug_.fs.draw.line(g, [poss[2].p, cc], 'thin5 red');
16
- drawFs.line(g, [poss[0].p, cc], 'thin5 red');
17
- drawFs.line(g, [poss[1].p, cc], 'thin5 red');
18
- drawFs.line(g, [poss[2].p, cc], 'thin5 red');
12
+ for (let i = 0; i < poss.length; i++) {
13
+ const pos = poss[i];
14
+ drawFs.line(g, [pos.p, cc], 'thin5 red');
15
+ }
19
16
  }
20
17
  /**
21
- * @hidden
18
+ * @internal
22
19
  * Shows the circle for each boundary iteration.
23
20
  * @param n_ - The 3-prong's zero-based index. If ommitted, all will be shown.
24
21
  * @param idx - The specific boundary iteration index to view. If ommitted, all
@@ -76,7 +73,7 @@ function traceConvergence(g, n_, idx) {
76
73
  }
77
74
  }
78
75
  /**
79
- * @hidden
76
+ * @internal
80
77
  * Shows the actual boundary for each iteration.
81
78
  * @param n The 3-prong's zero-based index.
82
79
  * @param idx The specific boundary iteration index to view. If ommitted will
@@ -124,7 +121,7 @@ function showBoundary(g, n, idx) {
124
121
  }
125
122
  }
126
123
  /**
127
- * @hidden
124
+ * @internal
128
125
  * @param n The 3-prong's zero-based index.
129
126
  */
130
127
  function logδs(n) {
@@ -132,7 +129,7 @@ function logδs(n) {
132
129
  console.log(threeProng.cpss);
133
130
  }
134
131
  /**
135
- * @hidden
132
+ * @internal
136
133
  * @param p
137
134
  */
138
135
  function logNearest(showSpokes = true, showTrace = true, showBoundaries = true) {
@@ -173,7 +170,7 @@ function logNearest(showSpokes = true, showTrace = true, showBoundaries = true)
173
170
  }
174
171
  };
175
172
  }
176
- /** @hidden */
173
+ /** @internal */
177
174
  const threeProngDebugFunctions = {
178
175
  drawSpokes,
179
176
  traceConvergence,
@@ -1 +1 @@
1
- {"version":3,"file":"three-prong.js","sourceRoot":"","sources":["../../../src/debug/functions/three-prong.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"three-prong.js","sourceRoot":"","sources":["../../../src/debug/functions/three-prong.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,24 @@
1
+ import { TwoProngForDebugging } from '../two-prong-for-debugging.js';
1
2
  import { ElemType_TwoProng } from '../../mat/elem-type-two-prong.js';
2
- /** @hidden */
3
+ /** @internal */
3
4
  interface ITwoProngDebugFunctions {
4
5
  logδ: (n: number, type?: ElemType_TwoProng) => void;
5
6
  log: (n: number, type?: ElemType_TwoProng) => void;
6
- drawNormal: (g: SVGGElement, n: number, showDelay?: number) => void;
7
+ drawNormal: typeof drawNormal;
7
8
  logδBasic: (n: number) => void;
8
- logNearest: (g: SVGGElement, p: number[], showDelay?: number) => void;
9
- traceConvergence: (g: SVGGElement, n: number, finalOnly?: boolean, showDelay?: number, range?: number[], type?: ElemType_TwoProng) => void;
9
+ logNearest: (showSpokes?: boolean, showTrace?: boolean, showBoundaries?: boolean) => (g: SVGGElement, p: number[], showDelay?: number, scale?: number) => void;
10
+ traceConvergence: typeof traceConvergence;
10
11
  }
11
- /** @hidden */
12
+ /**
13
+ * @internal
14
+ */
15
+ declare function drawNormal(g: SVGGElement, twoProng: TwoProngForDebugging, showDelay?: number): void;
16
+ /**
17
+ * @internal
18
+ * @param n - The 2-prong's zero-based index.
19
+ * @param range
20
+ */
21
+ declare function traceConvergence(g: SVGGElement, twoProng: TwoProngForDebugging, showDelay?: number, scale?: number): void;
22
+ /** @internal */
12
23
  declare const twoProngDebugFunctions: ITwoProngDebugFunctions;
13
24
  export { ITwoProngDebugFunctions, twoProngDebugFunctions };
@@ -1,111 +1,109 @@
1
1
  import { drawFs } from 'flo-draw';
2
2
  import { getObjClosestTo, distanceBetween, squaredDistanceBetween } from 'flo-vector2d';
3
3
  /**
4
- * @hidden
4
+ * @internal
5
5
  */
6
6
  function logδ(n, type = 'twoProng_regular') {
7
7
  const δ = _debug_.generated.elems[type][n].δ;
8
8
  console.log(δ);
9
9
  }
10
10
  /**
11
- * @hidden
11
+ * @internal
12
12
  */
13
13
  function log(n, type = 'twoProng_regular') {
14
14
  const twoProng = _debug_.generated.elems[type][n];
15
15
  console.log(twoProng);
16
16
  }
17
17
  /**
18
- * @hidden
18
+ * @internal
19
19
  */
20
- function drawNormal(g, n, showDelay = 1000, type = 'twoProng_regular') {
21
- const twoProngs = _debug_.generated.elems[type];
22
- // If not specified which, draw all
23
- if (n === undefined) {
24
- for (let i = 0; i < twoProngs.length; i++) {
25
- drawNormal(g, i);
26
- }
27
- }
28
- const twoProng = twoProngs[n];
29
- //let g = twoProng.generated.g;
30
- if (!twoProng) {
31
- return;
32
- }
20
+ function drawNormal(g, twoProng, showDelay = 1000) {
33
21
  drawFs.line(g, [twoProng.pos.p, twoProng.circle.center], 'thin10 blue', showDelay);
34
22
  }
35
23
  /**
36
- * @hidden
24
+ * @internal
37
25
  */
38
26
  function logδBasic(n, type = 'twoProng_regular') {
39
27
  const delta = _debug_.generated.elems[type][n].δ;
40
- function f(x) {
28
+ function logδBasic_(x) {
41
29
  const pos = x.cp.pointOnShape;
42
30
  return {
43
31
  bez: pos.curve.ps,
44
32
  t: pos.t
45
33
  };
46
34
  }
47
- console.log(f(delta[0]));
48
- console.log(f(delta[1]));
35
+ console.log(logδBasic_(delta[0]));
36
+ console.log(logδBasic_(delta[1]));
49
37
  }
50
38
  /**
51
- * @hidden
39
+ * @internal
40
+ * Draws 3 lines from the given 3-prong center to its 3 contact points.
41
+ * @param n - The 3-prong's zero-based index.
52
42
  */
53
- function logNearest(g, p, showDelay = 1000, type = 'twoProng_regular') {
54
- const closestPerLoops = [];
55
- const generated = _debug_.generated;
56
- const twoProng = getObjClosestTo(p, generated.elems[type], twoProng => twoProng.circle.center);
57
- closestPerLoops.push(twoProng);
58
- console.log(twoProng);
59
- let n;
60
- for (let i = 0; i < _debug_.generated.elems[type].length; i++) {
61
- const twoProng_ = _debug_.generated.elems[type][i];
62
- if (twoProng_ === twoProng) {
63
- n = i;
64
- break;
43
+ function drawSpokes(g, twoProng, showDelay = 1000) {
44
+ const cc = twoProng.circle.center;
45
+ const { pos, circle, cpNode, xs, z, δ } = twoProng;
46
+ drawFs.line(g, [pos.p, cc], 'thin5 red', showDelay);
47
+ drawFs.line(g, [z, cc], 'thin5 red', showDelay);
48
+ }
49
+ /**
50
+ * @internal
51
+ */
52
+ function logNearest(showSpokes, showTrace, showBoundaries) {
53
+ return (g, p, showDelay = 1000, scale = 1) => {
54
+ const closestPerLoops = [];
55
+ const generated = _debug_.generated;
56
+ const twoProng = getObjClosestTo(p,
57
+ // generated.elems[type],
58
+ generated.elems['twoProng_regular'], twoProng => twoProng.circle.center);
59
+ closestPerLoops.push(twoProng);
60
+ console.log(twoProng);
61
+ let n;
62
+ //for (let i=0; i<_debug_.generated.elems[type].length; i++) {
63
+ // const twoProng_ = _debug_.generated.elems[type][i];
64
+ for (let i = 0; i < _debug_.generated.elems['twoProng_regular'].length; i++) {
65
+ const twoProng_ = _debug_.generated.elems['twoProng_regular'][i];
66
+ if (twoProng_ === twoProng) {
67
+ n = i;
68
+ break;
69
+ }
65
70
  }
66
- }
67
- if (n !== undefined) {
68
- traceConvergence(g, n, true, showDelay);
69
- }
71
+ if (showSpokes) {
72
+ drawSpokes(g, twoProng, showDelay);
73
+ }
74
+ if (n !== undefined && showTrace) {
75
+ traceConvergence(g, twoProng, showDelay, scale);
76
+ }
77
+ };
70
78
  }
71
79
  /**
72
- * @hidden
80
+ * @internal
73
81
  * @param n - The 2-prong's zero-based index.
74
82
  * @param range
75
83
  */
76
- function traceConvergence(g, n, finalOnly, showDelay = 1000, range = undefined, type = 'twoProng_regular') {
77
- if (n === undefined) {
78
- return;
79
- }
80
- const twoProngInfo = _debug_.generated.elems[type][n];
81
- const xs = twoProngInfo.xs;
82
- //let g = twoProngInfo.generated.g;
83
- console.log(twoProngInfo);
84
- console.log(twoProngInfo.xs.map(x => ({
84
+ function traceConvergence(g, twoProng, showDelay = 1000, scale = 1) {
85
+ const xs = twoProng.xs;
86
+ console.log(twoProng);
87
+ console.log(twoProng.xs.map(x => ({
85
88
  x: x.x,
86
89
  y: x.y,
87
90
  z: x.z,
88
91
  d: x.z ? squaredDistanceBetween(x.y.p, x.z.p) : 0,
89
92
  t: x.t,
90
93
  })));
94
+ console.log(xs.length);
91
95
  for (let i = 0; i < xs.length; i++) {
92
- if (range && (i < range[0] || i >= range[1])) {
93
- continue;
94
- }
95
- if (finalOnly && i !== xs.length - 1) {
96
- continue;
97
- }
98
- const x = twoProngInfo.xs[i];
96
+ const x = twoProng.xs[i];
99
97
  const circle = { center: x.x, radius: distanceBetween(x.x, x.y.p) };
100
- drawFs.crossHair(g, x.x, 'red thin10 nofill', undefined, showDelay);
98
+ drawFs.crossHair(g, x.x, 'red thin10 nofill', 0.002 * scale, showDelay);
101
99
  drawFs.circle(g, circle, 'blue thin10 nofill', showDelay);
102
100
  if (x.z !== undefined) {
103
- drawFs.crossHair(g, x.z.p, 'yellow thin10 nofill', 2, showDelay);
101
+ drawFs.crossHair(g, x.z.p, 'yellow thin10 nofill', 0.001 * scale, showDelay);
104
102
  }
105
103
  }
106
- twoProngDebugFunctions.drawNormal(g, n, showDelay);
104
+ // twoProngDebugFunctions.drawNormal(g, twoProng, showDelay);
107
105
  }
108
- /** @hidden */
106
+ /** @internal */
109
107
  const twoProngDebugFunctions = {
110
108
  logδ,
111
109
  log,
@@ -1 +1 @@
1
- {"version":3,"file":"two-prong.js","sourceRoot":"","sources":["../../../src/debug/functions/two-prong.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"two-prong.js","sourceRoot":"","sources":["../../../src/debug/functions/two-prong.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { CpNode } from '../cp-node.js';
2
- import { IPointOnShape } from '../point-on-shape.js';
3
- import { Circle } from '../circle.js';
1
+ import { CpNode } from '../cp-node/cp-node.js';
2
+ import { PointOnShape } from '../point-on-shape/point-on-shape.js';
3
+ import { Circle } from '../geometry/circle.js';
4
4
  import { Generated } from './debug.js';
5
5
  /**
6
- * @hidden
6
+ * @internal
7
7
  * Used for debugging only. A three-prong is a maximally inscribed circle that
8
8
  * touches the shape boundary (tangentially) at 3 points.
9
9
  */
@@ -12,7 +12,7 @@ interface ThreeProngForDebugging {
12
12
  /** The best fit circle found for the 3-prong. */
13
13
  circle: Circle;
14
14
  /** The best fit 3 points found for the 3-prong. */
15
- poss: IPointOnShape[];
15
+ poss: PointOnShape[];
16
16
  /** The 3 boundary pieces on which the three prong points were found. */
17
17
  cp3ss: CpNode[][];
18
18
  /** The boundary pieces that were used to search the three prong on. */
@@ -21,7 +21,7 @@ interface ThreeProngForDebugging {
21
21
  /** An array of 3-prongs, each of which may be a best fit 3-prong. */
22
22
  candidateThreeProngs: {
23
23
  circle: Circle;
24
- ps: IPointOnShape[];
24
+ ps: PointOnShape[];
25
25
  }[];
26
26
  visitedCps: CpNode[];
27
27
  boundaries: number[][][][];
@@ -1,4 +1,4 @@
1
- import { posToHumanString } from '../point-on-shape.js';
1
+ import { posToHumanString } from '../point-on-shape/pos-to-human-string.js';
2
2
  function createEmptyThreeProngForDebugging() {
3
3
  return {
4
4
  generated: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"three-prong-for-debugging.js","sourceRoot":"","sources":["../../src/debug/three-prong-for-debugging.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,sBAAsB,CAAC;AAgCvE,SAAS,iCAAiC;IACtC,OAAO;QACH,SAAS,EAAI,SAAS;QACtB,MAAM,EAAO,SAAS;QACtB,IAAI,EAAS,SAAS;QACtB,KAAK,EAAQ,SAAS;QACtB,IAAI,EAAS,SAAS;QACtB,QAAQ,EAAK,SAAS;QACtB,oBAAoB,EAAG,SAAS;QAChC,UAAU,EAAG,SAAS;QACtB,UAAU,EAAG,SAAS;QACtB,MAAM,EAAO,SAAS;KACzB,CAAA;AACL,CAAC;AAED,SAAS,SAAS,CAAC,sBAA8C;IAC7D,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,gBAAgB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAE;QACxC,gBAAgB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAE,CAAC,CAC7C,CAAC;AACN,CAAC;AAGD,OAAO,EAA0B,iCAAiC,EAAE,CAAA"}
1
+ {"version":3,"file":"three-prong-for-debugging.js","sourceRoot":"","sources":["../../src/debug/three-prong-for-debugging.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAgC5E,SAAS,iCAAiC;IACtC,OAAO;QACH,SAAS,EAAI,SAAU;QACvB,MAAM,EAAO,SAAU;QACvB,IAAI,EAAS,SAAU;QACvB,KAAK,EAAQ,SAAU;QACvB,IAAI,EAAS,SAAU;QACvB,QAAQ,EAAK,SAAU;QACvB,oBAAoB,EAAG,SAAU;QACjC,UAAU,EAAG,SAAU;QACvB,UAAU,EAAG,SAAU;QACvB,MAAM,EAAO,SAAU;KAC1B,CAAA;AACL,CAAC;AAED,SAAS,SAAS,CAAC,sBAA8C;IAC7D,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,gBAAgB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAE;QACxC,gBAAgB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAE,CAAC,CAC7C,CAAC;AACN,CAAC;AAGD,OAAO,EAA0B,iCAAiC,EAAE,CAAA"}