@codexo/exojs 0.8.3 → 0.9.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/CHANGELOG.md +107 -0
- package/README.md +26 -5
- package/dist/esm/animation/Tween.d.ts +20 -3
- package/dist/esm/animation/Tween.js +16 -8
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +16 -1
- package/dist/esm/animation/TweenManager.js +27 -2
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +2 -0
- package/dist/esm/audio/AudioAnalyser.js +24 -9
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +1 -0
- package/dist/esm/audio/AudioBus.js +8 -4
- package/dist/esm/audio/AudioBus.js.map +1 -1
- package/dist/esm/audio/AudioListener.d.ts +1 -0
- package/dist/esm/audio/AudioListener.js +7 -5
- package/dist/esm/audio/AudioListener.js.map +1 -1
- package/dist/esm/audio/AudioManager.d.ts +8 -2
- package/dist/esm/audio/AudioManager.js +14 -1
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +2 -0
- package/dist/esm/audio/BeatDetector.js +27 -661
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Music.d.ts +1 -0
- package/dist/esm/audio/Music.js +7 -3
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/OscillatorSound.d.ts +1 -0
- package/dist/esm/audio/OscillatorSound.js +7 -3
- package/dist/esm/audio/OscillatorSound.js.map +1 -1
- package/dist/esm/audio/Sound.d.ts +1 -0
- package/dist/esm/audio/Sound.js +7 -3
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.d.ts +2 -2
- package/dist/esm/audio/audio-context.js +4 -4
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts +1 -0
- package/dist/esm/audio/filters/ChorusFilter.js +7 -3
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +1 -0
- package/dist/esm/audio/filters/CompressorFilter.js +7 -3
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts +1 -0
- package/dist/esm/audio/filters/DelayFilter.js +7 -3
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +1 -0
- package/dist/esm/audio/filters/EqualizerFilter.js +7 -3
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
- package/dist/esm/audio/filters/GranularFilter.js +1 -86
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +1 -0
- package/dist/esm/audio/filters/HighpassFilter.js +7 -3
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/LowpassFilter.d.ts +1 -0
- package/dist/esm/audio/filters/LowpassFilter.js +7 -3
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/PitchShiftFilter.js +1 -71
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +1 -0
- package/dist/esm/audio/filters/ReverbFilter.js +7 -3
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
- package/dist/esm/audio/filters/VocoderFilter.js +1 -89
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -0
- package/dist/esm/audio/filters/WorkletFilter.js +10 -5
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
- package/dist/esm/audio/index.d.ts +15 -10
- package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -1
- package/dist/esm/audio/worklet/registerWorklet.js +2 -2
- package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/beat-detector.worklet.js +647 -0
- package/dist/esm/audio/worklets/beat-detector.worklet.js.map +1 -0
- package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/granular.worklet.js +89 -0
- package/dist/esm/audio/worklets/granular.worklet.js.map +1 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.js +74 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +1 -0
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/vocoder.worklet.js +92 -0
- package/dist/esm/audio/worklets/vocoder.worklet.js.map +1 -0
- package/dist/esm/core/Application.d.ts +62 -24
- package/dist/esm/core/Application.js +116 -40
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Color.d.ts +0 -8
- package/dist/esm/core/Color.js +0 -24
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +32 -72
- package/dist/esm/core/Scene.js +56 -36
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +11 -25
- package/dist/esm/core/SceneManager.js +37 -100
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +28 -14
- package/dist/esm/core/SceneNode.js +66 -33
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +24 -28
- package/dist/esm/core/Signal.js +64 -50
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +1 -0
- package/dist/esm/core/Timer.js +3 -0
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.js +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.js +1 -1
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.js +1 -2
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.js +1 -2
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.js +1 -2
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/index.js +23 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +1 -0
- package/dist/esm/input/InputManager.js +30 -3
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +5 -2
- package/dist/esm/input/InteractionManager.js +29 -18
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/Pointer.js +3 -2
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts +9 -0
- package/dist/esm/input/internal/interactionManagerRegistry.js +10 -0
- package/dist/esm/input/internal/interactionManagerRegistry.js.map +1 -0
- package/dist/esm/math/AbstractVector.d.ts +1 -7
- package/dist/esm/math/AbstractVector.js +6 -20
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.js +0 -2
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/Collision.d.ts +9 -3
- package/dist/esm/math/Ellipse.d.ts +2 -5
- package/dist/esm/math/Ellipse.js +10 -7
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +1 -1
- package/dist/esm/math/ObservableVector.js +3 -3
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +0 -2
- package/dist/esm/math/Polygon.js +1 -9
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/Rectangle.js +0 -2
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +19 -4
- package/dist/esm/math/collision-detection.js +61 -4
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/swept-collision.d.ts +16 -12
- package/dist/esm/math/swept-collision.js +109 -19
- package/dist/esm/math/swept-collision.js.map +1 -1
- package/dist/esm/particles/ParticleSystem.js +1 -1
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/index.d.ts +1 -0
- package/dist/esm/rendering/CallbackRenderPass.d.ts +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +2 -1
- package/dist/esm/rendering/Container.js +17 -16
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +1 -3
- package/dist/esm/rendering/RenderNode.js +12 -19
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderPass.d.ts +1 -0
- package/dist/esm/rendering/RenderStats.d.ts +9 -0
- package/dist/esm/rendering/RenderStats.js +2 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RendererRegistry.d.ts +1 -0
- package/dist/esm/rendering/RendererRegistry.js +1 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +23 -0
- package/dist/esm/rendering/View.js +42 -0
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +89 -59
- package/dist/esm/rendering/mesh/Mesh.js +1 -1
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/mesh/MeshShader.d.ts +1 -0
- package/dist/esm/rendering/mesh/MeshShader.js +1 -0
- package/dist/esm/rendering/mesh/MeshShader.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.d.ts +1 -0
- package/dist/esm/rendering/shader/Shader.js +1 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +3 -2
- package/dist/esm/rendering/sprite/Sprite.js +15 -13
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/text/AbstractText.d.ts +36 -0
- package/dist/esm/rendering/text/AbstractText.js +49 -0
- package/dist/esm/rendering/text/AbstractText.js.map +1 -0
- package/dist/esm/rendering/text/BitmapText.d.ts +97 -0
- package/dist/esm/rendering/text/BitmapText.js +220 -0
- package/dist/esm/rendering/text/BitmapText.js.map +1 -0
- package/dist/esm/rendering/text/BmFont.d.ts +50 -0
- package/dist/esm/rendering/text/BmFont.js +24 -0
- package/dist/esm/rendering/text/BmFont.js.map +1 -0
- package/dist/esm/rendering/text/GlyphAtlas.d.ts +104 -0
- package/dist/esm/rendering/text/GlyphAtlas.js +347 -0
- package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +40 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.js +67 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -0
- package/dist/esm/rendering/text/GlyphSdf.d.ts +92 -0
- package/dist/esm/rendering/text/GlyphSdf.js +220 -0
- package/dist/esm/rendering/text/GlyphSdf.js.map +1 -0
- package/dist/esm/rendering/text/HTMLText.d.ts +107 -0
- package/dist/esm/rendering/text/HTMLText.js +284 -0
- package/dist/esm/rendering/text/HTMLText.js.map +1 -0
- package/dist/esm/rendering/text/LayoutOptions.d.ts +30 -0
- package/dist/esm/rendering/text/Text.d.ts +89 -20
- package/dist/esm/rendering/text/Text.js +176 -101
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts +20 -8
- package/dist/esm/rendering/text/TextLayout.js +234 -25
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.d.ts +154 -87
- package/dist/esm/rendering/text/TextStyle.js +257 -203
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/types.d.ts +73 -13
- package/dist/esm/rendering/texture/Texture.d.ts +1 -0
- package/dist/esm/rendering/texture/Texture.js +1 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +3 -1
- package/dist/esm/rendering/types.js +2 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +2 -1
- package/dist/esm/rendering/video/Video.js +9 -5
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +41 -5
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +4 -4
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +56 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +482 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text-color.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +16 -8
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +26 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +23 -15
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +9 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +70 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +773 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +96 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +68 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -0
- package/dist/esm/resources/Asset.d.ts +23 -0
- package/dist/esm/resources/Asset.js +23 -0
- package/dist/esm/resources/Asset.js.map +1 -0
- package/dist/esm/resources/AssetDefinitions.d.ts +137 -0
- package/dist/esm/resources/Assets.d.ts +35 -0
- package/dist/esm/resources/Assets.js +32 -0
- package/dist/esm/resources/Assets.js.map +1 -0
- package/dist/esm/resources/IndexedDbDatabase.js +17 -1
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.js +17 -1
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +244 -18
- package/dist/esm/resources/Loader.js +456 -50
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/LoadingQueue.d.ts +28 -0
- package/dist/esm/resources/LoadingQueue.js +59 -0
- package/dist/esm/resources/LoadingQueue.js.map +1 -0
- package/dist/esm/resources/factories/BmFontFactory.d.ts +25 -0
- package/dist/esm/resources/factories/BmFontFactory.js +96 -0
- package/dist/esm/resources/factories/BmFontFactory.js.map +1 -0
- package/dist/esm/resources/factories/CsvFactory.d.ts +35 -0
- package/dist/esm/resources/factories/CsvFactory.js +87 -0
- package/dist/esm/resources/factories/CsvFactory.js.map +1 -0
- package/dist/esm/resources/factories/MusicFactory.d.ts +8 -2
- package/dist/esm/resources/factories/MusicFactory.js +25 -14
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +2 -2
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts +28 -0
- package/dist/esm/resources/factories/SubtitleFactory.js +203 -0
- package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -0
- package/dist/esm/resources/factories/SvgFactory.d.ts +18 -1
- package/dist/esm/resources/factories/SvgFactory.js +21 -2
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +8 -2
- package/dist/esm/resources/factories/VideoFactory.js +27 -20
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/XmlFactory.d.ts +24 -0
- package/dist/esm/resources/factories/XmlFactory.js +37 -0
- package/dist/esm/resources/factories/XmlFactory.js.map +1 -0
- package/dist/esm/resources/index.d.ts +8 -1
- package/dist/esm/resources/tokens.d.ts +49 -3
- package/dist/esm/resources/tokens.js +50 -4
- package/dist/esm/resources/tokens.js.map +1 -1
- package/dist/exo.esm.js +6635 -2550
- package/dist/exo.esm.js.map +1 -1
- package/package.json +19 -6
- package/dist/esm/input/interaction-hooks.d.ts +0 -34
- package/dist/esm/input/interaction-hooks.js +0 -35
- package/dist/esm/input/interaction-hooks.js.map +0 -1
- package/dist/esm/rendering/text/DynamicGlyphAtlas.d.ts +0 -33
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js +0 -134
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +0 -1
- package/dist/esm/rendering/text/atlas-singleton.d.ts +0 -7
- package/dist/esm/rendering/text/atlas-singleton.js +0 -17
- package/dist/esm/rendering/text/atlas-singleton.js.map +0 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +0 -24
- package/dist/esm/resources/factories/VttFactory.js +0 -158
- package/dist/esm/resources/factories/VttFactory.js.map +0 -1
package/dist/esm/core/Scene.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Container } from '../rendering/Container.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Scene-bound input proxy
|
|
5
|
-
* the owning scene
|
|
6
|
-
* {@link Scene.inputs}; do not instantiate directly.
|
|
4
|
+
* Scene-bound input proxy. Bindings created here are automatically unbound
|
|
5
|
+
* when the owning scene is destroyed. Access via {@link Scene.inputs}.
|
|
7
6
|
*/
|
|
8
7
|
class SceneInputs {
|
|
9
8
|
_scene;
|
|
@@ -23,9 +22,9 @@ class SceneInputs {
|
|
|
23
22
|
onTrigger(channel, callback, options) {
|
|
24
23
|
return this._track(this._scene.app.input.onTrigger(channel, callback, options));
|
|
25
24
|
}
|
|
26
|
-
/** @internal
|
|
25
|
+
/** @internal */
|
|
27
26
|
_disposeAll() {
|
|
28
|
-
for (const binding of
|
|
27
|
+
for (const binding of this._bindings) {
|
|
29
28
|
binding.unbind();
|
|
30
29
|
}
|
|
31
30
|
this._bindings.clear();
|
|
@@ -35,6 +34,34 @@ class SceneInputs {
|
|
|
35
34
|
return binding;
|
|
36
35
|
}
|
|
37
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Scene-bound tween proxy. Tweens created or added here are automatically
|
|
39
|
+
* stopped when the owning scene is destroyed. Access via {@link Scene.tweens}.
|
|
40
|
+
*/
|
|
41
|
+
class SceneTweens {
|
|
42
|
+
_scene;
|
|
43
|
+
_tweens = new Set();
|
|
44
|
+
constructor(_scene) {
|
|
45
|
+
this._scene = _scene;
|
|
46
|
+
}
|
|
47
|
+
create(target) {
|
|
48
|
+
const tween = this._scene.app.tweens.create(target);
|
|
49
|
+
this._tweens.add(tween);
|
|
50
|
+
return tween;
|
|
51
|
+
}
|
|
52
|
+
add(tween) {
|
|
53
|
+
this._scene.app.tweens.add(tween);
|
|
54
|
+
this._tweens.add(tween);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/** @internal */
|
|
58
|
+
_disposeAll() {
|
|
59
|
+
for (const tween of this._tweens) {
|
|
60
|
+
tween.stop();
|
|
61
|
+
}
|
|
62
|
+
this._tweens.clear();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
38
65
|
/**
|
|
39
66
|
* A scene's lifecycle host. Subclass to define scene behavior:
|
|
40
67
|
*
|
|
@@ -52,13 +79,14 @@ class SceneInputs {
|
|
|
52
79
|
* override update(delta) { ... }
|
|
53
80
|
* override draw(backend) { ... }
|
|
54
81
|
* });
|
|
82
|
+
* @stable
|
|
55
83
|
*/
|
|
56
84
|
class Scene {
|
|
57
85
|
_app = null;
|
|
58
86
|
_root = new Container();
|
|
59
87
|
_stackMode = 'overlay';
|
|
60
|
-
_inputMode = 'capture';
|
|
61
88
|
_inputs = null;
|
|
89
|
+
_tweens = null;
|
|
62
90
|
get app() {
|
|
63
91
|
return this._app;
|
|
64
92
|
}
|
|
@@ -82,13 +110,11 @@ class Scene {
|
|
|
82
110
|
return this._root;
|
|
83
111
|
}
|
|
84
112
|
/**
|
|
85
|
-
* Scene-bound input registry. Bindings created via
|
|
86
|
-
*
|
|
87
|
-
*
|
|
113
|
+
* Scene-bound input registry. Bindings created via `this.inputs.onTrigger(...)`
|
|
114
|
+
* etc. are automatically unbound when the scene is destroyed — no manual
|
|
115
|
+
* cleanup required.
|
|
88
116
|
*
|
|
89
|
-
*
|
|
90
|
-
* {@link Scene.app} is set (i.e. before the scene is registered with
|
|
91
|
-
* a {@link SceneManager}).
|
|
117
|
+
* Throws if accessed before the scene is attached to an {@link Application}.
|
|
92
118
|
*/
|
|
93
119
|
get inputs() {
|
|
94
120
|
if (this._inputs === null) {
|
|
@@ -99,18 +125,28 @@ class Scene {
|
|
|
99
125
|
}
|
|
100
126
|
return this._inputs;
|
|
101
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Scene-bound tween registry. Tweens created via `this.tweens.create(...)`
|
|
130
|
+
* are automatically stopped when the scene is destroyed — no manual cleanup
|
|
131
|
+
* required.
|
|
132
|
+
*
|
|
133
|
+
* Throws if accessed before the scene is attached to an {@link Application}.
|
|
134
|
+
*/
|
|
135
|
+
get tweens() {
|
|
136
|
+
if (this._tweens === null) {
|
|
137
|
+
if (this._app === null) {
|
|
138
|
+
throw new Error('Scene.tweens is unavailable before the scene is attached to an Application.');
|
|
139
|
+
}
|
|
140
|
+
this._tweens = new SceneTweens(this);
|
|
141
|
+
}
|
|
142
|
+
return this._tweens;
|
|
143
|
+
}
|
|
102
144
|
get stackMode() {
|
|
103
145
|
return this._stackMode;
|
|
104
146
|
}
|
|
105
147
|
set stackMode(mode) {
|
|
106
148
|
this._stackMode = mode;
|
|
107
149
|
}
|
|
108
|
-
get inputMode() {
|
|
109
|
-
return this._inputMode;
|
|
110
|
-
}
|
|
111
|
-
set inputMode(mode) {
|
|
112
|
-
this._inputMode = mode;
|
|
113
|
-
}
|
|
114
150
|
addChild(child) {
|
|
115
151
|
this._root.addChild(child);
|
|
116
152
|
return this;
|
|
@@ -123,17 +159,8 @@ class Scene {
|
|
|
123
159
|
if (policy.mode) {
|
|
124
160
|
this._stackMode = policy.mode;
|
|
125
161
|
}
|
|
126
|
-
if (policy.input) {
|
|
127
|
-
this._inputMode = policy.input;
|
|
128
|
-
}
|
|
129
162
|
return this;
|
|
130
163
|
}
|
|
131
|
-
getParticipationPolicy() {
|
|
132
|
-
return {
|
|
133
|
-
mode: this._stackMode,
|
|
134
|
-
input: this._inputMode,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
164
|
/**
|
|
138
165
|
* Async asset preload hook. Called once before {@link Scene.init} the
|
|
139
166
|
* first time the scene is pushed. Use the loader to register and
|
|
@@ -177,15 +204,6 @@ class Scene {
|
|
|
177
204
|
draw(_backend) {
|
|
178
205
|
// override in subclass
|
|
179
206
|
}
|
|
180
|
-
/**
|
|
181
|
-
* Input event hook. Override to react to keyboard, pointer, and wheel
|
|
182
|
-
* events delivered to this scene by the {@link InputManager}. Return
|
|
183
|
-
* `true` to consume the event (stops it propagating to scenes below);
|
|
184
|
-
* any other return value lets it through.
|
|
185
|
-
*/
|
|
186
|
-
handleInput(_event) {
|
|
187
|
-
// override in subclass
|
|
188
|
-
}
|
|
189
207
|
/**
|
|
190
208
|
* Async asset teardown hook. Called when the scene is finally popped
|
|
191
209
|
* off the stack. Use the loader to release assets that are scene-private
|
|
@@ -197,6 +215,8 @@ class Scene {
|
|
|
197
215
|
destroy() {
|
|
198
216
|
this._inputs?._disposeAll();
|
|
199
217
|
this._inputs = null;
|
|
218
|
+
this._tweens?._disposeAll();
|
|
219
|
+
this._tweens = null;
|
|
200
220
|
this._root.destroy();
|
|
201
221
|
this._app = null;
|
|
202
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scene.js","sources":["../../../../src/core/Scene.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Scene.js","sources":["../../../../src/core/Scene.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Application } from './Application';
|
|
2
2
|
import { Color } from './Color';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SceneParticipationPolicy } from './Scene';
|
|
4
|
+
import { Scene } from './Scene';
|
|
4
5
|
import { Signal } from './Signal';
|
|
5
6
|
import type { Time } from './Time';
|
|
6
7
|
/**
|
|
@@ -21,7 +22,7 @@ export interface SetSceneOptions {
|
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Options passed to {@link SceneManager.pushScene}. Inherits
|
|
24
|
-
* {@link SceneParticipationPolicy} so the pushed scene's stack
|
|
25
|
+
* {@link SceneParticipationPolicy} so the pushed scene's stack mode
|
|
25
26
|
* can be overridden at the call site without subclassing.
|
|
26
27
|
*/
|
|
27
28
|
export interface PushSceneOptions extends SceneParticipationPolicy {
|
|
@@ -34,20 +35,15 @@ export interface PopSceneOptions {
|
|
|
34
35
|
/**
|
|
35
36
|
* Stack-based scene controller owned by {@link Application}. Maintains an
|
|
36
37
|
* ordered stack of {@link Scene} instances, each tagged with its
|
|
37
|
-
* participation policy ({@link SceneStackMode}
|
|
38
|
+
* participation policy ({@link SceneStackMode}).
|
|
38
39
|
* Scenes higher on the stack overlay scenes lower; the policy of each
|
|
39
|
-
* scene determines whether scenes below continue to update / render
|
|
40
|
-
* whether input events propagate down past it.
|
|
40
|
+
* scene determines whether scenes below continue to update / render.
|
|
41
41
|
*
|
|
42
42
|
* Use {@link SceneManager.setScene} to replace the entire stack with one
|
|
43
43
|
* scene, {@link SceneManager.pushScene} to overlay a new scene on top, and
|
|
44
44
|
* {@link SceneManager.popScene} to remove the topmost. All three accept an
|
|
45
45
|
* optional fade transition.
|
|
46
46
|
*
|
|
47
|
-
* Input from the {@link InputManager} is automatically routed through the
|
|
48
|
-
* stack top-to-bottom; each scene's {@link Scene.handleInput} return value
|
|
49
|
-
* plus the scene's input policy decide whether the next scene below
|
|
50
|
-
* receives the event.
|
|
51
47
|
*/
|
|
52
48
|
export declare class SceneManager {
|
|
53
49
|
private readonly _app;
|
|
@@ -62,9 +58,13 @@ export declare class SceneManager {
|
|
|
62
58
|
readonly onUpdateScene: Signal<[Scene]>;
|
|
63
59
|
/** Fires just before a scene is unloaded (`unload` then `destroy`). */
|
|
64
60
|
readonly onStopScene: Signal<[Scene]>;
|
|
61
|
+
private readonly _asyncUpdateWarned;
|
|
62
|
+
private readonly _asyncDrawWarned;
|
|
63
|
+
private readonly _updateScratch;
|
|
64
|
+
private readonly _drawScratch;
|
|
65
65
|
constructor(app: Application);
|
|
66
|
-
get
|
|
67
|
-
set
|
|
66
|
+
get currentScene(): Scene | null;
|
|
67
|
+
set currentScene(scene: Scene | null);
|
|
68
68
|
get scenes(): readonly Scene[];
|
|
69
69
|
/**
|
|
70
70
|
* Replace the entire scene stack with `scene`, or clear it when `scene`
|
|
@@ -105,20 +105,6 @@ export declare class SceneManager {
|
|
|
105
105
|
private _unloadAllScenesOnDestroy;
|
|
106
106
|
private _resolveParticipationPolicy;
|
|
107
107
|
private _resolveParticipants;
|
|
108
|
-
private _subscribeInputRouting;
|
|
109
|
-
private _unsubscribeInputRouting;
|
|
110
|
-
private _dispatchInput;
|
|
111
|
-
private readonly _handleKeyDown;
|
|
112
|
-
private readonly _handleKeyUp;
|
|
113
|
-
private readonly _handlePointerEnter;
|
|
114
|
-
private readonly _handlePointerLeave;
|
|
115
|
-
private readonly _handlePointerDown;
|
|
116
|
-
private readonly _handlePointerMove;
|
|
117
|
-
private readonly _handlePointerUp;
|
|
118
|
-
private readonly _handlePointerTap;
|
|
119
|
-
private readonly _handlePointerSwipe;
|
|
120
|
-
private readonly _handlePointerCancel;
|
|
121
|
-
private readonly _handleMouseWheel;
|
|
122
108
|
private _runWithTransition;
|
|
123
109
|
private _advanceTransition;
|
|
124
110
|
private _executeTransitionAction;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Mesh } from '../rendering/mesh/Mesh.js';
|
|
2
2
|
import { Color } from './Color.js';
|
|
3
|
+
import { Scene } from './Scene.js';
|
|
3
4
|
import { Signal } from './Signal.js';
|
|
4
5
|
|
|
5
6
|
class TransitionOverlayMesh extends Mesh {
|
|
@@ -19,20 +20,15 @@ const defaultFadeTransitionDuration = 220;
|
|
|
19
20
|
/**
|
|
20
21
|
* Stack-based scene controller owned by {@link Application}. Maintains an
|
|
21
22
|
* ordered stack of {@link Scene} instances, each tagged with its
|
|
22
|
-
* participation policy ({@link SceneStackMode}
|
|
23
|
+
* participation policy ({@link SceneStackMode}).
|
|
23
24
|
* Scenes higher on the stack overlay scenes lower; the policy of each
|
|
24
|
-
* scene determines whether scenes below continue to update / render
|
|
25
|
-
* whether input events propagate down past it.
|
|
25
|
+
* scene determines whether scenes below continue to update / render.
|
|
26
26
|
*
|
|
27
27
|
* Use {@link SceneManager.setScene} to replace the entire stack with one
|
|
28
28
|
* scene, {@link SceneManager.pushScene} to overlay a new scene on top, and
|
|
29
29
|
* {@link SceneManager.popScene} to remove the topmost. All three accept an
|
|
30
30
|
* optional fade transition.
|
|
31
31
|
*
|
|
32
|
-
* Input from the {@link InputManager} is automatically routed through the
|
|
33
|
-
* stack top-to-bottom; each scene's {@link Scene.handleInput} return value
|
|
34
|
-
* plus the scene's input policy decide whether the next scene below
|
|
35
|
-
* receives the event.
|
|
36
32
|
*/
|
|
37
33
|
class SceneManager {
|
|
38
34
|
_app;
|
|
@@ -47,14 +43,17 @@ class SceneManager {
|
|
|
47
43
|
onUpdateScene = new Signal();
|
|
48
44
|
/** Fires just before a scene is unloaded (`unload` then `destroy`). */
|
|
49
45
|
onStopScene = new Signal();
|
|
46
|
+
_asyncUpdateWarned = new WeakSet();
|
|
47
|
+
_asyncDrawWarned = new WeakSet();
|
|
48
|
+
_updateScratch = [];
|
|
49
|
+
_drawScratch = [];
|
|
50
50
|
constructor(app) {
|
|
51
51
|
this._app = app;
|
|
52
|
-
this._subscribeInputRouting();
|
|
53
52
|
}
|
|
54
|
-
get
|
|
53
|
+
get currentScene() {
|
|
55
54
|
return this._stack.at(-1)?.scene ?? null;
|
|
56
55
|
}
|
|
57
|
-
set
|
|
56
|
+
set currentScene(scene) {
|
|
58
57
|
void this.setScene(scene);
|
|
59
58
|
}
|
|
60
59
|
get scenes() {
|
|
@@ -75,7 +74,7 @@ class SceneManager {
|
|
|
75
74
|
this.onChangeScene.dispatch(null);
|
|
76
75
|
return;
|
|
77
76
|
}
|
|
78
|
-
if (this.
|
|
77
|
+
if (this.currentScene === scene) {
|
|
79
78
|
if (this._stack.length > 1) {
|
|
80
79
|
await this._unloadCoveredScenes();
|
|
81
80
|
}
|
|
@@ -129,7 +128,7 @@ class SceneManager {
|
|
|
129
128
|
}
|
|
130
129
|
await this._disposeScene(removed.scene);
|
|
131
130
|
this._stack.pop();
|
|
132
|
-
this.onChangeScene.dispatch(this.
|
|
131
|
+
this.onChangeScene.dispatch(this.currentScene);
|
|
133
132
|
}, options.transition);
|
|
134
133
|
return this;
|
|
135
134
|
}
|
|
@@ -142,24 +141,33 @@ class SceneManager {
|
|
|
142
141
|
*/
|
|
143
142
|
update(delta) {
|
|
144
143
|
this._advanceTransition(delta.milliseconds);
|
|
145
|
-
|
|
146
|
-
for (const scene of
|
|
147
|
-
|
|
144
|
+
this._resolveParticipants();
|
|
145
|
+
for (const scene of this._updateScratch) {
|
|
146
|
+
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
147
|
+
const updateResult = scene.update(delta);
|
|
148
|
+
if (!this._asyncUpdateWarned.has(scene) && updateResult instanceof Promise) {
|
|
149
|
+
this._asyncUpdateWarned.add(scene);
|
|
150
|
+
console.warn(`[ExoJS] Scene.update() returned a Promise. update() must be synchronous — async logic here breaks frame timing and silently drops errors. Move async work into load() or init() instead.`);
|
|
151
|
+
}
|
|
148
152
|
}
|
|
149
|
-
for (const scene of
|
|
150
|
-
|
|
153
|
+
for (const scene of this._drawScratch) {
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
|
|
155
|
+
const drawResult = scene.draw(this._app.backend);
|
|
156
|
+
if (!this._asyncDrawWarned.has(scene) && drawResult instanceof Promise) {
|
|
157
|
+
this._asyncDrawWarned.add(scene);
|
|
158
|
+
console.warn(`[ExoJS] Scene.draw() returned a Promise. draw() must be synchronous — an async draw() produces incomplete frames and silently drops errors.`);
|
|
159
|
+
}
|
|
151
160
|
}
|
|
152
161
|
const transitionAlpha = this._getTransitionAlpha();
|
|
153
162
|
if (transitionAlpha > 0) {
|
|
154
163
|
this._renderTransitionOverlay(transitionAlpha);
|
|
155
164
|
}
|
|
156
|
-
if (this.
|
|
157
|
-
this.onUpdateScene.dispatch(this.
|
|
165
|
+
if (this.currentScene !== null) {
|
|
166
|
+
this.onUpdateScene.dispatch(this.currentScene);
|
|
158
167
|
}
|
|
159
168
|
return this;
|
|
160
169
|
}
|
|
161
170
|
destroy() {
|
|
162
|
-
this._unsubscribeInputRouting();
|
|
163
171
|
if (this._transition) {
|
|
164
172
|
const transition = this._transition;
|
|
165
173
|
this._transition = null;
|
|
@@ -178,6 +186,9 @@ class SceneManager {
|
|
|
178
186
|
try {
|
|
179
187
|
await scene.load(this._app.loader);
|
|
180
188
|
await scene.init(this._app.loader);
|
|
189
|
+
if (scene.root.children.length > 0 && scene.draw === Scene.prototype.draw) {
|
|
190
|
+
console.warn(`[ExoJS] Scene.root has ${scene.root.children.length} child(ren) after init() but draw() is not overridden. Scene.root is not auto-rendered — call this.root.render(backend) inside draw().`);
|
|
191
|
+
}
|
|
181
192
|
}
|
|
182
193
|
catch (error) {
|
|
183
194
|
let cleanupError = null;
|
|
@@ -243,14 +254,14 @@ class SceneManager {
|
|
|
243
254
|
this._stack.length = 0;
|
|
244
255
|
}
|
|
245
256
|
_resolveParticipationPolicy(scene, overrides = {}) {
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
const input = overrides.input ?? scenePolicy.input ?? (mode === 'overlay' ? 'passthrough' : 'capture');
|
|
249
|
-
return { mode, input };
|
|
257
|
+
const mode = overrides.mode ?? scene.stackMode ?? 'overlay';
|
|
258
|
+
return { mode };
|
|
250
259
|
}
|
|
251
260
|
_resolveParticipants() {
|
|
252
|
-
const updateScenes =
|
|
253
|
-
const drawScenes =
|
|
261
|
+
const updateScenes = this._updateScratch;
|
|
262
|
+
const drawScenes = this._drawScratch;
|
|
263
|
+
updateScenes.length = 0;
|
|
264
|
+
drawScenes.length = 0;
|
|
254
265
|
let allowBelowUpdate = true;
|
|
255
266
|
let allowBelowDraw = true;
|
|
256
267
|
for (let index = this._stack.length - 1; index >= 0; index--) {
|
|
@@ -271,81 +282,7 @@ class SceneManager {
|
|
|
271
282
|
}
|
|
272
283
|
updateScenes.reverse();
|
|
273
284
|
drawScenes.reverse();
|
|
274
|
-
return { updateScenes, drawScenes };
|
|
275
|
-
}
|
|
276
|
-
_subscribeInputRouting() {
|
|
277
|
-
const inputManager = this._app.input;
|
|
278
|
-
inputManager.onKeyDown?.add?.(this._handleKeyDown);
|
|
279
|
-
inputManager.onKeyUp?.add?.(this._handleKeyUp);
|
|
280
|
-
inputManager.onPointerEnter?.add?.(this._handlePointerEnter);
|
|
281
|
-
inputManager.onPointerLeave?.add?.(this._handlePointerLeave);
|
|
282
|
-
inputManager.onPointerDown?.add?.(this._handlePointerDown);
|
|
283
|
-
inputManager.onPointerMove?.add?.(this._handlePointerMove);
|
|
284
|
-
inputManager.onPointerUp?.add?.(this._handlePointerUp);
|
|
285
|
-
inputManager.onPointerTap?.add?.(this._handlePointerTap);
|
|
286
|
-
inputManager.onPointerSwipe?.add?.(this._handlePointerSwipe);
|
|
287
|
-
inputManager.onPointerCancel?.add?.(this._handlePointerCancel);
|
|
288
|
-
inputManager.onMouseWheel?.add?.(this._handleMouseWheel);
|
|
289
|
-
}
|
|
290
|
-
_unsubscribeInputRouting() {
|
|
291
|
-
const inputManager = this._app.input;
|
|
292
|
-
inputManager.onKeyDown?.remove?.(this._handleKeyDown);
|
|
293
|
-
inputManager.onKeyUp?.remove?.(this._handleKeyUp);
|
|
294
|
-
inputManager.onPointerEnter?.remove?.(this._handlePointerEnter);
|
|
295
|
-
inputManager.onPointerLeave?.remove?.(this._handlePointerLeave);
|
|
296
|
-
inputManager.onPointerDown?.remove?.(this._handlePointerDown);
|
|
297
|
-
inputManager.onPointerMove?.remove?.(this._handlePointerMove);
|
|
298
|
-
inputManager.onPointerUp?.remove?.(this._handlePointerUp);
|
|
299
|
-
inputManager.onPointerTap?.remove?.(this._handlePointerTap);
|
|
300
|
-
inputManager.onPointerSwipe?.remove?.(this._handlePointerSwipe);
|
|
301
|
-
inputManager.onPointerCancel?.remove?.(this._handlePointerCancel);
|
|
302
|
-
inputManager.onMouseWheel?.remove?.(this._handleMouseWheel);
|
|
303
|
-
}
|
|
304
|
-
_dispatchInput(event) {
|
|
305
|
-
for (let index = this._stack.length - 1; index >= 0; index--) {
|
|
306
|
-
const entry = this._stack[index];
|
|
307
|
-
if (entry.policy.input === 'transparent') {
|
|
308
|
-
continue;
|
|
309
|
-
}
|
|
310
|
-
const handled = entry.scene.handleInput(event);
|
|
311
|
-
if (handled === false || entry.policy.input === 'capture') {
|
|
312
|
-
break;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
285
|
}
|
|
316
|
-
_handleKeyDown = (channel) => {
|
|
317
|
-
this._dispatchInput({ type: 'keyDown', channel });
|
|
318
|
-
};
|
|
319
|
-
_handleKeyUp = (channel) => {
|
|
320
|
-
this._dispatchInput({ type: 'keyUp', channel });
|
|
321
|
-
};
|
|
322
|
-
_handlePointerEnter = (pointer) => {
|
|
323
|
-
this._dispatchInput({ type: 'pointerEnter', pointer });
|
|
324
|
-
};
|
|
325
|
-
_handlePointerLeave = (pointer) => {
|
|
326
|
-
this._dispatchInput({ type: 'pointerLeave', pointer });
|
|
327
|
-
};
|
|
328
|
-
_handlePointerDown = (pointer) => {
|
|
329
|
-
this._dispatchInput({ type: 'pointerDown', pointer });
|
|
330
|
-
};
|
|
331
|
-
_handlePointerMove = (pointer) => {
|
|
332
|
-
this._dispatchInput({ type: 'pointerMove', pointer });
|
|
333
|
-
};
|
|
334
|
-
_handlePointerUp = (pointer) => {
|
|
335
|
-
this._dispatchInput({ type: 'pointerUp', pointer });
|
|
336
|
-
};
|
|
337
|
-
_handlePointerTap = (pointer) => {
|
|
338
|
-
this._dispatchInput({ type: 'pointerTap', pointer });
|
|
339
|
-
};
|
|
340
|
-
_handlePointerSwipe = (pointer) => {
|
|
341
|
-
this._dispatchInput({ type: 'pointerSwipe', pointer });
|
|
342
|
-
};
|
|
343
|
-
_handlePointerCancel = (pointer) => {
|
|
344
|
-
this._dispatchInput({ type: 'pointerCancel', pointer });
|
|
345
|
-
};
|
|
346
|
-
_handleMouseWheel = (wheel) => {
|
|
347
|
-
this._dispatchInput({ type: 'mouseWheel', wheel });
|
|
348
|
-
};
|
|
349
286
|
async _runWithTransition(action, transition) {
|
|
350
287
|
if (transition?.type !== 'fade') {
|
|
351
288
|
await action();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneManager.js","sources":["../../../../src/core/SceneManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SceneManager.js","sources":["../../../../src/core/SceneManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AA+DA,MAAM,qBAAsB,SAAQ,IAAI,CAAA;AACtB,IAAA,MAAM,CAAC,OAAsB,EAAA;AAC3C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB;AAEA,QAAA,OAAO,IAAI;IACb;AACD;AAED,MAAM,iBAAiB,GAAG,MACxB,IAAI,qBAAqB,CAAC;;IAExB,QAAQ,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,IAAA,OAAO,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAA,CAAC;AAEJ,MAAM,6BAA6B,GAAG,GAAG;AAEzC;;;;;;;;;;;;AAYG;MACU,YAAY,CAAA;AACN,IAAA,IAAI;IACJ,MAAM,GAAsB,EAAE;IAC9B,kBAAkB,GAA0B,iBAAiB,EAAE;IACxE,WAAW,GAAgC,IAAI;;AAGvC,IAAA,aAAa,GAAG,IAAI,MAAM,EAAkB;;AAE5C,IAAA,YAAY,GAAG,IAAI,MAAM,EAAW;;AAEpC,IAAA,aAAa,GAAG,IAAI,MAAM,EAAW;;AAErC,IAAA,WAAW,GAAG,IAAI,MAAM,EAAW;AAElC,IAAA,kBAAkB,GAAG,IAAI,OAAO,EAAS;AACzC,IAAA,gBAAgB,GAAG,IAAI,OAAO,EAAS;IAEvC,cAAc,GAAY,EAAE;IAC5B,YAAY,GAAY,EAAE;AAE3C,IAAA,WAAA,CAAmB,GAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;IACjB;AAEA,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI;IAC1C;IAEA,IAAW,YAAY,CAAC,KAAmB,EAAA;AACzC,QAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IAC9C;AAEA;;;;;;;AAOG;AACI,IAAA,MAAM,QAAQ,CAAC,KAAmB,EAAE,UAA2B,EAAE,EAAA;AACtE,QAAA,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAW;AACvC,YAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,gBAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE;AAC7B,gBAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAEjC;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;gBAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,oBAAA,MAAM,IAAI,CAAC,oBAAoB,EAAE;gBACnC;gBAEA;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE;AACpD,gBAAA,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC;YACnF;YAEA,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;AAEtD,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAC/B,YAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnC,QAAA,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;AAEtB,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;AAOG;AACI,IAAA,MAAM,SAAS,CAAC,KAAY,EAAE,UAA4B,EAAE,EAAA;AACjE,QAAA,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAW;AACvC,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE;AACpD,gBAAA,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;YACvF;YAEA,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC;AAE/D,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnC,QAAA,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;AAEtB,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACI,IAAA,MAAM,QAAQ,CAAC,OAAA,GAA2B,EAAE,EAAA;AACjD,QAAA,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAW;YACvC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B;YACF;YAEA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAElC,IAAI,CAAC,OAAO,EAAE;gBACZ;YACF;YAEA,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;AACvC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,QAAA,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;AAEtB,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;AAMG;AACI,IAAA,MAAM,CAAC,KAAW,EAAA;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC;QAE3C,IAAI,CAAC,oBAAoB,EAAE;AAE3B,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE;;YAEvC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAExC,YAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAK,YAAwB,YAAY,OAAO,EAAE;AACvF,gBAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;AAClC,gBAAA,OAAO,CAAC,IAAI,CACV,CAAA,wLAAA,CAA0L,CAC3L;YACH;QACF;AAEA,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;;AAErC,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAEhD,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAK,UAAsB,YAAY,OAAO,EAAE;AACnF,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AAChC,gBAAA,OAAO,CAAC,IAAI,CACV,CAAA,2IAAA,CAA6I,CAC9I;YACH;QACF;AAEA,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAElD,QAAA,IAAI,eAAe,GAAG,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC;QAChD;AAEA,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;QAChD;AAEA,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW;AAEnC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,YAAA,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC3F;AAEA,QAAA,KAAK,IAAI,CAAC,yBAAyB,EAAE;AAErC,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;IAC5B;IAEQ,MAAM,aAAa,CAAC,KAAY,EAAA;AACtC,QAAA,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI;AAErB,QAAA,IAAI;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAElC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;AACzE,gBAAA,OAAO,CAAC,IAAI,CACV,CAAA,uBAAA,EAA0B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA,sIAAA,CAAwI,CAC7L;YACH;QACF;QAAE,OAAO,KAAK,EAAE;YACd,IAAI,YAAY,GAAY,IAAI;AAEhC,YAAA,IAAI;gBACF,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC;YAAE,OAAO,WAAW,EAAE;gBACpB,YAAY,GAAG,WAAW;YAC5B;YAEA,KAAK,CAAC,OAAO,EAAE;AACf,YAAA,KAAK,CAAC,GAAG,GAAG,IAAI;YAEhB,IAAI,YAAY,EAAE;AAChB,gBAAA,MAAM,WAAW,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC1E,IAAI,cAAc,GAAG,uBAAuB;AAC5C,gBAAA,IAAI,YAAY,YAAY,KAAK,EAAE;AACjC,oBAAA,cAAc,GAAG,YAAY,CAAC,OAAO;gBACvC;AAAO,qBAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBAC3C,cAAc,GAAG,YAAY;gBAC/B;gBAEA,MAAM,IAAI,KAAK,CAAC,CAAA,4BAAA,EAA+B,WAAW,CAAA,uBAAA,EAA0B,cAAc,GAAG,EAAE;AACrG,oBAAA,KAAK,EAAE,KAAK;AACb,iBAAA,CAAC;YACJ;AAEA,YAAA,MAAM,KAAK;QACb;IACF;IAEQ,MAAM,aAAa,CAAC,KAAY,EAAA;AACtC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,KAAK,CAAC,OAAO,EAAE;AACf,QAAA,KAAK,CAAC,GAAG,GAAG,IAAI;IAClB;AAEQ,IAAA,MAAM,gBAAgB,GAAA;AAC5B,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAC5D,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QACpD;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;IACxB;AAEQ,IAAA,MAAM,oBAAoB,GAAA;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B;QACF;QAEA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAEtC,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;AAEA,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAC5D,YAAA,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QACpD;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B;AAEQ,IAAA,MAAM,yBAAyB,GAAA;AACrC,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAC5D,YAAA,IAAI;AACF,gBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YACpD;YAAE,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAE,KAAK,CAAC;YACnF;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;IACxB;AAEQ,IAAA,2BAA2B,CAAC,KAAY,EAAE,SAAA,GAAsC,EAAE,EAAA;QACxF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;QAE3D,OAAO,EAAE,IAAI,EAAE;IACjB;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc;AACxC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY;AACpC,QAAA,YAAY,CAAC,MAAM,GAAG,CAAC;AACvB,QAAA,UAAU,CAAC,MAAM,GAAG,CAAC;QACrB,IAAI,gBAAgB,GAAG,IAAI;QAC3B,IAAI,cAAc,GAAG,IAAI;AAEzB,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAEhC,IAAI,gBAAgB,EAAE;AACpB,gBAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAChC;YAEA,IAAI,cAAc,EAAE;AAClB,gBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B;YAEA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,gBAAgB,GAAG,KAAK;gBACxB,cAAc,GAAG,KAAK;YACxB;iBAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;gBACxC,gBAAgB,GAAG,KAAK;YAC1B;QACF;QAEA,YAAY,CAAC,OAAO,EAAE;QACtB,UAAU,CAAC,OAAO,EAAE;IACtB;AAEQ,IAAA,MAAM,kBAAkB,CAAC,MAA2B,EAAE,UAA4B,EAAA;AACxF,QAAA,IAAI,UAAU,EAAE,IAAI,KAAK,MAAM,EAAE;YAC/B,MAAM,MAAM,EAAE;YAEd;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;QAC7D;AAEA,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,IAAI,6BAA6B,CAAC;AAEpF,QAAA,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,MAAM,MAAM,EAAE;YAEd;QACF;QAEA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;YAC1C,IAAI,CAAC,WAAW,GAAG;AACjB,gBAAA,IAAI,EAAE,MAAM;gBACZ,UAAU;gBACV,MAAM;gBACN,OAAO;gBACP,MAAM;AACN,gBAAA,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE;AAChD,gBAAA,SAAS,EAAE,CAAC;AACZ,gBAAA,KAAK,EAAE,KAAK;aACb;AACH,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,kBAAkB,CAAC,OAAe,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB;QACF;QAEA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,EAAE;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAErH,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC7D,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW;AACpC,gBAAA,KAAK,IAAI,CAAC,wBAAwB,EAAE;YACtC;YAEA;QACF;QAEA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,EAAE;AACnC,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAErH,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;gBAC7D,IAAI,CAAC,iBAAiB,EAAE;YAC1B;QACF;IACF;AAEQ,IAAA,MAAM,wBAAwB,GAAA;AACpC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW;AAEnC,QAAA,IAAI,UAAU,EAAE,KAAK,KAAK,WAAW,EAAE;YACrC;QACF;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,UAAU,CAAC,MAAM,EAAE;QAC3B;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;AACnC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,gBAAA,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;AAC1B,gBAAA,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1B;YAEA;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;YACnC;QACF;AAEA,QAAA,UAAU,CAAC,KAAK,GAAG,IAAI;AACvB,QAAA,UAAU,CAAC,SAAS,GAAG,CAAC;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB;QACF;AAEA,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW;AAEnC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;QAC1B,UAAU,CAAC,OAAO,EAAE;IACtB;IAEQ,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,OAAO,CAAC;QACV;QAEA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE;AAC1C,YAAA,OAAO,CAAC;QACV;QAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC;AAE/G,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ;IACnE;AAEQ,IAAA,wBAAwB,CAAC,KAAa,EAAA;AAC5C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW;AACnC,QAAA,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AAChE,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;AACvC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB;AACvC,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;AAEjC,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI;AACzB,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG;AACxB,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;AAC1B,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG;AACxB,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI;AACzB,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;AAC3B,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;AAC1B,QAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;AAE3B,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACjG,QAAA,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IACzB;AACD;;;;"}
|
|
@@ -15,27 +15,29 @@ declare enum SceneNodeTransformFlags {
|
|
|
15
15
|
Rotation = 2,
|
|
16
16
|
Scaling = 4,
|
|
17
17
|
Origin = 8,
|
|
18
|
-
|
|
18
|
+
Skew = 32,
|
|
19
|
+
Transform = 47,
|
|
19
20
|
TransformInverse = 16,
|
|
20
21
|
GlobalTransform = 256,// own _globalTransform is stale
|
|
21
22
|
BoundsRect = 512
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Transform-bearing leaf in the scene-graph hierarchy. Carries position,
|
|
25
|
-
* rotation, scale, origin, and a 2-component {@link Vector} `anchor`
|
|
26
|
-
* derive `origin` from the local bounds. Implements {@link Collidable}
|
|
27
|
-
* any node can participate directly in the SAT collision pipeline via its
|
|
28
|
-
* AABB or rotated quad.
|
|
26
|
+
* rotation, scale, skew, origin, and a 2-component {@link Vector} `anchor`
|
|
27
|
+
* used to derive `origin` from the local bounds. Implements {@link Collidable}
|
|
28
|
+
* so any node can participate directly in the SAT collision pipeline via its
|
|
29
|
+
* AABB or rotated/skewed quad.
|
|
29
30
|
*
|
|
30
|
-
* Transform state is dirty-flag-cached: position/rotation/scale/origin
|
|
31
|
+
* Transform state is dirty-flag-cached: position/rotation/scale/skew/origin
|
|
31
32
|
* mutations invalidate the local transform; either kind of mutation also
|
|
32
33
|
* invalidates the global transform (own + descendants) and the bounds rect
|
|
33
34
|
* for this node and every {@link Container} ancestor up the parent chain.
|
|
34
35
|
* The caches rebuild lazily on the next read.
|
|
35
36
|
*
|
|
36
37
|
* The fast-path `isAlignedBox` getter reports `true` when the rotation is a
|
|
37
|
-
* multiple of 90
|
|
38
|
-
* used instead of the rotated
|
|
38
|
+
* multiple of 90° and both skew components are zero; in that case the
|
|
39
|
+
* (cheaper) AABB-based collision test is used instead of the rotated/skewed
|
|
40
|
+
* quad SAT path.
|
|
39
41
|
*
|
|
40
42
|
* `_invalidate*` methods are exported as `public` for friend-class access
|
|
41
43
|
* from {@link Container} and {@link InteractionManager}; treat them as
|
|
@@ -53,6 +55,8 @@ export declare class SceneNode implements Collidable {
|
|
|
53
55
|
protected _scale: ObservableVector;
|
|
54
56
|
protected _origin: ObservableVector;
|
|
55
57
|
protected _rotation: number;
|
|
58
|
+
protected _skewX: number;
|
|
59
|
+
protected _skewY: number;
|
|
56
60
|
protected _sin: number;
|
|
57
61
|
protected _cos: number;
|
|
58
62
|
private _visible;
|
|
@@ -86,8 +90,6 @@ export declare class SceneNode implements Collidable {
|
|
|
86
90
|
set anchor(anchor: ObservableVector);
|
|
87
91
|
get parent(): Container | null;
|
|
88
92
|
set parent(parent: Container | null);
|
|
89
|
-
get parentNode(): Container | null;
|
|
90
|
-
set parentNode(parentNode: Container | null);
|
|
91
93
|
get visible(): boolean;
|
|
92
94
|
set visible(visible: boolean);
|
|
93
95
|
get zIndex(): number;
|
|
@@ -95,13 +97,25 @@ export declare class SceneNode implements Collidable {
|
|
|
95
97
|
get childOrder(): number;
|
|
96
98
|
get cullable(): boolean;
|
|
97
99
|
set cullable(cullable: boolean);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Horizontal skew angle in degrees. Shears the node along the X axis
|
|
102
|
+
* (positive values lean the top edge right). Combines correctly with
|
|
103
|
+
* rotation and scale.
|
|
104
|
+
*/
|
|
105
|
+
get skewX(): number;
|
|
106
|
+
set skewX(degrees: number);
|
|
107
|
+
/**
|
|
108
|
+
* Vertical skew angle in degrees. Shears the node along the Y axis
|
|
109
|
+
* (positive values lean the left edge downward). Combines correctly with
|
|
110
|
+
* rotation and scale.
|
|
111
|
+
*/
|
|
112
|
+
get skewY(): number;
|
|
113
|
+
set skewY(degrees: number);
|
|
101
114
|
get isAlignedBox(): boolean;
|
|
102
115
|
setPosition(x: number, y?: number): this;
|
|
103
116
|
setRotation(degrees: number): this;
|
|
104
117
|
setScale(x: number, y?: number): this;
|
|
118
|
+
setSkew(x: number, y?: number): this;
|
|
105
119
|
setOrigin(x: number, y?: number): this;
|
|
106
120
|
move(x: number, y: number): this;
|
|
107
121
|
rotate(degrees: number): this;
|
|
@@ -109,7 +123,6 @@ export declare class SceneNode implements Collidable {
|
|
|
109
123
|
updateTransform(): this;
|
|
110
124
|
setAnchor(x: number, y?: number): this;
|
|
111
125
|
setChildOrder(order: number): this;
|
|
112
|
-
setCullable(cullable: boolean): this;
|
|
113
126
|
getLocalBounds(): Rectangle;
|
|
114
127
|
getBounds(): Rectangle;
|
|
115
128
|
updateBounds(): this;
|
|
@@ -132,6 +145,7 @@ export declare class SceneNode implements Collidable {
|
|
|
132
145
|
private _setRotationDirty;
|
|
133
146
|
private _setScalingDirty;
|
|
134
147
|
private _setOriginDirty;
|
|
148
|
+
private _setSkewDirty;
|
|
135
149
|
private _updateOrigin;
|
|
136
150
|
}
|
|
137
151
|
export {};
|