@codexo/exojs 0.7.11 → 0.7.12
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 +108 -0
- package/dist/esm/animation/Tween.d.ts +60 -1
- package/dist/esm/animation/Tween.js +60 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +10 -0
- package/dist/esm/animation/TweenManager.js +10 -0
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/types.d.ts +15 -0
- package/dist/esm/animation/types.js +6 -0
- package/dist/esm/animation/types.js.map +1 -1
- package/dist/esm/audio/AbstractMedia.d.ts +11 -0
- package/dist/esm/audio/AbstractMedia.js +10 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +21 -0
- package/dist/esm/audio/AudioAnalyser.js +16 -0
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +37 -0
- package/dist/esm/audio/AudioBus.js +36 -0
- package/dist/esm/audio/AudioBus.js.map +1 -1
- package/dist/esm/audio/AudioFilter.d.ts +7 -0
- package/dist/esm/audio/AudioFilter.js +6 -0
- package/dist/esm/audio/AudioFilter.js.map +1 -1
- package/dist/esm/audio/AudioListener.d.ts +19 -0
- package/dist/esm/audio/AudioListener.js +11 -0
- package/dist/esm/audio/AudioListener.js.map +1 -1
- package/dist/esm/audio/AudioManager.d.ts +37 -0
- package/dist/esm/audio/AudioManager.js +37 -0
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +21 -0
- package/dist/esm/audio/BeatDetector.js +21 -0
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Media.d.ts +11 -0
- package/dist/esm/audio/Music.d.ts +12 -0
- package/dist/esm/audio/Music.js +12 -0
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/Sound.d.ts +25 -0
- package/dist/esm/audio/Sound.js +18 -0
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.d.ts +48 -0
- package/dist/esm/audio/audio-context.js +48 -5
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts +5 -0
- package/dist/esm/audio/filters/ChorusFilter.js +4 -0
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +12 -0
- package/dist/esm/audio/filters/CompressorFilter.js +11 -0
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts +11 -0
- package/dist/esm/audio/filters/DelayFilter.js +10 -0
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts +13 -0
- package/dist/esm/audio/filters/DuckingFilter.js +12 -0
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +20 -0
- package/dist/esm/audio/filters/EqualizerFilter.js +40 -0
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
- package/dist/esm/audio/filters/GranularFilter.d.ts +6 -0
- package/dist/esm/audio/filters/GranularFilter.js +6 -0
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +10 -0
- package/dist/esm/audio/filters/HighpassFilter.js +9 -0
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/LowpassFilter.d.ts +10 -0
- package/dist/esm/audio/filters/LowpassFilter.js +9 -0
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +2 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js +2 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +12 -0
- package/dist/esm/audio/filters/ReverbFilter.js +11 -0
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts +11 -0
- package/dist/esm/audio/filters/VocoderFilter.js +11 -0
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts +6 -1
- package/dist/esm/audio/filters/WorkletFilter.js +6 -1
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
- package/dist/esm/core/Application.d.ts +63 -0
- package/dist/esm/core/Application.js +61 -0
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Bounds.d.ts +23 -0
- package/dist/esm/core/Bounds.js +23 -0
- package/dist/esm/core/Bounds.js.map +1 -1
- package/dist/esm/core/Clock.d.ts +21 -0
- package/dist/esm/core/Clock.js +21 -0
- package/dist/esm/core/Clock.js.map +1 -1
- package/dist/esm/core/Color.d.ts +35 -0
- package/dist/esm/core/Color.js +35 -0
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +46 -0
- package/dist/esm/core/Scene.js +27 -0
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +62 -0
- package/dist/esm/core/SceneManager.js +49 -0
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +31 -0
- package/dist/esm/core/SceneNode.js +31 -0
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +44 -0
- package/dist/esm/core/Signal.js +39 -0
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Time.d.ts +21 -0
- package/dist/esm/core/Time.js +21 -0
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +7 -0
- package/dist/esm/core/Timer.js +7 -0
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/core/capabilities.d.ts +12 -0
- package/dist/esm/core/capabilities.js +12 -0
- package/dist/esm/core/capabilities.js.map +1 -1
- package/dist/esm/core/types.d.ts +37 -0
- package/dist/esm/core/utils.d.ts +48 -0
- package/dist/esm/core/utils.js +48 -0
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts +8 -0
- package/dist/esm/debug/BoundingBoxesLayer.js +8 -0
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/DebugLayer.d.ts +16 -3
- package/dist/esm/debug/DebugLayer.js +11 -3
- package/dist/esm/debug/DebugLayer.js.map +1 -1
- package/dist/esm/debug/DebugOverlay.d.ts +11 -0
- package/dist/esm/debug/DebugOverlay.js +6 -0
- package/dist/esm/debug/DebugOverlay.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.d.ts +9 -0
- package/dist/esm/debug/HitTestLayer.js +9 -0
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.d.ts +17 -1
- package/dist/esm/debug/PerformanceLayer.js +18 -0
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.d.ts +8 -0
- package/dist/esm/debug/PointerStackLayer.js +10 -2
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +7 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js +7 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +48 -0
- package/dist/esm/input/Gamepad.js +43 -0
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadChannels.d.ts +8 -0
- package/dist/esm/input/GamepadChannels.js +8 -0
- package/dist/esm/input/GamepadChannels.js.map +1 -1
- package/dist/esm/input/GamepadControl.d.ts +18 -0
- package/dist/esm/input/GamepadControl.js +13 -0
- package/dist/esm/input/GamepadControl.js.map +1 -1
- package/dist/esm/input/GamepadDefinitions.d.ts +64 -1
- package/dist/esm/input/GamepadDefinitions.js +40 -1
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GamepadMapping.d.ts +32 -2
- package/dist/esm/input/GamepadMapping.js +24 -0
- package/dist/esm/input/GamepadMapping.js.map +1 -1
- package/dist/esm/input/GamepadPromptLayouts.d.ts +32 -1
- package/dist/esm/input/GamepadPromptLayouts.js +25 -1
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +10 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js +10 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +11 -2
- package/dist/esm/input/GestureRecognizer.js +11 -2
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/Input.d.ts +24 -0
- package/dist/esm/input/Input.js +22 -0
- package/dist/esm/input/Input.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +33 -0
- package/dist/esm/input/InputManager.js +33 -0
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +13 -0
- package/dist/esm/input/InteractionEvent.js +8 -0
- package/dist/esm/input/InteractionEvent.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +33 -4
- package/dist/esm/input/InteractionManager.js +33 -4
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +8 -0
- package/dist/esm/input/PlayStationGamepadMapping.js +8 -0
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
- package/dist/esm/input/Pointer.d.ts +22 -0
- package/dist/esm/input/Pointer.js +22 -0
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +8 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js +8 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
- package/dist/esm/input/XboxGamepadMapping.d.ts +8 -0
- package/dist/esm/input/XboxGamepadMapping.js +8 -0
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
- package/dist/esm/input/types.d.ts +20 -0
- package/dist/esm/input/types.js +20 -0
- package/dist/esm/input/types.js.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts +83 -0
- package/dist/esm/math/AbstractVector.js +83 -0
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts +32 -0
- package/dist/esm/math/Circle.js +34 -2
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/CircleLike.d.ts +1 -0
- package/dist/esm/math/Collision.d.ts +39 -0
- package/dist/esm/math/Collision.js +5 -0
- package/dist/esm/math/Collision.js.map +1 -1
- package/dist/esm/math/Ellipse.d.ts +11 -0
- package/dist/esm/math/Ellipse.js +18 -2
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/EllipseLike.d.ts +3 -0
- package/dist/esm/math/Flags.d.ts +31 -0
- package/dist/esm/math/Flags.js +31 -0
- package/dist/esm/math/Flags.js.map +1 -1
- package/dist/esm/math/Interval.d.ts +15 -0
- package/dist/esm/math/Interval.js +15 -0
- package/dist/esm/math/Interval.js.map +1 -1
- package/dist/esm/math/Line.d.ts +17 -1
- package/dist/esm/math/Line.js +17 -1
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/LineLike.d.ts +1 -0
- package/dist/esm/math/Matrix.d.ts +44 -3
- package/dist/esm/math/Matrix.js +44 -3
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableSize.d.ts +7 -0
- package/dist/esm/math/ObservableSize.js +7 -0
- package/dist/esm/math/ObservableSize.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +9 -0
- package/dist/esm/math/ObservableVector.js +9 -0
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/PointLike.d.ts +1 -0
- package/dist/esm/math/PolarVector.d.ts +15 -0
- package/dist/esm/math/PolarVector.js +16 -1
- package/dist/esm/math/PolarVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +20 -0
- package/dist/esm/math/Polygon.js +20 -0
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/PolygonLike.d.ts +4 -0
- package/dist/esm/math/Quadtree.d.ts +40 -3
- package/dist/esm/math/Quadtree.js +39 -3
- package/dist/esm/math/Quadtree.js.map +1 -1
- package/dist/esm/math/Random.d.ts +25 -0
- package/dist/esm/math/Random.js +25 -0
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +15 -0
- package/dist/esm/math/Rectangle.js +17 -2
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/RectangleLike.d.ts +1 -0
- package/dist/esm/math/Segment.d.ts +7 -0
- package/dist/esm/math/Segment.js +7 -0
- package/dist/esm/math/Segment.js.map +1 -1
- package/dist/esm/math/ShapeLike.d.ts +6 -0
- package/dist/esm/math/Size.d.ts +9 -0
- package/dist/esm/math/Size.js +9 -0
- package/dist/esm/math/Size.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +16 -0
- package/dist/esm/math/Vector.js +16 -0
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +47 -1
- package/dist/esm/math/collision-detection.js +228 -17
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +23 -0
- package/dist/esm/math/collision-primitives.js +23 -0
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +42 -0
- package/dist/esm/math/geometry.js +37 -0
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/utils.d.ts +41 -0
- package/dist/esm/math/utils.js +41 -0
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/particles/Particle.d.ts +37 -0
- package/dist/esm/particles/Particle.js +37 -0
- package/dist/esm/particles/Particle.js.map +1 -1
- package/dist/esm/particles/ParticleProperties.d.ts +15 -0
- package/dist/esm/particles/ParticleSystem.d.ts +69 -0
- package/dist/esm/particles/ParticleSystem.js +69 -0
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/affectors/ColorAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ColorAffector.js +13 -0
- package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
- package/dist/esm/particles/affectors/ForceAffector.d.ts +11 -0
- package/dist/esm/particles/affectors/ForceAffector.js +11 -0
- package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
- package/dist/esm/particles/affectors/ParticleAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ScaleAffector.d.ts +10 -0
- package/dist/esm/particles/affectors/ScaleAffector.js +10 -0
- package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
- package/dist/esm/particles/affectors/TorqueAffector.d.ts +11 -0
- package/dist/esm/particles/affectors/TorqueAffector.js +11 -0
- package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
- package/dist/esm/particles/emitters/ParticleEmitter.d.ts +13 -0
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +16 -0
- package/dist/esm/particles/emitters/ParticleOptions.js +16 -0
- package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
- package/dist/esm/particles/emitters/UniversalEmitter.d.ts +23 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js +23 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.d.ts +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +43 -0
- package/dist/esm/rendering/Container.js +43 -0
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.d.ts +22 -0
- package/dist/esm/rendering/Drawable.js +22 -0
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +13 -0
- package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
- package/dist/esm/rendering/RenderBackendType.js +4 -0
- package/dist/esm/rendering/RenderBackendType.js.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts +18 -0
- package/dist/esm/rendering/RenderNode.js +18 -0
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderPass.d.ts +8 -0
- package/dist/esm/rendering/RenderStats.d.ts +19 -0
- package/dist/esm/rendering/RenderStats.js +7 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RenderTarget.d.ts +17 -0
- package/dist/esm/rendering/RenderTarget.js +17 -0
- package/dist/esm/rendering/RenderTarget.js.map +1 -1
- package/dist/esm/rendering/RenderTargetPass.d.ts +11 -0
- package/dist/esm/rendering/RenderTargetPass.js +7 -0
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
- package/dist/esm/rendering/Renderer.d.ts +15 -0
- package/dist/esm/rendering/RendererRegistry.d.ts +7 -0
- package/dist/esm/rendering/RendererRegistry.js +7 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +67 -2
- package/dist/esm/rendering/View.js +57 -0
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/BlurFilter.d.ts +9 -0
- package/dist/esm/rendering/filters/BlurFilter.js +8 -0
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
- package/dist/esm/rendering/filters/ColorFilter.d.ts +7 -0
- package/dist/esm/rendering/filters/ColorFilter.js +7 -0
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
- package/dist/esm/rendering/filters/Filter.d.ts +23 -0
- package/dist/esm/rendering/filters/Filter.js +20 -0
- package/dist/esm/rendering/filters/Filter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +5 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +5 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +5 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
- package/dist/esm/rendering/mesh/Mesh.js +2 -0
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +34 -0
- package/dist/esm/rendering/primitives/Graphics.js +34 -0
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.d.ts +36 -0
- package/dist/esm/rendering/shader/Shader.js +26 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts +13 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js +13 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +27 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +28 -1
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +38 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js +36 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +56 -0
- package/dist/esm/rendering/sprite/Sprite.js +56 -0
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +25 -0
- package/dist/esm/rendering/sprite/Spritesheet.js +20 -0
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts +2 -0
- package/dist/esm/rendering/text/Text.js +2 -0
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.d.ts +29 -0
- package/dist/esm/rendering/text/TextStyle.js +24 -0
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/types.d.ts +1 -0
- package/dist/esm/rendering/texture/RenderTexture.d.ts +16 -0
- package/dist/esm/rendering/texture/RenderTexture.js +16 -0
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Sampler.d.ts +23 -0
- package/dist/esm/rendering/texture/Sampler.js +13 -0
- package/dist/esm/rendering/texture/Sampler.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +30 -0
- package/dist/esm/rendering/texture/Texture.js +30 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +29 -0
- package/dist/esm/rendering/types.js +29 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/utils.d.ts +20 -0
- package/dist/esm/rendering/utils.js +10 -0
- package/dist/esm/rendering/utils.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +35 -1
- package/dist/esm/rendering/video/Video.js +36 -2
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +13 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +13 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +8 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +8 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +35 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +135 -5
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/resources/AbstractAssetFactory.d.ts +20 -0
- package/dist/esm/resources/AbstractAssetFactory.js +20 -0
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
- package/dist/esm/resources/AssetFactory.d.ts +26 -0
- package/dist/esm/resources/AssetManifest.d.ts +45 -0
- package/dist/esm/resources/AssetManifest.js +25 -0
- package/dist/esm/resources/AssetManifest.js.map +1 -1
- package/dist/esm/resources/CacheFirstStrategy.d.ts +12 -0
- package/dist/esm/resources/CacheFirstStrategy.js +12 -0
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
- package/dist/esm/resources/CacheStore.d.ts +23 -0
- package/dist/esm/resources/CacheStrategy.d.ts +20 -0
- package/dist/esm/resources/Database.d.ts +45 -0
- package/dist/esm/resources/FactoryRegistry.d.ts +28 -0
- package/dist/esm/resources/FactoryRegistry.js +24 -0
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts +22 -1
- package/dist/esm/resources/IndexedDbDatabase.js +21 -0
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.d.ts +20 -0
- package/dist/esm/resources/IndexedDbStore.js +12 -0
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +167 -0
- package/dist/esm/resources/Loader.js +110 -0
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +8 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js +8 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
- package/dist/esm/resources/factories/BinaryFactory.d.ts +13 -0
- package/dist/esm/resources/factories/BinaryFactory.js +13 -0
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
- package/dist/esm/resources/factories/FontFactory.d.ts +37 -0
- package/dist/esm/resources/factories/FontFactory.js +26 -0
- package/dist/esm/resources/factories/FontFactory.js.map +1 -1
- package/dist/esm/resources/factories/ImageFactory.d.ts +24 -0
- package/dist/esm/resources/factories/ImageFactory.js +19 -0
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
- package/dist/esm/resources/factories/JsonFactory.d.ts +13 -0
- package/dist/esm/resources/factories/JsonFactory.js +13 -0
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +36 -0
- package/dist/esm/resources/factories/MusicFactory.js +44 -4
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +29 -0
- package/dist/esm/resources/factories/SoundFactory.js +18 -0
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SvgFactory.d.ts +19 -0
- package/dist/esm/resources/factories/SvgFactory.js +19 -0
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextFactory.d.ts +11 -0
- package/dist/esm/resources/factories/TextFactory.js +11 -0
- package/dist/esm/resources/factories/TextFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextureFactory.d.ts +25 -0
- package/dist/esm/resources/factories/TextureFactory.js +20 -0
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +37 -0
- package/dist/esm/resources/factories/VideoFactory.js +48 -5
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +18 -0
- package/dist/esm/resources/factories/VttFactory.js +24 -0
- package/dist/esm/resources/factories/VttFactory.js.map +1 -1
- package/dist/esm/resources/factories/WasmFactory.d.ts +16 -0
- package/dist/esm/resources/factories/WasmFactory.js +16 -0
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
- package/dist/esm/resources/utils.d.ts +10 -0
- package/dist/esm/resources/utils.js +10 -0
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/exo.esm.js +3392 -59
- package/dist/exo.esm.js.map +1 -1
- package/package.json +7 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sprite.js","sources":["../../../../../src/rendering/sprite/Sprite.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"Sprite.js","sources":["../../../../../src/rendering/sprite/Sprite.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Texture } from '../texture/Texture';
|
|
2
2
|
import { Rectangle } from '@/math/Rectangle';
|
|
3
3
|
import { Sprite } from './Sprite';
|
|
4
|
+
/** A single frame entry in a {@link SpritesheetData} descriptor. */
|
|
4
5
|
export interface SpritesheetFrame {
|
|
5
6
|
frame: {
|
|
6
7
|
x: number;
|
|
@@ -9,6 +10,10 @@ export interface SpritesheetFrame {
|
|
|
9
10
|
h: number;
|
|
10
11
|
};
|
|
11
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* JSON-compatible descriptor that drives {@link Spritesheet.parse}.
|
|
15
|
+
* Matches the Aseprite / TexturePacker output format (subset).
|
|
16
|
+
*/
|
|
12
17
|
export interface SpritesheetData {
|
|
13
18
|
frames: {
|
|
14
19
|
[name: string]: SpritesheetFrame;
|
|
@@ -17,18 +22,38 @@ export interface SpritesheetData {
|
|
|
17
22
|
[name: string]: Array<string>;
|
|
18
23
|
};
|
|
19
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Slices a single {@link Texture} into named frames and optional named
|
|
27
|
+
* animation sequences.
|
|
28
|
+
*
|
|
29
|
+
* Each frame is stored as both a {@link Rectangle} (the pixel region) and a
|
|
30
|
+
* pre-configured {@link Sprite} ready for direct rendering. Animations are
|
|
31
|
+
* ordered lists of frame names that {@link AnimatedSprite.fromSpritesheet}
|
|
32
|
+
* consumes to create playback clips.
|
|
33
|
+
*/
|
|
20
34
|
export declare class Spritesheet {
|
|
21
35
|
readonly texture: Texture;
|
|
22
36
|
readonly frames: Map<string, Rectangle>;
|
|
23
37
|
readonly sprites: Map<string, Sprite>;
|
|
24
38
|
readonly animations: Map<string, readonly string[]>;
|
|
25
39
|
constructor(texture: Texture, data: SpritesheetData);
|
|
40
|
+
/**
|
|
41
|
+
* Parse a {@link SpritesheetData} descriptor, populating `frames`,
|
|
42
|
+
* `sprites`, and `animations`. When `keepFrames` is `false` (default),
|
|
43
|
+
* all existing frames and sprites are destroyed before parsing.
|
|
44
|
+
*/
|
|
26
45
|
parse(data: SpritesheetData, keepFrames?: boolean): void;
|
|
46
|
+
/** Register a single frame by name, creating its {@link Rectangle} and pre-configured {@link Sprite}. */
|
|
27
47
|
addFrame(name: string, data: SpritesheetFrame): void;
|
|
48
|
+
/** Register an animation sequence as an ordered list of frame names. All referenced frames must already exist. */
|
|
28
49
|
defineAnimation(name: string, frameNames: ReadonlyArray<string>): this;
|
|
50
|
+
/** Return the {@link Rectangle} for the named frame. Throws if the frame does not exist. */
|
|
29
51
|
getFrame(name: string): Rectangle;
|
|
52
|
+
/** Return the ordered frame-name list for the named animation. Throws if the animation does not exist. */
|
|
30
53
|
getAnimationFrameNames(name: string): ReadonlyArray<string>;
|
|
54
|
+
/** Return the pre-configured {@link Sprite} for the named frame. Throws if the frame does not exist. */
|
|
31
55
|
getFrameSprite(name: string): Sprite;
|
|
56
|
+
/** Destroy all registered frames, sprites, and animations, resetting the spritesheet to an empty state. */
|
|
32
57
|
clear(): this;
|
|
33
58
|
destroy(): void;
|
|
34
59
|
}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { Rectangle } from '../../math/Rectangle.js';
|
|
2
2
|
import { Sprite } from './Sprite.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Slices a single {@link Texture} into named frames and optional named
|
|
6
|
+
* animation sequences.
|
|
7
|
+
*
|
|
8
|
+
* Each frame is stored as both a {@link Rectangle} (the pixel region) and a
|
|
9
|
+
* pre-configured {@link Sprite} ready for direct rendering. Animations are
|
|
10
|
+
* ordered lists of frame names that {@link AnimatedSprite.fromSpritesheet}
|
|
11
|
+
* consumes to create playback clips.
|
|
12
|
+
*/
|
|
4
13
|
class Spritesheet {
|
|
5
14
|
texture;
|
|
6
15
|
frames = new Map();
|
|
@@ -10,6 +19,11 @@ class Spritesheet {
|
|
|
10
19
|
this.texture = texture;
|
|
11
20
|
this.parse(data);
|
|
12
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse a {@link SpritesheetData} descriptor, populating `frames`,
|
|
24
|
+
* `sprites`, and `animations`. When `keepFrames` is `false` (default),
|
|
25
|
+
* all existing frames and sprites are destroyed before parsing.
|
|
26
|
+
*/
|
|
13
27
|
parse(data, keepFrames = false) {
|
|
14
28
|
if (!keepFrames) {
|
|
15
29
|
this.clear();
|
|
@@ -23,6 +37,7 @@ class Spritesheet {
|
|
|
23
37
|
}
|
|
24
38
|
}
|
|
25
39
|
}
|
|
40
|
+
/** Register a single frame by name, creating its {@link Rectangle} and pre-configured {@link Sprite}. */
|
|
26
41
|
addFrame(name, data) {
|
|
27
42
|
const { x, y, w, h } = data.frame;
|
|
28
43
|
const frame = new Rectangle(x, y, w, h);
|
|
@@ -31,6 +46,7 @@ class Spritesheet {
|
|
|
31
46
|
this.frames.set(name, frame);
|
|
32
47
|
this.sprites.set(name, sprite);
|
|
33
48
|
}
|
|
49
|
+
/** Register an animation sequence as an ordered list of frame names. All referenced frames must already exist. */
|
|
34
50
|
defineAnimation(name, frameNames) {
|
|
35
51
|
if (name.trim().length === 0) {
|
|
36
52
|
throw new Error('Spritesheet animation names must be non-empty strings.');
|
|
@@ -46,6 +62,7 @@ class Spritesheet {
|
|
|
46
62
|
this.animations.set(name, [...frameNames]);
|
|
47
63
|
return this;
|
|
48
64
|
}
|
|
65
|
+
/** Return the {@link Rectangle} for the named frame. Throws if the frame does not exist. */
|
|
49
66
|
getFrame(name) {
|
|
50
67
|
const frame = this.frames.get(name);
|
|
51
68
|
if (!frame) {
|
|
@@ -53,6 +70,7 @@ class Spritesheet {
|
|
|
53
70
|
}
|
|
54
71
|
return frame;
|
|
55
72
|
}
|
|
73
|
+
/** Return the ordered frame-name list for the named animation. Throws if the animation does not exist. */
|
|
56
74
|
getAnimationFrameNames(name) {
|
|
57
75
|
const frames = this.animations.get(name);
|
|
58
76
|
if (!frames) {
|
|
@@ -60,6 +78,7 @@ class Spritesheet {
|
|
|
60
78
|
}
|
|
61
79
|
return frames;
|
|
62
80
|
}
|
|
81
|
+
/** Return the pre-configured {@link Sprite} for the named frame. Throws if the frame does not exist. */
|
|
63
82
|
getFrameSprite(name) {
|
|
64
83
|
const sprite = this.sprites.get(name);
|
|
65
84
|
if (!sprite) {
|
|
@@ -67,6 +86,7 @@ class Spritesheet {
|
|
|
67
86
|
}
|
|
68
87
|
return sprite;
|
|
69
88
|
}
|
|
89
|
+
/** Destroy all registered frames, sprites, and animations, resetting the spritesheet to an empty state. */
|
|
70
90
|
clear() {
|
|
71
91
|
for (const frame of this.frames.values()) {
|
|
72
92
|
frame.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spritesheet.js","sources":["../../../../../src/rendering/sprite/Spritesheet.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Spritesheet.js","sources":["../../../../../src/rendering/sprite/Spritesheet.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,9 @@ export declare class Text extends Container {
|
|
|
23
23
|
set text(value: string);
|
|
24
24
|
get style(): TextStyle;
|
|
25
25
|
set style(style: TextStyle | TextStyleOptions);
|
|
26
|
+
/** Replace the displayed string and rebuild the glyph mesh if the value changed. */
|
|
26
27
|
setText(text: string): this;
|
|
28
|
+
/** Replace the active style and rebuild the glyph mesh unconditionally. */
|
|
27
29
|
setStyle(style: TextStyle | TextStyleOptions): this;
|
|
28
30
|
destroy(): void;
|
|
29
31
|
private _rebuild;
|
|
@@ -86,6 +86,7 @@ class Text extends Container {
|
|
|
86
86
|
set style(style) {
|
|
87
87
|
this.setStyle(style);
|
|
88
88
|
}
|
|
89
|
+
/** Replace the displayed string and rebuild the glyph mesh if the value changed. */
|
|
89
90
|
setText(text) {
|
|
90
91
|
if (this._text !== text) {
|
|
91
92
|
this._text = text;
|
|
@@ -93,6 +94,7 @@ class Text extends Container {
|
|
|
93
94
|
}
|
|
94
95
|
return this;
|
|
95
96
|
}
|
|
97
|
+
/** Replace the active style and rebuild the glyph mesh unconditionally. */
|
|
96
98
|
setStyle(style) {
|
|
97
99
|
this._style = (style instanceof TextStyle) ? style : new TextStyle(style);
|
|
98
100
|
this._rebuild();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../../../../src/rendering/text/Text.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../../../../src/rendering/text/Text.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Color } from '@/core/Color';
|
|
2
2
|
import type { TextAlignment } from './types';
|
|
3
|
+
/** A CSS color string, canvas gradient, or canvas pattern accepted as fill or stroke. */
|
|
3
4
|
export type TextStyleColor = string | CanvasGradient | CanvasPattern;
|
|
5
|
+
/**
|
|
6
|
+
* Construction-time options for a {@link TextStyle}.
|
|
7
|
+
* All properties are optional; defaults match the {@link TextStyle} constructor defaults.
|
|
8
|
+
*/
|
|
4
9
|
export interface TextStyleOptions {
|
|
5
10
|
align?: TextAlignment;
|
|
6
11
|
fill?: TextStyleColor;
|
|
@@ -19,6 +24,16 @@ export interface TextStyleOptions {
|
|
|
19
24
|
miterLimit?: number;
|
|
20
25
|
padding?: number;
|
|
21
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Immutable-style value bag that describes how a {@link Text} node should
|
|
29
|
+
* render its string. Every property setter marks the style as `dirty` so
|
|
30
|
+
* that the owning Text can detect changes and rebuild its glyph mesh.
|
|
31
|
+
*
|
|
32
|
+
* Glyphs are always rasterized in white; `fillColor` is applied as a
|
|
33
|
+
* `Mesh.tint` multiplier at draw time, so changing it never triggers
|
|
34
|
+
* atlas re-rasterization. The canvas `fill` / `stroke` properties are
|
|
35
|
+
* used only during glyph rasterization itself.
|
|
36
|
+
*/
|
|
22
37
|
export declare class TextStyle {
|
|
23
38
|
private _align;
|
|
24
39
|
private _fill;
|
|
@@ -79,10 +94,24 @@ export declare class TextStyle {
|
|
|
79
94
|
set miterLimit(miterLimit: number);
|
|
80
95
|
get padding(): number;
|
|
81
96
|
set padding(padding: number);
|
|
97
|
+
/**
|
|
98
|
+
* Whether any property has changed since the last time this flag was
|
|
99
|
+
* cleared. {@link Text} reads this to decide whether to rebuild its mesh.
|
|
100
|
+
*/
|
|
82
101
|
get dirty(): boolean;
|
|
83
102
|
set dirty(dirty: boolean);
|
|
103
|
+
/**
|
|
104
|
+
* CSS font string derived from `fontWeight`, `fontSize`, and `fontFamily`.
|
|
105
|
+
* Used as `CanvasRenderingContext2D.font` during glyph rasterization.
|
|
106
|
+
*/
|
|
84
107
|
get font(): string;
|
|
108
|
+
/**
|
|
109
|
+
* Apply this style's properties to a canvas 2D context so the next
|
|
110
|
+
* `fillText` / `strokeText` call uses the correct font, color, and stroke.
|
|
111
|
+
*/
|
|
85
112
|
apply(context: CanvasRenderingContext2D): this;
|
|
113
|
+
/** Copy all properties from `style` into this instance and return `this`. */
|
|
86
114
|
copy(style: TextStyle): this;
|
|
115
|
+
/** Return a new {@link TextStyle} with all properties copied from this one. */
|
|
87
116
|
clone(): TextStyle;
|
|
88
117
|
}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { Color } from '../../core/Color.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Immutable-style value bag that describes how a {@link Text} node should
|
|
5
|
+
* render its string. Every property setter marks the style as `dirty` so
|
|
6
|
+
* that the owning Text can detect changes and rebuild its glyph mesh.
|
|
7
|
+
*
|
|
8
|
+
* Glyphs are always rasterized in white; `fillColor` is applied as a
|
|
9
|
+
* `Mesh.tint` multiplier at draw time, so changing it never triggers
|
|
10
|
+
* atlas re-rasterization. The canvas `fill` / `stroke` properties are
|
|
11
|
+
* used only during glyph rasterization itself.
|
|
12
|
+
*/
|
|
3
13
|
class TextStyle {
|
|
4
14
|
_align;
|
|
5
15
|
_fill;
|
|
@@ -187,15 +197,27 @@ class TextStyle {
|
|
|
187
197
|
this._dirty = true;
|
|
188
198
|
}
|
|
189
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Whether any property has changed since the last time this flag was
|
|
202
|
+
* cleared. {@link Text} reads this to decide whether to rebuild its mesh.
|
|
203
|
+
*/
|
|
190
204
|
get dirty() {
|
|
191
205
|
return this._dirty;
|
|
192
206
|
}
|
|
193
207
|
set dirty(dirty) {
|
|
194
208
|
this._dirty = dirty;
|
|
195
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* CSS font string derived from `fontWeight`, `fontSize`, and `fontFamily`.
|
|
212
|
+
* Used as `CanvasRenderingContext2D.font` during glyph rasterization.
|
|
213
|
+
*/
|
|
196
214
|
get font() {
|
|
197
215
|
return `${this._fontWeight} ${this._fontSize}px ${this._fontFamily}`;
|
|
198
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Apply this style's properties to a canvas 2D context so the next
|
|
219
|
+
* `fillText` / `strokeText` call uses the correct font, color, and stroke.
|
|
220
|
+
*/
|
|
199
221
|
apply(context) {
|
|
200
222
|
context.font = this.font;
|
|
201
223
|
context.fillStyle = this.fill;
|
|
@@ -206,6 +228,7 @@ class TextStyle {
|
|
|
206
228
|
context.miterLimit = this.miterLimit;
|
|
207
229
|
return this;
|
|
208
230
|
}
|
|
231
|
+
/** Copy all properties from `style` into this instance and return `this`. */
|
|
209
232
|
copy(style) {
|
|
210
233
|
if (style !== this) {
|
|
211
234
|
this.align = style.align;
|
|
@@ -228,6 +251,7 @@ class TextStyle {
|
|
|
228
251
|
}
|
|
229
252
|
return this;
|
|
230
253
|
}
|
|
254
|
+
/** Return a new {@link TextStyle} with all properties copied from this one. */
|
|
231
255
|
clone() {
|
|
232
256
|
return new TextStyle().copy(this);
|
|
233
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextStyle.js","sources":["../../../../../src/rendering/text/TextStyle.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"TextStyle.js","sources":["../../../../../src/rendering/text/TextStyle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { RenderTarget } from '@/rendering/RenderTarget';
|
|
2
2
|
import { ScaleModes, WrapModes } from '@/rendering/types';
|
|
3
3
|
import type { SamplerOptions } from '@/rendering/texture/Sampler';
|
|
4
|
+
/**
|
|
5
|
+
* An off-screen render target that can also be sampled as a texture.
|
|
6
|
+
*
|
|
7
|
+
* Combines {@link RenderTarget} (framebuffer attachment) with the sampler
|
|
8
|
+
* parameters of a {@link Texture} (scale mode, wrap mode, mip generation).
|
|
9
|
+
* A `textureVersion` counter is incremented on every mutation so backends
|
|
10
|
+
* can detect when to re-create the underlying GPU texture object.
|
|
11
|
+
*
|
|
12
|
+
* Mipmap generation is disabled by default because render targets are typically
|
|
13
|
+
* updated every frame and mip generation is expensive.
|
|
14
|
+
*/
|
|
4
15
|
export declare class RenderTexture extends RenderTarget {
|
|
5
16
|
static defaultSamplerOptions: SamplerOptions;
|
|
6
17
|
private _source;
|
|
@@ -23,7 +34,12 @@ export declare class RenderTexture extends RenderTarget {
|
|
|
23
34
|
set generateMipMap(generateMipMap: boolean);
|
|
24
35
|
get flipY(): boolean;
|
|
25
36
|
set flipY(flipY: boolean);
|
|
37
|
+
/** Whether both dimensions are powers of two. */
|
|
26
38
|
get powerOfTwo(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Monotonically increasing counter incremented whenever a sampler parameter changes
|
|
41
|
+
* or the source data is updated. Backends use this to detect stale GPU texture state.
|
|
42
|
+
*/
|
|
27
43
|
get textureVersion(): number;
|
|
28
44
|
setScaleMode(scaleMode: ScaleModes): this;
|
|
29
45
|
setWrapMode(wrapMode: WrapModes): this;
|
|
@@ -2,6 +2,17 @@ import { isPowerOfTwo } from '../../math/utils.js';
|
|
|
2
2
|
import { RenderTarget } from '../RenderTarget.js';
|
|
3
3
|
import { WrapModes, ScaleModes } from '../types.js';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* An off-screen render target that can also be sampled as a texture.
|
|
7
|
+
*
|
|
8
|
+
* Combines {@link RenderTarget} (framebuffer attachment) with the sampler
|
|
9
|
+
* parameters of a {@link Texture} (scale mode, wrap mode, mip generation).
|
|
10
|
+
* A `textureVersion` counter is incremented on every mutation so backends
|
|
11
|
+
* can detect when to re-create the underlying GPU texture object.
|
|
12
|
+
*
|
|
13
|
+
* Mipmap generation is disabled by default because render targets are typically
|
|
14
|
+
* updated every frame and mip generation is expensive.
|
|
15
|
+
*/
|
|
5
16
|
class RenderTexture extends RenderTarget {
|
|
6
17
|
static defaultSamplerOptions = {
|
|
7
18
|
scaleMode: ScaleModes.Linear,
|
|
@@ -63,9 +74,14 @@ class RenderTexture extends RenderTarget {
|
|
|
63
74
|
set flipY(flipY) {
|
|
64
75
|
this._flipY = flipY;
|
|
65
76
|
}
|
|
77
|
+
/** Whether both dimensions are powers of two. */
|
|
66
78
|
get powerOfTwo() {
|
|
67
79
|
return isPowerOfTwo(this.width) && isPowerOfTwo(this.height);
|
|
68
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Monotonically increasing counter incremented whenever a sampler parameter changes
|
|
83
|
+
* or the source data is updated. Backends use this to detect stale GPU texture state.
|
|
84
|
+
*/
|
|
69
85
|
get textureVersion() {
|
|
70
86
|
return this._textureVersion;
|
|
71
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTexture.js","sources":["../../../../../src/rendering/texture/RenderTexture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"RenderTexture.js","sources":["../../../../../src/rendering/texture/RenderTexture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
import type { ScaleModes, WrapModes } from '@/rendering/types';
|
|
2
|
+
/**
|
|
3
|
+
* Full set of texture sampling and upload parameters.
|
|
4
|
+
* Used by both {@link Texture} and {@link RenderTexture} to configure the GPU sampler
|
|
5
|
+
* and the pixel-store state at upload time.
|
|
6
|
+
*/
|
|
2
7
|
export interface SamplerOptions {
|
|
8
|
+
/** Minification and magnification filter applied when sampling the texture. */
|
|
3
9
|
scaleMode: ScaleModes;
|
|
10
|
+
/** Behaviour when UV coordinates exceed [0, 1]. */
|
|
4
11
|
wrapMode: WrapModes;
|
|
12
|
+
/** Whether pixel values are premultiplied by their alpha before uploading to the GPU. */
|
|
5
13
|
premultiplyAlpha: boolean;
|
|
14
|
+
/** Whether to generate a full mipmap chain after upload. */
|
|
6
15
|
generateMipMap: boolean;
|
|
16
|
+
/** Whether to flip the image vertically during upload (WebGL's Y-axis convention). */
|
|
7
17
|
flipY: boolean;
|
|
8
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* WebGL2 sampler object wrapper that controls texture filtering and wrapping.
|
|
21
|
+
*
|
|
22
|
+
* Creates a `WebGLSampler` on construction and updates its parameters whenever
|
|
23
|
+
* `scaleMode` or `wrapMode` changes. Bind the sampler to a texture unit with
|
|
24
|
+
* {@link bind} before issuing draw calls. Note: `premultiplyAlpha`, `generateMipMap`,
|
|
25
|
+
* and `flipY` are pixel-store parameters handled at texture upload time; this class
|
|
26
|
+
* only manages filter and wrap state.
|
|
27
|
+
*/
|
|
9
28
|
export declare class Sampler {
|
|
10
29
|
private readonly _context;
|
|
11
30
|
private readonly _sampler;
|
|
@@ -19,6 +38,10 @@ export declare class Sampler {
|
|
|
19
38
|
set wrapMode(wrapMode: WrapModes);
|
|
20
39
|
setScaleMode(scaleMode: ScaleModes): this;
|
|
21
40
|
setWrapMode(wrapMode: WrapModes): this;
|
|
41
|
+
/**
|
|
42
|
+
* Bind this sampler to `textureUnit` for the next draw call.
|
|
43
|
+
* Must be called each time the active texture unit changes.
|
|
44
|
+
*/
|
|
22
45
|
bind(textureUnit: number): this;
|
|
23
46
|
destroy(): void;
|
|
24
47
|
private updateScaleModeParameters;
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebGL2 sampler object wrapper that controls texture filtering and wrapping.
|
|
3
|
+
*
|
|
4
|
+
* Creates a `WebGLSampler` on construction and updates its parameters whenever
|
|
5
|
+
* `scaleMode` or `wrapMode` changes. Bind the sampler to a texture unit with
|
|
6
|
+
* {@link bind} before issuing draw calls. Note: `premultiplyAlpha`, `generateMipMap`,
|
|
7
|
+
* and `flipY` are pixel-store parameters handled at texture upload time; this class
|
|
8
|
+
* only manages filter and wrap state.
|
|
9
|
+
*/
|
|
1
10
|
class Sampler {
|
|
2
11
|
_context;
|
|
3
12
|
_sampler;
|
|
@@ -45,6 +54,10 @@ class Sampler {
|
|
|
45
54
|
}
|
|
46
55
|
return this;
|
|
47
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Bind this sampler to `textureUnit` for the next draw call.
|
|
59
|
+
* Must be called each time the active texture unit changes.
|
|
60
|
+
*/
|
|
48
61
|
bind(textureUnit) {
|
|
49
62
|
this._context.bindSampler(textureUnit, this._sampler);
|
|
50
63
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sampler.js","sources":["../../../../../src/rendering/texture/Sampler.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Sampler.js","sources":["../../../../../src/rendering/texture/Sampler.ts"],"sourcesContent":[null],"names":[],"mappings":"AAoBA;;;;;;;;AAQG;MACU,OAAO,CAAA;AAEC,IAAA,QAAQ;AACR,IAAA,QAAQ;AACjB,IAAA,UAAU;AACV,IAAA,SAAS;IAEjB,WAAA,CAAmB,EAA0B,EAAE,OAAuB,EAAA;AAClE,QAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO;AAEvC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;AAClB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,EAAE;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;;;;;QAOzB,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,yBAAyB,EAAE;IACpC;AAEA,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ;IACxB;AAEA,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IAC1B;IAEA,IAAW,SAAS,CAAC,SAAqB,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAChC;AAEA,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,IAAW,QAAQ,CAAC,QAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC9B;AAEO,IAAA,YAAY,CAAC,SAAqB,EAAA;AACrC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,yBAAyB,EAAE;QACpC;AAEA,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,WAAW,CAAC,QAAmB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;YACzB,IAAI,CAAC,wBAAwB,EAAE;QACnC;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;AAGG;AACI,IAAA,IAAI,CAAC,WAAmB,EAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;AAErD,QAAA,OAAO,IAAI;IACf;IAEO,OAAO,GAAA;QACV,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9C;IAEQ,yBAAyB,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;QAC5E;AAEA,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ;AAExB,QAAA,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC;AAC3E,QAAA,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC;IAC/E;IAEQ,wBAAwB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;QAC5E;AAEA,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ;AAExB,QAAA,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;AACtE,QAAA,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;IAC1E;AACH;;;;"}
|
|
@@ -2,6 +2,17 @@ import { ScaleModes, WrapModes } from '@/rendering/types';
|
|
|
2
2
|
import { Size } from '@/math/Size';
|
|
3
3
|
import type { SamplerOptions } from './Sampler';
|
|
4
4
|
import type { TextureSource } from '@/core/types';
|
|
5
|
+
/**
|
|
6
|
+
* A static GPU texture sourced from an image, canvas, or video element.
|
|
7
|
+
*
|
|
8
|
+
* Holds the pixel source and sampling parameters ({@link ScaleModes}, {@link WrapModes},
|
|
9
|
+
* mip generation, alpha premultiplication). A `version` counter is incremented on every
|
|
10
|
+
* mutation so backends can detect stale GPU uploads without polling.
|
|
11
|
+
*
|
|
12
|
+
* Static helpers {@link Texture.black}, {@link Texture.white}, and {@link Texture.empty}
|
|
13
|
+
* provide ready-made placeholder textures. Default sampler options are configurable via
|
|
14
|
+
* {@link Texture.defaultSamplerOptions}.
|
|
15
|
+
*/
|
|
5
16
|
export declare class Texture {
|
|
6
17
|
private static _black;
|
|
7
18
|
private static _white;
|
|
@@ -37,14 +48,33 @@ export declare class Texture {
|
|
|
37
48
|
set generateMipMap(generateMipMap: boolean);
|
|
38
49
|
get flipY(): boolean;
|
|
39
50
|
set flipY(flipY: boolean);
|
|
51
|
+
/**
|
|
52
|
+
* Whether both dimensions are powers of two.
|
|
53
|
+
* Non-power-of-two textures may have limited wrap-mode support on some hardware.
|
|
54
|
+
*/
|
|
40
55
|
get powerOfTwo(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Monotonically increasing version counter.
|
|
58
|
+
* Incremented by any mutation that requires a GPU re-upload (source change,
|
|
59
|
+
* size change, or sampler parameter change). Backends compare this value to
|
|
60
|
+
* their cached version to decide whether to re-upload the texture.
|
|
61
|
+
*/
|
|
41
62
|
get version(): number;
|
|
63
|
+
/**
|
|
64
|
+
* Register a callback to be invoked just before this texture is destroyed.
|
|
65
|
+
* Useful for backends to release their GPU-side texture objects.
|
|
66
|
+
*/
|
|
42
67
|
addDestroyListener(listener: () => void): this;
|
|
43
68
|
removeDestroyListener(listener: () => void): this;
|
|
44
69
|
setScaleMode(scaleMode: ScaleModes): this;
|
|
45
70
|
setWrapMode(wrapMode: WrapModes): this;
|
|
46
71
|
setPremultiplyAlpha(premultiplyAlpha: boolean): this;
|
|
47
72
|
setSource(source: TextureSource): this;
|
|
73
|
+
/**
|
|
74
|
+
* Refresh the size from the current source and bump the version.
|
|
75
|
+
* Call after mutating the source's pixel data in place (e.g. drawing to a canvas)
|
|
76
|
+
* to notify backends that a re-upload is needed.
|
|
77
|
+
*/
|
|
48
78
|
updateSource(): this;
|
|
49
79
|
setSize(width: number, height: number): this;
|
|
50
80
|
destroy(): void;
|