@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
|
@@ -22,17 +22,24 @@ export declare enum SoundPoolStrategy {
|
|
|
22
22
|
*/
|
|
23
23
|
LowestPriority = "priority"
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Named sub-region of an {@link AudioBuffer} used as an audio sprite sheet.
|
|
27
|
+
* `start` / `end` are seconds into the buffer; `loop` makes
|
|
28
|
+
* {@link Sound.playSprite} loop the sprite indefinitely.
|
|
29
|
+
*/
|
|
25
30
|
export interface AudioSpriteClip {
|
|
26
31
|
start: number;
|
|
27
32
|
end: number;
|
|
28
33
|
loop?: boolean;
|
|
29
34
|
}
|
|
35
|
+
/** Construction options for {@link Sound}. */
|
|
30
36
|
export interface SoundOptions extends Partial<PlaybackOptions> {
|
|
31
37
|
poolSize?: number;
|
|
32
38
|
poolStrategy?: SoundPoolStrategy;
|
|
33
39
|
priority?: number;
|
|
34
40
|
sprites?: Readonly<Record<string, AudioSpriteClip>>;
|
|
35
41
|
}
|
|
42
|
+
/** Per-call overrides for {@link Sound.play} and {@link Sound.playSprite}. */
|
|
36
43
|
export interface PlayOptions extends Partial<PlaybackOptions> {
|
|
37
44
|
bus?: AudioBus;
|
|
38
45
|
/**
|
|
@@ -44,6 +51,24 @@ export interface PlayOptions extends Partial<PlaybackOptions> {
|
|
|
44
51
|
*/
|
|
45
52
|
replace?: boolean;
|
|
46
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Pre-decoded short audio clip backed by an `AudioBuffer`. Each
|
|
56
|
+
* {@link Sound.play} call grabs a free `AudioBufferSourceNode` from the
|
|
57
|
+
* pool (default size 8) so the same sound can overlap itself; when the
|
|
58
|
+
* pool is full the configured {@link SoundPoolStrategy} decides which
|
|
59
|
+
* source to evict.
|
|
60
|
+
*
|
|
61
|
+
* Supports audio-sprite playback via {@link Sound.playSprite} — name a
|
|
62
|
+
* sub-region in the {@link AudioSpriteClip} options and trigger by name.
|
|
63
|
+
*
|
|
64
|
+
* Routes through any {@link AudioBus}; defaults to the engine's `sound`
|
|
65
|
+
* bus. Calling {@link Sound.makeSpatial} attaches a panner so the sound
|
|
66
|
+
* follows a {@link SceneNode} or world-space target with distance
|
|
67
|
+
* attenuation handled by Web Audio.
|
|
68
|
+
*
|
|
69
|
+
* Use {@link Music} for long-form streaming audio (single source, decoded
|
|
70
|
+
* lazily) — `Sound` is best for short, frequently-triggered clips.
|
|
71
|
+
*/
|
|
47
72
|
export declare class Sound extends AbstractMedia {
|
|
48
73
|
private readonly _audioBuffer;
|
|
49
74
|
private readonly _pooledSources;
|
package/dist/esm/audio/Sound.js
CHANGED
|
@@ -25,6 +25,24 @@ var SoundPoolStrategy;
|
|
|
25
25
|
*/
|
|
26
26
|
SoundPoolStrategy["LowestPriority"] = "priority";
|
|
27
27
|
})(SoundPoolStrategy || (SoundPoolStrategy = {}));
|
|
28
|
+
/**
|
|
29
|
+
* Pre-decoded short audio clip backed by an `AudioBuffer`. Each
|
|
30
|
+
* {@link Sound.play} call grabs a free `AudioBufferSourceNode` from the
|
|
31
|
+
* pool (default size 8) so the same sound can overlap itself; when the
|
|
32
|
+
* pool is full the configured {@link SoundPoolStrategy} decides which
|
|
33
|
+
* source to evict.
|
|
34
|
+
*
|
|
35
|
+
* Supports audio-sprite playback via {@link Sound.playSprite} — name a
|
|
36
|
+
* sub-region in the {@link AudioSpriteClip} options and trigger by name.
|
|
37
|
+
*
|
|
38
|
+
* Routes through any {@link AudioBus}; defaults to the engine's `sound`
|
|
39
|
+
* bus. Calling {@link Sound.makeSpatial} attaches a panner so the sound
|
|
40
|
+
* follows a {@link SceneNode} or world-space target with distance
|
|
41
|
+
* attenuation handled by Web Audio.
|
|
42
|
+
*
|
|
43
|
+
* Use {@link Music} for long-form streaming audio (single source, decoded
|
|
44
|
+
* lazily) — `Sound` is best for short, frequently-triggered clips.
|
|
45
|
+
*/
|
|
28
46
|
class Sound extends AbstractMedia {
|
|
29
47
|
_audioBuffer;
|
|
30
48
|
_pooledSources = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sound.js","sources":["../../../../src/audio/Sound.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sound.js","sources":["../../../../src/audio/Sound.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,59 @@
|
|
|
1
1
|
import { Signal } from '@/core/Signal';
|
|
2
|
+
/**
|
|
3
|
+
* Specialised {@link Signal} that fires once the global `AudioContext` reaches
|
|
4
|
+
* the `running` state. Subscribing via `add` or `once` automatically begins
|
|
5
|
+
* monitoring for user-interaction events that are required to resume a
|
|
6
|
+
* suspended context in browsers with autoplay policy.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
2
10
|
declare class AudioContextReadySignal extends Signal<[AudioContext]> {
|
|
11
|
+
/** Subscribe and immediately start interaction monitoring. */
|
|
3
12
|
add(handler: (audioContext: AudioContext) => void | boolean, context?: object): this;
|
|
13
|
+
/** Subscribe once and immediately start interaction monitoring. */
|
|
4
14
|
once(handler: (audioContext: AudioContext) => void | boolean, context?: object): this;
|
|
5
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Signal that dispatches once the global `AudioContext` enters the `running`
|
|
18
|
+
* state. Handles browser autoplay-policy by listening for user-interaction
|
|
19
|
+
* events (`mousedown`, `touchstart`, `touchend`) and resuming a suspended
|
|
20
|
+
* context automatically.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* onAudioContextReady.once((ctx) => {
|
|
25
|
+
* // safe to schedule audio nodes
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
6
29
|
export declare const onAudioContextReady: AudioContextReadySignal;
|
|
30
|
+
/**
|
|
31
|
+
* Return the global singleton `AudioContext`, creating it if it does not yet
|
|
32
|
+
* exist. Also starts interaction-unlock monitoring so the context will resume
|
|
33
|
+
* on the first user gesture. Throws if `AudioContext` is not available in the
|
|
34
|
+
* current environment.
|
|
35
|
+
*/
|
|
7
36
|
export declare const getAudioContext: () => AudioContext;
|
|
37
|
+
/**
|
|
38
|
+
* Return `true` if the global `AudioContext` has been created and is currently
|
|
39
|
+
* in the `running` state. Safe to call before `getAudioContext`; returns
|
|
40
|
+
* `false` if no context exists yet.
|
|
41
|
+
*/
|
|
8
42
|
export declare const isAudioContextReady: () => boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Return the shared singleton `OfflineAudioContext` used for audio decoding.
|
|
45
|
+
* Its sample rate matches the live `AudioContext`. Creates the live context
|
|
46
|
+
* as a side effect if it does not exist yet.
|
|
47
|
+
*/
|
|
9
48
|
export declare const getOfflineAudioContext: () => OfflineAudioContext;
|
|
49
|
+
/**
|
|
50
|
+
* Decode raw audio bytes into an `AudioBuffer` using the shared
|
|
51
|
+
* `OfflineAudioContext`. The context's sample rate is derived from the live
|
|
52
|
+
* `AudioContext`, ensuring decoded buffers are compatible with playback nodes.
|
|
53
|
+
*
|
|
54
|
+
* Note: on some older mobile WebKit versions `decodeAudioData` requires a
|
|
55
|
+
* running (live) context — decoding may fail with a browser-level error rather
|
|
56
|
+
* than an ExoJS-shaped error in those environments.
|
|
57
|
+
*/
|
|
10
58
|
export declare const decodeAudioData: (arrayBuffer: ArrayBuffer) => Promise<AudioBuffer>;
|
|
11
59
|
export {};
|
|
@@ -81,34 +81,77 @@ const onUserInteraction = () => {
|
|
|
81
81
|
dispatchReadyIfRunning();
|
|
82
82
|
});
|
|
83
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* Specialised {@link Signal} that fires once the global `AudioContext` reaches
|
|
86
|
+
* the `running` state. Subscribing via `add` or `once` automatically begins
|
|
87
|
+
* monitoring for user-interaction events that are required to resume a
|
|
88
|
+
* suspended context in browsers with autoplay policy.
|
|
89
|
+
*
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
84
92
|
class AudioContextReadySignal extends Signal {
|
|
93
|
+
/** Subscribe and immediately start interaction monitoring. */
|
|
85
94
|
add(handler, context) {
|
|
86
95
|
super.add(handler, context);
|
|
87
96
|
ensureAudioContextReadyMonitoring();
|
|
88
97
|
return this;
|
|
89
98
|
}
|
|
99
|
+
/** Subscribe once and immediately start interaction monitoring. */
|
|
90
100
|
once(handler, context) {
|
|
91
101
|
super.once(handler, context);
|
|
92
102
|
ensureAudioContextReadyMonitoring();
|
|
93
103
|
return this;
|
|
94
104
|
}
|
|
95
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Signal that dispatches once the global `AudioContext` enters the `running`
|
|
108
|
+
* state. Handles browser autoplay-policy by listening for user-interaction
|
|
109
|
+
* events (`mousedown`, `touchstart`, `touchend`) and resuming a suspended
|
|
110
|
+
* context automatically.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* onAudioContextReady.once((ctx) => {
|
|
115
|
+
* // safe to schedule audio nodes
|
|
116
|
+
* });
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
96
119
|
const onAudioContextReady = new AudioContextReadySignal();
|
|
120
|
+
/**
|
|
121
|
+
* Return the global singleton `AudioContext`, creating it if it does not yet
|
|
122
|
+
* exist. Also starts interaction-unlock monitoring so the context will resume
|
|
123
|
+
* on the first user gesture. Throws if `AudioContext` is not available in the
|
|
124
|
+
* current environment.
|
|
125
|
+
*/
|
|
97
126
|
const getAudioContext = () => {
|
|
98
127
|
const audioContext = getOrCreateAudioContext();
|
|
99
128
|
ensureAudioContextReadyMonitoring();
|
|
100
129
|
return audioContext;
|
|
101
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* Return `true` if the global `AudioContext` has been created and is currently
|
|
133
|
+
* in the `running` state. Safe to call before `getAudioContext`; returns
|
|
134
|
+
* `false` if no context exists yet.
|
|
135
|
+
*/
|
|
102
136
|
const isAudioContextReady = () => {
|
|
103
137
|
const audioContext = getExistingAudioContext();
|
|
104
138
|
return audioContext !== null && audioContext.state === 'running';
|
|
105
139
|
};
|
|
140
|
+
/**
|
|
141
|
+
* Return the shared singleton `OfflineAudioContext` used for audio decoding.
|
|
142
|
+
* Its sample rate matches the live `AudioContext`. Creates the live context
|
|
143
|
+
* as a side effect if it does not exist yet.
|
|
144
|
+
*/
|
|
106
145
|
const getOfflineAudioContext = () => getOrCreateOfflineAudioContext();
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
146
|
+
/**
|
|
147
|
+
* Decode raw audio bytes into an `AudioBuffer` using the shared
|
|
148
|
+
* `OfflineAudioContext`. The context's sample rate is derived from the live
|
|
149
|
+
* `AudioContext`, ensuring decoded buffers are compatible with playback nodes.
|
|
150
|
+
*
|
|
151
|
+
* Note: on some older mobile WebKit versions `decodeAudioData` requires a
|
|
152
|
+
* running (live) context — decoding may fail with a browser-level error rather
|
|
153
|
+
* than an ExoJS-shaped error in those environments.
|
|
154
|
+
*/
|
|
112
155
|
const decodeAudioData = async (arrayBuffer) => getOrCreateOfflineAudioContext().decodeAudioData(arrayBuffer);
|
|
113
156
|
|
|
114
157
|
export { decodeAudioData, getAudioContext, getOfflineAudioContext, isAudioContextReady, onAudioContextReady };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-context.js","sources":["../../../../src/audio/audio-context.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"audio-context.js","sources":["../../../../src/audio/audio-context.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AudioFilter } from '../AudioFilter';
|
|
2
|
+
/** Construction options for {@link ChorusFilter}. */
|
|
2
3
|
export interface ChorusFilterOptions {
|
|
3
4
|
/** Base delay in ms. Typical 15-30ms. Default 25. */
|
|
4
5
|
delayMs?: number;
|
|
@@ -34,12 +35,16 @@ export declare class ChorusFilter extends AudioFilter {
|
|
|
34
35
|
constructor(options?: ChorusFilterOptions);
|
|
35
36
|
get inputNode(): AudioNode;
|
|
36
37
|
get outputNode(): AudioNode;
|
|
38
|
+
/** Base delay time in milliseconds. Default 25. */
|
|
37
39
|
get delayMs(): number;
|
|
38
40
|
set delayMs(value: number);
|
|
41
|
+
/** LFO modulation depth in milliseconds (peak deviation from base delay). Default 5. */
|
|
39
42
|
get depthMs(): number;
|
|
40
43
|
set depthMs(value: number);
|
|
44
|
+
/** LFO oscillation rate in Hz. Typical chorus range is 0.1–5 Hz; 5–15 Hz produces a vibrato effect. Default 1.5. */
|
|
41
45
|
get rateHz(): number;
|
|
42
46
|
set rateHz(value: number);
|
|
47
|
+
/** Wet (modulated) mix level, 0..1. The dry level is automatically `1 - wet`. Default 0.5. */
|
|
43
48
|
get wet(): number;
|
|
44
49
|
set wet(value: number);
|
|
45
50
|
destroy(): void;
|
|
@@ -49,6 +49,7 @@ class ChorusFilter extends AudioFilter {
|
|
|
49
49
|
// -------------------------------------------------------------------------
|
|
50
50
|
// Getters / setters
|
|
51
51
|
// -------------------------------------------------------------------------
|
|
52
|
+
/** Base delay time in milliseconds. Default 25. */
|
|
52
53
|
get delayMs() { return this._delayMs; }
|
|
53
54
|
set delayMs(value) {
|
|
54
55
|
this._delayMs = Math.max(0, value);
|
|
@@ -56,6 +57,7 @@ class ChorusFilter extends AudioFilter {
|
|
|
56
57
|
this._nodes.delayNode.delayTime.setTargetAtTime(this._delayMs / 1000, this._nodes.delayNode.context.currentTime, 0.01);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
60
|
+
/** LFO modulation depth in milliseconds (peak deviation from base delay). Default 5. */
|
|
59
61
|
get depthMs() { return this._depthMs; }
|
|
60
62
|
set depthMs(value) {
|
|
61
63
|
this._depthMs = Math.max(0, value);
|
|
@@ -63,6 +65,7 @@ class ChorusFilter extends AudioFilter {
|
|
|
63
65
|
this._nodes.lfoGain.gain.setTargetAtTime(this._depthMs / 1000, this._nodes.lfoGain.context.currentTime, 0.01);
|
|
64
66
|
}
|
|
65
67
|
}
|
|
68
|
+
/** LFO oscillation rate in Hz. Typical chorus range is 0.1–5 Hz; 5–15 Hz produces a vibrato effect. Default 1.5. */
|
|
66
69
|
get rateHz() { return this._rateHz; }
|
|
67
70
|
set rateHz(value) {
|
|
68
71
|
this._rateHz = Math.max(0, value);
|
|
@@ -70,6 +73,7 @@ class ChorusFilter extends AudioFilter {
|
|
|
70
73
|
this._nodes.lfoOscillator.frequency.setTargetAtTime(this._rateHz, this._nodes.inputGain.context.currentTime, 0.01);
|
|
71
74
|
}
|
|
72
75
|
}
|
|
76
|
+
/** Wet (modulated) mix level, 0..1. The dry level is automatically `1 - wet`. Default 0.5. */
|
|
73
77
|
get wet() { return this._wet; }
|
|
74
78
|
set wet(value) {
|
|
75
79
|
this._wet = Math.max(0, Math.min(1, value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChorusFilter.js","sources":["../../../../../src/audio/filters/ChorusFilter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ChorusFilter.js","sources":["../../../../../src/audio/filters/ChorusFilter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AudioFilter } from '../AudioFilter';
|
|
2
|
+
/** Construction options for {@link CompressorFilter}. All values are clamped to their valid ranges on assignment. */
|
|
2
3
|
export interface CompressorFilterOptions {
|
|
3
4
|
threshold?: number;
|
|
4
5
|
knee?: number;
|
|
@@ -6,6 +7,12 @@ export interface CompressorFilterOptions {
|
|
|
6
7
|
attack?: number;
|
|
7
8
|
release?: number;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Dynamic-range compressor backed by a Web Audio `DynamicsCompressorNode`.
|
|
12
|
+
* Reduces the volume of loud signals above a threshold, evening out the
|
|
13
|
+
* perceived loudness of a mix. All parameter changes are applied with a short
|
|
14
|
+
* smoothing ramp so they are artifact-free during playback.
|
|
15
|
+
*/
|
|
9
16
|
export declare class CompressorFilter extends AudioFilter {
|
|
10
17
|
private _node;
|
|
11
18
|
private _threshold;
|
|
@@ -16,14 +23,19 @@ export declare class CompressorFilter extends AudioFilter {
|
|
|
16
23
|
constructor(options?: CompressorFilterOptions);
|
|
17
24
|
get inputNode(): AudioNode;
|
|
18
25
|
get outputNode(): AudioNode;
|
|
26
|
+
/** Level above which compression begins, in dBFS. Range −100..0, default −24. */
|
|
19
27
|
get threshold(): number;
|
|
20
28
|
set threshold(value: number);
|
|
29
|
+
/** Width in dB of the transition region around the threshold (soft knee). Range 0..40, default 30. */
|
|
21
30
|
get knee(): number;
|
|
22
31
|
set knee(value: number);
|
|
32
|
+
/** Input-to-output dB ratio above the threshold. Range 1..20, default 12. */
|
|
23
33
|
get ratio(): number;
|
|
24
34
|
set ratio(value: number);
|
|
35
|
+
/** Time in seconds for the compressor to engage after the signal exceeds the threshold. Range 0..1, default 0.003. */
|
|
25
36
|
get attack(): number;
|
|
26
37
|
set attack(value: number);
|
|
38
|
+
/** Time in seconds for the compressor to disengage after the signal drops below the threshold. Range 0..1, default 0.25. */
|
|
27
39
|
get release(): number;
|
|
28
40
|
set release(value: number);
|
|
29
41
|
destroy(): void;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { isAudioContextReady, getAudioContext, onAudioContextReady } from '../audio-context.js';
|
|
2
2
|
import { AudioFilter } from '../AudioFilter.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Dynamic-range compressor backed by a Web Audio `DynamicsCompressorNode`.
|
|
6
|
+
* Reduces the volume of loud signals above a threshold, evening out the
|
|
7
|
+
* perceived loudness of a mix. All parameter changes are applied with a short
|
|
8
|
+
* smoothing ramp so they are artifact-free during playback.
|
|
9
|
+
*/
|
|
4
10
|
class CompressorFilter extends AudioFilter {
|
|
5
11
|
_node = null;
|
|
6
12
|
_threshold;
|
|
@@ -32,6 +38,7 @@ class CompressorFilter extends AudioFilter {
|
|
|
32
38
|
throw new Error('CompressorFilter not yet initialized.');
|
|
33
39
|
return this._node;
|
|
34
40
|
}
|
|
41
|
+
/** Level above which compression begins, in dBFS. Range −100..0, default −24. */
|
|
35
42
|
get threshold() {
|
|
36
43
|
return this._threshold;
|
|
37
44
|
}
|
|
@@ -41,6 +48,7 @@ class CompressorFilter extends AudioFilter {
|
|
|
41
48
|
this._node.threshold.setTargetAtTime(this._threshold, this._node.context.currentTime, 0.01);
|
|
42
49
|
}
|
|
43
50
|
}
|
|
51
|
+
/** Width in dB of the transition region around the threshold (soft knee). Range 0..40, default 30. */
|
|
44
52
|
get knee() {
|
|
45
53
|
return this._knee;
|
|
46
54
|
}
|
|
@@ -50,6 +58,7 @@ class CompressorFilter extends AudioFilter {
|
|
|
50
58
|
this._node.knee.setTargetAtTime(this._knee, this._node.context.currentTime, 0.01);
|
|
51
59
|
}
|
|
52
60
|
}
|
|
61
|
+
/** Input-to-output dB ratio above the threshold. Range 1..20, default 12. */
|
|
53
62
|
get ratio() {
|
|
54
63
|
return this._ratio;
|
|
55
64
|
}
|
|
@@ -59,6 +68,7 @@ class CompressorFilter extends AudioFilter {
|
|
|
59
68
|
this._node.ratio.setTargetAtTime(this._ratio, this._node.context.currentTime, 0.01);
|
|
60
69
|
}
|
|
61
70
|
}
|
|
71
|
+
/** Time in seconds for the compressor to engage after the signal exceeds the threshold. Range 0..1, default 0.003. */
|
|
62
72
|
get attack() {
|
|
63
73
|
return this._attack;
|
|
64
74
|
}
|
|
@@ -68,6 +78,7 @@ class CompressorFilter extends AudioFilter {
|
|
|
68
78
|
this._node.attack.setTargetAtTime(this._attack, this._node.context.currentTime, 0.01);
|
|
69
79
|
}
|
|
70
80
|
}
|
|
81
|
+
/** Time in seconds for the compressor to disengage after the signal drops below the threshold. Range 0..1, default 0.25. */
|
|
71
82
|
get release() {
|
|
72
83
|
return this._release;
|
|
73
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompressorFilter.js","sources":["../../../../../src/audio/filters/CompressorFilter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"CompressorFilter.js","sources":["../../../../../src/audio/filters/CompressorFilter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { AudioFilter } from '../AudioFilter';
|
|
2
|
+
/** Construction options for {@link DelayFilter}. */
|
|
2
3
|
export interface DelayFilterOptions {
|
|
3
4
|
delaySeconds?: number;
|
|
4
5
|
feedback?: number;
|
|
5
6
|
wet?: number;
|
|
6
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Echo/delay effect using a Web Audio `DelayNode` with a feedback loop and
|
|
10
|
+
* dry/wet mix. The feedback path feeds the delayed signal back into itself,
|
|
11
|
+
* producing repeating echoes that decay naturally. Setting `feedback` near
|
|
12
|
+
* its maximum of 0.95 produces a long, prominent tail; lower values create
|
|
13
|
+
* a single slap-back echo.
|
|
14
|
+
*/
|
|
7
15
|
export declare class DelayFilter extends AudioFilter {
|
|
8
16
|
private _setup;
|
|
9
17
|
private _delaySeconds;
|
|
@@ -12,10 +20,13 @@ export declare class DelayFilter extends AudioFilter {
|
|
|
12
20
|
constructor(options?: DelayFilterOptions);
|
|
13
21
|
get inputNode(): AudioNode;
|
|
14
22
|
get outputNode(): AudioNode;
|
|
23
|
+
/** Delay time in seconds. Range 0..5, default 0.3. */
|
|
15
24
|
get delaySeconds(): number;
|
|
16
25
|
set delaySeconds(value: number);
|
|
26
|
+
/** Fraction of the delayed signal fed back into the delay input. Range 0..0.95, default 0.4. */
|
|
17
27
|
get feedback(): number;
|
|
18
28
|
set feedback(value: number);
|
|
29
|
+
/** Wet (delayed) mix level, 0..1. The dry level is automatically `1 - wet`. Default 0.5. */
|
|
19
30
|
get wet(): number;
|
|
20
31
|
set wet(value: number);
|
|
21
32
|
destroy(): void;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { isAudioContextReady, getAudioContext, onAudioContextReady } from '../audio-context.js';
|
|
2
2
|
import { AudioFilter } from '../AudioFilter.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Echo/delay effect using a Web Audio `DelayNode` with a feedback loop and
|
|
6
|
+
* dry/wet mix. The feedback path feeds the delayed signal back into itself,
|
|
7
|
+
* producing repeating echoes that decay naturally. Setting `feedback` near
|
|
8
|
+
* its maximum of 0.95 produces a long, prominent tail; lower values create
|
|
9
|
+
* a single slap-back echo.
|
|
10
|
+
*/
|
|
4
11
|
class DelayFilter extends AudioFilter {
|
|
5
12
|
_setup = null;
|
|
6
13
|
_delaySeconds;
|
|
@@ -28,6 +35,7 @@ class DelayFilter extends AudioFilter {
|
|
|
28
35
|
throw new Error('DelayFilter not yet initialized.');
|
|
29
36
|
return this._setup.outputGain;
|
|
30
37
|
}
|
|
38
|
+
/** Delay time in seconds. Range 0..5, default 0.3. */
|
|
31
39
|
get delaySeconds() {
|
|
32
40
|
return this._delaySeconds;
|
|
33
41
|
}
|
|
@@ -37,6 +45,7 @@ class DelayFilter extends AudioFilter {
|
|
|
37
45
|
this._setup.delayNode.delayTime.setTargetAtTime(this._delaySeconds, this._setup.delayNode.context.currentTime, 0.01);
|
|
38
46
|
}
|
|
39
47
|
}
|
|
48
|
+
/** Fraction of the delayed signal fed back into the delay input. Range 0..0.95, default 0.4. */
|
|
40
49
|
get feedback() {
|
|
41
50
|
return this._feedback;
|
|
42
51
|
}
|
|
@@ -46,6 +55,7 @@ class DelayFilter extends AudioFilter {
|
|
|
46
55
|
this._setup.feedbackGain.gain.setTargetAtTime(this._feedback, this._setup.feedbackGain.context.currentTime, 0.01);
|
|
47
56
|
}
|
|
48
57
|
}
|
|
58
|
+
/** Wet (delayed) mix level, 0..1. The dry level is automatically `1 - wet`. Default 0.5. */
|
|
49
59
|
get wet() {
|
|
50
60
|
return this._wet;
|
|
51
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayFilter.js","sources":["../../../../../src/audio/filters/DelayFilter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DelayFilter.js","sources":["../../../../../src/audio/filters/DelayFilter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { WorkletFilter } from './WorkletFilter';
|
|
2
2
|
import type { AudioBus } from '../AudioBus';
|
|
3
|
+
/** Construction options for {@link DuckingFilter}. `sidechain` is required. */
|
|
3
4
|
export interface DuckingFilterOptions {
|
|
4
5
|
sidechain: AudioBus;
|
|
5
6
|
threshold?: number;
|
|
@@ -7,6 +8,14 @@ export interface DuckingFilterOptions {
|
|
|
7
8
|
attackMs?: number;
|
|
8
9
|
releaseMs?: number;
|
|
9
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Sidechain compressor (ducker) implemented as an {@link WorkletFilter}.
|
|
13
|
+
* Attenuates the main audio signal whenever the `sidechain` {@link AudioBus}
|
|
14
|
+
* exceeds the threshold, then releases when it drops back down. Commonly used
|
|
15
|
+
* to duck background music under dialogue or sound effects. Attack and release
|
|
16
|
+
* times are expressed in milliseconds and converted internally to one-pole
|
|
17
|
+
* filter coefficients.
|
|
18
|
+
*/
|
|
10
19
|
export declare class DuckingFilter extends WorkletFilter {
|
|
11
20
|
private readonly _sidechain;
|
|
12
21
|
private _threshold;
|
|
@@ -20,12 +29,16 @@ export declare class DuckingFilter extends WorkletFilter {
|
|
|
20
29
|
protected _onWorkletReady(audioContext: AudioContext): void;
|
|
21
30
|
/** Convert ms time-constant to one-pole filter coefficient at given sample rate. */
|
|
22
31
|
private _msToCoeff;
|
|
32
|
+
/** Sidechain level above which the main signal is attenuated, in dBFS. Range −100..0, default −20. */
|
|
23
33
|
get threshold(): number;
|
|
24
34
|
set threshold(value: number);
|
|
35
|
+
/** Compression ratio applied to the main signal above the threshold. Range 1..20, default 4. */
|
|
25
36
|
get ratio(): number;
|
|
26
37
|
set ratio(value: number);
|
|
38
|
+
/** Attack time in milliseconds — how quickly the ducker engages. Default 30. */
|
|
27
39
|
get attackMs(): number;
|
|
28
40
|
set attackMs(value: number);
|
|
41
|
+
/** Release time in milliseconds — how quickly the ducker disengages. Default 300. */
|
|
29
42
|
get releaseMs(): number;
|
|
30
43
|
set releaseMs(value: number);
|
|
31
44
|
}
|