@codexo/exojs 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +265 -6
- package/README.md +82 -67
- package/dist/esm/animation/Tween.d.ts.map +1 -1
- package/dist/esm/animation/Tween.js +1 -2
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +50 -7
- package/dist/esm/animation/TweenManager.d.ts.map +1 -1
- package/dist/esm/animation/TweenManager.js +68 -10
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/TweenSequencer.d.ts +139 -0
- package/dist/esm/animation/TweenSequencer.d.ts.map +1 -0
- package/dist/esm/animation/TweenSequencer.js +305 -0
- package/dist/esm/animation/TweenSequencer.js.map +1 -0
- package/dist/esm/animation/index.d.ts +7 -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/WorkletEffect.d.ts +68 -0
- package/dist/esm/audio/WorkletEffect.d.ts.map +1 -0
- package/dist/esm/audio/WorkletEffect.js +177 -0
- 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 +169 -14
- package/dist/esm/core/Application.d.ts.map +1 -1
- package/dist/esm/core/Application.js +306 -31
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/BuildInfo.js +2 -2
- package/dist/esm/core/Codec.d.ts +41 -0
- package/dist/esm/core/Codec.d.ts.map +1 -0
- package/dist/esm/core/Codec.js +79 -0
- package/dist/esm/core/Codec.js.map +1 -0
- 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/FixedTimestep.d.ts +28 -0
- package/dist/esm/core/FixedTimestep.d.ts.map +1 -0
- package/dist/esm/core/FixedTimestep.js +62 -0
- package/dist/esm/core/FixedTimestep.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 +83 -21
- package/dist/esm/core/Scene.d.ts.map +1 -1
- package/dist/esm/core/Scene.js +127 -16
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +28 -59
- package/dist/esm/core/SceneManager.d.ts.map +1 -1
- package/dist/esm/core/SceneManager.js +86 -155
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +78 -7
- package/dist/esm/core/SceneNode.d.ts.map +1 -1
- package/dist/esm/core/SceneNode.js +162 -21
- 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 +49 -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 +40 -0
- package/dist/esm/core/SystemRegistry.d.ts.map +1 -0
- package/dist/esm/core/SystemRegistry.js +114 -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 +30 -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/logging.d.ts +34 -0
- package/dist/esm/core/logging.d.ts.map +1 -0
- package/dist/esm/core/logging.js +59 -0
- package/dist/esm/core/logging.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 +155 -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 +320 -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 +39 -4
- package/dist/esm/extensions/Extension.d.ts.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 +2 -1
- package/dist/esm/extensions/snapshot.d.ts.map +1 -1
- package/dist/esm/extensions/snapshot.js +8 -0
- 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 +41 -61
- 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 +10 -0
- package/dist/esm/input/Gamepad.d.ts.map +1 -1
- package/dist/esm/input/Gamepad.js +20 -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 +40 -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/BackendTargetPass.d.ts +1 -1
- package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.d.ts +14 -10
- package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.js +17 -12
- 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/DrawContext.d.ts +48 -0
- package/dist/esm/rendering/DrawContext.d.ts.map +1 -0
- package/dist/esm/rendering/Drawable.d.ts +24 -0
- package/dist/esm/rendering/Drawable.d.ts.map +1 -1
- package/dist/esm/rendering/Drawable.js +54 -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/PassContext.d.ts +42 -0
- package/dist/esm/rendering/PassContext.d.ts.map +1 -0
- package/dist/esm/rendering/PassContext.js +48 -0
- package/dist/esm/rendering/PassContext.js.map +1 -0
- package/dist/esm/rendering/RenderBackend.d.ts +29 -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 +115 -22
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts.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 +132 -17
- package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.js +228 -28
- package/dist/esm/rendering/RenderingContext.js.map +1 -1
- package/dist/esm/rendering/TransformBuffer.d.ts +23 -0
- package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/TransformBuffer.js +60 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +85 -15
- package/dist/esm/rendering/View.d.ts.map +1 -1
- package/dist/esm/rendering/View.js +81 -27
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +10 -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/MeshMaterial.d.ts +20 -1
- package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -1
- package/dist/esm/rendering/material/MeshMaterial.js +17 -0
- package/dist/esm/rendering/material/MeshMaterial.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/material/SpriteMaterial.d.ts +20 -1
- package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -1
- package/dist/esm/rendering/material/SpriteMaterial.js +17 -0
- package/dist/esm/rendering/material/SpriteMaterial.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.map +1 -1
- package/dist/esm/rendering/pixelSnap.js +1 -0
- package/dist/esm/rendering/pixelSnap.js.map +1 -1
- 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 +8 -2
- package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +12 -39
- 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 +154 -50
- 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 +54 -17
- package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
- package/dist/esm/rendering/plan/RenderScope.d.ts +23 -10
- package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +16 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.js +46 -9
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/{index.d.ts → public.d.ts} +9 -39
- 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 +60 -12
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.js +142 -30
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/NineSliceSprite.js +10 -11
- package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/RepeatingSprite.js +1 -3
- package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.js +30 -3
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/nineSlice.js +12 -18
- package/dist/esm/rendering/sprite/nineSlice.js.map +1 -1
- package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/repeatingSpritePlan.js +2 -2
- package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -1
- 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 +6 -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 +3 -2
- 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 +9 -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.map +1 -1
- package/dist/esm/rendering/texture/TextureRegion.js.map +1 -1
- package/dist/esm/rendering/texture/repeat.d.ts.map +1 -1
- package/dist/esm/rendering/texture/repeat.js +2 -2
- package/dist/esm/rendering/texture/repeat.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +37 -2
- package/dist/esm/rendering/types.d.ts.map +1 -1
- package/dist/esm/rendering/types.js +37 -2
- 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/WebGl2BackdropBlendCompositor.d.ts +41 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js +222 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +55 -3
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +209 -61
- 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.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +2 -1
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +15 -11
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +7 -2
- 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 +60 -15
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts +72 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js +494 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +45 -2
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +247 -69
- 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 +5 -26
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +17 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +105 -25
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +8 -2
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +8 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +20 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +6 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +23 -10
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +10 -5
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +3 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +22 -9
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +16 -3
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +50 -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 +55 -2
- package/dist/esm/resources/Loader.d.ts.map +1 -1
- package/dist/esm/resources/Loader.js +159 -14
- 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/ScrollContainer.d.ts +63 -0
- package/dist/esm/ui/ScrollContainer.d.ts.map +1 -0
- package/dist/esm/ui/ScrollContainer.js +99 -0
- package/dist/esm/ui/ScrollContainer.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/Tooltip.d.ts +67 -0
- package/dist/esm/ui/Tooltip.d.ts.map +1 -0
- package/dist/esm/ui/Tooltip.js +133 -0
- package/dist/esm/ui/Tooltip.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 +17 -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 -40945
- package/dist/exo.esm.js.map +1 -1
- package/dist/exo.iife.js +45202 -0
- package/dist/exo.iife.js.map +1 -0
- package/dist/exo.iife.min.js +2 -0
- package/dist/exo.iife.min.js.map +1 -0
- package/package.json +37 -14
- 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 +0 -54
- package/dist/esm/audio/filters/WorkletFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/WorkletFilter.js +0 -110
- 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/Camera.d.ts +0 -34
- package/dist/esm/rendering/Camera.d.ts.map +0 -1
- package/dist/esm/rendering/Camera.js +0 -38
- package/dist/esm/rendering/Camera.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 -29
- 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
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binary codec helpers: base64 decoding and stream decompression.
|
|
3
|
+
*
|
|
4
|
+
* These are zero-dependency wrappers over platform primitives (`atob` and the
|
|
5
|
+
* native `DecompressionStream`), useful for save games, embedded binary blobs,
|
|
6
|
+
* network payloads, and inline-encoded asset data (e.g. base64/gzip tile-layer
|
|
7
|
+
* data in Tiled maps).
|
|
8
|
+
*
|
|
9
|
+
* Decompression is async because `DecompressionStream` is a streaming API.
|
|
10
|
+
* Only the formats the platform implements natively are supported — notably
|
|
11
|
+
* **not** `zstd`, which has no native browser decoder.
|
|
12
|
+
*/
|
|
13
|
+
/** Compression formats supported by the native `DecompressionStream`. */
|
|
14
|
+
export type DecompressFormat = 'gzip' | 'deflate' | 'deflate-raw';
|
|
15
|
+
/**
|
|
16
|
+
* Decode a standard base64 string into raw bytes. Whitespace (newlines, spaces)
|
|
17
|
+
* is ignored, so multi-line base64 blocks decode correctly.
|
|
18
|
+
*
|
|
19
|
+
* @throws If the input is not valid base64.
|
|
20
|
+
*/
|
|
21
|
+
declare function decodeBase64(input: string): Uint8Array;
|
|
22
|
+
/**
|
|
23
|
+
* Decompress a byte buffer using the native `DecompressionStream`.
|
|
24
|
+
*
|
|
25
|
+
* - `'gzip'` — gzip container (RFC 1952).
|
|
26
|
+
* - `'deflate'` — zlib container (RFC 1950), Tiled's `zlib` compression.
|
|
27
|
+
* - `'deflate-raw'` — raw DEFLATE with no header (RFC 1951).
|
|
28
|
+
*
|
|
29
|
+
* @throws If the platform lacks `DecompressionStream`, or the data is corrupt.
|
|
30
|
+
*/
|
|
31
|
+
declare function decompress(bytes: Uint8Array, format: DecompressFormat): Promise<Uint8Array>;
|
|
32
|
+
/**
|
|
33
|
+
* Binary codec facade, grouped as a namespace so the public API carries no
|
|
34
|
+
* loose codec functions.
|
|
35
|
+
*/
|
|
36
|
+
export declare const Codec: {
|
|
37
|
+
readonly decodeBase64: typeof decodeBase64;
|
|
38
|
+
readonly decompress: typeof decompress;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=Codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codec.d.ts","sourceRoot":"","sources":["../../../src/core/Codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAElE;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAS/C;AAED;;;;;;;;GAQG;AACH,iBAAe,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC1F;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK;;;CAGR,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binary codec helpers: base64 decoding and stream decompression.
|
|
3
|
+
*
|
|
4
|
+
* These are zero-dependency wrappers over platform primitives (`atob` and the
|
|
5
|
+
* native `DecompressionStream`), useful for save games, embedded binary blobs,
|
|
6
|
+
* network payloads, and inline-encoded asset data (e.g. base64/gzip tile-layer
|
|
7
|
+
* data in Tiled maps).
|
|
8
|
+
*
|
|
9
|
+
* Decompression is async because `DecompressionStream` is a streaming API.
|
|
10
|
+
* Only the formats the platform implements natively are supported — notably
|
|
11
|
+
* **not** `zstd`, which has no native browser decoder.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Decode a standard base64 string into raw bytes. Whitespace (newlines, spaces)
|
|
15
|
+
* is ignored, so multi-line base64 blocks decode correctly.
|
|
16
|
+
*
|
|
17
|
+
* @throws If the input is not valid base64.
|
|
18
|
+
*/
|
|
19
|
+
function decodeBase64(input) {
|
|
20
|
+
const clean = input.replaceAll(/\s+/g, '');
|
|
21
|
+
const binary = atob(clean);
|
|
22
|
+
const length = binary.length;
|
|
23
|
+
const bytes = new Uint8Array(length);
|
|
24
|
+
for (let i = 0; i < length; i++) {
|
|
25
|
+
bytes[i] = binary.charCodeAt(i);
|
|
26
|
+
}
|
|
27
|
+
return bytes;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Decompress a byte buffer using the native `DecompressionStream`.
|
|
31
|
+
*
|
|
32
|
+
* - `'gzip'` — gzip container (RFC 1952).
|
|
33
|
+
* - `'deflate'` — zlib container (RFC 1950), Tiled's `zlib` compression.
|
|
34
|
+
* - `'deflate-raw'` — raw DEFLATE with no header (RFC 1951).
|
|
35
|
+
*
|
|
36
|
+
* @throws If the platform lacks `DecompressionStream`, or the data is corrupt.
|
|
37
|
+
*/
|
|
38
|
+
async function decompress(bytes, format) {
|
|
39
|
+
if (typeof DecompressionStream === 'undefined') {
|
|
40
|
+
throw new Error('Codec.decompress requires the native DecompressionStream API.');
|
|
41
|
+
}
|
|
42
|
+
// Feed the input through the decompressor as a single chunk, then drain the
|
|
43
|
+
// output by reading the stream directly. Avoids Blob/Response so the helper
|
|
44
|
+
// works uniformly across browsers, Node, and jsdom test environments.
|
|
45
|
+
const source = new ReadableStream({
|
|
46
|
+
start(controller) {
|
|
47
|
+
controller.enqueue(bytes);
|
|
48
|
+
controller.close();
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
const reader = source.pipeThrough(new DecompressionStream(format)).getReader();
|
|
52
|
+
const chunks = [];
|
|
53
|
+
let total = 0;
|
|
54
|
+
for (;;) {
|
|
55
|
+
const { done, value } = await reader.read();
|
|
56
|
+
if (done)
|
|
57
|
+
break;
|
|
58
|
+
chunks.push(value);
|
|
59
|
+
total += value.length;
|
|
60
|
+
}
|
|
61
|
+
const out = new Uint8Array(total);
|
|
62
|
+
let offset = 0;
|
|
63
|
+
for (const chunk of chunks) {
|
|
64
|
+
out.set(chunk, offset);
|
|
65
|
+
offset += chunk.length;
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Binary codec facade, grouped as a namespace so the public API carries no
|
|
71
|
+
* loose codec functions.
|
|
72
|
+
*/
|
|
73
|
+
const Codec = {
|
|
74
|
+
decodeBase64,
|
|
75
|
+
decompress,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export { Codec };
|
|
79
|
+
//# sourceMappingURL=Codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codec.js","sources":["../../../../src/core/Codec.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;AAWG;AAKH;;;;;AAKG;AACH,SAAS,YAAY,CAAC,KAAa,EAAA;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;AAC1B,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC5B,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;AACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACjC;AACA,IAAA,OAAO,KAAK;AACd;AAEA;;;;;;;;AAQG;AACH,eAAe,UAAU,CAAC,KAAiB,EAAE,MAAwB,EAAA;AACnE,IAAA,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AAC9C,QAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;IAClF;;;;AAKA,IAAA,MAAM,MAAM,GAAG,IAAI,cAAc,CAAe;AAC9C,QAAA,KAAK,CAAC,UAAU,EAAA;AACd,YAAA,UAAU,CAAC,OAAO,CAAC,KAAqB,CAAC;YACzC,UAAU,CAAC,KAAK,EAAE;QACpB,CAAC;AACF,KAAA,CAAC;AACF,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;IAE9E,MAAM,MAAM,GAAiB,EAAE;IAC/B,IAAI,KAAK,GAAG,CAAC;AACb,IAAA,SAAS;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AAC3C,QAAA,IAAI,IAAI;YAAE;AACV,QAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAClB,QAAA,KAAK,IAAI,KAAK,CAAC,MAAM;IACvB;AAEA,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC;AACd,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,QAAA,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,MAAM;IACxB;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;;;AAGG;AACI,MAAM,KAAK,GAAG;IACnB,YAAY;IACZ,UAAU;;;;;"}
|
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":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,KAAM,YAAW,SAAS;IACrC,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAA6B;gBAExB,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAO7C,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,GAAG,EAAE,MAAM,EAGvB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,KAAK,EAAE,MAAM,EAGzB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,IAAI,EAAE,MAAM,EAGxB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,KAAK,EAAE,MAAM,EAGzB;IAED;;;;OAIG;IACI,GAAG,CAAC,CAAC,GAAE,MAAgB,EAAE,CAAC,GAAE,MAAgB,EAAE,CAAC,GAAE,MAAgB,EAAE,CAAC,GAAE,MAAgB,GAAG,IAAI;IAW7F,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIxB,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO;IAI3D;;;;;OAKG;IACI,OAAO,CAAC,UAAU,UAAQ,GAAG,YAAY;IAoBhD;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,UAAO,GAAG,MAAM;IAIxC;;;;;OAKG;IACI,MAAM,IAAI,MAAM;IAQhB,OAAO,IAAI,IAAI;IAMtB,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,YAAY,QAA+B;IAClE,gBAAuB,IAAI,QAA6B;IACxD,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,MAAM,QAA+B;IAC5D,gBAAuB,KAAK,QAAyB;IACrD,gBAAuB,cAAc,QAA+B;IACpE,gBAAuB,IAAI,QAA2B;IACtD,gBAAuB,UAAU,QAA8B;IAC/D,gBAAuB,KAAK,QAA6B;IACzD,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,UAAU,QAA6B;IAC9D,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,KAAK,QAA8B;IAC1D,gBAAuB,cAAc,QAA+B;IACpE,gBAAuB,QAAQ,QAA+B;IAC9D,gBAAuB,OAAO,QAA6B;IAC3D,gBAAuB,IAAI,QAA6B;IACxD,gBAAuB,QAAQ,QAA2B;IAC1D,gBAAuB,QAAQ,QAA6B;IAC5D,gBAAuB,aAAa,QAA8B;IAClE,gBAAuB,QAAQ,QAA+B;IAC9D,gBAAuB,SAAS,QAA2B;IAC3D,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,WAAW,QAA6B;IAC/D,gBAAuB,cAAc,QAA6B;IAClE,gBAAuB,UAAU,QAA6B;IAC9D,gBAAuB,UAAU,QAA8B;IAC/D,gBAAuB,OAAO,QAA2B;IACzD,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,YAAY,QAA+B;IAClE,gBAAuB,aAAa,QAA6B;IACjE,gBAAuB,aAAa,QAA4B;IAChE,gBAAuB,aAAa,QAA6B;IACjE,gBAAuB,UAAU,QAA6B;IAC9D,gBAAuB,QAAQ,QAA8B;IAC7D,gBAAuB,WAAW,QAA6B;IAC/D,gBAAuB,OAAO,QAA+B;IAC7D,gBAAuB,UAAU,QAA8B;IAC/D,gBAAuB,SAAS,QAA6B;IAC7D,gBAAuB,WAAW,QAA+B;IACjE,gBAAuB,WAAW,QAA6B;IAC/D,gBAAuB,OAAO,QAA6B;IAC3D,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,IAAI,QAA6B;IACxD,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,IAAI,QAA+B;IAC1D,gBAAuB,KAAK,QAA2B;IACvD,gBAAuB,WAAW,QAA8B;IAChE,gBAAuB,QAAQ,QAA+B;IAC9D,gBAAuB,OAAO,QAA+B;IAC7D,gBAAuB,SAAS,QAA6B;IAC7D,gBAAuB,MAAM,QAA4B;IACzD,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,QAAQ,QAA+B;IAC9D,gBAAuB,aAAa,QAA+B;IACnE,gBAAuB,SAAS,QAA6B;IAC7D,gBAAuB,YAAY,QAA+B;IAClE,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,oBAAoB,QAA+B;IAC1E,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,WAAW,QAA+B;IACjE,gBAAuB,aAAa,QAA8B;IAClE,gBAAuB,YAAY,QAA+B;IAClE,gBAAuB,cAAc,QAA+B;IACpE,gBAAuB,cAAc,QAA+B;IACpE,gBAAuB,WAAW,QAA+B;IACjE,gBAAuB,IAAI,QAA2B;IACtD,gBAAuB,SAAS,QAA6B;IAC7D,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,OAAO,QAA6B;IAC3D,gBAAuB,MAAM,QAA2B;IACxD,gBAAuB,gBAAgB,QAA+B;IACtE,gBAAuB,UAAU,QAA2B;IAC5D,gBAAuB,YAAY,QAA8B;IACjE,gBAAuB,YAAY,QAA+B;IAClE,gBAAuB,cAAc,QAA8B;IACnE,gBAAuB,eAAe,QAA+B;IACrE,gBAAuB,iBAAiB,QAA6B;IACrE,gBAAuB,eAAe,QAA8B;IACpE,gBAAuB,eAAe,QAA8B;IACpE,gBAAuB,YAAY,QAA6B;IAChE,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,QAAQ,QAA+B;IAC9D,gBAAuB,WAAW,QAA+B;IACjE,gBAAuB,IAAI,QAA2B;IACtD,gBAAuB,OAAO,QAA+B;IAC7D,gBAAuB,KAAK,QAA6B;IACzD,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,MAAM,QAA6B;IAC1D,gBAAuB,SAAS,QAA4B;IAC5D,gBAAuB,MAAM,QAA+B;IAC5D,gBAAuB,aAAa,QAA+B;IACnE,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,aAAa,QAA+B;IACnE,gBAAuB,aAAa,QAA+B;IACnE,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,IAAI,QAA8B;IACzD,gBAAuB,IAAI,QAA+B;IAC1D,gBAAuB,IAAI,QAA+B;IAC1D,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,MAAM,QAA6B;IAC1D,gBAAuB,GAAG,QAA2B;IACrD,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,WAAW,QAA6B;IAC/D,gBAAuB,MAAM,QAA+B;IAC5D,gBAAuB,UAAU,QAA8B;IAC/D,gBAAuB,QAAQ,QAA6B;IAC5D,gBAAuB,QAAQ,QAA+B;IAC9D,gBAAuB,MAAM,QAA6B;IAC1D,gBAAuB,MAAM,QAA+B;IAC5D,gBAAuB,OAAO,QAA+B;IAC7D,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,SAAS,QAA+B;IAC/D,gBAAuB,IAAI,QAA+B;IAC1D,gBAAuB,WAAW,QAA6B;IAC/D,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,GAAG,QAA+B;IACzD,gBAAuB,IAAI,QAA6B;IACxD,gBAAuB,OAAO,QAA+B;IAC7D,gBAAuB,MAAM,QAA6B;IAC1D,gBAAuB,gBAAgB,QAAyB;IAChE,gBAAuB,gBAAgB,QAA+B;IACtE,gBAAuB,SAAS,QAA8B;IAC9D,gBAAuB,MAAM,QAA+B;IAC5D,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,KAAK,QAA+B;IAC3D,gBAAuB,UAAU,QAA+B;IAChE,gBAAuB,MAAM,QAA6B;IAC1D,gBAAuB,WAAW,QAA8B;CACjE"}
|
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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.js","sources":["../../../../src/core/Color.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Color.js","sources":["../../../../src/core/Color.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Destroyable } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Ownership container for {@link Destroyable} resources. Items registered with
|
|
4
|
+
* {@link track} are destroyed in reverse registration order when the scope
|
|
5
|
+
* itself is destroyed — the spine of ExoJS's ownership-driven cleanup. A
|
|
6
|
+
* {@link Scene} owns one (exposed via `Scene.track`); an `Application` owns one
|
|
7
|
+
* for app-scoped services.
|
|
8
|
+
*
|
|
9
|
+
* `track` is idempotent and returns its argument for fluent capture:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const world = scope.track(new PhysicsWorld());
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* {@link destroy} is idempotent and tolerant: every tracked item's `destroy()`
|
|
16
|
+
* is attempted even if an earlier one throws, so a single failure cannot leak
|
|
17
|
+
* the rest. In development the collected errors are rethrown as an
|
|
18
|
+
* `AggregateError` once teardown completes; in production they are swallowed.
|
|
19
|
+
*
|
|
20
|
+
* A `DisposalScope` is itself {@link Destroyable}, so scopes can nest.
|
|
21
|
+
*/
|
|
22
|
+
export declare class DisposalScope implements Destroyable {
|
|
23
|
+
private readonly _items;
|
|
24
|
+
private readonly _order;
|
|
25
|
+
private _disposed;
|
|
26
|
+
/** Whether {@link destroy} has already run. A disposed scope tracks nothing further. */
|
|
27
|
+
get disposed(): boolean;
|
|
28
|
+
/** Number of items currently tracked. */
|
|
29
|
+
get size(): number;
|
|
30
|
+
/**
|
|
31
|
+
* Register `item` for destruction with this scope. No-op when `item` is
|
|
32
|
+
* already tracked or the scope is already disposed. Returns `item` so it can
|
|
33
|
+
* be captured inline: `const x = scope.track(new Thing())`.
|
|
34
|
+
*/
|
|
35
|
+
track<T extends Destroyable>(item: T): T;
|
|
36
|
+
/** Whether `item` is currently tracked. */
|
|
37
|
+
has(item: Destroyable): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Stop tracking `item` without destroying it (ownership returns to the
|
|
40
|
+
* caller). Returns `true` if it was tracked. No-op after the scope is disposed.
|
|
41
|
+
*/
|
|
42
|
+
untrack(item: Destroyable): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Destroy every tracked item in reverse registration order, then clear the
|
|
45
|
+
* scope. Idempotent. Continues past a throwing item; in development the
|
|
46
|
+
* collected errors are rethrown as an `AggregateError` after teardown.
|
|
47
|
+
*/
|
|
48
|
+
destroy(): void;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=DisposalScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisposalScope.d.ts","sourceRoot":"","sources":["../../../src/core/DisposalScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAc,YAAW,WAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,SAAS,CAAS;IAE1B,wFAAwF;IACxF,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,yCAAyC;IACzC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACI,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;IAS/C,2CAA2C;IACpC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAItC;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAc1C;;;;OAIG;IACI,OAAO,IAAI,IAAI;CAwBvB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ownership container for {@link Destroyable} resources. Items registered with
|
|
3
|
+
* {@link track} are destroyed in reverse registration order when the scope
|
|
4
|
+
* itself is destroyed — the spine of ExoJS's ownership-driven cleanup. A
|
|
5
|
+
* {@link Scene} owns one (exposed via `Scene.track`); an `Application` owns one
|
|
6
|
+
* for app-scoped services.
|
|
7
|
+
*
|
|
8
|
+
* `track` is idempotent and returns its argument for fluent capture:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* const world = scope.track(new PhysicsWorld());
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* {@link destroy} is idempotent and tolerant: every tracked item's `destroy()`
|
|
15
|
+
* is attempted even if an earlier one throws, so a single failure cannot leak
|
|
16
|
+
* the rest. In development the collected errors are rethrown as an
|
|
17
|
+
* `AggregateError` once teardown completes; in production they are swallowed.
|
|
18
|
+
*
|
|
19
|
+
* A `DisposalScope` is itself {@link Destroyable}, so scopes can nest.
|
|
20
|
+
*/
|
|
21
|
+
class DisposalScope {
|
|
22
|
+
_items = new Set();
|
|
23
|
+
_order = [];
|
|
24
|
+
_disposed = false;
|
|
25
|
+
/** Whether {@link destroy} has already run. A disposed scope tracks nothing further. */
|
|
26
|
+
get disposed() {
|
|
27
|
+
return this._disposed;
|
|
28
|
+
}
|
|
29
|
+
/** Number of items currently tracked. */
|
|
30
|
+
get size() {
|
|
31
|
+
return this._items.size;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Register `item` for destruction with this scope. No-op when `item` is
|
|
35
|
+
* already tracked or the scope is already disposed. Returns `item` so it can
|
|
36
|
+
* be captured inline: `const x = scope.track(new Thing())`.
|
|
37
|
+
*/
|
|
38
|
+
track(item) {
|
|
39
|
+
if (!this._disposed && !this._items.has(item)) {
|
|
40
|
+
this._items.add(item);
|
|
41
|
+
this._order.push(item);
|
|
42
|
+
}
|
|
43
|
+
return item;
|
|
44
|
+
}
|
|
45
|
+
/** Whether `item` is currently tracked. */
|
|
46
|
+
has(item) {
|
|
47
|
+
return this._items.has(item);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Stop tracking `item` without destroying it (ownership returns to the
|
|
51
|
+
* caller). Returns `true` if it was tracked. No-op after the scope is disposed.
|
|
52
|
+
*/
|
|
53
|
+
untrack(item) {
|
|
54
|
+
if (this._disposed || !this._items.delete(item)) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
const index = this._order.indexOf(item);
|
|
58
|
+
if (index !== -1) {
|
|
59
|
+
this._order.splice(index, 1);
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Destroy every tracked item in reverse registration order, then clear the
|
|
65
|
+
* scope. Idempotent. Continues past a throwing item; in development the
|
|
66
|
+
* collected errors are rethrown as an `AggregateError` after teardown.
|
|
67
|
+
*/
|
|
68
|
+
destroy() {
|
|
69
|
+
if (this._disposed) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this._disposed = true;
|
|
73
|
+
for (let index = this._order.length - 1; index >= 0; index--) {
|
|
74
|
+
try {
|
|
75
|
+
this._order[index].destroy();
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
this._items.clear();
|
|
81
|
+
this._order.length = 0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { DisposalScope };
|
|
86
|
+
//# sourceMappingURL=DisposalScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisposalScope.js","sources":["../../../../src/core/DisposalScope.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;AAmBG;MACU,aAAa,CAAA;AACP,IAAA,MAAM,GAAG,IAAI,GAAG,EAAe;IAC/B,MAAM,GAAkB,EAAE;IACnC,SAAS,GAAG,KAAK;;AAGzB,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;;AAGA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;IACzB;AAEA;;;;AAIG;AACI,IAAA,KAAK,CAAwB,IAAO,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;;AAGO,IAAA,GAAG,CAAC,IAAiB,EAAA;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B;AAEA;;;AAGG;AACI,IAAA,OAAO,CAAC,IAAiB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC/C,YAAA,OAAO,KAAK;QACd;QAEA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAEvC,QAAA,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9B;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;IACI,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAIrB,QAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAC5D,YAAA,IAAI;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,OAAO,EAAE;YAC/B;YAAE,OAAO,KAAK,EAAE;YAEhB;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;IAKxB;AACD;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed-timestep accumulator (Gaffer's "Fix Your Timestep"). Converts the
|
|
3
|
+
* variable per-frame delta into a whole number of fixed-size steps, carrying the
|
|
4
|
+
* sub-step remainder across frames as an interpolation {@link FixedTimestep.alpha}.
|
|
5
|
+
*
|
|
6
|
+
* Pure timing logic — no scene or signal coupling — so the loop can drive it and
|
|
7
|
+
* tests can exercise the step/alpha maths directly. The {@link maxSteps} cap is
|
|
8
|
+
* the spiral-of-death guard: when a frame is so long it would need more than
|
|
9
|
+
* `maxSteps` catch-up steps, the surplus whole-step backlog is dropped rather
|
|
10
|
+
* than accumulated (which would make the next frame even longer).
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare class FixedTimestep {
|
|
15
|
+
private readonly _stepMs;
|
|
16
|
+
private readonly _maxSteps;
|
|
17
|
+
private _accumulatorMs;
|
|
18
|
+
constructor(_stepMs: number, _maxSteps: number);
|
|
19
|
+
/** The fixed step size in milliseconds. */
|
|
20
|
+
get stepMs(): number;
|
|
21
|
+
/** Leftover fraction `[0, 1)` of a step — the render interpolation factor. */
|
|
22
|
+
get alpha(): number;
|
|
23
|
+
/** Add a frame's elapsed time and return how many fixed steps to run now (capped at `maxSteps`). */
|
|
24
|
+
advance(frameDeltaMs: number): number;
|
|
25
|
+
/** Clear the accumulator (e.g. on start/resume so a paused gap is not caught up). */
|
|
26
|
+
reset(): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=FixedTimestep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedTimestep.d.ts","sourceRoot":"","sources":["../../../src/core/FixedTimestep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,cAAc,CAAK;gBAGR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IAOpC,2CAA2C;IAC3C,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,8EAA8E;IAC9E,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,oGAAoG;IAC7F,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA2B5C,qFAAqF;IAC9E,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed-timestep accumulator (Gaffer's "Fix Your Timestep"). Converts the
|
|
3
|
+
* variable per-frame delta into a whole number of fixed-size steps, carrying the
|
|
4
|
+
* sub-step remainder across frames as an interpolation {@link FixedTimestep.alpha}.
|
|
5
|
+
*
|
|
6
|
+
* Pure timing logic — no scene or signal coupling — so the loop can drive it and
|
|
7
|
+
* tests can exercise the step/alpha maths directly. The {@link maxSteps} cap is
|
|
8
|
+
* the spiral-of-death guard: when a frame is so long it would need more than
|
|
9
|
+
* `maxSteps` catch-up steps, the surplus whole-step backlog is dropped rather
|
|
10
|
+
* than accumulated (which would make the next frame even longer).
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
class FixedTimestep {
|
|
15
|
+
_stepMs;
|
|
16
|
+
_maxSteps;
|
|
17
|
+
_accumulatorMs = 0;
|
|
18
|
+
constructor(_stepMs, _maxSteps) {
|
|
19
|
+
this._stepMs = _stepMs;
|
|
20
|
+
this._maxSteps = _maxSteps;
|
|
21
|
+
if (!(_stepMs > 0) || !Number.isFinite(_stepMs)) {
|
|
22
|
+
throw new RangeError(`FixedTimestep: step must be a positive finite number of ms, received ${_stepMs}.`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** The fixed step size in milliseconds. */
|
|
26
|
+
get stepMs() {
|
|
27
|
+
return this._stepMs;
|
|
28
|
+
}
|
|
29
|
+
/** Leftover fraction `[0, 1)` of a step — the render interpolation factor. */
|
|
30
|
+
get alpha() {
|
|
31
|
+
return this._accumulatorMs / this._stepMs;
|
|
32
|
+
}
|
|
33
|
+
/** Add a frame's elapsed time and return how many fixed steps to run now (capped at `maxSteps`). */
|
|
34
|
+
advance(frameDeltaMs) {
|
|
35
|
+
this._accumulatorMs += frameDeltaMs;
|
|
36
|
+
// Tolerance so an accumulator that lands a rounding-error below a whole
|
|
37
|
+
// multiple of the step (e.g. 3×step) still yields that many steps.
|
|
38
|
+
const epsilon = this._stepMs * 1e-9;
|
|
39
|
+
let steps = 0;
|
|
40
|
+
while (this._accumulatorMs >= this._stepMs - epsilon && steps < this._maxSteps) {
|
|
41
|
+
this._accumulatorMs -= this._stepMs;
|
|
42
|
+
steps++;
|
|
43
|
+
}
|
|
44
|
+
// Capped: drop the whole-step backlog, keep only the sub-step remainder so
|
|
45
|
+
// alpha stays in [0, 1) and the next frame does not replay the lost time.
|
|
46
|
+
if (this._accumulatorMs > this._stepMs) {
|
|
47
|
+
this._accumulatorMs %= this._stepMs;
|
|
48
|
+
}
|
|
49
|
+
// Clamp the tiny negative the epsilon subtraction can leave.
|
|
50
|
+
if (this._accumulatorMs < 0) {
|
|
51
|
+
this._accumulatorMs = 0;
|
|
52
|
+
}
|
|
53
|
+
return steps;
|
|
54
|
+
}
|
|
55
|
+
/** Clear the accumulator (e.g. on start/resume so a paused gap is not caught up). */
|
|
56
|
+
reset() {
|
|
57
|
+
this._accumulatorMs = 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { FixedTimestep };
|
|
62
|
+
//# sourceMappingURL=FixedTimestep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixedTimestep.js","sources":["../../../../src/core/FixedTimestep.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYG;MACU,aAAa,CAAA;AAIL,IAAA,OAAA;AACA,IAAA,SAAA;IAJX,cAAc,GAAG,CAAC;IAE1B,WAAA,CACmB,OAAe,EACf,SAAiB,EAAA;QADjB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,SAAS,GAAT,SAAS;AAE1B,QAAA,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC/C,YAAA,MAAM,IAAI,UAAU,CAAC,wEAAwE,OAAO,CAAA,CAAA,CAAG,CAAC;QAC1G;IACF;;AAGA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;;AAGA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;IAC3C;;AAGO,IAAA,OAAO,CAAC,YAAoB,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,IAAI,YAAY;;;AAInC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI;QACnC,IAAI,KAAK,GAAG,CAAC;AAEb,QAAA,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AAC9E,YAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO;AACnC,YAAA,KAAK,EAAE;QACT;;;QAIA,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE;AACtC,YAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO;QACrC;;AAGA,QAAA,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC;QACzB;AAEA,QAAA,OAAO,KAAK;IACd;;IAGO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC;IACzB;AACD;;;;"}
|
package/dist/esm/core/Perf.d.ts
CHANGED
|
@@ -1,24 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
export declare const perfMeasure: (name: string, startMark: string, endMark?: string) => PerformanceMeasure | undefined;
|
|
14
|
-
/**
|
|
15
|
-
* Remove all marks with the given name, or all marks when `name` is omitted.
|
|
16
|
-
* No-op when the User Timing API is unavailable.
|
|
17
|
-
*/
|
|
18
|
-
export declare const perfClearMarks: (name?: string) => void;
|
|
19
|
-
/**
|
|
20
|
-
* Remove all measures with the given name, or all measures when `name` is omitted.
|
|
21
|
-
* No-op when the User Timing API is unavailable.
|
|
22
|
-
*/
|
|
23
|
-
export declare const perfClearMeasures: (name?: string) => void;
|
|
2
|
+
* User Timing helpers (`performance.mark`/`measure`), grouped as a namespace so
|
|
3
|
+
* the public API carries no loose `perf*` functions. All methods are safe no-ops
|
|
4
|
+
* where the User Timing API is unavailable.
|
|
5
|
+
*/
|
|
6
|
+
export declare const Perf: {
|
|
7
|
+
readonly mark: (name: string) => void;
|
|
8
|
+
readonly measure: (name: string, startMark: string, endMark?: string) => PerformanceMeasure | undefined;
|
|
9
|
+
readonly clearMarks: (name?: string) => void;
|
|
10
|
+
readonly clearMeasures: (name?: string) => void;
|
|
11
|
+
};
|
|
24
12
|
//# sourceMappingURL=Perf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Perf.d.ts","sourceRoot":"","sources":["../../../src/core/Perf.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Perf.d.ts","sourceRoot":"","sources":["../../../src/core/Perf.ts"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH,eAAO,MAAM,IAAI;0BAzCG,MAAM,KAAG,IAAI;6BAWV,MAAM,aAAa,MAAM,YAAY,MAAM,KAAG,kBAAkB,GAAG,SAAS;iCAaxE,MAAM,KAAG,IAAI;oCAQV,MAAM,KAAG,IAAI;CAS8B,CAAC"}
|