@twick/core 0.11.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 (373) hide show
  1. package/LICENSE +21 -0
  2. package/lib/app/Logger.d.ts +105 -0
  3. package/lib/app/Logger.d.ts.map +1 -0
  4. package/lib/app/Logger.js +77 -0
  5. package/lib/app/PlaybackManager.d.ts +55 -0
  6. package/lib/app/PlaybackManager.d.ts.map +1 -0
  7. package/lib/app/PlaybackManager.js +179 -0
  8. package/lib/app/PlaybackStatus.d.ts +30 -0
  9. package/lib/app/PlaybackStatus.d.ts.map +1 -0
  10. package/lib/app/PlaybackStatus.js +46 -0
  11. package/lib/app/Player.d.ts +130 -0
  12. package/lib/app/Player.d.ts.map +1 -0
  13. package/lib/app/Player.js +375 -0
  14. package/lib/app/Project.d.ts +145 -0
  15. package/lib/app/Project.d.ts.map +1 -0
  16. package/lib/app/Project.js +10 -0
  17. package/lib/app/Renderer.d.ts +90 -0
  18. package/lib/app/Renderer.d.ts.map +1 -0
  19. package/lib/app/Renderer.js +318 -0
  20. package/lib/app/SharedWebGLContext.d.ts +24 -0
  21. package/lib/app/SharedWebGLContext.d.ts.map +1 -0
  22. package/lib/app/SharedWebGLContext.js +200 -0
  23. package/lib/app/Stage.d.ts +30 -0
  24. package/lib/app/Stage.d.ts.map +1 -0
  25. package/lib/app/Stage.js +75 -0
  26. package/lib/app/TimeEstimator.d.ts +53 -0
  27. package/lib/app/TimeEstimator.d.ts.map +1 -0
  28. package/lib/app/TimeEstimator.js +70 -0
  29. package/lib/app/index.d.ts +16 -0
  30. package/lib/app/index.d.ts.map +1 -0
  31. package/lib/app/index.js +16 -0
  32. package/lib/app/makeProject.d.ts +15 -0
  33. package/lib/app/makeProject.d.ts.map +1 -0
  34. package/lib/app/makeProject.js +72 -0
  35. package/lib/app/project-settings.d.ts +8 -0
  36. package/lib/app/project-settings.d.ts.map +1 -0
  37. package/lib/app/project-settings.js +13 -0
  38. package/lib/decorators/decorate.d.ts +2 -0
  39. package/lib/decorators/decorate.d.ts.map +1 -0
  40. package/lib/decorators/decorate.js +10 -0
  41. package/lib/decorators/deprecated.d.ts +5 -0
  42. package/lib/decorators/deprecated.d.ts.map +1 -0
  43. package/lib/decorators/deprecated.js +23 -0
  44. package/lib/decorators/index.d.ts +9 -0
  45. package/lib/decorators/index.d.ts.map +1 -0
  46. package/lib/decorators/index.js +9 -0
  47. package/lib/decorators/lazy.d.ts +14 -0
  48. package/lib/decorators/lazy.d.ts.map +1 -0
  49. package/lib/decorators/lazy.js +27 -0
  50. package/lib/decorators/threadable.d.ts +2 -0
  51. package/lib/decorators/threadable.d.ts.map +1 -0
  52. package/lib/decorators/threadable.js +7 -0
  53. package/lib/events/AsyncEventDispatcher.d.ts +45 -0
  54. package/lib/events/AsyncEventDispatcher.d.ts.map +1 -0
  55. package/lib/events/AsyncEventDispatcher.js +33 -0
  56. package/lib/events/EventDispatcher.d.ts +38 -0
  57. package/lib/events/EventDispatcher.d.ts.map +1 -0
  58. package/lib/events/EventDispatcher.js +29 -0
  59. package/lib/events/EventDispatcherBase.d.ts +55 -0
  60. package/lib/events/EventDispatcherBase.d.ts.map +1 -0
  61. package/lib/events/EventDispatcherBase.js +68 -0
  62. package/lib/events/FlagDispatcher.d.ts +54 -0
  63. package/lib/events/FlagDispatcher.d.ts.map +1 -0
  64. package/lib/events/FlagDispatcher.js +63 -0
  65. package/lib/events/ValueDispatcher.d.ts +81 -0
  66. package/lib/events/ValueDispatcher.d.ts.map +1 -0
  67. package/lib/events/ValueDispatcher.js +97 -0
  68. package/lib/events/index.d.ts +11 -0
  69. package/lib/events/index.d.ts.map +1 -0
  70. package/lib/events/index.js +11 -0
  71. package/lib/exporter/Exporter.d.ts +101 -0
  72. package/lib/exporter/Exporter.d.ts.map +1 -0
  73. package/lib/exporter/Exporter.js +2 -0
  74. package/lib/exporter/FFmpegExporter.d.ts +50 -0
  75. package/lib/exporter/FFmpegExporter.d.ts.map +1 -0
  76. package/lib/exporter/FFmpegExporter.js +140 -0
  77. package/lib/exporter/ImageExporter.d.ts +34 -0
  78. package/lib/exporter/ImageExporter.d.ts.map +1 -0
  79. package/lib/exporter/ImageExporter.js +80 -0
  80. package/lib/exporter/WasmExporter.d.ts +19 -0
  81. package/lib/exporter/WasmExporter.d.ts.map +1 -0
  82. package/lib/exporter/WasmExporter.js +78 -0
  83. package/lib/exporter/download-videos.d.ts +3 -0
  84. package/lib/exporter/download-videos.d.ts.map +1 -0
  85. package/lib/exporter/download-videos.js +45 -0
  86. package/lib/exporter/index.d.ts +5 -0
  87. package/lib/exporter/index.d.ts.map +1 -0
  88. package/lib/exporter/index.js +5 -0
  89. package/lib/flow/all.d.ts +18 -0
  90. package/lib/flow/all.d.ts.map +1 -0
  91. package/lib/flow/all.js +25 -0
  92. package/lib/flow/any.d.ts +18 -0
  93. package/lib/flow/any.d.ts.map +1 -0
  94. package/lib/flow/any.js +25 -0
  95. package/lib/flow/chain.d.ts +36 -0
  96. package/lib/flow/chain.d.ts.map +1 -0
  97. package/lib/flow/chain.js +46 -0
  98. package/lib/flow/delay.d.ts +29 -0
  99. package/lib/flow/delay.d.ts.map +1 -0
  100. package/lib/flow/delay.js +39 -0
  101. package/lib/flow/every.d.ts +41 -0
  102. package/lib/flow/every.d.ts.map +1 -0
  103. package/lib/flow/every.js +61 -0
  104. package/lib/flow/index.d.ts +17 -0
  105. package/lib/flow/index.d.ts.map +1 -0
  106. package/lib/flow/index.js +17 -0
  107. package/lib/flow/join.d.ts +35 -0
  108. package/lib/flow/join.d.ts.map +1 -0
  109. package/lib/flow/join.js +33 -0
  110. package/lib/flow/loop.d.ts +58 -0
  111. package/lib/flow/loop.d.ts.map +1 -0
  112. package/lib/flow/loop.js +51 -0
  113. package/lib/flow/loopFor.d.ts +25 -0
  114. package/lib/flow/loopFor.d.ts.map +1 -0
  115. package/lib/flow/loopFor.js +42 -0
  116. package/lib/flow/names.d.ts +3 -0
  117. package/lib/flow/names.d.ts.map +1 -0
  118. package/lib/flow/names.js +11 -0
  119. package/lib/flow/run.d.ts +45 -0
  120. package/lib/flow/run.d.ts.map +1 -0
  121. package/lib/flow/run.js +14 -0
  122. package/lib/flow/scheduling.d.ts +18 -0
  123. package/lib/flow/scheduling.d.ts.map +1 -0
  124. package/lib/flow/scheduling.js +33 -0
  125. package/lib/flow/sequence.d.ts +22 -0
  126. package/lib/flow/sequence.d.ts.map +1 -0
  127. package/lib/flow/sequence.js +31 -0
  128. package/lib/index.d.ts +16 -0
  129. package/lib/index.d.ts.map +1 -0
  130. package/lib/index.js +16 -0
  131. package/lib/media/index.d.ts +7 -0
  132. package/lib/media/index.d.ts.map +1 -0
  133. package/lib/media/index.js +7 -0
  134. package/lib/media/loadImage.d.ts +8 -0
  135. package/lib/media/loadImage.d.ts.map +1 -0
  136. package/lib/media/loadImage.js +29 -0
  137. package/lib/plugin/DefaultPlugin.d.ts +10 -0
  138. package/lib/plugin/DefaultPlugin.d.ts.map +1 -0
  139. package/lib/plugin/DefaultPlugin.js +17 -0
  140. package/lib/plugin/Plugin.d.ts +53 -0
  141. package/lib/plugin/Plugin.d.ts.map +1 -0
  142. package/lib/plugin/Plugin.js +2 -0
  143. package/lib/plugin/index.d.ts +3 -0
  144. package/lib/plugin/index.d.ts.map +1 -0
  145. package/lib/plugin/index.js +3 -0
  146. package/lib/plugin/makePlugin.d.ts +15 -0
  147. package/lib/plugin/makePlugin.d.ts.map +1 -0
  148. package/lib/plugin/makePlugin.js +16 -0
  149. package/lib/scenes/GeneratorScene.d.ts +95 -0
  150. package/lib/scenes/GeneratorScene.d.ts.map +1 -0
  151. package/lib/scenes/GeneratorScene.js +273 -0
  152. package/lib/scenes/Inspectable.d.ts +71 -0
  153. package/lib/scenes/Inspectable.d.ts.map +1 -0
  154. package/lib/scenes/Inspectable.js +4 -0
  155. package/lib/scenes/LifecycleEvents.d.ts +18 -0
  156. package/lib/scenes/LifecycleEvents.d.ts.map +1 -0
  157. package/lib/scenes/LifecycleEvents.js +45 -0
  158. package/lib/scenes/Random.d.ts +66 -0
  159. package/lib/scenes/Random.d.ts.map +1 -0
  160. package/lib/scenes/Random.js +101 -0
  161. package/lib/scenes/Scene.d.ts +298 -0
  162. package/lib/scenes/Scene.d.ts.map +1 -0
  163. package/lib/scenes/Scene.js +25 -0
  164. package/lib/scenes/SceneState.d.ts +34 -0
  165. package/lib/scenes/SceneState.d.ts.map +1 -0
  166. package/lib/scenes/SceneState.js +35 -0
  167. package/lib/scenes/Shaders.d.ts +63 -0
  168. package/lib/scenes/Shaders.d.ts.map +1 -0
  169. package/lib/scenes/Shaders.js +158 -0
  170. package/lib/scenes/Slides.d.ts +33 -0
  171. package/lib/scenes/Slides.d.ts.map +1 -0
  172. package/lib/scenes/Slides.js +115 -0
  173. package/lib/scenes/Threadable.d.ts +19 -0
  174. package/lib/scenes/Threadable.d.ts.map +1 -0
  175. package/lib/scenes/Threadable.js +4 -0
  176. package/lib/scenes/Variables.d.ts +24 -0
  177. package/lib/scenes/Variables.d.ts.map +1 -0
  178. package/lib/scenes/Variables.js +39 -0
  179. package/lib/scenes/index.d.ts +16 -0
  180. package/lib/scenes/index.d.ts.map +1 -0
  181. package/lib/scenes/index.js +16 -0
  182. package/lib/signals/CompoundSignalContext.d.ts +21 -0
  183. package/lib/signals/CompoundSignalContext.d.ts.map +1 -0
  184. package/lib/signals/CompoundSignalContext.js +73 -0
  185. package/lib/signals/ComputedContext.d.ts +14 -0
  186. package/lib/signals/ComputedContext.d.ts.map +1 -0
  187. package/lib/signals/ComputedContext.js +36 -0
  188. package/lib/signals/DependencyContext.d.ts +32 -0
  189. package/lib/signals/DependencyContext.d.ts.map +1 -0
  190. package/lib/signals/DependencyContext.js +87 -0
  191. package/lib/signals/SignalContext.d.ts +120 -0
  192. package/lib/signals/SignalContext.d.ts.map +1 -0
  193. package/lib/signals/SignalContext.js +245 -0
  194. package/lib/signals/createComputed.d.ts +3 -0
  195. package/lib/signals/createComputed.d.ts.map +1 -0
  196. package/lib/signals/createComputed.js +5 -0
  197. package/lib/signals/createComputedAsync.d.ts +4 -0
  198. package/lib/signals/createComputedAsync.d.ts.map +1 -0
  199. package/lib/signals/createComputedAsync.js +15 -0
  200. package/lib/signals/createSignal.d.ts +5 -0
  201. package/lib/signals/createSignal.d.ts.map +1 -0
  202. package/lib/signals/createSignal.js +6 -0
  203. package/lib/signals/index.d.ts +16 -0
  204. package/lib/signals/index.d.ts.map +1 -0
  205. package/lib/signals/index.js +16 -0
  206. package/lib/signals/symbols.d.ts +2 -0
  207. package/lib/signals/symbols.d.ts.map +1 -0
  208. package/lib/signals/symbols.js +2 -0
  209. package/lib/signals/types.d.ts +51 -0
  210. package/lib/signals/types.d.ts.map +1 -0
  211. package/lib/signals/types.js +2 -0
  212. package/lib/signals/utils.d.ts +5 -0
  213. package/lib/signals/utils.d.ts.map +1 -0
  214. package/lib/signals/utils.js +10 -0
  215. package/lib/threading/Thread.d.ts +77 -0
  216. package/lib/threading/Thread.d.ts.map +1 -0
  217. package/lib/threading/Thread.js +169 -0
  218. package/lib/threading/ThreadGenerator.d.ts +39 -0
  219. package/lib/threading/ThreadGenerator.d.ts.map +1 -0
  220. package/lib/threading/ThreadGenerator.js +17 -0
  221. package/lib/threading/cancel.d.ts +17 -0
  222. package/lib/threading/cancel.d.ts.map +1 -0
  223. package/lib/threading/cancel.js +26 -0
  224. package/lib/threading/index.d.ts +11 -0
  225. package/lib/threading/index.d.ts.map +1 -0
  226. package/lib/threading/index.js +11 -0
  227. package/lib/threading/spawn.d.ts +28 -0
  228. package/lib/threading/spawn.d.ts.map +1 -0
  229. package/lib/threading/spawn.js +30 -0
  230. package/lib/threading/threads.d.ts +46 -0
  231. package/lib/threading/threads.d.ts.map +1 -0
  232. package/lib/threading/threads.js +89 -0
  233. package/lib/transitions/fadeTransition.d.ts +8 -0
  234. package/lib/transitions/fadeTransition.d.ts.map +1 -0
  235. package/lib/transitions/fadeTransition.js +16 -0
  236. package/lib/transitions/index.d.ts +11 -0
  237. package/lib/transitions/index.d.ts.map +1 -0
  238. package/lib/transitions/index.js +11 -0
  239. package/lib/transitions/slideTransition.d.ts +18 -0
  240. package/lib/transitions/slideTransition.d.ts.map +1 -0
  241. package/lib/transitions/slideTransition.js +14 -0
  242. package/lib/transitions/useTransition.d.ts +10 -0
  243. package/lib/transitions/useTransition.d.ts.map +1 -0
  244. package/lib/transitions/useTransition.js +27 -0
  245. package/lib/transitions/zoomInTransition.d.ts +10 -0
  246. package/lib/transitions/zoomInTransition.d.ts.map +1 -0
  247. package/lib/transitions/zoomInTransition.js +33 -0
  248. package/lib/transitions/zoomOutTransition.d.ts +10 -0
  249. package/lib/transitions/zoomOutTransition.d.ts.map +1 -0
  250. package/lib/transitions/zoomOutTransition.js +33 -0
  251. package/lib/tsconfig.build.tsbuildinfo +1 -0
  252. package/lib/tweening/helpers.d.ts +5 -0
  253. package/lib/tweening/helpers.d.ts.map +1 -0
  254. package/lib/tweening/helpers.js +16 -0
  255. package/lib/tweening/index.d.ts +11 -0
  256. package/lib/tweening/index.d.ts.map +1 -0
  257. package/lib/tweening/index.js +11 -0
  258. package/lib/tweening/interpolationFunctions.d.ts +38 -0
  259. package/lib/tweening/interpolationFunctions.d.ts.map +1 -0
  260. package/lib/tweening/interpolationFunctions.js +107 -0
  261. package/lib/tweening/spring.d.ts +20 -0
  262. package/lib/tweening/spring.d.ts.map +1 -0
  263. package/lib/tweening/spring.js +103 -0
  264. package/lib/tweening/timingFunctions.d.ts +46 -0
  265. package/lib/tweening/timingFunctions.d.ts.map +1 -0
  266. package/lib/tweening/timingFunctions.js +233 -0
  267. package/lib/tweening/tween.d.ts +3 -0
  268. package/lib/tweening/tween.d.ts.map +1 -0
  269. package/lib/tweening/tween.js +21 -0
  270. package/lib/types/BBox.d.ts +73 -0
  271. package/lib/types/BBox.d.ts.map +1 -0
  272. package/lib/types/BBox.js +249 -0
  273. package/lib/types/Canvas.d.ts +3 -0
  274. package/lib/types/Canvas.d.ts.map +1 -0
  275. package/lib/types/Canvas.js +2 -0
  276. package/lib/types/Color.d.ts +65 -0
  277. package/lib/types/Color.d.ts.map +1 -0
  278. package/lib/types/Color.js +185 -0
  279. package/lib/types/Matrix.d.ts +3 -0
  280. package/lib/types/Matrix.d.ts.map +1 -0
  281. package/lib/types/Matrix.js +10 -0
  282. package/lib/types/Matrix2D.d.ts +363 -0
  283. package/lib/types/Matrix2D.d.ts.map +1 -0
  284. package/lib/types/Matrix2D.js +554 -0
  285. package/lib/types/Origin.d.ts +17 -0
  286. package/lib/types/Origin.d.ts.map +1 -0
  287. package/lib/types/Origin.js +53 -0
  288. package/lib/types/Spacing.d.ts +36 -0
  289. package/lib/types/Spacing.d.ts.map +1 -0
  290. package/lib/types/Spacing.js +70 -0
  291. package/lib/types/Type.d.ts +9 -0
  292. package/lib/types/Type.d.ts.map +1 -0
  293. package/lib/types/Type.js +5 -0
  294. package/lib/types/Vector.d.ts +203 -0
  295. package/lib/types/Vector.d.ts.map +1 -0
  296. package/lib/types/Vector.js +355 -0
  297. package/lib/types/alignment-enums.d.ts +22 -0
  298. package/lib/types/alignment-enums.d.ts.map +1 -0
  299. package/lib/types/alignment-enums.js +25 -0
  300. package/lib/types/index.d.ts +17 -0
  301. package/lib/types/index.d.ts.map +1 -0
  302. package/lib/types/index.js +17 -0
  303. package/lib/types/vector-transformations.d.ts +20 -0
  304. package/lib/types/vector-transformations.d.ts.map +1 -0
  305. package/lib/types/vector-transformations.js +31 -0
  306. package/lib/utils/DetailedError.d.ts +24 -0
  307. package/lib/utils/DetailedError.d.ts.map +1 -0
  308. package/lib/utils/DetailedError.js +16 -0
  309. package/lib/utils/ExperimentalError.d.ts +10 -0
  310. package/lib/utils/ExperimentalError.d.ts.map +1 -0
  311. package/lib/utils/ExperimentalError.js +32 -0
  312. package/lib/utils/Semaphore.d.ts +12 -0
  313. package/lib/utils/Semaphore.d.ts.map +1 -0
  314. package/lib/utils/Semaphore.js +25 -0
  315. package/lib/utils/beginSlide.d.ts +3 -0
  316. package/lib/utils/beginSlide.d.ts.map +1 -0
  317. package/lib/utils/beginSlide.js +12 -0
  318. package/lib/utils/capitalize.d.ts +2 -0
  319. package/lib/utils/capitalize.d.ts.map +1 -0
  320. package/lib/utils/capitalize.js +4 -0
  321. package/lib/utils/createRef.d.ts +15 -0
  322. package/lib/utils/createRef.d.ts.map +1 -0
  323. package/lib/utils/createRef.js +21 -0
  324. package/lib/utils/createRefArray.d.ts +27 -0
  325. package/lib/utils/createRefArray.d.ts.map +1 -0
  326. package/lib/utils/createRefArray.js +49 -0
  327. package/lib/utils/createRefMap.d.ts +50 -0
  328. package/lib/utils/createRefMap.d.ts.map +1 -0
  329. package/lib/utils/createRefMap.js +77 -0
  330. package/lib/utils/debug.d.ts +24 -0
  331. package/lib/utils/debug.d.ts.map +1 -0
  332. package/lib/utils/debug.js +47 -0
  333. package/lib/utils/deprecate.d.ts +9 -0
  334. package/lib/utils/deprecate.d.ts.map +1 -0
  335. package/lib/utils/deprecate.js +15 -0
  336. package/lib/utils/errorToLog.d.ts +3 -0
  337. package/lib/utils/errorToLog.d.ts.map +1 -0
  338. package/lib/utils/errorToLog.js +8 -0
  339. package/lib/utils/experimentalLog.d.ts +3 -0
  340. package/lib/utils/experimentalLog.d.ts.map +1 -0
  341. package/lib/utils/experimentalLog.js +10 -0
  342. package/lib/utils/getContext.d.ts +2 -0
  343. package/lib/utils/getContext.d.ts.map +1 -0
  344. package/lib/utils/getContext.js +8 -0
  345. package/lib/utils/index.d.ts +26 -0
  346. package/lib/utils/index.d.ts.map +1 -0
  347. package/lib/utils/index.js +26 -0
  348. package/lib/utils/math.d.ts +15 -0
  349. package/lib/utils/math.d.ts.map +1 -0
  350. package/lib/utils/math.js +15 -0
  351. package/lib/utils/range.d.ts +40 -0
  352. package/lib/utils/range.d.ts.map +1 -0
  353. package/lib/utils/range.js +18 -0
  354. package/lib/utils/useContext.d.ts +13 -0
  355. package/lib/utils/useContext.d.ts.map +1 -0
  356. package/lib/utils/useContext.js +18 -0
  357. package/lib/utils/usePlayback.d.ts +8 -0
  358. package/lib/utils/usePlayback.d.ts.map +1 -0
  359. package/lib/utils/usePlayback.js +20 -0
  360. package/lib/utils/useScene.d.ts +17 -0
  361. package/lib/utils/useScene.d.ts.map +1 -0
  362. package/lib/utils/useScene.js +33 -0
  363. package/lib/utils/useThread.d.ts +8 -0
  364. package/lib/utils/useThread.d.ts.map +1 -0
  365. package/lib/utils/useThread.js +24 -0
  366. package/lib/utils/useTime.d.ts +19 -0
  367. package/lib/utils/useTime.d.ts.map +1 -0
  368. package/lib/utils/useTime.js +22 -0
  369. package/package.json +36 -0
  370. package/project.d.ts +24 -0
  371. package/shaders/common.glsl +15 -0
  372. package/shaders/fragment.glsl +8 -0
  373. package/tsconfig.project.json +14 -0
@@ -0,0 +1,363 @@
1
+ import type { Type, WebGLConvertible } from './Type';
2
+ import type { PossibleVector2 } from './Vector';
3
+ import { Vector2 } from './Vector';
4
+ export type PossibleMatrix2D = Matrix2D | DOMMatrix | [number, number, number, number, number, number] | [PossibleVector2, PossibleVector2, PossibleVector2] | undefined;
5
+ /**
6
+ * A specialized 2x3 Matrix representing a 2D transformation.
7
+ *
8
+ * A Matrix2D contains six elements defined as
9
+ * [a, b,
10
+ * c, d,
11
+ * tx, ty]
12
+ *
13
+ * This is a shortcut for a 3x3 matrix of the form
14
+ * [a, b, 0,
15
+ * c, d, 0
16
+ * tx, ty, 1]
17
+ *
18
+ * Note that because a Matrix2D ignores the z-values of each component vectors,
19
+ * it does not satisfy all properties of a "real" 3x3 matrix.
20
+ *
21
+ * - A Matrix2D has no transpose
22
+ * - A(B + C) = AB + AC does not hold for a Matrix2D
23
+ * - (rA)^-1 = r^-1 A^-1, r != 0 does not hold for a Matrix2D
24
+ * - r(AB) = (rA)B = A(rB) does not hold for a Matrix2D
25
+ */
26
+ export declare class Matrix2D implements Type, WebGLConvertible {
27
+ static readonly symbol: unique symbol;
28
+ readonly values: Float32Array;
29
+ static readonly identity: Matrix2D;
30
+ static readonly zero: Matrix2D;
31
+ static fromRotation(angle: number): Matrix2D;
32
+ static fromTranslation(translation: PossibleVector2): Matrix2D;
33
+ static fromScaling(scale: PossibleVector2): Matrix2D;
34
+ get x(): Vector2;
35
+ get y(): Vector2;
36
+ get scaleX(): number;
37
+ set scaleX(value: number);
38
+ get skewX(): number;
39
+ set skewX(value: number);
40
+ get scaleY(): number;
41
+ set scaleY(value: number);
42
+ get skewY(): number;
43
+ set skewY(value: number);
44
+ get translateX(): number;
45
+ set translateX(value: number);
46
+ get translateY(): number;
47
+ set translateY(value: number);
48
+ get rotation(): number;
49
+ set rotation(angle: number);
50
+ get translation(): Vector2;
51
+ set translation(translation: PossibleVector2);
52
+ get scaling(): Vector2;
53
+ set scaling(value: PossibleVector2);
54
+ /**
55
+ * Get the inverse of the matrix.
56
+ *
57
+ * @remarks
58
+ * If the matrix is not invertible, i.e. its determinant is `0`, this will
59
+ * return `null`, instead.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const matrix = new Matrix2D(
64
+ * [1, 2],
65
+ * [3, 4],
66
+ * [5, 6],
67
+ * );
68
+ *
69
+ * const inverse = matrix.inverse;
70
+ * // => Matrix2D(
71
+ * // [-2, 1],
72
+ * // [1.5, -0.5],
73
+ * // [1, -2],
74
+ * // )
75
+ * ```
76
+ */
77
+ get inverse(): Matrix2D | null;
78
+ /**
79
+ * Get the determinant of the matrix.
80
+ */
81
+ get determinant(): number;
82
+ get domMatrix(): DOMMatrix;
83
+ constructor();
84
+ constructor(matrix: PossibleMatrix2D);
85
+ constructor(x: PossibleVector2, y: PossibleVector2, z: PossibleVector2);
86
+ constructor(a: number, b: number, c: number, d: number, tx: number, ty: number);
87
+ /**
88
+ * Get the nth component vector of the matrix. Only defined for 0, 1, and 2.
89
+ *
90
+ * @example
91
+ * ```ts
92
+ * const matrix = new Matrix2D(
93
+ * [1, 0],
94
+ * [0, 0],
95
+ * [1, 0],
96
+ * );
97
+ *
98
+ * const x = matrix.column(0);
99
+ * // Vector2(1, 0)
100
+ *
101
+ * const y = matrix.column(1);
102
+ * // Vector2(0, 0)
103
+ *
104
+ * const z = matrix.column(1);
105
+ * // Vector2(1, 0)
106
+ * ```
107
+ *
108
+ * @param index - The index of the component vector to retrieve.
109
+ */
110
+ column(index: number): Vector2;
111
+ /**
112
+ * Returns the nth row of the matrix. Only defined for 0 and 1.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * const matrix = new Matrix2D(
117
+ * [1, 0],
118
+ * [0, 0],
119
+ * [1, 0],
120
+ * );
121
+ *
122
+ * const firstRow = matrix.column(0);
123
+ * // [1, 0, 1]
124
+ *
125
+ * const secondRow = matrix.column(1);
126
+ * // [0, 0, 0]
127
+ * ```
128
+ *
129
+ * @param index - The index of the row to retrieve.
130
+ */
131
+ row(index: number): [number, number, number];
132
+ /**
133
+ * Returns the matrix product of this matrix with the provided matrix.
134
+ *
135
+ * @remarks
136
+ * This method returns a new matrix representing the result of the
137
+ * computation. It will not modify the source matrix.
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const a = new Matrix2D(
142
+ * [1, 2],
143
+ * [0, 1],
144
+ * [1, 1],
145
+ * );
146
+ * const b = new Matrix2D(
147
+ * [2, 1],
148
+ * [1, 1],
149
+ * [1, 1],
150
+ * );
151
+ *
152
+ * const result = a.mul(b);
153
+ * // => Matrix2D(
154
+ * // [2, 5],
155
+ * // [1, 3],
156
+ * // [2, 4],
157
+ * // )
158
+ * ```
159
+ *
160
+ * @param other - The matrix to multiply with
161
+ */
162
+ mul(other: Matrix2D): Matrix2D;
163
+ /**
164
+ * Rotate the matrix by the provided angle. By default, the angle is
165
+ * provided in degrees.
166
+ *
167
+ * @remarks
168
+ * This method returns a new matrix representing the result of the
169
+ * computation. It will not modify the source matrix.
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * const a = new Matrix2D(
174
+ * [1, 2],
175
+ * [3, 4],
176
+ * [5, 6],
177
+ * );
178
+ *
179
+ * const result = a.rotate(90);
180
+ * // => Matrix2D(
181
+ * // [3, 4],
182
+ * // [-1, -2],
183
+ * // [5, 6],
184
+ * // )
185
+ *
186
+ * // Provide the angle in radians
187
+ * const result = a.rotate(Math.PI * 0.5, true);
188
+ * // => Matrix2D(
189
+ * // [3, 4],
190
+ * // [-1, -2],
191
+ * // [5, 6],
192
+ * // )
193
+ * ```
194
+ *
195
+ * @param angle - The angle by which to rotate the matrix.
196
+ * @param degrees - Whether the angle is provided in degrees.
197
+ */
198
+ rotate(angle: number, degrees?: boolean): Matrix2D;
199
+ /**
200
+ * Scale the x and y component vectors of the matrix.
201
+ *
202
+ * @remarks
203
+ * If `vec` is provided as a vector, the x and y component vectors of the
204
+ * matrix will be scaled by the x and y parts of the vector, respectively.
205
+ *
206
+ * If `vec` is provided as a scalar, the x and y component vectors will be
207
+ * scaled uniformly by this factor.
208
+ *
209
+ * This method returns a new matrix representing the result of the
210
+ * computation. It will not modify the source matrix.
211
+ *
212
+ * @example
213
+ * ```ts
214
+ * const matrix = new Matrix2D(
215
+ * [1, 2],
216
+ * [3, 4],
217
+ * [5, 6],
218
+ * );
219
+ *
220
+ * const result1 = matrix.scale([2, 3]);
221
+ * // => new Matrix2D(
222
+ * // [2, 4],
223
+ * // [9, 12],
224
+ * // [5, 6],
225
+ * // )
226
+ *
227
+ * const result2 = matrix.scale(2);
228
+ * // => new Matrix2D(
229
+ * // [2, 4],
230
+ * // [6, 8],
231
+ * // [5, 6],
232
+ * // )
233
+ * ```
234
+ *
235
+ * @param vec - The factor by which to scale the matrix
236
+ */
237
+ scale(vec: PossibleVector2): Matrix2D;
238
+ /**
239
+ * Multiply each value of the matrix by a scalar.
240
+ *
241
+ * * @example
242
+ * ```ts
243
+ * const matrix = new Matrix2D(
244
+ * [1, 2],
245
+ * [3, 4],
246
+ * [5, 6],
247
+ * );
248
+ *
249
+ * const result1 = matrix.mulScalar(2);
250
+ * // => new Matrix2D(
251
+ * // [2, 4],
252
+ * // [6, 8],
253
+ * // [10, 12],
254
+ * // )
255
+ * ```
256
+ *
257
+ * @param s - The value by which to scale each term
258
+ */
259
+ mulScalar(s: number): Matrix2D;
260
+ /**
261
+ * Translate the matrix by the dimensions of the provided vector.
262
+ *
263
+ * @remarks
264
+ * If `vec` is provided as a scalar, matrix will be translated uniformly
265
+ * by this factor.
266
+ *
267
+ * This method returns a new matrix representing the result of the
268
+ * computation. It will not modify the source matrix.
269
+ *
270
+ * @example
271
+ * ```ts
272
+ * const matrix = new Matrix2D(
273
+ * [1, 2],
274
+ * [3, 4],
275
+ * [5, 6],
276
+ * );
277
+ *
278
+ * const result1 = matrix.translate([2, 3]);
279
+ * // => new Matrix2D(
280
+ * // [1, 2],
281
+ * // [3, 4],
282
+ * // [16, 22],
283
+ * // )
284
+ *
285
+ * const result2 = matrix.translate(2);
286
+ * // => new Matrix2D(
287
+ * // [1, 2],
288
+ * // [3, 4],
289
+ * // [13, 18],
290
+ * // )
291
+ * ```
292
+ *
293
+ * @param vec - The vector by which to translate the matrix
294
+ */
295
+ translate(vec: PossibleVector2): Matrix2D;
296
+ /**
297
+ * Add the provided matrix to this matrix.
298
+ *
299
+ * @remarks
300
+ * This method returns a new matrix representing the result of the
301
+ * computation. It will not modify the source matrix.
302
+ *
303
+ * @example
304
+ * ```ts
305
+ * const a = new Matrix2D(
306
+ * [1, 2],
307
+ * [3, 4],
308
+ * [5, 6],
309
+ * );
310
+ * const a = new Matrix2D(
311
+ * [7, 8],
312
+ * [9, 10],
313
+ * [11, 12],
314
+ * );
315
+ *
316
+ * const result = a.add(b);
317
+ * // => Matrix2D(
318
+ * // [8, 10],
319
+ * // [12, 14],
320
+ * // [16, 18],
321
+ * // )
322
+ * ```
323
+ *
324
+ * @param other - The matrix to add
325
+ */
326
+ add(other: Matrix2D): Matrix2D;
327
+ /**
328
+ * Subtract the provided matrix from this matrix.
329
+ *
330
+ * @remarks
331
+ * This method returns a new matrix representing the result of the
332
+ * computation. It will not modify the source matrix.
333
+ *
334
+ * @example
335
+ * ```ts
336
+ * const a = new Matrix2D(
337
+ * [1, 2],
338
+ * [3, 4],
339
+ * [5, 6],
340
+ * );
341
+ * const a = new Matrix2D(
342
+ * [7, 8],
343
+ * [9, 10],
344
+ * [11, 12],
345
+ * );
346
+ *
347
+ * const result = a.sub(b);
348
+ * // => Matrix2D(
349
+ * // [-6, -6],
350
+ * // [-6, -6],
351
+ * // [-6, -6],
352
+ * // )
353
+ * ```
354
+ *
355
+ * @param other - The matrix to subract
356
+ */
357
+ sub(other: Matrix2D): Matrix2D;
358
+ toSymbol(): symbol;
359
+ toUniform(gl: WebGL2RenderingContext, location: WebGLUniformLocation): void;
360
+ equals(other: Matrix2D, threshold?: number): boolean;
361
+ exactlyEquals(other: Matrix2D): boolean;
362
+ }
363
+ //# sourceMappingURL=Matrix2D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Matrix2D.d.ts","sourceRoot":"","sources":["../../src/types/Matrix2D.ts"],"names":[],"mappings":"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"}