@codexo/exojs 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +265 -0
- package/LICENSE +21 -0
- package/README.md +59 -23
- package/dist/esm/animation/Easing.d.ts +1 -0
- package/dist/esm/animation/Easing.d.ts.map +1 -0
- package/dist/esm/animation/Tween.d.ts +1 -0
- package/dist/esm/animation/Tween.d.ts.map +1 -0
- package/dist/esm/animation/TweenManager.d.ts +1 -0
- package/dist/esm/animation/TweenManager.d.ts.map +1 -0
- package/dist/esm/animation/index.d.ts +1 -0
- package/dist/esm/animation/index.d.ts.map +1 -0
- package/dist/esm/animation/types.d.ts +1 -0
- package/dist/esm/animation/types.d.ts.map +1 -0
- package/dist/esm/audio/AbstractMedia.d.ts +5 -4
- package/dist/esm/audio/AbstractMedia.d.ts.map +1 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +4 -3
- package/dist/esm/audio/AudioAnalyser.d.ts.map +1 -0
- package/dist/esm/audio/AudioAnalyser.js +1 -1
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +1 -0
- package/dist/esm/audio/AudioBus.d.ts.map +1 -0
- package/dist/esm/audio/AudioFilter.d.ts +1 -0
- package/dist/esm/audio/AudioFilter.d.ts.map +1 -0
- package/dist/esm/audio/AudioListener.d.ts +4 -3
- package/dist/esm/audio/AudioListener.d.ts.map +1 -0
- package/dist/esm/audio/AudioManager.d.ts +1 -0
- package/dist/esm/audio/AudioManager.d.ts.map +1 -0
- package/dist/esm/audio/BeatDetector.d.ts +5 -4
- package/dist/esm/audio/BeatDetector.d.ts.map +1 -0
- package/dist/esm/audio/BeatDetector.js +1 -1
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Envelope.d.ts +1 -0
- package/dist/esm/audio/Envelope.d.ts.map +1 -0
- package/dist/esm/audio/Media.d.ts +2 -1
- package/dist/esm/audio/Media.d.ts.map +1 -0
- package/dist/esm/audio/Music.d.ts +4 -3
- package/dist/esm/audio/Music.d.ts.map +1 -0
- package/dist/esm/audio/Music.js +1 -1
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/OscillatorSound.d.ts +2 -1
- package/dist/esm/audio/OscillatorSound.d.ts.map +1 -0
- package/dist/esm/audio/Sound.d.ts +5 -4
- package/dist/esm/audio/Sound.d.ts.map +1 -0
- package/dist/esm/audio/Sound.js +2 -2
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.d.ts +2 -1
- package/dist/esm/audio/audio-context.d.ts.map +1 -0
- package/dist/esm/audio/crossFade.d.ts +1 -0
- package/dist/esm/audio/crossFade.d.ts.map +1 -0
- package/dist/esm/audio/dsp/fft.d.ts +1 -0
- package/dist/esm/audio/dsp/fft.d.ts.map +1 -0
- package/dist/esm/audio/dsp/mel.d.ts +1 -0
- package/dist/esm/audio/dsp/mel.d.ts.map +1 -0
- package/dist/esm/audio/dsp/tempogram.d.ts +1 -0
- package/dist/esm/audio/dsp/tempogram.d.ts.map +1 -0
- package/dist/esm/audio/filters/ChorusFilter.d.ts +2 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/CompressorFilter.d.ts +2 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/DelayFilter.d.ts +2 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/DuckingFilter.d.ts +2 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +2 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/GranularFilter.d.ts +1 -0
- package/dist/esm/audio/filters/GranularFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -1
- package/dist/esm/audio/filters/LowpassFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +1 -0
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +2 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts.map +1 -0
- package/dist/esm/audio/filters/index.d.ts +1 -0
- package/dist/esm/audio/filters/index.d.ts.map +1 -0
- package/dist/esm/audio/index.d.ts +2 -1
- package/dist/esm/audio/index.d.ts.map +1 -0
- package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -0
- package/dist/esm/audio/worklet/registerWorklet.d.ts.map +1 -0
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +1 -0
- package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/granular.worklet.d.ts.map +1 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +1 -0
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +1 -0
- package/dist/esm/core/Application.d.ts +24 -14
- package/dist/esm/core/Application.d.ts.map +1 -0
- package/dist/esm/core/Application.js +50 -5
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Bounds.d.ts +3 -2
- package/dist/esm/core/Bounds.d.ts.map +1 -0
- package/dist/esm/core/BuildInfo.d.ts +16 -0
- package/dist/esm/core/BuildInfo.d.ts.map +1 -0
- package/dist/esm/core/BuildInfo.js +8 -0
- package/dist/esm/core/BuildInfo.js.map +1 -0
- package/dist/esm/core/Clock.d.ts +1 -0
- package/dist/esm/core/Clock.d.ts.map +1 -0
- package/dist/esm/core/Clock.js +1 -1
- package/dist/esm/core/Clock.js.map +1 -1
- package/dist/esm/core/Color.d.ts +2 -1
- package/dist/esm/core/Color.d.ts.map +1 -0
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Perf.d.ts +1 -0
- package/dist/esm/core/Perf.d.ts.map +1 -0
- package/dist/esm/core/Scene.d.ts +7 -6
- package/dist/esm/core/Scene.d.ts.map +1 -0
- package/dist/esm/core/SceneManager.d.ts +1 -0
- package/dist/esm/core/SceneManager.d.ts.map +1 -0
- package/dist/esm/core/SceneNode.d.ts +11 -10
- package/dist/esm/core/SceneNode.d.ts.map +1 -0
- package/dist/esm/core/Signal.d.ts +1 -0
- package/dist/esm/core/Signal.d.ts.map +1 -0
- package/dist/esm/core/Time.d.ts +2 -1
- package/dist/esm/core/Time.d.ts.map +1 -0
- package/dist/esm/core/Timer.d.ts +2 -1
- package/dist/esm/core/Timer.d.ts.map +1 -0
- package/dist/esm/core/Timer.js +1 -1
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/core/capabilities.d.ts +1 -0
- package/dist/esm/core/capabilities.d.ts.map +1 -0
- package/dist/esm/core/dev.d.ts +22 -0
- package/dist/esm/core/dev.d.ts.map +1 -0
- package/dist/esm/core/dev.js +39 -0
- package/dist/esm/core/dev.js.map +1 -0
- package/dist/esm/core/index.d.ts +2 -0
- package/dist/esm/core/index.d.ts.map +1 -0
- package/dist/esm/core/types.d.ts +2 -1
- package/dist/esm/core/types.d.ts.map +1 -0
- package/dist/esm/core/utils.d.ts +4 -3
- package/dist/esm/core/utils.d.ts.map +1 -0
- package/dist/esm/core/utils.js +1 -1
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts +4 -3
- package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -0
- package/dist/esm/debug/DebugLayer.d.ts +4 -3
- package/dist/esm/debug/DebugLayer.d.ts.map +1 -0
- package/dist/esm/debug/DebugOverlay.d.ts +2 -1
- package/dist/esm/debug/DebugOverlay.d.ts.map +1 -0
- package/dist/esm/debug/HitTestLayer.d.ts +4 -3
- package/dist/esm/debug/HitTestLayer.d.ts.map +1 -0
- package/dist/esm/debug/PerformanceLayer.d.ts +4 -3
- package/dist/esm/debug/PerformanceLayer.d.ts.map +1 -0
- package/dist/esm/debug/PointerStackLayer.d.ts +4 -3
- package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -0
- package/dist/esm/debug/RenderPassInspectorLayer.d.ts +33 -4
- package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -0
- package/dist/esm/debug/RenderPassInspectorLayer.js +41 -0
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/debug/index.d.ts +2 -1
- package/dist/esm/debug/index.d.ts.map +1 -0
- package/dist/esm/extensions/Extension.d.ts +70 -0
- package/dist/esm/extensions/Extension.d.ts.map +1 -0
- package/dist/esm/extensions/ExtensionRegistry.d.ts +35 -0
- package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -0
- package/dist/esm/extensions/ExtensionRegistry.js +63 -0
- package/dist/esm/extensions/ExtensionRegistry.js.map +1 -0
- package/dist/esm/extensions/index.d.ts +3 -0
- package/dist/esm/extensions/index.d.ts.map +1 -0
- package/dist/esm/extensions/index.js +2 -0
- package/dist/esm/extensions/index.js.map +1 -0
- package/dist/esm/extensions/materialize.d.ts +16 -0
- package/dist/esm/extensions/materialize.d.ts.map +1 -0
- package/dist/esm/extensions/materialize.js +61 -0
- package/dist/esm/extensions/materialize.js.map +1 -0
- package/dist/esm/extensions/snapshot.d.ts +16 -0
- package/dist/esm/extensions/snapshot.d.ts.map +1 -0
- package/dist/esm/extensions/snapshot.js +49 -0
- package/dist/esm/extensions/snapshot.js.map +1 -0
- package/dist/esm/extensions/testing.d.ts +7 -0
- package/dist/esm/extensions/testing.d.ts.map +1 -0
- package/dist/esm/index.d.ts +9 -8
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +21 -50
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +1 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -0
- package/dist/esm/input/GameCubeGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/Gamepad.d.ts +2 -1
- package/dist/esm/input/Gamepad.d.ts.map +1 -0
- package/dist/esm/input/Gamepad.js +1 -1
- package/dist/esm/input/GamepadAxis.d.ts +1 -0
- package/dist/esm/input/GamepadAxis.d.ts.map +1 -0
- package/dist/esm/input/GamepadAxis.js +1 -1
- package/dist/esm/input/GamepadAxis.js.map +1 -1
- package/dist/esm/input/GamepadButton.d.ts +1 -0
- package/dist/esm/input/GamepadButton.d.ts.map +1 -0
- package/dist/esm/input/GamepadButton.js +1 -1
- package/dist/esm/input/GamepadButton.js.map +1 -1
- package/dist/esm/input/GamepadDefinitions.d.ts +1 -0
- package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -0
- package/dist/esm/input/GamepadMapping.d.ts +1 -0
- package/dist/esm/input/GamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/GamepadPromptLayouts.d.ts +1 -0
- package/dist/esm/input/GamepadPromptLayouts.d.ts.map +1 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +1 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/GestureRecognizer.d.ts +3 -2
- package/dist/esm/input/GestureRecognizer.d.ts.map +1 -0
- package/dist/esm/input/InputBinding.d.ts +3 -2
- package/dist/esm/input/InputBinding.d.ts.map +1 -0
- package/dist/esm/input/InputManager.d.ts +4 -3
- package/dist/esm/input/InputManager.d.ts.map +1 -0
- package/dist/esm/input/InputManager.js +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +2 -1
- package/dist/esm/input/InteractionEvent.d.ts.map +1 -0
- package/dist/esm/input/InteractionManager.d.ts +4 -3
- package/dist/esm/input/InteractionManager.d.ts.map +1 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +1 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts +1 -0
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -0
- package/dist/esm/input/PlayStationGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/Pointer.d.ts +4 -3
- package/dist/esm/input/Pointer.d.ts.map +1 -0
- package/dist/esm/input/Pointer.js +1 -1
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -0
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/SteamDeckGamepadMapping.d.ts +1 -0
- package/dist/esm/input/SteamDeckGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -0
- package/dist/esm/input/SwitchProGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/XboxGamepadMapping.d.ts +1 -0
- package/dist/esm/input/XboxGamepadMapping.d.ts.map +1 -0
- package/dist/esm/input/index.d.ts +1 -0
- package/dist/esm/input/index.d.ts.map +1 -0
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts +2 -1
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +1 -0
- package/dist/esm/input/types.d.ts +1 -0
- package/dist/esm/input/types.d.ts.map +1 -0
- package/dist/esm/math/AbstractVector.d.ts +2 -1
- package/dist/esm/math/AbstractVector.d.ts.map +1 -0
- package/dist/esm/math/Circle.d.ts +7 -6
- package/dist/esm/math/Circle.d.ts.map +1 -0
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/CircleLike.d.ts +1 -0
- package/dist/esm/math/CircleLike.d.ts.map +1 -0
- package/dist/esm/math/Collision.d.ts +3 -2
- package/dist/esm/math/Collision.d.ts.map +1 -0
- package/dist/esm/math/Ellipse.d.ts +7 -6
- package/dist/esm/math/Ellipse.d.ts.map +1 -0
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/EllipseLike.d.ts +1 -0
- package/dist/esm/math/EllipseLike.d.ts.map +1 -0
- package/dist/esm/math/Flags.d.ts +2 -1
- package/dist/esm/math/Flags.d.ts.map +1 -0
- package/dist/esm/math/Interval.d.ts +2 -1
- package/dist/esm/math/Interval.d.ts.map +1 -0
- package/dist/esm/math/Line.d.ts +7 -6
- package/dist/esm/math/Line.d.ts.map +1 -0
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/LineLike.d.ts +1 -0
- package/dist/esm/math/LineLike.d.ts.map +1 -0
- package/dist/esm/math/Matrix.d.ts +2 -1
- package/dist/esm/math/Matrix.d.ts.map +1 -0
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableSize.d.ts +1 -0
- package/dist/esm/math/ObservableSize.d.ts.map +1 -0
- package/dist/esm/math/ObservableVector.d.ts +2 -1
- package/dist/esm/math/ObservableVector.d.ts.map +1 -0
- package/dist/esm/math/PointLike.d.ts +1 -0
- package/dist/esm/math/PointLike.d.ts.map +1 -0
- package/dist/esm/math/PolarVector.d.ts +2 -1
- package/dist/esm/math/PolarVector.d.ts.map +1 -0
- package/dist/esm/math/Polygon.d.ts +7 -6
- package/dist/esm/math/Polygon.d.ts.map +1 -0
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/PolygonLike.d.ts +2 -1
- package/dist/esm/math/PolygonLike.d.ts.map +1 -0
- package/dist/esm/math/Quadtree.d.ts +1 -0
- package/dist/esm/math/Quadtree.d.ts.map +1 -0
- package/dist/esm/math/Random.d.ts +1 -0
- package/dist/esm/math/Random.d.ts.map +1 -0
- package/dist/esm/math/Rectangle.d.ts +8 -7
- package/dist/esm/math/Rectangle.d.ts.map +1 -0
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/RectangleLike.d.ts +1 -0
- package/dist/esm/math/RectangleLike.d.ts.map +1 -0
- package/dist/esm/math/Segment.d.ts +3 -2
- package/dist/esm/math/Segment.d.ts.map +1 -0
- package/dist/esm/math/Segment.js.map +1 -1
- package/dist/esm/math/ShapeLike.d.ts +3 -2
- package/dist/esm/math/ShapeLike.d.ts.map +1 -0
- package/dist/esm/math/Size.d.ts +2 -1
- package/dist/esm/math/Size.d.ts.map +1 -0
- package/dist/esm/math/Vector.d.ts +6 -5
- package/dist/esm/math/Vector.d.ts.map +1 -0
- package/dist/esm/math/Vector.js +1 -1
- package/dist/esm/math/collision-detection.d.ts +8 -7
- package/dist/esm/math/collision-detection.d.ts.map +1 -0
- package/dist/esm/math/collision-detection.js +1 -1
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +3 -2
- package/dist/esm/math/collision-primitives.d.ts.map +1 -0
- package/dist/esm/math/geometry.d.ts +1 -0
- package/dist/esm/math/geometry.d.ts.map +1 -0
- package/dist/esm/math/index.d.ts +1 -0
- package/dist/esm/math/index.d.ts.map +1 -0
- package/dist/esm/math/swept-collision.d.ts +1 -0
- package/dist/esm/math/swept-collision.d.ts.map +1 -0
- package/dist/esm/math/triangulate.d.ts +1 -0
- package/dist/esm/math/triangulate.d.ts.map +1 -0
- package/dist/esm/math/utils.d.ts +2 -1
- package/dist/esm/math/utils.d.ts.map +1 -0
- package/dist/esm/renderer-sdk.d.ts +27 -0
- package/dist/esm/renderer-sdk.d.ts.map +1 -0
- package/dist/esm/rendering/BackendRenderPass.d.ts +17 -0
- package/dist/esm/rendering/BackendRenderPass.d.ts.map +1 -0
- package/dist/esm/rendering/BackendTargetPass.d.ts +38 -0
- package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -0
- package/dist/esm/rendering/{RenderTargetPass.js → BackendTargetPass.js} +12 -7
- package/dist/esm/rendering/BackendTargetPass.js.map +1 -0
- package/dist/esm/rendering/CallbackRenderPass.d.ts +38 -14
- package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js +61 -13
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Camera.d.ts +3 -2
- package/dist/esm/rendering/Camera.d.ts.map +1 -0
- package/dist/esm/rendering/Camera.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +2 -1
- package/dist/esm/rendering/Container.d.ts.map +1 -0
- package/dist/esm/rendering/Drawable.d.ts +4 -3
- package/dist/esm/rendering/Drawable.d.ts.map +1 -0
- package/dist/esm/rendering/Drawable.js +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +13 -10
- package/dist/esm/rendering/RenderBackend.d.ts.map +1 -0
- package/dist/esm/rendering/RenderBackendType.d.ts +1 -0
- package/dist/esm/rendering/RenderBackendType.d.ts.map +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +13 -12
- package/dist/esm/rendering/RenderNode.d.ts.map +1 -0
- package/dist/esm/rendering/RenderNode.js +2 -2
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts +38 -0
- package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -0
- package/dist/esm/rendering/RenderNodePass.js +48 -0
- package/dist/esm/rendering/RenderNodePass.js.map +1 -0
- package/dist/esm/rendering/RenderPass.d.ts +53 -8
- package/dist/esm/rendering/RenderPass.d.ts.map +1 -0
- package/dist/esm/rendering/RenderPass.js +48 -0
- package/dist/esm/rendering/RenderPass.js.map +1 -0
- package/dist/esm/rendering/RenderPipeline.d.ts +61 -0
- package/dist/esm/rendering/RenderPipeline.d.ts.map +1 -0
- package/dist/esm/rendering/RenderPipeline.js +177 -0
- package/dist/esm/rendering/RenderPipeline.js.map +1 -0
- package/dist/esm/rendering/RenderStats.d.ts +1 -0
- package/dist/esm/rendering/RenderStats.d.ts.map +1 -0
- package/dist/esm/rendering/RenderTarget.d.ts +4 -3
- package/dist/esm/rendering/RenderTarget.d.ts.map +1 -0
- package/dist/esm/rendering/Renderer.d.ts +1 -0
- package/dist/esm/rendering/Renderer.d.ts.map +1 -0
- package/dist/esm/rendering/RendererRegistry.d.ts +13 -2
- package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -0
- package/dist/esm/rendering/RendererRegistry.js +60 -7
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/RenderingContext.d.ts +7 -6
- package/dist/esm/rendering/RenderingContext.d.ts.map +1 -0
- package/dist/esm/rendering/RenderingContext.js +5 -5
- package/dist/esm/rendering/TransformBuffer.d.ts +47 -2
- package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -0
- package/dist/esm/rendering/TransformBuffer.js +64 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +7 -6
- package/dist/esm/rendering/View.d.ts.map +1 -0
- package/dist/esm/rendering/coreRendererBindings.d.ts +10 -0
- package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -0
- package/dist/esm/rendering/coreRendererBindings.js +51 -0
- package/dist/esm/rendering/coreRendererBindings.js.map +1 -0
- package/dist/esm/rendering/filters/BlurFilter.d.ts +3 -2
- package/dist/esm/rendering/filters/BlurFilter.d.ts.map +1 -0
- package/dist/esm/rendering/filters/BlurFilter.js +2 -2
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
- package/dist/esm/rendering/filters/ColorFilter.d.ts +4 -3
- package/dist/esm/rendering/filters/ColorFilter.d.ts.map +1 -0
- package/dist/esm/rendering/filters/ColorFilter.js +2 -2
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
- package/dist/esm/rendering/filters/Filter.d.ts +3 -2
- package/dist/esm/rendering/filters/Filter.d.ts.map +1 -0
- package/dist/esm/rendering/filters/LutFilter.d.ts +4 -3
- package/dist/esm/rendering/filters/LutFilter.d.ts.map +1 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +4 -3
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts.map +1 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +2 -2
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +3 -2
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -3
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/geometry/Geometry.d.ts +2 -1
- package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -0
- package/dist/esm/rendering/geometry/GeometryAttribute.d.ts +1 -0
- package/dist/esm/rendering/geometry/GeometryAttribute.d.ts.map +1 -0
- package/dist/esm/rendering/geometry/QuadGeometry.d.ts +1 -0
- package/dist/esm/rendering/geometry/QuadGeometry.d.ts.map +1 -0
- package/dist/esm/rendering/gradient/Gradient.d.ts +39 -5
- package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -0
- package/dist/esm/rendering/gradient/Gradient.js +51 -5
- package/dist/esm/rendering/gradient/Gradient.js.map +1 -1
- package/dist/esm/rendering/gradient/LinearGradient.d.ts +12 -3
- package/dist/esm/rendering/gradient/LinearGradient.d.ts.map +1 -0
- package/dist/esm/rendering/gradient/LinearGradient.js +23 -0
- package/dist/esm/rendering/gradient/LinearGradient.js.map +1 -1
- package/dist/esm/rendering/gradient/RadialGradient.d.ts +12 -3
- package/dist/esm/rendering/gradient/RadialGradient.d.ts.map +1 -0
- package/dist/esm/rendering/gradient/RadialGradient.js +19 -0
- package/dist/esm/rendering/gradient/RadialGradient.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +87 -84
- package/dist/esm/rendering/index.d.ts.map +1 -0
- package/dist/esm/rendering/material/Material.d.ts +5 -4
- package/dist/esm/rendering/material/Material.d.ts.map +1 -0
- package/dist/esm/rendering/material/MaterialKey.d.ts +5 -4
- package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -0
- package/dist/esm/rendering/material/MeshMaterial.d.ts +1 -0
- package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -0
- package/dist/esm/rendering/material/ShaderSource.d.ts +1 -0
- package/dist/esm/rendering/material/ShaderSource.d.ts.map +1 -0
- package/dist/esm/rendering/material/SpriteMaterial.d.ts +1 -0
- package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +6 -5
- package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -0
- package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +10 -9
- package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts.map +1 -0
- package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +6 -5
- package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts.map +1 -0
- package/dist/esm/rendering/pass/RenderPassDescriptor.js +1 -1
- package/dist/esm/rendering/pass/RenderPassDescriptor.js.map +1 -1
- package/dist/esm/rendering/plan/RenderCommand.d.ts +25 -5
- package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderCommand.js +34 -1
- package/dist/esm/rendering/plan/RenderCommand.js.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts +2 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +52 -0
- package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderInstruction.js +45 -0
- package/dist/esm/rendering/plan/RenderInstruction.js.map +1 -0
- package/dist/esm/rendering/plan/RenderPlan.d.ts +4 -3
- package/dist/esm/rendering/plan/RenderPlan.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +5 -4
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts +1 -0
- package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +6 -1
- package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -0
- package/dist/esm/rendering/plan/RenderPlanPlayer.js +58 -7
- package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
- package/dist/esm/rendering/plan/RenderScope.d.ts +6 -5
- package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -0
- package/dist/esm/rendering/plan/playRenderTree.d.ts +3 -2
- package/dist/esm/rendering/plan/playRenderTree.d.ts.map +1 -0
- package/dist/esm/rendering/primitives/Graphics.d.ts +76 -10
- package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -0
- package/dist/esm/rendering/primitives/Graphics.js +172 -14
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.d.ts +1 -0
- package/dist/esm/rendering/shader/Shader.d.ts.map +1 -0
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts +1 -0
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +2 -1
- package/dist/esm/rendering/shader/ShaderUniform.d.ts.map +1 -0
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts +1 -0
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +6 -5
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts +8 -7
- package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +3 -2
- package/dist/esm/rendering/sprite/Spritesheet.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +14 -8
- package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts.map +1 -0
- package/dist/esm/rendering/sprite/spriteMaterialSources.js +35 -14
- package/dist/esm/rendering/sprite/spriteMaterialSources.js.map +1 -1
- package/dist/esm/rendering/text/AbstractText.d.ts +2 -1
- package/dist/esm/rendering/text/AbstractText.d.ts.map +1 -0
- package/dist/esm/rendering/text/BitmapText.d.ts +4 -1
- package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -0
- package/dist/esm/rendering/text/BitmapText.js +5 -1
- package/dist/esm/rendering/text/BitmapText.js.map +1 -1
- package/dist/esm/rendering/text/BmFont.d.ts +2 -1
- package/dist/esm/rendering/text/BmFont.d.ts.map +1 -0
- package/dist/esm/rendering/text/BmFont.js +3 -0
- package/dist/esm/rendering/text/BmFont.js.map +1 -1
- package/dist/esm/rendering/text/GlyphAtlas.d.ts +3 -2
- package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +1 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -0
- package/dist/esm/rendering/text/GlyphSdf.d.ts +15 -0
- package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -0
- package/dist/esm/rendering/text/GlyphSdf.js +48 -11
- package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
- package/dist/esm/rendering/text/HTMLText.d.ts +2 -1
- package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -0
- package/dist/esm/rendering/text/LayoutOptions.d.ts +1 -0
- package/dist/esm/rendering/text/LayoutOptions.d.ts.map +1 -0
- package/dist/esm/rendering/text/Text.d.ts +1 -0
- package/dist/esm/rendering/text/Text.d.ts.map +1 -0
- package/dist/esm/rendering/text/TextLayout.d.ts +1 -0
- package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -0
- package/dist/esm/rendering/text/TextStyle.d.ts +8 -2
- package/dist/esm/rendering/text/TextStyle.d.ts.map +1 -0
- package/dist/esm/rendering/text/TextStyle.js +1 -1
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/types.d.ts +1 -0
- package/dist/esm/rendering/text/types.d.ts.map +1 -0
- package/dist/esm/rendering/texture/DataTexture.d.ts +3 -2
- package/dist/esm/rendering/texture/DataTexture.d.ts.map +1 -0
- package/dist/esm/rendering/texture/DataTexture.js +1 -1
- package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
- package/dist/esm/rendering/texture/RenderTexture.d.ts +4 -3
- package/dist/esm/rendering/texture/RenderTexture.d.ts.map +1 -0
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Sampler.d.ts +2 -1
- package/dist/esm/rendering/texture/Sampler.d.ts.map +1 -0
- package/dist/esm/rendering/texture/Texture.d.ts +4 -3
- package/dist/esm/rendering/texture/Texture.d.ts.map +1 -0
- package/dist/esm/rendering/types.d.ts +1 -0
- package/dist/esm/rendering/types.d.ts.map +1 -0
- package/dist/esm/rendering/utils.d.ts +1 -0
- package/dist/esm/rendering/utils.d.ts.map +1 -0
- package/dist/esm/rendering/video/Video.d.ts +8 -7
- package/dist/esm/rendering/video/Video.d.ts.map +1 -0
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -6
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +4 -3
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +43 -20
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +53 -17
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +4 -3
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +2 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +3 -3
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts +10 -9
- package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js +1 -1
- package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +3 -2
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +2 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts +2 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +4 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +63 -40
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts +3 -2
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +10 -2
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +10 -3
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +3 -2
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.vert.js +1 -1
- package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +1 -1
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +4 -3
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +35 -21
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +51 -19
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +2 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +4 -3
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -3
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +53 -41
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +12 -11
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +2 -2
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +13 -4
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +122 -77
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +4 -3
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts +1 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +10 -2
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +24 -15
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +34 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +58 -12
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/compute/index.d.ts +1 -0
- package/dist/esm/rendering/webgpu/compute/index.d.ts.map +1 -0
- package/dist/esm/rendering.d.ts +28 -0
- package/dist/esm/rendering.d.ts.map +1 -0
- package/dist/esm/rendering.js +22 -0
- package/dist/esm/rendering.js.map +1 -0
- package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -0
- package/dist/esm/resources/AbstractAssetFactory.d.ts.map +1 -0
- package/dist/esm/resources/Asset.d.ts +1 -0
- package/dist/esm/resources/Asset.d.ts.map +1 -0
- package/dist/esm/resources/AssetDefinitions.d.ts +9 -8
- package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -0
- package/dist/esm/resources/AssetFactory.d.ts +1 -0
- package/dist/esm/resources/AssetFactory.d.ts.map +1 -0
- package/dist/esm/resources/AssetManifest.d.ts +1 -0
- package/dist/esm/resources/AssetManifest.d.ts.map +1 -0
- package/dist/esm/resources/Assets.d.ts +1 -0
- package/dist/esm/resources/Assets.d.ts.map +1 -0
- package/dist/esm/resources/CacheFirstStrategy.d.ts +1 -0
- package/dist/esm/resources/CacheFirstStrategy.d.ts.map +1 -0
- package/dist/esm/resources/CacheStore.d.ts +1 -0
- package/dist/esm/resources/CacheStore.d.ts.map +1 -0
- package/dist/esm/resources/CacheStrategy.d.ts +1 -0
- package/dist/esm/resources/CacheStrategy.d.ts.map +1 -0
- package/dist/esm/resources/Database.d.ts +1 -0
- package/dist/esm/resources/Database.d.ts.map +1 -0
- package/dist/esm/resources/FactoryRegistry.d.ts +1 -0
- package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -0
- package/dist/esm/resources/IndexedDbDatabase.d.ts +2 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -0
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.d.ts +1 -0
- package/dist/esm/resources/IndexedDbStore.d.ts.map +1 -0
- package/dist/esm/resources/JsonStore.d.ts +1 -0
- package/dist/esm/resources/JsonStore.d.ts.map +1 -0
- package/dist/esm/resources/Loader.d.ts +34 -4
- package/dist/esm/resources/Loader.d.ts.map +1 -0
- package/dist/esm/resources/Loader.js +107 -70
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/LoadingQueue.d.ts +2 -1
- package/dist/esm/resources/LoadingQueue.d.ts.map +1 -0
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +1 -0
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts.map +1 -0
- package/dist/esm/resources/coreAssetBindings.d.ts +8 -0
- package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -0
- package/dist/esm/resources/coreAssetBindings.js +151 -0
- package/dist/esm/resources/coreAssetBindings.js.map +1 -0
- package/dist/esm/resources/factories/BinaryFactory.d.ts +2 -1
- package/dist/esm/resources/factories/BinaryFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/BmFontFactory.d.ts +5 -4
- package/dist/esm/resources/factories/BmFontFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/CsvFactory.d.ts +2 -1
- package/dist/esm/resources/factories/CsvFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/FontFactory.d.ts +2 -1
- package/dist/esm/resources/factories/FontFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/ImageFactory.d.ts +2 -1
- package/dist/esm/resources/factories/ImageFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/JsonFactory.d.ts +2 -1
- package/dist/esm/resources/factories/JsonFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/MusicFactory.d.ts +4 -3
- package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/SoundFactory.d.ts +4 -3
- package/dist/esm/resources/factories/SoundFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/SubtitleFactory.d.ts +2 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/SvgFactory.d.ts +2 -1
- package/dist/esm/resources/factories/SvgFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/TextFactory.d.ts +2 -1
- package/dist/esm/resources/factories/TextFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/TextureFactory.d.ts +4 -3
- package/dist/esm/resources/factories/TextureFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/VideoFactory.d.ts +5 -4
- package/dist/esm/resources/factories/VideoFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/WasmFactory.d.ts +2 -1
- package/dist/esm/resources/factories/WasmFactory.d.ts.map +1 -0
- package/dist/esm/resources/factories/XmlFactory.d.ts +2 -1
- package/dist/esm/resources/factories/XmlFactory.d.ts.map +1 -0
- package/dist/esm/resources/index.d.ts +16 -15
- package/dist/esm/resources/index.d.ts.map +1 -0
- package/dist/esm/resources/tokens.d.ts +1 -0
- package/dist/esm/resources/tokens.d.ts.map +1 -0
- package/dist/esm/resources/utils.d.ts +1 -0
- package/dist/esm/resources/utils.d.ts.map +1 -0
- package/dist/exo.debug.esm.js +949 -0
- package/dist/exo.debug.esm.js.map +1 -0
- package/dist/exo.esm.js +8258 -10156
- package/dist/exo.esm.js.map +1 -1
- package/package.json +86 -54
- package/dist/esm/particles/ParticleSystem.d.ts +0 -212
- package/dist/esm/particles/ParticleSystem.js +0 -573
- package/dist/esm/particles/ParticleSystem.js.map +0 -1
- package/dist/esm/particles/distributions/BoxArea.d.ts +0 -17
- package/dist/esm/particles/distributions/BoxArea.js +0 -48
- package/dist/esm/particles/distributions/BoxArea.js.map +0 -1
- package/dist/esm/particles/distributions/CircleArea.d.ts +0 -19
- package/dist/esm/particles/distributions/CircleArea.js +0 -33
- package/dist/esm/particles/distributions/CircleArea.js.map +0 -1
- package/dist/esm/particles/distributions/ColorGradient.d.ts +0 -40
- package/dist/esm/particles/distributions/ColorGradient.js +0 -72
- package/dist/esm/particles/distributions/ColorGradient.js.map +0 -1
- package/dist/esm/particles/distributions/ConeDirection.d.ts +0 -28
- package/dist/esm/particles/distributions/ConeDirection.js +0 -44
- package/dist/esm/particles/distributions/ConeDirection.js.map +0 -1
- package/dist/esm/particles/distributions/Constant.d.ts +0 -17
- package/dist/esm/particles/distributions/Constant.js +0 -35
- package/dist/esm/particles/distributions/Constant.js.map +0 -1
- package/dist/esm/particles/distributions/Curve.d.ts +0 -30
- package/dist/esm/particles/distributions/Curve.js +0 -53
- package/dist/esm/particles/distributions/Curve.js.map +0 -1
- package/dist/esm/particles/distributions/Distribution.d.ts +0 -45
- package/dist/esm/particles/distributions/LineSegment.d.ts +0 -15
- package/dist/esm/particles/distributions/LineSegment.js +0 -27
- package/dist/esm/particles/distributions/LineSegment.js.map +0 -1
- package/dist/esm/particles/distributions/Range.d.ts +0 -12
- package/dist/esm/particles/distributions/Range.js +0 -19
- package/dist/esm/particles/distributions/Range.js.map +0 -1
- package/dist/esm/particles/distributions/VectorRange.d.ts +0 -20
- package/dist/esm/particles/distributions/VectorRange.js +0 -31
- package/dist/esm/particles/distributions/VectorRange.js.map +0 -1
- package/dist/esm/particles/distributions/index.d.ts +0 -12
- package/dist/esm/particles/gpu/ParticleGpuState.d.ts +0 -57
- package/dist/esm/particles/gpu/ParticleGpuState.js +0 -535
- package/dist/esm/particles/gpu/ParticleGpuState.js.map +0 -1
- package/dist/esm/particles/index.d.ts +0 -4
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +0 -24
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +0 -60
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +0 -1
- package/dist/esm/particles/modules/ApplyForce.d.ts +0 -20
- package/dist/esm/particles/modules/ApplyForce.js +0 -48
- package/dist/esm/particles/modules/ApplyForce.js.map +0 -1
- package/dist/esm/particles/modules/AttractToPoint.d.ts +0 -27
- package/dist/esm/particles/modules/AttractToPoint.js +0 -73
- package/dist/esm/particles/modules/AttractToPoint.js.map +0 -1
- package/dist/esm/particles/modules/BurstSpawn.d.ts +0 -53
- package/dist/esm/particles/modules/BurstSpawn.js +0 -94
- package/dist/esm/particles/modules/BurstSpawn.js.map +0 -1
- package/dist/esm/particles/modules/ColorOverLifetime.d.ts +0 -22
- package/dist/esm/particles/modules/ColorOverLifetime.js +0 -65
- package/dist/esm/particles/modules/ColorOverLifetime.js.map +0 -1
- package/dist/esm/particles/modules/ColorOverSpeed.d.ts +0 -27
- package/dist/esm/particles/modules/ColorOverSpeed.js +0 -86
- package/dist/esm/particles/modules/ColorOverSpeed.js.map +0 -1
- package/dist/esm/particles/modules/DeathModule.d.ts +0 -24
- package/dist/esm/particles/modules/DeathModule.js +0 -25
- package/dist/esm/particles/modules/DeathModule.js.map +0 -1
- package/dist/esm/particles/modules/Drag.d.ts +0 -20
- package/dist/esm/particles/modules/Drag.js +0 -43
- package/dist/esm/particles/modules/Drag.js.map +0 -1
- package/dist/esm/particles/modules/OrbitalForce.d.ts +0 -28
- package/dist/esm/particles/modules/OrbitalForce.js +0 -65
- package/dist/esm/particles/modules/OrbitalForce.js.map +0 -1
- package/dist/esm/particles/modules/RateSpawn.d.ts +0 -41
- package/dist/esm/particles/modules/RateSpawn.js +0 -76
- package/dist/esm/particles/modules/RateSpawn.js.map +0 -1
- package/dist/esm/particles/modules/RepelFromPoint.d.ts +0 -24
- package/dist/esm/particles/modules/RepelFromPoint.js +0 -76
- package/dist/esm/particles/modules/RepelFromPoint.js.map +0 -1
- package/dist/esm/particles/modules/RotateOverLifetime.d.ts +0 -20
- package/dist/esm/particles/modules/RotateOverLifetime.js +0 -41
- package/dist/esm/particles/modules/RotateOverLifetime.js.map +0 -1
- package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +0 -26
- package/dist/esm/particles/modules/ScaleOverLifetime.js +0 -59
- package/dist/esm/particles/modules/ScaleOverLifetime.js.map +0 -1
- package/dist/esm/particles/modules/SpawnModule.d.ts +0 -30
- package/dist/esm/particles/modules/SpawnModule.js +0 -31
- package/dist/esm/particles/modules/SpawnModule.js.map +0 -1
- package/dist/esm/particles/modules/SpawnOnDeath.d.ts +0 -24
- package/dist/esm/particles/modules/SpawnOnDeath.js +0 -47
- package/dist/esm/particles/modules/SpawnOnDeath.js.map +0 -1
- package/dist/esm/particles/modules/Turbulence.d.ts +0 -30
- package/dist/esm/particles/modules/Turbulence.js +0 -122
- package/dist/esm/particles/modules/Turbulence.js.map +0 -1
- package/dist/esm/particles/modules/UpdateModule.d.ts +0 -95
- package/dist/esm/particles/modules/UpdateModule.js +0 -66
- package/dist/esm/particles/modules/UpdateModule.js.map +0 -1
- package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +0 -30
- package/dist/esm/particles/modules/VelocityOverLifetime.js +0 -84
- package/dist/esm/particles/modules/VelocityOverLifetime.js.map +0 -1
- package/dist/esm/particles/modules/WgslContribution.d.ts +0 -81
- package/dist/esm/particles/modules/WgslContribution.js +0 -34
- package/dist/esm/particles/modules/WgslContribution.js.map +0 -1
- package/dist/esm/particles/modules/index.d.ts +0 -22
- package/dist/esm/rendering/RenderTargetPass.d.ts +0 -29
- package/dist/esm/rendering/RenderTargetPass.js.map +0 -1
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +0 -37
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +0 -322
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +0 -1
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js +0 -4
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +0 -1
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js +0 -4
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +0 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +0 -41
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +0 -550
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Application } from '
|
|
2
|
-
import type { Time } from '
|
|
3
|
-
import type { Filter } from '
|
|
4
|
-
import type { RenderBackend } from '
|
|
1
|
+
import type { Application } from '#core/Application';
|
|
2
|
+
import type { Time } from '#core/Time';
|
|
3
|
+
import type { Filter } from '#rendering/filters/Filter';
|
|
4
|
+
import type { RenderBackend } from '#rendering/RenderBackend';
|
|
5
|
+
import { RenderPipeline } from '#rendering/RenderPipeline';
|
|
5
6
|
import { DebugLayer, type DebugLayerViewMode } from './DebugLayer';
|
|
6
7
|
/**
|
|
7
8
|
* Snapshot of one drawable's filter chain at the moment the inspector
|
|
@@ -22,6 +23,20 @@ export interface RenderPassInspectorEntry {
|
|
|
22
23
|
/** Whether the drawable is bitmap-cached (cached drawables apply filters once, not per frame). */
|
|
23
24
|
readonly cachedAsBitmap: boolean;
|
|
24
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* One row of a {@link RenderPipeline} listing produced by {@link RenderPassInspectorLayer.describePipeline}.
|
|
28
|
+
* Identity is the pass object; `label` is display-only (no names are required). Nested pipelines increase `depth`.
|
|
29
|
+
*/
|
|
30
|
+
export interface RenderPipelineRow {
|
|
31
|
+
/** Nesting depth (0 = top-level pass). */
|
|
32
|
+
readonly depth: number;
|
|
33
|
+
/** The pass's label (defaults to its constructor name). */
|
|
34
|
+
readonly label: string;
|
|
35
|
+
/** Whether the pass is enabled. */
|
|
36
|
+
readonly enabled: boolean;
|
|
37
|
+
/** Whether the pass is itself a {@link RenderPipeline}. */
|
|
38
|
+
readonly isPipeline: boolean;
|
|
39
|
+
}
|
|
25
40
|
/**
|
|
26
41
|
* Debug layer that lists every {@link RenderNode} with an active filter chain
|
|
27
42
|
* each frame. Renders a compact text panel with per-drawable rows showing
|
|
@@ -44,7 +59,14 @@ export declare class RenderPassInspectorLayer extends DebugLayer {
|
|
|
44
59
|
private _bg;
|
|
45
60
|
private _header;
|
|
46
61
|
private _lines;
|
|
62
|
+
private _pipeline;
|
|
47
63
|
constructor(app: Application);
|
|
64
|
+
/**
|
|
65
|
+
* Flatten a {@link RenderPipeline} into depth-tagged rows, recursing into nested pipelines. Pure and
|
|
66
|
+
* app-independent: identity is the pass object and `label` is display-only — no names are required.
|
|
67
|
+
*/
|
|
68
|
+
static describePipeline(pipeline: RenderPipeline): RenderPipelineRow[];
|
|
69
|
+
private static _collectPipelineRows;
|
|
48
70
|
get viewMode(): DebugLayerViewMode;
|
|
49
71
|
/**
|
|
50
72
|
* Walk the scene graph and collect filter-chain entries for every
|
|
@@ -65,7 +87,14 @@ export declare class RenderPassInspectorLayer extends DebugLayer {
|
|
|
65
87
|
get entries(): readonly RenderPassInspectorEntry[];
|
|
66
88
|
/** Total pass count across all collected entries. */
|
|
67
89
|
get totalPasses(): number;
|
|
90
|
+
/** Set a {@link RenderPipeline} to list beneath the filter chains, or `null` to clear it. */
|
|
91
|
+
setPipeline(pipeline: RenderPipeline | null): this;
|
|
92
|
+
/** The pipeline currently being inspected, or `null`. */
|
|
93
|
+
get pipeline(): RenderPipeline | null;
|
|
94
|
+
/** Depth-tagged rows for the inspected pipeline (empty if none is set). */
|
|
95
|
+
pipelineRows(): RenderPipelineRow[];
|
|
68
96
|
private _collect;
|
|
69
97
|
private _build;
|
|
70
98
|
private _refreshPanel;
|
|
71
99
|
}
|
|
100
|
+
//# sourceMappingURL=RenderPassInspectorLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderPassInspectorLayer.d.ts","sourceRoot":"","sources":["../../../src/debug/RenderPassInspectorLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAenE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,kGAAkG;IAClG,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAA+B;gBAE7B,GAAG,EAAE,WAAW;IAInC;;;OAGG;WACW,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,iBAAiB,EAAE;IAM7E,OAAO,CAAC,MAAM,CAAC,oBAAoB;IASnC,IAAoB,QAAQ,IAAI,kBAAkB,CAEjD;IAED;;;;;OAKG;IACa,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAe1C,+EAA+E;IAC/D,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIpC,OAAO,IAAI,IAAI;IAY/B;;;;;OAKG;IACH,IAAW,OAAO,IAAI,SAAS,wBAAwB,EAAE,CAExD;IAED,qDAAqD;IACrD,IAAW,WAAW,IAAI,MAAM,CAO/B;IAED,6FAA6F;IACtF,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAMzD,yDAAyD;IACzD,IAAW,QAAQ,IAAI,cAAc,GAAG,IAAI,CAE3C;IAED,2EAA2E;IACpE,YAAY,IAAI,iBAAiB,EAAE;IAM1C,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,MAAM;IA6Bd,OAAO,CAAC,aAAa;CA8DtB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Color } from '../core/Color.js';
|
|
2
2
|
import { Container } from '../rendering/Container.js';
|
|
3
3
|
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
4
|
+
import { RenderPipeline } from '../rendering/RenderPipeline.js';
|
|
4
5
|
import { Text } from '../rendering/text/Text.js';
|
|
5
6
|
import { TextStyle } from '../rendering/text/TextStyle.js';
|
|
6
7
|
import { DebugLayer } from './DebugLayer.js';
|
|
@@ -38,9 +39,27 @@ class RenderPassInspectorLayer extends DebugLayer {
|
|
|
38
39
|
_bg = null;
|
|
39
40
|
_header = null;
|
|
40
41
|
_lines = [];
|
|
42
|
+
_pipeline = null;
|
|
41
43
|
constructor(app) {
|
|
42
44
|
super(app);
|
|
43
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Flatten a {@link RenderPipeline} into depth-tagged rows, recursing into nested pipelines. Pure and
|
|
48
|
+
* app-independent: identity is the pass object and `label` is display-only — no names are required.
|
|
49
|
+
*/
|
|
50
|
+
static describePipeline(pipeline) {
|
|
51
|
+
const rows = [];
|
|
52
|
+
RenderPassInspectorLayer._collectPipelineRows(pipeline, 0, rows);
|
|
53
|
+
return rows;
|
|
54
|
+
}
|
|
55
|
+
static _collectPipelineRows(pipeline, depth, rows) {
|
|
56
|
+
for (const pass of pipeline) {
|
|
57
|
+
rows.push({ depth, label: pass.label, enabled: pass.enabled, isPipeline: pass instanceof RenderPipeline });
|
|
58
|
+
if (pass instanceof RenderPipeline) {
|
|
59
|
+
RenderPassInspectorLayer._collectPipelineRows(pass, depth + 1, rows);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
44
63
|
get viewMode() {
|
|
45
64
|
return 'screen';
|
|
46
65
|
}
|
|
@@ -74,6 +93,7 @@ class RenderPassInspectorLayer extends DebugLayer {
|
|
|
74
93
|
this._header = null;
|
|
75
94
|
this._lines = [];
|
|
76
95
|
this._entries.length = 0;
|
|
96
|
+
this._pipeline = null;
|
|
77
97
|
}
|
|
78
98
|
/**
|
|
79
99
|
* Read-only snapshot of the entries collected on the most recent
|
|
@@ -94,6 +114,19 @@ class RenderPassInspectorLayer extends DebugLayer {
|
|
|
94
114
|
}
|
|
95
115
|
return total;
|
|
96
116
|
}
|
|
117
|
+
/** Set a {@link RenderPipeline} to list beneath the filter chains, or `null` to clear it. */
|
|
118
|
+
setPipeline(pipeline) {
|
|
119
|
+
this._pipeline = pipeline;
|
|
120
|
+
return this;
|
|
121
|
+
}
|
|
122
|
+
/** The pipeline currently being inspected, or `null`. */
|
|
123
|
+
get pipeline() {
|
|
124
|
+
return this._pipeline;
|
|
125
|
+
}
|
|
126
|
+
/** Depth-tagged rows for the inspected pipeline (empty if none is set). */
|
|
127
|
+
pipelineRows() {
|
|
128
|
+
return this._pipeline !== null ? RenderPassInspectorLayer.describePipeline(this._pipeline) : [];
|
|
129
|
+
}
|
|
97
130
|
// -----------------------------------------------------------------------
|
|
98
131
|
_collect(node) {
|
|
99
132
|
if (!node.visible)
|
|
@@ -166,6 +199,14 @@ class RenderPassInspectorLayer extends DebugLayer {
|
|
|
166
199
|
}
|
|
167
200
|
}
|
|
168
201
|
}
|
|
202
|
+
const pipelineRows = this.pipelineRows();
|
|
203
|
+
if (pipelineRows.length > 0) {
|
|
204
|
+
lines.push({ text: 'Pipeline:', dim: true });
|
|
205
|
+
for (const row of pipelineRows) {
|
|
206
|
+
const indent = ' '.repeat(row.depth + 1);
|
|
207
|
+
lines.push({ text: `${indent}${row.label}${row.enabled ? '' : ' [off]'}`, dim: !row.enabled });
|
|
208
|
+
}
|
|
209
|
+
}
|
|
169
210
|
this._header.text = `Render Passes: ${this.totalPasses}`;
|
|
170
211
|
const visibleCount = Math.min(lines.length, this._lines.length);
|
|
171
212
|
for (let i = 0; i < this._lines.length; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderPassInspectorLayer.js","sources":["../../../../src/debug/RenderPassInspectorLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RenderPassInspectorLayer.js","sources":["../../../../src/debug/RenderPassInspectorLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,5 @@ export { DebugOverlay } from './DebugOverlay';
|
|
|
4
4
|
export { HitTestLayer } from './HitTestLayer';
|
|
5
5
|
export { PerformanceLayer } from './PerformanceLayer';
|
|
6
6
|
export { PointerStackLayer } from './PointerStackLayer';
|
|
7
|
-
export { type RenderPassInspectorEntry, RenderPassInspectorLayer } from './RenderPassInspectorLayer';
|
|
7
|
+
export { type RenderPassInspectorEntry, RenderPassInspectorLayer, type RenderPipelineRow } from './RenderPassInspectorLayer';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,wBAAwB,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Drawable } from '#rendering/Drawable';
|
|
2
|
+
import type { RenderBackend } from '#rendering/RenderBackend';
|
|
3
|
+
import type { DrawableConstructor, Renderer } from '#rendering/Renderer';
|
|
4
|
+
import type { AssetConstructor } from '#resources/FactoryRegistry';
|
|
5
|
+
import type { AssetLoaderContext, Loader } from '#resources/Loader';
|
|
6
|
+
/**
|
|
7
|
+
* Per-load request passed to {@link AssetHandler.load}.
|
|
8
|
+
* @advanced
|
|
9
|
+
*/
|
|
10
|
+
export interface AssetLoadRequest {
|
|
11
|
+
readonly source: string;
|
|
12
|
+
readonly options?: Readonly<Record<string, unknown>>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A loader-local instance produced by {@link AssetBinding.create}; owned and destroyed
|
|
16
|
+
* by the Loader. May hold state. Called once per `loader.load(...)` invocation.
|
|
17
|
+
* Sub-assets loaded via `context.loader.load(...)` are owned by the Loader's cache —
|
|
18
|
+
* NOT by this handler or the asset returned by `load`.
|
|
19
|
+
* @advanced
|
|
20
|
+
*/
|
|
21
|
+
export interface AssetHandler<Result = unknown> {
|
|
22
|
+
load(request: AssetLoadRequest, context: AssetLoaderContext): Promise<Result>;
|
|
23
|
+
destroy?(): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Binds one or more drawable constructors to a renderer factory.
|
|
27
|
+
* Pure descriptor — no active renderer, no GPU resources, no side effects
|
|
28
|
+
* until `create` is called once per backend during Application construction.
|
|
29
|
+
*
|
|
30
|
+
* `targets` must contain at least one entry. All targets share the single renderer
|
|
31
|
+
* instance produced by `create`. Returning `undefined` from `create` means the
|
|
32
|
+
* backend is unsupported; the entire binding is skipped for that backend.
|
|
33
|
+
* @advanced
|
|
34
|
+
*/
|
|
35
|
+
export interface RendererBinding<Target extends Drawable = Drawable> {
|
|
36
|
+
readonly targets: ReadonlyArray<DrawableConstructor<Target>>;
|
|
37
|
+
create(backend: RenderBackend): Renderer<RenderBackend, Target> | undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Binds an asset type and its lookup keys to a loader-local handler factory.
|
|
41
|
+
* `create(loader)` is called once per Loader at Application construction, producing
|
|
42
|
+
* an {@link AssetHandler} instance that the Loader owns for its entire lifetime.
|
|
43
|
+
* The handler may hold loader-local state (Workers, WASM modules, parsed caches).
|
|
44
|
+
* @advanced
|
|
45
|
+
*/
|
|
46
|
+
export interface AssetBinding<Result = unknown> {
|
|
47
|
+
readonly type: AssetConstructor<Result>;
|
|
48
|
+
/**
|
|
49
|
+
* Config-map type names that resolve to this handler, e.g. `['tiledMap']`.
|
|
50
|
+
* Most bindings declare exactly one name; a binding may declare several when a
|
|
51
|
+
* single asset type is reachable under multiple aliases (e.g. `['vtt', 'srt']`).
|
|
52
|
+
* Each name maps the config-map form `{ type: '<name>', source }` to this handler.
|
|
53
|
+
*/
|
|
54
|
+
readonly typeNames?: readonly string[];
|
|
55
|
+
readonly extensions?: readonly string[];
|
|
56
|
+
create(loader: Loader): AssetHandler<Result>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* An ExoJS extension: an immutable descriptor that contributes renderer bindings
|
|
60
|
+
* and/or asset bindings. Holds no Application, backend, GPU, or loader instances.
|
|
61
|
+
* Register via {@link ExtensionRegistry.register} (official packages do this as
|
|
62
|
+
* an import side effect), or pass explicitly via {@link ApplicationOptions.extensions}.
|
|
63
|
+
* @advanced
|
|
64
|
+
*/
|
|
65
|
+
export interface Extension {
|
|
66
|
+
readonly id: string;
|
|
67
|
+
readonly renderers?: readonly RendererBinding[];
|
|
68
|
+
readonly assets?: readonly AssetBinding[];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=Extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Extension.d.ts","sourceRoot":"","sources":["../../../src/extensions/Extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,OAAO;IAC5C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,QAAQ,GAAG,QAAQ;IACjE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC7E;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,OAAO;IAC5C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Extension } from './Extension';
|
|
2
|
+
import { type ExtensionSnapshot } from './snapshot';
|
|
3
|
+
/** @internal — used by testing.ts only; NOT re-exported from barrel */
|
|
4
|
+
export declare function _clearRegistryStore(): void;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare function getGlobalSnapshotInternal(): ExtensionSnapshot;
|
|
7
|
+
/**
|
|
8
|
+
* Process-wide static catalogue of {@link Extension} descriptors. Stores
|
|
9
|
+
* descriptors only — never Application, backend, GPU, or loader instances — and
|
|
10
|
+
* is read exactly once per Application (at construction). Not read in any hot path.
|
|
11
|
+
*
|
|
12
|
+
* Extension authors import from `@codexo/exojs/extensions`:
|
|
13
|
+
* import { ExtensionRegistry } from '@codexo/exojs/extensions';
|
|
14
|
+
* @advanced
|
|
15
|
+
*/
|
|
16
|
+
export declare class ExtensionRegistry {
|
|
17
|
+
private constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Register an extension descriptor. Idempotent for the *same object* under the
|
|
20
|
+
* same `id` (no-op). Throws if a *different* object is already registered under
|
|
21
|
+
* that `id` — this detects duplicate package installations.
|
|
22
|
+
*/
|
|
23
|
+
static register(extension: Extension): void;
|
|
24
|
+
/** True if an extension with `id` is currently registered. */
|
|
25
|
+
static has(id: string): boolean;
|
|
26
|
+
/** The registered descriptor for `id`, or `undefined`. */
|
|
27
|
+
static get(id: string): Readonly<Extension> | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* All registered descriptors in registration order.
|
|
30
|
+
* Returns a cached readonly view; no allocation on repeated calls while the
|
|
31
|
+
* registry is unchanged. Invalidated only after a new registration.
|
|
32
|
+
*/
|
|
33
|
+
static list(): ReadonlyArray<Readonly<Extension>>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ExtensionRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionRegistry.d.ts","sourceRoot":"","sources":["../../../src/extensions/ExtensionRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOnE,uEAAuE;AACvE,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,IAAI,iBAAiB,CAS7D;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO;IAEP;;;;OAIG;WACW,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAyClD,8DAA8D;WAChD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAItC,0DAA0D;WAC5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS;IAI9D;;;;OAIG;WACW,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;CAGzD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { buildSnapshot } from './snapshot.js';
|
|
2
|
+
|
|
3
|
+
// Module-level store — accessible to testing.ts via _clearRegistryStore.
|
|
4
|
+
let _byId = new Map();
|
|
5
|
+
let _revision = 0;
|
|
6
|
+
let _cache;
|
|
7
|
+
/** @internal */
|
|
8
|
+
function getGlobalSnapshotInternal() {
|
|
9
|
+
if (_cache?.revision === _revision) {
|
|
10
|
+
return _cache.snapshot;
|
|
11
|
+
}
|
|
12
|
+
const snapshot = buildSnapshot([..._byId.values()]);
|
|
13
|
+
_cache = { revision: _revision, snapshot };
|
|
14
|
+
return snapshot;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Process-wide static catalogue of {@link Extension} descriptors. Stores
|
|
18
|
+
* descriptors only — never Application, backend, GPU, or loader instances — and
|
|
19
|
+
* is read exactly once per Application (at construction). Not read in any hot path.
|
|
20
|
+
*
|
|
21
|
+
* Extension authors import from `@codexo/exojs/extensions`:
|
|
22
|
+
* import { ExtensionRegistry } from '@codexo/exojs/extensions';
|
|
23
|
+
* @advanced
|
|
24
|
+
*/
|
|
25
|
+
class ExtensionRegistry {
|
|
26
|
+
constructor() { }
|
|
27
|
+
/**
|
|
28
|
+
* Register an extension descriptor. Idempotent for the *same object* under the
|
|
29
|
+
* same `id` (no-op). Throws if a *different* object is already registered under
|
|
30
|
+
* that `id` — this detects duplicate package installations.
|
|
31
|
+
*/
|
|
32
|
+
static register(extension) {
|
|
33
|
+
const existing = _byId.get(extension.id);
|
|
34
|
+
if (existing !== undefined) {
|
|
35
|
+
if (existing === extension)
|
|
36
|
+
return;
|
|
37
|
+
throw new Error(`An extension with id "${extension.id}" is already registered with a different descriptor. ` +
|
|
38
|
+
`Ensure only one copy of the extension package is installed (check for duplicate or mismatched versions).`);
|
|
39
|
+
}
|
|
40
|
+
_byId.set(extension.id, extension);
|
|
41
|
+
_revision++;
|
|
42
|
+
_cache = undefined;
|
|
43
|
+
}
|
|
44
|
+
/** True if an extension with `id` is currently registered. */
|
|
45
|
+
static has(id) {
|
|
46
|
+
return _byId.has(id);
|
|
47
|
+
}
|
|
48
|
+
/** The registered descriptor for `id`, or `undefined`. */
|
|
49
|
+
static get(id) {
|
|
50
|
+
return _byId.get(id);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* All registered descriptors in registration order.
|
|
54
|
+
* Returns a cached readonly view; no allocation on repeated calls while the
|
|
55
|
+
* registry is unchanged. Invalidated only after a new registration.
|
|
56
|
+
*/
|
|
57
|
+
static list() {
|
|
58
|
+
return getGlobalSnapshotInternal().extensions;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { ExtensionRegistry, getGlobalSnapshotInternal };
|
|
63
|
+
//# sourceMappingURL=ExtensionRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionRegistry.js","sources":["../../../../src/extensions/ExtensionRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;AACA,IAAI,KAAK,GAAG,IAAI,GAAG,EAAqB;AACxC,IAAI,SAAS,GAAG,CAAC;AACjB,IAAI,MAAqE;AASzE;SACgB,yBAAyB,GAAA;AACvC,IAAA,IAAI,MAAM,EAAE,QAAQ,KAAK,SAAS,EAAE;QAClC,OAAO,MAAM,CAAC,QAAQ;IACxB;AAEA,IAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;AAE1C,IAAA,OAAO,QAAQ;AACjB;AAEA;;;;;;;;AAQG;MACU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA,EAAuB;AAEvB;;;;AAIG;IACI,OAAO,QAAQ,CAAC,SAAoB,EAAA;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;AAExC,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,QAAQ,KAAK,SAAS;gBAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CACb,yBAAyB,SAAS,CAAC,EAAE,CAAA,qDAAA,CAAuD;AAC1F,gBAAA,CAAA,wGAAA,CAA0G,CAC7G;QACH;QAEA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC;AAClC,QAAA,SAAS,EAAE;QACX,MAAM,GAAG,SAAS;IA0BpB;;IAGO,OAAO,GAAG,CAAC,EAAU,EAAA;AAC1B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACtB;;IAGO,OAAO,GAAG,CAAC,EAAU,EAAA;AAC1B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACtB;AAEA;;;;AAIG;AACI,IAAA,OAAO,IAAI,GAAA;AAChB,QAAA,OAAO,yBAAyB,EAAE,CAAC,UAAU;IAC/C;AACD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RenderBackend } from '#rendering/RenderBackend';
|
|
2
|
+
import type { Loader } from '#resources/Loader';
|
|
3
|
+
import type { AssetBinding, RendererBinding } from './Extension';
|
|
4
|
+
/**
|
|
5
|
+
* Materialise all renderer bindings into the backend's renderer registry.
|
|
6
|
+
* Called once per backend from createBackend in Application.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function materializeRendererBindings(backend: RenderBackend, bindings: readonly RendererBinding[]): void;
|
|
10
|
+
/**
|
|
11
|
+
* Materialise all asset bindings into the loader.
|
|
12
|
+
* Called once per Application construction.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function materializeAssetBindings(loader: Loader, bindings: readonly AssetBinding[]): void;
|
|
16
|
+
//# sourceMappingURL=materialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../../../src/extensions/materialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAgB,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI,CAsB9G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAsChG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Materialise all renderer bindings into the backend's renderer registry.
|
|
3
|
+
* Called once per backend from createBackend in Application.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
function materializeRendererBindings(backend, bindings) {
|
|
7
|
+
const seenTargets = new Set();
|
|
8
|
+
for (const binding of bindings) {
|
|
9
|
+
if (binding.targets.length === 0) {
|
|
10
|
+
throw new Error('A RendererBinding must declare at least one target.');
|
|
11
|
+
}
|
|
12
|
+
for (const target of binding.targets) {
|
|
13
|
+
if (seenTargets.has(target)) {
|
|
14
|
+
throw new Error(`Two bindings target the same drawable type ${target.name}. Remove one of the conflicting bindings.`);
|
|
15
|
+
}
|
|
16
|
+
seenTargets.add(target);
|
|
17
|
+
}
|
|
18
|
+
const renderer = binding.create(backend);
|
|
19
|
+
if (renderer === undefined)
|
|
20
|
+
continue;
|
|
21
|
+
backend.rendererRegistry.bindRenderer(binding.targets, renderer);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Materialise all asset bindings into the loader.
|
|
26
|
+
* Called once per Application construction.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
function materializeAssetBindings(loader, bindings) {
|
|
30
|
+
// --- Cross-binding pre-validation (no mutation yet) ---
|
|
31
|
+
const seenTypes = new Set();
|
|
32
|
+
const seenNames = new Set();
|
|
33
|
+
const seenExts = new Set();
|
|
34
|
+
for (const binding of bindings) {
|
|
35
|
+
if (seenTypes.has(binding.type) || loader.hasLoadable(binding.type)) {
|
|
36
|
+
throw new Error(`An asset handler is already registered for ${binding.type.name}.`);
|
|
37
|
+
}
|
|
38
|
+
for (const name of binding.typeNames ?? []) {
|
|
39
|
+
if (seenNames.has(name) || loader.hasAssetType(name)) {
|
|
40
|
+
throw new Error(`Asset type name "${name}" is already registered. Remove the conflicting binding.`);
|
|
41
|
+
}
|
|
42
|
+
seenNames.add(name);
|
|
43
|
+
}
|
|
44
|
+
for (const ext of binding.extensions ?? []) {
|
|
45
|
+
const key = ext.replace(/^\./, '').toLowerCase();
|
|
46
|
+
if (seenExts.has(key) || loader.hasExtension(key)) {
|
|
47
|
+
throw new Error(`File extension ".${key}" is already mapped to an asset type. Remove the conflicting binding.`);
|
|
48
|
+
}
|
|
49
|
+
seenExts.add(key);
|
|
50
|
+
}
|
|
51
|
+
seenTypes.add(binding.type);
|
|
52
|
+
}
|
|
53
|
+
// --- Materialise: all pre-validation passed ---
|
|
54
|
+
for (const binding of bindings) {
|
|
55
|
+
const handler = binding.create(loader);
|
|
56
|
+
loader.bindAsset({ type: binding.type, typeNames: binding.typeNames, extensions: binding.extensions }, handler);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { materializeAssetBindings, materializeRendererBindings };
|
|
61
|
+
//# sourceMappingURL=materialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materialize.js","sources":["../../../../src/extensions/materialize.ts"],"sourcesContent":[null],"names":[],"mappings":"AAOA;;;;AAIG;AACG,SAAU,2BAA2B,CAAC,OAAsB,EAAE,QAAoC,EAAA;AACtG,IAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB;AAElD,IAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,YAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;QACxE;AAEA,QAAA,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;AACpC,YAAA,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,CAAA,2CAAA,EAA8C,MAAM,CAAC,IAAI,CAAA,yCAAA,CAA2C,CAAC;YACvH;AAEA,YAAA,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;QACzB;QAEA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAExC,IAAI,QAAQ,KAAK,SAAS;YAAE;QAE5B,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAA2C,CAAC;IACrG;AACF;AAEA;;;;AAIG;AACG,SAAU,wBAAwB,CAAC,MAAc,EAAE,QAAiC,EAAA;;AAExF,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB;AAC7C,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU;AACnC,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU;AAElC,IAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC9B,QAAA,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnE,MAAM,IAAI,KAAK,CAAC,CAAA,2CAAA,EAA8C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,CAAG,CAAC;QACrF;QAEA,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;AAC1C,YAAA,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AACpD,gBAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAA,wDAAA,CAA0D,CAAC;YACrG;AAEA,YAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACrB;QAEA,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE;AAC1C,YAAA,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;AAEhD,YAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;AACjD,gBAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAA,qEAAA,CAAuE,CAAC;YACjH;AAEA,YAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QACnB;AAEA,QAAA,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B;;AAGA,IAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,OAAO,GAAiB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAEpD,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC;IACjH;AACF;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AssetBinding, Extension, RendererBinding } from './Extension';
|
|
2
|
+
export interface ExtensionSnapshot {
|
|
3
|
+
readonly extensions: ReadonlyArray<Readonly<Extension>>;
|
|
4
|
+
readonly renderers: readonly RendererBinding[];
|
|
5
|
+
readonly assets: readonly AssetBinding[];
|
|
6
|
+
}
|
|
7
|
+
declare const emptySnapshot: ExtensionSnapshot;
|
|
8
|
+
export { emptySnapshot as EMPTY_SNAPSHOT };
|
|
9
|
+
/**
|
|
10
|
+
* Flatten an ordered extension list into a snapshot.
|
|
11
|
+
* De-duplicates same-id/same-object entries; throws on same-id/different-object.
|
|
12
|
+
* Binding-level conflicts are checked per Application at materialisation time.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildSnapshot(input: readonly Extension[]): ExtensionSnapshot;
|
|
16
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/extensions/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG5E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C;AAGD,QAAA,MAAM,aAAa,EAAE,iBAInB,CAAC;AAEH,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,iBAAiB,CAuC5E"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Shared empty singleton — zero allocation for extensions: [] selection.
|
|
2
|
+
const emptySnapshot = Object.freeze({
|
|
3
|
+
extensions: Object.freeze([]),
|
|
4
|
+
renderers: Object.freeze([]),
|
|
5
|
+
assets: Object.freeze([]),
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* Flatten an ordered extension list into a snapshot.
|
|
9
|
+
* De-duplicates same-id/same-object entries; throws on same-id/different-object.
|
|
10
|
+
* Binding-level conflicts are checked per Application at materialisation time.
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
function buildSnapshot(input) {
|
|
14
|
+
if (input.length === 0) {
|
|
15
|
+
return emptySnapshot;
|
|
16
|
+
}
|
|
17
|
+
const seenById = new Map();
|
|
18
|
+
const extensions = [];
|
|
19
|
+
const renderers = [];
|
|
20
|
+
const assets = [];
|
|
21
|
+
for (const ext of input) {
|
|
22
|
+
const existing = seenById.get(ext.id);
|
|
23
|
+
if (existing !== undefined) {
|
|
24
|
+
if (existing === ext)
|
|
25
|
+
continue;
|
|
26
|
+
throw new Error(`Duplicate extension id "${ext.id}" with a different descriptor in the provided extensions list.`);
|
|
27
|
+
}
|
|
28
|
+
seenById.set(ext.id, ext);
|
|
29
|
+
extensions.push(ext);
|
|
30
|
+
if (ext.renderers) {
|
|
31
|
+
for (const binding of ext.renderers) {
|
|
32
|
+
renderers.push(binding);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (ext.assets) {
|
|
36
|
+
for (const binding of ext.assets) {
|
|
37
|
+
assets.push(binding);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return Object.freeze({
|
|
42
|
+
extensions: Object.freeze(extensions),
|
|
43
|
+
renderers: Object.freeze(renderers),
|
|
44
|
+
assets: Object.freeze(assets),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { emptySnapshot as EMPTY_SNAPSHOT, buildSnapshot };
|
|
49
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sources":["../../../../src/extensions/snapshot.ts"],"sourcesContent":[null],"names":[],"mappings":"AASA;AACA,MAAM,aAAa,GAAsB,MAAM,CAAC,MAAM,CAAC;AACrD,IAAA,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7B,IAAA,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5B,IAAA,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1B,CAAA;AAID;;;;;AAKG;AACG,SAAU,aAAa,CAAC,KAA2B,EAAA;AACvD,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,aAAa;IACtB;AAEA,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB;IAC7C,MAAM,UAAU,GAAgB,EAAE;IAClC,MAAM,SAAS,GAAsB,EAAE;IACvC,MAAM,MAAM,GAAmB,EAAE;AAEjC,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AAErC,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,QAAQ,KAAK,GAAG;gBAAE;YACtB,MAAM,IAAI,KAAK,CAAC,CAAA,wBAAA,EAA2B,GAAG,CAAC,EAAE,CAAA,8DAAA,CAAgE,CAAC;QACpH;QAEA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AACzB,QAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AAEpB,QAAA,IAAI,GAAG,CAAC,SAAS,EAAE;AACjB,YAAA,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE;AACnC,gBAAA,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YACzB;QACF;AAEA,QAAA,IAAI,GAAG,CAAC,MAAM,EAAE;AACd,YAAA,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE;AAChC,gBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACtB;QACF;IACF;IAEA,OAAO,MAAM,CAAC,MAAM,CAAC;AACnB,QAAA,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;AACrC,QAAA,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AACnC,QAAA,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9B,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reset the global ExtensionRegistry to empty state.
|
|
3
|
+
* For use in test suites only. Import via direct source path:
|
|
4
|
+
* import { resetExtensionRegistryForTesting } from 'src/extensions/testing';
|
|
5
|
+
*/
|
|
6
|
+
export declare function resetExtensionRegistryForTesting(): void;
|
|
7
|
+
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/extensions/testing.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
3
|
-
export * from '
|
|
4
|
-
export
|
|
5
|
-
export * from '
|
|
6
|
-
export * from '
|
|
7
|
-
export * from '
|
|
8
|
-
export * from '
|
|
1
|
+
export * from '#animation/index';
|
|
2
|
+
export * from '#audio/index';
|
|
3
|
+
export * from '#core/index';
|
|
4
|
+
export type { AssetLoadRequest, Extension } from '#extensions/index';
|
|
5
|
+
export * from '#input/index';
|
|
6
|
+
export * from '#math/index';
|
|
7
|
+
export * from '#rendering/index';
|
|
8
|
+
export * from '#resources/index';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrE,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|