@codexo/exojs 0.7.13 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/CHANGELOG.md +637 -124
  2. package/README.md +19 -19
  3. package/dist/esm/animation/Easing.js +13 -21
  4. package/dist/esm/animation/Easing.js.map +1 -1
  5. package/dist/esm/animation/Tween.d.ts +3 -3
  6. package/dist/esm/animation/Tween.js +7 -5
  7. package/dist/esm/animation/Tween.js.map +1 -1
  8. package/dist/esm/animation/TweenManager.js +1 -1
  9. package/dist/esm/animation/TweenManager.js.map +1 -1
  10. package/dist/esm/animation/types.js.map +1 -1
  11. package/dist/esm/audio/AbstractMedia.d.ts +1 -1
  12. package/dist/esm/audio/AbstractMedia.js +1 -1
  13. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  14. package/dist/esm/audio/AudioAnalyser.d.ts +1 -1
  15. package/dist/esm/audio/AudioAnalyser.js +2 -2
  16. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  17. package/dist/esm/audio/AudioBus.d.ts +1 -1
  18. package/dist/esm/audio/AudioBus.js.map +1 -1
  19. package/dist/esm/audio/AudioFilter.js +3 -1
  20. package/dist/esm/audio/AudioFilter.js.map +1 -1
  21. package/dist/esm/audio/AudioListener.d.ts +1 -1
  22. package/dist/esm/audio/AudioListener.js +5 -3
  23. package/dist/esm/audio/AudioListener.js.map +1 -1
  24. package/dist/esm/audio/AudioManager.js.map +1 -1
  25. package/dist/esm/audio/BeatDetector.d.ts +4 -4
  26. package/dist/esm/audio/BeatDetector.js +68 -44
  27. package/dist/esm/audio/BeatDetector.js.map +1 -1
  28. package/dist/esm/audio/Envelope.d.ts +1 -1
  29. package/dist/esm/audio/Envelope.js +2 -2
  30. package/dist/esm/audio/Envelope.js.map +1 -1
  31. package/dist/esm/audio/Music.d.ts +1 -1
  32. package/dist/esm/audio/Music.js +1 -1
  33. package/dist/esm/audio/Music.js.map +1 -1
  34. package/dist/esm/audio/OscillatorSound.d.ts +2 -2
  35. package/dist/esm/audio/OscillatorSound.js.map +1 -1
  36. package/dist/esm/audio/Sound.d.ts +40 -2
  37. package/dist/esm/audio/Sound.js +69 -9
  38. package/dist/esm/audio/Sound.js.map +1 -1
  39. package/dist/esm/audio/audio-context.js +1 -1
  40. package/dist/esm/audio/audio-context.js.map +1 -1
  41. package/dist/esm/audio/crossFade.js +1 -1
  42. package/dist/esm/audio/crossFade.js.map +1 -1
  43. package/dist/esm/audio/dsp/mel.d.ts +2 -2
  44. package/dist/esm/audio/dsp/tempogram.d.ts +2 -2
  45. package/dist/esm/audio/filters/ChorusFilter.js +12 -4
  46. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  47. package/dist/esm/audio/filters/CompressorFilter.d.ts +9 -0
  48. package/dist/esm/audio/filters/CompressorFilter.js +11 -0
  49. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  50. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  51. package/dist/esm/audio/filters/DuckingFilter.d.ts +1 -1
  52. package/dist/esm/audio/filters/DuckingFilter.js +13 -5
  53. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  54. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  55. package/dist/esm/audio/filters/GranularFilter.js +30 -14
  56. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  57. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  58. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  59. package/dist/esm/audio/filters/PitchShiftFilter.js +14 -10
  60. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  61. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  62. package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -2
  63. package/dist/esm/audio/filters/VocoderFilter.js +20 -12
  64. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  65. package/dist/esm/audio/filters/WorkletFilter.js +5 -6
  66. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  67. package/dist/esm/audio/filters/index.d.ts +7 -7
  68. package/dist/esm/audio/index.d.ts +9 -9
  69. package/dist/esm/audio/worklet/registerWorklet.js +7 -3
  70. package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
  71. package/dist/esm/core/Application.d.ts +13 -13
  72. package/dist/esm/core/Application.js +24 -16
  73. package/dist/esm/core/Application.js.map +1 -1
  74. package/dist/esm/core/Bounds.d.ts +1 -1
  75. package/dist/esm/core/Bounds.js +1 -3
  76. package/dist/esm/core/Bounds.js.map +1 -1
  77. package/dist/esm/core/Clock.js +1 -1
  78. package/dist/esm/core/Clock.js.map +1 -1
  79. package/dist/esm/core/Color.js +2 -5
  80. package/dist/esm/core/Color.js.map +1 -1
  81. package/dist/esm/core/Scene.d.ts +10 -10
  82. package/dist/esm/core/Scene.js +1 -1
  83. package/dist/esm/core/Scene.js.map +1 -1
  84. package/dist/esm/core/SceneManager.d.ts +4 -4
  85. package/dist/esm/core/SceneManager.js +39 -33
  86. package/dist/esm/core/SceneManager.js.map +1 -1
  87. package/dist/esm/core/SceneNode.d.ts +8 -8
  88. package/dist/esm/core/SceneNode.js +39 -29
  89. package/dist/esm/core/SceneNode.js.map +1 -1
  90. package/dist/esm/core/Signal.d.ts +3 -3
  91. package/dist/esm/core/Signal.js +3 -3
  92. package/dist/esm/core/Signal.js.map +1 -1
  93. package/dist/esm/core/Time.js +6 -6
  94. package/dist/esm/core/Time.js.map +1 -1
  95. package/dist/esm/core/Timer.d.ts +1 -1
  96. package/dist/esm/core/Timer.js +1 -1
  97. package/dist/esm/core/Timer.js.map +1 -1
  98. package/dist/esm/core/capabilities.js +2 -4
  99. package/dist/esm/core/capabilities.js.map +1 -1
  100. package/dist/esm/core/index.d.ts +2 -2
  101. package/dist/esm/core/utils.d.ts +4 -4
  102. package/dist/esm/core/utils.js +10 -10
  103. package/dist/esm/core/utils.js.map +1 -1
  104. package/dist/esm/debug/BoundingBoxesLayer.d.ts +3 -3
  105. package/dist/esm/debug/BoundingBoxesLayer.js +6 -13
  106. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  107. package/dist/esm/debug/DebugLayer.d.ts +1 -1
  108. package/dist/esm/debug/DebugLayer.js.map +1 -1
  109. package/dist/esm/debug/DebugOverlay.d.ts +2 -2
  110. package/dist/esm/debug/DebugOverlay.js +2 -2
  111. package/dist/esm/debug/DebugOverlay.js.map +1 -1
  112. package/dist/esm/debug/HitTestLayer.d.ts +3 -3
  113. package/dist/esm/debug/HitTestLayer.js +3 -10
  114. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  115. package/dist/esm/debug/PerformanceLayer.d.ts +2 -2
  116. package/dist/esm/debug/PerformanceLayer.js +6 -6
  117. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  118. package/dist/esm/debug/PointerStackLayer.d.ts +3 -3
  119. package/dist/esm/debug/PointerStackLayer.js +3 -3
  120. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  121. package/dist/esm/debug/index.d.ts +3 -3
  122. package/dist/esm/debug/index.js +3 -3
  123. package/dist/esm/index.d.ts +1 -1
  124. package/dist/esm/index.js +106 -84
  125. package/dist/esm/index.js.map +1 -1
  126. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  127. package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -1
  128. package/dist/esm/input/GameCubeGamepadMapping.js +1 -1
  129. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  130. package/dist/esm/input/Gamepad.d.ts +7 -7
  131. package/dist/esm/input/Gamepad.js +10 -6
  132. package/dist/esm/input/Gamepad.js.map +1 -1
  133. package/dist/esm/input/GamepadAxis.js +1 -1
  134. package/dist/esm/input/GamepadAxis.js.map +1 -1
  135. package/dist/esm/input/GamepadButton.js +1 -1
  136. package/dist/esm/input/GamepadButton.js.map +1 -1
  137. package/dist/esm/input/GamepadDefinitions.d.ts +4 -4
  138. package/dist/esm/input/GamepadDefinitions.js +12 -14
  139. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  140. package/dist/esm/input/GamepadMapping.d.ts +5 -5
  141. package/dist/esm/input/GamepadMapping.js.map +1 -1
  142. package/dist/esm/input/GamepadPromptLayouts.d.ts +2 -2
  143. package/dist/esm/input/GamepadPromptLayouts.js +8 -8
  144. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  145. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  146. package/dist/esm/input/GestureRecognizer.d.ts +1 -1
  147. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  148. package/dist/esm/input/InputBinding.d.ts +3 -3
  149. package/dist/esm/input/InputBinding.js.map +1 -1
  150. package/dist/esm/input/InputManager.d.ts +9 -9
  151. package/dist/esm/input/InputManager.js +25 -16
  152. package/dist/esm/input/InputManager.js.map +1 -1
  153. package/dist/esm/input/InteractionEvent.d.ts +1 -1
  154. package/dist/esm/input/InteractionEvent.js.map +1 -1
  155. package/dist/esm/input/InteractionManager.d.ts +2 -2
  156. package/dist/esm/input/InteractionManager.js +25 -16
  157. package/dist/esm/input/InteractionManager.js.map +1 -1
  158. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  159. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  160. package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -1
  161. package/dist/esm/input/PlayStationGamepadMapping.js +1 -1
  162. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  163. package/dist/esm/input/Pointer.d.ts +2 -2
  164. package/dist/esm/input/Pointer.js +6 -6
  165. package/dist/esm/input/Pointer.js.map +1 -1
  166. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -1
  167. package/dist/esm/input/SteamControllerGamepadMapping.js +1 -1
  168. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  169. package/dist/esm/input/SteamDeckGamepadMapping.js.map +1 -1
  170. package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -1
  171. package/dist/esm/input/SwitchProGamepadMapping.js +1 -1
  172. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  173. package/dist/esm/input/XboxGamepadMapping.d.ts +1 -1
  174. package/dist/esm/input/XboxGamepadMapping.js +1 -1
  175. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  176. package/dist/esm/input/index.d.ts +16 -16
  177. package/dist/esm/input/interaction-hooks.js.map +1 -1
  178. package/dist/esm/input/types.js.map +1 -1
  179. package/dist/esm/math/AbstractVector.js +8 -9
  180. package/dist/esm/math/AbstractVector.js.map +1 -1
  181. package/dist/esm/math/Circle.d.ts +5 -5
  182. package/dist/esm/math/Circle.js +33 -21
  183. package/dist/esm/math/Circle.js.map +1 -1
  184. package/dist/esm/math/Collision.d.ts +2 -2
  185. package/dist/esm/math/Collision.js.map +1 -1
  186. package/dist/esm/math/Ellipse.d.ts +5 -5
  187. package/dist/esm/math/Ellipse.js +28 -19
  188. package/dist/esm/math/Ellipse.js.map +1 -1
  189. package/dist/esm/math/Flags.d.ts +4 -4
  190. package/dist/esm/math/Flags.js.map +1 -1
  191. package/dist/esm/math/Interval.js.map +1 -1
  192. package/dist/esm/math/Line.d.ts +5 -5
  193. package/dist/esm/math/Line.js +23 -15
  194. package/dist/esm/math/Line.js.map +1 -1
  195. package/dist/esm/math/Matrix.js +14 -16
  196. package/dist/esm/math/Matrix.js.map +1 -1
  197. package/dist/esm/math/ObservableSize.js.map +1 -1
  198. package/dist/esm/math/ObservableVector.d.ts +1 -1
  199. package/dist/esm/math/ObservableVector.js.map +1 -1
  200. package/dist/esm/math/PolarVector.js.map +1 -1
  201. package/dist/esm/math/Polygon.d.ts +11 -11
  202. package/dist/esm/math/Polygon.js +37 -26
  203. package/dist/esm/math/Polygon.js.map +1 -1
  204. package/dist/esm/math/PolygonLike.d.ts +1 -1
  205. package/dist/esm/math/Quadtree.js +2 -8
  206. package/dist/esm/math/Quadtree.js.map +1 -1
  207. package/dist/esm/math/Random.js +5 -5
  208. package/dist/esm/math/Random.js.map +1 -1
  209. package/dist/esm/math/Rectangle.d.ts +4 -4
  210. package/dist/esm/math/Rectangle.js +59 -41
  211. package/dist/esm/math/Rectangle.js.map +1 -1
  212. package/dist/esm/math/Segment.d.ts +1 -1
  213. package/dist/esm/math/Segment.js +4 -4
  214. package/dist/esm/math/Segment.js.map +1 -1
  215. package/dist/esm/math/ShapeLike.d.ts +1 -1
  216. package/dist/esm/math/Size.js +1 -2
  217. package/dist/esm/math/Size.js.map +1 -1
  218. package/dist/esm/math/Vector.d.ts +4 -4
  219. package/dist/esm/math/Vector.js +19 -13
  220. package/dist/esm/math/Vector.js.map +1 -1
  221. package/dist/esm/math/collision-detection.d.ts +3 -3
  222. package/dist/esm/math/collision-detection.js +49 -49
  223. package/dist/esm/math/collision-detection.js.map +1 -1
  224. package/dist/esm/math/collision-primitives.d.ts +8 -8
  225. package/dist/esm/math/collision-primitives.js +27 -33
  226. package/dist/esm/math/collision-primitives.js.map +1 -1
  227. package/dist/esm/math/geometry.d.ts +3 -3
  228. package/dist/esm/math/geometry.js +55 -48
  229. package/dist/esm/math/geometry.js.map +1 -1
  230. package/dist/esm/math/index.d.ts +16 -16
  231. package/dist/esm/math/swept-collision.d.ts +3 -3
  232. package/dist/esm/math/swept-collision.js +5 -8
  233. package/dist/esm/math/swept-collision.js.map +1 -1
  234. package/dist/esm/math/triangulate.js +34 -24
  235. package/dist/esm/math/triangulate.js.map +1 -1
  236. package/dist/esm/math/utils.d.ts +2 -2
  237. package/dist/esm/math/utils.js +7 -7
  238. package/dist/esm/math/utils.js.map +1 -1
  239. package/dist/esm/particles/ParticleSystem.d.ts +181 -84
  240. package/dist/esm/particles/ParticleSystem.js +460 -147
  241. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  242. package/dist/esm/particles/distributions/BoxArea.d.ts +17 -0
  243. package/dist/esm/particles/distributions/BoxArea.js +48 -0
  244. package/dist/esm/particles/distributions/BoxArea.js.map +1 -0
  245. package/dist/esm/particles/distributions/CircleArea.d.ts +19 -0
  246. package/dist/esm/particles/distributions/CircleArea.js +33 -0
  247. package/dist/esm/particles/distributions/CircleArea.js.map +1 -0
  248. package/dist/esm/particles/distributions/ConeDirection.d.ts +28 -0
  249. package/dist/esm/particles/distributions/ConeDirection.js +44 -0
  250. package/dist/esm/particles/distributions/ConeDirection.js.map +1 -0
  251. package/dist/esm/particles/distributions/Constant.d.ts +17 -0
  252. package/dist/esm/particles/distributions/Constant.js +35 -0
  253. package/dist/esm/particles/distributions/Constant.js.map +1 -0
  254. package/dist/esm/particles/distributions/Curve.d.ts +30 -0
  255. package/dist/esm/particles/distributions/Curve.js +53 -0
  256. package/dist/esm/particles/distributions/Curve.js.map +1 -0
  257. package/dist/esm/particles/distributions/Distribution.d.ts +45 -0
  258. package/dist/esm/particles/distributions/Gradient.d.ts +40 -0
  259. package/dist/esm/particles/distributions/Gradient.js +72 -0
  260. package/dist/esm/particles/distributions/Gradient.js.map +1 -0
  261. package/dist/esm/particles/distributions/LineSegment.d.ts +15 -0
  262. package/dist/esm/particles/distributions/LineSegment.js +27 -0
  263. package/dist/esm/particles/distributions/LineSegment.js.map +1 -0
  264. package/dist/esm/particles/distributions/Range.d.ts +12 -0
  265. package/dist/esm/particles/distributions/Range.js +19 -0
  266. package/dist/esm/particles/distributions/Range.js.map +1 -0
  267. package/dist/esm/particles/distributions/VectorRange.d.ts +20 -0
  268. package/dist/esm/particles/distributions/VectorRange.js +31 -0
  269. package/dist/esm/particles/distributions/VectorRange.js.map +1 -0
  270. package/dist/esm/particles/distributions/index.d.ts +12 -0
  271. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +57 -0
  272. package/dist/esm/particles/gpu/ParticleGpuState.js +535 -0
  273. package/dist/esm/particles/gpu/ParticleGpuState.js.map +1 -0
  274. package/dist/esm/particles/index.d.ts +2 -10
  275. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +24 -0
  276. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +60 -0
  277. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -0
  278. package/dist/esm/particles/modules/ApplyForce.d.ts +20 -0
  279. package/dist/esm/particles/modules/ApplyForce.js +48 -0
  280. package/dist/esm/particles/modules/ApplyForce.js.map +1 -0
  281. package/dist/esm/particles/modules/AttractToPoint.d.ts +27 -0
  282. package/dist/esm/particles/modules/AttractToPoint.js +73 -0
  283. package/dist/esm/particles/modules/AttractToPoint.js.map +1 -0
  284. package/dist/esm/particles/modules/BurstSpawn.d.ts +53 -0
  285. package/dist/esm/particles/modules/BurstSpawn.js +94 -0
  286. package/dist/esm/particles/modules/BurstSpawn.js.map +1 -0
  287. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +22 -0
  288. package/dist/esm/particles/modules/ColorOverLifetime.js +65 -0
  289. package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -0
  290. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +27 -0
  291. package/dist/esm/particles/modules/ColorOverSpeed.js +86 -0
  292. package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -0
  293. package/dist/esm/particles/modules/DeathModule.d.ts +24 -0
  294. package/dist/esm/particles/modules/DeathModule.js +25 -0
  295. package/dist/esm/particles/modules/DeathModule.js.map +1 -0
  296. package/dist/esm/particles/modules/Drag.d.ts +20 -0
  297. package/dist/esm/particles/modules/Drag.js +43 -0
  298. package/dist/esm/particles/modules/Drag.js.map +1 -0
  299. package/dist/esm/particles/modules/OrbitalForce.d.ts +28 -0
  300. package/dist/esm/particles/modules/OrbitalForce.js +65 -0
  301. package/dist/esm/particles/modules/OrbitalForce.js.map +1 -0
  302. package/dist/esm/particles/modules/RateSpawn.d.ts +41 -0
  303. package/dist/esm/particles/modules/RateSpawn.js +76 -0
  304. package/dist/esm/particles/modules/RateSpawn.js.map +1 -0
  305. package/dist/esm/particles/modules/RepelFromPoint.d.ts +24 -0
  306. package/dist/esm/particles/modules/RepelFromPoint.js +76 -0
  307. package/dist/esm/particles/modules/RepelFromPoint.js.map +1 -0
  308. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +20 -0
  309. package/dist/esm/particles/modules/RotateOverLifetime.js +41 -0
  310. package/dist/esm/particles/modules/RotateOverLifetime.js.map +1 -0
  311. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +26 -0
  312. package/dist/esm/particles/modules/ScaleOverLifetime.js +59 -0
  313. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +1 -0
  314. package/dist/esm/particles/modules/SpawnModule.d.ts +30 -0
  315. package/dist/esm/particles/modules/SpawnModule.js +31 -0
  316. package/dist/esm/particles/modules/SpawnModule.js.map +1 -0
  317. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +24 -0
  318. package/dist/esm/particles/modules/SpawnOnDeath.js +47 -0
  319. package/dist/esm/particles/modules/SpawnOnDeath.js.map +1 -0
  320. package/dist/esm/particles/modules/Turbulence.d.ts +30 -0
  321. package/dist/esm/particles/modules/Turbulence.js +122 -0
  322. package/dist/esm/particles/modules/Turbulence.js.map +1 -0
  323. package/dist/esm/particles/modules/UpdateModule.d.ts +95 -0
  324. package/dist/esm/particles/modules/UpdateModule.js +66 -0
  325. package/dist/esm/particles/modules/UpdateModule.js.map +1 -0
  326. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +30 -0
  327. package/dist/esm/particles/modules/VelocityOverLifetime.js +84 -0
  328. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +1 -0
  329. package/dist/esm/particles/modules/WgslContribution.d.ts +81 -0
  330. package/dist/esm/particles/modules/WgslContribution.js +34 -0
  331. package/dist/esm/particles/modules/WgslContribution.js.map +1 -0
  332. package/dist/esm/particles/modules/index.d.ts +22 -0
  333. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  334. package/dist/esm/rendering/Container.d.ts +2 -2
  335. package/dist/esm/rendering/Container.js +10 -11
  336. package/dist/esm/rendering/Container.js.map +1 -1
  337. package/dist/esm/rendering/Drawable.js.map +1 -1
  338. package/dist/esm/rendering/RenderBackend.d.ts +6 -6
  339. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  340. package/dist/esm/rendering/RenderNode.d.ts +10 -10
  341. package/dist/esm/rendering/RenderNode.js +31 -31
  342. package/dist/esm/rendering/RenderNode.js.map +1 -1
  343. package/dist/esm/rendering/RenderStats.js.map +1 -1
  344. package/dist/esm/rendering/RenderTarget.d.ts +2 -2
  345. package/dist/esm/rendering/RenderTarget.js +5 -5
  346. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  347. package/dist/esm/rendering/RenderTargetPass.d.ts +3 -3
  348. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  349. package/dist/esm/rendering/Renderer.d.ts +2 -2
  350. package/dist/esm/rendering/RendererRegistry.d.ts +3 -3
  351. package/dist/esm/rendering/RendererRegistry.js +2 -3
  352. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  353. package/dist/esm/rendering/View.d.ts +3 -3
  354. package/dist/esm/rendering/View.js +17 -20
  355. package/dist/esm/rendering/View.js.map +1 -1
  356. package/dist/esm/rendering/filters/BlurFilter.d.ts +1 -1
  357. package/dist/esm/rendering/filters/BlurFilter.js +4 -9
  358. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  359. package/dist/esm/rendering/filters/ColorFilter.d.ts +1 -1
  360. package/dist/esm/rendering/filters/ColorFilter.js +3 -9
  361. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  362. package/dist/esm/rendering/filters/Filter.d.ts +1 -1
  363. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  364. package/dist/esm/rendering/filters/LutFilter.d.ts +87 -0
  365. package/dist/esm/rendering/filters/LutFilter.js +261 -0
  366. package/dist/esm/rendering/filters/LutFilter.js.map +1 -0
  367. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +2 -2
  368. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +7 -14
  369. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  370. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +1 -1
  371. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +11 -10
  372. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  373. package/dist/esm/rendering/index.d.ts +28 -27
  374. package/dist/esm/rendering/mesh/Mesh.d.ts +49 -1
  375. package/dist/esm/rendering/mesh/Mesh.js +3 -1
  376. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  377. package/dist/esm/rendering/primitives/Graphics.d.ts +3 -3
  378. package/dist/esm/rendering/primitives/Graphics.js +12 -12
  379. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  380. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  381. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  382. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  383. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +6 -8
  384. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -1
  385. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +3 -3
  386. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  387. package/dist/esm/rendering/sprite/Sprite.d.ts +4 -4
  388. package/dist/esm/rendering/sprite/Sprite.js +51 -35
  389. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  390. package/dist/esm/rendering/sprite/Spritesheet.d.ts +5 -9
  391. package/dist/esm/rendering/sprite/Spritesheet.js +1 -1
  392. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  393. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +3 -9
  394. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +1 -1
  395. package/dist/esm/rendering/text/Text.js +9 -9
  396. package/dist/esm/rendering/text/Text.js.map +1 -1
  397. package/dist/esm/rendering/text/TextLayout.d.ts +2 -2
  398. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  399. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  400. package/dist/esm/rendering/text/atlas-singleton.js.map +1 -1
  401. package/dist/esm/rendering/texture/RenderTexture.d.ts +1 -1
  402. package/dist/esm/rendering/texture/RenderTexture.js +4 -1
  403. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  404. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  405. package/dist/esm/rendering/texture/Texture.d.ts +2 -2
  406. package/dist/esm/rendering/texture/Texture.js +8 -5
  407. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  408. package/dist/esm/rendering/types.js.map +1 -1
  409. package/dist/esm/rendering/utils.js.map +1 -1
  410. package/dist/esm/rendering/video/Video.d.ts +3 -3
  411. package/dist/esm/rendering/video/Video.js +7 -6
  412. package/dist/esm/rendering/video/Video.js.map +1 -1
  413. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +6 -6
  414. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -10
  415. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  416. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +1 -1
  417. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +1 -2
  418. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  419. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +11 -11
  420. package/dist/esm/rendering/webgl2/WebGl2Backend.js +19 -21
  421. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  422. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +2 -2
  423. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +6 -8
  424. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
  425. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +7 -4
  426. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +110 -43
  427. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  428. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +10 -15
  429. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +100 -79
  430. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
  431. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +1 -1
  432. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  433. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  434. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
  435. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +54 -22
  436. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
  437. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +1 -1
  438. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +11 -14
  439. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  440. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
  441. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
  442. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +1 -1
  443. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +1 -1
  444. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +1 -2
  445. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  446. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +7 -7
  447. package/dist/esm/rendering/webgpu/WebGpuBackend.js +44 -30
  448. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  449. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  450. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -2
  451. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +1 -3
  452. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  453. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
  454. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +25 -23
  455. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  456. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +10 -1
  457. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +204 -76
  458. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  459. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -2
  460. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +45 -45
  461. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  462. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +52 -0
  463. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +29 -0
  464. package/dist/esm/rendering/webgpu/compute/index.d.ts +3 -0
  465. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -1
  466. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  467. package/dist/esm/resources/AssetManifest.d.ts +1 -1
  468. package/dist/esm/resources/AssetManifest.js +2 -2
  469. package/dist/esm/resources/AssetManifest.js.map +1 -1
  470. package/dist/esm/resources/CacheFirstStrategy.d.ts +2 -2
  471. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  472. package/dist/esm/resources/CacheStrategy.d.ts +1 -1
  473. package/dist/esm/resources/FactoryRegistry.d.ts +1 -1
  474. package/dist/esm/resources/FactoryRegistry.js +2 -3
  475. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  476. package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
  477. package/dist/esm/resources/IndexedDbDatabase.js +11 -14
  478. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  479. package/dist/esm/resources/IndexedDbStore.d.ts +1 -1
  480. package/dist/esm/resources/IndexedDbStore.js +2 -7
  481. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  482. package/dist/esm/resources/Loader.d.ts +9 -9
  483. package/dist/esm/resources/Loader.js +48 -35
  484. package/dist/esm/resources/Loader.js.map +1 -1
  485. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +2 -2
  486. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  487. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  488. package/dist/esm/resources/factories/FontFactory.js +1 -1
  489. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  490. package/dist/esm/resources/factories/ImageFactory.js +4 -4
  491. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  492. package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
  493. package/dist/esm/resources/factories/JsonFactory.js +1 -1
  494. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  495. package/dist/esm/resources/factories/MusicFactory.d.ts +1 -1
  496. package/dist/esm/resources/factories/MusicFactory.js +4 -4
  497. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  498. package/dist/esm/resources/factories/SoundFactory.d.ts +1 -1
  499. package/dist/esm/resources/factories/SoundFactory.js +3 -3
  500. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  501. package/dist/esm/resources/factories/SvgFactory.js +3 -3
  502. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  503. package/dist/esm/resources/factories/TextFactory.js +1 -1
  504. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  505. package/dist/esm/resources/factories/TextureFactory.d.ts +1 -1
  506. package/dist/esm/resources/factories/TextureFactory.js +3 -3
  507. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  508. package/dist/esm/resources/factories/VideoFactory.d.ts +2 -2
  509. package/dist/esm/resources/factories/VideoFactory.js +5 -5
  510. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  511. package/dist/esm/resources/factories/VttFactory.d.ts +2 -2
  512. package/dist/esm/resources/factories/VttFactory.js +6 -6
  513. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  514. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  515. package/dist/esm/resources/index.d.ts +11 -11
  516. package/dist/esm/resources/utils.js +30 -25
  517. package/dist/esm/resources/utils.js.map +1 -1
  518. package/dist/exo.esm.js +26438 -23869
  519. package/dist/exo.esm.js.map +1 -1
  520. package/package.json +15 -4
  521. package/dist/esm/particles/Particle.d.ts +0 -77
  522. package/dist/esm/particles/Particle.js +0 -143
  523. package/dist/esm/particles/Particle.js.map +0 -1
  524. package/dist/esm/particles/ParticleProperties.d.ts +0 -29
  525. package/dist/esm/particles/affectors/ColorAffector.d.ts +0 -30
  526. package/dist/esm/particles/affectors/ColorAffector.js +0 -55
  527. package/dist/esm/particles/affectors/ColorAffector.js.map +0 -1
  528. package/dist/esm/particles/affectors/ForceAffector.d.ts +0 -24
  529. package/dist/esm/particles/affectors/ForceAffector.js +0 -39
  530. package/dist/esm/particles/affectors/ForceAffector.js.map +0 -1
  531. package/dist/esm/particles/affectors/ParticleAffector.d.ts +0 -19
  532. package/dist/esm/particles/affectors/ScaleAffector.d.ts +0 -23
  533. package/dist/esm/particles/affectors/ScaleAffector.js +0 -38
  534. package/dist/esm/particles/affectors/ScaleAffector.js.map +0 -1
  535. package/dist/esm/particles/affectors/TorqueAffector.d.ts +0 -23
  536. package/dist/esm/particles/affectors/TorqueAffector.js +0 -37
  537. package/dist/esm/particles/affectors/TorqueAffector.js.map +0 -1
  538. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +0 -19
  539. package/dist/esm/particles/emitters/ParticleOptions.d.ts +0 -62
  540. package/dist/esm/particles/emitters/ParticleOptions.js +0 -120
  541. package/dist/esm/particles/emitters/ParticleOptions.js.map +0 -1
  542. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +0 -40
  543. package/dist/esm/particles/emitters/UniversalEmitter.js +0 -68
  544. package/dist/esm/particles/emitters/UniversalEmitter.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { Signal } from '../core/Signal.js';
2
1
  import { isAudioContextReady, getAudioContext, onAudioContextReady } from './audio-context.js';
3
2
  import { registerWorkletProcessor } from './worklet/registerWorklet.js';
3
+ import { Signal } from '../core/Signal.js';
4
4
 
5
5
  // ---------------------------------------------------------------------------
6
6
  // Worklet source (self-contained JavaScript, no imports)
@@ -756,24 +756,48 @@ class BeatDetector {
756
756
  // -----------------------------------------------------------------------
757
757
  // Stage 1 state accessors
758
758
  // -----------------------------------------------------------------------
759
- get tempo() { return this._tempo; }
760
- get beatPhase() { return this._beatPhase; }
761
- get nextBeatTime() { return this._nextBeatTime; }
762
- get confidence() { return this._confidence; }
763
- get gridStability() { return this._gridStability; }
764
- get rms() { return this._rms; }
765
- get onsetStrength() { return this._onsetStrength; }
766
- get bandEnergy() { return this._bandEnergy; }
759
+ get tempo() {
760
+ return this._tempo;
761
+ }
762
+ get beatPhase() {
763
+ return this._beatPhase;
764
+ }
765
+ get nextBeatTime() {
766
+ return this._nextBeatTime;
767
+ }
768
+ get confidence() {
769
+ return this._confidence;
770
+ }
771
+ get gridStability() {
772
+ return this._gridStability;
773
+ }
774
+ get rms() {
775
+ return this._rms;
776
+ }
777
+ get onsetStrength() {
778
+ return this._onsetStrength;
779
+ }
780
+ get bandEnergy() {
781
+ return this._bandEnergy;
782
+ }
767
783
  get tempoCandidates() {
768
784
  return this._tempoCandidates;
769
785
  }
770
786
  // -----------------------------------------------------------------------
771
787
  // Stage 2 state accessors
772
788
  // -----------------------------------------------------------------------
773
- get barPosition() { return this._barPosition; }
774
- get barLength() { return this._barLength; }
775
- get timeSignature() { return this._timeSignature; }
776
- get nextDownbeatTime() { return this._nextDownbeatTime; }
789
+ get barPosition() {
790
+ return this._barPosition;
791
+ }
792
+ get barLength() {
793
+ return this._barLength;
794
+ }
795
+ get timeSignature() {
796
+ return this._timeSignature;
797
+ }
798
+ get nextDownbeatTime() {
799
+ return this._nextDownbeatTime;
800
+ }
777
801
  get lookahead() {
778
802
  return this._lookahead;
779
803
  }
@@ -821,39 +845,39 @@ class BeatDetector {
821
845
  });
822
846
  }
823
847
  _onWorkletMessage(event) {
824
- const msg = event.data;
825
- switch (msg['type']) {
848
+ const message = event.data;
849
+ switch (message.type) {
826
850
  case 'state':
827
- this._tempo = msg['tempo'] ?? 0;
828
- this._beatPhase = msg['beatPhase'] ?? 0;
829
- this._nextBeatTime = msg['nextBeatTime'] ?? 0;
830
- this._nextDownbeatTime = msg['nextDownbeatTime'] ?? 0;
831
- this._confidence = msg['confidence'] ?? 0;
832
- this._gridStability = msg['gridStability'] ?? 0;
833
- this._tempoCandidates = Object.freeze(msg['tempoCandidates'] ?? []);
834
- this._rms = msg['rms'] ?? 0;
835
- this._onsetStrength = msg['onsetStrength'] ?? 0;
836
- this._bandEnergy = msg['bandEnergy'] ?? { low: 0, mid: 0, high: 0 };
837
- this._barPosition = msg['barPosition'] ?? 1;
838
- this._barLength = msg['barLength'] ?? 4;
839
- this._timeSignature = msg['timeSignature'] ?? { numerator: 4, denominator: 4 };
851
+ this._tempo = message.tempo ?? 0;
852
+ this._beatPhase = message.beatPhase ?? 0;
853
+ this._nextBeatTime = message.nextBeatTime ?? 0;
854
+ this._nextDownbeatTime = message.nextDownbeatTime ?? 0;
855
+ this._confidence = message.confidence ?? 0;
856
+ this._gridStability = message.gridStability ?? 0;
857
+ this._tempoCandidates = Object.freeze(message.tempoCandidates ?? []);
858
+ this._rms = message.rms ?? 0;
859
+ this._onsetStrength = message.onsetStrength ?? 0;
860
+ this._bandEnergy = message.bandEnergy ?? { low: 0, mid: 0, high: 0 };
861
+ this._barPosition = message.barPosition ?? 1;
862
+ this._barLength = message.barLength ?? 4;
863
+ this._timeSignature = message.timeSignature ?? { numerator: 4, denominator: 4 };
840
864
  {
841
- const la = msg['lookahead'] ?? [];
842
- this._lookahead = Object.freeze(la);
843
- if (la.length > 0) {
844
- this.onBeatPredicted.dispatch(la[0]);
865
+ const lookahead = message.lookahead ?? [];
866
+ this._lookahead = Object.freeze(lookahead);
867
+ if (lookahead.length > 0) {
868
+ this.onBeatPredicted.dispatch(lookahead[0]);
845
869
  }
846
870
  }
847
871
  break;
848
872
  case 'beat': {
849
873
  const bi = {
850
- audioTime: msg['audioTime'],
851
- tempo: msg['tempo'],
852
- confidence: msg['confidence'],
853
- beatPhase: msg['beatPhase'],
854
- energy: msg['energy'],
855
- isDownbeat: msg['isDownbeat'],
856
- beatInBar: msg['beatInBar'],
874
+ audioTime: message.audioTime,
875
+ tempo: message.tempo,
876
+ confidence: message.confidence,
877
+ beatPhase: message.beatPhase,
878
+ energy: message.energy,
879
+ isDownbeat: message.isDownbeat,
880
+ beatInBar: message.beatInBar,
857
881
  };
858
882
  this.onBeat.dispatch(bi);
859
883
  if (bi.isDownbeat)
@@ -861,14 +885,14 @@ class BeatDetector {
861
885
  break;
862
886
  }
863
887
  case 'tempoChange':
864
- this.onTempoChange.dispatch(msg['newTempo'], msg['oldTempo']);
888
+ this.onTempoChange.dispatch(message.newTempo, message.oldTempo);
865
889
  break;
866
890
  case 'barStart': {
867
891
  const info = {
868
- audioTime: msg['audioTime'],
869
- tempo: msg['tempo'],
870
- confidence: msg['confidence'],
871
- barNumber: msg['barNumber'],
892
+ audioTime: message.audioTime,
893
+ tempo: message.tempo,
894
+ confidence: message.confidence,
895
+ barNumber: message.barNumber,
872
896
  };
873
897
  this.onBarStart.dispatch(info);
874
898
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"BeatDetector.js","sources":["../../../../src/audio/BeatDetector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BeatDetector.js","sources":["../../../../src/audio/BeatDetector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export declare class Envelope {
29
29
  releaseMs: number;
30
30
  constructor(options?: EnvelopeOptions);
31
31
  /**
32
- * Schedule attack → decay → sustain on the target gain param starting
32
+ * Schedule attack → decay → sustain on the target gain parameter starting
33
33
  * at `atTime` (audioContext.currentTime).
34
34
  */
35
35
  trigger(gainParam: AudioParam, atTime: number): void;
@@ -24,7 +24,7 @@ class Envelope {
24
24
  this.releaseMs = Math.max(0, options.releaseMs ?? 200);
25
25
  }
26
26
  /**
27
- * Schedule attack → decay → sustain on the target gain param starting
27
+ * Schedule attack → decay → sustain on the target gain parameter starting
28
28
  * at `atTime` (audioContext.currentTime).
29
29
  */
30
30
  trigger(gainParam, atTime) {
@@ -32,7 +32,7 @@ class Envelope {
32
32
  const decayEnd = attackEnd + this.decayMs / 1000;
33
33
  gainParam.cancelScheduledValues(atTime);
34
34
  gainParam.setValueAtTime(0, atTime);
35
- gainParam.linearRampToValueAtTime(1.0, attackEnd);
35
+ gainParam.linearRampToValueAtTime(1, attackEnd);
36
36
  gainParam.linearRampToValueAtTime(this.sustainLevel, decayEnd);
37
37
  // Sustain held at sustainLevel until release()
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Envelope.js","sources":["../../../../src/audio/Envelope.ts"],"sourcesContent":[null],"names":[],"mappings":"AAWA;;;;;;;;;;;;;AAaG;MACU,QAAQ,CAAA;AACV,IAAA,QAAQ;AACR,IAAA,OAAO;AACP,IAAA,YAAY;AACZ,IAAA,SAAS;AAEhB,IAAA,WAAA,CAAmB,UAA2B,EAAE,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1D;AAEA;;;AAGG;IACI,OAAO,CAAC,SAAqB,EAAE,MAAc,EAAA;QAChD,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI;QAC/C,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI;AAEhD,QAAA,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC;AACvC,QAAA,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;AACnC,QAAA,SAAS,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC;QACjD,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;;IAElE;AAEA;;;AAGG;IACI,OAAO,CAAC,SAAqB,EAAE,MAAc,EAAA;QAC7B,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG;AAE7C,QAAA,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC;;AAEvC,QAAA,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;;IAEnE;;AAGA,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS;IACxD;IAEO,OAAO,GAAA;;IAEd;AACH;;;;"}
1
+ {"version":3,"file":"Envelope.js","sources":["../../../../src/audio/Envelope.ts"],"sourcesContent":[null],"names":[],"mappings":"AAWA;;;;;;;;;;;;;AAaG;MACU,QAAQ,CAAA;AACZ,IAAA,QAAQ;AACR,IAAA,OAAO;AACP,IAAA,YAAY;AACZ,IAAA,SAAS;AAEhB,IAAA,WAAA,CAAmB,UAA2B,EAAE,EAAA;AAC9C,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;IACxD;AAEA;;;AAGG;IACI,OAAO,CAAC,SAAqB,EAAE,MAAc,EAAA;QAClD,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI;QAC/C,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI;AAEhD,QAAA,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC;AACvC,QAAA,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;AACnC,QAAA,SAAS,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,CAAC;QAC/C,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;;IAEhE;AAEA;;;AAGG;IACI,OAAO,CAAC,SAAqB,EAAE,MAAc,EAAA;QAC/B,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG;AAE7C,QAAA,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC;;AAEvC,QAAA,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;;IAEjE;;AAGA,IAAA,IAAW,eAAe,GAAA;QACxB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS;IACtD;IAEO,OAAO,GAAA;;IAEd;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import type { PlaybackOptions } from '@/core/types';
2
1
  import { AbstractMedia } from '@/audio/AbstractMedia';
3
2
  import type { AudioBus } from '@/audio/AudioBus';
3
+ import type { PlaybackOptions } from '@/core/types';
4
4
  /**
5
5
  * Streaming long-form audio backed by an `HTMLAudioElement`. Decoded
6
6
  * lazily via the browser's media pipeline, so memory cost scales with
@@ -1,7 +1,7 @@
1
- import { clamp } from '../math/utils.js';
2
1
  import { AbstractMedia } from './AbstractMedia.js';
3
2
  import { isAudioContextReady, getAudioContext, onAudioContextReady } from './audio-context.js';
4
3
  import { getAudioManager } from './AudioManager.js';
4
+ import { clamp } from '../math/utils.js';
5
5
 
6
6
  /**
7
7
  * Streaming long-form audio backed by an `HTMLAudioElement`. Decoded
@@ -1 +1 @@
1
- {"version":3,"file":"Music.js","sources":["../../../../src/audio/Music.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Music.js","sources":["../../../../src/audio/Music.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
+ import type { PlaybackOptions } from '@/core/types';
1
2
  import { AbstractMedia } from './AbstractMedia';
3
+ import type { AudioBus } from './AudioBus';
2
4
  import type { Envelope } from './Envelope';
3
5
  import { SoundPoolStrategy } from './Sound';
4
- import type { AudioBus } from './AudioBus';
5
- import type { PlaybackOptions } from '@/core/types';
6
6
  export type OscillatorType = 'sine' | 'square' | 'sawtooth' | 'triangle';
7
7
  export interface OscillatorSoundOptions extends Partial<PlaybackOptions> {
8
8
  frequency?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"OscillatorSound.js","sources":["../../../../src/audio/OscillatorSound.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OscillatorSound.js","sources":["../../../../src/audio/OscillatorSound.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { Vector } from '@/math/Vector';
2
- import type { PlaybackOptions } from '@/core/types';
3
1
  import { AbstractMedia } from '@/audio/AbstractMedia';
4
2
  import type { AudioBus } from '@/audio/AudioBus';
3
+ import type { PlaybackOptions } from '@/core/types';
4
+ import { Vector } from '@/math/Vector';
5
5
  /**
6
6
  * Eviction strategy used when the pool is full and a new play is requested.
7
7
  *
@@ -32,12 +32,32 @@ export interface AudioSpriteClip {
32
32
  end: number;
33
33
  loop?: boolean;
34
34
  }
35
+ /**
36
+ * Distance-attenuation model used by spatial sounds.
37
+ *
38
+ * Mirrors Web Audio's `PannerNode.distanceModel`:
39
+ * - `'linear'` — `v = 1 - rolloffFactor * (d - refDistance) / (maxDistance - refDistance)`,
40
+ * clamped to [0, 1]. Reaches silence at `maxDistance`.
41
+ * - `'inverse'` — `v = refDistance / (refDistance + rolloffFactor * (d - refDistance))`.
42
+ * Physically realistic; never reaches absolute silence.
43
+ * - `'exponential'` — `v = (d / refDistance) ^ -rolloffFactor`. Steepest near
44
+ * the listener; useful for very intimate sources.
45
+ */
46
+ export type DistanceModel = 'linear' | 'inverse' | 'exponential';
35
47
  /** Construction options for {@link Sound}. */
36
48
  export interface SoundOptions extends Partial<PlaybackOptions> {
37
49
  poolSize?: number;
38
50
  poolStrategy?: SoundPoolStrategy;
39
51
  priority?: number;
40
52
  sprites?: Readonly<Record<string, AudioSpriteClip>>;
53
+ /** Distance-attenuation model. Default: `'linear'`. */
54
+ distanceModel?: DistanceModel;
55
+ /** Distance below which volume is at full strength. Default: `50`. */
56
+ refDistance?: number;
57
+ /** For the `'linear'` model: distance at which volume reaches zero. Default: `1000`. */
58
+ maxDistance?: number;
59
+ /** Falloff rate. Higher = steeper attenuation. Default: `1`. */
60
+ rolloffFactor?: number;
41
61
  }
42
62
  /** Per-call overrides for {@link Sound.play} and {@link Sound.playSprite}. */
43
63
  export interface PlayOptions extends Partial<PlaybackOptions> {
@@ -82,9 +102,15 @@ export declare class Sound extends AbstractMedia {
82
102
  private _position;
83
103
  private _velocity;
84
104
  private _pannerNode;
105
+ private _distanceModel;
106
+ private _refDistance;
107
+ private _maxDistance;
108
+ private _rolloffFactor;
85
109
  get paused(): boolean;
86
110
  set paused(paused: boolean);
87
111
  get analyserTarget(): GainNode | null;
112
+ /** The underlying decoded audio data. Useful for sharing a single decoded buffer across multiple `Sound` instances. */
113
+ get audioBuffer(): AudioBuffer;
88
114
  get poolSize(): number;
89
115
  set poolSize(poolSize: number);
90
116
  /**
@@ -110,6 +136,18 @@ export declare class Sound extends AbstractMedia {
110
136
  x: number;
111
137
  y: number;
112
138
  } | Vector | null);
139
+ /** Distance-attenuation model. Applied immediately if a panner is already attached. */
140
+ get distanceModel(): DistanceModel;
141
+ set distanceModel(value: DistanceModel);
142
+ /** Reference distance — volume is at full strength at and below this distance. */
143
+ get refDistance(): number;
144
+ set refDistance(value: number);
145
+ /** Maximum distance for the `'linear'` model — volume reaches zero here. */
146
+ get maxDistance(): number;
147
+ set maxDistance(value: number);
148
+ /** Falloff steepness. Higher values attenuate faster with distance. */
149
+ get rolloffFactor(): number;
150
+ set rolloffFactor(value: number);
113
151
  constructor(audioBuffer: AudioBuffer, options?: SoundOptions);
114
152
  setVolume(value: number): this;
115
153
  setLoop(loop: boolean): this;
@@ -1,8 +1,8 @@
1
- import { clamp } from '../math/utils.js';
2
- import { Vector } from '../math/Vector.js';
3
1
  import { AbstractMedia } from './AbstractMedia.js';
4
2
  import { isAudioContextReady, getAudioContext, onAudioContextReady } from './audio-context.js';
5
3
  import { getAudioManager } from './AudioManager.js';
4
+ import { clamp } from '../math/utils.js';
5
+ import { Vector } from '../math/Vector.js';
6
6
 
7
7
  /**
8
8
  * Eviction strategy used when the pool is full and a new play is requested.
@@ -56,6 +56,10 @@ class Sound extends AbstractMedia {
56
56
  _position = null;
57
57
  _velocity = null;
58
58
  _pannerNode = null;
59
+ _distanceModel = 'linear';
60
+ _refDistance = 50;
61
+ _maxDistance = 1000;
62
+ _rolloffFactor = 1;
59
63
  get paused() {
60
64
  return this._paused;
61
65
  }
@@ -70,6 +74,10 @@ class Sound extends AbstractMedia {
70
74
  get analyserTarget() {
71
75
  return this._audioSetup?.gainNode ?? null;
72
76
  }
77
+ /** The underlying decoded audio data. Useful for sharing a single decoded buffer across multiple `Sound` instances. */
78
+ get audioBuffer() {
79
+ return this._audioBuffer;
80
+ }
73
81
  get poolSize() {
74
82
  return this._poolSize;
75
83
  }
@@ -139,6 +147,46 @@ class Sound extends AbstractMedia {
139
147
  }
140
148
  }
141
149
  }
150
+ /** Distance-attenuation model. Applied immediately if a panner is already attached. */
151
+ get distanceModel() {
152
+ return this._distanceModel;
153
+ }
154
+ set distanceModel(value) {
155
+ this._distanceModel = value;
156
+ if (this._pannerNode !== null) {
157
+ this._pannerNode.distanceModel = value;
158
+ }
159
+ }
160
+ /** Reference distance — volume is at full strength at and below this distance. */
161
+ get refDistance() {
162
+ return this._refDistance;
163
+ }
164
+ set refDistance(value) {
165
+ this._refDistance = Math.max(0, value);
166
+ if (this._pannerNode !== null) {
167
+ this._pannerNode.refDistance = this._refDistance;
168
+ }
169
+ }
170
+ /** Maximum distance for the `'linear'` model — volume reaches zero here. */
171
+ get maxDistance() {
172
+ return this._maxDistance;
173
+ }
174
+ set maxDistance(value) {
175
+ this._maxDistance = Math.max(0, value);
176
+ if (this._pannerNode !== null) {
177
+ this._pannerNode.maxDistance = this._maxDistance;
178
+ }
179
+ }
180
+ /** Falloff steepness. Higher values attenuate faster with distance. */
181
+ get rolloffFactor() {
182
+ return this._rolloffFactor;
183
+ }
184
+ set rolloffFactor(value) {
185
+ this._rolloffFactor = Math.max(0, value);
186
+ if (this._pannerNode !== null) {
187
+ this._pannerNode.rolloffFactor = this._rolloffFactor;
188
+ }
189
+ }
142
190
  constructor(audioBuffer, options = {}) {
143
191
  super({
144
192
  duration: audioBuffer.duration,
@@ -148,7 +196,7 @@ class Sound extends AbstractMedia {
148
196
  muted: false,
149
197
  });
150
198
  this._audioBuffer = audioBuffer;
151
- const { poolSize, poolStrategy, priority, sprites, ...playbackOptions } = options;
199
+ const { poolSize, poolStrategy, priority, sprites, distanceModel, refDistance, maxDistance, rolloffFactor, ...playbackOptions } = options;
152
200
  this._poolSize = Math.max(1, Math.floor(poolSize ?? 8));
153
201
  if (poolStrategy !== undefined) {
154
202
  this._poolStrategy = poolStrategy;
@@ -156,6 +204,18 @@ class Sound extends AbstractMedia {
156
204
  if (priority !== undefined) {
157
205
  this._priority = priority;
158
206
  }
207
+ if (distanceModel !== undefined) {
208
+ this._distanceModel = distanceModel;
209
+ }
210
+ if (refDistance !== undefined) {
211
+ this._refDistance = Math.max(0, refDistance);
212
+ }
213
+ if (maxDistance !== undefined) {
214
+ this._maxDistance = Math.max(0, maxDistance);
215
+ }
216
+ if (rolloffFactor !== undefined) {
217
+ this._rolloffFactor = Math.max(0, rolloffFactor);
218
+ }
159
219
  if (Object.keys(playbackOptions).length > 0) {
160
220
  this.applyOptions(playbackOptions);
161
221
  }
@@ -274,7 +334,7 @@ class Sound extends AbstractMedia {
274
334
  if (offset >= this.duration) {
275
335
  return this;
276
336
  }
277
- const duration = loop ? undefined : (this.duration - offset);
337
+ const duration = loop ? undefined : this.duration - offset;
278
338
  this._enqueuePooledPlay({
279
339
  offset,
280
340
  duration,
@@ -307,7 +367,7 @@ class Sound extends AbstractMedia {
307
367
  }
308
368
  this._enqueuePooledPlay({
309
369
  offset,
310
- duration: loop ? undefined : (clip.end - offset),
370
+ duration: loop ? undefined : clip.end - offset,
311
371
  loop,
312
372
  loopStart: clip.start,
313
373
  loopEnd: clip.end,
@@ -401,10 +461,10 @@ class Sound extends AbstractMedia {
401
461
  const ctx = this._audioSetup.audioContext;
402
462
  const panner = ctx.createPanner();
403
463
  panner.panningModel = 'equalpower';
404
- panner.distanceModel = 'linear';
405
- panner.maxDistance = 1000;
406
- panner.refDistance = 50;
407
- panner.rolloffFactor = 1;
464
+ panner.distanceModel = this._distanceModel;
465
+ panner.refDistance = this._refDistance;
466
+ panner.maxDistance = this._maxDistance;
467
+ panner.rolloffFactor = this._rolloffFactor;
408
468
  this._pannerNode = panner;
409
469
  // Re-route: gainNode → pannerNode → bus.inputNode
410
470
  this._audioSetup.gainNode.disconnect();