@twick/core 0.14.21 → 0.15.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 (376) hide show
  1. package/dist/index.cjs +6465 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +3919 -0
  4. package/dist/index.d.ts +3919 -0
  5. package/dist/index.js +6225 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +28 -18
  8. package/tsconfig.project.json +1 -0
  9. package/lib/app/Logger.d.ts +0 -105
  10. package/lib/app/Logger.d.ts.map +0 -1
  11. package/lib/app/Logger.js +0 -77
  12. package/lib/app/PlaybackManager.d.ts +0 -55
  13. package/lib/app/PlaybackManager.d.ts.map +0 -1
  14. package/lib/app/PlaybackManager.js +0 -179
  15. package/lib/app/PlaybackStatus.d.ts +0 -30
  16. package/lib/app/PlaybackStatus.d.ts.map +0 -1
  17. package/lib/app/PlaybackStatus.js +0 -46
  18. package/lib/app/Player.d.ts +0 -130
  19. package/lib/app/Player.d.ts.map +0 -1
  20. package/lib/app/Player.js +0 -375
  21. package/lib/app/Project.d.ts +0 -145
  22. package/lib/app/Project.d.ts.map +0 -1
  23. package/lib/app/Project.js +0 -10
  24. package/lib/app/Renderer.d.ts +0 -90
  25. package/lib/app/Renderer.d.ts.map +0 -1
  26. package/lib/app/Renderer.js +0 -318
  27. package/lib/app/SharedWebGLContext.d.ts +0 -24
  28. package/lib/app/SharedWebGLContext.d.ts.map +0 -1
  29. package/lib/app/SharedWebGLContext.js +0 -200
  30. package/lib/app/Stage.d.ts +0 -30
  31. package/lib/app/Stage.d.ts.map +0 -1
  32. package/lib/app/Stage.js +0 -75
  33. package/lib/app/TimeEstimator.d.ts +0 -53
  34. package/lib/app/TimeEstimator.d.ts.map +0 -1
  35. package/lib/app/TimeEstimator.js +0 -70
  36. package/lib/app/index.d.ts +0 -16
  37. package/lib/app/index.d.ts.map +0 -1
  38. package/lib/app/index.js +0 -16
  39. package/lib/app/makeProject.d.ts +0 -15
  40. package/lib/app/makeProject.d.ts.map +0 -1
  41. package/lib/app/makeProject.js +0 -72
  42. package/lib/app/project-settings.d.ts +0 -8
  43. package/lib/app/project-settings.d.ts.map +0 -1
  44. package/lib/app/project-settings.js +0 -13
  45. package/lib/decorators/decorate.d.ts +0 -2
  46. package/lib/decorators/decorate.d.ts.map +0 -1
  47. package/lib/decorators/decorate.js +0 -10
  48. package/lib/decorators/deprecated.d.ts +0 -5
  49. package/lib/decorators/deprecated.d.ts.map +0 -1
  50. package/lib/decorators/deprecated.js +0 -23
  51. package/lib/decorators/index.d.ts +0 -9
  52. package/lib/decorators/index.d.ts.map +0 -1
  53. package/lib/decorators/index.js +0 -9
  54. package/lib/decorators/lazy.d.ts +0 -14
  55. package/lib/decorators/lazy.d.ts.map +0 -1
  56. package/lib/decorators/lazy.js +0 -27
  57. package/lib/decorators/threadable.d.ts +0 -2
  58. package/lib/decorators/threadable.d.ts.map +0 -1
  59. package/lib/decorators/threadable.js +0 -9
  60. package/lib/events/AsyncEventDispatcher.d.ts +0 -45
  61. package/lib/events/AsyncEventDispatcher.d.ts.map +0 -1
  62. package/lib/events/AsyncEventDispatcher.js +0 -33
  63. package/lib/events/EventDispatcher.d.ts +0 -38
  64. package/lib/events/EventDispatcher.d.ts.map +0 -1
  65. package/lib/events/EventDispatcher.js +0 -29
  66. package/lib/events/EventDispatcherBase.d.ts +0 -55
  67. package/lib/events/EventDispatcherBase.d.ts.map +0 -1
  68. package/lib/events/EventDispatcherBase.js +0 -68
  69. package/lib/events/FlagDispatcher.d.ts +0 -54
  70. package/lib/events/FlagDispatcher.d.ts.map +0 -1
  71. package/lib/events/FlagDispatcher.js +0 -63
  72. package/lib/events/ValueDispatcher.d.ts +0 -81
  73. package/lib/events/ValueDispatcher.d.ts.map +0 -1
  74. package/lib/events/ValueDispatcher.js +0 -97
  75. package/lib/events/index.d.ts +0 -11
  76. package/lib/events/index.d.ts.map +0 -1
  77. package/lib/events/index.js +0 -11
  78. package/lib/exporter/Exporter.d.ts +0 -101
  79. package/lib/exporter/Exporter.d.ts.map +0 -1
  80. package/lib/exporter/Exporter.js +0 -2
  81. package/lib/exporter/FFmpegExporter.d.ts +0 -50
  82. package/lib/exporter/FFmpegExporter.d.ts.map +0 -1
  83. package/lib/exporter/FFmpegExporter.js +0 -140
  84. package/lib/exporter/ImageExporter.d.ts +0 -34
  85. package/lib/exporter/ImageExporter.d.ts.map +0 -1
  86. package/lib/exporter/ImageExporter.js +0 -80
  87. package/lib/exporter/WasmExporter.d.ts +0 -19
  88. package/lib/exporter/WasmExporter.d.ts.map +0 -1
  89. package/lib/exporter/WasmExporter.js +0 -78
  90. package/lib/exporter/download-videos.d.ts +0 -3
  91. package/lib/exporter/download-videos.d.ts.map +0 -1
  92. package/lib/exporter/download-videos.js +0 -45
  93. package/lib/exporter/index.d.ts +0 -5
  94. package/lib/exporter/index.d.ts.map +0 -1
  95. package/lib/exporter/index.js +0 -5
  96. package/lib/flow/all.d.ts +0 -18
  97. package/lib/flow/all.d.ts.map +0 -1
  98. package/lib/flow/all.js +0 -25
  99. package/lib/flow/any.d.ts +0 -18
  100. package/lib/flow/any.d.ts.map +0 -1
  101. package/lib/flow/any.js +0 -25
  102. package/lib/flow/chain.d.ts +0 -36
  103. package/lib/flow/chain.d.ts.map +0 -1
  104. package/lib/flow/chain.js +0 -46
  105. package/lib/flow/delay.d.ts +0 -29
  106. package/lib/flow/delay.d.ts.map +0 -1
  107. package/lib/flow/delay.js +0 -39
  108. package/lib/flow/every.d.ts +0 -41
  109. package/lib/flow/every.d.ts.map +0 -1
  110. package/lib/flow/every.js +0 -61
  111. package/lib/flow/index.d.ts +0 -17
  112. package/lib/flow/index.d.ts.map +0 -1
  113. package/lib/flow/index.js +0 -17
  114. package/lib/flow/join.d.ts +0 -35
  115. package/lib/flow/join.d.ts.map +0 -1
  116. package/lib/flow/join.js +0 -33
  117. package/lib/flow/loop.d.ts +0 -58
  118. package/lib/flow/loop.d.ts.map +0 -1
  119. package/lib/flow/loop.js +0 -51
  120. package/lib/flow/loopFor.d.ts +0 -25
  121. package/lib/flow/loopFor.d.ts.map +0 -1
  122. package/lib/flow/loopFor.js +0 -42
  123. package/lib/flow/names.d.ts +0 -3
  124. package/lib/flow/names.d.ts.map +0 -1
  125. package/lib/flow/names.js +0 -11
  126. package/lib/flow/run.d.ts +0 -45
  127. package/lib/flow/run.d.ts.map +0 -1
  128. package/lib/flow/run.js +0 -14
  129. package/lib/flow/scheduling.d.ts +0 -18
  130. package/lib/flow/scheduling.d.ts.map +0 -1
  131. package/lib/flow/scheduling.js +0 -33
  132. package/lib/flow/sequence.d.ts +0 -22
  133. package/lib/flow/sequence.d.ts.map +0 -1
  134. package/lib/flow/sequence.js +0 -31
  135. package/lib/index.d.ts +0 -16
  136. package/lib/index.d.ts.map +0 -1
  137. package/lib/index.js +0 -16
  138. package/lib/media/index.d.ts +0 -7
  139. package/lib/media/index.d.ts.map +0 -1
  140. package/lib/media/index.js +0 -7
  141. package/lib/media/loadImage.d.ts +0 -8
  142. package/lib/media/loadImage.d.ts.map +0 -1
  143. package/lib/media/loadImage.js +0 -29
  144. package/lib/plugin/DefaultPlugin.d.ts +0 -10
  145. package/lib/plugin/DefaultPlugin.d.ts.map +0 -1
  146. package/lib/plugin/DefaultPlugin.js +0 -17
  147. package/lib/plugin/Plugin.d.ts +0 -53
  148. package/lib/plugin/Plugin.d.ts.map +0 -1
  149. package/lib/plugin/Plugin.js +0 -2
  150. package/lib/plugin/index.d.ts +0 -3
  151. package/lib/plugin/index.d.ts.map +0 -1
  152. package/lib/plugin/index.js +0 -3
  153. package/lib/plugin/makePlugin.d.ts +0 -15
  154. package/lib/plugin/makePlugin.d.ts.map +0 -1
  155. package/lib/plugin/makePlugin.js +0 -16
  156. package/lib/scenes/GeneratorScene.d.ts +0 -95
  157. package/lib/scenes/GeneratorScene.d.ts.map +0 -1
  158. package/lib/scenes/GeneratorScene.js +0 -273
  159. package/lib/scenes/Inspectable.d.ts +0 -71
  160. package/lib/scenes/Inspectable.d.ts.map +0 -1
  161. package/lib/scenes/Inspectable.js +0 -4
  162. package/lib/scenes/LifecycleEvents.d.ts +0 -18
  163. package/lib/scenes/LifecycleEvents.d.ts.map +0 -1
  164. package/lib/scenes/LifecycleEvents.js +0 -45
  165. package/lib/scenes/Random.d.ts +0 -66
  166. package/lib/scenes/Random.d.ts.map +0 -1
  167. package/lib/scenes/Random.js +0 -101
  168. package/lib/scenes/Scene.d.ts +0 -298
  169. package/lib/scenes/Scene.d.ts.map +0 -1
  170. package/lib/scenes/Scene.js +0 -25
  171. package/lib/scenes/SceneState.d.ts +0 -34
  172. package/lib/scenes/SceneState.d.ts.map +0 -1
  173. package/lib/scenes/SceneState.js +0 -35
  174. package/lib/scenes/Shaders.d.ts +0 -63
  175. package/lib/scenes/Shaders.d.ts.map +0 -1
  176. package/lib/scenes/Shaders.js +0 -158
  177. package/lib/scenes/Slides.d.ts +0 -33
  178. package/lib/scenes/Slides.d.ts.map +0 -1
  179. package/lib/scenes/Slides.js +0 -115
  180. package/lib/scenes/Threadable.d.ts +0 -19
  181. package/lib/scenes/Threadable.d.ts.map +0 -1
  182. package/lib/scenes/Threadable.js +0 -4
  183. package/lib/scenes/Variables.d.ts +0 -24
  184. package/lib/scenes/Variables.d.ts.map +0 -1
  185. package/lib/scenes/Variables.js +0 -39
  186. package/lib/scenes/index.d.ts +0 -16
  187. package/lib/scenes/index.d.ts.map +0 -1
  188. package/lib/scenes/index.js +0 -16
  189. package/lib/signals/CompoundSignalContext.d.ts +0 -21
  190. package/lib/signals/CompoundSignalContext.d.ts.map +0 -1
  191. package/lib/signals/CompoundSignalContext.js +0 -73
  192. package/lib/signals/ComputedContext.d.ts +0 -14
  193. package/lib/signals/ComputedContext.d.ts.map +0 -1
  194. package/lib/signals/ComputedContext.js +0 -36
  195. package/lib/signals/DependencyContext.d.ts +0 -32
  196. package/lib/signals/DependencyContext.d.ts.map +0 -1
  197. package/lib/signals/DependencyContext.js +0 -87
  198. package/lib/signals/SignalContext.d.ts +0 -120
  199. package/lib/signals/SignalContext.d.ts.map +0 -1
  200. package/lib/signals/SignalContext.js +0 -245
  201. package/lib/signals/createComputed.d.ts +0 -3
  202. package/lib/signals/createComputed.d.ts.map +0 -1
  203. package/lib/signals/createComputed.js +0 -5
  204. package/lib/signals/createComputedAsync.d.ts +0 -4
  205. package/lib/signals/createComputedAsync.d.ts.map +0 -1
  206. package/lib/signals/createComputedAsync.js +0 -15
  207. package/lib/signals/createSignal.d.ts +0 -5
  208. package/lib/signals/createSignal.d.ts.map +0 -1
  209. package/lib/signals/createSignal.js +0 -6
  210. package/lib/signals/index.d.ts +0 -16
  211. package/lib/signals/index.d.ts.map +0 -1
  212. package/lib/signals/index.js +0 -16
  213. package/lib/signals/symbols.d.ts +0 -2
  214. package/lib/signals/symbols.d.ts.map +0 -1
  215. package/lib/signals/symbols.js +0 -2
  216. package/lib/signals/types.d.ts +0 -51
  217. package/lib/signals/types.d.ts.map +0 -1
  218. package/lib/signals/types.js +0 -2
  219. package/lib/signals/utils.d.ts +0 -5
  220. package/lib/signals/utils.d.ts.map +0 -1
  221. package/lib/signals/utils.js +0 -10
  222. package/lib/threading/Thread.d.ts +0 -77
  223. package/lib/threading/Thread.d.ts.map +0 -1
  224. package/lib/threading/Thread.js +0 -169
  225. package/lib/threading/ThreadGenerator.d.ts +0 -39
  226. package/lib/threading/ThreadGenerator.d.ts.map +0 -1
  227. package/lib/threading/ThreadGenerator.js +0 -17
  228. package/lib/threading/cancel.d.ts +0 -17
  229. package/lib/threading/cancel.d.ts.map +0 -1
  230. package/lib/threading/cancel.js +0 -26
  231. package/lib/threading/index.d.ts +0 -11
  232. package/lib/threading/index.d.ts.map +0 -1
  233. package/lib/threading/index.js +0 -11
  234. package/lib/threading/spawn.d.ts +0 -28
  235. package/lib/threading/spawn.d.ts.map +0 -1
  236. package/lib/threading/spawn.js +0 -30
  237. package/lib/threading/threads.d.ts +0 -46
  238. package/lib/threading/threads.d.ts.map +0 -1
  239. package/lib/threading/threads.js +0 -89
  240. package/lib/transitions/fadeTransition.d.ts +0 -8
  241. package/lib/transitions/fadeTransition.d.ts.map +0 -1
  242. package/lib/transitions/fadeTransition.js +0 -16
  243. package/lib/transitions/index.d.ts +0 -11
  244. package/lib/transitions/index.d.ts.map +0 -1
  245. package/lib/transitions/index.js +0 -11
  246. package/lib/transitions/slideTransition.d.ts +0 -18
  247. package/lib/transitions/slideTransition.d.ts.map +0 -1
  248. package/lib/transitions/slideTransition.js +0 -14
  249. package/lib/transitions/useTransition.d.ts +0 -10
  250. package/lib/transitions/useTransition.d.ts.map +0 -1
  251. package/lib/transitions/useTransition.js +0 -27
  252. package/lib/transitions/zoomInTransition.d.ts +0 -10
  253. package/lib/transitions/zoomInTransition.d.ts.map +0 -1
  254. package/lib/transitions/zoomInTransition.js +0 -33
  255. package/lib/transitions/zoomOutTransition.d.ts +0 -10
  256. package/lib/transitions/zoomOutTransition.d.ts.map +0 -1
  257. package/lib/transitions/zoomOutTransition.js +0 -33
  258. package/lib/tsconfig.build.tsbuildinfo +0 -1
  259. package/lib/tweening/helpers.d.ts +0 -5
  260. package/lib/tweening/helpers.d.ts.map +0 -1
  261. package/lib/tweening/helpers.js +0 -16
  262. package/lib/tweening/index.d.ts +0 -11
  263. package/lib/tweening/index.d.ts.map +0 -1
  264. package/lib/tweening/index.js +0 -11
  265. package/lib/tweening/interpolationFunctions.d.ts +0 -38
  266. package/lib/tweening/interpolationFunctions.d.ts.map +0 -1
  267. package/lib/tweening/interpolationFunctions.js +0 -107
  268. package/lib/tweening/spring.d.ts +0 -20
  269. package/lib/tweening/spring.d.ts.map +0 -1
  270. package/lib/tweening/spring.js +0 -103
  271. package/lib/tweening/timingFunctions.d.ts +0 -46
  272. package/lib/tweening/timingFunctions.d.ts.map +0 -1
  273. package/lib/tweening/timingFunctions.js +0 -233
  274. package/lib/tweening/tween.d.ts +0 -3
  275. package/lib/tweening/tween.d.ts.map +0 -1
  276. package/lib/tweening/tween.js +0 -21
  277. package/lib/types/BBox.d.ts +0 -73
  278. package/lib/types/BBox.d.ts.map +0 -1
  279. package/lib/types/BBox.js +0 -249
  280. package/lib/types/Canvas.d.ts +0 -3
  281. package/lib/types/Canvas.d.ts.map +0 -1
  282. package/lib/types/Canvas.js +0 -2
  283. package/lib/types/Color.d.ts +0 -65
  284. package/lib/types/Color.d.ts.map +0 -1
  285. package/lib/types/Color.js +0 -185
  286. package/lib/types/Matrix.d.ts +0 -3
  287. package/lib/types/Matrix.d.ts.map +0 -1
  288. package/lib/types/Matrix.js +0 -10
  289. package/lib/types/Matrix2D.d.ts +0 -363
  290. package/lib/types/Matrix2D.d.ts.map +0 -1
  291. package/lib/types/Matrix2D.js +0 -554
  292. package/lib/types/Origin.d.ts +0 -17
  293. package/lib/types/Origin.d.ts.map +0 -1
  294. package/lib/types/Origin.js +0 -53
  295. package/lib/types/Spacing.d.ts +0 -36
  296. package/lib/types/Spacing.d.ts.map +0 -1
  297. package/lib/types/Spacing.js +0 -70
  298. package/lib/types/Type.d.ts +0 -9
  299. package/lib/types/Type.d.ts.map +0 -1
  300. package/lib/types/Type.js +0 -5
  301. package/lib/types/Vector.d.ts +0 -203
  302. package/lib/types/Vector.d.ts.map +0 -1
  303. package/lib/types/Vector.js +0 -355
  304. package/lib/types/alignment-enums.d.ts +0 -22
  305. package/lib/types/alignment-enums.d.ts.map +0 -1
  306. package/lib/types/alignment-enums.js +0 -25
  307. package/lib/types/index.d.ts +0 -17
  308. package/lib/types/index.d.ts.map +0 -1
  309. package/lib/types/index.js +0 -17
  310. package/lib/types/vector-transformations.d.ts +0 -20
  311. package/lib/types/vector-transformations.d.ts.map +0 -1
  312. package/lib/types/vector-transformations.js +0 -31
  313. package/lib/utils/DetailedError.d.ts +0 -24
  314. package/lib/utils/DetailedError.d.ts.map +0 -1
  315. package/lib/utils/DetailedError.js +0 -16
  316. package/lib/utils/ExperimentalError.d.ts +0 -10
  317. package/lib/utils/ExperimentalError.d.ts.map +0 -1
  318. package/lib/utils/ExperimentalError.js +0 -32
  319. package/lib/utils/Semaphore.d.ts +0 -12
  320. package/lib/utils/Semaphore.d.ts.map +0 -1
  321. package/lib/utils/Semaphore.js +0 -25
  322. package/lib/utils/beginSlide.d.ts +0 -3
  323. package/lib/utils/beginSlide.d.ts.map +0 -1
  324. package/lib/utils/beginSlide.js +0 -12
  325. package/lib/utils/capitalize.d.ts +0 -2
  326. package/lib/utils/capitalize.d.ts.map +0 -1
  327. package/lib/utils/capitalize.js +0 -4
  328. package/lib/utils/createRef.d.ts +0 -15
  329. package/lib/utils/createRef.d.ts.map +0 -1
  330. package/lib/utils/createRef.js +0 -21
  331. package/lib/utils/createRefArray.d.ts +0 -27
  332. package/lib/utils/createRefArray.d.ts.map +0 -1
  333. package/lib/utils/createRefArray.js +0 -49
  334. package/lib/utils/createRefMap.d.ts +0 -50
  335. package/lib/utils/createRefMap.d.ts.map +0 -1
  336. package/lib/utils/createRefMap.js +0 -77
  337. package/lib/utils/debug.d.ts +0 -24
  338. package/lib/utils/debug.d.ts.map +0 -1
  339. package/lib/utils/debug.js +0 -47
  340. package/lib/utils/deprecate.d.ts +0 -9
  341. package/lib/utils/deprecate.d.ts.map +0 -1
  342. package/lib/utils/deprecate.js +0 -15
  343. package/lib/utils/errorToLog.d.ts +0 -3
  344. package/lib/utils/errorToLog.d.ts.map +0 -1
  345. package/lib/utils/errorToLog.js +0 -8
  346. package/lib/utils/experimentalLog.d.ts +0 -3
  347. package/lib/utils/experimentalLog.d.ts.map +0 -1
  348. package/lib/utils/experimentalLog.js +0 -10
  349. package/lib/utils/getContext.d.ts +0 -2
  350. package/lib/utils/getContext.d.ts.map +0 -1
  351. package/lib/utils/getContext.js +0 -8
  352. package/lib/utils/index.d.ts +0 -26
  353. package/lib/utils/index.d.ts.map +0 -1
  354. package/lib/utils/index.js +0 -26
  355. package/lib/utils/math.d.ts +0 -15
  356. package/lib/utils/math.d.ts.map +0 -1
  357. package/lib/utils/math.js +0 -15
  358. package/lib/utils/range.d.ts +0 -40
  359. package/lib/utils/range.d.ts.map +0 -1
  360. package/lib/utils/range.js +0 -18
  361. package/lib/utils/useContext.d.ts +0 -13
  362. package/lib/utils/useContext.d.ts.map +0 -1
  363. package/lib/utils/useContext.js +0 -18
  364. package/lib/utils/usePlayback.d.ts +0 -8
  365. package/lib/utils/usePlayback.d.ts.map +0 -1
  366. package/lib/utils/usePlayback.js +0 -20
  367. package/lib/utils/useScene.d.ts +0 -17
  368. package/lib/utils/useScene.d.ts.map +0 -1
  369. package/lib/utils/useScene.js +0 -33
  370. package/lib/utils/useThread.d.ts +0 -8
  371. package/lib/utils/useThread.d.ts.map +0 -1
  372. package/lib/utils/useThread.js +0 -24
  373. package/lib/utils/useTime.d.ts +0 -19
  374. package/lib/utils/useTime.d.ts.map +0 -1
  375. package/lib/utils/useTime.js +0 -22
  376. package/project.d.ts +0 -24
package/package.json CHANGED
@@ -1,35 +1,45 @@
1
1
  {
2
2
  "name": "@twick/core",
3
- "version": "0.14.21",
3
+ "version": "0.15.0",
4
4
  "description": "A web-based framework for creating videos programmatically",
5
- "main": "lib/index.js",
6
5
  "author": "twick",
7
- "bugs": "https://github.com/ncounterspecialist/twick-base/issues",
8
6
  "license": "MIT",
9
- "scripts": {
10
- "dev": "tsc -p tsconfig.build.json -w",
11
- "build": "tsc -p tsconfig.build.json",
12
- "bundle": "rollup -c rollup.config.mjs",
13
- "test": "vitest"
7
+ "type": "module",
8
+ "main": "./dist/index.cjs",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.cjs"
16
+ }
14
17
  },
15
18
  "sideEffects": false,
16
- "repository": {
17
- "type": "git",
18
- "url": "https://github.com/ncounterspecialist/twick-base.git"
19
- },
20
19
  "files": [
21
- "lib",
22
- "tsconfig.project.json",
23
- "project.d.ts",
24
- "shaders"
20
+ "dist",
21
+ "shaders",
22
+ "tsconfig.project.json"
25
23
  ],
24
+ "scripts": {
25
+ "dev": "tsup --watch",
26
+ "build": "tsup",
27
+ "test": "vitest"
28
+ },
26
29
  "dependencies": {
27
30
  "culori": "^4.0.1",
28
31
  "mp4-wasm": "^1.0.6"
29
32
  },
30
33
  "devDependencies": {
31
34
  "@types/culori": "^2.1.1",
32
- "jsdom": "^22.1.0"
35
+ "jsdom": "^22.1.0",
36
+ "tsup": "^8.0.0",
37
+ "typescript": "^5.5.0"
33
38
  },
34
- "gitHead": "597a0cb90db00991294a13ac41c2b86f4e11e13f"
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "https://github.com/ncounterspecialist/twick-base.git"
42
+ },
43
+ "bugs": "https://github.com/ncounterspecialist/twick-base/issues",
44
+ "gitHead": "232564ca74e12d1cc192ff7f5896d54e48212753"
35
45
  }
@@ -4,6 +4,7 @@
4
4
  "noImplicitAny": true,
5
5
  "module": "esnext",
6
6
  "target": "es2020",
7
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
8
  "allowJs": true,
8
9
  "noEmit": true,
9
10
  "moduleResolution": "node",
@@ -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"}
@@ -1,46 +0,0 @@
1
- /**
2
- * A read-only representation of the playback.
3
- */
4
- export class PlaybackStatus {
5
- constructor(playback) {
6
- this.playback = playback;
7
- }
8
- /**
9
- * Convert seconds to frames using the current framerate.
10
- *
11
- * @param seconds - The seconds to convert.
12
- */
13
- secondsToFrames(seconds) {
14
- return Math.ceil(seconds * this.playback.fps);
15
- }
16
- /**
17
- * Convert frames to seconds using the current framerate.
18
- *
19
- * @param frames - The frames to convert.
20
- */
21
- framesToSeconds(frames) {
22
- return frames / this.playback.fps;
23
- }
24
- get time() {
25
- return this.framesToSeconds(this.playback.frame);
26
- }
27
- get frame() {
28
- return this.playback.frame;
29
- }
30
- get speed() {
31
- return this.playback.speed;
32
- }
33
- get fps() {
34
- return this.playback.fps;
35
- }
36
- get state() {
37
- return this.playback.state;
38
- }
39
- /**
40
- * The time passed since the last frame in seconds.
41
- */
42
- get deltaTime() {
43
- return this.framesToSeconds(1) * this.speed;
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWJhY2tTdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwL1BsYXliYWNrU3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0MsUUFBeUI7UUFBekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFBRyxDQUFDO0lBRWpFOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsT0FBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsTUFBYztRQUNuQyxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzlDLENBQUM7Q0FDRiJ9