@codexo/exojs 0.8.4 → 0.9.0
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 +55 -0
- package/README.md +26 -5
- package/dist/esm/animation/Tween.d.ts +20 -3
- package/dist/esm/animation/Tween.js +16 -8
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +16 -1
- package/dist/esm/animation/TweenManager.js +27 -2
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/audio/AudioAnalyser.d.ts +2 -0
- package/dist/esm/audio/AudioAnalyser.js +24 -9
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/AudioBus.d.ts +1 -0
- package/dist/esm/audio/AudioBus.js +8 -4
- package/dist/esm/audio/AudioBus.js.map +1 -1
- package/dist/esm/audio/AudioListener.d.ts +1 -0
- package/dist/esm/audio/AudioListener.js +7 -5
- package/dist/esm/audio/AudioListener.js.map +1 -1
- package/dist/esm/audio/AudioManager.d.ts +8 -2
- package/dist/esm/audio/AudioManager.js +14 -1
- package/dist/esm/audio/AudioManager.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +2 -0
- package/dist/esm/audio/BeatDetector.js +27 -661
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/Music.d.ts +1 -0
- package/dist/esm/audio/Music.js +7 -3
- package/dist/esm/audio/Music.js.map +1 -1
- package/dist/esm/audio/OscillatorSound.d.ts +1 -0
- package/dist/esm/audio/OscillatorSound.js +7 -3
- package/dist/esm/audio/OscillatorSound.js.map +1 -1
- package/dist/esm/audio/Sound.d.ts +1 -0
- package/dist/esm/audio/Sound.js +7 -3
- package/dist/esm/audio/Sound.js.map +1 -1
- package/dist/esm/audio/audio-context.d.ts +2 -2
- package/dist/esm/audio/audio-context.js +4 -4
- package/dist/esm/audio/audio-context.js.map +1 -1
- package/dist/esm/audio/filters/ChorusFilter.d.ts +1 -0
- package/dist/esm/audio/filters/ChorusFilter.js +7 -3
- package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
- package/dist/esm/audio/filters/CompressorFilter.d.ts +1 -0
- package/dist/esm/audio/filters/CompressorFilter.js +7 -3
- package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
- package/dist/esm/audio/filters/DelayFilter.d.ts +1 -0
- package/dist/esm/audio/filters/DelayFilter.js +7 -3
- package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
- package/dist/esm/audio/filters/EqualizerFilter.d.ts +1 -0
- package/dist/esm/audio/filters/EqualizerFilter.js +7 -3
- package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
- package/dist/esm/audio/filters/GranularFilter.js +1 -86
- package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
- package/dist/esm/audio/filters/HighpassFilter.d.ts +1 -0
- package/dist/esm/audio/filters/HighpassFilter.js +7 -3
- package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/LowpassFilter.d.ts +1 -0
- package/dist/esm/audio/filters/LowpassFilter.js +7 -3
- package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
- package/dist/esm/audio/filters/PitchShiftFilter.js +1 -71
- package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
- package/dist/esm/audio/filters/ReverbFilter.d.ts +1 -0
- package/dist/esm/audio/filters/ReverbFilter.js +7 -3
- package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
- package/dist/esm/audio/filters/VocoderFilter.js +1 -89
- package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
- package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -0
- package/dist/esm/audio/filters/WorkletFilter.js +10 -5
- package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
- package/dist/esm/audio/index.d.ts +15 -10
- package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -1
- package/dist/esm/audio/worklet/registerWorklet.js +2 -2
- package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
- package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/beat-detector.worklet.js +647 -0
- package/dist/esm/audio/worklets/beat-detector.worklet.js.map +1 -0
- package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/granular.worklet.js +89 -0
- package/dist/esm/audio/worklets/granular.worklet.js.map +1 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.js +74 -0
- package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +1 -0
- package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
- package/dist/esm/audio/worklets/vocoder.worklet.js +92 -0
- package/dist/esm/audio/worklets/vocoder.worklet.js.map +1 -0
- package/dist/esm/core/Application.d.ts +62 -24
- package/dist/esm/core/Application.js +116 -40
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/Color.d.ts +0 -8
- package/dist/esm/core/Color.js +0 -24
- package/dist/esm/core/Color.js.map +1 -1
- package/dist/esm/core/Scene.d.ts +32 -72
- package/dist/esm/core/Scene.js +56 -36
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +11 -25
- package/dist/esm/core/SceneManager.js +37 -100
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +28 -14
- package/dist/esm/core/SceneNode.js +66 -33
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Signal.d.ts +24 -28
- package/dist/esm/core/Signal.js +64 -50
- package/dist/esm/core/Signal.js.map +1 -1
- package/dist/esm/core/Timer.d.ts +1 -0
- package/dist/esm/core/Timer.js +3 -0
- package/dist/esm/core/Timer.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.js +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.js +1 -1
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.js +1 -2
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/PointerStackLayer.js +1 -2
- package/dist/esm/debug/PointerStackLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.js +1 -2
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/index.js +23 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts +1 -0
- package/dist/esm/input/InputManager.js +30 -3
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionManager.d.ts +5 -2
- package/dist/esm/input/InteractionManager.js +29 -18
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/input/Pointer.js +3 -2
- package/dist/esm/input/Pointer.js.map +1 -1
- package/dist/esm/input/internal/interactionManagerRegistry.d.ts +9 -0
- package/dist/esm/input/internal/interactionManagerRegistry.js +10 -0
- package/dist/esm/input/internal/interactionManagerRegistry.js.map +1 -0
- package/dist/esm/math/AbstractVector.d.ts +1 -7
- package/dist/esm/math/AbstractVector.js +6 -20
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/Circle.js +0 -2
- package/dist/esm/math/Circle.js.map +1 -1
- package/dist/esm/math/Collision.d.ts +9 -3
- package/dist/esm/math/Ellipse.d.ts +2 -5
- package/dist/esm/math/Ellipse.js +10 -7
- package/dist/esm/math/Ellipse.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +1 -1
- package/dist/esm/math/ObservableVector.js +3 -3
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts +0 -2
- package/dist/esm/math/Polygon.js +1 -9
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/Rectangle.js +0 -2
- package/dist/esm/math/Rectangle.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts +19 -4
- package/dist/esm/math/collision-detection.js +61 -4
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/swept-collision.d.ts +16 -12
- package/dist/esm/math/swept-collision.js +109 -19
- package/dist/esm/math/swept-collision.js.map +1 -1
- package/dist/esm/particles/ParticleSystem.js +1 -1
- package/dist/esm/particles/ParticleSystem.js.map +1 -1
- package/dist/esm/particles/index.d.ts +1 -0
- package/dist/esm/rendering/CallbackRenderPass.d.ts +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js +1 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/Container.d.ts +2 -1
- package/dist/esm/rendering/Container.js +17 -16
- package/dist/esm/rendering/Container.js.map +1 -1
- package/dist/esm/rendering/RenderBackend.d.ts +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +1 -3
- package/dist/esm/rendering/RenderNode.js +12 -19
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderPass.d.ts +1 -0
- package/dist/esm/rendering/RenderStats.d.ts +9 -0
- package/dist/esm/rendering/RenderStats.js +2 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -1
- package/dist/esm/rendering/RendererRegistry.d.ts +1 -0
- package/dist/esm/rendering/RendererRegistry.js +1 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +23 -0
- package/dist/esm/rendering/View.js +42 -0
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +89 -59
- package/dist/esm/rendering/mesh/Mesh.js +1 -1
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/mesh/MeshShader.d.ts +1 -0
- package/dist/esm/rendering/mesh/MeshShader.js +1 -0
- package/dist/esm/rendering/mesh/MeshShader.js.map +1 -1
- package/dist/esm/rendering/shader/Shader.d.ts +1 -0
- package/dist/esm/rendering/shader/Shader.js +1 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -1
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts +3 -2
- package/dist/esm/rendering/sprite/Sprite.js +15 -13
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/text/AbstractText.d.ts +36 -0
- package/dist/esm/rendering/text/AbstractText.js +49 -0
- package/dist/esm/rendering/text/AbstractText.js.map +1 -0
- package/dist/esm/rendering/text/BitmapText.d.ts +97 -0
- package/dist/esm/rendering/text/BitmapText.js +220 -0
- package/dist/esm/rendering/text/BitmapText.js.map +1 -0
- package/dist/esm/rendering/text/BmFont.d.ts +50 -0
- package/dist/esm/rendering/text/BmFont.js +24 -0
- package/dist/esm/rendering/text/BmFont.js.map +1 -0
- package/dist/esm/rendering/text/GlyphAtlas.d.ts +104 -0
- package/dist/esm/rendering/text/GlyphAtlas.js +347 -0
- package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +40 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.js +67 -0
- package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -0
- package/dist/esm/rendering/text/GlyphSdf.d.ts +92 -0
- package/dist/esm/rendering/text/GlyphSdf.js +220 -0
- package/dist/esm/rendering/text/GlyphSdf.js.map +1 -0
- package/dist/esm/rendering/text/HTMLText.d.ts +107 -0
- package/dist/esm/rendering/text/HTMLText.js +284 -0
- package/dist/esm/rendering/text/HTMLText.js.map +1 -0
- package/dist/esm/rendering/text/LayoutOptions.d.ts +30 -0
- package/dist/esm/rendering/text/Text.d.ts +89 -20
- package/dist/esm/rendering/text/Text.js +176 -101
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts +20 -8
- package/dist/esm/rendering/text/TextLayout.js +234 -25
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/text/TextStyle.d.ts +154 -87
- package/dist/esm/rendering/text/TextStyle.js +257 -203
- package/dist/esm/rendering/text/TextStyle.js.map +1 -1
- package/dist/esm/rendering/text/types.d.ts +73 -13
- package/dist/esm/rendering/texture/Texture.d.ts +1 -0
- package/dist/esm/rendering/texture/Texture.js +1 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +3 -1
- package/dist/esm/rendering/types.js +2 -0
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/video/Video.d.ts +2 -1
- package/dist/esm/rendering/video/Video.js +9 -5
- package/dist/esm/rendering/video/Video.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +41 -5
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +4 -4
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +56 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +482 -0
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text-color.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +16 -8
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +26 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +23 -15
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +9 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +70 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +773 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +96 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +68 -0
- package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -0
- package/dist/esm/resources/Asset.d.ts +23 -0
- package/dist/esm/resources/Asset.js +23 -0
- package/dist/esm/resources/Asset.js.map +1 -0
- package/dist/esm/resources/AssetDefinitions.d.ts +137 -0
- package/dist/esm/resources/Assets.d.ts +35 -0
- package/dist/esm/resources/Assets.js +32 -0
- package/dist/esm/resources/Assets.js.map +1 -0
- package/dist/esm/resources/IndexedDbDatabase.js +17 -1
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
- package/dist/esm/resources/IndexedDbStore.js +17 -1
- package/dist/esm/resources/IndexedDbStore.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +244 -18
- package/dist/esm/resources/Loader.js +456 -50
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/LoadingQueue.d.ts +28 -0
- package/dist/esm/resources/LoadingQueue.js +59 -0
- package/dist/esm/resources/LoadingQueue.js.map +1 -0
- package/dist/esm/resources/factories/BmFontFactory.d.ts +25 -0
- package/dist/esm/resources/factories/BmFontFactory.js +96 -0
- package/dist/esm/resources/factories/BmFontFactory.js.map +1 -0
- package/dist/esm/resources/factories/CsvFactory.d.ts +35 -0
- package/dist/esm/resources/factories/CsvFactory.js +87 -0
- package/dist/esm/resources/factories/CsvFactory.js.map +1 -0
- package/dist/esm/resources/factories/MusicFactory.d.ts +8 -2
- package/dist/esm/resources/factories/MusicFactory.js +25 -14
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
- package/dist/esm/resources/factories/SoundFactory.d.ts +2 -2
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
- package/dist/esm/resources/factories/SubtitleFactory.d.ts +28 -0
- package/dist/esm/resources/factories/SubtitleFactory.js +203 -0
- package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -0
- package/dist/esm/resources/factories/SvgFactory.d.ts +18 -1
- package/dist/esm/resources/factories/SvgFactory.js +21 -2
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
- package/dist/esm/resources/factories/VideoFactory.d.ts +8 -2
- package/dist/esm/resources/factories/VideoFactory.js +27 -20
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
- package/dist/esm/resources/factories/XmlFactory.d.ts +24 -0
- package/dist/esm/resources/factories/XmlFactory.js +37 -0
- package/dist/esm/resources/factories/XmlFactory.js.map +1 -0
- package/dist/esm/resources/index.d.ts +8 -1
- package/dist/esm/resources/tokens.d.ts +49 -3
- package/dist/esm/resources/tokens.js +50 -4
- package/dist/esm/resources/tokens.js.map +1 -1
- package/dist/exo.esm.js +6635 -2550
- package/dist/exo.esm.js.map +1 -1
- package/package.json +16 -4
- package/dist/esm/input/interaction-hooks.d.ts +0 -34
- package/dist/esm/input/interaction-hooks.js +0 -35
- package/dist/esm/input/interaction-hooks.js.map +0 -1
- package/dist/esm/rendering/text/DynamicGlyphAtlas.d.ts +0 -33
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js +0 -134
- package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +0 -1
- package/dist/esm/rendering/text/atlas-singleton.d.ts +0 -7
- package/dist/esm/rendering/text/atlas-singleton.js +0 -17
- package/dist/esm/rendering/text/atlas-singleton.js.map +0 -1
- package/dist/esm/resources/factories/VttFactory.d.ts +0 -24
- package/dist/esm/resources/factories/VttFactory.js +0 -158
- package/dist/esm/resources/factories/VttFactory.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,61 @@ All notable changes to ExoJS are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.9.0] - 2026-05-24
|
|
8
|
+
|
|
9
|
+
### Migration guide
|
|
10
|
+
|
|
11
|
+
- ExoJS `v0.9.0` includes pre-1.0 API consolidation changes. Migration steps and before/after examples:
|
|
12
|
+
<https://exoridus.github.io/ExoJS/en/guide/migration/v0-8-x-to-v0-9-0/>
|
|
13
|
+
|
|
14
|
+
### Breaking — Public API consolidation
|
|
15
|
+
|
|
16
|
+
- `ApplicationOptions` moved from flat top-level fields to grouped `canvas`, `loader`, `rendering`, and `input` sections.
|
|
17
|
+
- Loader option renames: `resourcePath` → `basePath`, `requestOptions` → `fetchOptions`.
|
|
18
|
+
- Application scene accessor rename: `app.sceneManager` → `app.scene`.
|
|
19
|
+
- Active scene getter rename: `SceneManager.scene` → `SceneManager.currentScene`.
|
|
20
|
+
- Removed `Scene.getParticipationPolicy()` in favor of direct `scene.stackMode` access.
|
|
21
|
+
- Removed duplicate/alias APIs on scene objects:
|
|
22
|
+
- `SceneNode`: `parentNode`, `bounds`, `globalTransform`, `localBounds`, `setCullable()`
|
|
23
|
+
- `RenderNode`: `setCacheAsBitmap()`, `setFilters()`
|
|
24
|
+
- `Text`: `setText()`, `setStyle()`
|
|
25
|
+
- `Color`: `.red/.green/.blue/.alpha` (use `.r/.g/.b/.a`)
|
|
26
|
+
- `Tween.to()` now enforces numeric target keys at the TypeScript type level (`NumericKeys<T>`).
|
|
27
|
+
|
|
28
|
+
### Added / Improved
|
|
29
|
+
|
|
30
|
+
- Added skew transforms on scene nodes (`skewX`, `skewY`, `setSkew`), including bounds/hit-test correctness updates for skewed nodes.
|
|
31
|
+
- Added typed asset loading primitives and flows (`Asset<T>`, `Assets<M>`, `LoadingQueue`) while keeping low-level loader usage available.
|
|
32
|
+
- Improved tween ergonomics and lifecycle:
|
|
33
|
+
- managed tweens correctly re-register on restart after eviction (`stop`/`complete`)
|
|
34
|
+
- `TweenManager.sequence()` helper for chain creation
|
|
35
|
+
- scene-scoped tween proxy lifecycle behavior aligned with scene disposal
|
|
36
|
+
- Loop/timing hardening:
|
|
37
|
+
- `pauseOnHidden` resume delta-spike fix
|
|
38
|
+
- internal max-delta clamp for safer simulation updates
|
|
39
|
+
- `backend.stats.rawFrameDeltaMs` for profiling unclamped frame delta
|
|
40
|
+
- Collision/sweep documentation and response semantics were clarified and aligned to source behavior.
|
|
41
|
+
|
|
42
|
+
### Docs / API reference
|
|
43
|
+
|
|
44
|
+
- Published the v0.8.x → v0.9.0 migration guide in the docs guide tree.
|
|
45
|
+
- Regenerated API reference pages from the current source surface (215 API pages).
|
|
46
|
+
- API docs now hide internal-only methods marked for internal engine wiring.
|
|
47
|
+
|
|
48
|
+
### Build / Workspace / CI
|
|
49
|
+
|
|
50
|
+
- Workspace preparation completed for the `site` package under root npm workspaces with root-driven install/build flow.
|
|
51
|
+
- Consolidated root scripts for site orchestration (`site:build`, `site:build:api`) and bootstrap install.
|
|
52
|
+
- Removed separate `site/package-lock.json` in favor of a root lockfile workflow.
|
|
53
|
+
- Vendor sync scripts were hardened for both hoisted and non-hoisted dependency layouts (resolver-based Monaco and Exo vendor path discovery).
|
|
54
|
+
- Rollup build constants and environment-aware build modes were introduced (`production`/`development`, `__DEV__`, `__VERSION__`, `__COMMIT_SHA__`, `__BUILD_ENV__`).
|
|
55
|
+
- CI/release/pages workflows were aligned to root workspace installation and root-script site builds.
|
|
56
|
+
|
|
57
|
+
### Verification
|
|
58
|
+
|
|
59
|
+
- Engine checks pass at HEAD: typecheck clean, strict lint clean, tests passing (`106` suites / `1452` tests), exports verification clean.
|
|
60
|
+
- Site API generation and site build pass on the workspace-oriented pipeline.
|
|
61
|
+
|
|
7
62
|
## [0.8.4] - 2026-05-14
|
|
8
63
|
|
|
9
64
|
### Site / Guide
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ExoJS
|
|
2
2
|
|
|
3
|
-
ExoJS is a TypeScript-first 2D runtime for
|
|
3
|
+
ExoJS is a TypeScript-first 2D runtime for games and interactive apps, built around explicit scenes, practical rendering features, and predictable runtime behavior.
|
|
4
4
|
|
|
5
5
|
## Project status
|
|
6
6
|
|
|
@@ -68,9 +68,11 @@ if (!canvas) {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
const app = new Application({
|
|
71
|
-
canvas
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
canvas: {
|
|
72
|
+
element: canvas,
|
|
73
|
+
width: 800,
|
|
74
|
+
height: 600,
|
|
75
|
+
},
|
|
74
76
|
clearColor: Color.cornflowerBlue,
|
|
75
77
|
});
|
|
76
78
|
|
|
@@ -100,19 +102,38 @@ new Application({ backend: { type: 'auto' } });
|
|
|
100
102
|
|
|
101
103
|
The runnable live site (Astro + Lit + Monaco preview) lives in [`examples/`](examples/README.md) and is deployed as the repository's GitHub Pages site at <https://exoridus.github.io/ExoJS/>.
|
|
102
104
|
|
|
105
|
+
## Migrating to v0.9.0
|
|
106
|
+
|
|
107
|
+
ExoJS `v0.9.0` includes pre-1.0 API consolidation changes. See the migration guide for before/after examples:
|
|
108
|
+
|
|
109
|
+
- <https://exoridus.github.io/ExoJS/en/guide/migration/v0-8-x-to-v0-9-0/>
|
|
110
|
+
|
|
103
111
|
## Development
|
|
104
112
|
|
|
105
113
|
```bash
|
|
114
|
+
npm run bootstrap
|
|
106
115
|
npm run typecheck
|
|
107
116
|
npm run lint
|
|
108
117
|
npm test
|
|
109
118
|
npm run build
|
|
110
119
|
npm run verify:package
|
|
111
|
-
npm run perf:benchmark
|
|
112
120
|
```
|
|
113
121
|
|
|
114
122
|
Internal imports use the `@/*` path alias (mapped to `src/*`) — the same convention used by Vite, Next.js, and other modern TypeScript setups. Building the library requires TypeScript 6.
|
|
115
123
|
|
|
124
|
+
### Workspace Commands
|
|
125
|
+
|
|
126
|
+
This repository uses npm workspaces (`site/` is a workspace package).
|
|
127
|
+
Use root-level commands as the source of truth:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npm run bootstrap
|
|
131
|
+
npm run site:build
|
|
132
|
+
npm run site:build:api
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Avoid running `npm install`/`npm ci` inside `site/` directly to prevent lockfile drift.
|
|
136
|
+
|
|
116
137
|
## Links
|
|
117
138
|
|
|
118
139
|
- Repository: <https://github.com/Exoridus/ExoJS>
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { TweenManager } from './TweenManager';
|
|
2
2
|
import type { EasingFunction, TweenLifecycleCallback, TweenUpdateCallback } from './types';
|
|
3
3
|
import { TweenState } from './types';
|
|
4
|
+
type NumericKeys<T> = {
|
|
5
|
+
[K in keyof T]-?: NonNullable<T[K]> extends number ? K : never;
|
|
6
|
+
}[keyof T];
|
|
4
7
|
/**
|
|
5
8
|
* Animates numeric properties of `target` from their current value to a
|
|
6
9
|
* configured end value over a duration in seconds. Supports easing, delay,
|
|
@@ -28,6 +31,7 @@ import { TweenState } from './types';
|
|
|
28
31
|
* .repeat(-1)
|
|
29
32
|
* .start();
|
|
30
33
|
* ```
|
|
34
|
+
* @stable
|
|
31
35
|
*/
|
|
32
36
|
export declare class Tween<T extends object = object> {
|
|
33
37
|
private readonly _target;
|
|
@@ -63,14 +67,21 @@ export declare class Tween<T extends object = object> {
|
|
|
63
67
|
/**
|
|
64
68
|
* Current eased progress in 0..1. Reflects the eased t after applying the
|
|
65
69
|
* easing function, not the raw elapsed/duration ratio.
|
|
70
|
+
*
|
|
71
|
+
* Returns `0` while the tween is in the delay phase (state is `Active` but
|
|
72
|
+
* the configured delay has not yet elapsed).
|
|
66
73
|
*/
|
|
67
74
|
get progress(): number;
|
|
68
75
|
/**
|
|
69
76
|
* Set target end-values and duration in seconds. Replaces any prior to().
|
|
70
77
|
* The starting values are captured lazily on first update() after start(),
|
|
71
78
|
* so mutating target between to() and start() is safe.
|
|
79
|
+
*
|
|
80
|
+
* Only numeric properties of `target` are accepted. Non-numeric keys are
|
|
81
|
+
* rejected at compile time; the runtime guard in update() remains as a
|
|
82
|
+
* safety net for untyped callers.
|
|
72
83
|
*/
|
|
73
|
-
to(properties: Partial<Record<
|
|
84
|
+
to(properties: Partial<Record<NumericKeys<T>, number>>, duration: number): this;
|
|
74
85
|
/** Delay in seconds before the tween begins interpolating. Default 0. */
|
|
75
86
|
delay(seconds: number): this;
|
|
76
87
|
/** Easing function applied to the normalized time. Default Ease.linear. */
|
|
@@ -121,8 +132,13 @@ export declare class Tween<T extends object = object> {
|
|
|
121
132
|
*/
|
|
122
133
|
onRepeat(callback: TweenLifecycleCallback): this;
|
|
123
134
|
/**
|
|
124
|
-
* Start the tween.
|
|
125
|
-
*
|
|
135
|
+
* Start or restart the tween. Resets all elapsed time, the start-value
|
|
136
|
+
* snapshot, playback direction, and repeat counter.
|
|
137
|
+
*
|
|
138
|
+
* If this tween was previously owned by a manager but was evicted after
|
|
139
|
+
* natural completion or {@link Tween.stop}, it is automatically
|
|
140
|
+
* re-registered so it continues to receive frame updates. Stand-alone
|
|
141
|
+
* tweens (no manager) are unaffected.
|
|
126
142
|
*/
|
|
127
143
|
start(): this;
|
|
128
144
|
/** Pause the tween. update() calls are ignored while paused. */
|
|
@@ -157,3 +173,4 @@ export declare class Tween<T extends object = object> {
|
|
|
157
173
|
private _applyProgress;
|
|
158
174
|
private _complete;
|
|
159
175
|
}
|
|
176
|
+
export {};
|
|
@@ -28,6 +28,7 @@ import { TweenState } from './types.js';
|
|
|
28
28
|
* .repeat(-1)
|
|
29
29
|
* .start();
|
|
30
30
|
* ```
|
|
31
|
+
* @stable
|
|
31
32
|
*/
|
|
32
33
|
class Tween {
|
|
33
34
|
_target;
|
|
@@ -69,6 +70,9 @@ class Tween {
|
|
|
69
70
|
/**
|
|
70
71
|
* Current eased progress in 0..1. Reflects the eased t after applying the
|
|
71
72
|
* easing function, not the raw elapsed/duration ratio.
|
|
73
|
+
*
|
|
74
|
+
* Returns `0` while the tween is in the delay phase (state is `Active` but
|
|
75
|
+
* the configured delay has not yet elapsed).
|
|
72
76
|
*/
|
|
73
77
|
get progress() {
|
|
74
78
|
if (this._duration === 0)
|
|
@@ -81,6 +85,10 @@ class Tween {
|
|
|
81
85
|
* Set target end-values and duration in seconds. Replaces any prior to().
|
|
82
86
|
* The starting values are captured lazily on first update() after start(),
|
|
83
87
|
* so mutating target between to() and start() is safe.
|
|
88
|
+
*
|
|
89
|
+
* Only numeric properties of `target` are accepted. Non-numeric keys are
|
|
90
|
+
* rejected at compile time; the runtime guard in update() remains as a
|
|
91
|
+
* safety net for untyped callers.
|
|
84
92
|
*/
|
|
85
93
|
to(properties, duration) {
|
|
86
94
|
this._properties = { ...properties };
|
|
@@ -162,8 +170,13 @@ class Tween {
|
|
|
162
170
|
return this;
|
|
163
171
|
}
|
|
164
172
|
/**
|
|
165
|
-
* Start the tween.
|
|
166
|
-
*
|
|
173
|
+
* Start or restart the tween. Resets all elapsed time, the start-value
|
|
174
|
+
* snapshot, playback direction, and repeat counter.
|
|
175
|
+
*
|
|
176
|
+
* If this tween was previously owned by a manager but was evicted after
|
|
177
|
+
* natural completion or {@link Tween.stop}, it is automatically
|
|
178
|
+
* re-registered so it continues to receive frame updates. Stand-alone
|
|
179
|
+
* tweens (no manager) are unaffected.
|
|
167
180
|
*/
|
|
168
181
|
start() {
|
|
169
182
|
this._state = TweenState.Active;
|
|
@@ -173,6 +186,7 @@ class Tween {
|
|
|
173
186
|
this._startFired = false;
|
|
174
187
|
this._direction = 1;
|
|
175
188
|
this._repeatCount = this._repeatTotal;
|
|
189
|
+
this._manager?.add(this);
|
|
176
190
|
return this;
|
|
177
191
|
}
|
|
178
192
|
/** Pause the tween. update() calls are ignored while paused. */
|
|
@@ -268,12 +282,6 @@ class Tween {
|
|
|
268
282
|
// Reset elapsed for next cycle; carry overflow.
|
|
269
283
|
const overflow = this._elapsed - this._duration;
|
|
270
284
|
this._elapsed = overflow > 0 ? Math.min(overflow, this._duration) : 0;
|
|
271
|
-
this._startFired = false; // allow onStart to re-fire next cycle? No — spec says once.
|
|
272
|
-
// Actually spec says onStart fires when actual interpolation begins.
|
|
273
|
-
// For repeats it fires once total at the very first cycle.
|
|
274
|
-
// Re-reading spec: "onStart fires AFTER the delay (when actual interpolation begins)".
|
|
275
|
-
// We'll keep it as one-shot across the full lifecycle; don't reset _startFired.
|
|
276
|
-
this._startFired = true;
|
|
277
285
|
// Apply progress for any overflow.
|
|
278
286
|
if (overflow > 0) {
|
|
279
287
|
this._applyProgress();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tween.js","sources":["../../../../src/animation/Tween.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Tween.js","sources":["../../../../src/animation/Tween.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { Tween } from './Tween';
|
|
|
8
8
|
* Update iteration uses a snapshot so callbacks may freely add or remove
|
|
9
9
|
* tweens during the same frame without corrupting the loop. Completed and
|
|
10
10
|
* stopped tweens are evicted automatically.
|
|
11
|
+
* @stable
|
|
11
12
|
*/
|
|
12
13
|
export declare class TweenManager {
|
|
13
14
|
private _tweens;
|
|
@@ -17,6 +18,20 @@ export declare class TweenManager {
|
|
|
17
18
|
* return it. Call .to(...).start() on the result to begin animating.
|
|
18
19
|
*/
|
|
19
20
|
create<T extends object>(target: T): Tween<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Chain `tweens` in sequence: each tween starts automatically when the
|
|
23
|
+
* previous one completes. Returns the first tween; call `.start()` on it
|
|
24
|
+
* to kick off the whole sequence. All tweens are registered with this
|
|
25
|
+
* manager (idempotent — already-added tweens are not double-added).
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const move = manager.create(sprite).to({ x: 400 }, 0.5);
|
|
30
|
+
* const fade = manager.create(sprite).to({ alpha: 0 }, 0.3);
|
|
31
|
+
* manager.sequence([move, fade]).start();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
sequence(tweens: readonly Tween[]): Tween;
|
|
20
35
|
/**
|
|
21
36
|
* Explicitly add a stand-alone Tween (created via `new Tween(target)`)
|
|
22
37
|
* to this manager so it participates in the update loop.
|
|
@@ -29,7 +44,7 @@ export declare class TweenManager {
|
|
|
29
44
|
* Application.update(). Uses a snapshot of the list so that callbacks that
|
|
30
45
|
* add or remove tweens do not corrupt mid-iteration.
|
|
31
46
|
*/
|
|
32
|
-
update(deltaSeconds: number):
|
|
47
|
+
update(deltaSeconds: number): void;
|
|
33
48
|
/**
|
|
34
49
|
* Remove all tweens immediately. No callbacks (onComplete etc.) fire.
|
|
35
50
|
* The tweens' states are left as-is; they are simply evicted from the list.
|
|
@@ -9,6 +9,7 @@ import { Tween } from './Tween.js';
|
|
|
9
9
|
* Update iteration uses a snapshot so callbacks may freely add or remove
|
|
10
10
|
* tweens during the same frame without corrupting the loop. Completed and
|
|
11
11
|
* stopped tweens are evicted automatically.
|
|
12
|
+
* @stable
|
|
12
13
|
*/
|
|
13
14
|
class TweenManager {
|
|
14
15
|
_tweens = [];
|
|
@@ -23,6 +24,31 @@ class TweenManager {
|
|
|
23
24
|
this._tweens.push(tween);
|
|
24
25
|
return tween;
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Chain `tweens` in sequence: each tween starts automatically when the
|
|
29
|
+
* previous one completes. Returns the first tween; call `.start()` on it
|
|
30
|
+
* to kick off the whole sequence. All tweens are registered with this
|
|
31
|
+
* manager (idempotent — already-added tweens are not double-added).
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const move = manager.create(sprite).to({ x: 400 }, 0.5);
|
|
36
|
+
* const fade = manager.create(sprite).to({ alpha: 0 }, 0.3);
|
|
37
|
+
* manager.sequence([move, fade]).start();
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
sequence(tweens) {
|
|
41
|
+
if (tweens.length === 0) {
|
|
42
|
+
throw new Error('[ExoJS] TweenManager.sequence() requires at least one tween.');
|
|
43
|
+
}
|
|
44
|
+
for (let i = 0; i < tweens.length - 1; i++) {
|
|
45
|
+
tweens[i].chain(tweens[i + 1]);
|
|
46
|
+
}
|
|
47
|
+
for (const tween of tweens) {
|
|
48
|
+
this.add(tween);
|
|
49
|
+
}
|
|
50
|
+
return tweens[0];
|
|
51
|
+
}
|
|
26
52
|
/**
|
|
27
53
|
* Explicitly add a stand-alone Tween (created via `new Tween(target)`)
|
|
28
54
|
* to this manager so it participates in the update loop.
|
|
@@ -49,12 +75,11 @@ class TweenManager {
|
|
|
49
75
|
*/
|
|
50
76
|
update(deltaSeconds) {
|
|
51
77
|
if (this._destroyed)
|
|
52
|
-
return
|
|
78
|
+
return;
|
|
53
79
|
const snapshot = [...this._tweens];
|
|
54
80
|
for (const tween of snapshot) {
|
|
55
81
|
tween.update(deltaSeconds);
|
|
56
82
|
}
|
|
57
|
-
return this;
|
|
58
83
|
}
|
|
59
84
|
/**
|
|
60
85
|
* Remove all tweens immediately. No callbacks (onComplete etc.) fire.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TweenManager.js","sources":["../../../../src/animation/TweenManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA
|
|
1
|
+
{"version":3,"file":"TweenManager.js","sources":["../../../../src/animation/TweenManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;;;;AAUG;MACU,YAAY,CAAA;IACf,OAAO,GAAY,EAAE;IACrB,UAAU,GAAG,KAAK;AAE1B;;;AAGG;AACI,IAAA,MAAM,CAAmB,MAAS,EAAA;AACvC,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;AAC/B,QAAA,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAExB,QAAA,OAAO,KAAK;IACd;AAEA;;;;;;;;;;;;AAYG;AACI,IAAA,QAAQ,CAAC,MAAwB,EAAA;AACtC,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;QACjF;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1C,YAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC;AAEA,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACjB;AAEA,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC;IAClB;AAEA;;;AAGG;AACI,IAAA,GAAG,CAAC,KAAY,EAAA;AACrB,QAAA,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B;AAEA,QAAA,OAAO,IAAI;IACb;;AAGO,IAAA,MAAM,CAAC,KAAY,EAAA;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;AAEzC,QAAA,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/B;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACI,IAAA,MAAM,CAAC,YAAoB,EAAA;QAChC,IAAI,IAAI,CAAC,UAAU;YAAE;QAErB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAElC,QAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAC5B,YAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QAC5B;IACF;AAEA;;;AAGG;IACI,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AAEjB,QAAA,OAAO,IAAI;IACb;;IAGO,OAAO,GAAA;QACZ,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IACxB;AACD;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isAudioContextReady, getAudioContext
|
|
1
|
+
import { onAudioContextReady, isAudioContextReady, getAudioContext } from './audio-context.js';
|
|
2
2
|
import { buildMelFilterbank } from './dsp/mel.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -16,6 +16,11 @@ class AudioAnalyser {
|
|
|
16
16
|
_source = null;
|
|
17
17
|
_tapSource = null;
|
|
18
18
|
_streamSource = null;
|
|
19
|
+
_pendingSourceSetup = null;
|
|
20
|
+
_onAudioContextReady = (ctx) => {
|
|
21
|
+
onAudioContextReady.remove(this._onAudioContextReady);
|
|
22
|
+
this._setupAnalyser(ctx);
|
|
23
|
+
};
|
|
19
24
|
// Pre-allocated buffers
|
|
20
25
|
_byteSpectrum;
|
|
21
26
|
_floatSpectrum;
|
|
@@ -47,7 +52,7 @@ class AudioAnalyser {
|
|
|
47
52
|
this._setupAnalyser(getAudioContext());
|
|
48
53
|
}
|
|
49
54
|
else {
|
|
50
|
-
onAudioContextReady.
|
|
55
|
+
onAudioContextReady.add(this._onAudioContextReady);
|
|
51
56
|
}
|
|
52
57
|
if (options?.source !== undefined && options.source !== null) {
|
|
53
58
|
this.source = options.source;
|
|
@@ -74,14 +79,20 @@ class AudioAnalyser {
|
|
|
74
79
|
return;
|
|
75
80
|
// 2. Resolve and connect new tap
|
|
76
81
|
if (isAudioContextReady()) {
|
|
82
|
+
this._pendingSourceSetup = null;
|
|
77
83
|
this._connectSource(value, getAudioContext());
|
|
78
84
|
}
|
|
79
85
|
else {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
if (this._pendingSourceSetup !== null) {
|
|
87
|
+
onAudioContextReady.remove(this._pendingSourceSetup);
|
|
88
|
+
}
|
|
89
|
+
const handler = (ctx) => {
|
|
90
|
+
onAudioContextReady.remove(handler);
|
|
91
|
+
this._pendingSourceSetup = null;
|
|
92
|
+
this._connectSource(value, ctx);
|
|
93
|
+
};
|
|
94
|
+
this._pendingSourceSetup = handler;
|
|
95
|
+
onAudioContextReady.add(handler);
|
|
85
96
|
}
|
|
86
97
|
}
|
|
87
98
|
// -----------------------------------------------------------------------
|
|
@@ -290,7 +301,11 @@ class AudioAnalyser {
|
|
|
290
301
|
* needed to avoid memory leaks.
|
|
291
302
|
*/
|
|
292
303
|
destroy() {
|
|
293
|
-
onAudioContextReady.
|
|
304
|
+
onAudioContextReady.remove(this._onAudioContextReady);
|
|
305
|
+
if (this._pendingSourceSetup !== null) {
|
|
306
|
+
onAudioContextReady.remove(this._pendingSourceSetup);
|
|
307
|
+
this._pendingSourceSetup = null;
|
|
308
|
+
}
|
|
294
309
|
this._disconnectTap();
|
|
295
310
|
this._analyser?.disconnect();
|
|
296
311
|
this._analyser = null;
|
|
@@ -398,7 +413,7 @@ class AudioAnalyser {
|
|
|
398
413
|
if (this._source === source && this._analyser && isAudioContextReady()) {
|
|
399
414
|
this._connectSource(source, getAudioContext());
|
|
400
415
|
}
|
|
401
|
-
}
|
|
416
|
+
});
|
|
402
417
|
}
|
|
403
418
|
_disconnectTap() {
|
|
404
419
|
if (this._tapSource && this._analyser) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioAnalyser.js","sources":["../../../../src/audio/AudioAnalyser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AudioAnalyser.js","sources":["../../../../src/audio/AudioAnalyser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ export declare class AudioBus {
|
|
|
36
36
|
private readonly _filters;
|
|
37
37
|
private _setup;
|
|
38
38
|
private _scheduledStopId;
|
|
39
|
+
private readonly _onAudioContextReady;
|
|
39
40
|
constructor(name: string, options?: AudioBusOptions);
|
|
40
41
|
get parent(): AudioBus | null;
|
|
41
42
|
get volume(): number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { clamp } from '../math/utils.js';
|
|
2
|
-
import { isAudioContextReady, getAudioContext
|
|
2
|
+
import { onAudioContextReady, isAudioContextReady, getAudioContext } from './audio-context.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Hierarchical mixer node in the engine's audio routing graph. Each bus
|
|
@@ -30,6 +30,10 @@ class AudioBus {
|
|
|
30
30
|
_filters = [];
|
|
31
31
|
_setup = null;
|
|
32
32
|
_scheduledStopId = null;
|
|
33
|
+
_onAudioContextReady = (ctx) => {
|
|
34
|
+
onAudioContextReady.remove(this._onAudioContextReady);
|
|
35
|
+
this._setupAudio(ctx);
|
|
36
|
+
};
|
|
33
37
|
constructor(name, options = {}) {
|
|
34
38
|
if (!name || typeof name !== 'string') {
|
|
35
39
|
throw new Error('AudioBus requires a non-empty string name.');
|
|
@@ -46,7 +50,7 @@ class AudioBus {
|
|
|
46
50
|
this._setupAudio(getAudioContext());
|
|
47
51
|
}
|
|
48
52
|
else {
|
|
49
|
-
onAudioContextReady.
|
|
53
|
+
onAudioContextReady.add(this._onAudioContextReady);
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
get parent() {
|
|
@@ -150,7 +154,7 @@ class AudioBus {
|
|
|
150
154
|
return this;
|
|
151
155
|
}
|
|
152
156
|
destroy() {
|
|
153
|
-
onAudioContextReady.
|
|
157
|
+
onAudioContextReady.remove(this._onAudioContextReady);
|
|
154
158
|
this._clearScheduledStop();
|
|
155
159
|
for (const filter of this._filters) {
|
|
156
160
|
filter.destroy();
|
|
@@ -214,7 +218,7 @@ class AudioBus {
|
|
|
214
218
|
onAudioContextReady.once(() => {
|
|
215
219
|
if (this._setup)
|
|
216
220
|
callback();
|
|
217
|
-
}
|
|
221
|
+
});
|
|
218
222
|
}
|
|
219
223
|
}
|
|
220
224
|
_rebuildFilterChain() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBus.js","sources":["../../../../src/audio/AudioBus.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAqBA;;;;;;;;;;;;;;;;;;;AAmBG;MACU,QAAQ,CAAA;AACH,IAAA,IAAI;AACZ,IAAA,OAAO;AACP,IAAA,OAAO;AACP,IAAA,MAAM;AACN,IAAA,IAAI;IACK,QAAQ,GAAkB,EAAE;IACrC,MAAM,GAAyB,IAAI;IACnC,gBAAgB,GAAyC,IAAI;
|
|
1
|
+
{"version":3,"file":"AudioBus.js","sources":["../../../../src/audio/AudioBus.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|