@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
@@ -1,58 +0,0 @@
1
- import type { ThreadGenerator } from '../threading';
2
- export interface LoopCallback {
3
- /**
4
- * A callback called by {@link loop} during each iteration.
5
- *
6
- * @param i - The current iteration index.
7
- */
8
- (i: number): ThreadGenerator | void;
9
- }
10
- /**
11
- * Run the given generator in a loop.
12
- *
13
- * @remarks
14
- * Each iteration waits until the previous one is completed.
15
- * Because this loop never finishes it cannot be used in the main thread.
16
- * Instead, use `yield` or {@link threading.spawn} to run the loop concurrently.
17
- *
18
- * @example
19
- * Rotate the `rect` indefinitely:
20
- * ```ts
21
- * yield loop(
22
- * () => rect.rotation(0).rotation(360, 2, linear),
23
- * );
24
- * ```
25
- *
26
- * @param factory - A function creating the generator to run. Because generators
27
- * can't be reset, a new generator is created on each
28
- * iteration.
29
- */
30
- export declare function loop(factory: LoopCallback): ThreadGenerator;
31
- /**
32
- * Run the given generator N times.
33
- *
34
- * @remarks
35
- * Each iteration waits until the previous one is completed.
36
- *
37
- * @example
38
- * ```ts
39
- * const colors = [
40
- * '#ff6470',
41
- * '#ffc66d',
42
- * '#68abdf',
43
- * '#99c47a',
44
- * ];
45
- *
46
- * yield* loop(
47
- * colors.length,
48
- * i => rect.fill(colors[i], 2),
49
- * );
50
- * ```
51
- *
52
- * @param iterations - The number of iterations.
53
- * @param factory - A function creating the generator to run. Because generators
54
- * can't be reset, a new generator is created on each
55
- * iteration.
56
- */
57
- export declare function loop(iterations: number, factory: LoopCallback): ThreadGenerator;
58
- //# sourceMappingURL=loop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/flow/loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AA4BlD,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;CACrC;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAAC;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,GACpB,eAAe,CAAC"}
package/lib/flow/loop.js DELETED
@@ -1,51 +0,0 @@
1
- import { decorate, threadable } from '../decorators';
2
- import { useLogger, useThread } from '../utils';
3
- const infiniteLoop = `
4
- Make sure to use \`yield\` or \`spawn()\` to execute the loop concurrently in a
5
- separate thread:
6
-
7
- \`\`\`ts wrong
8
- // prettier-ignore
9
- yield* loop(() => rect().opacity(0).opacity(1, 1));
10
- \`\`\`
11
-
12
- \`\`\`ts correct
13
- yield loop(() => rect().opacity(0).opacity(1, 1));
14
- // or
15
- spawn(loop(() => rect().opacity(0).opacity(1, 1)));
16
- \`\`\`
17
-
18
- If you want to execute the loop a finite number of times, specify the iteration
19
- count as the first argument:
20
-
21
- \`\`\`ts
22
- // prettier-ignore
23
- yield* loop(10, () => rect().opacity(0).opacity(1, 1));
24
- // ^ iteration count
25
- \`\`\`
26
- `;
27
- decorate(loop, threadable());
28
- export function* loop(iterations, factory) {
29
- if (typeof iterations !== 'number') {
30
- factory = iterations;
31
- iterations = Infinity;
32
- }
33
- if (iterations === Infinity && useThread().parent === null) {
34
- useLogger().error({
35
- message: 'Tried to execute an infinite loop in the main thread.',
36
- remarks: infiniteLoop,
37
- stack: new Error().stack,
38
- });
39
- return;
40
- }
41
- for (let i = 0; i < iterations; i++) {
42
- const generator = factory(i);
43
- if (generator) {
44
- yield* generator;
45
- }
46
- else {
47
- yield;
48
- }
49
- }
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9vcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbG93L2xvb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUMsTUFBTSxZQUFZLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdUJwQixDQUFDO0FBV0YsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBcUQ3QixNQUFNLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDbkIsVUFBaUMsRUFDakMsT0FBc0I7SUFFdEIsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQ3JCLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksVUFBVSxLQUFLLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDM0QsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLE9BQU8sRUFBRSx1REFBdUQ7WUFDaEUsT0FBTyxFQUFFLFlBQVk7WUFDckIsS0FBSyxFQUFFLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSztTQUN6QixDQUFDLENBQUM7UUFDSCxPQUFPO0lBQ1QsQ0FBQztJQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxPQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQztRQUNSLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -1,25 +0,0 @@
1
- import type { ThreadGenerator } from '../threading';
2
- import type { LoopCallback } from './loop';
3
- /**
4
- * Run a generator in a loop for the given amount of time.
5
- *
6
- * @remarks
7
- * Generators are executed completely before the next iteration starts.
8
- * An iteration is allowed to finish even when the time is up. This means that
9
- * the actual duration of the loop may be longer than the given duration.
10
- *
11
- * @example
12
- * ```ts
13
- * yield* loopFor(
14
- * 3,
15
- * () => circle().position.x(-10, 0.1).to(10, 0.1)
16
- * );
17
- * ```
18
- *
19
- * @param seconds - The duration in seconds.
20
- * @param factory - A function creating the generator to run. Because generators
21
- * can't be reset, a new generator is created on each
22
- * iteration.
23
- */
24
- export declare function loopFor(seconds: number, factory: LoopCallback): ThreadGenerator;
25
- //# sourceMappingURL=loopFor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loopFor.d.ts","sourceRoot":"","sources":["../../src/flow/loopFor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAiB,OAAO,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,GACpB,eAAe,CAgBjB"}
@@ -1,42 +0,0 @@
1
- import { decorate, threadable } from '../decorators';
2
- import { usePlayback, useThread } from '../utils';
3
- decorate(loopFor, threadable());
4
- /**
5
- * Run a generator in a loop for the given amount of time.
6
- *
7
- * @remarks
8
- * Generators are executed completely before the next iteration starts.
9
- * An iteration is allowed to finish even when the time is up. This means that
10
- * the actual duration of the loop may be longer than the given duration.
11
- *
12
- * @example
13
- * ```ts
14
- * yield* loopFor(
15
- * 3,
16
- * () => circle().position.x(-10, 0.1).to(10, 0.1)
17
- * );
18
- * ```
19
- *
20
- * @param seconds - The duration in seconds.
21
- * @param factory - A function creating the generator to run. Because generators
22
- * can't be reset, a new generator is created on each
23
- * iteration.
24
- */
25
- export function* loopFor(seconds, factory) {
26
- const thread = useThread();
27
- const step = usePlayback().framesToSeconds(1);
28
- const targetTime = thread.time() + seconds;
29
- let iteration = 0;
30
- while (targetTime - step > thread.fixed) {
31
- const generator = factory(iteration);
32
- if (generator) {
33
- yield* generator;
34
- }
35
- else {
36
- yield;
37
- }
38
- iteration += 1;
39
- }
40
- thread.time(targetTime);
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9vcEZvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbG93L2xvb3BGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHaEQsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ2hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sU0FBUyxDQUFDLENBQUMsT0FBTyxDQUN0QixPQUFlLEVBQ2YsT0FBcUI7SUFFckIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDM0IsTUFBTSxJQUFJLEdBQUcsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFM0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sVUFBVSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUM7UUFDUixDQUFDO1FBQ0QsU0FBUyxJQUFJLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxQixDQUFDIn0=
@@ -1,3 +0,0 @@
1
- export declare function setTaskName(task: Generator, source: Generator | string): void;
2
- export declare function getTaskName(task: Generator): string;
3
- //# sourceMappingURL=names.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/flow/names.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAM7E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEnD"}
package/lib/flow/names.js DELETED
@@ -1,11 +0,0 @@
1
- export function setTaskName(task, source) {
2
- const prototype = Object.getPrototypeOf(task);
3
- if (prototype && !prototype.threadable) {
4
- prototype.threadable = true;
5
- prototype.name = typeof source === 'string' ? source : getTaskName(source);
6
- }
7
- }
8
- export function getTaskName(task) {
9
- return Object.getPrototypeOf(task).name ?? null;
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxvdy9uYW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQWUsRUFBRSxNQUEwQjtJQUNyRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUcsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQzVCLFNBQVMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RSxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBZTtJQUN6QyxPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztBQUNsRCxDQUFDIn0=
package/lib/flow/run.d.ts DELETED
@@ -1,45 +0,0 @@
1
- import type { ThreadGenerator } from '../threading';
2
- /**
3
- * Turn the given generator function into a task.
4
- *
5
- * @remarks
6
- * If you want to immediately run the generator in its own thread, you can use
7
- * {@link threading.spawn} instead. This function is useful when you want to
8
- * pass the created task to other flow functions.
9
- *
10
- * @example
11
- * ```ts
12
- * yield* all(
13
- * run(function* () {
14
- * // do things
15
- * }),
16
- * rect.opacity(1, 1),
17
- * );
18
- * ```
19
- *
20
- * @param runner - A generator function or a factory that creates the generator.
21
- */
22
- export declare function run(runner: () => ThreadGenerator): ThreadGenerator;
23
- /**
24
- * Turn the given generator function into a task.
25
- *
26
- * @remarks
27
- * If you want to immediately run the generator in its own thread, you can use
28
- * {@link threading.spawn} instead. This function is useful when you want to
29
- * pass the created task to other flow functions.
30
- *
31
- * @example
32
- * ```ts
33
- * yield* all(
34
- * run(function* () {
35
- * // do things
36
- * }),
37
- * rect.opacity(1, 1),
38
- * );
39
- * ```
40
- *
41
- * @param runner - A generator function or a factory that creates the generator.
42
- * @param name - An optional name used when displaying this generator in the UI.
43
- */
44
- export declare function run(name: string, runner: () => ThreadGenerator): ThreadGenerator;
45
- //# sourceMappingURL=run.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/flow/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,eAAe,GAAG,eAAe,CAAC;AACpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,eAAe,GAC5B,eAAe,CAAC"}
package/lib/flow/run.js DELETED
@@ -1,14 +0,0 @@
1
- import { setTaskName } from './names';
2
- export function run(firstArg, runner) {
3
- let task;
4
- if (typeof firstArg === 'string') {
5
- task = runner();
6
- setTaskName(task, firstArg);
7
- }
8
- else {
9
- task = firstArg();
10
- setTaskName(task, task);
11
- }
12
- return task;
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zsb3cvcnVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFnRHBDLE1BQU0sVUFBVSxHQUFHLENBQ2pCLFFBQTBDLEVBQzFDLE1BQThCO0lBRTlCLElBQUksSUFBSSxDQUFDO0lBQ1QsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFDakIsV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO1NBQU0sQ0FBQztRQUNOLElBQUksR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUNsQixXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMifQ==
@@ -1,18 +0,0 @@
1
- import type { ThreadGenerator } from '../threading';
2
- /**
3
- * Wait for the given amount of time.
4
- *
5
- * @example
6
- * ```ts
7
- * // current time: 0s
8
- * yield waitFor(2);
9
- * // current time: 2s
10
- * yield waitFor(3);
11
- * // current time: 5s
12
- * ```
13
- *
14
- * @param seconds - The relative time in seconds.
15
- * @param after - An optional task to be run after the function completes.
16
- */
17
- export declare function waitFor(seconds?: number, after?: ThreadGenerator): ThreadGenerator;
18
- //# sourceMappingURL=scheduling.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../src/flow/scheduling.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAIlD;;;;;;;;;;;;;;GAcG;AACH,wBAAiB,OAAO,CACtB,OAAO,SAAI,EACX,KAAK,CAAC,EAAE,eAAe,GACtB,eAAe,CAejB"}
@@ -1,33 +0,0 @@
1
- import { decorate, threadable } from '../decorators';
2
- import { usePlayback, useThread } from '../utils';
3
- decorate(waitFor, threadable());
4
- /**
5
- * Wait for the given amount of time.
6
- *
7
- * @example
8
- * ```ts
9
- * // current time: 0s
10
- * yield waitFor(2);
11
- * // current time: 2s
12
- * yield waitFor(3);
13
- * // current time: 5s
14
- * ```
15
- *
16
- * @param seconds - The relative time in seconds.
17
- * @param after - An optional task to be run after the function completes.
18
- */
19
- export function* waitFor(seconds = 0, after) {
20
- const thread = useThread();
21
- const step = usePlayback().framesToSeconds(1);
22
- const targetTime = thread.time() + seconds;
23
- // subtracting the step is not necessary, but it keeps the thread time ahead
24
- // of the project time.
25
- while (targetTime - step > thread.fixed) {
26
- yield;
27
- }
28
- thread.time(targetTime);
29
- if (after) {
30
- yield* after;
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbG93L3NjaGVkdWxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFaEQsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ2hDOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQ3RCLE9BQU8sR0FBRyxDQUFDLEVBQ1gsS0FBdUI7SUFFdkIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDM0IsTUFBTSxJQUFJLEdBQUcsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDM0MsNEVBQTRFO0lBQzVFLHVCQUF1QjtJQUN2QixPQUFPLFVBQVUsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQztJQUNSLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyJ9
@@ -1,22 +0,0 @@
1
- import type { ThreadGenerator } from '../threading';
2
- /**
3
- * Start all tasks one after another with a constant delay between.
4
- *
5
- * @remarks
6
- * The function doesn't wait until the previous task in the sequence has
7
- * finished. Once the delay has passed, the next task will start even if
8
- * the previous is still running.
9
- *
10
- * @example
11
- * ```ts
12
- * yield* sequence(
13
- * 0.1,
14
- * ...rects.map(rect => rect.x(100, 1))
15
- * );
16
- * ```
17
- *
18
- * @param delay - The delay between each of the tasks.
19
- * @param tasks - A list of tasks to be run in a sequence.
20
- */
21
- export declare function sequence(delay: number, ...tasks: ThreadGenerator[]): ThreadGenerator;
22
- //# sourceMappingURL=sequence.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,31 +0,0 @@
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 DELETED
@@ -1,16 +0,0 @@
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
@@ -1 +0,0 @@
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 DELETED
@@ -1,16 +0,0 @@
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
@@ -1,7 +0,0 @@
1
- /**
2
- * Multi-media management.
3
- *
4
- * @packageDocumentation
5
- */
6
- export * from './loadImage';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Multi-media management.
3
- *
4
- * @packageDocumentation
5
- */
6
- export * from './loadImage';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVkaWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsYUFBYSxDQUFDIn0=
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,29 +0,0 @@
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=
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/DefaultPlugin.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;;AACH,wBAKG"}
@@ -1,17 +0,0 @@
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
@@ -1,53 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbi9QbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,3 +0,0 @@
1
- export * from './makePlugin';
2
- export * from './Plugin';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './makePlugin';
2
- export * from './Plugin';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDIn0=
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}