@codexo/exojs 0.7.13 → 0.8.2
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 +637 -124
- package/README.md +19 -19
- package/dist/esm/animation/Easing.js +13 -21
- package/dist/esm/animation/Easing.js.map +1 -1
- package/dist/esm/animation/Tween.d.ts +3 -3
- package/dist/esm/animation/Tween.js +7 -5
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.js +1 -1
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/types.js.map +1 -1
- package/dist/esm/audio/AbstractMedia.d.ts +1 -1
- package/dist/esm/audio/AbstractMedia.js +1 -1
- package/dist/esm/audio/AbstractMedia.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +1 -1
- package/dist/esm/audio/AudioAnalyser.js +2 -2
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +1 -1
- package/dist/esm/audio/AudioBus.js.map +1 -1
- package/dist/esm/audio/AudioFilter.js +3 -1
- package/dist/esm/audio/AudioFilter.js.map +1 -1
- package/dist/esm/audio/AudioListener.d.ts +1 -1
- package/dist/esm/audio/AudioListener.js +5 -3
- package/dist/esm/audio/AudioListener.js.map +1 -1
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +4 -4
- package/dist/esm/audio/BeatDetector.js +68 -44
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Envelope.d.ts +1 -1
- package/dist/esm/audio/Envelope.js +2 -2
- package/dist/esm/audio/Envelope.js.map +1 -1
- package/dist/esm/audio/Music.d.ts +1 -1
- package/dist/esm/audio/Music.js +1 -1
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/OscillatorSound.d.ts +2 -2
- package/dist/esm/audio/OscillatorSound.js.map +1 -1
- package/dist/esm/audio/Sound.d.ts +40 -2
- package/dist/esm/audio/Sound.js +69 -9
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.js +1 -1
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/crossFade.js +1 -1
- package/dist/esm/audio/crossFade.js.map +1 -1
- package/dist/esm/audio/dsp/mel.d.ts +2 -2
- package/dist/esm/audio/dsp/tempogram.d.ts +2 -2
- package/dist/esm/audio/filters/ChorusFilter.js +12 -4
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +9 -0
- package/dist/esm/audio/filters/CompressorFilter.js +11 -0
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
- package/dist/esm/audio/filters/DuckingFilter.d.ts +1 -1
- package/dist/esm/audio/filters/DuckingFilter.js +13 -5
- package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
- package/dist/esm/audio/filters/GranularFilter.js +30 -14
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/PitchShiftFilter.js +14 -10
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
- package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -2
- package/dist/esm/audio/filters/VocoderFilter.js +20 -12
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.js +5 -6
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
- package/dist/esm/audio/filters/index.d.ts +7 -7
- package/dist/esm/audio/index.d.ts +9 -9
- package/dist/esm/audio/worklet/registerWorklet.js +7 -3
- package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
- package/dist/esm/core/Application.d.ts +13 -13
- package/dist/esm/core/Application.js +24 -16
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Bounds.d.ts +1 -1
- package/dist/esm/core/Bounds.js +1 -3
- package/dist/esm/core/Bounds.js.map +1 -1
- package/dist/esm/core/Clock.js +1 -1
- package/dist/esm/core/Clock.js.map +1 -1
- package/dist/esm/core/Color.js +2 -5
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +10 -10
- package/dist/esm/core/Scene.js +1 -1
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +4 -4
- package/dist/esm/core/SceneManager.js +39 -33
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +8 -8
- package/dist/esm/core/SceneNode.js +39 -29
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +3 -3
- package/dist/esm/core/Signal.js +3 -3
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Time.js +6 -6
- package/dist/esm/core/Time.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +1 -1
- package/dist/esm/core/Timer.js +1 -1
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/core/capabilities.js +2 -4
- package/dist/esm/core/capabilities.js.map +1 -1
- package/dist/esm/core/index.d.ts +2 -2
- package/dist/esm/core/utils.d.ts +4 -4
- package/dist/esm/core/utils.js +10 -10
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts +3 -3
- package/dist/esm/debug/BoundingBoxesLayer.js +6 -13
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/DebugLayer.d.ts +1 -1
- package/dist/esm/debug/DebugLayer.js.map +1 -1
- package/dist/esm/debug/DebugOverlay.d.ts +2 -2
- package/dist/esm/debug/DebugOverlay.js +2 -2
- package/dist/esm/debug/DebugOverlay.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.d.ts +3 -3
- package/dist/esm/debug/HitTestLayer.js +3 -10
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.d.ts +2 -2
- package/dist/esm/debug/PerformanceLayer.js +6 -6
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.d.ts +3 -3
- package/dist/esm/debug/PointerStackLayer.js +3 -3
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/debug/index.d.ts +3 -3
- package/dist/esm/debug/index.js +3 -3
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +106 -84
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.js +1 -1
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +7 -7
- package/dist/esm/input/Gamepad.js +10 -6
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/GamepadAxis.js +1 -1
- package/dist/esm/input/GamepadAxis.js.map +1 -1
- package/dist/esm/input/GamepadButton.js +1 -1
- package/dist/esm/input/GamepadButton.js.map +1 -1
- package/dist/esm/input/GamepadDefinitions.d.ts +4 -4
- package/dist/esm/input/GamepadDefinitions.js +12 -14
- package/dist/esm/input/GamepadDefinitions.js.map +1 -1
- package/dist/esm/input/GamepadMapping.d.ts +5 -5
- package/dist/esm/input/GamepadMapping.js.map +1 -1
- package/dist/esm/input/GamepadPromptLayouts.d.ts +2 -2
- package/dist/esm/input/GamepadPromptLayouts.js +8 -8
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
- package/dist/esm/input/GestureRecognizer.d.ts +1 -1
- package/dist/esm/input/GestureRecognizer.js.map +1 -1
- package/dist/esm/input/InputBinding.d.ts +3 -3
- package/dist/esm/input/InputBinding.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +9 -9
- package/dist/esm/input/InputManager.js +25 -16
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionEvent.d.ts +1 -1
- package/dist/esm/input/InteractionEvent.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +2 -2
- package/dist/esm/input/InteractionManager.js +25 -16
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.js +1 -1
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
- package/dist/esm/input/Pointer.d.ts +2 -2
- package/dist/esm/input/Pointer.js +6 -6
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.js +1 -1
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
- package/dist/esm/input/SteamDeckGamepadMapping.js.map +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.js +1 -1
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
- package/dist/esm/input/XboxGamepadMapping.d.ts +1 -1
- package/dist/esm/input/XboxGamepadMapping.js +1 -1
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
- package/dist/esm/input/index.d.ts +16 -16
- package/dist/esm/input/interaction-hooks.js.map +1 -1
- package/dist/esm/input/types.js.map +1 -1
- package/dist/esm/math/AbstractVector.js +8 -9
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.d.ts +5 -5
- package/dist/esm/math/Circle.js +33 -21
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/Collision.d.ts +2 -2
- package/dist/esm/math/Collision.js.map +1 -1
- package/dist/esm/math/Ellipse.d.ts +5 -5
- package/dist/esm/math/Ellipse.js +28 -19
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/Flags.d.ts +4 -4
- package/dist/esm/math/Flags.js.map +1 -1
- package/dist/esm/math/Interval.js.map +1 -1
- package/dist/esm/math/Line.d.ts +5 -5
- package/dist/esm/math/Line.js +23 -15
- package/dist/esm/math/Line.js.map +1 -1
- package/dist/esm/math/Matrix.js +14 -16
- package/dist/esm/math/Matrix.js.map +1 -1
- package/dist/esm/math/ObservableSize.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +1 -1
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/PolarVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +11 -11
- package/dist/esm/math/Polygon.js +37 -26
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/PolygonLike.d.ts +1 -1
- package/dist/esm/math/Quadtree.js +2 -8
- package/dist/esm/math/Quadtree.js.map +1 -1
- package/dist/esm/math/Random.js +5 -5
- package/dist/esm/math/Random.js.map +1 -1
- package/dist/esm/math/Rectangle.d.ts +4 -4
- package/dist/esm/math/Rectangle.js +59 -41
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/Segment.d.ts +1 -1
- package/dist/esm/math/Segment.js +4 -4
- package/dist/esm/math/Segment.js.map +1 -1
- package/dist/esm/math/ShapeLike.d.ts +1 -1
- package/dist/esm/math/Size.js +1 -2
- package/dist/esm/math/Size.js.map +1 -1
- package/dist/esm/math/Vector.d.ts +4 -4
- package/dist/esm/math/Vector.js +19 -13
- package/dist/esm/math/Vector.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +3 -3
- package/dist/esm/math/collision-detection.js +49 -49
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +8 -8
- package/dist/esm/math/collision-primitives.js +27 -33
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +3 -3
- package/dist/esm/math/geometry.js +55 -48
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/math/index.d.ts +16 -16
- package/dist/esm/math/swept-collision.d.ts +3 -3
- package/dist/esm/math/swept-collision.js +5 -8
- package/dist/esm/math/swept-collision.js.map +1 -1
- package/dist/esm/math/triangulate.js +34 -24
- package/dist/esm/math/triangulate.js.map +1 -1
- package/dist/esm/math/utils.d.ts +2 -2
- package/dist/esm/math/utils.js +7 -7
- package/dist/esm/math/utils.js.map +1 -1
- package/dist/esm/particles/ParticleSystem.d.ts +181 -84
- package/dist/esm/particles/ParticleSystem.js +460 -147
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/distributions/BoxArea.d.ts +17 -0
- package/dist/esm/particles/distributions/BoxArea.js +48 -0
- package/dist/esm/particles/distributions/BoxArea.js.map +1 -0
- package/dist/esm/particles/distributions/CircleArea.d.ts +19 -0
- package/dist/esm/particles/distributions/CircleArea.js +33 -0
- package/dist/esm/particles/distributions/CircleArea.js.map +1 -0
- package/dist/esm/particles/distributions/ConeDirection.d.ts +28 -0
- package/dist/esm/particles/distributions/ConeDirection.js +44 -0
- package/dist/esm/particles/distributions/ConeDirection.js.map +1 -0
- package/dist/esm/particles/distributions/Constant.d.ts +17 -0
- package/dist/esm/particles/distributions/Constant.js +35 -0
- package/dist/esm/particles/distributions/Constant.js.map +1 -0
- package/dist/esm/particles/distributions/Curve.d.ts +30 -0
- package/dist/esm/particles/distributions/Curve.js +53 -0
- package/dist/esm/particles/distributions/Curve.js.map +1 -0
- package/dist/esm/particles/distributions/Distribution.d.ts +45 -0
- package/dist/esm/particles/distributions/Gradient.d.ts +40 -0
- package/dist/esm/particles/distributions/Gradient.js +72 -0
- package/dist/esm/particles/distributions/Gradient.js.map +1 -0
- package/dist/esm/particles/distributions/LineSegment.d.ts +15 -0
- package/dist/esm/particles/distributions/LineSegment.js +27 -0
- package/dist/esm/particles/distributions/LineSegment.js.map +1 -0
- package/dist/esm/particles/distributions/Range.d.ts +12 -0
- package/dist/esm/particles/distributions/Range.js +19 -0
- package/dist/esm/particles/distributions/Range.js.map +1 -0
- package/dist/esm/particles/distributions/VectorRange.d.ts +20 -0
- package/dist/esm/particles/distributions/VectorRange.js +31 -0
- package/dist/esm/particles/distributions/VectorRange.js.map +1 -0
- package/dist/esm/particles/distributions/index.d.ts +12 -0
- package/dist/esm/particles/gpu/ParticleGpuState.d.ts +57 -0
- package/dist/esm/particles/gpu/ParticleGpuState.js +535 -0
- package/dist/esm/particles/gpu/ParticleGpuState.js.map +1 -0
- package/dist/esm/particles/index.d.ts +2 -10
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +24 -0
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +60 -0
- package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -0
- package/dist/esm/particles/modules/ApplyForce.d.ts +20 -0
- package/dist/esm/particles/modules/ApplyForce.js +48 -0
- package/dist/esm/particles/modules/ApplyForce.js.map +1 -0
- package/dist/esm/particles/modules/AttractToPoint.d.ts +27 -0
- package/dist/esm/particles/modules/AttractToPoint.js +73 -0
- package/dist/esm/particles/modules/AttractToPoint.js.map +1 -0
- package/dist/esm/particles/modules/BurstSpawn.d.ts +53 -0
- package/dist/esm/particles/modules/BurstSpawn.js +94 -0
- package/dist/esm/particles/modules/BurstSpawn.js.map +1 -0
- package/dist/esm/particles/modules/ColorOverLifetime.d.ts +22 -0
- package/dist/esm/particles/modules/ColorOverLifetime.js +65 -0
- package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -0
- package/dist/esm/particles/modules/ColorOverSpeed.d.ts +27 -0
- package/dist/esm/particles/modules/ColorOverSpeed.js +86 -0
- package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -0
- package/dist/esm/particles/modules/DeathModule.d.ts +24 -0
- package/dist/esm/particles/modules/DeathModule.js +25 -0
- package/dist/esm/particles/modules/DeathModule.js.map +1 -0
- package/dist/esm/particles/modules/Drag.d.ts +20 -0
- package/dist/esm/particles/modules/Drag.js +43 -0
- package/dist/esm/particles/modules/Drag.js.map +1 -0
- package/dist/esm/particles/modules/OrbitalForce.d.ts +28 -0
- package/dist/esm/particles/modules/OrbitalForce.js +65 -0
- package/dist/esm/particles/modules/OrbitalForce.js.map +1 -0
- package/dist/esm/particles/modules/RateSpawn.d.ts +41 -0
- package/dist/esm/particles/modules/RateSpawn.js +76 -0
- package/dist/esm/particles/modules/RateSpawn.js.map +1 -0
- package/dist/esm/particles/modules/RepelFromPoint.d.ts +24 -0
- package/dist/esm/particles/modules/RepelFromPoint.js +76 -0
- package/dist/esm/particles/modules/RepelFromPoint.js.map +1 -0
- package/dist/esm/particles/modules/RotateOverLifetime.d.ts +20 -0
- package/dist/esm/particles/modules/RotateOverLifetime.js +41 -0
- package/dist/esm/particles/modules/RotateOverLifetime.js.map +1 -0
- package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +26 -0
- package/dist/esm/particles/modules/ScaleOverLifetime.js +59 -0
- package/dist/esm/particles/modules/ScaleOverLifetime.js.map +1 -0
- package/dist/esm/particles/modules/SpawnModule.d.ts +30 -0
- package/dist/esm/particles/modules/SpawnModule.js +31 -0
- package/dist/esm/particles/modules/SpawnModule.js.map +1 -0
- package/dist/esm/particles/modules/SpawnOnDeath.d.ts +24 -0
- package/dist/esm/particles/modules/SpawnOnDeath.js +47 -0
- package/dist/esm/particles/modules/SpawnOnDeath.js.map +1 -0
- package/dist/esm/particles/modules/Turbulence.d.ts +30 -0
- package/dist/esm/particles/modules/Turbulence.js +122 -0
- package/dist/esm/particles/modules/Turbulence.js.map +1 -0
- package/dist/esm/particles/modules/UpdateModule.d.ts +95 -0
- package/dist/esm/particles/modules/UpdateModule.js +66 -0
- package/dist/esm/particles/modules/UpdateModule.js.map +1 -0
- package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +30 -0
- package/dist/esm/particles/modules/VelocityOverLifetime.js +84 -0
- package/dist/esm/particles/modules/VelocityOverLifetime.js.map +1 -0
- package/dist/esm/particles/modules/WgslContribution.d.ts +81 -0
- package/dist/esm/particles/modules/WgslContribution.js +34 -0
- package/dist/esm/particles/modules/WgslContribution.js.map +1 -0
- package/dist/esm/particles/modules/index.d.ts +22 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +2 -2
- package/dist/esm/rendering/Container.js +10 -11
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/Drawable.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +6 -6
- package/dist/esm/rendering/RenderBackendType.js.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts +10 -10
- package/dist/esm/rendering/RenderNode.js +31 -31
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RenderTarget.d.ts +2 -2
- package/dist/esm/rendering/RenderTarget.js +5 -5
- package/dist/esm/rendering/RenderTarget.js.map +1 -1
- package/dist/esm/rendering/RenderTargetPass.d.ts +3 -3
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
- package/dist/esm/rendering/Renderer.d.ts +2 -2
- package/dist/esm/rendering/RendererRegistry.d.ts +3 -3
- package/dist/esm/rendering/RendererRegistry.js +2 -3
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +3 -3
- package/dist/esm/rendering/View.js +17 -20
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/BlurFilter.d.ts +1 -1
- package/dist/esm/rendering/filters/BlurFilter.js +4 -9
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
- package/dist/esm/rendering/filters/ColorFilter.d.ts +1 -1
- package/dist/esm/rendering/filters/ColorFilter.js +3 -9
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
- package/dist/esm/rendering/filters/Filter.d.ts +1 -1
- package/dist/esm/rendering/filters/Filter.js.map +1 -1
- package/dist/esm/rendering/filters/LutFilter.d.ts +87 -0
- package/dist/esm/rendering/filters/LutFilter.js +261 -0
- package/dist/esm/rendering/filters/LutFilter.js.map +1 -0
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +2 -2
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +7 -14
- package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +11 -10
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +28 -27
- package/dist/esm/rendering/mesh/Mesh.d.ts +49 -1
- package/dist/esm/rendering/mesh/Mesh.js +3 -1
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +3 -3
- package/dist/esm/rendering/primitives/Graphics.js +12 -12
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +6 -8
- package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +3 -3
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +4 -4
- package/dist/esm/rendering/sprite/Sprite.js +51 -35
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +5 -9
- package/dist/esm/rendering/sprite/Spritesheet.js +1 -1
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js +3 -9
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +1 -1
- package/dist/esm/rendering/text/Text.js +9 -9
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts +2 -2
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/atlas-singleton.js.map +1 -1
- package/dist/esm/rendering/texture/RenderTexture.d.ts +1 -1
- package/dist/esm/rendering/texture/RenderTexture.js +4 -1
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
- package/dist/esm/rendering/texture/Sampler.js.map +1 -1
- package/dist/esm/rendering/texture/Texture.d.ts +2 -2
- package/dist/esm/rendering/texture/Texture.js +8 -5
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/utils.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +3 -3
- package/dist/esm/rendering/video/Video.js +7 -6
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +6 -6
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -10
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +1 -2
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +11 -11
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +19 -21
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +2 -2
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +6 -8
- package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +7 -4
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +110 -43
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +10 -15
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +100 -79
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +54 -22
- package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +11 -14
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js +1 -1
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +1 -1
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +1 -2
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +7 -7
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +44 -30
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +1 -3
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +25 -23
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +10 -1
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +204 -76
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +45 -45
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +52 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +29 -0
- package/dist/esm/rendering/webgpu/compute/index.d.ts +3 -0
- package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -1
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
- package/dist/esm/resources/AssetManifest.d.ts +1 -1
- package/dist/esm/resources/AssetManifest.js +2 -2
- package/dist/esm/resources/AssetManifest.js.map +1 -1
- package/dist/esm/resources/CacheFirstStrategy.d.ts +2 -2
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
- package/dist/esm/resources/CacheStrategy.d.ts +1 -1
- package/dist/esm/resources/FactoryRegistry.d.ts +1 -1
- package/dist/esm/resources/FactoryRegistry.js +2 -3
- package/dist/esm/resources/FactoryRegistry.js.map +1 -1
- package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
- package/dist/esm/resources/IndexedDbDatabase.js +11 -14
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.d.ts +1 -1
- package/dist/esm/resources/IndexedDbStore.js +2 -7
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +9 -9
- package/dist/esm/resources/Loader.js +48 -35
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +2 -2
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
- package/dist/esm/resources/factories/FontFactory.js +1 -1
- package/dist/esm/resources/factories/FontFactory.js.map +1 -1
- package/dist/esm/resources/factories/ImageFactory.js +4 -4
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
- package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
- package/dist/esm/resources/factories/JsonFactory.js +1 -1
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
- package/dist/esm/resources/factories/MusicFactory.d.ts +1 -1
- package/dist/esm/resources/factories/MusicFactory.js +4 -4
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +1 -1
- package/dist/esm/resources/factories/SoundFactory.js +3 -3
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SvgFactory.js +3 -3
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextFactory.js +1 -1
- package/dist/esm/resources/factories/TextFactory.js.map +1 -1
- package/dist/esm/resources/factories/TextureFactory.d.ts +1 -1
- package/dist/esm/resources/factories/TextureFactory.js +3 -3
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +2 -2
- package/dist/esm/resources/factories/VideoFactory.js +5 -5
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +2 -2
- package/dist/esm/resources/factories/VttFactory.js +6 -6
- package/dist/esm/resources/factories/VttFactory.js.map +1 -1
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
- package/dist/esm/resources/index.d.ts +11 -11
- package/dist/esm/resources/utils.js +30 -25
- package/dist/esm/resources/utils.js.map +1 -1
- package/dist/exo.esm.js +26438 -23869
- package/dist/exo.esm.js.map +1 -1
- package/package.json +15 -4
- package/dist/esm/particles/Particle.d.ts +0 -77
- package/dist/esm/particles/Particle.js +0 -143
- package/dist/esm/particles/Particle.js.map +0 -1
- package/dist/esm/particles/ParticleProperties.d.ts +0 -29
- package/dist/esm/particles/affectors/ColorAffector.d.ts +0 -30
- package/dist/esm/particles/affectors/ColorAffector.js +0 -55
- package/dist/esm/particles/affectors/ColorAffector.js.map +0 -1
- package/dist/esm/particles/affectors/ForceAffector.d.ts +0 -24
- package/dist/esm/particles/affectors/ForceAffector.js +0 -39
- package/dist/esm/particles/affectors/ForceAffector.js.map +0 -1
- package/dist/esm/particles/affectors/ParticleAffector.d.ts +0 -19
- package/dist/esm/particles/affectors/ScaleAffector.d.ts +0 -23
- package/dist/esm/particles/affectors/ScaleAffector.js +0 -38
- package/dist/esm/particles/affectors/ScaleAffector.js.map +0 -1
- package/dist/esm/particles/affectors/TorqueAffector.d.ts +0 -23
- package/dist/esm/particles/affectors/TorqueAffector.js +0 -37
- package/dist/esm/particles/affectors/TorqueAffector.js.map +0 -1
- package/dist/esm/particles/emitters/ParticleEmitter.d.ts +0 -19
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +0 -62
- package/dist/esm/particles/emitters/ParticleOptions.js +0 -120
- package/dist/esm/particles/emitters/ParticleOptions.js.map +0 -1
- package/dist/esm/particles/emitters/UniversalEmitter.d.ts +0 -40
- package/dist/esm/particles/emitters/UniversalEmitter.js +0 -68
- package/dist/esm/particles/emitters/UniversalEmitter.js.map +0 -1
package/dist/esm/math/Polygon.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Interval } from './Interval.js';
|
|
2
|
-
import { Vector } from './Vector.js';
|
|
3
|
-
import { Rectangle } from './Rectangle.js';
|
|
4
1
|
import { CollisionType } from './Collision.js';
|
|
5
2
|
import { intersectionPointPoly, intersectionLinePoly, intersectionEllipsePoly, intersectionCirclePoly, intersectionPolyPoly, intersectionRectPoly, getCollisionPolygonCircle, getCollisionSat } from './collision-detection.js';
|
|
3
|
+
import { Interval } from './Interval.js';
|
|
4
|
+
import { Rectangle } from './Rectangle.js';
|
|
5
|
+
import { Vector } from './Vector.js';
|
|
6
6
|
|
|
7
7
|
let temp = null;
|
|
8
8
|
/**
|
|
@@ -85,8 +85,10 @@ class Polygon {
|
|
|
85
85
|
this._points[i].copy(newPoints[i]);
|
|
86
86
|
}
|
|
87
87
|
if (diff > 0) {
|
|
88
|
-
this._points.splice(newLen)
|
|
89
|
-
|
|
88
|
+
for (const point of this._points.splice(newLen))
|
|
89
|
+
point.destroy();
|
|
90
|
+
for (const point of this._edges.splice(newLen))
|
|
91
|
+
point.destroy();
|
|
90
92
|
// Trim the cached normals array if it exists and is longer than newLen.
|
|
91
93
|
if (this._cachedNormals !== null && this._cachedNormals.length > newLen) {
|
|
92
94
|
const removed = this._cachedNormals.splice(newLen);
|
|
@@ -125,10 +127,9 @@ class Polygon {
|
|
|
125
127
|
return new Polygon(this.points, this.x, this.y);
|
|
126
128
|
}
|
|
127
129
|
equals({ x, y, points } = {}) {
|
|
128
|
-
return (x === undefined || this.x === x)
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
&& (this.points.every((point, index) => point.equals(points[index])))));
|
|
130
|
+
return ((x === undefined || this.x === x) &&
|
|
131
|
+
(y === undefined || this.y === y) &&
|
|
132
|
+
(points === undefined || (this.points.length === points.length && this.points.every((point, index) => point.equals(points[index])))));
|
|
132
133
|
}
|
|
133
134
|
getBounds() {
|
|
134
135
|
let minX = Infinity;
|
|
@@ -165,10 +166,7 @@ class Polygon {
|
|
|
165
166
|
this._cachedNormals.push(new Vector());
|
|
166
167
|
}
|
|
167
168
|
for (let i = 0; i < n; i++) {
|
|
168
|
-
this._cachedNormals[i]
|
|
169
|
-
.copy(this._edges[i])
|
|
170
|
-
.rperp()
|
|
171
|
-
.normalize();
|
|
169
|
+
this._cachedNormals[i].copy(this._edges[i]).rperp().normalize();
|
|
172
170
|
}
|
|
173
171
|
this._normalsDirty = false;
|
|
174
172
|
}
|
|
@@ -184,26 +182,39 @@ class Polygon {
|
|
|
184
182
|
}
|
|
185
183
|
intersectsWith(target) {
|
|
186
184
|
switch (target.collisionType) {
|
|
187
|
-
case CollisionType.SceneNode:
|
|
188
|
-
|
|
189
|
-
case CollisionType.
|
|
190
|
-
|
|
191
|
-
case CollisionType.
|
|
192
|
-
|
|
193
|
-
case CollisionType.
|
|
194
|
-
|
|
185
|
+
case CollisionType.SceneNode:
|
|
186
|
+
return intersectionRectPoly(target.getBounds(), this);
|
|
187
|
+
case CollisionType.Rectangle:
|
|
188
|
+
return intersectionRectPoly(target, this);
|
|
189
|
+
case CollisionType.Polygon:
|
|
190
|
+
return intersectionPolyPoly(this, target);
|
|
191
|
+
case CollisionType.Circle:
|
|
192
|
+
return intersectionCirclePoly(target, this);
|
|
193
|
+
case CollisionType.Ellipse:
|
|
194
|
+
return intersectionEllipsePoly(target, this);
|
|
195
|
+
case CollisionType.Line:
|
|
196
|
+
return intersectionLinePoly(target, this);
|
|
197
|
+
case CollisionType.Point:
|
|
198
|
+
return intersectionPointPoly(target, this);
|
|
199
|
+
default:
|
|
200
|
+
return false;
|
|
195
201
|
}
|
|
196
202
|
}
|
|
197
203
|
collidesWith(target) {
|
|
198
204
|
switch (target.collisionType) {
|
|
199
|
-
case CollisionType.SceneNode:
|
|
200
|
-
|
|
201
|
-
case CollisionType.
|
|
202
|
-
|
|
205
|
+
case CollisionType.SceneNode:
|
|
206
|
+
return getCollisionSat(this, target);
|
|
207
|
+
case CollisionType.Rectangle:
|
|
208
|
+
return getCollisionSat(this, target);
|
|
209
|
+
case CollisionType.Polygon:
|
|
210
|
+
return getCollisionSat(this, target);
|
|
211
|
+
case CollisionType.Circle:
|
|
212
|
+
return getCollisionPolygonCircle(this, target);
|
|
203
213
|
// case CollisionType.Ellipse: return intersectionEllipsePoly(target as Ellipse, this);
|
|
204
214
|
// case CollisionType.Line: return intersectionLinePoly(target as Line, this);
|
|
205
215
|
// case CollisionType.Point: return intersectionPointPoly(target as Vector, this);
|
|
206
|
-
default:
|
|
216
|
+
default:
|
|
217
|
+
return null;
|
|
207
218
|
}
|
|
208
219
|
}
|
|
209
220
|
destroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polygon.js","sources":["../../../../src/math/Polygon.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"Polygon.js","sources":["../../../../src/math/Polygon.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAoBA,IAAI,IAAI,GAAmB,IAAI;AAE/B;;;;;;;;;AASG;MACU,OAAO,CAAA;AACF,IAAA,aAAa,GAAkB,aAAa,CAAC,OAAO;AAEnD,IAAA,SAAS;IACT,OAAO,GAAa,EAAE;IACtB,MAAM,GAAa,EAAE;;IAE9B,cAAc,GAAoB,IAAI;IACtC,aAAa,GAAG,IAAI;IAE5B,WAAA,CAAmB,MAAA,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,IAAW,QAAQ,CAAC,QAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,CAAC,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;IAEA,IAAW,CAAC,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,CAAC,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;IAEA,IAAW,CAAC,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,MAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA;;;;AAIG;AACH,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;;AAGA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IAEO,WAAW,CAAC,CAAS,EAAE,CAAS,EAAA;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACI,IAAA,SAAS,CAAC,SAAmB,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;AAC/B,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM;AAC/B,QAAA,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AAE1C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpC;AAEA,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,KAAK,CAAC,OAAO,EAAE;YAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,KAAK,CAAC,OAAO,EAAE;;AAE/D,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,EAAE;gBACvE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;AAElD,gBAAA,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;oBACvB,CAAC,CAAC,OAAO,EAAE;gBACb;YACF;QACF;AAAO,aAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACnB,YAAA,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACvC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACxC;QACF;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACtD;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,MAAgB,EAAA;QAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,IAAI,CAAC,OAAgB,EAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;IAEO,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAS;IACzD;IAEO,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAuB,EAAE,EAAA;QACnD,QACE,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;aAC/B,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACjC,aAAC,MAAM,KAAK,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAExI;IAEO,SAAS,GAAA;QACd,IAAI,IAAI,GAAG,QAAQ;QACnB,IAAI,IAAI,GAAG,QAAQ;AACnB,QAAA,IAAI,IAAI,GAAG,CAAC,QAAQ;AACpB,QAAA,IAAI,IAAI,GAAG,CAAC,QAAQ;AAEpB,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAChC;QAEA,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9E;AAEA;;;;;;;;;;AAUG;IACI,UAAU,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;AAE7B,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;AAChC,gBAAA,IAAI,CAAC,cAAc,GAAG,EAAE;YAC1B;;YAGA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACxC;AAEA,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE;YACjE;AAEA,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC5B;QAEA,OAAO,IAAI,CAAC,cAAe;IAC7B;AAEO,IAAA,OAAO,CAAC,IAAY,EAAE,MAAA,GAAmB,IAAI,QAAQ,EAAE,EAAA;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3E,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACvE;IAEO,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAA;AAClC,QAAA,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;IAC3D;AAEO,IAAA,cAAc,CAAC,MAAkB,EAAA;AACtC,QAAA,QAAQ,MAAM,CAAC,aAAa;YAC1B,KAAK,aAAa,CAAC,SAAS;gBAC1B,OAAO,oBAAoB,CAAE,MAAoB,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC;YACtE,KAAK,aAAa,CAAC,SAAS;AAC1B,gBAAA,OAAO,oBAAoB,CAAC,MAAmB,EAAE,IAAI,CAAC;YACxD,KAAK,aAAa,CAAC,OAAO;AACxB,gBAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAiB,CAAC;YACtD,KAAK,aAAa,CAAC,MAAM;AACvB,gBAAA,OAAO,sBAAsB,CAAC,MAAgB,EAAE,IAAI,CAAC;YACvD,KAAK,aAAa,CAAC,OAAO;AACxB,gBAAA,OAAO,uBAAuB,CAAC,MAAiB,EAAE,IAAI,CAAC;YACzD,KAAK,aAAa,CAAC,IAAI;AACrB,gBAAA,OAAO,oBAAoB,CAAC,MAAc,EAAE,IAAI,CAAC;YACnD,KAAK,aAAa,CAAC,KAAK;AACtB,gBAAA,OAAO,qBAAqB,CAAC,MAAgB,EAAE,IAAI,CAAC;AACtD,YAAA;AACE,gBAAA,OAAO,KAAK;;IAElB;AAEO,IAAA,YAAY,CAAC,MAAkB,EAAA;AACpC,QAAA,QAAQ,MAAM,CAAC,aAAa;YAC1B,KAAK,aAAa,CAAC,SAAS;AAC1B,gBAAA,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,KAAK,aAAa,CAAC,SAAS;AAC1B,gBAAA,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,KAAK,aAAa,CAAC,OAAO;AACxB,gBAAA,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,KAAK,aAAa,CAAC,MAAM;AACvB,gBAAA,OAAO,yBAAyB,CAAC,IAAI,EAAE,MAAgB,CAAC;;;;AAI1D,YAAA;AACE,gBAAA,OAAO,IAAI;;IAEjB;IAEO,OAAO,GAAA;AACZ,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,KAAK,CAAC,OAAO,EAAE;QACjB;AAEA,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE;QAChB;AAEA,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;AAChC,YAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACnC,CAAC,CAAC,OAAO,EAAE;YACb;AAEA,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC5B;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;IACxB;AAEO,IAAA,WAAW,IAAI,GAAA;AACpB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,IAAI,GAAG,IAAI,OAAO,EAAE;QACtB;AAEA,QAAA,OAAO,IAAI;IACb;AACD;;;;"}
|
|
@@ -102,17 +102,11 @@ class Quadtree {
|
|
|
102
102
|
queryRect(rect, results = []) {
|
|
103
103
|
// Check intersection using left/right/top/bottom comparisons to avoid
|
|
104
104
|
// needing a full Rectangle.intersectsWith() call with collision dispatch.
|
|
105
|
-
if (rect.right < this._bounds.left
|
|
106
|
-
|| rect.left > this._bounds.right
|
|
107
|
-
|| rect.bottom < this._bounds.top
|
|
108
|
-
|| rect.top > this._bounds.bottom) {
|
|
105
|
+
if (rect.right < this._bounds.left || rect.left > this._bounds.right || rect.bottom < this._bounds.top || rect.top > this._bounds.bottom) {
|
|
109
106
|
return results;
|
|
110
107
|
}
|
|
111
108
|
for (const item of this._items) {
|
|
112
|
-
if (!(item.bounds.right < rect.left
|
|
113
|
-
|| item.bounds.left > rect.right
|
|
114
|
-
|| item.bounds.bottom < rect.top
|
|
115
|
-
|| item.bounds.top > rect.bottom)) {
|
|
109
|
+
if (!(item.bounds.right < rect.left || item.bounds.left > rect.right || item.bounds.bottom < rect.top || item.bounds.top > rect.bottom)) {
|
|
116
110
|
results.push(item);
|
|
117
111
|
}
|
|
118
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quadtree.js","sources":["../../../../src/math/Quadtree.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;;;;;;;;;;;;;;;AAoBG;MACU,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"Quadtree.js","sources":["../../../../src/math/Quadtree.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;;;;;;;;;;;;;;;AAoBG;MACU,QAAQ,CAAA;AACF,IAAA,OAAO;AACP,IAAA,SAAS;AACT,IAAA,SAAS;AACT,IAAA,MAAM;AACf,IAAA,MAAM;AACN,IAAA,SAAS;AAEjB,IAAA,WAAA,CAAmB,MAAiB,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAA;AACzE,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;IACvB;AAEA;;;;AAIG;AACI,IAAA,MAAM,CAAC,IAAqB,EAAA;;AAEjC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAClE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB;QACF;;AAGA,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAC3D,IAAI,CAAC,UAAU,EAAE;QACnB;;AAGA,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC3C,oBAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClB;gBACF;YACF;QACF;;AAGA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB;AAEA;;;;;;;;;;;;AAYG;AACI,IAAA,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,UAAkC,EAAE,EAAA;AAC1E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAChC,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAC9B,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;YACjC;QACF;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA;;;;;;AAMG;AACI,IAAA,SAAS,CAAC,IAAe,EAAE,OAAA,GAAkC,EAAE,EAAA;;;AAGpE,QAAA,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACxI,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AAC9B,YAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;AACvI,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAClC,gBAAA,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;YAChC;QACF;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA;;;;;AAKG;AACI,IAAA,MAAM,CAAC,IAAqB,EAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAEvC,QAAA,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAE5B,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAClC,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACtB,oBAAA,OAAO,IAAI;gBACb;YACF;QACF;AAEA,QAAA,OAAO,KAAK;IACd;;IAGO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;AAEtB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,KAAK,CAAC,KAAK,EAAE;YACf;AAEA,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;IACF;AAEA;;;;;;;AAOG;AACI,IAAA,WAAW,CAAC,QAAmC,EAAA;AACpD,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AAEtB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAClC,gBAAA,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC7B;QACF;IACF;IAEO,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,KAAK,CAAC,OAAO,EAAE;YACjB;AAEA,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;IACF;IAEQ,UAAU,GAAA;AAChB,QAAA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO;AAC5C,QAAA,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;AAC/B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;QAE/B,IAAI,CAAC,SAAS,GAAG;;AAEf,YAAA,IAAI,QAAQ,CAAI,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;;YAE7E,IAAI,QAAQ,CAAI,IAAI,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;;YAErF,IAAI,QAAQ,CAAI,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;;YAErF,IAAI,QAAQ,CAAI,IAAI,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC;SAC9F;IACH;AACD;;;;"}
|
package/dist/esm/math/Random.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const limit =
|
|
1
|
+
const limit = 2 ** 32 - 1;
|
|
2
2
|
/**
|
|
3
3
|
* Seedable pseudo-random number generator based on the Mersenne Twister
|
|
4
4
|
* (MT19937) algorithm. Produces 32-bit unsigned integers with period 2^19937−1,
|
|
@@ -47,7 +47,7 @@ class Random {
|
|
|
47
47
|
this._state[0] = this._seed;
|
|
48
48
|
for (let i = 1; i < 624; i++) {
|
|
49
49
|
const s = this._state[i - 1] ^ (this._state[i - 1] >>> 30);
|
|
50
|
-
this._state[i] = ((((
|
|
50
|
+
this._state[i] = ((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253 + i;
|
|
51
51
|
this._state[i] |= 0;
|
|
52
52
|
}
|
|
53
53
|
this._iteration = 0;
|
|
@@ -62,11 +62,11 @@ class Random {
|
|
|
62
62
|
this._twist();
|
|
63
63
|
}
|
|
64
64
|
this._value = this._state[this._iteration++];
|
|
65
|
-
this._value ^=
|
|
65
|
+
this._value ^= this._value >>> 11;
|
|
66
66
|
this._value ^= (this._value << 7) & 0x9d2c5680;
|
|
67
67
|
this._value ^= (this._value << 15) & 0xefc60000;
|
|
68
|
-
this._value ^=
|
|
69
|
-
this._value = ((
|
|
68
|
+
this._value ^= this._value >>> 18;
|
|
69
|
+
this._value = ((this._value >>> 0) / limit) * (max - min) + min;
|
|
70
70
|
return this._value;
|
|
71
71
|
}
|
|
72
72
|
destroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Random.js","sources":["../../../../src/math/Random.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Random.js","sources":["../../../../src/math/Random.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Collidable, CollisionResponse } from '@/math/Collision';
|
|
2
|
+
import { CollisionType } from '@/math/Collision';
|
|
2
3
|
import { Interval } from '@/math/Interval';
|
|
3
4
|
import type { Matrix } from '@/math/Matrix';
|
|
4
5
|
import type { ShapeLike } from '@/math/ShapeLike';
|
|
5
|
-
import
|
|
6
|
-
import { CollisionType } from '@/math/Collision';
|
|
6
|
+
import { Size } from '@/math/Size';
|
|
7
7
|
import type { Vector } from '@/math/Vector';
|
|
8
8
|
/**
|
|
9
9
|
* Mutable axis-aligned rectangle defined by a top-left origin `(x, y)` and
|
|
@@ -44,7 +44,7 @@ export declare class Rectangle implements ShapeLike {
|
|
|
44
44
|
clone(): this;
|
|
45
45
|
equals({ x, y, width, height }?: Partial<Rectangle>): boolean;
|
|
46
46
|
getBounds(): Rectangle;
|
|
47
|
-
getNormals():
|
|
47
|
+
getNormals(): Vector[];
|
|
48
48
|
project(axis: Vector, result?: Interval): Interval;
|
|
49
49
|
/**
|
|
50
50
|
* Apply a 3×3 affine `matrix` to all four corners of this rectangle, then
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { inRange } from './utils.js';
|
|
2
|
-
import { Size } from './Size.js';
|
|
3
|
-
import { Interval } from './Interval.js';
|
|
4
|
-
import { ObservableVector } from './ObservableVector.js';
|
|
5
1
|
import { CollisionType } from './Collision.js';
|
|
6
2
|
import { intersectionPointRect, intersectionLineRect, intersectionRectEllipse, intersectionRectCircle, intersectionRectPoly, intersectionRectRect, intersectionSat, getCollisionEllipseRectangle, getCollisionCircleRectangle, getCollisionSat, getCollisionRectangleRectangle } from './collision-detection.js';
|
|
3
|
+
import { Interval } from './Interval.js';
|
|
4
|
+
import { ObservableVector } from './ObservableVector.js';
|
|
5
|
+
import { Size } from './Size.js';
|
|
6
|
+
import { inRange } from './utils.js';
|
|
7
7
|
|
|
8
8
|
let temp = null;
|
|
9
9
|
const noop = () => { };
|
|
@@ -106,22 +106,17 @@ class Rectangle {
|
|
|
106
106
|
return new Rectangle(this.x, this.y, this.width, this.height);
|
|
107
107
|
}
|
|
108
108
|
equals({ x, y, width, height } = {}) {
|
|
109
|
-
return (x === undefined || this.x === x)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
return ((x === undefined || this.x === x) &&
|
|
110
|
+
(y === undefined || this.y === y) &&
|
|
111
|
+
(width === undefined || this.width === width) &&
|
|
112
|
+
(height === undefined || this.height === height));
|
|
113
113
|
}
|
|
114
114
|
getBounds() {
|
|
115
115
|
return this.clone();
|
|
116
116
|
}
|
|
117
117
|
getNormals() {
|
|
118
118
|
if (this._normalsDirty || this._normals === null) {
|
|
119
|
-
this._updateNormals(this._normals || (this._normals = [
|
|
120
|
-
new ObservableVector(noop),
|
|
121
|
-
new ObservableVector(noop),
|
|
122
|
-
new ObservableVector(noop),
|
|
123
|
-
new ObservableVector(noop),
|
|
124
|
-
]));
|
|
119
|
+
this._updateNormals(this._normals || (this._normals = [new ObservableVector(noop), new ObservableVector(noop), new ObservableVector(noop), new ObservableVector(noop)]));
|
|
125
120
|
this._normalsDirty = false;
|
|
126
121
|
}
|
|
127
122
|
return this._normals;
|
|
@@ -140,7 +135,10 @@ class Rectangle {
|
|
|
140
135
|
*/
|
|
141
136
|
transform(matrix, result = this) {
|
|
142
137
|
const point = tempPoint.set(this.left, this.top).transform(matrix);
|
|
143
|
-
let minX = point.x
|
|
138
|
+
let minX = point.x;
|
|
139
|
+
let maxX = point.x;
|
|
140
|
+
let minY = point.y;
|
|
141
|
+
let maxY = point.y;
|
|
144
142
|
point.set(this.left, this.bottom).transform(matrix);
|
|
145
143
|
minX = Math.min(minX, point.x);
|
|
146
144
|
minY = Math.min(minY, point.y);
|
|
@@ -163,39 +161,47 @@ class Rectangle {
|
|
|
163
161
|
}
|
|
164
162
|
/** Return `true` when `rect` is entirely within this rectangle (all four edges inside). */
|
|
165
163
|
containsRect(rect) {
|
|
166
|
-
return inRange(rect.left, this.left, this.right)
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
164
|
+
return (inRange(rect.left, this.left, this.right) &&
|
|
165
|
+
inRange(rect.right, this.left, this.right) &&
|
|
166
|
+
inRange(rect.top, this.top, this.bottom) &&
|
|
167
|
+
inRange(rect.bottom, this.top, this.bottom));
|
|
170
168
|
}
|
|
171
169
|
intersectsWith(target) {
|
|
172
170
|
switch (target.collisionType) {
|
|
173
171
|
case CollisionType.SceneNode:
|
|
174
|
-
return target.isAlignedBox
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
case CollisionType.
|
|
178
|
-
|
|
179
|
-
case CollisionType.Circle:
|
|
180
|
-
|
|
181
|
-
case CollisionType.
|
|
182
|
-
|
|
183
|
-
|
|
172
|
+
return target.isAlignedBox ? intersectionRectRect(this, target.getBounds()) : intersectionSat(this, target);
|
|
173
|
+
case CollisionType.Rectangle:
|
|
174
|
+
return intersectionRectRect(this, target);
|
|
175
|
+
case CollisionType.Polygon:
|
|
176
|
+
return intersectionRectPoly(this, target);
|
|
177
|
+
case CollisionType.Circle:
|
|
178
|
+
return intersectionRectCircle(this, target);
|
|
179
|
+
case CollisionType.Ellipse:
|
|
180
|
+
return intersectionRectEllipse(this, target);
|
|
181
|
+
case CollisionType.Line:
|
|
182
|
+
return intersectionLineRect(target, this);
|
|
183
|
+
case CollisionType.Point:
|
|
184
|
+
return intersectionPointRect(target, this);
|
|
185
|
+
default:
|
|
186
|
+
return false;
|
|
184
187
|
}
|
|
185
188
|
}
|
|
186
189
|
collidesWith(target) {
|
|
187
190
|
switch (target.collisionType) {
|
|
188
191
|
case CollisionType.SceneNode:
|
|
189
|
-
return target.isAlignedBox
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
case CollisionType.
|
|
193
|
-
|
|
194
|
-
case CollisionType.Circle:
|
|
195
|
-
|
|
192
|
+
return target.isAlignedBox ? getCollisionRectangleRectangle(this, target.getBounds()) : getCollisionSat(this, target);
|
|
193
|
+
case CollisionType.Rectangle:
|
|
194
|
+
return getCollisionRectangleRectangle(this, target);
|
|
195
|
+
case CollisionType.Polygon:
|
|
196
|
+
return getCollisionSat(this, target);
|
|
197
|
+
case CollisionType.Circle:
|
|
198
|
+
return getCollisionCircleRectangle(target, this, true);
|
|
199
|
+
case CollisionType.Ellipse:
|
|
200
|
+
return getCollisionEllipseRectangle(target, this, true);
|
|
196
201
|
// case CollisionType.Line: return intersectionLineRect(target as Line, this);
|
|
197
202
|
// case CollisionType.Point: return intersectionPointRect(target as Vector, this);
|
|
198
|
-
default:
|
|
203
|
+
default:
|
|
204
|
+
return null;
|
|
199
205
|
}
|
|
200
206
|
}
|
|
201
207
|
destroy() {
|
|
@@ -206,10 +212,22 @@ class Rectangle {
|
|
|
206
212
|
}
|
|
207
213
|
}
|
|
208
214
|
_updateNormals(normals) {
|
|
209
|
-
normals[0]
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
normals[0]
|
|
216
|
+
.set(this.right - this.left, 0)
|
|
217
|
+
.rperp()
|
|
218
|
+
.normalize();
|
|
219
|
+
normals[1]
|
|
220
|
+
.set(0, this.bottom - this.top)
|
|
221
|
+
.rperp()
|
|
222
|
+
.normalize();
|
|
223
|
+
normals[2]
|
|
224
|
+
.set(this.left - this.right, 0)
|
|
225
|
+
.rperp()
|
|
226
|
+
.normalize();
|
|
227
|
+
normals[3]
|
|
228
|
+
.set(0, this.top - this.bottom)
|
|
229
|
+
.rperp()
|
|
230
|
+
.normalize();
|
|
213
231
|
}
|
|
214
232
|
static get temp() {
|
|
215
233
|
if (temp === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.js","sources":["../../../../src/math/Rectangle.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"Rectangle.js","sources":["../../../../src/math/Rectangle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Vector } from '@/math/Vector';
|
|
2
1
|
import type { Cloneable } from '@/core/types';
|
|
2
|
+
import { Vector } from '@/math/Vector';
|
|
3
3
|
/**
|
|
4
4
|
* Mutable line segment defined by start and end {@link Vector}s. Unlike
|
|
5
5
|
* {@link Line} this type does not implement {@link ShapeLike} — it is a
|
package/dist/esm/math/Segment.js
CHANGED
|
@@ -65,10 +65,10 @@ class Segment {
|
|
|
65
65
|
return new Segment(this.startX, this.startY, this.endX, this.endY);
|
|
66
66
|
}
|
|
67
67
|
equals({ startX, startY, endX, endY } = {}) {
|
|
68
|
-
return (startX === undefined || this.startX === startX)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
return ((startX === undefined || this.startX === startX) &&
|
|
69
|
+
(startY === undefined || this.startY === startY) &&
|
|
70
|
+
(endX === undefined || this.endX === endX) &&
|
|
71
|
+
(endY === undefined || this.endY === endY));
|
|
72
72
|
}
|
|
73
73
|
destroy() {
|
|
74
74
|
this._startPoint.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Segment.js","sources":["../../../../src/math/Segment.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA,IAAI,IAAI,GAAmB,IAAI;AAE/B;;;;;;AAMG;MACU,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Segment.js","sources":["../../../../src/math/Segment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Collidable } from '@/math/Collision';
|
|
2
1
|
import type { Cloneable, Destroyable, HasBoundingBox } from '@/core/types';
|
|
2
|
+
import type { Collidable } from '@/math/Collision';
|
|
3
3
|
/**
|
|
4
4
|
* Full shape contract: a {@link Collidable} that can also be cloned, destroyed,
|
|
5
5
|
* and queried for its axis-aligned bounding box. All concrete shape classes
|
package/dist/esm/math/Size.js
CHANGED
|
@@ -61,8 +61,7 @@ class Size {
|
|
|
61
61
|
return new Size(this._width, this._height);
|
|
62
62
|
}
|
|
63
63
|
equals({ width, height } = {}) {
|
|
64
|
-
return (width === undefined || this.width === width)
|
|
65
|
-
&& (height === undefined || this.height === height);
|
|
64
|
+
return (width === undefined || this.width === width) && (height === undefined || this.height === height);
|
|
66
65
|
}
|
|
67
66
|
destroy() {
|
|
68
67
|
// no-op — pure value class, kept for Destroyable interface conformance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Size.js","sources":["../../../../src/math/Size.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,IAAI,IAAI,GAAgB,IAAI;AAE5B;;;;;;;;AAQG;MACU,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"Size.js","sources":["../../../../src/math/Size.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,IAAI,IAAI,GAAgB,IAAI;AAE5B;;;;;;;;AAQG;MACU,IAAI,CAAA;AACL,IAAA,MAAM;AACN,IAAA,OAAO;AAEjB,IAAA,WAAA,CAAmB,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACvB;AAEA,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAW,KAAK,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,MAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACvB;AAEO,IAAA,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AAErB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,QAAQ,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AACnD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,KAAK,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAChD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,MAAM,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AACjD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,IAAI,CAAC,IAAuC,EAAA;AACjD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;AAE1B,QAAA,OAAO,IAAI;IACb;IAEO,KAAK,GAAA;QACV,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAS;IACpD;AAEO,IAAA,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAoB,EAAE,EAAA;QACjD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IAC1G;IAEO,OAAO,GAAA;;IAEd;IAEO,OAAgB,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAErC,IAAA,WAAW,IAAI,GAAA;AACpB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE;QACnB;AAEA,QAAA,OAAO,IAAI;IACb;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ShapeLike } from '@/math/ShapeLike';
|
|
2
|
-
import { Interval } from '@/math/Interval';
|
|
3
1
|
import type { Collidable, CollisionResponse } from '@/math/Collision';
|
|
4
2
|
import { CollisionType } from '@/math/Collision';
|
|
3
|
+
import { Interval } from '@/math/Interval';
|
|
5
4
|
import { Rectangle } from '@/math/Rectangle';
|
|
5
|
+
import type { ShapeLike } from '@/math/ShapeLike';
|
|
6
6
|
import { AbstractVector } from './AbstractVector';
|
|
7
7
|
/**
|
|
8
8
|
* Concrete mutable 2D vector with full {@link AbstractVector} arithmetic and
|
|
@@ -24,10 +24,10 @@ export declare class Vector extends AbstractVector implements ShapeLike {
|
|
|
24
24
|
clone(): this;
|
|
25
25
|
copy(vector: Vector): this;
|
|
26
26
|
intersectsWith(target: Collidable): boolean;
|
|
27
|
-
collidesWith(
|
|
27
|
+
collidesWith(_target: Collidable): CollisionResponse | null;
|
|
28
28
|
getBounds(): Rectangle;
|
|
29
29
|
contains(x: number, y: number): boolean;
|
|
30
|
-
getNormals():
|
|
30
|
+
getNormals(): Vector[];
|
|
31
31
|
project(axis: Vector, interval?: Interval): Interval;
|
|
32
32
|
destroy(): void;
|
|
33
33
|
static get temp(): Vector;
|