plotboilerplate 1.28.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1087) hide show
  1. package/README.md +8 -0
  2. package/dist/index.esm.js +335 -39
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.esm.min.js +1 -1
  5. package/dist/index.esm.min.js.map +1 -1
  6. package/dist/plotboilerplate.browser.min.js +1 -1
  7. package/dist/plotboilerplate.browser.min.js.map +1 -1
  8. package/dist/plotboilerplate.js +335 -37
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +1 -1
  11. package/src/cjs/Circle.d.ts +70 -3
  12. package/src/cjs/Circle.js +159 -4
  13. package/src/cjs/Circle.js.map +1 -1
  14. package/src/cjs/Triangle.d.ts +40 -4
  15. package/src/cjs/Triangle.js +127 -31
  16. package/src/cjs/Triangle.js.map +1 -1
  17. package/src/cjs/VertTuple.d.ts +4 -1
  18. package/src/cjs/VertTuple.js +6 -1
  19. package/src/cjs/VertTuple.js.map +1 -1
  20. package/src/cjs/Vertex.d.ts +25 -2
  21. package/src/cjs/Vertex.js +43 -1
  22. package/src/cjs/Vertex.js.map +1 -1
  23. package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.d.ts +21 -0
  24. package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.js +73 -0
  25. package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.js.map +1 -0
  26. package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.d.ts +21 -0
  27. package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.js +73 -0
  28. package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.js.map +1 -0
  29. package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.d.ts +21 -0
  30. package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.js +73 -0
  31. package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.js.map +1 -0
  32. package/src/cjs/utils/algorithms/solveApollonius3.d.ts +69 -0
  33. package/src/cjs/utils/algorithms/solveApollonius3.js +118 -0
  34. package/src/cjs/utils/algorithms/solveApollonius3.js.map +1 -0
  35. package/src/esm/Circle.d.ts +70 -3
  36. package/src/esm/Circle.js +159 -4
  37. package/src/esm/Circle.js.map +1 -1
  38. package/src/esm/Triangle.d.ts +40 -4
  39. package/src/esm/Triangle.js +128 -32
  40. package/src/esm/Triangle.js.map +1 -1
  41. package/src/esm/VertTuple.d.ts +4 -1
  42. package/src/esm/VertTuple.js +6 -1
  43. package/src/esm/VertTuple.js.map +1 -1
  44. package/src/esm/Vertex.d.ts +25 -2
  45. package/src/esm/Vertex.js +44 -2
  46. package/src/esm/Vertex.js.map +1 -1
  47. package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.d.ts +21 -0
  48. package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.js +69 -0
  49. package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.js.map +1 -0
  50. package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.d.ts +21 -0
  51. package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.js +69 -0
  52. package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.js.map +1 -0
  53. package/src/esm/utils/algorithms/pointsMinimalContainingCircle.d.ts +21 -0
  54. package/src/esm/utils/algorithms/pointsMinimalContainingCircle.js +69 -0
  55. package/src/esm/utils/algorithms/pointsMinimalContainingCircle.js.map +1 -0
  56. package/src/esm/utils/algorithms/solveApollonius3.d.ts +69 -0
  57. package/src/esm/utils/algorithms/solveApollonius3.js +114 -0
  58. package/src/esm/utils/algorithms/solveApollonius3.js.map +1 -0
  59. package/src/index-gl.js +5 -2
  60. package/src/index.js +25 -17
  61. package/src/ts/Circle.ts +178 -5
  62. package/src/ts/Triangle.ts +148 -41
  63. package/src/ts/VertTuple.ts +14 -1
  64. package/src/ts/Vertex.ts +44 -2
  65. package/src/ts/utils/algorithms/minimalEnclosingCircleFromPoints.ts +69 -0
  66. package/src/ts/utils/algorithms/solveApollonius3.ts +132 -0
  67. package/src/_cjs/BezierPath.d.ts +0 -610
  68. package/src/_cjs/BezierPath.js +0 -1127
  69. package/src/_cjs/BezierPath.js.map +0 -1
  70. package/src/_cjs/Bounds.d.ts +0 -252
  71. package/src/_cjs/Bounds.js +0 -320
  72. package/src/_cjs/Bounds.js.map +0 -1
  73. package/src/_cjs/Circle.d.ts +0 -214
  74. package/src/_cjs/Circle.js +0 -339
  75. package/src/_cjs/Circle.js.map +0 -1
  76. package/src/_cjs/CircleSector.d.ts +0 -211
  77. package/src/_cjs/CircleSector.js +0 -364
  78. package/src/_cjs/CircleSector.js.map +0 -1
  79. package/src/_cjs/CubicBezierCurve.d.ts +0 -656
  80. package/src/_cjs/CubicBezierCurve.js +0 -1062
  81. package/src/_cjs/CubicBezierCurve.js.map +0 -1
  82. package/src/_cjs/Grid.d.ts +0 -83
  83. package/src/_cjs/Grid.js +0 -90
  84. package/src/_cjs/Grid.js.map +0 -1
  85. package/src/_cjs/KeyHandler.d.ts +0 -177
  86. package/src/_cjs/KeyHandler.js +0 -435
  87. package/src/_cjs/KeyHandler.js.map +0 -1
  88. package/src/_cjs/Line.d.ts +0 -134
  89. package/src/_cjs/Line.js +0 -220
  90. package/src/_cjs/Line.js.map +0 -1
  91. package/src/_cjs/MouseHandler.d.ts +0 -283
  92. package/src/_cjs/MouseHandler.js +0 -423
  93. package/src/_cjs/MouseHandler.js.map +0 -1
  94. package/src/_cjs/PBImage.d.ts +0 -81
  95. package/src/_cjs/PBImage.js +0 -61
  96. package/src/_cjs/PBImage.js.map +0 -1
  97. package/src/_cjs/PBText.d.ts +0 -118
  98. package/src/_cjs/PBText.js +0 -63
  99. package/src/_cjs/PBText.js.map +0 -1
  100. package/src/_cjs/PlotBoilerplate.d.ts +0 -899
  101. package/src/_cjs/PlotBoilerplate.js +0 -2348
  102. package/src/_cjs/PlotBoilerplate.js.map +0 -1
  103. package/src/_cjs/Polygon.d.ts +0 -520
  104. package/src/_cjs/Polygon.js +0 -933
  105. package/src/_cjs/Polygon.js.map +0 -1
  106. package/src/_cjs/SVGBuilder.d.ts +0 -47
  107. package/src/_cjs/SVGBuilder.js +0 -100
  108. package/src/_cjs/SVGBuilder.js.map +0 -1
  109. package/src/_cjs/Triangle.d.ts +0 -392
  110. package/src/_cjs/Triangle.js +0 -497
  111. package/src/_cjs/Triangle.js.map +0 -1
  112. package/src/_cjs/UIDGenerator.d.ts +0 -12
  113. package/src/_cjs/UIDGenerator.js +0 -21
  114. package/src/_cjs/UIDGenerator.js.map +0 -1
  115. package/src/_cjs/VEllipse.d.ts +0 -319
  116. package/src/_cjs/VEllipse.js +0 -578
  117. package/src/_cjs/VEllipse.js.map +0 -1
  118. package/src/_cjs/VEllipseSector.d.ts +0 -230
  119. package/src/_cjs/VEllipseSector.js +0 -428
  120. package/src/_cjs/VEllipseSector.js.map +0 -1
  121. package/src/_cjs/Vector.d.ts +0 -126
  122. package/src/_cjs/Vector.js +0 -199
  123. package/src/_cjs/Vector.js.map +0 -1
  124. package/src/_cjs/VertTuple.d.ts +0 -284
  125. package/src/_cjs/VertTuple.js +0 -348
  126. package/src/_cjs/VertTuple.js.map +0 -1
  127. package/src/_cjs/Vertex.d.ts +0 -498
  128. package/src/_cjs/Vertex.js +0 -703
  129. package/src/_cjs/Vertex.js.map +0 -1
  130. package/src/_cjs/VertexAttr.d.ts +0 -72
  131. package/src/_cjs/VertexAttr.js +0 -59
  132. package/src/_cjs/VertexAttr.js.map +0 -1
  133. package/src/_cjs/VertexListeners.d.ts +0 -208
  134. package/src/_cjs/VertexListeners.js +0 -267
  135. package/src/_cjs/VertexListeners.js.map +0 -1
  136. package/src/_cjs/draw.d.ts +0 -657
  137. package/src/_cjs/draw.js +0 -1164
  138. package/src/_cjs/draw.js.map +0 -1
  139. package/src/_cjs/drawgl.d.ts +0 -544
  140. package/src/_cjs/drawgl.js +0 -794
  141. package/src/_cjs/drawgl.js.map +0 -1
  142. package/src/_cjs/drawutilssvg.d.ts +0 -954
  143. package/src/_cjs/drawutilssvg.js +0 -1713
  144. package/src/_cjs/drawutilssvg.js.map +0 -1
  145. package/src/_cjs/entry-glsupport.js +0 -28
  146. package/src/_cjs/entry.js +0 -29
  147. package/src/_cjs/geomutils.d.ts +0 -77
  148. package/src/_cjs/geomutils.js +0 -126
  149. package/src/_cjs/geomutils.js.map +0 -1
  150. package/src/_cjs/index.d.ts +0 -102
  151. package/src/_cjs/index.js +0 -128
  152. package/src/_cjs/index.js.map +0 -1
  153. package/src/_cjs/interfaces/DrawLib.d.ts +0 -582
  154. package/src/_cjs/interfaces/DrawLib.js +0 -32
  155. package/src/_cjs/interfaces/DrawLib.js.map +0 -1
  156. package/src/_cjs/interfaces/additionals.d.ts +0 -95
  157. package/src/_cjs/interfaces/additionals.js +0 -3
  158. package/src/_cjs/interfaces/additionals.js.map +0 -1
  159. package/src/_cjs/interfaces/core.d.ts +0 -286
  160. package/src/_cjs/interfaces/core.js +0 -30
  161. package/src/_cjs/interfaces/core.js.map +0 -1
  162. package/src/_cjs/interfaces/externals.d.ts +0 -56
  163. package/src/_cjs/interfaces/externals.js +0 -8
  164. package/src/_cjs/interfaces/externals.js.map +0 -1
  165. package/src/_cjs/interfaces/index.d.ts +0 -4
  166. package/src/_cjs/interfaces/index.js +0 -21
  167. package/src/_cjs/interfaces/index.js.map +0 -1
  168. package/src/_cjs/module.d.ts +0 -26
  169. package/src/_cjs/module.js +0 -60
  170. package/src/_cjs/module.js.map +0 -1
  171. package/src/_cjs/utils/InitializationObserver.d.ts +0 -18
  172. package/src/_cjs/utils/InitializationObserver.js +0 -63
  173. package/src/_cjs/utils/InitializationObserver.js.map +0 -1
  174. package/src/_cjs/utils/LissajousFigure.d.ts +0 -34
  175. package/src/_cjs/utils/LissajousFigure.js +0 -100
  176. package/src/_cjs/utils/LissajousFigure.js.map +0 -1
  177. package/src/_cjs/utils/NGons.d.ts +0 -13
  178. package/src/_cjs/utils/NGons.js +0 -36
  179. package/src/_cjs/utils/NGons.js.map +0 -1
  180. package/src/_cjs/utils/Params.d.ts +0 -17
  181. package/src/_cjs/utils/Params.js +0 -53
  182. package/src/_cjs/utils/Params.js.map +0 -1
  183. package/src/_cjs/utils/PerlinNoise.d.ts +0 -19
  184. package/src/_cjs/utils/PerlinNoise.js +0 -352
  185. package/src/_cjs/utils/PerlinNoise.js.map +0 -1
  186. package/src/_cjs/utils/SVGPathUtils.d.ts +0 -22
  187. package/src/_cjs/utils/SVGPathUtils.js +0 -45
  188. package/src/_cjs/utils/SVGPathUtils.js.map +0 -1
  189. package/src/_cjs/utils/WebColors.d.ts +0 -35
  190. package/src/_cjs/utils/WebColors.js +0 -58
  191. package/src/_cjs/utils/WebColors.js.map +0 -1
  192. package/src/_cjs/utils/WebColorsContrast.d.ts +0 -6
  193. package/src/_cjs/utils/WebColorsContrast.js +0 -12
  194. package/src/_cjs/utils/WebColorsContrast.js.map +0 -1
  195. package/src/_cjs/utils/WebColorsMalachite.d.ts +0 -12
  196. package/src/_cjs/utils/WebColorsMalachite.js +0 -28
  197. package/src/_cjs/utils/WebColorsMalachite.js.map +0 -1
  198. package/src/_cjs/utils/_gup.js_ +0 -13
  199. package/src/_cjs/utils/algorithms/CatmullRomPath.d.ts +0 -60
  200. package/src/_cjs/utils/algorithms/CatmullRomPath.js +0 -108
  201. package/src/_cjs/utils/algorithms/CatmullRomPath.js.map +0 -1
  202. package/src/_cjs/utils/algorithms/CircleIntersections.d.ts +0 -170
  203. package/src/_cjs/utils/algorithms/CircleIntersections.js +0 -310
  204. package/src/_cjs/utils/algorithms/CircleIntersections.js.map +0 -1
  205. package/src/_cjs/utils/algorithms/ContourLineDetection.d.ts +0 -150
  206. package/src/_cjs/utils/algorithms/ContourLineDetection.js +0 -367
  207. package/src/_cjs/utils/algorithms/ContourLineDetection.js.map +0 -1
  208. package/src/_cjs/utils/algorithms/CubicSplinePath.d.ts +0 -63
  209. package/src/_cjs/utils/algorithms/CubicSplinePath.js +0 -175
  210. package/src/_cjs/utils/algorithms/CubicSplinePath.js.map +0 -1
  211. package/src/_cjs/utils/algorithms/HobbyPath.d.ts +0 -81
  212. package/src/_cjs/utils/algorithms/HobbyPath.js +0 -278
  213. package/src/_cjs/utils/algorithms/HobbyPath.js.map +0 -1
  214. package/src/_cjs/utils/algorithms/Metaballs.d.ts +0 -30
  215. package/src/_cjs/utils/algorithms/Metaballs.js +0 -114
  216. package/src/_cjs/utils/algorithms/Metaballs.js.map +0 -1
  217. package/src/_cjs/utils/algorithms/PolygonInset.d.ts +0 -184
  218. package/src/_cjs/utils/algorithms/PolygonInset.js +0 -431
  219. package/src/_cjs/utils/algorithms/PolygonInset.js.map +0 -1
  220. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  221. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js +0 -269
  222. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  223. package/src/_cjs/utils/algorithms/arrayFill.d.ts +0 -8
  224. package/src/_cjs/utils/algorithms/arrayFill.js +0 -18
  225. package/src/_cjs/utils/algorithms/arrayFill.js.map +0 -1
  226. package/src/_cjs/utils/algorithms/arrayResize.d.ts +0 -8
  227. package/src/_cjs/utils/algorithms/arrayResize.js +0 -24
  228. package/src/_cjs/utils/algorithms/arrayResize.js.map +0 -1
  229. package/src/_cjs/utils/algorithms/arrayShuffle.d.ts +0 -8
  230. package/src/_cjs/utils/algorithms/arrayShuffle.js +0 -15
  231. package/src/_cjs/utils/algorithms/arrayShuffle.js.map +0 -1
  232. package/src/_cjs/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  233. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js +0 -51
  234. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  235. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  236. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js +0 -61
  237. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  238. package/src/_cjs/utils/algorithms/convexHull.d.ts +0 -23
  239. package/src/_cjs/utils/algorithms/convexHull.js +0 -71
  240. package/src/_cjs/utils/algorithms/convexHull.js.map +0 -1
  241. package/src/_cjs/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  242. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js +0 -145
  243. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  244. package/src/_cjs/utils/algorithms/delaunay.d.ts +0 -30
  245. package/src/_cjs/utils/algorithms/delaunay.js +0 -158
  246. package/src/_cjs/utils/algorithms/delaunay.js.map +0 -1
  247. package/src/_cjs/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  248. package/src/_cjs/utils/algorithms/delaunay2voronoi.js +0 -104
  249. package/src/_cjs/utils/algorithms/delaunay2voronoi.js.map +0 -1
  250. package/src/_cjs/utils/algorithms/detectPaths.d.ts +0 -21
  251. package/src/_cjs/utils/algorithms/detectPaths.js +0 -169
  252. package/src/_cjs/utils/algorithms/detectPaths.js.map +0 -1
  253. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  254. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js +0 -51
  255. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  256. package/src/_cjs/utils/algorithms/getContrastColor.d.ts +0 -13
  257. package/src/_cjs/utils/algorithms/getContrastColor.js +0 -26
  258. package/src/_cjs/utils/algorithms/getContrastColor.js.map +0 -1
  259. package/src/_cjs/utils/algorithms/matrixFill.d.ts +0 -10
  260. package/src/_cjs/utils/algorithms/matrixFill.js +0 -21
  261. package/src/_cjs/utils/algorithms/matrixFill.js.map +0 -1
  262. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  263. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js +0 -270
  264. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  265. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  266. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js +0 -102
  267. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  268. package/src/_cjs/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  269. package/src/_cjs/utils/algorithms/sutherlandHodgman.js +0 -76
  270. package/src/_cjs/utils/algorithms/sutherlandHodgman.js.map +0 -1
  271. package/src/_cjs/utils/cloneVertexArray.d.ts +0 -13
  272. package/src/_cjs/utils/cloneVertexArray.js +0 -23
  273. package/src/_cjs/utils/cloneVertexArray.js.map +0 -1
  274. package/src/_cjs/utils/createRandomizedPolygon.d.ts +0 -14
  275. package/src/_cjs/utils/createRandomizedPolygon.js +0 -32
  276. package/src/_cjs/utils/createRandomizedPolygon.js.map +0 -1
  277. package/src/_cjs/utils/creategui.js +0 -434
  278. package/src/_cjs/utils/dat.gui.arrowbounce.polyfill.js +0 -128
  279. package/src/_cjs/utils/dat.gui.title.polyfill.js +0 -35
  280. package/src/_cjs/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  281. package/src/_cjs/utils/datastructures/CircularIntervalSet.js +0 -163
  282. package/src/_cjs/utils/datastructures/CircularIntervalSet.js.map +0 -1
  283. package/src/_cjs/utils/datastructures/Color.d.ts +0 -391
  284. package/src/_cjs/utils/datastructures/Color.js +0 -1084
  285. package/src/_cjs/utils/datastructures/Color.js.map +0 -1
  286. package/src/_cjs/utils/datastructures/ColorGradient.d.ts +0 -81
  287. package/src/_cjs/utils/datastructures/ColorGradient.js +0 -176
  288. package/src/_cjs/utils/datastructures/ColorGradient.js.map +0 -1
  289. package/src/_cjs/utils/datastructures/DataGrid2d.d.ts +0 -53
  290. package/src/_cjs/utils/datastructures/DataGrid2d.js +0 -20
  291. package/src/_cjs/utils/datastructures/DataGrid2d.js.map +0 -1
  292. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  293. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js +0 -155
  294. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  295. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  296. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js +0 -84
  297. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  298. package/src/_cjs/utils/datastructures/GenericPath.d.ts +0 -86
  299. package/src/_cjs/utils/datastructures/GenericPath.js +0 -122
  300. package/src/_cjs/utils/datastructures/GenericPath.js.map +0 -1
  301. package/src/_cjs/utils/datastructures/GeometryMesh.d.ts +0 -49
  302. package/src/_cjs/utils/datastructures/GeometryMesh.js +0 -58
  303. package/src/_cjs/utils/datastructures/GeometryMesh.js.map +0 -1
  304. package/src/_cjs/utils/datastructures/Girih.d.ts +0 -181
  305. package/src/_cjs/utils/datastructures/Girih.js +0 -266
  306. package/src/_cjs/utils/datastructures/Girih.js.map +0 -1
  307. package/src/_cjs/utils/datastructures/GirihBowtie.d.ts +0 -37
  308. package/src/_cjs/utils/datastructures/GirihBowtie.js +0 -152
  309. package/src/_cjs/utils/datastructures/GirihBowtie.js.map +0 -1
  310. package/src/_cjs/utils/datastructures/GirihDecagon.d.ts +0 -52
  311. package/src/_cjs/utils/datastructures/GirihDecagon.js +0 -132
  312. package/src/_cjs/utils/datastructures/GirihDecagon.js.map +0 -1
  313. package/src/_cjs/utils/datastructures/GirihHexagon.d.ts +0 -39
  314. package/src/_cjs/utils/datastructures/GirihHexagon.js +0 -200
  315. package/src/_cjs/utils/datastructures/GirihHexagon.js.map +0 -1
  316. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  317. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js +0 -189
  318. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  319. package/src/_cjs/utils/datastructures/GirihPentagon.d.ts +0 -37
  320. package/src/_cjs/utils/datastructures/GirihPentagon.js +0 -109
  321. package/src/_cjs/utils/datastructures/GirihPentagon.js.map +0 -1
  322. package/src/_cjs/utils/datastructures/GirihRhombus.d.ts +0 -38
  323. package/src/_cjs/utils/datastructures/GirihRhombus.js +0 -155
  324. package/src/_cjs/utils/datastructures/GirihRhombus.js.map +0 -1
  325. package/src/_cjs/utils/datastructures/GirihTile.d.ts +0 -283
  326. package/src/_cjs/utils/datastructures/GirihTile.js +0 -308
  327. package/src/_cjs/utils/datastructures/GirihTile.js.map +0 -1
  328. package/src/_cjs/utils/datastructures/Matrix4x4.d.ts +0 -244
  329. package/src/_cjs/utils/datastructures/Matrix4x4.js +0 -262
  330. package/src/_cjs/utils/datastructures/Matrix4x4.js.map +0 -1
  331. package/src/_cjs/utils/datastructures/VoronoiCell.d.ts +0 -122
  332. package/src/_cjs/utils/datastructures/VoronoiCell.js +0 -183
  333. package/src/_cjs/utils/datastructures/VoronoiCell.js.map +0 -1
  334. package/src/_cjs/utils/datastructures/interfaces.d.ts +0 -13
  335. package/src/_cjs/utils/datastructures/interfaces.js +0 -10
  336. package/src/_cjs/utils/datastructures/interfaces.js.map +0 -1
  337. package/src/_cjs/utils/detectDarkMode.d.ts +0 -10
  338. package/src/_cjs/utils/detectDarkMode.js +0 -41
  339. package/src/_cjs/utils/detectDarkMode.js.map +0 -1
  340. package/src/_cjs/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  341. package/src/_cjs/utils/dom/components/ColorGradientPicker.js +0 -667
  342. package/src/_cjs/utils/dom/components/ColorGradientPicker.js.map +0 -1
  343. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +0 -129
  344. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js +0 -520
  345. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js.map +0 -1
  346. package/src/_cjs/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  347. package/src/_cjs/utils/dom/components/ColorGradientSelector.js +0 -327
  348. package/src/_cjs/utils/dom/components/ColorGradientSelector.js.map +0 -1
  349. package/src/_cjs/utils/dom/components/Test.d.ts +0 -7
  350. package/src/_cjs/utils/dom/components/Test.js +0 -30
  351. package/src/_cjs/utils/dom/components/Test.js.map +0 -1
  352. package/src/_cjs/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  353. package/src/_cjs/utils/dom/getAvailableContainerSpace.js +0 -29
  354. package/src/_cjs/utils/dom/getAvailableContainerSpace.js.map +0 -1
  355. package/src/_cjs/utils/dom/getFProp.d.ts +0 -5
  356. package/src/_cjs/utils/dom/getFProp.js +0 -12
  357. package/src/_cjs/utils/dom/getFProp.js.map +0 -1
  358. package/src/_cjs/utils/dom/guiSizeToggler.d.ts +0 -18
  359. package/src/_cjs/utils/dom/guiSizeToggler.js +0 -44
  360. package/src/_cjs/utils/dom/guiSizeToggler.js.map +0 -1
  361. package/src/_cjs/utils/findInVertexArray.d.ts +0 -19
  362. package/src/_cjs/utils/findInVertexArray.js +0 -29
  363. package/src/_cjs/utils/findInVertexArray.js.map +0 -1
  364. package/src/_cjs/utils/getFProp.d.ts +0 -5
  365. package/src/_cjs/utils/getFProp.js +0 -12
  366. package/src/_cjs/utils/getFProp.js.map +0 -1
  367. package/src/_cjs/utils/gup.d.ts +0 -14
  368. package/src/_cjs/utils/gup.js +0 -31
  369. package/src/_cjs/utils/gup.js.map +0 -1
  370. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  371. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js +0 -655
  372. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  373. package/src/_cjs/utils/helpers/CircleHelper.d.ts +0 -73
  374. package/src/_cjs/utils/helpers/CircleHelper.js +0 -93
  375. package/src/_cjs/utils/helpers/CircleHelper.js.map +0 -1
  376. package/src/_cjs/utils/helpers/CircleSectorHelper.d.ts +0 -90
  377. package/src/_cjs/utils/helpers/CircleSectorHelper.js +0 -114
  378. package/src/_cjs/utils/helpers/CircleSectorHelper.js.map +0 -1
  379. package/src/_cjs/utils/helpers/TriangleHelper.d.ts +0 -57
  380. package/src/_cjs/utils/helpers/TriangleHelper.js +0 -83
  381. package/src/_cjs/utils/helpers/TriangleHelper.js.map +0 -1
  382. package/src/_cjs/utils/helpers/VEllipseHelper.d.ts +0 -32
  383. package/src/_cjs/utils/helpers/VEllipseHelper.js +0 -88
  384. package/src/_cjs/utils/helpers/VEllipseHelper.js.map +0 -1
  385. package/src/_cjs/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  386. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js +0 -135
  387. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  388. package/src/_cjs/utils/io/DndFileHandler.d.ts +0 -63
  389. package/src/_cjs/utils/io/DndFileHandler.js +0 -112
  390. package/src/_cjs/utils/io/DndFileHandler.js.map +0 -1
  391. package/src/_cjs/utils/io/FileDrop.d.ts +0 -110
  392. package/src/_cjs/utils/io/FileDrop.js +0 -177
  393. package/src/_cjs/utils/io/FileDrop.js.map +0 -1
  394. package/src/_cjs/utils/lil.gui.arrowbounce.polyfill.js +0 -133
  395. package/src/_cjs/utils/lil.gui.title.polyfill.js +0 -32
  396. package/src/_cjs/utils/module.js +0 -18
  397. package/src/_cjs/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  398. package/src/_cjs/utils/parsers/LinearColorGradientParser.js +0 -224
  399. package/src/_cjs/utils/parsers/LinearColorGradientParser.js.map +0 -1
  400. package/src/_cjs/utils/parsers/OBJParser.d.ts +0 -24
  401. package/src/_cjs/utils/parsers/OBJParser.js +0 -77
  402. package/src/_cjs/utils/parsers/OBJParser.js.map +0 -1
  403. package/src/_cjs/utils/parsers/STLParser.d.ts +0 -61
  404. package/src/_cjs/utils/parsers/STLParser.js +0 -182
  405. package/src/_cjs/utils/parsers/STLParser.js.map +0 -1
  406. package/src/_cjs/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  407. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js +0 -486
  408. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  409. package/src/_cjs/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  410. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js +0 -53
  411. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  412. package/src/_cjs/utils/parsers/svg/types.d.ts +0 -63
  413. package/src/_cjs/utils/parsers/svg/types.js +0 -17
  414. package/src/_cjs/utils/parsers/svg/types.js.map +0 -1
  415. package/src/_cjs/utils/ts-runner.js +0 -146
  416. package/src/_cjs/utils/tsAsyncScriptLoader.js +0 -74
  417. package/src/_esm/BezierPath.d.ts +0 -610
  418. package/src/_esm/BezierPath.js +0 -1124
  419. package/src/_esm/BezierPath.js.map +0 -1
  420. package/src/_esm/Bounds.d.ts +0 -252
  421. package/src/_esm/Bounds.js +0 -317
  422. package/src/_esm/Bounds.js.map +0 -1
  423. package/src/_esm/Circle.d.ts +0 -214
  424. package/src/_esm/Circle.js +0 -335
  425. package/src/_esm/Circle.js.map +0 -1
  426. package/src/_esm/CircleSector.d.ts +0 -211
  427. package/src/_esm/CircleSector.js +0 -359
  428. package/src/_esm/CircleSector.js.map +0 -1
  429. package/src/_esm/CubicBezierCurve.d.ts +0 -656
  430. package/src/_esm/CubicBezierCurve.js +0 -1057
  431. package/src/_esm/CubicBezierCurve.js.map +0 -1
  432. package/src/_esm/Grid.d.ts +0 -83
  433. package/src/_esm/Grid.js +0 -89
  434. package/src/_esm/Grid.js.map +0 -1
  435. package/src/_esm/KeyHandler.d.ts +0 -177
  436. package/src/_esm/KeyHandler.js +0 -434
  437. package/src/_esm/KeyHandler.js.map +0 -1
  438. package/src/_esm/Line.d.ts +0 -134
  439. package/src/_esm/Line.js +0 -200
  440. package/src/_esm/Line.js.map +0 -1
  441. package/src/_esm/MouseHandler.d.ts +0 -283
  442. package/src/_esm/MouseHandler.js +0 -397
  443. package/src/_esm/MouseHandler.js.map +0 -1
  444. package/src/_esm/PBImage.d.ts +0 -81
  445. package/src/_esm/PBImage.js +0 -60
  446. package/src/_esm/PBImage.js.map +0 -1
  447. package/src/_esm/PBText.d.ts +0 -118
  448. package/src/_esm/PBText.js +0 -62
  449. package/src/_esm/PBText.js.map +0 -1
  450. package/src/_esm/PlotBoilerplate.d.ts +0 -899
  451. package/src/_esm/PlotBoilerplate.js +0 -2347
  452. package/src/_esm/PlotBoilerplate.js.map +0 -1
  453. package/src/_esm/Polygon.d.ts +0 -520
  454. package/src/_esm/Polygon.js +0 -924
  455. package/src/_esm/Polygon.js.map +0 -1
  456. package/src/_esm/SVGBuilder.d.ts +0 -47
  457. package/src/_esm/SVGBuilder.js +0 -95
  458. package/src/_esm/SVGBuilder.js.map +0 -1
  459. package/src/_esm/Triangle.d.ts +0 -392
  460. package/src/_esm/Triangle.js +0 -493
  461. package/src/_esm/Triangle.js.map +0 -1
  462. package/src/_esm/UIDGenerator.d.ts +0 -12
  463. package/src/_esm/UIDGenerator.js +0 -18
  464. package/src/_esm/UIDGenerator.js.map +0 -1
  465. package/src/_esm/VEllipse.d.ts +0 -319
  466. package/src/_esm/VEllipse.js +0 -574
  467. package/src/_esm/VEllipse.js.map +0 -1
  468. package/src/_esm/VEllipseSector.d.ts +0 -230
  469. package/src/_esm/VEllipseSector.js +0 -422
  470. package/src/_esm/VEllipseSector.js.map +0 -1
  471. package/src/_esm/Vector.d.ts +0 -126
  472. package/src/_esm/Vector.js +0 -181
  473. package/src/_esm/Vector.js.map +0 -1
  474. package/src/_esm/VertTuple.d.ts +0 -284
  475. package/src/_esm/VertTuple.js +0 -347
  476. package/src/_esm/VertTuple.js.map +0 -1
  477. package/src/_esm/Vertex.d.ts +0 -498
  478. package/src/_esm/Vertex.js +0 -702
  479. package/src/_esm/Vertex.js.map +0 -1
  480. package/src/_esm/VertexAttr.d.ts +0 -72
  481. package/src/_esm/VertexAttr.js +0 -58
  482. package/src/_esm/VertexAttr.js.map +0 -1
  483. package/src/_esm/VertexListeners.d.ts +0 -209
  484. package/src/_esm/VertexListeners.js +0 -270
  485. package/src/_esm/VertexListeners.js.map +0 -1
  486. package/src/_esm/draw.d.ts +0 -657
  487. package/src/_esm/draw.js +0 -1159
  488. package/src/_esm/draw.js.map +0 -1
  489. package/src/_esm/drawgl.d.ts +0 -544
  490. package/src/_esm/drawgl.js +0 -812
  491. package/src/_esm/drawgl.js.map +0 -1
  492. package/src/_esm/drawutilssvg.d.ts +0 -954
  493. package/src/_esm/drawutilssvg.js +0 -1705
  494. package/src/_esm/drawutilssvg.js.map +0 -1
  495. package/src/_esm/entry-glsupport.js +0 -28
  496. package/src/_esm/entry.js +0 -29
  497. package/src/_esm/geomutils.d.ts +0 -77
  498. package/src/_esm/geomutils.js +0 -126
  499. package/src/_esm/geomutils.js.map +0 -1
  500. package/src/_esm/index.d.ts +0 -102
  501. package/src/_esm/index.js +0 -128
  502. package/src/_esm/index.js.map +0 -1
  503. package/src/_esm/interfaces/DrawLib.d.ts +0 -582
  504. package/src/_esm/interfaces/DrawLib.js +0 -32
  505. package/src/_esm/interfaces/DrawLib.js.map +0 -1
  506. package/src/_esm/interfaces/additionals.d.ts +0 -95
  507. package/src/_esm/interfaces/additionals.js +0 -3
  508. package/src/_esm/interfaces/additionals.js.map +0 -1
  509. package/src/_esm/interfaces/core.d.ts +0 -286
  510. package/src/_esm/interfaces/core.js +0 -30
  511. package/src/_esm/interfaces/core.js.map +0 -1
  512. package/src/_esm/interfaces/externals.d.ts +0 -56
  513. package/src/_esm/interfaces/externals.js +0 -8
  514. package/src/_esm/interfaces/externals.js.map +0 -1
  515. package/src/_esm/interfaces/index.d.ts +0 -4
  516. package/src/_esm/interfaces/index.js +0 -21
  517. package/src/_esm/interfaces/index.js.map +0 -1
  518. package/src/_esm/module.d.ts +0 -26
  519. package/src/_esm/module.js +0 -60
  520. package/src/_esm/module.js.map +0 -1
  521. package/src/_esm/src/ts/BezierPath.d.ts +0 -610
  522. package/src/_esm/src/ts/BezierPath.js +0 -1120
  523. package/src/_esm/src/ts/BezierPath.js.map +0 -1
  524. package/src/_esm/src/ts/Bounds.d.ts +0 -252
  525. package/src/_esm/src/ts/Bounds.js +0 -313
  526. package/src/_esm/src/ts/Bounds.js.map +0 -1
  527. package/src/_esm/src/ts/Circle.d.ts +0 -214
  528. package/src/_esm/src/ts/Circle.js +0 -331
  529. package/src/_esm/src/ts/Circle.js.map +0 -1
  530. package/src/_esm/src/ts/CircleSector.d.ts +0 -211
  531. package/src/_esm/src/ts/CircleSector.js +0 -355
  532. package/src/_esm/src/ts/CircleSector.js.map +0 -1
  533. package/src/_esm/src/ts/CubicBezierCurve.d.ts +0 -656
  534. package/src/_esm/src/ts/CubicBezierCurve.js +0 -1053
  535. package/src/_esm/src/ts/CubicBezierCurve.js.map +0 -1
  536. package/src/_esm/src/ts/Grid.d.ts +0 -83
  537. package/src/_esm/src/ts/Grid.js +0 -85
  538. package/src/_esm/src/ts/Grid.js.map +0 -1
  539. package/src/_esm/src/ts/KeyHandler.d.ts +0 -177
  540. package/src/_esm/src/ts/KeyHandler.js +0 -430
  541. package/src/_esm/src/ts/KeyHandler.js.map +0 -1
  542. package/src/_esm/src/ts/Line.d.ts +0 -134
  543. package/src/_esm/src/ts/Line.js +0 -196
  544. package/src/_esm/src/ts/Line.js.map +0 -1
  545. package/src/_esm/src/ts/MouseHandler.d.ts +0 -283
  546. package/src/_esm/src/ts/MouseHandler.js +0 -391
  547. package/src/_esm/src/ts/MouseHandler.js.map +0 -1
  548. package/src/_esm/src/ts/PBImage.d.ts +0 -81
  549. package/src/_esm/src/ts/PBImage.js +0 -56
  550. package/src/_esm/src/ts/PBImage.js.map +0 -1
  551. package/src/_esm/src/ts/PBText.d.ts +0 -118
  552. package/src/_esm/src/ts/PBText.js +0 -58
  553. package/src/_esm/src/ts/PBText.js.map +0 -1
  554. package/src/_esm/src/ts/PlotBoilerplate.d.ts +0 -899
  555. package/src/_esm/src/ts/PlotBoilerplate.js +0 -2340
  556. package/src/_esm/src/ts/PlotBoilerplate.js.map +0 -1
  557. package/src/_esm/src/ts/Polygon.d.ts +0 -520
  558. package/src/_esm/src/ts/Polygon.js +0 -920
  559. package/src/_esm/src/ts/Polygon.js.map +0 -1
  560. package/src/_esm/src/ts/Triangle.d.ts +0 -392
  561. package/src/_esm/src/ts/Triangle.js +0 -489
  562. package/src/_esm/src/ts/Triangle.js.map +0 -1
  563. package/src/_esm/src/ts/UIDGenerator.d.ts +0 -12
  564. package/src/_esm/src/ts/UIDGenerator.js +0 -14
  565. package/src/_esm/src/ts/UIDGenerator.js.map +0 -1
  566. package/src/_esm/src/ts/VEllipse.d.ts +0 -319
  567. package/src/_esm/src/ts/VEllipse.js +0 -570
  568. package/src/_esm/src/ts/VEllipse.js.map +0 -1
  569. package/src/_esm/src/ts/VEllipseSector.d.ts +0 -230
  570. package/src/_esm/src/ts/VEllipseSector.js +0 -418
  571. package/src/_esm/src/ts/VEllipseSector.js.map +0 -1
  572. package/src/_esm/src/ts/Vector.d.ts +0 -126
  573. package/src/_esm/src/ts/Vector.js +0 -177
  574. package/src/_esm/src/ts/Vector.js.map +0 -1
  575. package/src/_esm/src/ts/VertTuple.d.ts +0 -284
  576. package/src/_esm/src/ts/VertTuple.js +0 -343
  577. package/src/_esm/src/ts/VertTuple.js.map +0 -1
  578. package/src/_esm/src/ts/Vertex.d.ts +0 -498
  579. package/src/_esm/src/ts/Vertex.js +0 -698
  580. package/src/_esm/src/ts/Vertex.js.map +0 -1
  581. package/src/_esm/src/ts/VertexAttr.d.ts +0 -72
  582. package/src/_esm/src/ts/VertexAttr.js +0 -54
  583. package/src/_esm/src/ts/VertexAttr.js.map +0 -1
  584. package/src/_esm/src/ts/VertexListeners.d.ts +0 -209
  585. package/src/_esm/src/ts/VertexListeners.js +0 -266
  586. package/src/_esm/src/ts/VertexListeners.js.map +0 -1
  587. package/src/_esm/src/ts/draw.d.ts +0 -657
  588. package/src/_esm/src/ts/draw.js +0 -1155
  589. package/src/_esm/src/ts/draw.js.map +0 -1
  590. package/src/_esm/src/ts/drawgl.d.ts +0 -544
  591. package/src/_esm/src/ts/drawgl.js +0 -808
  592. package/src/_esm/src/ts/drawgl.js.map +0 -1
  593. package/src/_esm/src/ts/drawutilssvg.d.ts +0 -954
  594. package/src/_esm/src/ts/drawutilssvg.js +0 -1701
  595. package/src/_esm/src/ts/drawutilssvg.js.map +0 -1
  596. package/src/_esm/src/ts/geomutils.d.ts +0 -77
  597. package/src/_esm/src/ts/geomutils.js +0 -123
  598. package/src/_esm/src/ts/geomutils.js.map +0 -1
  599. package/src/_esm/src/ts/index.d.ts +0 -102
  600. package/src/_esm/src/ts/index.js +0 -112
  601. package/src/_esm/src/ts/index.js.map +0 -1
  602. package/src/_esm/src/ts/interfaces/DrawLib.d.ts +0 -582
  603. package/src/_esm/src/ts/interfaces/DrawLib.js +0 -31
  604. package/src/_esm/src/ts/interfaces/DrawLib.js.map +0 -1
  605. package/src/_esm/src/ts/interfaces/additionals.d.ts +0 -95
  606. package/src/_esm/src/ts/interfaces/additionals.js +0 -2
  607. package/src/_esm/src/ts/interfaces/additionals.js.map +0 -1
  608. package/src/_esm/src/ts/interfaces/core.d.ts +0 -286
  609. package/src/_esm/src/ts/interfaces/core.js +0 -29
  610. package/src/_esm/src/ts/interfaces/core.js.map +0 -1
  611. package/src/_esm/src/ts/interfaces/externals.d.ts +0 -56
  612. package/src/_esm/src/ts/interfaces/externals.js +0 -7
  613. package/src/_esm/src/ts/interfaces/externals.js.map +0 -1
  614. package/src/_esm/src/ts/interfaces/index.d.ts +0 -4
  615. package/src/_esm/src/ts/interfaces/index.js +0 -5
  616. package/src/_esm/src/ts/interfaces/index.js.map +0 -1
  617. package/src/_esm/src/ts/module.d.ts +0 -26
  618. package/src/_esm/src/ts/module.js +0 -38
  619. package/src/_esm/src/ts/module.js.map +0 -1
  620. package/src/_esm/src/ts/utils/InitializationObserver.d.ts +0 -18
  621. package/src/_esm/src/ts/utils/InitializationObserver.js +0 -57
  622. package/src/_esm/src/ts/utils/InitializationObserver.js.map +0 -1
  623. package/src/_esm/src/ts/utils/LissajousFigure.d.ts +0 -34
  624. package/src/_esm/src/ts/utils/LissajousFigure.js +0 -95
  625. package/src/_esm/src/ts/utils/LissajousFigure.js.map +0 -1
  626. package/src/_esm/src/ts/utils/NGons.d.ts +0 -13
  627. package/src/_esm/src/ts/utils/NGons.js +0 -33
  628. package/src/_esm/src/ts/utils/NGons.js.map +0 -1
  629. package/src/_esm/src/ts/utils/Params.d.ts +0 -17
  630. package/src/_esm/src/ts/utils/Params.js +0 -48
  631. package/src/_esm/src/ts/utils/Params.js.map +0 -1
  632. package/src/_esm/src/ts/utils/PerlinNoise.d.ts +0 -19
  633. package/src/_esm/src/ts/utils/PerlinNoise.js +0 -346
  634. package/src/_esm/src/ts/utils/PerlinNoise.js.map +0 -1
  635. package/src/_esm/src/ts/utils/SVGPathUtils.d.ts +0 -22
  636. package/src/_esm/src/ts/utils/SVGPathUtils.js +0 -42
  637. package/src/_esm/src/ts/utils/SVGPathUtils.js.map +0 -1
  638. package/src/_esm/src/ts/utils/WebColors.d.ts +0 -35
  639. package/src/_esm/src/ts/utils/WebColors.js +0 -54
  640. package/src/_esm/src/ts/utils/WebColors.js.map +0 -1
  641. package/src/_esm/src/ts/utils/WebColorsContrast.d.ts +0 -6
  642. package/src/_esm/src/ts/utils/WebColorsContrast.js +0 -9
  643. package/src/_esm/src/ts/utils/WebColorsContrast.js.map +0 -1
  644. package/src/_esm/src/ts/utils/WebColorsMalachite.d.ts +0 -12
  645. package/src/_esm/src/ts/utils/WebColorsMalachite.js +0 -25
  646. package/src/_esm/src/ts/utils/WebColorsMalachite.js.map +0 -1
  647. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.d.ts +0 -60
  648. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js +0 -103
  649. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js.map +0 -1
  650. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.d.ts +0 -170
  651. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js +0 -303
  652. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js.map +0 -1
  653. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.d.ts +0 -150
  654. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js +0 -362
  655. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js.map +0 -1
  656. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.d.ts +0 -63
  657. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js +0 -170
  658. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js.map +0 -1
  659. package/src/_esm/src/ts/utils/algorithms/HobbyPath.d.ts +0 -81
  660. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js +0 -273
  661. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js.map +0 -1
  662. package/src/_esm/src/ts/utils/algorithms/Metaballs.d.ts +0 -30
  663. package/src/_esm/src/ts/utils/algorithms/Metaballs.js +0 -109
  664. package/src/_esm/src/ts/utils/algorithms/Metaballs.js.map +0 -1
  665. package/src/_esm/src/ts/utils/algorithms/PolygonInset.d.ts +0 -184
  666. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js +0 -424
  667. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js.map +0 -1
  668. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  669. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js +0 -262
  670. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  671. package/src/_esm/src/ts/utils/algorithms/arrayFill.d.ts +0 -8
  672. package/src/_esm/src/ts/utils/algorithms/arrayFill.js +0 -14
  673. package/src/_esm/src/ts/utils/algorithms/arrayFill.js.map +0 -1
  674. package/src/_esm/src/ts/utils/algorithms/arrayResize.d.ts +0 -8
  675. package/src/_esm/src/ts/utils/algorithms/arrayResize.js +0 -20
  676. package/src/_esm/src/ts/utils/algorithms/arrayResize.js.map +0 -1
  677. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.d.ts +0 -8
  678. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js +0 -11
  679. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js.map +0 -1
  680. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  681. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js +0 -47
  682. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  683. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  684. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js +0 -57
  685. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  686. package/src/_esm/src/ts/utils/algorithms/convexHull.d.ts +0 -23
  687. package/src/_esm/src/ts/utils/algorithms/convexHull.js +0 -67
  688. package/src/_esm/src/ts/utils/algorithms/convexHull.js.map +0 -1
  689. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  690. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js +0 -141
  691. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  692. package/src/_esm/src/ts/utils/algorithms/delaunay.d.ts +0 -30
  693. package/src/_esm/src/ts/utils/algorithms/delaunay.js +0 -153
  694. package/src/_esm/src/ts/utils/algorithms/delaunay.js.map +0 -1
  695. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  696. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js +0 -99
  697. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js.map +0 -1
  698. package/src/_esm/src/ts/utils/algorithms/detectPaths.d.ts +0 -21
  699. package/src/_esm/src/ts/utils/algorithms/detectPaths.js +0 -165
  700. package/src/_esm/src/ts/utils/algorithms/detectPaths.js.map +0 -1
  701. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  702. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js +0 -47
  703. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  704. package/src/_esm/src/ts/utils/algorithms/getContrastColor.d.ts +0 -13
  705. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js +0 -22
  706. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js.map +0 -1
  707. package/src/_esm/src/ts/utils/algorithms/matrixFill.d.ts +0 -10
  708. package/src/_esm/src/ts/utils/algorithms/matrixFill.js +0 -17
  709. package/src/_esm/src/ts/utils/algorithms/matrixFill.js.map +0 -1
  710. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  711. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js +0 -266
  712. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  713. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  714. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js +0 -99
  715. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  716. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  717. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js +0 -72
  718. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js.map +0 -1
  719. package/src/_esm/src/ts/utils/cloneVertexArray.d.ts +0 -13
  720. package/src/_esm/src/ts/utils/cloneVertexArray.js +0 -19
  721. package/src/_esm/src/ts/utils/cloneVertexArray.js.map +0 -1
  722. package/src/_esm/src/ts/utils/createRandomizedPolygon.d.ts +0 -14
  723. package/src/_esm/src/ts/utils/createRandomizedPolygon.js +0 -28
  724. package/src/_esm/src/ts/utils/createRandomizedPolygon.js.map +0 -1
  725. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  726. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js +0 -158
  727. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js.map +0 -1
  728. package/src/_esm/src/ts/utils/datastructures/Color.d.ts +0 -391
  729. package/src/_esm/src/ts/utils/datastructures/Color.js +0 -1063
  730. package/src/_esm/src/ts/utils/datastructures/Color.js.map +0 -1
  731. package/src/_esm/src/ts/utils/datastructures/ColorGradient.d.ts +0 -81
  732. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js +0 -171
  733. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js.map +0 -1
  734. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.d.ts +0 -53
  735. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js +0 -19
  736. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js.map +0 -1
  737. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  738. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js +0 -150
  739. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  740. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  741. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js +0 -79
  742. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  743. package/src/_esm/src/ts/utils/datastructures/GenericPath.d.ts +0 -86
  744. package/src/_esm/src/ts/utils/datastructures/GenericPath.js +0 -117
  745. package/src/_esm/src/ts/utils/datastructures/GenericPath.js.map +0 -1
  746. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.d.ts +0 -49
  747. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js +0 -53
  748. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js.map +0 -1
  749. package/src/_esm/src/ts/utils/datastructures/Girih.d.ts +0 -181
  750. package/src/_esm/src/ts/utils/datastructures/Girih.js +0 -261
  751. package/src/_esm/src/ts/utils/datastructures/Girih.js.map +0 -1
  752. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.d.ts +0 -37
  753. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js +0 -130
  754. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js.map +0 -1
  755. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.d.ts +0 -52
  756. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js +0 -110
  757. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js.map +0 -1
  758. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.d.ts +0 -39
  759. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js +0 -178
  760. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js.map +0 -1
  761. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  762. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js +0 -167
  763. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  764. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.d.ts +0 -37
  765. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js +0 -87
  766. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js.map +0 -1
  767. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.d.ts +0 -38
  768. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js +0 -133
  769. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js.map +0 -1
  770. package/src/_esm/src/ts/utils/datastructures/GirihTile.d.ts +0 -283
  771. package/src/_esm/src/ts/utils/datastructures/GirihTile.js +0 -286
  772. package/src/_esm/src/ts/utils/datastructures/GirihTile.js.map +0 -1
  773. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.d.ts +0 -244
  774. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js +0 -246
  775. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js.map +0 -1
  776. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.d.ts +0 -122
  777. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js +0 -178
  778. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js.map +0 -1
  779. package/src/_esm/src/ts/utils/datastructures/interfaces.d.ts +0 -13
  780. package/src/_esm/src/ts/utils/datastructures/interfaces.js +0 -9
  781. package/src/_esm/src/ts/utils/datastructures/interfaces.js.map +0 -1
  782. package/src/_esm/src/ts/utils/detectDarkMode.d.ts +0 -10
  783. package/src/_esm/src/ts/utils/detectDarkMode.js +0 -37
  784. package/src/_esm/src/ts/utils/detectDarkMode.js.map +0 -1
  785. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  786. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js +0 -743
  787. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js.map +0 -1
  788. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  789. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js +0 -339
  790. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js.map +0 -1
  791. package/src/_esm/src/ts/utils/dom/components/Test.d.ts +0 -7
  792. package/src/_esm/src/ts/utils/dom/components/Test.js +0 -26
  793. package/src/_esm/src/ts/utils/dom/components/Test.js.map +0 -1
  794. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  795. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js +0 -25
  796. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js.map +0 -1
  797. package/src/_esm/src/ts/utils/dom/getFProp.d.ts +0 -5
  798. package/src/_esm/src/ts/utils/dom/getFProp.js +0 -8
  799. package/src/_esm/src/ts/utils/dom/getFProp.js.map +0 -1
  800. package/src/_esm/src/ts/utils/dom/guiSizeToggler.d.ts +0 -18
  801. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js +0 -40
  802. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js.map +0 -1
  803. package/src/_esm/src/ts/utils/findInVertexArray.d.ts +0 -19
  804. package/src/_esm/src/ts/utils/findInVertexArray.js +0 -25
  805. package/src/_esm/src/ts/utils/findInVertexArray.js.map +0 -1
  806. package/src/_esm/src/ts/utils/gup.d.ts +0 -14
  807. package/src/_esm/src/ts/utils/gup.js +0 -27
  808. package/src/_esm/src/ts/utils/gup.js.map +0 -1
  809. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  810. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js +0 -648
  811. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  812. package/src/_esm/src/ts/utils/helpers/CircleHelper.d.ts +0 -73
  813. package/src/_esm/src/ts/utils/helpers/CircleHelper.js +0 -88
  814. package/src/_esm/src/ts/utils/helpers/CircleHelper.js.map +0 -1
  815. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.d.ts +0 -90
  816. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js +0 -109
  817. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js.map +0 -1
  818. package/src/_esm/src/ts/utils/helpers/TriangleHelper.d.ts +0 -57
  819. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js +0 -78
  820. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js.map +0 -1
  821. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.d.ts +0 -32
  822. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js +0 -83
  823. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js.map +0 -1
  824. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  825. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js +0 -130
  826. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  827. package/src/_esm/src/ts/utils/io/FileDrop.d.ts +0 -110
  828. package/src/_esm/src/ts/utils/io/FileDrop.js +0 -171
  829. package/src/_esm/src/ts/utils/io/FileDrop.js.map +0 -1
  830. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  831. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js +0 -217
  832. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js.map +0 -1
  833. package/src/_esm/src/ts/utils/parsers/OBJParser.d.ts +0 -24
  834. package/src/_esm/src/ts/utils/parsers/OBJParser.js +0 -72
  835. package/src/_esm/src/ts/utils/parsers/OBJParser.js.map +0 -1
  836. package/src/_esm/src/ts/utils/parsers/STLParser.d.ts +0 -61
  837. package/src/_esm/src/ts/utils/parsers/STLParser.js +0 -175
  838. package/src/_esm/src/ts/utils/parsers/STLParser.js.map +0 -1
  839. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  840. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js +0 -482
  841. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  842. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  843. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js +0 -49
  844. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  845. package/src/_esm/src/ts/utils/parsers/svg/types.d.ts +0 -63
  846. package/src/_esm/src/ts/utils/parsers/svg/types.js +0 -16
  847. package/src/_esm/src/ts/utils/parsers/svg/types.js.map +0 -1
  848. package/src/_esm/utils/InitializationObserver.d.ts +0 -18
  849. package/src/_esm/utils/InitializationObserver.js +0 -61
  850. package/src/_esm/utils/InitializationObserver.js.map +0 -1
  851. package/src/_esm/utils/LissajousFigure.d.ts +0 -34
  852. package/src/_esm/utils/LissajousFigure.js +0 -99
  853. package/src/_esm/utils/LissajousFigure.js.map +0 -1
  854. package/src/_esm/utils/NGons.d.ts +0 -13
  855. package/src/_esm/utils/NGons.js +0 -36
  856. package/src/_esm/utils/NGons.js.map +0 -1
  857. package/src/_esm/utils/Params.d.ts +0 -17
  858. package/src/_esm/utils/Params.js +0 -52
  859. package/src/_esm/utils/Params.js.map +0 -1
  860. package/src/_esm/utils/PerlinNoise.d.ts +0 -19
  861. package/src/_esm/utils/PerlinNoise.js +0 -350
  862. package/src/_esm/utils/PerlinNoise.js.map +0 -1
  863. package/src/_esm/utils/SVGPathUtils.d.ts +0 -22
  864. package/src/_esm/utils/SVGPathUtils.js +0 -45
  865. package/src/_esm/utils/SVGPathUtils.js.map +0 -1
  866. package/src/_esm/utils/WebColors.d.ts +0 -35
  867. package/src/_esm/utils/WebColors.js +0 -58
  868. package/src/_esm/utils/WebColors.js.map +0 -1
  869. package/src/_esm/utils/WebColorsContrast.d.ts +0 -6
  870. package/src/_esm/utils/WebColorsContrast.js +0 -12
  871. package/src/_esm/utils/WebColorsContrast.js.map +0 -1
  872. package/src/_esm/utils/WebColorsMalachite.d.ts +0 -12
  873. package/src/_esm/utils/WebColorsMalachite.js +0 -28
  874. package/src/_esm/utils/WebColorsMalachite.js.map +0 -1
  875. package/src/_esm/utils/algorithms/CatmullRomPath.d.ts +0 -60
  876. package/src/_esm/utils/algorithms/CatmullRomPath.js +0 -107
  877. package/src/_esm/utils/algorithms/CatmullRomPath.js.map +0 -1
  878. package/src/_esm/utils/algorithms/CircleIntersections.d.ts +0 -170
  879. package/src/_esm/utils/algorithms/CircleIntersections.js +0 -307
  880. package/src/_esm/utils/algorithms/CircleIntersections.js.map +0 -1
  881. package/src/_esm/utils/algorithms/ContourLineDetection.d.ts +0 -150
  882. package/src/_esm/utils/algorithms/ContourLineDetection.js +0 -366
  883. package/src/_esm/utils/algorithms/ContourLineDetection.js.map +0 -1
  884. package/src/_esm/utils/algorithms/CubicSplinePath.d.ts +0 -63
  885. package/src/_esm/utils/algorithms/CubicSplinePath.js +0 -174
  886. package/src/_esm/utils/algorithms/CubicSplinePath.js.map +0 -1
  887. package/src/_esm/utils/algorithms/HobbyPath.d.ts +0 -81
  888. package/src/_esm/utils/algorithms/HobbyPath.js +0 -277
  889. package/src/_esm/utils/algorithms/HobbyPath.js.map +0 -1
  890. package/src/_esm/utils/algorithms/Metaballs.d.ts +0 -30
  891. package/src/_esm/utils/algorithms/Metaballs.js +0 -113
  892. package/src/_esm/utils/algorithms/Metaballs.js.map +0 -1
  893. package/src/_esm/utils/algorithms/PolygonInset.d.ts +0 -184
  894. package/src/_esm/utils/algorithms/PolygonInset.js +0 -428
  895. package/src/_esm/utils/algorithms/PolygonInset.js.map +0 -1
  896. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  897. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js +0 -267
  898. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  899. package/src/_esm/utils/algorithms/arrayFill.d.ts +0 -8
  900. package/src/_esm/utils/algorithms/arrayFill.js +0 -18
  901. package/src/_esm/utils/algorithms/arrayFill.js.map +0 -1
  902. package/src/_esm/utils/algorithms/arrayResize.d.ts +0 -8
  903. package/src/_esm/utils/algorithms/arrayResize.js +0 -24
  904. package/src/_esm/utils/algorithms/arrayResize.js.map +0 -1
  905. package/src/_esm/utils/algorithms/arrayShuffle.d.ts +0 -8
  906. package/src/_esm/utils/algorithms/arrayShuffle.js +0 -15
  907. package/src/_esm/utils/algorithms/arrayShuffle.js.map +0 -1
  908. package/src/_esm/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  909. package/src/_esm/utils/algorithms/clearDuplicateVertices.js +0 -51
  910. package/src/_esm/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  911. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  912. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js +0 -61
  913. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  914. package/src/_esm/utils/algorithms/convexHull.d.ts +0 -23
  915. package/src/_esm/utils/algorithms/convexHull.js +0 -71
  916. package/src/_esm/utils/algorithms/convexHull.js.map +0 -1
  917. package/src/_esm/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  918. package/src/_esm/utils/algorithms/convexPolygonIncircle.js +0 -145
  919. package/src/_esm/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  920. package/src/_esm/utils/algorithms/createRandomizedPolygon.d.ts +0 -14
  921. package/src/_esm/utils/algorithms/createRandomizedPolygon.js +0 -28
  922. package/src/_esm/utils/algorithms/createRandomizedPolygon.js.map +0 -1
  923. package/src/_esm/utils/algorithms/delaunay.d.ts +0 -30
  924. package/src/_esm/utils/algorithms/delaunay.js +0 -157
  925. package/src/_esm/utils/algorithms/delaunay.js.map +0 -1
  926. package/src/_esm/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  927. package/src/_esm/utils/algorithms/delaunay2voronoi.js +0 -103
  928. package/src/_esm/utils/algorithms/delaunay2voronoi.js.map +0 -1
  929. package/src/_esm/utils/algorithms/detectPaths.d.ts +0 -21
  930. package/src/_esm/utils/algorithms/detectPaths.js +0 -169
  931. package/src/_esm/utils/algorithms/detectPaths.js.map +0 -1
  932. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  933. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js +0 -51
  934. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  935. package/src/_esm/utils/algorithms/getContrastColor.d.ts +0 -13
  936. package/src/_esm/utils/algorithms/getContrastColor.js +0 -26
  937. package/src/_esm/utils/algorithms/getContrastColor.js.map +0 -1
  938. package/src/_esm/utils/algorithms/matrixFill.d.ts +0 -10
  939. package/src/_esm/utils/algorithms/matrixFill.js +0 -21
  940. package/src/_esm/utils/algorithms/matrixFill.js.map +0 -1
  941. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  942. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js +0 -270
  943. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  944. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  945. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js +0 -102
  946. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  947. package/src/_esm/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  948. package/src/_esm/utils/algorithms/sutherlandHodgman.js +0 -76
  949. package/src/_esm/utils/algorithms/sutherlandHodgman.js.map +0 -1
  950. package/src/_esm/utils/cloneVertexArray.d.ts +0 -13
  951. package/src/_esm/utils/cloneVertexArray.js +0 -23
  952. package/src/_esm/utils/cloneVertexArray.js.map +0 -1
  953. package/src/_esm/utils/createRandomizedPolygon.d.ts +0 -14
  954. package/src/_esm/utils/createRandomizedPolygon.js +0 -32
  955. package/src/_esm/utils/createRandomizedPolygon.js.map +0 -1
  956. package/src/_esm/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  957. package/src/_esm/utils/datastructures/CircularIntervalSet.js +0 -162
  958. package/src/_esm/utils/datastructures/CircularIntervalSet.js.map +0 -1
  959. package/src/_esm/utils/datastructures/Color.d.ts +0 -391
  960. package/src/_esm/utils/datastructures/Color.js +0 -1067
  961. package/src/_esm/utils/datastructures/Color.js.map +0 -1
  962. package/src/_esm/utils/datastructures/ColorGradient.d.ts +0 -81
  963. package/src/_esm/utils/datastructures/ColorGradient.js +0 -175
  964. package/src/_esm/utils/datastructures/ColorGradient.js.map +0 -1
  965. package/src/_esm/utils/datastructures/DataGrid2d.d.ts +0 -53
  966. package/src/_esm/utils/datastructures/DataGrid2d.js +0 -20
  967. package/src/_esm/utils/datastructures/DataGrid2d.js.map +0 -1
  968. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  969. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js +0 -154
  970. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  971. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  972. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js +0 -83
  973. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  974. package/src/_esm/utils/datastructures/GenericPath.d.ts +0 -86
  975. package/src/_esm/utils/datastructures/GenericPath.js +0 -121
  976. package/src/_esm/utils/datastructures/GenericPath.js.map +0 -1
  977. package/src/_esm/utils/datastructures/GeometryMesh.d.ts +0 -49
  978. package/src/_esm/utils/datastructures/GeometryMesh.js +0 -57
  979. package/src/_esm/utils/datastructures/GeometryMesh.js.map +0 -1
  980. package/src/_esm/utils/datastructures/Girih.d.ts +0 -181
  981. package/src/_esm/utils/datastructures/Girih.js +0 -265
  982. package/src/_esm/utils/datastructures/Girih.js.map +0 -1
  983. package/src/_esm/utils/datastructures/GirihBowtie.d.ts +0 -37
  984. package/src/_esm/utils/datastructures/GirihBowtie.js +0 -134
  985. package/src/_esm/utils/datastructures/GirihBowtie.js.map +0 -1
  986. package/src/_esm/utils/datastructures/GirihDecagon.d.ts +0 -52
  987. package/src/_esm/utils/datastructures/GirihDecagon.js +0 -114
  988. package/src/_esm/utils/datastructures/GirihDecagon.js.map +0 -1
  989. package/src/_esm/utils/datastructures/GirihHexagon.d.ts +0 -39
  990. package/src/_esm/utils/datastructures/GirihHexagon.js +0 -182
  991. package/src/_esm/utils/datastructures/GirihHexagon.js.map +0 -1
  992. package/src/_esm/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  993. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js +0 -171
  994. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  995. package/src/_esm/utils/datastructures/GirihPentagon.d.ts +0 -37
  996. package/src/_esm/utils/datastructures/GirihPentagon.js +0 -91
  997. package/src/_esm/utils/datastructures/GirihPentagon.js.map +0 -1
  998. package/src/_esm/utils/datastructures/GirihRhombus.d.ts +0 -38
  999. package/src/_esm/utils/datastructures/GirihRhombus.js +0 -137
  1000. package/src/_esm/utils/datastructures/GirihRhombus.js.map +0 -1
  1001. package/src/_esm/utils/datastructures/GirihTile.d.ts +0 -283
  1002. package/src/_esm/utils/datastructures/GirihTile.js +0 -290
  1003. package/src/_esm/utils/datastructures/GirihTile.js.map +0 -1
  1004. package/src/_esm/utils/datastructures/Matrix4x4.d.ts +0 -244
  1005. package/src/_esm/utils/datastructures/Matrix4x4.js +0 -250
  1006. package/src/_esm/utils/datastructures/Matrix4x4.js.map +0 -1
  1007. package/src/_esm/utils/datastructures/VoronoiCell.d.ts +0 -122
  1008. package/src/_esm/utils/datastructures/VoronoiCell.js +0 -182
  1009. package/src/_esm/utils/datastructures/VoronoiCell.js.map +0 -1
  1010. package/src/_esm/utils/datastructures/interfaces.d.ts +0 -13
  1011. package/src/_esm/utils/datastructures/interfaces.js +0 -10
  1012. package/src/_esm/utils/datastructures/interfaces.js.map +0 -1
  1013. package/src/_esm/utils/detectDarkMode.d.ts +0 -10
  1014. package/src/_esm/utils/detectDarkMode.js +0 -41
  1015. package/src/_esm/utils/detectDarkMode.js.map +0 -1
  1016. package/src/_esm/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  1017. package/src/_esm/utils/dom/components/ColorGradientPicker.js +0 -780
  1018. package/src/_esm/utils/dom/components/ColorGradientPicker.js.map +0 -1
  1019. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.d.ts +0 -129
  1020. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js +0 -582
  1021. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js.map +0 -1
  1022. package/src/_esm/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  1023. package/src/_esm/utils/dom/components/ColorGradientSelector.js +0 -376
  1024. package/src/_esm/utils/dom/components/ColorGradientSelector.js.map +0 -1
  1025. package/src/_esm/utils/dom/components/Test.d.ts +0 -7
  1026. package/src/_esm/utils/dom/components/Test.js +0 -63
  1027. package/src/_esm/utils/dom/components/Test.js.map +0 -1
  1028. package/src/_esm/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  1029. package/src/_esm/utils/dom/getAvailableContainerSpace.js +0 -29
  1030. package/src/_esm/utils/dom/getAvailableContainerSpace.js.map +0 -1
  1031. package/src/_esm/utils/dom/getFProp.d.ts +0 -5
  1032. package/src/_esm/utils/dom/getFProp.js +0 -12
  1033. package/src/_esm/utils/dom/getFProp.js.map +0 -1
  1034. package/src/_esm/utils/dom/guiSizeToggler.d.ts +0 -18
  1035. package/src/_esm/utils/dom/guiSizeToggler.js +0 -44
  1036. package/src/_esm/utils/dom/guiSizeToggler.js.map +0 -1
  1037. package/src/_esm/utils/findInVertexArray.d.ts +0 -19
  1038. package/src/_esm/utils/findInVertexArray.js +0 -29
  1039. package/src/_esm/utils/findInVertexArray.js.map +0 -1
  1040. package/src/_esm/utils/getFProp.d.ts +0 -5
  1041. package/src/_esm/utils/getFProp.js +0 -8
  1042. package/src/_esm/utils/getFProp.js.map +0 -1
  1043. package/src/_esm/utils/gup.d.ts +0 -14
  1044. package/src/_esm/utils/gup.js +0 -31
  1045. package/src/_esm/utils/gup.js.map +0 -1
  1046. package/src/_esm/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  1047. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js +0 -655
  1048. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  1049. package/src/_esm/utils/helpers/CircleHelper.d.ts +0 -73
  1050. package/src/_esm/utils/helpers/CircleHelper.js +0 -92
  1051. package/src/_esm/utils/helpers/CircleHelper.js.map +0 -1
  1052. package/src/_esm/utils/helpers/CircleSectorHelper.d.ts +0 -90
  1053. package/src/_esm/utils/helpers/CircleSectorHelper.js +0 -113
  1054. package/src/_esm/utils/helpers/CircleSectorHelper.js.map +0 -1
  1055. package/src/_esm/utils/helpers/TriangleHelper.d.ts +0 -57
  1056. package/src/_esm/utils/helpers/TriangleHelper.js +0 -82
  1057. package/src/_esm/utils/helpers/TriangleHelper.js.map +0 -1
  1058. package/src/_esm/utils/helpers/VEllipseHelper.d.ts +0 -32
  1059. package/src/_esm/utils/helpers/VEllipseHelper.js +0 -87
  1060. package/src/_esm/utils/helpers/VEllipseHelper.js.map +0 -1
  1061. package/src/_esm/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  1062. package/src/_esm/utils/helpers/VEllipseSectorHelper.js +0 -134
  1063. package/src/_esm/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  1064. package/src/_esm/utils/io/DndFileHandler.d.ts +0 -63
  1065. package/src/_esm/utils/io/DndFileHandler.js +0 -106
  1066. package/src/_esm/utils/io/DndFileHandler.js.map +0 -1
  1067. package/src/_esm/utils/io/FileDrop.d.ts +0 -110
  1068. package/src/_esm/utils/io/FileDrop.js +0 -175
  1069. package/src/_esm/utils/io/FileDrop.js.map +0 -1
  1070. package/src/_esm/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  1071. package/src/_esm/utils/parsers/LinearColorGradientParser.js +0 -223
  1072. package/src/_esm/utils/parsers/LinearColorGradientParser.js.map +0 -1
  1073. package/src/_esm/utils/parsers/OBJParser.d.ts +0 -25
  1074. package/src/_esm/utils/parsers/OBJParser.js +0 -78
  1075. package/src/_esm/utils/parsers/OBJParser.js.map +0 -1
  1076. package/src/_esm/utils/parsers/STLParser.d.ts +0 -61
  1077. package/src/_esm/utils/parsers/STLParser.js +0 -179
  1078. package/src/_esm/utils/parsers/STLParser.js.map +0 -1
  1079. package/src/_esm/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  1080. package/src/_esm/utils/parsers/svg/parseSVGPathData.js +0 -486
  1081. package/src/_esm/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  1082. package/src/_esm/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  1083. package/src/_esm/utils/parsers/svg/splitSVGPathData.js +0 -53
  1084. package/src/_esm/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  1085. package/src/_esm/utils/parsers/svg/types.d.ts +0 -63
  1086. package/src/_esm/utils/parsers/svg/types.js +0 -17
  1087. package/src/_esm/utils/parsers/svg/types.js.map +0 -1
@@ -1,428 +0,0 @@
1
- "use strict";
2
- /**
3
- * Calculate the inset of any non-self-overlapping polygon.
4
- *
5
- * The polygon may be
6
- * - convex or non-convex
7
- * - self-intersecting
8
- *
9
- * The algorithms will
10
- * - first construct a general offset polygon which may be corrupt due to ouf-of-bounds or in illegal-area problems.
11
- * - then dissect the possibly self-intersecting inset polygon into separate simple polygons.
12
- * - then detect for each if it's out of bounds or in some illegal area.
13
- * - keeping only the valid ones.
14
- *
15
- * @required sutherlandHodgman
16
- * @required splitPolygonToNonIntersecting
17
- *
18
- * @author Ikaros Kappler
19
- * @date 2024-11-04 Ported the script to a class.
20
- * @modified 2024-12-02 Ported to Typescript.
21
- */
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.PolygonInset = void 0;
24
- const Line_1 = require("../../Line");
25
- const Polygon_1 = require("../../Polygon");
26
- const Vector_1 = require("../../Vector");
27
- const splitPolygonToNonIntersecting_1 = require("./splitPolygonToNonIntersecting");
28
- const sutherlandHodgman_1 = require("./sutherlandHodgman");
29
- class PolygonInset {
30
- /**
31
- * Constructs a new PolygonInset instance with the underlying given polygon to work with.
32
- *
33
- * Please note that the algorithm will reverse the vertex order if the given polygon
34
- * is not clockwise.
35
- *
36
- * @param {Polygon} polygon - The polygon to calculate the offset for.
37
- */
38
- constructor(polygon) {
39
- /**
40
- * The original polygon as a sequence of line objects. This is easier to use than a list of points.
41
- */
42
- this.originalPolygonLines = [];
43
- /**
44
- * The simple inset lines, directly generated by offsetting the original polygon lines by the given amount.
45
- */
46
- this.insetLines = [];
47
- /**
48
- * The cropped inset lines that makes up the first direct iteration of the inset polygon.
49
- * This one will probably be self-intersecting.
50
- */
51
- this.insetPolygonLines = [];
52
- /**
53
- * The inset polygon split up into simple non-self-intersecting polygons.
54
- * Represented as a list of vertex-lists. Each sub-list represents a single polygon.
55
- */
56
- this.splitPolygons = [];
57
- this.polygon = polygon;
58
- }
59
- /**
60
- * This is the main method.
61
- *
62
- * Call this with the required option params to compute your desired offset polygon(s).
63
- *
64
- * @param {number} options.innerPolygonOffset - The offset to use. Should be a positive number. Correct result for negative numbers are not guaranteed.
65
- * @param {number?} options.maxPolygonSplitDepth - (default is the number of polygon.vertices) The maximum amount of recursive stepts to simplify the complex first iteration of the offset polygon.
66
- * @param {number?} options.intersectionEpsilon - (default is 1.0) The epsilon to use for detecting overlapping polygons. This indicates a tolerance value, because directly adjecent polygons may have a little arithmetic intersection area.
67
- * @returns {Array<Array<Vertex>>} A list of vertex-lists, each one representing a simple polygon from the offset-polygons.
68
- */
69
- computeOutputPolygons(options) {
70
- var _a;
71
- // No offset implies: no change.
72
- if (options.innerPolygonOffset === 0) {
73
- return [this.polygon.vertices]; // No change
74
- }
75
- // This algorithm only works with polygon in clockwise vertex order.
76
- // If the polygon is not clockwise: revert.
77
- PolygonInset._assertPolygonIsClockwise(this.polygon.vertices);
78
- // The potential result polygons might overlap with other parts. These are not part of the desired
79
- // result set and need to be filtered out.
80
- // Define an intersection-epsilon: minimal critical overlaps might result of rounding errors and
81
- // don't represent real overlaps.
82
- const intersectionEpsilon = options.intersectionEpsilon;
83
- // This will create a deep clone
84
- this.optimizedPolygon = this.polygon.clone();
85
- // In case the potential result polygons are self intersecting we need to split them apart later.
86
- // Using the initial vertex number as the upper split limit should be safe here.
87
- const maxPolygonSplitDepth = (_a = options === null || options === void 0 ? void 0 : options.maxPolygonSplitDepth) !== null && _a !== void 0 ? _a : this.optimizedPolygon.vertices.length;
88
- // For calculations of initial inset rectagles we need the original polygon's lines.
89
- this.originalPolygonLines = this.optimizedPolygon.getEdges();
90
- this._collectInsetLines(this.originalPolygonLines, options.innerPolygonOffset);
91
- this._collectInsetPolygonLines(this.insetLines);
92
- this.insetRectanglePolygons = this._collectRectangularPolygonInsets(this.originalPolygonLines, this.insetLines);
93
- // Optimize inset polygon AND the insetRectanglePolygons?
94
- if (options.removeEars) {
95
- // console.log("Remove ears");
96
- // This will modify both params!
97
- PolygonInset._optimizeInsetPolygon(this.optimizedPolygon, this.insetRectanglePolygons);
98
- }
99
- // Create a naive first inset polygon for later optimization.
100
- this.insetPolygon = PolygonInset.convertToBasicInsetPolygon(this.insetPolygonLines);
101
- // // Optimize inset polygon AND the insetRectanglePolygons!
102
- // if (options.removeEars) {
103
- // // This will modify both params!
104
- // PolygonInset._optimizeInsetPolygon(this.insetPolygon, this.insetRectanglePolygons);
105
- // }
106
- // The resulting polygon will likely intersect itself multiple times.
107
- // For further calculations split apart into non-self-intersecting.
108
- this.splitPolygons = (0, splitPolygonToNonIntersecting_1.splitPolygonToNonIntersecting)(this.insetPolygon.vertices, maxPolygonSplitDepth, true); // insideBoundsOnly
109
- // This method was initially meant to calculate inset-polygons only.
110
- // But with a simple filter we COULD also create outer offset-polygons.
111
- // Maybe this is a task for the future
112
- // console.log("DEBUG", DEBUG);
113
- // DEBUG("TEST");
114
- if (options.innerPolygonOffset < 0) {
115
- // return [this.polygon.vertices]; // No change
116
- }
117
- // console.log("splitPolygons.length", this.splitPolygons.length);
118
- // Assert all polygons are clockwise!
119
- PolygonInset._assertAllPolygonsAreClockwise(this.splitPolygons);
120
- this.filteredSplitPolygons = PolygonInset._filterInnerSplitPolygonsByCoverage(this.splitPolygons, this.insetRectanglePolygons, intersectionEpsilon);
121
- // console.log("[0] filteredSplitPolygons.length", this.filteredSplitPolygons.length);
122
- this.filteredSplitPolygons = PolygonInset._filterInnerSplitPolygonsByOriginalBounds(this.filteredSplitPolygons, this.polygon);
123
- // console.log("[1] filteredSplitPolygons.length", this.filteredSplitPolygons.length);
124
- return this.filteredSplitPolygons;
125
- }
126
- /**
127
- * This method transforms each polygon line into a new line
128
- * by moving it to the inside direction of the polygon (by the given `insetAmount`).
129
- *
130
- * @param {Array<Line>} polygonLines
131
- * @param {number} insetAmount
132
- * @return {Array<Line>} The transformed lines. The result array has the same length and order as the input array.
133
- */
134
- _collectInsetLines(polygonLines, insetAmount) {
135
- const insetLines = []; // Array<Line>
136
- for (var i = 0; i < polygonLines.length; i++) {
137
- const line = polygonLines[i];
138
- const perp = new Vector_1.Vector(line.a, line.b).perp();
139
- const t = insetAmount / perp.length();
140
- const offsetOnPerp = perp.vertAt(t);
141
- const diff = line.a.difference(offsetOnPerp);
142
- // Polygon is is clockwise order.
143
- // Move line inside polygon
144
- const movedLine = line.clone();
145
- movedLine.a.add(diff);
146
- movedLine.b.add(diff);
147
- insetLines.push(movedLine);
148
- }
149
- this.insetLines = insetLines;
150
- return insetLines;
151
- }
152
- /**
153
- * For a sequence of inset polygon lines get the inset polygon by detecting
154
- * useful intersections (by cropping or extending them).
155
- *
156
- * The returned lines resemble a new polygon.
157
- *
158
- * Please note that the returned polygon can be self-intersecting!
159
- *
160
- * @param {Array<Line>} insetLines
161
- * @returns {Array<Line>} The cropped or exented inset polygon lines.
162
- */
163
- _collectInsetPolygonLines(insetLines) {
164
- if (insetLines.length <= 1) {
165
- return [];
166
- }
167
- const insetPolygonLines = [];
168
- // Collect first intersection at beginning :)
169
- const lastInsetLine = insetLines[insetLines.length - 1];
170
- const firstInsetLine = insetLines[0];
171
- let lastIntersectionPoint = lastInsetLine.intersection(firstInsetLine); // Must not be null
172
- for (var i = 0; i < insetLines.length; i++) {
173
- const insetLine = insetLines[i];
174
- const nextInsetLine = insetLines[(i + 1) % insetLines.length];
175
- // Find desired intersection
176
- const intersection = insetLine.intersection(nextInsetLine);
177
- if (intersection == null) {
178
- console.warn("[collectInsetPolygon] WARN intersection line must not be null", i, nextInsetLine);
179
- }
180
- else {
181
- // By construction they MUST have any non-null intersection!
182
- if (lastIntersectionPoint != null) {
183
- const resultLine = new Line_1.Line(lastIntersectionPoint, intersection);
184
- insetPolygonLines.push(resultLine);
185
- }
186
- }
187
- lastIntersectionPoint = intersection;
188
- }
189
- // Store intermediate result for later retrieval.
190
- this.insetPolygonLines = insetPolygonLines;
191
- return insetPolygonLines;
192
- }
193
- /**
194
- * Converts two lists (same length) of original polygon lines and inset lines (interpreted as
195
- * pairs) to a list of rectangular polyons.
196
- *
197
- * @static
198
- * @param {Array<Line>} originalPolygonLines
199
- * @param {Array<Line>} insetLines
200
- * @returns {Array<Polygon>} A list of rectangular polygons; each returned polyon has exactly four vertices.
201
- */
202
- _collectRectangularPolygonInsets(originalPolygonLines, insetLines) {
203
- // Convert to rectangle polygon
204
- const insetRectanglePolygons = originalPolygonLines.map((polygonLine, index) => {
205
- const rectPolygon = new Polygon_1.Polygon([], false);
206
- // Add in original order
207
- rectPolygon.vertices.push(polygonLine.a.clone());
208
- rectPolygon.vertices.push(polygonLine.b.clone());
209
- // Add in reverse order
210
- const insetLine = insetLines[index];
211
- rectPolygon.vertices.push(insetLine.b.clone());
212
- rectPolygon.vertices.push(insetLine.a.clone());
213
- return rectPolygon;
214
- });
215
- return insetRectanglePolygons;
216
- }
217
- /**
218
- * Converts a sequence of (hopefully adjacent) lines to a polygon by using all second line vertices `b`.
219
- *
220
- * @static
221
- * @param insetPolygonLines
222
- * @returns
223
- */
224
- static convertToBasicInsetPolygon(insetPolygonLines) {
225
- const insetPolygon = new Polygon_1.Polygon([], false);
226
- insetPolygonLines.forEach((insetLine) => {
227
- insetPolygon.vertices.push(insetLine.a);
228
- });
229
- return insetPolygon;
230
- }
231
- /**
232
- * Filter split polygons: only keep those whose vertices are all contained inside the original polygon.
233
- * Reason: scaling too much will result in excessive translation beyond the opposite bounds of the polygon (like more than 200% of possible insetting).
234
- *
235
- * @param {Array<Array<Vertex>>} splitPolygonsVertices
236
- * @param {Polygon} originalPolygon
237
- * @return {Array<Array<Vertex>>} The filtered polygon list.
238
- */
239
- static _filterInnerSplitPolygonsByOriginalBounds(splitPolygonsVertices, originalPolygon) {
240
- return splitPolygonsVertices.filter((splitPolyVerts, _splitPolyIndex) => {
241
- return splitPolyVerts.every((splitPVert) => {
242
- return originalPolygon.containsVert(splitPVert);
243
- });
244
- });
245
- }
246
- /**
247
- * Filter split polygons: only keep those that do not (signifiantly) interset with any rectangles.
248
- *
249
- * @static
250
- * @param {Array<Array<Vertex>>} splitPolygonsVertices
251
- * @param {Array<Polygon>} insetRectanglePolygons
252
- * @param {number?=1.0} intersectionEpsilon - (optional, default is 1.0) A epsislon to define a tolerance for checking if two polygons intersect.
253
- */
254
- static _filterInnerSplitPolygonsByCoverage(splitPolygonsVertices, insetRectanglePolygons, intersectionEpsilon) {
255
- // TEST: Add some jitter
256
- // splitPolygonsVertices.forEach(split => {
257
- // split.forEach(vert => {
258
- // vert.x += (0.5 - Math.random()) * 0.01;
259
- // vert.y += (0.5 - Math.random()) * 0.01;
260
- // });
261
- // });
262
- splitPolygonsVertices.forEach((split, index) => {
263
- const isCW = Polygon_1.Polygon.utils.isClockwise(split);
264
- if (!isCW) {
265
- console.warn("------ split is not isClockwise!", index, isCW);
266
- }
267
- });
268
- insetRectanglePolygons.forEach((rect, index) => {
269
- const isCW = rect.isClockwise();
270
- if (!isCW) {
271
- console.warn("------ rect is not isClockwise!", index, isCW);
272
- }
273
- });
274
- const eps = intersectionEpsilon === undefined || typeof intersectionEpsilon === "undefined" ? 1.0 : intersectionEpsilon;
275
- return splitPolygonsVertices.filter((splitPolyVerts, _splitPolyIndex) => {
276
- const intersectionTestCallback = PolygonInset._hasIntersectionCallback(splitPolyVerts, eps, _splitPolyIndex);
277
- const intersectsWithAnyRect = insetRectanglePolygons.some(intersectionTestCallback);
278
- return !intersectsWithAnyRect;
279
- });
280
- }
281
- /**
282
- * This private method will reverse each polygon's vertex order that's not clockwise.
283
- *
284
- * @param {Array<Vertex[]>} polygons
285
- */
286
- static _assertAllPolygonsAreClockwise(polygons) {
287
- polygons.forEach((polygonVerts, _polyIndex) => {
288
- // if (!Polygon.utils.isClockwise(polygonVerts)) {
289
- // polygonVerts.reverse(); // Attention: this happens in-place (Array.reverse is destructive!)
290
- // }
291
- PolygonInset._assertPolygonIsClockwise(polygonVerts);
292
- });
293
- }
294
- /**
295
- * This private method will revert the vertex order if the polygon is not clockwise.
296
- *
297
- * @param {Vertex[]} polygonVerts
298
- */
299
- static _assertPolygonIsClockwise(polygonVerts) {
300
- if (!Polygon_1.Polygon.utils.isClockwise(polygonVerts)) {
301
- polygonVerts.reverse(); // Attention: this happens in-place (Array.reverse is destructive!)
302
- }
303
- }
304
- }
305
- exports.PolygonInset = PolygonInset;
306
- /**
307
- * Optimize the inset polygon by removing critical `ear` edges.
308
- * Such an is identified by: the edge itself is completely located inside its neighbours inset rectangle.
309
- *
310
- * In this process multiple edges from the ear might be dropped and two adjacent edges get a new
311
- * common intersection point.
312
- *
313
- * Note: this method is not working as expected in all cases and quite experimental.
314
- *
315
- * @param insetPolygon
316
- * @param insetRectangles
317
- */
318
- PolygonInset._optimizeInsetPolygon = (insetPolygon, insetRectangles) => {
319
- // Locate edge that can be removed:
320
- var earEdgeIndex = -1;
321
- var maxLimit = insetPolygon.vertices.length;
322
- var i = 0;
323
- while (i++ < maxLimit &&
324
- insetPolygon.vertices.length > 3 &&
325
- (earEdgeIndex = PolygonInset._locateExcessiveEarEdge(insetPolygon, insetRectangles)) != -1) {
326
- // console.log("REMOVE EAR EDGE", earEdgeIndex);
327
- // As this is an ear edge: don't just remove the vertex.
328
- // i) Remove the vertex and calculate the new intersection point of neighbour edges.
329
- // ii) Update neightbour rectangles
330
- var leftEdge = insetPolygon.getEdgeAt(earEdgeIndex - 2);
331
- var rightEdge = insetPolygon.getEdgeAt(earEdgeIndex + 1);
332
- var newIntersection = leftEdge.intersection(rightEdge);
333
- newIntersection && rightEdge.a.set(newIntersection);
334
- // Update rectangles
335
- // ...
336
- insetPolygon.vertices.splice(earEdgeIndex, 1);
337
- insetRectangles.splice(earEdgeIndex, 1);
338
- }
339
- // TODO remove if not -1
340
- };
341
- PolygonInset._locateExcessiveEarEdge = (insetPolygon, insetRectangles) => {
342
- for (var i = 0; i < insetPolygon.vertices.length; i++) {
343
- const thisEdge = insetPolygon.getEdgeAt(i);
344
- const leftIndex = i == 0 ? insetPolygon.vertices.length - 1 : i - 1;
345
- // const rightIndex = i + 1 >= insetPolygon.vertices.length ? 0 : i + 1;
346
- const leftRect = insetRectangles[leftIndex];
347
- // const rightRect = insetRectangles[rightIndex];
348
- const leftRectContainsThisEdge = PolygonInset._rectangleFullyContainsLine(leftRect, thisEdge);
349
- if (leftRectContainsThisEdge) {
350
- return i;
351
- }
352
- const leftEdge = insetPolygon.getEdgeAt(leftIndex);
353
- const thisRect = insetRectangles[i];
354
- const thisRectContainsLeftEdge = PolygonInset._rectangleFullyContainsLine(thisRect, leftEdge);
355
- if (thisRectContainsLeftEdge) {
356
- return i; // leftIndex;
357
- }
358
- }
359
- return -1;
360
- };
361
- // Pre: rectangle.vertices.length === 4
362
- PolygonInset._rectangleFullyContainsLine = (rectangle, edge) => {
363
- var rectWidth = rectangle.getEdgeAt(0).length();
364
- var rectHeight = rectangle.getEdgeAt(1).length();
365
- // Both line corners must be at least 1% within the rectangle limits.
366
- const eps = Math.min(rectWidth, rectHeight) / 100;
367
- const edgeLen = edge.length();
368
- var epsPointA = edge.vertAt(0.01); // edgeLen * eps);
369
- var epsPointB = edge.vertAt(0.99); // 1.0 - edgeLen * eps);
370
- var centerPoint = edge.vertAt(0.5);
371
- return rectangle.containsVerts([epsPointA, epsPointB, centerPoint]);
372
- };
373
- /**
374
- * For simplification I'm using a callback generator function here.
375
- *
376
- * @param splitPolyVerts
377
- * @param eps
378
- * @param _splitPolyIndex
379
- * @returns {Function} The callback for an `Array.some` parameter.
380
- */
381
- PolygonInset._hasIntersectionCallback = (splitPolyVerts, eps, _splitPolyIndex) => (rectanglePoly, _rectanglePolyIndex) => {
382
- // const intersectionVerts: XYCoords[] = sutherlandHodgman(splitPolyVerts, rectanglePoly.vertices);
383
- const intersectionVerts = (0, sutherlandHodgman_1.sutherlandHodgman)(rectanglePoly.vertices, splitPolyVerts);
384
- // var intersection = GreinerHorman.intersection(sourcePolygon.vertices, clipPolygon.vertices);
385
- // const uniqueIntersectionVerts = clearDuplicateVertices(intersectionVerts);
386
- const intersectionAreaSize = Polygon_1.Polygon.utils.area(intersectionVerts);
387
- if (intersectionAreaSize < 0) {
388
- console.warn("%cFound a polygon split with negative area. Counterclockwise against all odds?", "color: red; background: black;", // font-size: 30px",
389
- "intersectionAreaSize", intersectionAreaSize, "_splitPolyIndex", _splitPolyIndex, "_rectanglePolyIndex", _rectanglePolyIndex, "intersectionVerts", intersectionVerts
390
- // "uniqueIntersectionVerts",
391
- // uniqueIntersectionVerts
392
- );
393
- }
394
- // if (intersectionAreaSize >= eps) {
395
- // console.log(
396
- // "%cFound a polygon split for removal",
397
- // "color: orange; background: grey;", // font-size: 30px",
398
- // "intersectionAreaSize",
399
- // intersectionAreaSize,
400
- // "_splitPolyIndex",
401
- // _splitPolyIndex,
402
- // "_rectanglePolyIndex",
403
- // _rectanglePolyIndex,
404
- // "intersectionVerts",
405
- // intersectionVerts
406
- // // "uniqueIntersectionVerts",
407
- // // uniqueIntersectionVerts
408
- // );
409
- // }
410
- // if (intersectionAreaSize < eps) {
411
- // // console.log("%cHello", "color: green; background: yellow; font-size: 30px");
412
- // console.log(
413
- // "Polygon split can be kept. Area is position but below epsilon.",
414
- // "intersectionAreaSize",
415
- // intersectionAreaSize,
416
- // "_splitPolyIndex",
417
- // _splitPolyIndex,
418
- // "_rectanglePolyIndex",
419
- // _rectanglePolyIndex,
420
- // "intersectionVerts",
421
- // intersectionVerts
422
- // // "uniqueIntersectionVerts",
423
- // // uniqueIntersectionVerts
424
- // );
425
- // }
426
- return intersectionAreaSize >= eps;
427
- };
428
- //# sourceMappingURL=PolygonInset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PolygonInset.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/PolygonInset.ts"],"names":[],"mappings":"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"}
@@ -1,145 +0,0 @@
1
- /**
2
- * Find the outer hull outlines of a (not necessarily full connected) polygon tesellation.
3
- *
4
- * The method `findAllOutlinesGraph` will return a simple graph containing all vertices and edges
5
- * that belong to the outer hull.
6
- *
7
- * The method `findAllOutlinesPolygons` will detect connected paths inside the graph and return
8
- * an array of Polygons.
9
- *
10
- *
11
- * @require detectPaths
12
- *
13
- * @author Ikaros Kappler
14
- * @date 2026-01-20
15
- * @version 1.0.0
16
- */
17
- import { Polygon } from "../../Polygon";
18
- import { Vertex } from "../../Vertex";
19
- import { IndexPair } from "../datastructures/interfaces";
20
- export interface PolygonTesselationOutlinesOptions {
21
- tolerance?: number;
22
- removeUnusedVertices?: boolean;
23
- }
24
- export interface TesselationGraph {
25
- vertices: Array<Vertex>;
26
- edges: Array<IndexPair>;
27
- }
28
- /**
29
- * Convert any non-intersecting tesselation to a graph.
30
- * Adjadent tiles (polygons) will result in duplicate edges.
31
- *
32
- * @param {Polygon[]} polygons - The polygon tesselation to use.
33
- * @return {TesselationGraph} A tesselation graph.
34
- */
35
- export declare const polygonTesselationToGraph: (polygons: Polygon[]) => TesselationGraph;
36
- /**
37
- * A class to calculate the tesselation's outer hull.
38
- */
39
- export declare class PolygonTesselationOutlines {
40
- static readonly DEFAULT_TOLERANCE = 0.01;
41
- private readonly polygons;
42
- private readonly tolerance;
43
- private readonly removeUnusedVertices;
44
- /**
45
- * @constructor
46
- * @param {Polygon[]} polygons - The polygon tesselation to use.
47
- * @param {PolygonTesselationOutlinesOptions} options - (optional)
48
- */
49
- constructor(polygons: Polygon[], options?: PolygonTesselationOutlinesOptions);
50
- /**
51
- * Clears duplicate edges.
52
- *
53
- * Note: this works only for duplicates. Triplets will not be removed.
54
- *
55
- * @name __eliminateDuplicateEdges
56
- * @private
57
- * @memberof TesselationGraph
58
- * @instance
59
- * @param {TesselationGraph} tesselationGraph - The tesselation graph to remove duplicate edges from.
60
- * @return {TesselationGraph} A new tesselation graph with cleaned up edges.
61
- */
62
- private __eliminateDuplicateEdges;
63
- /**
64
- * Locate some edge that adjacent to the given vertex index
65
- *
66
- * @name __locateEdgeWithVertIndex
67
- * @private
68
- * @memberof TesselationGraph
69
- * @instance
70
- * @param {number} vertIndex - The vertex index to find an edge for.
71
- * @param {TesselationGraph} tesselationGraph - The tesselation graph to remove unused vertices from.
72
- * @return {number} The edge index that's adjacent to the given vertex index.
73
- * @return -1 if no such edge is found.
74
- */
75
- private __locateEdgeWithVertIndex;
76
- /**
77
- * Removes all unused vertices from the graph and re-matps the edges.
78
- *
79
- * @name __removeUnusedVertices
80
- * @private
81
- * @memberof TesselationGraph
82
- * @instance
83
- * @param {TesselationGraph} tesselationGraph - The tesselation graph to remove unused vertices from.
84
- * @return {TesselationGraph} A new tesselation graph.
85
- */
86
- private __removeUnusedVertices;
87
- /**
88
- * Creates a tesselation graph and removes all inner edges.
89
- *
90
- * @name findAllOutlinesGraph
91
- * @private
92
- * @memberof PolygonTesselationOutlines
93
- * @instance
94
- * @return {TesselationGraph} A tesselation graph containing the outer hull edges only.
95
- */
96
- findAllOutlinesGraph(): TesselationGraph;
97
- /**
98
- * Convert any generic path to a polygon. Each path segment (start point and end point)
99
- * are interpreted as a linear segment here.
100
- *
101
- * @name __convertGenericPathToPolygon
102
- * @private
103
- * @memberof PolygonTesselationOutlines
104
- * @instance
105
- * @param {GenericPath} path - The path to convert.
106
- */
107
- private __convertGenericPathToPolygon;
108
- /**
109
- * Creates a tesselation graph and removes all inner edges.
110
- *
111
- * @name findAllOutlinesPolygons
112
- * @private
113
- * @memberof PolygonTesselationOutlines
114
- * @instance
115
- * @param {TesselationGraph} tesselationGraph - Find all outlines on the tesselation graph.
116
- */
117
- findAllOutlinesPolygons(tesselationGraph: TesselationGraph): Array<Polygon>;
118
- /**
119
- * Checks if two vertices are equal – regarding to the current tolerance setting.
120
- *
121
- * @name __isEqualPoint
122
- * @private
123
- * @memberof PolygonTesselationOutlines
124
- * @instance
125
- * @param {boolean} vertA - The first point.
126
- * @param {boolean} vertB - The second point.
127
- * @return True if the vertices are equal.
128
- */
129
- private __isEqualPoint;
130
- /**
131
- * Checks if two edges (identified as two pairs of vertices) are equal – regarding to the
132
- * current tolerance setting.
133
- *
134
- * @name __isEqualEdge
135
- * @private
136
- * @memberof PolygonTesselationOutlines
137
- * @instance
138
- * @param {boolean} edgeAvertA - The first edge's point A.
139
- * @param {boolean} edgeAvertB - The first edge's point B.
140
- * @param {boolean} edgeBvertA - The second edge's point A.
141
- * @param {boolean} edgeBvertB - The second edge's point B.
142
- * @return True if the edges are equal.
143
- */
144
- private __isEqualEdge;
145
- }