@codexo/exojs 0.8.0 → 0.8.3
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 +390 -208
- package/README.md +19 -19
- package/dist/esm/animation/Easing.js +13 -21
- package/dist/esm/animation/Easing.js.map +1 -1
- package/dist/esm/animation/Tween.d.ts +3 -3
- package/dist/esm/animation/Tween.js +7 -5
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.js +1 -1
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/types.js.map +1 -1
- package/dist/esm/audio/AbstractMedia.d.ts +1 -1
- package/dist/esm/audio/AbstractMedia.js +1 -1
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +37 -1
- package/dist/esm/audio/AudioAnalyser.js +150 -2
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +1 -1
- package/dist/esm/audio/AudioBus.js.map +1 -1
- package/dist/esm/audio/AudioFilter.js +3 -1
- package/dist/esm/audio/AudioFilter.js.map +1 -1
- package/dist/esm/audio/AudioListener.d.ts +1 -1
- package/dist/esm/audio/AudioListener.js +5 -3
- package/dist/esm/audio/AudioListener.js.map +1 -1
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +66 -4
- package/dist/esm/audio/BeatDetector.js +145 -44
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Envelope.d.ts +1 -1
- package/dist/esm/audio/Envelope.js +2 -2
- package/dist/esm/audio/Envelope.js.map +1 -1
- package/dist/esm/audio/Music.d.ts +1 -1
- 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 -2
- package/dist/esm/audio/OscillatorSound.js.map +1 -1
- package/dist/esm/audio/Sound.d.ts +40 -2
- package/dist/esm/audio/Sound.js +69 -9
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.js +1 -1
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/crossFade.js +1 -1
- package/dist/esm/audio/crossFade.js.map +1 -1
- package/dist/esm/audio/dsp/mel.d.ts +2 -2
- package/dist/esm/audio/dsp/mel.js +70 -0
- package/dist/esm/audio/dsp/mel.js.map +1 -0
- package/dist/esm/audio/dsp/tempogram.d.ts +2 -2
- package/dist/esm/audio/filters/ChorusFilter.js +12 -4
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +9 -0
- package/dist/esm/audio/filters/CompressorFilter.js +11 -0
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts +1 -1
- package/dist/esm/audio/filters/DuckingFilter.js +13 -5
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
- package/dist/esm/audio/filters/GranularFilter.js +30 -14
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/PitchShiftFilter.js +14 -10
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -2
- package/dist/esm/audio/filters/VocoderFilter.js +20 -12
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.js +5 -6
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
- package/dist/esm/audio/filters/index.d.ts +7 -7
- package/dist/esm/audio/index.d.ts +9 -9
- package/dist/esm/audio/worklet/registerWorklet.js +7 -3
- package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
- package/dist/esm/core/Application.d.ts +13 -13
- package/dist/esm/core/Application.js +24 -16
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Bounds.d.ts +1 -1
- package/dist/esm/core/Bounds.js +1 -3
- package/dist/esm/core/Bounds.js.map +1 -1
- package/dist/esm/core/Clock.js +1 -1
- package/dist/esm/core/Clock.js.map +1 -1
- package/dist/esm/core/Color.js +2 -5
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +10 -10
- package/dist/esm/core/Scene.js +1 -1
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +4 -4
- package/dist/esm/core/SceneManager.js +39 -33
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +8 -8
- package/dist/esm/core/SceneNode.js +39 -29
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +3 -3
- package/dist/esm/core/Signal.js +3 -3
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Time.js +6 -6
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +1 -1
- package/dist/esm/core/Timer.js +1 -1
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/core/capabilities.js +2 -4
- package/dist/esm/core/capabilities.js.map +1 -1
- package/dist/esm/core/index.d.ts +2 -2
- package/dist/esm/core/utils.d.ts +4 -4
- package/dist/esm/core/utils.js +10 -10
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts +3 -3
- package/dist/esm/debug/BoundingBoxesLayer.js +6 -13
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/DebugLayer.d.ts +1 -1
- package/dist/esm/debug/DebugLayer.js.map +1 -1
- package/dist/esm/debug/DebugOverlay.d.ts +2 -2
- package/dist/esm/debug/DebugOverlay.js +2 -2
- package/dist/esm/debug/DebugOverlay.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.d.ts +3 -3
- package/dist/esm/debug/HitTestLayer.js +3 -10
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.d.ts +2 -2
- package/dist/esm/debug/PerformanceLayer.js +6 -6
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.d.ts +3 -3
- package/dist/esm/debug/PointerStackLayer.js +3 -3
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.d.ts +71 -0
- package/dist/esm/debug/RenderPassInspectorLayer.js +201 -0
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -0
- package/dist/esm/debug/index.d.ts +4 -3
- package/dist/esm/debug/index.js +4 -3
- package/dist/esm/debug/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +101 -98
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.js +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +7 -7
- package/dist/esm/input/Gamepad.js +10 -6
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadAxis.js +1 -1
- package/dist/esm/input/GamepadAxis.js.map +1 -1
- package/dist/esm/input/GamepadButton.js +1 -1
- package/dist/esm/input/GamepadButton.js.map +1 -1
- package/dist/esm/input/GamepadDefinitions.d.ts +4 -4
- package/dist/esm/input/GamepadDefinitions.js +12 -14
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GamepadMapping.d.ts +5 -5
- package/dist/esm/input/GamepadMapping.js.map +1 -1
- package/dist/esm/input/GamepadPromptLayouts.d.ts +2 -2
- package/dist/esm/input/GamepadPromptLayouts.js +8 -8
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +1 -1
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/InputBinding.d.ts +3 -3
- package/dist/esm/input/InputBinding.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +9 -9
- package/dist/esm/input/InputManager.js +25 -16
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +1 -1
- package/dist/esm/input/InteractionEvent.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +2 -2
- package/dist/esm/input/InteractionManager.js +25 -16
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.js +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
- package/dist/esm/input/Pointer.d.ts +2 -2
- package/dist/esm/input/Pointer.js +6 -6
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.js +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
- package/dist/esm/input/SteamDeckGamepadMapping.js.map +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.js +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
- package/dist/esm/input/XboxGamepadMapping.d.ts +1 -1
- package/dist/esm/input/XboxGamepadMapping.js +1 -1
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
- package/dist/esm/input/index.d.ts +16 -16
- package/dist/esm/input/interaction-hooks.js.map +1 -1
- package/dist/esm/input/types.js.map +1 -1
- package/dist/esm/math/AbstractVector.js +8 -9
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts +5 -5
- package/dist/esm/math/Circle.js +33 -21
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/Collision.d.ts +2 -2
- package/dist/esm/math/Collision.js.map +1 -1
- package/dist/esm/math/Ellipse.d.ts +5 -5
- package/dist/esm/math/Ellipse.js +28 -19
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/Flags.d.ts +4 -4
- package/dist/esm/math/Flags.js.map +1 -1
- package/dist/esm/math/Interval.js.map +1 -1
- package/dist/esm/math/Line.d.ts +5 -5
- package/dist/esm/math/Line.js +23 -15
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/Matrix.js +14 -16
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableSize.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +1 -1
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/PolarVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +11 -11
- package/dist/esm/math/Polygon.js +37 -26
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/PolygonLike.d.ts +1 -1
- package/dist/esm/math/Quadtree.js +2 -8
- package/dist/esm/math/Quadtree.js.map +1 -1
- package/dist/esm/math/Random.js +5 -5
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +4 -4
- package/dist/esm/math/Rectangle.js +59 -41
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/Segment.d.ts +1 -1
- package/dist/esm/math/Segment.js +4 -4
- package/dist/esm/math/Segment.js.map +1 -1
- package/dist/esm/math/ShapeLike.d.ts +1 -1
- package/dist/esm/math/Size.js +1 -2
- package/dist/esm/math/Size.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +4 -4
- package/dist/esm/math/Vector.js +19 -13
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +3 -3
- package/dist/esm/math/collision-detection.js +49 -49
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +8 -8
- package/dist/esm/math/collision-primitives.js +27 -33
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +3 -3
- package/dist/esm/math/geometry.js +55 -48
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/index.d.ts +16 -16
- package/dist/esm/math/swept-collision.d.ts +3 -3
- package/dist/esm/math/swept-collision.js +5 -8
- package/dist/esm/math/swept-collision.js.map +1 -1
- package/dist/esm/math/triangulate.js +34 -24
- package/dist/esm/math/triangulate.js.map +1 -1
- package/dist/esm/math/utils.d.ts +2 -2
- package/dist/esm/math/utils.js +7 -7
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/particles/ParticleSystem.d.ts +9 -9
- package/dist/esm/particles/ParticleSystem.js +29 -29
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/distributions/BoxArea.js.map +1 -1
- package/dist/esm/particles/distributions/CircleArea.js.map +1 -1
- package/dist/esm/particles/distributions/ConeDirection.js.map +1 -1
- package/dist/esm/particles/distributions/Constant.js.map +1 -1
- package/dist/esm/particles/distributions/Curve.d.ts +1 -1
- package/dist/esm/particles/distributions/Curve.js.map +1 -1
- package/dist/esm/particles/distributions/Gradient.d.ts +1 -1
- package/dist/esm/particles/distributions/Gradient.js +1 -1
- package/dist/esm/particles/distributions/Gradient.js.map +1 -1
- package/dist/esm/particles/distributions/LineSegment.js.map +1 -1
- package/dist/esm/particles/distributions/Range.js.map +1 -1
- package/dist/esm/particles/distributions/VectorRange.js.map +1 -1
- package/dist/esm/particles/distributions/index.d.ts +9 -9
- package/dist/esm/particles/gpu/ParticleGpuState.d.ts +3 -3
- package/dist/esm/particles/gpu/ParticleGpuState.js +48 -21
- package/dist/esm/particles/gpu/ParticleGpuState.js.map +1 -1
- package/dist/esm/particles/index.d.ts +1 -1
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +2 -2
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -1
- package/dist/esm/particles/modules/ApplyForce.d.ts +1 -1
- package/dist/esm/particles/modules/ApplyForce.js.map +1 -1
- package/dist/esm/particles/modules/AttractToPoint.d.ts +1 -1
- package/dist/esm/particles/modules/AttractToPoint.js.map +1 -1
- package/dist/esm/particles/modules/BurstSpawn.d.ts +4 -4
- package/dist/esm/particles/modules/BurstSpawn.js +2 -2
- package/dist/esm/particles/modules/BurstSpawn.js.map +1 -1
- package/dist/esm/particles/modules/ColorOverLifetime.d.ts +2 -2
- package/dist/esm/particles/modules/ColorOverLifetime.js +1 -1
- package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -1
- package/dist/esm/particles/modules/ColorOverSpeed.d.ts +2 -2
- package/dist/esm/particles/modules/ColorOverSpeed.js +1 -1
- package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -1
- package/dist/esm/particles/modules/DeathModule.js.map +1 -1
- package/dist/esm/particles/modules/Drag.d.ts +1 -1
- package/dist/esm/particles/modules/Drag.js +1 -3
- package/dist/esm/particles/modules/Drag.js.map +1 -1
- package/dist/esm/particles/modules/OrbitalForce.d.ts +1 -1
- package/dist/esm/particles/modules/OrbitalForce.js.map +1 -1
- package/dist/esm/particles/modules/RateSpawn.d.ts +3 -3
- package/dist/esm/particles/modules/RateSpawn.js +2 -2
- package/dist/esm/particles/modules/RateSpawn.js.map +1 -1
- package/dist/esm/particles/modules/RepelFromPoint.d.ts +1 -1
- package/dist/esm/particles/modules/RepelFromPoint.js.map +1 -1
- package/dist/esm/particles/modules/RotateOverLifetime.d.ts +1 -1
- package/dist/esm/particles/modules/RotateOverLifetime.js +1 -3
- package/dist/esm/particles/modules/RotateOverLifetime.js.map +1 -1
- package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +2 -2
- package/dist/esm/particles/modules/ScaleOverLifetime.js.map +1 -1
- package/dist/esm/particles/modules/SpawnModule.js.map +1 -1
- package/dist/esm/particles/modules/SpawnOnDeath.d.ts +1 -1
- package/dist/esm/particles/modules/SpawnOnDeath.js.map +1 -1
- package/dist/esm/particles/modules/Turbulence.d.ts +1 -1
- package/dist/esm/particles/modules/Turbulence.js.map +1 -1
- package/dist/esm/particles/modules/UpdateModule.js.map +1 -1
- package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +2 -2
- package/dist/esm/particles/modules/VelocityOverLifetime.js.map +1 -1
- package/dist/esm/particles/modules/WgslContribution.d.ts +3 -3
- package/dist/esm/particles/modules/WgslContribution.js.map +1 -1
- package/dist/esm/particles/modules/index.d.ts +17 -17
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +2 -2
- package/dist/esm/rendering/Container.js +10 -11
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +6 -6
- package/dist/esm/rendering/RenderBackendType.js.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts +10 -10
- package/dist/esm/rendering/RenderNode.js +31 -31
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RenderTarget.d.ts +2 -2
- package/dist/esm/rendering/RenderTarget.js +5 -5
- package/dist/esm/rendering/RenderTarget.js.map +1 -1
- package/dist/esm/rendering/RenderTargetPass.d.ts +3 -3
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
- package/dist/esm/rendering/Renderer.d.ts +2 -2
- package/dist/esm/rendering/RendererRegistry.d.ts +3 -3
- package/dist/esm/rendering/RendererRegistry.js +2 -3
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +3 -3
- package/dist/esm/rendering/View.js +17 -20
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/BlurFilter.d.ts +1 -1
- package/dist/esm/rendering/filters/BlurFilter.js +4 -9
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
- package/dist/esm/rendering/filters/ColorFilter.d.ts +1 -1
- package/dist/esm/rendering/filters/ColorFilter.js +3 -9
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
- package/dist/esm/rendering/filters/Filter.d.ts +1 -1
- package/dist/esm/rendering/filters/Filter.js.map +1 -1
- package/dist/esm/rendering/filters/LutFilter.d.ts +87 -0
- package/dist/esm/rendering/filters/LutFilter.js +261 -0
- package/dist/esm/rendering/filters/LutFilter.js.map +1 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +2 -2
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +7 -14
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +16 -11
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +30 -27
- package/dist/esm/rendering/mesh/Mesh.d.ts +6 -1
- package/dist/esm/rendering/mesh/Mesh.js +3 -1
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/mesh/MeshShader.d.ts +183 -0
- package/dist/esm/rendering/mesh/MeshShader.js +231 -0
- package/dist/esm/rendering/mesh/MeshShader.js.map +1 -0
- package/dist/esm/rendering/primitives/Graphics.d.ts +3 -3
- package/dist/esm/rendering/primitives/Graphics.js +12 -12
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +6 -8
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +3 -3
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +4 -4
- package/dist/esm/rendering/sprite/Sprite.js +51 -35
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +5 -9
- package/dist/esm/rendering/sprite/Spritesheet.js +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js +3 -9
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +1 -1
- package/dist/esm/rendering/text/Text.js +9 -9
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts +2 -2
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/atlas-singleton.js.map +1 -1
- package/dist/esm/rendering/texture/DataTexture.d.ts +115 -0
- package/dist/esm/rendering/texture/DataTexture.js +173 -0
- package/dist/esm/rendering/texture/DataTexture.js.map +1 -0
- package/dist/esm/rendering/texture/RenderTexture.d.ts +1 -1
- package/dist/esm/rendering/texture/RenderTexture.js +4 -1
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Sampler.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +2 -2
- package/dist/esm/rendering/texture/Texture.js +8 -5
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/utils.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +3 -3
- package/dist/esm/rendering/video/Video.js +7 -6
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +6 -6
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -10
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +1 -2
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +11 -11
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +61 -22
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +2 -2
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +6 -8
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +7 -4
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +121 -43
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +10 -18
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +54 -22
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +11 -14
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +1 -1
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +1 -2
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +8 -7
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +104 -37
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +3 -4
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +15 -2
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +657 -102
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +1 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +100 -56
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +45 -45
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -1
- package/dist/esm/rendering/webgpu/compute/index.d.ts +2 -2
- package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -1
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
- package/dist/esm/resources/AssetManifest.d.ts +1 -1
- package/dist/esm/resources/AssetManifest.js +2 -2
- package/dist/esm/resources/AssetManifest.js.map +1 -1
- package/dist/esm/resources/CacheFirstStrategy.d.ts +2 -2
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
- package/dist/esm/resources/CacheStrategy.d.ts +1 -1
- package/dist/esm/resources/FactoryRegistry.d.ts +1 -1
- package/dist/esm/resources/FactoryRegistry.js +2 -3
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
- package/dist/esm/resources/IndexedDbDatabase.js +11 -14
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.d.ts +1 -1
- package/dist/esm/resources/IndexedDbStore.js +2 -7
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +9 -9
- package/dist/esm/resources/Loader.js +48 -35
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +2 -2
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
- package/dist/esm/resources/factories/FontFactory.js +1 -1
- package/dist/esm/resources/factories/FontFactory.js.map +1 -1
- package/dist/esm/resources/factories/ImageFactory.js +4 -4
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
- package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
- package/dist/esm/resources/factories/JsonFactory.js +1 -1
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +1 -1
- package/dist/esm/resources/factories/MusicFactory.js +4 -4
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +1 -1
- package/dist/esm/resources/factories/SoundFactory.js +3 -3
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SvgFactory.js +3 -3
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextFactory.js +1 -1
- package/dist/esm/resources/factories/TextFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextureFactory.d.ts +1 -1
- package/dist/esm/resources/factories/TextureFactory.js +3 -3
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +2 -2
- package/dist/esm/resources/factories/VideoFactory.js +5 -5
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +2 -2
- package/dist/esm/resources/factories/VttFactory.js +6 -6
- package/dist/esm/resources/factories/VttFactory.js.map +1 -1
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
- package/dist/esm/resources/index.d.ts +11 -11
- package/dist/esm/resources/utils.js +30 -25
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/exo.esm.js +26260 -24256
- package/dist/exo.esm.js.map +1 -1
- package/package.json +15 -4
package/dist/esm/core/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Size } from '@/math/Size';
|
|
2
|
-
import type { TextureSource } from '@/core/types';
|
|
3
1
|
import { Time } from '@/core/Time';
|
|
2
|
+
import type { TextureSource } from '@/core/types';
|
|
3
|
+
import { Size } from '@/math/Size';
|
|
4
4
|
/**
|
|
5
5
|
* Random number in the range `[min, max]` from the module-level shared
|
|
6
6
|
* {@link Random} instance. Pass no arguments for `[0, 1)`. For deterministic
|
|
@@ -43,13 +43,13 @@ export declare const emptyArrayBuffer: ArrayBuffer;
|
|
|
43
43
|
* skips the allocation of a removed-items array. Returns the same array
|
|
44
44
|
* for chaining.
|
|
45
45
|
*/
|
|
46
|
-
export declare const removeArrayItems: <T = unknown>(array:
|
|
46
|
+
export declare const removeArrayItems: <T = unknown>(array: T[], startIndex: number, amount: number) => T[];
|
|
47
47
|
/**
|
|
48
48
|
* `true` when the host browser reports any of the given media-codec
|
|
49
49
|
* strings as playable on a transient `<audio>` element. Use to gate format
|
|
50
50
|
* selection (e.g. prefer OGG, fall back to MP3).
|
|
51
51
|
*/
|
|
52
|
-
export declare const supportsCodec: (...codecs:
|
|
52
|
+
export declare const supportsCodec: (...codecs: string[]) => boolean;
|
|
53
53
|
/**
|
|
54
54
|
* Resolve the natural pixel dimensions of any `CanvasImageSource`. Returns
|
|
55
55
|
* a {@link Size.temp} scratch instance — copy if you need to retain the
|
package/dist/esm/core/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Size } from '../math/Size.js';
|
|
2
|
-
import { Random } from '../math/Random.js';
|
|
3
1
|
import { Time } from './Time.js';
|
|
2
|
+
import { Random } from '../math/Random.js';
|
|
3
|
+
import { Size } from '../math/Size.js';
|
|
4
4
|
|
|
5
5
|
const codecNotSupportedPattern = /^no$/;
|
|
6
6
|
let internalAudioElement = null;
|
|
@@ -51,7 +51,9 @@ const getRandom = () => {
|
|
|
51
51
|
*/
|
|
52
52
|
const rand = (min, max) => getRandom().next(min, max);
|
|
53
53
|
/** Empty function literal — useful as a default callback that does nothing. */
|
|
54
|
-
const noop = () => {
|
|
54
|
+
const noop = () => {
|
|
55
|
+
/* empty function */
|
|
56
|
+
};
|
|
55
57
|
/** `preventDefault()` + `stopImmediatePropagation()` on an event in one call. */
|
|
56
58
|
const stopEvent = (event) => {
|
|
57
59
|
event.preventDefault();
|
|
@@ -84,11 +86,11 @@ const supportsEventOptions = () => {
|
|
|
84
86
|
get passive() {
|
|
85
87
|
supportsPassive = true;
|
|
86
88
|
return false;
|
|
87
|
-
}
|
|
89
|
+
},
|
|
88
90
|
});
|
|
89
91
|
window.removeEventListener('test', noop);
|
|
90
92
|
}
|
|
91
|
-
catch (
|
|
93
|
+
catch (_e) {
|
|
92
94
|
// do nothing
|
|
93
95
|
}
|
|
94
96
|
supportsEventOptionsValue = supportsPassive;
|
|
@@ -114,10 +116,8 @@ const emptyArrayBuffer = new ArrayBuffer(0);
|
|
|
114
116
|
*/
|
|
115
117
|
const removeArrayItems = (array, startIndex, amount) => {
|
|
116
118
|
if (startIndex < array.length && amount > 0) {
|
|
117
|
-
const removeCount =
|
|
118
|
-
|
|
119
|
-
: amount;
|
|
120
|
-
const newLen = (array.length - removeCount);
|
|
119
|
+
const removeCount = startIndex + amount > array.length ? array.length - startIndex : amount;
|
|
120
|
+
const newLen = array.length - removeCount;
|
|
121
121
|
for (let i = startIndex; i < newLen; i++) {
|
|
122
122
|
array[i] = array[i + removeCount];
|
|
123
123
|
}
|
|
@@ -130,7 +130,7 @@ const removeArrayItems = (array, startIndex, amount) => {
|
|
|
130
130
|
* strings as playable on a transient `<audio>` element. Use to gate format
|
|
131
131
|
* selection (e.g. prefer OGG, fall back to MP3).
|
|
132
132
|
*/
|
|
133
|
-
const supportsCodec = (...codecs) => codecs.some(
|
|
133
|
+
const supportsCodec = (...codecs) => codecs.some(codec => getAudioElement().canPlayType(codec).replace(codecNotSupportedPattern, ''));
|
|
134
134
|
/**
|
|
135
135
|
* Resolve the natural pixel dimensions of any `CanvasImageSource`. Returns
|
|
136
136
|
* a {@link Size.temp} scratch instance — copy if you need to retain the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/core/utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYA,MAAM,wBAAwB,GAAG,MAAM;AAEvC,IAAI,oBAAoB,GAA4B,IAAI;AACxD,IAAI,qBAAqB,GAA6B,IAAI;AAC1D,IAAI,qBAAqB,GAAoC,IAAI;AACjE,IAAI,cAAc,GAAkB,IAAI;AACxC,IAAI,yBAAyB,GAAmB,IAAI;AAEpD,MAAM,cAAc,GAAG,MAAe,OAAO,QAAQ,KAAK,WAAW;AACrE,MAAM,YAAY,GAAG,MAAe,OAAO,MAAM,KAAK,WAAW;AAEjE,MAAM,eAAe,GAAG,MAAuB;
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/core/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { DebugLayerViewMode } from './DebugLayer';
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
3
2
|
import type { Time } from '@/core/Time';
|
|
4
3
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
5
|
-
import type {
|
|
4
|
+
import type { DebugLayerViewMode } from './DebugLayer';
|
|
5
|
+
import { DebugLayer } from './DebugLayer';
|
|
6
6
|
/**
|
|
7
7
|
* Debug layer that draws a bounding-box outline around every visible
|
|
8
8
|
* RenderNode in the scene. Colours cycle by zIndex (HSL hue). World-space.
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import { DebugLayer } from './DebugLayer.js';
|
|
2
|
-
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
1
|
import { Color } from '../core/Color.js';
|
|
4
|
-
import '../
|
|
5
|
-
import '
|
|
6
|
-
import '../core/SceneNode.js';
|
|
7
|
-
import '../math/Rectangle.js';
|
|
8
|
-
import '../rendering/types.js';
|
|
9
|
-
import '../rendering/View.js';
|
|
10
|
-
import '../rendering/texture/RenderTexture.js';
|
|
2
|
+
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
|
+
import { DebugLayer } from './DebugLayer.js';
|
|
11
4
|
|
|
12
5
|
// ---------------------------------------------------------------------------
|
|
13
6
|
// HSL → RGB helper
|
|
@@ -20,9 +13,9 @@ function hslToColor(h, s, l, alpha) {
|
|
|
20
13
|
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
21
14
|
const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
|
|
22
15
|
const m = l - c / 2;
|
|
23
|
-
let r
|
|
24
|
-
let g
|
|
25
|
-
let b
|
|
16
|
+
let r;
|
|
17
|
+
let g;
|
|
18
|
+
let b;
|
|
26
19
|
if (h < 60) {
|
|
27
20
|
r = c;
|
|
28
21
|
g = x;
|
|
@@ -107,7 +100,7 @@ class BoundingBoxesLayer extends DebugLayer {
|
|
|
107
100
|
const bounds = node.getBounds();
|
|
108
101
|
// Skip zero-area bounds (defensive).
|
|
109
102
|
if (bounds.width > 0 && bounds.height > 0) {
|
|
110
|
-
const hue = ((node.zIndex * 30) % 360 + 360) % 360;
|
|
103
|
+
const hue = (((node.zIndex * 30) % 360) + 360) % 360;
|
|
111
104
|
const color = hslToColor(hue, 0.7, 0.5, 0.7);
|
|
112
105
|
gfx.lineColor = color;
|
|
113
106
|
// Draw the rectangle outline as four line segments.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundingBoxesLayer.js","sources":["../../../../src/debug/BoundingBoxesLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BoundingBoxesLayer.js","sources":["../../../../src/debug/BoundingBoxesLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
1
2
|
import type { Time } from '@/core/Time';
|
|
2
3
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
3
|
-
import type { Application } from '@/core/Application';
|
|
4
4
|
/**
|
|
5
5
|
* Determines the coordinate space a {@link DebugLayer} renders into.
|
|
6
6
|
* `'screen'` uses the overlay's pixel-space view; `'world'` uses the scene's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugLayer.js","sources":["../../../../src/debug/DebugLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"AAWA;;;;;;;AAOG;MACmB,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"DebugLayer.js","sources":["../../../../src/debug/DebugLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"AAWA;;;;;;;AAOG;MACmB,UAAU,CAAA;AAGQ,IAAA,IAAA;IAF/B,OAAO,GAAG,KAAK;AAEtB,IAAA,WAAA,CAAsC,IAAiB,EAAA;QAAjB,IAAA,CAAA,IAAI,GAAJ,IAAI;IAAgB;AAE1D;;;;AAIG;AACH,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,QAAQ;IACjB;AAYA;;;;AAIG;IACI,OAAO,GAAA;;IAEd;AACD;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
2
2
|
import { BoundingBoxesLayer } from './BoundingBoxesLayer';
|
|
3
3
|
import { HitTestLayer } from './HitTestLayer';
|
|
4
|
+
import { PerformanceLayer } from './PerformanceLayer';
|
|
4
5
|
import { PointerStackLayer } from './PointerStackLayer';
|
|
5
|
-
import type { Application } from '@/core/Application';
|
|
6
6
|
/**
|
|
7
7
|
* Typed map of the four built-in diagnostic layers managed by
|
|
8
8
|
* {@link DebugOverlay}. Access individual layers to toggle visibility or
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { View } from '../rendering/View.js';
|
|
2
1
|
import { Keyboard } from '../input/types.js';
|
|
3
|
-
import {
|
|
2
|
+
import { View } from '../rendering/View.js';
|
|
4
3
|
import { BoundingBoxesLayer } from './BoundingBoxesLayer.js';
|
|
5
4
|
import { HitTestLayer } from './HitTestLayer.js';
|
|
5
|
+
import { PerformanceLayer } from './PerformanceLayer.js';
|
|
6
6
|
import { PointerStackLayer } from './PointerStackLayer.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugOverlay.js","sources":["../../../../src/debug/DebugOverlay.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"DebugOverlay.js","sources":["../../../../src/debug/DebugOverlay.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { DebugLayerViewMode } from './DebugLayer';
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
3
2
|
import type { Time } from '@/core/Time';
|
|
4
3
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
5
|
-
import type {
|
|
4
|
+
import type { DebugLayerViewMode } from './DebugLayer';
|
|
5
|
+
import { DebugLayer } from './DebugLayer';
|
|
6
6
|
/**
|
|
7
7
|
* Debug layer that draws outlines around interactive scene nodes.
|
|
8
8
|
* - Magenta: interactive but idle.
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import { DebugLayer } from './DebugLayer.js';
|
|
2
|
-
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
1
|
import { Color } from '../core/Color.js';
|
|
4
|
-
import '../
|
|
5
|
-
import '
|
|
6
|
-
import '../core/SceneNode.js';
|
|
7
|
-
import '../math/Rectangle.js';
|
|
8
|
-
import '../rendering/types.js';
|
|
9
|
-
import '../rendering/View.js';
|
|
10
|
-
import '../rendering/texture/RenderTexture.js';
|
|
2
|
+
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
|
+
import { DebugLayer } from './DebugLayer.js';
|
|
11
4
|
|
|
12
5
|
// Color constants (created once, reused).
|
|
13
6
|
const colorIdle = new Color(1, 0, 1, 0.6); // magenta
|
|
@@ -63,7 +56,7 @@ class HitTestLayer extends DebugLayer {
|
|
|
63
56
|
const quadtree = interaction._getDebugQuadtree();
|
|
64
57
|
if (quadtree !== null) {
|
|
65
58
|
gfx.lineColor = colorQuadrant;
|
|
66
|
-
quadtree._walkBounds(
|
|
59
|
+
quadtree._walkBounds(rect => {
|
|
67
60
|
gfx.moveTo(rect.left, rect.top);
|
|
68
61
|
gfx.lineTo(rect.right, rect.top);
|
|
69
62
|
gfx.lineTo(rect.right, rect.bottom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HitTestLayer.js","sources":["../../../../src/debug/HitTestLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HitTestLayer.js","sources":["../../../../src/debug/HitTestLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAUA;AACA,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD;;;;;;;;AAQG;AACG,MAAO,YAAa,SAAQ,UAAU,CAAA;IAClC,SAAS,GAAoB,IAAI;AAEzC,IAAA,WAAA,CAAmB,GAAgB,EAAA;QACjC,KAAK,CAAC,GAAG,CAAC;IACZ;;AAGA,IAAA,IAAoB,QAAQ,GAAA;AAC1B,QAAA,OAAO,OAAO;IAChB;;AAGgB,IAAA,MAAM,CAAC,MAAY,EAAA;;IAEnC;AAEA;;;;;AAKG;AACa,IAAA,MAAM,CAAC,OAAsB,EAAA;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI;QAE/C,IAAI,CAAC,IAAI,EAAE;YACT;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE;QACjC;AAEA,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;QAE1B,GAAG,CAAC,KAAK,EAAE;AACX,QAAA,GAAG,CAAC,SAAS,GAAG,CAAC;;AAGjB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW;AACzC,QAAA,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE;QAChD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;;QAG7D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC;;AAGrD,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,EAAE;AAEhD,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AACrB,YAAA,GAAG,CAAC,SAAS,GAAG,aAAa;AAE7B,YAAA,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAG;gBAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;gBAChC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;gBACnC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;gBAClC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACjC,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;IACrB;;IAGgB,OAAO,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;IACF;;AAIQ,IAAA,SAAS,CAAC,IAAgB,EAAE,GAAa,EAAE,OAA0B,EAAE,QAAyB,EAAA;AACtG,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAE/B,YAAA,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACzC,gBAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACtB,oBAAA,GAAG,CAAC,SAAS,GAAG,aAAa;gBAC/B;AAAO,qBAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AAC3B,oBAAA,GAAG,CAAC,SAAS,GAAG,YAAY;gBAC9B;qBAAO;AACL,oBAAA,GAAG,CAAC,SAAS,GAAG,SAAS;gBAC3B;gBAEA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;gBACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBACpC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;YACrC;QACF;;QAGA,MAAM,SAAS,GAAG,IAA2C;QAE7D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACtC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC/C;QACF;IACF;AACD;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
2
2
|
import type { Time } from '@/core/Time';
|
|
3
3
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
4
|
-
import type
|
|
4
|
+
import { DebugLayer, type DebugLayerViewMode } from './DebugLayer';
|
|
5
5
|
/**
|
|
6
6
|
* Debug layer that renders a compact screen-space HUD (top-left) showing
|
|
7
7
|
* rolling-average FPS, per-frame time in milliseconds, draw-call count, and
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Color } from '../core/Color.js';
|
|
2
|
+
import { Container } from '../rendering/Container.js';
|
|
2
3
|
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
4
|
import { Text } from '../rendering/text/Text.js';
|
|
4
5
|
import { TextStyle } from '../rendering/text/TextStyle.js';
|
|
5
|
-
import {
|
|
6
|
-
import { Container } from '../rendering/Container.js';
|
|
6
|
+
import { DebugLayer } from './DebugLayer.js';
|
|
7
7
|
|
|
8
8
|
// --- layout constants (camelCase to satisfy lint naming convention) ----------
|
|
9
9
|
const panelX = 8;
|
|
@@ -25,7 +25,7 @@ const bgColor = new Color(0, 0, 0, 0.7);
|
|
|
25
25
|
// Bright text color (light blue-white).
|
|
26
26
|
const textColor = Color.white.clone();
|
|
27
27
|
// Cyan sparkline.
|
|
28
|
-
const sparklineColor = new Color(0, 1, 1, 1
|
|
28
|
+
const sparklineColor = new Color(0, 1, 1, 1);
|
|
29
29
|
// -----------------------------------------------------------------------------
|
|
30
30
|
/** Recursively count nodes under a RenderNode. */
|
|
31
31
|
function countNodes(node) {
|
|
@@ -124,8 +124,8 @@ class PerformanceLayer extends DebugLayer {
|
|
|
124
124
|
const stepX = sparklineW / (sparklineSampleCount - 1);
|
|
125
125
|
let started = false;
|
|
126
126
|
for (let i = 0; i < sparklineSampleCount; i++) {
|
|
127
|
-
const
|
|
128
|
-
const ms = this._sparkSamples[
|
|
127
|
+
const sampleIndex = (oldest + i) % sparklineSampleCount;
|
|
128
|
+
const ms = this._sparkSamples[sampleIndex];
|
|
129
129
|
const px = sparklineX + i * stepX;
|
|
130
130
|
const py = sparklineY + sparklineH - Math.min(1, ms / sparklineMaxMs) * sparklineH;
|
|
131
131
|
if (!started) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceLayer.js","sources":["../../../../src/debug/PerformanceLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"PerformanceLayer.js","sources":["../../../../src/debug/PerformanceLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { DebugLayerViewMode } from './DebugLayer';
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
3
2
|
import type { Time } from '@/core/Time';
|
|
4
3
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
5
|
-
import type {
|
|
4
|
+
import type { DebugLayerViewMode } from './DebugLayer';
|
|
5
|
+
import { DebugLayer } from './DebugLayer';
|
|
6
6
|
/**
|
|
7
7
|
* Debug layer that shows a screen-space panel (top-right corner) listing all
|
|
8
8
|
* RenderNodes under the current pointer position, sorted by zIndex descending.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Color } from '../core/Color.js';
|
|
2
|
+
import { Container } from '../rendering/Container.js';
|
|
2
3
|
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
4
|
import { Text } from '../rendering/text/Text.js';
|
|
4
5
|
import { TextStyle } from '../rendering/text/TextStyle.js';
|
|
5
|
-
import {
|
|
6
|
-
import { Container } from '../rendering/Container.js';
|
|
6
|
+
import { DebugLayer } from './DebugLayer.js';
|
|
7
7
|
|
|
8
8
|
// ---------------------------------------------------------------------------
|
|
9
9
|
// Layout constants
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointerStackLayer.js","sources":["../../../../src/debug/PointerStackLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"PointerStackLayer.js","sources":["../../../../src/debug/PointerStackLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAaA;AACA;AACA;AAEA,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,QAAQ,GAAG,CAAC;AAClB,MAAM,KAAK,GAAG,EAAE;AAChB,MAAM,QAAQ,GAAG,EAAE;AACnB,MAAM,UAAU,GAAG,EAAE;AAErB;AACA,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;AAErC;AAEA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQ,UAAU,CAAA;IACvC,KAAK,GAAqB,IAAI;IAC9B,GAAG,GAAoB,IAAI;IAC3B,MAAM,GAAW,EAAE;AAE3B,IAAA,WAAA,CAAmB,GAAgB,EAAA;QACjC,KAAK,CAAC,GAAG,CAAC;IACZ;;AAGA,IAAA,IAAoB,QAAQ,GAAA;AAC1B,QAAA,OAAO,QAAQ;IACjB;AAEA;;;;AAIG;AACa,IAAA,MAAM,CAAC,MAAY,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE;QACf;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ;QAC/C,MAAM,MAAM,GAAG,QAAQ;;AAGvB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM;AACrB,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM;QACvB;;AAGA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;;AAGhC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/B,YAAA,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;AACpB,gBAAA,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AACxB,gBAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;YACzB;iBAAO;AACL,gBAAA,QAAQ,CAAC,IAAI,GAAG,EAAE;AAClB,gBAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;YAC1B;QACF;IACF;;AAGgB,IAAA,MAAM,CAAC,OAAsB,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IAC7B;;IAGgB,OAAO,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;AAEA,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;IAClB;;IAIQ,MAAM,GAAA;AACZ,QAAA,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;AAC1B,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,eAAe,EAAE,CAAC;AACnB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE;AACzB,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO;;AAE5B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC;AAE5C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;;AAG7B,QAAA,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;AAElC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AAErC,YAAA,CAAC,CAAC,CAAC,GAAG,QAAQ;YACd,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,KAAK;AAC1B,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACrB;IACF;IAEQ,WAAW,GAAA;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE;AAEvD,QAAA,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,OAAO,CAAC,iBAAiB,CAAC;QAC5B;QAEA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG;;;QAI5B,MAAM,MAAM,GAAG,EAAE;QACjB,MAAM,MAAM,GAAG,EAAE;QAEjB,MAAM,KAAK,GAAa,EAAE;AAE1B,QAAA,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,EAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC;AAC1D,QAAA,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;;QAGjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI;QAC/C,MAAM,KAAK,GAAiB,EAAE;QAE9B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACpD,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3C;QAEA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;AAExC,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI;AAClC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM;AACrB,YAAA,MAAM,KAAK,GAAI,IAAkC,CAAC,WAAW,GAAG,gBAAgB,GAAG,EAAE;YAErF,KAAK,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAA,KAAA,EAAQ,CAAC,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;QAC1C;AAEA,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAC,MAAM,GAAG,UAAU,CAAA,KAAA,CAAO,CAAC;QACtD;AAEA,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACxB;AAEA,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,kBAAkB,CAAC,IAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,MAAoB,EAAA;AACrF,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB;QACF;QAEA,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACvB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB;QAEA,MAAM,SAAS,GAAG,IAA2C;QAE7D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACtC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;YAC9C;QACF;IACF;AACD;;;;"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 { DebugLayer, type DebugLayerViewMode } from './DebugLayer';
|
|
6
|
+
/**
|
|
7
|
+
* Snapshot of one drawable's filter chain at the moment the inspector
|
|
8
|
+
* collected it. Held by reference inside {@link RenderPassInspectorLayer}
|
|
9
|
+
* for the duration of one frame; replaced on the next update.
|
|
10
|
+
*/
|
|
11
|
+
export interface RenderPassInspectorEntry {
|
|
12
|
+
/** Constructor name of the inspected drawable (e.g. `Sprite`, `Container`). */
|
|
13
|
+
readonly drawableLabel: string;
|
|
14
|
+
/** Filter instances currently attached, in execution order. */
|
|
15
|
+
readonly filters: readonly Filter[];
|
|
16
|
+
/** Bounding-box width as the filter pipeline sees it (ceil). */
|
|
17
|
+
readonly width: number;
|
|
18
|
+
/** Bounding-box height as the filter pipeline sees it (ceil). */
|
|
19
|
+
readonly height: number;
|
|
20
|
+
/** Whether the drawable has a mask attached (mask passes count toward total). */
|
|
21
|
+
readonly hasMask: boolean;
|
|
22
|
+
/** Whether the drawable is bitmap-cached (cached drawables apply filters once, not per frame). */
|
|
23
|
+
readonly cachedAsBitmap: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Debug layer that lists every {@link RenderNode} with an active filter chain
|
|
27
|
+
* each frame. Renders a compact text panel with per-drawable rows showing
|
|
28
|
+
* the filter sequence, bounding-box dimensions, and mask/cache status.
|
|
29
|
+
*
|
|
30
|
+
* Use during development to answer:
|
|
31
|
+
*
|
|
32
|
+
* - "Is my filter actually attached?" → it appears in the list
|
|
33
|
+
* - "Why does my frame have N render passes?" → see total pass count
|
|
34
|
+
* - "Is this drawable being re-rendered or cached?" → `[cached]` flag
|
|
35
|
+
*
|
|
36
|
+
* For deep per-pass inspection (intermediate render-target contents, GLSL/WGSL
|
|
37
|
+
* source, uniform values), use Spector.js or Chrome DevTools' WebGPU panel —
|
|
38
|
+
* the engine emits debug-group labels around filter and mesh-custom-shader
|
|
39
|
+
* passes so those tools show meaningful pass names.
|
|
40
|
+
*/
|
|
41
|
+
export declare class RenderPassInspectorLayer extends DebugLayer {
|
|
42
|
+
private readonly _entries;
|
|
43
|
+
private _root;
|
|
44
|
+
private _bg;
|
|
45
|
+
private _header;
|
|
46
|
+
private _lines;
|
|
47
|
+
constructor(app: Application);
|
|
48
|
+
get viewMode(): DebugLayerViewMode;
|
|
49
|
+
/**
|
|
50
|
+
* Walk the scene graph and collect filter-chain entries for every
|
|
51
|
+
* {@link RenderNode} with at least one filter. Replaces the previous
|
|
52
|
+
* frame's snapshot. The current snapshot is exposed via {@link entries}
|
|
53
|
+
* for tests and external consumers.
|
|
54
|
+
*/
|
|
55
|
+
update(_delta: Time): void;
|
|
56
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
57
|
+
render(backend: RenderBackend): void;
|
|
58
|
+
destroy(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Read-only snapshot of the entries collected on the most recent
|
|
61
|
+
* {@link update} call. Useful for tests and for external tooling that
|
|
62
|
+
* wants to render its own visualisation rather than use the built-in
|
|
63
|
+
* panel.
|
|
64
|
+
*/
|
|
65
|
+
get entries(): readonly RenderPassInspectorEntry[];
|
|
66
|
+
/** Total pass count across all collected entries. */
|
|
67
|
+
get totalPasses(): number;
|
|
68
|
+
private _collect;
|
|
69
|
+
private _build;
|
|
70
|
+
private _refreshPanel;
|
|
71
|
+
}
|