@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,51 +0,0 @@
1
- import type { ThreadGenerator } from '../threading';
2
- import type { InterpolationFunction, TimingFunction } from '../tweening';
3
- import type { DEFAULT } from './symbols';
4
- export type SignalValue<TValue> = TValue | (() => TValue);
5
- export type SignalGenerator<TSetterValue, TValue extends TSetterValue> = ThreadGenerator & {
6
- /**
7
- * Tween to the specified value.
8
- */
9
- to: SignalTween<TSetterValue, TValue>;
10
- /**
11
- * Tween back to the original value.
12
- *
13
- * @param time - The duration of the tween.
14
- * @param timingFunction - The timing function of the tween.
15
- * @param interpolationFunction - The interpolation function of the tween.
16
- */
17
- back: (time: number, timingFunction?: TimingFunction, interpolationFunction?: InterpolationFunction<TValue>) => SignalGenerator<TSetterValue, TValue>;
18
- /**
19
- * Wait for the specified duration.
20
- *
21
- * @param duration - The duration to wait.
22
- */
23
- wait: (duration: number) => SignalGenerator<TSetterValue, TValue>;
24
- /**
25
- * Run the given task.
26
- *
27
- * @param task - The generator to run.
28
- */
29
- run: (task: ThreadGenerator) => SignalGenerator<TSetterValue, TValue>;
30
- /**
31
- * Invoke the given callback.
32
- *
33
- * @param callback - The callback to invoke.
34
- */
35
- do: (callback: () => void) => SignalGenerator<TSetterValue, TValue>;
36
- };
37
- export interface SignalSetter<TValue, TOwner = void> {
38
- (value: SignalValue<TValue> | typeof DEFAULT): TOwner;
39
- }
40
- export interface SignalGetter<TValue> {
41
- (): TValue;
42
- }
43
- export interface SignalTween<TSetterValue, TValue extends TSetterValue> {
44
- (value: SignalValue<TSetterValue> | typeof DEFAULT, time: number, timingFunction?: TimingFunction, interpolationFunction?: InterpolationFunction<TValue>): SignalGenerator<TSetterValue, TValue>;
45
- }
46
- export interface SignalExtensions<TSetterValue, TValue extends TSetterValue> {
47
- getter: SignalGetter<TValue>;
48
- setter: SignalSetter<TSetterValue>;
49
- tweener(value: SignalValue<TSetterValue>, time: number, timingFunction?: TimingFunction, interpolationFunction?: InterpolationFunction<TValue>): ThreadGenerator;
50
- }
51
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAC,qBAAqB,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAEvC,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,CACzB,YAAY,EACZ,MAAM,SAAS,YAAY,IACzB,eAAe,GAAG;IACpB;;OAEG;IACH,EAAE,EAAE,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,cAAc,EAC/B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAClD,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C;;;;OAIG;IACH,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAClE;;;;OAIG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtE;;;;OAIG;IACH,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,WAAW,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACjD,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,OAAO,GAAG,MAAM,CAAC;CACvD;AAED,MAAM,WAAW,YAAY,CAAC,MAAM;IAClC,IAAI,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW,CAAC,YAAY,EAAE,MAAM,SAAS,YAAY;IACpE,CACE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,OAAO,OAAO,EACjD,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,cAAc,EAC/B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACpD,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB,CAAC,YAAY,EAAE,MAAM,SAAS,YAAY;IACzE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACnC,OAAO,CACL,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,cAAc,EAC/B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACpD,eAAe,CAAC;CACpB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2lnbmFscy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,5 +0,0 @@
1
- import type { SignalValue } from './types';
2
- export declare function isReactive<T>(value: SignalValue<T>): value is () => T;
3
- export declare function modify<TFrom, TTo>(value: SignalValue<TFrom>, modification: (value: TFrom) => TTo): SignalValue<TTo>;
4
- export declare function unwrap<T>(value: SignalValue<T>): T;
5
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/signals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEzC,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,CAErE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAC/B,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EACzB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,GAClC,WAAW,CAAC,GAAG,CAAC,CAElB;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAElD"}
@@ -1,10 +0,0 @@
1
- export function isReactive(value) {
2
- return typeof value === 'function';
3
- }
4
- export function modify(value, modification) {
5
- return isReactive(value) ? () => modification(value()) : modification(value);
6
- }
7
- export function unwrap(value) {
8
- return isReactive(value) ? value() : value;
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2lnbmFscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsVUFBVSxDQUFJLEtBQXFCO0lBQ2pELE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUNwQixLQUF5QixFQUN6QixZQUFtQztJQUVuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBSSxLQUFxQjtJQUM3QyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3QyxDQUFDIn0=
@@ -1,77 +0,0 @@
1
- import type { ThreadGenerator } from './ThreadGenerator';
2
- export declare function noop(): ThreadGenerator;
3
- /**
4
- * A class representing an individual thread.
5
- *
6
- * @remarks
7
- * Thread is a wrapper for a generator that can be executed concurrently.
8
- *
9
- * Aside from the main thread, all threads need to have a parent.
10
- * If a parent finishes execution, all of its child threads are terminated.
11
- */
12
- export declare class Thread {
13
- /**
14
- * The generator wrapped by this thread.
15
- */
16
- readonly runner: ThreadGenerator & {
17
- task?: Thread;
18
- };
19
- children: Thread[];
20
- /**
21
- * The next value to be passed to the wrapped generator.
22
- */
23
- value: unknown;
24
- /**
25
- * The current time of this thread.
26
- *
27
- * @remarks
28
- * Used by {@link flow.waitFor} and other time-based functions to properly
29
- * support durations shorter than one frame.
30
- */
31
- readonly time: import("../signals").SimpleSignal<number, void>;
32
- /**
33
- * The fixed time of this thread.
34
- *
35
- * @remarks
36
- * Fixed time is a multiple of the frame duration. It can be used to account
37
- * for the difference between this thread's {@link time} and the time of the
38
- * current animation frame.
39
- */
40
- get fixed(): number;
41
- /**
42
- * Check if this thread or any of its ancestors has been canceled.
43
- */
44
- get canceled(): boolean;
45
- get paused(): boolean;
46
- parent: Thread | null;
47
- private isCanceled;
48
- private isPaused;
49
- private fixedTime;
50
- private queue;
51
- constructor(
52
- /**
53
- * The generator wrapped by this thread.
54
- */
55
- runner: ThreadGenerator & {
56
- task?: Thread;
57
- });
58
- /**
59
- * Progress the wrapped generator once.
60
- */
61
- next(): IteratorYieldResult<void | ThreadGenerator | Promise<any> | import("./ThreadGenerator").Promisable<any>> | IteratorReturnResult<void> | {
62
- value: null;
63
- done: boolean;
64
- };
65
- /**
66
- * Prepare the thread for the next update cycle.
67
- *
68
- * @param dt - The delta time of the next cycle.
69
- */
70
- update(dt: number): void;
71
- spawn(child: ThreadGenerator | (() => ThreadGenerator)): ThreadGenerator;
72
- add(child: Thread): void;
73
- drain(callback: (task: ThreadGenerator) => void): void;
74
- cancel(): void;
75
- pause(value: boolean): void;
76
- }
77
- //# sourceMappingURL=Thread.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/threading/Thread.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAgDvD,wBAAiB,IAAI,IAAI,eAAe,CAEvC;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAM;IA8Cf;;OAEG;aACa,MAAM,EAAE,eAAe,GAAG;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;IAhDpD,QAAQ,EAAE,MAAM,EAAE,CAAM;IAC/B;;OAEG;IACI,KAAK,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,SAAgB,IAAI,kDAAmB;IAEvC;;;;;;;OAOG;IACH,IAAW,KAAK,WAEf;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,MAAM,IAAI,OAAO,CAE3B;IAEM,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAyB;;IAGpC;;OAEG;IACa,MAAM,EAAE,eAAe,GAAG;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;IAc3D;;OAEG;IACI,IAAI;;;;IAeX;;;;OAIG;IACI,MAAM,CAAC,EAAE,EAAE,MAAM;IAQjB,KAAK,CACV,KAAK,EAAE,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,GAC/C,eAAe;IAQX,GAAG,CAAC,KAAK,EAAE,MAAM;IAUjB,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI;IAK/C,MAAM;IAON,KAAK,CAAC,KAAK,EAAE,OAAO;CAG5B"}
@@ -1,169 +0,0 @@
1
- import { decorate, threadable } from '../decorators';
2
- import { getTaskName, setTaskName } from '../flow';
3
- import { createSignal } from '../signals';
4
- import { endThread, startThread, useLogger } from '../utils';
5
- import { isThreadGenerator } from './ThreadGenerator';
6
- const reusedGenerator = `
7
- This usually happens when you mistakenly reuse a generator that is already
8
- running.
9
-
10
- For example, using \`yield\` here will run the opacity generator concurrently and
11
- store it in the \`task\` variable (in case you want to cancel or await it later):
12
-
13
- \`\`\`ts
14
- const task = yield rect().opacity(1, 1);
15
- \`\`\`
16
-
17
- Trying to \`yield\` this task again will cause the current error:
18
-
19
- \`\`\`ts
20
- yield task;
21
- \`\`\`
22
-
23
- Passing it to other flow functions will also cause the error:
24
-
25
- \`\`\`ts
26
- // prettier-ignore
27
- yield* all(task);
28
- \`\`\`
29
-
30
- Try to investigate your code looking for \`yield\` statements whose return value
31
- is reused in this way. Here's an example of a common mistake:
32
-
33
- \`\`\`ts wrong
34
- // prettier-ignore
35
- yield* all(
36
- yield rect().opacity(1, 1),
37
- yield rect().x(200, 1),
38
- );
39
- \`\`\`
40
-
41
- \`\`\`ts correct
42
- // prettier-ignore
43
- yield* all(
44
- rect().opacity(1, 1),
45
- rect().x(200, 1),
46
- );
47
- \`\`\`
48
- `;
49
- decorate(noop, threadable());
50
- export function* noop() {
51
- // do nothing
52
- }
53
- /**
54
- * A class representing an individual thread.
55
- *
56
- * @remarks
57
- * Thread is a wrapper for a generator that can be executed concurrently.
58
- *
59
- * Aside from the main thread, all threads need to have a parent.
60
- * If a parent finishes execution, all of its child threads are terminated.
61
- */
62
- export class Thread {
63
- /**
64
- * The fixed time of this thread.
65
- *
66
- * @remarks
67
- * Fixed time is a multiple of the frame duration. It can be used to account
68
- * for the difference between this thread's {@link time} and the time of the
69
- * current animation frame.
70
- */
71
- get fixed() {
72
- return this.fixedTime;
73
- }
74
- /**
75
- * Check if this thread or any of its ancestors has been canceled.
76
- */
77
- get canceled() {
78
- return this.isCanceled || (this.parent?.canceled ?? false);
79
- }
80
- get paused() {
81
- return this.isPaused || (this.parent?.paused ?? false);
82
- }
83
- constructor(
84
- /**
85
- * The generator wrapped by this thread.
86
- */
87
- runner) {
88
- this.runner = runner;
89
- this.children = [];
90
- /**
91
- * The current time of this thread.
92
- *
93
- * @remarks
94
- * Used by {@link flow.waitFor} and other time-based functions to properly
95
- * support durations shorter than one frame.
96
- */
97
- this.time = createSignal(0);
98
- this.parent = null;
99
- this.isCanceled = false;
100
- this.isPaused = false;
101
- this.fixedTime = 0;
102
- this.queue = [];
103
- if (this.runner.task) {
104
- useLogger().error({
105
- message: `The generator "${getTaskName(this.runner)}" is already being executed by another thread.`,
106
- remarks: reusedGenerator,
107
- });
108
- this.runner = noop();
109
- }
110
- this.runner.task = this;
111
- }
112
- /**
113
- * Progress the wrapped generator once.
114
- */
115
- next() {
116
- if (this.paused) {
117
- return {
118
- value: null,
119
- done: false,
120
- };
121
- }
122
- startThread(this);
123
- const result = this.runner.next(this.value);
124
- endThread(this);
125
- this.value = null;
126
- return result;
127
- }
128
- /**
129
- * Prepare the thread for the next update cycle.
130
- *
131
- * @param dt - The delta time of the next cycle.
132
- */
133
- update(dt) {
134
- if (!this.paused) {
135
- this.time(this.time() + dt);
136
- this.fixedTime += dt;
137
- }
138
- this.children = this.children.filter(child => !child.canceled);
139
- }
140
- spawn(child) {
141
- if (!isThreadGenerator(child)) {
142
- child = child();
143
- }
144
- this.queue.push(child);
145
- return child;
146
- }
147
- add(child) {
148
- child.parent = this;
149
- child.isCanceled = false;
150
- child.time(this.time());
151
- child.fixedTime = this.fixedTime;
152
- this.children.push(child);
153
- setTaskName(child.runner, `unknown ${this.children.length}`);
154
- }
155
- drain(callback) {
156
- this.queue.forEach(callback);
157
- this.queue = [];
158
- }
159
- cancel() {
160
- this.runner.return();
161
- this.isCanceled = true;
162
- this.parent = null;
163
- this.drain(task => task.return());
164
- }
165
- pause(value) {
166
- this.isPaused = value;
167
- }
168
- }
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhyZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RocmVhZGluZy9UaHJlYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBDdkIsQ0FBQztBQUVGLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUM3QixNQUFNLFNBQVMsQ0FBQyxDQUFDLElBQUk7SUFDbkIsYUFBYTtBQUNmLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxNQUFNO0lBZ0JqQjs7Ozs7OztPQU9HO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQVFEO0lBQ0U7O09BRUc7SUFDYSxNQUF5QztRQUF6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
@@ -1,39 +0,0 @@
1
- import type { Thread } from './Thread';
2
- export interface Promisable<T> {
3
- toPromise(): Promise<T>;
4
- }
5
- export declare function isPromisable(value: any): value is Promisable<any>;
6
- /**
7
- * The main generator type produced by all generator functions in Motion Canvas.
8
- *
9
- * @example
10
- * Yielded values can be used to control the flow of animation:
11
- *
12
- * Progress to the next frame:
13
- * ```ts
14
- * yield;
15
- * ```
16
- *
17
- * Run another generator synchronously:
18
- * ```ts
19
- * yield* generatorFunction();
20
- * ```
21
- *
22
- * Run another generator concurrently:
23
- * ```ts
24
- * const task = yield generatorFunction();
25
- * ```
26
- *
27
- * Await a Promise:
28
- * ```ts
29
- * const result = yield asyncFunction();
30
- * ```
31
- */
32
- export type ThreadGenerator = Generator<ThreadGenerator | Promise<any> | Promisable<any> | void, void, Thread | any>;
33
- /**
34
- * Check if the given value is a {@link ThreadGenerator}.
35
- *
36
- * @param value - A possible thread {@link ThreadGenerator}.
37
- */
38
- export declare function isThreadGenerator(value: unknown): value is ThreadGenerator;
39
- //# sourceMappingURL=ThreadGenerator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThreadGenerator.d.ts","sourceRoot":"","sources":["../../src/threading/ThreadGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAMjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CACrC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,EACvD,IAAI,EACJ,MAAM,GAAG,GAAG,CACb,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAO1E"}
@@ -1,17 +0,0 @@
1
- export function isPromisable(value) {
2
- return (value &&
3
- (typeof value === 'object' || typeof value === 'function') &&
4
- 'toPromise' in value);
5
- }
6
- /**
7
- * Check if the given value is a {@link ThreadGenerator}.
8
- *
9
- * @param value - A possible thread {@link ThreadGenerator}.
10
- */
11
- export function isThreadGenerator(value) {
12
- return (value !== null &&
13
- typeof value === 'object' &&
14
- Symbol.iterator in value &&
15
- 'next' in value);
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhyZWFkR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RocmVhZGluZy9UaHJlYWRHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFVO0lBQ3JDLE9BQU8sQ0FDTCxLQUFLO1FBQ0wsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQzFELFdBQVcsSUFBSSxLQUFLLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBa0NEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBYztJQUM5QyxPQUFPLENBQ0wsS0FBSyxLQUFLLElBQUk7UUFDZCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSztRQUN4QixNQUFNLElBQUksS0FBSyxDQUNoQixDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,17 +0,0 @@
1
- import type { ThreadGenerator } from './ThreadGenerator';
2
- /**
3
- * Cancel all listed tasks.
4
- *
5
- * Example:
6
- * ```ts
7
- * const task = yield generatorFunction();
8
- *
9
- * // do something concurrently
10
- *
11
- * yield* cancel(task);
12
- * ```
13
- *
14
- * @param tasks - A list of tasks to cancel.
15
- */
16
- export declare function cancel(...tasks: ThreadGenerator[]): void;
17
- //# sourceMappingURL=cancel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/threading/cancel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,QASjD"}
@@ -1,26 +0,0 @@
1
- import { useThread } from '../utils';
2
- /**
3
- * Cancel all listed tasks.
4
- *
5
- * Example:
6
- * ```ts
7
- * const task = yield generatorFunction();
8
- *
9
- * // do something concurrently
10
- *
11
- * yield* cancel(task);
12
- * ```
13
- *
14
- * @param tasks - A list of tasks to cancel.
15
- */
16
- export function cancel(...tasks) {
17
- const thread = useThread();
18
- for (const task of tasks) {
19
- const child = thread.children.find(thread => thread.runner === task);
20
- if (child && !child.canceled) {
21
- child.cancel();
22
- child.time(thread.time());
23
- }
24
- }
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RocmVhZGluZy9jYW5jZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUduQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxHQUFHLEtBQXdCO0lBQ2hELE1BQU0sTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
@@ -1,11 +0,0 @@
1
- /**
2
- * Thread management.
3
- *
4
- * @packageDocumentation
5
- */
6
- export * from './cancel';
7
- export * from './spawn';
8
- export * from './Thread';
9
- export * from './ThreadGenerator';
10
- export * from './threads';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threading/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Thread management.
3
- *
4
- * @packageDocumentation
5
- */
6
- export * from './cancel';
7
- export * from './spawn';
8
- export * from './Thread';
9
- export * from './ThreadGenerator';
10
- export * from './threads';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGhyZWFkaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsV0FBVyxDQUFDIn0=
@@ -1,28 +0,0 @@
1
- import type { ThreadGenerator } from './ThreadGenerator';
2
- /**
3
- * Run the given task concurrently.
4
- *
5
- * @example
6
- * Using an existing task:
7
- * ```ts
8
- * spawn(rect().opacity(1, 1));
9
- * ```
10
- * Using a generator function:
11
- * ```ts
12
- * spawn(function* () {
13
- * yield* rect().opacity(1, 1);
14
- * yield* waitFor('click');
15
- * yield* rect().opacity(0, 1);
16
- * });
17
- * ```
18
- * Await the spawned task:
19
- * ```ts
20
- * const task = spawn(rect().opacity(1, 1));
21
- * // do some other things
22
- * yield* join(task); // await the task
23
- * ```
24
- *
25
- * @param task - Either a generator function or a task to run.
26
- */
27
- export declare function spawn(task: ThreadGenerator | (() => ThreadGenerator)): ThreadGenerator;
28
- //# sourceMappingURL=spawn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../src/threading/spawn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,GAC9C,eAAe,CAEjB"}
@@ -1,30 +0,0 @@
1
- import { useThread } from '../utils';
2
- /**
3
- * Run the given task concurrently.
4
- *
5
- * @example
6
- * Using an existing task:
7
- * ```ts
8
- * spawn(rect().opacity(1, 1));
9
- * ```
10
- * Using a generator function:
11
- * ```ts
12
- * spawn(function* () {
13
- * yield* rect().opacity(1, 1);
14
- * yield* waitFor('click');
15
- * yield* rect().opacity(0, 1);
16
- * });
17
- * ```
18
- * Await the spawned task:
19
- * ```ts
20
- * const task = spawn(rect().opacity(1, 1));
21
- * // do some other things
22
- * yield* join(task); // await the task
23
- * ```
24
- *
25
- * @param task - Either a generator function or a task to run.
26
- */
27
- export function spawn(task) {
28
- return useThread().spawn(task);
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGhyZWFkaW5nL3NwYXduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQ25CLElBQStDO0lBRS9DLE9BQU8sU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLENBQUMifQ==
@@ -1,46 +0,0 @@
1
- import { Thread } from './Thread';
2
- import type { ThreadGenerator } from './ThreadGenerator';
3
- /**
4
- * Check if the given value is a [Promise][promise].
5
- *
6
- * @param value - A possible [Promise][promise].
7
- *
8
- * [promise]: https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/promise
9
- */
10
- export declare function isPromise(value: any): value is Promise<any>;
11
- /**
12
- * A generator function or a normal function that returns a generator.
13
- */
14
- export interface ThreadsFactory {
15
- (): ThreadGenerator;
16
- }
17
- export interface ThreadsCallback {
18
- (root: Thread): void;
19
- }
20
- /**
21
- * Create a context in which generators can be run concurrently.
22
- *
23
- * @remarks
24
- * From the perspective of the external generator, `threads` is executed
25
- * synchronously. By default, each scene generator is wrapped in its own
26
- * `threads` generator.
27
- *
28
- * @example
29
- * ```ts
30
- * // first
31
- *
32
- * yield* threads(function* () {
33
- * const task = yield generatorFunction();
34
- * // second
35
- * }); // <- `task` will be terminated here because the scope
36
- * // of this `threads` generator has ended
37
- *
38
- * // third
39
- * ```
40
- *
41
- * @param factory - A function that returns the generator to run.
42
- * @param callback - Called whenever threads are created, canceled or finished.
43
- * Used for debugging purposes.
44
- */
45
- export declare function threads(factory: ThreadsFactory, callback?: ThreadsCallback): ThreadGenerator;
46
- //# sourceMappingURL=threads.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/threading/threads.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGvD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAE3D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,eAAe,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAGD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAiB,OAAO,CACtB,OAAO,EAAE,cAAc,EACvB,QAAQ,CAAC,EAAE,eAAe,GACzB,eAAe,CAkDjB"}