@codexo/exojs 0.6.12 → 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 +1424 -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 +29 -0
- package/dist/esm/audio/AbstractMedia.js +76 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +83 -23
- package/dist/esm/audio/AudioAnalyser.js +277 -57
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +82 -0
- package/dist/esm/audio/AudioBus.js +255 -0
- package/dist/esm/audio/AudioBus.js.map +1 -0
- package/dist/esm/audio/AudioFilter.d.ts +16 -0
- package/dist/esm/audio/AudioFilter.js +13 -0
- package/dist/esm/audio/AudioFilter.js.map +1 -0
- package/dist/esm/audio/AudioListener.d.ts +39 -0
- package/dist/esm/audio/AudioListener.js +97 -0
- package/dist/esm/audio/AudioListener.js.map +1 -0
- package/dist/esm/audio/AudioManager.d.ts +68 -0
- package/dist/esm/audio/AudioManager.js +139 -0
- package/dist/esm/audio/AudioManager.js.map +1 -0
- package/dist/esm/audio/BeatDetector.d.ts +142 -0
- package/dist/esm/audio/BeatDetector.js +957 -0
- package/dist/esm/audio/BeatDetector.js.map +1 -0
- package/dist/esm/audio/Envelope.d.ts +44 -0
- package/dist/esm/audio/Envelope.js +60 -0
- package/dist/esm/audio/Envelope.js.map +1 -0
- package/dist/esm/audio/Media.d.ts +11 -0
- package/dist/esm/audio/Music.d.ts +20 -0
- package/dist/esm/audio/Music.js +45 -4
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/OscillatorSound.d.ts +98 -0
- package/dist/esm/audio/OscillatorSound.js +342 -0
- package/dist/esm/audio/OscillatorSound.js.map +1 -0
- package/dist/esm/audio/Sound.d.ts +119 -9
- package/dist/esm/audio/Sound.js +301 -117
- 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/crossFade.d.ts +19 -0
- package/dist/esm/audio/crossFade.js +26 -0
- package/dist/esm/audio/crossFade.js.map +1 -0
- package/dist/esm/audio/dsp/fft.d.ts +22 -0
- package/dist/esm/audio/dsp/mel.d.ts +43 -0
- package/dist/esm/audio/dsp/tempogram.d.ts +51 -0
- package/dist/esm/audio/filters/ChorusFilter.d.ts +52 -0
- package/dist/esm/audio/filters/ChorusFilter.js +143 -0
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -0
- package/dist/esm/audio/filters/CompressorFilter.d.ts +43 -0
- package/dist/esm/audio/filters/CompressorFilter.js +108 -0
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -0
- package/dist/esm/audio/filters/DelayFilter.d.ts +34 -0
- package/dist/esm/audio/filters/DelayFilter.js +110 -0
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -0
- package/dist/esm/audio/filters/DuckingFilter.d.ts +44 -0
- package/dist/esm/audio/filters/DuckingFilter.js +164 -0
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -0
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +49 -0
- package/dist/esm/audio/filters/EqualizerFilter.js +134 -0
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -0
- package/dist/esm/audio/filters/GranularFilter.d.ts +62 -0
- package/dist/esm/audio/filters/GranularFilter.js +176 -0
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -0
- package/dist/esm/audio/filters/HighpassFilter.d.ts +29 -0
- package/dist/esm/audio/filters/HighpassFilter.js +71 -0
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -0
- package/dist/esm/audio/filters/LowpassFilter.d.ts +29 -0
- package/dist/esm/audio/filters/LowpassFilter.js +71 -0
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -0
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +44 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js +132 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -0
- package/dist/esm/audio/filters/ReverbFilter.d.ts +36 -0
- package/dist/esm/audio/filters/ReverbFilter.js +118 -0
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -0
- package/dist/esm/audio/filters/VocoderFilter.d.ts +49 -0
- package/dist/esm/audio/filters/VocoderFilter.js +174 -0
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -0
- package/dist/esm/audio/filters/WorkletFilter.d.ts +51 -0
- package/dist/esm/audio/filters/WorkletFilter.js +106 -0
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -0
- package/dist/esm/audio/filters/index.d.ts +12 -0
- package/dist/esm/audio/index.d.ts +15 -1
- package/dist/esm/audio/worklet/registerWorklet.d.ts +10 -0
- package/dist/esm/audio/worklet/registerWorklet.js +44 -0
- package/dist/esm/audio/worklet/registerWorklet.js.map +1 -0
- package/dist/esm/core/Application.d.ts +82 -0
- package/dist/esm/core/Application.js +137 -2
- 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 +40 -1
- package/dist/esm/core/SceneNode.js +75 -6
- 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 +22 -1
- 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/index.d.ts +0 -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 +26 -0
- package/dist/esm/debug/BoundingBoxesLayer.js +136 -0
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -0
- package/dist/esm/debug/DebugLayer.d.ts +42 -0
- package/dist/esm/debug/DebugLayer.js +34 -0
- package/dist/esm/debug/DebugLayer.js.map +1 -0
- package/dist/esm/debug/DebugOverlay.d.ts +59 -0
- package/dist/esm/debug/DebugOverlay.js +123 -0
- package/dist/esm/debug/DebugOverlay.js.map +1 -0
- package/dist/esm/debug/HitTestLayer.d.ts +32 -0
- package/dist/esm/debug/HitTestLayer.js +118 -0
- package/dist/esm/debug/HitTestLayer.js.map +1 -0
- package/dist/esm/debug/PerformanceLayer.d.ts +37 -0
- package/dist/esm/debug/PerformanceLayer.js +193 -0
- package/dist/esm/debug/PerformanceLayer.js.map +1 -0
- package/dist/esm/debug/PointerStackLayer.d.ts +31 -0
- package/dist/esm/debug/PointerStackLayer.js +160 -0
- package/dist/esm/debug/PointerStackLayer.js.map +1 -0
- package/dist/esm/debug/index.d.ts +6 -0
- package/dist/esm/debug/index.js +7 -0
- package/dist/esm/debug/index.js.map +1 -0
- package/dist/esm/index.js +30 -4
- package/dist/esm/index.js.map +1 -1
- 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 +43 -0
- package/dist/esm/input/InputManager.js +68 -5
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +31 -0
- package/dist/esm/input/InteractionEvent.js +37 -0
- package/dist/esm/input/InteractionEvent.js.map +1 -0
- package/dist/esm/input/InteractionManager.d.ts +163 -0
- package/dist/esm/input/InteractionManager.js +575 -0
- package/dist/esm/input/InteractionManager.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/esm/input/interaction-hooks.d.ts +34 -0
- package/dist/esm/input/interaction-hooks.js +35 -0
- package/dist/esm/input/interaction-hooks.js.map +1 -0
- 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 +44 -2
- package/dist/esm/math/Circle.js +116 -16
- 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 +16 -1
- 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 +11 -2
- package/dist/esm/math/ObservableVector.js +13 -2
- 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 +35 -1
- package/dist/esm/math/Polygon.js +78 -6
- 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 +84 -0
- package/dist/esm/math/Quadtree.js +204 -0
- package/dist/esm/math/Quadtree.js.map +1 -0
- package/dist/esm/math/Random.d.ts +25 -0
- package/dist/esm/math/Random.js +26 -1
- 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 +10 -1
- package/dist/esm/math/Size.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +16 -0
- package/dist/esm/math/Vector.js +17 -1
- 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 +231 -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/index.d.ts +1 -0
- 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 +70 -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 +12 -1
- 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 +44 -0
- package/dist/esm/rendering/Container.js +62 -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 +45 -0
- package/dist/esm/rendering/RenderNode.js +62 -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 +73 -6
- package/dist/esm/rendering/View.js +69 -2
- 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 +114 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +273 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +116 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +402 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -0
- package/dist/esm/rendering/index.d.ts +3 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
- package/dist/esm/rendering/mesh/Mesh.js +3 -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/shader/upgradeFragmentShaderToGl300.d.ts +34 -0
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +60 -0
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -0
- 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 +62 -1
- package/dist/esm/rendering/sprite/Sprite.js +97 -19
- 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 +39 -1
- package/dist/esm/rendering/video/Video.js +68 -6
- 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 +17 -4
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +20 -16
- 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 +45 -8
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +160 -40
- 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 +11182 -2538
- package/dist/exo.esm.js.map +1 -1
- package/package.json +20 -9
- package/dist/esm/core/Quadtree.d.ts +0 -20
- package/dist/esm/core/Quadtree.js +0 -86
- package/dist/esm/core/Quadtree.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graphics.js","sources":["../../../../../src/rendering/primitives/Graphics.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"Graphics.js","sources":["../../../../../src/rendering/primitives/Graphics.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,34 @@
|
|
|
1
1
|
import type { ShaderAttribute } from './ShaderAttribute';
|
|
2
2
|
import type { ShaderUniform } from './ShaderUniform';
|
|
3
|
+
/**
|
|
4
|
+
* Backend-specific GPU program object paired to a {@link Shader}.
|
|
5
|
+
* Implemented separately for WebGL2 and WebGPU so `Shader` stays backend-agnostic.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
3
8
|
export interface ShaderProgram {
|
|
9
|
+
/** Compile and link the GPU program, then populate `shader.attributes` and `shader.uniforms`. */
|
|
4
10
|
initialize(shader: Shader): void;
|
|
11
|
+
/** Activate this program for subsequent draw calls. */
|
|
5
12
|
bind(shader: Shader): void;
|
|
13
|
+
/** Deactivate this program. */
|
|
6
14
|
unbind(shader: Shader): void;
|
|
15
|
+
/** Upload dirty uniform values to the GPU. */
|
|
7
16
|
sync(shader: Shader): void;
|
|
17
|
+
/** Release all GPU resources held by this program. */
|
|
8
18
|
destroy(shader: Shader): void;
|
|
9
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Backend-agnostic shader program descriptor.
|
|
22
|
+
*
|
|
23
|
+
* Holds raw GLSL source strings and, after {@link connect} is called, a live
|
|
24
|
+
* {@link ShaderProgram} with populated {@link attributes} and {@link uniforms} maps.
|
|
25
|
+
* Call {@link bind} before draw calls and {@link sync} after updating uniform values.
|
|
26
|
+
* Both maps are cleared on {@link disconnect} and {@link destroy}.
|
|
27
|
+
*/
|
|
10
28
|
export declare class Shader {
|
|
29
|
+
/** Vertex attribute metadata populated by the backend after {@link connect}. */
|
|
11
30
|
readonly attributes: Map<string, ShaderAttribute>;
|
|
31
|
+
/** Uniform metadata populated by the backend after {@link connect}. */
|
|
12
32
|
readonly uniforms: Map<string, ShaderUniform>;
|
|
13
33
|
private readonly _vertexSource;
|
|
14
34
|
private readonly _fragmentSource;
|
|
@@ -16,12 +36,28 @@ export declare class Shader {
|
|
|
16
36
|
constructor(vertexSource: string, fragmentSource: string);
|
|
17
37
|
get vertexSource(): string;
|
|
18
38
|
get fragmentSource(): string;
|
|
39
|
+
/**
|
|
40
|
+
* Attach a backend GPU program, compile/link it, and populate the attribute and uniform maps.
|
|
41
|
+
* Must be called before {@link bind}, {@link sync}, or accessing {@link attributes}/{@link uniforms}.
|
|
42
|
+
*/
|
|
19
43
|
connect(program: ShaderProgram): this;
|
|
20
44
|
disconnect(): this;
|
|
21
45
|
bind(): this;
|
|
22
46
|
unbind(): this;
|
|
47
|
+
/**
|
|
48
|
+
* Upload all dirty {@link ShaderUniform} values to the GPU.
|
|
49
|
+
* Call once per draw call after modifying uniform data.
|
|
50
|
+
*/
|
|
23
51
|
sync(): this;
|
|
52
|
+
/**
|
|
53
|
+
* Retrieve a named vertex attribute from the map populated by the backend.
|
|
54
|
+
* @throws Error if no attribute with `name` exists.
|
|
55
|
+
*/
|
|
24
56
|
getAttribute(name: string): ShaderAttribute;
|
|
57
|
+
/**
|
|
58
|
+
* Retrieve a named uniform from the map populated by the backend.
|
|
59
|
+
* @throws Error if no uniform with `name` exists.
|
|
60
|
+
*/
|
|
25
61
|
getUniform(name: string): ShaderUniform;
|
|
26
62
|
destroy(): void;
|
|
27
63
|
}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend-agnostic shader program descriptor.
|
|
3
|
+
*
|
|
4
|
+
* Holds raw GLSL source strings and, after {@link connect} is called, a live
|
|
5
|
+
* {@link ShaderProgram} with populated {@link attributes} and {@link uniforms} maps.
|
|
6
|
+
* Call {@link bind} before draw calls and {@link sync} after updating uniform values.
|
|
7
|
+
* Both maps are cleared on {@link disconnect} and {@link destroy}.
|
|
8
|
+
*/
|
|
1
9
|
class Shader {
|
|
10
|
+
/** Vertex attribute metadata populated by the backend after {@link connect}. */
|
|
2
11
|
attributes = new Map();
|
|
12
|
+
/** Uniform metadata populated by the backend after {@link connect}. */
|
|
3
13
|
uniforms = new Map();
|
|
4
14
|
_vertexSource;
|
|
5
15
|
_fragmentSource;
|
|
@@ -14,6 +24,10 @@ class Shader {
|
|
|
14
24
|
get fragmentSource() {
|
|
15
25
|
return this._fragmentSource;
|
|
16
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Attach a backend GPU program, compile/link it, and populate the attribute and uniform maps.
|
|
29
|
+
* Must be called before {@link bind}, {@link sync}, or accessing {@link attributes}/{@link uniforms}.
|
|
30
|
+
*/
|
|
17
31
|
connect(program) {
|
|
18
32
|
this._program = program;
|
|
19
33
|
program.initialize(this);
|
|
@@ -33,10 +47,18 @@ class Shader {
|
|
|
33
47
|
this._program?.unbind(this);
|
|
34
48
|
return this;
|
|
35
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Upload all dirty {@link ShaderUniform} values to the GPU.
|
|
52
|
+
* Call once per draw call after modifying uniform data.
|
|
53
|
+
*/
|
|
36
54
|
sync() {
|
|
37
55
|
this._program?.sync(this);
|
|
38
56
|
return this;
|
|
39
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Retrieve a named vertex attribute from the map populated by the backend.
|
|
60
|
+
* @throws Error if no attribute with `name` exists.
|
|
61
|
+
*/
|
|
40
62
|
getAttribute(name) {
|
|
41
63
|
const attribute = this.attributes.get(name);
|
|
42
64
|
if (!attribute) {
|
|
@@ -44,6 +66,10 @@ class Shader {
|
|
|
44
66
|
}
|
|
45
67
|
return attribute;
|
|
46
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Retrieve a named uniform from the map populated by the backend.
|
|
71
|
+
* @throws Error if no uniform with `name` exists.
|
|
72
|
+
*/
|
|
47
73
|
getUniform(name) {
|
|
48
74
|
const uniform = this.uniforms.get(name);
|
|
49
75
|
if (!uniform) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shader.js","sources":["../../../../../src/rendering/shader/Shader.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Shader.js","sources":["../../../../../src/rendering/shader/Shader.ts"],"sourcesContent":[null],"names":[],"mappings":"AAqBA;;;;;;;AAOG;MACU,MAAM,CAAA;;AAGC,IAAA,UAAU,GAAiC,IAAI,GAAG,EAA2B;;AAE7E,IAAA,QAAQ,GAA+B,IAAI,GAAG,EAAyB;AAEtE,IAAA,aAAa;AACb,IAAA,eAAe;IACxB,QAAQ,GAAyB,IAAI;IAE7C,WAAA,CAAmB,YAAoB,EAAE,cAAsB,EAAA;AAC3D,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;IACzC;AAEA,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa;IAC7B;AAEA,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe;IAC/B;AAEA;;;AAGG;AACI,IAAA,OAAO,CAAC,OAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;AAExB,QAAA,OAAO,IAAI;IACf;IAEO,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AAErB,QAAA,OAAO,IAAI;IACf;IAEO,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzB,QAAA,OAAO,IAAI;IACf;IAEO,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;AAE3B,QAAA,OAAO,IAAI;IACf;AAEA;;;AAGG;IACI,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzB,QAAA,OAAO,IAAI;IACf;AAEA;;;AAGG;AACI,IAAA,YAAY,CAAC,IAAY,EAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAE3C,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAA,mBAAA,CAAqB,CAAC;QAC5D;AAEA,QAAA,OAAO,SAAS;IACpB;AAEA;;;AAGG;AACI,IAAA,UAAU,CAAC,IAAY,EAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAA,mBAAA,CAAqB,CAAC;QAC1D;AAEA,QAAA,OAAO,OAAO;IAClB;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACzB;AACH;;;;"}
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata for a single vertex attribute declared in a GLSL vertex shader.
|
|
3
|
+
*
|
|
4
|
+
* Populated by the backend during {@link Shader.connect} using the values
|
|
5
|
+
* returned by `gl.getActiveAttrib`. The `size` field is derived from `type`
|
|
6
|
+
* via the backend's primitive-byte-size mapping and is used to stride vertex
|
|
7
|
+
* buffer layouts.
|
|
8
|
+
*/
|
|
1
9
|
export declare class ShaderAttribute {
|
|
10
|
+
/** Zero-based index of this attribute within the shader program. */
|
|
2
11
|
readonly index: number;
|
|
12
|
+
/** GLSL attribute name as declared in the vertex shader source. */
|
|
3
13
|
readonly name: string;
|
|
14
|
+
/** WebGL2 GLenum type token (e.g. `gl.FLOAT_VEC2`). */
|
|
4
15
|
readonly type: number;
|
|
16
|
+
/** Byte size of one element of this attribute's type. */
|
|
5
17
|
readonly size: number;
|
|
18
|
+
/** WebGL attribute location assigned by the driver. `-1` until the backend sets it. */
|
|
6
19
|
location: number;
|
|
7
20
|
constructor(index: number, name: string, type: number);
|
|
8
21
|
destroy(): void;
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { webGl2PrimitiveByteSizeMapping } from '../webgl2/WebGl2ShaderMappings.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Metadata for a single vertex attribute declared in a GLSL vertex shader.
|
|
5
|
+
*
|
|
6
|
+
* Populated by the backend during {@link Shader.connect} using the values
|
|
7
|
+
* returned by `gl.getActiveAttrib`. The `size` field is derived from `type`
|
|
8
|
+
* via the backend's primitive-byte-size mapping and is used to stride vertex
|
|
9
|
+
* buffer layouts.
|
|
10
|
+
*/
|
|
3
11
|
class ShaderAttribute {
|
|
12
|
+
/** Zero-based index of this attribute within the shader program. */
|
|
4
13
|
index;
|
|
14
|
+
/** GLSL attribute name as declared in the vertex shader source. */
|
|
5
15
|
name;
|
|
16
|
+
/** WebGL2 GLenum type token (e.g. `gl.FLOAT_VEC2`). */
|
|
6
17
|
type;
|
|
18
|
+
/** Byte size of one element of this attribute's type. */
|
|
7
19
|
size;
|
|
20
|
+
/** WebGL attribute location assigned by the driver. `-1` until the backend sets it. */
|
|
8
21
|
location = -1;
|
|
9
22
|
constructor(index, name, type) {
|
|
10
23
|
this.index = index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderAttribute.js","sources":["../../../../../src/rendering/shader/ShaderAttribute.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ShaderAttribute.js","sources":["../../../../../src/rendering/shader/ShaderAttribute.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;AAOG;MACU,eAAe,CAAA;;AAGR,IAAA,KAAK;;AAEL,IAAA,IAAI;;AAEJ,IAAA,IAAI;;AAEJ,IAAA,IAAI;;IAEb,QAAQ,GAAG,EAAE;AAEpB,IAAA,WAAA,CAAmB,KAAa,EAAE,IAAY,EAAE,IAAY,EAAA;AACxD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC,IAAI,CAAC;IACpD;IAEO,OAAO,GAAA;;IAEd;AACH;;;;"}
|
|
@@ -1,16 +1,43 @@
|
|
|
1
1
|
import type { TypedArray } from '@/core/types';
|
|
2
|
+
/**
|
|
3
|
+
* Metadata and current value for a single GLSL uniform variable.
|
|
4
|
+
*
|
|
5
|
+
* Populated by the backend during {@link Shader.connect}. The `dirty` flag is
|
|
6
|
+
* set to `true` on construction and on every {@link setValue} call; the backend
|
|
7
|
+
* clears it via {@link markClean} after uploading the value to the GPU.
|
|
8
|
+
* Array-type uniform names have their index suffix stripped (e.g. `uColors[0]`
|
|
9
|
+
* becomes `uColors`).
|
|
10
|
+
*/
|
|
2
11
|
export declare class ShaderUniform {
|
|
12
|
+
/** Zero-based index of this uniform within the shader program. */
|
|
3
13
|
readonly index: number;
|
|
14
|
+
/** WebGL2 GLenum type token (e.g. `gl.FLOAT_MAT4`). */
|
|
4
15
|
readonly type: number;
|
|
16
|
+
/** Number of elements for array uniforms; `1` for scalar uniforms. */
|
|
5
17
|
readonly size: number;
|
|
18
|
+
/** GLSL uniform name with array suffixes stripped. */
|
|
6
19
|
readonly name: string;
|
|
7
20
|
private readonly _value;
|
|
8
21
|
private _dirty;
|
|
9
22
|
constructor(index: number, type: number, size: number, name: string, data: TypedArray);
|
|
23
|
+
/**
|
|
24
|
+
* The leaf segment of a dot-separated uniform name.
|
|
25
|
+
* For top-level uniforms this equals `name`; for struct members (e.g. `uLight.color`)
|
|
26
|
+
* it returns only the field name (`color`).
|
|
27
|
+
*/
|
|
10
28
|
get propName(): string;
|
|
11
29
|
get value(): TypedArray;
|
|
30
|
+
/** Whether the value has changed since the last {@link markClean} call. */
|
|
12
31
|
get dirty(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Copy `value` into the internal typed-array buffer and mark the uniform dirty.
|
|
34
|
+
* The backend will upload the new value to the GPU on the next {@link Shader.sync} call.
|
|
35
|
+
*/
|
|
13
36
|
setValue(value: TypedArray): this;
|
|
37
|
+
/**
|
|
38
|
+
* Clear the dirty flag after the backend has successfully uploaded the uniform value.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
14
41
|
markClean(): void;
|
|
15
42
|
destroy(): void;
|
|
16
43
|
}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata and current value for a single GLSL uniform variable.
|
|
3
|
+
*
|
|
4
|
+
* Populated by the backend during {@link Shader.connect}. The `dirty` flag is
|
|
5
|
+
* set to `true` on construction and on every {@link setValue} call; the backend
|
|
6
|
+
* clears it via {@link markClean} after uploading the value to the GPU.
|
|
7
|
+
* Array-type uniform names have their index suffix stripped (e.g. `uColors[0]`
|
|
8
|
+
* becomes `uColors`).
|
|
9
|
+
*/
|
|
1
10
|
class ShaderUniform {
|
|
11
|
+
/** Zero-based index of this uniform within the shader program. */
|
|
2
12
|
index;
|
|
13
|
+
/** WebGL2 GLenum type token (e.g. `gl.FLOAT_MAT4`). */
|
|
3
14
|
type;
|
|
15
|
+
/** Number of elements for array uniforms; `1` for scalar uniforms. */
|
|
4
16
|
size;
|
|
17
|
+
/** GLSL uniform name with array suffixes stripped. */
|
|
5
18
|
name;
|
|
6
19
|
_value;
|
|
7
20
|
_dirty = true;
|
|
@@ -12,20 +25,34 @@ class ShaderUniform {
|
|
|
12
25
|
this.size = size;
|
|
13
26
|
this._value = data;
|
|
14
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* The leaf segment of a dot-separated uniform name.
|
|
30
|
+
* For top-level uniforms this equals `name`; for struct members (e.g. `uLight.color`)
|
|
31
|
+
* it returns only the field name (`color`).
|
|
32
|
+
*/
|
|
15
33
|
get propName() {
|
|
16
|
-
return this.name.
|
|
34
|
+
return this.name.substring(this.name.lastIndexOf('.') + 1);
|
|
17
35
|
}
|
|
18
36
|
get value() {
|
|
19
37
|
return this._value;
|
|
20
38
|
}
|
|
39
|
+
/** Whether the value has changed since the last {@link markClean} call. */
|
|
21
40
|
get dirty() {
|
|
22
41
|
return this._dirty;
|
|
23
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Copy `value` into the internal typed-array buffer and mark the uniform dirty.
|
|
45
|
+
* The backend will upload the new value to the GPU on the next {@link Shader.sync} call.
|
|
46
|
+
*/
|
|
24
47
|
setValue(value) {
|
|
25
48
|
this._value.set(value);
|
|
26
49
|
this._dirty = true;
|
|
27
50
|
return this;
|
|
28
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Clear the dirty flag after the backend has successfully uploaded the uniform value.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
29
56
|
markClean() {
|
|
30
57
|
this._dirty = false;
|
|
31
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderUniform.js","sources":["../../../../../src/rendering/shader/ShaderUniform.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShaderUniform.js","sources":["../../../../../src/rendering/shader/ShaderUniform.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;AAQG;MACU,aAAa,CAAA;;AAGN,IAAA,KAAK;;AAEL,IAAA,IAAI;;AAEJ,IAAA,IAAI;;AAEJ,IAAA,IAAI;AAEH,IAAA,MAAM;IACf,MAAM,GAAG,IAAI;IAErB,WAAA,CAAmB,KAAa,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAgB,EAAA;QACxF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;IACtB;AAEA;;;;AAIG;AACH,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D;AAEA,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM;IACtB;;AAGA,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM;IACtB;AAEA;;;AAGG;AACI,IAAA,QAAQ,CAAC,KAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAElB,QAAA,OAAO,IAAI;IACf;AAEA;;;AAGG;IACI,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACvB;IAEO,OAAO,GAAA;;IAEd;AACH;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upgrades legacy GLSL ES 1.00 fragment shader source to GLSL ES 3.00.
|
|
3
|
+
*
|
|
4
|
+
* If the source already has `#version 300 es` directive, returned unchanged.
|
|
5
|
+
*
|
|
6
|
+
* Transformations applied (1.00 → 3.00):
|
|
7
|
+
* - Adds `#version 300 es` header
|
|
8
|
+
* - Adds `precision highp float;` (always — required because the
|
|
9
|
+
* `out vec4 fragColor;` declaration immediately below uses a
|
|
10
|
+
* float-typed variable; GLSL ES 3.00 requires precision to be
|
|
11
|
+
* declared before any float-typed declaration). User precision
|
|
12
|
+
* declarations later in the source are still respected for
|
|
13
|
+
* subsequent code (last-precision-wins semantics).
|
|
14
|
+
* - Adds `out vec4 fragColor;` declaration
|
|
15
|
+
* - `gl_FragColor` → `fragColor` (word-boundary aware)
|
|
16
|
+
* - `texture2D(` → `texture(`
|
|
17
|
+
* - `textureCube(` → `texture(`
|
|
18
|
+
* - `texture2DProj(` → `textureProj(`
|
|
19
|
+
* - `varying` → `in`
|
|
20
|
+
*
|
|
21
|
+
* NOT supported (these will produce GLSL compile errors that the user must
|
|
22
|
+
* manually port):
|
|
23
|
+
* - `gl_FragData[N]` (multi-render-target output) — requires multiple
|
|
24
|
+
* `out` declarations with `layout(location=N)`
|
|
25
|
+
* - `texture2DLod` / `textureCubeLod` — semantics depend on context;
|
|
26
|
+
* map to `textureLod` manually
|
|
27
|
+
* - `gl_FragDepthEXT` (extension) — use `gl_FragDepth` directly
|
|
28
|
+
*
|
|
29
|
+
* Note: `varying` inside comments will also be replaced. This is expected
|
|
30
|
+
* behaviour and documented explicitly.
|
|
31
|
+
*
|
|
32
|
+
* Idempotent — calling twice returns the same source.
|
|
33
|
+
*/
|
|
34
|
+
export declare function upgradeFragmentShaderToGl300(source: string): string;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upgrades legacy GLSL ES 1.00 fragment shader source to GLSL ES 3.00.
|
|
3
|
+
*
|
|
4
|
+
* If the source already has `#version 300 es` directive, returned unchanged.
|
|
5
|
+
*
|
|
6
|
+
* Transformations applied (1.00 → 3.00):
|
|
7
|
+
* - Adds `#version 300 es` header
|
|
8
|
+
* - Adds `precision highp float;` (always — required because the
|
|
9
|
+
* `out vec4 fragColor;` declaration immediately below uses a
|
|
10
|
+
* float-typed variable; GLSL ES 3.00 requires precision to be
|
|
11
|
+
* declared before any float-typed declaration). User precision
|
|
12
|
+
* declarations later in the source are still respected for
|
|
13
|
+
* subsequent code (last-precision-wins semantics).
|
|
14
|
+
* - Adds `out vec4 fragColor;` declaration
|
|
15
|
+
* - `gl_FragColor` → `fragColor` (word-boundary aware)
|
|
16
|
+
* - `texture2D(` → `texture(`
|
|
17
|
+
* - `textureCube(` → `texture(`
|
|
18
|
+
* - `texture2DProj(` → `textureProj(`
|
|
19
|
+
* - `varying` → `in`
|
|
20
|
+
*
|
|
21
|
+
* NOT supported (these will produce GLSL compile errors that the user must
|
|
22
|
+
* manually port):
|
|
23
|
+
* - `gl_FragData[N]` (multi-render-target output) — requires multiple
|
|
24
|
+
* `out` declarations with `layout(location=N)`
|
|
25
|
+
* - `texture2DLod` / `textureCubeLod` — semantics depend on context;
|
|
26
|
+
* map to `textureLod` manually
|
|
27
|
+
* - `gl_FragDepthEXT` (extension) — use `gl_FragDepth` directly
|
|
28
|
+
*
|
|
29
|
+
* Note: `varying` inside comments will also be replaced. This is expected
|
|
30
|
+
* behaviour and documented explicitly.
|
|
31
|
+
*
|
|
32
|
+
* Idempotent — calling twice returns the same source.
|
|
33
|
+
*/
|
|
34
|
+
function upgradeFragmentShaderToGl300(source) {
|
|
35
|
+
// Already 3.00 → return unchanged
|
|
36
|
+
if (/^\s*#version\s+300\s+es/.test(source)) {
|
|
37
|
+
return source;
|
|
38
|
+
}
|
|
39
|
+
// Strip any older #version directive
|
|
40
|
+
const stripped = source.replace(/^\s*#version[^\n]*\n/, '');
|
|
41
|
+
// Token-level replacements (word-boundary safe)
|
|
42
|
+
const transformed = stripped
|
|
43
|
+
.replace(/\bgl_FragColor\b/g, 'fragColor')
|
|
44
|
+
.replace(/\btexture2D(?=\s*\()/g, 'texture')
|
|
45
|
+
.replace(/\btextureCube(?=\s*\()/g, 'texture')
|
|
46
|
+
.replace(/\btexture2DProj(?=\s*\()/g, 'textureProj')
|
|
47
|
+
.replace(/\bvarying\b/g, 'in');
|
|
48
|
+
// Build header. Precision MUST be set before `out vec4 fragColor;`
|
|
49
|
+
// because GLSL ES 3.00 requires precision declared before any
|
|
50
|
+
// float-typed declaration. If the user has their own precision later
|
|
51
|
+
// in the source, GLSL's last-precision-wins rule means their
|
|
52
|
+
// preference applies to their own code; ours just covers fragColor.
|
|
53
|
+
const header = '#version 300 es\n' +
|
|
54
|
+
'precision highp float;\n' +
|
|
55
|
+
'out vec4 fragColor;\n';
|
|
56
|
+
return header + transformed;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export { upgradeFragmentShaderToGl300 };
|
|
60
|
+
//# sourceMappingURL=upgradeFragmentShaderToGl300.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgradeFragmentShaderToGl300.js","sources":["../../../../../src/rendering/shader/upgradeFragmentShaderToGl300.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACG,SAAU,4BAA4B,CAAC,MAAc,EAAA;;AAEvD,IAAA,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACxC,QAAA,OAAO,MAAM;IACjB;;IAGA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;;IAG3D,MAAM,WAAW,GAAG;AACf,SAAA,OAAO,CAAC,mBAAmB,EAAE,WAAW;AACxC,SAAA,OAAO,CAAC,uBAAuB,EAAE,SAAS;AAC1C,SAAA,OAAO,CAAC,yBAAyB,EAAE,SAAS;AAC5C,SAAA,OAAO,CAAC,2BAA2B,EAAE,aAAa;AAClD,SAAA,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;;;;;;IAOlC,MAAM,MAAM,GACR,mBAAmB;QACnB,0BAA0B;AAC1B,QAAA,uBAAuB;IAE3B,OAAO,MAAM,GAAG,WAAW;AAC/B;;;;"}
|
|
@@ -5,15 +5,30 @@ import { Sprite } from './Sprite';
|
|
|
5
5
|
import type { Spritesheet } from './Spritesheet';
|
|
6
6
|
import type { Texture } from '@/rendering/texture/Texture';
|
|
7
7
|
import type { RenderTexture } from '@/rendering/texture/RenderTexture';
|
|
8
|
+
/** Definition for a single animation clip registered on an {@link AnimatedSprite}. */
|
|
8
9
|
export interface AnimatedSpriteClipDefinition {
|
|
9
10
|
readonly frames: ReadonlyArray<Rectangle>;
|
|
10
11
|
readonly fps?: number;
|
|
11
12
|
readonly loop?: boolean;
|
|
12
13
|
}
|
|
14
|
+
/** Per-call options passed to {@link AnimatedSprite.play}. */
|
|
13
15
|
export interface AnimatedSpritePlayOptions {
|
|
14
16
|
loop?: boolean;
|
|
15
17
|
restart?: boolean;
|
|
16
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* A {@link Sprite} that advances through a sequence of texture-frame
|
|
21
|
+
* {@link Rectangle}s over time to produce frame-based animation.
|
|
22
|
+
*
|
|
23
|
+
* Multiple named clips can be registered via {@link defineClip} or the
|
|
24
|
+
* constructor. Call {@link play} to start a clip; call {@link update} each
|
|
25
|
+
* frame with the elapsed delta (seconds or a `Time` object) to advance
|
|
26
|
+
* playback. The `onFrame` signal fires on every frame advance and
|
|
27
|
+
* `onComplete` fires when a non-looping clip reaches its last frame.
|
|
28
|
+
*
|
|
29
|
+
* Use {@link AnimatedSprite.fromSpritesheet} to create an instance directly
|
|
30
|
+
* from a {@link Spritesheet}'s named animations.
|
|
31
|
+
*/
|
|
17
32
|
export declare class AnimatedSprite extends Sprite {
|
|
18
33
|
private readonly _clips;
|
|
19
34
|
private _currentClipName;
|
|
@@ -27,17 +42,40 @@ export declare class AnimatedSprite extends Sprite {
|
|
|
27
42
|
get currentClip(): string | null;
|
|
28
43
|
get currentFrame(): number;
|
|
29
44
|
get playing(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the current clip loops. Returns the per-call loop override if set,
|
|
47
|
+
* otherwise the clip's own `loop` flag.
|
|
48
|
+
*/
|
|
30
49
|
get loop(): boolean;
|
|
31
50
|
set loop(loop: boolean);
|
|
51
|
+
/** Replace all registered clips with the provided map. Clears any previously registered clips first. */
|
|
32
52
|
setClips(clips: Readonly<Record<string, AnimatedSpriteClipDefinition>>): this;
|
|
53
|
+
/** Register a named clip. Frame rectangles are cloned so the caller may mutate the originals. */
|
|
33
54
|
defineClip(name: string, clip: AnimatedSpriteClipDefinition): this;
|
|
55
|
+
/** Remove a registered clip by name. Stops playback first if the clip is currently active. */
|
|
34
56
|
removeClip(name: string): this;
|
|
57
|
+
/**
|
|
58
|
+
* Start playing the named clip. By default restarts from frame 0; pass
|
|
59
|
+
* `{ restart: false }` to resume from the current frame if the same clip
|
|
60
|
+
* is already active. Optionally overrides the clip's loop setting.
|
|
61
|
+
*/
|
|
35
62
|
play(name: string, options?: AnimatedSpritePlayOptions): this;
|
|
63
|
+
/** Stop playback and rewind the active clip to frame 0. */
|
|
36
64
|
stop(): this;
|
|
37
65
|
pause(): this;
|
|
38
66
|
resume(): this;
|
|
67
|
+
/**
|
|
68
|
+
* Advance playback by `delta` milliseconds (or a `Time` object). Call once
|
|
69
|
+
* per frame from the game loop. Dispatches `onFrame` for each frame
|
|
70
|
+
* boundary crossed and `onComplete` when a non-looping clip ends.
|
|
71
|
+
*/
|
|
39
72
|
update(delta: Time | number): this;
|
|
40
73
|
destroy(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Construct an {@link AnimatedSprite} from the named animations defined on
|
|
76
|
+
* a {@link Spritesheet}. Each animation becomes a looping clip whose frames
|
|
77
|
+
* are the spritesheet frame rectangles in declaration order.
|
|
78
|
+
*/
|
|
41
79
|
static fromSpritesheet(spritesheet: Spritesheet): AnimatedSprite;
|
|
42
80
|
private _applyFrame;
|
|
43
81
|
}
|
|
@@ -2,6 +2,19 @@ import { Signal } from '../../core/Signal.js';
|
|
|
2
2
|
import { Sprite } from './Sprite.js';
|
|
3
3
|
|
|
4
4
|
const defaultClipFps = 12;
|
|
5
|
+
/**
|
|
6
|
+
* A {@link Sprite} that advances through a sequence of texture-frame
|
|
7
|
+
* {@link Rectangle}s over time to produce frame-based animation.
|
|
8
|
+
*
|
|
9
|
+
* Multiple named clips can be registered via {@link defineClip} or the
|
|
10
|
+
* constructor. Call {@link play} to start a clip; call {@link update} each
|
|
11
|
+
* frame with the elapsed delta (seconds or a `Time` object) to advance
|
|
12
|
+
* playback. The `onFrame` signal fires on every frame advance and
|
|
13
|
+
* `onComplete` fires when a non-looping clip reaches its last frame.
|
|
14
|
+
*
|
|
15
|
+
* Use {@link AnimatedSprite.fromSpritesheet} to create an instance directly
|
|
16
|
+
* from a {@link Spritesheet}'s named animations.
|
|
17
|
+
*/
|
|
5
18
|
class AnimatedSprite extends Sprite {
|
|
6
19
|
_clips = new Map();
|
|
7
20
|
_currentClipName = null;
|
|
@@ -26,6 +39,10 @@ class AnimatedSprite extends Sprite {
|
|
|
26
39
|
get playing() {
|
|
27
40
|
return this._playing;
|
|
28
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Whether the current clip loops. Returns the per-call loop override if set,
|
|
44
|
+
* otherwise the clip's own `loop` flag.
|
|
45
|
+
*/
|
|
29
46
|
get loop() {
|
|
30
47
|
if (this._loopOverride !== null) {
|
|
31
48
|
return this._loopOverride;
|
|
@@ -38,6 +55,7 @@ class AnimatedSprite extends Sprite {
|
|
|
38
55
|
set loop(loop) {
|
|
39
56
|
this._loopOverride = loop;
|
|
40
57
|
}
|
|
58
|
+
/** Replace all registered clips with the provided map. Clears any previously registered clips first. */
|
|
41
59
|
setClips(clips) {
|
|
42
60
|
this._clips.clear();
|
|
43
61
|
for (const [name, clip] of Object.entries(clips)) {
|
|
@@ -45,6 +63,7 @@ class AnimatedSprite extends Sprite {
|
|
|
45
63
|
}
|
|
46
64
|
return this;
|
|
47
65
|
}
|
|
66
|
+
/** Register a named clip. Frame rectangles are cloned so the caller may mutate the originals. */
|
|
48
67
|
defineClip(name, clip) {
|
|
49
68
|
if (name.trim().length === 0) {
|
|
50
69
|
throw new Error('AnimatedSprite clip names must be non-empty strings.');
|
|
@@ -63,6 +82,7 @@ class AnimatedSprite extends Sprite {
|
|
|
63
82
|
});
|
|
64
83
|
return this;
|
|
65
84
|
}
|
|
85
|
+
/** Remove a registered clip by name. Stops playback first if the clip is currently active. */
|
|
66
86
|
removeClip(name) {
|
|
67
87
|
if (this._currentClipName === name) {
|
|
68
88
|
this.stop();
|
|
@@ -70,6 +90,11 @@ class AnimatedSprite extends Sprite {
|
|
|
70
90
|
this._clips.delete(name);
|
|
71
91
|
return this;
|
|
72
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Start playing the named clip. By default restarts from frame 0; pass
|
|
95
|
+
* `{ restart: false }` to resume from the current frame if the same clip
|
|
96
|
+
* is already active. Optionally overrides the clip's loop setting.
|
|
97
|
+
*/
|
|
73
98
|
play(name, options = {}) {
|
|
74
99
|
const clip = this._clips.get(name);
|
|
75
100
|
if (!clip) {
|
|
@@ -88,6 +113,7 @@ class AnimatedSprite extends Sprite {
|
|
|
88
113
|
this._playing = true;
|
|
89
114
|
return this;
|
|
90
115
|
}
|
|
116
|
+
/** Stop playback and rewind the active clip to frame 0. */
|
|
91
117
|
stop() {
|
|
92
118
|
this._playing = false;
|
|
93
119
|
this._elapsedFrameTimeMs = 0;
|
|
@@ -112,6 +138,11 @@ class AnimatedSprite extends Sprite {
|
|
|
112
138
|
}
|
|
113
139
|
return this;
|
|
114
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Advance playback by `delta` milliseconds (or a `Time` object). Call once
|
|
143
|
+
* per frame from the game loop. Dispatches `onFrame` for each frame
|
|
144
|
+
* boundary crossed and `onComplete` when a non-looping clip ends.
|
|
145
|
+
*/
|
|
115
146
|
update(delta) {
|
|
116
147
|
if (!this._playing || this._currentClipName === null) {
|
|
117
148
|
return this;
|
|
@@ -158,6 +189,11 @@ class AnimatedSprite extends Sprite {
|
|
|
158
189
|
}
|
|
159
190
|
this._clips.clear();
|
|
160
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Construct an {@link AnimatedSprite} from the named animations defined on
|
|
194
|
+
* a {@link Spritesheet}. Each animation becomes a looping clip whose frames
|
|
195
|
+
* are the spritesheet frame rectangles in declaration order.
|
|
196
|
+
*/
|
|
161
197
|
static fromSpritesheet(spritesheet) {
|
|
162
198
|
const clips = {};
|
|
163
199
|
for (const [clipName, frameNames] of spritesheet.animations) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedSprite.js","sources":["../../../../../src/rendering/sprite/AnimatedSprite.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AnimatedSprite.js","sources":["../../../../../src/rendering/sprite/AnimatedSprite.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|