@codexo/exojs 0.8.4 → 0.10.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.
Files changed (470) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/README.md +34 -13
  3. package/dist/esm/animation/Tween.d.ts +20 -3
  4. package/dist/esm/animation/Tween.js +16 -8
  5. package/dist/esm/animation/Tween.js.map +1 -1
  6. package/dist/esm/animation/TweenManager.d.ts +16 -1
  7. package/dist/esm/animation/TweenManager.js +27 -2
  8. package/dist/esm/animation/TweenManager.js.map +1 -1
  9. package/dist/esm/audio/AudioAnalyser.d.ts +2 -0
  10. package/dist/esm/audio/AudioAnalyser.js +24 -9
  11. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  12. package/dist/esm/audio/AudioBus.d.ts +1 -0
  13. package/dist/esm/audio/AudioBus.js +8 -4
  14. package/dist/esm/audio/AudioBus.js.map +1 -1
  15. package/dist/esm/audio/AudioListener.d.ts +1 -0
  16. package/dist/esm/audio/AudioListener.js +7 -5
  17. package/dist/esm/audio/AudioListener.js.map +1 -1
  18. package/dist/esm/audio/AudioManager.d.ts +8 -2
  19. package/dist/esm/audio/AudioManager.js +14 -1
  20. package/dist/esm/audio/AudioManager.js.map +1 -1
  21. package/dist/esm/audio/BeatDetector.d.ts +2 -0
  22. package/dist/esm/audio/BeatDetector.js +27 -661
  23. package/dist/esm/audio/BeatDetector.js.map +1 -1
  24. package/dist/esm/audio/Music.d.ts +1 -0
  25. package/dist/esm/audio/Music.js +7 -3
  26. package/dist/esm/audio/Music.js.map +1 -1
  27. package/dist/esm/audio/OscillatorSound.d.ts +1 -0
  28. package/dist/esm/audio/OscillatorSound.js +7 -3
  29. package/dist/esm/audio/OscillatorSound.js.map +1 -1
  30. package/dist/esm/audio/Sound.d.ts +1 -0
  31. package/dist/esm/audio/Sound.js +7 -3
  32. package/dist/esm/audio/Sound.js.map +1 -1
  33. package/dist/esm/audio/audio-context.d.ts +2 -2
  34. package/dist/esm/audio/audio-context.js +4 -4
  35. package/dist/esm/audio/audio-context.js.map +1 -1
  36. package/dist/esm/audio/filters/ChorusFilter.d.ts +1 -0
  37. package/dist/esm/audio/filters/ChorusFilter.js +7 -3
  38. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  39. package/dist/esm/audio/filters/CompressorFilter.d.ts +1 -0
  40. package/dist/esm/audio/filters/CompressorFilter.js +7 -3
  41. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  42. package/dist/esm/audio/filters/DelayFilter.d.ts +1 -0
  43. package/dist/esm/audio/filters/DelayFilter.js +7 -3
  44. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  45. package/dist/esm/audio/filters/EqualizerFilter.d.ts +1 -0
  46. package/dist/esm/audio/filters/EqualizerFilter.js +7 -3
  47. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  48. package/dist/esm/audio/filters/GranularFilter.js +1 -86
  49. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  50. package/dist/esm/audio/filters/HighpassFilter.d.ts +1 -0
  51. package/dist/esm/audio/filters/HighpassFilter.js +7 -3
  52. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  53. package/dist/esm/audio/filters/LowpassFilter.d.ts +1 -0
  54. package/dist/esm/audio/filters/LowpassFilter.js +7 -3
  55. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  56. package/dist/esm/audio/filters/PitchShiftFilter.js +1 -71
  57. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  58. package/dist/esm/audio/filters/ReverbFilter.d.ts +1 -0
  59. package/dist/esm/audio/filters/ReverbFilter.js +7 -3
  60. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  61. package/dist/esm/audio/filters/VocoderFilter.js +1 -89
  62. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  63. package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -0
  64. package/dist/esm/audio/filters/WorkletFilter.js +10 -5
  65. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  66. package/dist/esm/audio/index.d.ts +15 -10
  67. package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -1
  68. package/dist/esm/audio/worklet/registerWorklet.js +2 -2
  69. package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
  70. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
  71. package/dist/esm/audio/worklets/beat-detector.worklet.js +647 -0
  72. package/dist/esm/audio/worklets/beat-detector.worklet.js.map +1 -0
  73. package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
  74. package/dist/esm/audio/worklets/granular.worklet.js +89 -0
  75. package/dist/esm/audio/worklets/granular.worklet.js.map +1 -0
  76. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
  77. package/dist/esm/audio/worklets/pitch-shift.worklet.js +74 -0
  78. package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +1 -0
  79. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
  80. package/dist/esm/audio/worklets/vocoder.worklet.js +92 -0
  81. package/dist/esm/audio/worklets/vocoder.worklet.js.map +1 -0
  82. package/dist/esm/core/Application.d.ts +86 -29
  83. package/dist/esm/core/Application.js +157 -47
  84. package/dist/esm/core/Application.js.map +1 -1
  85. package/dist/esm/core/Color.d.ts +0 -8
  86. package/dist/esm/core/Color.js +0 -24
  87. package/dist/esm/core/Color.js.map +1 -1
  88. package/dist/esm/core/Perf.d.ts +23 -0
  89. package/dist/esm/core/Perf.js +49 -0
  90. package/dist/esm/core/Perf.js.map +1 -0
  91. package/dist/esm/core/Scene.d.ts +40 -80
  92. package/dist/esm/core/Scene.js +63 -43
  93. package/dist/esm/core/Scene.js.map +1 -1
  94. package/dist/esm/core/SceneManager.d.ts +11 -25
  95. package/dist/esm/core/SceneManager.js +37 -100
  96. package/dist/esm/core/SceneManager.js.map +1 -1
  97. package/dist/esm/core/SceneNode.d.ts +28 -17
  98. package/dist/esm/core/SceneNode.js +66 -42
  99. package/dist/esm/core/SceneNode.js.map +1 -1
  100. package/dist/esm/core/Signal.d.ts +24 -28
  101. package/dist/esm/core/Signal.js +64 -50
  102. package/dist/esm/core/Signal.js.map +1 -1
  103. package/dist/esm/core/Timer.d.ts +1 -0
  104. package/dist/esm/core/Timer.js +3 -0
  105. package/dist/esm/core/Timer.js.map +1 -1
  106. package/dist/esm/core/capabilities.d.ts +2 -0
  107. package/dist/esm/core/capabilities.js +15 -0
  108. package/dist/esm/core/capabilities.js.map +1 -1
  109. package/dist/esm/core/index.d.ts +1 -0
  110. package/dist/esm/core/types.d.ts +1 -1
  111. package/dist/esm/core/utils.d.ts +12 -0
  112. package/dist/esm/core/utils.js +18 -1
  113. package/dist/esm/core/utils.js.map +1 -1
  114. package/dist/esm/debug/BoundingBoxesLayer.js +1 -1
  115. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  116. package/dist/esm/debug/HitTestLayer.js +1 -1
  117. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  118. package/dist/esm/debug/PerformanceLayer.js +1 -2
  119. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  120. package/dist/esm/debug/PointerStackLayer.js +1 -2
  121. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  122. package/dist/esm/debug/RenderPassInspectorLayer.js +1 -2
  123. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  124. package/dist/esm/index.js +37 -10
  125. package/dist/esm/index.js.map +1 -1
  126. package/dist/esm/input/InputManager.d.ts +1 -0
  127. package/dist/esm/input/InputManager.js +30 -3
  128. package/dist/esm/input/InputManager.js.map +1 -1
  129. package/dist/esm/input/InteractionManager.d.ts +5 -2
  130. package/dist/esm/input/InteractionManager.js +29 -18
  131. package/dist/esm/input/InteractionManager.js.map +1 -1
  132. package/dist/esm/input/Pointer.js +3 -2
  133. package/dist/esm/input/Pointer.js.map +1 -1
  134. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +9 -0
  135. package/dist/esm/input/internal/interactionManagerRegistry.js +10 -0
  136. package/dist/esm/input/internal/interactionManagerRegistry.js.map +1 -0
  137. package/dist/esm/math/AbstractVector.d.ts +1 -7
  138. package/dist/esm/math/AbstractVector.js +6 -20
  139. package/dist/esm/math/AbstractVector.js.map +1 -1
  140. package/dist/esm/math/Circle.js +0 -2
  141. package/dist/esm/math/Circle.js.map +1 -1
  142. package/dist/esm/math/Collision.d.ts +9 -3
  143. package/dist/esm/math/Ellipse.d.ts +2 -5
  144. package/dist/esm/math/Ellipse.js +10 -7
  145. package/dist/esm/math/Ellipse.js.map +1 -1
  146. package/dist/esm/math/ObservableVector.d.ts +1 -1
  147. package/dist/esm/math/ObservableVector.js +3 -3
  148. package/dist/esm/math/ObservableVector.js.map +1 -1
  149. package/dist/esm/math/Polygon.d.ts +0 -2
  150. package/dist/esm/math/Polygon.js +1 -9
  151. package/dist/esm/math/Polygon.js.map +1 -1
  152. package/dist/esm/math/Rectangle.js +0 -2
  153. package/dist/esm/math/Rectangle.js.map +1 -1
  154. package/dist/esm/math/collision-detection.d.ts +19 -4
  155. package/dist/esm/math/collision-detection.js +61 -4
  156. package/dist/esm/math/collision-detection.js.map +1 -1
  157. package/dist/esm/math/swept-collision.d.ts +16 -12
  158. package/dist/esm/math/swept-collision.js +109 -19
  159. package/dist/esm/math/swept-collision.js.map +1 -1
  160. package/dist/esm/particles/ParticleSystem.d.ts +8 -5
  161. package/dist/esm/particles/ParticleSystem.js +10 -6
  162. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  163. package/dist/esm/particles/distributions/{Gradient.d.ts → ColorGradient.d.ts} +5 -5
  164. package/dist/esm/particles/distributions/{Gradient.js → ColorGradient.js} +5 -5
  165. package/dist/esm/particles/distributions/ColorGradient.js.map +1 -0
  166. package/dist/esm/particles/distributions/Distribution.d.ts +2 -2
  167. package/dist/esm/particles/distributions/index.d.ts +2 -2
  168. package/dist/esm/particles/gpu/ParticleGpuState.js +1 -1
  169. package/dist/esm/particles/index.d.ts +1 -0
  170. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +3 -3
  171. package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -1
  172. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +3 -3
  173. package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -1
  174. package/dist/esm/particles/modules/UpdateModule.d.ts +2 -2
  175. package/dist/esm/particles/modules/UpdateModule.js +1 -1
  176. package/dist/esm/particles/modules/WgslContribution.d.ts +2 -2
  177. package/dist/esm/rendering/CallbackRenderPass.d.ts +1 -0
  178. package/dist/esm/rendering/CallbackRenderPass.js +1 -0
  179. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  180. package/dist/esm/rendering/Camera.d.ts +33 -0
  181. package/dist/esm/rendering/Camera.js +38 -0
  182. package/dist/esm/rendering/Camera.js.map +1 -0
  183. package/dist/esm/rendering/Container.d.ts +7 -25
  184. package/dist/esm/rendering/Container.js +25 -87
  185. package/dist/esm/rendering/Container.js.map +1 -1
  186. package/dist/esm/rendering/Drawable.d.ts +8 -10
  187. package/dist/esm/rendering/Drawable.js +12 -20
  188. package/dist/esm/rendering/Drawable.js.map +1 -1
  189. package/dist/esm/rendering/RenderBackend.d.ts +19 -0
  190. package/dist/esm/rendering/RenderNode.d.ts +82 -11
  191. package/dist/esm/rendering/RenderNode.js +133 -163
  192. package/dist/esm/rendering/RenderNode.js.map +1 -1
  193. package/dist/esm/rendering/RenderPass.d.ts +1 -0
  194. package/dist/esm/rendering/RenderStats.d.ts +9 -0
  195. package/dist/esm/rendering/RenderStats.js +2 -0
  196. package/dist/esm/rendering/RenderStats.js.map +1 -1
  197. package/dist/esm/rendering/RenderTarget.d.ts +13 -0
  198. package/dist/esm/rendering/RenderTarget.js +13 -0
  199. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  200. package/dist/esm/rendering/RenderTargetPass.js +17 -0
  201. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  202. package/dist/esm/rendering/RendererRegistry.d.ts +1 -0
  203. package/dist/esm/rendering/RendererRegistry.js +1 -0
  204. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  205. package/dist/esm/rendering/RenderingContext.d.ts +87 -0
  206. package/dist/esm/rendering/RenderingContext.js +157 -0
  207. package/dist/esm/rendering/RenderingContext.js.map +1 -0
  208. package/dist/esm/rendering/TransformBuffer.d.ts +38 -0
  209. package/dist/esm/rendering/TransformBuffer.js +116 -0
  210. package/dist/esm/rendering/TransformBuffer.js.map +1 -0
  211. package/dist/esm/rendering/View.d.ts +23 -0
  212. package/dist/esm/rendering/View.js +42 -0
  213. package/dist/esm/rendering/View.js.map +1 -1
  214. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -12
  215. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  216. package/dist/esm/rendering/geometry/Geometry.d.ts +40 -0
  217. package/dist/esm/rendering/geometry/Geometry.js +228 -0
  218. package/dist/esm/rendering/geometry/Geometry.js.map +1 -0
  219. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts +32 -0
  220. package/dist/esm/rendering/geometry/QuadGeometry.d.ts +5 -0
  221. package/dist/esm/rendering/gradient/Gradient.d.ts +34 -0
  222. package/dist/esm/rendering/gradient/Gradient.js +114 -0
  223. package/dist/esm/rendering/gradient/Gradient.js.map +1 -0
  224. package/dist/esm/rendering/gradient/LinearGradient.d.ts +10 -0
  225. package/dist/esm/rendering/gradient/LinearGradient.js +26 -0
  226. package/dist/esm/rendering/gradient/LinearGradient.js.map +1 -0
  227. package/dist/esm/rendering/gradient/RadialGradient.d.ts +10 -0
  228. package/dist/esm/rendering/gradient/RadialGradient.js +25 -0
  229. package/dist/esm/rendering/gradient/RadialGradient.js.map +1 -0
  230. package/dist/esm/rendering/index.d.ts +103 -59
  231. package/dist/esm/rendering/material/Material.d.ts +114 -0
  232. package/dist/esm/rendering/material/Material.js +111 -0
  233. package/dist/esm/rendering/material/Material.js.map +1 -0
  234. package/dist/esm/rendering/material/MaterialKey.d.ts +18 -0
  235. package/dist/esm/rendering/material/MaterialKey.js +82 -0
  236. package/dist/esm/rendering/material/MaterialKey.js.map +1 -0
  237. package/dist/esm/rendering/material/MeshMaterial.d.ts +16 -0
  238. package/dist/esm/rendering/material/MeshMaterial.js +21 -0
  239. package/dist/esm/rendering/material/MeshMaterial.js.map +1 -0
  240. package/dist/esm/rendering/{mesh/MeshShader.d.ts → material/ShaderSource.d.ts} +30 -62
  241. package/dist/esm/rendering/{mesh/MeshShader.js → material/ShaderSource.js} +36 -62
  242. package/dist/esm/rendering/material/ShaderSource.js.map +1 -0
  243. package/dist/esm/rendering/material/SpriteMaterial.d.ts +15 -0
  244. package/dist/esm/rendering/material/SpriteMaterial.js +20 -0
  245. package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -0
  246. package/dist/esm/rendering/mesh/Mesh.d.ts +29 -12
  247. package/dist/esm/rendering/mesh/Mesh.js +123 -4
  248. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  249. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +63 -0
  250. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +48 -0
  251. package/dist/esm/rendering/pass/RenderPassDescriptor.js +16 -0
  252. package/dist/esm/rendering/pass/RenderPassDescriptor.js.map +1 -0
  253. package/dist/esm/rendering/plan/RenderCommand.d.ts +67 -0
  254. package/dist/esm/rendering/plan/RenderCommand.js +94 -0
  255. package/dist/esm/rendering/plan/RenderCommand.js.map +1 -0
  256. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts +10 -0
  257. package/dist/esm/rendering/plan/RenderEffectExecutor.js +159 -0
  258. package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -0
  259. package/dist/esm/rendering/plan/RenderPlan.d.ts +23 -0
  260. package/dist/esm/rendering/plan/RenderPlan.js +12 -0
  261. package/dist/esm/rendering/plan/RenderPlan.js.map +1 -0
  262. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +31 -0
  263. package/dist/esm/rendering/plan/RenderPlanBuilder.js +242 -0
  264. package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -0
  265. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts +10 -0
  266. package/dist/esm/rendering/plan/RenderPlanOptimizer.js +180 -0
  267. package/dist/esm/rendering/plan/RenderPlanOptimizer.js.map +1 -0
  268. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +9 -0
  269. package/dist/esm/rendering/plan/RenderPlanPlayer.js +56 -0
  270. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -0
  271. package/dist/esm/rendering/plan/RenderScope.d.ts +70 -0
  272. package/dist/esm/rendering/plan/RenderScope.js +16 -0
  273. package/dist/esm/rendering/plan/RenderScope.js.map +1 -0
  274. package/dist/esm/rendering/plan/playRenderTree.d.ts +4 -0
  275. package/dist/esm/rendering/plan/playRenderTree.js +19 -0
  276. package/dist/esm/rendering/plan/playRenderTree.js.map +1 -0
  277. package/dist/esm/rendering/shader/Shader.d.ts +1 -0
  278. package/dist/esm/rendering/shader/Shader.js +1 -0
  279. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  280. package/dist/esm/rendering/shader/ShaderUniform.d.ts +1 -0
  281. package/dist/esm/rendering/shader/ShaderUniform.js +1 -0
  282. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  283. package/dist/esm/rendering/sprite/Sprite.d.ts +25 -3
  284. package/dist/esm/rendering/sprite/Sprite.js +48 -15
  285. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  286. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +36 -0
  287. package/dist/esm/rendering/sprite/spriteMaterialSources.js +128 -0
  288. package/dist/esm/rendering/sprite/spriteMaterialSources.js.map +1 -0
  289. package/dist/esm/rendering/text/AbstractText.d.ts +36 -0
  290. package/dist/esm/rendering/text/AbstractText.js +49 -0
  291. package/dist/esm/rendering/text/AbstractText.js.map +1 -0
  292. package/dist/esm/rendering/text/BitmapText.d.ts +97 -0
  293. package/dist/esm/rendering/text/BitmapText.js +220 -0
  294. package/dist/esm/rendering/text/BitmapText.js.map +1 -0
  295. package/dist/esm/rendering/text/BmFont.d.ts +50 -0
  296. package/dist/esm/rendering/text/BmFont.js +24 -0
  297. package/dist/esm/rendering/text/BmFont.js.map +1 -0
  298. package/dist/esm/rendering/text/GlyphAtlas.d.ts +104 -0
  299. package/dist/esm/rendering/text/GlyphAtlas.js +347 -0
  300. package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -0
  301. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +40 -0
  302. package/dist/esm/rendering/text/GlyphAtlasPool.js +67 -0
  303. package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -0
  304. package/dist/esm/rendering/text/GlyphSdf.d.ts +92 -0
  305. package/dist/esm/rendering/text/GlyphSdf.js +220 -0
  306. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -0
  307. package/dist/esm/rendering/text/HTMLText.d.ts +107 -0
  308. package/dist/esm/rendering/text/HTMLText.js +284 -0
  309. package/dist/esm/rendering/text/HTMLText.js.map +1 -0
  310. package/dist/esm/rendering/text/LayoutOptions.d.ts +30 -0
  311. package/dist/esm/rendering/text/Text.d.ts +89 -20
  312. package/dist/esm/rendering/text/Text.js +176 -101
  313. package/dist/esm/rendering/text/Text.js.map +1 -1
  314. package/dist/esm/rendering/text/TextLayout.d.ts +20 -8
  315. package/dist/esm/rendering/text/TextLayout.js +234 -25
  316. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  317. package/dist/esm/rendering/text/TextStyle.d.ts +154 -87
  318. package/dist/esm/rendering/text/TextStyle.js +257 -203
  319. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  320. package/dist/esm/rendering/text/types.d.ts +73 -13
  321. package/dist/esm/rendering/texture/DataTexture.d.ts +5 -0
  322. package/dist/esm/rendering/texture/DataTexture.js +7 -0
  323. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  324. package/dist/esm/rendering/texture/Texture.d.ts +1 -0
  325. package/dist/esm/rendering/texture/Texture.js +1 -0
  326. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  327. package/dist/esm/rendering/types.d.ts +3 -1
  328. package/dist/esm/rendering/types.js +2 -0
  329. package/dist/esm/rendering/types.js.map +1 -1
  330. package/dist/esm/rendering/video/Video.d.ts +5 -8
  331. package/dist/esm/rendering/video/Video.js +12 -13
  332. package/dist/esm/rendering/video/Video.js.map +1 -1
  333. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +40 -0
  334. package/dist/esm/rendering/webgl2/WebGl2Backend.js +344 -27
  335. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  336. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +22 -2
  337. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +404 -112
  338. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  339. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts +57 -0
  340. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js +79 -0
  341. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js.map +1 -0
  342. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +12 -0
  343. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +214 -58
  344. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  345. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts +34 -0
  346. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +169 -0
  347. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js.map +1 -0
  348. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +56 -0
  349. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +486 -0
  350. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -0
  351. package/dist/esm/rendering/webgl2/glsl/mesh.frag.js +1 -1
  352. package/dist/esm/rendering/webgl2/glsl/mesh.vert.js +1 -1
  353. package/dist/esm/rendering/webgl2/glsl/stencil-clip.frag.js +4 -0
  354. package/dist/esm/rendering/webgl2/glsl/stencil-clip.frag.js.map +1 -0
  355. package/dist/esm/rendering/webgl2/glsl/stencil-clip.vert.js +4 -0
  356. package/dist/esm/rendering/webgl2/glsl/stencil-clip.vert.js.map +1 -0
  357. package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +4 -0
  358. package/dist/esm/rendering/webgl2/glsl/text-color.frag.js.map +1 -0
  359. package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js +4 -0
  360. package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js.map +1 -0
  361. package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js +4 -0
  362. package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js.map +1 -0
  363. package/dist/esm/rendering/webgl2/glsl/text.vert.js +4 -0
  364. package/dist/esm/rendering/webgl2/glsl/text.vert.js.map +1 -0
  365. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +50 -0
  366. package/dist/esm/rendering/webgpu/WebGpuBackend.js +151 -27
  367. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  368. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +26 -0
  369. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  370. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +22 -17
  371. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  372. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +26 -2
  373. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +511 -89
  374. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  375. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +13 -17
  376. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  377. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +141 -0
  378. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +270 -0
  379. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -0
  380. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +16 -0
  381. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +344 -27
  382. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  383. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +57 -0
  384. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +257 -0
  385. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -0
  386. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts +14 -0
  387. package/dist/esm/rendering/webgpu/WebGpuStencilState.js +36 -0
  388. package/dist/esm/rendering/webgpu/WebGpuStencilState.js.map +1 -0
  389. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +70 -0
  390. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +775 -0
  391. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -0
  392. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +16 -0
  393. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +57 -0
  394. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -0
  395. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +96 -0
  396. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -0
  397. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +68 -0
  398. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -0
  399. package/dist/esm/resources/Asset.d.ts +23 -0
  400. package/dist/esm/resources/Asset.js +23 -0
  401. package/dist/esm/resources/Asset.js.map +1 -0
  402. package/dist/esm/resources/AssetDefinitions.d.ts +137 -0
  403. package/dist/esm/resources/Assets.d.ts +35 -0
  404. package/dist/esm/resources/Assets.js +32 -0
  405. package/dist/esm/resources/Assets.js.map +1 -0
  406. package/dist/esm/resources/IndexedDbDatabase.js +17 -1
  407. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  408. package/dist/esm/resources/IndexedDbStore.js +17 -1
  409. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  410. package/dist/esm/resources/JsonStore.d.ts +18 -0
  411. package/dist/esm/resources/JsonStore.js +62 -0
  412. package/dist/esm/resources/JsonStore.js.map +1 -0
  413. package/dist/esm/resources/Loader.d.ts +244 -18
  414. package/dist/esm/resources/Loader.js +456 -50
  415. package/dist/esm/resources/Loader.js.map +1 -1
  416. package/dist/esm/resources/LoadingQueue.d.ts +28 -0
  417. package/dist/esm/resources/LoadingQueue.js +59 -0
  418. package/dist/esm/resources/LoadingQueue.js.map +1 -0
  419. package/dist/esm/resources/factories/BmFontFactory.d.ts +25 -0
  420. package/dist/esm/resources/factories/BmFontFactory.js +96 -0
  421. package/dist/esm/resources/factories/BmFontFactory.js.map +1 -0
  422. package/dist/esm/resources/factories/CsvFactory.d.ts +35 -0
  423. package/dist/esm/resources/factories/CsvFactory.js +87 -0
  424. package/dist/esm/resources/factories/CsvFactory.js.map +1 -0
  425. package/dist/esm/resources/factories/ImageFactory.d.ts +14 -8
  426. package/dist/esm/resources/factories/ImageFactory.js +13 -6
  427. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  428. package/dist/esm/resources/factories/MusicFactory.d.ts +8 -2
  429. package/dist/esm/resources/factories/MusicFactory.js +25 -14
  430. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  431. package/dist/esm/resources/factories/SoundFactory.d.ts +2 -2
  432. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  433. package/dist/esm/resources/factories/SubtitleFactory.d.ts +28 -0
  434. package/dist/esm/resources/factories/SubtitleFactory.js +203 -0
  435. package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -0
  436. package/dist/esm/resources/factories/SvgFactory.d.ts +18 -1
  437. package/dist/esm/resources/factories/SvgFactory.js +21 -2
  438. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  439. package/dist/esm/resources/factories/TextureFactory.d.ts +4 -4
  440. package/dist/esm/resources/factories/TextureFactory.js +8 -4
  441. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  442. package/dist/esm/resources/factories/VideoFactory.d.ts +8 -2
  443. package/dist/esm/resources/factories/VideoFactory.js +27 -20
  444. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  445. package/dist/esm/resources/factories/XmlFactory.d.ts +24 -0
  446. package/dist/esm/resources/factories/XmlFactory.js +37 -0
  447. package/dist/esm/resources/factories/XmlFactory.js.map +1 -0
  448. package/dist/esm/resources/index.d.ts +9 -1
  449. package/dist/esm/resources/tokens.d.ts +49 -3
  450. package/dist/esm/resources/tokens.js +50 -4
  451. package/dist/esm/resources/tokens.js.map +1 -1
  452. package/dist/exo.esm.js +15382 -8078
  453. package/dist/exo.esm.js.map +1 -1
  454. package/package.json +34 -16
  455. package/dist/esm/input/interaction-hooks.d.ts +0 -34
  456. package/dist/esm/input/interaction-hooks.js +0 -35
  457. package/dist/esm/input/interaction-hooks.js.map +0 -1
  458. package/dist/esm/particles/distributions/Gradient.js.map +0 -1
  459. package/dist/esm/rendering/mesh/MeshShader.js.map +0 -1
  460. package/dist/esm/rendering/text/DynamicGlyphAtlas.d.ts +0 -33
  461. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +0 -134
  462. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +0 -1
  463. package/dist/esm/rendering/text/atlas-singleton.d.ts +0 -7
  464. package/dist/esm/rendering/text/atlas-singleton.js +0 -17
  465. package/dist/esm/rendering/text/atlas-singleton.js.map +0 -1
  466. package/dist/esm/resources/factories/VttFactory.d.ts +0 -24
  467. package/dist/esm/resources/factories/VttFactory.js +0 -158
  468. package/dist/esm/resources/factories/VttFactory.js.map +0 -1
  469. package/dist/esm/vendor/webgl-debug.js +0 -1160
  470. package/dist/esm/vendor/webgl-debug.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,105 @@ 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.10.0] - 2026-05-31
8
+
9
+ ### Breaking — RenderingContext and Scene.draw migration
10
+
11
+ - `Scene.draw()` now receives `RenderingContext` instead of `RenderBackend`.
12
+ - Use `context.render(node)` instead of `node.render(backend)` for the high-level path.
13
+ - Use `context.backend` for advanced raw backend calls (`clear`, `setRenderTarget`, `setView`, etc.).
14
+ - `app.rendering` is the canonical high-level rendering accessor (replaces the former `app.renderer` name).
15
+ - `Application.renderTo()` remains available as a convenience wrapper.
16
+ - `RenderNode.render(backend)` remains available as an advanced/raw path, marked `@advanced`.
17
+
18
+ ### Breaking — Rendering order semantics
19
+
20
+ - Removed `Container.sortableChildren`.
21
+ - `SceneNode.zIndex` is now always applied locally among siblings during render-plan playback.
22
+ - Sorting is now non-destructive to `Container.children`; render ordering no longer mutates the child array.
23
+ - Removed `SceneNode.childOrder` / `SceneNode.setChildOrder()` from the public scene-node surface.
24
+
25
+ ### Breaking — Gradient and storage cleanup
26
+
27
+ - Removed `GradientDrawable` (`src/rendering/primitives/Gradient.ts`).
28
+ - Added texture-first gradients: `Gradient`, `LinearGradient`, and `RadialGradient` with `toTexture(width, height, options?)`.
29
+ - Removed `SaveStore`; replaced with `JsonStore`.
30
+ - `JsonStore` API rename: `save()` -> `set()`, `load()` -> `get()`.
31
+ - Renamed particles `Gradient` to `ColorGradient` and `GradientKey` to `ColorGradientKey` to avoid root export collisions.
32
+
33
+ ### Migration notes
34
+
35
+ - Remove `container.sortableChildren = true` from user code.
36
+ - `Scene.draw(backend)` → `Scene.draw(context)`: the draw method now receives `RenderingContext` instead of `RenderBackend`.
37
+ - `node.render(backend)` → `context.render(node)` (recommended high-level path).
38
+ - `backend.clear()` → `context.backend.clear()` (raw accessor is still available).
39
+ - `RenderNode.render(backend)` remains as the advanced raw path when needed.
40
+ - For custom drawables, use `Drawable` + `RendererRegistry` so rendering remains on the backend dispatch path (`backend.draw(drawable)`).
41
+ - Replace `GradientDrawable` with `new Sprite(new LinearGradient(...).toTexture(w, h))` (or `RadialGradient`).
42
+ - Replace `SaveStore` imports/usages with `JsonStore` and update calls to `set()/get()`.
43
+ - Replace particles `Gradient` imports with `ColorGradient`.
44
+
45
+ ### Internal — render pass consolidation and WebGPU geometry stencil parity
46
+
47
+ - Centralized render-pass ownership inside the backends behind an internal `RenderPassCoordinator`: the WebGPU renderers, mask compositor, and shader filter now record into a single coordinator-owned `GPURenderPassEncoder` per flush instead of each opening and submitting its own. Submit/pass counts are unchanged and there is no public API change.
48
+ - The clear-vs-load decision (including `RenderTexture` content preservation across multiple passes in a frame) is now owned by the coordinator.
49
+ - WebGPU now supports geometric stencil clipping (`RenderNode.clip` with a `Geometry` `clipShape`) at pixel parity with WebGL2 for default-material `Sprite` and default-material `Mesh`/`Graphics` content (including composition with scissor rects and nested clips); it previously failed clearly. Clipping `Text`, `ParticleSystem`, custom-material `Sprite`, or custom-material `Mesh` content with a `Geometry` clipShape on WebGPU still throws a clear error at collection time (use a `Rectangle` clipShape for the scissor path, or the WebGL2 backend); `Rectangle`/bounds clips are unaffected.
50
+
51
+ ## [0.9.0] - 2026-05-24
52
+
53
+ ### Migration guide
54
+
55
+ - ExoJS `v0.9.0` includes pre-1.0 API consolidation changes. Migration steps and before/after examples:
56
+ <https://exoridus.github.io/ExoJS/en/guide/migration/v0-8-x-to-v0-9-0/>
57
+
58
+ ### Breaking — Public API consolidation
59
+
60
+ - `ApplicationOptions` moved from flat top-level fields to grouped `canvas`, `loader`, `rendering`, and `input` sections.
61
+ - Loader option renames: `resourcePath` → `basePath`, `requestOptions` → `fetchOptions`.
62
+ - Application scene accessor rename: `app.sceneManager` → `app.scene`.
63
+ - Active scene getter rename: `SceneManager.scene` → `SceneManager.currentScene`.
64
+ - Removed `Scene.getParticipationPolicy()` in favor of direct `scene.stackMode` access.
65
+ - Removed duplicate/alias APIs on scene objects:
66
+ - `SceneNode`: `parentNode`, `bounds`, `globalTransform`, `localBounds`, `setCullable()`
67
+ - `RenderNode`: `setCacheAsBitmap()`, `setFilters()`
68
+ - `Text`: `setText()`, `setStyle()`
69
+ - `Color`: `.red/.green/.blue/.alpha` (use `.r/.g/.b/.a`)
70
+ - `Tween.to()` now enforces numeric target keys at the TypeScript type level (`NumericKeys<T>`).
71
+
72
+ ### Added / Improved
73
+
74
+ - Added skew transforms on scene nodes (`skewX`, `skewY`, `setSkew`), including bounds/hit-test correctness updates for skewed nodes.
75
+ - Added typed asset loading primitives and flows (`Asset<T>`, `Assets<M>`, `LoadingQueue`) while keeping low-level loader usage available.
76
+ - Improved tween ergonomics and lifecycle:
77
+ - managed tweens correctly re-register on restart after eviction (`stop`/`complete`)
78
+ - `TweenManager.sequence()` helper for chain creation
79
+ - scene-scoped tween proxy lifecycle behavior aligned with scene disposal
80
+ - Loop/timing hardening:
81
+ - `pauseOnHidden` resume delta-spike fix
82
+ - internal max-delta clamp for safer simulation updates
83
+ - `backend.stats.rawFrameDeltaMs` for profiling unclamped frame delta
84
+ - Collision/sweep documentation and response semantics were clarified and aligned to source behavior.
85
+
86
+ ### Docs / API reference
87
+
88
+ - Published the v0.8.x → v0.9.0 migration guide in the docs guide tree.
89
+ - Regenerated API reference pages from the current source surface (215 API pages).
90
+ - API docs now hide internal-only methods marked for internal engine wiring.
91
+
92
+ ### Build / Workspace / CI
93
+
94
+ - Workspace preparation completed for the `site` package under root npm workspaces with root-driven install/build flow.
95
+ - Consolidated root scripts for site orchestration (`site:build`, `site:build:api`) and bootstrap install.
96
+ - Removed separate `site/package-lock.json` in favor of a root lockfile workflow.
97
+ - Vendor sync scripts were hardened for both hoisted and non-hoisted dependency layouts (resolver-based Monaco and Exo vendor path discovery).
98
+ - Rollup build constants and environment-aware build modes were introduced (`production`/`development`, `__DEV__`, `__VERSION__`, `__COMMIT_SHA__`, `__BUILD_ENV__`).
99
+ - CI/release/pages workflows were aligned to root workspace installation and root-script site builds.
100
+
101
+ ### Verification
102
+
103
+ - Engine checks pass at HEAD: typecheck clean, strict lint clean, tests passing (`106` suites / `1452` tests), exports verification clean.
104
+ - Site API generation and site build pass on the workspace-oriented pipeline.
105
+
7
106
  ## [0.8.4] - 2026-05-14
8
107
 
9
108
  ### Site / Guide
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ExoJS
2
2
 
3
- ExoJS is a TypeScript-first 2D runtime for browser games and interactive apps. It is designed around explicit scene flow, practical rendering features, and predictable runtime behavior.
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
 
@@ -37,7 +37,7 @@ CommonJS `require()` usage is not part of the supported contract for this pre-1.
37
37
  ## Quickstart
38
38
 
39
39
  ```ts
40
- import { Application, Scene, Graphics, Color, type RenderBackend } from '@codexo/exojs';
40
+ import { Application, Scene, Graphics, Color, type RenderingContext } from '@codexo/exojs';
41
41
 
42
42
  class HelloScene extends Scene {
43
43
  private readonly box = new Graphics();
@@ -56,8 +56,8 @@ class HelloScene extends Scene {
56
56
  this.box.rotation += delta.seconds * 45;
57
57
  }
58
58
 
59
- public override draw(backend: RenderBackend): void {
60
- this.root.render(backend);
59
+ public override draw(context: RenderingContext): void {
60
+ context.render(this.root);
61
61
  }
62
62
  }
63
63
 
@@ -68,9 +68,11 @@ if (!canvas) {
68
68
  }
69
69
 
70
70
  const app = new Application({
71
- canvas,
72
- width: 800,
73
- height: 600,
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
106
- npm run typecheck
107
- npm run lint
108
- npm test
109
- npm run build
110
- npm run verify:package
111
- npm run perf:benchmark
114
+ pnpm bootstrap
115
+ pnpm typecheck
116
+ pnpm lint
117
+ pnpm test
118
+ pnpm build
119
+ pnpm verify:package
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 pnpm workspaces (`site/` is a workspace package).
127
+ Use root-level commands as the source of truth:
128
+
129
+ ```bash
130
+ pnpm bootstrap
131
+ pnpm site:build
132
+ pnpm site:build:api
133
+ ```
134
+
135
+ Avoid running `pnpm install` 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<keyof T, number>>, duration: number): this;
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. If a manager owns this tween it is already tracked;
125
- * otherwise this is a stand-alone tween driven by manual update() calls.
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. If a manager owns this tween it is already tracked;
166
- * otherwise this is a stand-alone tween driven by manual update() calls.
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":"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"}
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): this;
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 this;
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;;;;;;;;;AASG;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;;;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;AAAE,YAAA,OAAO,IAAI;QAEhC,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;AAEA,QAAA,OAAO,IAAI;IACb;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
+ {"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;;;;"}
@@ -43,6 +43,8 @@ export declare class AudioAnalyser {
43
43
  private _source;
44
44
  private _tapSource;
45
45
  private _streamSource;
46
+ private _pendingSourceSetup;
47
+ private readonly _onAudioContextReady;
46
48
  private _byteSpectrum;
47
49
  private _floatSpectrum;
48
50
  private _byteWaveform;
@@ -1,4 +1,4 @@
1
- import { isAudioContextReady, getAudioContext, onAudioContextReady } from './audio-context.js';
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.once(this._setupAnalyser, this);
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
- onAudioContextReady.once((ctx) => {
81
- if (this._source === value) {
82
- this._connectSource(value, ctx);
83
- }
84
- }, this);
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.clearByContext(this);
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
- }, this);
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":";;;AAsCA;;;;;;;;AAQG;MACU,aAAa,CAAA;IAChB,SAAS,GAAwB,IAAI;AAC5B,IAAA,QAAQ;IACjB,OAAO,GAAwB,IAAI;IACnC,UAAU,GAAqB,IAAI;IACnC,aAAa,GAAsC,IAAI;IACvD,mBAAmB,GAAyC,IAAI;AACvD,IAAA,oBAAoB,GAAG,CAAC,GAAiB,KAAU;AAClE,QAAA,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACrD,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;AAC1B,IAAA,CAAC;;AAGO,IAAA,aAAa;AACb,IAAA,cAAc;AACd,IAAA,aAAa;AACb,IAAA,cAAc;;;AAId,IAAA,SAAS,GAAG,IAAI,GAAG,EAAqB;AACxC,IAAA,SAAS,GAAG,IAAI,GAAG,EAA0B;AAErD;;;;AAIG;AACH,IAAA,WAAA,CAAmB,OAA8B,EAAA;QAC/C,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;AACjC,YAAA,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,GAAG;AAC5D,YAAA,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;AACzC,YAAA,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG;AACxC,YAAA,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;SAChC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC;QAEhD,IAAI,mBAAmB,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACxC;aAAO;AACL,YAAA,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACpD;AAEA,QAAA,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;AAC5D,YAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;QAC9B;IACF;;;;AAMA;;;;AAIG;AACH,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,KAA0B,EAAA;AAC1C,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO;YAAE;;QAG5B,IAAI,CAAC,cAAc,EAAE;AAErB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QAEpB,IAAI,KAAK,KAAK,IAAI;YAAE;;QAGpB,IAAI,mBAAmB,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;YAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;QAC/C;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;AACrC,gBAAA,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACtD;AAEA,YAAA,MAAM,OAAO,GAAG,CAAC,GAAiB,KAAU;AAC1C,gBAAA,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;AACnC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;AACjC,YAAA,CAAC;AAED,YAAA,IAAI,CAAC,mBAAmB,GAAG,OAAO;AAClC,YAAA,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC;QAClC;IACF;;;;AAMA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO;IAC9B;;AAGA,IAAA,IAAW,iBAAiB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC;IACnC;AAEA,IAAA,IAAW,qBAAqB,GAAA;QAC9B,OAAO,IAAI,CAAC,SAAS,EAAE,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB;IACrF;IAEA,IAAW,qBAAqB,CAAC,CAAS,EAAA;AACxC,QAAA,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,CAAC;IAC9D;AAEA,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW;IACjE;IAEA,IAAW,WAAW,CAAC,CAAS,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC;IACpD;AAEA,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW;IACjE;IAEA,IAAW,WAAW,CAAC,CAAS,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC;IACpD;;;;;AAOO,IAAA,WAAW,CAAC,IAA8B,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa;AACtC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC1C;aAAO;AACL,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACb;AACA,QAAA,OAAO,GAAG;IACZ;;AAGO,IAAA,gBAAgB,CAAC,IAAgC,EAAA;AACtD,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc;AACvC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC;QAC3C;aAAO;AACL,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACb;AACA,QAAA,OAAO,GAAG;IACZ;;AAGO,IAAA,WAAW,CAAC,IAA8B,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa;AACtC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC;QAC3C;aAAO;AACL,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACb;AACA,QAAA,OAAO,GAAG;IACZ;;AAGO,IAAA,gBAAgB,CAAC,IAAgC,EAAA;AACtD,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc;AACvC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC;QAC5C;aAAO;AACL,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACb;AACA,QAAA,OAAO,GAAG;IACZ;;;;AAMA;;;AAGG;IACI,aAAa,CAAC,MAAc,EAAE,IAAY,EAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,CAAC;AAC7B,QAAA,MAAM,GAAG,GAAG,eAAe,EAAE;AAC7B,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC;AAClC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB;AACvC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;AAC9F,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;QAE1F,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;AAEnC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;QACnC,IAAI,GAAG,GAAG,CAAC;AACX,QAAA,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACzB,QAAA,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;AAC7B,YAAA,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;QACpB;AACA,QAAA,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC;IAC5B;;IAGO,aAAa,GAAA;QAClB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;SACtC;IACH;;IAGO,MAAM,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,CAAC;AAC7B,QAAA,MAAM,GAAG,GAAG,eAAe,EAAE;AAC7B,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;AAiBA;;;;AAIG;IACI,cAAc,CAAC,IAA8B,EAAE,OAAgC,EAAA;AACpF,QAAA,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC;QAEjG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1C,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,YAAA,OAAO,GAAG;QACZ;QAEA,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;QACvD,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,CAAC;AAEpD,QAAA,OAAO,GAAG;IACZ;;IAGO,mBAAmB,CAAC,IAAgC,EAAE,OAAgC,EAAA;AAC3F,QAAA,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC;QAEjG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1C,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,YAAA,OAAO,GAAG;QACZ;QAEA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC;QACzD,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC;AAErD,QAAA,OAAO,GAAG;IACZ;AAEA;;;;;AAKG;IACI,cAAc,CAAC,IAA8B,EAAE,OAAgC,EAAA;AACpF,QAAA,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC;QAEzF,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE;AACtC,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,YAAA,OAAO,GAAG;QACZ;QAEA,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;QACvD,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC;AAE/C,QAAA,OAAO,GAAG;IACZ;;IAGO,mBAAmB,CAAC,IAAgC,EAAE,OAAgC,EAAA;AAC3F,QAAA,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC;QAEzF,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE;AACtC,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,YAAA,OAAO,GAAG;QACZ;QAEA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC;QACzD,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC;AAEhD,QAAA,OAAO,GAAG;IACZ;;;;AAMA;;;;AAIG;IACI,OAAO,GAAA;AACZ,QAAA,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAErD,QAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;AACrC,YAAA,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACpD,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;QACA,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;;;;AAMQ,IAAA,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,EAAA;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,IAAI;AAChC,QAAA,MAAM,GAAG,GAAG,eAAe,EAAE;AAC7B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;AACrC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;QAExD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YAC9E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEQ,IAAA,aAAa,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,EAAA;QAC7D,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,IAAI;AAChC,QAAA,MAAM,GAAG,GAAG,eAAe,EAAE;AAC7B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;AACrC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;QAExD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEQ,IAAA,cAAc,CAAC,YAA0B,EAAA;AAC/C,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,EAAE;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;QAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB;AAChE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;AAGrB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;QACjD;IACF;IAEQ,cAAc,CAAC,MAA2B,EAAE,YAA0B,EAAA;QAC5E,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC;QAC1D,IAAI,CAAC,GAAG,EAAE;;AAER,YAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;YACnC;QACF;AAEA,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG;AACrB,QAAA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B;IAEQ,mBAAmB,CAAC,MAA2B,EAAE,YAA0B,EAAA;QACjF,IAAI,MAAM,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;;QAGhC,MAAM,QAAQ,GAAG,MAAyC;AAC1D,QAAA,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU,EAAE;AAC5C,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;AAC/B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;YAC3B;YACA,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,MAAqB,CAAC;AAC1E,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM;AAC3B,YAAA,OAAO,MAAM;QACf;;QAGA,MAAM,KAAK,GAAG,MAA6D;AAC3E,QAAA,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU,EAAE;AAC9C,YAAA,OAAO,KAAK,CAAC,cAAc,EAAE;QAC/B;;QAGA,MAAM,OAAO,GAAG,MAAuD;AACvE,QAAA,IAAI,gBAAgB,IAAI,OAAO,EAAE;AAC/B,YAAA,OAAO,OAAO,CAAC,cAAc,IAAI,IAAI;QACvC;;QAGA,MAAM,MAAM,GAAG,MAA4D;AAC3E,QAAA,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;AACnF,YAAA,OAAO,MAA8B;QACvC;AAEA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,sBAAsB,CAAC,MAA2B,EAAA;;QAExD,MAAM,KAAK,GAAG,MAAgE;AAC9E,QAAA,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE;AACzC,YAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACnB,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,mBAAmB,EAAE,EAAE;oBACtE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;gBAChD;AACF,YAAA,CAAC,CAAC;YACF;QACF;;AAGA,QAAA,mBAAmB,CAAC,IAAI,CAAC,MAAK;AAC5B,YAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,mBAAmB,EAAE,EAAE;gBACtE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;YAChD;AACF,QAAA,CAAC,CAAC;IACJ;IAEQ,cAAc,GAAA;QACpB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE;AACrC,YAAA,IAAI;gBACF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C;AAAE,YAAA,MAAM;;YAER;QACF;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;;AAGtB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC3B;IACF;AACD;AAaD,SAAS,cAAc,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,UAAkB,EAAA;AACxG,IAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC;AAC7B,IAAA,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7B,MAAM,MAAM,GAAmB,EAAE;AAEjC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,SAAS,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;AAC3E,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;AAC9F,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnC;AAEA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,eAAe,CAAC,QAAmC,EAAE,KAAgB,EAAE,GAA8B,EAAA;AAC5G,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,CAAC;AACX,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,GAAG,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC5C;AACA,QAAA,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;IACd;AACF;AAEA,SAAS,cAAc,CAAC,QAAmC,EAAE,MAAsB,EAAE,GAA8B,EAAA;AACjH,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,CAAC;AACX,QAAA,MAAM,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,CAAC;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;QACpB;AACA,QAAA,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK;IACtB;AACF;;;;"}
@@ -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;