@codexo/exojs 0.12.0 → 0.14.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 +258 -6
- package/README.md +80 -63
- package/dist/esm/animation/Tween.js +1 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +9 -5
- package/dist/esm/animation/TweenManager.d.ts.map +1 -1
- package/dist/esm/animation/TweenManager.js +14 -8
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/index.d.ts +6 -4
- package/dist/esm/animation/index.d.ts.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +12 -12
- package/dist/esm/audio/AudioBus.js +29 -29
- package/dist/esm/audio/AudioEffect.d.ts +18 -0
- package/dist/esm/audio/AudioEffect.d.ts.map +1 -0
- package/dist/esm/audio/AudioEffect.js +16 -0
- package/dist/esm/audio/AudioEffect.js.map +1 -0
- package/dist/esm/audio/AudioGenerator.d.ts +91 -0
- package/dist/esm/audio/AudioGenerator.d.ts.map +1 -0
- package/dist/esm/audio/AudioGenerator.js +165 -0
- package/dist/esm/audio/AudioGenerator.js.map +1 -0
- package/dist/esm/audio/AudioGeneratorVoice.d.ts +52 -0
- package/dist/esm/audio/AudioGeneratorVoice.d.ts.map +1 -0
- package/dist/esm/audio/AudioGeneratorVoice.js +141 -0
- package/dist/esm/audio/AudioGeneratorVoice.js.map +1 -0
- package/dist/esm/audio/AudioInput.d.ts +39 -0
- package/dist/esm/audio/AudioInput.d.ts.map +1 -0
- package/dist/esm/audio/AudioInput.js +53 -0
- package/dist/esm/audio/AudioInput.js.map +1 -0
- package/dist/esm/audio/AudioManager.d.ts +72 -34
- package/dist/esm/audio/AudioManager.d.ts.map +1 -1
- package/dist/esm/audio/AudioManager.js +97 -51
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/AudioStream.d.ts +49 -0
- package/dist/esm/audio/AudioStream.d.ts.map +1 -0
- package/dist/esm/audio/AudioStream.js +109 -0
- package/dist/esm/audio/AudioStream.js.map +1 -0
- package/dist/esm/audio/AudioStreamVoice.d.ts +61 -0
- package/dist/esm/audio/AudioStreamVoice.d.ts.map +1 -0
- package/dist/esm/audio/AudioStreamVoice.js +137 -0
- package/dist/esm/audio/AudioStreamVoice.js.map +1 -0
- package/dist/esm/audio/BaseVoice.d.ts +111 -0
- package/dist/esm/audio/BaseVoice.d.ts.map +1 -0
- package/dist/esm/audio/BaseVoice.js +298 -0
- package/dist/esm/audio/BaseVoice.js.map +1 -0
- package/dist/esm/audio/BiquadEffect.d.ts +53 -0
- package/dist/esm/audio/BiquadEffect.d.ts.map +1 -0
- package/dist/esm/audio/BiquadEffect.js +110 -0
- package/dist/esm/audio/BiquadEffect.js.map +1 -0
- package/dist/esm/audio/InputVoice.d.ts +41 -0
- package/dist/esm/audio/InputVoice.d.ts.map +1 -0
- package/dist/esm/audio/InputVoice.js +85 -0
- package/dist/esm/audio/InputVoice.js.map +1 -0
- package/dist/esm/audio/NoopVoice.d.ts +29 -0
- package/dist/esm/audio/NoopVoice.d.ts.map +1 -0
- package/dist/esm/audio/NoopVoice.js +52 -0
- package/dist/esm/audio/NoopVoice.js.map +1 -0
- package/dist/esm/audio/Playable.d.ts +135 -0
- package/dist/esm/audio/Playable.d.ts.map +1 -0
- package/dist/esm/audio/Sound.d.ts +64 -69
- package/dist/esm/audio/Sound.d.ts.map +1 -1
- package/dist/esm/audio/Sound.js +176 -377
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/SoundVoice.d.ts +63 -0
- package/dist/esm/audio/SoundVoice.d.ts.map +1 -0
- package/dist/esm/audio/SoundVoice.js +168 -0
- package/dist/esm/audio/SoundVoice.js.map +1 -0
- package/dist/esm/audio/{filters/WorkletFilter.d.ts → WorkletEffect.d.ts} +3 -3
- package/dist/esm/audio/WorkletEffect.d.ts.map +1 -0
- package/dist/esm/audio/{filters/WorkletFilter.js → WorkletEffect.js} +6 -6
- package/dist/esm/audio/WorkletEffect.js.map +1 -0
- package/dist/esm/audio/audio-context.js +1 -1
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/crossFade.d.ts +22 -13
- package/dist/esm/audio/crossFade.d.ts.map +1 -1
- package/dist/esm/audio/crossFade.js +21 -13
- package/dist/esm/audio/crossFade.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -2
- package/dist/esm/audio/filters/HighpassFilter.js +2 -2
- package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -2
- package/dist/esm/audio/filters/LowpassFilter.js +2 -2
- package/dist/esm/audio/filters/index.d.ts +0 -10
- package/dist/esm/audio/filters/index.d.ts.map +1 -1
- package/dist/esm/audio/index.d.ts +13 -15
- package/dist/esm/audio/index.d.ts.map +1 -1
- package/dist/esm/core/Application.d.ts +127 -10
- package/dist/esm/core/Application.d.ts.map +1 -1
- package/dist/esm/core/Application.js +226 -25
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/BuildInfo.js +2 -2
- package/dist/esm/core/Color.d.ts +6 -4
- package/dist/esm/core/Color.d.ts.map +1 -1
- package/dist/esm/core/Color.js +19 -15
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/DisposalScope.d.ts +50 -0
- package/dist/esm/core/DisposalScope.d.ts.map +1 -0
- package/dist/esm/core/DisposalScope.js +86 -0
- package/dist/esm/core/DisposalScope.js.map +1 -0
- package/dist/esm/core/Perf.d.ts +10 -22
- package/dist/esm/core/Perf.d.ts.map +1 -1
- package/dist/esm/core/Perf.js +15 -8
- package/dist/esm/core/Perf.js.map +1 -1
- package/dist/esm/core/Registry.d.ts +64 -0
- package/dist/esm/core/Registry.d.ts.map +1 -0
- package/dist/esm/core/Registry.js +79 -0
- package/dist/esm/core/Registry.js.map +1 -0
- package/dist/esm/core/Scene.d.ts +69 -21
- package/dist/esm/core/Scene.d.ts.map +1 -1
- package/dist/esm/core/Scene.js +109 -16
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +22 -60
- package/dist/esm/core/SceneManager.d.ts.map +1 -1
- package/dist/esm/core/SceneManager.js +68 -153
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +43 -2
- package/dist/esm/core/SceneNode.d.ts.map +1 -1
- package/dist/esm/core/SceneNode.js +101 -12
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Stage.d.ts +42 -0
- package/dist/esm/core/Stage.d.ts.map +1 -0
- package/dist/esm/core/System.d.ts +22 -0
- package/dist/esm/core/System.d.ts.map +1 -0
- package/dist/esm/core/SystemRegistry.d.ts +35 -0
- package/dist/esm/core/SystemRegistry.d.ts.map +1 -0
- package/dist/esm/core/SystemRegistry.js +104 -0
- package/dist/esm/core/SystemRegistry.js.map +1 -0
- package/dist/esm/core/Time.d.ts +15 -0
- package/dist/esm/core/Time.d.ts.map +1 -1
- package/dist/esm/core/Time.js +25 -0
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/dev.d.ts +9 -4
- package/dist/esm/core/dev.d.ts.map +1 -1
- package/dist/esm/core/dev.js +5 -0
- package/dist/esm/core/dev.js.map +1 -1
- package/dist/esm/core/index.d.ts +26 -15
- package/dist/esm/core/index.d.ts.map +1 -1
- package/dist/esm/core/letterbox.d.ts +25 -0
- package/dist/esm/core/letterbox.d.ts.map +1 -0
- package/dist/esm/core/letterbox.js +26 -0
- package/dist/esm/core/letterbox.js.map +1 -0
- package/dist/esm/core/serialization/NodeSerializer.d.ts +71 -0
- package/dist/esm/core/serialization/NodeSerializer.d.ts.map +1 -0
- package/dist/esm/core/serialization/Prefab.d.ts +49 -0
- package/dist/esm/core/serialization/Prefab.d.ts.map +1 -0
- package/dist/esm/core/serialization/Prefab.js +61 -0
- package/dist/esm/core/serialization/Prefab.js.map +1 -0
- package/dist/esm/core/serialization/SerializationRegistry.d.ts +95 -0
- package/dist/esm/core/serialization/SerializationRegistry.d.ts.map +1 -0
- package/dist/esm/core/serialization/SerializationRegistry.js +108 -0
- package/dist/esm/core/serialization/SerializationRegistry.js.map +1 -0
- package/dist/esm/core/serialization/commonFields.d.ts +20 -0
- package/dist/esm/core/serialization/commonFields.d.ts.map +1 -0
- package/dist/esm/core/serialization/commonFields.js +149 -0
- package/dist/esm/core/serialization/commonFields.js.map +1 -0
- package/dist/esm/core/serialization/coreSerializers.d.ts +9 -0
- package/dist/esm/core/serialization/coreSerializers.d.ts.map +1 -0
- package/dist/esm/core/serialization/coreSerializers.js +101 -0
- package/dist/esm/core/serialization/coreSerializers.js.map +1 -0
- package/dist/esm/core/serialization/index.d.ts +6 -0
- package/dist/esm/core/serialization/index.d.ts.map +1 -0
- package/dist/esm/core/serialization/read.d.ts +65 -0
- package/dist/esm/core/serialization/read.d.ts.map +1 -0
- package/dist/esm/core/serialization/read.js +48 -0
- package/dist/esm/core/serialization/read.js.map +1 -0
- package/dist/esm/core/serialization/renderingSerializers.d.ts +7 -0
- package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -0
- package/dist/esm/core/serialization/renderingSerializers.js +311 -0
- package/dist/esm/core/serialization/renderingSerializers.js.map +1 -0
- package/dist/esm/core/serialization/serialize.d.ts +56 -0
- package/dist/esm/core/serialization/serialize.d.ts.map +1 -0
- package/dist/esm/core/serialization/serialize.js +144 -0
- package/dist/esm/core/serialization/serialize.js.map +1 -0
- package/dist/esm/core/serialization/serializerHelpers.d.ts +46 -0
- package/dist/esm/core/serialization/serializerHelpers.d.ts.map +1 -0
- package/dist/esm/core/serialization/serializerHelpers.js +161 -0
- package/dist/esm/core/serialization/serializerHelpers.js.map +1 -0
- package/dist/esm/core/serialization/types.d.ts +49 -0
- package/dist/esm/core/serialization/types.d.ts.map +1 -0
- package/dist/esm/core/serialization/types.js +9 -0
- package/dist/esm/core/serialization/types.js.map +1 -0
- package/dist/esm/core/serialization/uiSerializers.d.ts +7 -0
- package/dist/esm/core/serialization/uiSerializers.d.ts.map +1 -0
- package/dist/esm/core/serialization/uiSerializers.js +206 -0
- package/dist/esm/core/serialization/uiSerializers.js.map +1 -0
- package/dist/esm/core/types.d.ts +1 -1
- package/dist/esm/core/types.d.ts.map +1 -1
- package/dist/esm/core/utils.d.ts +1 -16
- package/dist/esm/core/utils.d.ts.map +1 -1
- package/dist/esm/core/utils.js +2 -100
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.js +8 -9
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -1
- package/dist/esm/debug/PointerStackLayer.js +9 -6
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.js +19 -12
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/extensions/Extension.d.ts +78 -11
- package/dist/esm/extensions/Extension.d.ts.map +1 -1
- package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -1
- package/dist/esm/extensions/ExtensionRegistry.js.map +1 -1
- package/dist/esm/extensions/materialize.d.ts +9 -1
- package/dist/esm/extensions/materialize.d.ts.map +1 -1
- package/dist/esm/extensions/materialize.js +17 -2
- package/dist/esm/extensions/materialize.js.map +1 -1
- package/dist/esm/extensions/snapshot.d.ts +14 -3
- package/dist/esm/extensions/snapshot.d.ts.map +1 -1
- package/dist/esm/extensions/snapshot.js +51 -14
- package/dist/esm/extensions/snapshot.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +37 -54
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/FocusManager.d.ts +59 -0
- package/dist/esm/input/FocusManager.d.ts.map +1 -0
- package/dist/esm/input/FocusManager.js +175 -0
- package/dist/esm/input/FocusManager.js.map +1 -0
- package/dist/esm/input/Gamepad.d.ts.map +1 -1
- package/dist/esm/input/Gamepad.js +8 -4
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadAxis.js +2 -2
- package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -1
- package/dist/esm/input/GamepadDefinitions.js +6 -2
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +1 -2
- package/dist/esm/input/GestureRecognizer.d.ts.map +1 -1
- package/dist/esm/input/GestureRecognizer.js +1 -3
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/InputBinding.js +3 -3
- package/dist/esm/input/InputBinding.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +7 -2
- package/dist/esm/input/InputManager.d.ts.map +1 -1
- package/dist/esm/input/InputManager.js +35 -21
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +67 -2
- package/dist/esm/input/InteractionManager.d.ts.map +1 -1
- package/dist/esm/input/InteractionManager.js +165 -41
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/KeyEvent.d.ts +25 -0
- package/dist/esm/input/KeyEvent.d.ts.map +1 -0
- package/dist/esm/input/KeyEvent.js +32 -0
- package/dist/esm/input/KeyEvent.js.map +1 -0
- package/dist/esm/input/Pointer.d.ts +21 -4
- package/dist/esm/input/Pointer.d.ts.map +1 -1
- package/dist/esm/input/Pointer.js +54 -15
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/index.d.ts +3 -1
- package/dist/esm/input/index.d.ts.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts.map +1 -1
- package/dist/esm/math/AbstractVector.js +7 -2
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts.map +1 -1
- package/dist/esm/math/Circle.js +5 -1
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/Line.d.ts +1 -1
- package/dist/esm/math/Line.d.ts.map +1 -1
- package/dist/esm/math/Line.js +1 -1
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/Matrix.d.ts.map +1 -1
- package/dist/esm/math/Matrix.js +6 -1
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +26 -8
- package/dist/esm/math/ObservableVector.d.ts.map +1 -1
- package/dist/esm/math/ObservableVector.js +24 -16
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +5 -0
- package/dist/esm/math/Polygon.d.ts.map +1 -1
- package/dist/esm/math/Polygon.js +27 -3
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/Random.d.ts +9 -9
- package/dist/esm/math/Random.d.ts.map +1 -1
- package/dist/esm/math/Random.js +46 -46
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +11 -4
- package/dist/esm/math/Rectangle.d.ts.map +1 -1
- package/dist/esm/math/Rectangle.js +12 -6
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +1 -1
- package/dist/esm/math/Vector.d.ts.map +1 -1
- package/dist/esm/math/Vector.js +1 -1
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +42 -0
- package/dist/esm/math/collision-detection.d.ts.map +1 -1
- package/dist/esm/math/collision-detection.js +54 -4
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts.map +1 -1
- package/dist/esm/math/collision-primitives.js +4 -0
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +26 -0
- package/dist/esm/math/geometry.d.ts.map +1 -1
- package/dist/esm/math/geometry.js +89 -2
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/index.d.ts +7 -5
- package/dist/esm/math/index.d.ts.map +1 -1
- package/dist/esm/math/swept-collision.d.ts +13 -0
- package/dist/esm/math/swept-collision.d.ts.map +1 -1
- package/dist/esm/math/swept-collision.js +15 -1
- package/dist/esm/math/swept-collision.js.map +1 -1
- package/dist/esm/math/triangulate.d.ts.map +1 -1
- package/dist/esm/math/triangulate.js +9 -1
- package/dist/esm/math/triangulate.js.map +1 -1
- package/dist/esm/math/utils.d.ts +20 -0
- package/dist/esm/math/utils.d.ts.map +1 -1
- package/dist/esm/math/utils.js +18 -15
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/renderer-sdk.d.ts +2 -0
- package/dist/esm/renderer-sdk.d.ts.map +1 -1
- package/dist/esm/{rendering.js → renderer-sdk.js} +1 -1
- package/dist/esm/renderer-sdk.js.map +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js +1 -1
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +3 -0
- package/dist/esm/rendering/Container.d.ts.map +1 -1
- package/dist/esm/rendering/Container.js +28 -5
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.d.ts +47 -0
- package/dist/esm/rendering/Drawable.d.ts.map +1 -1
- package/dist/esm/rendering/Drawable.js +88 -0
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/GpuResourceAccountant.d.ts +65 -0
- package/dist/esm/rendering/GpuResourceAccountant.d.ts.map +1 -0
- package/dist/esm/rendering/GpuResourceAccountant.js +130 -0
- package/dist/esm/rendering/GpuResourceAccountant.js.map +1 -0
- package/dist/esm/rendering/RenderBackend.d.ts +15 -1
- package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
- package/dist/esm/rendering/RenderBatch.d.ts +55 -0
- package/dist/esm/rendering/RenderBatch.d.ts.map +1 -0
- package/dist/esm/rendering/RenderBatch.js +107 -0
- package/dist/esm/rendering/RenderBatch.js.map +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +50 -10
- package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
- package/dist/esm/rendering/RenderNode.js +113 -20
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderNodePass.js +2 -2
- package/dist/esm/rendering/RenderNodePass.js.map +1 -1
- package/dist/esm/rendering/RenderStats.d.ts +39 -0
- package/dist/esm/rendering/RenderStats.d.ts.map +1 -1
- package/dist/esm/rendering/RenderStats.js +14 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -1
- package/dist/esm/rendering/RendererRegistry.js +20 -23
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/RenderingContext.d.ts +88 -4
- package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.js +107 -5
- package/dist/esm/rendering/RenderingContext.js.map +1 -1
- package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/TransformBuffer.js +2 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +47 -15
- package/dist/esm/rendering/View.d.ts.map +1 -1
- package/dist/esm/rendering/View.js +44 -27
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -1
- package/dist/esm/rendering/coreRendererBindings.js +22 -0
- package/dist/esm/rendering/coreRendererBindings.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -1
- package/dist/esm/rendering/geometry/Geometry.js +4 -2
- package/dist/esm/rendering/geometry/Geometry.js.map +1 -1
- package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -1
- package/dist/esm/rendering/gradient/Gradient.js +7 -2
- package/dist/esm/rendering/gradient/Gradient.js.map +1 -1
- package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -1
- package/dist/esm/rendering/material/MaterialKey.js +2 -0
- package/dist/esm/rendering/material/MaterialKey.js.map +1 -1
- package/dist/esm/rendering/material/ShaderSource.js +6 -0
- package/dist/esm/rendering/material/ShaderSource.js.map +1 -1
- package/dist/esm/rendering/mesh/ImmediateMesh.d.ts +48 -0
- package/dist/esm/rendering/mesh/ImmediateMesh.d.ts.map +1 -0
- package/dist/esm/rendering/mesh/ImmediateMesh.js +85 -0
- package/dist/esm/rendering/mesh/ImmediateMesh.js.map +1 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +29 -6
- package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -1
- package/dist/esm/rendering/mesh/Mesh.js +40 -13
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/pixelSnap.d.ts +219 -0
- package/dist/esm/rendering/pixelSnap.d.ts.map +1 -0
- package/dist/esm/rendering/pixelSnap.js +187 -0
- package/dist/esm/rendering/pixelSnap.js.map +1 -0
- package/dist/esm/rendering/plan/RenderCommand.d.ts +31 -9
- package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderCommand.js +23 -21
- package/dist/esm/rendering/plan/RenderCommand.js.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.js +1 -0
- package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +7 -37
- package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +17 -2
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.js +132 -46
- package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanOptimizer.js +31 -4
- package/dist/esm/rendering/plan/RenderPlanOptimizer.js.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanPlayer.js +70 -13
- package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
- package/dist/esm/rendering/plan/RenderScope.d.ts +16 -10
- package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +6 -0
- package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.js +17 -1
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/{index.d.ts → public.d.ts} +13 -30
- package/dist/esm/rendering/public.d.ts.map +1 -0
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.js +2 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +11 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.js +24 -2
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/NineSliceSprite.d.ts +69 -0
- package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/NineSliceSprite.js +206 -0
- package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.d.ts +120 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.js +277 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts +13 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.js +53 -3
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/nineSlice.d.ts +53 -0
- package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/nineSlice.js +334 -0
- package/dist/esm/rendering/sprite/nineSlice.js.map +1 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts +57 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.js +156 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -0
- package/dist/esm/rendering/text/BitmapText.d.ts +2 -0
- package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
- package/dist/esm/rendering/text/BitmapText.js +4 -0
- package/dist/esm/rendering/text/BitmapText.js.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlas.js +2 -1
- package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +8 -1
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlasPool.js +9 -12
- package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -1
- package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -1
- package/dist/esm/rendering/text/GlyphSdf.js +5 -1
- package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
- package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
- package/dist/esm/rendering/text/HTMLText.js +1 -0
- package/dist/esm/rendering/text/HTMLText.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts +17 -6
- package/dist/esm/rendering/text/Text.d.ts.map +1 -1
- package/dist/esm/rendering/text/Text.js +7 -12
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
- package/dist/esm/rendering/text/TextLayout.js +4 -18
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/texture/DataTexture.js +2 -2
- package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +6 -0
- package/dist/esm/rendering/texture/Texture.d.ts.map +1 -1
- package/dist/esm/rendering/texture/Texture.js +8 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/texture/TextureRegion.d.ts +100 -0
- package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -0
- package/dist/esm/rendering/texture/TextureRegion.js +144 -0
- package/dist/esm/rendering/texture/TextureRegion.js.map +1 -0
- package/dist/esm/rendering/texture/repeat.d.ts +96 -0
- package/dist/esm/rendering/texture/repeat.d.ts.map +1 -0
- package/dist/esm/rendering/texture/repeat.js +158 -0
- package/dist/esm/rendering/texture/repeat.js.map +1 -0
- package/dist/esm/rendering/types.d.ts +11 -0
- package/dist/esm/rendering/types.d.ts.map +1 -1
- package/dist/esm/rendering/types.js +11 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +7 -3
- package/dist/esm/rendering/video/Video.d.ts.map +1 -1
- package/dist/esm/rendering/video/Video.js +7 -3
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +2 -2
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +41 -2
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +137 -8
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +2 -2
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +17 -0
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +122 -38
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts +32 -0
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +309 -0
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +16 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +32 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts +49 -0
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +539 -0
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +14 -3
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +3 -3
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +11 -2
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +9 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +29 -4
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +3 -2
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +10 -4
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +39 -3
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +120 -12
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +3 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +13 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +102 -24
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +36 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +363 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +52 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +566 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +9 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +30 -6
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +1 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +19 -7
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +16 -4
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +26 -6
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +7 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +8 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -1
- package/dist/esm/resources/Asset.d.ts +1 -1
- package/dist/esm/resources/Asset.d.ts.map +1 -1
- package/dist/esm/resources/Asset.js +0 -2
- package/dist/esm/resources/Asset.js.map +1 -1
- package/dist/esm/resources/AssetContainer.d.ts +75 -0
- package/dist/esm/resources/AssetContainer.d.ts.map +1 -0
- package/dist/esm/resources/AssetContainer.js +100 -0
- package/dist/esm/resources/AssetContainer.js.map +1 -0
- package/dist/esm/resources/AssetDefinitions.d.ts +3 -3
- package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -1
- package/dist/esm/resources/Assets.d.ts.map +1 -1
- package/dist/esm/resources/Assets.js +0 -1
- package/dist/esm/resources/Assets.js.map +1 -1
- package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -1
- package/dist/esm/resources/FactoryRegistry.js +14 -23
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.js +8 -1
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbKeyValueStore.d.ts +37 -0
- package/dist/esm/resources/IndexedDbKeyValueStore.d.ts.map +1 -0
- package/dist/esm/resources/IndexedDbKeyValueStore.js +58 -0
- package/dist/esm/resources/IndexedDbKeyValueStore.js.map +1 -0
- package/dist/esm/resources/KeyValueStore.d.ts +31 -0
- package/dist/esm/resources/KeyValueStore.d.ts.map +1 -0
- package/dist/esm/resources/Loader.d.ts +78 -10
- package/dist/esm/resources/Loader.d.ts.map +1 -1
- package/dist/esm/resources/Loader.js +119 -15
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/MemoryStore.d.ts +17 -0
- package/dist/esm/resources/MemoryStore.d.ts.map +1 -0
- package/dist/esm/resources/MemoryStore.js +30 -0
- package/dist/esm/resources/MemoryStore.js.map +1 -0
- package/dist/esm/resources/WebStorageStore.d.ts +40 -0
- package/dist/esm/resources/WebStorageStore.d.ts.map +1 -0
- package/dist/esm/resources/WebStorageStore.js +84 -0
- package/dist/esm/resources/WebStorageStore.js.map +1 -0
- package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
- package/dist/esm/resources/coreAssetBindings.js +16 -5
- package/dist/esm/resources/coreAssetBindings.js.map +1 -1
- package/dist/esm/resources/factories/BmFontFactory.js +4 -4
- package/dist/esm/resources/factories/BmFontFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +9 -9
- package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.js +7 -7
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.js +2 -2
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts +11 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -1
- package/dist/esm/resources/factories/SubtitleFactory.js +13 -9
- package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -1
- package/dist/esm/resources/index.d.ts +51 -34
- package/dist/esm/resources/index.d.ts.map +1 -1
- package/dist/esm/resources/utils.js +4 -4
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/esm/ui/Button.d.ts +54 -0
- package/dist/esm/ui/Button.d.ts.map +1 -0
- package/dist/esm/ui/Button.js +139 -0
- package/dist/esm/ui/Button.js.map +1 -0
- package/dist/esm/ui/Label.d.ts +17 -0
- package/dist/esm/ui/Label.d.ts.map +1 -0
- package/dist/esm/ui/Label.js +37 -0
- package/dist/esm/ui/Label.js.map +1 -0
- package/dist/esm/ui/Panel.d.ts +38 -0
- package/dist/esm/ui/Panel.d.ts.map +1 -0
- package/dist/esm/ui/Panel.js +61 -0
- package/dist/esm/ui/Panel.js.map +1 -0
- package/dist/esm/ui/ProgressBar.d.ts +37 -0
- package/dist/esm/ui/ProgressBar.d.ts.map +1 -0
- package/dist/esm/ui/ProgressBar.js +76 -0
- package/dist/esm/ui/ProgressBar.js.map +1 -0
- package/dist/esm/ui/Stack.d.ts +34 -0
- package/dist/esm/ui/Stack.d.ts.map +1 -0
- package/dist/esm/ui/Stack.js +69 -0
- package/dist/esm/ui/Stack.js.map +1 -0
- package/dist/esm/ui/UIRoot.d.ts +31 -0
- package/dist/esm/ui/UIRoot.d.ts.map +1 -0
- package/dist/esm/ui/UIRoot.js +49 -0
- package/dist/esm/ui/UIRoot.js.map +1 -0
- package/dist/esm/ui/Widget.d.ts +45 -0
- package/dist/esm/ui/Widget.d.ts.map +1 -0
- package/dist/esm/ui/Widget.js +113 -0
- package/dist/esm/ui/Widget.js.map +1 -0
- package/dist/esm/ui/index.d.ts +13 -0
- package/dist/esm/ui/index.d.ts.map +1 -0
- package/dist/exo.debug.esm.js +1 -948
- package/dist/exo.debug.esm.js.map +1 -1
- package/dist/exo.esm.js +1 -37555
- package/dist/exo.esm.js.map +1 -1
- package/package.json +31 -13
- package/dist/esm/audio/AbstractMedia.d.ts +0 -75
- package/dist/esm/audio/AbstractMedia.d.ts.map +0 -1
- package/dist/esm/audio/AbstractMedia.js +0 -179
- package/dist/esm/audio/AbstractMedia.js.map +0 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +0 -128
- package/dist/esm/audio/AudioAnalyser.d.ts.map +0 -1
- package/dist/esm/audio/AudioAnalyser.js +0 -473
- package/dist/esm/audio/AudioAnalyser.js.map +0 -1
- package/dist/esm/audio/AudioFilter.d.ts +0 -17
- package/dist/esm/audio/AudioFilter.d.ts.map +0 -1
- package/dist/esm/audio/AudioFilter.js +0 -15
- package/dist/esm/audio/AudioFilter.js.map +0 -1
- package/dist/esm/audio/BeatDetector.d.ts +0 -207
- package/dist/esm/audio/BeatDetector.d.ts.map +0 -1
- package/dist/esm/audio/BeatDetector.js +0 -424
- package/dist/esm/audio/BeatDetector.js.map +0 -1
- package/dist/esm/audio/Media.d.ts +0 -37
- package/dist/esm/audio/Media.d.ts.map +0 -1
- package/dist/esm/audio/Music.d.ts +0 -42
- package/dist/esm/audio/Music.d.ts.map +0 -1
- package/dist/esm/audio/Music.js +0 -164
- package/dist/esm/audio/Music.js.map +0 -1
- package/dist/esm/audio/OscillatorSound.d.ts +0 -100
- package/dist/esm/audio/OscillatorSound.d.ts.map +0 -1
- package/dist/esm/audio/OscillatorSound.js +0 -346
- package/dist/esm/audio/OscillatorSound.js.map +0 -1
- package/dist/esm/audio/dsp/fft.d.ts +0 -23
- package/dist/esm/audio/dsp/fft.d.ts.map +0 -1
- package/dist/esm/audio/dsp/mel.d.ts +0 -44
- package/dist/esm/audio/dsp/mel.d.ts.map +0 -1
- package/dist/esm/audio/dsp/mel.js +0 -70
- package/dist/esm/audio/dsp/mel.js.map +0 -1
- package/dist/esm/audio/dsp/tempogram.d.ts +0 -52
- package/dist/esm/audio/dsp/tempogram.d.ts.map +0 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts +0 -54
- package/dist/esm/audio/filters/ChorusFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/ChorusFilter.js +0 -155
- package/dist/esm/audio/filters/ChorusFilter.js.map +0 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +0 -54
- package/dist/esm/audio/filters/CompressorFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/CompressorFilter.js +0 -123
- package/dist/esm/audio/filters/CompressorFilter.js.map +0 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts +0 -36
- package/dist/esm/audio/filters/DelayFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/DelayFilter.js +0 -114
- package/dist/esm/audio/filters/DelayFilter.js.map +0 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts +0 -45
- package/dist/esm/audio/filters/DuckingFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/DuckingFilter.js +0 -172
- package/dist/esm/audio/filters/DuckingFilter.js.map +0 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +0 -51
- package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/EqualizerFilter.js +0 -138
- package/dist/esm/audio/filters/EqualizerFilter.js.map +0 -1
- package/dist/esm/audio/filters/GranularFilter.d.ts +0 -63
- package/dist/esm/audio/filters/GranularFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/GranularFilter.js +0 -107
- package/dist/esm/audio/filters/GranularFilter.js.map +0 -1
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +0 -45
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/PitchShiftFilter.js +0 -66
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +0 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +0 -38
- package/dist/esm/audio/filters/ReverbFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/ReverbFilter.js +0 -122
- package/dist/esm/audio/filters/ReverbFilter.js.map +0 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts +0 -50
- package/dist/esm/audio/filters/VocoderFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/VocoderFilter.js +0 -94
- package/dist/esm/audio/filters/VocoderFilter.js.map +0 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/WorkletFilter.js.map +0 -1
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/beat-detector.worklet.js +0 -647
- package/dist/esm/audio/worklets/beat-detector.worklet.js.map +0 -1
- package/dist/esm/audio/worklets/granular.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/granular.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/granular.worklet.js +0 -89
- package/dist/esm/audio/worklets/granular.worklet.js.map +0 -1
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/pitch-shift.worklet.js +0 -74
- package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +0 -1
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/vocoder.worklet.js +0 -92
- package/dist/esm/audio/worklets/vocoder.worklet.js.map +0 -1
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts +0 -10
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +0 -1
- package/dist/esm/input/internal/interactionManagerRegistry.js +0 -10
- package/dist/esm/input/internal/interactionManagerRegistry.js.map +0 -1
- package/dist/esm/rendering/index.d.ts.map +0 -1
- package/dist/esm/rendering/plan/RenderInstruction.js +0 -45
- package/dist/esm/rendering/plan/RenderInstruction.js.map +0 -1
- package/dist/esm/rendering.d.ts +0 -28
- package/dist/esm/rendering.d.ts.map +0 -1
- package/dist/esm/rendering.js.map +0 -1
- package/dist/esm/resources/JsonStore.d.ts +0 -19
- package/dist/esm/resources/JsonStore.d.ts.map +0 -1
- package/dist/esm/resources/JsonStore.js +0 -62
- package/dist/esm/resources/JsonStore.js.map +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { TweenManager } from '../animation/TweenManager.js';
|
|
2
|
-
import {
|
|
2
|
+
import { AudioManager } from '../audio/AudioManager.js';
|
|
3
3
|
import { getGlobalSnapshotInternal } from '../extensions/ExtensionRegistry.js';
|
|
4
|
-
import { materializeAssetBindings, materializeRendererBindings } from '../extensions/materialize.js';
|
|
4
|
+
import { materializeAssetBindings, materializeSerializerBindings, materializeRendererBindings } from '../extensions/materialize.js';
|
|
5
5
|
import { buildSnapshot } from '../extensions/snapshot.js';
|
|
6
|
+
import { FocusManager } from '../input/FocusManager.js';
|
|
6
7
|
import { InputManager } from '../input/InputManager.js';
|
|
7
8
|
import { InteractionManager } from '../input/InteractionManager.js';
|
|
9
|
+
import { Random } from '../math/Random.js';
|
|
8
10
|
import { buildCoreRendererBindings } from '../rendering/coreRendererBindings.js';
|
|
9
11
|
import { RenderingContext } from '../rendering/RenderingContext.js';
|
|
10
12
|
import { Color } from './Color.js';
|
|
@@ -24,7 +26,10 @@ import { coreAssetBindings } from '../resources/coreAssetBindings.js';
|
|
|
24
26
|
import { Loader } from '../resources/Loader.js';
|
|
25
27
|
import { Capabilities } from './capabilities.js';
|
|
26
28
|
import { Clock } from './Clock.js';
|
|
29
|
+
import { computeLetterboxLayout } from './letterbox.js';
|
|
27
30
|
import { SceneManager } from './SceneManager.js';
|
|
31
|
+
import { SerializationRegistry, defaultSerializationRegistry } from './serialization/SerializationRegistry.js';
|
|
32
|
+
import { SystemRegistry } from './SystemRegistry.js';
|
|
28
33
|
import { Time } from './Time.js';
|
|
29
34
|
import { canvasSourceToDataUrl } from './utils.js';
|
|
30
35
|
|
|
@@ -37,6 +42,24 @@ var ApplicationStatus;
|
|
|
37
42
|
})(ApplicationStatus || (ApplicationStatus = {}));
|
|
38
43
|
const maxDeltaMs = 100;
|
|
39
44
|
const createDefaultCanvas = () => document.createElement('canvas');
|
|
45
|
+
/**
|
|
46
|
+
* Upper bound for the auto-resolved device-pixel ratio. Caps the backing-store
|
|
47
|
+
* blow-up on very high-density screens (e.g. DPR-3 phones would otherwise
|
|
48
|
+
* allocate 9× the logical pixels → fill-rate / memory pressure and frame drops)
|
|
49
|
+
* while keeping rendering crisp where it matters. Bypassed by an explicit
|
|
50
|
+
* `canvas.pixelRatio` option.
|
|
51
|
+
*/
|
|
52
|
+
const maxAutoPixelRatio = 2;
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the auto device-pixel ratio used when `pixelRatio` is not specified.
|
|
55
|
+
* Returns the host's `devicePixelRatio` clamped to {@link maxAutoPixelRatio}
|
|
56
|
+
* (crisp on Retina/HiDPI out of the box, without a runaway fill-rate cost on
|
|
57
|
+
* DPR-3 devices); falls back to `1` in non-browser / SSR / test environments.
|
|
58
|
+
*/
|
|
59
|
+
const resolveAutoPixelRatio = () => {
|
|
60
|
+
const dpr = globalThis.devicePixelRatio;
|
|
61
|
+
return typeof dpr === 'number' && dpr > 0 ? Math.min(dpr, maxAutoPixelRatio) : 1;
|
|
62
|
+
};
|
|
40
63
|
const defaultBackendConfig = { type: 'auto' };
|
|
41
64
|
const defaultCanvasSettings = {
|
|
42
65
|
width: 800,
|
|
@@ -68,8 +91,8 @@ const defaultInputSettings = {
|
|
|
68
91
|
};
|
|
69
92
|
/**
|
|
70
93
|
* Top-level engine instance. Owns the canvas, render backend, scene-stack
|
|
71
|
-
* controller,
|
|
72
|
-
*
|
|
94
|
+
* controller, the app system registry (input, interaction, audio, tweens,
|
|
95
|
+
* rendering), asset loader, and the per-frame loop.
|
|
73
96
|
*
|
|
74
97
|
* Lifecycle: construct with options → `await app.start(scene)` → engine
|
|
75
98
|
* runs the request-animation-frame loop until `app.stop()` or
|
|
@@ -94,9 +117,27 @@ class Application {
|
|
|
94
117
|
canvas;
|
|
95
118
|
loader;
|
|
96
119
|
input;
|
|
120
|
+
focus;
|
|
97
121
|
interaction;
|
|
98
122
|
scene;
|
|
123
|
+
/** Per-Application seedable RNG. Isolated from other Applications and from the global `rand()`. */
|
|
124
|
+
random;
|
|
99
125
|
tweens = new TweenManager();
|
|
126
|
+
/**
|
|
127
|
+
* App-level system registry, ticked once per frame in ascending `order`. The
|
|
128
|
+
* core managers occupy reserved bands (input 100, interaction 200, audio 300,
|
|
129
|
+
* tweens 400, rendering 500); register your own app-wide systems at order
|
|
130
|
+
* 600+ via `app.systems.add(...)`. Scene-scoped systems live on `scene.systems`.
|
|
131
|
+
*/
|
|
132
|
+
systems = new SystemRegistry();
|
|
133
|
+
/**
|
|
134
|
+
* App-scoped serializer registry, chained to the global
|
|
135
|
+
* {@link defaultSerializationRegistry}. Extension serializers materialise here
|
|
136
|
+
* rather than globally, so two {@link Application} instances in one process
|
|
137
|
+
* keep their extension serializers isolated; core and globally-registered
|
|
138
|
+
* (via `registerSerializer`) serializers remain shared through the fallback.
|
|
139
|
+
*/
|
|
140
|
+
serializers = new SerializationRegistry(defaultSerializationRegistry);
|
|
100
141
|
onResize = new Signal();
|
|
101
142
|
onFrame = new Signal();
|
|
102
143
|
onCanvasFocusChange = new Signal();
|
|
@@ -110,6 +151,8 @@ class Application {
|
|
|
110
151
|
_frameClock = new Clock();
|
|
111
152
|
_status = ApplicationStatus.Stopped;
|
|
112
153
|
_pixelRatio = defaultCanvasSettings.pixelRatio;
|
|
154
|
+
_designWidth = defaultCanvasSettings.width;
|
|
155
|
+
_designHeight = defaultCanvasSettings.height;
|
|
113
156
|
_frameCount = 0;
|
|
114
157
|
_frameRequest = 0;
|
|
115
158
|
_backendType;
|
|
@@ -120,6 +163,8 @@ class Application {
|
|
|
120
163
|
_documentVisible = true;
|
|
121
164
|
_cursor = 'default';
|
|
122
165
|
_visibilityChangeHandler = this._onDocumentVisibilityChange.bind(this);
|
|
166
|
+
_resizeObserver = null;
|
|
167
|
+
_audio = new AudioManager();
|
|
123
168
|
constructor(appSettings = {}) {
|
|
124
169
|
const canvasOptions = appSettings.canvas ?? {};
|
|
125
170
|
const loaderOptions = appSettings.loader ?? {};
|
|
@@ -128,7 +173,9 @@ class Application {
|
|
|
128
173
|
const canvas = canvasOptions.element ?? createDefaultCanvas();
|
|
129
174
|
const logicalWidth = canvasOptions.width ?? defaultCanvasSettings.width;
|
|
130
175
|
const logicalHeight = canvasOptions.height ?? defaultCanvasSettings.height;
|
|
131
|
-
this._pixelRatio = canvasOptions.pixelRatio ??
|
|
176
|
+
this._pixelRatio = canvasOptions.pixelRatio ?? resolveAutoPixelRatio();
|
|
177
|
+
this._designWidth = logicalWidth;
|
|
178
|
+
this._designHeight = logicalHeight;
|
|
132
179
|
this.canvas = canvas;
|
|
133
180
|
this._applyCanvasSize(logicalWidth, logicalHeight);
|
|
134
181
|
if (canvasOptions.tabIndex !== undefined) {
|
|
@@ -140,6 +187,8 @@ class Application {
|
|
|
140
187
|
if (canvasOptions.imageRendering !== undefined) {
|
|
141
188
|
this.canvas.style.imageRendering = canvasOptions.imageRendering;
|
|
142
189
|
}
|
|
190
|
+
this._mountCanvas(canvasOptions.mount);
|
|
191
|
+
this._applySizingMode(canvasOptions.sizingMode ?? 'fixed');
|
|
143
192
|
this.options = {
|
|
144
193
|
clearColor: appSettings.clearColor ?? Color.cornflowerBlue,
|
|
145
194
|
backend: appSettings.backend ?? defaultBackendConfig,
|
|
@@ -149,14 +198,14 @@ class Application {
|
|
|
149
198
|
height: logicalHeight,
|
|
150
199
|
pixelRatio: this._pixelRatio,
|
|
151
200
|
tabIndex: this.canvas.tabIndex,
|
|
152
|
-
imageRendering: canvasOptions.imageRendering,
|
|
201
|
+
...(canvasOptions.imageRendering !== undefined && { imageRendering: canvasOptions.imageRendering }),
|
|
153
202
|
},
|
|
154
203
|
loader: {
|
|
155
204
|
basePath: loaderOptions.basePath ?? '',
|
|
156
205
|
fetchOptions: loaderOptions.fetchOptions ?? { ...defaultLoaderFetchOptions },
|
|
157
|
-
cache: loaderOptions.cache,
|
|
158
|
-
cacheStrategy: loaderOptions.cacheStrategy,
|
|
159
|
-
concurrency: loaderOptions.concurrency,
|
|
206
|
+
...(loaderOptions.cache !== undefined && { cache: loaderOptions.cache }),
|
|
207
|
+
...(loaderOptions.cacheStrategy !== undefined && { cacheStrategy: loaderOptions.cacheStrategy }),
|
|
208
|
+
...(loaderOptions.concurrency !== undefined && { concurrency: loaderOptions.concurrency }),
|
|
160
209
|
},
|
|
161
210
|
rendering: {
|
|
162
211
|
debug: renderingOptions.debug ?? defaultRenderingSettings.debug,
|
|
@@ -174,6 +223,7 @@ class Application {
|
|
|
174
223
|
this.loader = new Loader(this.options.loader);
|
|
175
224
|
try {
|
|
176
225
|
materializeAssetBindings(this.loader, [...coreAssetBindings, ...this._snapshot.assets]);
|
|
226
|
+
materializeSerializerBindings(this.serializers, this._snapshot.serializers);
|
|
177
227
|
}
|
|
178
228
|
catch (error) {
|
|
179
229
|
try {
|
|
@@ -188,9 +238,18 @@ class Application {
|
|
|
188
238
|
this._backend = this.createBackend(this._backendType, this._snapshot);
|
|
189
239
|
this._rendering = new RenderingContext(this._backend);
|
|
190
240
|
this.input = new InputManager(this);
|
|
241
|
+
this.focus = new FocusManager(this);
|
|
191
242
|
this.interaction = new InteractionManager(this);
|
|
192
243
|
this.scene = new SceneManager(this);
|
|
244
|
+
this.random = new Random(this.options.seed);
|
|
193
245
|
this._updateHandler = this.update.bind(this);
|
|
246
|
+
// Register the core managers as ordered app systems (reserved order bands);
|
|
247
|
+
// they tick from one loop, ahead of any user systems (order 600+).
|
|
248
|
+
this.systems.add(this.input);
|
|
249
|
+
this.systems.add(this.interaction);
|
|
250
|
+
this.systems.add(this._audio);
|
|
251
|
+
this.systems.add(this.tweens);
|
|
252
|
+
this.systems.add(this._rendering);
|
|
194
253
|
this._startupClock.start();
|
|
195
254
|
if (typeof document !== 'undefined') {
|
|
196
255
|
this._documentVisible = document.visibilityState === 'visible';
|
|
@@ -200,7 +259,7 @@ class Application {
|
|
|
200
259
|
this.onCanvasFocusChange.dispatch(focused);
|
|
201
260
|
});
|
|
202
261
|
this.onVisibilityChange.add(visible => {
|
|
203
|
-
|
|
262
|
+
this._audio._applyVisibility(visible);
|
|
204
263
|
});
|
|
205
264
|
}
|
|
206
265
|
get status() {
|
|
@@ -261,7 +320,57 @@ class Application {
|
|
|
261
320
|
this.setCursor(cursor);
|
|
262
321
|
}
|
|
263
322
|
get audio() {
|
|
264
|
-
return
|
|
323
|
+
return this._audio;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Logical (design-space) canvas width — the value passed as `canvas.width`
|
|
327
|
+
* at construction / {@link resize}, independent of {@link pixelRatio}. Use
|
|
328
|
+
* this for layout math (e.g. `app.width / 2` to center) instead of
|
|
329
|
+
* `app.canvas.width`, which is the physical backing-store size
|
|
330
|
+
* (`app.width × app.pixelRatio`) and therefore larger on HiDPI displays.
|
|
331
|
+
*/
|
|
332
|
+
get width() {
|
|
333
|
+
return this._designWidth;
|
|
334
|
+
}
|
|
335
|
+
/** Logical (design-space) canvas height. See {@link Application.width}. */
|
|
336
|
+
get height() {
|
|
337
|
+
return this._designHeight;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Device/render pixel ratio applied to the backing buffer. Defaults to the
|
|
341
|
+
* host `devicePixelRatio` clamped to `2` (crisp on HiDPI out of the box, but
|
|
342
|
+
* capped to avoid a runaway fill-rate cost on DPR-3 phones) unless an
|
|
343
|
+
* explicit `canvas.pixelRatio` option was given. Holds the invariant
|
|
344
|
+
* `app.canvas.width === Math.round(app.width × app.pixelRatio)`.
|
|
345
|
+
*/
|
|
346
|
+
get pixelRatio() {
|
|
347
|
+
return this._pixelRatio;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Convert a logical/design-space pixel coordinate — the space of
|
|
351
|
+
* {@link Pointer.x}/{@link Pointer.y} and node positions, e.g. `0..app.width`
|
|
352
|
+
* — to a world position using the active camera. At the default centered
|
|
353
|
+
* camera this is the identity; with a panned/zoomed/rotated camera it undoes
|
|
354
|
+
* the transform. Equivalent to `app.rendering.camera.screenToWorld(x, y)`.
|
|
355
|
+
*/
|
|
356
|
+
screenToWorld(x, y) {
|
|
357
|
+
return this._rendering.camera.screenToWorld(x, y);
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Map a canvas backing-store pixel coordinate into design space. Because the
|
|
361
|
+
* canvas always renders the full design space across its backing store (in
|
|
362
|
+
* `'letterbox'` mode the canvas itself is the content area, bars excluded),
|
|
363
|
+
* this is a straight backing-store → design scale. Pointer positions are
|
|
364
|
+
* expressed in logical/design pixels via this mapping.
|
|
365
|
+
* @internal
|
|
366
|
+
*/
|
|
367
|
+
_backingStoreToDesign(backingStoreX, backingStoreY) {
|
|
368
|
+
const backingWidth = this.canvas.width || 1;
|
|
369
|
+
const backingHeight = this.canvas.height || 1;
|
|
370
|
+
return {
|
|
371
|
+
x: (backingStoreX / backingWidth) * this._designWidth,
|
|
372
|
+
y: (backingStoreY / backingHeight) * this._designHeight,
|
|
373
|
+
};
|
|
265
374
|
}
|
|
266
375
|
/**
|
|
267
376
|
* Initialize the render backend, await capability detection, set the
|
|
@@ -299,9 +408,9 @@ class Application {
|
|
|
299
408
|
*
|
|
300
409
|
* Each normal frame runs two distinct phases:
|
|
301
410
|
*
|
|
302
|
-
* **Update phase** —
|
|
303
|
-
*
|
|
304
|
-
* each participating scene in stack order.
|
|
411
|
+
* **Update phase** — the app systems tick in ascending `order` (input,
|
|
412
|
+
* interaction, audio, tweens, rendering, plus any user systems at 600+), then
|
|
413
|
+
* `scene.update(delta)` for each participating scene in stack order.
|
|
305
414
|
*
|
|
306
415
|
* **Render phase** — `scene.draw(context)` for each participating scene in
|
|
307
416
|
* stack order, followed by the transition overlay when active.
|
|
@@ -328,11 +437,7 @@ class Application {
|
|
|
328
437
|
const frameStart = performance.now();
|
|
329
438
|
this.backend.resetStats();
|
|
330
439
|
this.backend.stats.rawFrameDeltaMs = rawDeltaMs;
|
|
331
|
-
this.
|
|
332
|
-
this.interaction.update();
|
|
333
|
-
getAudioManager().update();
|
|
334
|
-
this.tweens.update(frameDelta.seconds);
|
|
335
|
-
this._rendering.update(frameDelta.milliseconds);
|
|
440
|
+
this.systems._tick(frameDelta);
|
|
336
441
|
this.scene.update(frameDelta);
|
|
337
442
|
this.onFrame.dispatch(frameDelta);
|
|
338
443
|
this.backend.flush();
|
|
@@ -367,6 +472,8 @@ class Application {
|
|
|
367
472
|
* notified.
|
|
368
473
|
*/
|
|
369
474
|
resize(width, height) {
|
|
475
|
+
this._designWidth = width;
|
|
476
|
+
this._designHeight = height;
|
|
370
477
|
this._applyCanvasSize(width, height);
|
|
371
478
|
this.options.canvas = {
|
|
372
479
|
...(this.options.canvas ?? {}),
|
|
@@ -379,6 +486,92 @@ class Application {
|
|
|
379
486
|
this.onResize.dispatch(width, height, this);
|
|
380
487
|
return this;
|
|
381
488
|
}
|
|
489
|
+
/** Append the canvas to a mount element or CSS selector, if provided. */
|
|
490
|
+
_mountCanvas(mount) {
|
|
491
|
+
if (mount === undefined || typeof document === 'undefined') {
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
494
|
+
const target = typeof mount === 'string' ? document.querySelector(mount) : mount;
|
|
495
|
+
target?.append(this.canvas);
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Apply the chosen {@link CanvasSizingMode}. `'fill'` observes the parent and
|
|
499
|
+
* re-renders to its size; `'fit'`/`'shrink'` set CSS so the fixed-resolution
|
|
500
|
+
* canvas scales to fit the parent (letterboxed via CSS object-fit);
|
|
501
|
+
* `'letterbox'` observes the parent and sizes a native-resolution,
|
|
502
|
+
* design-aspect canvas centered within it, the parent background showing as
|
|
503
|
+
* bars. `'fixed'` is a no-op — the exact pixel size was already applied.
|
|
504
|
+
*/
|
|
505
|
+
_applySizingMode(mode) {
|
|
506
|
+
const style = this.canvas.style;
|
|
507
|
+
switch (mode) {
|
|
508
|
+
case 'fill': {
|
|
509
|
+
const target = this.canvas.parentElement;
|
|
510
|
+
if (typeof ResizeObserver === 'undefined' || !target) {
|
|
511
|
+
break;
|
|
512
|
+
}
|
|
513
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
514
|
+
const width = target.clientWidth;
|
|
515
|
+
const height = target.clientHeight;
|
|
516
|
+
if (width > 0 && height > 0) {
|
|
517
|
+
this.resize(width, height);
|
|
518
|
+
}
|
|
519
|
+
});
|
|
520
|
+
this._resizeObserver.observe(target);
|
|
521
|
+
break;
|
|
522
|
+
}
|
|
523
|
+
case 'letterbox': {
|
|
524
|
+
const target = this.canvas.parentElement;
|
|
525
|
+
if (typeof ResizeObserver === 'undefined' || !target) {
|
|
526
|
+
break;
|
|
527
|
+
}
|
|
528
|
+
// Center the canvas in the parent and let the parent background show as
|
|
529
|
+
// letterbox bars around it.
|
|
530
|
+
const parentStyle = target.style;
|
|
531
|
+
parentStyle.display = 'flex';
|
|
532
|
+
parentStyle.alignItems = 'center';
|
|
533
|
+
parentStyle.justifyContent = 'center';
|
|
534
|
+
parentStyle.overflow = 'hidden';
|
|
535
|
+
parentStyle.background = '#000';
|
|
536
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
537
|
+
const width = target.clientWidth;
|
|
538
|
+
const height = target.clientHeight;
|
|
539
|
+
if (width > 0 && height > 0) {
|
|
540
|
+
this._applyLetterboxLayout(width, height);
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
this._resizeObserver.observe(target);
|
|
544
|
+
break;
|
|
545
|
+
}
|
|
546
|
+
case 'fit':
|
|
547
|
+
style.width = '100%';
|
|
548
|
+
style.height = '100%';
|
|
549
|
+
style.objectFit = 'contain';
|
|
550
|
+
break;
|
|
551
|
+
case 'shrink':
|
|
552
|
+
style.maxWidth = '100%';
|
|
553
|
+
style.maxHeight = '100%';
|
|
554
|
+
style.objectFit = 'contain';
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Recompute the `'letterbox'` layout for a parent of the given CSS size.
|
|
560
|
+
* Fits the fixed `width`×`height` design space into the parent preserving
|
|
561
|
+
* aspect ratio, sizes the canvas to that content rectangle (backing store at
|
|
562
|
+
* `content × pixelRatio` — always native-crisp, never upscale-blurred), and
|
|
563
|
+
* lets the parent's background show through as letterbox bars around the
|
|
564
|
+
* centered canvas. The render target and camera stay at the design size, so
|
|
565
|
+
* the design space exactly fills the backing store (no crop, no stretch) and
|
|
566
|
+
* the camera's gameplay center / zoom survive a window resize untouched.
|
|
567
|
+
*/
|
|
568
|
+
_applyLetterboxLayout(parentWidthCss, parentHeightCss) {
|
|
569
|
+
const layout = computeLetterboxLayout(parentWidthCss, parentHeightCss, this._designWidth, this._designHeight, this._pixelRatio);
|
|
570
|
+
this.canvas.width = layout.backingWidth;
|
|
571
|
+
this.canvas.height = layout.backingHeight;
|
|
572
|
+
this.canvas.style.width = `${layout.contentWidthCss}px`;
|
|
573
|
+
this.canvas.style.height = `${layout.contentHeightCss}px`;
|
|
574
|
+
}
|
|
382
575
|
/**
|
|
383
576
|
* Set the canvas cursor. Strings are passed through to `canvas.style.cursor`
|
|
384
577
|
* verbatim (CSS values like `'pointer'`, `'crosshair'`, or `url(...)`).
|
|
@@ -403,19 +596,21 @@ class Application {
|
|
|
403
596
|
return this._rendering.renderTo(node, options);
|
|
404
597
|
}
|
|
405
598
|
/**
|
|
406
|
-
* Tear down every owned subsystem (loader,
|
|
407
|
-
* backend, scene manager, all clocks,
|
|
408
|
-
* listeners. The application instance is
|
|
599
|
+
* Tear down every owned subsystem (loader, the app systems — input,
|
|
600
|
+
* interaction, audio, tweens, rendering — backend, scene manager, all clocks,
|
|
601
|
+
* all signals) and release event listeners. The application instance is
|
|
602
|
+
* unusable after this call.
|
|
409
603
|
*/
|
|
410
604
|
destroy() {
|
|
411
605
|
if (typeof document !== 'undefined') {
|
|
412
606
|
document.removeEventListener('visibilitychange', this._visibilityChangeHandler);
|
|
413
607
|
}
|
|
608
|
+
this._resizeObserver?.disconnect();
|
|
609
|
+
this._resizeObserver = null;
|
|
414
610
|
this.stop();
|
|
415
611
|
this.loader.destroy();
|
|
416
|
-
this.
|
|
417
|
-
this.
|
|
418
|
-
this.tweens.destroy();
|
|
612
|
+
this.focus.destroy();
|
|
613
|
+
this.systems.destroy();
|
|
419
614
|
this._backend.destroy();
|
|
420
615
|
this.scene.destroy();
|
|
421
616
|
this._startupClock.destroy();
|
|
@@ -503,7 +698,13 @@ class Application {
|
|
|
503
698
|
this._backend.destroy();
|
|
504
699
|
this._backendType = 'webgl2';
|
|
505
700
|
this._backend = this.createBackend(this._backendType, this._snapshot);
|
|
701
|
+
// Swap the rendering system for one bound to the rebuilt backend so
|
|
702
|
+
// app.systems keeps ticking the live RenderingContext.
|
|
703
|
+
const previousRendering = this._rendering;
|
|
704
|
+
this.systems.remove(previousRendering);
|
|
705
|
+
previousRendering.destroy();
|
|
506
706
|
this._rendering = new RenderingContext(this._backend);
|
|
707
|
+
this.systems.add(this._rendering);
|
|
507
708
|
await this._backend.initialize();
|
|
508
709
|
}
|
|
509
710
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sources":["../../../../src/core/Application.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Application.js","sources":["../../../../src/core/Application.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/core/Color.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import type { Cloneable } from './types';
|
|
|
2
2
|
/**
|
|
3
3
|
* 32-bit RGBA color value with channel-wise accessors. Red, green, and blue
|
|
4
4
|
* are integers in 0..255; alpha is a float in 0..1. Out-of-range values are
|
|
5
|
-
*
|
|
5
|
+
* saturated on assignment (RGB clamped to 0..255 and truncated to an integer,
|
|
6
|
+
* alpha clamped to 0..1) — values outside the range no longer wrap around.
|
|
6
7
|
*
|
|
7
8
|
* The class predefines every CSS named color as a static readonly instance
|
|
8
9
|
* (`Color.aliceBlue`, `Color.cornflowerBlue`, …). These shared instances are
|
|
@@ -31,7 +32,7 @@ export declare class Color implements Cloneable {
|
|
|
31
32
|
set a(alpha: number);
|
|
32
33
|
/**
|
|
33
34
|
* Set any subset of channels. Omitted parameters default to the current
|
|
34
|
-
* channel value (use this for "set red, leave the rest"). RGB are
|
|
35
|
+
* channel value (use this for "set red, leave the rest"). RGB are clamped
|
|
35
36
|
* to 0..255; alpha is clamped to 0..1.
|
|
36
37
|
*/
|
|
37
38
|
set(r?: number, g?: number, b?: number, a?: number): this;
|
|
@@ -53,8 +54,9 @@ export declare class Color implements Cloneable {
|
|
|
53
54
|
toString(prefixed?: boolean): string;
|
|
54
55
|
/**
|
|
55
56
|
* Return the color packed into a single 32-bit RGBA value (R in low byte,
|
|
56
|
-
* A in high byte). Cached after first call until any channel is written.
|
|
57
|
-
*
|
|
57
|
+
* A in high byte). Cached after first call until any channel is written. RGB
|
|
58
|
+
* is preserved at every alpha — a fully transparent red and a fully
|
|
59
|
+
* transparent black pack to different values.
|
|
58
60
|
*/
|
|
59
61
|
toRgba(): number;
|
|
60
62
|
destroy(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../src/core/Color.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../src/core/Color.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/core/Color.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { clamp } from '../math/utils.js';
|
|
2
2
|
|
|
3
|
+
/** Clamp a value into the 0..255 integer channel range (saturating, not wrapping). */
|
|
4
|
+
const toChannel = (value) => clamp(value, 0, 255) | 0;
|
|
3
5
|
/**
|
|
4
6
|
* 32-bit RGBA color value with channel-wise accessors. Red, green, and blue
|
|
5
7
|
* are integers in 0..255; alpha is a float in 0..1. Out-of-range values are
|
|
6
|
-
*
|
|
8
|
+
* saturated on assignment (RGB clamped to 0..255 and truncated to an integer,
|
|
9
|
+
* alpha clamped to 0..1) — values outside the range no longer wrap around.
|
|
7
10
|
*
|
|
8
11
|
* The class predefines every CSS named color as a static readonly instance
|
|
9
12
|
* (`Color.aliceBlue`, `Color.cornflowerBlue`, …). These shared instances are
|
|
@@ -22,30 +25,30 @@ class Color {
|
|
|
22
25
|
_rgba = null;
|
|
23
26
|
_array = null;
|
|
24
27
|
constructor(r = 0, g = 0, b = 0, a = 1) {
|
|
25
|
-
this._r = r
|
|
26
|
-
this._g = g
|
|
27
|
-
this._b = b
|
|
28
|
+
this._r = toChannel(r);
|
|
29
|
+
this._g = toChannel(g);
|
|
30
|
+
this._b = toChannel(b);
|
|
28
31
|
this._a = clamp(a, 0, 1);
|
|
29
32
|
}
|
|
30
33
|
get r() {
|
|
31
34
|
return this._r;
|
|
32
35
|
}
|
|
33
36
|
set r(red) {
|
|
34
|
-
this._r = red
|
|
37
|
+
this._r = toChannel(red);
|
|
35
38
|
this._rgba = null;
|
|
36
39
|
}
|
|
37
40
|
get g() {
|
|
38
41
|
return this._g;
|
|
39
42
|
}
|
|
40
43
|
set g(green) {
|
|
41
|
-
this._g = green
|
|
44
|
+
this._g = toChannel(green);
|
|
42
45
|
this._rgba = null;
|
|
43
46
|
}
|
|
44
47
|
get b() {
|
|
45
48
|
return this._b;
|
|
46
49
|
}
|
|
47
50
|
set b(blue) {
|
|
48
|
-
this._b = blue
|
|
51
|
+
this._b = toChannel(blue);
|
|
49
52
|
this._rgba = null;
|
|
50
53
|
}
|
|
51
54
|
get a() {
|
|
@@ -57,13 +60,13 @@ class Color {
|
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Set any subset of channels. Omitted parameters default to the current
|
|
60
|
-
* channel value (use this for "set red, leave the rest"). RGB are
|
|
63
|
+
* channel value (use this for "set red, leave the rest"). RGB are clamped
|
|
61
64
|
* to 0..255; alpha is clamped to 0..1.
|
|
62
65
|
*/
|
|
63
66
|
set(r = this._r, g = this._g, b = this._b, a = this._a) {
|
|
64
|
-
this._r = r
|
|
65
|
-
this._g = g
|
|
66
|
-
this._b = b
|
|
67
|
+
this._r = toChannel(r);
|
|
68
|
+
this._g = toChannel(g);
|
|
69
|
+
this._b = toChannel(b);
|
|
67
70
|
this._a = clamp(a, 0, 1);
|
|
68
71
|
this._rgba = null;
|
|
69
72
|
return this;
|
|
@@ -107,16 +110,17 @@ class Color {
|
|
|
107
110
|
* for the full RGBA32 packed form.
|
|
108
111
|
*/
|
|
109
112
|
toString(prefixed = true) {
|
|
110
|
-
return `${prefixed ? '#' : ''}${((1 << 24)
|
|
113
|
+
return `${prefixed ? '#' : ''}${((1 << 24) | (this._r << 16) | (this._g << 8) | this._b).toString(16).substr(1)}`;
|
|
111
114
|
}
|
|
112
115
|
/**
|
|
113
116
|
* Return the color packed into a single 32-bit RGBA value (R in low byte,
|
|
114
|
-
* A in high byte). Cached after first call until any channel is written.
|
|
115
|
-
*
|
|
117
|
+
* A in high byte). Cached after first call until any channel is written. RGB
|
|
118
|
+
* is preserved at every alpha — a fully transparent red and a fully
|
|
119
|
+
* transparent black pack to different values.
|
|
116
120
|
*/
|
|
117
121
|
toRgba() {
|
|
118
122
|
if (this._rgba === null) {
|
|
119
|
-
this._rgba =
|
|
123
|
+
this._rgba = ((((this._a * 255) | 0) << 24) | (this._b << 16) | (this._g << 8) | this._r) >>> 0;
|
|
120
124
|
}
|
|
121
125
|
return this._rgba;
|
|
122
126
|
}
|