@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
|
@@ -4,14 +4,61 @@ import type { AssetFactory } from './AssetFactory';
|
|
|
4
4
|
import type { AssetConstructor } from './FactoryRegistry';
|
|
5
5
|
import type { CacheStore } from './CacheStore';
|
|
6
6
|
import type { AssetManifest, LoadBundleOptions } from './AssetManifest';
|
|
7
|
+
/**
|
|
8
|
+
* Any abstract or concrete constructor that can be used as an asset type token
|
|
9
|
+
* with {@link Loader.load} and related methods.
|
|
10
|
+
*/
|
|
7
11
|
export type Loadable = abstract new (...args: Array<any>) => any;
|
|
12
|
+
/**
|
|
13
|
+
* Maps a {@link Loadable} constructor to the concrete type returned by
|
|
14
|
+
* {@link Loader.load}.
|
|
15
|
+
*
|
|
16
|
+
* Token classes ({@link Json}, {@link TextAsset}, {@link SvgAsset},
|
|
17
|
+
* {@link VttAsset}) are special-cased because their return types do not match
|
|
18
|
+
* their constructor type. All other loadables return the instance type inferred
|
|
19
|
+
* from the constructor.
|
|
20
|
+
*/
|
|
8
21
|
export type LoadReturn<T> = T extends typeof Json ? unknown : T extends typeof TextAsset ? string : T extends typeof SvgAsset ? HTMLImageElement : T extends typeof VttAsset ? Array<VTTCue> : T extends abstract new (...args: Array<any>) => infer R ? R : never;
|
|
22
|
+
/**
|
|
23
|
+
* Construction options for {@link Loader}.
|
|
24
|
+
*
|
|
25
|
+
* `resourcePath` is prepended to relative asset paths at fetch time.
|
|
26
|
+
* `cache` accepts one or more {@link CacheStore} instances that are checked
|
|
27
|
+
* (in order) before any network request is made. `concurrency` caps the number
|
|
28
|
+
* of simultaneous background-queue fetches (default `6`).
|
|
29
|
+
*/
|
|
9
30
|
export interface LoaderOptions {
|
|
10
31
|
resourcePath?: string;
|
|
11
32
|
requestOptions?: RequestInit;
|
|
12
33
|
cache?: CacheStore | ReadonlyArray<CacheStore>;
|
|
13
34
|
concurrency?: number;
|
|
14
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Central asset management hub for ExoJS applications.
|
|
38
|
+
*
|
|
39
|
+
* The `Loader` orchestrates fetching, processing, caching, and retrieval of
|
|
40
|
+
* all engine asset types. It ships with built-in factories for every first-party
|
|
41
|
+
* type (Texture, Sound, Music, Video, FontFace, HTMLImageElement, Json, text,
|
|
42
|
+
* SVG, VTT, binary, and WASM) and allows registering custom factories via
|
|
43
|
+
* {@link register}.
|
|
44
|
+
*
|
|
45
|
+
* Assets can be loaded in three ways:
|
|
46
|
+
* - **Direct** — `loader.load(Texture, 'hero.png')` fetches immediately and
|
|
47
|
+
* resolves to the finished asset.
|
|
48
|
+
* - **Bundle** — declare assets in a manifest with {@link registerManifest},
|
|
49
|
+
* then call {@link loadBundle} to load groups on demand.
|
|
50
|
+
* - **Background** — call {@link backgroundLoad} or {@link loadAll} to
|
|
51
|
+
* pre-warm everything registered in the manifest at low priority.
|
|
52
|
+
*
|
|
53
|
+
* Once loaded, assets are stored in memory and returned from cache on
|
|
54
|
+
* subsequent `load` or {@link get} calls without re-fetching.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* const loader = new Loader({ resourcePath: '/assets/', cache: new IndexedDbStore('game') });
|
|
59
|
+
* const texture = await loader.load(Texture, 'hero.png');
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
15
62
|
export declare class Loader {
|
|
16
63
|
private readonly _registry;
|
|
17
64
|
private readonly _resources;
|
|
@@ -30,38 +77,158 @@ export declare class Loader {
|
|
|
30
77
|
private _backgroundTotal;
|
|
31
78
|
private _backgroundLoaded;
|
|
32
79
|
private _backgroundResolve;
|
|
80
|
+
/** Dispatched after each background-queue item completes, with the running loaded/total counts. */
|
|
33
81
|
readonly onProgress: Signal<[loaded: number, total: number]>;
|
|
82
|
+
/** Dispatched after each asset within a named bundle completes loading. */
|
|
34
83
|
readonly onBundleProgress: Signal<[name: string, loaded: number, total: number]>;
|
|
84
|
+
/** Dispatched when any asset finishes loading and is stored in memory. */
|
|
35
85
|
readonly onLoaded: Signal<[type: AssetConstructor, alias: string, resource: unknown]>;
|
|
86
|
+
/** Dispatched when an asset fails to load during background or bundle loading. */
|
|
36
87
|
readonly onError: Signal<[type: AssetConstructor, alias: string, error: Error]>;
|
|
37
88
|
constructor(options?: LoaderOptions);
|
|
89
|
+
/**
|
|
90
|
+
* Registers a custom {@link AssetFactory} for `type`.
|
|
91
|
+
*
|
|
92
|
+
* Registration is prototype-chain aware: the factory will also handle any
|
|
93
|
+
* subclass of `type` that does not have its own explicit registration.
|
|
94
|
+
* Built-in types can be overridden by registering a replacement factory
|
|
95
|
+
* for the same constructor.
|
|
96
|
+
*/
|
|
38
97
|
register<T>(type: AssetConstructor<T>, factory: AssetFactory<T>): this;
|
|
98
|
+
/**
|
|
99
|
+
* Registers one or more asset aliases in the manifest without immediately
|
|
100
|
+
* loading them.
|
|
101
|
+
*
|
|
102
|
+
* - Single path: the path is used as both the alias and the URL.
|
|
103
|
+
* - Array of paths: each path becomes its own alias.
|
|
104
|
+
* - Record: keys are aliases, values are URLs.
|
|
105
|
+
*
|
|
106
|
+
* Assets pre-registered here can later be loaded by alias, included in
|
|
107
|
+
* background loads via {@link backgroundLoad}, or used as the source of
|
|
108
|
+
* truth when resolving conflicts in {@link registerManifest}.
|
|
109
|
+
*/
|
|
39
110
|
add(type: Loadable, path: string): this;
|
|
40
111
|
add(type: Loadable, paths: ReadonlyArray<string>): this;
|
|
41
112
|
add(type: Loadable, items: Readonly<Record<string, string>>): this;
|
|
113
|
+
/**
|
|
114
|
+
* Validates and registers an {@link AssetManifest}, making its bundles
|
|
115
|
+
* available to {@link loadBundle}.
|
|
116
|
+
*
|
|
117
|
+
* Throws if any bundle name is already registered or if two entries for
|
|
118
|
+
* the same (type, alias) pair have conflicting paths or options.
|
|
119
|
+
* Equivalent definitions (same path, deeply-equal options) are allowed
|
|
120
|
+
* and de-duplicated silently.
|
|
121
|
+
*/
|
|
42
122
|
registerManifest(manifest: AssetManifest): this;
|
|
123
|
+
/**
|
|
124
|
+
* Loads all assets declared in the named bundle concurrently.
|
|
125
|
+
*
|
|
126
|
+
* Dispatches {@link onBundleProgress} (and the optional `onProgress`
|
|
127
|
+
* callback) after each asset completes. If any assets fail, a
|
|
128
|
+
* {@link BundleLoadError} is thrown after all assets have settled,
|
|
129
|
+
* containing every individual failure. Throws immediately if `name` has
|
|
130
|
+
* not been registered.
|
|
131
|
+
*/
|
|
43
132
|
loadBundle(name: string, options?: LoadBundleOptions): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Returns `true` if every asset in the named bundle has been loaded and is
|
|
135
|
+
* currently held in the in-memory resource store.
|
|
136
|
+
*/
|
|
44
137
|
hasBundle(name: string): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Fetches and processes one or more assets of the given type.
|
|
140
|
+
*
|
|
141
|
+
* - **Single path** — resolves with the finished asset.
|
|
142
|
+
* - **Array of paths** — resolves with an ordered array of assets.
|
|
143
|
+
* - **Record** — resolves with a record whose keys match the input keys.
|
|
144
|
+
*
|
|
145
|
+
* In-flight and already-loaded assets are de-duplicated: calling `load`
|
|
146
|
+
* for the same (type, alias) pair while a fetch is in progress attaches
|
|
147
|
+
* to the existing promise rather than issuing a second request.
|
|
148
|
+
*
|
|
149
|
+
* Supply a custom `options` object to pass factory-specific configuration
|
|
150
|
+
* (e.g. audio decoding hints or image format overrides).
|
|
151
|
+
*/
|
|
45
152
|
load<T = unknown>(type: typeof Json, path: string, options?: unknown): Promise<T>;
|
|
46
153
|
load<T = unknown>(type: typeof Json, paths: ReadonlyArray<string>, options?: unknown): Promise<Array<T>>;
|
|
47
154
|
load<T = unknown, K extends string = string>(type: typeof Json, items: Readonly<Record<K, string>>, options?: unknown): Promise<Record<K, T>>;
|
|
48
155
|
load<T extends Loadable>(type: T, path: string, options?: unknown): Promise<LoadReturn<T>>;
|
|
49
156
|
load<T extends Loadable>(type: T, paths: ReadonlyArray<string>, options?: unknown): Promise<Array<LoadReturn<T>>>;
|
|
50
157
|
load<T extends Loadable, K extends string>(type: T, items: Readonly<Record<K, string>>, options?: unknown): Promise<Record<K, LoadReturn<T>>>;
|
|
158
|
+
/**
|
|
159
|
+
* Enqueues all manifest-registered assets that have not yet been loaded
|
|
160
|
+
* into the background fetch queue and begins draining the queue up to
|
|
161
|
+
* {@link setConcurrency | concurrency} simultaneous connections.
|
|
162
|
+
*
|
|
163
|
+
* Progress is reported via {@link onProgress}. In-flight assets and
|
|
164
|
+
* already-loaded assets are skipped automatically. Call {@link loadAll}
|
|
165
|
+
* instead if you need to await completion.
|
|
166
|
+
*/
|
|
51
167
|
backgroundLoad(): void;
|
|
168
|
+
/**
|
|
169
|
+
* Starts {@link backgroundLoad} and returns a promise that resolves when
|
|
170
|
+
* every queued background asset has finished loading (successfully or not).
|
|
171
|
+
*
|
|
172
|
+
* Individual asset errors are reported via {@link onError} but do not
|
|
173
|
+
* reject the returned promise.
|
|
174
|
+
*/
|
|
52
175
|
loadAll(): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Sets the maximum number of simultaneous background-queue fetches.
|
|
178
|
+
* Takes effect on the next {@link backgroundLoad} or {@link loadAll} call.
|
|
179
|
+
*/
|
|
53
180
|
setConcurrency(n: number): this;
|
|
181
|
+
/**
|
|
182
|
+
* Retrieves a previously loaded asset by type and alias.
|
|
183
|
+
*
|
|
184
|
+
* Throws if the asset has not been loaded. Use {@link peek} for a
|
|
185
|
+
* non-throwing alternative, or {@link has} to guard the call.
|
|
186
|
+
*/
|
|
54
187
|
get<T = unknown>(type: typeof Json, alias: string): T;
|
|
55
188
|
get<T extends Loadable>(type: T, alias: string): LoadReturn<T>;
|
|
189
|
+
/**
|
|
190
|
+
* Returns the loaded asset for `alias`, or `null` if it has not been
|
|
191
|
+
* loaded yet. Non-throwing alternative to {@link get}.
|
|
192
|
+
*/
|
|
56
193
|
peek<T = unknown>(type: typeof Json, alias: string): T | null;
|
|
57
194
|
peek<T extends Loadable>(type: T, alias: string): LoadReturn<T> | null;
|
|
195
|
+
/** Returns `true` if the asset is currently held in the in-memory store. */
|
|
58
196
|
has(type: Loadable, alias: string): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Removes a single asset from the in-memory resource store.
|
|
199
|
+
*
|
|
200
|
+
* If a fetch for this asset is still in flight, the result will be
|
|
201
|
+
* discarded once it arrives rather than written to the store, preventing
|
|
202
|
+
* a stale value from being committed after an explicit unload.
|
|
203
|
+
*/
|
|
59
204
|
unload(type: Loadable, alias: string): this;
|
|
205
|
+
/**
|
|
206
|
+
* Removes all loaded assets from the in-memory store.
|
|
207
|
+
*
|
|
208
|
+
* If `type` is provided, only that type's assets are cleared; otherwise
|
|
209
|
+
* all types are flushed. Does not cancel in-flight fetches.
|
|
210
|
+
*/
|
|
60
211
|
unloadAll(type?: Loadable): this;
|
|
212
|
+
/**
|
|
213
|
+
* Base path prepended to every relative asset URL at fetch time.
|
|
214
|
+
* Absolute URLs (starting with `http://`, `https://`, or `//`) are
|
|
215
|
+
* passed through unchanged.
|
|
216
|
+
*/
|
|
61
217
|
get resourcePath(): string;
|
|
62
218
|
set resourcePath(value: string);
|
|
219
|
+
/**
|
|
220
|
+
* Default `RequestInit` options merged into every `fetch` call.
|
|
221
|
+
* Override per-load with the `options` argument of {@link load}.
|
|
222
|
+
*/
|
|
63
223
|
get requestOptions(): RequestInit;
|
|
64
224
|
set requestOptions(value: RequestInit);
|
|
225
|
+
/**
|
|
226
|
+
* Tears down the loader and all resources it owns.
|
|
227
|
+
*
|
|
228
|
+
* Destroys the factory registry (releasing object URLs), destroys every
|
|
229
|
+
* cache store, clears all in-memory assets, manifest entries, bundle
|
|
230
|
+
* definitions, and in-flight tracking, and disconnects all signals.
|
|
231
|
+
*/
|
|
65
232
|
destroy(): void;
|
|
66
233
|
private _loadSingle;
|
|
67
234
|
private _loadSingleBackground;
|
|
@@ -22,6 +22,32 @@ import { defineAssetManifest, BundleLoadError } from './AssetManifest.js';
|
|
|
22
22
|
// ---------------------------------------------------------------------------
|
|
23
23
|
// Loader
|
|
24
24
|
// ---------------------------------------------------------------------------
|
|
25
|
+
/**
|
|
26
|
+
* Central asset management hub for ExoJS applications.
|
|
27
|
+
*
|
|
28
|
+
* The `Loader` orchestrates fetching, processing, caching, and retrieval of
|
|
29
|
+
* all engine asset types. It ships with built-in factories for every first-party
|
|
30
|
+
* type (Texture, Sound, Music, Video, FontFace, HTMLImageElement, Json, text,
|
|
31
|
+
* SVG, VTT, binary, and WASM) and allows registering custom factories via
|
|
32
|
+
* {@link register}.
|
|
33
|
+
*
|
|
34
|
+
* Assets can be loaded in three ways:
|
|
35
|
+
* - **Direct** — `loader.load(Texture, 'hero.png')` fetches immediately and
|
|
36
|
+
* resolves to the finished asset.
|
|
37
|
+
* - **Bundle** — declare assets in a manifest with {@link registerManifest},
|
|
38
|
+
* then call {@link loadBundle} to load groups on demand.
|
|
39
|
+
* - **Background** — call {@link backgroundLoad} or {@link loadAll} to
|
|
40
|
+
* pre-warm everything registered in the manifest at low priority.
|
|
41
|
+
*
|
|
42
|
+
* Once loaded, assets are stored in memory and returned from cache on
|
|
43
|
+
* subsequent `load` or {@link get} calls without re-fetching.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const loader = new Loader({ resourcePath: '/assets/', cache: new IndexedDbStore('game') });
|
|
48
|
+
* const texture = await loader.load(Texture, 'hero.png');
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
25
51
|
class Loader {
|
|
26
52
|
_registry = new FactoryRegistry();
|
|
27
53
|
_resources = new Map();
|
|
@@ -40,9 +66,13 @@ class Loader {
|
|
|
40
66
|
_backgroundTotal = 0;
|
|
41
67
|
_backgroundLoaded = 0;
|
|
42
68
|
_backgroundResolve = null;
|
|
69
|
+
/** Dispatched after each background-queue item completes, with the running loaded/total counts. */
|
|
43
70
|
onProgress = new Signal();
|
|
71
|
+
/** Dispatched after each asset within a named bundle completes loading. */
|
|
44
72
|
onBundleProgress = new Signal();
|
|
73
|
+
/** Dispatched when any asset finishes loading and is stored in memory. */
|
|
45
74
|
onLoaded = new Signal();
|
|
75
|
+
/** Dispatched when an asset fails to load during background or bundle loading. */
|
|
46
76
|
onError = new Signal();
|
|
47
77
|
constructor(options = {}) {
|
|
48
78
|
this._resourcePath = options.resourcePath ?? '';
|
|
@@ -56,6 +86,14 @@ class Loader {
|
|
|
56
86
|
// -----------------------------------------------------------------------
|
|
57
87
|
// Factory registration
|
|
58
88
|
// -----------------------------------------------------------------------
|
|
89
|
+
/**
|
|
90
|
+
* Registers a custom {@link AssetFactory} for `type`.
|
|
91
|
+
*
|
|
92
|
+
* Registration is prototype-chain aware: the factory will also handle any
|
|
93
|
+
* subclass of `type` that does not have its own explicit registration.
|
|
94
|
+
* Built-in types can be overridden by registering a replacement factory
|
|
95
|
+
* for the same constructor.
|
|
96
|
+
*/
|
|
59
97
|
register(type, factory) {
|
|
60
98
|
this._registry.register(type, factory);
|
|
61
99
|
return this;
|
|
@@ -77,6 +115,15 @@ class Loader {
|
|
|
77
115
|
}
|
|
78
116
|
return this;
|
|
79
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Validates and registers an {@link AssetManifest}, making its bundles
|
|
120
|
+
* available to {@link loadBundle}.
|
|
121
|
+
*
|
|
122
|
+
* Throws if any bundle name is already registered or if two entries for
|
|
123
|
+
* the same (type, alias) pair have conflicting paths or options.
|
|
124
|
+
* Equivalent definitions (same path, deeply-equal options) are allowed
|
|
125
|
+
* and de-duplicated silently.
|
|
126
|
+
*/
|
|
80
127
|
registerManifest(manifest) {
|
|
81
128
|
const normalizedManifest = defineAssetManifest(manifest);
|
|
82
129
|
const plannedDefinitions = new Map();
|
|
@@ -115,6 +162,15 @@ class Loader {
|
|
|
115
162
|
}
|
|
116
163
|
return this;
|
|
117
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Loads all assets declared in the named bundle concurrently.
|
|
167
|
+
*
|
|
168
|
+
* Dispatches {@link onBundleProgress} (and the optional `onProgress`
|
|
169
|
+
* callback) after each asset completes. If any assets fail, a
|
|
170
|
+
* {@link BundleLoadError} is thrown after all assets have settled,
|
|
171
|
+
* containing every individual failure. Throws immediately if `name` has
|
|
172
|
+
* not been registered.
|
|
173
|
+
*/
|
|
118
174
|
async loadBundle(name, options = {}) {
|
|
119
175
|
const bundle = this._bundles.get(name);
|
|
120
176
|
if (!bundle) {
|
|
@@ -152,6 +208,10 @@ class Loader {
|
|
|
152
208
|
throw new BundleLoadError(name, failures);
|
|
153
209
|
}
|
|
154
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Returns `true` if every asset in the named bundle has been loaded and is
|
|
213
|
+
* currently held in the in-memory resource store.
|
|
214
|
+
*/
|
|
155
215
|
hasBundle(name) {
|
|
156
216
|
const bundle = this._bundles.get(name);
|
|
157
217
|
if (!bundle) {
|
|
@@ -180,6 +240,15 @@ class Loader {
|
|
|
180
240
|
// -----------------------------------------------------------------------
|
|
181
241
|
// Background loading
|
|
182
242
|
// -----------------------------------------------------------------------
|
|
243
|
+
/**
|
|
244
|
+
* Enqueues all manifest-registered assets that have not yet been loaded
|
|
245
|
+
* into the background fetch queue and begins draining the queue up to
|
|
246
|
+
* {@link setConcurrency | concurrency} simultaneous connections.
|
|
247
|
+
*
|
|
248
|
+
* Progress is reported via {@link onProgress}. In-flight assets and
|
|
249
|
+
* already-loaded assets are skipped automatically. Call {@link loadAll}
|
|
250
|
+
* instead if you need to await completion.
|
|
251
|
+
*/
|
|
183
252
|
backgroundLoad() {
|
|
184
253
|
for (const [type, entries] of this._manifest) {
|
|
185
254
|
for (const [alias, entry] of entries) {
|
|
@@ -197,6 +266,13 @@ class Loader {
|
|
|
197
266
|
this._backgroundLoaded = 0;
|
|
198
267
|
this._drainBackground();
|
|
199
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Starts {@link backgroundLoad} and returns a promise that resolves when
|
|
271
|
+
* every queued background asset has finished loading (successfully or not).
|
|
272
|
+
*
|
|
273
|
+
* Individual asset errors are reported via {@link onError} but do not
|
|
274
|
+
* reject the returned promise.
|
|
275
|
+
*/
|
|
200
276
|
loadAll() {
|
|
201
277
|
return new Promise((resolve) => {
|
|
202
278
|
this._backgroundResolve = resolve;
|
|
@@ -207,6 +283,10 @@ class Loader {
|
|
|
207
283
|
}
|
|
208
284
|
});
|
|
209
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* Sets the maximum number of simultaneous background-queue fetches.
|
|
288
|
+
* Takes effect on the next {@link backgroundLoad} or {@link loadAll} call.
|
|
289
|
+
*/
|
|
210
290
|
setConcurrency(n) {
|
|
211
291
|
this._concurrency = n;
|
|
212
292
|
return this;
|
|
@@ -223,6 +303,7 @@ class Loader {
|
|
|
223
303
|
const ctor = type;
|
|
224
304
|
return this._resources.get(ctor)?.get(alias) ?? null;
|
|
225
305
|
}
|
|
306
|
+
/** Returns `true` if the asset is currently held in the in-memory store. */
|
|
226
307
|
has(type, alias) {
|
|
227
308
|
const ctor = type;
|
|
228
309
|
return this._resources.get(ctor)?.has(alias) ?? false;
|
|
@@ -230,6 +311,13 @@ class Loader {
|
|
|
230
311
|
// -----------------------------------------------------------------------
|
|
231
312
|
// Unload
|
|
232
313
|
// -----------------------------------------------------------------------
|
|
314
|
+
/**
|
|
315
|
+
* Removes a single asset from the in-memory resource store.
|
|
316
|
+
*
|
|
317
|
+
* If a fetch for this asset is still in flight, the result will be
|
|
318
|
+
* discarded once it arrives rather than written to the store, preventing
|
|
319
|
+
* a stale value from being committed after an explicit unload.
|
|
320
|
+
*/
|
|
233
321
|
unload(type, alias) {
|
|
234
322
|
const ctor = type;
|
|
235
323
|
const key = this._key(ctor, alias);
|
|
@@ -239,6 +327,12 @@ class Loader {
|
|
|
239
327
|
}
|
|
240
328
|
return this;
|
|
241
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* Removes all loaded assets from the in-memory store.
|
|
332
|
+
*
|
|
333
|
+
* If `type` is provided, only that type's assets are cleared; otherwise
|
|
334
|
+
* all types are flushed. Does not cancel in-flight fetches.
|
|
335
|
+
*/
|
|
242
336
|
unloadAll(type) {
|
|
243
337
|
if (type) {
|
|
244
338
|
this._resources.get(type)?.clear();
|
|
@@ -253,12 +347,21 @@ class Loader {
|
|
|
253
347
|
// -----------------------------------------------------------------------
|
|
254
348
|
// Configuration
|
|
255
349
|
// -----------------------------------------------------------------------
|
|
350
|
+
/**
|
|
351
|
+
* Base path prepended to every relative asset URL at fetch time.
|
|
352
|
+
* Absolute URLs (starting with `http://`, `https://`, or `//`) are
|
|
353
|
+
* passed through unchanged.
|
|
354
|
+
*/
|
|
256
355
|
get resourcePath() {
|
|
257
356
|
return this._resourcePath;
|
|
258
357
|
}
|
|
259
358
|
set resourcePath(value) {
|
|
260
359
|
this._resourcePath = value;
|
|
261
360
|
}
|
|
361
|
+
/**
|
|
362
|
+
* Default `RequestInit` options merged into every `fetch` call.
|
|
363
|
+
* Override per-load with the `options` argument of {@link load}.
|
|
364
|
+
*/
|
|
262
365
|
get requestOptions() {
|
|
263
366
|
return this._requestOptions;
|
|
264
367
|
}
|
|
@@ -268,6 +371,13 @@ class Loader {
|
|
|
268
371
|
// -----------------------------------------------------------------------
|
|
269
372
|
// Lifecycle
|
|
270
373
|
// -----------------------------------------------------------------------
|
|
374
|
+
/**
|
|
375
|
+
* Tears down the loader and all resources it owns.
|
|
376
|
+
*
|
|
377
|
+
* Destroys the factory registry (releasing object URLs), destroys every
|
|
378
|
+
* cache store, clears all in-memory assets, manifest entries, bundle
|
|
379
|
+
* definitions, and in-flight tracking, and disconnects all signals.
|
|
380
|
+
*/
|
|
271
381
|
destroy() {
|
|
272
382
|
this._registry.destroy();
|
|
273
383
|
for (const store of this._stores) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader.js","sources":["../../../../src/resources/Loader.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Loader.js","sources":["../../../../src/resources/Loader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqFA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;MACU,MAAM,CAAA;AAEE,IAAA,SAAS,GAAG,IAAI,eAAe,EAAE;AACjC,IAAA,UAAU,GAAG,IAAI,GAAG,EAA0C;AAC9D,IAAA,SAAS,GAAG,IAAI,GAAG,EAAgD;AACnE,IAAA,QAAQ,GAAG,IAAI,GAAG,EAAqC;AACvD,IAAA,SAAS,GAAG,IAAI,GAAG,EAA4B;AAC/C,IAAA,QAAQ,GAAG,IAAI,OAAO,EAA4B;AAClD,IAAA,iBAAiB,GAAG,IAAI,GAAG,EAAU;AACrC,IAAA,OAAO;AAEhB,IAAA,aAAa;AACb,IAAA,eAAe;AACf,IAAA,YAAY;IACZ,WAAW,GAAG,CAAC;IAEf,gBAAgB,GAAsB,EAAE;IACxC,iBAAiB,GAAG,CAAC;IACrB,gBAAgB,GAAG,CAAC;IACpB,iBAAiB,GAAG,CAAC;IACrB,kBAAkB,GAAwB,IAAI;;AAGtC,IAAA,UAAU,GAAG,IAAI,MAAM,EAAmC;;AAE1D,IAAA,gBAAgB,GAAG,IAAI,MAAM,EAAiD;;AAE9E,IAAA,QAAQ,GAAG,IAAI,MAAM,EAA8D;;AAEnF,IAAA,OAAO,GAAG,IAAI,MAAM,EAAyD;AAE7F,IAAA,WAAA,CAAmB,UAAyB,EAAE,EAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE;QAC/C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE;QACnD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC;AAC5C,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;eAChB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;cAC/D,EAAE;QAER,IAAI,CAAC,yBAAyB,EAAE;IACpC;;;;AAMA;;;;;;;AAOG;IACI,QAAQ,CAAI,IAAyB,EAAE,OAAwB,EAAA;QAClE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;AAEtC,QAAA,OAAO,IAAI;IACf;IAqBO,GAAG,CAAC,IAAc,EAAE,MAAyE,EAAA;QAChG,MAAM,IAAI,GAAG,IAAwB;AAErC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;QAChD;AAAO,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;gBACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC5C;QACJ;aAAO;AACH,YAAA,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;YAC7C;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;;;;;;AAQG;AACI,IAAA,gBAAgB,CAAC,QAAuB,EAAA;AAC3C,QAAA,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC;AACxD,QAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyB;AAC3D,QAAA,MAAM,cAAc,GAAG,IAAI,KAAK,EAA8C;AAE9E,QAAA,KAAK,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAC/B,gBAAA,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,CAAA,wBAAA,CAA0B,CAAC;YACpE;AAEA,YAAA,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAc;AAEjD,YAAA,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;AACrC,gBAAA,MAAM,IAAI,GAAG,WAAW,CAAC,IAAwB;AACjD,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;AAC9C,gBAAA,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;AAEzG,gBAAA,IACI;AACG,uBAAA,CAAC,IAAI,CAAC,+BAA+B,CAAC,kBAAkB,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EACrG;AACE,oBAAA,MAAM,IAAI,KAAK,CACX,qCAAqC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA,GAAA,EAAM,WAAW,CAAC,KAAK,gCAAgC,UAAU,CAAA,EAAA,CAAI,CACrI;gBACL;AAEA,gBAAA,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE;oBACxB,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;AAC/B,iBAAA,CAAC;gBAEF,iBAAiB,CAAC,IAAI,CAAC;oBACnB,IAAI;oBACJ,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;AAC/B,iBAAA,CAAC;YACN;YAEA,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACxD;QAEA,KAAK,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,cAAc,EAAE;AACtD,YAAA,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;AAC/B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAC9E;YAEA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC;QAChD;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;;;;;;AAQG;AACI,IAAA,MAAM,UAAU,CAAC,IAAY,EAAE,UAA6B,EAAE,EAAA;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAA,EAAA,CAAI,CAAC;QAChD;AAEA,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;QAC3B,IAAI,MAAM,GAAG,CAAC;AACd,QAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,EAItB;AAEJ,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;YAExD;QACJ;AAEA,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,KAAI;AACzC,YAAA,IAAI;AACA,gBAAA,IAAI,OAAO,CAAC,UAAU,EAAE;oBACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;gBACxF;qBAAO;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;gBAC9E;YACJ;YAAE,OAAO,KAAc,EAAE;gBACrB,QAAQ,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,KAAK,CAAC,IAAgB;oBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,oBAAA,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AACrC,iBAAA,CAAC;YACN;oBAAU;AACN,gBAAA,MAAM,EAAE;AACR,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;YACrE;QACJ,CAAC,CAAC,CAAC;AAEH,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC7C;IACJ;AAEA;;;AAGG;AACI,IAAA,SAAS,CAAC,IAAY,EAAA;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,OAAO,KAAK;QAChB;QAEA,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5E;;;;AAoCO,IAAA,MAAM,IAAI,CACb,IAAc,EACd,MAAyE,EACzE,OAAiB,EAAA;QAEjB,MAAM,IAAI,GAAG,IAAwB;AAErC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;QAClD;AAEA,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,OAAO,CAAC,GAAG,CACb,MAAgC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CACvF;QACL;QAEA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAgC,CAAC;QAChE,MAAM,MAAM,GAA4B,EAAE;AAE1C,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAI;AAClD,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;QACtE,CAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM;IACjB;;;;AAMA;;;;;;;;AAQG;IACI,cAAc,GAAA;QACjB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE;AAClC,gBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;oBAAE;gBAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAElC,gBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE;AAE7B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACvB,oBAAA,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;AACxD,iBAAA,CAAC;YACN;QACJ;QAEA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM;AACpD,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;QAE1B,IAAI,CAAC,gBAAgB,EAAE;IAC3B;AAEA;;;;;;AAMG;IACI,OAAO,GAAA;AACV,QAAA,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;AACjC,YAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO;YACjC,IAAI,CAAC,cAAc,EAAE;AAErB,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;AACpE,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAC9B,gBAAA,OAAO,EAAE;YACb;AACJ,QAAA,CAAC,CAAC;IACN;AAEA;;;AAGG;AACI,IAAA,cAAc,CAAC,CAAS,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;AAErB,QAAA,OAAO,IAAI;IACf;IAcO,GAAG,CAAC,IAAc,EAAE,KAAa,EAAA;QACpC,MAAM,IAAI,GAAG,IAAwB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,WAAA,EAAc,IAAI,CAAC,IAAI,CAAA,CAAA,CAAG,CAAC;QACzE;AAEA,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;IAQO,IAAI,CAAC,IAAc,EAAE,KAAa,EAAA;QACrC,MAAM,IAAI,GAAG,IAAwB;AAErC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI;IACxD;;IAGO,GAAG,CAAC,IAAc,EAAE,KAAa,EAAA;QACpC,MAAM,IAAI,GAAG,IAAwB;AAErC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK;IACzD;;;;AAMA;;;;;;AAMG;IACI,MAAM,CAAC,IAAc,EAAE,KAAa,EAAA;QACvC,MAAM,IAAI,GAAG,IAAwB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAElC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;;;AAKG;AACI,IAAA,SAAS,CAAC,IAAe,EAAA;QAC5B,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAwB,CAAC,EAAE,KAAK,EAAE;QAC1D;aAAO;YACH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;gBAC5C,OAAO,CAAC,KAAK,EAAE;YACnB;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;;;;AAMA;;;;AAIG;AACH,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa;IAC7B;IAEA,IAAW,YAAY,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC9B;AAEA;;;AAGG;AACH,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,eAAe;IAC/B;IAEA,IAAW,cAAc,CAAC,KAAkB,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAChC;;;;AAMA;;;;;;AAMG;IACI,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAExB,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,KAAK,CAAC,OAAO,EAAE;QACnB;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAChC,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IAC1B;;;;IAMQ,MAAM,WAAW,CACrB,IAAsB,EACtB,KAAa,EACb,OAAiB,EACjB,YAAqB,EAAA;QAErB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC;QAChD;QAEA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAElC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAClC;AAEA,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;QAEjC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAClC;QAEA,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;QACjD,MAAM,IAAI,GAAG,YAAY,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK;AACjD,QAAA,MAAM,eAAe,GAAG,OAAO,IAAI,KAAK,EAAE,OAAO;AAEjD,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACpF;AAEQ,IAAA,qBAAqB,CACzB,IAAsB,EACtB,KAAa,EACb,IAAY,EACZ,OAAiB,EAAA;QAEjB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAChC,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjE;QAEA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAExC,IAAI,QAAQ,EAAE;AACV,YAAA,OAAO,QAAQ;QACnB;QAEA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAC1C,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;AACpE,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;AAC1B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;YAC7B;AAEA,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1D,IAAI,CAAC,gBAAgB,EAAE;QAC3B;QAEA,IAAI,CAAC,gBAAgB,EAAE;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAEvC,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,OAAO;QAClB;QAEA,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC;IACpD;IAEQ,MAAM,MAAM,CAChB,IAAsB,EACtB,KAAa,EACb,IAAY,EACZ,OAAiB,EAAA;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,MAAM,GAAY,IAAI;;AAG1B,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;YAErD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AACzC,gBAAA,IAAI;oBACA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAEtD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;AAE1C,oBAAA,OAAO,QAAQ;gBACnB;AAAE,gBAAA,MAAM;oBACJ,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;oBAC9C,MAAM,GAAG,IAAI;gBACjB;YACJ;QACJ;;QAGA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;AAEvD,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CACX,CAAA,iBAAA,EAAoB,KAAK,WAAW,GAAG,CAAA,GAAA,EAAM,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,EAAA,CAAI,CAC1F;QACL;QAEA,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;AAExC,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,KAAI;YAC5E,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvE,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,QAAA,EAAW,GAAG,CAAA,GAAA,EAAM,KAAK,CAAC,OAAO,CAAA,CAAE,EAAE;gBAC3E,KAAK;AACR,aAAA,CAAC;AACN,QAAA,CAAC,CAAC;;AAGF,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,IAAI;AACA,gBAAA,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;YACxD;AAAE,YAAA,MAAM;;YAER;QACJ;QAEA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;AAE1C,QAAA,OAAO,QAAQ;IACnB;;;;IAMQ,gBAAgB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG;AAC5C,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;YAE9C,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACvE,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE;gBAC5B;YACJ;AAEA,YAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QACrC;IACJ;IAEQ,eAAe,CAAC,IAAsB,EAAE,KAAa,EAAA;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACzC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAC5C;QAED,IAAI,KAAK,KAAK,EAAE;YAAE;AAElB,QAAA,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAEtD,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACrC;IAEQ,qBAAqB,CAAC,IAAsB,EAAE,KAAa,EAAA;QAC/D,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;IAC5F;IAEQ,uBAAuB,CAAC,IAAsB,EAAE,KAAa,EAAA;QACjE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAChC,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjE;QAEA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAExC,IAAI,QAAQ,EAAE;AACV,YAAA,OAAO,QAAQ;QACnB;QAEA,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,KAAI;YAC5C,MAAM,QAAQ,GAAG,CAAC,UAA4B,EAAE,WAAmB,EAAE,QAAiB,KAAU;AAC5F,gBAAA,IAAI,UAAU,KAAK,IAAI,IAAI,WAAW,KAAK,KAAK;oBAAE;AAElD,gBAAA,OAAO,EAAE;gBACT,OAAO,CAAC,QAAQ,CAAC;AACrB,YAAA,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,SAA2B,EAAE,UAAkB,EAAE,KAAY,KAAU;AACpF,gBAAA,IAAI,SAAS,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK;oBAAE;AAEhD,gBAAA,OAAO,EAAE;gBACT,MAAM,CAAC,KAAK,CAAC;AACjB,YAAA,CAAC;YACD,MAAM,OAAO,GAAG,MAAW;AACvB,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9B,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;AAChC,YAAA,CAAC;AAED,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YAEvC,IAAI,OAAO,EAAE;AACT,gBAAA,OAAO,EAAE;AACT,gBAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAE7B;YACJ;YAEA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AAChC,gBAAA,OAAO,EAAE;AACT,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClD;AACJ,QAAA,CAAC,CAAC;IACN;IAEQ,qBAAqB,GAAA;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAEvE,IACI,IAAI,CAAC;AACF,eAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK;AACjC,eAAA,IAAI,CAAC,iBAAiB,KAAK,CAAC,EACjC;AACE,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB;AAEvC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAC9B,YAAA,OAAO,EAAE;QACb;IACJ;AAEQ,IAAA,qBAAqB,CAAC,KAAiB,EAAA;AAC3C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QAE9C,IAAI,CAAC,iBAAiB,EAAE;QAExB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;aACnF,KAAK,CAAC,KAAK,IAAG;YACX,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAErE,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;AACvD,QAAA,CAAC;aACA,OAAO,CAAC,MAAK;YACV,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,gBAAgB,EAAE;AAC3B,QAAA,CAAC,CAAC;IACV;IAEQ,cAAc,CAAC,GAAW,EAAE,OAAyB,EAAA;AACzD,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAK;AACxC,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1B,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;AACtC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC;AAEvC,QAAA,OAAO,cAAc;IACzB;AAEQ,IAAA,mBAAmB,CACvB,IAAY,EACZ,MAAc,EACd,KAAa,EACb,UAAoD,EAAA;QAEpD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAEnD,IAAI,UAAU,EAAE;AACZ,YAAA,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC;QAC7B;IACJ;;;;AAMQ,IAAA,iBAAiB,CAAC,IAAsB,EAAE,KAAa,EAAE,IAAY,EAAE,OAAiB,EAAA;QAC5F,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QACvC;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3D;IAEQ,iBAAiB,CAAC,IAAsB,EAAE,KAAa,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;IAC/C;AAEQ,IAAA,+BAA+B,CAAC,KAAoB,EAAE,IAAY,EAAE,OAAiB,EAAA;AACzF,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IACpF;IAEQ,qBAAqB,CAAC,IAAa,EAAE,KAAc,EAAA;QACvD,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,IAAI,OAAO,IAAI,KAAK,OAAO,KAAK,EAAE;AAC9B,YAAA,OAAO,KAAK;QAChB;QAEA,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACjC,YAAA,OAAO,KAAK;QAChB;QAEA,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvD,YAAA,OAAO,KAAK;QAChB;AAEA,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AAC/E,gBAAA,OAAO,KAAK;YAChB;AAEA,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,gBAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAChD,oBAAA,OAAO,KAAK;gBAChB;YACJ;AAEA,YAAA,OAAO,IAAI;QACf;QAEA,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QACjD,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;AAEnD,QAAA,IAAI,aAAa,KAAK,cAAc,EAAE;AAClC,YAAA,OAAO,KAAK;QAChB;AAEA,QAAA,IACI,aAAa,KAAK,MAAM,CAAC;eACtB,aAAa,KAAK,IAAI,EAC3B;AACE,YAAA,OAAO,KAAK;QAChB;QAEA,MAAM,UAAU,GAAG,IAA+B;QAClD,MAAM,WAAW,GAAG,KAAgC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;AACtC,YAAA,OAAO,KAAK;QAChB;AAEA,QAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE;AAClC,gBAAA,OAAO,KAAK;YAChB;AAEA,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;AAChE,gBAAA,OAAO,KAAK;YAChB;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;AAEQ,IAAA,eAAe,CAAC,KAAc,EAAA;AAClC,QAAA,OAAO,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE;AAEQ,IAAA,aAAa,CAAC,IAAsB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,kBAAkB;IAChE;IAEQ,YAAY,CAAC,IAAsB,EAAE,KAAa,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK;IACzD;AAEQ,IAAA,cAAc,CAAC,IAAsB,EAAE,KAAa,EAAE,QAAiB,EAAA;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAElC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACpC;QACJ;QAEA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QACxC;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;IACjD;IAEQ,IAAI,CAAC,IAAsB,EAAE,KAAa,EAAA;QAC9C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AAEpC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACtB,YAAA,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;QACnC;AAEA,QAAA,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,KAAK,EAAE;IAC/B;AAEQ,IAAA,WAAW,CAAC,IAAY,EAAA;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpF,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,OAAO,GAAG,IAAI,CAAC,aAAa,CAAA,EAAG,IAAI,EAAE;IACzC;;;;IAMQ,yBAAyB,GAAA;QAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,cAAc,EAA2B,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,YAAY,EAAyB,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,YAAY,EAAyB,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,YAAY,EAAyB,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,WAAW,EAAwB,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,WAAW,EAA6B,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,UAAU,EAA4B,CAAC;QAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,UAAU,EAA4B,CAAC;QAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,aAAa,EAA+B,CAAC;AAEtF,QAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,WAAW,EAA4B,CAAC;QAClF;AAEA,QAAA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,YAAY,EAAoC,CAAC;QACnG;AAEA,QAAA,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;AACpC,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,MAA0B,EAAE,IAAI,WAAW,EAAkB,CAAC;QACtG;IACJ;AACH;;;;"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { CacheRequest, CacheStrategy } from './CacheStrategy';
|
|
2
2
|
import type { CacheStore } from './CacheStore';
|
|
3
|
+
/**
|
|
4
|
+
* {@link CacheStrategy} that always fetches from the network and never reads
|
|
5
|
+
* from or writes to any {@link CacheStore}.
|
|
6
|
+
*
|
|
7
|
+
* Useful for assets that must always be fresh (e.g. live configuration files)
|
|
8
|
+
* or for environments where persistent storage is unavailable. The `stores`
|
|
9
|
+
* argument is accepted but intentionally ignored.
|
|
10
|
+
*/
|
|
3
11
|
export declare class NetworkOnlyStrategy implements CacheStrategy {
|
|
4
12
|
resolve(request: CacheRequest, _stores: ReadonlyArray<CacheStore>): Promise<unknown>;
|
|
5
13
|
}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {@link CacheStrategy} that always fetches from the network and never reads
|
|
3
|
+
* from or writes to any {@link CacheStore}.
|
|
4
|
+
*
|
|
5
|
+
* Useful for assets that must always be fresh (e.g. live configuration files)
|
|
6
|
+
* or for environments where persistent storage is unavailable. The `stores`
|
|
7
|
+
* argument is accepted but intentionally ignored.
|
|
8
|
+
*/
|
|
1
9
|
class NetworkOnlyStrategy {
|
|
2
10
|
async resolve(request, _stores) {
|
|
3
11
|
const response = await fetch(request.url, request.requestOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkOnlyStrategy.js","sources":["../../../../src/resources/NetworkOnlyStrategy.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NetworkOnlyStrategy.js","sources":["../../../../src/resources/NetworkOnlyStrategy.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;;;;AAOG;MACU,mBAAmB,CAAA;AAErB,IAAA,MAAM,OAAO,CAAC,OAAqB,EAAE,OAAkC,EAAA;AAC1E,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC;AAEjE,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,iBAAA,EAAoB,OAAO,CAAC,GAAG,CAAA,GAAA,EAAM,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,EAAA,CAAI,CAAC;QACpG;QAEA,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5C;AACH;;;;"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { AbstractAssetFactory } from '@/resources/AbstractAssetFactory';
|
|
2
|
+
/**
|
|
3
|
+
* {@link AssetFactory} implementation that loads arbitrary binary files and
|
|
4
|
+
* exposes them as raw {@link ArrayBuffer} instances.
|
|
5
|
+
*
|
|
6
|
+
* Use this for any binary format that does not have a dedicated factory (e.g.
|
|
7
|
+
* custom data files, packed archives, or proprietary formats).
|
|
8
|
+
*/
|
|
2
9
|
export declare class BinaryFactory extends AbstractAssetFactory<ArrayBuffer> {
|
|
3
10
|
readonly storageName = "binary";
|
|
11
|
+
/**
|
|
12
|
+
* Reads the full response body as an {@link ArrayBuffer}.
|
|
13
|
+
*/
|
|
4
14
|
process(response: Response): Promise<ArrayBuffer>;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the raw buffer unchanged — no further transformation is applied.
|
|
17
|
+
*/
|
|
5
18
|
create(source: ArrayBuffer): Promise<ArrayBuffer>;
|
|
6
19
|
}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { AbstractAssetFactory } from '../AbstractAssetFactory.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* {@link AssetFactory} implementation that loads arbitrary binary files and
|
|
5
|
+
* exposes them as raw {@link ArrayBuffer} instances.
|
|
6
|
+
*
|
|
7
|
+
* Use this for any binary format that does not have a dedicated factory (e.g.
|
|
8
|
+
* custom data files, packed archives, or proprietary formats).
|
|
9
|
+
*/
|
|
3
10
|
class BinaryFactory extends AbstractAssetFactory {
|
|
4
11
|
storageName = 'binary';
|
|
12
|
+
/**
|
|
13
|
+
* Reads the full response body as an {@link ArrayBuffer}.
|
|
14
|
+
*/
|
|
5
15
|
async process(response) {
|
|
6
16
|
return response.arrayBuffer();
|
|
7
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Returns the raw buffer unchanged — no further transformation is applied.
|
|
20
|
+
*/
|
|
8
21
|
async create(source) {
|
|
9
22
|
return source;
|
|
10
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryFactory.js","sources":["../../../../../src/resources/factories/BinaryFactory.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"BinaryFactory.js","sources":["../../../../../src/resources/factories/BinaryFactory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACG,MAAO,aAAc,SAAQ,oBAAiC,CAAA;IAEhD,WAAW,GAAG,QAAQ;AAEtC;;AAEG;IACI,MAAM,OAAO,CAAC,QAAkB,EAAA;AACnC,QAAA,OAAO,QAAQ,CAAC,WAAW,EAAE;IACjC;AAEA;;AAEG;IACI,MAAM,MAAM,CAAC,MAAmB,EAAA;AACnC,QAAA,OAAO,MAAM;IACjB;AACH;;;;"}
|