@codexo/exojs 0.6.12 → 0.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1424 -0
- package/dist/esm/animation/Tween.d.ts +60 -1
- package/dist/esm/animation/Tween.js +60 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +10 -0
- package/dist/esm/animation/TweenManager.js +10 -0
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/types.d.ts +15 -0
- package/dist/esm/animation/types.js +6 -0
- package/dist/esm/animation/types.js.map +1 -1
- package/dist/esm/audio/AbstractMedia.d.ts +29 -0
- package/dist/esm/audio/AbstractMedia.js +76 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +83 -23
- package/dist/esm/audio/AudioAnalyser.js +277 -57
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +82 -0
- package/dist/esm/audio/AudioBus.js +255 -0
- package/dist/esm/audio/AudioBus.js.map +1 -0
- package/dist/esm/audio/AudioFilter.d.ts +16 -0
- package/dist/esm/audio/AudioFilter.js +13 -0
- package/dist/esm/audio/AudioFilter.js.map +1 -0
- package/dist/esm/audio/AudioListener.d.ts +39 -0
- package/dist/esm/audio/AudioListener.js +97 -0
- package/dist/esm/audio/AudioListener.js.map +1 -0
- package/dist/esm/audio/AudioManager.d.ts +68 -0
- package/dist/esm/audio/AudioManager.js +139 -0
- package/dist/esm/audio/AudioManager.js.map +1 -0
- package/dist/esm/audio/BeatDetector.d.ts +142 -0
- package/dist/esm/audio/BeatDetector.js +957 -0
- package/dist/esm/audio/BeatDetector.js.map +1 -0
- package/dist/esm/audio/Envelope.d.ts +44 -0
- package/dist/esm/audio/Envelope.js +60 -0
- package/dist/esm/audio/Envelope.js.map +1 -0
- package/dist/esm/audio/Media.d.ts +11 -0
- package/dist/esm/audio/Music.d.ts +20 -0
- package/dist/esm/audio/Music.js +45 -4
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/OscillatorSound.d.ts +98 -0
- package/dist/esm/audio/OscillatorSound.js +342 -0
- package/dist/esm/audio/OscillatorSound.js.map +1 -0
- package/dist/esm/audio/Sound.d.ts +119 -9
- package/dist/esm/audio/Sound.js +301 -117
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.d.ts +48 -0
- package/dist/esm/audio/audio-context.js +48 -5
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/crossFade.d.ts +19 -0
- package/dist/esm/audio/crossFade.js +26 -0
- package/dist/esm/audio/crossFade.js.map +1 -0
- package/dist/esm/audio/dsp/fft.d.ts +22 -0
- package/dist/esm/audio/dsp/mel.d.ts +43 -0
- package/dist/esm/audio/dsp/tempogram.d.ts +51 -0
- package/dist/esm/audio/filters/ChorusFilter.d.ts +52 -0
- package/dist/esm/audio/filters/ChorusFilter.js +143 -0
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -0
- package/dist/esm/audio/filters/CompressorFilter.d.ts +43 -0
- package/dist/esm/audio/filters/CompressorFilter.js +108 -0
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -0
- package/dist/esm/audio/filters/DelayFilter.d.ts +34 -0
- package/dist/esm/audio/filters/DelayFilter.js +110 -0
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -0
- package/dist/esm/audio/filters/DuckingFilter.d.ts +44 -0
- package/dist/esm/audio/filters/DuckingFilter.js +164 -0
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -0
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +49 -0
- package/dist/esm/audio/filters/EqualizerFilter.js +134 -0
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -0
- package/dist/esm/audio/filters/GranularFilter.d.ts +62 -0
- package/dist/esm/audio/filters/GranularFilter.js +176 -0
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -0
- package/dist/esm/audio/filters/HighpassFilter.d.ts +29 -0
- package/dist/esm/audio/filters/HighpassFilter.js +71 -0
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -0
- package/dist/esm/audio/filters/LowpassFilter.d.ts +29 -0
- package/dist/esm/audio/filters/LowpassFilter.js +71 -0
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -0
- package/dist/esm/audio/filters/PitchShiftFilter.d.ts +44 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js +132 -0
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -0
- package/dist/esm/audio/filters/ReverbFilter.d.ts +36 -0
- package/dist/esm/audio/filters/ReverbFilter.js +118 -0
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -0
- package/dist/esm/audio/filters/VocoderFilter.d.ts +49 -0
- package/dist/esm/audio/filters/VocoderFilter.js +174 -0
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -0
- package/dist/esm/audio/filters/WorkletFilter.d.ts +51 -0
- package/dist/esm/audio/filters/WorkletFilter.js +106 -0
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -0
- package/dist/esm/audio/filters/index.d.ts +12 -0
- package/dist/esm/audio/index.d.ts +15 -1
- package/dist/esm/audio/worklet/registerWorklet.d.ts +10 -0
- package/dist/esm/audio/worklet/registerWorklet.js +44 -0
- package/dist/esm/audio/worklet/registerWorklet.js.map +1 -0
- package/dist/esm/core/Application.d.ts +82 -0
- package/dist/esm/core/Application.js +137 -2
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Bounds.d.ts +23 -0
- package/dist/esm/core/Bounds.js +23 -0
- package/dist/esm/core/Bounds.js.map +1 -1
- package/dist/esm/core/Clock.d.ts +21 -0
- package/dist/esm/core/Clock.js +21 -0
- package/dist/esm/core/Clock.js.map +1 -1
- package/dist/esm/core/Color.d.ts +35 -0
- package/dist/esm/core/Color.js +35 -0
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +46 -0
- package/dist/esm/core/Scene.js +27 -0
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +62 -0
- package/dist/esm/core/SceneManager.js +49 -0
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +40 -1
- package/dist/esm/core/SceneNode.js +75 -6
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +44 -0
- package/dist/esm/core/Signal.js +39 -0
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Time.d.ts +21 -0
- package/dist/esm/core/Time.js +22 -1
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +7 -0
- package/dist/esm/core/Timer.js +7 -0
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/core/capabilities.d.ts +12 -0
- package/dist/esm/core/capabilities.js +12 -0
- package/dist/esm/core/capabilities.js.map +1 -1
- package/dist/esm/core/index.d.ts +0 -1
- package/dist/esm/core/types.d.ts +37 -0
- package/dist/esm/core/utils.d.ts +48 -0
- package/dist/esm/core/utils.js +48 -0
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts +26 -0
- package/dist/esm/debug/BoundingBoxesLayer.js +136 -0
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -0
- package/dist/esm/debug/DebugLayer.d.ts +42 -0
- package/dist/esm/debug/DebugLayer.js +34 -0
- package/dist/esm/debug/DebugLayer.js.map +1 -0
- package/dist/esm/debug/DebugOverlay.d.ts +59 -0
- package/dist/esm/debug/DebugOverlay.js +123 -0
- package/dist/esm/debug/DebugOverlay.js.map +1 -0
- package/dist/esm/debug/HitTestLayer.d.ts +32 -0
- package/dist/esm/debug/HitTestLayer.js +118 -0
- package/dist/esm/debug/HitTestLayer.js.map +1 -0
- package/dist/esm/debug/PerformanceLayer.d.ts +37 -0
- package/dist/esm/debug/PerformanceLayer.js +193 -0
- package/dist/esm/debug/PerformanceLayer.js.map +1 -0
- package/dist/esm/debug/PointerStackLayer.d.ts +31 -0
- package/dist/esm/debug/PointerStackLayer.js +160 -0
- package/dist/esm/debug/PointerStackLayer.js.map +1 -0
- package/dist/esm/debug/index.d.ts +6 -0
- package/dist/esm/debug/index.js +7 -0
- package/dist/esm/debug/index.js.map +1 -0
- package/dist/esm/index.js +30 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +7 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js +7 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +48 -0
- package/dist/esm/input/Gamepad.js +43 -0
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadChannels.d.ts +8 -0
- package/dist/esm/input/GamepadChannels.js +8 -0
- package/dist/esm/input/GamepadChannels.js.map +1 -1
- package/dist/esm/input/GamepadControl.d.ts +18 -0
- package/dist/esm/input/GamepadControl.js +13 -0
- package/dist/esm/input/GamepadControl.js.map +1 -1
- package/dist/esm/input/GamepadDefinitions.d.ts +64 -1
- package/dist/esm/input/GamepadDefinitions.js +40 -1
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GamepadMapping.d.ts +32 -2
- package/dist/esm/input/GamepadMapping.js +24 -0
- package/dist/esm/input/GamepadMapping.js.map +1 -1
- package/dist/esm/input/GamepadPromptLayouts.d.ts +32 -1
- package/dist/esm/input/GamepadPromptLayouts.js +25 -1
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +10 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js +10 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +11 -2
- package/dist/esm/input/GestureRecognizer.js +11 -2
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/Input.d.ts +24 -0
- package/dist/esm/input/Input.js +22 -0
- package/dist/esm/input/Input.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +43 -0
- package/dist/esm/input/InputManager.js +68 -5
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +31 -0
- package/dist/esm/input/InteractionEvent.js +37 -0
- package/dist/esm/input/InteractionEvent.js.map +1 -0
- package/dist/esm/input/InteractionManager.d.ts +163 -0
- package/dist/esm/input/InteractionManager.js +575 -0
- package/dist/esm/input/InteractionManager.js.map +1 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +8 -0
- package/dist/esm/input/PlayStationGamepadMapping.js +8 -0
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
- package/dist/esm/input/Pointer.d.ts +22 -0
- package/dist/esm/input/Pointer.js +22 -0
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +8 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js +8 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
- package/dist/esm/input/XboxGamepadMapping.d.ts +8 -0
- package/dist/esm/input/XboxGamepadMapping.js +8 -0
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
- package/dist/esm/input/index.d.ts +2 -0
- package/dist/esm/input/interaction-hooks.d.ts +34 -0
- package/dist/esm/input/interaction-hooks.js +35 -0
- package/dist/esm/input/interaction-hooks.js.map +1 -0
- package/dist/esm/input/types.d.ts +20 -0
- package/dist/esm/input/types.js +20 -0
- package/dist/esm/input/types.js.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts +83 -0
- package/dist/esm/math/AbstractVector.js +83 -0
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts +44 -2
- package/dist/esm/math/Circle.js +116 -16
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/CircleLike.d.ts +1 -0
- package/dist/esm/math/Collision.d.ts +39 -0
- package/dist/esm/math/Collision.js +5 -0
- package/dist/esm/math/Collision.js.map +1 -1
- package/dist/esm/math/Ellipse.d.ts +11 -0
- package/dist/esm/math/Ellipse.js +18 -2
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/EllipseLike.d.ts +3 -0
- package/dist/esm/math/Flags.d.ts +31 -0
- package/dist/esm/math/Flags.js +31 -0
- package/dist/esm/math/Flags.js.map +1 -1
- package/dist/esm/math/Interval.d.ts +15 -0
- package/dist/esm/math/Interval.js +16 -1
- package/dist/esm/math/Interval.js.map +1 -1
- package/dist/esm/math/Line.d.ts +17 -1
- package/dist/esm/math/Line.js +17 -1
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/LineLike.d.ts +1 -0
- package/dist/esm/math/Matrix.d.ts +44 -3
- package/dist/esm/math/Matrix.js +44 -3
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableSize.d.ts +7 -0
- package/dist/esm/math/ObservableSize.js +7 -0
- package/dist/esm/math/ObservableSize.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +11 -2
- package/dist/esm/math/ObservableVector.js +13 -2
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/PointLike.d.ts +1 -0
- package/dist/esm/math/PolarVector.d.ts +15 -0
- package/dist/esm/math/PolarVector.js +16 -1
- package/dist/esm/math/PolarVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +35 -1
- package/dist/esm/math/Polygon.js +78 -6
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/PolygonLike.d.ts +4 -0
- package/dist/esm/math/Quadtree.d.ts +84 -0
- package/dist/esm/math/Quadtree.js +204 -0
- package/dist/esm/math/Quadtree.js.map +1 -0
- package/dist/esm/math/Random.d.ts +25 -0
- package/dist/esm/math/Random.js +26 -1
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +15 -0
- package/dist/esm/math/Rectangle.js +17 -2
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/RectangleLike.d.ts +1 -0
- package/dist/esm/math/Segment.d.ts +7 -0
- package/dist/esm/math/Segment.js +7 -0
- package/dist/esm/math/Segment.js.map +1 -1
- package/dist/esm/math/ShapeLike.d.ts +6 -0
- package/dist/esm/math/Size.d.ts +9 -0
- package/dist/esm/math/Size.js +10 -1
- package/dist/esm/math/Size.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +16 -0
- package/dist/esm/math/Vector.js +17 -1
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +47 -1
- package/dist/esm/math/collision-detection.js +231 -17
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +23 -0
- package/dist/esm/math/collision-primitives.js +23 -0
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +42 -0
- package/dist/esm/math/geometry.js +37 -0
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/index.d.ts +1 -0
- package/dist/esm/math/utils.d.ts +41 -0
- package/dist/esm/math/utils.js +41 -0
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/particles/Particle.d.ts +37 -0
- package/dist/esm/particles/Particle.js +37 -0
- package/dist/esm/particles/Particle.js.map +1 -1
- package/dist/esm/particles/ParticleProperties.d.ts +15 -0
- package/dist/esm/particles/ParticleSystem.d.ts +69 -0
- package/dist/esm/particles/ParticleSystem.js +70 -0
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/affectors/ColorAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ColorAffector.js +13 -0
- package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
- package/dist/esm/particles/affectors/ForceAffector.d.ts +11 -0
- package/dist/esm/particles/affectors/ForceAffector.js +11 -0
- package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
- package/dist/esm/particles/affectors/ParticleAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ScaleAffector.d.ts +10 -0
- package/dist/esm/particles/affectors/ScaleAffector.js +10 -0
- package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
- package/dist/esm/particles/affectors/TorqueAffector.d.ts +11 -0
- package/dist/esm/particles/affectors/TorqueAffector.js +12 -1
- package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
- package/dist/esm/particles/emitters/ParticleEmitter.d.ts +13 -0
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +16 -0
- package/dist/esm/particles/emitters/ParticleOptions.js +16 -0
- package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
- package/dist/esm/particles/emitters/UniversalEmitter.d.ts +23 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js +23 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.d.ts +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +44 -0
- package/dist/esm/rendering/Container.js +62 -0
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.d.ts +22 -0
- package/dist/esm/rendering/Drawable.js +22 -0
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +13 -0
- package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
- package/dist/esm/rendering/RenderBackendType.js +4 -0
- package/dist/esm/rendering/RenderBackendType.js.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts +45 -0
- package/dist/esm/rendering/RenderNode.js +62 -0
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderPass.d.ts +8 -0
- package/dist/esm/rendering/RenderStats.d.ts +19 -0
- package/dist/esm/rendering/RenderStats.js +7 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RenderTarget.d.ts +17 -0
- package/dist/esm/rendering/RenderTarget.js +17 -0
- package/dist/esm/rendering/RenderTarget.js.map +1 -1
- package/dist/esm/rendering/RenderTargetPass.d.ts +11 -0
- package/dist/esm/rendering/RenderTargetPass.js +7 -0
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
- package/dist/esm/rendering/Renderer.d.ts +15 -0
- package/dist/esm/rendering/RendererRegistry.d.ts +7 -0
- package/dist/esm/rendering/RendererRegistry.js +7 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +73 -6
- package/dist/esm/rendering/View.js +69 -2
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/BlurFilter.d.ts +9 -0
- package/dist/esm/rendering/filters/BlurFilter.js +8 -0
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
- package/dist/esm/rendering/filters/ColorFilter.d.ts +7 -0
- package/dist/esm/rendering/filters/ColorFilter.js +7 -0
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
- package/dist/esm/rendering/filters/Filter.d.ts +23 -0
- package/dist/esm/rendering/filters/Filter.js +20 -0
- package/dist/esm/rendering/filters/Filter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +114 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +273 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +116 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +402 -0
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -0
- package/dist/esm/rendering/index.d.ts +3 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
- package/dist/esm/rendering/mesh/Mesh.js +3 -0
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +34 -0
- package/dist/esm/rendering/primitives/Graphics.js +34 -0
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.d.ts +36 -0
- package/dist/esm/rendering/shader/Shader.js +26 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts +13 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js +13 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +27 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +28 -1
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts +34 -0
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +60 -0
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +38 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js +36 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +62 -1
- package/dist/esm/rendering/sprite/Sprite.js +97 -19
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +25 -0
- package/dist/esm/rendering/sprite/Spritesheet.js +20 -0
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts +2 -0
- package/dist/esm/rendering/text/Text.js +2 -0
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.d.ts +29 -0
- package/dist/esm/rendering/text/TextStyle.js +24 -0
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/types.d.ts +1 -0
- package/dist/esm/rendering/texture/RenderTexture.d.ts +16 -0
- package/dist/esm/rendering/texture/RenderTexture.js +16 -0
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Sampler.d.ts +23 -0
- package/dist/esm/rendering/texture/Sampler.js +13 -0
- package/dist/esm/rendering/texture/Sampler.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +30 -0
- package/dist/esm/rendering/texture/Texture.js +30 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +29 -0
- package/dist/esm/rendering/types.js +29 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/utils.d.ts +20 -0
- package/dist/esm/rendering/utils.js +10 -0
- package/dist/esm/rendering/utils.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +39 -1
- package/dist/esm/rendering/video/Video.js +68 -6
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +17 -4
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +20 -16
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +8 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +8 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +45 -8
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +160 -40
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/resources/AbstractAssetFactory.d.ts +20 -0
- package/dist/esm/resources/AbstractAssetFactory.js +20 -0
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
- package/dist/esm/resources/AssetFactory.d.ts +26 -0
- package/dist/esm/resources/AssetManifest.d.ts +45 -0
- package/dist/esm/resources/AssetManifest.js +25 -0
- package/dist/esm/resources/AssetManifest.js.map +1 -1
- package/dist/esm/resources/CacheFirstStrategy.d.ts +12 -0
- package/dist/esm/resources/CacheFirstStrategy.js +12 -0
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
- package/dist/esm/resources/CacheStore.d.ts +23 -0
- package/dist/esm/resources/CacheStrategy.d.ts +20 -0
- package/dist/esm/resources/Database.d.ts +45 -0
- package/dist/esm/resources/FactoryRegistry.d.ts +28 -0
- package/dist/esm/resources/FactoryRegistry.js +24 -0
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts +22 -1
- package/dist/esm/resources/IndexedDbDatabase.js +21 -0
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.d.ts +20 -0
- package/dist/esm/resources/IndexedDbStore.js +12 -0
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +167 -0
- package/dist/esm/resources/Loader.js +110 -0
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +8 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js +8 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
- package/dist/esm/resources/factories/BinaryFactory.d.ts +13 -0
- package/dist/esm/resources/factories/BinaryFactory.js +13 -0
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
- package/dist/esm/resources/factories/FontFactory.d.ts +37 -0
- package/dist/esm/resources/factories/FontFactory.js +26 -0
- package/dist/esm/resources/factories/FontFactory.js.map +1 -1
- package/dist/esm/resources/factories/ImageFactory.d.ts +24 -0
- package/dist/esm/resources/factories/ImageFactory.js +19 -0
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
- package/dist/esm/resources/factories/JsonFactory.d.ts +13 -0
- package/dist/esm/resources/factories/JsonFactory.js +13 -0
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +36 -0
- package/dist/esm/resources/factories/MusicFactory.js +44 -4
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +29 -0
- package/dist/esm/resources/factories/SoundFactory.js +18 -0
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SvgFactory.d.ts +19 -0
- package/dist/esm/resources/factories/SvgFactory.js +19 -0
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextFactory.d.ts +11 -0
- package/dist/esm/resources/factories/TextFactory.js +11 -0
- package/dist/esm/resources/factories/TextFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextureFactory.d.ts +25 -0
- package/dist/esm/resources/factories/TextureFactory.js +20 -0
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +37 -0
- package/dist/esm/resources/factories/VideoFactory.js +48 -5
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +18 -0
- package/dist/esm/resources/factories/VttFactory.js +24 -0
- package/dist/esm/resources/factories/VttFactory.js.map +1 -1
- package/dist/esm/resources/factories/WasmFactory.d.ts +16 -0
- package/dist/esm/resources/factories/WasmFactory.js +16 -0
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
- package/dist/esm/resources/utils.d.ts +10 -0
- package/dist/esm/resources/utils.js +10 -0
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/exo.esm.js +11182 -2538
- package/dist/exo.esm.js.map +1 -1
- package/package.json +20 -9
- package/dist/esm/core/Quadtree.d.ts +0 -20
- package/dist/esm/core/Quadtree.js +0 -86
- package/dist/esm/core/Quadtree.js.map +0 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { DebugLayer } from './DebugLayer.js';
|
|
2
|
+
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
3
|
+
import { Text } from '../rendering/text/Text.js';
|
|
4
|
+
import { TextStyle } from '../rendering/text/TextStyle.js';
|
|
5
|
+
import { Color } from '../core/Color.js';
|
|
6
|
+
import { Container } from '../rendering/Container.js';
|
|
7
|
+
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
// Layout constants
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
const panelW = 260;
|
|
12
|
+
const panelH = 160;
|
|
13
|
+
const panelPad = 8;
|
|
14
|
+
const lineH = 14;
|
|
15
|
+
const textSize = 11;
|
|
16
|
+
const maxEntries = 10;
|
|
17
|
+
// Semi-transparent dark background.
|
|
18
|
+
const bgColor = new Color(0, 0, 0, 0.7);
|
|
19
|
+
const textColor = Color.white.clone();
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
/**
|
|
22
|
+
* Debug layer that shows a screen-space panel (top-right corner) listing all
|
|
23
|
+
* RenderNodes under the current pointer position, sorted by zIndex descending.
|
|
24
|
+
* Screen-space.
|
|
25
|
+
*/
|
|
26
|
+
class PointerStackLayer extends DebugLayer {
|
|
27
|
+
_root = null;
|
|
28
|
+
_bg = null;
|
|
29
|
+
_lines = [];
|
|
30
|
+
constructor(app) {
|
|
31
|
+
super(app);
|
|
32
|
+
}
|
|
33
|
+
/** Renders in screen-space so the panel stays fixed in the top-right corner. */
|
|
34
|
+
get viewMode() {
|
|
35
|
+
return 'screen';
|
|
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
|
+
*/
|
|
42
|
+
update(_delta) {
|
|
43
|
+
if (this._root === null) {
|
|
44
|
+
this._build();
|
|
45
|
+
}
|
|
46
|
+
const canvas = this._app.canvas;
|
|
47
|
+
const panelX = canvas.width - panelW - panelPad;
|
|
48
|
+
const panelY = panelPad;
|
|
49
|
+
// Position the panel.
|
|
50
|
+
if (this._root !== null) {
|
|
51
|
+
this._root.x = panelX;
|
|
52
|
+
this._root.y = panelY;
|
|
53
|
+
}
|
|
54
|
+
// Collect stack info.
|
|
55
|
+
const lines = this._buildLines();
|
|
56
|
+
// Update text nodes.
|
|
57
|
+
for (let i = 0; i < this._lines.length; i++) {
|
|
58
|
+
const lineNode = this._lines[i];
|
|
59
|
+
if (i < lines.length) {
|
|
60
|
+
lineNode.text = lines[i];
|
|
61
|
+
lineNode.visible = true;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
lineNode.text = '';
|
|
65
|
+
lineNode.visible = false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
70
|
+
render(backend) {
|
|
71
|
+
this._root?.render(backend);
|
|
72
|
+
}
|
|
73
|
+
/** Destroy the panel's {@link Container} subtree and release all child references. */
|
|
74
|
+
destroy() {
|
|
75
|
+
if (this._root !== null) {
|
|
76
|
+
this._root.destroy();
|
|
77
|
+
this._root = null;
|
|
78
|
+
}
|
|
79
|
+
this._bg = null;
|
|
80
|
+
this._lines = [];
|
|
81
|
+
}
|
|
82
|
+
// -----------------------------------------------------------------------
|
|
83
|
+
_build() {
|
|
84
|
+
const style = new TextStyle({
|
|
85
|
+
fontSize: textSize,
|
|
86
|
+
fontFamily: 'Arial',
|
|
87
|
+
fontWeight: 'normal',
|
|
88
|
+
fillColor: textColor,
|
|
89
|
+
strokeThickness: 0,
|
|
90
|
+
});
|
|
91
|
+
this._bg = new Graphics();
|
|
92
|
+
this._bg.fillColor = bgColor;
|
|
93
|
+
// Panel background will be repositioned in update(); draw at local (0,0).
|
|
94
|
+
this._bg.drawRectangle(0, 0, panelW, panelH);
|
|
95
|
+
this._root = new Container();
|
|
96
|
+
this._root.addChild(this._bg);
|
|
97
|
+
// Pre-allocate enough Text nodes for header + entries.
|
|
98
|
+
const totalLines = maxEntries + 2; // header row + cursor row + entries
|
|
99
|
+
for (let i = 0; i < totalLines; i++) {
|
|
100
|
+
const t = new Text('', style.clone());
|
|
101
|
+
t.x = panelPad;
|
|
102
|
+
t.y = panelPad + i * lineH;
|
|
103
|
+
t.visible = false;
|
|
104
|
+
this._root.addChild(t);
|
|
105
|
+
this._lines.push(t);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
_buildLines() {
|
|
109
|
+
const pos = this._app.inputManager.getPrimaryPointerPosition();
|
|
110
|
+
if (pos === null) {
|
|
111
|
+
return ['Pointer: (none)'];
|
|
112
|
+
}
|
|
113
|
+
const { x: sx, y: sy } = pos;
|
|
114
|
+
// The pointer x/y is canvas-relative. InteractionManager passes this
|
|
115
|
+
// directly to node.contains(), so we do the same.
|
|
116
|
+
const worldX = sx;
|
|
117
|
+
const worldY = sy;
|
|
118
|
+
const lines = [];
|
|
119
|
+
lines.push(`Cursor: (${sx.toFixed(0)}, ${sy.toFixed(0)})`);
|
|
120
|
+
lines.push('Stack (top→bottom):');
|
|
121
|
+
// Collect all visible RenderNodes whose contains() returns true.
|
|
122
|
+
const root = this._app.sceneManager.scene?.root;
|
|
123
|
+
const stack = [];
|
|
124
|
+
if (root) {
|
|
125
|
+
this._collectContaining(root, worldX, worldY, stack);
|
|
126
|
+
stack.sort((a, b) => b.zIndex - a.zIndex);
|
|
127
|
+
}
|
|
128
|
+
const shown = stack.slice(0, maxEntries);
|
|
129
|
+
for (const node of shown) {
|
|
130
|
+
const name = node.constructor.name;
|
|
131
|
+
const z = node.zIndex;
|
|
132
|
+
const inter = node.interactive ? ' — interactive' : '';
|
|
133
|
+
lines.push(` ${name} — z=${z}${inter}`);
|
|
134
|
+
}
|
|
135
|
+
if (stack.length > maxEntries) {
|
|
136
|
+
lines.push(` … +${stack.length - maxEntries} more`);
|
|
137
|
+
}
|
|
138
|
+
if (shown.length === 0) {
|
|
139
|
+
lines.push(' (none)');
|
|
140
|
+
}
|
|
141
|
+
return lines;
|
|
142
|
+
}
|
|
143
|
+
_collectContaining(node, x, y, result) {
|
|
144
|
+
if (!node.visible) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (node.contains(x, y)) {
|
|
148
|
+
result.push(node);
|
|
149
|
+
}
|
|
150
|
+
const container = node;
|
|
151
|
+
if (Array.isArray(container.children)) {
|
|
152
|
+
for (const child of container.children) {
|
|
153
|
+
this._collectContaining(child, x, y, result);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export { PointerStackLayer };
|
|
160
|
+
//# sourceMappingURL=PointerStackLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PointerStackLayer.js","sources":["../../../../src/debug/PointerStackLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { DebugOverlay } from './DebugOverlay';
|
|
2
|
+
export { DebugLayer, type DebugLayerViewMode } from './DebugLayer';
|
|
3
|
+
export { PerformanceLayer } from './PerformanceLayer';
|
|
4
|
+
export { BoundingBoxesLayer } from './BoundingBoxesLayer';
|
|
5
|
+
export { HitTestLayer } from './HitTestLayer';
|
|
6
|
+
export { PointerStackLayer } from './PointerStackLayer';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { DebugOverlay } from './DebugOverlay.js';
|
|
2
|
+
export { DebugLayer } from './DebugLayer.js';
|
|
3
|
+
export { PerformanceLayer } from './PerformanceLayer.js';
|
|
4
|
+
export { BoundingBoxesLayer } from './BoundingBoxesLayer.js';
|
|
5
|
+
export { HitTestLayer } from './HitTestLayer.js';
|
|
6
|
+
export { PointerStackLayer } from './PointerStackLayer.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -8,7 +8,6 @@ export { Bounds } from './core/Bounds.js';
|
|
|
8
8
|
export { Capabilities } from './core/capabilities.js';
|
|
9
9
|
export { Clock } from './core/Clock.js';
|
|
10
10
|
export { Color } from './core/Color.js';
|
|
11
|
-
export { Quadtree } from './core/Quadtree.js';
|
|
12
11
|
export { Scene } from './core/Scene.js';
|
|
13
12
|
export { SceneManager } from './core/SceneManager.js';
|
|
14
13
|
export { SceneNode } from './core/SceneNode.js';
|
|
@@ -18,13 +17,34 @@ export { Timer } from './core/Timer.js';
|
|
|
18
17
|
export { AbstractMedia } from './audio/AbstractMedia.js';
|
|
19
18
|
export { decodeAudioData, getAudioContext, getOfflineAudioContext, isAudioContextReady, onAudioContextReady } from './audio/audio-context.js';
|
|
20
19
|
export { AudioAnalyser } from './audio/AudioAnalyser.js';
|
|
20
|
+
export { AudioBus } from './audio/AudioBus.js';
|
|
21
|
+
export { BeatDetector } from './audio/BeatDetector.js';
|
|
22
|
+
export { AudioFilter } from './audio/AudioFilter.js';
|
|
23
|
+
export { AudioListener } from './audio/AudioListener.js';
|
|
24
|
+
export { AudioManager, getAudioManager } from './audio/AudioManager.js';
|
|
25
|
+
export { LowpassFilter } from './audio/filters/LowpassFilter.js';
|
|
26
|
+
export { HighpassFilter } from './audio/filters/HighpassFilter.js';
|
|
27
|
+
export { CompressorFilter } from './audio/filters/CompressorFilter.js';
|
|
28
|
+
export { DelayFilter } from './audio/filters/DelayFilter.js';
|
|
29
|
+
export { ReverbFilter } from './audio/filters/ReverbFilter.js';
|
|
30
|
+
export { EqualizerFilter } from './audio/filters/EqualizerFilter.js';
|
|
31
|
+
export { DuckingFilter } from './audio/filters/DuckingFilter.js';
|
|
32
|
+
export { WorkletFilter } from './audio/filters/WorkletFilter.js';
|
|
33
|
+
export { ChorusFilter } from './audio/filters/ChorusFilter.js';
|
|
34
|
+
export { PitchShiftFilter } from './audio/filters/PitchShiftFilter.js';
|
|
35
|
+
export { VocoderFilter } from './audio/filters/VocoderFilter.js';
|
|
36
|
+
export { GranularFilter } from './audio/filters/GranularFilter.js';
|
|
21
37
|
export { Music } from './audio/Music.js';
|
|
22
|
-
export { Sound } from './audio/Sound.js';
|
|
38
|
+
export { Sound, SoundPoolStrategy } from './audio/Sound.js';
|
|
39
|
+
export { registerWorkletProcessor } from './audio/worklet/registerWorklet.js';
|
|
40
|
+
export { crossFade } from './audio/crossFade.js';
|
|
41
|
+
export { Envelope } from './audio/Envelope.js';
|
|
42
|
+
export { OscillatorSound } from './audio/OscillatorSound.js';
|
|
23
43
|
export { ChannelOffset, ChannelSize, Keyboard, maxPointers, pointerSlotSize } from './input/types.js';
|
|
24
44
|
export { GamepadChannel } from './input/GamepadChannels.js';
|
|
25
45
|
export { GamepadControl } from './input/GamepadControl.js';
|
|
26
46
|
export { GamepadMapping, GamepadMappingFamily } from './input/GamepadMapping.js';
|
|
27
|
-
export { builtInGamepadDefinitions, matchesIds,
|
|
47
|
+
export { builtInGamepadDefinitions, matchesIds, parseGamepadDescriptor, resolveDefinition, resolveGamepadDefinition } from './input/GamepadDefinitions.js';
|
|
28
48
|
export { Gamepad } from './input/Gamepad.js';
|
|
29
49
|
export { GamepadPromptLayouts } from './input/GamepadPromptLayouts.js';
|
|
30
50
|
export { GenericDualAnalogGamepadMapping } from './input/GenericDualAnalogGamepadMapping.js';
|
|
@@ -39,10 +59,12 @@ export { ArcadeStickGamepadMapping } from './input/ArcadeStickGamepadMapping.js'
|
|
|
39
59
|
export { Input } from './input/Input.js';
|
|
40
60
|
export { InputManager } from './input/InputManager.js';
|
|
41
61
|
export { Pointer, PointerState, PointerStateFlag } from './input/Pointer.js';
|
|
62
|
+
export { InteractionEvent } from './input/InteractionEvent.js';
|
|
63
|
+
export { InteractionManager } from './input/InteractionManager.js';
|
|
42
64
|
export { CollisionType } from './math/Collision.js';
|
|
43
65
|
export { VoronoiRegion, bezierCurveTo, clamp, degreesPerRadian, degreesToRadians, getDistance, getVoronoiRegion, inRange, isPowerOfTwo, lerp, quadraticCurveTo, radiansPerDegree, radiansToDegrees, sign, tau, trimRotation } from './math/utils.js';
|
|
44
66
|
export { buildCircle, buildEllipse, buildLine, buildPath, buildPolygon, buildRectangle, buildStar } from './math/geometry.js';
|
|
45
|
-
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';
|
|
46
68
|
export { Vector } from './math/Vector.js';
|
|
47
69
|
export { Line } from './math/Line.js';
|
|
48
70
|
export { Rectangle } from './math/Rectangle.js';
|
|
@@ -59,6 +81,7 @@ export { Segment } from './math/Segment.js';
|
|
|
59
81
|
export { Size } from './math/Size.js';
|
|
60
82
|
export { PolarVector } from './math/PolarVector.js';
|
|
61
83
|
export { substepSweep, sweepCircleAgainst, sweepCircleVsCircle, sweepCircleVsRectangle, sweepRectangle, sweepRectangleAgainst } from './math/swept-collision.js';
|
|
84
|
+
export { Quadtree } from './math/Quadtree.js';
|
|
62
85
|
export { ColorAffector } from './particles/affectors/ColorAffector.js';
|
|
63
86
|
export { ForceAffector } from './particles/affectors/ForceAffector.js';
|
|
64
87
|
export { ScaleAffector } from './particles/affectors/ScaleAffector.js';
|
|
@@ -72,6 +95,7 @@ export { Graphics } from './rendering/primitives/Graphics.js';
|
|
|
72
95
|
export { Shader } from './rendering/shader/Shader.js';
|
|
73
96
|
export { ShaderAttribute } from './rendering/shader/ShaderAttribute.js';
|
|
74
97
|
export { ShaderUniform } from './rendering/shader/ShaderUniform.js';
|
|
98
|
+
export { upgradeFragmentShaderToGl300 } from './rendering/shader/upgradeFragmentShaderToGl300.js';
|
|
75
99
|
export { Sprite, SpriteFlags } from './rendering/sprite/Sprite.js';
|
|
76
100
|
export { Spritesheet } from './rendering/sprite/Spritesheet.js';
|
|
77
101
|
export { AnimatedSprite } from './rendering/sprite/AnimatedSprite.js';
|
|
@@ -114,6 +138,8 @@ export { View, ViewFlags } from './rendering/View.js';
|
|
|
114
138
|
export { Filter } from './rendering/filters/Filter.js';
|
|
115
139
|
export { BlurFilter } from './rendering/filters/BlurFilter.js';
|
|
116
140
|
export { ColorFilter } from './rendering/filters/ColorFilter.js';
|
|
141
|
+
export { WebGl2ShaderFilter } from './rendering/filters/WebGl2ShaderFilter.js';
|
|
142
|
+
export { WebGpuShaderFilter } from './rendering/filters/WebGpuShaderFilter.js';
|
|
117
143
|
export { AbstractAssetFactory } from './resources/AbstractAssetFactory.js';
|
|
118
144
|
export { Json, SvgAsset, TextAsset, VttAsset } from './resources/tokens.js';
|
|
119
145
|
export { CacheFirstStrategy } from './resources/CacheFirstStrategy.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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;;;;"}
|
|
@@ -2,6 +2,11 @@ import { Signal } from '@/core/Signal';
|
|
|
2
2
|
import type { GamepadChannel } from './GamepadChannels';
|
|
3
3
|
import type { BrowserGamepad, ResolvedGamepadDefinition } from './GamepadDefinitions';
|
|
4
4
|
import type { GamepadMappingFamily, GamepadMapping } from './GamepadMapping';
|
|
5
|
+
/**
|
|
6
|
+
* Human-readable identity metadata for a connected gamepad.
|
|
7
|
+
* Populated from a {@link ResolvedGamepadDefinition} on connect and available
|
|
8
|
+
* through the matching getters on {@link Gamepad}.
|
|
9
|
+
*/
|
|
5
10
|
export interface GamepadInfo {
|
|
6
11
|
name: string;
|
|
7
12
|
label: string;
|
|
@@ -9,6 +14,15 @@ export interface GamepadInfo {
|
|
|
9
14
|
productId: string | null;
|
|
10
15
|
productKey: string | null;
|
|
11
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Runtime wrapper for a single browser gamepad slot.
|
|
19
|
+
*
|
|
20
|
+
* Owns the slot's {@link GamepadMapping}, reads raw button and axis values from
|
|
21
|
+
* the browser's Gamepad API each frame via {@link update}, and writes transformed
|
|
22
|
+
* values into the shared `Float32Array` channel buffer. Emits {@link onConnect},
|
|
23
|
+
* {@link onDisconnect}, and per-channel {@link onUpdate} signals so consumers can
|
|
24
|
+
* react without polling.
|
|
25
|
+
*/
|
|
12
26
|
export declare class Gamepad {
|
|
13
27
|
readonly onConnect: Signal<[Gamepad]>;
|
|
14
28
|
readonly onDisconnect: Signal<[Gamepad]>;
|
|
@@ -23,23 +37,57 @@ export declare class Gamepad {
|
|
|
23
37
|
constructor(gamepad: BrowserGamepad, channels: Float32Array, definition: ResolvedGamepadDefinition);
|
|
24
38
|
get mapping(): GamepadMapping;
|
|
25
39
|
set mapping(mapping: GamepadMapping);
|
|
40
|
+
/** The {@link GamepadMappingFamily} of the currently active mapping. */
|
|
26
41
|
get mappingFamily(): GamepadMappingFamily;
|
|
27
42
|
get channels(): Float32Array;
|
|
28
43
|
get gamepad(): BrowserGamepad | null;
|
|
29
44
|
get index(): number;
|
|
45
|
+
/** Whether a browser gamepad is currently attached to this slot. */
|
|
30
46
|
get connected(): boolean;
|
|
31
47
|
get name(): string;
|
|
32
48
|
get label(): string;
|
|
33
49
|
get vendorId(): string | null;
|
|
34
50
|
get productId(): string | null;
|
|
35
51
|
get productKey(): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Replaces the gamepad's identity metadata.
|
|
54
|
+
* Called automatically during construction when a {@link BrowserGamepad} is
|
|
55
|
+
* provided; exposed publicly to allow runtime overrides.
|
|
56
|
+
*/
|
|
36
57
|
setInfo(info: GamepadInfo): this;
|
|
58
|
+
/**
|
|
59
|
+
* Attaches a live browser gamepad to this slot and dispatches {@link onConnect}
|
|
60
|
+
* if the slot was previously disconnected.
|
|
61
|
+
*/
|
|
37
62
|
connect(gamepad: BrowserGamepad): this;
|
|
63
|
+
/**
|
|
64
|
+
* Detaches the browser gamepad, zeros all mapped channels, and dispatches
|
|
65
|
+
* {@link onDisconnect}. No-op when already disconnected.
|
|
66
|
+
*/
|
|
38
67
|
disconnect(): this;
|
|
68
|
+
/**
|
|
69
|
+
* Samples the browser gamepad's current state and writes transformed values
|
|
70
|
+
* into the shared channel buffer, dispatching {@link onUpdate} for each channel
|
|
71
|
+
* whose value changed. Should be called once per frame by the engine's input loop.
|
|
72
|
+
* No-op when disconnected.
|
|
73
|
+
*/
|
|
39
74
|
update(): this;
|
|
75
|
+
/** Zeroes all channel buffer entries that belong to this gamepad's mapping. */
|
|
40
76
|
clearChannels(): this;
|
|
77
|
+
/**
|
|
78
|
+
* Disconnects the gamepad, clears its channels, and destroys all signals.
|
|
79
|
+
* The instance must not be used after this call.
|
|
80
|
+
*/
|
|
41
81
|
destroy(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Converts a {@link GamepadChannel} to its absolute index in the shared channel
|
|
84
|
+
* buffer for this gamepad instance.
|
|
85
|
+
*/
|
|
42
86
|
resolveChannelOffset(channel: GamepadChannel): number;
|
|
87
|
+
/**
|
|
88
|
+
* Converts a gamepad slot index and {@link GamepadChannel} to an absolute
|
|
89
|
+
* channel buffer offset without requiring a {@link Gamepad} instance.
|
|
90
|
+
*/
|
|
43
91
|
static resolveChannelOffset(gamepadIndex: number, channel: GamepadChannel): number;
|
|
44
92
|
private clearMappedChannels;
|
|
45
93
|
}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { Signal } from '../core/Signal.js';
|
|
2
2
|
import { ChannelOffset, ChannelSize } from './types.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Runtime wrapper for a single browser gamepad slot.
|
|
6
|
+
*
|
|
7
|
+
* Owns the slot's {@link GamepadMapping}, reads raw button and axis values from
|
|
8
|
+
* the browser's Gamepad API each frame via {@link update}, and writes transformed
|
|
9
|
+
* values into the shared `Float32Array` channel buffer. Emits {@link onConnect},
|
|
10
|
+
* {@link onDisconnect}, and per-channel {@link onUpdate} signals so consumers can
|
|
11
|
+
* react without polling.
|
|
12
|
+
*/
|
|
4
13
|
class Gamepad {
|
|
5
14
|
onConnect = new Signal();
|
|
6
15
|
onDisconnect = new Signal();
|
|
@@ -45,6 +54,7 @@ class Gamepad {
|
|
|
45
54
|
set mapping(mapping) {
|
|
46
55
|
this.mappingValue = mapping;
|
|
47
56
|
}
|
|
57
|
+
/** The {@link GamepadMappingFamily} of the currently active mapping. */
|
|
48
58
|
get mappingFamily() {
|
|
49
59
|
return this.mappingValue.family;
|
|
50
60
|
}
|
|
@@ -57,6 +67,7 @@ class Gamepad {
|
|
|
57
67
|
get index() {
|
|
58
68
|
return this.indexValue;
|
|
59
69
|
}
|
|
70
|
+
/** Whether a browser gamepad is currently attached to this slot. */
|
|
60
71
|
get connected() {
|
|
61
72
|
return this.browserGamepad !== null;
|
|
62
73
|
}
|
|
@@ -75,10 +86,19 @@ class Gamepad {
|
|
|
75
86
|
get productKey() {
|
|
76
87
|
return this.info.productKey;
|
|
77
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Replaces the gamepad's identity metadata.
|
|
91
|
+
* Called automatically during construction when a {@link BrowserGamepad} is
|
|
92
|
+
* provided; exposed publicly to allow runtime overrides.
|
|
93
|
+
*/
|
|
78
94
|
setInfo(info) {
|
|
79
95
|
this.info = info;
|
|
80
96
|
return this;
|
|
81
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Attaches a live browser gamepad to this slot and dispatches {@link onConnect}
|
|
100
|
+
* if the slot was previously disconnected.
|
|
101
|
+
*/
|
|
82
102
|
connect(gamepad) {
|
|
83
103
|
const wasConnected = this.connected;
|
|
84
104
|
this.browserGamepad = gamepad;
|
|
@@ -87,6 +107,10 @@ class Gamepad {
|
|
|
87
107
|
}
|
|
88
108
|
return this;
|
|
89
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Detaches the browser gamepad, zeros all mapped channels, and dispatches
|
|
112
|
+
* {@link onDisconnect}. No-op when already disconnected.
|
|
113
|
+
*/
|
|
90
114
|
disconnect() {
|
|
91
115
|
if (this.connected) {
|
|
92
116
|
this.browserGamepad = null;
|
|
@@ -95,6 +119,12 @@ class Gamepad {
|
|
|
95
119
|
}
|
|
96
120
|
return this;
|
|
97
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Samples the browser gamepad's current state and writes transformed values
|
|
124
|
+
* into the shared channel buffer, dispatching {@link onUpdate} for each channel
|
|
125
|
+
* whose value changed. Should be called once per frame by the engine's input loop.
|
|
126
|
+
* No-op when disconnected.
|
|
127
|
+
*/
|
|
98
128
|
update() {
|
|
99
129
|
if (this.browserGamepad === null) {
|
|
100
130
|
return this;
|
|
@@ -123,10 +153,15 @@ class Gamepad {
|
|
|
123
153
|
}
|
|
124
154
|
return this;
|
|
125
155
|
}
|
|
156
|
+
/** Zeroes all channel buffer entries that belong to this gamepad's mapping. */
|
|
126
157
|
clearChannels() {
|
|
127
158
|
this.clearMappedChannels();
|
|
128
159
|
return this;
|
|
129
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Disconnects the gamepad, clears its channels, and destroys all signals.
|
|
163
|
+
* The instance must not be used after this call.
|
|
164
|
+
*/
|
|
130
165
|
destroy() {
|
|
131
166
|
this.disconnect();
|
|
132
167
|
this.clearMappedChannels();
|
|
@@ -134,9 +169,17 @@ class Gamepad {
|
|
|
134
169
|
this.onDisconnect.destroy();
|
|
135
170
|
this.onUpdate.destroy();
|
|
136
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Converts a {@link GamepadChannel} to its absolute index in the shared channel
|
|
174
|
+
* buffer for this gamepad instance.
|
|
175
|
+
*/
|
|
137
176
|
resolveChannelOffset(channel) {
|
|
138
177
|
return this.channelOffset + (channel ^ ChannelOffset.Gamepads);
|
|
139
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Converts a gamepad slot index and {@link GamepadChannel} to an absolute
|
|
181
|
+
* channel buffer offset without requiring a {@link Gamepad} instance.
|
|
182
|
+
*/
|
|
140
183
|
static resolveChannelOffset(gamepadIndex, channel) {
|
|
141
184
|
return ChannelOffset.Gamepads + (gamepadIndex * ChannelSize.Gamepad) + (channel ^ ChannelOffset.Gamepads);
|
|
142
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gamepad.js","sources":["../../../../src/input/Gamepad.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Gamepad.js","sources":["../../../../src/input/Gamepad.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical channel identifiers for every control a standard gamepad can expose.
|
|
3
|
+
*
|
|
4
|
+
* Values are absolute offsets into the engine's shared {@link Float32Array} input
|
|
5
|
+
* channel buffer — each member equals `ChannelOffset.Gamepads + localIndex`.
|
|
6
|
+
* Use {@link Gamepad.resolveChannelOffset} to account for per-slot skew when
|
|
7
|
+
* reading a specific gamepad's data.
|
|
8
|
+
*/
|
|
1
9
|
export declare enum GamepadChannel {
|
|
2
10
|
ButtonSouth = 512,
|
|
3
11
|
ButtonWest = 513,
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import './types.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Canonical channel identifiers for every control a standard gamepad can expose.
|
|
5
|
+
*
|
|
6
|
+
* Values are absolute offsets into the engine's shared {@link Float32Array} input
|
|
7
|
+
* channel buffer — each member equals `ChannelOffset.Gamepads + localIndex`.
|
|
8
|
+
* Use {@link Gamepad.resolveChannelOffset} to account for per-slot skew when
|
|
9
|
+
* reading a specific gamepad's data.
|
|
10
|
+
*/
|
|
3
11
|
var GamepadChannel;
|
|
4
12
|
(function (GamepadChannel) {
|
|
5
13
|
GamepadChannel[GamepadChannel["ButtonSouth"] = 512] = "ButtonSouth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GamepadChannels.js","sources":["../../../../src/input/GamepadChannels.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"GamepadChannels.js","sources":["../../../../src/input/GamepadChannels.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import type { GamepadChannel } from './GamepadChannels';
|
|
2
|
+
/**
|
|
3
|
+
* Construction options for a single {@link GamepadControl}.
|
|
4
|
+
* All fields are optional; defaults produce a plain pass-through control
|
|
5
|
+
* with a 0.2 dead-zone.
|
|
6
|
+
*/
|
|
2
7
|
export interface GamepadControlOptions {
|
|
3
8
|
invert?: boolean;
|
|
4
9
|
normalize?: boolean;
|
|
5
10
|
threshold?: number;
|
|
6
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Represents a single mappable control — one button or one axis — on a physical gamepad.
|
|
14
|
+
*
|
|
15
|
+
* Stores the raw Gamepad API `index`, the target {@link GamepadChannel}, and the
|
|
16
|
+
* transform parameters (`invert`, `normalize`, `threshold`) applied each frame
|
|
17
|
+
* by {@link transformValue} before the value is written to the channel buffer.
|
|
18
|
+
*/
|
|
7
19
|
export declare class GamepadControl {
|
|
8
20
|
readonly index: number;
|
|
9
21
|
readonly channel: GamepadChannel;
|
|
@@ -11,5 +23,11 @@ export declare class GamepadControl {
|
|
|
11
23
|
readonly normalize: boolean;
|
|
12
24
|
readonly threshold: number;
|
|
13
25
|
constructor(index: number, channel: GamepadChannel, options?: GamepadControlOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Applies the control's transform pipeline to a raw browser value.
|
|
28
|
+
*
|
|
29
|
+
* Pipeline: clamp to [-1, 1] → optional invert → optional normalize to [0, 1]
|
|
30
|
+
* → dead-zone (returns 0 when the absolute result is at or below `threshold`).
|
|
31
|
+
*/
|
|
14
32
|
transformValue(value: number): number;
|
|
15
33
|
}
|