flo-mat 3.0.1 → 3.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 (819) hide show
  1. package/.mocharc.cjs +1 -1
  2. package/README.md +7 -7
  3. package/browser/index.min.js +1 -1
  4. package/newdocs/README.md +41 -0
  5. package/newdocs/babel.config.js +3 -0
  6. package/newdocs/blog/2019-05-28-first-blog-post.md +12 -0
  7. package/newdocs/blog/2019-05-29-long-blog-post.md +44 -0
  8. package/newdocs/blog/2021-08-01-mdx-blog-post.mdx +20 -0
  9. package/newdocs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  10. package/newdocs/blog/2021-08-26-welcome/index.md +25 -0
  11. package/newdocs/blog/authors.yml +17 -0
  12. package/newdocs/docs/Introduction.md +78 -0
  13. package/newdocs/docs/aaa.md +23 -0
  14. package/newdocs/docusaurus.config.js +139 -0
  15. package/newdocs/package-lock.json +12697 -0
  16. package/newdocs/package.json +46 -0
  17. package/newdocs/sidebars.js +33 -0
  18. package/newdocs/src/components/HomepageFeatures/index.tsx +46 -0
  19. package/newdocs/src/components/HomepageFeatures/styles.module.css +11 -0
  20. package/newdocs/src/css/custom.css +30 -0
  21. package/newdocs/src/pages/index.module.css +23 -0
  22. package/newdocs/src/pages/index.tsx +43 -0
  23. package/newdocs/src/pages/markdown-page.md +7 -0
  24. package/newdocs/static/.nojekyll +0 -0
  25. package/newdocs/static/img/docusaurus-social-card.jpg +0 -0
  26. package/newdocs/static/img/docusaurus.png +0 -0
  27. package/newdocs/static/img/favicon.ico +0 -0
  28. package/newdocs/static/img/favicon1.ico +0 -0
  29. package/newdocs/static/img/favicon_io/android-chrome-192x192.png +0 -0
  30. package/newdocs/static/img/favicon_io/android-chrome-512x512.png +0 -0
  31. package/newdocs/static/img/favicon_io/apple-touch-icon.png +0 -0
  32. package/newdocs/static/img/favicon_io/favicon-16x16.png +0 -0
  33. package/newdocs/static/img/favicon_io/favicon-32x32.png +0 -0
  34. package/newdocs/static/img/favicon_io/favicon.ico +0 -0
  35. package/newdocs/static/img/favicon_io/site.webmanifest +1 -0
  36. package/newdocs/static/img/favicon_io.zip +0 -0
  37. package/newdocs/static/img/logo.png +0 -0
  38. package/newdocs/static/img/logo.svg +1 -0
  39. package/newdocs/static/img/undraw_books_re_8gea.svg +1 -0
  40. package/newdocs/static/img/undraw_docusaurus_mountain.svg +171 -0
  41. package/newdocs/static/img/undraw_docusaurus_react.svg +170 -0
  42. package/newdocs/static/img/undraw_docusaurus_tree.svg +40 -0
  43. package/newdocs/tsconfig.json +7 -0
  44. package/node/add-n-prong.ts/join-spokes.d.ts +4 -0
  45. package/node/add-n-prong.ts/join-spokes.js +24 -0
  46. package/node/add-n-prong.ts/join-spokes.js.map +1 -0
  47. package/node/bezier/fit-quads-to-cubic.d.ts +19 -0
  48. package/node/bezier/fit-quads-to-cubic.js +83 -0
  49. package/node/bezier/fit-quads-to-cubic.js.map +1 -0
  50. package/node/bezier/total-curvature.d.ts +2 -0
  51. package/node/bezier/total-curvature.js +5 -0
  52. package/node/bezier/total-curvature.js.map +1 -0
  53. package/node/bezier/total-length.d.ts +2 -0
  54. package/node/bezier/total-length.js +5 -0
  55. package/node/bezier/total-length.js.map +1 -0
  56. package/node/closest-boundary-point/cull-bezier-pieces.d.ts +2 -2
  57. package/node/closest-boundary-point/cull-bezier-pieces.js.map +1 -1
  58. package/node/closest-boundary-point/cull-by-loose-bounding-box.d.ts +2 -2
  59. package/node/closest-boundary-point/cull-by-loose-bounding-box.js +2 -2
  60. package/node/closest-boundary-point/cull-by-loose-bounding-box.js.map +1 -1
  61. package/node/closest-boundary-point/cull-by-tight-boundary-box.d.ts +2 -2
  62. package/node/closest-boundary-point/cull-by-tight-boundary-box.js.map +1 -1
  63. package/node/closest-boundary-point/dd-deflate-with-running-error.js.map +1 -1
  64. package/node/closest-boundary-point/foot-and-endpoint-info.d.ts +1 -1
  65. package/node/closest-boundary-point/get-best-distance-squared.d.ts +2 -2
  66. package/node/closest-boundary-point/get-best-distance-squared.js.map +1 -1
  67. package/node/closest-boundary-point/get-close-boundary-points-certified.d.ts +6 -3
  68. package/node/closest-boundary-point/get-close-boundary-points-certified.js +6 -3
  69. package/node/closest-boundary-point/get-close-boundary-points-certified.js.map +1 -1
  70. package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.d.ts +5 -1
  71. package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.js +22 -5
  72. package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.js.map +1 -1
  73. package/node/closest-boundary-point/root-interval-to-distance-squared-interval.d.ts +1 -1
  74. package/node/closest-boundary-point/root-interval-to-distance-squared-interval.js +13 -8
  75. package/node/closest-boundary-point/root-interval-to-distance-squared-interval.js.map +1 -1
  76. package/node/contact-point/contact-point.js.map +1 -1
  77. package/node/corner/compare-curvatures-at-interface.js +37 -54
  78. package/node/corner/compare-curvatures-at-interface.js.map +1 -1
  79. package/node/corner/corner.d.ts +0 -1
  80. package/node/corner/get-corner.d.ts +1 -1
  81. package/node/corner/get-corner.js +9 -21
  82. package/node/corner/get-corner.js.map +1 -1
  83. package/node/corner/get-interface-ccw.d.ts +6 -7
  84. package/node/corner/get-interface-ccw.js +63 -46
  85. package/node/corner/get-interface-ccw.js.map +1 -1
  86. package/node/cp-node/cp-node-fs.d.ts +225 -0
  87. package/node/cp-node/cp-node-fs.js +228 -0
  88. package/node/cp-node/cp-node-fs.js.map +1 -0
  89. package/node/cp-node/cp-node.d.ts +22 -128
  90. package/node/cp-node/cp-node.js +1 -248
  91. package/node/cp-node/cp-node.js.map +1 -1
  92. package/node/cp-node/{clone.d.ts → fs/clone.d.ts} +1 -1
  93. package/node/cp-node/{clone.js → fs/clone.js} +14 -5
  94. package/node/cp-node/fs/clone.js.map +1 -0
  95. package/node/cp-node/fs/cp-nodes-to-boundary-beziers.d.ts +3 -0
  96. package/node/cp-node/fs/cp-nodes-to-boundary-beziers.js +6 -0
  97. package/node/cp-node/fs/cp-nodes-to-boundary-beziers.js.map +1 -0
  98. package/node/cp-node/{enhance-cp-node.d.ts → fs/enhance-cp-node.d.ts} +14 -4
  99. package/node/cp-node/{enhance-cp-node.js → fs/enhance-cp-node.js} +8 -1
  100. package/node/cp-node/fs/enhance-cp-node.js.map +1 -0
  101. package/node/cp-node/fs/find-first.d.ts +3 -0
  102. package/node/cp-node/fs/find-first.js +16 -0
  103. package/node/cp-node/fs/find-first.js.map +1 -0
  104. package/node/cp-node/fs/get-all-between.d.ts +17 -0
  105. package/node/cp-node/fs/get-all-between.js +31 -0
  106. package/node/cp-node/fs/get-all-between.js.map +1 -0
  107. package/node/cp-node/fs/get-all-on-circle.d.ts +3 -0
  108. package/node/cp-node/fs/get-all-on-circle.js +14 -0
  109. package/node/cp-node/fs/get-all-on-circle.js.map +1 -0
  110. package/node/cp-node/fs/get-all-on-loop.d.ts +3 -0
  111. package/node/cp-node/fs/get-all-on-loop.js +12 -0
  112. package/node/cp-node/fs/get-all-on-loop.js.map +1 -0
  113. package/node/cp-node/fs/get-all-vertices.d.ts +3 -0
  114. package/node/cp-node/fs/get-all-vertices.js +10 -0
  115. package/node/cp-node/fs/get-all-vertices.js.map +1 -0
  116. package/node/cp-node/fs/get-angle-between-mat-curves.d.ts +9 -0
  117. package/node/cp-node/fs/get-angle-between-mat-curves.js +18 -0
  118. package/node/cp-node/fs/get-angle-between-mat-curves.js.map +1 -0
  119. package/node/cp-node/{get-boundary-bezier-parts-to-next.d.ts → fs/get-boundary-bezier-parts-to-next.d.ts} +1 -6
  120. package/node/cp-node/{get-boundary-bezier-parts-to-next.js → fs/get-boundary-bezier-parts-to-next.js} +0 -5
  121. package/node/cp-node/fs/get-boundary-bezier-parts-to-next.js.map +1 -0
  122. package/node/cp-node/fs/get-boundary-beziers-between.d.ts +17 -0
  123. package/node/cp-node/fs/get-boundary-beziers-between.js +22 -0
  124. package/node/cp-node/fs/get-boundary-beziers-between.js.map +1 -0
  125. package/node/cp-node/fs/get-boundary-beziers-to-next.d.ts +3 -0
  126. package/node/cp-node/{get-boundary-beziers-to-next.js → fs/get-boundary-beziers-to-next.js} +2 -7
  127. package/node/cp-node/fs/get-boundary-beziers-to-next.js.map +1 -0
  128. package/node/cp-node/fs/get-branch-beziers.d.ts +8 -0
  129. package/node/cp-node/fs/get-branch-beziers.js +12 -0
  130. package/node/cp-node/fs/get-branch-beziers.js.map +1 -0
  131. package/node/cp-node/fs/get-branch.d.ts +10 -0
  132. package/node/cp-node/fs/get-branch.js +33 -0
  133. package/node/cp-node/fs/get-branch.js.map +1 -0
  134. package/node/cp-node/fs/get-children.d.ts +3 -0
  135. package/node/cp-node/fs/get-children.js +12 -0
  136. package/node/cp-node/fs/get-children.js.map +1 -0
  137. package/node/cp-node/{get-cp-node-ordering.d.ts → fs/get-cp-node-ordering.d.ts} +5 -1
  138. package/node/cp-node/{get-cp-node-ordering.js → fs/get-cp-node-ordering.js} +4 -0
  139. package/node/cp-node/fs/get-cp-node-ordering.js.map +1 -0
  140. package/node/cp-node/fs/get-distance-to-next.d.ts +4 -0
  141. package/node/cp-node/fs/get-distance-to-next.js +11 -0
  142. package/node/cp-node/fs/get-distance-to-next.js.map +1 -0
  143. package/node/cp-node/fs/get-edge-direction.d.ts +3 -0
  144. package/node/{get-curve → cp-node/fs}/get-edge-direction.js +1 -7
  145. package/node/cp-node/fs/get-edge-direction.js.map +1 -0
  146. package/node/cp-node/fs/get-first-exit.d.ts +3 -0
  147. package/node/cp-node/fs/get-first-exit.js +15 -0
  148. package/node/cp-node/fs/get-first-exit.js.map +1 -0
  149. package/node/cp-node/fs/get-hole-closers.d.ts +3 -0
  150. package/node/cp-node/fs/get-hole-closers.js +7 -0
  151. package/node/cp-node/fs/get-hole-closers.js.map +1 -0
  152. package/node/cp-node/fs/get-implied-boundary-bezier-between.d.ts +3 -0
  153. package/node/cp-node/fs/get-implied-boundary-bezier-between.js +58 -0
  154. package/node/cp-node/fs/get-implied-boundary-bezier-between.js.map +1 -0
  155. package/node/cp-node/fs/get-mat-curve-between.d.ts +3 -0
  156. package/node/{get-curve/get-curve-between.js → cp-node/fs/get-mat-curve-between.js} +3 -9
  157. package/node/cp-node/fs/get-mat-curve-between.js.map +1 -0
  158. package/node/cp-node/fs/get-mat-curve-to-next.d.ts +4 -0
  159. package/node/cp-node/fs/get-mat-curve-to-next.js +8 -0
  160. package/node/cp-node/fs/get-mat-curve-to-next.js.map +1 -0
  161. package/node/cp-node/fs/get-mat-curves-between.d.ts +3 -0
  162. package/node/cp-node/fs/get-mat-curves-between.js +13 -0
  163. package/node/cp-node/fs/get-mat-curves-between.js.map +1 -0
  164. package/node/cp-node/fs/get-non-terminating-on-circle.d.ts +3 -0
  165. package/node/cp-node/fs/get-non-terminating-on-circle.js +15 -0
  166. package/node/cp-node/fs/get-non-terminating-on-circle.js.map +1 -0
  167. package/node/cp-node/fs/get-prong-count.d.ts +3 -0
  168. package/node/cp-node/fs/get-prong-count.js +12 -0
  169. package/node/cp-node/fs/get-prong-count.js.map +1 -0
  170. package/node/cp-node/fs/get-real-prong-count.d.ts +3 -0
  171. package/node/cp-node/fs/get-real-prong-count.js +9 -0
  172. package/node/cp-node/fs/get-real-prong-count.js.map +1 -0
  173. package/node/cp-node/fs/get-salience.d.ts +7 -0
  174. package/node/cp-node/fs/get-salience.js +20 -0
  175. package/node/cp-node/fs/get-salience.js.map +1 -0
  176. package/node/cp-node/fs/get-smoothed-speed.d.ts +3 -0
  177. package/node/cp-node/fs/get-smoothed-speed.js +75 -0
  178. package/node/cp-node/fs/get-smoothed-speed.js.map +1 -0
  179. package/node/cp-node/fs/get-speed.d.ts +4 -0
  180. package/node/cp-node/fs/get-speed.js +40 -0
  181. package/node/cp-node/fs/get-speed.js.map +1 -0
  182. package/node/cp-node/fs/get-vertex-forward-children.d.ts +3 -0
  183. package/node/cp-node/fs/get-vertex-forward-children.js +15 -0
  184. package/node/cp-node/fs/get-vertex-forward-children.js.map +1 -0
  185. package/node/cp-node/fs/insert-cp-node.d.ts +5 -0
  186. package/node/cp-node/fs/insert-cp-node.js +21 -0
  187. package/node/cp-node/fs/insert-cp-node.js.map +1 -0
  188. package/node/cp-node/fs/is-fully-terminating.d.ts +3 -0
  189. package/node/cp-node/fs/is-fully-terminating.js +8 -0
  190. package/node/cp-node/fs/is-fully-terminating.js.map +1 -0
  191. package/node/cp-node/fs/is-on-same-circle.d.ts +3 -0
  192. package/node/cp-node/fs/is-on-same-circle.js +8 -0
  193. package/node/cp-node/fs/is-on-same-circle.js.map +1 -0
  194. package/node/cp-node/fs/is-one-prong.d.ts +3 -0
  195. package/node/cp-node/fs/is-one-prong.js +13 -0
  196. package/node/cp-node/fs/is-one-prong.js.map +1 -0
  197. package/node/cp-node/fs/is-order-correct.d.ts +5 -0
  198. package/node/cp-node/fs/is-order-correct.js +26 -0
  199. package/node/cp-node/fs/is-order-correct.js.map +1 -0
  200. package/node/cp-node/fs/is-sharp.d.ts +3 -0
  201. package/node/cp-node/fs/is-sharp.js +5 -0
  202. package/node/cp-node/fs/is-sharp.js.map +1 -0
  203. package/node/cp-node/fs/is-special.d.ts +3 -0
  204. package/node/cp-node/fs/is-special.js +9 -0
  205. package/node/cp-node/fs/is-special.js.map +1 -0
  206. package/node/cp-node/fs/is-terminating.d.ts +3 -0
  207. package/node/cp-node/fs/is-terminating.js +5 -0
  208. package/node/cp-node/fs/is-terminating.js.map +1 -0
  209. package/node/cp-node/fs/is-trivial.d.ts +6 -0
  210. package/node/cp-node/fs/is-trivial.js +10 -0
  211. package/node/cp-node/fs/is-trivial.js.map +1 -0
  212. package/node/cp-node/fs/is-two-prong.d.ts +3 -0
  213. package/node/cp-node/fs/is-two-prong.js +6 -0
  214. package/node/cp-node/fs/is-two-prong.js.map +1 -0
  215. package/node/cp-node/fs/is-vertex-special.d.ts +2 -0
  216. package/node/cp-node/fs/is-vertex-special.js +5 -0
  217. package/node/cp-node/fs/is-vertex-special.js.map +1 -0
  218. package/node/cp-node/fs/is-vertex.d.ts +3 -0
  219. package/node/cp-node/fs/is-vertex.js +6 -0
  220. package/node/cp-node/fs/is-vertex.js.map +1 -0
  221. package/node/cp-node/fs/remove-cp-node.d.ts +5 -0
  222. package/node/cp-node/fs/remove-cp-node.js +10 -0
  223. package/node/cp-node/fs/remove-cp-node.js.map +1 -0
  224. package/node/cp-node/fs/traverse-cp.d.ts +3 -0
  225. package/node/cp-node/{traverse-cp.js → fs/traverse-cp.js} +2 -10
  226. package/node/cp-node/fs/traverse-cp.js.map +1 -0
  227. package/node/cp-node/fs/traverse-edges.d.ts +5 -0
  228. package/node/cp-node/fs/traverse-edges.js +47 -0
  229. package/node/cp-node/fs/traverse-edges.js.map +1 -0
  230. package/node/cp-node/fs/traverse-vertices.d.ts +3 -0
  231. package/node/cp-node/fs/traverse-vertices.js +21 -0
  232. package/node/cp-node/fs/traverse-vertices.js.map +1 -0
  233. package/node/curve/curve.d.ts +1 -8
  234. package/node/curve/curve.js +1 -13
  235. package/node/curve/curve.js.map +1 -1
  236. package/node/debug/debug-elem-types.d.ts +24 -29
  237. package/node/debug/debug-elem-types.js +22 -1
  238. package/node/debug/debug-elem-types.js.map +1 -1
  239. package/node/debug/debug.d.ts +4 -8
  240. package/node/debug/debug.js +16 -17
  241. package/node/debug/debug.js.map +1 -1
  242. package/node/debug/functions/draw/draw-beziers-as-single-path.d.ts +2 -0
  243. package/node/debug/functions/draw/draw-beziers-as-single-path.js +30 -0
  244. package/node/debug/functions/draw/draw-beziers-as-single-path.js.map +1 -0
  245. package/node/debug/functions/draw/xmlns.d.ts +2 -0
  246. package/node/debug/functions/draw/xmlns.js +3 -0
  247. package/node/debug/functions/draw/xmlns.js.map +1 -0
  248. package/node/debug/functions/draw-elem/draw-branch.d.ts +4 -0
  249. package/node/debug/functions/draw-elem/draw-branch.js +26 -0
  250. package/node/debug/functions/draw-elem/draw-branch.js.map +1 -0
  251. package/node/debug/functions/draw-elem/draw-cp-node.d.ts +4 -0
  252. package/node/debug/functions/draw-elem/draw-cp-node.js +26 -0
  253. package/node/debug/functions/draw-elem/draw-cp-node.js.map +1 -0
  254. package/node/debug/functions/draw-elem/draw-cull.d.ts +3 -0
  255. package/node/debug/functions/draw-elem/draw-cull.js +9 -0
  256. package/node/debug/functions/draw-elem/draw-cull.js.map +1 -0
  257. package/node/debug/functions/draw-elem/{dull-corner.js → draw-dull-corner.js} +1 -1
  258. package/node/debug/functions/draw-elem/draw-dull-corner.js.map +1 -0
  259. package/node/debug/functions/draw-elem/draw-elem.d.ts +7 -5
  260. package/node/debug/functions/draw-elem/draw-elem.js +33 -36
  261. package/node/debug/functions/draw-elem/draw-elem.js.map +1 -1
  262. package/node/debug/functions/draw-elem/draw-leaves.d.ts +4 -0
  263. package/node/debug/functions/draw-elem/draw-leaves.js +34 -0
  264. package/node/debug/functions/draw-elem/draw-leaves.js.map +1 -0
  265. package/node/debug/functions/draw-elem/{loop.js → draw-loop.js} +1 -1
  266. package/node/debug/functions/draw-elem/draw-loop.js.map +1 -0
  267. package/node/debug/functions/draw-elem/{loops.js → draw-loops.js} +1 -1
  268. package/node/debug/functions/draw-elem/draw-loops.js.map +1 -0
  269. package/node/debug/functions/draw-elem/{loose-bounding-box.js → draw-loose-bounding-box.js} +1 -1
  270. package/node/debug/functions/draw-elem/draw-loose-bounding-box.js.map +1 -0
  271. package/node/debug/functions/draw-elem/draw-mat.d.ts +4 -0
  272. package/node/debug/functions/draw-elem/draw-mat.js +38 -0
  273. package/node/debug/functions/draw-elem/draw-mat.js.map +1 -0
  274. package/node/debug/functions/draw-elem/{max-vertex.js → draw-max-vertex.js} +1 -1
  275. package/node/debug/functions/draw-elem/draw-max-vertex.js.map +1 -0
  276. package/node/debug/functions/draw-elem/{min-y.js → draw-min-y.js} +1 -1
  277. package/node/debug/functions/draw-elem/draw-min-y.js.map +1 -0
  278. package/node/debug/functions/draw-elem/{one-prong-at-dull-corner.js → draw-one-prong-at-dull-corner.js} +1 -1
  279. package/node/debug/functions/draw-elem/draw-one-prong-at-dull-corner.js.map +1 -0
  280. package/node/debug/functions/draw-elem/{one-prong.js → draw-one-prong.js} +1 -1
  281. package/node/debug/functions/draw-elem/draw-one-prong.js.map +1 -0
  282. package/node/debug/functions/draw-elem/{sharp-corner.js → draw-sharp-corner.js} +1 -1
  283. package/node/debug/functions/draw-elem/draw-sharp-corner.js.map +1 -0
  284. package/node/debug/functions/draw-elem/draw-speed.d.ts +4 -0
  285. package/node/debug/functions/draw-elem/draw-speed.js +21 -0
  286. package/node/debug/functions/draw-elem/draw-speed.js.map +1 -0
  287. package/node/debug/functions/draw-elem/draw-three-prong.d.ts +4 -0
  288. package/node/debug/functions/draw-elem/draw-three-prong.js +26 -0
  289. package/node/debug/functions/draw-elem/draw-three-prong.js.map +1 -0
  290. package/node/debug/functions/draw-elem/{tight-bounding-box.js → draw-tight-bounding-box.js} +1 -1
  291. package/node/debug/functions/draw-elem/draw-tight-bounding-box.js.map +1 -0
  292. package/node/debug/functions/draw-elem/draw-two-prong.d.ts +4 -0
  293. package/node/debug/functions/draw-elem/draw-two-prong.js +48 -0
  294. package/node/debug/functions/draw-elem/draw-two-prong.js.map +1 -0
  295. package/node/debug/functions/draw-elem/{vertex.d.ts → draw-vertex.d.ts} +1 -2
  296. package/node/debug/functions/draw-elem/draw-vertex.js +15 -0
  297. package/node/debug/functions/draw-elem/draw-vertex.js.map +1 -0
  298. package/node/find-2-prong/add-1-prong.d.ts +3 -5
  299. package/node/find-2-prong/add-1-prong.js +15 -16
  300. package/node/find-2-prong/add-1-prong.js.map +1 -1
  301. package/node/find-2-prong/add-2-prong.d.ts +6 -6
  302. package/node/find-2-prong/add-2-prong.js +45 -124
  303. package/node/find-2-prong/add-2-prong.js.map +1 -1
  304. package/node/find-2-prong/calc-seperation-tolerance.d.ts +2 -0
  305. package/node/find-2-prong/calc-seperation-tolerance.js +86 -0
  306. package/node/find-2-prong/calc-seperation-tolerance.js.map +1 -0
  307. package/node/find-2-prong/cull-bezier-pieces.d.ts +2 -2
  308. package/node/find-2-prong/cull-bezier-pieces.js +2 -2
  309. package/node/find-2-prong/cull-bezier-pieces.js.map +1 -1
  310. package/node/find-2-prong/find-2-prong.d.ts +4 -6
  311. package/node/find-2-prong/find-2-prong.js +69 -54
  312. package/node/find-2-prong/find-2-prong.js.map +1 -1
  313. package/node/find-2-prong/find-and-add-2-prong.d.ts +11 -0
  314. package/node/find-2-prong/find-and-add-2-prong.js +19 -0
  315. package/node/find-2-prong/find-and-add-2-prong.js.map +1 -0
  316. package/node/find-2-prong/find-and-add-2-prongs-on-all-loops.d.ts +14 -0
  317. package/node/find-2-prong/find-and-add-2-prongs-on-all-loops.js +21 -0
  318. package/node/find-2-prong/find-and-add-2-prongs-on-all-loops.js.map +1 -0
  319. package/node/find-2-prong/find-and-add-2-prongs.d.ts +5 -9
  320. package/node/find-2-prong/find-and-add-2-prongs.js +17 -21
  321. package/node/find-2-prong/find-and-add-2-prongs.js.map +1 -1
  322. package/node/find-2-prong/find-and-add-hole-closing-2-prongs.d.ts +3 -4
  323. package/node/find-2-prong/find-and-add-hole-closing-2-prongs.js +8 -8
  324. package/node/find-2-prong/find-and-add-hole-closing-2-prongs.js.map +1 -1
  325. package/node/find-2-prong/find-equidistant-point-on-line-dd.js.map +1 -1
  326. package/node/find-2-prong/get-initial-bezier-pieces.d.ts +2 -8
  327. package/node/find-2-prong/get-initial-bezier-pieces.js +13 -21
  328. package/node/find-2-prong/get-initial-bezier-pieces.js.map +1 -1
  329. package/node/find-2-prong/reduce-radius.d.ts +2 -2
  330. package/node/find-2-prong/reduce-radius.js +10 -19
  331. package/node/find-2-prong/reduce-radius.js.map +1 -1
  332. package/node/find-3-prong.ts/calc-better-x.d.ts +3 -3
  333. package/node/find-3-prong.ts/calc-better-x.js +4 -4
  334. package/node/find-3-prong.ts/calc-better-x.js.map +1 -1
  335. package/node/find-3-prong.ts/calc-initial-3-prong-center.d.ts +2 -2
  336. package/node/find-3-prong.ts/calc-initial-3-prong-center.js +6 -3
  337. package/node/find-3-prong.ts/calc-initial-3-prong-center.js.map +1 -1
  338. package/node/find-3-prong.ts/find-3-prong-for-delta3s.d.ts +4 -4
  339. package/node/find-3-prong.ts/find-3-prong-for-delta3s.js +24 -33
  340. package/node/find-3-prong.ts/find-3-prong-for-delta3s.js.map +1 -1
  341. package/node/find-3-prong.ts/find-3-prong.d.ts +1 -1
  342. package/node/find-3-prong.ts/find-3-prong.js +2 -61
  343. package/node/find-3-prong.ts/find-3-prong.js.map +1 -1
  344. package/node/find-3-prong.ts/find-and-add-3-prong.d.ts +15 -0
  345. package/node/find-3-prong.ts/find-and-add-3-prong.js +43 -0
  346. package/node/find-3-prong.ts/find-and-add-3-prong.js.map +1 -0
  347. package/node/find-3-prong.ts/find-and-add-3-prongs-on-loop.d.ts +11 -0
  348. package/node/find-3-prong.ts/find-and-add-3-prongs-on-loop.js +63 -0
  349. package/node/find-3-prong.ts/find-and-add-3-prongs-on-loop.js.map +1 -0
  350. package/node/find-3-prong.ts/find-and-add-3-prongs.d.ts +22 -3
  351. package/node/find-3-prong.ts/find-and-add-3-prongs.js +28 -55
  352. package/node/find-3-prong.ts/find-and-add-3-prongs.js.map +1 -1
  353. package/node/find-3-prong.ts/get-closest-points.d.ts +2 -2
  354. package/node/find-3-prong.ts/get-closest-points.js +2 -1
  355. package/node/find-3-prong.ts/get-closest-points.js.map +1 -1
  356. package/node/find-mat/clip-options.d.ts +3 -0
  357. package/node/find-mat/clip-options.js +32 -0
  358. package/node/find-mat/clip-options.js.map +1 -0
  359. package/node/find-mat/{create-initial-cp-graph.d.ts → create-initial-cp-tree.d.ts} +5 -2
  360. package/node/find-mat/{create-initial-cp-graph.js → create-initial-cp-tree.js} +11 -10
  361. package/node/find-mat/create-initial-cp-tree.js.map +1 -0
  362. package/node/find-mat/find-mat.d.ts +7 -2
  363. package/node/find-mat/find-mat.js +34 -22
  364. package/node/find-mat/find-mat.js.map +1 -1
  365. package/node/find-mat/find-mats.d.ts +4 -2
  366. package/node/find-mat/find-mats.js +27 -10
  367. package/node/find-mat/find-mats.js.map +1 -1
  368. package/node/find-mat/{get-dull-corners.js → get-dull-corners-on-loop.js} +3 -3
  369. package/node/find-mat/get-dull-corners-on-loop.js.map +1 -0
  370. package/node/find-mat/get-for-1-prongs-on-loop.js +15 -5
  371. package/node/find-mat/get-for-1-prongs-on-loop.js.map +1 -1
  372. package/node/find-mat/get-for-2-prongs-on-loop.js +14 -10
  373. package/node/find-mat/get-for-2-prongs-on-loop.js.map +1 -1
  374. package/node/find-mat/get-meta.d.ts +11 -0
  375. package/node/find-mat/get-meta.js +82 -0
  376. package/node/find-mat/get-meta.js.map +1 -0
  377. package/node/find-mat/get-sharp-corners.js +3 -2
  378. package/node/find-mat/get-sharp-corners.js.map +1 -1
  379. package/node/find-mat/mat-options.d.ts +88 -0
  380. package/node/find-mat/mat-options.js +36 -0
  381. package/node/find-mat/mat-options.js.map +1 -0
  382. package/node/floyd-warshall/floyd-warshall.d.ts +7 -0
  383. package/node/floyd-warshall/floyd-warshall.js +67 -0
  384. package/node/floyd-warshall/floyd-warshall.js.map +1 -0
  385. package/node/floyd-warshall/get-graph.d.ts +3 -0
  386. package/node/floyd-warshall/get-graph.js +54 -0
  387. package/node/floyd-warshall/get-graph.js.map +1 -0
  388. package/node/floyd-warshall/get-hole-closer-pairs.d.ts +3 -0
  389. package/node/floyd-warshall/get-hole-closer-pairs.js +19 -0
  390. package/node/floyd-warshall/get-hole-closer-pairs.js.map +1 -0
  391. package/node/geometry/circle.js.map +1 -1
  392. package/node/geometry/get-bounding-box-.d.ts +2 -2
  393. package/node/geometry/get-bounding-box-.js +2 -2
  394. package/node/geometry/get-bounding-box-.js.map +1 -1
  395. package/node/geometry/get-closest-square-distance-to-rect.js.map +1 -1
  396. package/node/geometry/get-closest-squared-distance-to-rotated-rect.js.map +1 -1
  397. package/node/index.d.ts +50 -40
  398. package/node/index.js +34 -37
  399. package/node/index.js.map +1 -1
  400. package/node/loop/get-max-coordinate.js.map +1 -1
  401. package/node/mat/{add-to-cp-graph.d.ts → add-to-cp-tree.d.ts} +6 -4
  402. package/node/mat/add-to-cp-tree.js +34 -0
  403. package/node/mat/add-to-cp-tree.js.map +1 -0
  404. package/node/mat/connect-hole-closers.d.ts +3 -0
  405. package/node/mat/connect-hole-closers.js +5 -0
  406. package/node/mat/connect-hole-closers.js.map +1 -0
  407. package/node/mat/create-new-cp-tree.d.ts +1 -1
  408. package/node/mat/create-new-cp-tree.js +2 -1
  409. package/node/mat/create-new-cp-tree.js.map +1 -1
  410. package/node/mat/{bezier-piece.d.ts → curve-piece.d.ts} +2 -2
  411. package/node/mat/curve-piece.js +2 -0
  412. package/node/mat/curve-piece.js.map +1 -0
  413. package/node/mat/get-boundary-piece-beziers.d.ts +3 -2
  414. package/node/mat/get-boundary-piece-beziers.js +2 -3
  415. package/node/mat/get-boundary-piece-beziers.js.map +1 -1
  416. package/node/mat/get-branches.d.ts +1 -10
  417. package/node/mat/get-branches.js +23 -60
  418. package/node/mat/get-branches.js.map +1 -1
  419. package/node/mat/get-closeby-cp-if-exist.d.ts +17 -0
  420. package/node/mat/{is-another-cp-closeby.js → get-closeby-cp-if-exist.js} +17 -13
  421. package/node/mat/get-closeby-cp-if-exist.js.map +1 -0
  422. package/node/mat/get-cp-node-to-left-or-same.d.ts +18 -0
  423. package/node/mat/get-cp-node-to-left-or-same.js +29 -0
  424. package/node/mat/get-cp-node-to-left-or-same.js.map +1 -0
  425. package/node/mat/get-largest-vertex.d.ts +1 -1
  426. package/node/mat/get-largest-vertex.js +3 -1
  427. package/node/mat/get-largest-vertex.js.map +1 -1
  428. package/node/mat/mat-meta.d.ts +24 -0
  429. package/node/mat/mat-meta.js +2 -0
  430. package/node/mat/mat-meta.js.map +1 -0
  431. package/node/mat/mat.d.ts +6 -6
  432. package/node/mat/simplify-mat.d.ts +2 -2
  433. package/node/mat/simplify-mat.js +31 -20
  434. package/node/mat/simplify-mat.js.map +1 -1
  435. package/node/mat/trim-mat.js +8 -2
  436. package/node/mat/trim-mat.js.map +1 -1
  437. package/node/memoize-primitive.d.ts +11 -0
  438. package/node/memoize-primitive.js +25 -0
  439. package/node/memoize-primitive.js.map +1 -0
  440. package/node/point-on-shape/calc-pos-order.js +1 -2
  441. package/node/point-on-shape/calc-pos-order.js.map +1 -1
  442. package/node/point-on-shape/compare-poss.js.map +1 -1
  443. package/node/point-on-shape/create-pos.d.ts +1 -1
  444. package/node/point-on-shape/create-pos.js +2 -3
  445. package/node/point-on-shape/create-pos.js.map +1 -1
  446. package/node/point-on-shape/get-osculating-circle.d.ts +3 -1
  447. package/node/point-on-shape/get-osculating-circle.js +6 -2
  448. package/node/point-on-shape/get-osculating-circle.js.map +1 -1
  449. package/node/point-on-shape/get-pos-corner.js +4 -2
  450. package/node/point-on-shape/get-pos-corner.js.map +1 -1
  451. package/node/point-on-shape/is-pos-quite-sharp-corner.js.map +1 -1
  452. package/node/point-on-shape/is-pos-sharp-corner.js.map +1 -1
  453. package/node/point-on-shape/point-on-shape.d.ts +1 -1
  454. package/node/sat/add-debug-info.d.ts +1 -2
  455. package/node/sat/add-debug-info.js +1 -2
  456. package/node/sat/add-debug-info.js.map +1 -1
  457. package/node/sat/cull-non-cycles.js +2 -2
  458. package/node/sat/cull-non-cycles.js.map +1 -1
  459. package/node/sat/cull.d.ts +2 -2
  460. package/node/sat/cull.js +44 -29
  461. package/node/sat/cull.js.map +1 -1
  462. package/node/sat/get-leaves.js +4 -2
  463. package/node/sat/get-leaves.js.map +1 -1
  464. package/node/sat/get-sat-culls.d.ts +4 -0
  465. package/node/sat/get-sat-culls.js +33 -0
  466. package/node/sat/get-sat-culls.js.map +1 -0
  467. package/node/sat/to-scale-axis.js +13 -44
  468. package/node/sat/to-scale-axis.js.map +1 -1
  469. package/node/svg/get-loop-bounds.js.map +1 -1
  470. package/node/svg/get-min-y-pos.d.ts +1 -1
  471. package/node/svg/get-shape-bounds.js.map +1 -1
  472. package/node/sweep-line/sweep-line.js.map +1 -1
  473. package/node/utils/dual-set.d.ts +27 -0
  474. package/node/utils/dual-set.js +55 -0
  475. package/node/utils/dual-set.js.map +1 -0
  476. package/node/utils/sleep.d.ts +2 -0
  477. package/node/utils/sleep.js +5 -0
  478. package/node/utils/sleep.js.map +1 -0
  479. package/node/utils/sum.d.ts +2 -0
  480. package/node/utils/sum.js +9 -0
  481. package/node/utils/sum.js.map +1 -0
  482. package/node/utils/tri-map.d.ts +27 -0
  483. package/node/utils/tri-map.js +49 -0
  484. package/node/utils/tri-map.js.map +1 -0
  485. package/node/vertex/remove-vertex.d.ts +5 -0
  486. package/node/vertex/remove-vertex.js +12 -0
  487. package/node/vertex/remove-vertex.js.map +1 -0
  488. package/package.json +21 -25
  489. package/src/add-n-prong.ts/join-spokes.ts +39 -0
  490. package/src/bezier/fit-quads-to-cubic.ts +103 -0
  491. package/src/bezier/total-curvature.ts +8 -0
  492. package/src/bezier/total-length.ts +8 -0
  493. package/src/closest-boundary-point/closest-points-on-curve-precise.ts +62 -62
  494. package/src/closest-boundary-point/cull-bezier-pieces.ts +2 -2
  495. package/src/closest-boundary-point/cull-by-loose-bounding-box.ts +4 -4
  496. package/src/closest-boundary-point/cull-by-tight-boundary-box.ts +2 -2
  497. package/src/closest-boundary-point/foot-and-endpoint-info.ts +2 -2
  498. package/src/closest-boundary-point/get-best-distance-squared.ts +2 -2
  499. package/src/closest-boundary-point/get-close-boundary-points-certified.ts +8 -3
  500. package/src/closest-boundary-point/get-closest-boundary-point-certified.ts +56 -56
  501. package/src/closest-boundary-point/get-potential-closest-points-on-curve-certified.ts +24 -6
  502. package/src/closest-boundary-point/root-interval-to-distance-squared-interval.ts +12 -6
  503. package/src/corner/compare-curvatures-at-interface.ts +49 -69
  504. package/src/corner/corner.ts +1 -1
  505. package/src/corner/get-corner.ts +9 -23
  506. package/src/corner/get-interface-ccw.ts +96 -60
  507. package/src/cp-node/cp-node-fs.ts +234 -0
  508. package/src/cp-node/cp-node.ts +27 -348
  509. package/src/cp-node/fs/add-distance-from.ts +50 -0
  510. package/src/cp-node/{clone.ts → fs/clone.ts} +27 -17
  511. package/src/cp-node/fs/cp-nodes-to-boundary-beziers.ts +10 -0
  512. package/src/cp-node/fs/create-cp-node.ts +21 -0
  513. package/src/cp-node/{enhance-cp-node.ts → fs/enhance-cp-node.ts} +10 -4
  514. package/src/cp-node/fs/find-first.ts +25 -0
  515. package/src/cp-node/fs/get-all-between.ts +44 -0
  516. package/src/cp-node/fs/get-all-on-circle.ts +23 -0
  517. package/src/cp-node/fs/get-all-on-loop.ts +18 -0
  518. package/src/cp-node/fs/get-all-vertices.ts +17 -0
  519. package/src/cp-node/fs/get-angle-between-mat-curves.ts +33 -0
  520. package/src/cp-node/fs/get-avg-speed.ts +31 -0
  521. package/src/cp-node/{get-boundary-bezier-parts-to-next.ts → fs/get-boundary-bezier-parts-to-next.ts} +2 -9
  522. package/src/cp-node/fs/get-boundary-beziers-between.ts +31 -0
  523. package/src/cp-node/{get-boundary-beziers-to-next.ts → fs/get-boundary-beziers-to-next.ts} +5 -10
  524. package/src/cp-node/fs/get-boundary-distance-to-next.ts +16 -0
  525. package/src/cp-node/fs/get-branch-beziers.ts +18 -0
  526. package/src/cp-node/fs/get-branch.ts +43 -0
  527. package/src/cp-node/fs/get-children.ts +18 -0
  528. package/src/cp-node/{get-cp-node-ordering.ts → fs/get-cp-node-ordering.ts} +5 -1
  529. package/src/cp-node/fs/get-distance-between.ts +16 -0
  530. package/src/cp-node/fs/get-distance-to-next.ts +19 -0
  531. package/src/cp-node/fs/get-edge-direction.ts +64 -0
  532. package/src/cp-node/fs/get-first-exit.ts +22 -0
  533. package/src/cp-node/fs/get-hole-closers.ts +13 -0
  534. package/src/cp-node/fs/get-implied-boundary-bezier-between.ts +78 -0
  535. package/src/cp-node/fs/get-mat-curve-between.ts +74 -0
  536. package/src/cp-node/fs/get-mat-curve-to-next.ts +13 -0
  537. package/src/cp-node/fs/get-mat-curves-between.ts +22 -0
  538. package/src/cp-node/fs/get-non-terminating-on-circle.ts +24 -0
  539. package/src/cp-node/fs/get-prong-count.ts +18 -0
  540. package/src/cp-node/fs/get-real-prong-count.ts +14 -0
  541. package/src/cp-node/fs/get-salience.ts +28 -0
  542. package/src/cp-node/fs/get-smoothed-speed.ts +97 -0
  543. package/src/cp-node/fs/get-smoothed.ts +62 -0
  544. package/src/cp-node/fs/get-speed.ts +61 -0
  545. package/src/cp-node/fs/get-terminating-on-circle.ts +24 -0
  546. package/src/cp-node/fs/get-vertex-forward-children.ts +22 -0
  547. package/src/cp-node/fs/insert-cp-node.ts +40 -0
  548. package/src/cp-node/fs/is-fully-terminating.ts +13 -0
  549. package/src/cp-node/fs/is-on-same-circle.ts +16 -0
  550. package/src/cp-node/fs/is-one-prong.ts +21 -0
  551. package/src/cp-node/fs/is-order-correct.ts +36 -0
  552. package/src/cp-node/fs/is-sharp.ts +9 -0
  553. package/src/cp-node/fs/is-single-3-prong.ts +15 -0
  554. package/src/cp-node/fs/is-special.ts +16 -0
  555. package/src/cp-node/fs/is-terminating.ts +9 -0
  556. package/src/cp-node/fs/is-trivial.ts +16 -0
  557. package/src/cp-node/fs/is-two-prong.ts +10 -0
  558. package/src/cp-node/fs/is-vertex-special.ts +8 -0
  559. package/src/cp-node/fs/is-vertex.ts +12 -0
  560. package/src/cp-node/fs/iterate-all-on-loop.ts +15 -0
  561. package/src/cp-node/fs/remove-cp-node.ts +20 -0
  562. package/src/cp-node/fs/traverse-all-forward.ts +24 -0
  563. package/src/cp-node/{traverse-cp.ts → fs/traverse-cp.ts} +3 -11
  564. package/src/cp-node/fs/traverse-edges.ts +71 -0
  565. package/src/cp-node/fs/traverse-vertices.ts +32 -0
  566. package/src/curve/curve.ts +1 -16
  567. package/src/dbscan/dbscan.ts +91 -0
  568. package/src/debug/debug-elem-types.ts +37 -29
  569. package/src/debug/debug.ts +20 -25
  570. package/src/debug/functions/check-ordering.ts +97 -0
  571. package/src/debug/functions/cmp-cp-on-delta.ts +54 -0
  572. package/src/debug/functions/draw/draw-bezier-pieces.ts +35 -0
  573. package/src/debug/functions/draw/draw-beziers-as-single-path.ts +40 -0
  574. package/src/debug/functions/draw/draw-disk.ts +34 -0
  575. package/src/debug/functions/draw/xmlns.ts +5 -0
  576. package/src/debug/functions/draw-elem/branch.ts +0 -1
  577. package/src/debug/functions/draw-elem/draw-branch.ts +39 -0
  578. package/src/debug/functions/draw-elem/draw-cp-node.ts +47 -0
  579. package/src/debug/functions/draw-elem/draw-cull.ts +21 -0
  580. package/src/debug/functions/draw-elem/draw-dull-corner.ts +21 -0
  581. package/src/debug/functions/draw-elem/draw-elem.ts +51 -48
  582. package/src/debug/functions/draw-elem/draw-leaves.ts +51 -0
  583. package/src/debug/functions/draw-elem/draw-loop.ts +16 -0
  584. package/src/debug/functions/draw-elem/draw-loops.ts +10 -0
  585. package/src/debug/functions/draw-elem/draw-loose-bounding-box.ts +21 -0
  586. package/src/debug/functions/draw-elem/draw-mat.ts +53 -0
  587. package/src/debug/functions/draw-elem/draw-max-vertex.ts +15 -0
  588. package/src/debug/functions/draw-elem/draw-min-y.ts +18 -0
  589. package/src/debug/functions/draw-elem/draw-one-prong-at-dull-corner.ts +26 -0
  590. package/src/debug/functions/draw-elem/draw-one-prong.ts +23 -0
  591. package/src/debug/functions/draw-elem/draw-sharp-corner.ts +20 -0
  592. package/src/debug/functions/draw-elem/draw-speed.ts +35 -0
  593. package/src/debug/functions/draw-elem/draw-three-prong.ts +44 -0
  594. package/src/debug/functions/draw-elem/draw-tight-bounding-box.ts +18 -0
  595. package/src/debug/functions/draw-elem/draw-two-prong.ts +67 -0
  596. package/src/debug/functions/draw-elem/draw-vertex.ts +30 -0
  597. package/src/debug/two-prong-for-debugging.ts +2 -2
  598. package/src/dijkstra/dijkstra.ts +418 -0
  599. package/src/find-2-prong/add-1-prong.ts +15 -22
  600. package/src/find-2-prong/add-2-prong.ts +68 -173
  601. package/src/find-2-prong/add-debug-info.ts +21 -25
  602. package/src/find-2-prong/calc-seperation-tolerance.ts +121 -0
  603. package/src/find-2-prong/cull-bezier-pieces.ts +4 -4
  604. package/src/find-2-prong/find-2-prong.ts +86 -65
  605. package/src/find-2-prong/find-and-add-2-prong.ts +30 -0
  606. package/src/find-2-prong/find-and-add-2-prongs-on-all-loops.ts +37 -0
  607. package/src/find-2-prong/find-and-add-2-prongs.ts +20 -33
  608. package/src/find-2-prong/find-and-add-hole-closing-2-prongs.ts +13 -14
  609. package/src/find-2-prong/get-initial-bezier-pieces.ts +23 -31
  610. package/src/find-2-prong/reduce-radius.ts +13 -24
  611. package/src/find-3-prong.ts/array-set.ts +47 -0
  612. package/src/find-3-prong.ts/calc-better-x.ts +7 -7
  613. package/src/find-3-prong.ts/calc-initial-3-prong-center.ts +8 -3
  614. package/src/find-3-prong.ts/find-3-prong-for-delta3s.ts +28 -42
  615. package/src/find-3-prong.ts/find-3-prong.ts +7 -107
  616. package/src/find-3-prong.ts/find-and-add-3-prong.ts +61 -0
  617. package/src/find-3-prong.ts/find-and-add-3-prongs-on-loop.ts +89 -0
  618. package/src/find-3-prong.ts/find-and-add-3-prongs.ts +31 -81
  619. package/src/find-3-prong.ts/get-closest-points.ts +3 -3
  620. package/src/find-mat/add-2-prongs-by-error.ts +122 -0
  621. package/src/find-mat/clip-options.ts +38 -0
  622. package/src/find-mat/cp-node-for-insertion.ts +13 -0
  623. package/src/find-mat/create-initial-cp-tree.ts +59 -0
  624. package/src/find-mat/find-mat.ts +50 -38
  625. package/src/find-mat/find-mats.ts +39 -22
  626. package/src/find-mat/get-dull-corners-on-loop.ts +34 -0
  627. package/src/find-mat/get-for-1-prongs-on-loop.ts +25 -6
  628. package/src/find-mat/get-for-2-prongs-on-loop.ts +16 -8
  629. package/src/find-mat/get-half-angles.ts +95 -0
  630. package/src/find-mat/get-meta.ts +115 -0
  631. package/src/find-mat/get-sharp-corners.ts +3 -2
  632. package/src/find-mat/get-total-by.ts +5 -5
  633. package/src/find-mat/mat-options.ts +140 -0
  634. package/src/floyd-warshall/floyd-warshall.ts +89 -0
  635. package/src/floyd-warshall/get-graph.ts +73 -0
  636. package/src/floyd-warshall/get-hole-closer-pairs.ts +27 -0
  637. package/src/geometry/get-bounding-box-.ts +3 -2
  638. package/src/heap/heap.ts +96 -0
  639. package/src/index.ts +52 -133
  640. package/src/mat/add-to-cp-tree.ts +56 -0
  641. package/src/mat/clone-mat.ts +14 -0
  642. package/src/mat/clone-meta.ts +17 -0
  643. package/src/mat/connect-hole-closers.ts +9 -0
  644. package/src/mat/create-new-cp-tree.ts +4 -1
  645. package/src/mat/{bezier-piece.ts → curve-piece.ts} +2 -2
  646. package/src/mat/get-boundary-piece-beziers.ts +10 -11
  647. package/src/mat/get-branches.ts +25 -75
  648. package/src/mat/get-closeby-cp-if-exist.ts +75 -0
  649. package/src/mat/get-cp-node-to-left-or-same.ts +43 -0
  650. package/src/mat/get-edges-as-array.ts +12 -12
  651. package/src/mat/get-largest-3-prong.ts +21 -0
  652. package/src/mat/get-largest-vertex.ts +4 -1
  653. package/src/mat/mat-meta.ts +31 -0
  654. package/src/mat/mat.ts +7 -7
  655. package/src/mat/simplify-mat.ts +39 -23
  656. package/src/mat/trim-mat.ts +8 -2
  657. package/src/memoize-primitive.ts +31 -0
  658. package/src/point-on-shape/calc-pos-order.ts +1 -2
  659. package/src/point-on-shape/create-pos.ts +2 -3
  660. package/src/point-on-shape/get-osculating-circle.ts +4 -1
  661. package/src/point-on-shape/get-pos-corner.ts +10 -6
  662. package/src/point-on-shape/is-pos-dull-corner.ts +6 -4
  663. package/src/point-on-shape/point-on-shape.ts +1 -1
  664. package/src/sat/add-debug-info.ts +0 -4
  665. package/src/sat/cull-by-salience.ts +115 -0
  666. package/src/sat/cull-non-cycles.ts +4 -2
  667. package/src/sat/cull.ts +53 -33
  668. package/src/sat/get-leaves.ts +7 -2
  669. package/src/sat/get-sat-culls.ts +46 -0
  670. package/src/sat/to-scale-axis.ts +13 -57
  671. package/src/svg/get-extreme.ts +1 -1
  672. package/src/utils/bezier-piece-to-bezier.ts +13 -0
  673. package/src/utils/deg-to-rad.ts +7 -0
  674. package/src/utils/dual-map.ts +55 -0
  675. package/src/utils/dual-set.ts +82 -0
  676. package/src/utils/rad-to-deg.ts +7 -0
  677. package/src/utils/rotate.ts +17 -0
  678. package/src/utils/sleep.ts +7 -0
  679. package/src/utils/sum.ts +12 -0
  680. package/src/utils/tri-map.ts +76 -0
  681. package/src/vertex/remove-vertex.ts +22 -0
  682. package/webpack.config.cjs +38 -36
  683. package/browser/index.js +0 -33589
  684. package/node/closest-boundary-point/get-closest-boundary-point-certified.d.ts +0 -15
  685. package/node/closest-boundary-point/get-closest-boundary-point-certified.js +0 -42
  686. package/node/closest-boundary-point/get-closest-boundary-point-certified.js.map +0 -1
  687. package/node/cp-node/clone.js.map +0 -1
  688. package/node/cp-node/create-cp-node.d.ts +0 -4
  689. package/node/cp-node/create-cp-node.js +0 -8
  690. package/node/cp-node/create-cp-node.js.map +0 -1
  691. package/node/cp-node/enhance-cp-node.js.map +0 -1
  692. package/node/cp-node/get-boundary-bezier-parts-to-next.js.map +0 -1
  693. package/node/cp-node/get-boundary-beziers-to-next.d.ts +0 -8
  694. package/node/cp-node/get-boundary-beziers-to-next.js.map +0 -1
  695. package/node/cp-node/get-cp-node-ordering.js.map +0 -1
  696. package/node/cp-node/get-curve-to-next.d.ts +0 -9
  697. package/node/cp-node/get-curve-to-next.js +0 -12
  698. package/node/cp-node/get-curve-to-next.js.map +0 -1
  699. package/node/cp-node/remove.d.ts +0 -9
  700. package/node/cp-node/remove.js +0 -20
  701. package/node/cp-node/remove.js.map +0 -1
  702. package/node/cp-node/traverse-cp.d.ts +0 -12
  703. package/node/cp-node/traverse-cp.js.map +0 -1
  704. package/node/cp-node/traverse-edges.d.ts +0 -10
  705. package/node/cp-node/traverse-edges.js +0 -23
  706. package/node/cp-node/traverse-edges.js.map +0 -1
  707. package/node/cp-node/traverse-vertices.d.ts +0 -12
  708. package/node/cp-node/traverse-vertices.js +0 -29
  709. package/node/cp-node/traverse-vertices.js.map +0 -1
  710. package/node/debug/functions/draw-elem/branch.d.ts +0 -4
  711. package/node/debug/functions/draw-elem/branch.js +0 -24
  712. package/node/debug/functions/draw-elem/branch.js.map +0 -1
  713. package/node/debug/functions/draw-elem/culls.d.ts +0 -4
  714. package/node/debug/functions/draw-elem/culls.js +0 -22
  715. package/node/debug/functions/draw-elem/culls.js.map +0 -1
  716. package/node/debug/functions/draw-elem/dull-corner.js.map +0 -1
  717. package/node/debug/functions/draw-elem/leaves.d.ts +0 -4
  718. package/node/debug/functions/draw-elem/leaves.js +0 -13
  719. package/node/debug/functions/draw-elem/leaves.js.map +0 -1
  720. package/node/debug/functions/draw-elem/loop.js.map +0 -1
  721. package/node/debug/functions/draw-elem/loops.js.map +0 -1
  722. package/node/debug/functions/draw-elem/loose-bounding-box.js.map +0 -1
  723. package/node/debug/functions/draw-elem/mat.d.ts +0 -4
  724. package/node/debug/functions/draw-elem/mat.js +0 -33
  725. package/node/debug/functions/draw-elem/mat.js.map +0 -1
  726. package/node/debug/functions/draw-elem/max-vertex.js.map +0 -1
  727. package/node/debug/functions/draw-elem/min-y.js.map +0 -1
  728. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js.map +0 -1
  729. package/node/debug/functions/draw-elem/one-prong.js.map +0 -1
  730. package/node/debug/functions/draw-elem/sharp-corner.js.map +0 -1
  731. package/node/debug/functions/draw-elem/three-prong.d.ts +0 -4
  732. package/node/debug/functions/draw-elem/three-prong.js +0 -15
  733. package/node/debug/functions/draw-elem/three-prong.js.map +0 -1
  734. package/node/debug/functions/draw-elem/tight-bounding-box.js.map +0 -1
  735. package/node/debug/functions/draw-elem/two-prong.d.ts +0 -4
  736. package/node/debug/functions/draw-elem/two-prong.js +0 -36
  737. package/node/debug/functions/draw-elem/two-prong.js.map +0 -1
  738. package/node/debug/functions/draw-elem/vertex.js +0 -30
  739. package/node/debug/functions/draw-elem/vertex.js.map +0 -1
  740. package/node/debug/functions/three-prong.d.ts +0 -11
  741. package/node/debug/functions/three-prong.js +0 -182
  742. package/node/debug/functions/three-prong.js.map +0 -1
  743. package/node/debug/functions/two-prong.d.ts +0 -24
  744. package/node/debug/functions/two-prong.js +0 -116
  745. package/node/debug/functions/two-prong.js.map +0 -1
  746. package/node/debug/three-prong-for-debugging.d.ts +0 -31
  747. package/node/debug/three-prong-for-debugging.js +0 -21
  748. package/node/debug/three-prong-for-debugging.js.map +0 -1
  749. package/node/debug/two-prong-for-debugging.d.ts +0 -26
  750. package/node/debug/two-prong-for-debugging.js +0 -2
  751. package/node/debug/two-prong-for-debugging.js.map +0 -1
  752. package/node/find-2-prong/add-debug-info.d.ts +0 -8
  753. package/node/find-2-prong/add-debug-info.js +0 -23
  754. package/node/find-2-prong/add-debug-info.js.map +0 -1
  755. package/node/find-2-prong/find-and-add-2-prongs-on-all-paths.d.ts +0 -15
  756. package/node/find-2-prong/find-and-add-2-prongs-on-all-paths.js +0 -22
  757. package/node/find-2-prong/find-and-add-2-prongs-on-all-paths.js.map +0 -1
  758. package/node/find-2-prong/x-for-debugging.d.ts +0 -9
  759. package/node/find-2-prong/x-for-debugging.js +0 -2
  760. package/node/find-2-prong/x-for-debugging.js.map +0 -1
  761. package/node/find-3-prong.ts/add-3-prong.d.ts +0 -24
  762. package/node/find-3-prong.ts/add-3-prong.js +0 -82
  763. package/node/find-3-prong.ts/add-3-prong.js.map +0 -1
  764. package/node/find-3-prong.ts/find-and-add-all-3-prongs.d.ts +0 -13
  765. package/node/find-3-prong.ts/find-and-add-all-3-prongs.js +0 -66
  766. package/node/find-3-prong.ts/find-and-add-all-3-prongs.js.map +0 -1
  767. package/node/find-mat/add-debug-info.d.ts +0 -9
  768. package/node/find-mat/add-debug-info.js +0 -68
  769. package/node/find-mat/add-debug-info.js.map +0 -1
  770. package/node/find-mat/create-initial-cp-graph.js.map +0 -1
  771. package/node/find-mat/fix-ordering.d.ts +0 -8
  772. package/node/find-mat/fix-ordering.js +0 -59
  773. package/node/find-mat/fix-ordering.js.map +0 -1
  774. package/node/find-mat/get-dull-corners.js.map +0 -1
  775. package/node/find-mat/get-size-params.d.ts +0 -7
  776. package/node/find-mat/get-size-params.js +0 -33
  777. package/node/find-mat/get-size-params.js.map +0 -1
  778. package/node/get-curve/get-curve-between.d.ts +0 -9
  779. package/node/get-curve/get-curve-between.js.map +0 -1
  780. package/node/get-curve/get-edge-direction.d.ts +0 -9
  781. package/node/get-curve/get-edge-direction.js.map +0 -1
  782. package/node/mat/add-to-cp-graph.js +0 -33
  783. package/node/mat/add-to-cp-graph.js.map +0 -1
  784. package/node/mat/bezier-piece.js +0 -2
  785. package/node/mat/bezier-piece.js.map +0 -1
  786. package/node/mat/elem-type-two-prong.d.ts +0 -3
  787. package/node/mat/elem-type-two-prong.js +0 -2
  788. package/node/mat/elem-type-two-prong.js.map +0 -1
  789. package/node/mat/get-neighboring-cps.d.ts +0 -16
  790. package/node/mat/get-neighboring-cps.js +0 -33
  791. package/node/mat/get-neighboring-cps.js.map +0 -1
  792. package/node/mat/get-two-prong-type.d.ts +0 -5
  793. package/node/mat/get-two-prong-type.js +0 -9
  794. package/node/mat/get-two-prong-type.js.map +0 -1
  795. package/node/mat/is-another-cp-closeby.d.ts +0 -21
  796. package/node/mat/is-another-cp-closeby.js.map +0 -1
  797. package/node/mat/simplify-mat-map-only.d.ts +0 -23
  798. package/node/mat/simplify-mat-map-only.js +0 -82
  799. package/node/mat/simplify-mat-map-only.js.map +0 -1
  800. package/node/point-on-shape/is-pos-dull-corner.d.ts +0 -6
  801. package/node/point-on-shape/is-pos-dull-corner.js +0 -14
  802. package/node/point-on-shape/is-pos-dull-corner.js.map +0 -1
  803. package/src/cp-node/create-cp-node.ts +0 -21
  804. package/src/cp-node/get-curve-to-next.ts +0 -16
  805. package/src/cp-node/remove.ts +0 -27
  806. package/src/cp-node/traverse-edges.ts +0 -29
  807. package/src/cp-node/traverse-vertices.ts +0 -37
  808. /package/{test → __tests__}/lib-load.spec.ts +0 -0
  809. /package/node/debug/functions/draw-elem/{dull-corner.d.ts → draw-dull-corner.d.ts} +0 -0
  810. /package/node/debug/functions/draw-elem/{loop.d.ts → draw-loop.d.ts} +0 -0
  811. /package/node/debug/functions/draw-elem/{loops.d.ts → draw-loops.d.ts} +0 -0
  812. /package/node/debug/functions/draw-elem/{loose-bounding-box.d.ts → draw-loose-bounding-box.d.ts} +0 -0
  813. /package/node/debug/functions/draw-elem/{max-vertex.d.ts → draw-max-vertex.d.ts} +0 -0
  814. /package/node/debug/functions/draw-elem/{min-y.d.ts → draw-min-y.d.ts} +0 -0
  815. /package/node/debug/functions/draw-elem/{one-prong-at-dull-corner.d.ts → draw-one-prong-at-dull-corner.d.ts} +0 -0
  816. /package/node/debug/functions/draw-elem/{one-prong.d.ts → draw-one-prong.d.ts} +0 -0
  817. /package/node/debug/functions/draw-elem/{sharp-corner.d.ts → draw-sharp-corner.d.ts} +0 -0
  818. /package/node/debug/functions/draw-elem/{tight-bounding-box.d.ts → draw-tight-bounding-box.d.ts} +0 -0
  819. /package/node/find-mat/{get-dull-corners.d.ts → get-dull-corners-on-loop.d.ts} +0 -0
@@ -0,0 +1,41 @@
1
+ # Website
2
+
3
+ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
4
+
5
+ ### Installation
6
+
7
+ ```
8
+ $ yarn
9
+ ```
10
+
11
+ ### Local Development
12
+
13
+ ```
14
+ $ yarn start
15
+ ```
16
+
17
+ This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
18
+
19
+ ### Build
20
+
21
+ ```
22
+ $ yarn build
23
+ ```
24
+
25
+ This command generates static content into the `build` directory and can be served using any static contents hosting service.
26
+
27
+ ### Deployment
28
+
29
+ Using SSH:
30
+
31
+ ```
32
+ $ USE_SSH=true yarn deploy
33
+ ```
34
+
35
+ Not using SSH:
36
+
37
+ ```
38
+ $ GIT_USER=<Your GitHub username> yarn deploy
39
+ ```
40
+
41
+ If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3
+ };
@@ -0,0 +1,12 @@
1
+ ---
2
+ slug: first-blog-post
3
+ title: First Blog Post
4
+ authors:
5
+ name: Gao Wei
6
+ title: Docusaurus Core Team
7
+ url: https://github.com/wgao19
8
+ image_url: https://github.com/wgao19.png
9
+ tags: [hola, docusaurus]
10
+ ---
11
+
12
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
@@ -0,0 +1,44 @@
1
+ ---
2
+ slug: long-blog-post
3
+ title: Long Blog Post
4
+ authors: endi
5
+ tags: [hello, docusaurus]
6
+ ---
7
+
8
+ This is the summary of a very long blog post,
9
+
10
+ Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
11
+
12
+ <!--truncate-->
13
+
14
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
15
+
16
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
17
+
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
19
+
20
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
21
+
22
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
23
+
24
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
25
+
26
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
27
+
28
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
29
+
30
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
31
+
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
33
+
34
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
35
+
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
37
+
38
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
39
+
40
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
41
+
42
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
43
+
44
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
@@ -0,0 +1,20 @@
1
+ ---
2
+ slug: mdx-blog-post
3
+ title: MDX Blog Post
4
+ authors: [slorber]
5
+ tags: [docusaurus]
6
+ ---
7
+
8
+ Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
9
+
10
+ :::tip
11
+
12
+ Use the power of React to create interactive blog posts.
13
+
14
+ ```js
15
+ <button onClick={() => alert('button clicked!')}>Click me!</button>
16
+ ```
17
+
18
+ <button onClick={() => alert('button clicked!')}>Click me!</button>
19
+
20
+ :::
@@ -0,0 +1,25 @@
1
+ ---
2
+ slug: welcome
3
+ title: Welcome
4
+ authors: [slorber, yangshun]
5
+ tags: [facebook, hello, docusaurus]
6
+ ---
7
+
8
+ [Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
9
+
10
+ Simply add Markdown files (or folders) to the `blog` directory.
11
+
12
+ Regular blog authors can be added to `authors.yml`.
13
+
14
+ The blog post date can be extracted from filenames, such as:
15
+
16
+ - `2019-05-30-welcome.md`
17
+ - `2019-05-30-welcome/index.md`
18
+
19
+ A blog post folder can be convenient to co-locate blog post images:
20
+
21
+ ![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
22
+
23
+ The blog supports tags as well!
24
+
25
+ **And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
@@ -0,0 +1,17 @@
1
+ endi:
2
+ name: Endilie Yacop Sucipto
3
+ title: Maintainer of Docusaurus
4
+ url: https://github.com/endiliey
5
+ image_url: https://github.com/endiliey.png
6
+
7
+ yangshun:
8
+ name: Yangshun Tay
9
+ title: Front End Engineer @ Facebook
10
+ url: https://github.com/yangshun
11
+ image_url: https://github.com/yangshun.png
12
+
13
+ slorber:
14
+ name: Sébastien Lorber
15
+ title: Docusaurus maintainer
16
+ url: https://sebastienlorber.com
17
+ image_url: https://github.com/slorber.png
@@ -0,0 +1,78 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+
6
+
7
+ ```typescript
8
+
9
+ findMats,
10
+ toScaleAxis,
11
+ trimMat,
12
+ traverseVertices,
13
+ traverseEdges,
14
+ getBranches,
15
+ getBoundaryBeziersToNext,
16
+ getBoundaryBezierPartsToNext,
17
+
18
+ Mat,
19
+ PointOnShape,
20
+ Curve,
21
+ Loop,
22
+ CpNode,
23
+ Circle,
24
+ ContactPoint,
25
+ BezierPiece,
26
+
27
+ simplifyMat,
28
+
29
+ // CpNode
30
+ getChildren,
31
+ vertexChildren,
32
+ getAllOnLoop,
33
+ getCpNodesOnCircle,
34
+ isOnSameCircle,
35
+ isTerminating,
36
+ isFullyTerminating,
37
+ getFirstExit,
38
+ isSharp,
39
+ getProngCount,
40
+ getRealProngCount,
41
+ cpNodeComparator,
42
+ removeCpNode,
43
+ enhanceCpNode,
44
+ traverseCp,
45
+ getCurveToNext,
46
+ getCurveBetween,
47
+
48
+
49
+ // SVG functions
50
+ beziersToSvgPathStr,
51
+ getPathsFromStr,
52
+ getShapeBounds,
53
+ drawBranch,
54
+ drawMat,
55
+ ```
56
+
57
+
58
+ ```typescript
59
+ function intersectBoxes(a: number[][], b: number[][]): number[][] | undefined
60
+ ```
61
+
62
+ *Defined in [boxes/intersect-boxes.ts:18](https://github.com/FlorisSteenkamp/FloBezier/blob/a2fe14d/src/boxes/intersect-boxes.ts#L18)*
63
+
64
+ Returns the intersection of 2 given axis-aligned rectangular boxes (or
65
+ `undefined` if they don't intersect).
66
+ * **exact**: not susceptible to floating point round-off
67
+ * **closed**: interpret boxes as being closed (i.e. they contain their border).
68
+
69
+
70
+
71
+ #### Parameters:
72
+
73
+ Name | Type | Description |
74
+ ------ | ------ | ------ |
75
+ `a` | number[][] | an axis-aligned rectangular box (given by an array of two points, e.g. `[[1,2], [3,4]]`) |
76
+ `b` | number[][] | another box |
77
+
78
+
@@ -0,0 +1,23 @@
1
+ ---
2
+ sidebar_position: 6
3
+ ---
4
+
5
+ # Congratulations!
6
+
7
+ You have just learned the **basics of Docusaurus** and made some changes to the **initial template**.
8
+
9
+ Docusaurus has **much more to offer**!
10
+
11
+ Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**.
12
+
13
+ Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610)
14
+
15
+ ## What's next?
16
+
17
+ - Read the [official documentation](https://docusaurus.io/)
18
+ - Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config)
19
+ - Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration)
20
+ - Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout)
21
+ - Add a [search bar](https://docusaurus.io/docs/search)
22
+ - Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase)
23
+ - Get involved in the [Docusaurus Community](https://docusaurus.io/community/support)
@@ -0,0 +1,139 @@
1
+ // @ts-check
2
+ // Note: type annotations allow type checking and IDEs autocompletion
3
+
4
+ const lightCodeTheme = require('prism-react-renderer/themes/github');
5
+ const darkCodeTheme = require('prism-react-renderer/themes/dracula');
6
+
7
+ /** @type {import('@docusaurus/types').Config} */
8
+ const config = {
9
+ title: 'flo-mat - Medial Axis Transform',
10
+ // tagline: 'Dinosaurs are cool',
11
+ favicon: 'img/favicon.ico',
12
+
13
+ // Set the production url of your site here
14
+ url: 'https://mat-demo.appspot.com',
15
+ // Set the /<baseUrl>/ pathname under which your site is served
16
+ // For GitHub pages deployment, it is often '/<projectName>/'
17
+ baseUrl: '/',
18
+
19
+ // GitHub pages deployment config.
20
+ // If you aren't using GitHub pages, you don't need these.
21
+ organizationName: 'Floris Steenkamp', // Usually your GitHub org/user name.
22
+ projectName: 'flo-mat', // Usually your repo name.
23
+
24
+ onBrokenLinks: 'throw',
25
+ onBrokenMarkdownLinks: 'warn',
26
+
27
+ // Even if you don't use internalization, you can use this field to set useful
28
+ // metadata like html lang. For example, if your site is Chinese, you may want
29
+ // to replace "en" with "zh-Hans".
30
+ i18n: {
31
+ defaultLocale: 'en',
32
+ locales: ['en'],
33
+ },
34
+
35
+ presets: [
36
+ [
37
+ 'classic',
38
+ /** @type {import('@docusaurus/preset-classic').Options} */
39
+ ({
40
+ docs: {
41
+ sidebarPath: require.resolve('./sidebars.js'),
42
+ // Please change this to your repo.
43
+ // Remove this to remove the "edit this page" links.
44
+ // editUrl:
45
+ // 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
46
+ },
47
+ blog: {
48
+ showReadingTime: true,
49
+ // Please change this to your repo.
50
+ // Remove this to remove the "edit this page" links.
51
+ // editUrl:
52
+ // 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
53
+ },
54
+ theme: {
55
+ customCss: require.resolve('./src/css/custom.css'),
56
+ },
57
+ }),
58
+ ],
59
+ ],
60
+
61
+ themeConfig:
62
+ /** @type {import('@docusaurus/preset-classic').ThemeConfig} */
63
+ ({
64
+ // Replace with your project's social card
65
+ image: 'img/docusaurus-social-card.jpg',
66
+ navbar: {
67
+ title: 'flo-mat - Medial Axis Transform by example',
68
+ logo: {
69
+ alt: 'My Site Logo',
70
+ src: 'img/logo.png',
71
+ },
72
+ items: [
73
+ // {
74
+ // type: 'docSidebar',
75
+ // sidebarId: 'tutorialSidebar',
76
+ // position: 'left',
77
+ // label: 'Learn',
78
+ // },
79
+ // {to: '/blog', label: 'Blog', position: 'left'},
80
+ {
81
+ href: 'https://github.com/FlorisSteenkamp/MAT',
82
+ label: 'GitHub',
83
+ position: 'right',
84
+ },
85
+ ],
86
+ },
87
+ // footer: {
88
+ // style: 'dark',
89
+ // links: [
90
+ // {
91
+ // title: 'Docs',
92
+ // items: [
93
+ // {
94
+ // label: 'Tutorial',
95
+ // to: '/docs/intro',
96
+ // },
97
+ // ],
98
+ // },
99
+ // {
100
+ // title: 'Community',
101
+ // items: [
102
+ // {
103
+ // label: 'Stack Overflow',
104
+ // href: 'https://stackoverflow.com/questions/tagged/docusaurus',
105
+ // },
106
+ // {
107
+ // label: 'Discord',
108
+ // href: 'https://discordapp.com/invite/docusaurus',
109
+ // },
110
+ // {
111
+ // label: 'Twitter',
112
+ // href: 'https://twitter.com/docusaurus',
113
+ // },
114
+ // ],
115
+ // },
116
+ // {
117
+ // title: 'More',
118
+ // items: [
119
+ // {
120
+ // label: 'Blog',
121
+ // to: '/blog',
122
+ // },
123
+ // {
124
+ // label: 'GitHub',
125
+ // href: 'https://github.com/facebook/docusaurus',
126
+ // },
127
+ // ],
128
+ // },
129
+ // ],
130
+ // copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`,
131
+ // },
132
+ prism: {
133
+ theme: lightCodeTheme,
134
+ darkTheme: darkCodeTheme,
135
+ },
136
+ }),
137
+ };
138
+
139
+ module.exports = config;