@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 @@
1
+ {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../src/flow/sequence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAKlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAiB,QAAQ,CACvB,KAAK,EAAE,MAAM,EACb,GAAG,KAAK,EAAE,eAAe,EAAE,GAC1B,eAAe,CAOjB"}
@@ -0,0 +1,31 @@
1
+ import { decorate, threadable } from '../decorators';
2
+ import { join } from './join';
3
+ import { waitFor } from './scheduling';
4
+ decorate(sequence, threadable());
5
+ /**
6
+ * Start all tasks one after another with a constant delay between.
7
+ *
8
+ * @remarks
9
+ * The function doesn't wait until the previous task in the sequence has
10
+ * finished. Once the delay has passed, the next task will start even if
11
+ * the previous is still running.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * yield* sequence(
16
+ * 0.1,
17
+ * ...rects.map(rect => rect.x(100, 1))
18
+ * );
19
+ * ```
20
+ *
21
+ * @param delay - The delay between each of the tasks.
22
+ * @param tasks - A list of tasks to be run in a sequence.
23
+ */
24
+ export function* sequence(delay, ...tasks) {
25
+ for (const task of tasks) {
26
+ yield task;
27
+ yield* waitFor(delay);
28
+ }
29
+ yield* join(...tasks);
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxvdy9zZXF1ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ2pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FDdkIsS0FBYSxFQUNiLEdBQUcsS0FBd0I7SUFFM0IsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksQ0FBQztRQUNYLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQyJ9
package/lib/index.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ export * from './app';
2
+ export * from './decorators';
3
+ export * from './events';
4
+ export * from './exporter';
5
+ export * from './flow';
6
+ export * from './media';
7
+ export * from './plugin';
8
+ export { default as DefaultPlugin } from './plugin/DefaultPlugin';
9
+ export * from './scenes';
10
+ export * from './signals';
11
+ export * from './threading';
12
+ export * from './transitions';
13
+ export * from './tweening';
14
+ export * from './types';
15
+ export * from './utils';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAChE,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export * from './app';
2
+ export * from './decorators';
3
+ export * from './events';
4
+ export * from './exporter';
5
+ export * from './flow';
6
+ export * from './media';
7
+ export * from './plugin';
8
+ export { default as DefaultPlugin } from './plugin/DefaultPlugin';
9
+ export * from './scenes';
10
+ export * from './signals';
11
+ export * from './threading';
12
+ export * from './transitions';
13
+ export * from './tweening';
14
+ export * from './types';
15
+ export * from './utils';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsT0FBTyxFQUFDLE9BQU8sSUFBSSxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQyJ9
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Multi-media management.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export * from './loadImage';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Multi-media management.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export * from './loadImage';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVkaWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsYUFBYSxDQUFDIn0=
@@ -0,0 +1,8 @@
1
+ export type ImageDataSource = CanvasImageSource & {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ export declare function loadImage(source: string): Promise<HTMLImageElement>;
6
+ export declare function loadAnimation(sources: string[]): Promise<HTMLImageElement[]>;
7
+ export declare function getImageData(image: ImageDataSource): ImageData;
8
+ //# sourceMappingURL=loadImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadImage.d.ts","sourceRoot":"","sources":["../../src/media/loadImage.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAWnE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,aAUlD"}
@@ -0,0 +1,29 @@
1
+ import { getContext } from '../utils';
2
+ let Canvas;
3
+ let Context;
4
+ export function loadImage(source) {
5
+ const image = new Image();
6
+ image.src = source;
7
+ return new Promise((resolve, reject) => {
8
+ if (image.complete) {
9
+ resolve(image);
10
+ }
11
+ else {
12
+ image.onload = () => resolve(image);
13
+ image.onerror = reject;
14
+ }
15
+ });
16
+ }
17
+ export function loadAnimation(sources) {
18
+ return Promise.all(sources.map(loadImage));
19
+ }
20
+ export function getImageData(image) {
21
+ Canvas ?? (Canvas = document.createElement('canvas'));
22
+ Context ?? (Context = getContext({ willReadFrequently: true }, Canvas));
23
+ Canvas.width = image.width;
24
+ Canvas.height = image.height;
25
+ Context.clearRect(0, 0, image.width, image.height);
26
+ Context.drawImage(image, 0, 0);
27
+ return Context.getImageData(0, 0, image.width, image.height);
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZEltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lZGlhL2xvYWRJbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBDLElBQUksTUFBeUIsQ0FBQztBQUM5QixJQUFJLE9BQWlDLENBQUM7QUFPdEMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFjO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFpQjtJQUM3QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQXNCO0lBQ2pELE1BQU0sS0FBTixNQUFNLEdBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBQztJQUM1QyxPQUFPLEtBQVAsT0FBTyxHQUFLLFVBQVUsQ0FBQyxFQUFDLGtCQUFrQixFQUFFLElBQUksRUFBQyxFQUFFLE1BQU0sQ0FBQyxFQUFDO0lBRTNELE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUvQixPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvRCxDQUFDIn0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The default plugin included in every Motion Canvas project.
3
+ *
4
+ * TODO(refactor): I don't think these are plugins anymore.
5
+ *
6
+ * @internal
7
+ */
8
+ declare const _default: () => import("./Plugin").Plugin;
9
+ export default _default;
10
+ //# sourceMappingURL=DefaultPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/DefaultPlugin.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;;AACH,wBAKG"}
@@ -0,0 +1,17 @@
1
+ import { FFmpegExporterClient, ImageExporter } from '../exporter';
2
+ import { WasmExporter } from '../exporter/WasmExporter';
3
+ import { makePlugin } from './makePlugin';
4
+ /**
5
+ * The default plugin included in every Motion Canvas project.
6
+ *
7
+ * TODO(refactor): I don't think these are plugins anymore.
8
+ *
9
+ * @internal
10
+ */
11
+ export default makePlugin({
12
+ name: '@twick/core/default',
13
+ exporters() {
14
+ return [WasmExporter, FFmpegExporterClient, ImageExporter];
15
+ },
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW4vRGVmYXVsdFBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXhDOzs7Ozs7R0FNRztBQUNILGVBQWUsVUFBVSxDQUFDO0lBQ3hCLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsU0FBUztRQUNQLE9BQU8sQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
@@ -0,0 +1,53 @@
1
+ import type { Player, Project, Renderer, UserProject } from '../app';
2
+ import type { ExporterClass } from '../exporter';
3
+ /**
4
+ * Represents a runtime Motion Canvas plugin.
5
+ */
6
+ export interface Plugin {
7
+ /**
8
+ * A unique name of the plugin.
9
+ *
10
+ * @remarks
11
+ * The name should be unique across the entire ecosystem of Motion Canvas.
12
+ * If a plugin with the same name has already been registered, this plugin
13
+ * will be ignored.
14
+ *
15
+ * If you intend to publish your plugin to npm, it is recommended to prefix
16
+ * this name with the name of your npm package.
17
+ *
18
+ * Other identifiers defined by the plugin, such as a tab id, will be
19
+ * automatically prefixed with this name and as such don't have to be unique.
20
+ */
21
+ name: string;
22
+ /**
23
+ * Modify the project settings before the project is initialized.
24
+ *
25
+ * @param settings - The project settings.
26
+ */
27
+ settings?(settings: UserProject): UserProject | void;
28
+ /**
29
+ * Receive the project instance right after it is initialized.
30
+ *
31
+ * @param project - The project instance.
32
+ */
33
+ project?(project: Project): void;
34
+ /**
35
+ * Receive the player instance right after it is initialized.
36
+ *
37
+ * @param player - The player instance.
38
+ */
39
+ player?(player: Player): void;
40
+ /**
41
+ * Receive the renderer instance right after it is initialized.
42
+ *
43
+ * @param renderer - The renderer instance.
44
+ */
45
+ renderer?(renderer: Renderer): void;
46
+ /**
47
+ * Provide custom exporters for the project.
48
+ *
49
+ * @param project - The project instance.
50
+ */
51
+ exporters?(project: Project): ExporterClass[];
52
+ }
53
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;AACnE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;;;;;OAaG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;IAErD;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEpC;;;;OAIG;IACH,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CAAC;CAC/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbi9QbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,3 @@
1
+ export * from './makePlugin';
2
+ export * from './Plugin';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './makePlugin';
2
+ export * from './Plugin';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDIn0=
@@ -0,0 +1,15 @@
1
+ import type { Plugin } from './Plugin';
2
+ /**
3
+ * A helper function for exporting Motion Canvas plugins.
4
+ *
5
+ * @param plugin - The plugin configuration.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * export default makePlugin({
10
+ * name: 'my-custom-plugin',
11
+ * });
12
+ * ```
13
+ */
14
+ export declare function makePlugin(plugin: Plugin | (() => Plugin)): () => Plugin;
15
+ //# sourceMappingURL=makePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makePlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/makePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,MAAM,CAExE"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A helper function for exporting Motion Canvas plugins.
3
+ *
4
+ * @param plugin - The plugin configuration.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * export default makePlugin({
9
+ * name: 'my-custom-plugin',
10
+ * });
11
+ * ```
12
+ */
13
+ export function makePlugin(plugin) {
14
+ return typeof plugin === 'function' ? plugin : () => plugin;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW4vbWFrZVBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBK0I7SUFDeEQsT0FBTyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO0FBQzlELENBQUMifQ==
@@ -0,0 +1,95 @@
1
+ import type { AssetInfo, Logger, PlaybackStatus } from '../app';
2
+ import { EventDispatcher } from '../events';
3
+ import type { SignalValue } from '../signals';
4
+ import type { Thread, ThreadGenerator } from '../threading';
5
+ import type { Vector2 } from '../types';
6
+ import { LifecycleEvents } from './LifecycleEvents';
7
+ import type { CachedSceneData, FullSceneDescription, Scene, SceneDescriptionReload, SceneRenderEvent } from './Scene';
8
+ import { Shaders } from './Shaders';
9
+ import { Slides } from './Slides';
10
+ import type { Threadable } from './Threadable';
11
+ import { Variables } from './Variables';
12
+ export interface ThreadGeneratorFactory<T> {
13
+ (view: T): ThreadGenerator;
14
+ }
15
+ /**
16
+ * The default implementation of the {@link Scene} interface.
17
+ *
18
+ * Uses generators to control the animation.
19
+ */
20
+ export declare abstract class GeneratorScene<T> implements Scene<ThreadGeneratorFactory<T>>, Threadable {
21
+ readonly name: string;
22
+ readonly playback: PlaybackStatus;
23
+ readonly logger: Logger;
24
+ readonly shaders: Shaders;
25
+ readonly slides: Slides;
26
+ readonly variables: Variables;
27
+ creationStack?: string;
28
+ previousOnTop: SignalValue<boolean>;
29
+ get firstFrame(): number;
30
+ get lastFrame(): number;
31
+ get onCacheChanged(): import("../events").SubscribableValueEvent<CachedSceneData>;
32
+ private readonly cache;
33
+ get onReloaded(): import("../events").Subscribable<void, import("../events").EventHandler<void>>;
34
+ private readonly reloaded;
35
+ get onRecalculated(): import("../events").Subscribable<void, import("../events").EventHandler<void>>;
36
+ private readonly recalculated;
37
+ get onThreadChanged(): import("../events").SubscribableValueEvent<Thread | null>;
38
+ private readonly thread;
39
+ get onRenderLifecycle(): import("../events").Subscribable<[SceneRenderEvent, CanvasRenderingContext2D], import("../events").EventHandler<[SceneRenderEvent, CanvasRenderingContext2D]>>;
40
+ protected readonly renderLifecycle: EventDispatcher<[SceneRenderEvent, CanvasRenderingContext2D]>;
41
+ get onReset(): import("../events").Subscribable<void, import("../events").EventHandler<void>>;
42
+ private readonly afterReset;
43
+ readonly lifecycleEvents: LifecycleEvents;
44
+ get LifecycleEvents(): LifecycleEvents;
45
+ get previous(): Scene<unknown> | null;
46
+ getMediaAssets(): Array<AssetInfo>;
47
+ stopAllMedia(): void;
48
+ abstract adjustVolume(volumeScale: number): void;
49
+ readonly experimentalFeatures: boolean;
50
+ protected resolutionScale: number;
51
+ private runnerFactory;
52
+ private previousScene;
53
+ private runner;
54
+ private state;
55
+ private cached;
56
+ private counters;
57
+ private size;
58
+ constructor(description: FullSceneDescription<ThreadGeneratorFactory<T>>);
59
+ abstract getView(): T;
60
+ /**
61
+ * Update the view.
62
+ *
63
+ * Invoked after each step of the main generator.
64
+ * Can be used for calculating layout.
65
+ *
66
+ * Can modify the state of the view.
67
+ */
68
+ update(): void;
69
+ render(context: CanvasRenderingContext2D): Promise<void>;
70
+ protected abstract draw(context: CanvasRenderingContext2D): Promise<void>;
71
+ reload({ config, size, stack, resolutionScale, }?: SceneDescriptionReload<ThreadGeneratorFactory<T>>): void;
72
+ recalculate(setFrame: (frame: number) => void): Promise<void>;
73
+ next(): Promise<void>;
74
+ reset(previousScene?: Scene | null): Promise<void>;
75
+ getSize(): Vector2;
76
+ getRealSize(): Vector2;
77
+ isAfterTransitionIn(): boolean;
78
+ canTransitionOut(): boolean;
79
+ isFinished(): boolean;
80
+ enterInitial(): void;
81
+ enterAfterTransitionIn(): void;
82
+ enterCanTransitionOut(): void;
83
+ isCached(): boolean;
84
+ /**
85
+ * Invoke the given callback in the context of this scene.
86
+ *
87
+ * @remarks
88
+ * This method makes sure that the context of this scene is globally available
89
+ * during the execution of the callback.
90
+ *
91
+ * @param callback - The callback to invoke.
92
+ */
93
+ protected execute<T>(callback: () => T): T;
94
+ }
95
+ //# sourceMappingURL=GeneratorScene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneratorScene.d.ts","sourceRoot":"","sources":["../../src/scenes/GeneratorScene.ts"],"names":[],"mappings":"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"}