@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../src/input/types.ts"],"sourcesContent":[null],"names":[],"mappings":"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,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAA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,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAA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"}
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/input/types.ts"],"sourcesContent":[null],"names":[],"mappings":"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AAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAkD;AAClD,IAAA,cAAA,CAAA,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CAAA,GAAA,EAAA,CAAA,GAAA,MAAkC;AAClC,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA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"}
|
|
@@ -1,33 +1,116 @@
|
|
|
1
1
|
import type { Matrix } from '@/math/Matrix';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for all 2D vector types in ExoJS. Provides the full arithmetic,
|
|
4
|
+
* geometric, and transformation API shared by {@link Vector},
|
|
5
|
+
* {@link ObservableVector}, and {@link PolarVector}-derived types.
|
|
6
|
+
*
|
|
7
|
+
* All mutating methods return `this` for chaining. Subclasses must implement
|
|
8
|
+
* `x`, `y`, and `destroy()`.
|
|
9
|
+
*/
|
|
2
10
|
export declare abstract class AbstractVector {
|
|
3
11
|
abstract x: number;
|
|
4
12
|
abstract y: number;
|
|
13
|
+
/**
|
|
14
|
+
* Angle of this vector in radians, measured from the positive Y-axis
|
|
15
|
+
* (clockwise). Setting this rotates the vector to the new angle while
|
|
16
|
+
* preserving its {@link length}. Mutates in place.
|
|
17
|
+
*/
|
|
5
18
|
get direction(): number;
|
|
6
19
|
set direction(angle: number);
|
|
20
|
+
/** Alias for {@link direction}. */
|
|
7
21
|
get angle(): number;
|
|
8
22
|
set angle(angle: number);
|
|
23
|
+
/**
|
|
24
|
+
* Euclidean magnitude of this vector. Setting rescales the vector to
|
|
25
|
+
* `magnitude` while preserving its {@link direction}. Mutates in place.
|
|
26
|
+
*/
|
|
9
27
|
get length(): number;
|
|
10
28
|
set length(magnitude: number);
|
|
29
|
+
/**
|
|
30
|
+
* Squared Euclidean magnitude. Avoids the `sqrt` — prefer this over
|
|
31
|
+
* {@link length} when only relative comparisons are needed.
|
|
32
|
+
*/
|
|
11
33
|
get lengthSq(): number;
|
|
12
34
|
set lengthSq(lengthSquared: number);
|
|
35
|
+
/** Alias for {@link length}. */
|
|
13
36
|
get magnitude(): number;
|
|
14
37
|
set magnitude(magnitude: number);
|
|
38
|
+
/**
|
|
39
|
+
* Set both components. When `y` is omitted it defaults to `x` (uniform
|
|
40
|
+
* assignment). Mutates in place and returns `this` for chaining.
|
|
41
|
+
*/
|
|
15
42
|
set(x: number, y?: number): this;
|
|
43
|
+
/**
|
|
44
|
+
* Return `true` when this vector matches all supplied components. Omitting
|
|
45
|
+
* a component skips that comparison, so `v.equals({ x: 0 })` checks only
|
|
46
|
+
* the X component.
|
|
47
|
+
*/
|
|
16
48
|
equals<T extends AbstractVector>({ x, y }?: Partial<T>): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Add `(x, y)` to this vector. When `y` is omitted it defaults to `x`.
|
|
51
|
+
* Mutates in place and returns `this` for chaining.
|
|
52
|
+
*/
|
|
17
53
|
add(x: number, y?: number): this;
|
|
54
|
+
/**
|
|
55
|
+
* Subtract `(x, y)` from this vector. When `y` is omitted it defaults to
|
|
56
|
+
* `x`. Mutates in place and returns `this` for chaining.
|
|
57
|
+
*/
|
|
18
58
|
subtract(x: number, y?: number): this;
|
|
59
|
+
/**
|
|
60
|
+
* Multiply components by `(x, y)`. When `y` is omitted it defaults to `x`
|
|
61
|
+
* (uniform scale). Mutates in place and returns `this` for chaining.
|
|
62
|
+
*/
|
|
19
63
|
multiply(x: number, y?: number): this;
|
|
64
|
+
/**
|
|
65
|
+
* Divide components by `(x, y)`. Division is skipped silently when either
|
|
66
|
+
* divisor is zero to avoid NaN. Mutates in place and returns `this` for
|
|
67
|
+
* chaining.
|
|
68
|
+
*/
|
|
20
69
|
divide(x: number, y?: number): this;
|
|
70
|
+
/**
|
|
71
|
+
* Scale this vector to unit length. No-op when the vector is zero.
|
|
72
|
+
* Mutates in place and returns `this` for chaining.
|
|
73
|
+
*/
|
|
21
74
|
normalize(): this;
|
|
75
|
+
/**
|
|
76
|
+
* Negate both components. Mutates in place and returns `this` for
|
|
77
|
+
* chaining.
|
|
78
|
+
*/
|
|
22
79
|
invert(): this;
|
|
80
|
+
/**
|
|
81
|
+
* Apply a 3×3 affine `matrix` to this vector (translation + linear
|
|
82
|
+
* transform). Mutates in place and returns `this` for chaining.
|
|
83
|
+
*/
|
|
23
84
|
transform(matrix: Matrix): this;
|
|
85
|
+
/**
|
|
86
|
+
* Apply the inverse of `matrix` to this vector. Useful for converting
|
|
87
|
+
* a world-space point into the local space defined by `matrix`. Mutates
|
|
88
|
+
* in place and returns `this` for chaining.
|
|
89
|
+
*/
|
|
24
90
|
transformInverse(matrix: Matrix): this;
|
|
91
|
+
/**
|
|
92
|
+
* Rotate this vector 90° counter-clockwise (left perpendicular):
|
|
93
|
+
* `(-y, x)`. Mutates in place and returns `this` for chaining.
|
|
94
|
+
*/
|
|
25
95
|
perp(): this;
|
|
96
|
+
/**
|
|
97
|
+
* Rotate this vector 90° clockwise (right perpendicular): `(y, -x)`.
|
|
98
|
+
* Mutates in place and returns `this` for chaining.
|
|
99
|
+
*/
|
|
26
100
|
rperp(): this;
|
|
101
|
+
/** Return the smaller of the two components. */
|
|
27
102
|
min(): number;
|
|
103
|
+
/** Return the larger of the two components. */
|
|
28
104
|
max(): number;
|
|
105
|
+
/** Dot product of this vector with `(x, y)`. */
|
|
29
106
|
dot(x: number, y: number): number;
|
|
107
|
+
/**
|
|
108
|
+
* 2D cross product (scalar z-component of the 3D cross product) of this
|
|
109
|
+
* vector with `vector`. A positive value means `vector` is to the left of
|
|
110
|
+
* this vector.
|
|
111
|
+
*/
|
|
30
112
|
cross<T extends AbstractVector>(vector: T): number;
|
|
113
|
+
/** Euclidean distance from this vector's tip to `vector`'s tip. */
|
|
31
114
|
distanceTo<T extends AbstractVector>(vector: T): number;
|
|
32
115
|
abstract destroy(): void;
|
|
33
116
|
}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { getDistance } from './utils.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Base class for all 2D vector types in ExoJS. Provides the full arithmetic,
|
|
5
|
+
* geometric, and transformation API shared by {@link Vector},
|
|
6
|
+
* {@link ObservableVector}, and {@link PolarVector}-derived types.
|
|
7
|
+
*
|
|
8
|
+
* All mutating methods return `this` for chaining. Subclasses must implement
|
|
9
|
+
* `x`, `y`, and `destroy()`.
|
|
10
|
+
*/
|
|
3
11
|
class AbstractVector {
|
|
12
|
+
/**
|
|
13
|
+
* Angle of this vector in radians, measured from the positive Y-axis
|
|
14
|
+
* (clockwise). Setting this rotates the vector to the new angle while
|
|
15
|
+
* preserving its {@link length}. Mutates in place.
|
|
16
|
+
*/
|
|
4
17
|
get direction() {
|
|
5
18
|
return Math.atan2(this.x, this.y);
|
|
6
19
|
}
|
|
@@ -9,12 +22,17 @@ class AbstractVector {
|
|
|
9
22
|
this.x = Math.cos(angle) * length;
|
|
10
23
|
this.y = Math.sin(angle) * length;
|
|
11
24
|
}
|
|
25
|
+
/** Alias for {@link direction}. */
|
|
12
26
|
get angle() {
|
|
13
27
|
return this.direction;
|
|
14
28
|
}
|
|
15
29
|
set angle(angle) {
|
|
16
30
|
this.direction = angle;
|
|
17
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Euclidean magnitude of this vector. Setting rescales the vector to
|
|
34
|
+
* `magnitude` while preserving its {@link direction}. Mutates in place.
|
|
35
|
+
*/
|
|
18
36
|
get length() {
|
|
19
37
|
return Math.sqrt((this.x * this.x) + (this.y * this.y));
|
|
20
38
|
}
|
|
@@ -23,42 +41,73 @@ class AbstractVector {
|
|
|
23
41
|
this.x = Math.cos(direction) * magnitude;
|
|
24
42
|
this.y = Math.sin(direction) * magnitude;
|
|
25
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Squared Euclidean magnitude. Avoids the `sqrt` — prefer this over
|
|
46
|
+
* {@link length} when only relative comparisons are needed.
|
|
47
|
+
*/
|
|
26
48
|
get lengthSq() {
|
|
27
49
|
return (this.x * this.x) + (this.y * this.y);
|
|
28
50
|
}
|
|
29
51
|
set lengthSq(lengthSquared) {
|
|
30
52
|
this.length = Math.sqrt(lengthSquared);
|
|
31
53
|
}
|
|
54
|
+
/** Alias for {@link length}. */
|
|
32
55
|
get magnitude() {
|
|
33
56
|
return this.length;
|
|
34
57
|
}
|
|
35
58
|
set magnitude(magnitude) {
|
|
36
59
|
this.length = magnitude;
|
|
37
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Set both components. When `y` is omitted it defaults to `x` (uniform
|
|
63
|
+
* assignment). Mutates in place and returns `this` for chaining.
|
|
64
|
+
*/
|
|
38
65
|
set(x, y = x) {
|
|
39
66
|
this.x = x;
|
|
40
67
|
this.y = y;
|
|
41
68
|
return this;
|
|
42
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Return `true` when this vector matches all supplied components. Omitting
|
|
72
|
+
* a component skips that comparison, so `v.equals({ x: 0 })` checks only
|
|
73
|
+
* the X component.
|
|
74
|
+
*/
|
|
43
75
|
equals({ x, y } = {}) {
|
|
44
76
|
return (x === undefined || this.x === x)
|
|
45
77
|
&& (y === undefined || this.y === y);
|
|
46
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Add `(x, y)` to this vector. When `y` is omitted it defaults to `x`.
|
|
81
|
+
* Mutates in place and returns `this` for chaining.
|
|
82
|
+
*/
|
|
47
83
|
add(x, y = x) {
|
|
48
84
|
this.x += x;
|
|
49
85
|
this.y += y;
|
|
50
86
|
return this;
|
|
51
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Subtract `(x, y)` from this vector. When `y` is omitted it defaults to
|
|
90
|
+
* `x`. Mutates in place and returns `this` for chaining.
|
|
91
|
+
*/
|
|
52
92
|
subtract(x, y = x) {
|
|
53
93
|
this.x -= x;
|
|
54
94
|
this.y -= y;
|
|
55
95
|
return this;
|
|
56
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Multiply components by `(x, y)`. When `y` is omitted it defaults to `x`
|
|
99
|
+
* (uniform scale). Mutates in place and returns `this` for chaining.
|
|
100
|
+
*/
|
|
57
101
|
multiply(x, y = x) {
|
|
58
102
|
this.x *= x;
|
|
59
103
|
this.y *= y;
|
|
60
104
|
return this;
|
|
61
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Divide components by `(x, y)`. Division is skipped silently when either
|
|
108
|
+
* divisor is zero to avoid NaN. Mutates in place and returns `this` for
|
|
109
|
+
* chaining.
|
|
110
|
+
*/
|
|
62
111
|
divide(x, y = x) {
|
|
63
112
|
if (x !== 0 && y !== 0) {
|
|
64
113
|
this.x /= x;
|
|
@@ -66,37 +115,71 @@ class AbstractVector {
|
|
|
66
115
|
}
|
|
67
116
|
return this;
|
|
68
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Scale this vector to unit length. No-op when the vector is zero.
|
|
120
|
+
* Mutates in place and returns `this` for chaining.
|
|
121
|
+
*/
|
|
69
122
|
normalize() {
|
|
70
123
|
return this.divide(this.length);
|
|
71
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Negate both components. Mutates in place and returns `this` for
|
|
127
|
+
* chaining.
|
|
128
|
+
*/
|
|
72
129
|
invert() {
|
|
73
130
|
return this.multiply(-1, -1);
|
|
74
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Apply a 3×3 affine `matrix` to this vector (translation + linear
|
|
134
|
+
* transform). Mutates in place and returns `this` for chaining.
|
|
135
|
+
*/
|
|
75
136
|
transform(matrix) {
|
|
76
137
|
return this.set((this.x * matrix.a) + (this.y * matrix.b) + matrix.x, (this.x * matrix.c) + (this.y * matrix.d) + matrix.y);
|
|
77
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Apply the inverse of `matrix` to this vector. Useful for converting
|
|
141
|
+
* a world-space point into the local space defined by `matrix`. Mutates
|
|
142
|
+
* in place and returns `this` for chaining.
|
|
143
|
+
*/
|
|
78
144
|
transformInverse(matrix) {
|
|
79
145
|
const id = 1 / ((matrix.a * matrix.d) + (matrix.c * -matrix.b));
|
|
80
146
|
return this.set((this.x * matrix.d * id) + (this.y * -matrix.c * id) + (((matrix.y * matrix.c) - (matrix.x * matrix.d)) * id), (this.y * matrix.a * id) + (this.x * -matrix.b * id) + (((-matrix.y * matrix.a) + (matrix.x * matrix.b)) * id));
|
|
81
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Rotate this vector 90° counter-clockwise (left perpendicular):
|
|
150
|
+
* `(-y, x)`. Mutates in place and returns `this` for chaining.
|
|
151
|
+
*/
|
|
82
152
|
perp() {
|
|
83
153
|
return this.set(-this.y, this.x);
|
|
84
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Rotate this vector 90° clockwise (right perpendicular): `(y, -x)`.
|
|
157
|
+
* Mutates in place and returns `this` for chaining.
|
|
158
|
+
*/
|
|
85
159
|
rperp() {
|
|
86
160
|
return this.set(this.y, -this.x);
|
|
87
161
|
}
|
|
162
|
+
/** Return the smaller of the two components. */
|
|
88
163
|
min() {
|
|
89
164
|
return Math.min(this.x, this.y);
|
|
90
165
|
}
|
|
166
|
+
/** Return the larger of the two components. */
|
|
91
167
|
max() {
|
|
92
168
|
return Math.max(this.x, this.y);
|
|
93
169
|
}
|
|
170
|
+
/** Dot product of this vector with `(x, y)`. */
|
|
94
171
|
dot(x, y) {
|
|
95
172
|
return (this.x * x) + (this.y * y);
|
|
96
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* 2D cross product (scalar z-component of the 3D cross product) of this
|
|
176
|
+
* vector with `vector`. A positive value means `vector` is to the left of
|
|
177
|
+
* this vector.
|
|
178
|
+
*/
|
|
97
179
|
cross(vector) {
|
|
98
180
|
return (this.x * vector.y) - (this.y * vector.x);
|
|
99
181
|
}
|
|
182
|
+
/** Euclidean distance from this vector's tip to `vector`'s tip. */
|
|
100
183
|
distanceTo(vector) {
|
|
101
184
|
return getDistance(this.x, this.y, vector.x, vector.y);
|
|
102
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractVector.js","sources":["../../../../src/math/AbstractVector.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"AbstractVector.js","sources":["../../../../src/math/AbstractVector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,22 @@ import { Interval } from '@/math/Interval';
|
|
|
4
4
|
import type { ShapeLike } from '@/math/ShapeLike';
|
|
5
5
|
import type { Collidable, CollisionResponse } from '@/math/Collision';
|
|
6
6
|
import { CollisionType } from '@/math/Collision';
|
|
7
|
+
/**
|
|
8
|
+
* Mutable circle shape defined by a centre position and radius. Implements
|
|
9
|
+
* {@link ShapeLike} for use in the collision pipeline.
|
|
10
|
+
*
|
|
11
|
+
* For SAT-based collision the circle is approximated as a regular polygon with
|
|
12
|
+
* {@link Circle.collisionSegments} sides; normals and vertices are cached and
|
|
13
|
+
* regenerated lazily when the shape mutates.
|
|
14
|
+
*
|
|
15
|
+
* `Circle.temp` is a shared scratch instance for intermediate calculations.
|
|
16
|
+
*/
|
|
7
17
|
export declare class Circle implements ShapeLike {
|
|
18
|
+
/**
|
|
19
|
+
* Number of polygon segments used to approximate the circle boundary for
|
|
20
|
+
* SAT collision tests. Increasing this improves accuracy at the cost of
|
|
21
|
+
* more normal comparisons. Default: `32`.
|
|
22
|
+
*/
|
|
8
23
|
static collisionSegments: number;
|
|
9
24
|
readonly collisionType: CollisionType;
|
|
10
25
|
private readonly _position;
|
|
@@ -22,7 +37,15 @@ export declare class Circle implements ShapeLike {
|
|
|
22
37
|
set y(y: number);
|
|
23
38
|
get radius(): number;
|
|
24
39
|
set radius(radius: number);
|
|
40
|
+
/**
|
|
41
|
+
* Set the circle's centre to `(x, y)`. Invalidates the normal and vertex
|
|
42
|
+
* caches. Returns `this` for chaining.
|
|
43
|
+
*/
|
|
25
44
|
setPosition(x: number, y: number): this;
|
|
45
|
+
/**
|
|
46
|
+
* Set the circle's radius. No-op when the value has not changed. Invalidates
|
|
47
|
+
* the normal and vertex caches. Returns `this` for chaining.
|
|
48
|
+
*/
|
|
26
49
|
setRadius(radius: number): this;
|
|
27
50
|
set(x: number, y: number, radius: number): this;
|
|
28
51
|
copy(circle: Circle): this;
|
|
@@ -41,11 +64,20 @@ export declare class Circle implements ShapeLike {
|
|
|
41
64
|
* circle.
|
|
42
65
|
*/
|
|
43
66
|
getNormals(): Array<Vector>;
|
|
67
|
+
/**
|
|
68
|
+
* Project this circle onto `axis` and write the scalar interval into
|
|
69
|
+
* `result`. The projection accounts for both the centre and the radius.
|
|
70
|
+
*/
|
|
44
71
|
project(axis: Vector, result?: Interval): Interval;
|
|
45
72
|
contains(x: number, y: number): boolean;
|
|
46
73
|
intersectsWith(target: Collidable): boolean;
|
|
47
74
|
collidesWith(target: Collidable): CollisionResponse | null;
|
|
48
75
|
destroy(): void;
|
|
49
76
|
private getCollisionVertices;
|
|
77
|
+
/**
|
|
78
|
+
* Shared scratch `Circle` instance for intermediate calculations. Never
|
|
79
|
+
* retain the reference across frames or async boundaries.
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
50
82
|
static get temp(): Circle;
|
|
51
83
|
}
|
package/dist/esm/math/Circle.js
CHANGED
|
@@ -2,10 +2,25 @@ import { Vector } from './Vector.js';
|
|
|
2
2
|
import { Rectangle } from './Rectangle.js';
|
|
3
3
|
import { Interval } from './Interval.js';
|
|
4
4
|
import { CollisionType } from './Collision.js';
|
|
5
|
-
import { intersectionPointCircle, intersectionLineCircle, intersectionCircleEllipse, intersectionCircleCircle, intersectionCirclePoly, intersectionRectCircle, getCollisionCircleCircle, getCollisionPolygonCircle, getCollisionCircleRectangle } from './collision-detection.js';
|
|
5
|
+
import { intersectionPointCircle, intersectionLineCircle, intersectionCircleEllipse, intersectionCircleCircle, intersectionCirclePoly, intersectionRectCircle, getCollisionEllipseCircle, getCollisionCircleCircle, getCollisionPolygonCircle, getCollisionCircleRectangle } from './collision-detection.js';
|
|
6
6
|
|
|
7
7
|
let temp = null;
|
|
8
|
+
/**
|
|
9
|
+
* Mutable circle shape defined by a centre position and radius. Implements
|
|
10
|
+
* {@link ShapeLike} for use in the collision pipeline.
|
|
11
|
+
*
|
|
12
|
+
* For SAT-based collision the circle is approximated as a regular polygon with
|
|
13
|
+
* {@link Circle.collisionSegments} sides; normals and vertices are cached and
|
|
14
|
+
* regenerated lazily when the shape mutates.
|
|
15
|
+
*
|
|
16
|
+
* `Circle.temp` is a shared scratch instance for intermediate calculations.
|
|
17
|
+
*/
|
|
8
18
|
class Circle {
|
|
19
|
+
/**
|
|
20
|
+
* Number of polygon segments used to approximate the circle boundary for
|
|
21
|
+
* SAT collision tests. Increasing this improves accuracy at the cost of
|
|
22
|
+
* more normal comparisons. Default: `32`.
|
|
23
|
+
*/
|
|
9
24
|
static collisionSegments = 32;
|
|
10
25
|
collisionType = CollisionType.Circle;
|
|
11
26
|
_position;
|
|
@@ -59,12 +74,20 @@ class Circle {
|
|
|
59
74
|
this._verticesDirty = true;
|
|
60
75
|
this._normalsDirty = true;
|
|
61
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Set the circle's centre to `(x, y)`. Invalidates the normal and vertex
|
|
79
|
+
* caches. Returns `this` for chaining.
|
|
80
|
+
*/
|
|
62
81
|
setPosition(x, y) {
|
|
63
82
|
this._position.set(x, y);
|
|
64
83
|
this._verticesDirty = true;
|
|
65
84
|
this._normalsDirty = true;
|
|
66
85
|
return this;
|
|
67
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Set the circle's radius. No-op when the value has not changed. Invalidates
|
|
89
|
+
* the normal and vertex caches. Returns `this` for chaining.
|
|
90
|
+
*/
|
|
68
91
|
setRadius(radius) {
|
|
69
92
|
if (this._radius !== radius) {
|
|
70
93
|
this._radius = radius;
|
|
@@ -127,6 +150,10 @@ class Circle {
|
|
|
127
150
|
}
|
|
128
151
|
return this._normals;
|
|
129
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Project this circle onto `axis` and write the scalar interval into
|
|
155
|
+
* `result`. The projection accounts for both the centre and the radius.
|
|
156
|
+
*/
|
|
130
157
|
project(axis, result = new Interval()) {
|
|
131
158
|
const center = axis.dot(this.x, this.y);
|
|
132
159
|
const radius = this.radius * axis.length;
|
|
@@ -153,7 +180,7 @@ class Circle {
|
|
|
153
180
|
case CollisionType.Rectangle: return getCollisionCircleRectangle(this, target);
|
|
154
181
|
case CollisionType.Polygon: return getCollisionPolygonCircle(target, this, true);
|
|
155
182
|
case CollisionType.Circle: return getCollisionCircleCircle(this, target);
|
|
156
|
-
|
|
183
|
+
case CollisionType.Ellipse: return getCollisionEllipseCircle(target, this, true);
|
|
157
184
|
// case CollisionType.Line: return intersectionLineCircle(target as Line, this);
|
|
158
185
|
// case CollisionType.Point: return intersectionPointCircle(target as Vector, this);
|
|
159
186
|
default: return null;
|
|
@@ -193,6 +220,11 @@ class Circle {
|
|
|
193
220
|
}
|
|
194
221
|
return this._collisionVertices;
|
|
195
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Shared scratch `Circle` instance for intermediate calculations. Never
|
|
225
|
+
* retain the reference across frames or async boundaries.
|
|
226
|
+
* @internal
|
|
227
|
+
*/
|
|
196
228
|
static get temp() {
|
|
197
229
|
if (temp === null) {
|
|
198
230
|
temp = new Circle();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Circle.js","sources":["../../../../src/math/Circle.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"Circle.js","sources":["../../../../src/math/Circle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { Vector } from '@/math/Vector';
|
|
2
2
|
import type { Interval } from '@/math/Interval';
|
|
3
|
+
/**
|
|
4
|
+
* Discriminant tag carried by every {@link Collidable} so that intersection
|
|
5
|
+
* and collision routines can dispatch to the correct algorithm without
|
|
6
|
+
* `instanceof` checks.
|
|
7
|
+
*/
|
|
3
8
|
export declare const enum CollisionType {
|
|
4
9
|
Point = 0,
|
|
5
10
|
Line = 1,
|
|
@@ -9,20 +14,54 @@ export declare const enum CollisionType {
|
|
|
9
14
|
Polygon = 5,
|
|
10
15
|
SceneNode = 6
|
|
11
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Contract for objects that participate in collision detection. Implemented by
|
|
19
|
+
* all concrete shape classes as well as `SceneNode`.
|
|
20
|
+
*/
|
|
12
21
|
export interface Collidable {
|
|
13
22
|
readonly collisionType: CollisionType;
|
|
23
|
+
/**
|
|
24
|
+
* Test whether this shape overlaps `target` using a fast boolean algorithm
|
|
25
|
+
* (no penetration depth or normal computed). Prefer this over
|
|
26
|
+
* {@link collidesWith} when only the yes/no result is needed.
|
|
27
|
+
*/
|
|
14
28
|
intersectsWith(target: Collidable): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Compute a full {@link CollisionResponse} between this shape and `target`,
|
|
31
|
+
* or `null` when they do not overlap. Returns `null` for shape-pair
|
|
32
|
+
* combinations not yet implemented.
|
|
33
|
+
*/
|
|
15
34
|
collidesWith(target: Collidable): CollisionResponse | null;
|
|
35
|
+
/** Returns `true` if the point `(x, y)` is inside this shape. */
|
|
16
36
|
contains(x: number, y: number): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Return the outward-facing edge normals used by the SAT solver. The array
|
|
39
|
+
* should be cached and reused across calls.
|
|
40
|
+
*/
|
|
17
41
|
getNormals(): Array<Vector>;
|
|
42
|
+
/**
|
|
43
|
+
* Project this shape onto `axis` and write the scalar min/max into
|
|
44
|
+
* `interval`. Used internally by the SAT solver.
|
|
45
|
+
*/
|
|
18
46
|
project(axis: Vector, interval?: Interval): Interval;
|
|
19
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Result of a successful {@link Collidable.collidesWith} call. Contains
|
|
50
|
+
* the two participating shapes, the penetration depth, containment flags,
|
|
51
|
+
* and the minimum-translation vectors (normal + vector) needed to separate
|
|
52
|
+
* them.
|
|
53
|
+
*/
|
|
20
54
|
export interface CollisionResponse {
|
|
21
55
|
readonly shapeA: Collidable;
|
|
22
56
|
readonly shapeB: Collidable;
|
|
57
|
+
/** Penetration depth — the minimum distance to move the shapes apart. */
|
|
23
58
|
readonly overlap: number;
|
|
59
|
+
/** `true` when `shapeA` is fully contained within `shapeB`. */
|
|
24
60
|
readonly shapeAinB: boolean;
|
|
61
|
+
/** `true` when `shapeB` is fully contained within `shapeA`. */
|
|
25
62
|
readonly shapeBinA: boolean;
|
|
63
|
+
/** Unit normal of the minimum-translation axis. */
|
|
26
64
|
readonly projectionN: Vector;
|
|
65
|
+
/** Minimum-translation vector: `projectionN` scaled by `overlap`. */
|
|
27
66
|
readonly projectionV: Vector;
|
|
28
67
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discriminant tag carried by every {@link Collidable} so that intersection
|
|
3
|
+
* and collision routines can dispatch to the correct algorithm without
|
|
4
|
+
* `instanceof` checks.
|
|
5
|
+
*/
|
|
1
6
|
var CollisionType;
|
|
2
7
|
(function (CollisionType) {
|
|
3
8
|
CollisionType[CollisionType["Point"] = 0] = "Point";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collision.js","sources":["../../../../src/math/Collision.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Collision.js","sources":["../../../../src/math/Collision.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;AAIG;IACe;AAAlB,CAAA,UAAkB,aAAa,EAAA;AAC3B,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACT,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACb,CAAC,EARiB,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -4,6 +4,17 @@ import type { ShapeLike } from '@/math/ShapeLike';
|
|
|
4
4
|
import { Interval } from '@/math/Interval';
|
|
5
5
|
import type { Collidable, CollisionResponse } from '@/math/Collision';
|
|
6
6
|
import { CollisionType } from '@/math/Collision';
|
|
7
|
+
/**
|
|
8
|
+
* Mutable axis-aligned ellipse shape defined by a centre position and
|
|
9
|
+
* separate horizontal (`rx`) and vertical (`ry`) half-radii. Implements
|
|
10
|
+
* {@link ShapeLike} for use in the intersection pipeline.
|
|
11
|
+
*
|
|
12
|
+
* `collidesWith` returns a {@link CollisionResponse} for ellipse-vs-rectangle
|
|
13
|
+
* (axis-aligned), ellipse-vs-circle, and ellipse-vs-{@link SceneNode} (which
|
|
14
|
+
* collides against the node's AABB). Other targets — ellipse-vs-ellipse,
|
|
15
|
+
* ellipse-vs-polygon, and ellipse-vs-line — return `null`; use
|
|
16
|
+
* {@link Ellipse.intersectsWith} for boolean tests against those.
|
|
17
|
+
*/
|
|
7
18
|
export declare class Ellipse implements ShapeLike {
|
|
8
19
|
readonly collisionType: CollisionType;
|
|
9
20
|
private readonly _position;
|