plotboilerplate 1.27.0 → 1.28.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 (1107) hide show
  1. package/dist/index.esm.js +11286 -166
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/index.esm.min.js +1 -1
  4. package/dist/index.esm.min.js.map +1 -1
  5. package/dist/plotboilerplate.browser.min.js +1 -1
  6. package/dist/plotboilerplate.browser.min.js.map +1 -1
  7. package/dist/plotboilerplate.js +96 -17
  8. package/dist/plotboilerplate.min.js +1 -1
  9. package/package.json +2 -1
  10. package/src/_cjs/BezierPath.d.ts +610 -0
  11. package/src/_cjs/BezierPath.js +1127 -0
  12. package/src/_cjs/BezierPath.js.map +1 -0
  13. package/src/_cjs/Bounds.d.ts +252 -0
  14. package/src/_cjs/Bounds.js +320 -0
  15. package/src/_cjs/Bounds.js.map +1 -0
  16. package/src/_cjs/Circle.d.ts +214 -0
  17. package/src/_cjs/Circle.js +339 -0
  18. package/src/_cjs/Circle.js.map +1 -0
  19. package/src/_cjs/CircleSector.d.ts +211 -0
  20. package/src/_cjs/CircleSector.js +364 -0
  21. package/src/_cjs/CircleSector.js.map +1 -0
  22. package/src/_cjs/CubicBezierCurve.d.ts +656 -0
  23. package/src/_cjs/CubicBezierCurve.js +1062 -0
  24. package/src/_cjs/CubicBezierCurve.js.map +1 -0
  25. package/src/_cjs/Grid.d.ts +83 -0
  26. package/src/_cjs/Grid.js +90 -0
  27. package/src/_cjs/Grid.js.map +1 -0
  28. package/src/_cjs/KeyHandler.d.ts +177 -0
  29. package/src/_cjs/KeyHandler.js +435 -0
  30. package/src/_cjs/KeyHandler.js.map +1 -0
  31. package/src/_cjs/Line.d.ts +134 -0
  32. package/src/_cjs/Line.js +220 -0
  33. package/src/_cjs/Line.js.map +1 -0
  34. package/src/_cjs/MouseHandler.d.ts +283 -0
  35. package/src/_cjs/MouseHandler.js +423 -0
  36. package/src/_cjs/MouseHandler.js.map +1 -0
  37. package/src/_cjs/PBImage.d.ts +81 -0
  38. package/src/_cjs/PBImage.js +61 -0
  39. package/src/_cjs/PBImage.js.map +1 -0
  40. package/src/_cjs/PBText.d.ts +118 -0
  41. package/src/_cjs/PBText.js +63 -0
  42. package/src/_cjs/PBText.js.map +1 -0
  43. package/src/_cjs/PlotBoilerplate.d.ts +899 -0
  44. package/src/_cjs/PlotBoilerplate.js +2348 -0
  45. package/src/_cjs/PlotBoilerplate.js.map +1 -0
  46. package/src/_cjs/Polygon.d.ts +520 -0
  47. package/src/_cjs/Polygon.js +933 -0
  48. package/src/_cjs/Polygon.js.map +1 -0
  49. package/src/_cjs/SVGBuilder.d.ts +47 -0
  50. package/src/_cjs/SVGBuilder.js +100 -0
  51. package/src/_cjs/SVGBuilder.js.map +1 -0
  52. package/src/_cjs/Triangle.d.ts +392 -0
  53. package/src/_cjs/Triangle.js +497 -0
  54. package/src/_cjs/Triangle.js.map +1 -0
  55. package/src/_cjs/UIDGenerator.d.ts +12 -0
  56. package/src/_cjs/UIDGenerator.js +21 -0
  57. package/src/_cjs/UIDGenerator.js.map +1 -0
  58. package/src/_cjs/VEllipse.d.ts +319 -0
  59. package/src/_cjs/VEllipse.js +578 -0
  60. package/src/_cjs/VEllipse.js.map +1 -0
  61. package/src/_cjs/VEllipseSector.d.ts +230 -0
  62. package/src/_cjs/VEllipseSector.js +428 -0
  63. package/src/_cjs/VEllipseSector.js.map +1 -0
  64. package/src/_cjs/Vector.d.ts +126 -0
  65. package/src/_cjs/Vector.js +199 -0
  66. package/src/_cjs/Vector.js.map +1 -0
  67. package/src/_cjs/VertTuple.d.ts +284 -0
  68. package/src/_cjs/VertTuple.js +348 -0
  69. package/src/_cjs/VertTuple.js.map +1 -0
  70. package/src/_cjs/Vertex.d.ts +498 -0
  71. package/src/_cjs/Vertex.js +703 -0
  72. package/src/_cjs/Vertex.js.map +1 -0
  73. package/src/_cjs/VertexAttr.d.ts +72 -0
  74. package/src/_cjs/VertexAttr.js +59 -0
  75. package/src/_cjs/VertexAttr.js.map +1 -0
  76. package/src/_cjs/VertexListeners.d.ts +208 -0
  77. package/src/_cjs/VertexListeners.js +267 -0
  78. package/src/_cjs/VertexListeners.js.map +1 -0
  79. package/src/_cjs/draw.d.ts +657 -0
  80. package/src/_cjs/draw.js +1164 -0
  81. package/src/_cjs/draw.js.map +1 -0
  82. package/src/_cjs/drawgl.d.ts +544 -0
  83. package/src/_cjs/drawgl.js +794 -0
  84. package/src/_cjs/drawgl.js.map +1 -0
  85. package/src/_cjs/drawutilssvg.d.ts +954 -0
  86. package/src/_cjs/drawutilssvg.js +1713 -0
  87. package/src/_cjs/drawutilssvg.js.map +1 -0
  88. package/src/_cjs/entry-glsupport.js +28 -0
  89. package/src/_cjs/entry.js +29 -0
  90. package/src/_cjs/geomutils.d.ts +77 -0
  91. package/src/_cjs/geomutils.js +126 -0
  92. package/src/_cjs/geomutils.js.map +1 -0
  93. package/src/_cjs/index.d.ts +102 -0
  94. package/src/_cjs/index.js +128 -0
  95. package/src/_cjs/index.js.map +1 -0
  96. package/src/_cjs/interfaces/DrawLib.d.ts +582 -0
  97. package/src/_cjs/interfaces/DrawLib.js +32 -0
  98. package/src/_cjs/interfaces/DrawLib.js.map +1 -0
  99. package/src/_cjs/interfaces/additionals.d.ts +95 -0
  100. package/src/_cjs/interfaces/additionals.js +3 -0
  101. package/src/_cjs/interfaces/additionals.js.map +1 -0
  102. package/src/_cjs/interfaces/core.d.ts +286 -0
  103. package/src/_cjs/interfaces/core.js +30 -0
  104. package/src/_cjs/interfaces/core.js.map +1 -0
  105. package/src/_cjs/interfaces/externals.d.ts +56 -0
  106. package/src/_cjs/interfaces/externals.js +8 -0
  107. package/src/_cjs/interfaces/externals.js.map +1 -0
  108. package/src/_cjs/interfaces/index.d.ts +4 -0
  109. package/src/_cjs/interfaces/index.js +21 -0
  110. package/src/_cjs/interfaces/index.js.map +1 -0
  111. package/src/_cjs/module.d.ts +26 -0
  112. package/src/_cjs/module.js +60 -0
  113. package/src/_cjs/module.js.map +1 -0
  114. package/src/_cjs/utils/InitializationObserver.d.ts +18 -0
  115. package/src/_cjs/utils/InitializationObserver.js +63 -0
  116. package/src/_cjs/utils/InitializationObserver.js.map +1 -0
  117. package/src/_cjs/utils/LissajousFigure.d.ts +34 -0
  118. package/src/_cjs/utils/LissajousFigure.js +100 -0
  119. package/src/_cjs/utils/LissajousFigure.js.map +1 -0
  120. package/src/_cjs/utils/NGons.d.ts +13 -0
  121. package/src/_cjs/utils/NGons.js +36 -0
  122. package/src/_cjs/utils/NGons.js.map +1 -0
  123. package/src/_cjs/utils/Params.d.ts +17 -0
  124. package/src/_cjs/utils/Params.js +53 -0
  125. package/src/_cjs/utils/Params.js.map +1 -0
  126. package/src/_cjs/utils/PerlinNoise.d.ts +19 -0
  127. package/src/_cjs/utils/PerlinNoise.js +352 -0
  128. package/src/_cjs/utils/PerlinNoise.js.map +1 -0
  129. package/src/_cjs/utils/SVGPathUtils.d.ts +22 -0
  130. package/src/_cjs/utils/SVGPathUtils.js +45 -0
  131. package/src/_cjs/utils/SVGPathUtils.js.map +1 -0
  132. package/src/_cjs/utils/WebColors.d.ts +35 -0
  133. package/src/_cjs/utils/WebColors.js +58 -0
  134. package/src/_cjs/utils/WebColors.js.map +1 -0
  135. package/src/_cjs/utils/WebColorsContrast.d.ts +6 -0
  136. package/src/_cjs/utils/WebColorsContrast.js +12 -0
  137. package/src/_cjs/utils/WebColorsContrast.js.map +1 -0
  138. package/src/_cjs/utils/WebColorsMalachite.d.ts +12 -0
  139. package/src/_cjs/utils/WebColorsMalachite.js +28 -0
  140. package/src/_cjs/utils/WebColorsMalachite.js.map +1 -0
  141. package/src/_cjs/utils/algorithms/CatmullRomPath.d.ts +60 -0
  142. package/src/_cjs/utils/algorithms/CatmullRomPath.js +108 -0
  143. package/src/_cjs/utils/algorithms/CatmullRomPath.js.map +1 -0
  144. package/src/_cjs/utils/algorithms/CircleIntersections.d.ts +170 -0
  145. package/src/_cjs/utils/algorithms/CircleIntersections.js +310 -0
  146. package/src/_cjs/utils/algorithms/CircleIntersections.js.map +1 -0
  147. package/src/_cjs/utils/algorithms/ContourLineDetection.d.ts +150 -0
  148. package/src/_cjs/utils/algorithms/ContourLineDetection.js +367 -0
  149. package/src/_cjs/utils/algorithms/ContourLineDetection.js.map +1 -0
  150. package/src/_cjs/utils/algorithms/CubicSplinePath.d.ts +63 -0
  151. package/src/_cjs/utils/algorithms/CubicSplinePath.js +175 -0
  152. package/src/_cjs/utils/algorithms/CubicSplinePath.js.map +1 -0
  153. package/src/_cjs/utils/algorithms/HobbyPath.d.ts +81 -0
  154. package/src/_cjs/utils/algorithms/HobbyPath.js +278 -0
  155. package/src/_cjs/utils/algorithms/HobbyPath.js.map +1 -0
  156. package/src/_cjs/utils/algorithms/Metaballs.d.ts +30 -0
  157. package/src/_cjs/utils/algorithms/Metaballs.js +114 -0
  158. package/src/_cjs/utils/algorithms/Metaballs.js.map +1 -0
  159. package/src/_cjs/utils/algorithms/PolygonInset.d.ts +184 -0
  160. package/src/_cjs/utils/algorithms/PolygonInset.js +431 -0
  161. package/src/_cjs/utils/algorithms/PolygonInset.js.map +1 -0
  162. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.d.ts +145 -0
  163. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js +269 -0
  164. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js.map +1 -0
  165. package/src/_cjs/utils/algorithms/arrayFill.d.ts +8 -0
  166. package/src/_cjs/utils/algorithms/arrayFill.js +18 -0
  167. package/src/_cjs/utils/algorithms/arrayFill.js.map +1 -0
  168. package/src/_cjs/utils/algorithms/arrayResize.d.ts +8 -0
  169. package/src/_cjs/utils/algorithms/arrayResize.js +24 -0
  170. package/src/_cjs/utils/algorithms/arrayResize.js.map +1 -0
  171. package/src/_cjs/utils/algorithms/arrayShuffle.d.ts +8 -0
  172. package/src/_cjs/utils/algorithms/arrayShuffle.js +15 -0
  173. package/src/_cjs/utils/algorithms/arrayShuffle.js.map +1 -0
  174. package/src/_cjs/utils/algorithms/clearDuplicateVertices.d.ts +22 -0
  175. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js +51 -0
  176. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js.map +1 -0
  177. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.d.ts +24 -0
  178. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js +61 -0
  179. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js.map +1 -0
  180. package/src/_cjs/utils/algorithms/convexHull.d.ts +23 -0
  181. package/src/_cjs/utils/algorithms/convexHull.js +71 -0
  182. package/src/_cjs/utils/algorithms/convexHull.js.map +1 -0
  183. package/src/_cjs/utils/algorithms/convexPolygonIncircle.d.ts +41 -0
  184. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js +145 -0
  185. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -0
  186. package/src/_cjs/utils/algorithms/delaunay.d.ts +30 -0
  187. package/src/_cjs/utils/algorithms/delaunay.js +158 -0
  188. package/src/_cjs/utils/algorithms/delaunay.js.map +1 -0
  189. package/src/_cjs/utils/algorithms/delaunay2voronoi.d.ts +25 -0
  190. package/src/_cjs/utils/algorithms/delaunay2voronoi.js +104 -0
  191. package/src/_cjs/utils/algorithms/delaunay2voronoi.js.map +1 -0
  192. package/src/_cjs/utils/algorithms/detectPaths.d.ts +21 -0
  193. package/src/_cjs/utils/algorithms/detectPaths.js +169 -0
  194. package/src/_cjs/utils/algorithms/detectPaths.js.map +1 -0
  195. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +21 -0
  196. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js +51 -0
  197. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js.map +1 -0
  198. package/src/_cjs/utils/algorithms/getContrastColor.d.ts +13 -0
  199. package/src/_cjs/utils/algorithms/getContrastColor.js +26 -0
  200. package/src/_cjs/utils/algorithms/getContrastColor.js.map +1 -0
  201. package/src/_cjs/utils/algorithms/matrixFill.d.ts +10 -0
  202. package/src/_cjs/utils/algorithms/matrixFill.js +21 -0
  203. package/src/_cjs/utils/algorithms/matrixFill.js.map +1 -0
  204. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
  205. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js +270 -0
  206. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js.map +1 -0
  207. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +28 -0
  208. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js +102 -0
  209. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -0
  210. package/src/_cjs/utils/algorithms/sutherlandHodgman.d.ts +16 -0
  211. package/src/_cjs/utils/algorithms/sutherlandHodgman.js +76 -0
  212. package/src/_cjs/utils/algorithms/sutherlandHodgman.js.map +1 -0
  213. package/src/_cjs/utils/cloneVertexArray.d.ts +13 -0
  214. package/src/_cjs/utils/cloneVertexArray.js +23 -0
  215. package/src/_cjs/utils/cloneVertexArray.js.map +1 -0
  216. package/src/_cjs/utils/createRandomizedPolygon.d.ts +14 -0
  217. package/src/_cjs/utils/createRandomizedPolygon.js +32 -0
  218. package/src/_cjs/utils/createRandomizedPolygon.js.map +1 -0
  219. package/src/_cjs/utils/creategui.js +434 -0
  220. package/src/_cjs/utils/dat.gui.arrowbounce.polyfill.js +128 -0
  221. package/src/_cjs/utils/dat.gui.title.polyfill.js +35 -0
  222. package/src/_cjs/utils/datastructures/CircularIntervalSet.d.ts +83 -0
  223. package/src/_cjs/utils/datastructures/CircularIntervalSet.js +163 -0
  224. package/src/_cjs/utils/datastructures/CircularIntervalSet.js.map +1 -0
  225. package/src/_cjs/utils/datastructures/Color.d.ts +391 -0
  226. package/src/_cjs/utils/datastructures/Color.js +1084 -0
  227. package/src/_cjs/utils/datastructures/Color.js.map +1 -0
  228. package/src/_cjs/utils/datastructures/ColorGradient.d.ts +81 -0
  229. package/src/_cjs/utils/datastructures/ColorGradient.js +176 -0
  230. package/src/_cjs/utils/datastructures/ColorGradient.js.map +1 -0
  231. package/src/_cjs/utils/datastructures/DataGrid2d.d.ts +53 -0
  232. package/src/_cjs/utils/datastructures/DataGrid2d.js +20 -0
  233. package/src/_cjs/utils/datastructures/DataGrid2d.js.map +1 -0
  234. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
  235. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js +155 -0
  236. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
  237. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +59 -0
  238. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js +84 -0
  239. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js.map +1 -0
  240. package/src/_cjs/utils/datastructures/GenericPath.d.ts +86 -0
  241. package/src/_cjs/utils/datastructures/GenericPath.js +122 -0
  242. package/src/_cjs/utils/datastructures/GenericPath.js.map +1 -0
  243. package/src/_cjs/utils/datastructures/GeometryMesh.d.ts +49 -0
  244. package/src/_cjs/utils/datastructures/GeometryMesh.js +58 -0
  245. package/src/_cjs/utils/datastructures/GeometryMesh.js.map +1 -0
  246. package/src/_cjs/utils/datastructures/Girih.d.ts +181 -0
  247. package/src/_cjs/utils/datastructures/Girih.js +266 -0
  248. package/src/_cjs/utils/datastructures/Girih.js.map +1 -0
  249. package/src/_cjs/utils/datastructures/GirihBowtie.d.ts +37 -0
  250. package/src/_cjs/utils/datastructures/GirihBowtie.js +152 -0
  251. package/src/_cjs/utils/datastructures/GirihBowtie.js.map +1 -0
  252. package/src/_cjs/utils/datastructures/GirihDecagon.d.ts +52 -0
  253. package/src/_cjs/utils/datastructures/GirihDecagon.js +132 -0
  254. package/src/_cjs/utils/datastructures/GirihDecagon.js.map +1 -0
  255. package/src/_cjs/utils/datastructures/GirihHexagon.d.ts +39 -0
  256. package/src/_cjs/utils/datastructures/GirihHexagon.js +200 -0
  257. package/src/_cjs/utils/datastructures/GirihHexagon.js.map +1 -0
  258. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.d.ts +46 -0
  259. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js +189 -0
  260. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -0
  261. package/src/_cjs/utils/datastructures/GirihPentagon.d.ts +37 -0
  262. package/src/_cjs/utils/datastructures/GirihPentagon.js +109 -0
  263. package/src/_cjs/utils/datastructures/GirihPentagon.js.map +1 -0
  264. package/src/_cjs/utils/datastructures/GirihRhombus.d.ts +38 -0
  265. package/src/_cjs/utils/datastructures/GirihRhombus.js +155 -0
  266. package/src/_cjs/utils/datastructures/GirihRhombus.js.map +1 -0
  267. package/src/_cjs/utils/datastructures/GirihTile.d.ts +283 -0
  268. package/src/_cjs/utils/datastructures/GirihTile.js +308 -0
  269. package/src/_cjs/utils/datastructures/GirihTile.js.map +1 -0
  270. package/src/_cjs/utils/datastructures/Matrix4x4.d.ts +244 -0
  271. package/src/_cjs/utils/datastructures/Matrix4x4.js +262 -0
  272. package/src/_cjs/utils/datastructures/Matrix4x4.js.map +1 -0
  273. package/src/_cjs/utils/datastructures/VoronoiCell.d.ts +122 -0
  274. package/src/_cjs/utils/datastructures/VoronoiCell.js +183 -0
  275. package/src/_cjs/utils/datastructures/VoronoiCell.js.map +1 -0
  276. package/src/_cjs/utils/datastructures/interfaces.d.ts +13 -0
  277. package/src/_cjs/utils/datastructures/interfaces.js +10 -0
  278. package/src/_cjs/utils/datastructures/interfaces.js.map +1 -0
  279. package/src/_cjs/utils/detectDarkMode.d.ts +10 -0
  280. package/src/_cjs/utils/detectDarkMode.js +41 -0
  281. package/src/_cjs/utils/detectDarkMode.js.map +1 -0
  282. package/src/_cjs/utils/dom/components/ColorGradientPicker.d.ts +246 -0
  283. package/src/_cjs/utils/dom/components/ColorGradientPicker.js +667 -0
  284. package/src/_cjs/utils/dom/components/ColorGradientPicker.js.map +1 -0
  285. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
  286. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js +520 -0
  287. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
  288. package/src/_cjs/utils/dom/components/ColorGradientSelector.d.ts +118 -0
  289. package/src/_cjs/utils/dom/components/ColorGradientSelector.js +327 -0
  290. package/src/_cjs/utils/dom/components/ColorGradientSelector.js.map +1 -0
  291. package/src/_cjs/utils/dom/components/Test.d.ts +7 -0
  292. package/src/_cjs/utils/dom/components/Test.js +30 -0
  293. package/src/_cjs/utils/dom/components/Test.js.map +1 -0
  294. package/src/_cjs/utils/dom/getAvailableContainerSpace.d.ts +2 -0
  295. package/src/_cjs/utils/dom/getAvailableContainerSpace.js +29 -0
  296. package/src/_cjs/utils/dom/getAvailableContainerSpace.js.map +1 -0
  297. package/src/_cjs/utils/dom/getFProp.d.ts +5 -0
  298. package/src/_cjs/utils/dom/getFProp.js +12 -0
  299. package/src/_cjs/utils/dom/getFProp.js.map +1 -0
  300. package/src/_cjs/utils/dom/guiSizeToggler.d.ts +18 -0
  301. package/src/_cjs/utils/dom/guiSizeToggler.js +44 -0
  302. package/src/_cjs/utils/dom/guiSizeToggler.js.map +1 -0
  303. package/src/_cjs/utils/findInVertexArray.d.ts +19 -0
  304. package/src/_cjs/utils/findInVertexArray.js +29 -0
  305. package/src/_cjs/utils/findInVertexArray.js.map +1 -0
  306. package/src/_cjs/utils/getFProp.d.ts +5 -0
  307. package/src/_cjs/utils/getFProp.js +12 -0
  308. package/src/_cjs/utils/getFProp.js.map +1 -0
  309. package/src/_cjs/utils/gup.d.ts +14 -0
  310. package/src/_cjs/utils/gup.js +31 -0
  311. package/src/_cjs/utils/gup.js.map +1 -0
  312. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.d.ts +272 -0
  313. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js +655 -0
  314. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -0
  315. package/src/_cjs/utils/helpers/CircleHelper.d.ts +73 -0
  316. package/src/_cjs/utils/helpers/CircleHelper.js +93 -0
  317. package/src/_cjs/utils/helpers/CircleHelper.js.map +1 -0
  318. package/src/_cjs/utils/helpers/CircleSectorHelper.d.ts +90 -0
  319. package/src/_cjs/utils/helpers/CircleSectorHelper.js +114 -0
  320. package/src/_cjs/utils/helpers/CircleSectorHelper.js.map +1 -0
  321. package/src/_cjs/utils/helpers/TriangleHelper.d.ts +57 -0
  322. package/src/_cjs/utils/helpers/TriangleHelper.js +83 -0
  323. package/src/_cjs/utils/helpers/TriangleHelper.js.map +1 -0
  324. package/src/_cjs/utils/helpers/VEllipseHelper.d.ts +32 -0
  325. package/src/_cjs/utils/helpers/VEllipseHelper.js +88 -0
  326. package/src/_cjs/utils/helpers/VEllipseHelper.js.map +1 -0
  327. package/src/_cjs/utils/helpers/VEllipseSectorHelper.d.ts +52 -0
  328. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js +135 -0
  329. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -0
  330. package/src/_cjs/utils/io/DndFileHandler.d.ts +63 -0
  331. package/src/_cjs/utils/io/DndFileHandler.js +112 -0
  332. package/src/_cjs/utils/io/DndFileHandler.js.map +1 -0
  333. package/src/_cjs/utils/io/FileDrop.d.ts +110 -0
  334. package/src/_cjs/utils/io/FileDrop.js +177 -0
  335. package/src/_cjs/utils/io/FileDrop.js.map +1 -0
  336. package/src/_cjs/utils/lil.gui.arrowbounce.polyfill.js +133 -0
  337. package/src/_cjs/utils/lil.gui.title.polyfill.js +32 -0
  338. package/src/_cjs/utils/module.js +18 -0
  339. package/src/_cjs/utils/parsers/LinearColorGradientParser.d.ts +78 -0
  340. package/src/_cjs/utils/parsers/LinearColorGradientParser.js +224 -0
  341. package/src/_cjs/utils/parsers/LinearColorGradientParser.js.map +1 -0
  342. package/src/_cjs/utils/parsers/OBJParser.d.ts +24 -0
  343. package/src/_cjs/utils/parsers/OBJParser.js +77 -0
  344. package/src/_cjs/utils/parsers/OBJParser.js.map +1 -0
  345. package/src/_cjs/utils/parsers/STLParser.d.ts +61 -0
  346. package/src/_cjs/utils/parsers/STLParser.js +182 -0
  347. package/src/_cjs/utils/parsers/STLParser.js.map +1 -0
  348. package/src/_cjs/utils/parsers/svg/parseSVGPathData.d.ts +27 -0
  349. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js +486 -0
  350. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js.map +1 -0
  351. package/src/_cjs/utils/parsers/svg/splitSVGPathData.d.ts +20 -0
  352. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js +53 -0
  353. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js.map +1 -0
  354. package/src/_cjs/utils/parsers/svg/types.d.ts +63 -0
  355. package/src/_cjs/utils/parsers/svg/types.js +17 -0
  356. package/src/_cjs/utils/parsers/svg/types.js.map +1 -0
  357. package/src/_cjs/utils/ts-runner.js +146 -0
  358. package/src/_cjs/utils/tsAsyncScriptLoader.js +74 -0
  359. package/src/_esm/BezierPath.d.ts +610 -0
  360. package/src/_esm/BezierPath.js +1124 -0
  361. package/src/_esm/BezierPath.js.map +1 -0
  362. package/src/_esm/Bounds.d.ts +252 -0
  363. package/src/_esm/Bounds.js +317 -0
  364. package/src/_esm/Bounds.js.map +1 -0
  365. package/src/_esm/Circle.d.ts +214 -0
  366. package/src/_esm/Circle.js +335 -0
  367. package/src/_esm/Circle.js.map +1 -0
  368. package/src/_esm/CircleSector.d.ts +211 -0
  369. package/src/_esm/CircleSector.js +359 -0
  370. package/src/_esm/CircleSector.js.map +1 -0
  371. package/src/_esm/CubicBezierCurve.d.ts +656 -0
  372. package/src/_esm/CubicBezierCurve.js +1057 -0
  373. package/src/_esm/CubicBezierCurve.js.map +1 -0
  374. package/src/_esm/Grid.d.ts +83 -0
  375. package/src/_esm/Grid.js +89 -0
  376. package/src/_esm/Grid.js.map +1 -0
  377. package/src/_esm/KeyHandler.d.ts +177 -0
  378. package/src/_esm/KeyHandler.js +434 -0
  379. package/src/_esm/KeyHandler.js.map +1 -0
  380. package/src/_esm/Line.d.ts +134 -0
  381. package/src/_esm/Line.js +200 -0
  382. package/src/_esm/Line.js.map +1 -0
  383. package/src/_esm/MouseHandler.d.ts +283 -0
  384. package/src/_esm/MouseHandler.js +397 -0
  385. package/src/_esm/MouseHandler.js.map +1 -0
  386. package/src/_esm/PBImage.d.ts +81 -0
  387. package/src/_esm/PBImage.js +60 -0
  388. package/src/_esm/PBImage.js.map +1 -0
  389. package/src/_esm/PBText.d.ts +118 -0
  390. package/src/_esm/PBText.js +62 -0
  391. package/src/_esm/PBText.js.map +1 -0
  392. package/src/_esm/PlotBoilerplate.d.ts +899 -0
  393. package/src/_esm/PlotBoilerplate.js +2347 -0
  394. package/src/_esm/PlotBoilerplate.js.map +1 -0
  395. package/src/_esm/Polygon.d.ts +520 -0
  396. package/src/_esm/Polygon.js +924 -0
  397. package/src/_esm/Polygon.js.map +1 -0
  398. package/src/_esm/SVGBuilder.d.ts +47 -0
  399. package/src/_esm/SVGBuilder.js +95 -0
  400. package/src/_esm/SVGBuilder.js.map +1 -0
  401. package/src/_esm/Triangle.d.ts +392 -0
  402. package/src/_esm/Triangle.js +493 -0
  403. package/src/_esm/Triangle.js.map +1 -0
  404. package/src/_esm/UIDGenerator.d.ts +12 -0
  405. package/src/_esm/UIDGenerator.js +18 -0
  406. package/src/_esm/UIDGenerator.js.map +1 -0
  407. package/src/_esm/VEllipse.d.ts +319 -0
  408. package/src/_esm/VEllipse.js +574 -0
  409. package/src/_esm/VEllipse.js.map +1 -0
  410. package/src/_esm/VEllipseSector.d.ts +230 -0
  411. package/src/_esm/VEllipseSector.js +422 -0
  412. package/src/_esm/VEllipseSector.js.map +1 -0
  413. package/src/_esm/Vector.d.ts +126 -0
  414. package/src/_esm/Vector.js +181 -0
  415. package/src/_esm/Vector.js.map +1 -0
  416. package/src/_esm/VertTuple.d.ts +284 -0
  417. package/src/_esm/VertTuple.js +347 -0
  418. package/src/_esm/VertTuple.js.map +1 -0
  419. package/src/_esm/Vertex.d.ts +498 -0
  420. package/src/_esm/Vertex.js +702 -0
  421. package/src/_esm/Vertex.js.map +1 -0
  422. package/src/_esm/VertexAttr.d.ts +72 -0
  423. package/src/_esm/VertexAttr.js +58 -0
  424. package/src/_esm/VertexAttr.js.map +1 -0
  425. package/src/_esm/VertexListeners.d.ts +209 -0
  426. package/src/_esm/VertexListeners.js +270 -0
  427. package/src/_esm/VertexListeners.js.map +1 -0
  428. package/src/_esm/draw.d.ts +657 -0
  429. package/src/_esm/draw.js +1159 -0
  430. package/src/_esm/draw.js.map +1 -0
  431. package/src/_esm/drawgl.d.ts +544 -0
  432. package/src/_esm/drawgl.js +812 -0
  433. package/src/_esm/drawgl.js.map +1 -0
  434. package/src/_esm/drawutilssvg.d.ts +954 -0
  435. package/src/_esm/drawutilssvg.js +1705 -0
  436. package/src/_esm/drawutilssvg.js.map +1 -0
  437. package/src/_esm/entry-glsupport.js +28 -0
  438. package/src/_esm/entry.js +29 -0
  439. package/src/_esm/geomutils.d.ts +77 -0
  440. package/src/_esm/geomutils.js +126 -0
  441. package/src/_esm/geomutils.js.map +1 -0
  442. package/src/_esm/index.d.ts +102 -0
  443. package/src/_esm/index.js +128 -0
  444. package/src/_esm/index.js.map +1 -0
  445. package/src/_esm/interfaces/DrawLib.d.ts +582 -0
  446. package/src/_esm/interfaces/DrawLib.js +32 -0
  447. package/src/_esm/interfaces/DrawLib.js.map +1 -0
  448. package/src/_esm/interfaces/additionals.d.ts +95 -0
  449. package/src/_esm/interfaces/additionals.js +3 -0
  450. package/src/_esm/interfaces/additionals.js.map +1 -0
  451. package/src/_esm/interfaces/core.d.ts +286 -0
  452. package/src/_esm/interfaces/core.js +30 -0
  453. package/src/_esm/interfaces/core.js.map +1 -0
  454. package/src/_esm/interfaces/externals.d.ts +56 -0
  455. package/src/_esm/interfaces/externals.js +8 -0
  456. package/src/_esm/interfaces/externals.js.map +1 -0
  457. package/src/_esm/interfaces/index.d.ts +4 -0
  458. package/src/_esm/interfaces/index.js +21 -0
  459. package/src/_esm/interfaces/index.js.map +1 -0
  460. package/src/_esm/module.d.ts +26 -0
  461. package/src/_esm/module.js +60 -0
  462. package/src/_esm/module.js.map +1 -0
  463. package/src/_esm/src/ts/BezierPath.d.ts +610 -0
  464. package/src/_esm/src/ts/BezierPath.js +1120 -0
  465. package/src/_esm/src/ts/BezierPath.js.map +1 -0
  466. package/src/_esm/src/ts/Bounds.d.ts +252 -0
  467. package/src/_esm/src/ts/Bounds.js +313 -0
  468. package/src/_esm/src/ts/Bounds.js.map +1 -0
  469. package/src/_esm/src/ts/Circle.d.ts +214 -0
  470. package/src/_esm/src/ts/Circle.js +331 -0
  471. package/src/_esm/src/ts/Circle.js.map +1 -0
  472. package/src/_esm/src/ts/CircleSector.d.ts +211 -0
  473. package/src/_esm/src/ts/CircleSector.js +355 -0
  474. package/src/_esm/src/ts/CircleSector.js.map +1 -0
  475. package/src/_esm/src/ts/CubicBezierCurve.d.ts +656 -0
  476. package/src/_esm/src/ts/CubicBezierCurve.js +1053 -0
  477. package/src/_esm/src/ts/CubicBezierCurve.js.map +1 -0
  478. package/src/_esm/src/ts/Grid.d.ts +83 -0
  479. package/src/_esm/src/ts/Grid.js +85 -0
  480. package/src/_esm/src/ts/Grid.js.map +1 -0
  481. package/src/_esm/src/ts/KeyHandler.d.ts +177 -0
  482. package/src/_esm/src/ts/KeyHandler.js +430 -0
  483. package/src/_esm/src/ts/KeyHandler.js.map +1 -0
  484. package/src/_esm/src/ts/Line.d.ts +134 -0
  485. package/src/_esm/src/ts/Line.js +196 -0
  486. package/src/_esm/src/ts/Line.js.map +1 -0
  487. package/src/_esm/src/ts/MouseHandler.d.ts +283 -0
  488. package/src/_esm/src/ts/MouseHandler.js +391 -0
  489. package/src/_esm/src/ts/MouseHandler.js.map +1 -0
  490. package/src/_esm/src/ts/PBImage.d.ts +81 -0
  491. package/src/_esm/src/ts/PBImage.js +56 -0
  492. package/src/_esm/src/ts/PBImage.js.map +1 -0
  493. package/src/_esm/src/ts/PBText.d.ts +118 -0
  494. package/src/_esm/src/ts/PBText.js +58 -0
  495. package/src/_esm/src/ts/PBText.js.map +1 -0
  496. package/src/_esm/src/ts/PlotBoilerplate.d.ts +899 -0
  497. package/src/_esm/src/ts/PlotBoilerplate.js +2340 -0
  498. package/src/_esm/src/ts/PlotBoilerplate.js.map +1 -0
  499. package/src/_esm/src/ts/Polygon.d.ts +520 -0
  500. package/src/_esm/src/ts/Polygon.js +920 -0
  501. package/src/_esm/src/ts/Polygon.js.map +1 -0
  502. package/src/_esm/src/ts/Triangle.d.ts +392 -0
  503. package/src/_esm/src/ts/Triangle.js +489 -0
  504. package/src/_esm/src/ts/Triangle.js.map +1 -0
  505. package/src/_esm/src/ts/UIDGenerator.d.ts +12 -0
  506. package/src/_esm/src/ts/UIDGenerator.js +14 -0
  507. package/src/_esm/src/ts/UIDGenerator.js.map +1 -0
  508. package/src/_esm/src/ts/VEllipse.d.ts +319 -0
  509. package/src/_esm/src/ts/VEllipse.js +570 -0
  510. package/src/_esm/src/ts/VEllipse.js.map +1 -0
  511. package/src/_esm/src/ts/VEllipseSector.d.ts +230 -0
  512. package/src/_esm/src/ts/VEllipseSector.js +418 -0
  513. package/src/_esm/src/ts/VEllipseSector.js.map +1 -0
  514. package/src/_esm/src/ts/Vector.d.ts +126 -0
  515. package/src/_esm/src/ts/Vector.js +177 -0
  516. package/src/_esm/src/ts/Vector.js.map +1 -0
  517. package/src/_esm/src/ts/VertTuple.d.ts +284 -0
  518. package/src/_esm/src/ts/VertTuple.js +343 -0
  519. package/src/_esm/src/ts/VertTuple.js.map +1 -0
  520. package/src/_esm/src/ts/Vertex.d.ts +498 -0
  521. package/src/_esm/src/ts/Vertex.js +698 -0
  522. package/src/_esm/src/ts/Vertex.js.map +1 -0
  523. package/src/_esm/src/ts/VertexAttr.d.ts +72 -0
  524. package/src/_esm/src/ts/VertexAttr.js +54 -0
  525. package/src/_esm/src/ts/VertexAttr.js.map +1 -0
  526. package/src/_esm/src/ts/VertexListeners.d.ts +209 -0
  527. package/src/_esm/src/ts/VertexListeners.js +266 -0
  528. package/src/_esm/src/ts/VertexListeners.js.map +1 -0
  529. package/src/_esm/src/ts/draw.d.ts +657 -0
  530. package/src/_esm/src/ts/draw.js +1155 -0
  531. package/src/_esm/src/ts/draw.js.map +1 -0
  532. package/src/_esm/src/ts/drawgl.d.ts +544 -0
  533. package/src/_esm/src/ts/drawgl.js +808 -0
  534. package/src/_esm/src/ts/drawgl.js.map +1 -0
  535. package/src/_esm/src/ts/drawutilssvg.d.ts +954 -0
  536. package/src/_esm/src/ts/drawutilssvg.js +1701 -0
  537. package/src/_esm/src/ts/drawutilssvg.js.map +1 -0
  538. package/src/_esm/src/ts/geomutils.d.ts +77 -0
  539. package/src/_esm/src/ts/geomutils.js +123 -0
  540. package/src/_esm/src/ts/geomutils.js.map +1 -0
  541. package/src/_esm/src/ts/index.d.ts +102 -0
  542. package/src/_esm/src/ts/index.js +112 -0
  543. package/src/_esm/src/ts/index.js.map +1 -0
  544. package/src/_esm/src/ts/interfaces/DrawLib.d.ts +582 -0
  545. package/src/_esm/src/ts/interfaces/DrawLib.js +31 -0
  546. package/src/_esm/src/ts/interfaces/DrawLib.js.map +1 -0
  547. package/src/_esm/src/ts/interfaces/additionals.d.ts +95 -0
  548. package/src/_esm/src/ts/interfaces/additionals.js +2 -0
  549. package/src/_esm/src/ts/interfaces/additionals.js.map +1 -0
  550. package/src/_esm/src/ts/interfaces/core.d.ts +286 -0
  551. package/src/_esm/src/ts/interfaces/core.js +29 -0
  552. package/src/_esm/src/ts/interfaces/core.js.map +1 -0
  553. package/src/_esm/src/ts/interfaces/externals.d.ts +56 -0
  554. package/src/_esm/src/ts/interfaces/externals.js +7 -0
  555. package/src/_esm/src/ts/interfaces/externals.js.map +1 -0
  556. package/src/_esm/src/ts/interfaces/index.d.ts +4 -0
  557. package/src/_esm/src/ts/interfaces/index.js +5 -0
  558. package/src/_esm/src/ts/interfaces/index.js.map +1 -0
  559. package/src/_esm/src/ts/module.d.ts +26 -0
  560. package/src/_esm/src/ts/module.js +38 -0
  561. package/src/_esm/src/ts/module.js.map +1 -0
  562. package/src/_esm/src/ts/utils/InitializationObserver.d.ts +18 -0
  563. package/src/_esm/src/ts/utils/InitializationObserver.js +57 -0
  564. package/src/_esm/src/ts/utils/InitializationObserver.js.map +1 -0
  565. package/src/_esm/src/ts/utils/LissajousFigure.d.ts +34 -0
  566. package/src/_esm/src/ts/utils/LissajousFigure.js +95 -0
  567. package/src/_esm/src/ts/utils/LissajousFigure.js.map +1 -0
  568. package/src/_esm/src/ts/utils/NGons.d.ts +13 -0
  569. package/src/_esm/src/ts/utils/NGons.js +33 -0
  570. package/src/_esm/src/ts/utils/NGons.js.map +1 -0
  571. package/src/_esm/src/ts/utils/Params.d.ts +17 -0
  572. package/src/_esm/src/ts/utils/Params.js +48 -0
  573. package/src/_esm/src/ts/utils/Params.js.map +1 -0
  574. package/src/_esm/src/ts/utils/PerlinNoise.d.ts +19 -0
  575. package/src/_esm/src/ts/utils/PerlinNoise.js +346 -0
  576. package/src/_esm/src/ts/utils/PerlinNoise.js.map +1 -0
  577. package/src/_esm/src/ts/utils/SVGPathUtils.d.ts +22 -0
  578. package/src/_esm/src/ts/utils/SVGPathUtils.js +42 -0
  579. package/src/_esm/src/ts/utils/SVGPathUtils.js.map +1 -0
  580. package/src/_esm/src/ts/utils/WebColors.d.ts +35 -0
  581. package/src/_esm/src/ts/utils/WebColors.js +54 -0
  582. package/src/_esm/src/ts/utils/WebColors.js.map +1 -0
  583. package/src/_esm/src/ts/utils/WebColorsContrast.d.ts +6 -0
  584. package/src/_esm/src/ts/utils/WebColorsContrast.js +9 -0
  585. package/src/_esm/src/ts/utils/WebColorsContrast.js.map +1 -0
  586. package/src/_esm/src/ts/utils/WebColorsMalachite.d.ts +12 -0
  587. package/src/_esm/src/ts/utils/WebColorsMalachite.js +25 -0
  588. package/src/_esm/src/ts/utils/WebColorsMalachite.js.map +1 -0
  589. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.d.ts +60 -0
  590. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js +103 -0
  591. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js.map +1 -0
  592. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.d.ts +170 -0
  593. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js +303 -0
  594. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js.map +1 -0
  595. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.d.ts +150 -0
  596. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js +362 -0
  597. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js.map +1 -0
  598. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.d.ts +63 -0
  599. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js +170 -0
  600. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js.map +1 -0
  601. package/src/_esm/src/ts/utils/algorithms/HobbyPath.d.ts +81 -0
  602. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js +273 -0
  603. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js.map +1 -0
  604. package/src/_esm/src/ts/utils/algorithms/Metaballs.d.ts +30 -0
  605. package/src/_esm/src/ts/utils/algorithms/Metaballs.js +109 -0
  606. package/src/_esm/src/ts/utils/algorithms/Metaballs.js.map +1 -0
  607. package/src/_esm/src/ts/utils/algorithms/PolygonInset.d.ts +184 -0
  608. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js +424 -0
  609. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js.map +1 -0
  610. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.d.ts +145 -0
  611. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js +262 -0
  612. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js.map +1 -0
  613. package/src/_esm/src/ts/utils/algorithms/arrayFill.d.ts +8 -0
  614. package/src/_esm/src/ts/utils/algorithms/arrayFill.js +14 -0
  615. package/src/_esm/src/ts/utils/algorithms/arrayFill.js.map +1 -0
  616. package/src/_esm/src/ts/utils/algorithms/arrayResize.d.ts +8 -0
  617. package/src/_esm/src/ts/utils/algorithms/arrayResize.js +20 -0
  618. package/src/_esm/src/ts/utils/algorithms/arrayResize.js.map +1 -0
  619. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.d.ts +8 -0
  620. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js +11 -0
  621. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js.map +1 -0
  622. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.d.ts +22 -0
  623. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js +47 -0
  624. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js.map +1 -0
  625. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.d.ts +24 -0
  626. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js +57 -0
  627. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js.map +1 -0
  628. package/src/_esm/src/ts/utils/algorithms/convexHull.d.ts +23 -0
  629. package/src/_esm/src/ts/utils/algorithms/convexHull.js +67 -0
  630. package/src/_esm/src/ts/utils/algorithms/convexHull.js.map +1 -0
  631. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.d.ts +41 -0
  632. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js +141 -0
  633. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js.map +1 -0
  634. package/src/_esm/src/ts/utils/algorithms/delaunay.d.ts +30 -0
  635. package/src/_esm/src/ts/utils/algorithms/delaunay.js +153 -0
  636. package/src/_esm/src/ts/utils/algorithms/delaunay.js.map +1 -0
  637. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.d.ts +25 -0
  638. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js +99 -0
  639. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js.map +1 -0
  640. package/src/_esm/src/ts/utils/algorithms/detectPaths.d.ts +21 -0
  641. package/src/_esm/src/ts/utils/algorithms/detectPaths.js +165 -0
  642. package/src/_esm/src/ts/utils/algorithms/detectPaths.js.map +1 -0
  643. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.d.ts +21 -0
  644. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js +47 -0
  645. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js.map +1 -0
  646. package/src/_esm/src/ts/utils/algorithms/getContrastColor.d.ts +13 -0
  647. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js +22 -0
  648. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js.map +1 -0
  649. package/src/_esm/src/ts/utils/algorithms/matrixFill.d.ts +10 -0
  650. package/src/_esm/src/ts/utils/algorithms/matrixFill.js +17 -0
  651. package/src/_esm/src/ts/utils/algorithms/matrixFill.js.map +1 -0
  652. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
  653. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js +266 -0
  654. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js.map +1 -0
  655. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.d.ts +28 -0
  656. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js +99 -0
  657. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -0
  658. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.d.ts +16 -0
  659. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js +72 -0
  660. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js.map +1 -0
  661. package/src/_esm/src/ts/utils/cloneVertexArray.d.ts +13 -0
  662. package/src/_esm/src/ts/utils/cloneVertexArray.js +19 -0
  663. package/src/_esm/src/ts/utils/cloneVertexArray.js.map +1 -0
  664. package/src/_esm/src/ts/utils/createRandomizedPolygon.d.ts +14 -0
  665. package/src/_esm/src/ts/utils/createRandomizedPolygon.js +28 -0
  666. package/src/_esm/src/ts/utils/createRandomizedPolygon.js.map +1 -0
  667. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.d.ts +83 -0
  668. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js +158 -0
  669. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js.map +1 -0
  670. package/src/_esm/src/ts/utils/datastructures/Color.d.ts +391 -0
  671. package/src/_esm/src/ts/utils/datastructures/Color.js +1063 -0
  672. package/src/_esm/src/ts/utils/datastructures/Color.js.map +1 -0
  673. package/src/_esm/src/ts/utils/datastructures/ColorGradient.d.ts +81 -0
  674. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js +171 -0
  675. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js.map +1 -0
  676. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.d.ts +53 -0
  677. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js +19 -0
  678. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js.map +1 -0
  679. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
  680. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js +150 -0
  681. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
  682. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.d.ts +59 -0
  683. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js +79 -0
  684. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js.map +1 -0
  685. package/src/_esm/src/ts/utils/datastructures/GenericPath.d.ts +86 -0
  686. package/src/_esm/src/ts/utils/datastructures/GenericPath.js +117 -0
  687. package/src/_esm/src/ts/utils/datastructures/GenericPath.js.map +1 -0
  688. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.d.ts +49 -0
  689. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js +53 -0
  690. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js.map +1 -0
  691. package/src/_esm/src/ts/utils/datastructures/Girih.d.ts +181 -0
  692. package/src/_esm/src/ts/utils/datastructures/Girih.js +261 -0
  693. package/src/_esm/src/ts/utils/datastructures/Girih.js.map +1 -0
  694. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.d.ts +37 -0
  695. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js +130 -0
  696. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js.map +1 -0
  697. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.d.ts +52 -0
  698. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js +110 -0
  699. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js.map +1 -0
  700. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.d.ts +39 -0
  701. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js +178 -0
  702. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js.map +1 -0
  703. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.d.ts +46 -0
  704. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js +167 -0
  705. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js.map +1 -0
  706. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.d.ts +37 -0
  707. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js +87 -0
  708. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js.map +1 -0
  709. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.d.ts +38 -0
  710. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js +133 -0
  711. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js.map +1 -0
  712. package/src/_esm/src/ts/utils/datastructures/GirihTile.d.ts +283 -0
  713. package/src/_esm/src/ts/utils/datastructures/GirihTile.js +286 -0
  714. package/src/_esm/src/ts/utils/datastructures/GirihTile.js.map +1 -0
  715. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.d.ts +244 -0
  716. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js +246 -0
  717. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js.map +1 -0
  718. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.d.ts +122 -0
  719. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js +178 -0
  720. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js.map +1 -0
  721. package/src/_esm/src/ts/utils/datastructures/interfaces.d.ts +13 -0
  722. package/src/_esm/src/ts/utils/datastructures/interfaces.js +9 -0
  723. package/src/_esm/src/ts/utils/datastructures/interfaces.js.map +1 -0
  724. package/src/_esm/src/ts/utils/detectDarkMode.d.ts +10 -0
  725. package/src/_esm/src/ts/utils/detectDarkMode.js +37 -0
  726. package/src/_esm/src/ts/utils/detectDarkMode.js.map +1 -0
  727. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.d.ts +246 -0
  728. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js +743 -0
  729. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js.map +1 -0
  730. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.d.ts +118 -0
  731. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js +339 -0
  732. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js.map +1 -0
  733. package/src/_esm/src/ts/utils/dom/components/Test.d.ts +7 -0
  734. package/src/_esm/src/ts/utils/dom/components/Test.js +26 -0
  735. package/src/_esm/src/ts/utils/dom/components/Test.js.map +1 -0
  736. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.d.ts +2 -0
  737. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js +25 -0
  738. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js.map +1 -0
  739. package/src/_esm/src/ts/utils/dom/getFProp.d.ts +5 -0
  740. package/src/_esm/src/ts/utils/dom/getFProp.js +8 -0
  741. package/src/_esm/src/ts/utils/dom/getFProp.js.map +1 -0
  742. package/src/_esm/src/ts/utils/dom/guiSizeToggler.d.ts +18 -0
  743. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js +40 -0
  744. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js.map +1 -0
  745. package/src/_esm/src/ts/utils/findInVertexArray.d.ts +19 -0
  746. package/src/_esm/src/ts/utils/findInVertexArray.js +25 -0
  747. package/src/_esm/src/ts/utils/findInVertexArray.js.map +1 -0
  748. package/src/_esm/src/ts/utils/gup.d.ts +14 -0
  749. package/src/_esm/src/ts/utils/gup.js +27 -0
  750. package/src/_esm/src/ts/utils/gup.js.map +1 -0
  751. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.d.ts +272 -0
  752. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js +648 -0
  753. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js.map +1 -0
  754. package/src/_esm/src/ts/utils/helpers/CircleHelper.d.ts +73 -0
  755. package/src/_esm/src/ts/utils/helpers/CircleHelper.js +88 -0
  756. package/src/_esm/src/ts/utils/helpers/CircleHelper.js.map +1 -0
  757. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.d.ts +90 -0
  758. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js +109 -0
  759. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js.map +1 -0
  760. package/src/_esm/src/ts/utils/helpers/TriangleHelper.d.ts +57 -0
  761. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js +78 -0
  762. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js.map +1 -0
  763. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.d.ts +32 -0
  764. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js +83 -0
  765. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js.map +1 -0
  766. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.d.ts +52 -0
  767. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js +130 -0
  768. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js.map +1 -0
  769. package/src/_esm/src/ts/utils/io/FileDrop.d.ts +110 -0
  770. package/src/_esm/src/ts/utils/io/FileDrop.js +171 -0
  771. package/src/_esm/src/ts/utils/io/FileDrop.js.map +1 -0
  772. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.d.ts +78 -0
  773. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js +217 -0
  774. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js.map +1 -0
  775. package/src/_esm/src/ts/utils/parsers/OBJParser.d.ts +24 -0
  776. package/src/_esm/src/ts/utils/parsers/OBJParser.js +72 -0
  777. package/src/_esm/src/ts/utils/parsers/OBJParser.js.map +1 -0
  778. package/src/_esm/src/ts/utils/parsers/STLParser.d.ts +61 -0
  779. package/src/_esm/src/ts/utils/parsers/STLParser.js +175 -0
  780. package/src/_esm/src/ts/utils/parsers/STLParser.js.map +1 -0
  781. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.d.ts +27 -0
  782. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js +482 -0
  783. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js.map +1 -0
  784. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.d.ts +20 -0
  785. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js +49 -0
  786. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js.map +1 -0
  787. package/src/_esm/src/ts/utils/parsers/svg/types.d.ts +63 -0
  788. package/src/_esm/src/ts/utils/parsers/svg/types.js +16 -0
  789. package/src/_esm/src/ts/utils/parsers/svg/types.js.map +1 -0
  790. package/src/_esm/utils/InitializationObserver.d.ts +18 -0
  791. package/src/_esm/utils/InitializationObserver.js +61 -0
  792. package/src/_esm/utils/InitializationObserver.js.map +1 -0
  793. package/src/_esm/utils/LissajousFigure.d.ts +34 -0
  794. package/src/_esm/utils/LissajousFigure.js +99 -0
  795. package/src/_esm/utils/LissajousFigure.js.map +1 -0
  796. package/src/_esm/utils/NGons.d.ts +13 -0
  797. package/src/_esm/utils/NGons.js +36 -0
  798. package/src/_esm/utils/NGons.js.map +1 -0
  799. package/src/_esm/utils/Params.d.ts +17 -0
  800. package/src/_esm/utils/Params.js +52 -0
  801. package/src/_esm/utils/Params.js.map +1 -0
  802. package/src/_esm/utils/PerlinNoise.d.ts +19 -0
  803. package/src/_esm/utils/PerlinNoise.js +350 -0
  804. package/src/_esm/utils/PerlinNoise.js.map +1 -0
  805. package/src/_esm/utils/SVGPathUtils.d.ts +22 -0
  806. package/src/_esm/utils/SVGPathUtils.js +45 -0
  807. package/src/_esm/utils/SVGPathUtils.js.map +1 -0
  808. package/src/_esm/utils/WebColors.d.ts +35 -0
  809. package/src/_esm/utils/WebColors.js +58 -0
  810. package/src/_esm/utils/WebColors.js.map +1 -0
  811. package/src/_esm/utils/WebColorsContrast.d.ts +6 -0
  812. package/src/_esm/utils/WebColorsContrast.js +12 -0
  813. package/src/_esm/utils/WebColorsContrast.js.map +1 -0
  814. package/src/_esm/utils/WebColorsMalachite.d.ts +12 -0
  815. package/src/_esm/utils/WebColorsMalachite.js +28 -0
  816. package/src/_esm/utils/WebColorsMalachite.js.map +1 -0
  817. package/src/_esm/utils/algorithms/CatmullRomPath.d.ts +60 -0
  818. package/src/_esm/utils/algorithms/CatmullRomPath.js +107 -0
  819. package/src/_esm/utils/algorithms/CatmullRomPath.js.map +1 -0
  820. package/src/_esm/utils/algorithms/CircleIntersections.d.ts +170 -0
  821. package/src/_esm/utils/algorithms/CircleIntersections.js +307 -0
  822. package/src/_esm/utils/algorithms/CircleIntersections.js.map +1 -0
  823. package/src/_esm/utils/algorithms/ContourLineDetection.d.ts +150 -0
  824. package/src/_esm/utils/algorithms/ContourLineDetection.js +366 -0
  825. package/src/_esm/utils/algorithms/ContourLineDetection.js.map +1 -0
  826. package/src/_esm/utils/algorithms/CubicSplinePath.d.ts +63 -0
  827. package/src/_esm/utils/algorithms/CubicSplinePath.js +174 -0
  828. package/src/_esm/utils/algorithms/CubicSplinePath.js.map +1 -0
  829. package/src/_esm/utils/algorithms/HobbyPath.d.ts +81 -0
  830. package/src/_esm/utils/algorithms/HobbyPath.js +277 -0
  831. package/src/_esm/utils/algorithms/HobbyPath.js.map +1 -0
  832. package/src/_esm/utils/algorithms/Metaballs.d.ts +30 -0
  833. package/src/_esm/utils/algorithms/Metaballs.js +113 -0
  834. package/src/_esm/utils/algorithms/Metaballs.js.map +1 -0
  835. package/src/_esm/utils/algorithms/PolygonInset.d.ts +184 -0
  836. package/src/_esm/utils/algorithms/PolygonInset.js +428 -0
  837. package/src/_esm/utils/algorithms/PolygonInset.js.map +1 -0
  838. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.d.ts +145 -0
  839. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js +267 -0
  840. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js.map +1 -0
  841. package/src/_esm/utils/algorithms/arrayFill.d.ts +8 -0
  842. package/src/_esm/utils/algorithms/arrayFill.js +18 -0
  843. package/src/_esm/utils/algorithms/arrayFill.js.map +1 -0
  844. package/src/_esm/utils/algorithms/arrayResize.d.ts +8 -0
  845. package/src/_esm/utils/algorithms/arrayResize.js +24 -0
  846. package/src/_esm/utils/algorithms/arrayResize.js.map +1 -0
  847. package/src/_esm/utils/algorithms/arrayShuffle.d.ts +8 -0
  848. package/src/_esm/utils/algorithms/arrayShuffle.js +15 -0
  849. package/src/_esm/utils/algorithms/arrayShuffle.js.map +1 -0
  850. package/src/_esm/utils/algorithms/clearDuplicateVertices.d.ts +22 -0
  851. package/src/_esm/utils/algorithms/clearDuplicateVertices.js +51 -0
  852. package/src/_esm/utils/algorithms/clearDuplicateVertices.js.map +1 -0
  853. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.d.ts +24 -0
  854. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js +61 -0
  855. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js.map +1 -0
  856. package/src/_esm/utils/algorithms/convexHull.d.ts +23 -0
  857. package/src/_esm/utils/algorithms/convexHull.js +71 -0
  858. package/src/_esm/utils/algorithms/convexHull.js.map +1 -0
  859. package/src/_esm/utils/algorithms/convexPolygonIncircle.d.ts +41 -0
  860. package/src/_esm/utils/algorithms/convexPolygonIncircle.js +145 -0
  861. package/src/_esm/utils/algorithms/convexPolygonIncircle.js.map +1 -0
  862. package/src/_esm/utils/algorithms/createRandomizedPolygon.d.ts +14 -0
  863. package/src/_esm/utils/algorithms/createRandomizedPolygon.js +28 -0
  864. package/src/_esm/utils/algorithms/createRandomizedPolygon.js.map +1 -0
  865. package/src/_esm/utils/algorithms/delaunay.d.ts +30 -0
  866. package/src/_esm/utils/algorithms/delaunay.js +157 -0
  867. package/src/_esm/utils/algorithms/delaunay.js.map +1 -0
  868. package/src/_esm/utils/algorithms/delaunay2voronoi.d.ts +25 -0
  869. package/src/_esm/utils/algorithms/delaunay2voronoi.js +103 -0
  870. package/src/_esm/utils/algorithms/delaunay2voronoi.js.map +1 -0
  871. package/src/_esm/utils/algorithms/detectPaths.d.ts +21 -0
  872. package/src/_esm/utils/algorithms/detectPaths.js +169 -0
  873. package/src/_esm/utils/algorithms/detectPaths.js.map +1 -0
  874. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.d.ts +21 -0
  875. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js +51 -0
  876. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js.map +1 -0
  877. package/src/_esm/utils/algorithms/getContrastColor.d.ts +13 -0
  878. package/src/_esm/utils/algorithms/getContrastColor.js +26 -0
  879. package/src/_esm/utils/algorithms/getContrastColor.js.map +1 -0
  880. package/src/_esm/utils/algorithms/matrixFill.d.ts +10 -0
  881. package/src/_esm/utils/algorithms/matrixFill.js +21 -0
  882. package/src/_esm/utils/algorithms/matrixFill.js.map +1 -0
  883. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
  884. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js +270 -0
  885. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js.map +1 -0
  886. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +28 -0
  887. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js +102 -0
  888. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -0
  889. package/src/_esm/utils/algorithms/sutherlandHodgman.d.ts +16 -0
  890. package/src/_esm/utils/algorithms/sutherlandHodgman.js +76 -0
  891. package/src/_esm/utils/algorithms/sutherlandHodgman.js.map +1 -0
  892. package/src/_esm/utils/cloneVertexArray.d.ts +13 -0
  893. package/src/_esm/utils/cloneVertexArray.js +23 -0
  894. package/src/_esm/utils/cloneVertexArray.js.map +1 -0
  895. package/src/_esm/utils/createRandomizedPolygon.d.ts +14 -0
  896. package/src/_esm/utils/createRandomizedPolygon.js +32 -0
  897. package/src/_esm/utils/createRandomizedPolygon.js.map +1 -0
  898. package/src/_esm/utils/datastructures/CircularIntervalSet.d.ts +83 -0
  899. package/src/_esm/utils/datastructures/CircularIntervalSet.js +162 -0
  900. package/src/_esm/utils/datastructures/CircularIntervalSet.js.map +1 -0
  901. package/src/_esm/utils/datastructures/Color.d.ts +391 -0
  902. package/src/_esm/utils/datastructures/Color.js +1067 -0
  903. package/src/_esm/utils/datastructures/Color.js.map +1 -0
  904. package/src/_esm/utils/datastructures/ColorGradient.d.ts +81 -0
  905. package/src/_esm/utils/datastructures/ColorGradient.js +175 -0
  906. package/src/_esm/utils/datastructures/ColorGradient.js.map +1 -0
  907. package/src/_esm/utils/datastructures/DataGrid2d.d.ts +53 -0
  908. package/src/_esm/utils/datastructures/DataGrid2d.js +20 -0
  909. package/src/_esm/utils/datastructures/DataGrid2d.js.map +1 -0
  910. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
  911. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js +154 -0
  912. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
  913. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.d.ts +59 -0
  914. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js +83 -0
  915. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js.map +1 -0
  916. package/src/_esm/utils/datastructures/GenericPath.d.ts +86 -0
  917. package/src/_esm/utils/datastructures/GenericPath.js +121 -0
  918. package/src/_esm/utils/datastructures/GenericPath.js.map +1 -0
  919. package/src/_esm/utils/datastructures/GeometryMesh.d.ts +49 -0
  920. package/src/_esm/utils/datastructures/GeometryMesh.js +57 -0
  921. package/src/_esm/utils/datastructures/GeometryMesh.js.map +1 -0
  922. package/src/_esm/utils/datastructures/Girih.d.ts +181 -0
  923. package/src/_esm/utils/datastructures/Girih.js +265 -0
  924. package/src/_esm/utils/datastructures/Girih.js.map +1 -0
  925. package/src/_esm/utils/datastructures/GirihBowtie.d.ts +37 -0
  926. package/src/_esm/utils/datastructures/GirihBowtie.js +134 -0
  927. package/src/_esm/utils/datastructures/GirihBowtie.js.map +1 -0
  928. package/src/_esm/utils/datastructures/GirihDecagon.d.ts +52 -0
  929. package/src/_esm/utils/datastructures/GirihDecagon.js +114 -0
  930. package/src/_esm/utils/datastructures/GirihDecagon.js.map +1 -0
  931. package/src/_esm/utils/datastructures/GirihHexagon.d.ts +39 -0
  932. package/src/_esm/utils/datastructures/GirihHexagon.js +182 -0
  933. package/src/_esm/utils/datastructures/GirihHexagon.js.map +1 -0
  934. package/src/_esm/utils/datastructures/GirihPenroseRhombus.d.ts +46 -0
  935. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js +171 -0
  936. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -0
  937. package/src/_esm/utils/datastructures/GirihPentagon.d.ts +37 -0
  938. package/src/_esm/utils/datastructures/GirihPentagon.js +91 -0
  939. package/src/_esm/utils/datastructures/GirihPentagon.js.map +1 -0
  940. package/src/_esm/utils/datastructures/GirihRhombus.d.ts +38 -0
  941. package/src/_esm/utils/datastructures/GirihRhombus.js +137 -0
  942. package/src/_esm/utils/datastructures/GirihRhombus.js.map +1 -0
  943. package/src/_esm/utils/datastructures/GirihTile.d.ts +283 -0
  944. package/src/_esm/utils/datastructures/GirihTile.js +290 -0
  945. package/src/_esm/utils/datastructures/GirihTile.js.map +1 -0
  946. package/src/_esm/utils/datastructures/Matrix4x4.d.ts +244 -0
  947. package/src/_esm/utils/datastructures/Matrix4x4.js +250 -0
  948. package/src/_esm/utils/datastructures/Matrix4x4.js.map +1 -0
  949. package/src/_esm/utils/datastructures/VoronoiCell.d.ts +122 -0
  950. package/src/_esm/utils/datastructures/VoronoiCell.js +182 -0
  951. package/src/_esm/utils/datastructures/VoronoiCell.js.map +1 -0
  952. package/src/_esm/utils/datastructures/interfaces.d.ts +13 -0
  953. package/src/_esm/utils/datastructures/interfaces.js +10 -0
  954. package/src/_esm/utils/datastructures/interfaces.js.map +1 -0
  955. package/src/_esm/utils/detectDarkMode.d.ts +10 -0
  956. package/src/_esm/utils/detectDarkMode.js +41 -0
  957. package/src/_esm/utils/detectDarkMode.js.map +1 -0
  958. package/src/_esm/utils/dom/components/ColorGradientPicker.d.ts +246 -0
  959. package/src/_esm/utils/dom/components/ColorGradientPicker.js +780 -0
  960. package/src/_esm/utils/dom/components/ColorGradientPicker.js.map +1 -0
  961. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
  962. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js +582 -0
  963. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
  964. package/src/_esm/utils/dom/components/ColorGradientSelector.d.ts +118 -0
  965. package/src/_esm/utils/dom/components/ColorGradientSelector.js +376 -0
  966. package/src/_esm/utils/dom/components/ColorGradientSelector.js.map +1 -0
  967. package/src/_esm/utils/dom/components/Test.d.ts +7 -0
  968. package/src/_esm/utils/dom/components/Test.js +63 -0
  969. package/src/_esm/utils/dom/components/Test.js.map +1 -0
  970. package/src/_esm/utils/dom/getAvailableContainerSpace.d.ts +2 -0
  971. package/src/_esm/utils/dom/getAvailableContainerSpace.js +29 -0
  972. package/src/_esm/utils/dom/getAvailableContainerSpace.js.map +1 -0
  973. package/src/_esm/utils/dom/getFProp.d.ts +5 -0
  974. package/src/_esm/utils/dom/getFProp.js +12 -0
  975. package/src/_esm/utils/dom/getFProp.js.map +1 -0
  976. package/src/_esm/utils/dom/guiSizeToggler.d.ts +18 -0
  977. package/src/_esm/utils/dom/guiSizeToggler.js +44 -0
  978. package/src/_esm/utils/dom/guiSizeToggler.js.map +1 -0
  979. package/src/_esm/utils/findInVertexArray.d.ts +19 -0
  980. package/src/_esm/utils/findInVertexArray.js +29 -0
  981. package/src/_esm/utils/findInVertexArray.js.map +1 -0
  982. package/src/_esm/utils/getFProp.d.ts +5 -0
  983. package/src/_esm/utils/getFProp.js +8 -0
  984. package/src/_esm/utils/getFProp.js.map +1 -0
  985. package/src/_esm/utils/gup.d.ts +14 -0
  986. package/src/_esm/utils/gup.js +31 -0
  987. package/src/_esm/utils/gup.js.map +1 -0
  988. package/src/_esm/utils/helpers/BezierPathInteractionHelper.d.ts +272 -0
  989. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js +655 -0
  990. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -0
  991. package/src/_esm/utils/helpers/CircleHelper.d.ts +73 -0
  992. package/src/_esm/utils/helpers/CircleHelper.js +92 -0
  993. package/src/_esm/utils/helpers/CircleHelper.js.map +1 -0
  994. package/src/_esm/utils/helpers/CircleSectorHelper.d.ts +90 -0
  995. package/src/_esm/utils/helpers/CircleSectorHelper.js +113 -0
  996. package/src/_esm/utils/helpers/CircleSectorHelper.js.map +1 -0
  997. package/src/_esm/utils/helpers/TriangleHelper.d.ts +57 -0
  998. package/src/_esm/utils/helpers/TriangleHelper.js +82 -0
  999. package/src/_esm/utils/helpers/TriangleHelper.js.map +1 -0
  1000. package/src/_esm/utils/helpers/VEllipseHelper.d.ts +32 -0
  1001. package/src/_esm/utils/helpers/VEllipseHelper.js +87 -0
  1002. package/src/_esm/utils/helpers/VEllipseHelper.js.map +1 -0
  1003. package/src/_esm/utils/helpers/VEllipseSectorHelper.d.ts +52 -0
  1004. package/src/_esm/utils/helpers/VEllipseSectorHelper.js +134 -0
  1005. package/src/_esm/utils/helpers/VEllipseSectorHelper.js.map +1 -0
  1006. package/src/_esm/utils/io/DndFileHandler.d.ts +63 -0
  1007. package/src/_esm/utils/io/DndFileHandler.js +106 -0
  1008. package/src/_esm/utils/io/DndFileHandler.js.map +1 -0
  1009. package/src/_esm/utils/io/FileDrop.d.ts +110 -0
  1010. package/src/_esm/utils/io/FileDrop.js +175 -0
  1011. package/src/_esm/utils/io/FileDrop.js.map +1 -0
  1012. package/src/_esm/utils/parsers/LinearColorGradientParser.d.ts +78 -0
  1013. package/src/_esm/utils/parsers/LinearColorGradientParser.js +223 -0
  1014. package/src/_esm/utils/parsers/LinearColorGradientParser.js.map +1 -0
  1015. package/src/_esm/utils/parsers/OBJParser.d.ts +25 -0
  1016. package/src/_esm/utils/parsers/OBJParser.js +78 -0
  1017. package/src/_esm/utils/parsers/OBJParser.js.map +1 -0
  1018. package/src/_esm/utils/parsers/STLParser.d.ts +61 -0
  1019. package/src/_esm/utils/parsers/STLParser.js +179 -0
  1020. package/src/_esm/utils/parsers/STLParser.js.map +1 -0
  1021. package/src/_esm/utils/parsers/svg/parseSVGPathData.d.ts +27 -0
  1022. package/src/_esm/utils/parsers/svg/parseSVGPathData.js +486 -0
  1023. package/src/_esm/utils/parsers/svg/parseSVGPathData.js.map +1 -0
  1024. package/src/_esm/utils/parsers/svg/splitSVGPathData.d.ts +20 -0
  1025. package/src/_esm/utils/parsers/svg/splitSVGPathData.js +53 -0
  1026. package/src/_esm/utils/parsers/svg/splitSVGPathData.js.map +1 -0
  1027. package/src/_esm/utils/parsers/svg/types.d.ts +63 -0
  1028. package/src/_esm/utils/parsers/svg/types.js +17 -0
  1029. package/src/_esm/utils/parsers/svg/types.js.map +1 -0
  1030. package/src/cjs/PlotBoilerplate.d.ts +11 -1
  1031. package/src/cjs/PlotBoilerplate.js +23 -7
  1032. package/src/cjs/PlotBoilerplate.js.map +1 -1
  1033. package/src/cjs/VertexListeners.d.ts +2 -1
  1034. package/src/cjs/VertexListeners.js +5 -1
  1035. package/src/cjs/VertexListeners.js.map +1 -1
  1036. package/src/cjs/draw.d.ts +18 -2
  1037. package/src/cjs/draw.js +21 -2
  1038. package/src/cjs/draw.js.map +1 -1
  1039. package/src/cjs/drawgl.d.ts +18 -3
  1040. package/src/cjs/drawgl.js +19 -2
  1041. package/src/cjs/drawgl.js.map +1 -1
  1042. package/src/cjs/drawutilssvg.d.ts +19 -1
  1043. package/src/cjs/drawutilssvg.js +28 -5
  1044. package/src/cjs/drawutilssvg.js.map +1 -1
  1045. package/src/cjs/index.d.ts +75 -0
  1046. package/src/cjs/index.js +84 -0
  1047. package/src/cjs/index.js.map +1 -1
  1048. package/src/cjs/interfaces/DrawLib.d.ts +18 -1
  1049. package/src/cjs/interfaces/DrawLib.js +2 -0
  1050. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  1051. package/src/cjs/utils/Params.d.ts +3 -2
  1052. package/src/cjs/utils/Params.js +11 -3
  1053. package/src/cjs/utils/Params.js.map +1 -1
  1054. package/src/cjs/utils/WebColors.d.ts +2 -1
  1055. package/src/cjs/utils/WebColors.js +15 -2
  1056. package/src/cjs/utils/WebColors.js.map +1 -1
  1057. package/src/cjs/utils/WebColorsContrast.d.ts +1 -1
  1058. package/src/cjs/utils/algorithms/HobbyPath.js +13 -16
  1059. package/src/cjs/utils/algorithms/HobbyPath.js.map +1 -1
  1060. package/src/cjs/utils/helpers/BezierResizeHelper.d.ts +144 -0
  1061. package/src/cjs/utils/helpers/BezierResizeHelper.js +319 -0
  1062. package/src/cjs/utils/helpers/BezierResizeHelper.js.map +1 -0
  1063. package/src/esm/PlotBoilerplate.d.ts +11 -1
  1064. package/src/esm/PlotBoilerplate.js +23 -7
  1065. package/src/esm/PlotBoilerplate.js.map +1 -1
  1066. package/src/esm/VertexListeners.d.ts +2 -1
  1067. package/src/esm/VertexListeners.js +5 -1
  1068. package/src/esm/VertexListeners.js.map +1 -1
  1069. package/src/esm/draw.d.ts +18 -2
  1070. package/src/esm/draw.js +21 -2
  1071. package/src/esm/draw.js.map +1 -1
  1072. package/src/esm/drawgl.d.ts +18 -3
  1073. package/src/esm/drawgl.js +19 -2
  1074. package/src/esm/drawgl.js.map +1 -1
  1075. package/src/esm/drawutilssvg.d.ts +19 -1
  1076. package/src/esm/drawutilssvg.js +28 -5
  1077. package/src/esm/drawutilssvg.js.map +1 -1
  1078. package/src/esm/index.d.ts +75 -0
  1079. package/src/esm/index.js +84 -0
  1080. package/src/esm/index.js.map +1 -1
  1081. package/src/esm/interfaces/DrawLib.d.ts +18 -1
  1082. package/src/esm/interfaces/DrawLib.js +2 -0
  1083. package/src/esm/interfaces/DrawLib.js.map +1 -1
  1084. package/src/esm/utils/Params.d.ts +3 -2
  1085. package/src/esm/utils/Params.js +11 -3
  1086. package/src/esm/utils/Params.js.map +1 -1
  1087. package/src/esm/utils/WebColors.d.ts +2 -1
  1088. package/src/esm/utils/WebColors.js +15 -2
  1089. package/src/esm/utils/WebColors.js.map +1 -1
  1090. package/src/esm/utils/WebColorsContrast.d.ts +1 -1
  1091. package/src/esm/utils/algorithms/HobbyPath.js +13 -16
  1092. package/src/esm/utils/algorithms/HobbyPath.js.map +1 -1
  1093. package/src/esm/utils/helpers/BezierResizeHelper.d.ts +144 -0
  1094. package/src/esm/utils/helpers/BezierResizeHelper.js +314 -0
  1095. package/src/esm/utils/helpers/BezierResizeHelper.js.map +1 -0
  1096. package/src/ts/PlotBoilerplate.ts +37 -11
  1097. package/src/ts/VertexListeners.ts +5 -1
  1098. package/src/ts/draw.ts +32 -2
  1099. package/src/ts/drawgl.ts +38 -3
  1100. package/src/ts/drawutilssvg.ts +33 -6
  1101. package/src/ts/index.ts +94 -0
  1102. package/src/ts/interfaces/DrawLib.ts +19 -1
  1103. package/src/ts/utils/Params.ts +11 -3
  1104. package/src/ts/utils/WebColors.ts +15 -2
  1105. package/src/ts/utils/algorithms/HobbyPath.ts +248 -272
  1106. package/src/ts/utils/helpers/BezierResizeHelper.ts +390 -0
  1107. /package/src/{cjs → _cjs}/utils/_gup.js_ +0 -0
@@ -0,0 +1,794 @@
1
+ "use strict";
2
+ /**
3
+ * @author Ikaros Kappler
4
+ * @date 2019-09-18
5
+ * @modified 2019-10-03 Added the beginDrawCycle hook.
6
+ * @modified 2020-03-25 Ported stub to Typescript.
7
+ * @modified 2020-10-15 Re-added the text() function.
8
+ * @modified 2021-01-24 Added the `setCurrentId` function.
9
+ * @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
10
+ * @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
11
+ * @modified 2022-02-03 Added the `cross(...)` function.
12
+ * @modified 2022-03-27 Added the `texturedPoly` function.
13
+ * @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
14
+ * @modified 2023-02-10 The methods `setCurrentClassName` and `setCurrentId` also accept `null` now.
15
+ * @modified 2023-09-29 Downgrading all `Vertex` param type to the more generic `XYCoords` type in these render functions: line, arrow, texturedPoly, cubicBezier, cubicBezierPath, handle, handleLine, dot, point, circle, circleArc, ellipse, grid, raster.
16
+ * @modified 2023-09-29 Added the `headLength` parameter to the 'DrawLib.arrow()` function.
17
+ * @modified 2023-09-29 Added the `arrowHead(...)` function to the 'DrawLib.arrow()` interface.
18
+ * @modified 2023-09-29 Added the `cubicBezierArrow(...)` function to the 'DrawLib.arrow()` interface.
19
+ * @modified 2023-09-29 Added the `lineDashes` attribute.
20
+ * @modified 2026-03-18 Adding `isOpen` parameter to `cubicBezierPath` draw method.
21
+ * @version 0.0.10
22
+ **/
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.drawutilsgl = void 0;
25
+ var Vertex_1 = require("./Vertex");
26
+ /**
27
+ * @classdesc A wrapper class for basic drawing operations. This is the WebGL
28
+ * implementation whih sould work with shaders.
29
+ *
30
+ * @requires CubicBzierCurvce
31
+ * @requires Polygon
32
+ * @requires SVGSerializable
33
+ * @requires Vertex
34
+ * @requires XYCoords
35
+ */
36
+ var drawutilsgl = /** @class */ (function () {
37
+ /**
38
+ * The constructor.
39
+ *
40
+ * @constructor
41
+ * @name drawutils
42
+ * @param {WebGLRenderingContext|null} context - The drawing context.
43
+ * @param {boolean} fillShaped - Indicates if the constructed drawutils should fill all drawn shapes (if possible).
44
+ **/
45
+ function drawutilsgl(context, fillShapes) {
46
+ this.gl = context;
47
+ this.offset = new Vertex_1.Vertex(0, 0);
48
+ this.scale = new Vertex_1.Vertex(1, 1);
49
+ this.fillShapes = fillShapes;
50
+ this._zindex = 0.0;
51
+ if (context == null || typeof context === "undefined")
52
+ return;
53
+ this.glutils = new GLU(context);
54
+ // PROBLEM: CANNOT USE MULTIPLE SHADER PROGRAM INSTANCES ON THE SAME CONTEXT!
55
+ // SOLUTION: USE SHARED SHADER PROGRAM!!! ... somehow ...
56
+ // This needs to be considered in the overlying component; both draw-instances need to
57
+ // share their gl context.
58
+ // That's what the copyInstace(boolean) method is good for.
59
+ this._vertShader = this.glutils.compileShader(drawutilsgl.vertCode, this.gl.VERTEX_SHADER);
60
+ this._fragShader = this.glutils.compileShader(drawutilsgl.fragCode, this.gl.FRAGMENT_SHADER);
61
+ this._program = this.glutils.makeProgram(this._vertShader, this._fragShader);
62
+ // Create an empty buffer object
63
+ this.vertex_buffer = this.gl.createBuffer();
64
+ // Bind appropriate array buffer to it
65
+ // this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.vertex_buffer);
66
+ console.log("gl initialized");
67
+ }
68
+ drawutilsgl.prototype._x2rel = function (x) {
69
+ return ((this.scale.x * x + this.offset.x) / this.gl.canvas.width) * 2.0 - 1.0;
70
+ };
71
+ drawutilsgl.prototype._y2rel = function (y) {
72
+ return ((this.offset.y - this.scale.y * y) / this.gl.canvas.height) * 2.0 - 1.0;
73
+ };
74
+ /**
75
+ * Creates a 'shallow' (non deep) copy of this instance. This implies
76
+ * that under the hood the same gl context and gl program will be used.
77
+ */
78
+ drawutilsgl.prototype.copyInstance = function (fillShapes) {
79
+ var copy = new drawutilsgl(null, fillShapes);
80
+ copy.gl = this.gl;
81
+ copy.glutils = this.glutils;
82
+ copy._vertShader = this._vertShader;
83
+ copy._fragShader = this._fragShader;
84
+ copy._program = this._program;
85
+ return copy;
86
+ };
87
+ /**
88
+ * Called before each draw cycle.
89
+ * @param {number} renderTime
90
+ **/
91
+ drawutilsgl.prototype.beginDrawCycle = function (renderTime) {
92
+ this._zindex = 0.0;
93
+ this.renderTime = renderTime;
94
+ };
95
+ /**
96
+ * Called after each draw cycle.
97
+ *
98
+ * This is required for compatibility with other draw classes in the library (like drawgl).
99
+ *
100
+ * @name endDrawCycle
101
+ * @method
102
+ * @param {number} renderTime
103
+ * @instance
104
+ **/
105
+ drawutilsgl.prototype.endDrawCycle = function (renderTime) {
106
+ // NOOP
107
+ };
108
+ /**
109
+ * Set the current drawlib configuration.
110
+ *
111
+ * @name setConfiguration
112
+ * @method
113
+ * @param {DrawLibConfiguration} configuration - The new configuration settings to use for the next render methods.
114
+ */
115
+ drawutilsgl.prototype.setConfiguration = function (configuration) {
116
+ // TODO
117
+ };
118
+ // /**
119
+ // * Set or clear the line-dash configuration. Pass `null` for un-dashed lines.
120
+ // *
121
+ // * See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray
122
+ // * and https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash
123
+ // * for how line dashes work.
124
+ // *
125
+ // * @method
126
+ // * @param {Array<number> lineDashes - The line-dash array configuration.
127
+ // * @returns {void}
128
+ // */
129
+ // setLineDash(lineDashes: Array<number>) {
130
+ // // TODO
131
+ // }
132
+ /**
133
+ * This method shouled be called each time the currently drawn `Drawable` changes.
134
+ * It is used by some libraries for identifying elemente on re-renders.
135
+ *
136
+ * @name setCurrentId
137
+ * @method
138
+ * @param {UID|null} uid - A UID identifying the currently drawn element(s).es.
139
+ **/
140
+ drawutilsgl.prototype.setCurrentId = function (uid) {
141
+ // NOOP
142
+ this.curId = uid;
143
+ };
144
+ /**
145
+ * This method shouled be called each time the currently drawn `Drawable` changes.
146
+ * Determine the class name for further usage here.
147
+ *
148
+ * @name setCurrentClassName
149
+ * @method
150
+ * @param {string|null} className - A class name for further custom use cases.
151
+ **/
152
+ drawutilsgl.prototype.setCurrentClassName = function (className) {
153
+ // NOOP
154
+ };
155
+ /**
156
+ * Draw the line between the given two points with the specified (CSS-) color.
157
+ *
158
+ * @method line
159
+ * @param {XYCoords} zA - The start point of the line.
160
+ * @param {XYCoords} zB - The end point of the line.
161
+ * @param {string} color - Any valid CSS color string.
162
+ * @return {void}
163
+ * @instance
164
+ * @memberof drawutils
165
+ **/
166
+ drawutilsgl.prototype.line = function (zA, zB, color) {
167
+ var vertices = new Float32Array(6);
168
+ vertices[0] = this._x2rel(zA.x);
169
+ vertices[1] = this._y2rel(zA.y);
170
+ vertices[2] = this._zindex;
171
+ vertices[3] = this._x2rel(zB.x);
172
+ vertices[4] = this._y2rel(zB.y);
173
+ vertices[5] = this._zindex;
174
+ this._zindex += 0.001;
175
+ // Create an empty buffer object
176
+ // const vertex_buffer = this.gl.createBuffer();
177
+ // Bind appropriate array buffer to it
178
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.vertex_buffer);
179
+ // Pass the vertex data to the buffer
180
+ this.gl.bufferData(this.gl.ARRAY_BUFFER, vertices, this.gl.STATIC_DRAW);
181
+ // Bind vertex buffer object
182
+ // this.gl.bindBuffer(this.gl.ARRAY_BUFFER, vertex_buffer);
183
+ // Get the attribute location
184
+ var coord = this.gl.getAttribLocation(this._program, "position");
185
+ // Point an attribute to the currently bound VBO
186
+ this.gl.vertexAttribPointer(coord, 3, this.gl.FLOAT, false, 0, 0);
187
+ // Enable the attribute
188
+ this.gl.enableVertexAttribArray(coord);
189
+ // Unbind the buffer?
190
+ //this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
191
+ // Set the view port
192
+ this.gl.viewport(0, 0, this.gl.canvas.width, this.gl.canvas.height);
193
+ var uRotationVector = this.gl.getUniformLocation(this._program, "uRotationVector");
194
+ // let radians = currentAngle * Math.PI / 180.0;
195
+ var currentRotation = [0.0, 1.0];
196
+ //currentRotation[0] = Math.sin(radians);
197
+ //currentRotation[1] = Math.cos(radians);
198
+ this.gl.uniform2fv(uRotationVector, currentRotation);
199
+ this.gl.lineWidth(5);
200
+ // Draw the line
201
+ this.gl.drawArrays(this.gl.LINES, 0, vertices.length / 3);
202
+ // POINTS, LINE_STRIP, LINE_LOOP, LINES,
203
+ // TRIANGLE_STRIP,TRIANGLE_FAN, TRIANGLES
204
+ };
205
+ /**
206
+ * Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
207
+ *
208
+ * @method arrow
209
+ * @param {XYCoords} zA - The start point of the arrow-line.
210
+ * @param {XYCoords} zB - The end point of the arrow-line.
211
+ * @param {string} color - Any valid CSS color string.
212
+ * @param {headLength=8} headLength - (optional) The length of the arrow head (default is 8 units).
213
+ * @return {void}
214
+ * @instance
215
+ * @memberof drawutils
216
+ **/
217
+ drawutilsgl.prototype.arrow = function (zA, zB, color) {
218
+ // NOT YET IMPLEMENTED
219
+ };
220
+ /**
221
+ * Draw a cubic Bézier curve and and an arrow at the end (endControlPoint) of the given line width the specified (CSS-) color and arrow size.
222
+ *
223
+ * @method cubicBezierArrow
224
+ * @param {XYCoords} startPoint - The start point of the cubic Bézier curve
225
+ * @param {XYCoords} endPoint - The end point the cubic Bézier curve.
226
+ * @param {XYCoords} startControlPoint - The start control point the cubic Bézier curve.
227
+ * @param {XYCoords} endControlPoint - The end control point the cubic Bézier curve.
228
+ * @param {string} color - The CSS color to draw the curve with.
229
+ * @param {number} lineWidth - (optional) The line width to use.
230
+ * @param {headLength=8} headLength - (optional) The length of the arrow head (default is 8 units).
231
+ *
232
+ * @return {void}
233
+ * @instance
234
+ * @memberof DrawLib
235
+ */
236
+ drawutilsgl.prototype.cubicBezierArrow = function (startPoint, endPoint, startControlPoint, endControlPoint, color, lineWidth, headLength) {
237
+ // NOT YET IMPLEMENTED
238
+ };
239
+ /**
240
+ * Draw just an arrow head a the end of an imaginary line (zB) of the given line width the specified (CSS-) color and size.
241
+ *
242
+ * @method arrow
243
+ * @param {XYCoords} zA - The start point of the arrow-line.
244
+ * @param {XYCoords} zB - The end point of the arrow-line.
245
+ * @param {string} color - Any valid CSS color string.
246
+ * @param {number=1} lineWidth - (optional) The line width to use; default is 1.
247
+ * @param {number=8} headLength - (optional) The length of the arrow head (default is 8 pixels).
248
+ * @return {void}
249
+ * @instance
250
+ * @memberof DrawLib
251
+ **/
252
+ drawutilsgl.prototype.arrowHead = function (zA, zB, color, lineWidth, headLength) {
253
+ // NOT YET IMPLEMENTED
254
+ };
255
+ /**
256
+ * Draw an image at the given position with the given size.<br>
257
+ * <br>
258
+ * Note: SVG images may have resizing issues at the moment.Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
259
+ *
260
+ * @method image
261
+ * @param {Image} image - The image object to draw.
262
+ * @param {XYCoords} position - The position to draw the the upper left corner at.
263
+ * @param {XYCoords} size - The x/y-size to draw the image with.
264
+ * @param {number=0.0} alpha - (optional, default=0.0) The transparency (0.0=opaque, 1.0=transparent).
265
+ * @return {void}
266
+ * @instance
267
+ * @memberof drawutils
268
+ **/
269
+ drawutilsgl.prototype.image = function (image, position, size, alpha) {
270
+ if (alpha === void 0) { alpha = 0.0; }
271
+ // NOT YET IMPLEMENTED
272
+ };
273
+ /**
274
+ * Draw an image at the given position with the given size.<br>
275
+ * <br>
276
+ * Note: SVG images may have resizing issues at the moment.Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
277
+ *
278
+ * @method texturedPoly
279
+ * @param {Image} textureImage - The image object to draw.
280
+ * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
281
+ * @param {Polygon} polygon - The polygon to use as clip path.
282
+ * @param {XYCoords} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
283
+ * @param {number} rotation - The rotation to use for the polygon (and for the texture).
284
+ * @return {void}
285
+ * @instance
286
+ * @memberof drawutilsgl
287
+ **/
288
+ drawutilsgl.prototype.texturedPoly = function (textureImage, textureSize, polygon, polygonPosition, rotation) {
289
+ // NOT YET IMPLEMENTED
290
+ };
291
+ // +---------------------------------------------------------------------------------
292
+ // | This is the final helper function for drawing and filling stuff. It is not
293
+ // | intended to be used from the outside.
294
+ // |
295
+ // | When in draw mode it draws the current shape.
296
+ // | When in fill mode it fills the current shape.
297
+ // |
298
+ // | This function is usually only called internally.
299
+ // |
300
+ // | @param color A stroke/fill color to use.
301
+ // +-------------------------------
302
+ drawutilsgl.prototype._fillOrDraw = function (color) {
303
+ // NOT YET IMPLEMENTED
304
+ };
305
+ /**
306
+ * Draw the given (cubic) bézier curve.
307
+ *
308
+ * @method cubicBezier
309
+ * @param {XYCoords} startPoint - The start point of the cubic Bézier curve
310
+ * @param {XYCoords} endPoint - The end point the cubic Bézier curve.
311
+ * @param {XYCoords} startControlPoint - The start control point the cubic Bézier curve.
312
+ * @param {VertXYCoordsex} endControlPoint - The end control point the cubic Bézier curve.
313
+ * @param {string} color - The CSS color to draw the curve with.
314
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
315
+ * @return {void}
316
+ * @instance
317
+ * @memberof drawutils
318
+ */
319
+ drawutilsgl.prototype.cubicBezier = function (startPoint, endPoint, startControlPoint, endControlPoint, color, lineWidth) {
320
+ // NOT YET IMPLEMENTED
321
+ };
322
+ /**
323
+ * Draw the given (cubic) Bézier path.
324
+ *
325
+ * The given path must be an array with n*3+1 vertices, where n is the number of
326
+ * curves in the path:
327
+ * <pre> [ point1, point1_startControl, point2_endControl, point2, point2_startControl, point3_endControl, point3, ... pointN_endControl, pointN ]</pre>
328
+ *
329
+ * @method cubicBezierPath
330
+ * @param {XYCoords[]} path - The cubic bezier path as described above.
331
+ * @param {string} color - The CSS colot to draw the path with.
332
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
333
+ * @return {void}
334
+ * @instance
335
+ * @memberof drawutils
336
+ */
337
+ drawutilsgl.prototype.cubicBezierPath = function (path, color, lineWidth, strokeOptions, isOpen) {
338
+ // NOT YET IMPLEMENTED
339
+ };
340
+ /**
341
+ * Draw the given handle and handle point (used to draw interactive Bézier curves).
342
+ *
343
+ * The colors for this are fixed and cannot be specified.
344
+ *
345
+ * @method handle
346
+ * @param {XYCoords} startPoint - The start of the handle.
347
+ * @param {XYCoords} endPoint - The end point of the handle.
348
+ * @return {void}
349
+ * @instance
350
+ * @memberof drawutils
351
+ */
352
+ drawutilsgl.prototype.handle = function (startPoint, endPoint) {
353
+ // NOT YET IMPLEMENTED
354
+ };
355
+ /**
356
+ * Draw a handle line (with a light grey).
357
+ *
358
+ * @method handleLine
359
+ * @param {XYCoords} startPoint - The start point to draw the handle at.
360
+ * @param {XYCoords} endPoint - The end point to draw the handle at.
361
+ * @return {void}
362
+ * @instance
363
+ * @memberof drawutils
364
+ */
365
+ drawutilsgl.prototype.handleLine = function (startPoint, endPoint) {
366
+ // NOT YET IMPLEMENTED
367
+ };
368
+ /**
369
+ * Draw a 1x1 dot with the specified (CSS-) color.
370
+ *
371
+ * @method dot
372
+ * @param {XYCoords} p - The position to draw the dot at.
373
+ * @param {string} color - The CSS color to draw the dot with.
374
+ * @return {void}
375
+ * @instance
376
+ * @memberof drawutils
377
+ */
378
+ drawutilsgl.prototype.dot = function (p, color) {
379
+ // NOT YET IMPLEMENTED
380
+ };
381
+ /**
382
+ * Draw the given point with the specified (CSS-) color and radius 3.
383
+ *
384
+ * @method point
385
+ * @param {XYCoords} p - The position to draw the point at.
386
+ * @param {string} color - The CSS color to draw the point with.
387
+ * @return {void}
388
+ * @instance
389
+ * @memberof drawutils
390
+ */
391
+ drawutilsgl.prototype.point = function (p, color) {
392
+ // NOT YET IMPLEMENTED
393
+ };
394
+ /**
395
+ * Draw a circle with the specified (CSS-) color and radius.<br>
396
+ * <br>
397
+ * Note that if the x- and y- scales are different the result will be an ellipse rather than a circle.
398
+ *
399
+ * @method circle
400
+ * @param {XYCoords} center - The center of the circle.
401
+ * @param {number} radius - The radius of the circle.
402
+ * @param {string} color - The CSS color to draw the circle with.
403
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
404
+ * @return {void}
405
+ * @instance
406
+ * @memberof drawutils
407
+ */
408
+ drawutilsgl.prototype.circle = function (center, radius, color, lineWidth) {
409
+ // NOT YET IMPLEMENTED
410
+ };
411
+ /**
412
+ * Draw a circular arc (section of a circle) with the given CSS color.
413
+ *
414
+ * @method circleArc
415
+ * @param {XYCoords} center - The center of the circle.
416
+ * @param {number} radius - The radius of the circle.
417
+ * @param {number} startAngle - The angle to start at.
418
+ * @param {number} endAngle - The angle to end at.
419
+ * @param {string} color - The CSS color to draw the circle with.
420
+ * @return {void}
421
+ * @instance
422
+ * @memberof drawutils
423
+ */
424
+ drawutilsgl.prototype.circleArc = function (center, radius, startAngle, endAngle, color, lineWidth) {
425
+ // NOT YET IMPLEMENTED
426
+ };
427
+ /**
428
+ * Draw an ellipse with the specified (CSS-) color and thw two radii.
429
+ *
430
+ * @method ellipse
431
+ * @param {XYCoords} center - The center of the ellipse.
432
+ * @param {number} radiusX - The radius of the ellipse.
433
+ * @param {number} radiusY - The radius of the ellipse.
434
+ * @param {string} color - The CSS color to draw the ellipse with.
435
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
436
+ * @param {number=} rotation - (optional, default=0) The rotation of the ellipse.
437
+ * @return {void}
438
+ * @instance
439
+ * @memberof drawutils
440
+ */
441
+ drawutilsgl.prototype.ellipse = function (center, radiusX, radiusY, color, lineWidth, rotation) {
442
+ // NOT YET IMPLEMENTED
443
+ };
444
+ /**
445
+ * Draw square at the given center, size and with the specified (CSS-) color.<br>
446
+ * <br>
447
+ * Note that if the x-scale and the y-scale are different the result will be a rectangle rather than a square.
448
+ *
449
+ * @method square
450
+ * @param {XYCords} center - The center of the square.
451
+ * @param {number} size - The size of the square.
452
+ * @param {string} color - The CSS color to draw the square with.
453
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
454
+ * @return {void}
455
+ * @instance
456
+ * @memberof drawutils
457
+ */
458
+ drawutilsgl.prototype.square = function (center, size, color, lineWidth) {
459
+ // NOT YET IMPLEMENTED
460
+ };
461
+ /**
462
+ * Draw a rectangle.
463
+ *
464
+ * @param {XYCoords} position - The upper left corner of the rectangle.
465
+ * @param {number} width - The width of the rectangle.
466
+ * @param {number} height - The height of the rectangle.
467
+ * @param {string} color - The color to use.
468
+ * @param {number=1} lineWidth - (optional) The line with to use (default is 1).
469
+ **/
470
+ drawutilsgl.prototype.rect = function (position, width, height, color, lineWidth) {
471
+ // NOT YET IMPLEMENTED
472
+ };
473
+ /**
474
+ * Draw a grid of horizontal and vertical lines with the given (CSS-) color.
475
+ *
476
+ * @method grid
477
+ * @param {XYCoords} center - The center of the grid.
478
+ * @param {number} width - The total width of the grid (width/2 each to the left and to the right).
479
+ * @param {number} height - The total height of the grid (height/2 each to the top and to the bottom).
480
+ * @param {number} sizeX - The horizontal grid size.
481
+ * @param {number} sizeY - The vertical grid size.
482
+ * @param {string} color - The CSS color to draw the grid with.
483
+ * @return {void}
484
+ * @instance
485
+ * @memberof drawutils
486
+ */
487
+ drawutilsgl.prototype.grid = function (center, width, height, sizeX, sizeY, color) {
488
+ // NOT YET IMPLEMENTED
489
+ };
490
+ /**
491
+ * Draw a raster of crosshairs in the given grid.<br>
492
+ *
493
+ * This works analogue to the grid() function
494
+ *
495
+ * @method raster
496
+ * @param {XYCoords} center - The center of the raster.
497
+ * @param {number} width - The total width of the raster (width/2 each to the left and to the right).
498
+ * @param {number} height - The total height of the raster (height/2 each to the top and to the bottom).
499
+ * @param {number} sizeX - The horizontal raster size.
500
+ * @param {number} sizeY - The vertical raster size.
501
+ * @param {string} color - The CSS color to draw the raster with.
502
+ * @return {void}
503
+ * @instance
504
+ * @memberof drawutils
505
+ */
506
+ drawutilsgl.prototype.raster = function (center, width, height, sizeX, sizeY, color) {
507
+ // NOT YET IMPLEMENTED
508
+ };
509
+ /**
510
+ * Draw a diamond handle (square rotated by 45°) with the given CSS color.
511
+ *
512
+ * It is an inherent featur of the handle functions that the drawn elements are not scaled and not
513
+ * distorted. So even if the user zooms in or changes the aspect ratio, the handles will be drawn
514
+ * as even shaped diamonds.
515
+ *
516
+ * @method diamondHandle
517
+ * @param {XYCoords} center - The center of the diamond.
518
+ * @param {number} size - The x/y-size of the diamond.
519
+ * @param {string} color - The CSS color to draw the diamond with.
520
+ * @return {void}
521
+ * @instance
522
+ * @memberof drawutils
523
+ */
524
+ drawutilsgl.prototype.diamondHandle = function (center, size, color) {
525
+ // NOT YET IMPLEMENTED
526
+ };
527
+ /**
528
+ * Draw a square handle with the given CSS color.<br>
529
+ * <br>
530
+ * It is an inherent featur of the handle functions that the drawn elements are not scaled and not
531
+ * distorted. So even if the user zooms in or changes the aspect ratio, the handles will be drawn
532
+ * as even shaped squares.
533
+ *
534
+ * @method squareHandle
535
+ * @param {XYCoords} center - The center of the square.
536
+ * @param {number} size - The x/y-size of the square.
537
+ * @param {string} color - The CSS color to draw the square with.
538
+ * @return {void}
539
+ * @instance
540
+ * @memberof drawutils
541
+ */
542
+ drawutilsgl.prototype.squareHandle = function (center, size, color) {
543
+ // NOT YET IMPLEMENTED
544
+ };
545
+ /**
546
+ * Draw a circle handle with the given CSS color.<br>
547
+ * <br>
548
+ * It is an inherent featur of the handle functions that the drawn elements are not scaled and not
549
+ * distorted. So even if the user zooms in or changes the aspect ratio, the handles will be drawn
550
+ * as even shaped circles.
551
+ *
552
+ * @method circleHandle
553
+ * @param {XYCoords} center - The center of the circle.
554
+ * @param {number} radius - The radius of the circle.
555
+ * @param {string} color - The CSS color to draw the circle with.
556
+ * @return {void}
557
+ * @instance
558
+ * @memberof drawutils
559
+ */
560
+ drawutilsgl.prototype.circleHandle = function (center, size, color) {
561
+ // NOT YET IMPLEMENTED
562
+ };
563
+ /**
564
+ * Draw a crosshair with given radius and color at the given position.<br>
565
+ * <br>
566
+ * Note that the crosshair radius will not be affected by scaling.
567
+ *
568
+ * @method crosshair
569
+ * @param {XYCoords} center - The center of the crosshair.
570
+ * @param {number} radius - The radius of the crosshair.
571
+ * @param {string} color - The CSS color to draw the crosshair with.
572
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
573
+ * @return {void}
574
+ * @instance
575
+ * @memberof drawutils
576
+ */
577
+ drawutilsgl.prototype.crosshair = function (center, radius, color, lineWidth) {
578
+ // NOT YET IMPLEMENTED
579
+ };
580
+ /**
581
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
582
+ * <br>
583
+ * Note that the x's radius will not be affected by scaling.
584
+ *
585
+ * @method crosshair
586
+ * @param {XYCoords} center - The center of the crosshair.
587
+ * @param {number} radius - The radius of the crosshair.
588
+ * @param {string} color - The CSS color to draw the crosshair with.
589
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
590
+ * @return {void}
591
+ * @instance
592
+ * @memberof drawutils
593
+ */
594
+ drawutilsgl.prototype.cross = function (center, radius, color, lineWidth) {
595
+ // NOT YET IMPLEMENTED
596
+ };
597
+ /**
598
+ * Draw a polygon.
599
+ *
600
+ * @method polygon
601
+ * @param {Polygon} polygon - The polygon to draw.
602
+ * @param {string} color - The CSS color to draw the polygon with.
603
+ * @return {void}
604
+ * @instance
605
+ * @memberof drawutils
606
+ */
607
+ drawutilsgl.prototype.polygon = function (polygon, color, lineWidth) {
608
+ var vertices = new Float32Array(polygon.vertices.length * 3);
609
+ for (var i = 0; i < polygon.vertices.length; i++) {
610
+ vertices[i * 3 + 0] = this._x2rel(polygon.vertices[i].x);
611
+ vertices[i * 3 + 1] = this._y2rel(polygon.vertices[i].y);
612
+ vertices[i * 3 + 2] = this._zindex;
613
+ }
614
+ this._zindex += 0.001;
615
+ //console.log( vertices );
616
+ // Create an empty buffer object
617
+ // const vertex_buffer = this.gl.createBuffer();
618
+ // Bind appropriate array buffer to it
619
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.vertex_buffer);
620
+ // Pass the vertex data to the buffer
621
+ this.gl.bufferData(this.gl.ARRAY_BUFFER, vertices, this.gl.STATIC_DRAW);
622
+ // Bind vertex buffer object
623
+ // this.gl.bindBuffer(this.gl.ARRAY_BUFFER, vertex_buffer);
624
+ // Get the attribute location
625
+ var coord = this.gl.getAttribLocation(this._program, "position");
626
+ // Point an attribute to the currently bound VBO
627
+ this.gl.vertexAttribPointer(coord, 3, this.gl.FLOAT, false, 0, 0);
628
+ // Enable the attribute
629
+ this.gl.enableVertexAttribArray(coord);
630
+ // Unbind the buffer?
631
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
632
+ // Set the view port
633
+ this.gl.viewport(0, 0, this.gl.canvas.width, this.gl.canvas.height);
634
+ var uRotationVector = this.gl.getUniformLocation(this._program, "uRotationVector");
635
+ // let radians = currentAngle * Math.PI / 180.0;
636
+ var currentRotation = [0.0, 1.0];
637
+ //currentRotation[0] = Math.sin(radians);
638
+ //currentRotation[1] = Math.cos(radians);
639
+ this.gl.uniform2fv(uRotationVector, currentRotation);
640
+ // Draw the polygon
641
+ this.gl.drawArrays(this.gl.TRIANGLE_FAN, 0, vertices.length / 3);
642
+ // POINTS, LINE_STRIP, LINE_LOOP, LINES,
643
+ // TRIANGLE_STRIP,TRIANGLE_FAN, TRIANGLES
644
+ };
645
+ /**
646
+ * Draw a polygon line (alternative function to the polygon).
647
+ *
648
+ * @method polyline
649
+ * @param {XYCoords[]} vertices - The polygon vertices to draw.
650
+ * @param {boolan} isOpen - If true the polyline will not be closed at its end.
651
+ * @param {string} color - The CSS color to draw the polygon with.
652
+ * @param {number=} lineWidth - (optional) The line width to use; default is 1.
653
+ * @return {void}
654
+ * @instance
655
+ * @memberof drawutils
656
+ */
657
+ drawutilsgl.prototype.polyline = function (vertices, isOpen, color, lineWidth) {
658
+ // NOT YET IMPLEMENTED
659
+ };
660
+ /**
661
+ * Draw a text at the given relative position.
662
+ *
663
+ * @method text
664
+ * @param {string} text - The text to draw.
665
+ * @param {number} x - The x-position to draw the text at.
666
+ * @param {number} y - The y-position to draw the text at.
667
+ * @param {string=} options.color - The Color to use.
668
+ * @param {string=} options.fontFamily - The font family to use.
669
+ * @param {number=} options.fontSize - The font size (in pixels) to use.
670
+ * @param {FontStyle=} options.fontStyle - The font style to use.
671
+ * @param {FontWeight=} options.fontWeight - The font weight to use.
672
+ * @param {number=} options.lineHeight - The line height (in pixels) to use.
673
+ * @param {number=} options.rotation - The (optional) rotation in radians.
674
+ * @param {string=} options.textAlign - The text align to use. According to the specifiactions (https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign) valid values are `"left" || "right" || "center" || "start" || "end"`.
675
+ * @return {void}
676
+ * @instance
677
+ * @memberof drawutils
678
+ */
679
+ drawutilsgl.prototype.text = function (text, x, y, options) {
680
+ // NOT YET IMPLEMENTED
681
+ };
682
+ /**
683
+ * Draw a non-scaling text label at the given position.
684
+ *
685
+ * @method label
686
+ * @param {string} text - The text to draw.
687
+ * @param {number} x - The x-position to draw the text at.
688
+ * @param {number} y - The y-position to draw the text at.
689
+ * @param {number=} rotation - The (aoptional) rotation in radians.
690
+ * @param {string="black"} color - The color to use (default is black).
691
+ * @return {void}
692
+ * @instance
693
+ * @memberof drawutils
694
+ */
695
+ drawutilsgl.prototype.label = function (text, x, y, rotation, color) {
696
+ // NOT YET IMPLEMENTED
697
+ };
698
+ /**
699
+ * Draw an SVG-like path given by the specified path data.
700
+ *
701
+ * @method path
702
+ * @param {SVGPathData} pathData - An array of path commands and params.
703
+ * @param {string=null} color - (optional) The color to draw this path with (default is null).
704
+ * @param {number=1} lineWidth - (optional) the line width to use (default is 1).
705
+ * @param {boolean=false} options.inplace - (optional) If set to true then path transforamtions (scale and translate) will be done in-place in the array. This can boost the performance.
706
+ * @instance
707
+ * @memberof drawutils
708
+ * @return {R} An instance representing the drawn path.
709
+ */
710
+ drawutilsgl.prototype.path = function (pathData, color, lineWidth, options) {
711
+ // NOT YET IMPLEMENTED
712
+ };
713
+ /**
714
+ * Due to gl compatibility there is a generic 'clear' function required
715
+ * to avoid accessing the context object itself directly.
716
+ *
717
+ * This function just fills the whole canvas with a single color.
718
+ *
719
+ * @param {string} color - The color to clear with.
720
+ **/
721
+ drawutilsgl.prototype.clear = function (color) {
722
+ // NOT YET IMPLEMENTED
723
+ // if( typeof color == 'string' )
724
+ // color = Color.parse(color); // Color class does not yet exist in TS
725
+ // Clear the canvas
726
+ this.gl.clearColor(1.0, 1.0, 1.0, 1.0);
727
+ // Enable the depth test
728
+ this.gl.enable(this.gl.DEPTH_TEST);
729
+ // Clear the color and depth buffer
730
+ this.gl.clear(this.gl.COLOR_BUFFER_BIT | this.gl.DEPTH_BUFFER_BIT);
731
+ };
732
+ // Vertex shader source code
733
+ drawutilsgl.vertCode = "\n precision mediump float;\n\n attribute vec3 position;\n\n uniform vec2 uRotationVector;\n\n void main(void) {\n\tvec2 rotatedPosition = vec2(\n\t position.x * uRotationVector.y +\n\t\tposition.y * uRotationVector.x,\n\t position.y * uRotationVector.y -\n\t\tposition.x * uRotationVector.x\n\t);\n\n\tgl_Position = vec4(rotatedPosition, position.z, 1.0);\n }";
734
+ // Fragment shader source code
735
+ drawutilsgl.fragCode = "\n precision highp float;\n\n void main(void) {\n\tgl_FragColor = vec4(0.0,0.75,1.0,1.0);\n }";
736
+ return drawutilsgl;
737
+ }());
738
+ exports.drawutilsgl = drawutilsgl;
739
+ /**
740
+ * Some GL helper utils.
741
+ **/
742
+ var GLU = /** @class */ (function () {
743
+ function GLU(gl) {
744
+ this.gl = gl;
745
+ }
746
+ GLU.prototype.bufferData = function (verts) {
747
+ // Create an empty buffer object
748
+ var vbuffer = this.gl.createBuffer();
749
+ // Bind appropriate array buffer to it
750
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, vbuffer);
751
+ // Pass the vertex data to the buffer
752
+ this.gl.bufferData(this.gl.ARRAY_BUFFER, verts, this.gl.STATIC_DRAW);
753
+ // Unbind the buffer
754
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null);
755
+ return vbuffer;
756
+ };
757
+ /*=================== Shaders ====================*/
758
+ GLU.prototype.compileShader = function (shaderCode, shaderType) {
759
+ // Create a vertex shader object
760
+ var shader = this.gl.createShader(shaderType);
761
+ // Attach vertex shader source code
762
+ this.gl.shaderSource(shader, shaderCode);
763
+ // Compile the vertex shader
764
+ this.gl.compileShader(shader);
765
+ var vertStatus = this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS);
766
+ if (!vertStatus) {
767
+ console.warn("Error in shader:" + this.gl.getShaderInfoLog(shader));
768
+ this.gl.deleteShader(shader);
769
+ return null;
770
+ }
771
+ return shader;
772
+ };
773
+ GLU.prototype.makeProgram = function (vertShader, fragShader) {
774
+ // Create a shader program object to store
775
+ // the combined shader program
776
+ var program = this.gl.createProgram();
777
+ // Attach a vertex shader
778
+ this.gl.attachShader(program, vertShader);
779
+ // Attach a fragment shader
780
+ this.gl.attachShader(program, fragShader);
781
+ // Link both the programs
782
+ this.gl.linkProgram(program);
783
+ // Use the combined shader program object
784
+ this.gl.useProgram(program);
785
+ /*======= Do some cleanup ======*/
786
+ this.gl.detachShader(program, vertShader);
787
+ this.gl.detachShader(program, fragShader);
788
+ this.gl.deleteShader(vertShader);
789
+ this.gl.deleteShader(fragShader);
790
+ return program;
791
+ };
792
+ return GLU;
793
+ }());
794
+ //# sourceMappingURL=drawgl.js.map