js-draw 0.17.4 → 0.18.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 (494) hide show
  1. package/.github/workflows/firebase-hosting-merge.yml +2 -0
  2. package/.github/workflows/firebase-hosting-pull-request.yml +2 -0
  3. package/.github/workflows/github-pages.yml +2 -0
  4. package/CHANGELOG.md +4 -0
  5. package/build_tools/postDist.ts +71 -0
  6. package/dist/bundle.js +9 -1
  7. package/dist/cjs/build_tools/BundledFile.js +163 -0
  8. package/dist/cjs/build_tools/buildTranslationTemplate.js +119 -0
  9. package/dist/cjs/build_tools/bundle.js +10 -0
  10. package/dist/cjs/build_tools/postDist.js +72 -0
  11. package/dist/{src → cjs/src}/Color4.d.ts +1 -0
  12. package/dist/cjs/src/Color4.js +197 -0
  13. package/dist/cjs/src/Editor.js +904 -0
  14. package/dist/cjs/src/EditorImage.js +486 -0
  15. package/dist/cjs/src/EventDispatcher.js +57 -0
  16. package/dist/cjs/src/Pointer.js +84 -0
  17. package/dist/cjs/src/SVGLoader.js +472 -0
  18. package/dist/cjs/src/UndoRedoHistory.js +93 -0
  19. package/dist/cjs/src/Viewport.js +264 -0
  20. package/dist/cjs/src/bundle/bundled.js +24 -0
  21. package/dist/cjs/src/commands/Command.js +34 -0
  22. package/dist/cjs/src/commands/Duplicate.js +39 -0
  23. package/dist/cjs/src/commands/Erase.js +63 -0
  24. package/dist/cjs/src/commands/SerializableCommand.js +42 -0
  25. package/dist/cjs/src/commands/UnresolvedCommand.js +28 -0
  26. package/dist/cjs/src/commands/invertCommand.js +49 -0
  27. package/dist/cjs/src/commands/lib.js +18 -0
  28. package/dist/cjs/src/commands/localization.js +24 -0
  29. package/dist/cjs/src/commands/uniteCommands.js +121 -0
  30. package/dist/cjs/src/components/AbstractComponent.js +258 -0
  31. package/dist/cjs/src/components/ImageBackground.js +146 -0
  32. package/dist/cjs/src/components/ImageComponent.js +152 -0
  33. package/dist/cjs/src/components/RestylableComponent.js +88 -0
  34. package/dist/cjs/src/components/SVGGlobalAttributesObject.js +65 -0
  35. package/dist/cjs/src/components/Stroke.js +191 -0
  36. package/dist/cjs/src/components/TextComponent.js +258 -0
  37. package/dist/cjs/src/components/UnknownSVGObject.js +50 -0
  38. package/dist/cjs/src/components/builders/ArrowBuilder.js +117 -0
  39. package/dist/cjs/src/components/builders/FreehandLineBuilder.js +173 -0
  40. package/dist/cjs/src/components/builders/LineBuilder.js +89 -0
  41. package/dist/cjs/src/components/builders/PressureSensitiveFreehandLineBuilder.js +347 -0
  42. package/dist/cjs/src/components/builders/RectangleBuilder.js +59 -0
  43. package/dist/cjs/src/components/builders/types.js +2 -0
  44. package/dist/cjs/src/components/lib.js +43 -0
  45. package/dist/cjs/src/components/localization.js +13 -0
  46. package/dist/cjs/src/components/util/StrokeSmoother.js +217 -0
  47. package/dist/cjs/src/components/util/describeComponentList.js +16 -0
  48. package/dist/cjs/src/lib.js +63 -0
  49. package/dist/cjs/src/localization.js +13 -0
  50. package/dist/cjs/src/localizations/de.js +6 -0
  51. package/dist/cjs/src/localizations/en.js +6 -0
  52. package/dist/cjs/src/localizations/es.js +20 -0
  53. package/dist/cjs/src/localizations/getLocalizationTable.js +50 -0
  54. package/dist/cjs/src/math/LineSegment2.js +131 -0
  55. package/dist/cjs/src/math/Mat33.js +332 -0
  56. package/dist/cjs/src/math/Path.js +655 -0
  57. package/dist/cjs/src/math/Rect2.js +234 -0
  58. package/dist/cjs/src/math/Triangle.js +22 -0
  59. package/dist/cjs/src/math/Vec2.js +19 -0
  60. package/dist/cjs/src/math/Vec3.js +177 -0
  61. package/dist/cjs/src/math/lib.js +18 -0
  62. package/dist/cjs/src/math/rounding.js +135 -0
  63. package/dist/cjs/src/rendering/Display.js +214 -0
  64. package/dist/cjs/src/rendering/RenderingStyle.js +48 -0
  65. package/dist/cjs/src/rendering/TextRenderingStyle.js +29 -0
  66. package/dist/cjs/src/rendering/caching/CacheRecord.js +61 -0
  67. package/dist/cjs/src/rendering/caching/CacheRecordManager.js +50 -0
  68. package/dist/cjs/src/rendering/caching/RenderingCache.js +51 -0
  69. package/dist/cjs/src/rendering/caching/RenderingCacheNode.js +326 -0
  70. package/dist/cjs/src/rendering/caching/testUtils.js +27 -0
  71. package/dist/cjs/src/rendering/caching/types.js +2 -0
  72. package/dist/cjs/src/rendering/lib.js +16 -0
  73. package/dist/cjs/src/rendering/localization.js +12 -0
  74. package/dist/cjs/src/rendering/renderers/AbstractRenderer.js +170 -0
  75. package/dist/cjs/src/rendering/renderers/CanvasRenderer.js +236 -0
  76. package/dist/cjs/src/rendering/renderers/DummyRenderer.js +112 -0
  77. package/dist/cjs/src/rendering/renderers/SVGRenderer.js +311 -0
  78. package/dist/cjs/src/rendering/renderers/TextOnlyRenderer.js +63 -0
  79. package/dist/cjs/src/testing/beforeEachFile.js +12 -0
  80. package/dist/cjs/src/testing/createEditor.js +14 -0
  81. package/dist/cjs/src/testing/lib.js +10 -0
  82. package/dist/cjs/src/testing/loadExpectExtensions.js +28 -0
  83. package/dist/cjs/src/testing/sendPenEvent.js +24 -0
  84. package/dist/cjs/src/testing/sendTouchEvent.js +87 -0
  85. package/dist/cjs/src/toolbar/HTMLToolbar.js +383 -0
  86. package/dist/cjs/src/toolbar/IconProvider.js +660 -0
  87. package/dist/cjs/src/toolbar/lib.js +24 -0
  88. package/dist/cjs/src/toolbar/localization.js +51 -0
  89. package/dist/cjs/src/toolbar/makeColorInput.js +120 -0
  90. package/dist/cjs/src/toolbar/types.js +2 -0
  91. package/dist/cjs/src/toolbar/widgets/ActionButtonWidget.js +31 -0
  92. package/dist/cjs/src/toolbar/widgets/BaseToolWidget.js +50 -0
  93. package/dist/cjs/src/toolbar/widgets/BaseWidget.js +313 -0
  94. package/dist/cjs/src/toolbar/widgets/DocumentPropertiesWidget.js +126 -0
  95. package/dist/cjs/src/toolbar/widgets/EraserToolWidget.js +63 -0
  96. package/dist/cjs/src/toolbar/widgets/HandToolWidget.js +201 -0
  97. package/dist/cjs/src/toolbar/widgets/InsertImageWidget.js +176 -0
  98. package/dist/cjs/src/toolbar/widgets/OverflowWidget.js +77 -0
  99. package/dist/cjs/src/toolbar/widgets/PenToolWidget.js +226 -0
  100. package/dist/cjs/src/toolbar/widgets/SelectionToolWidget.js +153 -0
  101. package/dist/cjs/src/toolbar/widgets/TextToolWidget.js +115 -0
  102. package/dist/cjs/src/toolbar/widgets/lib.js +26 -0
  103. package/dist/cjs/src/tools/BaseTool.js +66 -0
  104. package/dist/cjs/src/tools/Eraser.js +112 -0
  105. package/dist/cjs/src/tools/FindTool.js +121 -0
  106. package/dist/cjs/src/tools/PanZoom.js +421 -0
  107. package/dist/cjs/src/tools/PasteHandler.js +99 -0
  108. package/dist/cjs/src/tools/Pen.js +179 -0
  109. package/dist/cjs/src/tools/PipetteTool.js +45 -0
  110. package/dist/cjs/src/tools/SelectionTool/SelectAllShortcutHandler.js +28 -0
  111. package/dist/cjs/src/tools/SelectionTool/Selection.js +488 -0
  112. package/dist/cjs/src/tools/SelectionTool/SelectionHandle.js +85 -0
  113. package/dist/cjs/src/tools/SelectionTool/SelectionTool.js +405 -0
  114. package/dist/cjs/src/tools/SelectionTool/TransformMode.js +107 -0
  115. package/dist/cjs/src/tools/SelectionTool/types.js +14 -0
  116. package/dist/cjs/src/tools/TextTool.js +262 -0
  117. package/dist/cjs/src/tools/ToolController.js +187 -0
  118. package/dist/cjs/src/tools/ToolEnabledGroup.js +14 -0
  119. package/dist/cjs/src/tools/ToolSwitcherShortcut.js +38 -0
  120. package/dist/cjs/src/tools/ToolbarShortcutHandler.js +29 -0
  121. package/dist/cjs/src/tools/UndoRedoShortcut.js +28 -0
  122. package/dist/cjs/src/tools/lib.js +36 -0
  123. package/dist/cjs/src/tools/localization.js +30 -0
  124. package/dist/cjs/src/types.js +38 -0
  125. package/dist/cjs/src/util/assertions.js +51 -0
  126. package/dist/cjs/src/util/fileToBase64.js +15 -0
  127. package/dist/cjs/src/util/untilNextAnimationFrame.js +9 -0
  128. package/dist/cjs/src/util/waitForTimeout.js +9 -0
  129. package/dist/mjs/build_tools/BundledFile.d.ts +13 -0
  130. package/dist/{build_tools/buildTranslationTemplate.js → mjs/build_tools/buildTranslationTemplate.mjs} +1 -1
  131. package/dist/{build_tools/bundle.js → mjs/build_tools/bundle.mjs} +1 -1
  132. package/dist/mjs/build_tools/postDist.d.ts +1 -0
  133. package/dist/mjs/build_tools/postDist.mjs +67 -0
  134. package/dist/mjs/src/Color4.d.ts +61 -0
  135. package/dist/{src/Color4.js → mjs/src/Color4.mjs} +1 -0
  136. package/dist/mjs/src/Editor.d.ts +308 -0
  137. package/dist/{src/Editor.js → mjs/src/Editor.mjs} +26 -26
  138. package/dist/mjs/src/EditorImage.d.ts +97 -0
  139. package/dist/{src/EditorImage.js → mjs/src/EditorImage.mjs} +8 -8
  140. package/dist/mjs/src/EventDispatcher.d.ts +30 -0
  141. package/dist/mjs/src/Pointer.d.ts +24 -0
  142. package/dist/{src/Pointer.js → mjs/src/Pointer.mjs} +1 -1
  143. package/dist/mjs/src/SVGLoader.d.ts +48 -0
  144. package/dist/{src/SVGLoader.js → mjs/src/SVGLoader.mjs} +11 -11
  145. package/dist/mjs/src/UndoRedoHistory.d.ts +19 -0
  146. package/dist/{src/UndoRedoHistory.js → mjs/src/UndoRedoHistory.mjs} +1 -1
  147. package/dist/mjs/src/Viewport.d.ts +71 -0
  148. package/dist/{src/Viewport.js → mjs/src/Viewport.mjs} +5 -5
  149. package/dist/mjs/src/bundle/bundled.d.ts +4 -0
  150. package/dist/{src/bundle/bundled.js → mjs/src/bundle/bundled.mjs} +2 -2
  151. package/dist/mjs/src/commands/Command.d.ts +16 -0
  152. package/dist/mjs/src/commands/Duplicate.d.ts +14 -0
  153. package/dist/{src/commands/Duplicate.js → mjs/src/commands/Duplicate.mjs} +3 -3
  154. package/dist/mjs/src/commands/Erase.d.ts +14 -0
  155. package/dist/{src/commands/Erase.js → mjs/src/commands/Erase.mjs} +3 -3
  156. package/dist/mjs/src/commands/SerializableCommand.d.ts +12 -0
  157. package/dist/{src/commands/SerializableCommand.js → mjs/src/commands/SerializableCommand.mjs} +1 -1
  158. package/dist/mjs/src/commands/UnresolvedCommand.d.ts +14 -0
  159. package/dist/{src/commands/UnresolvedCommand.js → mjs/src/commands/UnresolvedCommand.mjs} +1 -1
  160. package/dist/mjs/src/commands/invertCommand.d.ts +4 -0
  161. package/dist/{src/commands/invertCommand.js → mjs/src/commands/invertCommand.mjs} +2 -2
  162. package/dist/mjs/src/commands/lib.mjs +7 -0
  163. package/dist/mjs/src/commands/localization.d.ts +23 -0
  164. package/dist/mjs/src/commands/uniteCommands.d.ts +4 -0
  165. package/dist/{src/commands/uniteCommands.js → mjs/src/commands/uniteCommands.mjs} +2 -2
  166. package/dist/mjs/src/components/AbstractComponent.d.ts +73 -0
  167. package/dist/{src/components/AbstractComponent.js → mjs/src/components/AbstractComponent.mjs} +4 -4
  168. package/dist/mjs/src/components/ImageBackground.d.ts +42 -0
  169. package/dist/{src/components/ImageBackground.js → mjs/src/components/ImageBackground.mjs} +5 -5
  170. package/dist/mjs/src/components/ImageComponent.d.ts +31 -0
  171. package/dist/{src/components/ImageComponent.js → mjs/src/components/ImageComponent.mjs} +3 -3
  172. package/dist/mjs/src/components/RestylableComponent.d.ts +24 -0
  173. package/dist/{src/components/RestylableComponent.js → mjs/src/components/RestylableComponent.mjs} +4 -4
  174. package/dist/mjs/src/components/SVGGlobalAttributesObject.d.ts +21 -0
  175. package/dist/{src/components/SVGGlobalAttributesObject.js → mjs/src/components/SVGGlobalAttributesObject.mjs} +3 -3
  176. package/dist/mjs/src/components/Stroke.d.ts +40 -0
  177. package/dist/{src/components/Stroke.js → mjs/src/components/Stroke.mjs} +5 -5
  178. package/dist/mjs/src/components/TextComponent.d.ts +53 -0
  179. package/dist/{src/components/TextComponent.js → mjs/src/components/TextComponent.mjs} +7 -7
  180. package/dist/mjs/src/components/UnknownSVGObject.d.ts +18 -0
  181. package/dist/{src/components/UnknownSVGObject.js → mjs/src/components/UnknownSVGObject.mjs} +3 -3
  182. package/dist/mjs/src/components/builders/ArrowBuilder.d.ts +19 -0
  183. package/dist/{src/components/builders/ArrowBuilder.js → mjs/src/components/builders/ArrowBuilder.mjs} +2 -2
  184. package/dist/mjs/src/components/builders/FreehandLineBuilder.d.ts +33 -0
  185. package/dist/{src/components/builders/FreehandLineBuilder.js → mjs/src/components/builders/FreehandLineBuilder.mjs} +7 -7
  186. package/dist/mjs/src/components/builders/LineBuilder.d.ts +18 -0
  187. package/dist/{src/components/builders/LineBuilder.js → mjs/src/components/builders/LineBuilder.mjs} +2 -2
  188. package/dist/mjs/src/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +36 -0
  189. package/dist/{src/components/builders/PressureSensitiveFreehandLineBuilder.js → mjs/src/components/builders/PressureSensitiveFreehandLineBuilder.mjs} +6 -6
  190. package/dist/mjs/src/components/builders/RectangleBuilder.d.ts +20 -0
  191. package/dist/{src/components/builders/RectangleBuilder.js → mjs/src/components/builders/RectangleBuilder.mjs} +4 -4
  192. package/dist/mjs/src/components/builders/types.d.ts +12 -0
  193. package/dist/mjs/src/components/builders/types.mjs +1 -0
  194. package/dist/{src/components/lib.js → mjs/src/components/lib.d.ts} +3 -3
  195. package/dist/mjs/src/components/lib.mjs +12 -0
  196. package/dist/mjs/src/components/localization.d.ts +11 -0
  197. package/dist/mjs/src/components/util/StrokeSmoother.d.ts +35 -0
  198. package/dist/{src/components/util/StrokeSmoother.js → mjs/src/components/util/StrokeSmoother.mjs} +3 -3
  199. package/dist/mjs/src/components/util/describeComponentList.d.ts +4 -0
  200. package/dist/{src/lib.js → mjs/src/lib.d.ts} +2 -2
  201. package/dist/mjs/src/lib.mjs +34 -0
  202. package/dist/mjs/src/localization.d.ts +14 -0
  203. package/dist/{src/localization.js → mjs/src/localization.mjs} +5 -5
  204. package/dist/mjs/src/localizations/de.d.ts +3 -0
  205. package/dist/{src/localizations/de.js → mjs/src/localizations/de.mjs} +1 -1
  206. package/dist/mjs/src/localizations/en.d.ts +3 -0
  207. package/dist/{src/localizations/en.js → mjs/src/localizations/en.mjs} +1 -1
  208. package/dist/mjs/src/localizations/es.d.ts +3 -0
  209. package/dist/{src/localizations/es.js → mjs/src/localizations/es.mjs} +1 -1
  210. package/dist/mjs/src/localizations/getLocalizationTable.d.ts +3 -0
  211. package/dist/{src/localizations/getLocalizationTable.js → mjs/src/localizations/getLocalizationTable.mjs} +4 -4
  212. package/dist/mjs/src/math/LineSegment2.d.ts +24 -0
  213. package/dist/{src/math/LineSegment2.js → mjs/src/math/LineSegment2.mjs} +2 -2
  214. package/dist/mjs/src/math/Mat33.d.ts +118 -0
  215. package/dist/{src/math/Mat33.js → mjs/src/math/Mat33.mjs} +2 -2
  216. package/dist/mjs/src/math/Path.d.ts +71 -0
  217. package/dist/{src/math/Path.js → mjs/src/math/Path.mjs} +5 -5
  218. package/dist/mjs/src/math/Rect2.d.ts +52 -0
  219. package/dist/{src/math/Rect2.js → mjs/src/math/Rect2.mjs} +2 -2
  220. package/dist/mjs/src/math/Triangle.d.ts +11 -0
  221. package/dist/mjs/src/math/Vec2.d.ts +13 -0
  222. package/dist/{src/math/Vec2.js → mjs/src/math/Vec2.mjs} +1 -1
  223. package/dist/mjs/src/math/Vec3.d.ts +106 -0
  224. package/dist/mjs/src/math/lib.mjs +7 -0
  225. package/dist/mjs/src/math/rounding.d.ts +4 -0
  226. package/dist/mjs/src/rendering/Display.d.ts +75 -0
  227. package/dist/{src/rendering/Display.js → mjs/src/rendering/Display.mjs} +7 -7
  228. package/dist/mjs/src/rendering/RenderingStyle.d.ts +31 -0
  229. package/dist/{src/rendering/RenderingStyle.js → mjs/src/rendering/RenderingStyle.mjs} +1 -1
  230. package/dist/mjs/src/rendering/TextRenderingStyle.d.ts +36 -0
  231. package/dist/{src/rendering/TextRenderingStyle.js → mjs/src/rendering/TextRenderingStyle.mjs} +1 -1
  232. package/dist/mjs/src/rendering/caching/CacheRecord.d.ts +20 -0
  233. package/dist/{src/rendering/caching/CacheRecord.js → mjs/src/rendering/caching/CacheRecord.mjs} +1 -1
  234. package/dist/mjs/src/rendering/caching/CacheRecordManager.d.ts +12 -0
  235. package/dist/{src/rendering/caching/CacheRecordManager.js → mjs/src/rendering/caching/CacheRecordManager.mjs} +1 -1
  236. package/dist/mjs/src/rendering/caching/RenderingCache.d.ts +11 -0
  237. package/dist/{src/rendering/caching/RenderingCache.js → mjs/src/rendering/caching/RenderingCache.mjs} +3 -3
  238. package/dist/mjs/src/rendering/caching/RenderingCacheNode.d.ts +29 -0
  239. package/dist/{src/rendering/caching/RenderingCacheNode.js → mjs/src/rendering/caching/RenderingCacheNode.mjs} +3 -3
  240. package/dist/mjs/src/rendering/caching/testUtils.d.ts +9 -0
  241. package/dist/{src/rendering/caching/testUtils.js → mjs/src/rendering/caching/testUtils.mjs} +4 -4
  242. package/dist/mjs/src/rendering/caching/types.d.ts +19 -0
  243. package/dist/mjs/src/rendering/caching/types.mjs +1 -0
  244. package/dist/mjs/src/rendering/lib.mjs +5 -0
  245. package/dist/mjs/src/rendering/localization.d.ts +10 -0
  246. package/dist/mjs/src/rendering/renderers/AbstractRenderer.d.ts +68 -0
  247. package/dist/{src/rendering/renderers/AbstractRenderer.js → mjs/src/rendering/renderers/AbstractRenderer.mjs} +3 -3
  248. package/dist/mjs/src/rendering/renderers/CanvasRenderer.d.ts +63 -0
  249. package/dist/{src/rendering/renderers/CanvasRenderer.js → mjs/src/rendering/renderers/CanvasRenderer.mjs} +5 -5
  250. package/dist/mjs/src/rendering/renderers/DummyRenderer.d.ts +35 -0
  251. package/dist/{src/rendering/renderers/DummyRenderer.js → mjs/src/rendering/renderers/DummyRenderer.mjs} +2 -2
  252. package/dist/mjs/src/rendering/renderers/SVGRenderer.d.ts +57 -0
  253. package/dist/{src/rendering/renderers/SVGRenderer.js → mjs/src/rendering/renderers/SVGRenderer.mjs} +6 -6
  254. package/dist/mjs/src/rendering/renderers/TextOnlyRenderer.d.ts +29 -0
  255. package/dist/{src/rendering/renderers/TextOnlyRenderer.js → mjs/src/rendering/renderers/TextOnlyRenderer.mjs} +2 -2
  256. package/dist/mjs/src/testing/beforeEachFile.d.ts +1 -0
  257. package/dist/{src/testing/beforeEachFile.js → mjs/src/testing/beforeEachFile.mjs} +1 -1
  258. package/dist/mjs/src/testing/createEditor.d.ts +4 -0
  259. package/dist/{src/testing/createEditor.js → mjs/src/testing/createEditor.mjs} +2 -2
  260. package/dist/mjs/src/testing/lib.mjs +2 -0
  261. package/dist/mjs/src/testing/loadExpectExtensions.d.ts +2 -0
  262. package/dist/mjs/src/testing/sendPenEvent.d.ts +12 -0
  263. package/dist/{src/testing/sendPenEvent.js → mjs/src/testing/sendPenEvent.mjs} +2 -2
  264. package/dist/mjs/src/testing/sendTouchEvent.d.ts +42 -0
  265. package/dist/{src/testing/sendTouchEvent.js → mjs/src/testing/sendTouchEvent.mjs} +2 -2
  266. package/dist/mjs/src/toolbar/HTMLToolbar.d.ts +103 -0
  267. package/dist/{src/toolbar/HTMLToolbar.js → mjs/src/toolbar/HTMLToolbar.mjs} +17 -17
  268. package/dist/mjs/src/toolbar/IconProvider.d.ts +62 -0
  269. package/dist/{src/toolbar/IconProvider.js → mjs/src/toolbar/IconProvider.mjs} +4 -4
  270. package/dist/mjs/src/toolbar/lib.mjs +3 -0
  271. package/dist/mjs/src/toolbar/localization.d.ts +49 -0
  272. package/dist/mjs/src/toolbar/makeColorInput.d.ts +6 -0
  273. package/dist/{src/toolbar/makeColorInput.js → mjs/src/toolbar/makeColorInput.mjs} +3 -3
  274. package/dist/mjs/src/toolbar/types.d.ts +4 -0
  275. package/dist/mjs/src/toolbar/types.mjs +1 -0
  276. package/dist/mjs/src/toolbar/widgets/ActionButtonWidget.d.ts +15 -0
  277. package/dist/{src/toolbar/widgets/ActionButtonWidget.js → mjs/src/toolbar/widgets/ActionButtonWidget.mjs} +1 -1
  278. package/dist/mjs/src/toolbar/widgets/BaseToolWidget.d.ts +11 -0
  279. package/dist/{src/toolbar/widgets/BaseToolWidget.js → mjs/src/toolbar/widgets/BaseToolWidget.mjs} +2 -2
  280. package/dist/mjs/src/toolbar/widgets/BaseWidget.d.ts +72 -0
  281. package/dist/{src/toolbar/widgets/BaseWidget.js → mjs/src/toolbar/widgets/BaseWidget.mjs} +3 -3
  282. package/dist/mjs/src/toolbar/widgets/DocumentPropertiesWidget.d.ts +18 -0
  283. package/dist/{src/toolbar/widgets/DocumentPropertiesWidget.js → mjs/src/toolbar/widgets/DocumentPropertiesWidget.mjs} +6 -6
  284. package/dist/mjs/src/toolbar/widgets/EraserToolWidget.d.ts +17 -0
  285. package/dist/{src/toolbar/widgets/EraserToolWidget.js → mjs/src/toolbar/widgets/EraserToolWidget.mjs} +3 -3
  286. package/dist/mjs/src/toolbar/widgets/HandToolWidget.d.ts +17 -0
  287. package/dist/{src/toolbar/widgets/HandToolWidget.js → mjs/src/toolbar/widgets/HandToolWidget.mjs} +7 -7
  288. package/dist/mjs/src/toolbar/widgets/InsertImageWidget.d.ts +19 -0
  289. package/dist/{src/toolbar/widgets/InsertImageWidget.js → mjs/src/toolbar/widgets/InsertImageWidget.mjs} +8 -8
  290. package/dist/mjs/src/toolbar/widgets/OverflowWidget.d.ts +25 -0
  291. package/dist/{src/toolbar/widgets/OverflowWidget.js → mjs/src/toolbar/widgets/OverflowWidget.mjs} +1 -1
  292. package/dist/mjs/src/toolbar/widgets/PenToolWidget.d.ts +27 -0
  293. package/dist/{src/toolbar/widgets/PenToolWidget.js → mjs/src/toolbar/widgets/PenToolWidget.mjs} +10 -10
  294. package/dist/mjs/src/toolbar/widgets/SelectionToolWidget.d.ts +13 -0
  295. package/dist/{src/toolbar/widgets/SelectionToolWidget.js → mjs/src/toolbar/widgets/SelectionToolWidget.mjs} +8 -8
  296. package/dist/mjs/src/toolbar/widgets/TextToolWidget.d.ts +16 -0
  297. package/dist/{src/toolbar/widgets/TextToolWidget.js → mjs/src/toolbar/widgets/TextToolWidget.mjs} +5 -5
  298. package/dist/mjs/src/toolbar/widgets/lib.mjs +10 -0
  299. package/dist/mjs/src/tools/BaseTool.d.ts +22 -0
  300. package/dist/{src/tools/BaseTool.js → mjs/src/tools/BaseTool.mjs} +1 -1
  301. package/dist/mjs/src/tools/Eraser.d.ts +23 -0
  302. package/dist/{src/tools/Eraser.js → mjs/src/tools/Eraser.mjs} +8 -8
  303. package/dist/mjs/src/tools/FindTool.d.ts +21 -0
  304. package/dist/{src/tools/FindTool.js → mjs/src/tools/FindTool.mjs} +2 -2
  305. package/dist/mjs/src/tools/PanZoom.d.ts +52 -0
  306. package/dist/{src/tools/PanZoom.js → mjs/src/tools/PanZoom.mjs} +8 -8
  307. package/dist/mjs/src/tools/PasteHandler.d.ts +23 -0
  308. package/dist/{src/tools/PasteHandler.js → mjs/src/tools/PasteHandler.mjs} +7 -7
  309. package/dist/mjs/src/tools/Pen.d.ts +39 -0
  310. package/dist/{src/tools/Pen.js → mjs/src/tools/Pen.mjs} +5 -5
  311. package/dist/mjs/src/tools/PipetteTool.d.ts +18 -0
  312. package/dist/{src/tools/PipetteTool.js → mjs/src/tools/PipetteTool.mjs} +1 -1
  313. package/dist/mjs/src/tools/SelectionTool/SelectAllShortcutHandler.d.ts +8 -0
  314. package/dist/{src/tools/SelectionTool/SelectAllShortcutHandler.js → mjs/src/tools/SelectionTool/SelectAllShortcutHandler.mjs} +2 -2
  315. package/dist/mjs/src/tools/SelectionTool/Selection.d.ts +64 -0
  316. package/dist/{src/tools/SelectionTool/Selection.js → mjs/src/tools/SelectionTool/Selection.mjs} +12 -12
  317. package/dist/mjs/src/tools/SelectionTool/SelectionHandle.d.ts +38 -0
  318. package/dist/{src/tools/SelectionTool/SelectionHandle.js → mjs/src/tools/SelectionTool/SelectionHandle.mjs} +3 -3
  319. package/dist/mjs/src/tools/SelectionTool/SelectionTool.d.ts +36 -0
  320. package/dist/{src/tools/SelectionTool/SelectionTool.js → mjs/src/tools/SelectionTool/SelectionTool.mjs} +8 -8
  321. package/dist/mjs/src/tools/SelectionTool/TransformMode.d.ts +34 -0
  322. package/dist/{src/tools/SelectionTool/TransformMode.js → mjs/src/tools/SelectionTool/TransformMode.mjs} +4 -4
  323. package/dist/mjs/src/tools/SelectionTool/types.d.ts +9 -0
  324. package/dist/mjs/src/tools/TextTool.d.ts +33 -0
  325. package/dist/{src/tools/TextTool.js → mjs/src/tools/TextTool.mjs} +11 -11
  326. package/dist/mjs/src/tools/ToolController.d.ts +18 -0
  327. package/dist/{src/tools/ToolController.js → mjs/src/tools/ToolController.mjs} +16 -16
  328. package/dist/mjs/src/tools/ToolEnabledGroup.d.ts +6 -0
  329. package/dist/mjs/src/tools/ToolSwitcherShortcut.d.ts +16 -0
  330. package/dist/{src/tools/ToolSwitcherShortcut.js → mjs/src/tools/ToolSwitcherShortcut.mjs} +1 -1
  331. package/dist/mjs/src/tools/ToolbarShortcutHandler.d.ts +12 -0
  332. package/dist/{src/tools/ToolbarShortcutHandler.js → mjs/src/tools/ToolbarShortcutHandler.mjs} +1 -1
  333. package/dist/mjs/src/tools/UndoRedoShortcut.d.ts +8 -0
  334. package/dist/{src/tools/UndoRedoShortcut.js → mjs/src/tools/UndoRedoShortcut.mjs} +1 -1
  335. package/dist/{src/tools/lib.js → mjs/src/tools/lib.d.ts} +1 -1
  336. package/dist/mjs/src/tools/lib.mjs +16 -0
  337. package/dist/mjs/src/tools/localization.d.ts +28 -0
  338. package/dist/mjs/src/types.d.ts +151 -0
  339. package/dist/mjs/src/util/assertions.d.ts +23 -0
  340. package/dist/mjs/src/util/fileToBase64.d.ts +3 -0
  341. package/dist/mjs/src/util/untilNextAnimationFrame.d.ts +3 -0
  342. package/dist/mjs/src/util/waitForTimeout.d.ts +2 -0
  343. package/package.json +34 -33
  344. package/src/Color4.ts +2 -0
  345. package/tsconfig.json +3 -2
  346. package/tsconfig.mjs.json +9 -0
  347. /package/dist/{build_tools → cjs/build_tools}/BundledFile.d.ts +0 -0
  348. /package/dist/{build_tools → cjs/build_tools}/buildTranslationTemplate.d.ts +0 -0
  349. /package/dist/{build_tools → cjs/build_tools}/bundle.d.ts +0 -0
  350. /package/dist/{src/components/builders/types.js → cjs/build_tools/postDist.d.ts} +0 -0
  351. /package/dist/{src → cjs/src}/Editor.d.ts +0 -0
  352. /package/dist/{src → cjs/src}/EditorImage.d.ts +0 -0
  353. /package/dist/{src → cjs/src}/EventDispatcher.d.ts +0 -0
  354. /package/dist/{src → cjs/src}/Pointer.d.ts +0 -0
  355. /package/dist/{src → cjs/src}/SVGLoader.d.ts +0 -0
  356. /package/dist/{src → cjs/src}/UndoRedoHistory.d.ts +0 -0
  357. /package/dist/{src → cjs/src}/Viewport.d.ts +0 -0
  358. /package/dist/{src → cjs/src}/bundle/bundled.d.ts +0 -0
  359. /package/dist/{src → cjs/src}/commands/Command.d.ts +0 -0
  360. /package/dist/{src → cjs/src}/commands/Duplicate.d.ts +0 -0
  361. /package/dist/{src → cjs/src}/commands/Erase.d.ts +0 -0
  362. /package/dist/{src → cjs/src}/commands/SerializableCommand.d.ts +0 -0
  363. /package/dist/{src → cjs/src}/commands/UnresolvedCommand.d.ts +0 -0
  364. /package/dist/{src → cjs/src}/commands/invertCommand.d.ts +0 -0
  365. /package/dist/{src → cjs/src}/commands/lib.d.ts +0 -0
  366. /package/dist/{src → cjs/src}/commands/localization.d.ts +0 -0
  367. /package/dist/{src → cjs/src}/commands/uniteCommands.d.ts +0 -0
  368. /package/dist/{src → cjs/src}/components/AbstractComponent.d.ts +0 -0
  369. /package/dist/{src → cjs/src}/components/ImageBackground.d.ts +0 -0
  370. /package/dist/{src → cjs/src}/components/ImageComponent.d.ts +0 -0
  371. /package/dist/{src → cjs/src}/components/RestylableComponent.d.ts +0 -0
  372. /package/dist/{src → cjs/src}/components/SVGGlobalAttributesObject.d.ts +0 -0
  373. /package/dist/{src → cjs/src}/components/Stroke.d.ts +0 -0
  374. /package/dist/{src → cjs/src}/components/TextComponent.d.ts +0 -0
  375. /package/dist/{src → cjs/src}/components/UnknownSVGObject.d.ts +0 -0
  376. /package/dist/{src → cjs/src}/components/builders/ArrowBuilder.d.ts +0 -0
  377. /package/dist/{src → cjs/src}/components/builders/FreehandLineBuilder.d.ts +0 -0
  378. /package/dist/{src → cjs/src}/components/builders/LineBuilder.d.ts +0 -0
  379. /package/dist/{src → cjs/src}/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +0 -0
  380. /package/dist/{src → cjs/src}/components/builders/RectangleBuilder.d.ts +0 -0
  381. /package/dist/{src → cjs/src}/components/builders/types.d.ts +0 -0
  382. /package/dist/{src → cjs/src}/components/lib.d.ts +0 -0
  383. /package/dist/{src → cjs/src}/components/localization.d.ts +0 -0
  384. /package/dist/{src → cjs/src}/components/util/StrokeSmoother.d.ts +0 -0
  385. /package/dist/{src → cjs/src}/components/util/describeComponentList.d.ts +0 -0
  386. /package/dist/{src → cjs/src}/lib.d.ts +0 -0
  387. /package/dist/{src → cjs/src}/localization.d.ts +0 -0
  388. /package/dist/{src → cjs/src}/localizations/de.d.ts +0 -0
  389. /package/dist/{src → cjs/src}/localizations/en.d.ts +0 -0
  390. /package/dist/{src → cjs/src}/localizations/es.d.ts +0 -0
  391. /package/dist/{src → cjs/src}/localizations/getLocalizationTable.d.ts +0 -0
  392. /package/dist/{src → cjs/src}/math/LineSegment2.d.ts +0 -0
  393. /package/dist/{src → cjs/src}/math/Mat33.d.ts +0 -0
  394. /package/dist/{src → cjs/src}/math/Path.d.ts +0 -0
  395. /package/dist/{src → cjs/src}/math/Rect2.d.ts +0 -0
  396. /package/dist/{src → cjs/src}/math/Triangle.d.ts +0 -0
  397. /package/dist/{src → cjs/src}/math/Vec2.d.ts +0 -0
  398. /package/dist/{src → cjs/src}/math/Vec3.d.ts +0 -0
  399. /package/dist/{src → cjs/src}/math/lib.d.ts +0 -0
  400. /package/dist/{src → cjs/src}/math/rounding.d.ts +0 -0
  401. /package/dist/{src → cjs/src}/rendering/Display.d.ts +0 -0
  402. /package/dist/{src → cjs/src}/rendering/RenderingStyle.d.ts +0 -0
  403. /package/dist/{src → cjs/src}/rendering/TextRenderingStyle.d.ts +0 -0
  404. /package/dist/{src → cjs/src}/rendering/caching/CacheRecord.d.ts +0 -0
  405. /package/dist/{src → cjs/src}/rendering/caching/CacheRecordManager.d.ts +0 -0
  406. /package/dist/{src → cjs/src}/rendering/caching/RenderingCache.d.ts +0 -0
  407. /package/dist/{src → cjs/src}/rendering/caching/RenderingCacheNode.d.ts +0 -0
  408. /package/dist/{src → cjs/src}/rendering/caching/testUtils.d.ts +0 -0
  409. /package/dist/{src → cjs/src}/rendering/caching/types.d.ts +0 -0
  410. /package/dist/{src → cjs/src}/rendering/lib.d.ts +0 -0
  411. /package/dist/{src → cjs/src}/rendering/localization.d.ts +0 -0
  412. /package/dist/{src → cjs/src}/rendering/renderers/AbstractRenderer.d.ts +0 -0
  413. /package/dist/{src → cjs/src}/rendering/renderers/CanvasRenderer.d.ts +0 -0
  414. /package/dist/{src → cjs/src}/rendering/renderers/DummyRenderer.d.ts +0 -0
  415. /package/dist/{src → cjs/src}/rendering/renderers/SVGRenderer.d.ts +0 -0
  416. /package/dist/{src → cjs/src}/rendering/renderers/TextOnlyRenderer.d.ts +0 -0
  417. /package/dist/{src → cjs/src}/testing/beforeEachFile.d.ts +0 -0
  418. /package/dist/{src → cjs/src}/testing/createEditor.d.ts +0 -0
  419. /package/dist/{src → cjs/src}/testing/lib.d.ts +0 -0
  420. /package/dist/{src → cjs/src}/testing/loadExpectExtensions.d.ts +0 -0
  421. /package/dist/{src → cjs/src}/testing/sendPenEvent.d.ts +0 -0
  422. /package/dist/{src → cjs/src}/testing/sendTouchEvent.d.ts +0 -0
  423. /package/dist/{src → cjs/src}/toolbar/HTMLToolbar.d.ts +0 -0
  424. /package/dist/{src → cjs/src}/toolbar/IconProvider.d.ts +0 -0
  425. /package/dist/{src → cjs/src}/toolbar/lib.d.ts +0 -0
  426. /package/dist/{src → cjs/src}/toolbar/localization.d.ts +0 -0
  427. /package/dist/{src → cjs/src}/toolbar/makeColorInput.d.ts +0 -0
  428. /package/dist/{src → cjs/src}/toolbar/types.d.ts +0 -0
  429. /package/dist/{src → cjs/src}/toolbar/widgets/ActionButtonWidget.d.ts +0 -0
  430. /package/dist/{src → cjs/src}/toolbar/widgets/BaseToolWidget.d.ts +0 -0
  431. /package/dist/{src → cjs/src}/toolbar/widgets/BaseWidget.d.ts +0 -0
  432. /package/dist/{src → cjs/src}/toolbar/widgets/DocumentPropertiesWidget.d.ts +0 -0
  433. /package/dist/{src → cjs/src}/toolbar/widgets/EraserToolWidget.d.ts +0 -0
  434. /package/dist/{src → cjs/src}/toolbar/widgets/HandToolWidget.d.ts +0 -0
  435. /package/dist/{src → cjs/src}/toolbar/widgets/InsertImageWidget.d.ts +0 -0
  436. /package/dist/{src → cjs/src}/toolbar/widgets/OverflowWidget.d.ts +0 -0
  437. /package/dist/{src → cjs/src}/toolbar/widgets/PenToolWidget.d.ts +0 -0
  438. /package/dist/{src → cjs/src}/toolbar/widgets/SelectionToolWidget.d.ts +0 -0
  439. /package/dist/{src → cjs/src}/toolbar/widgets/TextToolWidget.d.ts +0 -0
  440. /package/dist/{src → cjs/src}/toolbar/widgets/lib.d.ts +0 -0
  441. /package/dist/{src → cjs/src}/tools/BaseTool.d.ts +0 -0
  442. /package/dist/{src → cjs/src}/tools/Eraser.d.ts +0 -0
  443. /package/dist/{src → cjs/src}/tools/FindTool.d.ts +0 -0
  444. /package/dist/{src → cjs/src}/tools/PanZoom.d.ts +0 -0
  445. /package/dist/{src → cjs/src}/tools/PasteHandler.d.ts +0 -0
  446. /package/dist/{src → cjs/src}/tools/Pen.d.ts +0 -0
  447. /package/dist/{src → cjs/src}/tools/PipetteTool.d.ts +0 -0
  448. /package/dist/{src → cjs/src}/tools/SelectionTool/SelectAllShortcutHandler.d.ts +0 -0
  449. /package/dist/{src → cjs/src}/tools/SelectionTool/Selection.d.ts +0 -0
  450. /package/dist/{src → cjs/src}/tools/SelectionTool/SelectionHandle.d.ts +0 -0
  451. /package/dist/{src → cjs/src}/tools/SelectionTool/SelectionTool.d.ts +0 -0
  452. /package/dist/{src → cjs/src}/tools/SelectionTool/TransformMode.d.ts +0 -0
  453. /package/dist/{src → cjs/src}/tools/SelectionTool/types.d.ts +0 -0
  454. /package/dist/{src → cjs/src}/tools/TextTool.d.ts +0 -0
  455. /package/dist/{src → cjs/src}/tools/ToolController.d.ts +0 -0
  456. /package/dist/{src → cjs/src}/tools/ToolEnabledGroup.d.ts +0 -0
  457. /package/dist/{src → cjs/src}/tools/ToolSwitcherShortcut.d.ts +0 -0
  458. /package/dist/{src → cjs/src}/tools/ToolbarShortcutHandler.d.ts +0 -0
  459. /package/dist/{src → cjs/src}/tools/UndoRedoShortcut.d.ts +0 -0
  460. /package/dist/{src → cjs/src}/tools/lib.d.ts +0 -0
  461. /package/dist/{src → cjs/src}/tools/localization.d.ts +0 -0
  462. /package/dist/{src → cjs/src}/types.d.ts +0 -0
  463. /package/dist/{src → cjs/src}/util/assertions.d.ts +0 -0
  464. /package/dist/{src → cjs/src}/util/fileToBase64.d.ts +0 -0
  465. /package/dist/{src → cjs/src}/util/untilNextAnimationFrame.d.ts +0 -0
  466. /package/dist/{src → cjs/src}/util/waitForTimeout.d.ts +0 -0
  467. /package/dist/{build_tools/BundledFile.js → mjs/build_tools/BundledFile.mjs} +0 -0
  468. /package/dist/{src/rendering/caching/types.js → mjs/build_tools/buildTranslationTemplate.d.ts} +0 -0
  469. /package/dist/{src/toolbar/types.js → mjs/build_tools/bundle.d.ts} +0 -0
  470. /package/dist/{src/EventDispatcher.js → mjs/src/EventDispatcher.mjs} +0 -0
  471. /package/dist/{src/commands/Command.js → mjs/src/commands/Command.mjs} +0 -0
  472. /package/dist/{src/commands/lib.js → mjs/src/commands/lib.d.ts} +0 -0
  473. /package/dist/{src/commands/localization.js → mjs/src/commands/localization.mjs} +0 -0
  474. /package/dist/{src/components/localization.js → mjs/src/components/localization.mjs} +0 -0
  475. /package/dist/{src/components/util/describeComponentList.js → mjs/src/components/util/describeComponentList.mjs} +0 -0
  476. /package/dist/{src/math/Triangle.js → mjs/src/math/Triangle.mjs} +0 -0
  477. /package/dist/{src/math/Vec3.js → mjs/src/math/Vec3.mjs} +0 -0
  478. /package/dist/{src/math/lib.js → mjs/src/math/lib.d.ts} +0 -0
  479. /package/dist/{src/math/rounding.js → mjs/src/math/rounding.mjs} +0 -0
  480. /package/dist/{src/rendering/lib.js → mjs/src/rendering/lib.d.ts} +0 -0
  481. /package/dist/{src/rendering/localization.js → mjs/src/rendering/localization.mjs} +0 -0
  482. /package/dist/{src/testing/lib.js → mjs/src/testing/lib.d.ts} +0 -0
  483. /package/dist/{src/testing/loadExpectExtensions.js → mjs/src/testing/loadExpectExtensions.mjs} +0 -0
  484. /package/dist/{src/toolbar/lib.js → mjs/src/toolbar/lib.d.ts} +0 -0
  485. /package/dist/{src/toolbar/localization.js → mjs/src/toolbar/localization.mjs} +0 -0
  486. /package/dist/{src/toolbar/widgets/lib.js → mjs/src/toolbar/widgets/lib.d.ts} +0 -0
  487. /package/dist/{src/tools/SelectionTool/types.js → mjs/src/tools/SelectionTool/types.mjs} +0 -0
  488. /package/dist/{src/tools/ToolEnabledGroup.js → mjs/src/tools/ToolEnabledGroup.mjs} +0 -0
  489. /package/dist/{src/tools/localization.js → mjs/src/tools/localization.mjs} +0 -0
  490. /package/dist/{src/types.js → mjs/src/types.mjs} +0 -0
  491. /package/dist/{src/util/assertions.js → mjs/src/util/assertions.mjs} +0 -0
  492. /package/dist/{src/util/fileToBase64.js → mjs/src/util/fileToBase64.mjs} +0 -0
  493. /package/dist/{src/util/untilNextAnimationFrame.js → mjs/src/util/untilNextAnimationFrame.mjs} +0 -0
  494. /package/dist/{src/util/waitForTimeout.js → mjs/src/util/waitForTimeout.mjs} +0 -0
@@ -0,0 +1,106 @@
1
+ /**
2
+ * A vector with three components. Can also be used to represent a two-component vector.
3
+ *
4
+ * A `Vec3` is immutable.
5
+ */
6
+ export default class Vec3 {
7
+ readonly x: number;
8
+ readonly y: number;
9
+ readonly z: number;
10
+ private constructor();
11
+ /** Returns the x, y components of this. */
12
+ get xy(): {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ static of(x: number, y: number, z: number): Vec3;
17
+ /** Returns this' `idx`th component. For example, `Vec3.of(1, 2, 3).at(1) → 2`. */
18
+ at(idx: number): number;
19
+ /** Alias for this.magnitude. */
20
+ length(): number;
21
+ magnitude(): number;
22
+ magnitudeSquared(): number;
23
+ /**
24
+ * Return this' angle in the XY plane (treats this as a Vec2).
25
+ *
26
+ * This is equivalent to `Math.atan2(vec.y, vec.x)`.
27
+ */
28
+ angle(): number;
29
+ /**
30
+ * Returns a unit vector in the same direction as this.
31
+ *
32
+ * If `this` has zero length, the resultant vector has `NaN` components.
33
+ */
34
+ normalized(): Vec3;
35
+ /** @returns A copy of `this` multiplied by a scalar. */
36
+ times(c: number): Vec3;
37
+ plus(v: Vec3): Vec3;
38
+ minus(v: Vec3): Vec3;
39
+ dot(other: Vec3): number;
40
+ cross(other: Vec3): Vec3;
41
+ /**
42
+ * If `other` is a `Vec3`, multiplies `this` component-wise by `other`. Otherwise,
43
+ * if `other is a `number`, returns the result of scalar multiplication.
44
+ *
45
+ * @example
46
+ * ```
47
+ * Vec3.of(1, 2, 3).scale(Vec3.of(2, 4, 6)); // → Vec3(2, 8, 18)
48
+ * ```
49
+ */
50
+ scale(other: Vec3 | number): Vec3;
51
+ /**
52
+ * Returns a vector orthogonal to this. If this is a Vec2, returns `this` rotated
53
+ * 90 degrees counter-clockwise.
54
+ */
55
+ orthog(): Vec3;
56
+ /** Returns this plus a vector of length `distance` in `direction`. */
57
+ extend(distance: number, direction: Vec3): Vec3;
58
+ /** Returns a vector `fractionTo` of the way to target from this. */
59
+ lerp(target: Vec3, fractionTo: number): Vec3;
60
+ /**
61
+ * `zip` Maps a component of this and a corresponding component of
62
+ * `other` to a component of the output vector.
63
+ *
64
+ * @example
65
+ * ```
66
+ * const a = Vec3.of(1, 2, 3);
67
+ * const b = Vec3.of(0.5, 2.1, 2.9);
68
+ *
69
+ * const zipped = a.zip(b, (aComponent, bComponent) => {
70
+ * return Math.min(aComponent, bComponent);
71
+ * });
72
+ *
73
+ * console.log(zipped.toString()); // → Vec(0.5, 2, 2.9)
74
+ * ```
75
+ */
76
+ zip(other: Vec3, zip: (componentInThis: number, componentInOther: number) => number): Vec3;
77
+ /**
78
+ * Returns a vector with each component acted on by `fn`.
79
+ *
80
+ * @example
81
+ * ```
82
+ * console.log(Vec3.of(1, 2, 3).map(val => val + 1)); // → Vec(2, 3, 4)
83
+ * ```
84
+ */
85
+ map(fn: (component: number, index: number) => number): Vec3;
86
+ asArray(): [number, number, number];
87
+ /**
88
+ * [fuzz] The maximum difference between two components for this and [other]
89
+ * to be considered equal.
90
+ *
91
+ * @example
92
+ * ```
93
+ * Vec3.of(1, 2, 3).eq(Vec3.of(4, 5, 6), 100); // → true
94
+ * Vec3.of(1, 2, 3).eq(Vec3.of(4, 5, 6), 0.1); // → false
95
+ * Vec3.of(1, 2, 3).eq(Vec3.of(4, 5, 6), 3); // → true
96
+ * Vec3.of(1, 2, 3).eq(Vec3.of(4, 5, 6), 3.01); // → true
97
+ * Vec3.of(1, 2, 3).eq(Vec3.of(4, 5, 6), 2.99); // → false
98
+ * ```
99
+ */
100
+ eq(other: Vec3, fuzz?: number): boolean;
101
+ toString(): string;
102
+ static unitX: Vec3;
103
+ static unitY: Vec3;
104
+ static unitZ: Vec3;
105
+ static zero: Vec3;
106
+ }
@@ -0,0 +1,7 @@
1
+ import LineSegment2 from './LineSegment2.mjs';
2
+ import Mat33 from './Mat33.mjs';
3
+ import Path from './Path.mjs';
4
+ import Rect2 from './Rect2.mjs';
5
+ import { Vec2 } from './Vec2.mjs';
6
+ import Vec3 from './Vec3.mjs';
7
+ export { LineSegment2, Mat33, Path, Rect2, Vec3, Vec2, };
@@ -0,0 +1,4 @@
1
+ export declare const cleanUpNumber: (text: string) => string;
2
+ export declare const toRoundedString: (num: number) => string;
3
+ export declare const getLenAfterDecimal: (numberAsString: string) => number;
4
+ export declare const toStringOfSamePrecision: (num: number, ...references: string[]) => string;
@@ -0,0 +1,75 @@
1
+ import AbstractRenderer from './renderers/AbstractRenderer';
2
+ import { Editor } from '../Editor';
3
+ import { Point2 } from '../math/Vec2';
4
+ import RenderingCache from './caching/RenderingCache';
5
+ import Color4 from '../Color4';
6
+ export declare enum RenderingMode {
7
+ DummyRenderer = 0,
8
+ CanvasRenderer = 1
9
+ }
10
+ /**
11
+ * Handles `HTMLCanvasElement`s (or other drawing surfaces if being used) used to display the editor's contents.
12
+ *
13
+ * @example
14
+ * ```
15
+ * const editor = new Editor(document.body);
16
+ * const w = editor.display.width;
17
+ * const h = editor.display.height;
18
+ * const center = Vec2.of(w / 2, h / 2);
19
+ * const colorAtCenter = editor.display.getColorAt(center);
20
+ * ```
21
+ */
22
+ export default class Display {
23
+ private editor;
24
+ private parent;
25
+ private dryInkRenderer;
26
+ private wetInkRenderer;
27
+ private textRenderer;
28
+ private textRerenderOutput;
29
+ private cache;
30
+ private resizeSurfacesCallback?;
31
+ private flattenCallback?;
32
+ /** @internal */
33
+ constructor(editor: Editor, mode: RenderingMode, parent: HTMLElement | null);
34
+ /**
35
+ * @returns the visible width of the display (e.g. how much
36
+ * space the display's element takes up in the x direction
37
+ * in the DOM).
38
+ */
39
+ get width(): number;
40
+ get height(): number;
41
+ /** @internal */
42
+ getCache(): RenderingCache;
43
+ /**
44
+ * @returns the color at the given point on the dry ink renderer, or `null` if `screenPos`
45
+ * is not on the display.
46
+ */
47
+ getColorAt: (_screenPos: Point2) => Color4 | null;
48
+ private initializeCanvasRendering;
49
+ private initializeTextRendering;
50
+ /**
51
+ * Rerenders the text-based display.
52
+ * The text-based display is intended for screen readers and can be navigated to by pressing `tab`.
53
+ */
54
+ rerenderAsText(): void;
55
+ /**
56
+ * Clears the drawing surfaces and otherwise prepares for a rerender.
57
+ *
58
+ * @returns the dry ink renderer.
59
+ */
60
+ startRerender(): AbstractRenderer;
61
+ /**
62
+ * If `draftMode`, the dry ink renderer is configured to render
63
+ * low-quality output.
64
+ */
65
+ setDraftMode(draftMode: boolean): void;
66
+ /** @internal */
67
+ getDryInkRenderer(): AbstractRenderer;
68
+ /**
69
+ * @returns The renderer used for showing action previews (e.g. an unfinished stroke).
70
+ * The `wetInkRenderer`'s surface is stacked above the `dryInkRenderer`'s.
71
+ */
72
+ getWetInkRenderer(): AbstractRenderer;
73
+ /** Re-renders the contents of the wetInkRenderer onto the dryInkRenderer. */
74
+ flatten(): void;
75
+ }
@@ -1,10 +1,10 @@
1
- import CanvasRenderer from './renderers/CanvasRenderer';
2
- import { EditorEventType } from '../types';
3
- import DummyRenderer from './renderers/DummyRenderer';
4
- import { Vec2 } from '../math/Vec2';
5
- import RenderingCache from './caching/RenderingCache';
6
- import TextOnlyRenderer from './renderers/TextOnlyRenderer';
7
- import Color4 from '../Color4';
1
+ import CanvasRenderer from './renderers/CanvasRenderer.mjs';
2
+ import { EditorEventType } from '../types.mjs';
3
+ import DummyRenderer from './renderers/DummyRenderer.mjs';
4
+ import { Vec2 } from '../math/Vec2.mjs';
5
+ import RenderingCache from './caching/RenderingCache.mjs';
6
+ import TextOnlyRenderer from './renderers/TextOnlyRenderer.mjs';
7
+ import Color4 from '../Color4.mjs';
8
8
  export var RenderingMode;
9
9
  (function (RenderingMode) {
10
10
  RenderingMode[RenderingMode["DummyRenderer"] = 0] = "DummyRenderer";
@@ -0,0 +1,31 @@
1
+ import Color4 from '../Color4';
2
+ interface RenderingStyle {
3
+ fill: Color4;
4
+ stroke?: {
5
+ color: Color4;
6
+ width: number;
7
+ };
8
+ }
9
+ export default RenderingStyle;
10
+ export declare const cloneStyle: (style: RenderingStyle) => {
11
+ fill: Color4;
12
+ stroke: {
13
+ color: Color4;
14
+ width: number;
15
+ } | undefined;
16
+ };
17
+ export declare const stylesEqual: (a: RenderingStyle, b: RenderingStyle) => boolean;
18
+ export declare const styleToJSON: (style: RenderingStyle) => {
19
+ fill: string;
20
+ stroke: {
21
+ color: string;
22
+ width: number;
23
+ } | undefined;
24
+ };
25
+ export declare const styleFromJSON: (json: Record<string, any>) => {
26
+ fill: Color4;
27
+ stroke: {
28
+ color: Color4;
29
+ width: any;
30
+ } | undefined;
31
+ };
@@ -1,4 +1,4 @@
1
- import Color4 from '../Color4';
1
+ import Color4 from '../Color4.mjs';
2
2
  export const cloneStyle = (style) => {
3
3
  return {
4
4
  fill: style.fill,
@@ -0,0 +1,36 @@
1
+ import RenderingStyle from './RenderingStyle';
2
+ export interface TextStyle {
3
+ size: number;
4
+ fontFamily: string;
5
+ fontWeight?: string;
6
+ fontVariant?: string;
7
+ renderingStyle: RenderingStyle;
8
+ }
9
+ export default TextStyle;
10
+ export declare const cloneTextStyle: (style: TextStyle) => {
11
+ renderingStyle: {
12
+ fill: import("../Color4").default;
13
+ stroke: {
14
+ color: import("../Color4").default;
15
+ width: number;
16
+ } | undefined;
17
+ };
18
+ size: number;
19
+ fontFamily: string;
20
+ fontWeight?: string | undefined;
21
+ fontVariant?: string | undefined;
22
+ };
23
+ export declare const textStyleFromJSON: (json: any) => TextStyle;
24
+ export declare const textStyleToJSON: (style: TextStyle) => {
25
+ renderingStyle: {
26
+ fill: string;
27
+ stroke: {
28
+ color: string;
29
+ width: number;
30
+ } | undefined;
31
+ };
32
+ size: number;
33
+ fontFamily: string;
34
+ fontWeight?: string | undefined;
35
+ fontVariant?: string | undefined;
36
+ };
@@ -1,4 +1,4 @@
1
- import { cloneStyle, styleFromJSON, styleToJSON } from './RenderingStyle';
1
+ import { cloneStyle, styleFromJSON, styleToJSON } from './RenderingStyle.mjs';
2
2
  export const cloneTextStyle = (style) => {
3
3
  return Object.assign(Object.assign({}, style), { renderingStyle: cloneStyle(style.renderingStyle) });
4
4
  };
@@ -0,0 +1,20 @@
1
+ import Mat33 from '../../math/Mat33';
2
+ import Rect2 from '../../math/Rect2';
3
+ import AbstractRenderer from '../renderers/AbstractRenderer';
4
+ import { BeforeDeallocCallback, CacheState } from './types';
5
+ export default class CacheRecord {
6
+ private onBeforeDeallocCallback;
7
+ private cacheState;
8
+ private renderer;
9
+ private lastUsedCycle;
10
+ private allocd;
11
+ allocCount: number;
12
+ constructor(onBeforeDeallocCallback: BeforeDeallocCallback | null, cacheState: CacheState);
13
+ startRender(): AbstractRenderer;
14
+ dealloc(): void;
15
+ isAllocd(): boolean;
16
+ realloc(newDeallocCallback: BeforeDeallocCallback): void;
17
+ getLastUsedCycle(): number;
18
+ getTransform(drawTo: Rect2): Mat33;
19
+ setRenderingRegion(drawTo: Rect2): void;
20
+ }
@@ -1,4 +1,4 @@
1
- import Mat33 from '../../math/Mat33';
1
+ import Mat33 from '../../math/Mat33.mjs';
2
2
  // Represents a cached renderer/canvas
3
3
  // This is not a [CacheNode] -- it handles cached renderers and does not have sub-renderers.
4
4
  export default class CacheRecord {
@@ -0,0 +1,12 @@
1
+ import { BeforeDeallocCallback, CacheProps, CacheState } from './types';
2
+ import CacheRecord from './CacheRecord';
3
+ import Rect2 from '../../math/Rect2';
4
+ export declare class CacheRecordManager {
5
+ private cacheRecords;
6
+ private maxCanvases;
7
+ private cacheState;
8
+ constructor(cacheProps: CacheProps);
9
+ setSharedState(state: CacheState): void;
10
+ allocCanvas(drawTo: Rect2, onDealloc: BeforeDeallocCallback): CacheRecord;
11
+ private getLeastRecentlyUsedRecord;
12
+ }
@@ -1,4 +1,4 @@
1
- import CacheRecord from './CacheRecord';
1
+ import CacheRecord from './CacheRecord.mjs';
2
2
  const debugMode = false;
3
3
  export class CacheRecordManager {
4
4
  constructor(cacheProps) {
@@ -0,0 +1,11 @@
1
+ import { ImageNode } from '../../EditorImage';
2
+ import Viewport from '../../Viewport';
3
+ import AbstractRenderer from '../renderers/AbstractRenderer';
4
+ import { CacheProps } from './types';
5
+ export default class RenderingCache {
6
+ private sharedState;
7
+ private recordManager;
8
+ private rootNode;
9
+ constructor(cacheProps: CacheProps);
10
+ render(screenRenderer: AbstractRenderer, image: ImageNode, viewport: Viewport): void;
11
+ }
@@ -1,6 +1,6 @@
1
- import Rect2 from '../../math/Rect2';
2
- import RenderingCacheNode from './RenderingCacheNode';
3
- import { CacheRecordManager } from './CacheRecordManager';
1
+ import Rect2 from '../../math/Rect2.mjs';
2
+ import RenderingCacheNode from './RenderingCacheNode.mjs';
3
+ import { CacheRecordManager } from './CacheRecordManager.mjs';
4
4
  export default class RenderingCache {
5
5
  constructor(cacheProps) {
6
6
  this.recordManager = new CacheRecordManager(cacheProps);
@@ -0,0 +1,29 @@
1
+ import { ImageNode } from '../../EditorImage';
2
+ import Rect2 from '../../math/Rect2';
3
+ import Viewport from '../../Viewport';
4
+ import AbstractRenderer from '../renderers/AbstractRenderer';
5
+ import { CacheState } from './types';
6
+ export default class RenderingCacheNode {
7
+ readonly region: Rect2;
8
+ private readonly cacheState;
9
+ private instantiatedChildren;
10
+ private parent;
11
+ private cachedRenderer;
12
+ private renderedIds;
13
+ private renderedMaxZIndex;
14
+ constructor(region: Rect2, cacheState: CacheState);
15
+ generateParent(): RenderingCacheNode;
16
+ private generateChildren;
17
+ private getChildren;
18
+ smallestChildContaining(rect: Rect2): RenderingCacheNode | null;
19
+ private renderingWouldBeHighEnoughResolution;
20
+ private allChildrenCanRender;
21
+ private computeSortedByLeafIds;
22
+ private idsOfIntersecting;
23
+ private allRenderedIdsIn;
24
+ private renderingIsUpToDate;
25
+ renderItems(screenRenderer: AbstractRenderer, items: ImageNode[], viewport: Viewport): void;
26
+ private isEmpty;
27
+ private onRegionDealloc;
28
+ private checkRep;
29
+ }
@@ -1,7 +1,7 @@
1
1
  // A cache record with sub-nodes.
2
- import Color4 from '../../Color4';
3
- import { sortLeavesByZIndex } from '../../EditorImage';
4
- import Rect2 from '../../math/Rect2';
2
+ import Color4 from '../../Color4.mjs';
3
+ import { sortLeavesByZIndex } from '../../EditorImage.mjs';
4
+ import Rect2 from '../../math/Rect2.mjs';
5
5
  // 3x3 divisions for each node.
6
6
  const cacheDivisionSize = 3;
7
7
  // True: Show rendering updates.
@@ -0,0 +1,9 @@
1
+ import DummyRenderer from '../renderers/DummyRenderer';
2
+ import RenderingCache from './RenderingCache';
3
+ import { CacheProps } from './types';
4
+ type RenderAllocCallback = (renderer: DummyRenderer) => void;
5
+ export declare const createCache: (onRenderAlloc?: RenderAllocCallback, cacheOptions?: Partial<CacheProps>) => {
6
+ cache: RenderingCache;
7
+ editor: import("../../Editor").Editor;
8
+ };
9
+ export {};
@@ -1,7 +1,7 @@
1
- import { Vec2 } from '../../math/Vec2';
2
- import DummyRenderer from '../renderers/DummyRenderer';
3
- import createEditor from '../../testing/createEditor';
4
- import RenderingCache from './RenderingCache';
1
+ import { Vec2 } from '../../math/Vec2.mjs';
2
+ import DummyRenderer from '../renderers/DummyRenderer.mjs';
3
+ import createEditor from '../../testing/createEditor.mjs';
4
+ import RenderingCache from './RenderingCache.mjs';
5
5
  // Override any default test options with [cacheOptions]
6
6
  export const createCache = (onRenderAlloc, cacheOptions) => {
7
7
  const editor = createEditor();
@@ -0,0 +1,19 @@
1
+ import { Vec2 } from '../../math/Vec2';
2
+ import AbstractRenderer from '../renderers/AbstractRenderer';
3
+ import { CacheRecordManager } from './CacheRecordManager';
4
+ export type CacheAddress = number;
5
+ export type BeforeDeallocCallback = () => void;
6
+ export interface CacheProps {
7
+ createRenderer(): AbstractRenderer;
8
+ isOfCorrectType(renderer: AbstractRenderer): boolean;
9
+ blockResolution: Vec2;
10
+ cacheSize: number;
11
+ maxScale: number;
12
+ minProportionalRenderTimePerCache: number;
13
+ minProportionalRenderTimeToUseCache: number;
14
+ }
15
+ export interface CacheState {
16
+ currentRenderingCycle: number;
17
+ props: CacheProps;
18
+ recordManager: CacheRecordManager;
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export { default as AbstractRenderer } from './renderers/AbstractRenderer.mjs';
2
+ export { default as DummyRenderer } from './renderers/DummyRenderer.mjs';
3
+ export { default as SVGRenderer } from './renderers/SVGRenderer.mjs';
4
+ export { default as CanvasRenderer } from './renderers/CanvasRenderer.mjs';
5
+ export { default as Display } from './Display.mjs';
@@ -0,0 +1,10 @@
1
+ export interface TextRendererLocalization {
2
+ pathNodeCount(pathCount: number): string;
3
+ textNodeCount(nodeCount: number): string;
4
+ imageNodeCount(nodeCount: number): string;
5
+ textNode(content: string): string;
6
+ unlabeledImageNode: string;
7
+ imageNode(label: string): string;
8
+ rerenderAsText: string;
9
+ }
10
+ export declare const defaultTextRendererLocalization: TextRendererLocalization;
@@ -0,0 +1,68 @@
1
+ import Color4 from '../../Color4';
2
+ import { LoadSaveDataTable } from '../../components/AbstractComponent';
3
+ import Mat33 from '../../math/Mat33';
4
+ import Path, { PathCommand } from '../../math/Path';
5
+ import Rect2 from '../../math/Rect2';
6
+ import { Point2, Vec2 } from '../../math/Vec2';
7
+ import Viewport from '../../Viewport';
8
+ import RenderingStyle from '../RenderingStyle';
9
+ import TextStyle from '../TextRenderingStyle';
10
+ export interface RenderablePathSpec {
11
+ startPoint: Point2;
12
+ commands: PathCommand[];
13
+ style: RenderingStyle;
14
+ path?: Path;
15
+ }
16
+ export interface RenderableImage {
17
+ transform: Mat33;
18
+ image: HTMLImageElement | HTMLCanvasElement;
19
+ base64Url: string;
20
+ label?: string;
21
+ }
22
+ export default abstract class AbstractRenderer {
23
+ private viewport;
24
+ private selfTransform;
25
+ private transformStack;
26
+ protected constructor(viewport: Viewport);
27
+ protected getViewport(): Viewport;
28
+ abstract displaySize(): Vec2;
29
+ abstract clear(): void;
30
+ protected abstract beginPath(startPoint: Point2): void;
31
+ protected abstract endPath(style: RenderingStyle): void;
32
+ protected abstract lineTo(point: Point2): void;
33
+ protected abstract moveTo(point: Point2): void;
34
+ protected abstract traceCubicBezierCurve(p1: Point2, p2: Point2, p3: Point2): void;
35
+ protected abstract traceQuadraticBezierCurve(controlPoint: Point2, endPoint: Point2): void;
36
+ abstract drawText(text: string, transform: Mat33, style: TextStyle): void;
37
+ abstract drawImage(image: RenderableImage): void;
38
+ abstract isTooSmallToRender(rect: Rect2): boolean;
39
+ setDraftMode(_draftMode: boolean): void;
40
+ protected objectLevel: number;
41
+ private currentPaths;
42
+ private flushPath;
43
+ drawPath(path: RenderablePathSpec): void;
44
+ drawRect(rect: Rect2, lineWidth: number, lineFill: RenderingStyle): void;
45
+ fillRect(rect: Rect2, fill: Color4): void;
46
+ startObject(_boundingBox: Rect2, _clip?: boolean): void;
47
+ /**
48
+ * Notes the end of an object.
49
+ * @param _loaderData - a map from strings to JSON-ifyable objects
50
+ * and contains properties attached to the object by whatever loader loaded the image. This
51
+ * is used to preserve attributes not supported by js-draw when loading/saving an image.
52
+ * Renderers may ignore this.
53
+ *
54
+ * @param _objectTags - a list of labels (e.g. `className`s) to be attached to the object.
55
+ * Renderers may ignore this.
56
+ */
57
+ endObject(_loaderData?: LoadSaveDataTable, _objectTags?: string[]): void;
58
+ protected getNestingLevel(): number;
59
+ abstract drawPoints(...points: Point2[]): void;
60
+ canRenderFromWithoutDataLoss(_other: AbstractRenderer): boolean;
61
+ renderFromOtherOfSameType(_renderTo: Mat33, other: AbstractRenderer): void;
62
+ setTransform(transform: Mat33 | null): void;
63
+ pushTransform(transform: Mat33): void;
64
+ popTransform(): void;
65
+ getCanvasToScreenTransform(): Mat33;
66
+ canvasToScreen(vec: Vec2): Vec2;
67
+ getSizeOfCanvasPixelOnScreen(): number;
68
+ }
@@ -1,6 +1,6 @@
1
- import Path, { PathCommandType } from '../../math/Path';
2
- import { Vec2 } from '../../math/Vec2';
3
- import { stylesEqual } from '../RenderingStyle';
1
+ import Path, { PathCommandType } from '../../math/Path.mjs';
2
+ import { Vec2 } from '../../math/Vec2.mjs';
3
+ import { stylesEqual } from '../RenderingStyle.mjs';
4
4
  export default class AbstractRenderer {
5
5
  constructor(viewport) {
6
6
  this.viewport = viewport;
@@ -0,0 +1,63 @@
1
+ import Mat33 from '../../math/Mat33';
2
+ import Rect2 from '../../math/Rect2';
3
+ import { Point2, Vec2 } from '../../math/Vec2';
4
+ import Vec3 from '../../math/Vec3';
5
+ import Viewport from '../../Viewport';
6
+ import RenderingStyle from '../RenderingStyle';
7
+ import TextStyle from '../TextRenderingStyle';
8
+ import AbstractRenderer, { RenderableImage, RenderablePathSpec } from './AbstractRenderer';
9
+ /**
10
+ * Renders onto a `CanvasRenderingContext2D`.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const editor = new Editor(document.body);
15
+ *
16
+ * const canvas = document.createElement('canvas');
17
+ * const ctx = canvas.getContext('2d');
18
+ *
19
+ * // Ensure that the canvas can fit the entire rendering
20
+ * const viewport = editor.image.getImportExportViewport();
21
+ * canvas.width = viewport.getScreenRectSize().x;
22
+ * canvas.height = viewport.getScreenRectSize().y;
23
+ *
24
+ * // Render editor.image onto the renderer
25
+ * const renderer = new CanvasRenderer(ctx, viewport);
26
+ * editor.image.render(renderer, viewport);
27
+ * ```
28
+ */
29
+ export default class CanvasRenderer extends AbstractRenderer {
30
+ private ctx;
31
+ private ignoreObjectsAboveLevel;
32
+ private ignoringObject;
33
+ private currentObjectBBox;
34
+ private minSquareCurveApproxDist;
35
+ private minRenderSizeAnyDimen;
36
+ private minRenderSizeBothDimens;
37
+ /**
38
+ * Creates a new `CanvasRenderer` that renders to the given rendering context.
39
+ * The `viewport` is used to determine the translation/rotation/scaling of the content
40
+ * to draw.
41
+ */
42
+ constructor(ctx: CanvasRenderingContext2D, viewport: Viewport);
43
+ private transformBy;
44
+ canRenderFromWithoutDataLoss(other: AbstractRenderer): boolean;
45
+ renderFromOtherOfSameType(transformBy: Mat33, other: AbstractRenderer): void;
46
+ setDraftMode(draftMode: boolean): void;
47
+ displaySize(): Vec2;
48
+ clear(): void;
49
+ protected beginPath(startPoint: Point2): void;
50
+ protected endPath(style: RenderingStyle): void;
51
+ protected lineTo(point: Point2): void;
52
+ protected moveTo(point: Point2): void;
53
+ protected traceCubicBezierCurve(p1: Point2, p2: Point2, p3: Point2): void;
54
+ protected traceQuadraticBezierCurve(controlPoint: Vec3, endPoint: Vec3): void;
55
+ drawPath(path: RenderablePathSpec): void;
56
+ drawText(text: string, transform: Mat33, style: TextStyle): void;
57
+ drawImage(image: RenderableImage): void;
58
+ private clipLevels;
59
+ startObject(boundingBox: Rect2, clip?: boolean): void;
60
+ endObject(): void;
61
+ drawPoints(...points: Point2[]): void;
62
+ isTooSmallToRender(rect: Rect2): boolean;
63
+ }
@@ -1,8 +1,8 @@
1
- import Color4 from '../../Color4';
2
- import TextComponent from '../../components/TextComponent';
3
- import Path from '../../math/Path';
4
- import { Vec2 } from '../../math/Vec2';
5
- import AbstractRenderer from './AbstractRenderer';
1
+ import Color4 from '../../Color4.mjs';
2
+ import TextComponent from '../../components/TextComponent.mjs';
3
+ import Path from '../../math/Path.mjs';
4
+ import { Vec2 } from '../../math/Vec2.mjs';
5
+ import AbstractRenderer from './AbstractRenderer.mjs';
6
6
  /**
7
7
  * Renders onto a `CanvasRenderingContext2D`.
8
8
  *