plotboilerplate 1.28.0 → 1.28.1

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 (1022) hide show
  1. package/package.json +1 -1
  2. package/src/_cjs/BezierPath.d.ts +0 -610
  3. package/src/_cjs/BezierPath.js +0 -1127
  4. package/src/_cjs/BezierPath.js.map +0 -1
  5. package/src/_cjs/Bounds.d.ts +0 -252
  6. package/src/_cjs/Bounds.js +0 -320
  7. package/src/_cjs/Bounds.js.map +0 -1
  8. package/src/_cjs/Circle.d.ts +0 -214
  9. package/src/_cjs/Circle.js +0 -339
  10. package/src/_cjs/Circle.js.map +0 -1
  11. package/src/_cjs/CircleSector.d.ts +0 -211
  12. package/src/_cjs/CircleSector.js +0 -364
  13. package/src/_cjs/CircleSector.js.map +0 -1
  14. package/src/_cjs/CubicBezierCurve.d.ts +0 -656
  15. package/src/_cjs/CubicBezierCurve.js +0 -1062
  16. package/src/_cjs/CubicBezierCurve.js.map +0 -1
  17. package/src/_cjs/Grid.d.ts +0 -83
  18. package/src/_cjs/Grid.js +0 -90
  19. package/src/_cjs/Grid.js.map +0 -1
  20. package/src/_cjs/KeyHandler.d.ts +0 -177
  21. package/src/_cjs/KeyHandler.js +0 -435
  22. package/src/_cjs/KeyHandler.js.map +0 -1
  23. package/src/_cjs/Line.d.ts +0 -134
  24. package/src/_cjs/Line.js +0 -220
  25. package/src/_cjs/Line.js.map +0 -1
  26. package/src/_cjs/MouseHandler.d.ts +0 -283
  27. package/src/_cjs/MouseHandler.js +0 -423
  28. package/src/_cjs/MouseHandler.js.map +0 -1
  29. package/src/_cjs/PBImage.d.ts +0 -81
  30. package/src/_cjs/PBImage.js +0 -61
  31. package/src/_cjs/PBImage.js.map +0 -1
  32. package/src/_cjs/PBText.d.ts +0 -118
  33. package/src/_cjs/PBText.js +0 -63
  34. package/src/_cjs/PBText.js.map +0 -1
  35. package/src/_cjs/PlotBoilerplate.d.ts +0 -899
  36. package/src/_cjs/PlotBoilerplate.js +0 -2348
  37. package/src/_cjs/PlotBoilerplate.js.map +0 -1
  38. package/src/_cjs/Polygon.d.ts +0 -520
  39. package/src/_cjs/Polygon.js +0 -933
  40. package/src/_cjs/Polygon.js.map +0 -1
  41. package/src/_cjs/SVGBuilder.d.ts +0 -47
  42. package/src/_cjs/SVGBuilder.js +0 -100
  43. package/src/_cjs/SVGBuilder.js.map +0 -1
  44. package/src/_cjs/Triangle.d.ts +0 -392
  45. package/src/_cjs/Triangle.js +0 -497
  46. package/src/_cjs/Triangle.js.map +0 -1
  47. package/src/_cjs/UIDGenerator.d.ts +0 -12
  48. package/src/_cjs/UIDGenerator.js +0 -21
  49. package/src/_cjs/UIDGenerator.js.map +0 -1
  50. package/src/_cjs/VEllipse.d.ts +0 -319
  51. package/src/_cjs/VEllipse.js +0 -578
  52. package/src/_cjs/VEllipse.js.map +0 -1
  53. package/src/_cjs/VEllipseSector.d.ts +0 -230
  54. package/src/_cjs/VEllipseSector.js +0 -428
  55. package/src/_cjs/VEllipseSector.js.map +0 -1
  56. package/src/_cjs/Vector.d.ts +0 -126
  57. package/src/_cjs/Vector.js +0 -199
  58. package/src/_cjs/Vector.js.map +0 -1
  59. package/src/_cjs/VertTuple.d.ts +0 -284
  60. package/src/_cjs/VertTuple.js +0 -348
  61. package/src/_cjs/VertTuple.js.map +0 -1
  62. package/src/_cjs/Vertex.d.ts +0 -498
  63. package/src/_cjs/Vertex.js +0 -703
  64. package/src/_cjs/Vertex.js.map +0 -1
  65. package/src/_cjs/VertexAttr.d.ts +0 -72
  66. package/src/_cjs/VertexAttr.js +0 -59
  67. package/src/_cjs/VertexAttr.js.map +0 -1
  68. package/src/_cjs/VertexListeners.d.ts +0 -208
  69. package/src/_cjs/VertexListeners.js +0 -267
  70. package/src/_cjs/VertexListeners.js.map +0 -1
  71. package/src/_cjs/draw.d.ts +0 -657
  72. package/src/_cjs/draw.js +0 -1164
  73. package/src/_cjs/draw.js.map +0 -1
  74. package/src/_cjs/drawgl.d.ts +0 -544
  75. package/src/_cjs/drawgl.js +0 -794
  76. package/src/_cjs/drawgl.js.map +0 -1
  77. package/src/_cjs/drawutilssvg.d.ts +0 -954
  78. package/src/_cjs/drawutilssvg.js +0 -1713
  79. package/src/_cjs/drawutilssvg.js.map +0 -1
  80. package/src/_cjs/entry-glsupport.js +0 -28
  81. package/src/_cjs/entry.js +0 -29
  82. package/src/_cjs/geomutils.d.ts +0 -77
  83. package/src/_cjs/geomutils.js +0 -126
  84. package/src/_cjs/geomutils.js.map +0 -1
  85. package/src/_cjs/index.d.ts +0 -102
  86. package/src/_cjs/index.js +0 -128
  87. package/src/_cjs/index.js.map +0 -1
  88. package/src/_cjs/interfaces/DrawLib.d.ts +0 -582
  89. package/src/_cjs/interfaces/DrawLib.js +0 -32
  90. package/src/_cjs/interfaces/DrawLib.js.map +0 -1
  91. package/src/_cjs/interfaces/additionals.d.ts +0 -95
  92. package/src/_cjs/interfaces/additionals.js +0 -3
  93. package/src/_cjs/interfaces/additionals.js.map +0 -1
  94. package/src/_cjs/interfaces/core.d.ts +0 -286
  95. package/src/_cjs/interfaces/core.js +0 -30
  96. package/src/_cjs/interfaces/core.js.map +0 -1
  97. package/src/_cjs/interfaces/externals.d.ts +0 -56
  98. package/src/_cjs/interfaces/externals.js +0 -8
  99. package/src/_cjs/interfaces/externals.js.map +0 -1
  100. package/src/_cjs/interfaces/index.d.ts +0 -4
  101. package/src/_cjs/interfaces/index.js +0 -21
  102. package/src/_cjs/interfaces/index.js.map +0 -1
  103. package/src/_cjs/module.d.ts +0 -26
  104. package/src/_cjs/module.js +0 -60
  105. package/src/_cjs/module.js.map +0 -1
  106. package/src/_cjs/utils/InitializationObserver.d.ts +0 -18
  107. package/src/_cjs/utils/InitializationObserver.js +0 -63
  108. package/src/_cjs/utils/InitializationObserver.js.map +0 -1
  109. package/src/_cjs/utils/LissajousFigure.d.ts +0 -34
  110. package/src/_cjs/utils/LissajousFigure.js +0 -100
  111. package/src/_cjs/utils/LissajousFigure.js.map +0 -1
  112. package/src/_cjs/utils/NGons.d.ts +0 -13
  113. package/src/_cjs/utils/NGons.js +0 -36
  114. package/src/_cjs/utils/NGons.js.map +0 -1
  115. package/src/_cjs/utils/Params.d.ts +0 -17
  116. package/src/_cjs/utils/Params.js +0 -53
  117. package/src/_cjs/utils/Params.js.map +0 -1
  118. package/src/_cjs/utils/PerlinNoise.d.ts +0 -19
  119. package/src/_cjs/utils/PerlinNoise.js +0 -352
  120. package/src/_cjs/utils/PerlinNoise.js.map +0 -1
  121. package/src/_cjs/utils/SVGPathUtils.d.ts +0 -22
  122. package/src/_cjs/utils/SVGPathUtils.js +0 -45
  123. package/src/_cjs/utils/SVGPathUtils.js.map +0 -1
  124. package/src/_cjs/utils/WebColors.d.ts +0 -35
  125. package/src/_cjs/utils/WebColors.js +0 -58
  126. package/src/_cjs/utils/WebColors.js.map +0 -1
  127. package/src/_cjs/utils/WebColorsContrast.d.ts +0 -6
  128. package/src/_cjs/utils/WebColorsContrast.js +0 -12
  129. package/src/_cjs/utils/WebColorsContrast.js.map +0 -1
  130. package/src/_cjs/utils/WebColorsMalachite.d.ts +0 -12
  131. package/src/_cjs/utils/WebColorsMalachite.js +0 -28
  132. package/src/_cjs/utils/WebColorsMalachite.js.map +0 -1
  133. package/src/_cjs/utils/_gup.js_ +0 -13
  134. package/src/_cjs/utils/algorithms/CatmullRomPath.d.ts +0 -60
  135. package/src/_cjs/utils/algorithms/CatmullRomPath.js +0 -108
  136. package/src/_cjs/utils/algorithms/CatmullRomPath.js.map +0 -1
  137. package/src/_cjs/utils/algorithms/CircleIntersections.d.ts +0 -170
  138. package/src/_cjs/utils/algorithms/CircleIntersections.js +0 -310
  139. package/src/_cjs/utils/algorithms/CircleIntersections.js.map +0 -1
  140. package/src/_cjs/utils/algorithms/ContourLineDetection.d.ts +0 -150
  141. package/src/_cjs/utils/algorithms/ContourLineDetection.js +0 -367
  142. package/src/_cjs/utils/algorithms/ContourLineDetection.js.map +0 -1
  143. package/src/_cjs/utils/algorithms/CubicSplinePath.d.ts +0 -63
  144. package/src/_cjs/utils/algorithms/CubicSplinePath.js +0 -175
  145. package/src/_cjs/utils/algorithms/CubicSplinePath.js.map +0 -1
  146. package/src/_cjs/utils/algorithms/HobbyPath.d.ts +0 -81
  147. package/src/_cjs/utils/algorithms/HobbyPath.js +0 -278
  148. package/src/_cjs/utils/algorithms/HobbyPath.js.map +0 -1
  149. package/src/_cjs/utils/algorithms/Metaballs.d.ts +0 -30
  150. package/src/_cjs/utils/algorithms/Metaballs.js +0 -114
  151. package/src/_cjs/utils/algorithms/Metaballs.js.map +0 -1
  152. package/src/_cjs/utils/algorithms/PolygonInset.d.ts +0 -184
  153. package/src/_cjs/utils/algorithms/PolygonInset.js +0 -431
  154. package/src/_cjs/utils/algorithms/PolygonInset.js.map +0 -1
  155. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  156. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js +0 -269
  157. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  158. package/src/_cjs/utils/algorithms/arrayFill.d.ts +0 -8
  159. package/src/_cjs/utils/algorithms/arrayFill.js +0 -18
  160. package/src/_cjs/utils/algorithms/arrayFill.js.map +0 -1
  161. package/src/_cjs/utils/algorithms/arrayResize.d.ts +0 -8
  162. package/src/_cjs/utils/algorithms/arrayResize.js +0 -24
  163. package/src/_cjs/utils/algorithms/arrayResize.js.map +0 -1
  164. package/src/_cjs/utils/algorithms/arrayShuffle.d.ts +0 -8
  165. package/src/_cjs/utils/algorithms/arrayShuffle.js +0 -15
  166. package/src/_cjs/utils/algorithms/arrayShuffle.js.map +0 -1
  167. package/src/_cjs/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  168. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js +0 -51
  169. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  170. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  171. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js +0 -61
  172. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  173. package/src/_cjs/utils/algorithms/convexHull.d.ts +0 -23
  174. package/src/_cjs/utils/algorithms/convexHull.js +0 -71
  175. package/src/_cjs/utils/algorithms/convexHull.js.map +0 -1
  176. package/src/_cjs/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  177. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js +0 -145
  178. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  179. package/src/_cjs/utils/algorithms/delaunay.d.ts +0 -30
  180. package/src/_cjs/utils/algorithms/delaunay.js +0 -158
  181. package/src/_cjs/utils/algorithms/delaunay.js.map +0 -1
  182. package/src/_cjs/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  183. package/src/_cjs/utils/algorithms/delaunay2voronoi.js +0 -104
  184. package/src/_cjs/utils/algorithms/delaunay2voronoi.js.map +0 -1
  185. package/src/_cjs/utils/algorithms/detectPaths.d.ts +0 -21
  186. package/src/_cjs/utils/algorithms/detectPaths.js +0 -169
  187. package/src/_cjs/utils/algorithms/detectPaths.js.map +0 -1
  188. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  189. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js +0 -51
  190. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  191. package/src/_cjs/utils/algorithms/getContrastColor.d.ts +0 -13
  192. package/src/_cjs/utils/algorithms/getContrastColor.js +0 -26
  193. package/src/_cjs/utils/algorithms/getContrastColor.js.map +0 -1
  194. package/src/_cjs/utils/algorithms/matrixFill.d.ts +0 -10
  195. package/src/_cjs/utils/algorithms/matrixFill.js +0 -21
  196. package/src/_cjs/utils/algorithms/matrixFill.js.map +0 -1
  197. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  198. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js +0 -270
  199. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  200. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  201. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js +0 -102
  202. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  203. package/src/_cjs/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  204. package/src/_cjs/utils/algorithms/sutherlandHodgman.js +0 -76
  205. package/src/_cjs/utils/algorithms/sutherlandHodgman.js.map +0 -1
  206. package/src/_cjs/utils/cloneVertexArray.d.ts +0 -13
  207. package/src/_cjs/utils/cloneVertexArray.js +0 -23
  208. package/src/_cjs/utils/cloneVertexArray.js.map +0 -1
  209. package/src/_cjs/utils/createRandomizedPolygon.d.ts +0 -14
  210. package/src/_cjs/utils/createRandomizedPolygon.js +0 -32
  211. package/src/_cjs/utils/createRandomizedPolygon.js.map +0 -1
  212. package/src/_cjs/utils/creategui.js +0 -434
  213. package/src/_cjs/utils/dat.gui.arrowbounce.polyfill.js +0 -128
  214. package/src/_cjs/utils/dat.gui.title.polyfill.js +0 -35
  215. package/src/_cjs/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  216. package/src/_cjs/utils/datastructures/CircularIntervalSet.js +0 -163
  217. package/src/_cjs/utils/datastructures/CircularIntervalSet.js.map +0 -1
  218. package/src/_cjs/utils/datastructures/Color.d.ts +0 -391
  219. package/src/_cjs/utils/datastructures/Color.js +0 -1084
  220. package/src/_cjs/utils/datastructures/Color.js.map +0 -1
  221. package/src/_cjs/utils/datastructures/ColorGradient.d.ts +0 -81
  222. package/src/_cjs/utils/datastructures/ColorGradient.js +0 -176
  223. package/src/_cjs/utils/datastructures/ColorGradient.js.map +0 -1
  224. package/src/_cjs/utils/datastructures/DataGrid2d.d.ts +0 -53
  225. package/src/_cjs/utils/datastructures/DataGrid2d.js +0 -20
  226. package/src/_cjs/utils/datastructures/DataGrid2d.js.map +0 -1
  227. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  228. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js +0 -155
  229. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  230. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  231. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js +0 -84
  232. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  233. package/src/_cjs/utils/datastructures/GenericPath.d.ts +0 -86
  234. package/src/_cjs/utils/datastructures/GenericPath.js +0 -122
  235. package/src/_cjs/utils/datastructures/GenericPath.js.map +0 -1
  236. package/src/_cjs/utils/datastructures/GeometryMesh.d.ts +0 -49
  237. package/src/_cjs/utils/datastructures/GeometryMesh.js +0 -58
  238. package/src/_cjs/utils/datastructures/GeometryMesh.js.map +0 -1
  239. package/src/_cjs/utils/datastructures/Girih.d.ts +0 -181
  240. package/src/_cjs/utils/datastructures/Girih.js +0 -266
  241. package/src/_cjs/utils/datastructures/Girih.js.map +0 -1
  242. package/src/_cjs/utils/datastructures/GirihBowtie.d.ts +0 -37
  243. package/src/_cjs/utils/datastructures/GirihBowtie.js +0 -152
  244. package/src/_cjs/utils/datastructures/GirihBowtie.js.map +0 -1
  245. package/src/_cjs/utils/datastructures/GirihDecagon.d.ts +0 -52
  246. package/src/_cjs/utils/datastructures/GirihDecagon.js +0 -132
  247. package/src/_cjs/utils/datastructures/GirihDecagon.js.map +0 -1
  248. package/src/_cjs/utils/datastructures/GirihHexagon.d.ts +0 -39
  249. package/src/_cjs/utils/datastructures/GirihHexagon.js +0 -200
  250. package/src/_cjs/utils/datastructures/GirihHexagon.js.map +0 -1
  251. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  252. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js +0 -189
  253. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  254. package/src/_cjs/utils/datastructures/GirihPentagon.d.ts +0 -37
  255. package/src/_cjs/utils/datastructures/GirihPentagon.js +0 -109
  256. package/src/_cjs/utils/datastructures/GirihPentagon.js.map +0 -1
  257. package/src/_cjs/utils/datastructures/GirihRhombus.d.ts +0 -38
  258. package/src/_cjs/utils/datastructures/GirihRhombus.js +0 -155
  259. package/src/_cjs/utils/datastructures/GirihRhombus.js.map +0 -1
  260. package/src/_cjs/utils/datastructures/GirihTile.d.ts +0 -283
  261. package/src/_cjs/utils/datastructures/GirihTile.js +0 -308
  262. package/src/_cjs/utils/datastructures/GirihTile.js.map +0 -1
  263. package/src/_cjs/utils/datastructures/Matrix4x4.d.ts +0 -244
  264. package/src/_cjs/utils/datastructures/Matrix4x4.js +0 -262
  265. package/src/_cjs/utils/datastructures/Matrix4x4.js.map +0 -1
  266. package/src/_cjs/utils/datastructures/VoronoiCell.d.ts +0 -122
  267. package/src/_cjs/utils/datastructures/VoronoiCell.js +0 -183
  268. package/src/_cjs/utils/datastructures/VoronoiCell.js.map +0 -1
  269. package/src/_cjs/utils/datastructures/interfaces.d.ts +0 -13
  270. package/src/_cjs/utils/datastructures/interfaces.js +0 -10
  271. package/src/_cjs/utils/datastructures/interfaces.js.map +0 -1
  272. package/src/_cjs/utils/detectDarkMode.d.ts +0 -10
  273. package/src/_cjs/utils/detectDarkMode.js +0 -41
  274. package/src/_cjs/utils/detectDarkMode.js.map +0 -1
  275. package/src/_cjs/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  276. package/src/_cjs/utils/dom/components/ColorGradientPicker.js +0 -667
  277. package/src/_cjs/utils/dom/components/ColorGradientPicker.js.map +0 -1
  278. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +0 -129
  279. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js +0 -520
  280. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js.map +0 -1
  281. package/src/_cjs/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  282. package/src/_cjs/utils/dom/components/ColorGradientSelector.js +0 -327
  283. package/src/_cjs/utils/dom/components/ColorGradientSelector.js.map +0 -1
  284. package/src/_cjs/utils/dom/components/Test.d.ts +0 -7
  285. package/src/_cjs/utils/dom/components/Test.js +0 -30
  286. package/src/_cjs/utils/dom/components/Test.js.map +0 -1
  287. package/src/_cjs/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  288. package/src/_cjs/utils/dom/getAvailableContainerSpace.js +0 -29
  289. package/src/_cjs/utils/dom/getAvailableContainerSpace.js.map +0 -1
  290. package/src/_cjs/utils/dom/getFProp.d.ts +0 -5
  291. package/src/_cjs/utils/dom/getFProp.js +0 -12
  292. package/src/_cjs/utils/dom/getFProp.js.map +0 -1
  293. package/src/_cjs/utils/dom/guiSizeToggler.d.ts +0 -18
  294. package/src/_cjs/utils/dom/guiSizeToggler.js +0 -44
  295. package/src/_cjs/utils/dom/guiSizeToggler.js.map +0 -1
  296. package/src/_cjs/utils/findInVertexArray.d.ts +0 -19
  297. package/src/_cjs/utils/findInVertexArray.js +0 -29
  298. package/src/_cjs/utils/findInVertexArray.js.map +0 -1
  299. package/src/_cjs/utils/getFProp.d.ts +0 -5
  300. package/src/_cjs/utils/getFProp.js +0 -12
  301. package/src/_cjs/utils/getFProp.js.map +0 -1
  302. package/src/_cjs/utils/gup.d.ts +0 -14
  303. package/src/_cjs/utils/gup.js +0 -31
  304. package/src/_cjs/utils/gup.js.map +0 -1
  305. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  306. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js +0 -655
  307. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  308. package/src/_cjs/utils/helpers/CircleHelper.d.ts +0 -73
  309. package/src/_cjs/utils/helpers/CircleHelper.js +0 -93
  310. package/src/_cjs/utils/helpers/CircleHelper.js.map +0 -1
  311. package/src/_cjs/utils/helpers/CircleSectorHelper.d.ts +0 -90
  312. package/src/_cjs/utils/helpers/CircleSectorHelper.js +0 -114
  313. package/src/_cjs/utils/helpers/CircleSectorHelper.js.map +0 -1
  314. package/src/_cjs/utils/helpers/TriangleHelper.d.ts +0 -57
  315. package/src/_cjs/utils/helpers/TriangleHelper.js +0 -83
  316. package/src/_cjs/utils/helpers/TriangleHelper.js.map +0 -1
  317. package/src/_cjs/utils/helpers/VEllipseHelper.d.ts +0 -32
  318. package/src/_cjs/utils/helpers/VEllipseHelper.js +0 -88
  319. package/src/_cjs/utils/helpers/VEllipseHelper.js.map +0 -1
  320. package/src/_cjs/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  321. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js +0 -135
  322. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  323. package/src/_cjs/utils/io/DndFileHandler.d.ts +0 -63
  324. package/src/_cjs/utils/io/DndFileHandler.js +0 -112
  325. package/src/_cjs/utils/io/DndFileHandler.js.map +0 -1
  326. package/src/_cjs/utils/io/FileDrop.d.ts +0 -110
  327. package/src/_cjs/utils/io/FileDrop.js +0 -177
  328. package/src/_cjs/utils/io/FileDrop.js.map +0 -1
  329. package/src/_cjs/utils/lil.gui.arrowbounce.polyfill.js +0 -133
  330. package/src/_cjs/utils/lil.gui.title.polyfill.js +0 -32
  331. package/src/_cjs/utils/module.js +0 -18
  332. package/src/_cjs/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  333. package/src/_cjs/utils/parsers/LinearColorGradientParser.js +0 -224
  334. package/src/_cjs/utils/parsers/LinearColorGradientParser.js.map +0 -1
  335. package/src/_cjs/utils/parsers/OBJParser.d.ts +0 -24
  336. package/src/_cjs/utils/parsers/OBJParser.js +0 -77
  337. package/src/_cjs/utils/parsers/OBJParser.js.map +0 -1
  338. package/src/_cjs/utils/parsers/STLParser.d.ts +0 -61
  339. package/src/_cjs/utils/parsers/STLParser.js +0 -182
  340. package/src/_cjs/utils/parsers/STLParser.js.map +0 -1
  341. package/src/_cjs/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  342. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js +0 -486
  343. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  344. package/src/_cjs/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  345. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js +0 -53
  346. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  347. package/src/_cjs/utils/parsers/svg/types.d.ts +0 -63
  348. package/src/_cjs/utils/parsers/svg/types.js +0 -17
  349. package/src/_cjs/utils/parsers/svg/types.js.map +0 -1
  350. package/src/_cjs/utils/ts-runner.js +0 -146
  351. package/src/_cjs/utils/tsAsyncScriptLoader.js +0 -74
  352. package/src/_esm/BezierPath.d.ts +0 -610
  353. package/src/_esm/BezierPath.js +0 -1124
  354. package/src/_esm/BezierPath.js.map +0 -1
  355. package/src/_esm/Bounds.d.ts +0 -252
  356. package/src/_esm/Bounds.js +0 -317
  357. package/src/_esm/Bounds.js.map +0 -1
  358. package/src/_esm/Circle.d.ts +0 -214
  359. package/src/_esm/Circle.js +0 -335
  360. package/src/_esm/Circle.js.map +0 -1
  361. package/src/_esm/CircleSector.d.ts +0 -211
  362. package/src/_esm/CircleSector.js +0 -359
  363. package/src/_esm/CircleSector.js.map +0 -1
  364. package/src/_esm/CubicBezierCurve.d.ts +0 -656
  365. package/src/_esm/CubicBezierCurve.js +0 -1057
  366. package/src/_esm/CubicBezierCurve.js.map +0 -1
  367. package/src/_esm/Grid.d.ts +0 -83
  368. package/src/_esm/Grid.js +0 -89
  369. package/src/_esm/Grid.js.map +0 -1
  370. package/src/_esm/KeyHandler.d.ts +0 -177
  371. package/src/_esm/KeyHandler.js +0 -434
  372. package/src/_esm/KeyHandler.js.map +0 -1
  373. package/src/_esm/Line.d.ts +0 -134
  374. package/src/_esm/Line.js +0 -200
  375. package/src/_esm/Line.js.map +0 -1
  376. package/src/_esm/MouseHandler.d.ts +0 -283
  377. package/src/_esm/MouseHandler.js +0 -397
  378. package/src/_esm/MouseHandler.js.map +0 -1
  379. package/src/_esm/PBImage.d.ts +0 -81
  380. package/src/_esm/PBImage.js +0 -60
  381. package/src/_esm/PBImage.js.map +0 -1
  382. package/src/_esm/PBText.d.ts +0 -118
  383. package/src/_esm/PBText.js +0 -62
  384. package/src/_esm/PBText.js.map +0 -1
  385. package/src/_esm/PlotBoilerplate.d.ts +0 -899
  386. package/src/_esm/PlotBoilerplate.js +0 -2347
  387. package/src/_esm/PlotBoilerplate.js.map +0 -1
  388. package/src/_esm/Polygon.d.ts +0 -520
  389. package/src/_esm/Polygon.js +0 -924
  390. package/src/_esm/Polygon.js.map +0 -1
  391. package/src/_esm/SVGBuilder.d.ts +0 -47
  392. package/src/_esm/SVGBuilder.js +0 -95
  393. package/src/_esm/SVGBuilder.js.map +0 -1
  394. package/src/_esm/Triangle.d.ts +0 -392
  395. package/src/_esm/Triangle.js +0 -493
  396. package/src/_esm/Triangle.js.map +0 -1
  397. package/src/_esm/UIDGenerator.d.ts +0 -12
  398. package/src/_esm/UIDGenerator.js +0 -18
  399. package/src/_esm/UIDGenerator.js.map +0 -1
  400. package/src/_esm/VEllipse.d.ts +0 -319
  401. package/src/_esm/VEllipse.js +0 -574
  402. package/src/_esm/VEllipse.js.map +0 -1
  403. package/src/_esm/VEllipseSector.d.ts +0 -230
  404. package/src/_esm/VEllipseSector.js +0 -422
  405. package/src/_esm/VEllipseSector.js.map +0 -1
  406. package/src/_esm/Vector.d.ts +0 -126
  407. package/src/_esm/Vector.js +0 -181
  408. package/src/_esm/Vector.js.map +0 -1
  409. package/src/_esm/VertTuple.d.ts +0 -284
  410. package/src/_esm/VertTuple.js +0 -347
  411. package/src/_esm/VertTuple.js.map +0 -1
  412. package/src/_esm/Vertex.d.ts +0 -498
  413. package/src/_esm/Vertex.js +0 -702
  414. package/src/_esm/Vertex.js.map +0 -1
  415. package/src/_esm/VertexAttr.d.ts +0 -72
  416. package/src/_esm/VertexAttr.js +0 -58
  417. package/src/_esm/VertexAttr.js.map +0 -1
  418. package/src/_esm/VertexListeners.d.ts +0 -209
  419. package/src/_esm/VertexListeners.js +0 -270
  420. package/src/_esm/VertexListeners.js.map +0 -1
  421. package/src/_esm/draw.d.ts +0 -657
  422. package/src/_esm/draw.js +0 -1159
  423. package/src/_esm/draw.js.map +0 -1
  424. package/src/_esm/drawgl.d.ts +0 -544
  425. package/src/_esm/drawgl.js +0 -812
  426. package/src/_esm/drawgl.js.map +0 -1
  427. package/src/_esm/drawutilssvg.d.ts +0 -954
  428. package/src/_esm/drawutilssvg.js +0 -1705
  429. package/src/_esm/drawutilssvg.js.map +0 -1
  430. package/src/_esm/entry-glsupport.js +0 -28
  431. package/src/_esm/entry.js +0 -29
  432. package/src/_esm/geomutils.d.ts +0 -77
  433. package/src/_esm/geomutils.js +0 -126
  434. package/src/_esm/geomutils.js.map +0 -1
  435. package/src/_esm/index.d.ts +0 -102
  436. package/src/_esm/index.js +0 -128
  437. package/src/_esm/index.js.map +0 -1
  438. package/src/_esm/interfaces/DrawLib.d.ts +0 -582
  439. package/src/_esm/interfaces/DrawLib.js +0 -32
  440. package/src/_esm/interfaces/DrawLib.js.map +0 -1
  441. package/src/_esm/interfaces/additionals.d.ts +0 -95
  442. package/src/_esm/interfaces/additionals.js +0 -3
  443. package/src/_esm/interfaces/additionals.js.map +0 -1
  444. package/src/_esm/interfaces/core.d.ts +0 -286
  445. package/src/_esm/interfaces/core.js +0 -30
  446. package/src/_esm/interfaces/core.js.map +0 -1
  447. package/src/_esm/interfaces/externals.d.ts +0 -56
  448. package/src/_esm/interfaces/externals.js +0 -8
  449. package/src/_esm/interfaces/externals.js.map +0 -1
  450. package/src/_esm/interfaces/index.d.ts +0 -4
  451. package/src/_esm/interfaces/index.js +0 -21
  452. package/src/_esm/interfaces/index.js.map +0 -1
  453. package/src/_esm/module.d.ts +0 -26
  454. package/src/_esm/module.js +0 -60
  455. package/src/_esm/module.js.map +0 -1
  456. package/src/_esm/src/ts/BezierPath.d.ts +0 -610
  457. package/src/_esm/src/ts/BezierPath.js +0 -1120
  458. package/src/_esm/src/ts/BezierPath.js.map +0 -1
  459. package/src/_esm/src/ts/Bounds.d.ts +0 -252
  460. package/src/_esm/src/ts/Bounds.js +0 -313
  461. package/src/_esm/src/ts/Bounds.js.map +0 -1
  462. package/src/_esm/src/ts/Circle.d.ts +0 -214
  463. package/src/_esm/src/ts/Circle.js +0 -331
  464. package/src/_esm/src/ts/Circle.js.map +0 -1
  465. package/src/_esm/src/ts/CircleSector.d.ts +0 -211
  466. package/src/_esm/src/ts/CircleSector.js +0 -355
  467. package/src/_esm/src/ts/CircleSector.js.map +0 -1
  468. package/src/_esm/src/ts/CubicBezierCurve.d.ts +0 -656
  469. package/src/_esm/src/ts/CubicBezierCurve.js +0 -1053
  470. package/src/_esm/src/ts/CubicBezierCurve.js.map +0 -1
  471. package/src/_esm/src/ts/Grid.d.ts +0 -83
  472. package/src/_esm/src/ts/Grid.js +0 -85
  473. package/src/_esm/src/ts/Grid.js.map +0 -1
  474. package/src/_esm/src/ts/KeyHandler.d.ts +0 -177
  475. package/src/_esm/src/ts/KeyHandler.js +0 -430
  476. package/src/_esm/src/ts/KeyHandler.js.map +0 -1
  477. package/src/_esm/src/ts/Line.d.ts +0 -134
  478. package/src/_esm/src/ts/Line.js +0 -196
  479. package/src/_esm/src/ts/Line.js.map +0 -1
  480. package/src/_esm/src/ts/MouseHandler.d.ts +0 -283
  481. package/src/_esm/src/ts/MouseHandler.js +0 -391
  482. package/src/_esm/src/ts/MouseHandler.js.map +0 -1
  483. package/src/_esm/src/ts/PBImage.d.ts +0 -81
  484. package/src/_esm/src/ts/PBImage.js +0 -56
  485. package/src/_esm/src/ts/PBImage.js.map +0 -1
  486. package/src/_esm/src/ts/PBText.d.ts +0 -118
  487. package/src/_esm/src/ts/PBText.js +0 -58
  488. package/src/_esm/src/ts/PBText.js.map +0 -1
  489. package/src/_esm/src/ts/PlotBoilerplate.d.ts +0 -899
  490. package/src/_esm/src/ts/PlotBoilerplate.js +0 -2340
  491. package/src/_esm/src/ts/PlotBoilerplate.js.map +0 -1
  492. package/src/_esm/src/ts/Polygon.d.ts +0 -520
  493. package/src/_esm/src/ts/Polygon.js +0 -920
  494. package/src/_esm/src/ts/Polygon.js.map +0 -1
  495. package/src/_esm/src/ts/Triangle.d.ts +0 -392
  496. package/src/_esm/src/ts/Triangle.js +0 -489
  497. package/src/_esm/src/ts/Triangle.js.map +0 -1
  498. package/src/_esm/src/ts/UIDGenerator.d.ts +0 -12
  499. package/src/_esm/src/ts/UIDGenerator.js +0 -14
  500. package/src/_esm/src/ts/UIDGenerator.js.map +0 -1
  501. package/src/_esm/src/ts/VEllipse.d.ts +0 -319
  502. package/src/_esm/src/ts/VEllipse.js +0 -570
  503. package/src/_esm/src/ts/VEllipse.js.map +0 -1
  504. package/src/_esm/src/ts/VEllipseSector.d.ts +0 -230
  505. package/src/_esm/src/ts/VEllipseSector.js +0 -418
  506. package/src/_esm/src/ts/VEllipseSector.js.map +0 -1
  507. package/src/_esm/src/ts/Vector.d.ts +0 -126
  508. package/src/_esm/src/ts/Vector.js +0 -177
  509. package/src/_esm/src/ts/Vector.js.map +0 -1
  510. package/src/_esm/src/ts/VertTuple.d.ts +0 -284
  511. package/src/_esm/src/ts/VertTuple.js +0 -343
  512. package/src/_esm/src/ts/VertTuple.js.map +0 -1
  513. package/src/_esm/src/ts/Vertex.d.ts +0 -498
  514. package/src/_esm/src/ts/Vertex.js +0 -698
  515. package/src/_esm/src/ts/Vertex.js.map +0 -1
  516. package/src/_esm/src/ts/VertexAttr.d.ts +0 -72
  517. package/src/_esm/src/ts/VertexAttr.js +0 -54
  518. package/src/_esm/src/ts/VertexAttr.js.map +0 -1
  519. package/src/_esm/src/ts/VertexListeners.d.ts +0 -209
  520. package/src/_esm/src/ts/VertexListeners.js +0 -266
  521. package/src/_esm/src/ts/VertexListeners.js.map +0 -1
  522. package/src/_esm/src/ts/draw.d.ts +0 -657
  523. package/src/_esm/src/ts/draw.js +0 -1155
  524. package/src/_esm/src/ts/draw.js.map +0 -1
  525. package/src/_esm/src/ts/drawgl.d.ts +0 -544
  526. package/src/_esm/src/ts/drawgl.js +0 -808
  527. package/src/_esm/src/ts/drawgl.js.map +0 -1
  528. package/src/_esm/src/ts/drawutilssvg.d.ts +0 -954
  529. package/src/_esm/src/ts/drawutilssvg.js +0 -1701
  530. package/src/_esm/src/ts/drawutilssvg.js.map +0 -1
  531. package/src/_esm/src/ts/geomutils.d.ts +0 -77
  532. package/src/_esm/src/ts/geomutils.js +0 -123
  533. package/src/_esm/src/ts/geomutils.js.map +0 -1
  534. package/src/_esm/src/ts/index.d.ts +0 -102
  535. package/src/_esm/src/ts/index.js +0 -112
  536. package/src/_esm/src/ts/index.js.map +0 -1
  537. package/src/_esm/src/ts/interfaces/DrawLib.d.ts +0 -582
  538. package/src/_esm/src/ts/interfaces/DrawLib.js +0 -31
  539. package/src/_esm/src/ts/interfaces/DrawLib.js.map +0 -1
  540. package/src/_esm/src/ts/interfaces/additionals.d.ts +0 -95
  541. package/src/_esm/src/ts/interfaces/additionals.js +0 -2
  542. package/src/_esm/src/ts/interfaces/additionals.js.map +0 -1
  543. package/src/_esm/src/ts/interfaces/core.d.ts +0 -286
  544. package/src/_esm/src/ts/interfaces/core.js +0 -29
  545. package/src/_esm/src/ts/interfaces/core.js.map +0 -1
  546. package/src/_esm/src/ts/interfaces/externals.d.ts +0 -56
  547. package/src/_esm/src/ts/interfaces/externals.js +0 -7
  548. package/src/_esm/src/ts/interfaces/externals.js.map +0 -1
  549. package/src/_esm/src/ts/interfaces/index.d.ts +0 -4
  550. package/src/_esm/src/ts/interfaces/index.js +0 -5
  551. package/src/_esm/src/ts/interfaces/index.js.map +0 -1
  552. package/src/_esm/src/ts/module.d.ts +0 -26
  553. package/src/_esm/src/ts/module.js +0 -38
  554. package/src/_esm/src/ts/module.js.map +0 -1
  555. package/src/_esm/src/ts/utils/InitializationObserver.d.ts +0 -18
  556. package/src/_esm/src/ts/utils/InitializationObserver.js +0 -57
  557. package/src/_esm/src/ts/utils/InitializationObserver.js.map +0 -1
  558. package/src/_esm/src/ts/utils/LissajousFigure.d.ts +0 -34
  559. package/src/_esm/src/ts/utils/LissajousFigure.js +0 -95
  560. package/src/_esm/src/ts/utils/LissajousFigure.js.map +0 -1
  561. package/src/_esm/src/ts/utils/NGons.d.ts +0 -13
  562. package/src/_esm/src/ts/utils/NGons.js +0 -33
  563. package/src/_esm/src/ts/utils/NGons.js.map +0 -1
  564. package/src/_esm/src/ts/utils/Params.d.ts +0 -17
  565. package/src/_esm/src/ts/utils/Params.js +0 -48
  566. package/src/_esm/src/ts/utils/Params.js.map +0 -1
  567. package/src/_esm/src/ts/utils/PerlinNoise.d.ts +0 -19
  568. package/src/_esm/src/ts/utils/PerlinNoise.js +0 -346
  569. package/src/_esm/src/ts/utils/PerlinNoise.js.map +0 -1
  570. package/src/_esm/src/ts/utils/SVGPathUtils.d.ts +0 -22
  571. package/src/_esm/src/ts/utils/SVGPathUtils.js +0 -42
  572. package/src/_esm/src/ts/utils/SVGPathUtils.js.map +0 -1
  573. package/src/_esm/src/ts/utils/WebColors.d.ts +0 -35
  574. package/src/_esm/src/ts/utils/WebColors.js +0 -54
  575. package/src/_esm/src/ts/utils/WebColors.js.map +0 -1
  576. package/src/_esm/src/ts/utils/WebColorsContrast.d.ts +0 -6
  577. package/src/_esm/src/ts/utils/WebColorsContrast.js +0 -9
  578. package/src/_esm/src/ts/utils/WebColorsContrast.js.map +0 -1
  579. package/src/_esm/src/ts/utils/WebColorsMalachite.d.ts +0 -12
  580. package/src/_esm/src/ts/utils/WebColorsMalachite.js +0 -25
  581. package/src/_esm/src/ts/utils/WebColorsMalachite.js.map +0 -1
  582. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.d.ts +0 -60
  583. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js +0 -103
  584. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js.map +0 -1
  585. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.d.ts +0 -170
  586. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js +0 -303
  587. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js.map +0 -1
  588. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.d.ts +0 -150
  589. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js +0 -362
  590. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js.map +0 -1
  591. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.d.ts +0 -63
  592. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js +0 -170
  593. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js.map +0 -1
  594. package/src/_esm/src/ts/utils/algorithms/HobbyPath.d.ts +0 -81
  595. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js +0 -273
  596. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js.map +0 -1
  597. package/src/_esm/src/ts/utils/algorithms/Metaballs.d.ts +0 -30
  598. package/src/_esm/src/ts/utils/algorithms/Metaballs.js +0 -109
  599. package/src/_esm/src/ts/utils/algorithms/Metaballs.js.map +0 -1
  600. package/src/_esm/src/ts/utils/algorithms/PolygonInset.d.ts +0 -184
  601. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js +0 -424
  602. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js.map +0 -1
  603. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  604. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js +0 -262
  605. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  606. package/src/_esm/src/ts/utils/algorithms/arrayFill.d.ts +0 -8
  607. package/src/_esm/src/ts/utils/algorithms/arrayFill.js +0 -14
  608. package/src/_esm/src/ts/utils/algorithms/arrayFill.js.map +0 -1
  609. package/src/_esm/src/ts/utils/algorithms/arrayResize.d.ts +0 -8
  610. package/src/_esm/src/ts/utils/algorithms/arrayResize.js +0 -20
  611. package/src/_esm/src/ts/utils/algorithms/arrayResize.js.map +0 -1
  612. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.d.ts +0 -8
  613. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js +0 -11
  614. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js.map +0 -1
  615. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  616. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js +0 -47
  617. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  618. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  619. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js +0 -57
  620. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  621. package/src/_esm/src/ts/utils/algorithms/convexHull.d.ts +0 -23
  622. package/src/_esm/src/ts/utils/algorithms/convexHull.js +0 -67
  623. package/src/_esm/src/ts/utils/algorithms/convexHull.js.map +0 -1
  624. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  625. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js +0 -141
  626. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  627. package/src/_esm/src/ts/utils/algorithms/delaunay.d.ts +0 -30
  628. package/src/_esm/src/ts/utils/algorithms/delaunay.js +0 -153
  629. package/src/_esm/src/ts/utils/algorithms/delaunay.js.map +0 -1
  630. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  631. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js +0 -99
  632. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js.map +0 -1
  633. package/src/_esm/src/ts/utils/algorithms/detectPaths.d.ts +0 -21
  634. package/src/_esm/src/ts/utils/algorithms/detectPaths.js +0 -165
  635. package/src/_esm/src/ts/utils/algorithms/detectPaths.js.map +0 -1
  636. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  637. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js +0 -47
  638. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  639. package/src/_esm/src/ts/utils/algorithms/getContrastColor.d.ts +0 -13
  640. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js +0 -22
  641. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js.map +0 -1
  642. package/src/_esm/src/ts/utils/algorithms/matrixFill.d.ts +0 -10
  643. package/src/_esm/src/ts/utils/algorithms/matrixFill.js +0 -17
  644. package/src/_esm/src/ts/utils/algorithms/matrixFill.js.map +0 -1
  645. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  646. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js +0 -266
  647. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  648. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  649. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js +0 -99
  650. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  651. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  652. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js +0 -72
  653. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js.map +0 -1
  654. package/src/_esm/src/ts/utils/cloneVertexArray.d.ts +0 -13
  655. package/src/_esm/src/ts/utils/cloneVertexArray.js +0 -19
  656. package/src/_esm/src/ts/utils/cloneVertexArray.js.map +0 -1
  657. package/src/_esm/src/ts/utils/createRandomizedPolygon.d.ts +0 -14
  658. package/src/_esm/src/ts/utils/createRandomizedPolygon.js +0 -28
  659. package/src/_esm/src/ts/utils/createRandomizedPolygon.js.map +0 -1
  660. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  661. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js +0 -158
  662. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js.map +0 -1
  663. package/src/_esm/src/ts/utils/datastructures/Color.d.ts +0 -391
  664. package/src/_esm/src/ts/utils/datastructures/Color.js +0 -1063
  665. package/src/_esm/src/ts/utils/datastructures/Color.js.map +0 -1
  666. package/src/_esm/src/ts/utils/datastructures/ColorGradient.d.ts +0 -81
  667. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js +0 -171
  668. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js.map +0 -1
  669. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.d.ts +0 -53
  670. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js +0 -19
  671. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js.map +0 -1
  672. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  673. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js +0 -150
  674. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  675. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  676. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js +0 -79
  677. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  678. package/src/_esm/src/ts/utils/datastructures/GenericPath.d.ts +0 -86
  679. package/src/_esm/src/ts/utils/datastructures/GenericPath.js +0 -117
  680. package/src/_esm/src/ts/utils/datastructures/GenericPath.js.map +0 -1
  681. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.d.ts +0 -49
  682. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js +0 -53
  683. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js.map +0 -1
  684. package/src/_esm/src/ts/utils/datastructures/Girih.d.ts +0 -181
  685. package/src/_esm/src/ts/utils/datastructures/Girih.js +0 -261
  686. package/src/_esm/src/ts/utils/datastructures/Girih.js.map +0 -1
  687. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.d.ts +0 -37
  688. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js +0 -130
  689. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js.map +0 -1
  690. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.d.ts +0 -52
  691. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js +0 -110
  692. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js.map +0 -1
  693. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.d.ts +0 -39
  694. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js +0 -178
  695. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js.map +0 -1
  696. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  697. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js +0 -167
  698. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  699. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.d.ts +0 -37
  700. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js +0 -87
  701. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js.map +0 -1
  702. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.d.ts +0 -38
  703. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js +0 -133
  704. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js.map +0 -1
  705. package/src/_esm/src/ts/utils/datastructures/GirihTile.d.ts +0 -283
  706. package/src/_esm/src/ts/utils/datastructures/GirihTile.js +0 -286
  707. package/src/_esm/src/ts/utils/datastructures/GirihTile.js.map +0 -1
  708. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.d.ts +0 -244
  709. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js +0 -246
  710. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js.map +0 -1
  711. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.d.ts +0 -122
  712. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js +0 -178
  713. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js.map +0 -1
  714. package/src/_esm/src/ts/utils/datastructures/interfaces.d.ts +0 -13
  715. package/src/_esm/src/ts/utils/datastructures/interfaces.js +0 -9
  716. package/src/_esm/src/ts/utils/datastructures/interfaces.js.map +0 -1
  717. package/src/_esm/src/ts/utils/detectDarkMode.d.ts +0 -10
  718. package/src/_esm/src/ts/utils/detectDarkMode.js +0 -37
  719. package/src/_esm/src/ts/utils/detectDarkMode.js.map +0 -1
  720. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  721. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js +0 -743
  722. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js.map +0 -1
  723. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  724. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js +0 -339
  725. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js.map +0 -1
  726. package/src/_esm/src/ts/utils/dom/components/Test.d.ts +0 -7
  727. package/src/_esm/src/ts/utils/dom/components/Test.js +0 -26
  728. package/src/_esm/src/ts/utils/dom/components/Test.js.map +0 -1
  729. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  730. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js +0 -25
  731. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js.map +0 -1
  732. package/src/_esm/src/ts/utils/dom/getFProp.d.ts +0 -5
  733. package/src/_esm/src/ts/utils/dom/getFProp.js +0 -8
  734. package/src/_esm/src/ts/utils/dom/getFProp.js.map +0 -1
  735. package/src/_esm/src/ts/utils/dom/guiSizeToggler.d.ts +0 -18
  736. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js +0 -40
  737. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js.map +0 -1
  738. package/src/_esm/src/ts/utils/findInVertexArray.d.ts +0 -19
  739. package/src/_esm/src/ts/utils/findInVertexArray.js +0 -25
  740. package/src/_esm/src/ts/utils/findInVertexArray.js.map +0 -1
  741. package/src/_esm/src/ts/utils/gup.d.ts +0 -14
  742. package/src/_esm/src/ts/utils/gup.js +0 -27
  743. package/src/_esm/src/ts/utils/gup.js.map +0 -1
  744. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  745. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js +0 -648
  746. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  747. package/src/_esm/src/ts/utils/helpers/CircleHelper.d.ts +0 -73
  748. package/src/_esm/src/ts/utils/helpers/CircleHelper.js +0 -88
  749. package/src/_esm/src/ts/utils/helpers/CircleHelper.js.map +0 -1
  750. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.d.ts +0 -90
  751. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js +0 -109
  752. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js.map +0 -1
  753. package/src/_esm/src/ts/utils/helpers/TriangleHelper.d.ts +0 -57
  754. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js +0 -78
  755. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js.map +0 -1
  756. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.d.ts +0 -32
  757. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js +0 -83
  758. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js.map +0 -1
  759. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  760. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js +0 -130
  761. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  762. package/src/_esm/src/ts/utils/io/FileDrop.d.ts +0 -110
  763. package/src/_esm/src/ts/utils/io/FileDrop.js +0 -171
  764. package/src/_esm/src/ts/utils/io/FileDrop.js.map +0 -1
  765. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  766. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js +0 -217
  767. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js.map +0 -1
  768. package/src/_esm/src/ts/utils/parsers/OBJParser.d.ts +0 -24
  769. package/src/_esm/src/ts/utils/parsers/OBJParser.js +0 -72
  770. package/src/_esm/src/ts/utils/parsers/OBJParser.js.map +0 -1
  771. package/src/_esm/src/ts/utils/parsers/STLParser.d.ts +0 -61
  772. package/src/_esm/src/ts/utils/parsers/STLParser.js +0 -175
  773. package/src/_esm/src/ts/utils/parsers/STLParser.js.map +0 -1
  774. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  775. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js +0 -482
  776. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  777. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  778. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js +0 -49
  779. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  780. package/src/_esm/src/ts/utils/parsers/svg/types.d.ts +0 -63
  781. package/src/_esm/src/ts/utils/parsers/svg/types.js +0 -16
  782. package/src/_esm/src/ts/utils/parsers/svg/types.js.map +0 -1
  783. package/src/_esm/utils/InitializationObserver.d.ts +0 -18
  784. package/src/_esm/utils/InitializationObserver.js +0 -61
  785. package/src/_esm/utils/InitializationObserver.js.map +0 -1
  786. package/src/_esm/utils/LissajousFigure.d.ts +0 -34
  787. package/src/_esm/utils/LissajousFigure.js +0 -99
  788. package/src/_esm/utils/LissajousFigure.js.map +0 -1
  789. package/src/_esm/utils/NGons.d.ts +0 -13
  790. package/src/_esm/utils/NGons.js +0 -36
  791. package/src/_esm/utils/NGons.js.map +0 -1
  792. package/src/_esm/utils/Params.d.ts +0 -17
  793. package/src/_esm/utils/Params.js +0 -52
  794. package/src/_esm/utils/Params.js.map +0 -1
  795. package/src/_esm/utils/PerlinNoise.d.ts +0 -19
  796. package/src/_esm/utils/PerlinNoise.js +0 -350
  797. package/src/_esm/utils/PerlinNoise.js.map +0 -1
  798. package/src/_esm/utils/SVGPathUtils.d.ts +0 -22
  799. package/src/_esm/utils/SVGPathUtils.js +0 -45
  800. package/src/_esm/utils/SVGPathUtils.js.map +0 -1
  801. package/src/_esm/utils/WebColors.d.ts +0 -35
  802. package/src/_esm/utils/WebColors.js +0 -58
  803. package/src/_esm/utils/WebColors.js.map +0 -1
  804. package/src/_esm/utils/WebColorsContrast.d.ts +0 -6
  805. package/src/_esm/utils/WebColorsContrast.js +0 -12
  806. package/src/_esm/utils/WebColorsContrast.js.map +0 -1
  807. package/src/_esm/utils/WebColorsMalachite.d.ts +0 -12
  808. package/src/_esm/utils/WebColorsMalachite.js +0 -28
  809. package/src/_esm/utils/WebColorsMalachite.js.map +0 -1
  810. package/src/_esm/utils/algorithms/CatmullRomPath.d.ts +0 -60
  811. package/src/_esm/utils/algorithms/CatmullRomPath.js +0 -107
  812. package/src/_esm/utils/algorithms/CatmullRomPath.js.map +0 -1
  813. package/src/_esm/utils/algorithms/CircleIntersections.d.ts +0 -170
  814. package/src/_esm/utils/algorithms/CircleIntersections.js +0 -307
  815. package/src/_esm/utils/algorithms/CircleIntersections.js.map +0 -1
  816. package/src/_esm/utils/algorithms/ContourLineDetection.d.ts +0 -150
  817. package/src/_esm/utils/algorithms/ContourLineDetection.js +0 -366
  818. package/src/_esm/utils/algorithms/ContourLineDetection.js.map +0 -1
  819. package/src/_esm/utils/algorithms/CubicSplinePath.d.ts +0 -63
  820. package/src/_esm/utils/algorithms/CubicSplinePath.js +0 -174
  821. package/src/_esm/utils/algorithms/CubicSplinePath.js.map +0 -1
  822. package/src/_esm/utils/algorithms/HobbyPath.d.ts +0 -81
  823. package/src/_esm/utils/algorithms/HobbyPath.js +0 -277
  824. package/src/_esm/utils/algorithms/HobbyPath.js.map +0 -1
  825. package/src/_esm/utils/algorithms/Metaballs.d.ts +0 -30
  826. package/src/_esm/utils/algorithms/Metaballs.js +0 -113
  827. package/src/_esm/utils/algorithms/Metaballs.js.map +0 -1
  828. package/src/_esm/utils/algorithms/PolygonInset.d.ts +0 -184
  829. package/src/_esm/utils/algorithms/PolygonInset.js +0 -428
  830. package/src/_esm/utils/algorithms/PolygonInset.js.map +0 -1
  831. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  832. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js +0 -267
  833. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  834. package/src/_esm/utils/algorithms/arrayFill.d.ts +0 -8
  835. package/src/_esm/utils/algorithms/arrayFill.js +0 -18
  836. package/src/_esm/utils/algorithms/arrayFill.js.map +0 -1
  837. package/src/_esm/utils/algorithms/arrayResize.d.ts +0 -8
  838. package/src/_esm/utils/algorithms/arrayResize.js +0 -24
  839. package/src/_esm/utils/algorithms/arrayResize.js.map +0 -1
  840. package/src/_esm/utils/algorithms/arrayShuffle.d.ts +0 -8
  841. package/src/_esm/utils/algorithms/arrayShuffle.js +0 -15
  842. package/src/_esm/utils/algorithms/arrayShuffle.js.map +0 -1
  843. package/src/_esm/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  844. package/src/_esm/utils/algorithms/clearDuplicateVertices.js +0 -51
  845. package/src/_esm/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  846. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  847. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js +0 -61
  848. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  849. package/src/_esm/utils/algorithms/convexHull.d.ts +0 -23
  850. package/src/_esm/utils/algorithms/convexHull.js +0 -71
  851. package/src/_esm/utils/algorithms/convexHull.js.map +0 -1
  852. package/src/_esm/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  853. package/src/_esm/utils/algorithms/convexPolygonIncircle.js +0 -145
  854. package/src/_esm/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  855. package/src/_esm/utils/algorithms/createRandomizedPolygon.d.ts +0 -14
  856. package/src/_esm/utils/algorithms/createRandomizedPolygon.js +0 -28
  857. package/src/_esm/utils/algorithms/createRandomizedPolygon.js.map +0 -1
  858. package/src/_esm/utils/algorithms/delaunay.d.ts +0 -30
  859. package/src/_esm/utils/algorithms/delaunay.js +0 -157
  860. package/src/_esm/utils/algorithms/delaunay.js.map +0 -1
  861. package/src/_esm/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  862. package/src/_esm/utils/algorithms/delaunay2voronoi.js +0 -103
  863. package/src/_esm/utils/algorithms/delaunay2voronoi.js.map +0 -1
  864. package/src/_esm/utils/algorithms/detectPaths.d.ts +0 -21
  865. package/src/_esm/utils/algorithms/detectPaths.js +0 -169
  866. package/src/_esm/utils/algorithms/detectPaths.js.map +0 -1
  867. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  868. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js +0 -51
  869. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  870. package/src/_esm/utils/algorithms/getContrastColor.d.ts +0 -13
  871. package/src/_esm/utils/algorithms/getContrastColor.js +0 -26
  872. package/src/_esm/utils/algorithms/getContrastColor.js.map +0 -1
  873. package/src/_esm/utils/algorithms/matrixFill.d.ts +0 -10
  874. package/src/_esm/utils/algorithms/matrixFill.js +0 -21
  875. package/src/_esm/utils/algorithms/matrixFill.js.map +0 -1
  876. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  877. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js +0 -270
  878. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  879. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  880. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js +0 -102
  881. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  882. package/src/_esm/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  883. package/src/_esm/utils/algorithms/sutherlandHodgman.js +0 -76
  884. package/src/_esm/utils/algorithms/sutherlandHodgman.js.map +0 -1
  885. package/src/_esm/utils/cloneVertexArray.d.ts +0 -13
  886. package/src/_esm/utils/cloneVertexArray.js +0 -23
  887. package/src/_esm/utils/cloneVertexArray.js.map +0 -1
  888. package/src/_esm/utils/createRandomizedPolygon.d.ts +0 -14
  889. package/src/_esm/utils/createRandomizedPolygon.js +0 -32
  890. package/src/_esm/utils/createRandomizedPolygon.js.map +0 -1
  891. package/src/_esm/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  892. package/src/_esm/utils/datastructures/CircularIntervalSet.js +0 -162
  893. package/src/_esm/utils/datastructures/CircularIntervalSet.js.map +0 -1
  894. package/src/_esm/utils/datastructures/Color.d.ts +0 -391
  895. package/src/_esm/utils/datastructures/Color.js +0 -1067
  896. package/src/_esm/utils/datastructures/Color.js.map +0 -1
  897. package/src/_esm/utils/datastructures/ColorGradient.d.ts +0 -81
  898. package/src/_esm/utils/datastructures/ColorGradient.js +0 -175
  899. package/src/_esm/utils/datastructures/ColorGradient.js.map +0 -1
  900. package/src/_esm/utils/datastructures/DataGrid2d.d.ts +0 -53
  901. package/src/_esm/utils/datastructures/DataGrid2d.js +0 -20
  902. package/src/_esm/utils/datastructures/DataGrid2d.js.map +0 -1
  903. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  904. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js +0 -154
  905. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  906. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  907. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js +0 -83
  908. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  909. package/src/_esm/utils/datastructures/GenericPath.d.ts +0 -86
  910. package/src/_esm/utils/datastructures/GenericPath.js +0 -121
  911. package/src/_esm/utils/datastructures/GenericPath.js.map +0 -1
  912. package/src/_esm/utils/datastructures/GeometryMesh.d.ts +0 -49
  913. package/src/_esm/utils/datastructures/GeometryMesh.js +0 -57
  914. package/src/_esm/utils/datastructures/GeometryMesh.js.map +0 -1
  915. package/src/_esm/utils/datastructures/Girih.d.ts +0 -181
  916. package/src/_esm/utils/datastructures/Girih.js +0 -265
  917. package/src/_esm/utils/datastructures/Girih.js.map +0 -1
  918. package/src/_esm/utils/datastructures/GirihBowtie.d.ts +0 -37
  919. package/src/_esm/utils/datastructures/GirihBowtie.js +0 -134
  920. package/src/_esm/utils/datastructures/GirihBowtie.js.map +0 -1
  921. package/src/_esm/utils/datastructures/GirihDecagon.d.ts +0 -52
  922. package/src/_esm/utils/datastructures/GirihDecagon.js +0 -114
  923. package/src/_esm/utils/datastructures/GirihDecagon.js.map +0 -1
  924. package/src/_esm/utils/datastructures/GirihHexagon.d.ts +0 -39
  925. package/src/_esm/utils/datastructures/GirihHexagon.js +0 -182
  926. package/src/_esm/utils/datastructures/GirihHexagon.js.map +0 -1
  927. package/src/_esm/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  928. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js +0 -171
  929. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  930. package/src/_esm/utils/datastructures/GirihPentagon.d.ts +0 -37
  931. package/src/_esm/utils/datastructures/GirihPentagon.js +0 -91
  932. package/src/_esm/utils/datastructures/GirihPentagon.js.map +0 -1
  933. package/src/_esm/utils/datastructures/GirihRhombus.d.ts +0 -38
  934. package/src/_esm/utils/datastructures/GirihRhombus.js +0 -137
  935. package/src/_esm/utils/datastructures/GirihRhombus.js.map +0 -1
  936. package/src/_esm/utils/datastructures/GirihTile.d.ts +0 -283
  937. package/src/_esm/utils/datastructures/GirihTile.js +0 -290
  938. package/src/_esm/utils/datastructures/GirihTile.js.map +0 -1
  939. package/src/_esm/utils/datastructures/Matrix4x4.d.ts +0 -244
  940. package/src/_esm/utils/datastructures/Matrix4x4.js +0 -250
  941. package/src/_esm/utils/datastructures/Matrix4x4.js.map +0 -1
  942. package/src/_esm/utils/datastructures/VoronoiCell.d.ts +0 -122
  943. package/src/_esm/utils/datastructures/VoronoiCell.js +0 -182
  944. package/src/_esm/utils/datastructures/VoronoiCell.js.map +0 -1
  945. package/src/_esm/utils/datastructures/interfaces.d.ts +0 -13
  946. package/src/_esm/utils/datastructures/interfaces.js +0 -10
  947. package/src/_esm/utils/datastructures/interfaces.js.map +0 -1
  948. package/src/_esm/utils/detectDarkMode.d.ts +0 -10
  949. package/src/_esm/utils/detectDarkMode.js +0 -41
  950. package/src/_esm/utils/detectDarkMode.js.map +0 -1
  951. package/src/_esm/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  952. package/src/_esm/utils/dom/components/ColorGradientPicker.js +0 -780
  953. package/src/_esm/utils/dom/components/ColorGradientPicker.js.map +0 -1
  954. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.d.ts +0 -129
  955. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js +0 -582
  956. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js.map +0 -1
  957. package/src/_esm/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  958. package/src/_esm/utils/dom/components/ColorGradientSelector.js +0 -376
  959. package/src/_esm/utils/dom/components/ColorGradientSelector.js.map +0 -1
  960. package/src/_esm/utils/dom/components/Test.d.ts +0 -7
  961. package/src/_esm/utils/dom/components/Test.js +0 -63
  962. package/src/_esm/utils/dom/components/Test.js.map +0 -1
  963. package/src/_esm/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  964. package/src/_esm/utils/dom/getAvailableContainerSpace.js +0 -29
  965. package/src/_esm/utils/dom/getAvailableContainerSpace.js.map +0 -1
  966. package/src/_esm/utils/dom/getFProp.d.ts +0 -5
  967. package/src/_esm/utils/dom/getFProp.js +0 -12
  968. package/src/_esm/utils/dom/getFProp.js.map +0 -1
  969. package/src/_esm/utils/dom/guiSizeToggler.d.ts +0 -18
  970. package/src/_esm/utils/dom/guiSizeToggler.js +0 -44
  971. package/src/_esm/utils/dom/guiSizeToggler.js.map +0 -1
  972. package/src/_esm/utils/findInVertexArray.d.ts +0 -19
  973. package/src/_esm/utils/findInVertexArray.js +0 -29
  974. package/src/_esm/utils/findInVertexArray.js.map +0 -1
  975. package/src/_esm/utils/getFProp.d.ts +0 -5
  976. package/src/_esm/utils/getFProp.js +0 -8
  977. package/src/_esm/utils/getFProp.js.map +0 -1
  978. package/src/_esm/utils/gup.d.ts +0 -14
  979. package/src/_esm/utils/gup.js +0 -31
  980. package/src/_esm/utils/gup.js.map +0 -1
  981. package/src/_esm/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  982. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js +0 -655
  983. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  984. package/src/_esm/utils/helpers/CircleHelper.d.ts +0 -73
  985. package/src/_esm/utils/helpers/CircleHelper.js +0 -92
  986. package/src/_esm/utils/helpers/CircleHelper.js.map +0 -1
  987. package/src/_esm/utils/helpers/CircleSectorHelper.d.ts +0 -90
  988. package/src/_esm/utils/helpers/CircleSectorHelper.js +0 -113
  989. package/src/_esm/utils/helpers/CircleSectorHelper.js.map +0 -1
  990. package/src/_esm/utils/helpers/TriangleHelper.d.ts +0 -57
  991. package/src/_esm/utils/helpers/TriangleHelper.js +0 -82
  992. package/src/_esm/utils/helpers/TriangleHelper.js.map +0 -1
  993. package/src/_esm/utils/helpers/VEllipseHelper.d.ts +0 -32
  994. package/src/_esm/utils/helpers/VEllipseHelper.js +0 -87
  995. package/src/_esm/utils/helpers/VEllipseHelper.js.map +0 -1
  996. package/src/_esm/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  997. package/src/_esm/utils/helpers/VEllipseSectorHelper.js +0 -134
  998. package/src/_esm/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  999. package/src/_esm/utils/io/DndFileHandler.d.ts +0 -63
  1000. package/src/_esm/utils/io/DndFileHandler.js +0 -106
  1001. package/src/_esm/utils/io/DndFileHandler.js.map +0 -1
  1002. package/src/_esm/utils/io/FileDrop.d.ts +0 -110
  1003. package/src/_esm/utils/io/FileDrop.js +0 -175
  1004. package/src/_esm/utils/io/FileDrop.js.map +0 -1
  1005. package/src/_esm/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  1006. package/src/_esm/utils/parsers/LinearColorGradientParser.js +0 -223
  1007. package/src/_esm/utils/parsers/LinearColorGradientParser.js.map +0 -1
  1008. package/src/_esm/utils/parsers/OBJParser.d.ts +0 -25
  1009. package/src/_esm/utils/parsers/OBJParser.js +0 -78
  1010. package/src/_esm/utils/parsers/OBJParser.js.map +0 -1
  1011. package/src/_esm/utils/parsers/STLParser.d.ts +0 -61
  1012. package/src/_esm/utils/parsers/STLParser.js +0 -179
  1013. package/src/_esm/utils/parsers/STLParser.js.map +0 -1
  1014. package/src/_esm/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  1015. package/src/_esm/utils/parsers/svg/parseSVGPathData.js +0 -486
  1016. package/src/_esm/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  1017. package/src/_esm/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  1018. package/src/_esm/utils/parsers/svg/splitSVGPathData.js +0 -53
  1019. package/src/_esm/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  1020. package/src/_esm/utils/parsers/svg/types.d.ts +0 -63
  1021. package/src/_esm/utils/parsers/svg/types.js +0 -17
  1022. package/src/_esm/utils/parsers/svg/types.js.map +0 -1
@@ -1,362 +0,0 @@
1
- /**
2
- * A function to detect contour lines from 3D terrain data.
3
- *
4
- * For usage see demo `./demos/48-contour-plot`.
5
- *
6
- * @requires detectPaths
7
- * @requires GenericPath
8
- * @author Ikaros Kappler
9
- * @date 2023-11-05
10
- * @modified 2023-11-20 Addig path detection on a triangle based grid.
11
- * @version 1.0.0
12
- */
13
- import { Line } from "../../Line";
14
- import { Vertex } from "../../Vertex";
15
- import { detectPaths } from "./detectPaths";
16
- import { clearDuplicateVertices } from "./clearDuplicateVertices";
17
- export class ContourLineDetection {
18
- /**
19
- * Creates a new instance for calculating contour lines from the given data grid.
20
- * @param {IDataGrid2d<number>} dataGrid - The data grid to use. Must not contain any NaN or null values.
21
- * @param {boolean=?} debugMode - (optional) Pass `true` to log warnings on (rare) critical edge cases where the algorithm might fail.
22
- */
23
- constructor(dataGrid, debugMode) {
24
- this.rawLinearPathSegments = [];
25
- // Activates/deactivates warning messages on rare edge cases where local path detection fails.
26
- this.debugMode = false;
27
- this.dataGrid = dataGrid;
28
- this.debugMode = Boolean(debugMode);
29
- }
30
- /**
31
- * Detect contour paths from the underlying data source.
32
- *
33
- * @param {number} criticalHeightValue - The height value. If above data's maximum or below data's minimum then the result will be empty (no intersections).
34
- * @param {number} options.closeGapType - `CLOSE_GAP_TYPE_NONE` or `CLOSE_GAP_TYPE_ABOVE` or `CLOSE_GAP_TYPE_BELOW`.
35
- * @param {boolean=false} options.useTriangles - If set to true the detection will split each face3 quad into two triangle faces.
36
- * @param {pathDetectEpsilon=0.000001} options.pathDetectEpsilon - (optional) The epsilon to tell if two points are located 'in the same place'. Used for connected path detection. If not specified the value `0.0000001` is used.
37
- * @param {pointEliminationEpsilon=0.0000001} options.pointEliminationEpsilon - (optional) The epsilon for duplicate point elimination (default is 0.000001).
38
- * @param {function?} onRawSegmentsDetected - (optional) Get the interim result of all detected single lines before path detection starts; DO NOT MODIFY the array.
39
- * @returns {Array<GenericPath>} - A list of connected paths that resemble the contour lines of the data/terrain at the given height value.
40
- */
41
- detectContourPaths(criticalHeightValue, options) {
42
- var _a, _b;
43
- options = options || { closeGapType: ContourLineDetection.CLOSE_GAP_TYPE_NONE };
44
- // First: clear the buffer
45
- this.rawLinearPathSegments = [];
46
- // Imagine a face4 element like this
47
- // (x,y) (x+1,y)
48
- // A-----B
49
- // | / |
50
- // | / |
51
- // D-----C
52
- // (x,y+1) (x+1,y+1)
53
- // then result in the buffer will be
54
- // [ [A,B],
55
- // [D,C] ]
56
- // Note that the diagonal line (used for triangles) is optional; depends on `options.useTriangles`.
57
- const heightFace = [
58
- [0, 0],
59
- [0, 0]
60
- ];
61
- for (var y = 0; y + 1 < this.dataGrid.ySegmentCount; y++) {
62
- for (var x = 0; x + 1 < this.dataGrid.xSegmentCount; x++) {
63
- this.dataGrid.getDataFace4At(x, y, heightFace);
64
- this.findHeightFaceIntersectionLines(x, y, heightFace, criticalHeightValue, (_a = options.pointEliminationEpsilon) !== null && _a !== void 0 ? _a : 0.0000001, options.useTriangles);
65
- }
66
- }
67
- // Collect value above/below on the y axis
68
- if (options.closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_ABOVE ||
69
- options.closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_BELOW) {
70
- const xExtremes = [0, this.dataGrid.xSegmentCount - 1];
71
- for (var i = 0; i < xExtremes.length; i++) {
72
- const x = xExtremes[i];
73
- for (var y = 0; y + 1 < this.dataGrid.ySegmentCount; y++) {
74
- const nextX = x;
75
- const nextY = y + 1;
76
- this.detectAboveBelowLerpSegment(x, y, nextX, nextY, criticalHeightValue, options.closeGapType);
77
- }
78
- }
79
- const yExtremes = [0, this.dataGrid.ySegmentCount - 1];
80
- for (var j = 0; j < yExtremes.length; j++) {
81
- var y = yExtremes[j];
82
- for (var x = 0; x + 1 < this.dataGrid.xSegmentCount; x++) {
83
- const nextX = x + 1;
84
- const nextY = y;
85
- this.detectAboveBelowLerpSegment(x, y, nextX, nextY, criticalHeightValue, options.closeGapType);
86
- }
87
- }
88
- }
89
- if (options.onRawSegmentsDetected) {
90
- options.onRawSegmentsDetected(this.rawLinearPathSegments);
91
- }
92
- // Detect connected paths
93
- let pathSegments = detectPaths(this.rawLinearPathSegments, (_b = options.pathDetectEpsilon) !== null && _b !== void 0 ? _b : 0.0000001); // Epsilon
94
- // Filter out segments with only a single line of length~=0
95
- pathSegments = pathSegments.filter(function (pathSegment) {
96
- return (pathSegment.segments.length != 1 ||
97
- (pathSegment.segments.length === 1 && pathSegment.segments[0].length() > 0.1));
98
- });
99
- return pathSegments;
100
- }
101
- /**
102
- * This function will calculate a single intersecion line of the given face4 data
103
- * segment. If the given face does not intersect with the plane at the given `heightValue`
104
- * then no segments will be stored.
105
- *
106
- * @param {number} xIndex - The x position (index) of the data face.
107
- * @param {number} yIndex - The y position (index) of the data face.
108
- * @param {[[number,number],[number,number]]} heightFace - The data sample that composes the face4 as a two-dimensional number array.
109
- * @param {number} heightValue - The height value of the intersection plane to check for.
110
- * @returns {Line|null}
111
- */
112
- findHeight4FaceIntersectionLine(xIndex, yIndex, heightFace, heightValue, pointEliminationEpsilon) {
113
- const heightValueA = heightFace[0][0]; // value at (x,y)
114
- const heightValueB = heightFace[1][0];
115
- const heightValueC = heightFace[1][1];
116
- const heightValueD = heightFace[0][1];
117
- if (heightValueA === null || heightValueB === null || heightValueC === null || heightValueD === null) {
118
- throw `[findHeightFace4IntersectionLine] Cannot extract data face at (${xIndex},${yIndex}). Some values are null.`;
119
- }
120
- let points = [];
121
- // Case A: use full quad face
122
- if (this.isBetween(heightValueA, heightValueB, heightValue)) {
123
- const lerpValueByHeight = this.getLerpRatio(heightValueA, heightValueB, heightValue);
124
- points.push(new Vertex(this.lerp(xIndex, xIndex + 1, lerpValueByHeight), yIndex));
125
- }
126
- if (this.isBetween(heightValueB, heightValueC, heightValue)) {
127
- const lerpValueByHeight = this.getLerpRatio(heightValueB, heightValueC, heightValue);
128
- points.push(new Vertex(xIndex + 1, this.lerp(yIndex, yIndex + 1, lerpValueByHeight)));
129
- }
130
- if (this.isBetween(heightValueC, heightValueD, heightValue)) {
131
- const lerpValueByHeight = this.getLerpRatio(heightValueC, heightValueD, heightValue);
132
- points.push(new Vertex(this.lerp(xIndex + 1, xIndex, lerpValueByHeight), yIndex + 1));
133
- }
134
- if (this.isBetween(heightValueD, heightValueA, heightValue)) {
135
- const lerpValueByHeight = this.getLerpRatio(heightValueD, heightValueA, heightValue);
136
- points.push(new Vertex(xIndex, this.lerp(yIndex + 1, yIndex, lerpValueByHeight)));
137
- }
138
- // Warning: if a plane intersection point is located EXACTLY on the corner
139
- // edge of a face, then the two adjacent edges will result in 2x the same
140
- // intersecion point. This must be handled as one, so filter the point list
141
- // by an epsilon.
142
- points = clearDuplicateVertices(points, pointEliminationEpsilon); // 0.000001);
143
- if (points.length >= 2) {
144
- const startPoint = points[0];
145
- const endPoint = points[1];
146
- if (this.debugMode && points.length > 2) {
147
- console.warn("[findHeightFace4IntersectionLine] Detected more than 2 points on one face whre only 0 or 2 should appear. At ", xIndex, yIndex, points);
148
- }
149
- return new Line(startPoint, endPoint);
150
- }
151
- else {
152
- if (this.debugMode && points.length === 1) {
153
- console.warn("[findHeightFace4IntersectionLine] Point list has only one point (should not happen).");
154
- }
155
- return null;
156
- }
157
- }
158
- /**
159
- * This function will calculate a single intersecion line of the given face4 data
160
- * segment. If the given face does not intersect with the plane at the given `heightValue`
161
- * then no segments will be stored.
162
- *
163
- * @param {number} xIndex - The x position (index) of the data face.
164
- * @param {number} yIndex - The y position (index) of the data face.
165
- * @param {[[number,number],[number,number]]} heightFace - The data sample that composes the face4 as a two-dimensional number array.
166
- * @param {number} heightValue - The height value of the intersection plane to check for.
167
- * @returns {Line|null}
168
- */
169
- findHeightFaceIntersectionLines(xIndex, yIndex, heightFace, criticalHeightValue, pointEliminationEpsilon, useTriangles) {
170
- // Imagine a face4 element like this
171
- // (x,y) (x+1,y)
172
- // A-----B
173
- // | / |
174
- // | / |
175
- // D-----C
176
- // (x,y+1) (x+1,y+1)
177
- // then result in the buffer will be
178
- // [ [A,B],
179
- // [D,C] ]
180
- if (useTriangles) {
181
- const lineA = this.findHeighteFace3IntersectionLine(xIndex, yIndex, xIndex, yIndex + 1, xIndex + 1, yIndex, [heightFace[0][0], heightFace[0][1], heightFace[1][0]], criticalHeightValue, pointEliminationEpsilon);
182
- if (lineA) {
183
- this.rawLinearPathSegments.push(lineA);
184
- }
185
- const lineB = this.findHeighteFace3IntersectionLine(xIndex, yIndex + 1, xIndex + 1, yIndex + 1, xIndex + 1, yIndex, [heightFace[0][1], heightFace[1][1], heightFace[1][0]], criticalHeightValue, pointEliminationEpsilon);
186
- if (lineB) {
187
- this.rawLinearPathSegments.push(lineB);
188
- }
189
- }
190
- else {
191
- const line = this.findHeight4FaceIntersectionLine(xIndex, yIndex, heightFace, criticalHeightValue, pointEliminationEpsilon);
192
- if (line) {
193
- this.rawLinearPathSegments.push(line);
194
- }
195
- }
196
- }
197
- /**
198
- * This function will calculate a single intersecion line of the given face3 data
199
- * segment. If the given face does not intersect with the plane at the given `heightValue`
200
- * then no segments will be stored.
201
- *
202
- * @param {number} xIndexA - The x position (index) of the first triangle data point.
203
- * @param {number} yIndexA - The y position (index) of the first triangle data point.
204
- * @param {[[number,number],[number,number]]} heightFace - The data sample that composes the face4 as a two-dimensional number array.
205
- * @param {number} heightValue - The height value of the intersection plane to check for.
206
- * @returns {Line|null}
207
- */
208
- findHeighteFace3IntersectionLine(xIndexA, yIndexA, xIndexB, yIndexB, xIndexC, yIndexC, heightFace, heightValue, pointEliminationEpsilon) {
209
- const heightValueA = heightFace[0]; // value at (x,y)
210
- const heightValueB = heightFace[1];
211
- const heightValueC = heightFace[2];
212
- if (heightValueA === null || heightValueB === null || heightValueC === null) {
213
- throw `[findHeightFace3IntersectionLine] Cannot extract data face at (${xIndexA},${yIndexA}). Some values are null.`;
214
- }
215
- let points = [];
216
- // Case A: use full quad face
217
- if (this.isBetween(heightValueA, heightValueB, heightValue)) {
218
- const lerpValueByHeight = this.getLerpRatio(heightValueA, heightValueB, heightValue);
219
- points.push(new Vertex(this.lerp(xIndexA, xIndexB, lerpValueByHeight), this.lerp(yIndexA, yIndexB, lerpValueByHeight)));
220
- }
221
- if (this.isBetween(heightValueB, heightValueC, heightValue)) {
222
- const lerpValueByHeight = this.getLerpRatio(heightValueB, heightValueC, heightValue);
223
- // points.push(new Vertex(xIndex + 1, this.lerp(yIndex, yIndex + 1, lerpValueByHeight)));
224
- points.push(new Vertex(this.lerp(xIndexB, xIndexC, lerpValueByHeight), this.lerp(yIndexB, yIndexC, lerpValueByHeight)));
225
- }
226
- if (this.isBetween(heightValueC, heightValueA, heightValue)) {
227
- const lerpValueByHeight = this.getLerpRatio(heightValueC, heightValueA, heightValue);
228
- // points.push(new Vertex(this.lerp(xIndex + 1, xIndex, lerpValueByHeight), yIndex + 1));
229
- points.push(new Vertex(this.lerp(xIndexC, xIndexA, lerpValueByHeight), this.lerp(yIndexC, yIndexA, lerpValueByHeight)));
230
- }
231
- // Warning: if a plane intersection point is located EXACTLY on the corner
232
- // edge of a face, then the two adjacent edges will result in 2x the same
233
- // intersecion point. This must be handled as one, so filter the point list
234
- // by an epsilon.
235
- points = clearDuplicateVertices(points, pointEliminationEpsilon); // 0.0000001);
236
- if (points.length >= 2) {
237
- const startPoint = points[0];
238
- const endPoint = points[1];
239
- if (this.debugMode && points.length > 2) {
240
- console.warn("[findHeightFace3IntersectionLine] Detected more than 2 points on one face whre only 0 or 2 should appear. At ", xIndexA, yIndexA, points);
241
- }
242
- return new Line(startPoint, endPoint);
243
- }
244
- else {
245
- if (this.debugMode && points.length === 1) {
246
- console.warn("[findHeightFace3IntersectionLine] Point list has only one point (should not happen).");
247
- }
248
- return null;
249
- }
250
- }
251
- /**
252
- * This procedure will look at the face4 at the ((x,y),(nextX,nextY)) position – which are four values –
253
- * and determines the local contour lines for these cases.
254
- *
255
- * This is used to detect and calculate edge cases on the borders of the underliying height data:
256
- * * left and right border (x=0, x=data.xSegmentCount)
257
- * * top and bottom border (x=y, x=data.ySegmentCount)
258
- *
259
- * Resulting path segments will be stored in the global `rawLinearPathSegments` array for further processing.
260
- *
261
- * @param {number} x
262
- * @param {number} y
263
- * @param {number} nextX
264
- * @param {number} nextY
265
- * @param {number} criticalHeightValue
266
- * @param {number} closeGapType - CLOSE_GAP_TYPE_ABOVE or CLOSE_GAP_TYPE_BELOW.
267
- * @return {void}
268
- */
269
- detectAboveBelowLerpSegment(x, y, nextX, nextY, criticalHeightValue, closeGapType) {
270
- const heightValueA = this.dataGrid.getDataValueAt(x, y);
271
- const heightValueB = this.dataGrid.getDataValueAt(nextX, nextY);
272
- // if (heightValueA >= criticalHeightValue && heightValueB >= criticalHeightValue) {
273
- if (this.areBothValuesOnRequiredPlaneSide(heightValueA, heightValueB, criticalHeightValue, closeGapType)) {
274
- // Both above
275
- const line = new Line(new Vertex(x, y), new Vertex(nextX, nextY));
276
- this.rawLinearPathSegments.push(line);
277
- }
278
- else if ((closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_ABOVE &&
279
- heightValueA >= criticalHeightValue &&
280
- heightValueB <= criticalHeightValue) ||
281
- (closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_BELOW &&
282
- heightValueA <= criticalHeightValue &&
283
- heightValueB >= criticalHeightValue)) {
284
- // Only one of both (first) is above -> interpolate to find exact intersection point
285
- const lerpValueByHeight = this.getLerpRatio(heightValueA, heightValueB, criticalHeightValue);
286
- const interpLine = new Line(new Vertex(x, y), new Vertex(this.lerp(x, nextX, lerpValueByHeight), this.lerp(y, nextY, lerpValueByHeight)));
287
- this.rawLinearPathSegments.push(interpLine);
288
- }
289
- else if ((closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_ABOVE &&
290
- heightValueA <= criticalHeightValue &&
291
- heightValueB >= criticalHeightValue) ||
292
- (closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_BELOW &&
293
- heightValueA >= criticalHeightValue &&
294
- heightValueB <= criticalHeightValue)) {
295
- // Only one of both (second) is above -> interpolate to find exact intersection point
296
- const lerpValueByHeight = this.getLerpRatio(heightValueA, heightValueB, criticalHeightValue);
297
- const interpLine = new Line(new Vertex(this.lerp(x, nextX, lerpValueByHeight), this.lerp(y, nextY, lerpValueByHeight)), new Vertex(nextX, nextY));
298
- this.rawLinearPathSegments.push(interpLine);
299
- }
300
- }
301
- /**
302
- * Checks if both value are on the same side of the critical value (above or below). The `closeGapType`
303
- * indictes if `CLOSE_GAP_TYPE_BELOW` or `CLOSE_GAP_TYPE_ABOVE` should be used as a rule.
304
- *
305
- * @param {number} valueA
306
- * @param {number} valueB
307
- * @param {number} criticalValue
308
- * @param {number} closeGapType
309
- * @returns {boolean}
310
- */
311
- areBothValuesOnRequiredPlaneSide(valueA, valueB, criticalValue, closeGapType) {
312
- return ((closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_BELOW && valueA <= criticalValue && valueB <= criticalValue) ||
313
- (closeGapType == ContourLineDetection.CLOSE_GAP_TYPE_ABOVE && valueA >= criticalValue && valueB >= criticalValue));
314
- }
315
- /**
316
- * Test if a given numeric value (`curValue`) is between the given values `valA` and `valB`.
317
- * Value A and B don't need to be in ascending order, so `valA <= curValue <= valB` and `valB <= curvalue <= valA`
318
- * will do the job.
319
- *
320
- * @param {number} valA - The first of the two bounds.
321
- * @param {number} valB - The second of the two bounds.
322
- * @param {number} curValue - The value to check if it is between (or equal) to the given bounds.
323
- * @returns {boolean}
324
- */
325
- isBetween(valA, valB, curValue) {
326
- return (valA <= curValue && curValue <= valB) || (valB <= curValue && curValue <= valA);
327
- }
328
- /**
329
- * Get a 'lerp' value - which is some sort of percentage/ratio for the `curValue` inside the
330
- * range of the given interval `[valA ... valB]`.
331
- *
332
- * Examples:
333
- * * getLerpRatio(0,100,50) === 0.5
334
- * * getLerpRatio(50,100,75) === 0.5
335
- * * getLerpRatio(0,100,0) === 0.0
336
- * * getLerpRatio(0,100,100) === 1.0
337
- * * getLerpRatio(0,100,-50) === -0.5
338
- *
339
- * @param {number} valA
340
- * @param {number} valB
341
- * @param {number} curValue
342
- * @returns
343
- */
344
- getLerpRatio(valA, valB, curValue) {
345
- return (curValue - valA) / (valB - valA);
346
- }
347
- /**
348
- * Helper function to lerp a numeric value.
349
- *
350
- * @param {number} min - The min (start) value. Doesn't necesarily need to be the smaller one.
351
- * @param {number} max - The max (end) value. Doesn't necesarily need to be the larger one.
352
- * @param {number} ratio - The lerp ratio; usually a value between 0.0 and 1.0, but other values a valid for linear interpolation, too.
353
- * @returns {number}
354
- */
355
- lerp(min, max, ratio) {
356
- return min + (max - min) * ratio;
357
- }
358
- }
359
- ContourLineDetection.CLOSE_GAP_TYPE_NONE = 0;
360
- ContourLineDetection.CLOSE_GAP_TYPE_ABOVE = 1;
361
- ContourLineDetection.CLOSE_GAP_TYPE_BELOW = 2;
362
- //# sourceMappingURL=ContourLineDetection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContourLineDetection.js","sourceRoot":"","sources":["../../../../../ts/utils/algorithms/ContourLineDetection.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- /**
2
- * @author Ikaros Kappler (ported from basic script to class).
3
- * @date 2020-04-15
4
- * @modified 2020-08-19 Ported this class from vanilla JS to TypeScript.
5
- * @version 1.0.0
6
- *
7
- * @file CubicSplinePath
8
- * @public
9
- **/
10
- import { CubicBezierCurve } from "../../CubicBezierCurve";
11
- import { Vertex } from "../../Vertex";
12
- interface IControlCoords {
13
- start: Array<number>;
14
- end: Array<number>;
15
- }
16
- /**
17
- * @classdesc Compute a natural cubic Bézier spline path from a given sequence of points/vertices.
18
- *
19
- * Inspired by http://weitz.de/hobby/
20
- *
21
- * @requires CubicBezierCurve
22
- * @requires HobbyPath
23
- * @requires Vertex
24
- */
25
- export declare class CubicSplinePath {
26
- /**
27
- * @member {Array<Vertex>} vertices
28
- * @memberof CatmullRomPath
29
- * @type {Array<Vertex>}
30
- * @instance
31
- **/
32
- private vertices;
33
- /**
34
- * @constructor
35
- * @name CubicSplinePath
36
- * @param {Array<Vertex>=} vertices? - An optional array of vertices to initialize the path with.
37
- **/
38
- constructor(vertices?: Array<Vertex>);
39
- /**
40
- * Add a new point to the end of the vertex sequence.
41
- *
42
- * @name addPoint
43
- * @memberof CubicSplinePath
44
- * @instance
45
- * @param {Vertex} p - The vertex (point) to add.
46
- **/
47
- addPoint(p: Vertex): void;
48
- /**
49
- * Generate a sequence of cubic Bézier curves from the point set.
50
- *
51
- * @name generateCurve
52
- * @memberof CubicSplinePath
53
- * @instance
54
- * @param {boolean=} circular - Specify if the path should be closed.
55
- * @return Array<CubicBezierCurve>
56
- **/
57
- generateCurve(circular?: boolean): Array<CubicBezierCurve>;
58
- static utils: {
59
- naturalControlsClosed: (coords: Array<number>) => IControlCoords;
60
- naturalControlsOpen: (coords: Array<number>) => IControlCoords;
61
- };
62
- }
63
- export {};
@@ -1,170 +0,0 @@
1
- /**
2
- * @author Ikaros Kappler (ported from basic script to class).
3
- * @date 2020-04-15
4
- * @modified 2020-08-19 Ported this class from vanilla JS to TypeScript.
5
- * @version 1.0.0
6
- *
7
- * @file CubicSplinePath
8
- * @public
9
- **/
10
- import { CubicBezierCurve } from "../../CubicBezierCurve";
11
- import { HobbyPath } from "./HobbyPath";
12
- import { Vertex } from "../../Vertex";
13
- ;
14
- /**
15
- * @classdesc Compute a natural cubic Bézier spline path from a given sequence of points/vertices.
16
- *
17
- * Inspired by http://weitz.de/hobby/
18
- *
19
- * @requires CubicBezierCurve
20
- * @requires HobbyPath
21
- * @requires Vertex
22
- */
23
- export class CubicSplinePath {
24
- /**
25
- * @constructor
26
- * @name CubicSplinePath
27
- * @param {Array<Vertex>=} vertices? - An optional array of vertices to initialize the path with.
28
- **/
29
- constructor(vertices) {
30
- this.vertices = vertices ? vertices : [];
31
- }
32
- ;
33
- /**
34
- * Add a new point to the end of the vertex sequence.
35
- *
36
- * @name addPoint
37
- * @memberof CubicSplinePath
38
- * @instance
39
- * @param {Vertex} p - The vertex (point) to add.
40
- **/
41
- addPoint(p) {
42
- this.vertices.push(p);
43
- }
44
- ;
45
- /**
46
- * Generate a sequence of cubic Bézier curves from the point set.
47
- *
48
- * @name generateCurve
49
- * @memberof CubicSplinePath
50
- * @instance
51
- * @param {boolean=} circular - Specify if the path should be closed.
52
- * @return Array<CubicBezierCurve>
53
- **/
54
- generateCurve(circular) {
55
- const xs = [];
56
- const ys = [];
57
- for (var i = 0; i < this.vertices.length; i++) {
58
- xs.push(this.vertices[i].x);
59
- ys.push(this.vertices[i].y);
60
- }
61
- const curves = [];
62
- let n = this.vertices.length;
63
- if (n > 1) {
64
- if (n == 2) {
65
- // for two points, just draw a straight line
66
- curves.push(new CubicBezierCurve(this.vertices[0], this.vertices[1], this.vertices[0], this.vertices[1]));
67
- }
68
- else {
69
- if (!circular) {
70
- // open curve
71
- // x1 and y1 contain the coordinates of the first control
72
- // points, x2 and y2 those of the second
73
- const controlsX = CubicSplinePath.utils.naturalControlsOpen(xs);
74
- const controlsY = CubicSplinePath.utils.naturalControlsOpen(ys);
75
- for (let i = 1; i < n; i++) {
76
- // add Bézier segment - two control points and next node
77
- curves.push(new CubicBezierCurve(this.vertices[i - 1], this.vertices[i], new Vertex(controlsX.start[i - 1], controlsY.start[i - 1]), // x1[i-1], y1[i-1]), // new Vertex(x1[i-1], y1[i-1]),
78
- new Vertex(controlsX.end[i - 1], controlsY.end[i - 1]) // new Vertex(x2[i-1], y2[i-1])
79
- ));
80
- }
81
- }
82
- else {
83
- // closed curve, i.e. endpoints are connected
84
- // see comments for open curve
85
- let controlsX = CubicSplinePath.utils.naturalControlsClosed(xs);
86
- let controlsY = CubicSplinePath.utils.naturalControlsClosed(ys);
87
- for (let i = 0; i < n; i++) {
88
- // if i is n-1, the "next" point is the first one
89
- let j = (i + 1) % n;
90
- curves.push(new CubicBezierCurve(this.vertices[i], this.vertices[j], new Vertex(controlsX.start[i], controlsY.start[i]), // new Vertex(x1[i], y1[i]),
91
- new Vertex(controlsX.end[i], controlsY.end[i]) // new Vertex(x2[i], y2[i])
92
- ));
93
- }
94
- }
95
- }
96
- }
97
- return curves;
98
- }
99
- ;
100
- }
101
- CubicSplinePath.utils = {
102
- naturalControlsClosed: (coords) => {
103
- const n = coords.length;
104
- // a, b, and c are the diagonals of the tridiagonal matrix, d is the
105
- // right side
106
- const a = new Array(n);
107
- const b = new Array(n);
108
- const c = new Array(n);
109
- const d = new Array(n);
110
- // the video explains why the matrix is filled this way
111
- b[0] = 4;
112
- c[0] = 1;
113
- d[0] = 4 * coords[0] + 2 * coords[1];
114
- a[n - 1] = 1;
115
- b[n - 1] = 4;
116
- d[n - 1] = 4 * coords[n - 1] + 2 * coords[0];
117
- for (let i = 1; i < n - 1; i++) {
118
- a[i] = 1;
119
- b[i] = 4;
120
- c[i] = 1;
121
- d[i] = 4 * coords[i] + 2 * coords[i + 1];
122
- }
123
- // add a one to the two empty corners and solve the system for the
124
- // first control points
125
- const x1 = HobbyPath.utils.sherman(a, b, c, d, 1, 1);
126
- // compute second controls points from first
127
- const x2 = new Array(n);
128
- for (let i = 0; i < n - 1; i++)
129
- x2[i] = 2 * coords[i + 1] - x1[i + 1];
130
- x2[n - 1] = 2 * coords[0] - x1[0];
131
- return { start: x1, end: x2 };
132
- },
133
- // computes two arrays for the first and second controls points for a
134
- // natural cubic spline through the points in K, an "open" curve where
135
- // the curve doesn't return to the starting point; the function works
136
- // with one coordinate at a time, i.e. it has to be called twice
137
- naturalControlsOpen: (coords) => {
138
- const n = coords.length - 1;
139
- // a, b, and c are the diagonals of the tridiagonal matrix, d is the
140
- // right side
141
- const a = new Array(n);
142
- const b = new Array(n);
143
- const c = new Array(n);
144
- const d = new Array(n);
145
- // the video explains why the matrix is filled this way
146
- b[0] = 2;
147
- c[0] = 1;
148
- d[0] = coords[0] + 2 * coords[1];
149
- a[n - 1] = 2;
150
- b[n - 1] = 7;
151
- d[n - 1] = 8 * coords[n - 1] + coords[n];
152
- for (let i = 1; i < n - 1; i++) {
153
- a[i] = 1;
154
- b[i] = 4;
155
- c[i] = 1;
156
- d[i] = 4 * coords[i] + 2 * coords[i + 1];
157
- }
158
- // solve the system to get the first control points
159
- const x1 = HobbyPath.utils.thomas(a, b, c, d);
160
- // compute second controls points from first
161
- const x2 = new Array(n);
162
- for (let i = 0; i < n - 1; i++) {
163
- x2[i] = 2 * coords[i + 1] - x1[i + 1];
164
- }
165
- x2[n - 1] = (coords[n] + x1[n - 1]) / 2;
166
- return { start: x1, end: x2 };
167
- }
168
- }; // END utils
169
- ; // END class
170
- //# sourceMappingURL=CubicSplinePath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CubicSplinePath.js","sourceRoot":"","sources":["../../../../../ts/utils/algorithms/CubicSplinePath.ts"],"names":[],"mappings":"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"}