@codexo/exojs 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +258 -6
- package/README.md +80 -63
- package/dist/esm/animation/Tween.js +1 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +9 -5
- package/dist/esm/animation/TweenManager.d.ts.map +1 -1
- package/dist/esm/animation/TweenManager.js +14 -8
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/index.d.ts +6 -4
- package/dist/esm/animation/index.d.ts.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +12 -12
- package/dist/esm/audio/AudioBus.js +29 -29
- package/dist/esm/audio/AudioEffect.d.ts +18 -0
- package/dist/esm/audio/AudioEffect.d.ts.map +1 -0
- package/dist/esm/audio/AudioEffect.js +16 -0
- package/dist/esm/audio/AudioEffect.js.map +1 -0
- package/dist/esm/audio/AudioGenerator.d.ts +91 -0
- package/dist/esm/audio/AudioGenerator.d.ts.map +1 -0
- package/dist/esm/audio/AudioGenerator.js +165 -0
- package/dist/esm/audio/AudioGenerator.js.map +1 -0
- package/dist/esm/audio/AudioGeneratorVoice.d.ts +52 -0
- package/dist/esm/audio/AudioGeneratorVoice.d.ts.map +1 -0
- package/dist/esm/audio/AudioGeneratorVoice.js +141 -0
- package/dist/esm/audio/AudioGeneratorVoice.js.map +1 -0
- package/dist/esm/audio/AudioInput.d.ts +39 -0
- package/dist/esm/audio/AudioInput.d.ts.map +1 -0
- package/dist/esm/audio/AudioInput.js +53 -0
- package/dist/esm/audio/AudioInput.js.map +1 -0
- package/dist/esm/audio/AudioManager.d.ts +72 -34
- package/dist/esm/audio/AudioManager.d.ts.map +1 -1
- package/dist/esm/audio/AudioManager.js +97 -51
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/AudioStream.d.ts +49 -0
- package/dist/esm/audio/AudioStream.d.ts.map +1 -0
- package/dist/esm/audio/AudioStream.js +109 -0
- package/dist/esm/audio/AudioStream.js.map +1 -0
- package/dist/esm/audio/AudioStreamVoice.d.ts +61 -0
- package/dist/esm/audio/AudioStreamVoice.d.ts.map +1 -0
- package/dist/esm/audio/AudioStreamVoice.js +137 -0
- package/dist/esm/audio/AudioStreamVoice.js.map +1 -0
- package/dist/esm/audio/BaseVoice.d.ts +111 -0
- package/dist/esm/audio/BaseVoice.d.ts.map +1 -0
- package/dist/esm/audio/BaseVoice.js +298 -0
- package/dist/esm/audio/BaseVoice.js.map +1 -0
- package/dist/esm/audio/BiquadEffect.d.ts +53 -0
- package/dist/esm/audio/BiquadEffect.d.ts.map +1 -0
- package/dist/esm/audio/BiquadEffect.js +110 -0
- package/dist/esm/audio/BiquadEffect.js.map +1 -0
- package/dist/esm/audio/InputVoice.d.ts +41 -0
- package/dist/esm/audio/InputVoice.d.ts.map +1 -0
- package/dist/esm/audio/InputVoice.js +85 -0
- package/dist/esm/audio/InputVoice.js.map +1 -0
- package/dist/esm/audio/NoopVoice.d.ts +29 -0
- package/dist/esm/audio/NoopVoice.d.ts.map +1 -0
- package/dist/esm/audio/NoopVoice.js +52 -0
- package/dist/esm/audio/NoopVoice.js.map +1 -0
- package/dist/esm/audio/Playable.d.ts +135 -0
- package/dist/esm/audio/Playable.d.ts.map +1 -0
- package/dist/esm/audio/Sound.d.ts +64 -69
- package/dist/esm/audio/Sound.d.ts.map +1 -1
- package/dist/esm/audio/Sound.js +176 -377
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/SoundVoice.d.ts +63 -0
- package/dist/esm/audio/SoundVoice.d.ts.map +1 -0
- package/dist/esm/audio/SoundVoice.js +168 -0
- package/dist/esm/audio/SoundVoice.js.map +1 -0
- package/dist/esm/audio/{filters/WorkletFilter.d.ts → WorkletEffect.d.ts} +3 -3
- package/dist/esm/audio/WorkletEffect.d.ts.map +1 -0
- package/dist/esm/audio/{filters/WorkletFilter.js → WorkletEffect.js} +6 -6
- package/dist/esm/audio/WorkletEffect.js.map +1 -0
- package/dist/esm/audio/audio-context.js +1 -1
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/crossFade.d.ts +22 -13
- package/dist/esm/audio/crossFade.d.ts.map +1 -1
- package/dist/esm/audio/crossFade.js +21 -13
- package/dist/esm/audio/crossFade.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -2
- package/dist/esm/audio/filters/HighpassFilter.js +2 -2
- package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -2
- package/dist/esm/audio/filters/LowpassFilter.js +2 -2
- package/dist/esm/audio/filters/index.d.ts +0 -10
- package/dist/esm/audio/filters/index.d.ts.map +1 -1
- package/dist/esm/audio/index.d.ts +13 -15
- package/dist/esm/audio/index.d.ts.map +1 -1
- package/dist/esm/core/Application.d.ts +127 -10
- package/dist/esm/core/Application.d.ts.map +1 -1
- package/dist/esm/core/Application.js +226 -25
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/BuildInfo.js +2 -2
- package/dist/esm/core/Color.d.ts +6 -4
- package/dist/esm/core/Color.d.ts.map +1 -1
- package/dist/esm/core/Color.js +19 -15
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/DisposalScope.d.ts +50 -0
- package/dist/esm/core/DisposalScope.d.ts.map +1 -0
- package/dist/esm/core/DisposalScope.js +86 -0
- package/dist/esm/core/DisposalScope.js.map +1 -0
- package/dist/esm/core/Perf.d.ts +10 -22
- package/dist/esm/core/Perf.d.ts.map +1 -1
- package/dist/esm/core/Perf.js +15 -8
- package/dist/esm/core/Perf.js.map +1 -1
- package/dist/esm/core/Registry.d.ts +64 -0
- package/dist/esm/core/Registry.d.ts.map +1 -0
- package/dist/esm/core/Registry.js +79 -0
- package/dist/esm/core/Registry.js.map +1 -0
- package/dist/esm/core/Scene.d.ts +69 -21
- package/dist/esm/core/Scene.d.ts.map +1 -1
- package/dist/esm/core/Scene.js +109 -16
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +22 -60
- package/dist/esm/core/SceneManager.d.ts.map +1 -1
- package/dist/esm/core/SceneManager.js +68 -153
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +43 -2
- package/dist/esm/core/SceneNode.d.ts.map +1 -1
- package/dist/esm/core/SceneNode.js +101 -12
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Stage.d.ts +42 -0
- package/dist/esm/core/Stage.d.ts.map +1 -0
- package/dist/esm/core/System.d.ts +22 -0
- package/dist/esm/core/System.d.ts.map +1 -0
- package/dist/esm/core/SystemRegistry.d.ts +35 -0
- package/dist/esm/core/SystemRegistry.d.ts.map +1 -0
- package/dist/esm/core/SystemRegistry.js +104 -0
- package/dist/esm/core/SystemRegistry.js.map +1 -0
- package/dist/esm/core/Time.d.ts +15 -0
- package/dist/esm/core/Time.d.ts.map +1 -1
- package/dist/esm/core/Time.js +25 -0
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/dev.d.ts +9 -4
- package/dist/esm/core/dev.d.ts.map +1 -1
- package/dist/esm/core/dev.js +5 -0
- package/dist/esm/core/dev.js.map +1 -1
- package/dist/esm/core/index.d.ts +26 -15
- package/dist/esm/core/index.d.ts.map +1 -1
- package/dist/esm/core/letterbox.d.ts +25 -0
- package/dist/esm/core/letterbox.d.ts.map +1 -0
- package/dist/esm/core/letterbox.js +26 -0
- package/dist/esm/core/letterbox.js.map +1 -0
- package/dist/esm/core/serialization/NodeSerializer.d.ts +71 -0
- package/dist/esm/core/serialization/NodeSerializer.d.ts.map +1 -0
- package/dist/esm/core/serialization/Prefab.d.ts +49 -0
- package/dist/esm/core/serialization/Prefab.d.ts.map +1 -0
- package/dist/esm/core/serialization/Prefab.js +61 -0
- package/dist/esm/core/serialization/Prefab.js.map +1 -0
- package/dist/esm/core/serialization/SerializationRegistry.d.ts +95 -0
- package/dist/esm/core/serialization/SerializationRegistry.d.ts.map +1 -0
- package/dist/esm/core/serialization/SerializationRegistry.js +108 -0
- package/dist/esm/core/serialization/SerializationRegistry.js.map +1 -0
- package/dist/esm/core/serialization/commonFields.d.ts +20 -0
- package/dist/esm/core/serialization/commonFields.d.ts.map +1 -0
- package/dist/esm/core/serialization/commonFields.js +149 -0
- package/dist/esm/core/serialization/commonFields.js.map +1 -0
- package/dist/esm/core/serialization/coreSerializers.d.ts +9 -0
- package/dist/esm/core/serialization/coreSerializers.d.ts.map +1 -0
- package/dist/esm/core/serialization/coreSerializers.js +101 -0
- package/dist/esm/core/serialization/coreSerializers.js.map +1 -0
- package/dist/esm/core/serialization/index.d.ts +6 -0
- package/dist/esm/core/serialization/index.d.ts.map +1 -0
- package/dist/esm/core/serialization/read.d.ts +65 -0
- package/dist/esm/core/serialization/read.d.ts.map +1 -0
- package/dist/esm/core/serialization/read.js +48 -0
- package/dist/esm/core/serialization/read.js.map +1 -0
- package/dist/esm/core/serialization/renderingSerializers.d.ts +7 -0
- package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -0
- package/dist/esm/core/serialization/renderingSerializers.js +311 -0
- package/dist/esm/core/serialization/renderingSerializers.js.map +1 -0
- package/dist/esm/core/serialization/serialize.d.ts +56 -0
- package/dist/esm/core/serialization/serialize.d.ts.map +1 -0
- package/dist/esm/core/serialization/serialize.js +144 -0
- package/dist/esm/core/serialization/serialize.js.map +1 -0
- package/dist/esm/core/serialization/serializerHelpers.d.ts +46 -0
- package/dist/esm/core/serialization/serializerHelpers.d.ts.map +1 -0
- package/dist/esm/core/serialization/serializerHelpers.js +161 -0
- package/dist/esm/core/serialization/serializerHelpers.js.map +1 -0
- package/dist/esm/core/serialization/types.d.ts +49 -0
- package/dist/esm/core/serialization/types.d.ts.map +1 -0
- package/dist/esm/core/serialization/types.js +9 -0
- package/dist/esm/core/serialization/types.js.map +1 -0
- package/dist/esm/core/serialization/uiSerializers.d.ts +7 -0
- package/dist/esm/core/serialization/uiSerializers.d.ts.map +1 -0
- package/dist/esm/core/serialization/uiSerializers.js +206 -0
- package/dist/esm/core/serialization/uiSerializers.js.map +1 -0
- package/dist/esm/core/types.d.ts +1 -1
- package/dist/esm/core/types.d.ts.map +1 -1
- package/dist/esm/core/utils.d.ts +1 -16
- package/dist/esm/core/utils.d.ts.map +1 -1
- package/dist/esm/core/utils.js +2 -100
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.js +8 -9
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -1
- package/dist/esm/debug/PointerStackLayer.js +9 -6
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.js +19 -12
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/extensions/Extension.d.ts +78 -11
- package/dist/esm/extensions/Extension.d.ts.map +1 -1
- package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -1
- package/dist/esm/extensions/ExtensionRegistry.js.map +1 -1
- package/dist/esm/extensions/materialize.d.ts +9 -1
- package/dist/esm/extensions/materialize.d.ts.map +1 -1
- package/dist/esm/extensions/materialize.js +17 -2
- package/dist/esm/extensions/materialize.js.map +1 -1
- package/dist/esm/extensions/snapshot.d.ts +14 -3
- package/dist/esm/extensions/snapshot.d.ts.map +1 -1
- package/dist/esm/extensions/snapshot.js +51 -14
- package/dist/esm/extensions/snapshot.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +37 -54
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/FocusManager.d.ts +59 -0
- package/dist/esm/input/FocusManager.d.ts.map +1 -0
- package/dist/esm/input/FocusManager.js +175 -0
- package/dist/esm/input/FocusManager.js.map +1 -0
- package/dist/esm/input/Gamepad.d.ts.map +1 -1
- package/dist/esm/input/Gamepad.js +8 -4
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadAxis.js +2 -2
- package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -1
- package/dist/esm/input/GamepadDefinitions.js +6 -2
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +1 -2
- package/dist/esm/input/GestureRecognizer.d.ts.map +1 -1
- package/dist/esm/input/GestureRecognizer.js +1 -3
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/InputBinding.js +3 -3
- package/dist/esm/input/InputBinding.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +7 -2
- package/dist/esm/input/InputManager.d.ts.map +1 -1
- package/dist/esm/input/InputManager.js +35 -21
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +67 -2
- package/dist/esm/input/InteractionManager.d.ts.map +1 -1
- package/dist/esm/input/InteractionManager.js +165 -41
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/KeyEvent.d.ts +25 -0
- package/dist/esm/input/KeyEvent.d.ts.map +1 -0
- package/dist/esm/input/KeyEvent.js +32 -0
- package/dist/esm/input/KeyEvent.js.map +1 -0
- package/dist/esm/input/Pointer.d.ts +21 -4
- package/dist/esm/input/Pointer.d.ts.map +1 -1
- package/dist/esm/input/Pointer.js +54 -15
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/index.d.ts +3 -1
- package/dist/esm/input/index.d.ts.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts.map +1 -1
- package/dist/esm/math/AbstractVector.js +7 -2
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts.map +1 -1
- package/dist/esm/math/Circle.js +5 -1
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/Line.d.ts +1 -1
- package/dist/esm/math/Line.d.ts.map +1 -1
- package/dist/esm/math/Line.js +1 -1
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/Matrix.d.ts.map +1 -1
- package/dist/esm/math/Matrix.js +6 -1
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +26 -8
- package/dist/esm/math/ObservableVector.d.ts.map +1 -1
- package/dist/esm/math/ObservableVector.js +24 -16
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +5 -0
- package/dist/esm/math/Polygon.d.ts.map +1 -1
- package/dist/esm/math/Polygon.js +27 -3
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/Random.d.ts +9 -9
- package/dist/esm/math/Random.d.ts.map +1 -1
- package/dist/esm/math/Random.js +46 -46
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +11 -4
- package/dist/esm/math/Rectangle.d.ts.map +1 -1
- package/dist/esm/math/Rectangle.js +12 -6
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +1 -1
- package/dist/esm/math/Vector.d.ts.map +1 -1
- package/dist/esm/math/Vector.js +1 -1
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +42 -0
- package/dist/esm/math/collision-detection.d.ts.map +1 -1
- package/dist/esm/math/collision-detection.js +54 -4
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts.map +1 -1
- package/dist/esm/math/collision-primitives.js +4 -0
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +26 -0
- package/dist/esm/math/geometry.d.ts.map +1 -1
- package/dist/esm/math/geometry.js +89 -2
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/index.d.ts +7 -5
- package/dist/esm/math/index.d.ts.map +1 -1
- package/dist/esm/math/swept-collision.d.ts +13 -0
- package/dist/esm/math/swept-collision.d.ts.map +1 -1
- package/dist/esm/math/swept-collision.js +15 -1
- package/dist/esm/math/swept-collision.js.map +1 -1
- package/dist/esm/math/triangulate.d.ts.map +1 -1
- package/dist/esm/math/triangulate.js +9 -1
- package/dist/esm/math/triangulate.js.map +1 -1
- package/dist/esm/math/utils.d.ts +20 -0
- package/dist/esm/math/utils.d.ts.map +1 -1
- package/dist/esm/math/utils.js +18 -15
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/renderer-sdk.d.ts +2 -0
- package/dist/esm/renderer-sdk.d.ts.map +1 -1
- package/dist/esm/{rendering.js → renderer-sdk.js} +1 -1
- package/dist/esm/renderer-sdk.js.map +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js +1 -1
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +3 -0
- package/dist/esm/rendering/Container.d.ts.map +1 -1
- package/dist/esm/rendering/Container.js +28 -5
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.d.ts +47 -0
- package/dist/esm/rendering/Drawable.d.ts.map +1 -1
- package/dist/esm/rendering/Drawable.js +88 -0
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/GpuResourceAccountant.d.ts +65 -0
- package/dist/esm/rendering/GpuResourceAccountant.d.ts.map +1 -0
- package/dist/esm/rendering/GpuResourceAccountant.js +130 -0
- package/dist/esm/rendering/GpuResourceAccountant.js.map +1 -0
- package/dist/esm/rendering/RenderBackend.d.ts +15 -1
- package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
- package/dist/esm/rendering/RenderBatch.d.ts +55 -0
- package/dist/esm/rendering/RenderBatch.d.ts.map +1 -0
- package/dist/esm/rendering/RenderBatch.js +107 -0
- package/dist/esm/rendering/RenderBatch.js.map +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +50 -10
- package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
- package/dist/esm/rendering/RenderNode.js +113 -20
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderNodePass.js +2 -2
- package/dist/esm/rendering/RenderNodePass.js.map +1 -1
- package/dist/esm/rendering/RenderStats.d.ts +39 -0
- package/dist/esm/rendering/RenderStats.d.ts.map +1 -1
- package/dist/esm/rendering/RenderStats.js +14 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -1
- package/dist/esm/rendering/RendererRegistry.js +20 -23
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/RenderingContext.d.ts +88 -4
- package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.js +107 -5
- package/dist/esm/rendering/RenderingContext.js.map +1 -1
- package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/TransformBuffer.js +2 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +47 -15
- package/dist/esm/rendering/View.d.ts.map +1 -1
- package/dist/esm/rendering/View.js +44 -27
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -1
- package/dist/esm/rendering/coreRendererBindings.js +22 -0
- package/dist/esm/rendering/coreRendererBindings.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -1
- package/dist/esm/rendering/geometry/Geometry.js +4 -2
- package/dist/esm/rendering/geometry/Geometry.js.map +1 -1
- package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -1
- package/dist/esm/rendering/gradient/Gradient.js +7 -2
- package/dist/esm/rendering/gradient/Gradient.js.map +1 -1
- package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -1
- package/dist/esm/rendering/material/MaterialKey.js +2 -0
- package/dist/esm/rendering/material/MaterialKey.js.map +1 -1
- package/dist/esm/rendering/material/ShaderSource.js +6 -0
- package/dist/esm/rendering/material/ShaderSource.js.map +1 -1
- package/dist/esm/rendering/mesh/ImmediateMesh.d.ts +48 -0
- package/dist/esm/rendering/mesh/ImmediateMesh.d.ts.map +1 -0
- package/dist/esm/rendering/mesh/ImmediateMesh.js +85 -0
- package/dist/esm/rendering/mesh/ImmediateMesh.js.map +1 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +29 -6
- package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -1
- package/dist/esm/rendering/mesh/Mesh.js +40 -13
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/pixelSnap.d.ts +219 -0
- package/dist/esm/rendering/pixelSnap.d.ts.map +1 -0
- package/dist/esm/rendering/pixelSnap.js +187 -0
- package/dist/esm/rendering/pixelSnap.js.map +1 -0
- package/dist/esm/rendering/plan/RenderCommand.d.ts +31 -9
- package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderCommand.js +23 -21
- package/dist/esm/rendering/plan/RenderCommand.js.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.js +1 -0
- package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +7 -37
- package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +17 -2
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.js +132 -46
- package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanOptimizer.js +31 -4
- package/dist/esm/rendering/plan/RenderPlanOptimizer.js.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanPlayer.js +70 -13
- package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
- package/dist/esm/rendering/plan/RenderScope.d.ts +16 -10
- package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +6 -0
- package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.js +17 -1
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/{index.d.ts → public.d.ts} +13 -30
- package/dist/esm/rendering/public.d.ts.map +1 -0
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.js +2 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +11 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.js +24 -2
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/NineSliceSprite.d.ts +69 -0
- package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/NineSliceSprite.js +206 -0
- package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.d.ts +120 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.js +277 -0
- package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts +13 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.js +53 -3
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/nineSlice.d.ts +53 -0
- package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/nineSlice.js +334 -0
- package/dist/esm/rendering/sprite/nineSlice.js.map +1 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts +57 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.js +156 -0
- package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -0
- package/dist/esm/rendering/text/BitmapText.d.ts +2 -0
- package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
- package/dist/esm/rendering/text/BitmapText.js +4 -0
- package/dist/esm/rendering/text/BitmapText.js.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlas.js +2 -1
- package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +8 -1
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlasPool.js +9 -12
- package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -1
- package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -1
- package/dist/esm/rendering/text/GlyphSdf.js +5 -1
- package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
- package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
- package/dist/esm/rendering/text/HTMLText.js +1 -0
- package/dist/esm/rendering/text/HTMLText.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts +17 -6
- package/dist/esm/rendering/text/Text.d.ts.map +1 -1
- package/dist/esm/rendering/text/Text.js +7 -12
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
- package/dist/esm/rendering/text/TextLayout.js +4 -18
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/texture/DataTexture.js +2 -2
- package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +6 -0
- package/dist/esm/rendering/texture/Texture.d.ts.map +1 -1
- package/dist/esm/rendering/texture/Texture.js +8 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/texture/TextureRegion.d.ts +100 -0
- package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -0
- package/dist/esm/rendering/texture/TextureRegion.js +144 -0
- package/dist/esm/rendering/texture/TextureRegion.js.map +1 -0
- package/dist/esm/rendering/texture/repeat.d.ts +96 -0
- package/dist/esm/rendering/texture/repeat.d.ts.map +1 -0
- package/dist/esm/rendering/texture/repeat.js +158 -0
- package/dist/esm/rendering/texture/repeat.js.map +1 -0
- package/dist/esm/rendering/types.d.ts +11 -0
- package/dist/esm/rendering/types.d.ts.map +1 -1
- package/dist/esm/rendering/types.js +11 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +7 -3
- package/dist/esm/rendering/video/Video.d.ts.map +1 -1
- package/dist/esm/rendering/video/Video.js +7 -3
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +2 -2
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +41 -2
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +137 -8
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +2 -2
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +17 -0
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +122 -38
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts +32 -0
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +309 -0
- package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +16 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +32 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts +49 -0
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +539 -0
- package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +14 -3
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +3 -3
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +11 -2
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +9 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +29 -4
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +3 -2
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +10 -4
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +39 -3
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +120 -12
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +3 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +13 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +102 -24
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +36 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +363 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +52 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +566 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +9 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +30 -6
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +1 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +19 -7
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +16 -4
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +26 -6
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +7 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +8 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -1
- package/dist/esm/resources/Asset.d.ts +1 -1
- package/dist/esm/resources/Asset.d.ts.map +1 -1
- package/dist/esm/resources/Asset.js +0 -2
- package/dist/esm/resources/Asset.js.map +1 -1
- package/dist/esm/resources/AssetContainer.d.ts +75 -0
- package/dist/esm/resources/AssetContainer.d.ts.map +1 -0
- package/dist/esm/resources/AssetContainer.js +100 -0
- package/dist/esm/resources/AssetContainer.js.map +1 -0
- package/dist/esm/resources/AssetDefinitions.d.ts +3 -3
- package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -1
- package/dist/esm/resources/Assets.d.ts.map +1 -1
- package/dist/esm/resources/Assets.js +0 -1
- package/dist/esm/resources/Assets.js.map +1 -1
- package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -1
- package/dist/esm/resources/FactoryRegistry.js +14 -23
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.js +8 -1
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbKeyValueStore.d.ts +37 -0
- package/dist/esm/resources/IndexedDbKeyValueStore.d.ts.map +1 -0
- package/dist/esm/resources/IndexedDbKeyValueStore.js +58 -0
- package/dist/esm/resources/IndexedDbKeyValueStore.js.map +1 -0
- package/dist/esm/resources/KeyValueStore.d.ts +31 -0
- package/dist/esm/resources/KeyValueStore.d.ts.map +1 -0
- package/dist/esm/resources/Loader.d.ts +78 -10
- package/dist/esm/resources/Loader.d.ts.map +1 -1
- package/dist/esm/resources/Loader.js +119 -15
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/MemoryStore.d.ts +17 -0
- package/dist/esm/resources/MemoryStore.d.ts.map +1 -0
- package/dist/esm/resources/MemoryStore.js +30 -0
- package/dist/esm/resources/MemoryStore.js.map +1 -0
- package/dist/esm/resources/WebStorageStore.d.ts +40 -0
- package/dist/esm/resources/WebStorageStore.d.ts.map +1 -0
- package/dist/esm/resources/WebStorageStore.js +84 -0
- package/dist/esm/resources/WebStorageStore.js.map +1 -0
- package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
- package/dist/esm/resources/coreAssetBindings.js +16 -5
- package/dist/esm/resources/coreAssetBindings.js.map +1 -1
- package/dist/esm/resources/factories/BmFontFactory.js +4 -4
- package/dist/esm/resources/factories/BmFontFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +9 -9
- package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.js +7 -7
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.js +2 -2
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts +11 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -1
- package/dist/esm/resources/factories/SubtitleFactory.js +13 -9
- package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -1
- package/dist/esm/resources/index.d.ts +51 -34
- package/dist/esm/resources/index.d.ts.map +1 -1
- package/dist/esm/resources/utils.js +4 -4
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/esm/ui/Button.d.ts +54 -0
- package/dist/esm/ui/Button.d.ts.map +1 -0
- package/dist/esm/ui/Button.js +139 -0
- package/dist/esm/ui/Button.js.map +1 -0
- package/dist/esm/ui/Label.d.ts +17 -0
- package/dist/esm/ui/Label.d.ts.map +1 -0
- package/dist/esm/ui/Label.js +37 -0
- package/dist/esm/ui/Label.js.map +1 -0
- package/dist/esm/ui/Panel.d.ts +38 -0
- package/dist/esm/ui/Panel.d.ts.map +1 -0
- package/dist/esm/ui/Panel.js +61 -0
- package/dist/esm/ui/Panel.js.map +1 -0
- package/dist/esm/ui/ProgressBar.d.ts +37 -0
- package/dist/esm/ui/ProgressBar.d.ts.map +1 -0
- package/dist/esm/ui/ProgressBar.js +76 -0
- package/dist/esm/ui/ProgressBar.js.map +1 -0
- package/dist/esm/ui/Stack.d.ts +34 -0
- package/dist/esm/ui/Stack.d.ts.map +1 -0
- package/dist/esm/ui/Stack.js +69 -0
- package/dist/esm/ui/Stack.js.map +1 -0
- package/dist/esm/ui/UIRoot.d.ts +31 -0
- package/dist/esm/ui/UIRoot.d.ts.map +1 -0
- package/dist/esm/ui/UIRoot.js +49 -0
- package/dist/esm/ui/UIRoot.js.map +1 -0
- package/dist/esm/ui/Widget.d.ts +45 -0
- package/dist/esm/ui/Widget.d.ts.map +1 -0
- package/dist/esm/ui/Widget.js +113 -0
- package/dist/esm/ui/Widget.js.map +1 -0
- package/dist/esm/ui/index.d.ts +13 -0
- package/dist/esm/ui/index.d.ts.map +1 -0
- package/dist/exo.debug.esm.js +1 -948
- package/dist/exo.debug.esm.js.map +1 -1
- package/dist/exo.esm.js +1 -37555
- package/dist/exo.esm.js.map +1 -1
- package/package.json +31 -13
- package/dist/esm/audio/AbstractMedia.d.ts +0 -75
- package/dist/esm/audio/AbstractMedia.d.ts.map +0 -1
- package/dist/esm/audio/AbstractMedia.js +0 -179
- package/dist/esm/audio/AbstractMedia.js.map +0 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +0 -128
- package/dist/esm/audio/AudioAnalyser.d.ts.map +0 -1
- package/dist/esm/audio/AudioAnalyser.js +0 -473
- package/dist/esm/audio/AudioAnalyser.js.map +0 -1
- package/dist/esm/audio/AudioFilter.d.ts +0 -17
- package/dist/esm/audio/AudioFilter.d.ts.map +0 -1
- package/dist/esm/audio/AudioFilter.js +0 -15
- package/dist/esm/audio/AudioFilter.js.map +0 -1
- package/dist/esm/audio/BeatDetector.d.ts +0 -207
- package/dist/esm/audio/BeatDetector.d.ts.map +0 -1
- package/dist/esm/audio/BeatDetector.js +0 -424
- package/dist/esm/audio/BeatDetector.js.map +0 -1
- package/dist/esm/audio/Media.d.ts +0 -37
- package/dist/esm/audio/Media.d.ts.map +0 -1
- package/dist/esm/audio/Music.d.ts +0 -42
- package/dist/esm/audio/Music.d.ts.map +0 -1
- package/dist/esm/audio/Music.js +0 -164
- package/dist/esm/audio/Music.js.map +0 -1
- package/dist/esm/audio/OscillatorSound.d.ts +0 -100
- package/dist/esm/audio/OscillatorSound.d.ts.map +0 -1
- package/dist/esm/audio/OscillatorSound.js +0 -346
- package/dist/esm/audio/OscillatorSound.js.map +0 -1
- package/dist/esm/audio/dsp/fft.d.ts +0 -23
- package/dist/esm/audio/dsp/fft.d.ts.map +0 -1
- package/dist/esm/audio/dsp/mel.d.ts +0 -44
- package/dist/esm/audio/dsp/mel.d.ts.map +0 -1
- package/dist/esm/audio/dsp/mel.js +0 -70
- package/dist/esm/audio/dsp/mel.js.map +0 -1
- package/dist/esm/audio/dsp/tempogram.d.ts +0 -52
- package/dist/esm/audio/dsp/tempogram.d.ts.map +0 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts +0 -54
- package/dist/esm/audio/filters/ChorusFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/ChorusFilter.js +0 -155
- package/dist/esm/audio/filters/ChorusFilter.js.map +0 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +0 -54
- package/dist/esm/audio/filters/CompressorFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/CompressorFilter.js +0 -123
- package/dist/esm/audio/filters/CompressorFilter.js.map +0 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts +0 -36
- package/dist/esm/audio/filters/DelayFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/DelayFilter.js +0 -114
- package/dist/esm/audio/filters/DelayFilter.js.map +0 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts +0 -45
- package/dist/esm/audio/filters/DuckingFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/DuckingFilter.js +0 -172
- package/dist/esm/audio/filters/DuckingFilter.js.map +0 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +0 -51
- package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/EqualizerFilter.js +0 -138
- package/dist/esm/audio/filters/EqualizerFilter.js.map +0 -1
- package/dist/esm/audio/filters/GranularFilter.d.ts +0 -63
- package/dist/esm/audio/filters/GranularFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/GranularFilter.js +0 -107
- package/dist/esm/audio/filters/GranularFilter.js.map +0 -1
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +0 -45
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/PitchShiftFilter.js +0 -66
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +0 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +0 -38
- package/dist/esm/audio/filters/ReverbFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/ReverbFilter.js +0 -122
- package/dist/esm/audio/filters/ReverbFilter.js.map +0 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts +0 -50
- package/dist/esm/audio/filters/VocoderFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/VocoderFilter.js +0 -94
- package/dist/esm/audio/filters/VocoderFilter.js.map +0 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts.map +0 -1
- package/dist/esm/audio/filters/WorkletFilter.js.map +0 -1
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/beat-detector.worklet.js +0 -647
- package/dist/esm/audio/worklets/beat-detector.worklet.js.map +0 -1
- package/dist/esm/audio/worklets/granular.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/granular.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/granular.worklet.js +0 -89
- package/dist/esm/audio/worklets/granular.worklet.js.map +0 -1
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/pitch-shift.worklet.js +0 -74
- package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +0 -1
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts +0 -2
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +0 -1
- package/dist/esm/audio/worklets/vocoder.worklet.js +0 -92
- package/dist/esm/audio/worklets/vocoder.worklet.js.map +0 -1
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts +0 -10
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +0 -1
- package/dist/esm/input/internal/interactionManagerRegistry.js +0 -10
- package/dist/esm/input/internal/interactionManagerRegistry.js.map +0 -1
- package/dist/esm/rendering/index.d.ts.map +0 -1
- package/dist/esm/rendering/plan/RenderInstruction.js +0 -45
- package/dist/esm/rendering/plan/RenderInstruction.js.map +0 -1
- package/dist/esm/rendering.d.ts +0 -28
- package/dist/esm/rendering.d.ts.map +0 -1
- package/dist/esm/rendering.js.map +0 -1
- package/dist/esm/resources/JsonStore.d.ts +0 -19
- package/dist/esm/resources/JsonStore.d.ts.map +0 -1
- package/dist/esm/resources/JsonStore.js +0 -62
- package/dist/esm/resources/JsonStore.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTexture.js","sources":["../../../../../src/rendering/texture/DataTexture.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataTexture.js","sources":["../../../../../src/rendering/texture/DataTexture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,12 @@ export declare class Texture {
|
|
|
61
61
|
* their cached version to decide whether to re-upload the texture.
|
|
62
62
|
*/
|
|
63
63
|
get version(): number;
|
|
64
|
+
/**
|
|
65
|
+
* Increment the version counter so backends re-upload on the next frame.
|
|
66
|
+
* @internal — for subclasses (e.g. {@link DataTexture}) that mutate texture
|
|
67
|
+
* data through paths the base setters don't cover.
|
|
68
|
+
*/
|
|
69
|
+
protected _bumpVersion(): void;
|
|
64
70
|
/**
|
|
65
71
|
* Register a callback to be invoked just before this texture is destroyed.
|
|
66
72
|
* Useful for backends to release their GPU-side texture objects.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Texture.d.ts","sourceRoot":"","sources":["../../../../src/rendering/texture/Texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAC7C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAE7C,OAAc,qBAAqB,EAAE,cAAc,CAMjD;IAEF,gBAAuB,KAAK,UAAqB;IAEjD,WAAkB,KAAK,IAAI,OAAO,CAMjC;IAED,WAAkB,KAAK,IAAI,OAAO,CAMjC;IAED,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0C;IAC5E,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEJ,MAAM,GAAE,aAAoB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAiBlF,IAAW,MAAM,IAAI,aAAa,CAEjC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,aAAa,EAEtC;IAED,IAAW,IAAI,IAAI,IAAI,CAEtB;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,IAAI,EAEzB;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAE/B;IAED,IAAW,SAAS,IAAI,UAAU,CAEjC;IAED,IAAW,SAAS,CAAC,SAAS,EAAE,UAAU,EAEzC;IAED,IAAW,QAAQ,IAAI,SAAS,CAE/B;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAEtC;IAED,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,IAAW,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAEpD;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,cAAc,CAAC,cAAc,EAAE,OAAO,EAEhD;IAED,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,OAAO,EAE9B;IAED;;;OAGG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;;;OAKG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAM9C,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAMjD,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IASzC,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAStC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IASpD,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAS7C;;;;OAIG;IACI,YAAY,IAAI,IAAI;IASpB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5C,OAAO,IAAI,IAAI;IAUtB,OAAO,CAAC,MAAM;CAGf"}
|
|
1
|
+
{"version":3,"file":"Texture.d.ts","sourceRoot":"","sources":["../../../../src/rendering/texture/Texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAC7C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAwB;IAE7C,OAAc,qBAAqB,EAAE,cAAc,CAMjD;IAEF,gBAAuB,KAAK,UAAqB;IAEjD,WAAkB,KAAK,IAAI,OAAO,CAMjC;IAED,WAAkB,KAAK,IAAI,OAAO,CAMjC;IAED,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0C;IAC5E,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEJ,MAAM,GAAE,aAAoB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAiBlF,IAAW,MAAM,IAAI,aAAa,CAEjC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,aAAa,EAEtC;IAED,IAAW,IAAI,IAAI,IAAI,CAEtB;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,IAAI,EAEzB;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAE/B;IAED,IAAW,SAAS,IAAI,UAAU,CAEjC;IAED,IAAW,SAAS,CAAC,SAAS,EAAE,UAAU,EAEzC;IAED,IAAW,QAAQ,IAAI,SAAS,CAE/B;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAEtC;IAED,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,IAAW,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,EAEpD;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,cAAc,CAAC,cAAc,EAAE,OAAO,EAEhD;IAED,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,OAAO,EAE9B;IAED;;;OAGG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;;;OAKG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B;;;OAGG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAM9C,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAMjD,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IASzC,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAStC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IASpD,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAS7C;;;;OAIG;IACI,YAAY,IAAI,IAAI;IASpB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5C,OAAO,IAAI,IAAI;IAUtB,OAAO,CAAC,MAAM;CAGf"}
|
|
@@ -132,6 +132,14 @@ class Texture {
|
|
|
132
132
|
get version() {
|
|
133
133
|
return this._version;
|
|
134
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Increment the version counter so backends re-upload on the next frame.
|
|
137
|
+
* @internal — for subclasses (e.g. {@link DataTexture}) that mutate texture
|
|
138
|
+
* data through paths the base setters don't cover.
|
|
139
|
+
*/
|
|
140
|
+
_bumpVersion() {
|
|
141
|
+
this._version++;
|
|
142
|
+
}
|
|
135
143
|
/**
|
|
136
144
|
* Register a callback to be invoked just before this texture is destroyed.
|
|
137
145
|
* Useful for backends to release their GPU-side texture objects.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Texture.js","sources":["../../../../../src/rendering/texture/Texture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Texture.js","sources":["../../../../../src/rendering/texture/Texture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AASA;;;;;;;;;;;AAWG;MACU,OAAO,CAAA;AACV,IAAA,OAAO,MAAM,GAAmB,IAAI;AACpC,IAAA,OAAO,MAAM,GAAmB,IAAI;IAErC,OAAO,qBAAqB,GAAmB;QACpD,SAAS,EAAE,UAAU,CAAC,MAAM;QAC5B,QAAQ,EAAE,SAAS,CAAC,WAAW;AAC/B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,KAAK,EAAE,KAAK;KACb;IAEM,OAAgB,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;AAEzC,IAAA,WAAW,KAAK,GAAA;AACrB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;AAC3B,YAAA,OAAO,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE;QAEA,OAAO,OAAO,CAAC,MAAM;IACvB;AAEO,IAAA,WAAW,KAAK,GAAA;AACrB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;AAC3B,YAAA,OAAO,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE;QAEA,OAAO,OAAO,CAAC,MAAM;IACvB;IAEQ,QAAQ,GAAG,CAAC;IACZ,OAAO,GAAkB,IAAI;IAC7B,KAAK,GAAS,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,IAAA,iBAAiB,GAAoB,IAAI,GAAG,EAAc;AACnE,IAAA,UAAU;AACV,IAAA,SAAS;IACT,iBAAiB,GAAG,KAAK;IACzB,eAAe,GAAG,KAAK;IACvB,MAAM,GAAG,KAAK;IAEtB,WAAA,CAAmB,MAAA,GAAwB,IAAI,EAAE,OAAiC,EAAA;QAChF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG;YACvE,GAAG,OAAO,CAAC,qBAAqB;AAChC,YAAA,GAAG,OAAO;SACX;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB;AACzC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AAEnB,QAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACxB;IACF;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,MAAqB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IAAW,IAAI,CAAC,IAAU,EAAA;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;IACvC;AAEA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;IACzB;IAEA,IAAW,KAAK,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;IAClC;AAEA,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;IAC1B;IAEA,IAAW,MAAM,CAAC,MAAc,EAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;IAClC;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;IACxB;IAEA,IAAW,SAAS,CAAC,SAAqB,EAAA;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAC9B;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,IAAW,QAAQ,CAAC,QAAmB,EAAA;AACrC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5B;AAEA,IAAA,IAAW,gBAAgB,GAAA;QACzB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IAEA,IAAW,gBAAgB,CAAC,gBAAyB,EAAA;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC5C;AAEA,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,eAAe;IAC7B;IAEA,IAAW,cAAc,CAAC,cAAuB,EAAA;AAC/C,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;IACvC;AAEA,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAW,KAAK,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;AAEA;;;AAGG;AACH,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;IAC9D;AAEA;;;;;AAKG;AACH,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;;;AAIG;IACO,YAAY,GAAA;QACpB,IAAI,CAAC,QAAQ,EAAE;IACjB;AAEA;;;AAGG;AACI,IAAA,kBAAkB,CAAC,QAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEpC,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,qBAAqB,CAAC,QAAoB,EAAA;AAC/C,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAEvC,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,YAAY,CAAC,SAAqB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,MAAM,EAAE;QACf;AAEA,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,WAAW,CAAC,QAAmB,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;YACzB,IAAI,CAAC,MAAM,EAAE;QACf;AAEA,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,mBAAmB,CAAC,gBAAyB,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,gBAAgB,EAAE;AAC/C,YAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB;YACzC,IAAI,CAAC,MAAM,EAAE;QACf;AAEA,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,SAAS,CAAC,MAAqB,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;YACrB,IAAI,CAAC,YAAY,EAAE;QACrB;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;IACI,YAAY,GAAA;AACjB,QAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;AAE5D,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE;AAEb,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,CAAC,KAAa,EAAE,MAAc,EAAA;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE;QACf;AAEA,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,GAAA;QACZ,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClD,YAAA,QAAQ,EAAE;QACZ;AAEA,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;IAEQ,MAAM,GAAA;QACZ,IAAI,CAAC,QAAQ,EAAE;IACjB;;;;;"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { Texture } from './Texture';
|
|
2
|
+
/**
|
|
3
|
+
* Per-edge extrusion/padding metadata for a {@link TextureRegion}.
|
|
4
|
+
*
|
|
5
|
+
* Describes the number of duplicated/extruded source texels available outside
|
|
6
|
+
* each logical edge so that linear filtering can sample safely without
|
|
7
|
+
* bleeding from neighbouring atlas regions.
|
|
8
|
+
* @stable
|
|
9
|
+
*/
|
|
10
|
+
export interface TextureRegionInsets {
|
|
11
|
+
/** Extrusion texels on the left edge (outside `x`). */
|
|
12
|
+
readonly left: number;
|
|
13
|
+
/** Extrusion texels on the top edge (outside `y`). */
|
|
14
|
+
readonly top: number;
|
|
15
|
+
/** Extrusion texels on the right edge (outside `x + width`). */
|
|
16
|
+
readonly right: number;
|
|
17
|
+
/** Extrusion texels on the bottom edge (outside `y + height`). */
|
|
18
|
+
readonly bottom: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Options passed to the {@link TextureRegion} constructor.
|
|
22
|
+
* @stable
|
|
23
|
+
*/
|
|
24
|
+
export interface TextureRegionOptions {
|
|
25
|
+
/** Left pixel coordinate of the region within the texture. */
|
|
26
|
+
readonly x: number;
|
|
27
|
+
/** Top pixel coordinate of the region within the texture. */
|
|
28
|
+
readonly y: number;
|
|
29
|
+
/** Width of the region in texture pixels. */
|
|
30
|
+
readonly width: number;
|
|
31
|
+
/** Height of the region in texture pixels. */
|
|
32
|
+
readonly height: number;
|
|
33
|
+
/**
|
|
34
|
+
* Number of duplicated/extruded source texels available outside each
|
|
35
|
+
* logical edge for safe linear filtering.
|
|
36
|
+
*
|
|
37
|
+
* A uniform `number` sets all four sides equally. Provide a
|
|
38
|
+
* {@link TextureRegionInsets} for per-side control.
|
|
39
|
+
*
|
|
40
|
+
* Defaults to `{ left: 0, top: 0, right: 0, bottom: 0 }`.
|
|
41
|
+
*/
|
|
42
|
+
readonly extrusion?: number | TextureRegionInsets;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* An immutable descriptor for a rectangular sub-region of a {@link Texture}.
|
|
46
|
+
*
|
|
47
|
+
* Stores the pixel-space source rectangle, pre-computed normalised UV bounds,
|
|
48
|
+
* and optional extrusion/padding metadata for atlas-safe linear filtering.
|
|
49
|
+
* Constructed once and reused across sprites, tile-sets, atlas lookups, and
|
|
50
|
+
* the scalable-sprite repeat planners.
|
|
51
|
+
*
|
|
52
|
+
* All region descriptor fields are stable after construction. Extrusion
|
|
53
|
+
* metadata is copied and frozen during construction — the caller retains no
|
|
54
|
+
* mutable reference to the stored object. The underlying {@link Texture}
|
|
55
|
+
* reference is stable, but the Texture's own lifecycle and sampler state
|
|
56
|
+
* remain owned by {@link Texture}.
|
|
57
|
+
*
|
|
58
|
+
* Texture dimensions **must** be known at construction time; a texture with
|
|
59
|
+
* zero dimensions will cause the constructor to throw.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const region = new TextureRegion(texture, {
|
|
64
|
+
* x: 32, y: 16,
|
|
65
|
+
* width: 64, height: 32,
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
* @stable
|
|
69
|
+
*/
|
|
70
|
+
export declare class TextureRegion {
|
|
71
|
+
/** The underlying {@link Texture} this region belongs to. */
|
|
72
|
+
readonly texture: Texture;
|
|
73
|
+
/** Left edge of the region in texture pixels. */
|
|
74
|
+
readonly x: number;
|
|
75
|
+
/** Top edge of the region in texture pixels. */
|
|
76
|
+
readonly y: number;
|
|
77
|
+
/** Width of the region in texture pixels. */
|
|
78
|
+
readonly width: number;
|
|
79
|
+
/** Height of the region in texture pixels. */
|
|
80
|
+
readonly height: number;
|
|
81
|
+
/** Normalised left texture coordinate (U-min). */
|
|
82
|
+
readonly u0: number;
|
|
83
|
+
/** Normalised top texture coordinate (V-min). */
|
|
84
|
+
readonly v0: number;
|
|
85
|
+
/** Normalised right texture coordinate (U-max). */
|
|
86
|
+
readonly u1: number;
|
|
87
|
+
/** Normalised bottom texture coordinate (V-max). */
|
|
88
|
+
readonly v1: number;
|
|
89
|
+
/** Per-edge extrusion/padding metadata (engine-owned, frozen). */
|
|
90
|
+
readonly extrusion: Readonly<TextureRegionInsets>;
|
|
91
|
+
/**
|
|
92
|
+
* Create a new immutable region.
|
|
93
|
+
*
|
|
94
|
+
* @throws When coordinates or dimensions are non-finite, zero, negative, or
|
|
95
|
+
* extend beyond the texture bounds, or when extrusion values are
|
|
96
|
+
* invalid.
|
|
97
|
+
*/
|
|
98
|
+
constructor(texture: Texture, options: TextureRegionOptions);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=TextureRegion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextureRegion.d.ts","sourceRoot":"","sources":["../../../../src/rendering/texture/TextureRegion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACnD;AA8FD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa;IACxB,6DAA6D;IAC7D,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,iDAAiD;IACjD,SAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,SAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,8CAA8C;IAC9C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,kDAAkD;IAClD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B,kEAAkE;IAClE,SAAgB,SAAS,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAEzD;;;;;;OAMG;gBACgB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB;CA+BnE"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
function isFinite(value) {
|
|
2
|
+
return typeof value === 'number' && Number.isFinite(value);
|
|
3
|
+
}
|
|
4
|
+
function normalizeExtrusion(extrusion) {
|
|
5
|
+
if (extrusion === undefined) {
|
|
6
|
+
return Object.freeze({
|
|
7
|
+
left: 0,
|
|
8
|
+
top: 0,
|
|
9
|
+
right: 0,
|
|
10
|
+
bottom: 0,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (typeof extrusion === 'number') {
|
|
14
|
+
return Object.freeze({
|
|
15
|
+
left: extrusion,
|
|
16
|
+
top: extrusion,
|
|
17
|
+
right: extrusion,
|
|
18
|
+
bottom: extrusion,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
// Copy caller-owned values into an engine-owned frozen object so that
|
|
22
|
+
// external mutation of the original never affects the region.
|
|
23
|
+
return Object.freeze({
|
|
24
|
+
left: extrusion.left,
|
|
25
|
+
top: extrusion.top,
|
|
26
|
+
right: extrusion.right,
|
|
27
|
+
bottom: extrusion.bottom,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function validateExtrusion(extrusion, x, y, width, height, textureWidth, textureHeight) {
|
|
31
|
+
const { left, top, right, bottom } = extrusion;
|
|
32
|
+
if (!isFinite(left) || !isFinite(top) || !isFinite(right) || !isFinite(bottom)) {
|
|
33
|
+
throw new Error(`TextureRegion extrusion values must be finite numbers (got left=${left}, top=${top}, right=${right}, bottom=${bottom}).`);
|
|
34
|
+
}
|
|
35
|
+
if (left < 0 || top < 0 || right < 0 || bottom < 0) {
|
|
36
|
+
throw new Error(`TextureRegion extrusion values must be non-negative (got left=${left}, top=${top}, right=${right}, bottom=${bottom}).`);
|
|
37
|
+
}
|
|
38
|
+
if (left > x || top > y || right > textureWidth - (x + width) || bottom > textureHeight - (y + height)) {
|
|
39
|
+
throw new Error(`TextureRegion extrusion exceeds available source texture bounds: left=${left} (>${x}), top=${top} (>${y}), ` +
|
|
40
|
+
`right=${right} (>${textureWidth - (x + width)}), bottom=${bottom} (>${textureHeight - (y + height)}).`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function validateOptions(options, textureWidth, textureHeight) {
|
|
44
|
+
const { x, y, width, height } = options;
|
|
45
|
+
if (!isFinite(x) || !isFinite(y) || !isFinite(width) || !isFinite(height)) {
|
|
46
|
+
throw new Error(`TextureRegion coordinates and dimensions must be finite numbers (got x=${x}, y=${y}, width=${width}, height=${height}).`);
|
|
47
|
+
}
|
|
48
|
+
if (width <= 0 || height <= 0) {
|
|
49
|
+
throw new Error(`TextureRegion dimensions must be positive (got width=${width}, height=${height}).`);
|
|
50
|
+
}
|
|
51
|
+
if (textureWidth <= 0 || textureHeight <= 0) {
|
|
52
|
+
throw new Error(`Texture must have positive dimensions (got ${textureWidth}x${textureHeight}).`);
|
|
53
|
+
}
|
|
54
|
+
if (x < 0 || y < 0) {
|
|
55
|
+
throw new Error(`TextureRegion origin must be non-negative (got x=${x}, y=${y}).`);
|
|
56
|
+
}
|
|
57
|
+
if (x >= textureWidth || y >= textureHeight) {
|
|
58
|
+
throw new Error(`TextureRegion origin (${x}, ${y}) is outside texture bounds (${textureWidth}x${textureHeight}).`);
|
|
59
|
+
}
|
|
60
|
+
if (x + width > textureWidth) {
|
|
61
|
+
throw new Error(`TextureRegion right edge (${x + width}) exceeds texture width (${textureWidth}).`);
|
|
62
|
+
}
|
|
63
|
+
if (y + height > textureHeight) {
|
|
64
|
+
throw new Error(`TextureRegion bottom edge (${y + height}) exceeds texture height (${textureHeight}).`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* An immutable descriptor for a rectangular sub-region of a {@link Texture}.
|
|
69
|
+
*
|
|
70
|
+
* Stores the pixel-space source rectangle, pre-computed normalised UV bounds,
|
|
71
|
+
* and optional extrusion/padding metadata for atlas-safe linear filtering.
|
|
72
|
+
* Constructed once and reused across sprites, tile-sets, atlas lookups, and
|
|
73
|
+
* the scalable-sprite repeat planners.
|
|
74
|
+
*
|
|
75
|
+
* All region descriptor fields are stable after construction. Extrusion
|
|
76
|
+
* metadata is copied and frozen during construction — the caller retains no
|
|
77
|
+
* mutable reference to the stored object. The underlying {@link Texture}
|
|
78
|
+
* reference is stable, but the Texture's own lifecycle and sampler state
|
|
79
|
+
* remain owned by {@link Texture}.
|
|
80
|
+
*
|
|
81
|
+
* Texture dimensions **must** be known at construction time; a texture with
|
|
82
|
+
* zero dimensions will cause the constructor to throw.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* const region = new TextureRegion(texture, {
|
|
87
|
+
* x: 32, y: 16,
|
|
88
|
+
* width: 64, height: 32,
|
|
89
|
+
* });
|
|
90
|
+
* ```
|
|
91
|
+
* @stable
|
|
92
|
+
*/
|
|
93
|
+
class TextureRegion {
|
|
94
|
+
/** The underlying {@link Texture} this region belongs to. */
|
|
95
|
+
texture;
|
|
96
|
+
/** Left edge of the region in texture pixels. */
|
|
97
|
+
x;
|
|
98
|
+
/** Top edge of the region in texture pixels. */
|
|
99
|
+
y;
|
|
100
|
+
/** Width of the region in texture pixels. */
|
|
101
|
+
width;
|
|
102
|
+
/** Height of the region in texture pixels. */
|
|
103
|
+
height;
|
|
104
|
+
/** Normalised left texture coordinate (U-min). */
|
|
105
|
+
u0;
|
|
106
|
+
/** Normalised top texture coordinate (V-min). */
|
|
107
|
+
v0;
|
|
108
|
+
/** Normalised right texture coordinate (U-max). */
|
|
109
|
+
u1;
|
|
110
|
+
/** Normalised bottom texture coordinate (V-max). */
|
|
111
|
+
v1;
|
|
112
|
+
/** Per-edge extrusion/padding metadata (engine-owned, frozen). */
|
|
113
|
+
extrusion;
|
|
114
|
+
/**
|
|
115
|
+
* Create a new immutable region.
|
|
116
|
+
*
|
|
117
|
+
* @throws When coordinates or dimensions are non-finite, zero, negative, or
|
|
118
|
+
* extend beyond the texture bounds, or when extrusion values are
|
|
119
|
+
* invalid.
|
|
120
|
+
*/
|
|
121
|
+
constructor(texture, options) {
|
|
122
|
+
if (!texture) {
|
|
123
|
+
throw new Error('TextureRegion requires a non-null Texture.');
|
|
124
|
+
}
|
|
125
|
+
const textureWidth = texture.width;
|
|
126
|
+
const textureHeight = texture.height;
|
|
127
|
+
validateOptions(options, textureWidth, textureHeight);
|
|
128
|
+
const extrusion = normalizeExtrusion(options.extrusion);
|
|
129
|
+
validateExtrusion(extrusion, options.x, options.y, options.width, options.height, textureWidth, textureHeight);
|
|
130
|
+
this.texture = texture;
|
|
131
|
+
this.x = options.x;
|
|
132
|
+
this.y = options.y;
|
|
133
|
+
this.width = options.width;
|
|
134
|
+
this.height = options.height;
|
|
135
|
+
this.u0 = options.x / textureWidth;
|
|
136
|
+
this.v0 = options.y / textureHeight;
|
|
137
|
+
this.u1 = (options.x + options.width) / textureWidth;
|
|
138
|
+
this.v1 = (options.y + options.height) / textureHeight;
|
|
139
|
+
this.extrusion = extrusion;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export { TextureRegion };
|
|
144
|
+
//# sourceMappingURL=TextureRegion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextureRegion.js","sources":["../../../../../src/rendering/texture/TextureRegion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a scalable sprite fills its destination span.
|
|
3
|
+
*
|
|
4
|
+
* Shared by {@link NineSliceSprite} edges/center and {@link RepeatingSprite}.
|
|
5
|
+
* @stable
|
|
6
|
+
*/
|
|
7
|
+
export type RepeatMode = 'stretch' | 'repeat' | 'mirror-repeat';
|
|
8
|
+
/**
|
|
9
|
+
* How a `'repeat'` or `'mirror-repeat'` run fits its destination span exactly.
|
|
10
|
+
* @stable
|
|
11
|
+
*/
|
|
12
|
+
export type RepeatFit = 'clip' | 'round';
|
|
13
|
+
/**
|
|
14
|
+
* A single placement segment produced by the repeat planner.
|
|
15
|
+
*
|
|
16
|
+
* Each segment describes one contiguous destination slice and the corresponding
|
|
17
|
+
* normalised source texel interval.
|
|
18
|
+
* @advanced
|
|
19
|
+
*/
|
|
20
|
+
export interface RepeatSegment {
|
|
21
|
+
/** Start position of this segment within the destination span. */
|
|
22
|
+
readonly destinationStart: number;
|
|
23
|
+
/** Length of this segment in destination units. */
|
|
24
|
+
readonly destinationLength: number;
|
|
25
|
+
/**
|
|
26
|
+
* Normalised source start coordinate (0..1 range in logical source space).
|
|
27
|
+
* For mirrored segments this is greater than {@link sourceEnd}.
|
|
28
|
+
*/
|
|
29
|
+
readonly sourceStart: number;
|
|
30
|
+
/**
|
|
31
|
+
* Normalised source end coordinate (0..1 range in logical source space).
|
|
32
|
+
* For mirrored segments this is less than {@link sourceStart}.
|
|
33
|
+
*/
|
|
34
|
+
readonly sourceEnd: number;
|
|
35
|
+
/**
|
|
36
|
+
* `true` when this segment should be rendered with mirrored (flipped)
|
|
37
|
+
* orientation. Always consistent with `sourceStart > sourceEnd`.
|
|
38
|
+
*/
|
|
39
|
+
readonly mirrored: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Result of a repeat-planning call.
|
|
43
|
+
*
|
|
44
|
+
* Contains the resolved destination length and the ordered list of segments
|
|
45
|
+
* that collectively fill the span.
|
|
46
|
+
* @advanced
|
|
47
|
+
*/
|
|
48
|
+
export interface RepeatPlan {
|
|
49
|
+
/** Total destination span length (equal to the requested length). */
|
|
50
|
+
readonly destinationLength: number;
|
|
51
|
+
/**
|
|
52
|
+
* The source length that was passed to the planner.
|
|
53
|
+
* Useful for consumers that need to map back to source scale.
|
|
54
|
+
*/
|
|
55
|
+
readonly sourceLength: number;
|
|
56
|
+
/** Ordered, non-overlapping segments that fill the destination span. */
|
|
57
|
+
readonly segments: readonly RepeatSegment[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Compute a deterministic repeat plan for filling a destination span with a
|
|
61
|
+
* tiled or stretched source pattern.
|
|
62
|
+
*
|
|
63
|
+
* This is a **pure, renderer-independent** function used as the shared repeat
|
|
64
|
+
* layout engine by {@link NineSliceSprite} edges/center,
|
|
65
|
+
* {@link RepeatingSprite} geometry path, and tilemap chunk builders.
|
|
66
|
+
*
|
|
67
|
+
* ## Modes
|
|
68
|
+
*
|
|
69
|
+
* | Mode | Behaviour |
|
|
70
|
+
* |------------------|-----------|
|
|
71
|
+
* | `'stretch'` | One segment stretched to the full destination. `fit` is ignored. |
|
|
72
|
+
* | `'repeat'` | Native-size repeats; final segment is clipped when the destination is not an exact multiple. |
|
|
73
|
+
* | `'mirror-repeat'`| Alternating normal/mirrored segments (period-2). Clipped final segment when non-exact. |
|
|
74
|
+
*
|
|
75
|
+
* ## Fit
|
|
76
|
+
*
|
|
77
|
+
* | Fit | Effect |
|
|
78
|
+
* |----------|--------|
|
|
79
|
+
* | `'clip'` | Native-size segments; the final segment is clipped if necessary. |
|
|
80
|
+
* | `'round'`| Integer count of equally-sized segments stretched or squeezed so the destination fills exactly. |
|
|
81
|
+
*
|
|
82
|
+
* ## Allocation and caching
|
|
83
|
+
*
|
|
84
|
+
* The planner returns a new result object on every call. Callers should
|
|
85
|
+
* cache the plan and recompute only when `sourceLength`, `destinationLength`,
|
|
86
|
+
* `mode`, or `fit` changes — typically on resize or texture change.
|
|
87
|
+
*
|
|
88
|
+
* @param sourceLength - Native size of the source pattern in destination units.
|
|
89
|
+
* @param destinationLength - Total span to fill.
|
|
90
|
+
* @param mode - Fill strategy.
|
|
91
|
+
* @param fit - Fitting strategy for `'repeat'` / `'mirror-repeat'`. Ignored for `'stretch'`.
|
|
92
|
+
* @throws When inputs are non-finite, negative, or zero-length source.
|
|
93
|
+
* @advanced
|
|
94
|
+
*/
|
|
95
|
+
export declare function planRepeat(sourceLength: number, destinationLength: number, mode: RepeatMode, fit?: RepeatFit): RepeatPlan;
|
|
96
|
+
//# sourceMappingURL=repeat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../../../src/rendering/texture/repeat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,qEAAqE;IACrE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAyHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,GAAE,SAAmB,GAAG,UAAU,CA2BlI"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate generic numeric inputs shared across all modes.
|
|
3
|
+
* Throws unconditionally — these are user/programming errors, not dev-only
|
|
4
|
+
* assertions.
|
|
5
|
+
*/
|
|
6
|
+
function validateInputs(sourceLength, destinationLength) {
|
|
7
|
+
if (!Number.isFinite(sourceLength) || !Number.isFinite(destinationLength)) {
|
|
8
|
+
throw new Error(`RepeatPlanner: sourceLength and destinationLength must be finite numbers (got ${sourceLength}, ${destinationLength}).`);
|
|
9
|
+
}
|
|
10
|
+
if (sourceLength <= 0) {
|
|
11
|
+
throw new Error(`RepeatPlanner: sourceLength must be positive (got ${sourceLength}).`);
|
|
12
|
+
}
|
|
13
|
+
if (destinationLength < 0) {
|
|
14
|
+
throw new Error(`RepeatPlanner: destinationLength must be non-negative (got ${destinationLength}).`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function buildStretchPlan(destinationLength, sourceLength) {
|
|
18
|
+
if (destinationLength === 0) {
|
|
19
|
+
return {
|
|
20
|
+
destinationLength: 0,
|
|
21
|
+
sourceLength,
|
|
22
|
+
segments: [],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const segment = {
|
|
26
|
+
destinationStart: 0,
|
|
27
|
+
destinationLength,
|
|
28
|
+
sourceStart: 0,
|
|
29
|
+
sourceEnd: 1,
|
|
30
|
+
mirrored: false,
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
destinationLength,
|
|
34
|
+
sourceLength,
|
|
35
|
+
segments: [segment],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function buildClipPlan(destinationLength, sourceLength, mirror) {
|
|
39
|
+
if (destinationLength === 0) {
|
|
40
|
+
return {
|
|
41
|
+
destinationLength: 0,
|
|
42
|
+
sourceLength,
|
|
43
|
+
segments: [],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const segments = [];
|
|
47
|
+
let cursor = 0;
|
|
48
|
+
let index = 0;
|
|
49
|
+
while (cursor < destinationLength) {
|
|
50
|
+
const remaining = destinationLength - cursor;
|
|
51
|
+
const segLength = Math.min(sourceLength, remaining);
|
|
52
|
+
const sourceFraction = segLength / sourceLength;
|
|
53
|
+
const mirrored = mirror && index % 2 === 1;
|
|
54
|
+
const segment = {
|
|
55
|
+
destinationStart: cursor,
|
|
56
|
+
destinationLength: segLength,
|
|
57
|
+
sourceStart: mirrored ? 1 : 0,
|
|
58
|
+
sourceEnd: mirrored ? 1 - sourceFraction : sourceFraction,
|
|
59
|
+
mirrored,
|
|
60
|
+
};
|
|
61
|
+
segments.push(segment);
|
|
62
|
+
cursor += segLength;
|
|
63
|
+
index++;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
destinationLength,
|
|
67
|
+
sourceLength,
|
|
68
|
+
segments,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function buildRoundPlan(destinationLength, sourceLength, mirror) {
|
|
72
|
+
if (destinationLength === 0) {
|
|
73
|
+
return {
|
|
74
|
+
destinationLength: 0,
|
|
75
|
+
sourceLength,
|
|
76
|
+
segments: [],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const ratio = destinationLength / sourceLength;
|
|
80
|
+
const count = Math.max(1, Math.round(ratio));
|
|
81
|
+
const segLength = destinationLength / count;
|
|
82
|
+
const segments = [];
|
|
83
|
+
for (let i = 0; i < count; i++) {
|
|
84
|
+
const mirrored = mirror && i % 2 === 1;
|
|
85
|
+
const segment = {
|
|
86
|
+
destinationStart: i * segLength,
|
|
87
|
+
destinationLength: segLength,
|
|
88
|
+
sourceStart: mirrored ? 1 : 0,
|
|
89
|
+
sourceEnd: mirrored ? 0 : 1,
|
|
90
|
+
mirrored,
|
|
91
|
+
};
|
|
92
|
+
segments.push(segment);
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
destinationLength,
|
|
96
|
+
sourceLength,
|
|
97
|
+
segments,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Compute a deterministic repeat plan for filling a destination span with a
|
|
102
|
+
* tiled or stretched source pattern.
|
|
103
|
+
*
|
|
104
|
+
* This is a **pure, renderer-independent** function used as the shared repeat
|
|
105
|
+
* layout engine by {@link NineSliceSprite} edges/center,
|
|
106
|
+
* {@link RepeatingSprite} geometry path, and tilemap chunk builders.
|
|
107
|
+
*
|
|
108
|
+
* ## Modes
|
|
109
|
+
*
|
|
110
|
+
* | Mode | Behaviour |
|
|
111
|
+
* |------------------|-----------|
|
|
112
|
+
* | `'stretch'` | One segment stretched to the full destination. `fit` is ignored. |
|
|
113
|
+
* | `'repeat'` | Native-size repeats; final segment is clipped when the destination is not an exact multiple. |
|
|
114
|
+
* | `'mirror-repeat'`| Alternating normal/mirrored segments (period-2). Clipped final segment when non-exact. |
|
|
115
|
+
*
|
|
116
|
+
* ## Fit
|
|
117
|
+
*
|
|
118
|
+
* | Fit | Effect |
|
|
119
|
+
* |----------|--------|
|
|
120
|
+
* | `'clip'` | Native-size segments; the final segment is clipped if necessary. |
|
|
121
|
+
* | `'round'`| Integer count of equally-sized segments stretched or squeezed so the destination fills exactly. |
|
|
122
|
+
*
|
|
123
|
+
* ## Allocation and caching
|
|
124
|
+
*
|
|
125
|
+
* The planner returns a new result object on every call. Callers should
|
|
126
|
+
* cache the plan and recompute only when `sourceLength`, `destinationLength`,
|
|
127
|
+
* `mode`, or `fit` changes — typically on resize or texture change.
|
|
128
|
+
*
|
|
129
|
+
* @param sourceLength - Native size of the source pattern in destination units.
|
|
130
|
+
* @param destinationLength - Total span to fill.
|
|
131
|
+
* @param mode - Fill strategy.
|
|
132
|
+
* @param fit - Fitting strategy for `'repeat'` / `'mirror-repeat'`. Ignored for `'stretch'`.
|
|
133
|
+
* @throws When inputs are non-finite, negative, or zero-length source.
|
|
134
|
+
* @advanced
|
|
135
|
+
*/
|
|
136
|
+
function planRepeat(sourceLength, destinationLength, mode, fit = 'round') {
|
|
137
|
+
validateInputs(sourceLength, destinationLength);
|
|
138
|
+
switch (mode) {
|
|
139
|
+
case 'stretch':
|
|
140
|
+
return buildStretchPlan(destinationLength, sourceLength);
|
|
141
|
+
case 'repeat':
|
|
142
|
+
if (fit === 'round') {
|
|
143
|
+
return buildRoundPlan(destinationLength, sourceLength, false);
|
|
144
|
+
}
|
|
145
|
+
return buildClipPlan(destinationLength, sourceLength, false);
|
|
146
|
+
case 'mirror-repeat':
|
|
147
|
+
if (fit === 'round') {
|
|
148
|
+
return buildRoundPlan(destinationLength, sourceLength, true);
|
|
149
|
+
}
|
|
150
|
+
return buildClipPlan(destinationLength, sourceLength, true);
|
|
151
|
+
default: {
|
|
152
|
+
throw new Error(`RepeatPlanner: unknown RepeatMode.`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export { planRepeat };
|
|
158
|
+
//# sourceMappingURL=repeat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repeat.js","sources":["../../../../../src/rendering/texture/repeat.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,17 @@ export declare enum BlendModes {
|
|
|
8
8
|
Subtract = 2,
|
|
9
9
|
Multiply = 3,
|
|
10
10
|
Screen = 4,
|
|
11
|
+
/**
|
|
12
|
+
* `min(src, dst)` per channel.
|
|
13
|
+
*
|
|
14
|
+
* KNOWN LIMITATION: implemented with the fixed-function `MIN` blend equation,
|
|
15
|
+
* which ignores the blend factors and therefore cannot account for source
|
|
16
|
+
* coverage. With premultiplied-alpha drawables, transparent texels (rgb = 0)
|
|
17
|
+
* resolve to `min(0, dst) = 0`, so transparent regions of a sprite turn black
|
|
18
|
+
* instead of showing the background. Reliable only for fully opaque sources;
|
|
19
|
+
* a coverage-correct version needs a shader-side blend. Tracked for a future
|
|
20
|
+
* render pass. {@link Lighten} is unaffected (`max(0, dst) = dst`).
|
|
21
|
+
*/
|
|
11
22
|
Darken = 5,
|
|
12
23
|
Lighten = 6
|
|
13
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rendering/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU;IACpB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED;;;;GAIG;AACH,oBAAY,UAAU;IACpB,OAAO,OAAS;IAChB,MAAM,OAAS;IACf,oBAAoB,OAAS;IAC7B,mBAAmB,OAAS;IAC5B,mBAAmB,OAAS;IAC5B,kBAAkB,OAAS;CAC5B;AAED;;;GAGG;AACH,oBAAY,SAAS;IACnB,MAAM,QAAS;IACf,WAAW,QAAS;IACpB,cAAc,QAAS;CACxB;AAED;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B,MAAM,IAAS;IACf,KAAK,IAAS;IACd,QAAQ,IAAS;IACjB,SAAS,IAAS;IAClB,SAAS,IAAS;IAClB,aAAa,IAAS;IACtB,WAAW,IAAS;CACrB;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,WAAW,QAAS;IACpB,kBAAkB,QAAS;IAC3B,cAAc,QAAS;IACvB,eAAe,QAAS;IACxB,uBAAuB,QAAS;IAChC,aAAa,QAAS;IACtB,eAAe,QAAS;IACxB,iBAAiB,QAAS;CAC3B;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,UAAU,QAAS;IACnB,UAAU,QAAS;IACnB,UAAU,QAAS;IACnB,WAAW,QAAS;IACpB,WAAW,QAAS;IACpB,WAAW,QAAS;IACpB,UAAU,QAAS;IACnB,UAAU,QAAS;IACnB,UAAU,QAAS;CACpB;AAED;;;GAGG;AAEH,oBAAY,gBAAgB;IAC1B,GAAG,OAAS;IACZ,OAAO,QAAS;IAChB,OAAO,QAAS;IAChB,OAAO,QAAS;IAEhB,WAAW,OAAS;IACpB,eAAe,QAAS;IACxB,eAAe,QAAS;IACxB,eAAe,QAAS;IAExB,KAAK,OAAS;IACd,SAAS,QAAS;IAClB,SAAS,QAAS;IAClB,SAAS,QAAS;IAElB,IAAI,QAAS;IACb,QAAQ,QAAS;IACjB,QAAQ,QAAS;IACjB,QAAQ,QAAS;IAEjB,SAAS,QAAS;IAClB,SAAS,QAAS;IAClB,SAAS,QAAS;IAElB,SAAS,QAAS;CACnB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rendering/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,UAAU;IACpB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV;;;;;;;;;;OAUG;IACH,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED;;;;GAIG;AACH,oBAAY,UAAU;IACpB,OAAO,OAAS;IAChB,MAAM,OAAS;IACf,oBAAoB,OAAS;IAC7B,mBAAmB,OAAS;IAC5B,mBAAmB,OAAS;IAC5B,kBAAkB,OAAS;CAC5B;AAED;;;GAGG;AACH,oBAAY,SAAS;IACnB,MAAM,QAAS;IACf,WAAW,QAAS;IACpB,cAAc,QAAS;CACxB;AAED;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B,MAAM,IAAS;IACf,KAAK,IAAS;IACd,QAAQ,IAAS;IACjB,SAAS,IAAS;IAClB,SAAS,IAAS;IAClB,aAAa,IAAS;IACtB,WAAW,IAAS;CACrB;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,WAAW,QAAS;IACpB,kBAAkB,QAAS;IAC3B,cAAc,QAAS;IACvB,eAAe,QAAS;IACxB,uBAAuB,QAAS;IAChC,aAAa,QAAS;IACtB,eAAe,QAAS;IACxB,iBAAiB,QAAS;CAC3B;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,UAAU,QAAS;IACnB,UAAU,QAAS;IACnB,UAAU,QAAS;IACnB,WAAW,QAAS;IACpB,WAAW,QAAS;IACpB,WAAW,QAAS;IACpB,UAAU,QAAS;IACnB,UAAU,QAAS;IACnB,UAAU,QAAS;CACpB;AAED;;;GAGG;AAEH,oBAAY,gBAAgB;IAC1B,GAAG,OAAS;IACZ,OAAO,QAAS;IAChB,OAAO,QAAS;IAChB,OAAO,QAAS;IAEhB,WAAW,OAAS;IACpB,eAAe,QAAS;IACxB,eAAe,QAAS;IACxB,eAAe,QAAS;IAExB,KAAK,OAAS;IACd,SAAS,QAAS;IAClB,SAAS,QAAS;IAClB,SAAS,QAAS;IAElB,IAAI,QAAS;IACb,QAAQ,QAAS;IACjB,QAAQ,QAAS;IACjB,QAAQ,QAAS;IAEjB,SAAS,QAAS;IAClB,SAAS,QAAS;IAClB,SAAS,QAAS;IAElB,SAAS,QAAS;CACnB"}
|