plotboilerplate 1.22.0 → 1.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/README.md +2 -0
  2. package/dist/index.esm.js +240 -79
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.esm.min.js +1 -1
  5. package/dist/index.esm.min.js.map +1 -1
  6. package/dist/plotboilerplate.browser.min.js +1 -1
  7. package/dist/plotboilerplate.browser.min.js.map +1 -1
  8. package/dist/plotboilerplate.js +510 -340
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +7 -4
  11. package/src/cjs/BezierPath.js.map +1 -1
  12. package/src/cjs/Bounds.js +1 -1
  13. package/src/cjs/Bounds.js.map +1 -1
  14. package/src/cjs/Circle.js.map +1 -1
  15. package/src/cjs/CircleSector.d.ts +64 -1
  16. package/src/cjs/CircleSector.js +121 -1
  17. package/src/cjs/CircleSector.js.map +1 -1
  18. package/src/cjs/CubicBezierCurve.js +2 -2
  19. package/src/cjs/CubicBezierCurve.js.map +1 -1
  20. package/src/cjs/Grid.js.map +1 -1
  21. package/src/cjs/KeyHandler.d.ts +1 -1
  22. package/src/cjs/KeyHandler.js +13 -13
  23. package/src/cjs/KeyHandler.js.map +1 -1
  24. package/src/cjs/Line.js +2 -0
  25. package/src/cjs/Line.js.map +1 -1
  26. package/src/cjs/MouseHandler.d.ts +2 -2
  27. package/src/cjs/MouseHandler.js +7 -5
  28. package/src/cjs/MouseHandler.js.map +1 -1
  29. package/src/cjs/PlotBoilerplate.d.ts +17 -4
  30. package/src/cjs/PlotBoilerplate.js +95 -66
  31. package/src/cjs/PlotBoilerplate.js.map +1 -1
  32. package/src/cjs/Polygon.js.map +1 -1
  33. package/src/cjs/Triangle.js +1 -1
  34. package/src/cjs/Triangle.js.map +1 -1
  35. package/src/cjs/UIDGenerator.js +1 -1
  36. package/src/cjs/UIDGenerator.js.map +1 -1
  37. package/src/cjs/VEllipse.js.map +1 -1
  38. package/src/cjs/VEllipseSector.js +1 -1
  39. package/src/cjs/VEllipseSector.js.map +1 -1
  40. package/src/cjs/Vector.js +2 -0
  41. package/src/cjs/Vector.js.map +1 -1
  42. package/src/cjs/VertTuple.js.map +1 -1
  43. package/src/cjs/Vertex.d.ts +3 -2
  44. package/src/cjs/Vertex.js +13 -7
  45. package/src/cjs/Vertex.js.map +1 -1
  46. package/src/cjs/VertexAttr.d.ts +2 -1
  47. package/src/cjs/VertexAttr.js +2 -1
  48. package/src/cjs/VertexAttr.js.map +1 -1
  49. package/src/cjs/VertexListeners.d.ts +1 -1
  50. package/src/cjs/VertexListeners.js.map +1 -1
  51. package/src/cjs/draw.js +1 -1
  52. package/src/cjs/draw.js.map +1 -1
  53. package/src/cjs/drawgl.js.map +1 -1
  54. package/src/cjs/drawutilssvg.d.ts +17 -3
  55. package/src/cjs/drawutilssvg.js +97 -91
  56. package/src/cjs/drawutilssvg.js.map +1 -1
  57. package/src/cjs/geomutils.js +2 -2
  58. package/src/cjs/geomutils.js.map +1 -1
  59. package/src/cjs/index.js +5 -1
  60. package/src/cjs/index.js.map +1 -1
  61. package/src/cjs/interfaces/DrawLib.d.ts +2 -2
  62. package/src/cjs/interfaces/core.d.ts +3 -3
  63. package/src/cjs/interfaces/externals.d.ts +12 -0
  64. package/src/cjs/interfaces/index.js +5 -1
  65. package/src/cjs/interfaces/index.js.map +1 -1
  66. package/src/cjs/utils/InitializationObserver.d.ts +18 -0
  67. package/src/cjs/utils/InitializationObserver.js +56 -0
  68. package/src/cjs/utils/InitializationObserver.js.map +1 -0
  69. package/src/cjs/utils/NGons.d.ts +13 -0
  70. package/src/cjs/utils/NGons.js +36 -0
  71. package/src/cjs/utils/NGons.js.map +1 -0
  72. package/src/cjs/utils/Params.js.map +1 -1
  73. package/src/cjs/utils/WebColors.js.map +1 -1
  74. package/src/cjs/utils/WebColorsContrast.js +1 -1
  75. package/src/cjs/utils/WebColorsContrast.js.map +1 -1
  76. package/src/cjs/utils/algorithms/CatmullRomPath.js.map +1 -1
  77. package/src/cjs/utils/algorithms/CircleIntersections.d.ts +3 -2
  78. package/src/cjs/utils/algorithms/CircleIntersections.js +12 -20
  79. package/src/cjs/utils/algorithms/CircleIntersections.js.map +1 -1
  80. package/src/cjs/utils/algorithms/ContourLineDetection.js +5 -5
  81. package/src/cjs/utils/algorithms/ContourLineDetection.js.map +1 -1
  82. package/src/cjs/utils/algorithms/CubicSplinePath.js.map +1 -1
  83. package/src/cjs/utils/algorithms/HobbyPath.js.map +1 -1
  84. package/src/cjs/utils/algorithms/Metaballs.d.ts +30 -0
  85. package/src/cjs/utils/algorithms/Metaballs.js +114 -0
  86. package/src/cjs/utils/algorithms/Metaballs.js.map +1 -0
  87. package/src/cjs/utils/algorithms/arrayResize.d.ts +8 -0
  88. package/src/cjs/utils/algorithms/arrayResize.js +24 -0
  89. package/src/cjs/utils/algorithms/arrayResize.js.map +1 -0
  90. package/src/cjs/utils/algorithms/clearDuplicateVertices.js.map +1 -1
  91. package/src/cjs/utils/algorithms/clearPolygonDuplicateVertices.js.map +1 -1
  92. package/src/cjs/utils/algorithms/convexHull.js.map +1 -1
  93. package/src/cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -1
  94. package/src/cjs/utils/algorithms/delaunay.js.map +1 -1
  95. package/src/cjs/utils/algorithms/delaunay2voronoi.js.map +1 -1
  96. package/src/cjs/utils/algorithms/detectPaths.js.map +1 -1
  97. package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
  98. package/src/cjs/utils/algorithms/matrixFill.js +1 -1
  99. package/src/cjs/utils/algorithms/matrixFill.js.map +1 -1
  100. package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
  101. package/src/cjs/utils/algorithms/sutherlandHodgman.js.map +1 -1
  102. package/src/cjs/utils/cloneVertexArray.js.map +1 -1
  103. package/src/cjs/utils/creategui.js +320 -244
  104. package/src/cjs/utils/dat.gui.arrowbounce.polyfill.js +74 -73
  105. package/src/cjs/utils/dat.gui.title.polyfill.js +9 -7
  106. package/src/cjs/utils/datastructures/CircularIntervalSet.js.map +1 -1
  107. package/src/cjs/utils/datastructures/Color.d.ts +2 -1
  108. package/src/cjs/utils/datastructures/Color.js +35 -16
  109. package/src/cjs/utils/datastructures/Color.js.map +1 -1
  110. package/src/cjs/utils/datastructures/DataGrid2d.d.ts +1 -1
  111. package/src/cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +2 -2
  112. package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js +1 -1
  113. package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js.map +1 -1
  114. package/src/cjs/utils/datastructures/GenericPath.js.map +1 -1
  115. package/src/cjs/utils/datastructures/Girih.d.ts +3 -2
  116. package/src/cjs/utils/datastructures/Girih.js +2 -1
  117. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  118. package/src/cjs/utils/datastructures/GirihBowtie.js +2 -0
  119. package/src/cjs/utils/datastructures/GirihBowtie.js.map +1 -1
  120. package/src/cjs/utils/datastructures/GirihDecagon.js +2 -0
  121. package/src/cjs/utils/datastructures/GirihDecagon.js.map +1 -1
  122. package/src/cjs/utils/datastructures/GirihHexagon.js +2 -0
  123. package/src/cjs/utils/datastructures/GirihHexagon.js.map +1 -1
  124. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +3 -1
  125. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  126. package/src/cjs/utils/datastructures/GirihPentagon.js +2 -0
  127. package/src/cjs/utils/datastructures/GirihPentagon.js.map +1 -1
  128. package/src/cjs/utils/datastructures/GirihRhombus.js +2 -0
  129. package/src/cjs/utils/datastructures/GirihRhombus.js.map +1 -1
  130. package/src/cjs/utils/datastructures/GirihTile.js +4 -2
  131. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  132. package/src/cjs/utils/datastructures/Matrix4x4.js.map +1 -1
  133. package/src/cjs/utils/datastructures/VoronoiCell.js.map +1 -1
  134. package/src/cjs/utils/datastructures/interfaces.d.ts +3 -3
  135. package/src/cjs/utils/detectDarkMode.js.map +1 -1
  136. package/src/cjs/utils/dom/getAvailableContainerSpace.js +1 -1
  137. package/src/cjs/utils/dom/getAvailableContainerSpace.js.map +1 -1
  138. package/src/cjs/utils/dom/guiSizeToggler.d.ts +17 -0
  139. package/src/cjs/utils/dom/guiSizeToggler.js +42 -0
  140. package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -0
  141. package/src/cjs/utils/findInVertexArray.js.map +1 -1
  142. package/src/cjs/utils/gup.d.ts +8 -0
  143. package/src/cjs/utils/gup.js +8 -0
  144. package/src/cjs/utils/gup.js.map +1 -1
  145. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +6 -5
  146. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +3 -2
  147. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  148. package/src/cjs/utils/helpers/CircleHelper.d.ts +38 -3
  149. package/src/cjs/utils/helpers/CircleHelper.js +51 -11
  150. package/src/cjs/utils/helpers/CircleHelper.js.map +1 -1
  151. package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +47 -1
  152. package/src/cjs/utils/helpers/CircleSectorHelper.js +85 -14
  153. package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
  154. package/src/cjs/utils/io/FileDrop.d.ts +3 -3
  155. package/src/cjs/utils/io/FileDrop.js.map +1 -1
  156. package/src/cjs/utils/lil.gui.arrowbounce.polyfill.js +133 -0
  157. package/src/cjs/utils/lil.gui.title.polyfill.js +32 -0
  158. package/src/cjs/utils/parsers/OBJParser.d.ts +2 -2
  159. package/src/cjs/utils/parsers/OBJParser.js.map +1 -1
  160. package/src/cjs/utils/parsers/STLParser.d.ts +4 -3
  161. package/src/cjs/utils/parsers/STLParser.js +62 -12
  162. package/src/cjs/utils/parsers/STLParser.js.map +1 -1
  163. package/src/cjs/utils/parsers/svg/parseSVGPathData.js +1 -1
  164. package/src/cjs/utils/parsers/svg/parseSVGPathData.js.map +1 -1
  165. package/src/cjs/utils/parsers/svg/splitSVGPathData.js.map +1 -1
  166. package/src/cjs/utils/parsers/svg/types.d.ts +13 -13
  167. package/src/createDemoDrawables.js +48 -3
  168. package/src/esm/BezierPath.js.map +1 -1
  169. package/src/esm/Bounds.js.map +1 -1
  170. package/src/esm/Circle.js.map +1 -1
  171. package/src/esm/CircleSector.d.ts +64 -1
  172. package/src/esm/CircleSector.js +121 -1
  173. package/src/esm/CircleSector.js.map +1 -1
  174. package/src/esm/CubicBezierCurve.js.map +1 -1
  175. package/src/esm/Grid.js.map +1 -1
  176. package/src/esm/KeyHandler.d.ts +1 -1
  177. package/src/esm/KeyHandler.js +13 -13
  178. package/src/esm/KeyHandler.js.map +1 -1
  179. package/src/esm/Line.js.map +1 -1
  180. package/src/esm/MouseHandler.d.ts +2 -2
  181. package/src/esm/MouseHandler.js +4 -4
  182. package/src/esm/MouseHandler.js.map +1 -1
  183. package/src/esm/PlotBoilerplate.d.ts +17 -4
  184. package/src/esm/PlotBoilerplate.js +61 -32
  185. package/src/esm/PlotBoilerplate.js.map +1 -1
  186. package/src/esm/Polygon.js.map +1 -1
  187. package/src/esm/Triangle.js.map +1 -1
  188. package/src/esm/VEllipse.js.map +1 -1
  189. package/src/esm/VEllipseSector.js +1 -1
  190. package/src/esm/VEllipseSector.js.map +1 -1
  191. package/src/esm/Vector.js.map +1 -1
  192. package/src/esm/VertTuple.js.map +1 -1
  193. package/src/esm/Vertex.d.ts +3 -2
  194. package/src/esm/Vertex.js +9 -3
  195. package/src/esm/Vertex.js.map +1 -1
  196. package/src/esm/VertexAttr.d.ts +2 -1
  197. package/src/esm/VertexAttr.js +2 -1
  198. package/src/esm/VertexAttr.js.map +1 -1
  199. package/src/esm/VertexListeners.d.ts +1 -1
  200. package/src/esm/VertexListeners.js.map +1 -1
  201. package/src/esm/draw.js.map +1 -1
  202. package/src/esm/drawgl.js.map +1 -1
  203. package/src/esm/drawutilssvg.d.ts +17 -3
  204. package/src/esm/drawutilssvg.js +28 -22
  205. package/src/esm/drawutilssvg.js.map +1 -1
  206. package/src/esm/geomutils.js +2 -2
  207. package/src/esm/geomutils.js.map +1 -1
  208. package/src/esm/interfaces/DrawLib.d.ts +2 -2
  209. package/src/esm/interfaces/core.d.ts +3 -3
  210. package/src/esm/interfaces/externals.d.ts +12 -0
  211. package/src/esm/utils/InitializationObserver.d.ts +18 -0
  212. package/src/esm/utils/InitializationObserver.js +50 -0
  213. package/src/esm/utils/InitializationObserver.js.map +1 -0
  214. package/src/esm/utils/NGons.d.ts +13 -0
  215. package/src/esm/utils/NGons.js +33 -0
  216. package/src/esm/utils/NGons.js.map +1 -0
  217. package/src/esm/utils/Params.js.map +1 -1
  218. package/src/esm/utils/WebColors.js.map +1 -1
  219. package/src/esm/utils/algorithms/CatmullRomPath.js.map +1 -1
  220. package/src/esm/utils/algorithms/CircleIntersections.d.ts +3 -2
  221. package/src/esm/utils/algorithms/CircleIntersections.js +11 -19
  222. package/src/esm/utils/algorithms/CircleIntersections.js.map +1 -1
  223. package/src/esm/utils/algorithms/ContourLineDetection.js.map +1 -1
  224. package/src/esm/utils/algorithms/CubicSplinePath.js.map +1 -1
  225. package/src/esm/utils/algorithms/HobbyPath.js.map +1 -1
  226. package/src/esm/utils/algorithms/Metaballs.d.ts +30 -0
  227. package/src/esm/utils/algorithms/Metaballs.js +109 -0
  228. package/src/esm/utils/algorithms/Metaballs.js.map +1 -0
  229. package/src/esm/utils/algorithms/arrayResize.d.ts +8 -0
  230. package/src/esm/utils/algorithms/arrayResize.js +20 -0
  231. package/src/esm/utils/algorithms/arrayResize.js.map +1 -0
  232. package/src/esm/utils/algorithms/clearDuplicateVertices.js.map +1 -1
  233. package/src/esm/utils/algorithms/clearPolygonDuplicateVertices.js.map +1 -1
  234. package/src/esm/utils/algorithms/convexHull.js.map +1 -1
  235. package/src/esm/utils/algorithms/convexPolygonIncircle.js.map +1 -1
  236. package/src/esm/utils/algorithms/delaunay.js.map +1 -1
  237. package/src/esm/utils/algorithms/delaunay2voronoi.js.map +1 -1
  238. package/src/esm/utils/algorithms/detectPaths.js.map +1 -1
  239. package/src/esm/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
  240. package/src/esm/utils/algorithms/matrixFill.js.map +1 -1
  241. package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
  242. package/src/esm/utils/algorithms/sutherlandHodgman.js.map +1 -1
  243. package/src/esm/utils/cloneVertexArray.js.map +1 -1
  244. package/src/esm/utils/datastructures/CircularIntervalSet.js.map +1 -1
  245. package/src/esm/utils/datastructures/Color.d.ts +2 -1
  246. package/src/esm/utils/datastructures/Color.js +33 -14
  247. package/src/esm/utils/datastructures/Color.js.map +1 -1
  248. package/src/esm/utils/datastructures/DataGrid2d.d.ts +1 -1
  249. package/src/esm/utils/datastructures/DataGrid2dListAdapter.d.ts +2 -2
  250. package/src/esm/utils/datastructures/DataGrid2dListAdapter.js.map +1 -1
  251. package/src/esm/utils/datastructures/GenericPath.js.map +1 -1
  252. package/src/esm/utils/datastructures/Girih.d.ts +3 -2
  253. package/src/esm/utils/datastructures/Girih.js +2 -1
  254. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  255. package/src/esm/utils/datastructures/GirihBowtie.js.map +1 -1
  256. package/src/esm/utils/datastructures/GirihDecagon.js.map +1 -1
  257. package/src/esm/utils/datastructures/GirihHexagon.js.map +1 -1
  258. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +1 -1
  259. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  260. package/src/esm/utils/datastructures/GirihPentagon.js.map +1 -1
  261. package/src/esm/utils/datastructures/GirihRhombus.js.map +1 -1
  262. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  263. package/src/esm/utils/datastructures/Matrix4x4.js.map +1 -1
  264. package/src/esm/utils/datastructures/VoronoiCell.js.map +1 -1
  265. package/src/esm/utils/datastructures/interfaces.d.ts +3 -3
  266. package/src/esm/utils/detectDarkMode.js.map +1 -1
  267. package/src/esm/utils/dom/guiSizeToggler.d.ts +17 -0
  268. package/src/esm/utils/dom/guiSizeToggler.js +38 -0
  269. package/src/esm/utils/dom/guiSizeToggler.js.map +1 -0
  270. package/src/esm/utils/findInVertexArray.js.map +1 -1
  271. package/src/esm/utils/gup.d.ts +8 -0
  272. package/src/esm/utils/gup.js +8 -0
  273. package/src/esm/utils/gup.js.map +1 -1
  274. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +6 -5
  275. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +3 -2
  276. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  277. package/src/esm/utils/helpers/CircleHelper.d.ts +38 -3
  278. package/src/esm/utils/helpers/CircleHelper.js +51 -11
  279. package/src/esm/utils/helpers/CircleHelper.js.map +1 -1
  280. package/src/esm/utils/helpers/CircleSectorHelper.d.ts +47 -1
  281. package/src/esm/utils/helpers/CircleSectorHelper.js +85 -14
  282. package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
  283. package/src/esm/utils/io/FileDrop.d.ts +3 -3
  284. package/src/esm/utils/io/FileDrop.js.map +1 -1
  285. package/src/esm/utils/parsers/OBJParser.d.ts +2 -2
  286. package/src/esm/utils/parsers/OBJParser.js.map +1 -1
  287. package/src/esm/utils/parsers/STLParser.d.ts +4 -3
  288. package/src/esm/utils/parsers/STLParser.js +63 -13
  289. package/src/esm/utils/parsers/STLParser.js.map +1 -1
  290. package/src/esm/utils/parsers/svg/parseSVGPathData.js.map +1 -1
  291. package/src/esm/utils/parsers/svg/splitSVGPathData.js.map +1 -1
  292. package/src/esm/utils/parsers/svg/types.d.ts +13 -13
  293. package/src/index-gl.js +77 -85
  294. package/src/index.js +124 -129
  295. package/src/ts/CircleSector.ts +134 -3
  296. package/src/ts/PlotBoilerplate.ts +51 -14
  297. package/src/ts/Vertex.ts +8 -3
  298. package/src/ts/VertexAttr.ts +3 -2
  299. package/src/ts/drawutilssvg.ts +38 -25
  300. package/src/ts/geomutils.ts +60 -64
  301. package/src/ts/interfaces/DrawLib.ts +0 -15
  302. package/src/ts/interfaces/externals.ts +16 -0
  303. package/src/ts/utils/InitializationObserver.ts +63 -0
  304. package/src/ts/utils/NGons.ts +35 -0
  305. package/src/ts/utils/algorithms/CircleIntersections.ts +280 -288
  306. package/src/ts/utils/algorithms/Metaballs.ts +144 -0
  307. package/src/ts/utils/algorithms/arrayResize.ts +22 -0
  308. package/src/ts/utils/datastructures/Color.ts +39 -15
  309. package/src/ts/utils/datastructures/Girih.ts +9 -8
  310. package/src/ts/utils/dom/guiSizeToggler.ts +45 -0
  311. package/src/ts/utils/gup.ts +10 -2
  312. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +9 -8
  313. package/src/ts/utils/helpers/CircleHelper.ts +70 -22
  314. package/src/ts/utils/helpers/CircleSectorHelper.ts +101 -17
  315. package/src/ts/utils/parsers/STLParser.ts +50 -16
@@ -83,12 +83,18 @@
83
83
  * @modified 2023-02-10 Cleaning up most type errors in the main class (mostly null checks).
84
84
  * @modified 2023-02-10 Adding `enableZoom` and `enablePan` (both default true) to have the option to disable these functions.
85
85
  * @modified 2023-09-29 Adding proper dicionary key and value types to the params of `PlotBoilerplate.utils.safeMergeByKeys` (was `object` before).
86
- * @version 1.17.3
86
+ * @modified 2024-07-08 Adding `PlotBoilerplate.getGUI()` to retrieve the GUI instance.
87
+ *
88
+ * @version 1.18.0
87
89
  *
88
90
  * @file PlotBoilerplate
89
91
  * @fileoverview The main class.
90
92
  * @public
91
93
  **/
94
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
95
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
96
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
97
+ };
92
98
  var _a;
93
99
  import AlloyFinger from "alloyfinger-typescript";
94
100
  import { drawutils } from "./draw";
@@ -201,8 +207,8 @@ export class PlotBoilerplate {
201
207
  * Note that changes from the postDraw hook might not be visible in the export.
202
208
  * @param {string=} [config.title=null] - Specify any hover tile here. It will be attached as a `title` attribute to the most elevated element.
203
209
  */
204
- constructor(config) {
205
- var _a, _b;
210
+ constructor(config, drawConfig) {
211
+ var _b, _c;
206
212
  /**
207
213
  * A discrete timestamp to identify single render cycles.
208
214
  * Note that using system time milliseconds is not a safe way to identify render frames, as on modern powerful machines
@@ -213,6 +219,10 @@ export class PlotBoilerplate {
213
219
  * @private
214
220
  */
215
221
  this.renderTime = 0;
222
+ /**
223
+ * A storage variable for retrieving the GUI instance once it was created.
224
+ */
225
+ this._gui = null;
216
226
  // This should be in some static block ...
217
227
  VertexAttr.model = {
218
228
  bezierAutoAdjust: false,
@@ -276,8 +286,8 @@ export class PlotBoilerplate {
276
286
  enableTouch: f.bool(config, "enableTouch", true),
277
287
  enableKeys: f.bool(config, "enableKeys", true),
278
288
  enableMouseWheel: f.bool(config, "enableMouseWheel", true),
279
- enableZoom: f.bool(config, "enableZoom", true),
280
- enablePan: f.bool(config, "enablePan", true),
289
+ enableZoom: f.bool(config, "enableZoom", true), // default=true
290
+ enablePan: f.bool(config, "enablePan", true), // default=true
281
291
  // Experimental (and unfinished)
282
292
  enableGL: f.bool(config, "enableGL", false)
283
293
  }; // END confog
@@ -437,8 +447,8 @@ export class PlotBoilerplate {
437
447
  if (config.title) {
438
448
  this.eventCatcher.setAttribute("title", config.title);
439
449
  }
440
- this.draw.scale.set((_a = this.config.scaleX) !== null && _a !== void 0 ? _a : 1.0, this.config.scaleY);
441
- this.fill.scale.set((_b = this.config.scaleX) !== null && _b !== void 0 ? _b : 1.0, this.config.scaleY);
450
+ this.draw.scale.set((_b = this.config.scaleX) !== null && _b !== void 0 ? _b : 1.0, this.config.scaleY);
451
+ this.fill.scale.set((_c = this.config.scaleX) !== null && _c !== void 0 ? _c : 1.0, this.config.scaleY);
442
452
  this.vertices = [];
443
453
  this.selectPolygon = null;
444
454
  this.draggedElements = [];
@@ -504,8 +514,9 @@ export class PlotBoilerplate {
504
514
  var blob = new Blob(['<?xml version="1.0" encoding="utf-8"?>\n' + svgCode], { type: "image/svg;charset=utf-8" });
505
515
  // See documentation for FileSaver.js for usage.
506
516
  // https://github.com/eligrey/FileSaver.js
507
- if (typeof globalThis["saveAs"] !== "function")
517
+ if (typeof globalThis["saveAs"] !== "function") {
508
518
  throw "Cannot save file; did you load the ./utils/savefile helper function and the eligrey/SaveFile library?";
519
+ }
509
520
  var _saveAs = globalThis["saveAs"];
510
521
  _saveAs(blob, "plotboilerplate.svg");
511
522
  }
@@ -576,12 +587,12 @@ export class PlotBoilerplate {
576
587
  * @private
577
588
  **/
578
589
  updateCSSscale() {
579
- var _a, _b, _c, _d;
590
+ var _b, _c, _d, _e;
580
591
  if (this.config.cssUniformScale) {
581
- PlotBoilerplate.utils.setCSSscale(this.canvas, (_a = this.config.cssScaleX) !== null && _a !== void 0 ? _a : 1.0, (_b = this.config.cssScaleX) !== null && _b !== void 0 ? _b : 1.0);
592
+ PlotBoilerplate.utils.setCSSscale(this.canvas, (_b = this.config.cssScaleX) !== null && _b !== void 0 ? _b : 1.0, (_c = this.config.cssScaleX) !== null && _c !== void 0 ? _c : 1.0);
582
593
  }
583
594
  else {
584
- PlotBoilerplate.utils.setCSSscale(this.canvas, (_c = this.config.cssScaleX) !== null && _c !== void 0 ? _c : 1.0, (_d = this.config.cssScaleY) !== null && _d !== void 0 ? _d : 1.0);
595
+ PlotBoilerplate.utils.setCSSscale(this.canvas, (_d = this.config.cssScaleX) !== null && _d !== void 0 ? _d : 1.0, (_e = this.config.cssScaleY) !== null && _e !== void 0 ? _e : 1.0);
585
596
  }
586
597
  }
587
598
  /**
@@ -854,8 +865,8 @@ export class PlotBoilerplate {
854
865
  * @return The vertex near the given position or undefined if none was found there.
855
866
  **/
856
867
  getVertexNear(pixelPosition, pixelTolerance) {
857
- var _a, _b;
858
- const p = this.locatePointNear(this.transformMousePosition(pixelPosition.x, pixelPosition.y), pixelTolerance / Math.min((_a = this.config.cssScaleX) !== null && _a !== void 0 ? _a : 1.0, (_b = this.config.cssScaleY) !== null && _b !== void 0 ? _b : 1.0));
868
+ var _b, _c;
869
+ const p = this.locatePointNear(this.transformMousePosition(pixelPosition.x, pixelPosition.y), pixelTolerance / Math.min((_b = this.config.cssScaleX) !== null && _b !== void 0 ? _b : 1.0, (_c = this.config.cssScaleY) !== null && _c !== void 0 ? _c : 1.0));
859
870
  if (p && p.typeName == "vertex") {
860
871
  return this.vertices[p.vindex];
861
872
  }
@@ -1284,8 +1295,8 @@ export class PlotBoilerplate {
1284
1295
  * @return {Bounds} The current viewport.
1285
1296
  **/
1286
1297
  viewport() {
1287
- var _a, _b;
1288
- return new Bounds(this.transformMousePosition(0, 0), this.transformMousePosition(this.canvasSize.width * ((_a = this.config.cssScaleX) !== null && _a !== void 0 ? _a : 1.0), this.canvasSize.height * ((_b = this.config.cssScaleY) !== null && _b !== void 0 ? _b : 1.0)));
1298
+ var _b, _c;
1299
+ return new Bounds(this.transformMousePosition(0, 0), this.transformMousePosition(this.canvasSize.width * ((_b = this.config.cssScaleX) !== null && _b !== void 0 ? _b : 1.0), this.canvasSize.height * ((_c = this.config.cssScaleY) !== null && _c !== void 0 ? _c : 1.0)));
1289
1300
  }
1290
1301
  /**
1291
1302
  * Trigger the saveFile.hook.
@@ -1333,12 +1344,12 @@ export class PlotBoilerplate {
1333
1344
  * @return {void}
1334
1345
  **/
1335
1346
  resizeCanvas() {
1336
- var _a, _b, _c, _d, _e, _f;
1347
+ var _b, _c, _d, _e, _f, _g;
1337
1348
  const _self = this;
1338
1349
  const _setSize = (w, h) => {
1339
- var _a, _b;
1340
- w *= (_a = _self.config.canvasWidthFactor) !== null && _a !== void 0 ? _a : 1.0;
1341
- h *= (_b = _self.config.canvasHeightFactor) !== null && _b !== void 0 ? _b : 1.0;
1350
+ var _b, _c;
1351
+ w *= (_b = _self.config.canvasWidthFactor) !== null && _b !== void 0 ? _b : 1.0;
1352
+ h *= (_c = _self.config.canvasHeightFactor) !== null && _c !== void 0 ? _c : 1.0;
1342
1353
  _self.canvasSize.width = w;
1343
1354
  _self.canvasSize.height = h;
1344
1355
  if (_self.canvas instanceof HTMLCanvasElement) {
@@ -1367,8 +1378,8 @@ export class PlotBoilerplate {
1367
1378
  var width = globalThis.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
1368
1379
  var height = globalThis.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
1369
1380
  _self.canvas.style.position = "absolute";
1370
- _self.canvas.style.width = ((_a = _self.config.canvasWidthFactor) !== null && _a !== void 0 ? _a : 1.0) * width + "px";
1371
- _self.canvas.style.height = ((_b = _self.config.canvasWidthFactor) !== null && _b !== void 0 ? _b : 1.0) * height + "px";
1381
+ _self.canvas.style.width = ((_b = _self.config.canvasWidthFactor) !== null && _b !== void 0 ? _b : 1.0) * width + "px";
1382
+ _self.canvas.style.height = ((_c = _self.config.canvasWidthFactor) !== null && _c !== void 0 ? _c : 1.0) * height + "px";
1372
1383
  _self.canvas.style.top = "0px";
1373
1384
  _self.canvas.style.left = "0px";
1374
1385
  _setSize(width, height);
@@ -1377,8 +1388,8 @@ export class PlotBoilerplate {
1377
1388
  // Set editor size
1378
1389
  _self.canvas.style.position = "static";
1379
1390
  const space = this.getAvailableContainerSpace();
1380
- _self.canvas.style.width = ((_c = _self.config.canvasWidthFactor) !== null && _c !== void 0 ? _c : 1.0) * space.width + "px";
1381
- _self.canvas.style.height = ((_d = _self.config.canvasHeightFactor) !== null && _d !== void 0 ? _d : 1.0) * space.height + "px";
1391
+ _self.canvas.style.width = ((_d = _self.config.canvasWidthFactor) !== null && _d !== void 0 ? _d : 1.0) * space.width + "px";
1392
+ _self.canvas.style.height = ((_e = _self.config.canvasHeightFactor) !== null && _e !== void 0 ? _e : 1.0) * space.height + "px";
1382
1393
  _self.canvas.style.top = "";
1383
1394
  _self.canvas.style.left = "";
1384
1395
  _setSize(space.width, space.height);
@@ -1386,7 +1397,7 @@ export class PlotBoilerplate {
1386
1397
  else {
1387
1398
  _self.canvas.style.width = "";
1388
1399
  _self.canvas.style.height = "";
1389
- _setSize((_e = _self.config.defaultCanvasWidth) !== null && _e !== void 0 ? _e : 1024, (_f = _self.config.defaultCanvasHeight) !== null && _f !== void 0 ? _f : 768);
1400
+ _setSize((_f = _self.config.defaultCanvasWidth) !== null && _f !== void 0 ? _f : 1024, (_g = _self.config.defaultCanvasHeight) !== null && _g !== void 0 ? _g : 768);
1390
1401
  }
1391
1402
  if (_self.config.redrawOnResize)
1392
1403
  _self.redraw();
@@ -1754,7 +1765,8 @@ export class PlotBoilerplate {
1754
1765
  return { x: pos.x - bounds.left, y: pos.y - bounds.top };
1755
1766
  };
1756
1767
  // Make PB work together with both, AlloyFinger as a esm module or a commonjs function.
1757
- if (typeof globalThis["AlloyFinger"] === "function" || typeof globalThis["createAlloyFinger"] === "function") {
1768
+ if (typeof globalThis["AlloyFinger"] === "function" ||
1769
+ typeof globalThis["createAlloyFinger"] === "function") {
1758
1770
  try {
1759
1771
  var touchMovePos = null;
1760
1772
  var touchDownPos = null;
@@ -1889,7 +1901,9 @@ export class PlotBoilerplate {
1889
1901
  }
1890
1902
  }; // END afProps
1891
1903
  if (window["createAlloyFinger"]) {
1892
- window["createAlloyFinger"](this.eventCatcher ? this.eventCatcher : this.canvas, afProps);
1904
+ // window["createAlloyFinger"](this.eventCatcher ? this.eventCatcher : this.canvas, afProps);
1905
+ const createAlloyFinger = window["createAlloyFinger"];
1906
+ createAlloyFinger(this.eventCatcher ? this.eventCatcher : this.canvas, afProps);
1893
1907
  }
1894
1908
  else {
1895
1909
  /* tslint:disable-next-line */
@@ -1947,10 +1961,23 @@ export class PlotBoilerplate {
1947
1961
  createGUI(props) {
1948
1962
  // This function moved to the helper utils.
1949
1963
  // We do not want to include the whole dat.GUI package.
1950
- if (globalThis["utils"] && typeof globalThis["utils"].createGUI == "function")
1951
- return globalThis["utils"].createGUI(this, props);
1952
- else
1953
- throw "Cannot create dat.GUI instance; did you load the ./utils/creategui helper function an the dat.GUI library?";
1964
+ const utils = globalThis["utils"];
1965
+ // if (globalThis["utils"] && typeof globalThis["utils"].createGUI == "function") {
1966
+ // return (globalThis["utils" as keyof Object] as any as ({createGUI : (pb:PlotBoilerplate,props:DatGuiProps|undefined)=>GUI })).createGUI(this, props);
1967
+ if (utils && typeof utils.createGUI === "function") {
1968
+ return (this._gui = utils.createGUI(this, props));
1969
+ }
1970
+ else {
1971
+ throw "Cannot create dat.GUI or lil-gui instance; did you load the ./utils/creategui helper function an the dat.GUI/lil-gui library?";
1972
+ }
1973
+ }
1974
+ /**
1975
+ * Retriebe the GUI once it was created. If the `createGUI` method was not called or failed to create any
1976
+ * GUI then null is returned.
1977
+ * @returns {GUI | null}
1978
+ */
1979
+ getGUI() {
1980
+ return this._gui;
1954
1981
  }
1955
1982
  } // END class PlotBoilerplate
1956
1983
  /** @constant {number} */
@@ -1978,6 +2005,7 @@ PlotBoilerplate.Draggable = (_a = class {
1978
2005
  return this;
1979
2006
  }
1980
2007
  },
2008
+ __setFunctionName(_a, "Draggable"),
1981
2009
  _a.VERTEX = "vertex",
1982
2010
  _a);
1983
2011
  /**
@@ -2067,7 +2095,8 @@ PlotBoilerplate.utils = {
2067
2095
  * @return {void}
2068
2096
  **/
2069
2097
  setCSSscale: (element, scaleX, scaleY) => {
2070
- element.style["transform-origin"] = "0 0";
2098
+ // element.style["transform-origin"] = "0 0";
2099
+ element.style.transformOrigin = "0 0";
2071
2100
  if (scaleX == 1.0 && scaleY == 1.0) {
2072
2101
  // element.style.transform = null;
2073
2102
  element.style.removeProperty("transform");
@@ -2150,7 +2179,7 @@ PlotBoilerplate.utils = {
2150
2179
  return fallback;
2151
2180
  return obj[key];
2152
2181
  }
2153
- },
2182
+ }, // END fetch
2154
2183
  /**
2155
2184
  * Installs vertex listeners to the path's vertices so that controlpoints
2156
2185
  * move with their path points when dragged.
@@ -1 +1 @@
1
- {"version":3,"file":"PlotBoilerplate.js","sourceRoot":"","sources":["../ts/PlotBoilerplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlotBoilerplate.js","sourceRoot":"","sources":["../ts/PlotBoilerplate.ts"],"names":[],"mappings":"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"}