@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Line.js","sources":["../../../../src/math/Line.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Line.js","sources":["../../../../src/math/Line.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix.d.ts","sourceRoot":"","sources":["../../../src/math/Matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAO,YAAW,SAAS;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,MAAM,CAA6B;gBAExB,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAczE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,GAAG,IAAI;IAcrH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc1B,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAE,OAAO,CAAC,MAAM,CAAM,GAAG,OAAO;IAc3E;;;;OAIG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBpC;;;;OAIG;IACI,UAAU,CAAC,MAAM,GAAE,MAAa,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"Matrix.d.ts","sourceRoot":"","sources":["../../../src/math/Matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAO,YAAW,SAAS;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,MAAM,CAA6B;gBAExB,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAczE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,GAAG,IAAI;IAcrH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc1B,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAE,OAAO,CAAC,MAAM,CAAM,GAAG,OAAO;IAc3E;;;;OAIG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBpC;;;;OAIG;IACI,UAAU,CAAC,MAAM,GAAE,MAAa,GAAG,MAAM;IA4BhD;;;OAGG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,MAAM;IAIlD;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,OAAO,GAAE,MAAgB,GAAG,MAAM;IAQ5E;;;OAGG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAe,EAAE,OAAO,SAAI,EAAE,OAAO,GAAE,MAAgB,GAAG,MAAM;IAIrG;;;;;;OAMG;IACI,OAAO,CAAC,SAAS,UAAQ,GAAG,YAAY;IA4BxC,OAAO,IAAI,IAAI;IAMtB,gBAAuB,QAAQ,SAAyC;IAExE,WAAkB,IAAI,IAAI,MAAM,CAM/B;CACF"}
|
package/dist/esm/math/Matrix.js
CHANGED
|
@@ -96,7 +96,12 @@ class Matrix {
|
|
|
96
96
|
if (determinant === 0) {
|
|
97
97
|
return result.copy(Matrix.identity);
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
// Inverse of the row-major affine `[[a,b,x],[c,d,y],[e,f,z]]` — the same
|
|
100
|
+
// convention `transform()`/`combine()` use — so it is the EXACT inverse of
|
|
101
|
+
// the forward map (translation stays in x/y, not e/f). The previous form
|
|
102
|
+
// inverted the transpose, which dropped the translation into e/f and forced
|
|
103
|
+
// hand-rolled inverses in SceneNode.contains / View.screenToWorld.
|
|
104
|
+
return result.set((this.d * this.z - this.y * this.f) / determinant, (this.x * this.f - this.b * this.z) / determinant, (this.b * this.y - this.x * this.d) / determinant, (this.y * this.e - this.c * this.z) / determinant, (this.a * this.z - this.x * this.e) / determinant, (this.x * this.c - this.a * this.y) / determinant, (this.c * this.f - this.d * this.e) / determinant, (this.b * this.e - this.a * this.f) / determinant, (this.a * this.d - this.b * this.c) / determinant);
|
|
100
105
|
}
|
|
101
106
|
/**
|
|
102
107
|
* Apply a translation of `(x, y)` to this matrix. Mutates in place and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix.js","sources":["../../../../src/math/Matrix.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Matrix.js","sources":["../../../../src/math/Matrix.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,36 @@
|
|
|
1
1
|
import { AbstractVector } from './AbstractVector';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Receiver of {@link ObservableVector} change notifications. The vector calls
|
|
4
|
+
* `_onObservableChange(channel)` whenever a component actually changes, passing
|
|
5
|
+
* the numeric `channel` it was constructed with so a single owner can tell
|
|
6
|
+
* several vectors apart (e.g. a node's position vs. scale vs. origin) without
|
|
7
|
+
* allocating a bound closure per vector.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface ObservableVectorOwner {
|
|
11
|
+
_onObservableChange(channel: number): void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* An {@link AbstractVector} subclass that notifies an owner whenever its
|
|
15
|
+
* components change. Used internally by {@link Rectangle}, `SceneNode`,
|
|
16
|
+
* {@link View} and other types to invalidate cached state (normals, transforms)
|
|
17
|
+
* on mutation.
|
|
18
|
+
*
|
|
19
|
+
* Instead of a per-instance callback closure, the vector holds a reference to
|
|
20
|
+
* its `owner` plus a numeric `channel` and calls `owner._onObservableChange(channel)`
|
|
21
|
+
* on change. This keeps hot per-node vectors closure-free — a `SceneNode`
|
|
22
|
+
* carries four of these, so dropping the bound closures saves four allocations
|
|
23
|
+
* per node. Pass `owner = null` for a plain, non-reactive vector.
|
|
6
24
|
*
|
|
7
|
-
* Setting individual components (`x`, `y`)
|
|
8
|
-
*
|
|
9
|
-
* callback per call.
|
|
25
|
+
* Setting individual components (`x`, `y`) notifies only when the value
|
|
26
|
+
* actually changes. Batch mutations via `set()` notify at most once per call.
|
|
10
27
|
*/
|
|
11
28
|
export declare class ObservableVector extends AbstractVector {
|
|
12
29
|
private _x;
|
|
13
30
|
private _y;
|
|
14
|
-
private
|
|
15
|
-
|
|
31
|
+
private _owner;
|
|
32
|
+
private readonly _channel;
|
|
33
|
+
constructor(owner: ObservableVectorOwner | null, channel?: number, x?: number, y?: number);
|
|
16
34
|
get x(): number;
|
|
17
35
|
set x(x: number);
|
|
18
36
|
get y(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservableVector.d.ts","sourceRoot":"","sources":["../../../src/math/ObservableVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"ObservableVector.d.ts","sourceRoot":"","sources":["../../../src/math/ObservableVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEf,KAAK,EAAE,qBAAqB,GAAG,IAAI,EAAE,OAAO,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IASjF,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAKrB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAKrB;IAED,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAItC;IAED,IAAoB,MAAM,CAAC,SAAS,EAAE,MAAM,EAI3C;IAEe,GAAG,CAAC,CAAC,GAAE,MAAgB,EAAE,CAAC,GAAE,MAAgB,GAAG,IAAI;IAUnD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,IAAI;IAInC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,IAAI;IAI5B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,GAAG,IAAI;IAQ/C,KAAK,IAAI,IAAI;IAIb,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAIlC,OAAO,IAAI,IAAI;CAKvB"}
|
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
import { AbstractVector } from './AbstractVector.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* components change. Used internally by {@link Rectangle}
|
|
6
|
-
* invalidate cached state (
|
|
4
|
+
* An {@link AbstractVector} subclass that notifies an owner whenever its
|
|
5
|
+
* components change. Used internally by {@link Rectangle}, `SceneNode`,
|
|
6
|
+
* {@link View} and other types to invalidate cached state (normals, transforms)
|
|
7
|
+
* on mutation.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Instead of a per-instance callback closure, the vector holds a reference to
|
|
10
|
+
* its `owner` plus a numeric `channel` and calls `owner._onObservableChange(channel)`
|
|
11
|
+
* on change. This keeps hot per-node vectors closure-free — a `SceneNode`
|
|
12
|
+
* carries four of these, so dropping the bound closures saves four allocations
|
|
13
|
+
* per node. Pass `owner = null` for a plain, non-reactive vector.
|
|
14
|
+
*
|
|
15
|
+
* Setting individual components (`x`, `y`) notifies only when the value
|
|
16
|
+
* actually changes. Batch mutations via `set()` notify at most once per call.
|
|
11
17
|
*/
|
|
12
18
|
class ObservableVector extends AbstractVector {
|
|
13
19
|
_x;
|
|
14
20
|
_y;
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
_owner;
|
|
22
|
+
_channel;
|
|
23
|
+
constructor(owner, channel = 0, x = 0, y = 0) {
|
|
17
24
|
super();
|
|
18
25
|
this._x = x;
|
|
19
26
|
this._y = y;
|
|
20
|
-
this.
|
|
27
|
+
this._owner = owner;
|
|
28
|
+
this._channel = channel;
|
|
21
29
|
}
|
|
22
30
|
get x() {
|
|
23
31
|
return this._x;
|
|
@@ -25,7 +33,7 @@ class ObservableVector extends AbstractVector {
|
|
|
25
33
|
set x(x) {
|
|
26
34
|
if (this._x !== x) {
|
|
27
35
|
this._x = x;
|
|
28
|
-
this.
|
|
36
|
+
this._owner?._onObservableChange(this._channel);
|
|
29
37
|
}
|
|
30
38
|
}
|
|
31
39
|
get y() {
|
|
@@ -34,7 +42,7 @@ class ObservableVector extends AbstractVector {
|
|
|
34
42
|
set y(y) {
|
|
35
43
|
if (this._y !== y) {
|
|
36
44
|
this._y = y;
|
|
37
|
-
this.
|
|
45
|
+
this._owner?._onObservableChange(this._channel);
|
|
38
46
|
}
|
|
39
47
|
}
|
|
40
48
|
set angle(angle) {
|
|
@@ -49,7 +57,7 @@ class ObservableVector extends AbstractVector {
|
|
|
49
57
|
if (this._x !== x || this._y !== y) {
|
|
50
58
|
this._x = x;
|
|
51
59
|
this._y = y;
|
|
52
|
-
this.
|
|
60
|
+
this._owner?._onObservableChange(this._channel);
|
|
53
61
|
}
|
|
54
62
|
return this;
|
|
55
63
|
}
|
|
@@ -69,15 +77,15 @@ class ObservableVector extends AbstractVector {
|
|
|
69
77
|
return this;
|
|
70
78
|
}
|
|
71
79
|
clone() {
|
|
72
|
-
return new ObservableVector(this.
|
|
80
|
+
return new ObservableVector(this._owner, this._channel, this._x, this._y);
|
|
73
81
|
}
|
|
74
82
|
copy(vector) {
|
|
75
83
|
return this.set(vector.x, vector.y);
|
|
76
84
|
}
|
|
77
85
|
destroy() {
|
|
78
|
-
//
|
|
79
|
-
// external scope after the owning object is destroyed.
|
|
80
|
-
this.
|
|
86
|
+
// Drop the owner reference to prevent leaks if this vector is retained by
|
|
87
|
+
// an external scope after the owning object is destroyed.
|
|
88
|
+
this._owner = null;
|
|
81
89
|
}
|
|
82
90
|
}
|
|
83
91
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservableVector.js","sources":["../../../../src/math/ObservableVector.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ObservableVector.js","sources":["../../../../src/math/ObservableVector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,11 @@ export declare class Polygon implements ShapeLike {
|
|
|
66
66
|
intersectsWith(target: Collidable): boolean;
|
|
67
67
|
collidesWith(target: Collidable): CollisionResponse | null;
|
|
68
68
|
destroy(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Shared scratch `Polygon` instance for intermediate calculations. Never
|
|
71
|
+
* retain the reference across frames or async boundaries.
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
69
74
|
static get temp(): Polygon;
|
|
70
75
|
}
|
|
71
76
|
//# sourceMappingURL=Polygon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polygon.d.ts","sourceRoot":"","sources":["../../../src/math/Polygon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;GASG;AACH,qBAAa,OAAQ,YAAW,SAAS;IACvC,SAAgB,aAAa,EAAE,aAAa,CAAyB;IAErE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,gFAAgF;IAChF,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,aAAa,CAAQ;gBAEV,MAAM,GAAE,MAAM,EAAO,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAKtD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAGnC;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAGrB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAGrB;IAED,IAAW,MAAM,IAAI,MAAM,EAAE,CAE5B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAEjC;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,MAAM,EAAE,CAE3B;IAEM,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO9C;;;;OAIG;IACI,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Polygon.d.ts","sourceRoot":"","sources":["../../../src/math/Polygon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;GASG;AACH,qBAAa,OAAQ,YAAW,SAAS;IACvC,SAAgB,aAAa,EAAE,aAAa,CAAyB;IAErE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,gFAAgF;IAChF,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,aAAa,CAAQ;gBAEV,MAAM,GAAE,MAAM,EAAO,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAKtD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAGnC;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAGrB;IAED,IAAW,CAAC,IAAI,MAAM,CAErB;IAED,IAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAGrB;IAED,IAAW,MAAM,IAAI,MAAM,EAAE,CAE5B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAEjC;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,MAAM,EAAE,CAE3B;IAEM,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO9C;;;;OAIG;IACI,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IA2CpC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAQjD,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ5B,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO;IAQxD,SAAS,IAAI,SAAS;IAgB7B;;;;;;;;;;OAUG;IACI,UAAU,IAAI,MAAM,EAAE;IAwBtB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,QAAyB,GAAG,QAAQ;IAuBlE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAIvC,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAqB3C,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,GAAG,IAAI;IAc1D,OAAO,IAAI,IAAI;IAsBtB;;;;OAIG;IACH,WAAkB,IAAI,IAAI,OAAO,CAMhC;CACF"}
|
package/dist/esm/math/Polygon.js
CHANGED
|
@@ -78,6 +78,7 @@ class Polygon {
|
|
|
78
78
|
const diff = len - newLen;
|
|
79
79
|
const sharedLength = Math.min(len, newLen);
|
|
80
80
|
for (let i = 0; i < sharedLength; i++) {
|
|
81
|
+
// i < sharedLength = min(len, newLen), so both arrays are in-bounds.
|
|
81
82
|
this._points[i].copy(newPoints[i]);
|
|
82
83
|
}
|
|
83
84
|
if (diff > 0) {
|
|
@@ -95,11 +96,13 @@ class Polygon {
|
|
|
95
96
|
}
|
|
96
97
|
else if (diff < 0) {
|
|
97
98
|
for (let i = len; i < newLen; i++) {
|
|
99
|
+
// i in [len, newLen-1], a valid index into newPoints.
|
|
98
100
|
this._points.push(newPoints[i].clone());
|
|
99
101
|
this._edges.push(newPoints[i].clone());
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
for (let i = 0; i < newLen; i++) {
|
|
105
|
+
// _points and _edges both have length newLen here; i and (i+1)%newLen are valid.
|
|
103
106
|
const curr = this._points[i];
|
|
104
107
|
const next = this._points[(i + 1) % newLen];
|
|
105
108
|
this._edges[i].set(next.x - curr.x, next.y - curr.y);
|
|
@@ -162,6 +165,7 @@ class Polygon {
|
|
|
162
165
|
this._cachedNormals.push(new Vector());
|
|
163
166
|
}
|
|
164
167
|
for (let i = 0; i < n; i++) {
|
|
168
|
+
// _cachedNormals was grown to >= n above; _edges has length n (= _points).
|
|
165
169
|
this._cachedNormals[i].copy(this._edges[i]).rperp().normalize();
|
|
166
170
|
}
|
|
167
171
|
this._normalsDirty = false;
|
|
@@ -169,9 +173,24 @@ class Polygon {
|
|
|
169
173
|
return this._cachedNormals;
|
|
170
174
|
}
|
|
171
175
|
project(axis, result = new Interval()) {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
176
|
+
// Normalize the axis into scalars (project() is public and may receive an
|
|
177
|
+
// unnormalized axis; SAT already passes unit normals, so this is a no-op there).
|
|
178
|
+
const length = Math.sqrt(axis.x * axis.x + axis.y * axis.y) || 1;
|
|
179
|
+
const nx = axis.x / length;
|
|
180
|
+
const ny = axis.y / length;
|
|
181
|
+
const points = this._points;
|
|
182
|
+
let min = Infinity;
|
|
183
|
+
let max = -Infinity;
|
|
184
|
+
for (let i = 0; i < points.length; i++) {
|
|
185
|
+
// i in [0, points.length-1].
|
|
186
|
+
const vertex = points[i];
|
|
187
|
+
const projection = nx * vertex.x + ny * vertex.y;
|
|
188
|
+
if (projection < min)
|
|
189
|
+
min = projection;
|
|
190
|
+
if (projection > max)
|
|
191
|
+
max = projection;
|
|
192
|
+
}
|
|
193
|
+
return result.set(min, max);
|
|
175
194
|
}
|
|
176
195
|
contains(x, y) {
|
|
177
196
|
return intersectionPointPoly(Vector.temp.set(x, y), this);
|
|
@@ -226,6 +245,11 @@ class Polygon {
|
|
|
226
245
|
this._points.length = 0;
|
|
227
246
|
this._edges.length = 0;
|
|
228
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Shared scratch `Polygon` instance for intermediate calculations. Never
|
|
250
|
+
* retain the reference across frames or async boundaries.
|
|
251
|
+
* @internal
|
|
252
|
+
*/
|
|
229
253
|
static get temp() {
|
|
230
254
|
if (temp === null) {
|
|
231
255
|
temp = new Polygon();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polygon.js","sources":["../../../../src/math/Polygon.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAqBA,IAAI,IAAI,GAAmB,IAAI;AAE/B;;;;;;;;;AASG;MACU,OAAO,CAAA;AACF,IAAA,aAAa,GAAkB,aAAa,CAAC,OAAO;AAEnD,IAAA,SAAS;IACT,OAAO,GAAa,EAAE;IACtB,MAAM,GAAa,EAAE;;IAE9B,cAAc,GAAoB,IAAI;IACtC,aAAa,GAAG,IAAI;IAE5B,WAAA,CAAmB,MAAA,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,IAAW,QAAQ,CAAC,QAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,CAAC,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;IAEA,IAAW,CAAC,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,CAAC,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;IAEA,IAAW,CAAC,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,MAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA;;;;AAIG;AACH,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEO,WAAW,CAAC,CAAS,EAAE,CAAS,EAAA;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACI,IAAA,SAAS,CAAC,SAAmB,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;AAC/B,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM;AAC/B,QAAA,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AAE1C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"Polygon.js","sources":["../../../../src/math/Polygon.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Seedable pseudo-random number generator
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Seedable pseudo-random number generator using the xoshiro128** algorithm.
|
|
3
|
+
*
|
|
4
|
+
* xoshiro128** (Blackman & Vigna, 2018) keeps a compact 128-bit state — four
|
|
5
|
+
* 32-bit words — and produces high-quality 32-bit outputs that clear the full
|
|
6
|
+
* BigCrush / PractRand test batteries. It replaces the previous Mersenne
|
|
7
|
+
* Twister: ~16 bytes of state instead of ~2.5 KB, faster, and entirely 32-bit
|
|
8
|
+
* (no 64-bit arithmetic), which suits JavaScript well.
|
|
5
9
|
*
|
|
6
10
|
* The generator is deterministic: calling `setSeed(s)` followed by the same
|
|
7
11
|
* sequence of `next()` calls always produces the same output. Use `reset()`
|
|
8
12
|
* to replay from the current seed without changing it.
|
|
9
13
|
*/
|
|
10
14
|
export declare class Random {
|
|
11
|
-
private _state;
|
|
12
|
-
private _iteration;
|
|
15
|
+
private readonly _state;
|
|
13
16
|
private _seed;
|
|
14
17
|
private _value;
|
|
15
18
|
constructor(seed?: number);
|
|
16
19
|
/** The seed value currently in use. */
|
|
17
20
|
get seed(): number;
|
|
18
|
-
/** The last
|
|
21
|
+
/** The last value produced by {@link next}, normalised to its requested range. */
|
|
19
22
|
get value(): number;
|
|
20
|
-
/** How many values have been drawn from the current state array before the next twist. */
|
|
21
|
-
get iteration(): number;
|
|
22
23
|
/**
|
|
23
24
|
* Set a new seed and reset the generator state. Returns `this` for
|
|
24
25
|
* chaining.
|
|
@@ -36,6 +37,5 @@ export declare class Random {
|
|
|
36
37
|
*/
|
|
37
38
|
next(min?: number, max?: number): number;
|
|
38
39
|
destroy(): void;
|
|
39
|
-
private _twist;
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=Random.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../src/math/Random.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../src/math/Random.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;GAYG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAK;gBAEA,IAAI,GAAE,MAAmB;IAI5C,uCAAuC;IACvC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,kFAAkF;IAClF,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOlC;;;;OAIG;IACI,KAAK,IAAI,IAAI;IAsBpB;;;OAGG;IACI,IAAI,CAAC,GAAG,SAAI,EAAE,GAAG,SAAI,GAAG,MAAM;IA8B9B,OAAO,IAAI,IAAI;CAGvB"}
|
package/dist/esm/math/Random.js
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
/** 32-bit left rotation. */
|
|
2
|
+
const rotl = (value, shift) => ((value << shift) | (value >>> (32 - shift))) >>> 0;
|
|
3
|
+
/** Reciprocal of 2^32, mapping a 32-bit unsigned integer to the half-open `[0, 1)` interval. */
|
|
4
|
+
const normalize = 1 / 2 ** 32;
|
|
2
5
|
/**
|
|
3
|
-
* Seedable pseudo-random number generator
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
+
* Seedable pseudo-random number generator using the xoshiro128** algorithm.
|
|
7
|
+
*
|
|
8
|
+
* xoshiro128** (Blackman & Vigna, 2018) keeps a compact 128-bit state — four
|
|
9
|
+
* 32-bit words — and produces high-quality 32-bit outputs that clear the full
|
|
10
|
+
* BigCrush / PractRand test batteries. It replaces the previous Mersenne
|
|
11
|
+
* Twister: ~16 bytes of state instead of ~2.5 KB, faster, and entirely 32-bit
|
|
12
|
+
* (no 64-bit arithmetic), which suits JavaScript well.
|
|
6
13
|
*
|
|
7
14
|
* The generator is deterministic: calling `setSeed(s)` followed by the same
|
|
8
15
|
* sequence of `next()` calls always produces the same output. Use `reset()`
|
|
9
16
|
* to replay from the current seed without changing it.
|
|
10
17
|
*/
|
|
11
18
|
class Random {
|
|
12
|
-
_state = new Uint32Array(
|
|
13
|
-
_iteration = 0;
|
|
19
|
+
_state = new Uint32Array(4);
|
|
14
20
|
_seed = 0;
|
|
15
21
|
_value = 0;
|
|
16
22
|
constructor(seed = Date.now()) {
|
|
17
23
|
this.setSeed(seed);
|
|
18
|
-
this._twist();
|
|
19
24
|
}
|
|
20
25
|
/** The seed value currently in use. */
|
|
21
26
|
get seed() {
|
|
22
27
|
return this._seed;
|
|
23
28
|
}
|
|
24
|
-
/** The last
|
|
29
|
+
/** The last value produced by {@link next}, normalised to its requested range. */
|
|
25
30
|
get value() {
|
|
26
31
|
return this._value;
|
|
27
32
|
}
|
|
28
|
-
/** How many values have been drawn from the current state array before the next twist. */
|
|
29
|
-
get iteration() {
|
|
30
|
-
return this._iteration;
|
|
31
|
-
}
|
|
32
33
|
/**
|
|
33
34
|
* Set a new seed and reset the generator state. Returns `this` for
|
|
34
35
|
* chaining.
|
|
@@ -44,13 +45,19 @@ class Random {
|
|
|
44
45
|
* Returns `this` for chaining.
|
|
45
46
|
*/
|
|
46
47
|
reset() {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
// Expand the 32-bit seed into the 128-bit state with SplitMix32 so even
|
|
49
|
+
// low-entropy seeds (e.g. 0 or 1) yield a well-distributed initial state.
|
|
50
|
+
let z = this._seed | 0;
|
|
51
|
+
for (let i = 0; i < 4; i++) {
|
|
52
|
+
z = (z + 0x9e3779b9) | 0;
|
|
53
|
+
let t = z ^ (z >>> 16);
|
|
54
|
+
t = Math.imul(t, 0x21f0aaad);
|
|
55
|
+
t ^= t >>> 15;
|
|
56
|
+
t = Math.imul(t, 0x735a2d97);
|
|
57
|
+
t ^= t >>> 15;
|
|
58
|
+
this._state[i] = t >>> 0;
|
|
52
59
|
}
|
|
53
|
-
this.
|
|
60
|
+
this._value = 0;
|
|
54
61
|
return this;
|
|
55
62
|
}
|
|
56
63
|
/**
|
|
@@ -58,39 +65,32 @@ class Random {
|
|
|
58
65
|
* half-open interval `[min, max)`. Defaults to `[0, 1)`.
|
|
59
66
|
*/
|
|
60
67
|
next(min = 0, max = 1) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
// _state is a fixed Uint32Array(4); indices 0..3 are always present. Read the
|
|
69
|
+
// four words into locals so the xoshiro128** advance avoids compound writes
|
|
70
|
+
// to a typed-array slot the compiler treats as possibly-undefined.
|
|
71
|
+
const state = this._state;
|
|
72
|
+
let s0 = state[0];
|
|
73
|
+
let s1 = state[1];
|
|
74
|
+
let s2 = state[2];
|
|
75
|
+
let s3 = state[3];
|
|
76
|
+
const result = Math.imul(rotl(Math.imul(s1, 5), 7), 9) >>> 0;
|
|
77
|
+
const t = s1 << 9;
|
|
78
|
+
s2 ^= s0;
|
|
79
|
+
s3 ^= s1;
|
|
80
|
+
s1 ^= s2;
|
|
81
|
+
s0 ^= s3;
|
|
82
|
+
s2 ^= t;
|
|
83
|
+
s3 = rotl(s3, 11);
|
|
84
|
+
state[0] = s0;
|
|
85
|
+
state[1] = s1;
|
|
86
|
+
state[2] = s2;
|
|
87
|
+
state[3] = s3;
|
|
88
|
+
this._value = result * normalize * (max - min) + min;
|
|
70
89
|
return this._value;
|
|
71
90
|
}
|
|
72
91
|
destroy() {
|
|
73
92
|
// no-op — pure value class, kept for Destroyable interface conformance
|
|
74
93
|
}
|
|
75
|
-
_twist() {
|
|
76
|
-
const state = this._state;
|
|
77
|
-
// first 624-397=227 words
|
|
78
|
-
for (let i = 0; i < 227; i++) {
|
|
79
|
-
const bits = (state[i] & 0x80000000) | (state[i + 1] & 0x7fffffff);
|
|
80
|
-
state[i] = state[i + 397] ^ (bits >>> 1) ^ ((bits & 1) * 0x9908b0df);
|
|
81
|
-
}
|
|
82
|
-
// remaining words (except the very last one)
|
|
83
|
-
for (let i = 227; i < 623; i++) {
|
|
84
|
-
const bits = (state[i] & 0x80000000) | (state[i + 1] & 0x7fffffff);
|
|
85
|
-
state[i] = state[i - 227] ^ (bits >>> 1) ^ ((bits & 1) * 0x9908b0df);
|
|
86
|
-
}
|
|
87
|
-
// last word is computed pretty much the same way, but i + 1 must wrap around to 0
|
|
88
|
-
const bits = (state[623] & 0x80000000) | (state[0] & 0x7fffffff);
|
|
89
|
-
state[623] = state[396] ^ (bits >>> 1) ^ ((bits & 1) * 0x9908b0df);
|
|
90
|
-
// word used for next random number
|
|
91
|
-
this._iteration = 0;
|
|
92
|
-
this._value = 0;
|
|
93
|
-
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
export { Random };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Random.js","sources":["../../../../src/math/Random.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"Random.js","sources":["../../../../src/math/Random.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { AbstractVector } from './AbstractVector';
|
|
1
2
|
import type { Collidable, CollisionResponse } from './Collision';
|
|
2
3
|
import { CollisionType } from './Collision';
|
|
3
4
|
import { Interval } from './Interval';
|
|
4
5
|
import type { Matrix } from './Matrix';
|
|
6
|
+
import { type ObservableVectorOwner } from './ObservableVector';
|
|
5
7
|
import type { ShapeLike } from './ShapeLike';
|
|
6
8
|
import { Size } from './Size';
|
|
7
|
-
import
|
|
9
|
+
import { Vector } from './Vector';
|
|
8
10
|
/**
|
|
9
11
|
* Mutable axis-aligned rectangle defined by a top-left origin `(x, y)` and
|
|
10
12
|
* dimensions `(width, height)`. Implements {@link ShapeLike} with full SAT
|
|
@@ -14,15 +16,20 @@ import type { Vector } from './Vector';
|
|
|
14
16
|
* `Rectangle.temp` is a shared scratch instance. Edge normals are lazily
|
|
15
17
|
* computed and cached; they are invalidated when position or size mutates.
|
|
16
18
|
*/
|
|
17
|
-
export declare class Rectangle implements ShapeLike {
|
|
19
|
+
export declare class Rectangle implements ShapeLike, ObservableVectorOwner {
|
|
18
20
|
readonly collisionType: CollisionType;
|
|
19
21
|
private readonly _position;
|
|
20
22
|
private readonly _size;
|
|
21
23
|
private _normals;
|
|
22
24
|
private _normalsDirty;
|
|
23
25
|
constructor(x?: number, y?: number, width?: number, height?: number);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Receives change notifications from `_position`; marks the cached edge
|
|
28
|
+
* normals stale so the next {@link getNormals} recomputes them. @internal
|
|
29
|
+
*/
|
|
30
|
+
_onObservableChange(): void;
|
|
31
|
+
get position(): AbstractVector;
|
|
32
|
+
set position(position: AbstractVector);
|
|
26
33
|
get x(): number;
|
|
27
34
|
set x(x: number);
|
|
28
35
|
get y(): number;
|