@twick/core 0.14.18 → 0.14.19

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 -21
  2. package/package.json +2 -2
  3. package/project.d.ts +24 -24
  4. package/shaders/common.glsl +14 -14
  5. package/shaders/fragment.glsl +7 -7
  6. package/tsconfig.project.json +14 -14
  7. package/lib/app/Logger.d.ts +0 -105
  8. package/lib/app/Logger.d.ts.map +0 -1
  9. package/lib/app/Logger.js +0 -77
  10. package/lib/app/PlaybackManager.d.ts +0 -55
  11. package/lib/app/PlaybackManager.d.ts.map +0 -1
  12. package/lib/app/PlaybackManager.js +0 -179
  13. package/lib/app/PlaybackStatus.d.ts +0 -30
  14. package/lib/app/PlaybackStatus.d.ts.map +0 -1
  15. package/lib/app/PlaybackStatus.js +0 -46
  16. package/lib/app/Player.d.ts +0 -130
  17. package/lib/app/Player.d.ts.map +0 -1
  18. package/lib/app/Player.js +0 -375
  19. package/lib/app/Project.d.ts +0 -145
  20. package/lib/app/Project.d.ts.map +0 -1
  21. package/lib/app/Project.js +0 -10
  22. package/lib/app/Renderer.d.ts +0 -90
  23. package/lib/app/Renderer.d.ts.map +0 -1
  24. package/lib/app/Renderer.js +0 -318
  25. package/lib/app/SharedWebGLContext.d.ts +0 -24
  26. package/lib/app/SharedWebGLContext.d.ts.map +0 -1
  27. package/lib/app/SharedWebGLContext.js +0 -200
  28. package/lib/app/Stage.d.ts +0 -30
  29. package/lib/app/Stage.d.ts.map +0 -1
  30. package/lib/app/Stage.js +0 -75
  31. package/lib/app/TimeEstimator.d.ts +0 -53
  32. package/lib/app/TimeEstimator.d.ts.map +0 -1
  33. package/lib/app/TimeEstimator.js +0 -70
  34. package/lib/app/index.d.ts +0 -16
  35. package/lib/app/index.d.ts.map +0 -1
  36. package/lib/app/index.js +0 -16
  37. package/lib/app/makeProject.d.ts +0 -15
  38. package/lib/app/makeProject.d.ts.map +0 -1
  39. package/lib/app/makeProject.js +0 -72
  40. package/lib/app/project-settings.d.ts +0 -8
  41. package/lib/app/project-settings.d.ts.map +0 -1
  42. package/lib/app/project-settings.js +0 -13
  43. package/lib/decorators/decorate.d.ts +0 -2
  44. package/lib/decorators/decorate.d.ts.map +0 -1
  45. package/lib/decorators/decorate.js +0 -10
  46. package/lib/decorators/deprecated.d.ts +0 -5
  47. package/lib/decorators/deprecated.d.ts.map +0 -1
  48. package/lib/decorators/deprecated.js +0 -23
  49. package/lib/decorators/index.d.ts +0 -9
  50. package/lib/decorators/index.d.ts.map +0 -1
  51. package/lib/decorators/index.js +0 -9
  52. package/lib/decorators/lazy.d.ts +0 -14
  53. package/lib/decorators/lazy.d.ts.map +0 -1
  54. package/lib/decorators/lazy.js +0 -27
  55. package/lib/decorators/threadable.d.ts +0 -2
  56. package/lib/decorators/threadable.d.ts.map +0 -1
  57. package/lib/decorators/threadable.js +0 -7
  58. package/lib/events/AsyncEventDispatcher.d.ts +0 -45
  59. package/lib/events/AsyncEventDispatcher.d.ts.map +0 -1
  60. package/lib/events/AsyncEventDispatcher.js +0 -33
  61. package/lib/events/EventDispatcher.d.ts +0 -38
  62. package/lib/events/EventDispatcher.d.ts.map +0 -1
  63. package/lib/events/EventDispatcher.js +0 -29
  64. package/lib/events/EventDispatcherBase.d.ts +0 -55
  65. package/lib/events/EventDispatcherBase.d.ts.map +0 -1
  66. package/lib/events/EventDispatcherBase.js +0 -68
  67. package/lib/events/FlagDispatcher.d.ts +0 -54
  68. package/lib/events/FlagDispatcher.d.ts.map +0 -1
  69. package/lib/events/FlagDispatcher.js +0 -63
  70. package/lib/events/ValueDispatcher.d.ts +0 -81
  71. package/lib/events/ValueDispatcher.d.ts.map +0 -1
  72. package/lib/events/ValueDispatcher.js +0 -97
  73. package/lib/events/index.d.ts +0 -11
  74. package/lib/events/index.d.ts.map +0 -1
  75. package/lib/events/index.js +0 -11
  76. package/lib/exporter/Exporter.d.ts +0 -101
  77. package/lib/exporter/Exporter.d.ts.map +0 -1
  78. package/lib/exporter/Exporter.js +0 -2
  79. package/lib/exporter/FFmpegExporter.d.ts +0 -50
  80. package/lib/exporter/FFmpegExporter.d.ts.map +0 -1
  81. package/lib/exporter/FFmpegExporter.js +0 -140
  82. package/lib/exporter/ImageExporter.d.ts +0 -34
  83. package/lib/exporter/ImageExporter.d.ts.map +0 -1
  84. package/lib/exporter/ImageExporter.js +0 -80
  85. package/lib/exporter/WasmExporter.d.ts +0 -19
  86. package/lib/exporter/WasmExporter.d.ts.map +0 -1
  87. package/lib/exporter/WasmExporter.js +0 -78
  88. package/lib/exporter/download-videos.d.ts +0 -3
  89. package/lib/exporter/download-videos.d.ts.map +0 -1
  90. package/lib/exporter/download-videos.js +0 -45
  91. package/lib/exporter/index.d.ts +0 -5
  92. package/lib/exporter/index.d.ts.map +0 -1
  93. package/lib/exporter/index.js +0 -5
  94. package/lib/flow/all.d.ts +0 -18
  95. package/lib/flow/all.d.ts.map +0 -1
  96. package/lib/flow/all.js +0 -25
  97. package/lib/flow/any.d.ts +0 -18
  98. package/lib/flow/any.d.ts.map +0 -1
  99. package/lib/flow/any.js +0 -25
  100. package/lib/flow/chain.d.ts +0 -36
  101. package/lib/flow/chain.d.ts.map +0 -1
  102. package/lib/flow/chain.js +0 -46
  103. package/lib/flow/delay.d.ts +0 -29
  104. package/lib/flow/delay.d.ts.map +0 -1
  105. package/lib/flow/delay.js +0 -39
  106. package/lib/flow/every.d.ts +0 -41
  107. package/lib/flow/every.d.ts.map +0 -1
  108. package/lib/flow/every.js +0 -61
  109. package/lib/flow/index.d.ts +0 -17
  110. package/lib/flow/index.d.ts.map +0 -1
  111. package/lib/flow/index.js +0 -17
  112. package/lib/flow/join.d.ts +0 -35
  113. package/lib/flow/join.d.ts.map +0 -1
  114. package/lib/flow/join.js +0 -33
  115. package/lib/flow/loop.d.ts +0 -58
  116. package/lib/flow/loop.d.ts.map +0 -1
  117. package/lib/flow/loop.js +0 -51
  118. package/lib/flow/loopFor.d.ts +0 -25
  119. package/lib/flow/loopFor.d.ts.map +0 -1
  120. package/lib/flow/loopFor.js +0 -42
  121. package/lib/flow/names.d.ts +0 -3
  122. package/lib/flow/names.d.ts.map +0 -1
  123. package/lib/flow/names.js +0 -11
  124. package/lib/flow/run.d.ts +0 -45
  125. package/lib/flow/run.d.ts.map +0 -1
  126. package/lib/flow/run.js +0 -14
  127. package/lib/flow/scheduling.d.ts +0 -18
  128. package/lib/flow/scheduling.d.ts.map +0 -1
  129. package/lib/flow/scheduling.js +0 -33
  130. package/lib/flow/sequence.d.ts +0 -22
  131. package/lib/flow/sequence.d.ts.map +0 -1
  132. package/lib/flow/sequence.js +0 -31
  133. package/lib/index.d.ts +0 -16
  134. package/lib/index.d.ts.map +0 -1
  135. package/lib/index.js +0 -16
  136. package/lib/media/index.d.ts +0 -7
  137. package/lib/media/index.d.ts.map +0 -1
  138. package/lib/media/index.js +0 -7
  139. package/lib/media/loadImage.d.ts +0 -8
  140. package/lib/media/loadImage.d.ts.map +0 -1
  141. package/lib/media/loadImage.js +0 -29
  142. package/lib/plugin/DefaultPlugin.d.ts +0 -10
  143. package/lib/plugin/DefaultPlugin.d.ts.map +0 -1
  144. package/lib/plugin/DefaultPlugin.js +0 -17
  145. package/lib/plugin/Plugin.d.ts +0 -53
  146. package/lib/plugin/Plugin.d.ts.map +0 -1
  147. package/lib/plugin/Plugin.js +0 -2
  148. package/lib/plugin/index.d.ts +0 -3
  149. package/lib/plugin/index.d.ts.map +0 -1
  150. package/lib/plugin/index.js +0 -3
  151. package/lib/plugin/makePlugin.d.ts +0 -15
  152. package/lib/plugin/makePlugin.d.ts.map +0 -1
  153. package/lib/plugin/makePlugin.js +0 -16
  154. package/lib/scenes/GeneratorScene.d.ts +0 -95
  155. package/lib/scenes/GeneratorScene.d.ts.map +0 -1
  156. package/lib/scenes/GeneratorScene.js +0 -273
  157. package/lib/scenes/Inspectable.d.ts +0 -71
  158. package/lib/scenes/Inspectable.d.ts.map +0 -1
  159. package/lib/scenes/Inspectable.js +0 -4
  160. package/lib/scenes/LifecycleEvents.d.ts +0 -18
  161. package/lib/scenes/LifecycleEvents.d.ts.map +0 -1
  162. package/lib/scenes/LifecycleEvents.js +0 -45
  163. package/lib/scenes/Random.d.ts +0 -66
  164. package/lib/scenes/Random.d.ts.map +0 -1
  165. package/lib/scenes/Random.js +0 -101
  166. package/lib/scenes/Scene.d.ts +0 -298
  167. package/lib/scenes/Scene.d.ts.map +0 -1
  168. package/lib/scenes/Scene.js +0 -25
  169. package/lib/scenes/SceneState.d.ts +0 -34
  170. package/lib/scenes/SceneState.d.ts.map +0 -1
  171. package/lib/scenes/SceneState.js +0 -35
  172. package/lib/scenes/Shaders.d.ts +0 -63
  173. package/lib/scenes/Shaders.d.ts.map +0 -1
  174. package/lib/scenes/Shaders.js +0 -158
  175. package/lib/scenes/Slides.d.ts +0 -33
  176. package/lib/scenes/Slides.d.ts.map +0 -1
  177. package/lib/scenes/Slides.js +0 -115
  178. package/lib/scenes/Threadable.d.ts +0 -19
  179. package/lib/scenes/Threadable.d.ts.map +0 -1
  180. package/lib/scenes/Threadable.js +0 -4
  181. package/lib/scenes/Variables.d.ts +0 -24
  182. package/lib/scenes/Variables.d.ts.map +0 -1
  183. package/lib/scenes/Variables.js +0 -39
  184. package/lib/scenes/index.d.ts +0 -16
  185. package/lib/scenes/index.d.ts.map +0 -1
  186. package/lib/scenes/index.js +0 -16
  187. package/lib/signals/CompoundSignalContext.d.ts +0 -21
  188. package/lib/signals/CompoundSignalContext.d.ts.map +0 -1
  189. package/lib/signals/CompoundSignalContext.js +0 -73
  190. package/lib/signals/ComputedContext.d.ts +0 -14
  191. package/lib/signals/ComputedContext.d.ts.map +0 -1
  192. package/lib/signals/ComputedContext.js +0 -36
  193. package/lib/signals/DependencyContext.d.ts +0 -32
  194. package/lib/signals/DependencyContext.d.ts.map +0 -1
  195. package/lib/signals/DependencyContext.js +0 -87
  196. package/lib/signals/SignalContext.d.ts +0 -120
  197. package/lib/signals/SignalContext.d.ts.map +0 -1
  198. package/lib/signals/SignalContext.js +0 -245
  199. package/lib/signals/createComputed.d.ts +0 -3
  200. package/lib/signals/createComputed.d.ts.map +0 -1
  201. package/lib/signals/createComputed.js +0 -5
  202. package/lib/signals/createComputedAsync.d.ts +0 -4
  203. package/lib/signals/createComputedAsync.d.ts.map +0 -1
  204. package/lib/signals/createComputedAsync.js +0 -15
  205. package/lib/signals/createSignal.d.ts +0 -5
  206. package/lib/signals/createSignal.d.ts.map +0 -1
  207. package/lib/signals/createSignal.js +0 -6
  208. package/lib/signals/index.d.ts +0 -16
  209. package/lib/signals/index.d.ts.map +0 -1
  210. package/lib/signals/index.js +0 -16
  211. package/lib/signals/symbols.d.ts +0 -2
  212. package/lib/signals/symbols.d.ts.map +0 -1
  213. package/lib/signals/symbols.js +0 -2
  214. package/lib/signals/types.d.ts +0 -51
  215. package/lib/signals/types.d.ts.map +0 -1
  216. package/lib/signals/types.js +0 -2
  217. package/lib/signals/utils.d.ts +0 -5
  218. package/lib/signals/utils.d.ts.map +0 -1
  219. package/lib/signals/utils.js +0 -10
  220. package/lib/threading/Thread.d.ts +0 -77
  221. package/lib/threading/Thread.d.ts.map +0 -1
  222. package/lib/threading/Thread.js +0 -169
  223. package/lib/threading/ThreadGenerator.d.ts +0 -39
  224. package/lib/threading/ThreadGenerator.d.ts.map +0 -1
  225. package/lib/threading/ThreadGenerator.js +0 -17
  226. package/lib/threading/cancel.d.ts +0 -17
  227. package/lib/threading/cancel.d.ts.map +0 -1
  228. package/lib/threading/cancel.js +0 -26
  229. package/lib/threading/index.d.ts +0 -11
  230. package/lib/threading/index.d.ts.map +0 -1
  231. package/lib/threading/index.js +0 -11
  232. package/lib/threading/spawn.d.ts +0 -28
  233. package/lib/threading/spawn.d.ts.map +0 -1
  234. package/lib/threading/spawn.js +0 -30
  235. package/lib/threading/threads.d.ts +0 -46
  236. package/lib/threading/threads.d.ts.map +0 -1
  237. package/lib/threading/threads.js +0 -89
  238. package/lib/transitions/fadeTransition.d.ts +0 -8
  239. package/lib/transitions/fadeTransition.d.ts.map +0 -1
  240. package/lib/transitions/fadeTransition.js +0 -16
  241. package/lib/transitions/index.d.ts +0 -11
  242. package/lib/transitions/index.d.ts.map +0 -1
  243. package/lib/transitions/index.js +0 -11
  244. package/lib/transitions/slideTransition.d.ts +0 -18
  245. package/lib/transitions/slideTransition.d.ts.map +0 -1
  246. package/lib/transitions/slideTransition.js +0 -14
  247. package/lib/transitions/useTransition.d.ts +0 -10
  248. package/lib/transitions/useTransition.d.ts.map +0 -1
  249. package/lib/transitions/useTransition.js +0 -27
  250. package/lib/transitions/zoomInTransition.d.ts +0 -10
  251. package/lib/transitions/zoomInTransition.d.ts.map +0 -1
  252. package/lib/transitions/zoomInTransition.js +0 -33
  253. package/lib/transitions/zoomOutTransition.d.ts +0 -10
  254. package/lib/transitions/zoomOutTransition.d.ts.map +0 -1
  255. package/lib/transitions/zoomOutTransition.js +0 -33
  256. package/lib/tsconfig.build.tsbuildinfo +0 -1
  257. package/lib/tweening/helpers.d.ts +0 -5
  258. package/lib/tweening/helpers.d.ts.map +0 -1
  259. package/lib/tweening/helpers.js +0 -16
  260. package/lib/tweening/index.d.ts +0 -11
  261. package/lib/tweening/index.d.ts.map +0 -1
  262. package/lib/tweening/index.js +0 -11
  263. package/lib/tweening/interpolationFunctions.d.ts +0 -38
  264. package/lib/tweening/interpolationFunctions.d.ts.map +0 -1
  265. package/lib/tweening/interpolationFunctions.js +0 -107
  266. package/lib/tweening/spring.d.ts +0 -20
  267. package/lib/tweening/spring.d.ts.map +0 -1
  268. package/lib/tweening/spring.js +0 -103
  269. package/lib/tweening/timingFunctions.d.ts +0 -46
  270. package/lib/tweening/timingFunctions.d.ts.map +0 -1
  271. package/lib/tweening/timingFunctions.js +0 -233
  272. package/lib/tweening/tween.d.ts +0 -3
  273. package/lib/tweening/tween.d.ts.map +0 -1
  274. package/lib/tweening/tween.js +0 -21
  275. package/lib/types/BBox.d.ts +0 -73
  276. package/lib/types/BBox.d.ts.map +0 -1
  277. package/lib/types/BBox.js +0 -249
  278. package/lib/types/Canvas.d.ts +0 -3
  279. package/lib/types/Canvas.d.ts.map +0 -1
  280. package/lib/types/Canvas.js +0 -2
  281. package/lib/types/Color.d.ts +0 -65
  282. package/lib/types/Color.d.ts.map +0 -1
  283. package/lib/types/Color.js +0 -185
  284. package/lib/types/Matrix.d.ts +0 -3
  285. package/lib/types/Matrix.d.ts.map +0 -1
  286. package/lib/types/Matrix.js +0 -10
  287. package/lib/types/Matrix2D.d.ts +0 -363
  288. package/lib/types/Matrix2D.d.ts.map +0 -1
  289. package/lib/types/Matrix2D.js +0 -554
  290. package/lib/types/Origin.d.ts +0 -17
  291. package/lib/types/Origin.d.ts.map +0 -1
  292. package/lib/types/Origin.js +0 -53
  293. package/lib/types/Spacing.d.ts +0 -36
  294. package/lib/types/Spacing.d.ts.map +0 -1
  295. package/lib/types/Spacing.js +0 -70
  296. package/lib/types/Type.d.ts +0 -9
  297. package/lib/types/Type.d.ts.map +0 -1
  298. package/lib/types/Type.js +0 -5
  299. package/lib/types/Vector.d.ts +0 -203
  300. package/lib/types/Vector.d.ts.map +0 -1
  301. package/lib/types/Vector.js +0 -355
  302. package/lib/types/alignment-enums.d.ts +0 -22
  303. package/lib/types/alignment-enums.d.ts.map +0 -1
  304. package/lib/types/alignment-enums.js +0 -25
  305. package/lib/types/index.d.ts +0 -17
  306. package/lib/types/index.d.ts.map +0 -1
  307. package/lib/types/index.js +0 -17
  308. package/lib/types/vector-transformations.d.ts +0 -20
  309. package/lib/types/vector-transformations.d.ts.map +0 -1
  310. package/lib/types/vector-transformations.js +0 -31
  311. package/lib/utils/DetailedError.d.ts +0 -24
  312. package/lib/utils/DetailedError.d.ts.map +0 -1
  313. package/lib/utils/DetailedError.js +0 -16
  314. package/lib/utils/ExperimentalError.d.ts +0 -10
  315. package/lib/utils/ExperimentalError.d.ts.map +0 -1
  316. package/lib/utils/ExperimentalError.js +0 -32
  317. package/lib/utils/Semaphore.d.ts +0 -12
  318. package/lib/utils/Semaphore.d.ts.map +0 -1
  319. package/lib/utils/Semaphore.js +0 -25
  320. package/lib/utils/beginSlide.d.ts +0 -3
  321. package/lib/utils/beginSlide.d.ts.map +0 -1
  322. package/lib/utils/beginSlide.js +0 -12
  323. package/lib/utils/capitalize.d.ts +0 -2
  324. package/lib/utils/capitalize.d.ts.map +0 -1
  325. package/lib/utils/capitalize.js +0 -4
  326. package/lib/utils/createRef.d.ts +0 -15
  327. package/lib/utils/createRef.d.ts.map +0 -1
  328. package/lib/utils/createRef.js +0 -21
  329. package/lib/utils/createRefArray.d.ts +0 -27
  330. package/lib/utils/createRefArray.d.ts.map +0 -1
  331. package/lib/utils/createRefArray.js +0 -49
  332. package/lib/utils/createRefMap.d.ts +0 -50
  333. package/lib/utils/createRefMap.d.ts.map +0 -1
  334. package/lib/utils/createRefMap.js +0 -77
  335. package/lib/utils/debug.d.ts +0 -24
  336. package/lib/utils/debug.d.ts.map +0 -1
  337. package/lib/utils/debug.js +0 -47
  338. package/lib/utils/deprecate.d.ts +0 -9
  339. package/lib/utils/deprecate.d.ts.map +0 -1
  340. package/lib/utils/deprecate.js +0 -15
  341. package/lib/utils/errorToLog.d.ts +0 -3
  342. package/lib/utils/errorToLog.d.ts.map +0 -1
  343. package/lib/utils/errorToLog.js +0 -8
  344. package/lib/utils/experimentalLog.d.ts +0 -3
  345. package/lib/utils/experimentalLog.d.ts.map +0 -1
  346. package/lib/utils/experimentalLog.js +0 -10
  347. package/lib/utils/getContext.d.ts +0 -2
  348. package/lib/utils/getContext.d.ts.map +0 -1
  349. package/lib/utils/getContext.js +0 -8
  350. package/lib/utils/index.d.ts +0 -26
  351. package/lib/utils/index.d.ts.map +0 -1
  352. package/lib/utils/index.js +0 -26
  353. package/lib/utils/math.d.ts +0 -15
  354. package/lib/utils/math.d.ts.map +0 -1
  355. package/lib/utils/math.js +0 -15
  356. package/lib/utils/range.d.ts +0 -40
  357. package/lib/utils/range.d.ts.map +0 -1
  358. package/lib/utils/range.js +0 -18
  359. package/lib/utils/useContext.d.ts +0 -13
  360. package/lib/utils/useContext.d.ts.map +0 -1
  361. package/lib/utils/useContext.js +0 -18
  362. package/lib/utils/usePlayback.d.ts +0 -8
  363. package/lib/utils/usePlayback.d.ts.map +0 -1
  364. package/lib/utils/usePlayback.js +0 -20
  365. package/lib/utils/useScene.d.ts +0 -17
  366. package/lib/utils/useScene.d.ts.map +0 -1
  367. package/lib/utils/useScene.js +0 -33
  368. package/lib/utils/useThread.d.ts +0 -8
  369. package/lib/utils/useThread.d.ts.map +0 -1
  370. package/lib/utils/useThread.js +0 -24
  371. package/lib/utils/useTime.d.ts +0 -19
  372. package/lib/utils/useTime.d.ts.map +0 -1
  373. package/lib/utils/useTime.js +0 -22
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 motion-canvas
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 motion-canvas
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twick/core",
3
- "version": "0.14.18",
3
+ "version": "0.14.19",
4
4
  "description": "A web-based framework for creating videos programmatically",
5
5
  "main": "lib/index.js",
6
6
  "author": "twick",
@@ -31,5 +31,5 @@
31
31
  "@types/culori": "^2.1.1",
32
32
  "jsdom": "^22.1.0"
33
33
  },
34
- "gitHead": "3f5c0a7cbc6f1c5e46f5e7beb725efbf8193a030"
34
+ "gitHead": "9740b15c74da0a2ebdb1ad2f3dd023bd0bbc65d4"
35
35
  }
package/project.d.ts CHANGED
@@ -1,24 +1,24 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
- /// <reference types="vite/client" />
3
-
4
- declare module '*?img' {
5
- const value: Promise<HTMLImageElement>;
6
- export = value;
7
- }
8
-
9
- declare module '*?anim' {
10
- const value: Promise<HTMLImageElement[]>;
11
- export = value;
12
- }
13
-
14
- declare module '*.csv' {
15
- const value: unknown;
16
- export = value;
17
- }
18
-
19
- declare module '*.glsl' {
20
- const value: string;
21
- export = value;
22
- }
23
-
24
- declare type Callback = (...args: any[]) => void;
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /// <reference types="vite/client" />
3
+
4
+ declare module '*?img' {
5
+ const value: Promise<HTMLImageElement>;
6
+ export = value;
7
+ }
8
+
9
+ declare module '*?anim' {
10
+ const value: Promise<HTMLImageElement[]>;
11
+ export = value;
12
+ }
13
+
14
+ declare module '*.csv' {
15
+ const value: unknown;
16
+ export = value;
17
+ }
18
+
19
+ declare module '*.glsl' {
20
+ const value: string;
21
+ export = value;
22
+ }
23
+
24
+ declare type Callback = (...args: any[]) => void;
@@ -1,15 +1,15 @@
1
- in vec2 screenUV;
2
- in vec2 sourceUV;
3
- in vec2 destinationUV;
4
-
5
- out vec4 outColor;
6
-
7
- uniform float time;
8
- uniform float deltaTime;
9
- uniform float framerate;
10
- uniform int frame;
11
- uniform vec2 resolution;
12
- uniform sampler2D sourceTexture;
13
- uniform sampler2D destinationTexture;
14
- uniform mat4 sourceMatrix;
1
+ in vec2 screenUV;
2
+ in vec2 sourceUV;
3
+ in vec2 destinationUV;
4
+
5
+ out vec4 outColor;
6
+
7
+ uniform float time;
8
+ uniform float deltaTime;
9
+ uniform float framerate;
10
+ uniform int frame;
11
+ uniform vec2 resolution;
12
+ uniform sampler2D sourceTexture;
13
+ uniform sampler2D destinationTexture;
14
+ uniform mat4 sourceMatrix;
15
15
  uniform mat4 destinationMatrix;
@@ -1,8 +1,8 @@
1
- #version 300 es
2
- precision highp float;
3
-
4
- #include "./common.glsl"
5
-
6
- void main() {
7
- outColor = textureLod(sourceTexture, sourceUV, 0.0);
1
+ #version 300 es
2
+ precision highp float;
3
+
4
+ #include "./common.glsl"
5
+
6
+ void main() {
7
+ outColor = textureLod(sourceTexture, sourceUV, 0.0);
8
8
  }
@@ -1,14 +1,14 @@
1
- {
2
- "compilerOptions": {
3
- "sourceMap": true,
4
- "noImplicitAny": true,
5
- "module": "esnext",
6
- "target": "es2020",
7
- "allowJs": true,
8
- "noEmit": true,
9
- "moduleResolution": "node",
10
- "resolveJsonModule": true,
11
- "allowSyntheticDefaultImports": true,
12
- "experimentalDecorators": true
13
- }
14
- }
1
+ {
2
+ "compilerOptions": {
3
+ "sourceMap": true,
4
+ "noImplicitAny": true,
5
+ "module": "esnext",
6
+ "target": "es2020",
7
+ "allowJs": true,
8
+ "noEmit": true,
9
+ "moduleResolution": "node",
10
+ "resolveJsonModule": true,
11
+ "allowSyntheticDefaultImports": true,
12
+ "experimentalDecorators": true
13
+ }
14
+ }
@@ -1,105 +0,0 @@
1
- export declare enum LogLevel {
2
- Error = "error",
3
- Warn = "warn",
4
- Info = "info",
5
- Http = "http",
6
- Verbose = "verbose",
7
- Debug = "debug",
8
- Silly = "silly"
9
- }
10
- /**
11
- * Represents an individual log entry.
12
- *
13
- * @remarks
14
- * When displayed in the editor, the log entry will have the following format:
15
- * ```
16
- * inspect node ┐
17
- * ┌ expand more duration ┐ │
18
- * ▼ ▼ ▼
19
- * ┌────────────────────────────────────────────┐
20
- * │ ▶ message 300 ms (+) │
21
- * ├────────────────────────────────────────────┤
22
- * │ remarks │
23
- * │ object │
24
- * │ stacktrace │
25
- * └────────────────────────────────────────────┘
26
- * ```
27
- */
28
- export interface LogPayload {
29
- /**
30
- * The log level.
31
- */
32
- level?: LogLevel;
33
- /**
34
- * The main message of the log.
35
- *
36
- * @remarks
37
- * Always visible.
38
- */
39
- message: string;
40
- /**
41
- * Additional information about the log.
42
- *
43
- * @remarks
44
- * Visible only when the log is expanded.
45
- */
46
- remarks?: string;
47
- /**
48
- * An object that will be serialized as JSON and displayed under the message.
49
- *
50
- * @remarks
51
- * Visible only when the log is expanded.
52
- */
53
- object?: any;
54
- /**
55
- * The stack trace of the log.
56
- *
57
- * @remarks
58
- * Visible only when the log is expanded.
59
- * The current stack trace can be obtained using `new Error().stack`.
60
- * Both Chromium and Firefox stack traces are supported.
61
- */
62
- stack?: string;
63
- /**
64
- * An optional duration in milliseconds.
65
- *
66
- * @remarks
67
- * Can be used to display any duration related to the log.
68
- * The value is always visible next to the message.
69
- */
70
- durationMs?: number;
71
- /**
72
- * An optional key used to inspect a related object.
73
- *
74
- * @remarks
75
- * This will be used together with the {@link scenes.Inspectable} interface to
76
- * display additional information about the inspected object.
77
- * When specified, the log will have an "inspect" button that will open the
78
- * "Properties" tab and select the inspected object.
79
- */
80
- inspect?: string;
81
- /**
82
- * Any additional information that the log may contain.
83
- */
84
- [K: string]: any;
85
- }
86
- export declare class Logger {
87
- /**
88
- * Triggered when a new message is logged.
89
- */
90
- get onLogged(): import("../events").Subscribable<LogPayload, import("../events").EventHandler<LogPayload>>;
91
- private readonly logged;
92
- readonly history: LogPayload[];
93
- private profilers;
94
- log(payload: LogPayload): void;
95
- error(payload: string | LogPayload): void;
96
- warn(payload: string | LogPayload): void;
97
- info(payload: string | LogPayload): void;
98
- http(payload: string | LogPayload): void;
99
- verbose(payload: string | LogPayload): void;
100
- debug(payload: string | LogPayload): void;
101
- silly(payload: string | LogPayload): void;
102
- protected logLevel(level: LogLevel, payload: string | LogPayload): void;
103
- profile(id: string, payload?: LogPayload): void;
104
- }
105
- //# sourceMappingURL=Logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/app/Logger.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,qBAAa,MAAM;IACjB;;OAEG;IACH,IAAW,QAAQ,+FAElB;IACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,SAAgB,OAAO,EAAE,UAAU,EAAE,CAAM;IAE3C,OAAO,CAAC,SAAS,CAA8B;IAExC,GAAG,CAAC,OAAO,EAAE,UAAU;IAKvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAclC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQjC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQpC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAIlC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQzC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAMzD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU;CAgBhD"}
package/lib/app/Logger.js DELETED
@@ -1,77 +0,0 @@
1
- import { EventDispatcher } from '../events';
2
- export var LogLevel;
3
- (function (LogLevel) {
4
- LogLevel["Error"] = "error";
5
- LogLevel["Warn"] = "warn";
6
- LogLevel["Info"] = "info";
7
- LogLevel["Http"] = "http";
8
- LogLevel["Verbose"] = "verbose";
9
- LogLevel["Debug"] = "debug";
10
- LogLevel["Silly"] = "silly";
11
- })(LogLevel || (LogLevel = {}));
12
- export class Logger {
13
- constructor() {
14
- this.logged = new EventDispatcher();
15
- this.history = [];
16
- this.profilers = {};
17
- }
18
- /**
19
- * Triggered when a new message is logged.
20
- */
21
- get onLogged() {
22
- return this.logged.subscribable;
23
- }
24
- log(payload) {
25
- this.logged.dispatch(payload);
26
- this.history.push(payload);
27
- }
28
- error(payload) {
29
- console.error('error from browser process:', typeof payload === 'string' ? payload : payload.message);
30
- this.logLevel(LogLevel.Error, payload);
31
- if (window.browserError) {
32
- window.browserError(typeof payload === 'string' ? payload : payload.message);
33
- }
34
- }
35
- warn(payload) {
36
- console.warn('warning from browser process:', typeof payload === 'string' ? payload : payload.message);
37
- this.logLevel(LogLevel.Warn, payload);
38
- }
39
- info(payload) {
40
- console.info('info from browser process:', typeof payload === 'string' ? payload : payload.message);
41
- this.logLevel(LogLevel.Info, payload);
42
- }
43
- http(payload) {
44
- console.log('http log from browser process:', typeof payload === 'string' ? payload : payload.message);
45
- this.logLevel(LogLevel.Http, payload);
46
- }
47
- verbose(payload) {
48
- console.log('verbose log from browser process:', typeof payload === 'string' ? payload : payload.message);
49
- this.logLevel(LogLevel.Verbose, payload);
50
- }
51
- debug(payload) {
52
- this.logLevel(LogLevel.Debug, payload);
53
- }
54
- silly(payload) {
55
- console.log('silly log from browser process:', typeof payload === 'string' ? payload : payload.message);
56
- this.logLevel(LogLevel.Silly, payload);
57
- }
58
- logLevel(level, payload) {
59
- const result = typeof payload === 'string' ? { message: payload } : payload;
60
- result.level = level;
61
- this.log(result);
62
- }
63
- profile(id, payload) {
64
- const time = performance.now();
65
- if (this.profilers[id]) {
66
- const timeEnd = this.profilers[id];
67
- delete this.profilers[id];
68
- const result = payload ?? { message: id };
69
- result.level ?? (result.level = LogLevel.Debug);
70
- result.durationMs = time - timeEnd;
71
- this.log(result);
72
- return;
73
- }
74
- this.profilers[id] = time;
75
- }
76
- }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC9Mb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUUxQyxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLHlCQUFhLENBQUE7SUFDYiwrQkFBbUIsQ0FBQTtJQUNuQiwyQkFBZSxDQUFBO0lBQ2YsMkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUlcsUUFBUSxLQUFSLFFBQVEsUUFRbkI7QUFzRkQsTUFBTSxPQUFPLE1BQU07SUFBbkI7UUFPbUIsV0FBTSxHQUFHLElBQUksZUFBZSxFQUFjLENBQUM7UUFDNUMsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFFbkMsY0FBUyxHQUEyQixFQUFFLENBQUM7SUF1RmpELENBQUM7SUFoR0M7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNsQyxDQUFDO0lBTU0sR0FBRyxDQUFDLE9BQW1CO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBNEI7UUFDdkMsT0FBTyxDQUFDLEtBQUssQ0FDWCw2QkFBNkIsRUFDN0IsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ3hELENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdkMsSUFBSyxNQUFj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
@@ -1,55 +0,0 @@
1
- import type { Scene, SceneDescriptionReload, Slide } from '../scenes';
2
- export declare enum PlaybackState {
3
- Playing = 0,
4
- Rendering = 1,
5
- Paused = 2,
6
- Presenting = 3
7
- }
8
- /**
9
- * A general class for managing a sequence of scenes.
10
- *
11
- * @remarks
12
- * This class provides primitive operations that can be executed on a scene
13
- * sequence, such as {@link progress} or {@link seek}.
14
- *
15
- * @internal
16
- */
17
- export declare class PlaybackManager {
18
- /**
19
- * Triggered when the active scene changes.
20
- *
21
- * @eventProperty
22
- */
23
- get onSceneChanged(): import("../events").SubscribableValueEvent<Scene<unknown>>;
24
- /**
25
- * Triggered when the scenes get recalculated.
26
- *
27
- * @remarks
28
- * This event indicates that the timing of at least one scene has changed.
29
- *
30
- * @eventProperty
31
- */
32
- get onScenesRecalculated(): import("../events").SubscribableValueEvent<Scene<unknown>[]>;
33
- frame: number;
34
- speed: number;
35
- fps: number;
36
- duration: number;
37
- finished: boolean;
38
- slides: Slide[];
39
- previousScene: Scene | null;
40
- state: PlaybackState;
41
- get currentScene(): Scene;
42
- set currentScene(scene: Scene);
43
- private currentSceneReference;
44
- private scenes;
45
- setup(scenes: Scene[]): void;
46
- progress(): Promise<boolean>;
47
- seek(frame: number): Promise<boolean>;
48
- reset(): Promise<void>;
49
- reload(description?: SceneDescriptionReload<never>): void;
50
- recalculate(): Promise<void>;
51
- private next;
52
- private findBestScene;
53
- private getNextScene;
54
- }
55
- //# sourceMappingURL=PlaybackManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlaybackManager.d.ts","sourceRoot":"","sources":["../../src/app/PlaybackManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAC,MAAM,WAAW,CAAC;AAEpE,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,SAAS,IAAA;IACT,MAAM,IAAA;IACN,UAAU,IAAA;CACX;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IACH,IAAW,cAAc,+DAKxB;IAED;;;;;;;OAOG;IACH,IAAW,oBAAoB,iEAE9B;IAEM,KAAK,SAAK;IACV,KAAK,SAAK;IACV,GAAG,SAAM;IACT,QAAQ,SAAK;IACb,QAAQ,UAAS;IACjB,MAAM,EAAE,KAAK,EAAE,CAAM;IAErB,aAAa,EAAE,KAAK,GAAG,IAAI,CAAQ;IACnC,KAAK,gBAAwB;IAEpC,IAAW,YAAY,IAAI,KAAK,CAK/B;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,KAAK,EAMnC;IAED,OAAO,CAAC,qBAAqB,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAoC;IAE3C,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;IAKf,QAAQ;IAKR,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BrC,KAAK;IAOX,MAAM,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC;IAI5C,WAAW;YAyBV,IAAI;IAmClB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,YAAY;CAYrB"}
@@ -1,179 +0,0 @@
1
- import { ValueDispatcher } from '../events';
2
- export var PlaybackState;
3
- (function (PlaybackState) {
4
- PlaybackState[PlaybackState["Playing"] = 0] = "Playing";
5
- PlaybackState[PlaybackState["Rendering"] = 1] = "Rendering";
6
- PlaybackState[PlaybackState["Paused"] = 2] = "Paused";
7
- PlaybackState[PlaybackState["Presenting"] = 3] = "Presenting";
8
- })(PlaybackState || (PlaybackState = {}));
9
- /**
10
- * A general class for managing a sequence of scenes.
11
- *
12
- * @remarks
13
- * This class provides primitive operations that can be executed on a scene
14
- * sequence, such as {@link progress} or {@link seek}.
15
- *
16
- * @internal
17
- */
18
- export class PlaybackManager {
19
- constructor() {
20
- this.frame = 0;
21
- this.speed = 1;
22
- this.fps = 30;
23
- this.duration = 0;
24
- this.finished = false;
25
- this.slides = [];
26
- this.previousScene = null;
27
- this.state = PlaybackState.Paused;
28
- this.currentSceneReference = null;
29
- this.scenes = new ValueDispatcher([]);
30
- }
31
- /**
32
- * Triggered when the active scene changes.
33
- *
34
- * @eventProperty
35
- */
36
- get onSceneChanged() {
37
- if (this.currentSceneReference === null) {
38
- throw new Error('PlaybackManager has not been properly initialized');
39
- }
40
- return this.currentSceneReference.subscribable;
41
- }
42
- /**
43
- * Triggered when the scenes get recalculated.
44
- *
45
- * @remarks
46
- * This event indicates that the timing of at least one scene has changed.
47
- *
48
- * @eventProperty
49
- */
50
- get onScenesRecalculated() {
51
- return this.scenes.subscribable;
52
- }
53
- get currentScene() {
54
- if (this.currentSceneReference === null) {
55
- throw new Error('PlaybackManager has not been properly initialized');
56
- }
57
- return this.currentSceneReference.current;
58
- }
59
- set currentScene(scene) {
60
- if (!scene) {
61
- throw new Error('Invalid scene.');
62
- }
63
- this.currentSceneReference ?? (this.currentSceneReference = new ValueDispatcher(scene));
64
- this.currentSceneReference.current = scene;
65
- }
66
- setup(scenes) {
67
- this.scenes.current = scenes;
68
- this.currentScene = scenes[0];
69
- }
70
- async progress() {
71
- this.finished = await this.next();
72
- return this.finished;
73
- }
74
- async seek(frame) {
75
- if (frame <= this.frame ||
76
- (this.currentScene.isCached() && this.currentScene.lastFrame < frame)) {
77
- const scene = this.findBestScene(frame);
78
- if (scene !== this.currentScene) {
79
- this.currentScene.stopAllMedia();
80
- this.previousScene = null;
81
- this.currentScene = scene;
82
- this.frame = this.currentScene.firstFrame;
83
- await this.currentScene.reset();
84
- }
85
- else if (this.frame >= frame) {
86
- this.previousScene = null;
87
- this.frame = this.currentScene.firstFrame;
88
- await this.currentScene.reset();
89
- }
90
- }
91
- this.finished = false;
92
- while (this.frame < frame && !this.finished) {
93
- this.finished = await this.next();
94
- }
95
- return this.finished;
96
- }
97
- async reset() {
98
- this.previousScene = null;
99
- this.currentScene = this.scenes.current[0];
100
- this.frame = 0;
101
- await this.currentScene.reset();
102
- }
103
- reload(description) {
104
- this.scenes.current.forEach(scene => scene.reload(description));
105
- }
106
- async recalculate() {
107
- this.previousScene = null;
108
- this.slides = [];
109
- const speed = this.speed;
110
- this.frame = 0;
111
- this.speed = 1;
112
- const scenes = [];
113
- try {
114
- for (const scene of this.scenes.current) {
115
- await scene.recalculate(frame => {
116
- this.frame = frame;
117
- });
118
- this.slides.push(...scene.slides.onChanged.current);
119
- scenes.push(scene);
120
- }
121
- }
122
- finally {
123
- this.speed = speed;
124
- }
125
- this.scenes.current = scenes;
126
- this.duration = this.frame;
127
- }
128
- async next() {
129
- if (this.previousScene) {
130
- await this.previousScene.next();
131
- if (this.currentScene.isFinished()) {
132
- this.previousScene = null;
133
- }
134
- }
135
- this.frame += this.speed;
136
- if (this.currentScene.isFinished()) {
137
- return true;
138
- }
139
- await this.currentScene.next();
140
- if (this.previousScene && this.currentScene.isAfterTransitionIn()) {
141
- this.previousScene = null;
142
- }
143
- if (this.currentScene.canTransitionOut()) {
144
- this.previousScene = this.currentScene;
145
- const nextScene = this.getNextScene(this.previousScene);
146
- if (nextScene) {
147
- this.previousScene.stopAllMedia();
148
- this.currentScene = nextScene;
149
- await this.currentScene.reset(this.previousScene);
150
- }
151
- if (!nextScene || this.currentScene.isAfterTransitionIn()) {
152
- this.previousScene = null;
153
- }
154
- }
155
- return this.currentScene.isFinished();
156
- }
157
- findBestScene(frame) {
158
- let lastScene = this.scenes.current[0];
159
- for (const scene of this.scenes.current) {
160
- if (!scene.isCached() || scene.lastFrame > frame) {
161
- return scene;
162
- }
163
- lastScene = scene;
164
- }
165
- return lastScene;
166
- }
167
- getNextScene(scene) {
168
- const scenes = this.scenes.current;
169
- if (!scene) {
170
- return scenes[0];
171
- }
172
- const index = scenes.findIndex(s => s === scene);
173
- if (index < 0) {
174
- return null;
175
- }
176
- return scenes[index + 1] ?? null;
177
- }
178
- }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWJhY2tNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC9QbGF5YmFja01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUcxQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLHVEQUFPLENBQUE7SUFDUCwyREFBUyxDQUFBO0lBQ1QscURBQU0sQ0FBQTtJQUNOLDZEQUFVLENBQUE7QUFDWixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBeUJTLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBWSxFQUFFLENBQUM7UUFFckIsa0JBQWEsR0FBaUIsSUFBSSxDQUFDO1FBQ25DLFVBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBaUI1QiwwQkFBcUIsR0FBa0MsSUFBSSxDQUFDO1FBQzVELFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVSxFQUFFLENBQUMsQ0FBQztJQXVJcEQsQ0FBQztJQXpMQzs7OztPQUlHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxD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
@@ -1,30 +0,0 @@
1
- import type { PlaybackManager, PlaybackState } from './PlaybackManager';
2
- /**
3
- * A read-only representation of the playback.
4
- */
5
- export declare class PlaybackStatus {
6
- private readonly playback;
7
- constructor(playback: PlaybackManager);
8
- /**
9
- * Convert seconds to frames using the current framerate.
10
- *
11
- * @param seconds - The seconds to convert.
12
- */
13
- secondsToFrames(seconds: number): number;
14
- /**
15
- * Convert frames to seconds using the current framerate.
16
- *
17
- * @param frames - The frames to convert.
18
- */
19
- framesToSeconds(frames: number): number;
20
- get time(): number;
21
- get frame(): number;
22
- get speed(): number;
23
- get fps(): number;
24
- get state(): PlaybackState;
25
- /**
26
- * The time passed since the last frame in seconds.
27
- */
28
- get deltaTime(): number;
29
- }
30
- //# sourceMappingURL=PlaybackStatus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlaybackStatus.d.ts","sourceRoot":"","sources":["../../src/app/PlaybackStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEtE;;GAEG;AACH,qBAAa,cAAc;IACN,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,eAAe;IAE7D;;;;OAIG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM;IAItC;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM;IAIrC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,KAAK,IAAI,aAAa,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;CACF"}