@codexo/exojs 0.7.11 → 0.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +108 -0
- package/dist/esm/animation/Tween.d.ts +60 -1
- package/dist/esm/animation/Tween.js +60 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +10 -0
- package/dist/esm/animation/TweenManager.js +10 -0
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/types.d.ts +15 -0
- package/dist/esm/animation/types.js +6 -0
- package/dist/esm/animation/types.js.map +1 -1
- package/dist/esm/audio/AbstractMedia.d.ts +11 -0
- package/dist/esm/audio/AbstractMedia.js +10 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +21 -0
- package/dist/esm/audio/AudioAnalyser.js +16 -0
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +37 -0
- package/dist/esm/audio/AudioBus.js +36 -0
- package/dist/esm/audio/AudioBus.js.map +1 -1
- package/dist/esm/audio/AudioFilter.d.ts +7 -0
- package/dist/esm/audio/AudioFilter.js +6 -0
- package/dist/esm/audio/AudioFilter.js.map +1 -1
- package/dist/esm/audio/AudioListener.d.ts +19 -0
- package/dist/esm/audio/AudioListener.js +11 -0
- package/dist/esm/audio/AudioListener.js.map +1 -1
- package/dist/esm/audio/AudioManager.d.ts +37 -0
- package/dist/esm/audio/AudioManager.js +37 -0
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +21 -0
- package/dist/esm/audio/BeatDetector.js +21 -0
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Media.d.ts +11 -0
- package/dist/esm/audio/Music.d.ts +12 -0
- package/dist/esm/audio/Music.js +12 -0
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/Sound.d.ts +25 -0
- package/dist/esm/audio/Sound.js +18 -0
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.d.ts +48 -0
- package/dist/esm/audio/audio-context.js +48 -5
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts +5 -0
- package/dist/esm/audio/filters/ChorusFilter.js +4 -0
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +12 -0
- package/dist/esm/audio/filters/CompressorFilter.js +11 -0
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts +11 -0
- package/dist/esm/audio/filters/DelayFilter.js +10 -0
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts +13 -0
- package/dist/esm/audio/filters/DuckingFilter.js +12 -0
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +20 -0
- package/dist/esm/audio/filters/EqualizerFilter.js +40 -0
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
- package/dist/esm/audio/filters/GranularFilter.d.ts +6 -0
- package/dist/esm/audio/filters/GranularFilter.js +6 -0
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +10 -0
- package/dist/esm/audio/filters/HighpassFilter.js +9 -0
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/LowpassFilter.d.ts +10 -0
- package/dist/esm/audio/filters/LowpassFilter.js +9 -0
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +2 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js +2 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +12 -0
- package/dist/esm/audio/filters/ReverbFilter.js +11 -0
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts +11 -0
- package/dist/esm/audio/filters/VocoderFilter.js +11 -0
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts +6 -1
- package/dist/esm/audio/filters/WorkletFilter.js +6 -1
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
- package/dist/esm/core/Application.d.ts +63 -0
- package/dist/esm/core/Application.js +61 -0
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Bounds.d.ts +23 -0
- package/dist/esm/core/Bounds.js +23 -0
- package/dist/esm/core/Bounds.js.map +1 -1
- package/dist/esm/core/Clock.d.ts +21 -0
- package/dist/esm/core/Clock.js +21 -0
- package/dist/esm/core/Clock.js.map +1 -1
- package/dist/esm/core/Color.d.ts +35 -0
- package/dist/esm/core/Color.js +35 -0
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +46 -0
- package/dist/esm/core/Scene.js +27 -0
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +62 -0
- package/dist/esm/core/SceneManager.js +49 -0
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +31 -0
- package/dist/esm/core/SceneNode.js +31 -0
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +44 -0
- package/dist/esm/core/Signal.js +39 -0
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Time.d.ts +21 -0
- package/dist/esm/core/Time.js +21 -0
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +7 -0
- package/dist/esm/core/Timer.js +7 -0
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/core/capabilities.d.ts +12 -0
- package/dist/esm/core/capabilities.js +12 -0
- package/dist/esm/core/capabilities.js.map +1 -1
- package/dist/esm/core/types.d.ts +37 -0
- package/dist/esm/core/utils.d.ts +48 -0
- package/dist/esm/core/utils.js +48 -0
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts +8 -0
- package/dist/esm/debug/BoundingBoxesLayer.js +8 -0
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/DebugLayer.d.ts +16 -3
- package/dist/esm/debug/DebugLayer.js +11 -3
- package/dist/esm/debug/DebugLayer.js.map +1 -1
- package/dist/esm/debug/DebugOverlay.d.ts +11 -0
- package/dist/esm/debug/DebugOverlay.js +6 -0
- package/dist/esm/debug/DebugOverlay.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.d.ts +9 -0
- package/dist/esm/debug/HitTestLayer.js +9 -0
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.d.ts +17 -1
- package/dist/esm/debug/PerformanceLayer.js +18 -0
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.d.ts +8 -0
- package/dist/esm/debug/PointerStackLayer.js +10 -2
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +7 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js +7 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +48 -0
- package/dist/esm/input/Gamepad.js +43 -0
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadChannels.d.ts +8 -0
- package/dist/esm/input/GamepadChannels.js +8 -0
- package/dist/esm/input/GamepadChannels.js.map +1 -1
- package/dist/esm/input/GamepadControl.d.ts +18 -0
- package/dist/esm/input/GamepadControl.js +13 -0
- package/dist/esm/input/GamepadControl.js.map +1 -1
- package/dist/esm/input/GamepadDefinitions.d.ts +64 -1
- package/dist/esm/input/GamepadDefinitions.js +40 -1
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GamepadMapping.d.ts +32 -2
- package/dist/esm/input/GamepadMapping.js +24 -0
- package/dist/esm/input/GamepadMapping.js.map +1 -1
- package/dist/esm/input/GamepadPromptLayouts.d.ts +32 -1
- package/dist/esm/input/GamepadPromptLayouts.js +25 -1
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +10 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js +10 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +11 -2
- package/dist/esm/input/GestureRecognizer.js +11 -2
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/Input.d.ts +24 -0
- package/dist/esm/input/Input.js +22 -0
- package/dist/esm/input/Input.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +33 -0
- package/dist/esm/input/InputManager.js +33 -0
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +13 -0
- package/dist/esm/input/InteractionEvent.js +8 -0
- package/dist/esm/input/InteractionEvent.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +33 -4
- package/dist/esm/input/InteractionManager.js +33 -4
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +8 -0
- package/dist/esm/input/PlayStationGamepadMapping.js +8 -0
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
- package/dist/esm/input/Pointer.d.ts +22 -0
- package/dist/esm/input/Pointer.js +22 -0
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +8 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js +8 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
- package/dist/esm/input/XboxGamepadMapping.d.ts +8 -0
- package/dist/esm/input/XboxGamepadMapping.js +8 -0
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
- package/dist/esm/input/types.d.ts +20 -0
- package/dist/esm/input/types.js +20 -0
- package/dist/esm/input/types.js.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts +83 -0
- package/dist/esm/math/AbstractVector.js +83 -0
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts +32 -0
- package/dist/esm/math/Circle.js +34 -2
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/CircleLike.d.ts +1 -0
- package/dist/esm/math/Collision.d.ts +39 -0
- package/dist/esm/math/Collision.js +5 -0
- package/dist/esm/math/Collision.js.map +1 -1
- package/dist/esm/math/Ellipse.d.ts +11 -0
- package/dist/esm/math/Ellipse.js +18 -2
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/EllipseLike.d.ts +3 -0
- package/dist/esm/math/Flags.d.ts +31 -0
- package/dist/esm/math/Flags.js +31 -0
- package/dist/esm/math/Flags.js.map +1 -1
- package/dist/esm/math/Interval.d.ts +15 -0
- package/dist/esm/math/Interval.js +15 -0
- package/dist/esm/math/Interval.js.map +1 -1
- package/dist/esm/math/Line.d.ts +17 -1
- package/dist/esm/math/Line.js +17 -1
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/LineLike.d.ts +1 -0
- package/dist/esm/math/Matrix.d.ts +44 -3
- package/dist/esm/math/Matrix.js +44 -3
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableSize.d.ts +7 -0
- package/dist/esm/math/ObservableSize.js +7 -0
- package/dist/esm/math/ObservableSize.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +9 -0
- package/dist/esm/math/ObservableVector.js +9 -0
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/PointLike.d.ts +1 -0
- package/dist/esm/math/PolarVector.d.ts +15 -0
- package/dist/esm/math/PolarVector.js +16 -1
- package/dist/esm/math/PolarVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +20 -0
- package/dist/esm/math/Polygon.js +20 -0
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/PolygonLike.d.ts +4 -0
- package/dist/esm/math/Quadtree.d.ts +40 -3
- package/dist/esm/math/Quadtree.js +39 -3
- package/dist/esm/math/Quadtree.js.map +1 -1
- package/dist/esm/math/Random.d.ts +25 -0
- package/dist/esm/math/Random.js +25 -0
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +15 -0
- package/dist/esm/math/Rectangle.js +17 -2
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/RectangleLike.d.ts +1 -0
- package/dist/esm/math/Segment.d.ts +7 -0
- package/dist/esm/math/Segment.js +7 -0
- package/dist/esm/math/Segment.js.map +1 -1
- package/dist/esm/math/ShapeLike.d.ts +6 -0
- package/dist/esm/math/Size.d.ts +9 -0
- package/dist/esm/math/Size.js +9 -0
- package/dist/esm/math/Size.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +16 -0
- package/dist/esm/math/Vector.js +16 -0
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +47 -1
- package/dist/esm/math/collision-detection.js +228 -17
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +23 -0
- package/dist/esm/math/collision-primitives.js +23 -0
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +42 -0
- package/dist/esm/math/geometry.js +37 -0
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/utils.d.ts +41 -0
- package/dist/esm/math/utils.js +41 -0
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/particles/Particle.d.ts +37 -0
- package/dist/esm/particles/Particle.js +37 -0
- package/dist/esm/particles/Particle.js.map +1 -1
- package/dist/esm/particles/ParticleProperties.d.ts +15 -0
- package/dist/esm/particles/ParticleSystem.d.ts +69 -0
- package/dist/esm/particles/ParticleSystem.js +69 -0
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/affectors/ColorAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ColorAffector.js +13 -0
- package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
- package/dist/esm/particles/affectors/ForceAffector.d.ts +11 -0
- package/dist/esm/particles/affectors/ForceAffector.js +11 -0
- package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
- package/dist/esm/particles/affectors/ParticleAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ScaleAffector.d.ts +10 -0
- package/dist/esm/particles/affectors/ScaleAffector.js +10 -0
- package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
- package/dist/esm/particles/affectors/TorqueAffector.d.ts +11 -0
- package/dist/esm/particles/affectors/TorqueAffector.js +11 -0
- package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
- package/dist/esm/particles/emitters/ParticleEmitter.d.ts +13 -0
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +16 -0
- package/dist/esm/particles/emitters/ParticleOptions.js +16 -0
- package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
- package/dist/esm/particles/emitters/UniversalEmitter.d.ts +23 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js +23 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.d.ts +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +43 -0
- package/dist/esm/rendering/Container.js +43 -0
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.d.ts +22 -0
- package/dist/esm/rendering/Drawable.js +22 -0
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +13 -0
- package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
- package/dist/esm/rendering/RenderBackendType.js +4 -0
- package/dist/esm/rendering/RenderBackendType.js.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts +18 -0
- package/dist/esm/rendering/RenderNode.js +18 -0
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderPass.d.ts +8 -0
- package/dist/esm/rendering/RenderStats.d.ts +19 -0
- package/dist/esm/rendering/RenderStats.js +7 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RenderTarget.d.ts +17 -0
- package/dist/esm/rendering/RenderTarget.js +17 -0
- package/dist/esm/rendering/RenderTarget.js.map +1 -1
- package/dist/esm/rendering/RenderTargetPass.d.ts +11 -0
- package/dist/esm/rendering/RenderTargetPass.js +7 -0
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
- package/dist/esm/rendering/Renderer.d.ts +15 -0
- package/dist/esm/rendering/RendererRegistry.d.ts +7 -0
- package/dist/esm/rendering/RendererRegistry.js +7 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +67 -2
- package/dist/esm/rendering/View.js +57 -0
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/BlurFilter.d.ts +9 -0
- package/dist/esm/rendering/filters/BlurFilter.js +8 -0
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
- package/dist/esm/rendering/filters/ColorFilter.d.ts +7 -0
- package/dist/esm/rendering/filters/ColorFilter.js +7 -0
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
- package/dist/esm/rendering/filters/Filter.d.ts +23 -0
- package/dist/esm/rendering/filters/Filter.js +20 -0
- package/dist/esm/rendering/filters/Filter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +5 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +5 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +5 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
- package/dist/esm/rendering/mesh/Mesh.js +2 -0
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +34 -0
- package/dist/esm/rendering/primitives/Graphics.js +34 -0
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.d.ts +36 -0
- package/dist/esm/rendering/shader/Shader.js +26 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts +13 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js +13 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +27 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +28 -1
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +38 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js +36 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +56 -0
- package/dist/esm/rendering/sprite/Sprite.js +56 -0
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +25 -0
- package/dist/esm/rendering/sprite/Spritesheet.js +20 -0
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts +2 -0
- package/dist/esm/rendering/text/Text.js +2 -0
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.d.ts +29 -0
- package/dist/esm/rendering/text/TextStyle.js +24 -0
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/types.d.ts +1 -0
- package/dist/esm/rendering/texture/RenderTexture.d.ts +16 -0
- package/dist/esm/rendering/texture/RenderTexture.js +16 -0
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Sampler.d.ts +23 -0
- package/dist/esm/rendering/texture/Sampler.js +13 -0
- package/dist/esm/rendering/texture/Sampler.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +30 -0
- package/dist/esm/rendering/texture/Texture.js +30 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +29 -0
- package/dist/esm/rendering/types.js +29 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/utils.d.ts +20 -0
- package/dist/esm/rendering/utils.js +10 -0
- package/dist/esm/rendering/utils.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +35 -1
- package/dist/esm/rendering/video/Video.js +36 -2
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +13 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +13 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +8 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +8 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +35 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +135 -5
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/resources/AbstractAssetFactory.d.ts +20 -0
- package/dist/esm/resources/AbstractAssetFactory.js +20 -0
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
- package/dist/esm/resources/AssetFactory.d.ts +26 -0
- package/dist/esm/resources/AssetManifest.d.ts +45 -0
- package/dist/esm/resources/AssetManifest.js +25 -0
- package/dist/esm/resources/AssetManifest.js.map +1 -1
- package/dist/esm/resources/CacheFirstStrategy.d.ts +12 -0
- package/dist/esm/resources/CacheFirstStrategy.js +12 -0
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
- package/dist/esm/resources/CacheStore.d.ts +23 -0
- package/dist/esm/resources/CacheStrategy.d.ts +20 -0
- package/dist/esm/resources/Database.d.ts +45 -0
- package/dist/esm/resources/FactoryRegistry.d.ts +28 -0
- package/dist/esm/resources/FactoryRegistry.js +24 -0
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts +22 -1
- package/dist/esm/resources/IndexedDbDatabase.js +21 -0
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.d.ts +20 -0
- package/dist/esm/resources/IndexedDbStore.js +12 -0
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +167 -0
- package/dist/esm/resources/Loader.js +110 -0
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +8 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js +8 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
- package/dist/esm/resources/factories/BinaryFactory.d.ts +13 -0
- package/dist/esm/resources/factories/BinaryFactory.js +13 -0
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
- package/dist/esm/resources/factories/FontFactory.d.ts +37 -0
- package/dist/esm/resources/factories/FontFactory.js +26 -0
- package/dist/esm/resources/factories/FontFactory.js.map +1 -1
- package/dist/esm/resources/factories/ImageFactory.d.ts +24 -0
- package/dist/esm/resources/factories/ImageFactory.js +19 -0
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
- package/dist/esm/resources/factories/JsonFactory.d.ts +13 -0
- package/dist/esm/resources/factories/JsonFactory.js +13 -0
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +36 -0
- package/dist/esm/resources/factories/MusicFactory.js +44 -4
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +29 -0
- package/dist/esm/resources/factories/SoundFactory.js +18 -0
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SvgFactory.d.ts +19 -0
- package/dist/esm/resources/factories/SvgFactory.js +19 -0
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextFactory.d.ts +11 -0
- package/dist/esm/resources/factories/TextFactory.js +11 -0
- package/dist/esm/resources/factories/TextFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextureFactory.d.ts +25 -0
- package/dist/esm/resources/factories/TextureFactory.js +20 -0
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +37 -0
- package/dist/esm/resources/factories/VideoFactory.js +48 -5
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +18 -0
- package/dist/esm/resources/factories/VttFactory.js +24 -0
- package/dist/esm/resources/factories/VttFactory.js.map +1 -1
- package/dist/esm/resources/factories/WasmFactory.d.ts +16 -0
- package/dist/esm/resources/factories/WasmFactory.js +16 -0
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
- package/dist/esm/resources/utils.d.ts +10 -0
- package/dist/esm/resources/utils.js +10 -0
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/exo.esm.js +3392 -59
- package/dist/exo.esm.js.map +1 -1
- package/package.json +7 -8
|
@@ -10,9 +10,17 @@ import type { Application } from '@/core/Application';
|
|
|
10
10
|
export declare class BoundingBoxesLayer extends DebugLayer {
|
|
11
11
|
private _graphics;
|
|
12
12
|
constructor(app: Application);
|
|
13
|
+
/** Renders in world-space so outlines align with scene node positions. */
|
|
13
14
|
get viewMode(): DebugLayerViewMode;
|
|
15
|
+
/** No per-frame pre-computation required; all state is derived in {@link render}. */
|
|
14
16
|
update(_delta: Time): void;
|
|
17
|
+
/**
|
|
18
|
+
* Walk the scene tree and draw a colored rectangle outline around every
|
|
19
|
+
* visible node that has non-zero bounds. Outline hue cycles by `zIndex`
|
|
20
|
+
* so overlapping nodes are visually distinguishable.
|
|
21
|
+
*/
|
|
15
22
|
render(backend: RenderBackend): void;
|
|
23
|
+
/** Release the internal {@link Graphics} primitive. */
|
|
16
24
|
destroy(): void;
|
|
17
25
|
private _walkNode;
|
|
18
26
|
}
|
|
@@ -65,12 +65,19 @@ class BoundingBoxesLayer extends DebugLayer {
|
|
|
65
65
|
constructor(app) {
|
|
66
66
|
super(app);
|
|
67
67
|
}
|
|
68
|
+
/** Renders in world-space so outlines align with scene node positions. */
|
|
68
69
|
get viewMode() {
|
|
69
70
|
return 'world';
|
|
70
71
|
}
|
|
72
|
+
/** No per-frame pre-computation required; all state is derived in {@link render}. */
|
|
71
73
|
update(_delta) {
|
|
72
74
|
// State is built in render() each frame; nothing to pre-compute here.
|
|
73
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Walk the scene tree and draw a colored rectangle outline around every
|
|
78
|
+
* visible node that has non-zero bounds. Outline hue cycles by `zIndex`
|
|
79
|
+
* so overlapping nodes are visually distinguishable.
|
|
80
|
+
*/
|
|
74
81
|
render(backend) {
|
|
75
82
|
const root = this._app.sceneManager.scene?.root;
|
|
76
83
|
if (!root) {
|
|
@@ -85,6 +92,7 @@ class BoundingBoxesLayer extends DebugLayer {
|
|
|
85
92
|
this._walkNode(root, gfx);
|
|
86
93
|
gfx.render(backend);
|
|
87
94
|
}
|
|
95
|
+
/** Release the internal {@link Graphics} primitive. */
|
|
88
96
|
destroy() {
|
|
89
97
|
if (this._graphics !== null) {
|
|
90
98
|
this._graphics.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundingBoxesLayer.js","sources":["../../../../src/debug/BoundingBoxesLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAUA;AACA;AACA;AAEA;;;AAGG;AACH,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAA;AAC9D,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,IAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAEnB,IAAI,CAAC,GAAG,CAAC;IACT,IAAI,CAAC,GAAG,CAAC;IACT,IAAI,CAAC,GAAG,CAAC;AAET,IAAA,IAAI,CAAC,GAAG,EAAE,EAAQ;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;IAAE;AACpC,SAAA,IAAI,CAAC,GAAG,GAAG,EAAE;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;IAAE;AACpC,SAAA,IAAI,CAAC,GAAG,GAAG,EAAE;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;IAAE;AACpC,SAAA,IAAI,CAAC,GAAG,GAAG,EAAE;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;IAAE;AACpC,SAAA,IAAI,CAAC,GAAG,GAAG,EAAE;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;IAAE;SACvB;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;IAAE;AAEzC,IAAA,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;AAChD;AAEA;AAEA;;;AAGG;AACG,MAAO,kBAAmB,SAAQ,UAAU,CAAA;IACtC,SAAS,GAAoB,IAAI;AAEzC,IAAA,WAAA,CAAmB,GAAgB,EAAA;QAC/B,KAAK,CAAC,GAAG,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"BoundingBoxesLayer.js","sources":["../../../../src/debug/BoundingBoxesLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import type { Time } from '@/core/Time';
|
|
2
2
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
3
3
|
import type { Application } from '@/core/Application';
|
|
4
|
+
/**
|
|
5
|
+
* Determines the coordinate space a {@link DebugLayer} renders into.
|
|
6
|
+
* `'screen'` uses the overlay's pixel-space view; `'world'` uses the scene's
|
|
7
|
+
* current world-space view and renders beneath screen-space panels.
|
|
8
|
+
*/
|
|
4
9
|
export type DebugLayerViewMode = 'screen' | 'world';
|
|
5
10
|
/**
|
|
6
|
-
*
|
|
7
|
-
* (text,
|
|
8
|
-
*
|
|
11
|
+
* Abstract base for a single diagnostic overlay layer. Subclasses produce a
|
|
12
|
+
* visual (outlines, text panels, sparklines, etc.) that
|
|
13
|
+
* {@link DebugOverlay} composites each frame when {@link visible} is `true`.
|
|
14
|
+
*
|
|
15
|
+
* Concrete layers are tree-shakeable via the `@codexo/exojs/debug` subpath
|
|
16
|
+
* and are not loaded unless explicitly imported.
|
|
9
17
|
*/
|
|
10
18
|
export declare abstract class DebugLayer {
|
|
11
19
|
protected readonly _app: Application;
|
|
@@ -25,5 +33,10 @@ export declare abstract class DebugLayer {
|
|
|
25
33
|
* Called only when visible.
|
|
26
34
|
*/
|
|
27
35
|
abstract render(backend: RenderBackend): void;
|
|
36
|
+
/**
|
|
37
|
+
* Release any scene-graph nodes or resources owned by this layer.
|
|
38
|
+
* Called by {@link DebugOverlay.destroy}. The base implementation is a
|
|
39
|
+
* no-op; subclasses override to tear down their {@link Container} subtrees.
|
|
40
|
+
*/
|
|
28
41
|
destroy(): void;
|
|
29
42
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* (text,
|
|
4
|
-
*
|
|
2
|
+
* Abstract base for a single diagnostic overlay layer. Subclasses produce a
|
|
3
|
+
* visual (outlines, text panels, sparklines, etc.) that
|
|
4
|
+
* {@link DebugOverlay} composites each frame when {@link visible} is `true`.
|
|
5
|
+
*
|
|
6
|
+
* Concrete layers are tree-shakeable via the `@codexo/exojs/debug` subpath
|
|
7
|
+
* and are not loaded unless explicitly imported.
|
|
5
8
|
*/
|
|
6
9
|
class DebugLayer {
|
|
7
10
|
_app;
|
|
@@ -17,6 +20,11 @@ class DebugLayer {
|
|
|
17
20
|
get viewMode() {
|
|
18
21
|
return 'screen';
|
|
19
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Release any scene-graph nodes or resources owned by this layer.
|
|
25
|
+
* Called by {@link DebugOverlay.destroy}. The base implementation is a
|
|
26
|
+
* no-op; subclasses override to tear down their {@link Container} subtrees.
|
|
27
|
+
*/
|
|
20
28
|
destroy() {
|
|
21
29
|
// Default: nothing. Subclasses override to release Container subtrees etc.
|
|
22
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugLayer.js","sources":["../../../../src/debug/DebugLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DebugLayer.js","sources":["../../../../src/debug/DebugLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"AAWA;;;;;;;AAOG;MACmB,UAAU,CAAA;AAGU,IAAA,IAAA;IAF/B,OAAO,GAAY,KAAK;AAE/B,IAAA,WAAA,CAAsC,IAAiB,EAAA;QAAjB,IAAA,CAAA,IAAI,GAAJ,IAAI;IAAgB;AAE1D;;;;AAIG;AACH,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,QAAQ;IACnB;AAYA;;;;AAIG;IACI,OAAO,GAAA;;IAEd;AACH;;;;"}
|
|
@@ -3,6 +3,11 @@ import { BoundingBoxesLayer } from './BoundingBoxesLayer';
|
|
|
3
3
|
import { HitTestLayer } from './HitTestLayer';
|
|
4
4
|
import { PointerStackLayer } from './PointerStackLayer';
|
|
5
5
|
import type { Application } from '@/core/Application';
|
|
6
|
+
/**
|
|
7
|
+
* Typed map of the four built-in diagnostic layers managed by
|
|
8
|
+
* {@link DebugOverlay}. Access individual layers to toggle visibility or
|
|
9
|
+
* interact with layer-specific state.
|
|
10
|
+
*/
|
|
6
11
|
export interface DebugLayers {
|
|
7
12
|
readonly performance: PerformanceLayer;
|
|
8
13
|
readonly boundingBoxes: BoundingBoxesLayer;
|
|
@@ -34,6 +39,7 @@ export interface DebugLayers {
|
|
|
34
39
|
export declare class DebugOverlay {
|
|
35
40
|
/** Master visibility switch. When false, no layers render regardless of their individual flags. */
|
|
36
41
|
visible: boolean;
|
|
42
|
+
/** The four built-in diagnostic layers. Toggle each layer's `visible` flag or use the F1–F4 keybindings. */
|
|
37
43
|
readonly layers: DebugLayers;
|
|
38
44
|
private readonly _app;
|
|
39
45
|
private readonly _view;
|
|
@@ -41,6 +47,11 @@ export declare class DebugOverlay {
|
|
|
41
47
|
private readonly _onKeyDownHandler;
|
|
42
48
|
private readonly _onResizeHandler;
|
|
43
49
|
constructor(app: Application);
|
|
50
|
+
/**
|
|
51
|
+
* Unsubscribe from all application events, destroy every layer, and
|
|
52
|
+
* release the overlay's internal {@link View}. Call this when you no
|
|
53
|
+
* longer need the overlay to avoid memory leaks.
|
|
54
|
+
*/
|
|
44
55
|
destroy(): void;
|
|
45
56
|
private _onResize;
|
|
46
57
|
private _onFrame;
|
|
@@ -30,6 +30,7 @@ import { PointerStackLayer } from './PointerStackLayer.js';
|
|
|
30
30
|
class DebugOverlay {
|
|
31
31
|
/** Master visibility switch. When false, no layers render regardless of their individual flags. */
|
|
32
32
|
visible = true;
|
|
33
|
+
/** The four built-in diagnostic layers. Toggle each layer's `visible` flag or use the F1–F4 keybindings. */
|
|
33
34
|
layers;
|
|
34
35
|
_app;
|
|
35
36
|
_view;
|
|
@@ -52,6 +53,11 @@ class DebugOverlay {
|
|
|
52
53
|
app.inputManager.onKeyDown.add(this._onKeyDownHandler);
|
|
53
54
|
app.onResize.add(this._onResizeHandler);
|
|
54
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Unsubscribe from all application events, destroy every layer, and
|
|
58
|
+
* release the overlay's internal {@link View}. Call this when you no
|
|
59
|
+
* longer need the overlay to avoid memory leaks.
|
|
60
|
+
*/
|
|
55
61
|
destroy() {
|
|
56
62
|
this._app.onFrame.remove(this._onFrameHandler);
|
|
57
63
|
this._app.inputManager.onKeyDown.remove(this._onKeyDownHandler);
|
|
@@ -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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"}
|
|
@@ -15,9 +15,18 @@ import type { Application } from '@/core/Application';
|
|
|
15
15
|
export declare class HitTestLayer extends DebugLayer {
|
|
16
16
|
private _graphics;
|
|
17
17
|
constructor(app: Application);
|
|
18
|
+
/** Renders in world-space so outlines align with interactive node positions. */
|
|
18
19
|
get viewMode(): DebugLayerViewMode;
|
|
20
|
+
/** No per-frame pre-computation required; all state is derived in {@link render}. */
|
|
19
21
|
update(_delta: Time): void;
|
|
22
|
+
/**
|
|
23
|
+
* Walk the scene tree and draw color-coded outlines around interactive
|
|
24
|
+
* nodes (magenta = idle, yellow = hovered, cyan = pointer-captured).
|
|
25
|
+
* Also draws faint gray quadrant boundaries when the spatial index is
|
|
26
|
+
* active, helping diagnose partitioning behavior.
|
|
27
|
+
*/
|
|
20
28
|
render(backend: RenderBackend): void;
|
|
29
|
+
/** Release the internal {@link Graphics} primitive. */
|
|
21
30
|
destroy(): void;
|
|
22
31
|
private _walkNode;
|
|
23
32
|
}
|
|
@@ -28,12 +28,20 @@ class HitTestLayer extends DebugLayer {
|
|
|
28
28
|
constructor(app) {
|
|
29
29
|
super(app);
|
|
30
30
|
}
|
|
31
|
+
/** Renders in world-space so outlines align with interactive node positions. */
|
|
31
32
|
get viewMode() {
|
|
32
33
|
return 'world';
|
|
33
34
|
}
|
|
35
|
+
/** No per-frame pre-computation required; all state is derived in {@link render}. */
|
|
34
36
|
update(_delta) {
|
|
35
37
|
// Nothing to pre-compute; all state is read in render().
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Walk the scene tree and draw color-coded outlines around interactive
|
|
41
|
+
* nodes (magenta = idle, yellow = hovered, cyan = pointer-captured).
|
|
42
|
+
* Also draws faint gray quadrant boundaries when the spatial index is
|
|
43
|
+
* active, helping diagnose partitioning behavior.
|
|
44
|
+
*/
|
|
37
45
|
render(backend) {
|
|
38
46
|
const root = this._app.sceneManager.scene?.root;
|
|
39
47
|
if (!root) {
|
|
@@ -65,6 +73,7 @@ class HitTestLayer extends DebugLayer {
|
|
|
65
73
|
}
|
|
66
74
|
gfx.render(backend);
|
|
67
75
|
}
|
|
76
|
+
/** Release the internal {@link Graphics} primitive. */
|
|
68
77
|
destroy() {
|
|
69
78
|
if (this._graphics !== null) {
|
|
70
79
|
this._graphics.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HitTestLayer.js","sources":["../../../../src/debug/HitTestLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAUA;AACA,MAAM,SAAS,GAAO,IAAI,KAAK,CAAC,CAAC,EAAK,CAAC,EAAK,CAAC,EAAK,GAAG,CAAC,CAAC;AACvD,MAAM,YAAY,GAAI,IAAI,KAAK,CAAC,CAAC,EAAK,CAAC,EAAK,CAAC,EAAK,GAAG,CAAC,CAAC;AACvD,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,CAAC,EAAK,CAAC,EAAK,CAAC,EAAK,GAAG,CAAC,CAAC;AACvD,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,CAAC,CAAC;AAEvD;;;;;;;;AAQG;AACG,MAAO,YAAa,SAAQ,UAAU,CAAA;IAChC,SAAS,GAAoB,IAAI;AAEzC,IAAA,WAAA,CAAmB,GAAgB,EAAA;QAC/B,KAAK,CAAC,GAAG,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"HitTestLayer.js","sources":["../../../../src/debug/HitTestLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { DebugLayer } from './DebugLayer';
|
|
1
|
+
import { DebugLayer, type DebugLayerViewMode } from './DebugLayer';
|
|
2
2
|
import type { Time } from '@/core/Time';
|
|
3
3
|
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
4
4
|
import type { Application } from '@/core/Application';
|
|
5
|
+
/**
|
|
6
|
+
* Debug layer that renders a compact screen-space HUD (top-left) showing
|
|
7
|
+
* rolling-average FPS, per-frame time in milliseconds, draw-call count, and
|
|
8
|
+
* scene-node count, alongside a 120-sample frame-time sparkline.
|
|
9
|
+
*
|
|
10
|
+
* Enable via {@link DebugOverlay} or by pressing F1 while the canvas has focus.
|
|
11
|
+
*/
|
|
5
12
|
export declare class PerformanceLayer extends DebugLayer {
|
|
6
13
|
private readonly _fpsSamples;
|
|
7
14
|
private _fpsSampleIndex;
|
|
@@ -14,8 +21,17 @@ export declare class PerformanceLayer extends DebugLayer {
|
|
|
14
21
|
private _textNodes;
|
|
15
22
|
private _sparkline;
|
|
16
23
|
constructor(app: Application);
|
|
24
|
+
get viewMode(): DebugLayerViewMode;
|
|
25
|
+
/**
|
|
26
|
+
* Sample the current frame time, recompute the rolling FPS average,
|
|
27
|
+
* update stat text nodes, and rebuild the sparkline geometry. Lazily
|
|
28
|
+
* initializes the panel scene graph on first call to avoid touching the
|
|
29
|
+
* glyph atlas until the layer is actually shown.
|
|
30
|
+
*/
|
|
17
31
|
update(delta: Time): void;
|
|
32
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
18
33
|
render(backend: RenderBackend): void;
|
|
34
|
+
/** Destroy the panel's {@link Container} subtree and release all child references. */
|
|
19
35
|
destroy(): void;
|
|
20
36
|
private _build;
|
|
21
37
|
}
|
|
@@ -38,6 +38,13 @@ function countNodes(node) {
|
|
|
38
38
|
}
|
|
39
39
|
return count;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Debug layer that renders a compact screen-space HUD (top-left) showing
|
|
43
|
+
* rolling-average FPS, per-frame time in milliseconds, draw-call count, and
|
|
44
|
+
* scene-node count, alongside a 120-sample frame-time sparkline.
|
|
45
|
+
*
|
|
46
|
+
* Enable via {@link DebugOverlay} or by pressing F1 while the canvas has focus.
|
|
47
|
+
*/
|
|
41
48
|
class PerformanceLayer extends DebugLayer {
|
|
42
49
|
// Rolling FPS sample buffer (60 samples).
|
|
43
50
|
_fpsSamples = new Float32Array(fpsSampleCount);
|
|
@@ -56,6 +63,15 @@ class PerformanceLayer extends DebugLayer {
|
|
|
56
63
|
constructor(app) {
|
|
57
64
|
super(app);
|
|
58
65
|
}
|
|
66
|
+
get viewMode() {
|
|
67
|
+
return 'screen';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Sample the current frame time, recompute the rolling FPS average,
|
|
71
|
+
* update stat text nodes, and rebuild the sparkline geometry. Lazily
|
|
72
|
+
* initializes the panel scene graph on first call to avoid touching the
|
|
73
|
+
* glyph atlas until the layer is actually shown.
|
|
74
|
+
*/
|
|
59
75
|
update(delta) {
|
|
60
76
|
// Lazily build the scene graph on first update so that Text (which
|
|
61
77
|
// touches the glyph atlas immediately) is only constructed when the
|
|
@@ -122,9 +138,11 @@ class PerformanceLayer extends DebugLayer {
|
|
|
122
138
|
}
|
|
123
139
|
}
|
|
124
140
|
}
|
|
141
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
125
142
|
render(backend) {
|
|
126
143
|
this._root?.render(backend);
|
|
127
144
|
}
|
|
145
|
+
/** Destroy the panel's {@link Container} subtree and release all child references. */
|
|
128
146
|
destroy() {
|
|
129
147
|
if (this._root !== null) {
|
|
130
148
|
this._root.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceLayer.js","sources":["../../../../src/debug/PerformanceLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAWA;AAEA,MAAM,MAAM,GAAG,CAAC;AAChB,MAAM,MAAM,GAAG,CAAC;AAChB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,MAAM,GAAG,GAAG;AAElB,MAAM,KAAK,GAAG,EAAE;AAChB,MAAM,QAAQ,GAAG,EAAE;AACnB,MAAM,YAAY,GAAG,CAAC;AACtB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,KAAK,GAAG,CAAC;AACxD,MAAM,UAAU,GAAG,MAAM,IAAI,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;AACrD,MAAM,UAAU,GAAG,MAAM,GAAG,EAAE;AAC9B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC;AAE7B,MAAM,cAAc,GAAG,EAAE;AACzB,MAAM,oBAAoB,GAAG,GAAG;AAChC,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;AACA,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACvC;AACA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;AACrC;AACA,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AAE9C;AAEA;AACA,SAAS,UAAU,CAAC,IAAgB,EAAA;IAChC,IAAI,KAAK,GAAG,CAAC;IACb,MAAM,SAAS,GAAG,IAAiD;IAEnE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACnC,QAAA,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE;AACpC,YAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QAC9B;IACJ;AAEA,IAAA,OAAO,KAAK;AAChB;
|
|
1
|
+
{"version":3,"file":"PerformanceLayer.js","sources":["../../../../src/debug/PerformanceLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,17 @@ export declare class PointerStackLayer extends DebugLayer {
|
|
|
13
13
|
private _bg;
|
|
14
14
|
private _lines;
|
|
15
15
|
constructor(app: Application);
|
|
16
|
+
/** Renders in screen-space so the panel stays fixed in the top-right corner. */
|
|
16
17
|
get viewMode(): DebugLayerViewMode;
|
|
18
|
+
/**
|
|
19
|
+
* Lazily initialize the panel on first call, reposition it to the
|
|
20
|
+
* top-right corner, and populate text lines with the current pointer
|
|
21
|
+
* stack (up to 10 entries, sorted by zIndex descending).
|
|
22
|
+
*/
|
|
17
23
|
update(_delta: Time): void;
|
|
24
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
18
25
|
render(backend: RenderBackend): void;
|
|
26
|
+
/** Destroy the panel's {@link Container} subtree and release all child references. */
|
|
19
27
|
destroy(): void;
|
|
20
28
|
private _build;
|
|
21
29
|
private _buildLines;
|
|
@@ -30,9 +30,15 @@ class PointerStackLayer extends DebugLayer {
|
|
|
30
30
|
constructor(app) {
|
|
31
31
|
super(app);
|
|
32
32
|
}
|
|
33
|
+
/** Renders in screen-space so the panel stays fixed in the top-right corner. */
|
|
33
34
|
get viewMode() {
|
|
34
35
|
return 'screen';
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Lazily initialize the panel on first call, reposition it to the
|
|
39
|
+
* top-right corner, and populate text lines with the current pointer
|
|
40
|
+
* stack (up to 10 entries, sorted by zIndex descending).
|
|
41
|
+
*/
|
|
36
42
|
update(_delta) {
|
|
37
43
|
if (this._root === null) {
|
|
38
44
|
this._build();
|
|
@@ -46,7 +52,7 @@ class PointerStackLayer extends DebugLayer {
|
|
|
46
52
|
this._root.y = panelY;
|
|
47
53
|
}
|
|
48
54
|
// Collect stack info.
|
|
49
|
-
const lines = this._buildLines(
|
|
55
|
+
const lines = this._buildLines();
|
|
50
56
|
// Update text nodes.
|
|
51
57
|
for (let i = 0; i < this._lines.length; i++) {
|
|
52
58
|
const lineNode = this._lines[i];
|
|
@@ -60,9 +66,11 @@ class PointerStackLayer extends DebugLayer {
|
|
|
60
66
|
}
|
|
61
67
|
}
|
|
62
68
|
}
|
|
69
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
63
70
|
render(backend) {
|
|
64
71
|
this._root?.render(backend);
|
|
65
72
|
}
|
|
73
|
+
/** Destroy the panel's {@link Container} subtree and release all child references. */
|
|
66
74
|
destroy() {
|
|
67
75
|
if (this._root !== null) {
|
|
68
76
|
this._root.destroy();
|
|
@@ -97,7 +105,7 @@ class PointerStackLayer extends DebugLayer {
|
|
|
97
105
|
this._lines.push(t);
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
|
-
_buildLines(
|
|
108
|
+
_buildLines() {
|
|
101
109
|
const pos = this._app.inputManager.getPrimaryPointerPosition();
|
|
102
110
|
if (pos === null) {
|
|
103
111
|
return ['Pointer: (none)'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointerStackLayer.js","sources":["../../../../src/debug/PointerStackLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAYA;AACA;AACA;AAEA,MAAM,MAAM,GAAM,GAAG;AACrB,MAAM,MAAM,GAAM,GAAG;AACrB,MAAM,QAAQ,GAAI,CAAC;AACnB,MAAM,KAAK,GAAO,EAAE;AACpB,MAAM,QAAQ,GAAI,EAAE;AACpB,MAAM,UAAU,GAAG,EAAE;AAErB;AACA,MAAM,OAAO,GAAK,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACzC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;AAErC;AAEA;;;;AAIG;AACG,MAAO,iBAAkB,SAAQ,UAAU,CAAA;IACrC,KAAK,GAAqB,IAAI;IAC9B,GAAG,GAAoB,IAAI;IAC3B,MAAM,GAAgB,EAAE;AAEhC,IAAA,WAAA,CAAmB,GAAgB,EAAA;QAC/B,KAAK,CAAC,GAAG,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"PointerStackLayer.js","sources":["../../../../src/debug/PointerStackLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -44,7 +44,7 @@ export { ChannelOffset, ChannelSize, Keyboard, maxPointers, pointerSlotSize } fr
|
|
|
44
44
|
export { GamepadChannel } from './input/GamepadChannels.js';
|
|
45
45
|
export { GamepadControl } from './input/GamepadControl.js';
|
|
46
46
|
export { GamepadMapping, GamepadMappingFamily } from './input/GamepadMapping.js';
|
|
47
|
-
export { builtInGamepadDefinitions, matchesIds,
|
|
47
|
+
export { builtInGamepadDefinitions, matchesIds, parseGamepadDescriptor, resolveDefinition, resolveGamepadDefinition } from './input/GamepadDefinitions.js';
|
|
48
48
|
export { Gamepad } from './input/Gamepad.js';
|
|
49
49
|
export { GamepadPromptLayouts } from './input/GamepadPromptLayouts.js';
|
|
50
50
|
export { GenericDualAnalogGamepadMapping } from './input/GenericDualAnalogGamepadMapping.js';
|
|
@@ -64,7 +64,7 @@ export { InteractionManager } from './input/InteractionManager.js';
|
|
|
64
64
|
export { CollisionType } from './math/Collision.js';
|
|
65
65
|
export { VoronoiRegion, bezierCurveTo, clamp, degreesPerRadian, degreesToRadians, getDistance, getVoronoiRegion, inRange, isPowerOfTwo, lerp, quadraticCurveTo, radiansPerDegree, radiansToDegrees, sign, tau, trimRotation } from './math/utils.js';
|
|
66
66
|
export { buildCircle, buildEllipse, buildLine, buildPath, buildPolygon, buildRectangle, buildStar } from './math/geometry.js';
|
|
67
|
-
export { getCollisionCircleCircle, getCollisionCircleRectangle, getCollisionPolygonCircle, getCollisionRectangleRectangle, getCollisionSat, intersectionCircleCircle, intersectionCircleEllipse, intersectionCirclePoly, intersectionEllipseEllipse, intersectionEllipsePoly, intersectionLineCircle, intersectionLineEllipse, intersectionLineLine, intersectionLinePoly, intersectionLineRect, intersectionPointCircle, intersectionPointEllipse, intersectionPointLine, intersectionPointPoint, intersectionPointPoly, intersectionPointRect, intersectionPolyPoly, intersectionRectCircle, intersectionRectEllipse, intersectionRectPoly, intersectionRectRect, intersectionSat } from './math/collision-detection.js';
|
|
67
|
+
export { getCollisionCircleCircle, getCollisionCircleRectangle, getCollisionEllipseCircle, getCollisionEllipseRectangle, getCollisionPolygonCircle, getCollisionRectangleRectangle, getCollisionSat, intersectionCircleCircle, intersectionCircleEllipse, intersectionCirclePoly, intersectionEllipseEllipse, intersectionEllipsePoly, intersectionLineCircle, intersectionLineEllipse, intersectionLineLine, intersectionLinePoly, intersectionLineRect, intersectionPointCircle, intersectionPointEllipse, intersectionPointLine, intersectionPointPoint, intersectionPointPoly, intersectionPointRect, intersectionPolyPoly, intersectionRectCircle, intersectionRectEllipse, intersectionRectPoly, intersectionRectRect, intersectionSat } from './math/collision-detection.js';
|
|
68
68
|
export { Vector } from './math/Vector.js';
|
|
69
69
|
export { Line } from './math/Line.js';
|
|
70
70
|
export { Rectangle } from './math/Rectangle.js';
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { GamepadMapping, GamepadMappingFamily } from './GamepadMapping';
|
|
2
|
+
/**
|
|
3
|
+
* Mapping for generic arcade-stick controllers.
|
|
4
|
+
*
|
|
5
|
+
* Covers the standard 8-button + shoulder/trigger layout common to most
|
|
6
|
+
* fightsticks. No analog sticks are present; the axes array is empty.
|
|
7
|
+
* D-pad inputs are exposed as discrete buttons (indices 12–15).
|
|
8
|
+
*/
|
|
2
9
|
export declare class ArcadeStickGamepadMapping extends GamepadMapping {
|
|
3
10
|
readonly family = GamepadMappingFamily.ArcadeStick;
|
|
4
11
|
constructor();
|
|
@@ -18,6 +18,13 @@ const arcadeStickButtonDefinitions = [
|
|
|
18
18
|
[15, GamepadChannel.DPadRight],
|
|
19
19
|
[16, GamepadChannel.Guide],
|
|
20
20
|
];
|
|
21
|
+
/**
|
|
22
|
+
* Mapping for generic arcade-stick controllers.
|
|
23
|
+
*
|
|
24
|
+
* Covers the standard 8-button + shoulder/trigger layout common to most
|
|
25
|
+
* fightsticks. No analog sticks are present; the axes array is empty.
|
|
26
|
+
* D-pad inputs are exposed as discrete buttons (indices 12–15).
|
|
27
|
+
*/
|
|
21
28
|
class ArcadeStickGamepadMapping extends GamepadMapping {
|
|
22
29
|
family = GamepadMappingFamily.ArcadeStick;
|
|
23
30
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcadeStickGamepadMapping.js","sources":["../../../../src/input/ArcadeStickGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA,MAAM,4BAA4B,GAA4C;AAC1E,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;AAC9B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;AAC9B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC;AACjC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;AAC1B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;AACzB,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC;AAC3B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC;AAC9B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"ArcadeStickGamepadMapping.js","sources":["../../../../src/input/ArcadeStickGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA,MAAM,4BAA4B,GAA4C;AAC1E,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;AAC9B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;AAC9B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC;AACjC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;AAC1B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;AACzB,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC;AAC3B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC;AAC9B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC;CAC7B;AAED;;;;;;AAMG;AACG,MAAO,yBAA0B,SAAQ,cAAc,CAAA;AACzC,IAAA,MAAM,GAAG,oBAAoB,CAAC,WAAW;AAEzD,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;IAC1E;AACH;;;;"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping';
|
|
2
2
|
import { GamepadMappingFamily } from './GamepadMapping';
|
|
3
|
+
/**
|
|
4
|
+
* Mapping for Nintendo GameCube controllers (typically connected via a
|
|
5
|
+
* USB adapter such as the official Nintendo adapter for Wii U / Switch).
|
|
6
|
+
*
|
|
7
|
+
* Inherits the full {@link GenericDualAnalogGamepadMapping} button and axis
|
|
8
|
+
* layout. Note that the GameCube controller has no right-stick click, no
|
|
9
|
+
* D-pad as discrete buttons on all adapters, and uses analog shoulders —
|
|
10
|
+
* the exact channel availability depends on the adapter's HID report.
|
|
11
|
+
*/
|
|
3
12
|
export declare class GameCubeGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
4
13
|
readonly family = GamepadMappingFamily.GameCube;
|
|
5
14
|
}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping.js';
|
|
2
2
|
import { GamepadMappingFamily } from './GamepadMapping.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Mapping for Nintendo GameCube controllers (typically connected via a
|
|
6
|
+
* USB adapter such as the official Nintendo adapter for Wii U / Switch).
|
|
7
|
+
*
|
|
8
|
+
* Inherits the full {@link GenericDualAnalogGamepadMapping} button and axis
|
|
9
|
+
* layout. Note that the GameCube controller has no right-stick click, no
|
|
10
|
+
* D-pad as discrete buttons on all adapters, and uses analog shoulders —
|
|
11
|
+
* the exact channel availability depends on the adapter's HID report.
|
|
12
|
+
*/
|
|
4
13
|
class GameCubeGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
5
14
|
family = GamepadMappingFamily.GameCube;
|
|
6
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameCubeGamepadMapping.js","sources":["../../../../src/input/GameCubeGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GameCubeGamepadMapping.js","sources":["../../../../src/input/GameCubeGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;;;;;;;AAQG;AACG,MAAO,sBAAuB,SAAQ,+BAA+B,CAAA;AAC9C,IAAA,MAAM,GAAG,oBAAoB,CAAC,QAAQ;AAClE;;;;"}
|