@twick/core 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/lib/app/Logger.d.ts +105 -0
- package/lib/app/Logger.d.ts.map +1 -0
- package/lib/app/Logger.js +77 -0
- package/lib/app/PlaybackManager.d.ts +55 -0
- package/lib/app/PlaybackManager.d.ts.map +1 -0
- package/lib/app/PlaybackManager.js +179 -0
- package/lib/app/PlaybackStatus.d.ts +30 -0
- package/lib/app/PlaybackStatus.d.ts.map +1 -0
- package/lib/app/PlaybackStatus.js +46 -0
- package/lib/app/Player.d.ts +130 -0
- package/lib/app/Player.d.ts.map +1 -0
- package/lib/app/Player.js +375 -0
- package/lib/app/Project.d.ts +145 -0
- package/lib/app/Project.d.ts.map +1 -0
- package/lib/app/Project.js +10 -0
- package/lib/app/Renderer.d.ts +90 -0
- package/lib/app/Renderer.d.ts.map +1 -0
- package/lib/app/Renderer.js +318 -0
- package/lib/app/SharedWebGLContext.d.ts +24 -0
- package/lib/app/SharedWebGLContext.d.ts.map +1 -0
- package/lib/app/SharedWebGLContext.js +200 -0
- package/lib/app/Stage.d.ts +30 -0
- package/lib/app/Stage.d.ts.map +1 -0
- package/lib/app/Stage.js +75 -0
- package/lib/app/TimeEstimator.d.ts +53 -0
- package/lib/app/TimeEstimator.d.ts.map +1 -0
- package/lib/app/TimeEstimator.js +70 -0
- package/lib/app/index.d.ts +16 -0
- package/lib/app/index.d.ts.map +1 -0
- package/lib/app/index.js +16 -0
- package/lib/app/makeProject.d.ts +15 -0
- package/lib/app/makeProject.d.ts.map +1 -0
- package/lib/app/makeProject.js +72 -0
- package/lib/app/project-settings.d.ts +8 -0
- package/lib/app/project-settings.d.ts.map +1 -0
- package/lib/app/project-settings.js +13 -0
- package/lib/decorators/decorate.d.ts +2 -0
- package/lib/decorators/decorate.d.ts.map +1 -0
- package/lib/decorators/decorate.js +10 -0
- package/lib/decorators/deprecated.d.ts +5 -0
- package/lib/decorators/deprecated.d.ts.map +1 -0
- package/lib/decorators/deprecated.js +23 -0
- package/lib/decorators/index.d.ts +9 -0
- package/lib/decorators/index.d.ts.map +1 -0
- package/lib/decorators/index.js +9 -0
- package/lib/decorators/lazy.d.ts +14 -0
- package/lib/decorators/lazy.d.ts.map +1 -0
- package/lib/decorators/lazy.js +27 -0
- package/lib/decorators/threadable.d.ts +2 -0
- package/lib/decorators/threadable.d.ts.map +1 -0
- package/lib/decorators/threadable.js +7 -0
- package/lib/events/AsyncEventDispatcher.d.ts +45 -0
- package/lib/events/AsyncEventDispatcher.d.ts.map +1 -0
- package/lib/events/AsyncEventDispatcher.js +33 -0
- package/lib/events/EventDispatcher.d.ts +38 -0
- package/lib/events/EventDispatcher.d.ts.map +1 -0
- package/lib/events/EventDispatcher.js +29 -0
- package/lib/events/EventDispatcherBase.d.ts +55 -0
- package/lib/events/EventDispatcherBase.d.ts.map +1 -0
- package/lib/events/EventDispatcherBase.js +68 -0
- package/lib/events/FlagDispatcher.d.ts +54 -0
- package/lib/events/FlagDispatcher.d.ts.map +1 -0
- package/lib/events/FlagDispatcher.js +63 -0
- package/lib/events/ValueDispatcher.d.ts +81 -0
- package/lib/events/ValueDispatcher.d.ts.map +1 -0
- package/lib/events/ValueDispatcher.js +97 -0
- package/lib/events/index.d.ts +11 -0
- package/lib/events/index.d.ts.map +1 -0
- package/lib/events/index.js +11 -0
- package/lib/exporter/Exporter.d.ts +101 -0
- package/lib/exporter/Exporter.d.ts.map +1 -0
- package/lib/exporter/Exporter.js +2 -0
- package/lib/exporter/FFmpegExporter.d.ts +50 -0
- package/lib/exporter/FFmpegExporter.d.ts.map +1 -0
- package/lib/exporter/FFmpegExporter.js +140 -0
- package/lib/exporter/ImageExporter.d.ts +34 -0
- package/lib/exporter/ImageExporter.d.ts.map +1 -0
- package/lib/exporter/ImageExporter.js +80 -0
- package/lib/exporter/WasmExporter.d.ts +19 -0
- package/lib/exporter/WasmExporter.d.ts.map +1 -0
- package/lib/exporter/WasmExporter.js +78 -0
- package/lib/exporter/download-videos.d.ts +3 -0
- package/lib/exporter/download-videos.d.ts.map +1 -0
- package/lib/exporter/download-videos.js +45 -0
- package/lib/exporter/index.d.ts +5 -0
- package/lib/exporter/index.d.ts.map +1 -0
- package/lib/exporter/index.js +5 -0
- package/lib/flow/all.d.ts +18 -0
- package/lib/flow/all.d.ts.map +1 -0
- package/lib/flow/all.js +25 -0
- package/lib/flow/any.d.ts +18 -0
- package/lib/flow/any.d.ts.map +1 -0
- package/lib/flow/any.js +25 -0
- package/lib/flow/chain.d.ts +36 -0
- package/lib/flow/chain.d.ts.map +1 -0
- package/lib/flow/chain.js +46 -0
- package/lib/flow/delay.d.ts +29 -0
- package/lib/flow/delay.d.ts.map +1 -0
- package/lib/flow/delay.js +39 -0
- package/lib/flow/every.d.ts +41 -0
- package/lib/flow/every.d.ts.map +1 -0
- package/lib/flow/every.js +61 -0
- package/lib/flow/index.d.ts +17 -0
- package/lib/flow/index.d.ts.map +1 -0
- package/lib/flow/index.js +17 -0
- package/lib/flow/join.d.ts +35 -0
- package/lib/flow/join.d.ts.map +1 -0
- package/lib/flow/join.js +33 -0
- package/lib/flow/loop.d.ts +58 -0
- package/lib/flow/loop.d.ts.map +1 -0
- package/lib/flow/loop.js +51 -0
- package/lib/flow/loopFor.d.ts +25 -0
- package/lib/flow/loopFor.d.ts.map +1 -0
- package/lib/flow/loopFor.js +42 -0
- package/lib/flow/names.d.ts +3 -0
- package/lib/flow/names.d.ts.map +1 -0
- package/lib/flow/names.js +11 -0
- package/lib/flow/run.d.ts +45 -0
- package/lib/flow/run.d.ts.map +1 -0
- package/lib/flow/run.js +14 -0
- package/lib/flow/scheduling.d.ts +18 -0
- package/lib/flow/scheduling.d.ts.map +1 -0
- package/lib/flow/scheduling.js +33 -0
- package/lib/flow/sequence.d.ts +22 -0
- package/lib/flow/sequence.d.ts.map +1 -0
- package/lib/flow/sequence.js +31 -0
- package/lib/index.d.ts +16 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +16 -0
- package/lib/media/index.d.ts +7 -0
- package/lib/media/index.d.ts.map +1 -0
- package/lib/media/index.js +7 -0
- package/lib/media/loadImage.d.ts +8 -0
- package/lib/media/loadImage.d.ts.map +1 -0
- package/lib/media/loadImage.js +29 -0
- package/lib/plugin/DefaultPlugin.d.ts +10 -0
- package/lib/plugin/DefaultPlugin.d.ts.map +1 -0
- package/lib/plugin/DefaultPlugin.js +17 -0
- package/lib/plugin/Plugin.d.ts +53 -0
- package/lib/plugin/Plugin.d.ts.map +1 -0
- package/lib/plugin/Plugin.js +2 -0
- package/lib/plugin/index.d.ts +3 -0
- package/lib/plugin/index.d.ts.map +1 -0
- package/lib/plugin/index.js +3 -0
- package/lib/plugin/makePlugin.d.ts +15 -0
- package/lib/plugin/makePlugin.d.ts.map +1 -0
- package/lib/plugin/makePlugin.js +16 -0
- package/lib/scenes/GeneratorScene.d.ts +95 -0
- package/lib/scenes/GeneratorScene.d.ts.map +1 -0
- package/lib/scenes/GeneratorScene.js +273 -0
- package/lib/scenes/Inspectable.d.ts +71 -0
- package/lib/scenes/Inspectable.d.ts.map +1 -0
- package/lib/scenes/Inspectable.js +4 -0
- package/lib/scenes/LifecycleEvents.d.ts +18 -0
- package/lib/scenes/LifecycleEvents.d.ts.map +1 -0
- package/lib/scenes/LifecycleEvents.js +45 -0
- package/lib/scenes/Random.d.ts +66 -0
- package/lib/scenes/Random.d.ts.map +1 -0
- package/lib/scenes/Random.js +101 -0
- package/lib/scenes/Scene.d.ts +298 -0
- package/lib/scenes/Scene.d.ts.map +1 -0
- package/lib/scenes/Scene.js +25 -0
- package/lib/scenes/SceneState.d.ts +34 -0
- package/lib/scenes/SceneState.d.ts.map +1 -0
- package/lib/scenes/SceneState.js +35 -0
- package/lib/scenes/Shaders.d.ts +63 -0
- package/lib/scenes/Shaders.d.ts.map +1 -0
- package/lib/scenes/Shaders.js +158 -0
- package/lib/scenes/Slides.d.ts +33 -0
- package/lib/scenes/Slides.d.ts.map +1 -0
- package/lib/scenes/Slides.js +115 -0
- package/lib/scenes/Threadable.d.ts +19 -0
- package/lib/scenes/Threadable.d.ts.map +1 -0
- package/lib/scenes/Threadable.js +4 -0
- package/lib/scenes/Variables.d.ts +24 -0
- package/lib/scenes/Variables.d.ts.map +1 -0
- package/lib/scenes/Variables.js +39 -0
- package/lib/scenes/index.d.ts +16 -0
- package/lib/scenes/index.d.ts.map +1 -0
- package/lib/scenes/index.js +16 -0
- package/lib/signals/CompoundSignalContext.d.ts +21 -0
- package/lib/signals/CompoundSignalContext.d.ts.map +1 -0
- package/lib/signals/CompoundSignalContext.js +73 -0
- package/lib/signals/ComputedContext.d.ts +14 -0
- package/lib/signals/ComputedContext.d.ts.map +1 -0
- package/lib/signals/ComputedContext.js +36 -0
- package/lib/signals/DependencyContext.d.ts +32 -0
- package/lib/signals/DependencyContext.d.ts.map +1 -0
- package/lib/signals/DependencyContext.js +87 -0
- package/lib/signals/SignalContext.d.ts +120 -0
- package/lib/signals/SignalContext.d.ts.map +1 -0
- package/lib/signals/SignalContext.js +245 -0
- package/lib/signals/createComputed.d.ts +3 -0
- package/lib/signals/createComputed.d.ts.map +1 -0
- package/lib/signals/createComputed.js +5 -0
- package/lib/signals/createComputedAsync.d.ts +4 -0
- package/lib/signals/createComputedAsync.d.ts.map +1 -0
- package/lib/signals/createComputedAsync.js +15 -0
- package/lib/signals/createSignal.d.ts +5 -0
- package/lib/signals/createSignal.d.ts.map +1 -0
- package/lib/signals/createSignal.js +6 -0
- package/lib/signals/index.d.ts +16 -0
- package/lib/signals/index.d.ts.map +1 -0
- package/lib/signals/index.js +16 -0
- package/lib/signals/symbols.d.ts +2 -0
- package/lib/signals/symbols.d.ts.map +1 -0
- package/lib/signals/symbols.js +2 -0
- package/lib/signals/types.d.ts +51 -0
- package/lib/signals/types.d.ts.map +1 -0
- package/lib/signals/types.js +2 -0
- package/lib/signals/utils.d.ts +5 -0
- package/lib/signals/utils.d.ts.map +1 -0
- package/lib/signals/utils.js +10 -0
- package/lib/threading/Thread.d.ts +77 -0
- package/lib/threading/Thread.d.ts.map +1 -0
- package/lib/threading/Thread.js +169 -0
- package/lib/threading/ThreadGenerator.d.ts +39 -0
- package/lib/threading/ThreadGenerator.d.ts.map +1 -0
- package/lib/threading/ThreadGenerator.js +17 -0
- package/lib/threading/cancel.d.ts +17 -0
- package/lib/threading/cancel.d.ts.map +1 -0
- package/lib/threading/cancel.js +26 -0
- package/lib/threading/index.d.ts +11 -0
- package/lib/threading/index.d.ts.map +1 -0
- package/lib/threading/index.js +11 -0
- package/lib/threading/spawn.d.ts +28 -0
- package/lib/threading/spawn.d.ts.map +1 -0
- package/lib/threading/spawn.js +30 -0
- package/lib/threading/threads.d.ts +46 -0
- package/lib/threading/threads.d.ts.map +1 -0
- package/lib/threading/threads.js +89 -0
- package/lib/transitions/fadeTransition.d.ts +8 -0
- package/lib/transitions/fadeTransition.d.ts.map +1 -0
- package/lib/transitions/fadeTransition.js +16 -0
- package/lib/transitions/index.d.ts +11 -0
- package/lib/transitions/index.d.ts.map +1 -0
- package/lib/transitions/index.js +11 -0
- package/lib/transitions/slideTransition.d.ts +18 -0
- package/lib/transitions/slideTransition.d.ts.map +1 -0
- package/lib/transitions/slideTransition.js +14 -0
- package/lib/transitions/useTransition.d.ts +10 -0
- package/lib/transitions/useTransition.d.ts.map +1 -0
- package/lib/transitions/useTransition.js +27 -0
- package/lib/transitions/zoomInTransition.d.ts +10 -0
- package/lib/transitions/zoomInTransition.d.ts.map +1 -0
- package/lib/transitions/zoomInTransition.js +33 -0
- package/lib/transitions/zoomOutTransition.d.ts +10 -0
- package/lib/transitions/zoomOutTransition.d.ts.map +1 -0
- package/lib/transitions/zoomOutTransition.js +33 -0
- package/lib/tsconfig.build.tsbuildinfo +1 -0
- package/lib/tweening/helpers.d.ts +5 -0
- package/lib/tweening/helpers.d.ts.map +1 -0
- package/lib/tweening/helpers.js +16 -0
- package/lib/tweening/index.d.ts +11 -0
- package/lib/tweening/index.d.ts.map +1 -0
- package/lib/tweening/index.js +11 -0
- package/lib/tweening/interpolationFunctions.d.ts +38 -0
- package/lib/tweening/interpolationFunctions.d.ts.map +1 -0
- package/lib/tweening/interpolationFunctions.js +107 -0
- package/lib/tweening/spring.d.ts +20 -0
- package/lib/tweening/spring.d.ts.map +1 -0
- package/lib/tweening/spring.js +103 -0
- package/lib/tweening/timingFunctions.d.ts +46 -0
- package/lib/tweening/timingFunctions.d.ts.map +1 -0
- package/lib/tweening/timingFunctions.js +233 -0
- package/lib/tweening/tween.d.ts +3 -0
- package/lib/tweening/tween.d.ts.map +1 -0
- package/lib/tweening/tween.js +21 -0
- package/lib/types/BBox.d.ts +73 -0
- package/lib/types/BBox.d.ts.map +1 -0
- package/lib/types/BBox.js +249 -0
- package/lib/types/Canvas.d.ts +3 -0
- package/lib/types/Canvas.d.ts.map +1 -0
- package/lib/types/Canvas.js +2 -0
- package/lib/types/Color.d.ts +65 -0
- package/lib/types/Color.d.ts.map +1 -0
- package/lib/types/Color.js +185 -0
- package/lib/types/Matrix.d.ts +3 -0
- package/lib/types/Matrix.d.ts.map +1 -0
- package/lib/types/Matrix.js +10 -0
- package/lib/types/Matrix2D.d.ts +363 -0
- package/lib/types/Matrix2D.d.ts.map +1 -0
- package/lib/types/Matrix2D.js +554 -0
- package/lib/types/Origin.d.ts +17 -0
- package/lib/types/Origin.d.ts.map +1 -0
- package/lib/types/Origin.js +53 -0
- package/lib/types/Spacing.d.ts +36 -0
- package/lib/types/Spacing.d.ts.map +1 -0
- package/lib/types/Spacing.js +70 -0
- package/lib/types/Type.d.ts +9 -0
- package/lib/types/Type.d.ts.map +1 -0
- package/lib/types/Type.js +5 -0
- package/lib/types/Vector.d.ts +203 -0
- package/lib/types/Vector.d.ts.map +1 -0
- package/lib/types/Vector.js +355 -0
- package/lib/types/alignment-enums.d.ts +22 -0
- package/lib/types/alignment-enums.d.ts.map +1 -0
- package/lib/types/alignment-enums.js +25 -0
- package/lib/types/index.d.ts +17 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +17 -0
- package/lib/types/vector-transformations.d.ts +20 -0
- package/lib/types/vector-transformations.d.ts.map +1 -0
- package/lib/types/vector-transformations.js +31 -0
- package/lib/utils/DetailedError.d.ts +24 -0
- package/lib/utils/DetailedError.d.ts.map +1 -0
- package/lib/utils/DetailedError.js +16 -0
- package/lib/utils/ExperimentalError.d.ts +10 -0
- package/lib/utils/ExperimentalError.d.ts.map +1 -0
- package/lib/utils/ExperimentalError.js +32 -0
- package/lib/utils/Semaphore.d.ts +12 -0
- package/lib/utils/Semaphore.d.ts.map +1 -0
- package/lib/utils/Semaphore.js +25 -0
- package/lib/utils/beginSlide.d.ts +3 -0
- package/lib/utils/beginSlide.d.ts.map +1 -0
- package/lib/utils/beginSlide.js +12 -0
- package/lib/utils/capitalize.d.ts +2 -0
- package/lib/utils/capitalize.d.ts.map +1 -0
- package/lib/utils/capitalize.js +4 -0
- package/lib/utils/createRef.d.ts +15 -0
- package/lib/utils/createRef.d.ts.map +1 -0
- package/lib/utils/createRef.js +21 -0
- package/lib/utils/createRefArray.d.ts +27 -0
- package/lib/utils/createRefArray.d.ts.map +1 -0
- package/lib/utils/createRefArray.js +49 -0
- package/lib/utils/createRefMap.d.ts +50 -0
- package/lib/utils/createRefMap.d.ts.map +1 -0
- package/lib/utils/createRefMap.js +77 -0
- package/lib/utils/debug.d.ts +24 -0
- package/lib/utils/debug.d.ts.map +1 -0
- package/lib/utils/debug.js +47 -0
- package/lib/utils/deprecate.d.ts +9 -0
- package/lib/utils/deprecate.d.ts.map +1 -0
- package/lib/utils/deprecate.js +15 -0
- package/lib/utils/errorToLog.d.ts +3 -0
- package/lib/utils/errorToLog.d.ts.map +1 -0
- package/lib/utils/errorToLog.js +8 -0
- package/lib/utils/experimentalLog.d.ts +3 -0
- package/lib/utils/experimentalLog.d.ts.map +1 -0
- package/lib/utils/experimentalLog.js +10 -0
- package/lib/utils/getContext.d.ts +2 -0
- package/lib/utils/getContext.d.ts.map +1 -0
- package/lib/utils/getContext.js +8 -0
- package/lib/utils/index.d.ts +26 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +26 -0
- package/lib/utils/math.d.ts +15 -0
- package/lib/utils/math.d.ts.map +1 -0
- package/lib/utils/math.js +15 -0
- package/lib/utils/range.d.ts +40 -0
- package/lib/utils/range.d.ts.map +1 -0
- package/lib/utils/range.js +18 -0
- package/lib/utils/useContext.d.ts +13 -0
- package/lib/utils/useContext.d.ts.map +1 -0
- package/lib/utils/useContext.js +18 -0
- package/lib/utils/usePlayback.d.ts +8 -0
- package/lib/utils/usePlayback.d.ts.map +1 -0
- package/lib/utils/usePlayback.js +20 -0
- package/lib/utils/useScene.d.ts +17 -0
- package/lib/utils/useScene.d.ts.map +1 -0
- package/lib/utils/useScene.js +33 -0
- package/lib/utils/useThread.d.ts +8 -0
- package/lib/utils/useThread.d.ts.map +1 -0
- package/lib/utils/useThread.js +24 -0
- package/lib/utils/useTime.d.ts +19 -0
- package/lib/utils/useTime.d.ts.map +1 -0
- package/lib/utils/useTime.js +22 -0
- package/package.json +36 -0
- package/project.d.ts +24 -0
- package/shaders/common.glsl +15 -0
- package/shaders/fragment.glsl +8 -0
- package/tsconfig.project.json +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../src/flow/sequence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAKlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAiB,QAAQ,CACvB,KAAK,EAAE,MAAM,EACb,GAAG,KAAK,EAAE,eAAe,EAAE,GAC1B,eAAe,CAOjB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { decorate, threadable } from '../decorators';
|
|
2
|
+
import { join } from './join';
|
|
3
|
+
import { waitFor } from './scheduling';
|
|
4
|
+
decorate(sequence, threadable());
|
|
5
|
+
/**
|
|
6
|
+
* Start all tasks one after another with a constant delay between.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* The function doesn't wait until the previous task in the sequence has
|
|
10
|
+
* finished. Once the delay has passed, the next task will start even if
|
|
11
|
+
* the previous is still running.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* yield* sequence(
|
|
16
|
+
* 0.1,
|
|
17
|
+
* ...rects.map(rect => rect.x(100, 1))
|
|
18
|
+
* );
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param delay - The delay between each of the tasks.
|
|
22
|
+
* @param tasks - A list of tasks to be run in a sequence.
|
|
23
|
+
*/
|
|
24
|
+
export function* sequence(delay, ...tasks) {
|
|
25
|
+
for (const task of tasks) {
|
|
26
|
+
yield task;
|
|
27
|
+
yield* waitFor(delay);
|
|
28
|
+
}
|
|
29
|
+
yield* join(...tasks);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmxvdy9zZXF1ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ2pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FDdkIsS0FBYSxFQUNiLEdBQUcsS0FBd0I7SUFFM0IsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksQ0FBQztRQUNYLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQyJ9
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './app';
|
|
2
|
+
export * from './decorators';
|
|
3
|
+
export * from './events';
|
|
4
|
+
export * from './exporter';
|
|
5
|
+
export * from './flow';
|
|
6
|
+
export * from './media';
|
|
7
|
+
export * from './plugin';
|
|
8
|
+
export { default as DefaultPlugin } from './plugin/DefaultPlugin';
|
|
9
|
+
export * from './scenes';
|
|
10
|
+
export * from './signals';
|
|
11
|
+
export * from './threading';
|
|
12
|
+
export * from './transitions';
|
|
13
|
+
export * from './tweening';
|
|
14
|
+
export * from './types';
|
|
15
|
+
export * from './utils';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAChE,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './app';
|
|
2
|
+
export * from './decorators';
|
|
3
|
+
export * from './events';
|
|
4
|
+
export * from './exporter';
|
|
5
|
+
export * from './flow';
|
|
6
|
+
export * from './media';
|
|
7
|
+
export * from './plugin';
|
|
8
|
+
export { default as DefaultPlugin } from './plugin/DefaultPlugin';
|
|
9
|
+
export * from './scenes';
|
|
10
|
+
export * from './signals';
|
|
11
|
+
export * from './threading';
|
|
12
|
+
export * from './transitions';
|
|
13
|
+
export * from './tweening';
|
|
14
|
+
export * from './types';
|
|
15
|
+
export * from './utils';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsT0FBTyxFQUFDLE9BQU8sSUFBSSxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-media management.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
export * from './loadImage';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVkaWEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsYUFBYSxDQUFDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type ImageDataSource = CanvasImageSource & {
|
|
2
|
+
width: number;
|
|
3
|
+
height: number;
|
|
4
|
+
};
|
|
5
|
+
export declare function loadImage(source: string): Promise<HTMLImageElement>;
|
|
6
|
+
export declare function loadAnimation(sources: string[]): Promise<HTMLImageElement[]>;
|
|
7
|
+
export declare function getImageData(image: ImageDataSource): ImageData;
|
|
8
|
+
//# sourceMappingURL=loadImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadImage.d.ts","sourceRoot":"","sources":["../../src/media/loadImage.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAWnE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,aAUlD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getContext } from '../utils';
|
|
2
|
+
let Canvas;
|
|
3
|
+
let Context;
|
|
4
|
+
export function loadImage(source) {
|
|
5
|
+
const image = new Image();
|
|
6
|
+
image.src = source;
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
if (image.complete) {
|
|
9
|
+
resolve(image);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
image.onload = () => resolve(image);
|
|
13
|
+
image.onerror = reject;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function loadAnimation(sources) {
|
|
18
|
+
return Promise.all(sources.map(loadImage));
|
|
19
|
+
}
|
|
20
|
+
export function getImageData(image) {
|
|
21
|
+
Canvas ?? (Canvas = document.createElement('canvas'));
|
|
22
|
+
Context ?? (Context = getContext({ willReadFrequently: true }, Canvas));
|
|
23
|
+
Canvas.width = image.width;
|
|
24
|
+
Canvas.height = image.height;
|
|
25
|
+
Context.clearRect(0, 0, image.width, image.height);
|
|
26
|
+
Context.drawImage(image, 0, 0);
|
|
27
|
+
return Context.getImageData(0, 0, image.width, image.height);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZEltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lZGlhL2xvYWRJbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBDLElBQUksTUFBeUIsQ0FBQztBQUM5QixJQUFJLE9BQWlDLENBQUM7QUFPdEMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFjO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFpQjtJQUM3QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQXNCO0lBQ2pELE1BQU0sS0FBTixNQUFNLEdBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBQztJQUM1QyxPQUFPLEtBQVAsT0FBTyxHQUFLLFVBQVUsQ0FBQyxFQUFDLGtCQUFrQixFQUFFLElBQUksRUFBQyxFQUFFLE1BQU0sQ0FBQyxFQUFDO0lBRTNELE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUvQixPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvRCxDQUFDIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default plugin included in every Motion Canvas project.
|
|
3
|
+
*
|
|
4
|
+
* TODO(refactor): I don't think these are plugins anymore.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
declare const _default: () => import("./Plugin").Plugin;
|
|
9
|
+
export default _default;
|
|
10
|
+
//# sourceMappingURL=DefaultPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/DefaultPlugin.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;;AACH,wBAKG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FFmpegExporterClient, ImageExporter } from '../exporter';
|
|
2
|
+
import { WasmExporter } from '../exporter/WasmExporter';
|
|
3
|
+
import { makePlugin } from './makePlugin';
|
|
4
|
+
/**
|
|
5
|
+
* The default plugin included in every Motion Canvas project.
|
|
6
|
+
*
|
|
7
|
+
* TODO(refactor): I don't think these are plugins anymore.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export default makePlugin({
|
|
12
|
+
name: '@twick/core/default',
|
|
13
|
+
exporters() {
|
|
14
|
+
return [WasmExporter, FFmpegExporterClient, ImageExporter];
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW4vRGVmYXVsdFBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXhDOzs7Ozs7R0FNRztBQUNILGVBQWUsVUFBVSxDQUFDO0lBQ3hCLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsU0FBUztRQUNQLE9BQU8sQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Player, Project, Renderer, UserProject } from '../app';
|
|
2
|
+
import type { ExporterClass } from '../exporter';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a runtime Motion Canvas plugin.
|
|
5
|
+
*/
|
|
6
|
+
export interface Plugin {
|
|
7
|
+
/**
|
|
8
|
+
* A unique name of the plugin.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* The name should be unique across the entire ecosystem of Motion Canvas.
|
|
12
|
+
* If a plugin with the same name has already been registered, this plugin
|
|
13
|
+
* will be ignored.
|
|
14
|
+
*
|
|
15
|
+
* If you intend to publish your plugin to npm, it is recommended to prefix
|
|
16
|
+
* this name with the name of your npm package.
|
|
17
|
+
*
|
|
18
|
+
* Other identifiers defined by the plugin, such as a tab id, will be
|
|
19
|
+
* automatically prefixed with this name and as such don't have to be unique.
|
|
20
|
+
*/
|
|
21
|
+
name: string;
|
|
22
|
+
/**
|
|
23
|
+
* Modify the project settings before the project is initialized.
|
|
24
|
+
*
|
|
25
|
+
* @param settings - The project settings.
|
|
26
|
+
*/
|
|
27
|
+
settings?(settings: UserProject): UserProject | void;
|
|
28
|
+
/**
|
|
29
|
+
* Receive the project instance right after it is initialized.
|
|
30
|
+
*
|
|
31
|
+
* @param project - The project instance.
|
|
32
|
+
*/
|
|
33
|
+
project?(project: Project): void;
|
|
34
|
+
/**
|
|
35
|
+
* Receive the player instance right after it is initialized.
|
|
36
|
+
*
|
|
37
|
+
* @param player - The player instance.
|
|
38
|
+
*/
|
|
39
|
+
player?(player: Player): void;
|
|
40
|
+
/**
|
|
41
|
+
* Receive the renderer instance right after it is initialized.
|
|
42
|
+
*
|
|
43
|
+
* @param renderer - The renderer instance.
|
|
44
|
+
*/
|
|
45
|
+
renderer?(renderer: Renderer): void;
|
|
46
|
+
/**
|
|
47
|
+
* Provide custom exporters for the project.
|
|
48
|
+
*
|
|
49
|
+
* @param project - The project instance.
|
|
50
|
+
*/
|
|
51
|
+
exporters?(project: Project): ExporterClass[];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;AACnE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;;;;;OAaG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;IAErD;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEpC;;;;OAIG;IACH,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './makePlugin';
|
|
2
|
+
export * from './Plugin';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Plugin } from './Plugin';
|
|
2
|
+
/**
|
|
3
|
+
* A helper function for exporting Motion Canvas plugins.
|
|
4
|
+
*
|
|
5
|
+
* @param plugin - The plugin configuration.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* export default makePlugin({
|
|
10
|
+
* name: 'my-custom-plugin',
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function makePlugin(plugin: Plugin | (() => Plugin)): () => Plugin;
|
|
15
|
+
//# sourceMappingURL=makePlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makePlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/makePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,MAAM,CAExE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function for exporting Motion Canvas plugins.
|
|
3
|
+
*
|
|
4
|
+
* @param plugin - The plugin configuration.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* export default makePlugin({
|
|
9
|
+
* name: 'my-custom-plugin',
|
|
10
|
+
* });
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export function makePlugin(plugin) {
|
|
14
|
+
return typeof plugin === 'function' ? plugin : () => plugin;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW4vbWFrZVBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBK0I7SUFDeEQsT0FBTyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO0FBQzlELENBQUMifQ==
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { AssetInfo, Logger, PlaybackStatus } from '../app';
|
|
2
|
+
import { EventDispatcher } from '../events';
|
|
3
|
+
import type { SignalValue } from '../signals';
|
|
4
|
+
import type { Thread, ThreadGenerator } from '../threading';
|
|
5
|
+
import type { Vector2 } from '../types';
|
|
6
|
+
import { LifecycleEvents } from './LifecycleEvents';
|
|
7
|
+
import type { CachedSceneData, FullSceneDescription, Scene, SceneDescriptionReload, SceneRenderEvent } from './Scene';
|
|
8
|
+
import { Shaders } from './Shaders';
|
|
9
|
+
import { Slides } from './Slides';
|
|
10
|
+
import type { Threadable } from './Threadable';
|
|
11
|
+
import { Variables } from './Variables';
|
|
12
|
+
export interface ThreadGeneratorFactory<T> {
|
|
13
|
+
(view: T): ThreadGenerator;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The default implementation of the {@link Scene} interface.
|
|
17
|
+
*
|
|
18
|
+
* Uses generators to control the animation.
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class GeneratorScene<T> implements Scene<ThreadGeneratorFactory<T>>, Threadable {
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly playback: PlaybackStatus;
|
|
23
|
+
readonly logger: Logger;
|
|
24
|
+
readonly shaders: Shaders;
|
|
25
|
+
readonly slides: Slides;
|
|
26
|
+
readonly variables: Variables;
|
|
27
|
+
creationStack?: string;
|
|
28
|
+
previousOnTop: SignalValue<boolean>;
|
|
29
|
+
get firstFrame(): number;
|
|
30
|
+
get lastFrame(): number;
|
|
31
|
+
get onCacheChanged(): import("../events").SubscribableValueEvent<CachedSceneData>;
|
|
32
|
+
private readonly cache;
|
|
33
|
+
get onReloaded(): import("../events").Subscribable<void, import("../events").EventHandler<void>>;
|
|
34
|
+
private readonly reloaded;
|
|
35
|
+
get onRecalculated(): import("../events").Subscribable<void, import("../events").EventHandler<void>>;
|
|
36
|
+
private readonly recalculated;
|
|
37
|
+
get onThreadChanged(): import("../events").SubscribableValueEvent<Thread | null>;
|
|
38
|
+
private readonly thread;
|
|
39
|
+
get onRenderLifecycle(): import("../events").Subscribable<[SceneRenderEvent, CanvasRenderingContext2D], import("../events").EventHandler<[SceneRenderEvent, CanvasRenderingContext2D]>>;
|
|
40
|
+
protected readonly renderLifecycle: EventDispatcher<[SceneRenderEvent, CanvasRenderingContext2D]>;
|
|
41
|
+
get onReset(): import("../events").Subscribable<void, import("../events").EventHandler<void>>;
|
|
42
|
+
private readonly afterReset;
|
|
43
|
+
readonly lifecycleEvents: LifecycleEvents;
|
|
44
|
+
get LifecycleEvents(): LifecycleEvents;
|
|
45
|
+
get previous(): Scene<unknown> | null;
|
|
46
|
+
getMediaAssets(): Array<AssetInfo>;
|
|
47
|
+
stopAllMedia(): void;
|
|
48
|
+
abstract adjustVolume(volumeScale: number): void;
|
|
49
|
+
readonly experimentalFeatures: boolean;
|
|
50
|
+
protected resolutionScale: number;
|
|
51
|
+
private runnerFactory;
|
|
52
|
+
private previousScene;
|
|
53
|
+
private runner;
|
|
54
|
+
private state;
|
|
55
|
+
private cached;
|
|
56
|
+
private counters;
|
|
57
|
+
private size;
|
|
58
|
+
constructor(description: FullSceneDescription<ThreadGeneratorFactory<T>>);
|
|
59
|
+
abstract getView(): T;
|
|
60
|
+
/**
|
|
61
|
+
* Update the view.
|
|
62
|
+
*
|
|
63
|
+
* Invoked after each step of the main generator.
|
|
64
|
+
* Can be used for calculating layout.
|
|
65
|
+
*
|
|
66
|
+
* Can modify the state of the view.
|
|
67
|
+
*/
|
|
68
|
+
update(): void;
|
|
69
|
+
render(context: CanvasRenderingContext2D): Promise<void>;
|
|
70
|
+
protected abstract draw(context: CanvasRenderingContext2D): Promise<void>;
|
|
71
|
+
reload({ config, size, stack, resolutionScale, }?: SceneDescriptionReload<ThreadGeneratorFactory<T>>): void;
|
|
72
|
+
recalculate(setFrame: (frame: number) => void): Promise<void>;
|
|
73
|
+
next(): Promise<void>;
|
|
74
|
+
reset(previousScene?: Scene | null): Promise<void>;
|
|
75
|
+
getSize(): Vector2;
|
|
76
|
+
getRealSize(): Vector2;
|
|
77
|
+
isAfterTransitionIn(): boolean;
|
|
78
|
+
canTransitionOut(): boolean;
|
|
79
|
+
isFinished(): boolean;
|
|
80
|
+
enterInitial(): void;
|
|
81
|
+
enterAfterTransitionIn(): void;
|
|
82
|
+
enterCanTransitionOut(): void;
|
|
83
|
+
isCached(): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Invoke the given callback in the context of this scene.
|
|
86
|
+
*
|
|
87
|
+
* @remarks
|
|
88
|
+
* This method makes sure that the context of this scene is globally available
|
|
89
|
+
* during the execution of the callback.
|
|
90
|
+
*
|
|
91
|
+
* @param callback - The callback to invoke.
|
|
92
|
+
*/
|
|
93
|
+
protected execute<T>(callback: () => T): T;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=GeneratorScene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneratorScene.d.ts","sourceRoot":"","sources":["../../src/scenes/GeneratorScene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAC,eAAe,EAAkB,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAC,MAAM,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,EACL,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;CAC5B;AAED;;;;GAIG;AACH,8BAAsB,cAAc,CAAC,CAAC,CACpC,YAAW,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU;IAEvD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,SAAS,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAW,UAAU,WAEpB;IAED,IAAW,SAAS,WAEnB;IAED,IAAW,cAAc,gEAExB;IACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAKnB;IAEH,IAAW,UAAU,mFAEpB;IACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IAExD,IAAW,cAAc,mFAExB;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAE5D,IAAW,eAAe,8DAEzB;IACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,IAAW,iBAAiB,mKAE3B;IACD,SAAS,CAAC,QAAQ,CAAC,eAAe,gEAE9B;IAEJ,IAAW,OAAO,mFAEjB;IACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE1D,SAAgB,eAAe,EAAE,eAAe,CAA6B;IAE7E,IAAW,eAAe,oBAKzB;IAED,IAAW,QAAQ,0BAElB;IAEM,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC;IAIlC,YAAY,IAAI,IAAI;aAEX,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAEvD,SAAgB,oBAAoB,EAAE,OAAO,CAAC;IAE9C,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,IAAI,CAAU;gBAGpB,WAAW,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;aAmB9C,OAAO,IAAI,CAAC;IAE5B;;;;;;;OAOG;IACI,MAAM;IAIA,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAElE,MAAM,CAAC,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,eAAe,GAChB,GAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAM;IAiB5C,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAqC7C,IAAI;IAwCJ,KAAK,CAAC,aAAa,GAAE,KAAK,GAAG,IAAW;IAe9C,OAAO,IAAI,OAAO;IAIlB,WAAW,IAAI,OAAO;IAItB,mBAAmB,IAAI,OAAO;IAI9B,gBAAgB,IAAI,OAAO;IAO3B,UAAU,IAAI,OAAO;IAIrB,YAAY;IAUZ,sBAAsB;IAUtB,qBAAqB;IAarB,QAAQ;IAIf;;;;;;;;OAQG;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAa3C"}
|