flo-mat 2.0.0 → 2.0.2

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 (289) hide show
  1. package/.eslintrc.cjs +69 -0
  2. package/README.md +9 -27
  3. package/browser/index.js +29720 -7345
  4. package/browser/index.min.js +1 -2
  5. package/node/circle.js +3 -3
  6. package/node/circle.js.map +1 -1
  7. package/node/compare-curvatures-at-interface.js +36 -36
  8. package/node/compare-curvatures-at-interface.js.map +1 -1
  9. package/node/cp-node/clone.js +6 -6
  10. package/node/cp-node/clone.js.map +1 -1
  11. package/node/cp-node/remove.js +4 -4
  12. package/node/cp-node/remove.js.map +1 -1
  13. package/node/cp-node.js +18 -18
  14. package/node/cp-node.js.map +1 -1
  15. package/node/curve.d.ts +1 -1
  16. package/node/curve.js +19 -19
  17. package/node/curve.js.map +1 -1
  18. package/node/debug/debug.d.ts +1 -1
  19. package/node/debug/functions/draw-elem/bounding-hull.js +1 -1
  20. package/node/debug/functions/draw-elem/bounding-hull.js.map +1 -1
  21. package/node/debug/functions/draw-elem/branch.js +4 -4
  22. package/node/debug/functions/draw-elem/branch.js.map +1 -1
  23. package/node/debug/functions/draw-elem/culls.js +4 -4
  24. package/node/debug/functions/draw-elem/culls.js.map +1 -1
  25. package/node/debug/functions/draw-elem/draw-circle-percent.js +1 -1
  26. package/node/debug/functions/draw-elem/draw-circle-percent.js.map +1 -1
  27. package/node/debug/functions/draw-elem/draw-elem.d.ts +2 -2
  28. package/node/debug/functions/draw-elem/draw-elem.js +1 -1
  29. package/node/debug/functions/draw-elem/draw-elem.js.map +1 -1
  30. package/node/debug/functions/draw-elem/dull-corner.js +3 -3
  31. package/node/debug/functions/draw-elem/dull-corner.js.map +1 -1
  32. package/node/debug/functions/draw-elem/leaves.js +4 -4
  33. package/node/debug/functions/draw-elem/leaves.js.map +1 -1
  34. package/node/debug/functions/draw-elem/loose-bounding-box.js +2 -2
  35. package/node/debug/functions/draw-elem/loose-bounding-box.js.map +1 -1
  36. package/node/debug/functions/draw-elem/mat.js +4 -4
  37. package/node/debug/functions/draw-elem/mat.js.map +1 -1
  38. package/node/debug/functions/draw-elem/max-vertex.js +2 -2
  39. package/node/debug/functions/draw-elem/max-vertex.js.map +1 -1
  40. package/node/debug/functions/draw-elem/min-y.js +3 -3
  41. package/node/debug/functions/draw-elem/min-y.js.map +1 -1
  42. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js +4 -4
  43. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js.map +1 -1
  44. package/node/debug/functions/draw-elem/one-prong.js +4 -4
  45. package/node/debug/functions/draw-elem/one-prong.js.map +1 -1
  46. package/node/debug/functions/draw-elem/sharp-corner.js +2 -2
  47. package/node/debug/functions/draw-elem/sharp-corner.js.map +1 -1
  48. package/node/debug/functions/draw-elem/three-prong.js +7 -7
  49. package/node/debug/functions/draw-elem/three-prong.js.map +1 -1
  50. package/node/debug/functions/draw-elem/tight-bounding-box.js +1 -1
  51. package/node/debug/functions/draw-elem/tight-bounding-box.js.map +1 -1
  52. package/node/debug/functions/draw-elem/two-prong.js +1 -1
  53. package/node/debug/functions/draw-elem/two-prong.js.map +1 -1
  54. package/node/debug/functions/draw-elem/vertex.js +13 -13
  55. package/node/debug/functions/draw-elem/vertex.js.map +1 -1
  56. package/node/debug/functions/general.d.ts +1 -1
  57. package/node/debug/functions/general.js +1 -1
  58. package/node/debug/functions/general.js.map +1 -1
  59. package/node/debug/functions/three-prong.d.ts +1 -1
  60. package/node/debug/functions/three-prong.js +37 -37
  61. package/node/debug/functions/three-prong.js.map +1 -1
  62. package/node/debug/functions/two-prong.d.ts +1 -1
  63. package/node/debug/functions/two-prong.js +15 -15
  64. package/node/debug/functions/two-prong.js.map +1 -1
  65. package/node/find-mats.js +16 -19
  66. package/node/find-mats.js.map +1 -1
  67. package/node/get-boundary-bezier-parts-to-next.js +8 -8
  68. package/node/get-boundary-bezier-parts-to-next.js.map +1 -1
  69. package/node/get-boundary-beziers-to-next.js +8 -8
  70. package/node/get-boundary-beziers-to-next.js.map +1 -1
  71. package/node/get-branches.js +7 -7
  72. package/node/get-branches.js.map +1 -1
  73. package/node/get-curve/get-curve-between.js +21 -21
  74. package/node/get-curve/get-curve-between.js.map +1 -1
  75. package/node/get-curve/get-edge-direction.js +13 -13
  76. package/node/get-curve/get-edge-direction.js.map +1 -1
  77. package/node/get-interface-ccw.js +12 -12
  78. package/node/get-interface-ccw.js.map +1 -1
  79. package/node/loop/get-max-coordinate.js +9 -9
  80. package/node/loop/get-max-coordinate.js.map +1 -1
  81. package/node/loop.js +4 -4
  82. package/node/loop.js.map +1 -1
  83. package/node/mat/add-to-cp-graph.js +8 -8
  84. package/node/mat/add-to-cp-graph.js.map +1 -1
  85. package/node/mat/closest-boundary-point/closest-points-on-curve.js +5 -6
  86. package/node/mat/closest-boundary-point/closest-points-on-curve.js.map +1 -1
  87. package/node/mat/closest-boundary-point/cull-bezier-pieces.js +1 -1
  88. package/node/mat/closest-boundary-point/cull-bezier-pieces.js.map +1 -1
  89. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js +5 -5
  90. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js.map +1 -1
  91. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js +5 -5
  92. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js.map +1 -1
  93. package/node/mat/closest-boundary-point/get-best-distance-squared.js +5 -5
  94. package/node/mat/closest-boundary-point/get-best-distance-squared.js.map +1 -1
  95. package/node/mat/closest-boundary-point/get-close-boundary-points.js +15 -15
  96. package/node/mat/closest-boundary-point/get-close-boundary-points.js.map +1 -1
  97. package/node/mat/closest-boundary-point/get-closest-boundary-point.js +4 -4
  98. package/node/mat/closest-boundary-point/get-closest-boundary-point.js.map +1 -1
  99. package/node/mat/create-new-cp-tree.js +3 -3
  100. package/node/mat/create-new-cp-tree.js.map +1 -1
  101. package/node/mat/elem-type-two-prong.d.ts +1 -1
  102. package/node/mat/find-mat/add-1-prong.js +3 -3
  103. package/node/mat/find-mat/add-1-prong.js.map +1 -1
  104. package/node/mat/find-mat/add-2-prong.js +40 -40
  105. package/node/mat/find-mat/add-2-prong.js.map +1 -1
  106. package/node/mat/find-mat/add-3-prong.js +1 -1
  107. package/node/mat/find-mat/add-3-prong.js.map +1 -1
  108. package/node/mat/find-mat/add-debug-info.js +16 -18
  109. package/node/mat/find-mat/add-debug-info.js.map +1 -1
  110. package/node/mat/find-mat/create-get-interesting-points-on-loop.js +4 -4
  111. package/node/mat/find-mat/create-get-interesting-points-on-loop.js.map +1 -1
  112. package/node/mat/find-mat/create-initial-cp-graph.js +11 -11
  113. package/node/mat/find-mat/create-initial-cp-graph.js.map +1 -1
  114. package/node/mat/find-mat/find-2-prong/add-debug-info.js +2 -2
  115. package/node/mat/find-mat/find-2-prong/add-debug-info.js.map +1 -1
  116. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js +5 -5
  117. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js.map +1 -1
  118. package/node/mat/find-mat/find-2-prong/find-2-prong.js +25 -25
  119. package/node/mat/find-mat/find-2-prong/find-2-prong.js.map +1 -1
  120. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js +7 -7
  121. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js.map +1 -1
  122. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js +4 -4
  123. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js.map +1 -1
  124. package/node/mat/find-mat/find-2-prong/x-for-debugging.d.ts +1 -1
  125. package/node/mat/find-mat/find-3-prong/calc-better-x.js +4 -4
  126. package/node/mat/find-mat/find-3-prong/calc-better-x.js.map +1 -1
  127. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js +3 -3
  128. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js.map +1 -1
  129. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js +35 -35
  130. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js.map +1 -1
  131. package/node/mat/find-mat/find-3-prong/find-3-prong.js +14 -14
  132. package/node/mat/find-mat/find-3-prong/find-3-prong.js.map +1 -1
  133. package/node/mat/find-mat/find-3-prong/get-closest-points.js +1 -1
  134. package/node/mat/find-mat/find-3-prong/get-closest-points.js.map +1 -1
  135. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js +2 -2
  136. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js.map +1 -1
  137. package/node/mat/find-mat/find-and-add-2-prongs.js +12 -13
  138. package/node/mat/find-mat/find-and-add-2-prongs.js.map +1 -1
  139. package/node/mat/find-mat/find-and-add-3-prongs.js +16 -17
  140. package/node/mat/find-mat/find-and-add-3-prongs.js.map +1 -1
  141. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js +6 -6
  142. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js.map +1 -1
  143. package/node/mat/find-mat/get-potential-2-prongs.js +4 -4
  144. package/node/mat/find-mat/get-potential-2-prongs.js.map +1 -1
  145. package/node/mat/find-mat/get-sharp-corners.js +4 -4
  146. package/node/mat/find-mat/get-sharp-corners.js.map +1 -1
  147. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js +3 -3
  148. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js.map +1 -1
  149. package/node/mat/get-boundary-piece-beziers.js +5 -5
  150. package/node/mat/get-boundary-piece-beziers.js.map +1 -1
  151. package/node/mat/get-contact-circles-at-interface.js +1 -1
  152. package/node/mat/get-contact-circles-at-interface.js.map +1 -1
  153. package/node/mat/get-leaves.js +2 -2
  154. package/node/mat/get-leaves.js.map +1 -1
  155. package/node/mat/get-neighboring-cps.js +1 -1
  156. package/node/mat/get-neighboring-cps.js.map +1 -1
  157. package/node/mat/is-another-cp-closeby.js +9 -9
  158. package/node/mat/is-another-cp-closeby.js.map +1 -1
  159. package/node/mat/simplify-mat-map-only.js +15 -15
  160. package/node/mat/simplify-mat-map-only.js.map +1 -1
  161. package/node/mat/to-scale-axis/add-debug-info.js +1 -1
  162. package/node/mat/to-scale-axis/add-debug-info.js.map +1 -1
  163. package/node/mat/to-scale-axis/cull-non-cycles.js +5 -5
  164. package/node/mat/to-scale-axis/cull-non-cycles.js.map +1 -1
  165. package/node/mat/to-scale-axis/cull.js +5 -5
  166. package/node/mat/to-scale-axis/cull.js.map +1 -1
  167. package/node/mat/trim-mat.js +1 -1
  168. package/node/mat/trim-mat.js.map +1 -1
  169. package/node/point-on-shape.d.ts +4 -4
  170. package/node/point-on-shape.js +16 -16
  171. package/node/point-on-shape.js.map +1 -1
  172. package/node/simplify-mat.js +10 -10
  173. package/node/simplify-mat.js.map +1 -1
  174. package/node/svg/get-loop-bounds.d.ts +1 -1
  175. package/node/svg/get-loop-bounds.js +13 -13
  176. package/node/svg/get-loop-bounds.js.map +1 -1
  177. package/node/svg/get-shape-bounds.d.ts +2 -2
  178. package/node/svg/get-shape-bounds.js +4 -4
  179. package/node/svg/get-shape-bounds.js.map +1 -1
  180. package/node/sweep-line/sweep-line.js +8 -8
  181. package/node/sweep-line/sweep-line.js.map +1 -1
  182. package/node/to-scale-axis.js +16 -15
  183. package/node/to-scale-axis.js.map +1 -1
  184. package/node/traverse-edges.js +2 -2
  185. package/node/traverse-edges.js.map +1 -1
  186. package/node/traverse-vertices.js +2 -2
  187. package/node/traverse-vertices.js.map +1 -1
  188. package/package.json +30 -25
  189. package/src/circle.ts +3 -3
  190. package/src/compare-curvatures-at-interface.ts +36 -36
  191. package/src/cp-node/clone.ts +6 -6
  192. package/src/cp-node/remove.ts +4 -4
  193. package/src/cp-node.ts +20 -20
  194. package/src/curve.ts +19 -19
  195. package/src/debug/functions/draw-elem/bounding-hull.ts +2 -2
  196. package/src/debug/functions/draw-elem/branch.ts +4 -4
  197. package/src/debug/functions/draw-elem/culls.ts +4 -4
  198. package/src/debug/functions/draw-elem/draw-circle-percent.ts +2 -2
  199. package/src/debug/functions/draw-elem/draw-elem.ts +1 -1
  200. package/src/debug/functions/draw-elem/dull-corner.ts +3 -3
  201. package/src/debug/functions/draw-elem/leaves.ts +4 -4
  202. package/src/debug/functions/draw-elem/loose-bounding-box.ts +2 -2
  203. package/src/debug/functions/draw-elem/mat.ts +4 -4
  204. package/src/debug/functions/draw-elem/max-vertex.ts +2 -2
  205. package/src/debug/functions/draw-elem/min-y.ts +3 -3
  206. package/src/debug/functions/draw-elem/one-prong-at-dull-corner.ts +4 -4
  207. package/src/debug/functions/draw-elem/one-prong.ts +4 -4
  208. package/src/debug/functions/draw-elem/sharp-corner.ts +2 -2
  209. package/src/debug/functions/draw-elem/three-prong.ts +7 -7
  210. package/src/debug/functions/draw-elem/tight-bounding-box.ts +1 -1
  211. package/src/debug/functions/draw-elem/two-prong.ts +1 -1
  212. package/src/debug/functions/draw-elem/vertex.ts +20 -14
  213. package/src/debug/functions/general.ts +3 -3
  214. package/src/debug/functions/three-prong.ts +37 -37
  215. package/src/debug/functions/two-prong.ts +15 -15
  216. package/src/find-mats.ts +19 -19
  217. package/src/get-boundary-bezier-parts-to-next.ts +8 -8
  218. package/src/get-boundary-beziers-to-next.ts +8 -8
  219. package/src/get-branches.ts +7 -7
  220. package/src/get-curve/get-curve-between.ts +21 -21
  221. package/src/get-curve/get-edge-direction.ts +13 -14
  222. package/src/get-interface-ccw.ts +12 -12
  223. package/src/loop/get-max-coordinate.ts +7 -7
  224. package/src/loop.ts +4 -4
  225. package/src/mat/add-to-cp-graph.ts +8 -8
  226. package/src/mat/closest-boundary-point/closest-points-on-curve.ts +5 -6
  227. package/src/mat/closest-boundary-point/cull-bezier-pieces.ts +1 -1
  228. package/src/mat/closest-boundary-point/cull-by-loose-bounding-box.ts +5 -5
  229. package/src/mat/closest-boundary-point/cull-by-tight-boundary-box.ts +5 -5
  230. package/src/mat/closest-boundary-point/get-best-distance-squared.ts +5 -5
  231. package/src/mat/closest-boundary-point/get-close-boundary-points.ts +15 -15
  232. package/src/mat/closest-boundary-point/get-closest-boundary-point.ts +4 -4
  233. package/src/mat/cmp-cp-on-delta.ts +5 -5
  234. package/src/mat/create-new-cp-tree.ts +3 -3
  235. package/src/mat/find-mat/add-1-prong.ts +5 -5
  236. package/src/mat/find-mat/add-2-prong.ts +42 -42
  237. package/src/mat/find-mat/add-3-prong.ts +1 -1
  238. package/src/mat/find-mat/add-debug-info.ts +18 -20
  239. package/src/mat/find-mat/create-get-interesting-points-on-loop.ts +4 -4
  240. package/src/mat/find-mat/create-initial-cp-graph.ts +11 -11
  241. package/src/mat/find-mat/find-2-prong/add-debug-info.ts +4 -4
  242. package/src/mat/find-mat/find-2-prong/cull-bezier-pieces.ts +5 -5
  243. package/src/mat/find-mat/find-2-prong/find-2-prong.ts +27 -27
  244. package/src/mat/find-mat/find-2-prong/find-equidistant-point-on-line.ts +7 -7
  245. package/src/mat/find-mat/find-2-prong/get-initial-bezier-pieces.ts +4 -4
  246. package/src/mat/find-mat/find-3-prong/calc-better-x.ts +4 -4
  247. package/src/mat/find-mat/find-3-prong/calc-initial-3-prong-center.ts +3 -3
  248. package/src/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.ts +37 -37
  249. package/src/mat/find-mat/find-3-prong/find-3-prong.ts +16 -16
  250. package/src/mat/find-mat/find-3-prong/get-closest-points.ts +1 -1
  251. package/src/mat/find-mat/find-and-add-2-prongs-on-all-paths.ts +2 -2
  252. package/src/mat/find-mat/find-and-add-2-prongs.ts +14 -16
  253. package/src/mat/find-mat/find-and-add-3-prongs.ts +19 -19
  254. package/src/mat/find-mat/find-and-add-hole-closing-2-prongs.ts +6 -6
  255. package/src/mat/find-mat/get-potential-2-prongs.ts +4 -4
  256. package/src/mat/find-mat/get-sharp-corners.ts +4 -4
  257. package/src/mat/find-mat/get-total-abs-curvature.ts +1 -1
  258. package/src/mat/geometry/get-closest-squared-distance-to-rotated-rect.ts +3 -3
  259. package/src/mat/get-boundary-piece-beziers.ts +5 -5
  260. package/src/mat/get-contact-circles-at-interface.ts +1 -1
  261. package/src/mat/get-edges-as-array.ts +2 -2
  262. package/src/mat/get-leaves.ts +2 -2
  263. package/src/mat/get-neighboring-cps.ts +1 -1
  264. package/src/mat/is-another-cp-closeby.ts +9 -9
  265. package/src/mat/simplify-mat-map-only.ts +15 -15
  266. package/src/mat/to-scale-axis/add-debug-info.ts +6 -3
  267. package/src/mat/to-scale-axis/add-to-tree.ts +10 -10
  268. package/src/mat/to-scale-axis/calc-groups.ts +19 -19
  269. package/src/mat/to-scale-axis/create-spacial-tree.ts +4 -4
  270. package/src/mat/to-scale-axis/cull-non-cycles.ts +5 -5
  271. package/src/mat/to-scale-axis/cull.ts +5 -5
  272. package/src/mat/to-scale-axis/get-engulfed-vertices.ts +18 -18
  273. package/src/mat/trim-mat.ts +1 -1
  274. package/src/point-on-shape.ts +16 -16
  275. package/src/simplify-mat.ts +10 -10
  276. package/src/svg/get-curvature-at-interface.ts +6 -8
  277. package/src/svg/get-extreme.ts +1 -1
  278. package/src/svg/get-loop-bounds.ts +13 -13
  279. package/src/svg/get-shape-bounds.ts +4 -4
  280. package/src/sweep-line/are-boxes-intersecting.ts +4 -4
  281. package/src/sweep-line/sweep-line.ts +8 -8
  282. package/src/to-scale-axis.ts +18 -17
  283. package/src/traverse-edges.ts +2 -2
  284. package/src/traverse-vertices.ts +2 -2
  285. package/webpack.config.cjs +12 -63
  286. package/browser/index.min.js.LICENSE.txt +0 -2907
  287. package/browser/index.module.js +0 -7369
  288. package/browser/index.module.min.js +0 -2
  289. package/browser/index.module.min.js.LICENSE.txt +0 -2907
@@ -1 +1 @@
1
- {"version":3,"file":"simplify-mat-map-only.js","sourceRoot":"","sources":["../../src/mat/simplify-mat-map-only.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simplify-mat-map-only.js","sourceRoot":"","sources":["../../src/mat/simplify-mat-map-only.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ function addDebugInfo(sat, timingStart) {
7
7
  return;
8
8
  }
9
9
  _debug_.generated.elems.sat.push(sat);
10
- let timing = _debug_.generated.timing;
10
+ const timing = _debug_.generated.timing;
11
11
  timing.sats = performance.now() - timingStart;
12
12
  }
13
13
  export { addDebugInfo };
@@ -1 +1 @@
1
- {"version":3,"file":"add-debug-info.js","sourceRoot":"","sources":["../../../src/mat/to-scale-axis/add-debug-info.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAQ,EAAE,WAAmB;IAClD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAAE,OAAO;KAAE;IAE/C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IACtC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;AAC/C,CAAC;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"add-debug-info.js","sourceRoot":"","sources":["../../../src/mat/to-scale-axis/add-debug-info.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,SAAS,YAAY,CACnB,GAAQ,EACR,WAAmB;IAEpB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAAE,OAAO;KAAE;IAE/C,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IACxC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;AAC/C,CAAC;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -8,9 +8,9 @@ import { CpNode } from '../../cp-node.js';
8
8
  */
9
9
  function cullNonCycles(cpStart) {
10
10
  let cpNodeKept = cpStart;
11
- let leaves = getLeaves(cpStart);
11
+ const leaves = getLeaves(cpStart);
12
12
  while (leaves.length) {
13
- let leaf = leaves.pop();
13
+ const leaf = leaves.pop();
14
14
  // Preserve topology - keep cycles.
15
15
  if (leaf.isHoleClosing || leaf.isIntersection) {
16
16
  continue;
@@ -19,10 +19,10 @@ function cullNonCycles(cpStart) {
19
19
  while (true) {
20
20
  cpNode = cpNode.next;
21
21
  let cut = false;
22
- let cp1 = cpNode.prevOnCircle;
22
+ const cp1 = cpNode.prevOnCircle;
23
23
  if (cpNode.getProngCount() > 2) {
24
- //let cp2 = cp1.prevOnCircle;
25
- let cp2 = cpNode.nextOnCircle;
24
+ //const cp2 = cp1.prevOnCircle;
25
+ const cp2 = cpNode.nextOnCircle;
26
26
  //if (cpStart === cpNode || cpStart === cp1 || cpStart === cp2) {
27
27
  if (CpNode.isOnSameCircle(cpNode, cpStart)) {
28
28
  cut = true; // We are at the max disk - cut whole edge
@@ -1 +1 @@
1
- {"version":3,"file":"cull-non-cycles.js","sourceRoot":"","sources":["../../../src/mat/to-scale-axis/cull-non-cycles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAe;IAElC,IAAI,UAAU,GAAG,OAAO,CAAC;IAEzB,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAGhC,OAAO,MAAM,CAAC,MAAM,EAAE;QAClB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAExB,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,SAAS;SAAE;QAE5D,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc;QAEtC,OAAO,IAAI,EAAE;YACT,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;YAE9B,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;gBAC5B,6BAA6B;gBAC7B,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;gBAE9B,iEAAiE;gBACjE,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;oBACxC,GAAG,GAAG,IAAI,CAAC,CAAC,0CAA0C;iBACzD;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC5B,MAAM,GAAG,GAAG,CAAC;iBAChB;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,GAAG,GAAG,IAAI,CAAC,CAAC,iBAAiB;iBAChC;aACJ;iBAAM,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBACzD,UAAU,GAAG,MAAM,CAAC;gBACpB,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,GAAG,EAAE;gBACL,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;gBAClB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;gBAElB,UAAU,GAAG,MAAM,CAAC;gBACpB,MAAM;aACT;SACJ;KACJ;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"cull-non-cycles.js","sourceRoot":"","sources":["../../../src/mat/to-scale-axis/cull-non-cycles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAe;IAElC,IAAI,UAAU,GAAG,OAAO,CAAC;IAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAGlC,OAAO,MAAM,CAAC,MAAM,EAAE;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAE1B,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,SAAS;SAAE;QAE5D,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc;QAEtC,OAAO,IAAI,EAAE;YACT,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;YAEhC,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;gBAC5B,+BAA+B;gBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;gBAEhC,iEAAiE;gBACjE,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;oBACxC,GAAG,GAAG,IAAI,CAAC,CAAC,0CAA0C;iBACzD;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC5B,MAAM,GAAG,GAAG,CAAC;iBAChB;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;oBACzB,GAAG,GAAG,IAAI,CAAC,CAAC,iBAAiB;iBAChC;aACJ;iBAAM,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBACzD,UAAU,GAAG,MAAM,CAAC;gBACpB,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,GAAG,EAAE;gBACL,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;gBAClB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;gBAElB,UAAU,GAAG,MAAM,CAAC;gBACpB,MAAM;aACT;SACJ;KACJ;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -9,10 +9,10 @@ import { CpNode } from '../../cp-node.js';
9
9
  * @param maxCpNode The start CpNode which must reprsesent the maximal vertex.
10
10
  */
11
11
  function cull(culls, maxCpNode) {
12
- let leaves = getLeaves(maxCpNode);
12
+ const leaves = getLeaves(maxCpNode);
13
13
  function getNonTrivialEdges(cpStart) {
14
14
  let cp = cpStart;
15
- let cps = [];
15
+ const cps = [];
16
16
  do {
17
17
  if (cp.next !== cp.nextOnCircle) {
18
18
  cps.push(cp);
@@ -22,7 +22,7 @@ function cull(culls, maxCpNode) {
22
22
  return cps;
23
23
  }
24
24
  while (leaves.length) {
25
- let leaf = leaves.pop();
25
+ const leaf = leaves.pop();
26
26
  // Preserve topology.
27
27
  if (leaf.isHoleClosing || leaf.isIntersection) {
28
28
  continue;
@@ -34,7 +34,7 @@ function cull(culls, maxCpNode) {
34
34
  while (true) {
35
35
  cpNode = cpNode.next;
36
36
  let cut = false;
37
- let cp1 = cpNode.prevOnCircle;
37
+ const cp1 = cpNode.prevOnCircle;
38
38
  if (!culls.has(cpNode.cp.circle)) {
39
39
  // Cut off the edge once a non-cull has been reached.
40
40
  cut = true;
@@ -43,7 +43,7 @@ function cull(culls, maxCpNode) {
43
43
  cut = true; // We are at the max disk - cut whole edge
44
44
  }
45
45
  else {
46
- let cps = getNonTrivialEdges(cpNode);
46
+ const cps = getNonTrivialEdges(cpNode);
47
47
  if (cps.length === 1) {
48
48
  cpNode = cps[0];
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cull.js","sourceRoot":"","sources":["../../../src/mat/to-scale-axis/cull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;;;;GAOG;AACH,SAAS,IAAI,CACL,KAAkB,EAClB,SAAiB;IAErB,IAAI,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAElC,SAAS,kBAAkB,CAAC,OAAe;QAC7C,IAAI,EAAE,GAAG,OAAO,CAAC;QAEX,IAAI,GAAG,GAAa,EAAE,CAAC;QAC7B,GAAG;YACO,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,YAAY,EAAE;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAChB;YACV,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SACrB,QAAQ,EAAE,KAAK,OAAO,CAAC,YAAY,EAAC;QAErC,OAAO,GAAG,CAAC;IACT,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,EAAE;QAClB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAExB,qBAAqB;QACrB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,SAAS;SAAE;QAE5D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YAC5B,SAAS;SACZ;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc;QAEtC,OAAO,IAAI,EAAE;YACT,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;YAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC9B,qDAAqD;gBACrD,GAAG,GAAG,IAAI,CAAC;aACd;iBAAM,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;gBACjD,GAAG,GAAG,IAAI,CAAC,CAAC,0CAA0C;aACzD;iBAAM;gBACH,IAAI,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAErC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;iBACnB;qBAAM;oBACH,GAAG,GAAG,IAAI,CAAC;iBACd;aACJ;YAED,IAAI,GAAG,EAAE;gBACL,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;gBAClB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;gBAClB,MAAM;aACT;SACJ;KACJ;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEE;AAGF,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"cull.js","sourceRoot":"","sources":["../../../src/mat/to-scale-axis/cull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;;;;GAOG;AACH,SAAS,IAAI,CACL,KAAkB,EAClB,SAAiB;IAErB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,SAAS,kBAAkB,CAAC,OAAe;QAC7C,IAAI,EAAE,GAAG,OAAO,CAAC;QAEX,MAAM,GAAG,GAAa,EAAE,CAAC;QAC/B,GAAG;YACO,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,YAAY,EAAE;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAChB;YACV,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SACrB,QAAQ,EAAE,KAAK,OAAO,CAAC,YAAY,EAAC;QAErC,OAAO,GAAG,CAAC;IACT,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,EAAE;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAE1B,qBAAqB;QACrB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,SAAS;SAAE;QAE5D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YAC5B,SAAS;SACZ;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc;QAEtC,OAAO,IAAI,EAAE;YACT,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;YAEhC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC9B,qDAAqD;gBACrD,GAAG,GAAG,IAAI,CAAC;aACd;iBAAM,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;gBACjD,GAAG,GAAG,IAAI,CAAC,CAAC,0CAA0C;aACzD;iBAAM;gBACH,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAEvC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;iBACnB;qBAAM;oBACH,GAAG,GAAG,IAAI,CAAC;iBACd;aACJ;YAED,IAAI,GAAG,EAAE;gBACL,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;gBAClB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;gBAClB,MAAM;aACT;SACJ;KACJ;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEE;AAGF,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -7,7 +7,7 @@ import { clone } from '../cp-node/clone.js';
7
7
  * @param mat The MAT to trim.
8
8
  */
9
9
  function trimMat(mat) {
10
- let cpNode = cullNonCycles(clone(mat.cpNode));
10
+ const cpNode = cullNonCycles(clone(mat.cpNode));
11
11
  if (!cpNode) {
12
12
  return undefined;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"trim-mat.js","sourceRoot":"","sources":["../../src/mat/trim-mat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C;;;;GAIG;AACH,SAAS,OAAO,CAAC,GAAQ;IACxB,IAAI,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,SAAS,CAAC;KAAE;IAElC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;AACxD,CAAC;AAGD,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"trim-mat.js","sourceRoot":"","sources":["../../src/mat/trim-mat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C;;;;GAIG;AACH,SAAS,OAAO,CAAC,GAAQ;IACxB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,SAAS,CAAC;KAAE;IAElC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;AACxD,CAAC;AAGD,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -29,19 +29,19 @@ declare class PointOnShape implements IPointOnShape {
29
29
  /**
30
30
  * @hidden
31
31
  */
32
- declare let isPosSharpCorner: (a: IPointOnShape) => boolean;
32
+ declare const isPosSharpCorner: (a: IPointOnShape) => boolean;
33
33
  /**
34
34
  * @hidden
35
35
  */
36
- declare let isPosDullCorner: (a: IPointOnShape) => boolean;
36
+ declare const isPosDullCorner: (a: IPointOnShape) => boolean;
37
37
  /**
38
38
  * @hidden
39
39
  */
40
- declare let isPosQuiteSharpCorner: (a: IPointOnShape) => boolean;
40
+ declare const isPosQuiteSharpCorner: (a: IPointOnShape) => boolean;
41
41
  /**
42
42
  * @hidden
43
43
  */
44
- declare let isPosQuiteDullCorner: (a: IPointOnShape) => boolean;
44
+ declare const isPosQuiteDullCorner: (a: IPointOnShape) => boolean;
45
45
  /**
46
46
  * Returns a human-readable string of the given [[PointOnShape]].
47
47
  * For debugging only.
@@ -42,7 +42,7 @@ function getPosCorner(pos) {
42
42
  /**
43
43
  * @hidden
44
44
  */
45
- let isPosSharpCorner = memoize((pos) => {
45
+ const isPosSharpCorner = memoize((pos) => {
46
46
  if (!isPosCorner(pos)) {
47
47
  return false;
48
48
  }
@@ -51,7 +51,7 @@ let isPosSharpCorner = memoize((pos) => {
51
51
  /**
52
52
  * @hidden
53
53
  */
54
- let isPosDullCorner = memoize((pos) => {
54
+ const isPosDullCorner = memoize((pos) => {
55
55
  if (!isPosCorner(pos)) {
56
56
  return false;
57
57
  }
@@ -60,7 +60,7 @@ let isPosDullCorner = memoize((pos) => {
60
60
  /**
61
61
  * @hidden
62
62
  */
63
- let isPosQuiteSharpCorner = memoize((pos) => {
63
+ const isPosQuiteSharpCorner = memoize((pos) => {
64
64
  if (!isPosCorner(pos)) {
65
65
  return false;
66
66
  }
@@ -69,7 +69,7 @@ let isPosQuiteSharpCorner = memoize((pos) => {
69
69
  /**
70
70
  * @hidden
71
71
  */
72
- let isPosQuiteDullCorner = memoize((pos) => {
72
+ const isPosQuiteDullCorner = memoize((pos) => {
73
73
  if (!isPosCorner(pos)) {
74
74
  return false;
75
75
  }
@@ -99,9 +99,9 @@ function calcPosOrder(circle, pos) {
99
99
  return 0;
100
100
  }
101
101
  //if (!isPosDullCorner(pos)) { return 0; }
102
- let corner = getPosCorner(pos);
103
- let n = rotateNeg90Degrees(corner.tangents[0]);
104
- let v = toUnitVector(fromTo(pos.p, circle.center));
102
+ const corner = getPosCorner(pos);
103
+ const n = rotateNeg90Degrees(corner.tangents[0]);
104
+ const v = toUnitVector(fromTo(pos.p, circle.center));
105
105
  return -dot(n, v);
106
106
  }
107
107
  /**
@@ -131,10 +131,10 @@ function comparePoss(a, b) {
131
131
  * @param t
132
132
  * @hidden
133
133
  */
134
- let calcOsculatingCircleRadius = memoize((pos) => {
135
- let ps = pos.curve.ps;
136
- let t = pos.t;
137
- let c = -curvature(ps, t);
134
+ const calcOsculatingCircleRadius = memoize((pos) => {
135
+ const ps = pos.curve.ps;
136
+ const t = pos.t;
137
+ const c = -curvature(ps, t);
138
138
  // c > 0 => bending inwards
139
139
  return 1 / c;
140
140
  });
@@ -153,12 +153,12 @@ function getOsculatingCircle(maxOsculatingCircleRadius, pos) {
153
153
  radius = Number.POSITIVE_INFINITY;
154
154
  }
155
155
  radius = Math.min(radius, maxOsculatingCircleRadius);
156
- let ps = pos.curve.ps;
157
- let t = pos.t;
156
+ const ps = pos.curve.ps;
157
+ const t = pos.t;
158
158
  const tangent_ = tangent(ps, t);
159
- let normal_ = toUnitVector([-tangent_[1], tangent_[0]]);
160
- let p = evalDeCasteljau(ps, t);
161
- let circleCenter = [
159
+ const normal_ = toUnitVector([-tangent_[1], tangent_[0]]);
160
+ const p = evalDeCasteljau(ps, t);
161
+ const circleCenter = [
162
162
  p[0] - normal_[0] * radius,
163
163
  p[1] - normal_[1] * radius
164
164
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"point-on-shape.js","sourceRoot":"","sources":["../src/point-on-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"point-on-shape.js","sourceRoot":"","sources":["../src/point-on-shape.ts"],"names":[],"mappings":"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"}
@@ -22,20 +22,20 @@ function simplifyMat(mat, anlgeTolerance = 15, hausdorffTolerance = 2 ** -3, max
22
22
  while (!cpNode.isTerminating()) {
23
23
  cpNode = cpNode.next;
24
24
  }
25
- let branches = getBranches(cpNode, anlgeTolerance);
26
- let canDeletes = [];
25
+ const branches = getBranches(cpNode, anlgeTolerance);
26
+ const canDeletes = [];
27
27
  for (let k = 0; k < branches.length; k++) {
28
- let branch = branches[k];
28
+ const branch = branches[k];
29
29
  // Try to remove some
30
30
  let j = 0;
31
31
  while (j < branch.length) {
32
- let i = j;
32
+ const i = j;
33
33
  while (true) {
34
34
  j++;
35
35
  if (j === branch.length) {
36
36
  break;
37
37
  }
38
- let hd = getTotalHausdorffDistance(i, j, branch, maxIterations);
38
+ const hd = getTotalHausdorffDistance(i, j, branch, maxIterations);
39
39
  if (hd > hausdorffTolerance) {
40
40
  break;
41
41
  }
@@ -49,9 +49,9 @@ function simplifyMat(mat, anlgeTolerance = 15, hausdorffTolerance = 2 ** -3, max
49
49
  }
50
50
  }
51
51
  }
52
- for (let cpNode of canDeletes) {
53
- let isTerminating = cpNode.isTerminating();
54
- let onCircleCount = cpNode.getCpNodesOnCircle().length;
52
+ for (const cpNode of canDeletes) {
53
+ const isTerminating = cpNode.isTerminating();
54
+ const onCircleCount = cpNode.getCpNodesOnCircle().length;
55
55
  if (isTerminating || onCircleCount !== 2) {
56
56
  continue;
57
57
  }
@@ -61,8 +61,8 @@ function simplifyMat(mat, anlgeTolerance = 15, hausdorffTolerance = 2 ** -3, max
61
61
  return { cpNode, cpTrees: undefined };
62
62
  }
63
63
  function getTotalHausdorffDistance(i, j, branch, hausdorffSpacing) {
64
- let hds = [];
65
- let longCurve = getCurveBetween(branch[i], branch[j].next);
64
+ const hds = [];
65
+ const longCurve = getCurveBetween(branch[i], branch[j].next);
66
66
  for (; i < j + 1; i++) {
67
67
  hds.push(hausdorffDistance(getCurveToNext(branch[i]), longCurve, hausdorffSpacing));
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simplify-mat.js","sourceRoot":"","sources":["../src/simplify-mat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAInE;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CACZ,GAAQ,EACR,cAAc,GAAG,EAAE,EACnB,kBAAkB,GAAG,CAAC,IAAE,CAAC,CAAC,EAC1B,aAAa,GAAG,EAAE;IAEtB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAExB,oBAAoB;IACpB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE;QAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;KAAE;IAEzD,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEnD,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEzB,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,IAAI,EAAE;gBACT,CAAC,EAAE,CAAC;gBAEJ,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE;oBAAE,MAAM;iBAAE;gBAEnC,IAAI,EAAE,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBAEhE,IAAI,EAAE,GAAG,kBAAkB,EAAE;oBACzB,MAAM;iBACT;qBAAM;oBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9B;aACJ;YAED,IAAI,CAAC,GAAC,CAAC,KAAK,CAAC,EAAE;gBACX,4BAA4B;gBAC5B,MAAM;aACT;SACJ;KACJ;IAED,KAAK,IAAI,MAAM,IAAI,UAAU,EAAE;QAC3B,IAAI,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,IAAI,aAAa,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC;QACvD,IAAI,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE;YACtC,SAAS;SACZ;QAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACzB;IAED,uDAAuD;IACvD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAGD,SAAS,yBAAyB,CAC1B,CAAS,EACT,CAAS,EACT,MAAgB,EAChB,gBAAwB;IAE5B,IAAI,GAAG,GAAa,EAAE,CAAC;IACvB,IAAI,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAC,CAAC,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACf,GAAG,CAAC,IAAI,CAAC,iBAAiB,CACtB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzB,SAAS,EACT,gBAAgB,CACnB,CAAC,CAAC;KACN;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC5B,CAAC;AAGD,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"simplify-mat.js","sourceRoot":"","sources":["../src/simplify-mat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAInE;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CACZ,GAAQ,EACR,cAAc,GAAG,EAAE,EACnB,kBAAkB,GAAG,CAAC,IAAE,CAAC,CAAC,EAC1B,aAAa,GAAG,EAAE;IAEtB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAExB,oBAAoB;IACpB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE;QAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;KAAE;IAEzD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAErD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC;YACZ,OAAO,IAAI,EAAE;gBACT,CAAC,EAAE,CAAC;gBAEJ,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE;oBAAE,MAAM;iBAAE;gBAEnC,MAAM,EAAE,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBAElE,IAAI,EAAE,GAAG,kBAAkB,EAAE;oBACzB,MAAM;iBACT;qBAAM;oBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9B;aACJ;YAED,IAAI,CAAC,GAAC,CAAC,KAAK,CAAC,EAAE;gBACX,4BAA4B;gBAC5B,MAAM;aACT;SACJ;KACJ;IAED,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;QAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC;QACzD,IAAI,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE;YACtC,SAAS;SACZ;QAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACzB;IAED,uDAAuD;IACvD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAGD,SAAS,yBAAyB,CAC1B,CAAS,EACT,CAAS,EACT,MAAgB,EAChB,gBAAwB;IAE5B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAC,CAAC,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACf,GAAG,CAAC,IAAI,CAAC,iBAAiB,CACtB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzB,SAAS,EACT,gBAAgB,CACnB,CAAC,CAAC;KACN;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC5B,CAAC;AAGD,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -3,7 +3,7 @@ import { IPointOnShape } from '../point-on-shape.js';
3
3
  /**
4
4
  * @hidden
5
5
  */
6
- declare let getLoopBounds: (a: Loop) => {
6
+ declare const getLoopBounds: (a: Loop) => {
7
7
  minX: IPointOnShape;
8
8
  minY: IPointOnShape;
9
9
  maxX: IPointOnShape;
@@ -6,8 +6,8 @@ const INF = Number.POSITIVE_INFINITY;
6
6
  /**
7
7
  * @hidden
8
8
  */
9
- let getLoopBounds = memoize(function (loop) {
10
- let extremes = [
9
+ const getLoopBounds = memoize(function (loop) {
10
+ const extremes = [
11
11
  [
12
12
  { bezier: undefined, t: undefined, val: INF },
13
13
  { bezier: undefined, t: undefined, val: INF }
@@ -18,13 +18,13 @@ let getLoopBounds = memoize(function (loop) {
18
18
  ]
19
19
  ];
20
20
  loop.curves.forEach(function (curve) {
21
- let ps = curve.ps;
22
- // let bounds = getBounds_(ps);
23
- let bounds = getBounds(ps);
21
+ const ps = curve.ps;
22
+ // const bounds = getBounds_(ps);
23
+ const bounds = getBounds(ps);
24
24
  {
25
25
  {
26
- let v = bounds.box[0][0];
27
- let x = extremes[0][0].val;
26
+ const v = bounds.box[0][0];
27
+ const x = extremes[0][0].val;
28
28
  if (v < x || (v === x && bounds.ts[0][0] > extremes[0][0].t)) {
29
29
  extremes[0][0] = {
30
30
  bezier: curve,
@@ -34,8 +34,8 @@ let getLoopBounds = memoize(function (loop) {
34
34
  }
35
35
  }
36
36
  {
37
- let v = bounds.box[0][1];
38
- let x = extremes[0][1].val;
37
+ const v = bounds.box[0][1];
38
+ const x = extremes[0][1].val;
39
39
  if (v < x || (v === x && bounds.ts[0][1] > extremes[0][1].t)) {
40
40
  extremes[0][1] = {
41
41
  bezier: curve,
@@ -47,8 +47,8 @@ let getLoopBounds = memoize(function (loop) {
47
47
  }
48
48
  {
49
49
  {
50
- let v = bounds.box[1][0];
51
- let x = extremes[1][0].val;
50
+ const v = bounds.box[1][0];
51
+ const x = extremes[1][0].val;
52
52
  if (v > x || (v === x && bounds.ts[1][0] > extremes[1][0].t)) {
53
53
  extremes[1][0] = {
54
54
  bezier: curve,
@@ -58,8 +58,8 @@ let getLoopBounds = memoize(function (loop) {
58
58
  }
59
59
  }
60
60
  {
61
- let v = bounds.box[1][1];
62
- let x = extremes[1][1].val;
61
+ const v = bounds.box[1][1];
62
+ const x = extremes[1][1].val;
63
63
  if (v > x || (v === x && bounds.ts[1][1] > extremes[1][1].t)) {
64
64
  extremes[1][1] = {
65
65
  bezier: curve,
@@ -1 +1 @@
1
- {"version":3,"file":"get-loop-bounds.js","sourceRoot":"","sources":["../../src/svg/get-loop-bounds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-loop-bounds.js","sourceRoot":"","sources":["../../src/svg/get-loop-bounds.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Loop } from '../loop.js';
2
- /** @hidden */
3
- declare let getShapeBounds: (a: Loop[]) => {
2
+ /** @internal */
3
+ declare const getShapeBounds: (a: Loop[]) => {
4
4
  minX: import("../point-on-shape.js").IPointOnShape;
5
5
  minY: import("../point-on-shape.js").IPointOnShape;
6
6
  maxX: import("../point-on-shape.js").IPointOnShape;
@@ -1,8 +1,8 @@
1
1
  import { memoize } from 'flo-memoize';
2
2
  import { getLoopBounds } from './get-loop-bounds.js';
3
3
  // TODO - move to another library
4
- /** @hidden */
5
- let getShapeBounds = memoize(function (loops) {
4
+ /** @internal */
5
+ const getShapeBounds = memoize(function (loops) {
6
6
  let minX_ = Number.POSITIVE_INFINITY;
7
7
  let maxX_ = Number.NEGATIVE_INFINITY;
8
8
  let minY_ = Number.POSITIVE_INFINITY;
@@ -11,8 +11,8 @@ let getShapeBounds = memoize(function (loops) {
11
11
  let maxX;
12
12
  let minY;
13
13
  let maxY;
14
- for (let loop of loops) {
15
- let bounds = getLoopBounds(loop);
14
+ for (const loop of loops) {
15
+ const bounds = getLoopBounds(loop);
16
16
  if (bounds.minX.p[0] < minX_) {
17
17
  minX = bounds.minX;
18
18
  minX_ = bounds.minX.p[0];
@@ -1 +1 @@
1
- {"version":3,"file":"get-shape-bounds.js","sourceRoot":"","sources":["../../src/svg/get-shape-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,iCAAiC;AAGjC,cAAc;AACd,IAAI,cAAc,GAAG,OAAO,CAAC,UAAS,KAAa;IAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAErC,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IAET,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACpB,IAAI,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;KACJ;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAGH,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"get-shape-bounds.js","sourceRoot":"","sources":["../../src/svg/get-shape-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,iCAAiC;AAGjC,gBAAgB;AAChB,MAAM,cAAc,GAAG,OAAO,CAAC,UAAS,KAAa;IACjD,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAErC,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,CAAC;IAET,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;KACJ;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAGH,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -20,8 +20,8 @@ const EVENT_RIGHT = 1;
20
20
  */
21
21
  function sweepLine(items, getLeftmost, getRightmost, predicate) {
22
22
  // Initialize event queue to contain all endpoints.
23
- let events = [];
24
- for (let item of items) {
23
+ const events = [];
24
+ for (const item of items) {
25
25
  events.push({
26
26
  type: EVENT_LEFT,
27
27
  item,
@@ -34,13 +34,13 @@ function sweepLine(items, getLeftmost, getRightmost, predicate) {
34
34
  });
35
35
  }
36
36
  events.sort(compare);
37
- let activeItems = new Set();
37
+ const activeItems = new Set();
38
38
  /** A list of pairs of items that passed the predicate */
39
- let pairedItems = [];
40
- for (let event of events) {
41
- let { item } = event;
39
+ const pairedItems = [];
40
+ for (const event of events) {
41
+ const { item } = event;
42
42
  if (event.type === EVENT_LEFT) {
43
- for (let activeItem of activeItems.values()) {
43
+ for (const activeItem of activeItems.values()) {
44
44
  if (predicate(item, activeItem)) {
45
45
  pairedItems.push([item, activeItem]);
46
46
  }
@@ -62,7 +62,7 @@ function sweepLine(items, getLeftmost, getRightmost, predicate) {
62
62
  * @param b Another event
63
63
  */
64
64
  function compare(a, b) {
65
- let res = a.x - b.x;
65
+ const res = a.x - b.x;
66
66
  if (res !== 0) {
67
67
  return res;
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sweep-line.js","sourceRoot":"","sources":["../../src/sweep-line/sweep-line.ts"],"names":[],"mappings":"AACA,cAAc;AACd,MAAM,UAAU,GAAI,CAAC,CAAC;AACtB,cAAc;AACd,MAAM,WAAW,GAAG,CAAC,CAAC;AAOtB;;;;;;;;;;;;;;;GAeG;AACH,SAAS,SAAS,CACV,KAAU,EACV,WAAgC,EAChC,YAAiC,EACjC,SAA0C;IAE9C,mDAAmD;IACnD,IAAI,MAAM,GAAgB,EAAE,CAAC;IAChC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC;YACF,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC;SACvB,CAAC,CAAC;QACT,MAAM,CAAC,IAAI,CAAC;YACF,IAAI,EAAE,WAAW;YACjB,IAAI;YACJ,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;KACT;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErB,IAAI,WAAW,GAAG,IAAI,GAAG,EAAK,CAAC;IAE5B,yDAAyD;IAC5D,IAAI,WAAW,GAAY,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACtB,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAErB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YAC9B,KAAK,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE;gBAC5C,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACpB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;iBACjD;aACD;YAED,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtB;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YACtC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC/B;KACJ;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAeD;;;;;;;GAOG;AACH,SAAS,OAAO,CAAI,CAAY,EAAE,CAAY;IAC1C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,GAAG,KAAK,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;KAAE;IAE9B,2CAA2C;IAC3C,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"sweep-line.js","sourceRoot":"","sources":["../../src/sweep-line/sweep-line.ts"],"names":[],"mappings":"AACA,cAAc;AACd,MAAM,UAAU,GAAI,CAAC,CAAC;AACtB,cAAc;AACd,MAAM,WAAW,GAAG,CAAC,CAAC;AAOtB;;;;;;;;;;;;;;;GAeG;AACH,SAAS,SAAS,CACV,KAAU,EACV,WAAgC,EAChC,YAAiC,EACjC,SAA0C;IAE9C,mDAAmD;IACnD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,MAAM,CAAC,IAAI,CAAC;YACF,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC;SACvB,CAAC,CAAC;QACT,MAAM,CAAC,IAAI,CAAC;YACF,IAAI,EAAE,WAAW;YACjB,IAAI;YACJ,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;KACT;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAK,CAAC;IAE9B,yDAAyD;IAC5D,MAAM,WAAW,GAAY,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QACxB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEvB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YAC9B,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE;gBAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACpB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;iBACjD;aACD;YAED,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtB;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YACtC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC/B;KACJ;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAeD;;;;;;;GAOG;AACH,SAAS,OAAO,CAAI,CAAY,EAAE,CAAY;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtB,IAAI,GAAG,KAAK,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;KAAE;IAE9B,2CAA2C;IAC3C,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -27,16 +27,17 @@ function linearScale(s) {
27
27
  * @param s The scale factor >= 1 (e.g. 1.3)
28
28
  */
29
29
  function toScaleAxis(mat, s, f = linearScale) {
30
+ let timingStart = 0;
30
31
  if (typeof _debug_ !== 'undefined') {
31
- var timingStart = performance.now();
32
- let leaves = getLeaves(mat.cpNode);
32
+ timingStart = performance.now();
33
+ const leaves = getLeaves(mat.cpNode);
33
34
  _debug_.generated.elems.leaves.push(leaves);
34
35
  }
35
36
  /** The largest vertex (as measured by its inscribed disk) */
36
- let cpNodes = [];
37
+ const cpNodes = [];
37
38
  traverseVertices(clone(mat.cpNode), cpNode => { cpNodes.push(cpNode); });
38
- let cpNode = getLargestVertex(cpNodes);
39
- let f_ = f(s);
39
+ const cpNode = getLargestVertex(cpNodes);
40
+ const f_ = f(s);
40
41
  if (typeof _debug_ !== 'undefined') {
41
42
  _debug_.generated.elems.maxVertex.push(cpNode);
42
43
  }
@@ -44,17 +45,17 @@ function toScaleAxis(mat, s, f = linearScale) {
44
45
  * All vertices that are set to be culled initially. This may change later
45
46
  * in order to preserve topology.
46
47
  */
47
- let culls = new Set();
48
- let rMap = new Map();
48
+ const culls = new Set();
49
+ const rMap = new Map();
49
50
  traverseEdges(cpNode, function (cpNode) {
50
51
  /** The occulating radius stored with this vertex. */
51
- let R = rMap.get(cpNode) || f_(cpNode.cp.circle.radius);
52
- let cpNode_ = cpNode.next;
53
- let l = length([0, 1], getCurveToNext(cpNode));
54
- let r = cpNode_.cp.circle.radius;
55
- let r_ = f_(r);
52
+ const R = rMap.get(cpNode) || f_(cpNode.cp.circle.radius);
53
+ const cpNode_ = cpNode.next;
54
+ const l = length([0, 1], getCurveToNext(cpNode));
55
+ const r = cpNode_.cp.circle.radius;
56
+ const r_ = f_(r);
56
57
  if (R - l > r_) {
57
- for (let cpNode of cpNode_.getCpNodesOnCircle()) {
58
+ for (const cpNode of cpNode_.getCpNodesOnCircle()) {
58
59
  rMap.set(cpNode, R - l); // Update osculating radii
59
60
  }
60
61
  culls.add(cpNode_.cp.circle);
@@ -65,8 +66,8 @@ function toScaleAxis(mat, s, f = linearScale) {
65
66
  _debug_.generated.elems.culls.push(Array.from(culls));
66
67
  }
67
68
  // TODO - put line below back - goes into infinite loop
68
- //let sat: Mat = { cpNode, cpTrees: createNewCpTree(cpNode) };
69
- let sat = { cpNode, cpTrees: undefined };
69
+ //const sat: Mat = { cpNode, cpTrees: createNewCpTree(cpNode) };
70
+ const sat = { cpNode, cpTrees: undefined };
70
71
  addDebugInfo(sat, timingStart);
71
72
  return sat;
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"to-scale-axis.js","sourceRoot":"","sources":["../src/to-scale-axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-scale-axis.js","sourceRoot":"","sources":["../src/to-scale-axis.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@
8
8
  function traverseEdges(cpNode, f) {
9
9
  // Since the tree is unrooted we must iterate in all directions from the
10
10
  // given vertex.
11
- let cps = cpNode.getCpNodesOnCircle();
11
+ const cps = cpNode.getCpNodesOnCircle();
12
12
  while (cps.length) {
13
- let cp = cps.pop();
13
+ const cp = cps.pop();
14
14
  f(cp);
15
15
  if (cp.isTerminating()) {
16
16
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"traverse-edges.js","sourceRoot":"","sources":["../src/traverse-edges.ts"],"names":[],"mappings":"AAGA;;;;;;IAMI;AACJ,SAAS,aAAa,CACpB,MAAc,EACd,CAA2B;IAE5B,wEAAwE;IACxE,gBAAgB;IAChB,IAAI,GAAG,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAEtC,OAAO,GAAG,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC,CAAC;QAEN,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE;YAAE,SAAS;SAAE;QACrC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;KAC9B;AACF,CAAC;AAGD,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"traverse-edges.js","sourceRoot":"","sources":["../src/traverse-edges.ts"],"names":[],"mappings":"AAGA;;;;;;IAMI;AACJ,SAAS,aAAa,CACpB,MAAc,EACd,CAA2B;IAE5B,wEAAwE;IACxE,gBAAgB;IAChB,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAExC,OAAO,GAAG,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,CAAC;QAEN,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE;YAAE,SAAS;SAAE;QACrC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;KAC9B;AACF,CAAC;AAGD,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -16,9 +16,9 @@ function traverseVertices(cpNode, f) {
16
16
  .map(cpNode => cpNode.next)
17
17
  .forEach(f_);
18
18
  function f_(cpNode) {
19
- let cps = [cpNode];
19
+ const cps = [cpNode];
20
20
  while (cps.length) {
21
- let cp = cps.pop();
21
+ const cp = cps.pop();
22
22
  f(cp);
23
23
  cps.push(...cp.vertexChildren);
24
24
  }