@codexo/exojs 0.7.11 → 0.7.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/dist/esm/animation/Tween.d.ts +60 -1
  3. package/dist/esm/animation/Tween.js +60 -1
  4. package/dist/esm/animation/Tween.js.map +1 -1
  5. package/dist/esm/animation/TweenManager.d.ts +10 -0
  6. package/dist/esm/animation/TweenManager.js +10 -0
  7. package/dist/esm/animation/TweenManager.js.map +1 -1
  8. package/dist/esm/animation/types.d.ts +15 -0
  9. package/dist/esm/animation/types.js +6 -0
  10. package/dist/esm/animation/types.js.map +1 -1
  11. package/dist/esm/audio/AbstractMedia.d.ts +11 -0
  12. package/dist/esm/audio/AbstractMedia.js +10 -0
  13. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  14. package/dist/esm/audio/AudioAnalyser.d.ts +21 -0
  15. package/dist/esm/audio/AudioAnalyser.js +16 -0
  16. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  17. package/dist/esm/audio/AudioBus.d.ts +37 -0
  18. package/dist/esm/audio/AudioBus.js +36 -0
  19. package/dist/esm/audio/AudioBus.js.map +1 -1
  20. package/dist/esm/audio/AudioFilter.d.ts +7 -0
  21. package/dist/esm/audio/AudioFilter.js +6 -0
  22. package/dist/esm/audio/AudioFilter.js.map +1 -1
  23. package/dist/esm/audio/AudioListener.d.ts +19 -0
  24. package/dist/esm/audio/AudioListener.js +11 -0
  25. package/dist/esm/audio/AudioListener.js.map +1 -1
  26. package/dist/esm/audio/AudioManager.d.ts +37 -0
  27. package/dist/esm/audio/AudioManager.js +37 -0
  28. package/dist/esm/audio/AudioManager.js.map +1 -1
  29. package/dist/esm/audio/BeatDetector.d.ts +21 -0
  30. package/dist/esm/audio/BeatDetector.js +21 -0
  31. package/dist/esm/audio/BeatDetector.js.map +1 -1
  32. package/dist/esm/audio/Media.d.ts +11 -0
  33. package/dist/esm/audio/Music.d.ts +12 -0
  34. package/dist/esm/audio/Music.js +12 -0
  35. package/dist/esm/audio/Music.js.map +1 -1
  36. package/dist/esm/audio/Sound.d.ts +25 -0
  37. package/dist/esm/audio/Sound.js +18 -0
  38. package/dist/esm/audio/Sound.js.map +1 -1
  39. package/dist/esm/audio/audio-context.d.ts +48 -0
  40. package/dist/esm/audio/audio-context.js +48 -5
  41. package/dist/esm/audio/audio-context.js.map +1 -1
  42. package/dist/esm/audio/filters/ChorusFilter.d.ts +5 -0
  43. package/dist/esm/audio/filters/ChorusFilter.js +4 -0
  44. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  45. package/dist/esm/audio/filters/CompressorFilter.d.ts +12 -0
  46. package/dist/esm/audio/filters/CompressorFilter.js +11 -0
  47. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  48. package/dist/esm/audio/filters/DelayFilter.d.ts +11 -0
  49. package/dist/esm/audio/filters/DelayFilter.js +10 -0
  50. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  51. package/dist/esm/audio/filters/DuckingFilter.d.ts +13 -0
  52. package/dist/esm/audio/filters/DuckingFilter.js +12 -0
  53. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  54. package/dist/esm/audio/filters/EqualizerFilter.d.ts +20 -0
  55. package/dist/esm/audio/filters/EqualizerFilter.js +40 -0
  56. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  57. package/dist/esm/audio/filters/GranularFilter.d.ts +6 -0
  58. package/dist/esm/audio/filters/GranularFilter.js +6 -0
  59. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  60. package/dist/esm/audio/filters/HighpassFilter.d.ts +10 -0
  61. package/dist/esm/audio/filters/HighpassFilter.js +9 -0
  62. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  63. package/dist/esm/audio/filters/LowpassFilter.d.ts +10 -0
  64. package/dist/esm/audio/filters/LowpassFilter.js +9 -0
  65. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  66. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +2 -0
  67. package/dist/esm/audio/filters/PitchShiftFilter.js +2 -0
  68. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  69. package/dist/esm/audio/filters/ReverbFilter.d.ts +12 -0
  70. package/dist/esm/audio/filters/ReverbFilter.js +11 -0
  71. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  72. package/dist/esm/audio/filters/VocoderFilter.d.ts +11 -0
  73. package/dist/esm/audio/filters/VocoderFilter.js +11 -0
  74. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  75. package/dist/esm/audio/filters/WorkletFilter.d.ts +6 -1
  76. package/dist/esm/audio/filters/WorkletFilter.js +6 -1
  77. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  78. package/dist/esm/core/Application.d.ts +63 -0
  79. package/dist/esm/core/Application.js +61 -0
  80. package/dist/esm/core/Application.js.map +1 -1
  81. package/dist/esm/core/Bounds.d.ts +23 -0
  82. package/dist/esm/core/Bounds.js +23 -0
  83. package/dist/esm/core/Bounds.js.map +1 -1
  84. package/dist/esm/core/Clock.d.ts +21 -0
  85. package/dist/esm/core/Clock.js +21 -0
  86. package/dist/esm/core/Clock.js.map +1 -1
  87. package/dist/esm/core/Color.d.ts +35 -0
  88. package/dist/esm/core/Color.js +35 -0
  89. package/dist/esm/core/Color.js.map +1 -1
  90. package/dist/esm/core/Scene.d.ts +46 -0
  91. package/dist/esm/core/Scene.js +27 -0
  92. package/dist/esm/core/Scene.js.map +1 -1
  93. package/dist/esm/core/SceneManager.d.ts +62 -0
  94. package/dist/esm/core/SceneManager.js +49 -0
  95. package/dist/esm/core/SceneManager.js.map +1 -1
  96. package/dist/esm/core/SceneNode.d.ts +31 -0
  97. package/dist/esm/core/SceneNode.js +31 -0
  98. package/dist/esm/core/SceneNode.js.map +1 -1
  99. package/dist/esm/core/Signal.d.ts +44 -0
  100. package/dist/esm/core/Signal.js +39 -0
  101. package/dist/esm/core/Signal.js.map +1 -1
  102. package/dist/esm/core/Time.d.ts +21 -0
  103. package/dist/esm/core/Time.js +21 -0
  104. package/dist/esm/core/Time.js.map +1 -1
  105. package/dist/esm/core/Timer.d.ts +7 -0
  106. package/dist/esm/core/Timer.js +7 -0
  107. package/dist/esm/core/Timer.js.map +1 -1
  108. package/dist/esm/core/capabilities.d.ts +12 -0
  109. package/dist/esm/core/capabilities.js +12 -0
  110. package/dist/esm/core/capabilities.js.map +1 -1
  111. package/dist/esm/core/types.d.ts +37 -0
  112. package/dist/esm/core/utils.d.ts +48 -0
  113. package/dist/esm/core/utils.js +48 -0
  114. package/dist/esm/core/utils.js.map +1 -1
  115. package/dist/esm/debug/BoundingBoxesLayer.d.ts +8 -0
  116. package/dist/esm/debug/BoundingBoxesLayer.js +8 -0
  117. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  118. package/dist/esm/debug/DebugLayer.d.ts +16 -3
  119. package/dist/esm/debug/DebugLayer.js +11 -3
  120. package/dist/esm/debug/DebugLayer.js.map +1 -1
  121. package/dist/esm/debug/DebugOverlay.d.ts +11 -0
  122. package/dist/esm/debug/DebugOverlay.js +6 -0
  123. package/dist/esm/debug/DebugOverlay.js.map +1 -1
  124. package/dist/esm/debug/HitTestLayer.d.ts +9 -0
  125. package/dist/esm/debug/HitTestLayer.js +9 -0
  126. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  127. package/dist/esm/debug/PerformanceLayer.d.ts +17 -1
  128. package/dist/esm/debug/PerformanceLayer.js +18 -0
  129. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  130. package/dist/esm/debug/PointerStackLayer.d.ts +8 -0
  131. package/dist/esm/debug/PointerStackLayer.js +10 -2
  132. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  133. package/dist/esm/index.js +2 -2
  134. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +7 -0
  135. package/dist/esm/input/ArcadeStickGamepadMapping.js +7 -0
  136. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  137. package/dist/esm/input/GameCubeGamepadMapping.d.ts +9 -0
  138. package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
  139. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  140. package/dist/esm/input/Gamepad.d.ts +48 -0
  141. package/dist/esm/input/Gamepad.js +43 -0
  142. package/dist/esm/input/Gamepad.js.map +1 -1
  143. package/dist/esm/input/GamepadChannels.d.ts +8 -0
  144. package/dist/esm/input/GamepadChannels.js +8 -0
  145. package/dist/esm/input/GamepadChannels.js.map +1 -1
  146. package/dist/esm/input/GamepadControl.d.ts +18 -0
  147. package/dist/esm/input/GamepadControl.js +13 -0
  148. package/dist/esm/input/GamepadControl.js.map +1 -1
  149. package/dist/esm/input/GamepadDefinitions.d.ts +64 -1
  150. package/dist/esm/input/GamepadDefinitions.js +40 -1
  151. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  152. package/dist/esm/input/GamepadMapping.d.ts +32 -2
  153. package/dist/esm/input/GamepadMapping.js +24 -0
  154. package/dist/esm/input/GamepadMapping.js.map +1 -1
  155. package/dist/esm/input/GamepadPromptLayouts.d.ts +32 -1
  156. package/dist/esm/input/GamepadPromptLayouts.js +25 -1
  157. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  158. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +10 -0
  159. package/dist/esm/input/GenericDualAnalogGamepadMapping.js +10 -0
  160. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  161. package/dist/esm/input/GestureRecognizer.d.ts +11 -2
  162. package/dist/esm/input/GestureRecognizer.js +11 -2
  163. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  164. package/dist/esm/input/Input.d.ts +24 -0
  165. package/dist/esm/input/Input.js +22 -0
  166. package/dist/esm/input/Input.js.map +1 -1
  167. package/dist/esm/input/InputManager.d.ts +33 -0
  168. package/dist/esm/input/InputManager.js +33 -0
  169. package/dist/esm/input/InputManager.js.map +1 -1
  170. package/dist/esm/input/InteractionEvent.d.ts +13 -0
  171. package/dist/esm/input/InteractionEvent.js +8 -0
  172. package/dist/esm/input/InteractionEvent.js.map +1 -1
  173. package/dist/esm/input/InteractionManager.d.ts +33 -4
  174. package/dist/esm/input/InteractionManager.js +33 -4
  175. package/dist/esm/input/InteractionManager.js.map +1 -1
  176. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +9 -0
  177. package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
  178. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  179. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +9 -0
  180. package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
  181. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  182. package/dist/esm/input/PlayStationGamepadMapping.d.ts +8 -0
  183. package/dist/esm/input/PlayStationGamepadMapping.js +8 -0
  184. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  185. package/dist/esm/input/Pointer.d.ts +22 -0
  186. package/dist/esm/input/Pointer.js +22 -0
  187. package/dist/esm/input/Pointer.js.map +1 -1
  188. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +8 -0
  189. package/dist/esm/input/SteamControllerGamepadMapping.js +8 -0
  190. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  191. package/dist/esm/input/SwitchProGamepadMapping.d.ts +9 -0
  192. package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
  193. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  194. package/dist/esm/input/XboxGamepadMapping.d.ts +8 -0
  195. package/dist/esm/input/XboxGamepadMapping.js +8 -0
  196. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  197. package/dist/esm/input/types.d.ts +20 -0
  198. package/dist/esm/input/types.js +20 -0
  199. package/dist/esm/input/types.js.map +1 -1
  200. package/dist/esm/math/AbstractVector.d.ts +83 -0
  201. package/dist/esm/math/AbstractVector.js +83 -0
  202. package/dist/esm/math/AbstractVector.js.map +1 -1
  203. package/dist/esm/math/Circle.d.ts +32 -0
  204. package/dist/esm/math/Circle.js +34 -2
  205. package/dist/esm/math/Circle.js.map +1 -1
  206. package/dist/esm/math/CircleLike.d.ts +1 -0
  207. package/dist/esm/math/Collision.d.ts +39 -0
  208. package/dist/esm/math/Collision.js +5 -0
  209. package/dist/esm/math/Collision.js.map +1 -1
  210. package/dist/esm/math/Ellipse.d.ts +11 -0
  211. package/dist/esm/math/Ellipse.js +18 -2
  212. package/dist/esm/math/Ellipse.js.map +1 -1
  213. package/dist/esm/math/EllipseLike.d.ts +3 -0
  214. package/dist/esm/math/Flags.d.ts +31 -0
  215. package/dist/esm/math/Flags.js +31 -0
  216. package/dist/esm/math/Flags.js.map +1 -1
  217. package/dist/esm/math/Interval.d.ts +15 -0
  218. package/dist/esm/math/Interval.js +15 -0
  219. package/dist/esm/math/Interval.js.map +1 -1
  220. package/dist/esm/math/Line.d.ts +17 -1
  221. package/dist/esm/math/Line.js +17 -1
  222. package/dist/esm/math/Line.js.map +1 -1
  223. package/dist/esm/math/LineLike.d.ts +1 -0
  224. package/dist/esm/math/Matrix.d.ts +44 -3
  225. package/dist/esm/math/Matrix.js +44 -3
  226. package/dist/esm/math/Matrix.js.map +1 -1
  227. package/dist/esm/math/ObservableSize.d.ts +7 -0
  228. package/dist/esm/math/ObservableSize.js +7 -0
  229. package/dist/esm/math/ObservableSize.js.map +1 -1
  230. package/dist/esm/math/ObservableVector.d.ts +9 -0
  231. package/dist/esm/math/ObservableVector.js +9 -0
  232. package/dist/esm/math/ObservableVector.js.map +1 -1
  233. package/dist/esm/math/PointLike.d.ts +1 -0
  234. package/dist/esm/math/PolarVector.d.ts +15 -0
  235. package/dist/esm/math/PolarVector.js +16 -1
  236. package/dist/esm/math/PolarVector.js.map +1 -1
  237. package/dist/esm/math/Polygon.d.ts +20 -0
  238. package/dist/esm/math/Polygon.js +20 -0
  239. package/dist/esm/math/Polygon.js.map +1 -1
  240. package/dist/esm/math/PolygonLike.d.ts +4 -0
  241. package/dist/esm/math/Quadtree.d.ts +40 -3
  242. package/dist/esm/math/Quadtree.js +39 -3
  243. package/dist/esm/math/Quadtree.js.map +1 -1
  244. package/dist/esm/math/Random.d.ts +25 -0
  245. package/dist/esm/math/Random.js +25 -0
  246. package/dist/esm/math/Random.js.map +1 -1
  247. package/dist/esm/math/Rectangle.d.ts +15 -0
  248. package/dist/esm/math/Rectangle.js +17 -2
  249. package/dist/esm/math/Rectangle.js.map +1 -1
  250. package/dist/esm/math/RectangleLike.d.ts +1 -0
  251. package/dist/esm/math/Segment.d.ts +7 -0
  252. package/dist/esm/math/Segment.js +7 -0
  253. package/dist/esm/math/Segment.js.map +1 -1
  254. package/dist/esm/math/ShapeLike.d.ts +6 -0
  255. package/dist/esm/math/Size.d.ts +9 -0
  256. package/dist/esm/math/Size.js +9 -0
  257. package/dist/esm/math/Size.js.map +1 -1
  258. package/dist/esm/math/Vector.d.ts +16 -0
  259. package/dist/esm/math/Vector.js +16 -0
  260. package/dist/esm/math/Vector.js.map +1 -1
  261. package/dist/esm/math/collision-detection.d.ts +47 -1
  262. package/dist/esm/math/collision-detection.js +228 -17
  263. package/dist/esm/math/collision-detection.js.map +1 -1
  264. package/dist/esm/math/collision-primitives.d.ts +23 -0
  265. package/dist/esm/math/collision-primitives.js +23 -0
  266. package/dist/esm/math/collision-primitives.js.map +1 -1
  267. package/dist/esm/math/geometry.d.ts +42 -0
  268. package/dist/esm/math/geometry.js +37 -0
  269. package/dist/esm/math/geometry.js.map +1 -1
  270. package/dist/esm/math/utils.d.ts +41 -0
  271. package/dist/esm/math/utils.js +41 -0
  272. package/dist/esm/math/utils.js.map +1 -1
  273. package/dist/esm/particles/Particle.d.ts +37 -0
  274. package/dist/esm/particles/Particle.js +37 -0
  275. package/dist/esm/particles/Particle.js.map +1 -1
  276. package/dist/esm/particles/ParticleProperties.d.ts +15 -0
  277. package/dist/esm/particles/ParticleSystem.d.ts +69 -0
  278. package/dist/esm/particles/ParticleSystem.js +69 -0
  279. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  280. package/dist/esm/particles/affectors/ColorAffector.d.ts +13 -0
  281. package/dist/esm/particles/affectors/ColorAffector.js +13 -0
  282. package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
  283. package/dist/esm/particles/affectors/ForceAffector.d.ts +11 -0
  284. package/dist/esm/particles/affectors/ForceAffector.js +11 -0
  285. package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
  286. package/dist/esm/particles/affectors/ParticleAffector.d.ts +13 -0
  287. package/dist/esm/particles/affectors/ScaleAffector.d.ts +10 -0
  288. package/dist/esm/particles/affectors/ScaleAffector.js +10 -0
  289. package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
  290. package/dist/esm/particles/affectors/TorqueAffector.d.ts +11 -0
  291. package/dist/esm/particles/affectors/TorqueAffector.js +11 -0
  292. package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
  293. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +13 -0
  294. package/dist/esm/particles/emitters/ParticleOptions.d.ts +16 -0
  295. package/dist/esm/particles/emitters/ParticleOptions.js +16 -0
  296. package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
  297. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +23 -0
  298. package/dist/esm/particles/emitters/UniversalEmitter.js +23 -0
  299. package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
  300. package/dist/esm/rendering/CallbackRenderPass.d.ts +12 -0
  301. package/dist/esm/rendering/CallbackRenderPass.js +12 -0
  302. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  303. package/dist/esm/rendering/Container.d.ts +43 -0
  304. package/dist/esm/rendering/Container.js +43 -0
  305. package/dist/esm/rendering/Container.js.map +1 -1
  306. package/dist/esm/rendering/Drawable.d.ts +22 -0
  307. package/dist/esm/rendering/Drawable.js +22 -0
  308. package/dist/esm/rendering/Drawable.js.map +1 -1
  309. package/dist/esm/rendering/RenderBackend.d.ts +13 -0
  310. package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
  311. package/dist/esm/rendering/RenderBackendType.js +4 -0
  312. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  313. package/dist/esm/rendering/RenderNode.d.ts +18 -0
  314. package/dist/esm/rendering/RenderNode.js +18 -0
  315. package/dist/esm/rendering/RenderNode.js.map +1 -1
  316. package/dist/esm/rendering/RenderPass.d.ts +8 -0
  317. package/dist/esm/rendering/RenderStats.d.ts +19 -0
  318. package/dist/esm/rendering/RenderStats.js +7 -0
  319. package/dist/esm/rendering/RenderStats.js.map +1 -1
  320. package/dist/esm/rendering/RenderTarget.d.ts +17 -0
  321. package/dist/esm/rendering/RenderTarget.js +17 -0
  322. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  323. package/dist/esm/rendering/RenderTargetPass.d.ts +11 -0
  324. package/dist/esm/rendering/RenderTargetPass.js +7 -0
  325. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  326. package/dist/esm/rendering/Renderer.d.ts +15 -0
  327. package/dist/esm/rendering/RendererRegistry.d.ts +7 -0
  328. package/dist/esm/rendering/RendererRegistry.js +7 -0
  329. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  330. package/dist/esm/rendering/View.d.ts +67 -2
  331. package/dist/esm/rendering/View.js +57 -0
  332. package/dist/esm/rendering/View.js.map +1 -1
  333. package/dist/esm/rendering/filters/BlurFilter.d.ts +9 -0
  334. package/dist/esm/rendering/filters/BlurFilter.js +8 -0
  335. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  336. package/dist/esm/rendering/filters/ColorFilter.d.ts +7 -0
  337. package/dist/esm/rendering/filters/ColorFilter.js +7 -0
  338. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  339. package/dist/esm/rendering/filters/Filter.d.ts +23 -0
  340. package/dist/esm/rendering/filters/Filter.js +20 -0
  341. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  342. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +5 -0
  343. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +5 -0
  344. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  345. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +5 -0
  346. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -0
  347. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  348. package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
  349. package/dist/esm/rendering/mesh/Mesh.js +2 -0
  350. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  351. package/dist/esm/rendering/primitives/Graphics.d.ts +34 -0
  352. package/dist/esm/rendering/primitives/Graphics.js +34 -0
  353. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  354. package/dist/esm/rendering/shader/Shader.d.ts +36 -0
  355. package/dist/esm/rendering/shader/Shader.js +26 -0
  356. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  357. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +13 -0
  358. package/dist/esm/rendering/shader/ShaderAttribute.js +13 -0
  359. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  360. package/dist/esm/rendering/shader/ShaderUniform.d.ts +27 -0
  361. package/dist/esm/rendering/shader/ShaderUniform.js +28 -1
  362. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  363. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +38 -0
  364. package/dist/esm/rendering/sprite/AnimatedSprite.js +36 -0
  365. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  366. package/dist/esm/rendering/sprite/Sprite.d.ts +56 -0
  367. package/dist/esm/rendering/sprite/Sprite.js +56 -0
  368. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  369. package/dist/esm/rendering/sprite/Spritesheet.d.ts +25 -0
  370. package/dist/esm/rendering/sprite/Spritesheet.js +20 -0
  371. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  372. package/dist/esm/rendering/text/Text.d.ts +2 -0
  373. package/dist/esm/rendering/text/Text.js +2 -0
  374. package/dist/esm/rendering/text/Text.js.map +1 -1
  375. package/dist/esm/rendering/text/TextStyle.d.ts +29 -0
  376. package/dist/esm/rendering/text/TextStyle.js +24 -0
  377. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  378. package/dist/esm/rendering/text/types.d.ts +1 -0
  379. package/dist/esm/rendering/texture/RenderTexture.d.ts +16 -0
  380. package/dist/esm/rendering/texture/RenderTexture.js +16 -0
  381. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  382. package/dist/esm/rendering/texture/Sampler.d.ts +23 -0
  383. package/dist/esm/rendering/texture/Sampler.js +13 -0
  384. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  385. package/dist/esm/rendering/texture/Texture.d.ts +30 -0
  386. package/dist/esm/rendering/texture/Texture.js +30 -0
  387. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  388. package/dist/esm/rendering/types.d.ts +29 -0
  389. package/dist/esm/rendering/types.js +29 -0
  390. package/dist/esm/rendering/types.js.map +1 -1
  391. package/dist/esm/rendering/utils.d.ts +20 -0
  392. package/dist/esm/rendering/utils.js +10 -0
  393. package/dist/esm/rendering/utils.js.map +1 -1
  394. package/dist/esm/rendering/video/Video.d.ts +35 -1
  395. package/dist/esm/rendering/video/Video.js +36 -2
  396. package/dist/esm/rendering/video/Video.js.map +1 -1
  397. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -0
  398. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -0
  399. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  400. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +13 -0
  401. package/dist/esm/rendering/webgl2/WebGl2Backend.js +13 -0
  402. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  403. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +8 -0
  404. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +8 -0
  405. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  406. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +35 -0
  407. package/dist/esm/rendering/webgpu/WebGpuBackend.js +135 -5
  408. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  409. package/dist/esm/resources/AbstractAssetFactory.d.ts +20 -0
  410. package/dist/esm/resources/AbstractAssetFactory.js +20 -0
  411. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  412. package/dist/esm/resources/AssetFactory.d.ts +26 -0
  413. package/dist/esm/resources/AssetManifest.d.ts +45 -0
  414. package/dist/esm/resources/AssetManifest.js +25 -0
  415. package/dist/esm/resources/AssetManifest.js.map +1 -1
  416. package/dist/esm/resources/CacheFirstStrategy.d.ts +12 -0
  417. package/dist/esm/resources/CacheFirstStrategy.js +12 -0
  418. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  419. package/dist/esm/resources/CacheStore.d.ts +23 -0
  420. package/dist/esm/resources/CacheStrategy.d.ts +20 -0
  421. package/dist/esm/resources/Database.d.ts +45 -0
  422. package/dist/esm/resources/FactoryRegistry.d.ts +28 -0
  423. package/dist/esm/resources/FactoryRegistry.js +24 -0
  424. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  425. package/dist/esm/resources/IndexedDbDatabase.d.ts +22 -1
  426. package/dist/esm/resources/IndexedDbDatabase.js +21 -0
  427. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  428. package/dist/esm/resources/IndexedDbStore.d.ts +20 -0
  429. package/dist/esm/resources/IndexedDbStore.js +12 -0
  430. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  431. package/dist/esm/resources/Loader.d.ts +167 -0
  432. package/dist/esm/resources/Loader.js +110 -0
  433. package/dist/esm/resources/Loader.js.map +1 -1
  434. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +8 -0
  435. package/dist/esm/resources/NetworkOnlyStrategy.js +8 -0
  436. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  437. package/dist/esm/resources/factories/BinaryFactory.d.ts +13 -0
  438. package/dist/esm/resources/factories/BinaryFactory.js +13 -0
  439. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  440. package/dist/esm/resources/factories/FontFactory.d.ts +37 -0
  441. package/dist/esm/resources/factories/FontFactory.js +26 -0
  442. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  443. package/dist/esm/resources/factories/ImageFactory.d.ts +24 -0
  444. package/dist/esm/resources/factories/ImageFactory.js +19 -0
  445. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  446. package/dist/esm/resources/factories/JsonFactory.d.ts +13 -0
  447. package/dist/esm/resources/factories/JsonFactory.js +13 -0
  448. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  449. package/dist/esm/resources/factories/MusicFactory.d.ts +36 -0
  450. package/dist/esm/resources/factories/MusicFactory.js +44 -4
  451. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  452. package/dist/esm/resources/factories/SoundFactory.d.ts +29 -0
  453. package/dist/esm/resources/factories/SoundFactory.js +18 -0
  454. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  455. package/dist/esm/resources/factories/SvgFactory.d.ts +19 -0
  456. package/dist/esm/resources/factories/SvgFactory.js +19 -0
  457. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  458. package/dist/esm/resources/factories/TextFactory.d.ts +11 -0
  459. package/dist/esm/resources/factories/TextFactory.js +11 -0
  460. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  461. package/dist/esm/resources/factories/TextureFactory.d.ts +25 -0
  462. package/dist/esm/resources/factories/TextureFactory.js +20 -0
  463. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  464. package/dist/esm/resources/factories/VideoFactory.d.ts +37 -0
  465. package/dist/esm/resources/factories/VideoFactory.js +48 -5
  466. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  467. package/dist/esm/resources/factories/VttFactory.d.ts +18 -0
  468. package/dist/esm/resources/factories/VttFactory.js +24 -0
  469. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  470. package/dist/esm/resources/factories/WasmFactory.d.ts +16 -0
  471. package/dist/esm/resources/factories/WasmFactory.js +16 -0
  472. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  473. package/dist/esm/resources/utils.d.ts +10 -0
  474. package/dist/esm/resources/utils.js +10 -0
  475. package/dist/esm/resources/utils.js.map +1 -1
  476. package/dist/exo.esm.js +3392 -59
  477. package/dist/exo.esm.js.map +1 -1
  478. package/package.json +7 -8
@@ -2,6 +2,11 @@ import { Signal } from '@/core/Signal';
2
2
  import type { GamepadChannel } from './GamepadChannels';
3
3
  import type { BrowserGamepad, ResolvedGamepadDefinition } from './GamepadDefinitions';
4
4
  import type { GamepadMappingFamily, GamepadMapping } from './GamepadMapping';
5
+ /**
6
+ * Human-readable identity metadata for a connected gamepad.
7
+ * Populated from a {@link ResolvedGamepadDefinition} on connect and available
8
+ * through the matching getters on {@link Gamepad}.
9
+ */
5
10
  export interface GamepadInfo {
6
11
  name: string;
7
12
  label: string;
@@ -9,6 +14,15 @@ export interface GamepadInfo {
9
14
  productId: string | null;
10
15
  productKey: string | null;
11
16
  }
17
+ /**
18
+ * Runtime wrapper for a single browser gamepad slot.
19
+ *
20
+ * Owns the slot's {@link GamepadMapping}, reads raw button and axis values from
21
+ * the browser's Gamepad API each frame via {@link update}, and writes transformed
22
+ * values into the shared `Float32Array` channel buffer. Emits {@link onConnect},
23
+ * {@link onDisconnect}, and per-channel {@link onUpdate} signals so consumers can
24
+ * react without polling.
25
+ */
12
26
  export declare class Gamepad {
13
27
  readonly onConnect: Signal<[Gamepad]>;
14
28
  readonly onDisconnect: Signal<[Gamepad]>;
@@ -23,23 +37,57 @@ export declare class Gamepad {
23
37
  constructor(gamepad: BrowserGamepad, channels: Float32Array, definition: ResolvedGamepadDefinition);
24
38
  get mapping(): GamepadMapping;
25
39
  set mapping(mapping: GamepadMapping);
40
+ /** The {@link GamepadMappingFamily} of the currently active mapping. */
26
41
  get mappingFamily(): GamepadMappingFamily;
27
42
  get channels(): Float32Array;
28
43
  get gamepad(): BrowserGamepad | null;
29
44
  get index(): number;
45
+ /** Whether a browser gamepad is currently attached to this slot. */
30
46
  get connected(): boolean;
31
47
  get name(): string;
32
48
  get label(): string;
33
49
  get vendorId(): string | null;
34
50
  get productId(): string | null;
35
51
  get productKey(): string | null;
52
+ /**
53
+ * Replaces the gamepad's identity metadata.
54
+ * Called automatically during construction when a {@link BrowserGamepad} is
55
+ * provided; exposed publicly to allow runtime overrides.
56
+ */
36
57
  setInfo(info: GamepadInfo): this;
58
+ /**
59
+ * Attaches a live browser gamepad to this slot and dispatches {@link onConnect}
60
+ * if the slot was previously disconnected.
61
+ */
37
62
  connect(gamepad: BrowserGamepad): this;
63
+ /**
64
+ * Detaches the browser gamepad, zeros all mapped channels, and dispatches
65
+ * {@link onDisconnect}. No-op when already disconnected.
66
+ */
38
67
  disconnect(): this;
68
+ /**
69
+ * Samples the browser gamepad's current state and writes transformed values
70
+ * into the shared channel buffer, dispatching {@link onUpdate} for each channel
71
+ * whose value changed. Should be called once per frame by the engine's input loop.
72
+ * No-op when disconnected.
73
+ */
39
74
  update(): this;
75
+ /** Zeroes all channel buffer entries that belong to this gamepad's mapping. */
40
76
  clearChannels(): this;
77
+ /**
78
+ * Disconnects the gamepad, clears its channels, and destroys all signals.
79
+ * The instance must not be used after this call.
80
+ */
41
81
  destroy(): void;
82
+ /**
83
+ * Converts a {@link GamepadChannel} to its absolute index in the shared channel
84
+ * buffer for this gamepad instance.
85
+ */
42
86
  resolveChannelOffset(channel: GamepadChannel): number;
87
+ /**
88
+ * Converts a gamepad slot index and {@link GamepadChannel} to an absolute
89
+ * channel buffer offset without requiring a {@link Gamepad} instance.
90
+ */
43
91
  static resolveChannelOffset(gamepadIndex: number, channel: GamepadChannel): number;
44
92
  private clearMappedChannels;
45
93
  }
@@ -1,6 +1,15 @@
1
1
  import { Signal } from '../core/Signal.js';
2
2
  import { ChannelOffset, ChannelSize } from './types.js';
3
3
 
4
+ /**
5
+ * Runtime wrapper for a single browser gamepad slot.
6
+ *
7
+ * Owns the slot's {@link GamepadMapping}, reads raw button and axis values from
8
+ * the browser's Gamepad API each frame via {@link update}, and writes transformed
9
+ * values into the shared `Float32Array` channel buffer. Emits {@link onConnect},
10
+ * {@link onDisconnect}, and per-channel {@link onUpdate} signals so consumers can
11
+ * react without polling.
12
+ */
4
13
  class Gamepad {
5
14
  onConnect = new Signal();
6
15
  onDisconnect = new Signal();
@@ -45,6 +54,7 @@ class Gamepad {
45
54
  set mapping(mapping) {
46
55
  this.mappingValue = mapping;
47
56
  }
57
+ /** The {@link GamepadMappingFamily} of the currently active mapping. */
48
58
  get mappingFamily() {
49
59
  return this.mappingValue.family;
50
60
  }
@@ -57,6 +67,7 @@ class Gamepad {
57
67
  get index() {
58
68
  return this.indexValue;
59
69
  }
70
+ /** Whether a browser gamepad is currently attached to this slot. */
60
71
  get connected() {
61
72
  return this.browserGamepad !== null;
62
73
  }
@@ -75,10 +86,19 @@ class Gamepad {
75
86
  get productKey() {
76
87
  return this.info.productKey;
77
88
  }
89
+ /**
90
+ * Replaces the gamepad's identity metadata.
91
+ * Called automatically during construction when a {@link BrowserGamepad} is
92
+ * provided; exposed publicly to allow runtime overrides.
93
+ */
78
94
  setInfo(info) {
79
95
  this.info = info;
80
96
  return this;
81
97
  }
98
+ /**
99
+ * Attaches a live browser gamepad to this slot and dispatches {@link onConnect}
100
+ * if the slot was previously disconnected.
101
+ */
82
102
  connect(gamepad) {
83
103
  const wasConnected = this.connected;
84
104
  this.browserGamepad = gamepad;
@@ -87,6 +107,10 @@ class Gamepad {
87
107
  }
88
108
  return this;
89
109
  }
110
+ /**
111
+ * Detaches the browser gamepad, zeros all mapped channels, and dispatches
112
+ * {@link onDisconnect}. No-op when already disconnected.
113
+ */
90
114
  disconnect() {
91
115
  if (this.connected) {
92
116
  this.browserGamepad = null;
@@ -95,6 +119,12 @@ class Gamepad {
95
119
  }
96
120
  return this;
97
121
  }
122
+ /**
123
+ * Samples the browser gamepad's current state and writes transformed values
124
+ * into the shared channel buffer, dispatching {@link onUpdate} for each channel
125
+ * whose value changed. Should be called once per frame by the engine's input loop.
126
+ * No-op when disconnected.
127
+ */
98
128
  update() {
99
129
  if (this.browserGamepad === null) {
100
130
  return this;
@@ -123,10 +153,15 @@ class Gamepad {
123
153
  }
124
154
  return this;
125
155
  }
156
+ /** Zeroes all channel buffer entries that belong to this gamepad's mapping. */
126
157
  clearChannels() {
127
158
  this.clearMappedChannels();
128
159
  return this;
129
160
  }
161
+ /**
162
+ * Disconnects the gamepad, clears its channels, and destroys all signals.
163
+ * The instance must not be used after this call.
164
+ */
130
165
  destroy() {
131
166
  this.disconnect();
132
167
  this.clearMappedChannels();
@@ -134,9 +169,17 @@ class Gamepad {
134
169
  this.onDisconnect.destroy();
135
170
  this.onUpdate.destroy();
136
171
  }
172
+ /**
173
+ * Converts a {@link GamepadChannel} to its absolute index in the shared channel
174
+ * buffer for this gamepad instance.
175
+ */
137
176
  resolveChannelOffset(channel) {
138
177
  return this.channelOffset + (channel ^ ChannelOffset.Gamepads);
139
178
  }
179
+ /**
180
+ * Converts a gamepad slot index and {@link GamepadChannel} to an absolute
181
+ * channel buffer offset without requiring a {@link Gamepad} instance.
182
+ */
140
183
  static resolveChannelOffset(gamepadIndex, channel) {
141
184
  return ChannelOffset.Gamepads + (gamepadIndex * ChannelSize.Gamepad) + (channel ^ ChannelOffset.Gamepads);
142
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Gamepad.js","sources":["../../../../src/input/Gamepad.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gamepad.js","sources":["../../../../src/input/Gamepad.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Canonical channel identifiers for every control a standard gamepad can expose.
3
+ *
4
+ * Values are absolute offsets into the engine's shared {@link Float32Array} input
5
+ * channel buffer — each member equals `ChannelOffset.Gamepads + localIndex`.
6
+ * Use {@link Gamepad.resolveChannelOffset} to account for per-slot skew when
7
+ * reading a specific gamepad's data.
8
+ */
1
9
  export declare enum GamepadChannel {
2
10
  ButtonSouth = 512,
3
11
  ButtonWest = 513,
@@ -1,5 +1,13 @@
1
1
  import './types.js';
2
2
 
3
+ /**
4
+ * Canonical channel identifiers for every control a standard gamepad can expose.
5
+ *
6
+ * Values are absolute offsets into the engine's shared {@link Float32Array} input
7
+ * channel buffer — each member equals `ChannelOffset.Gamepads + localIndex`.
8
+ * Use {@link Gamepad.resolveChannelOffset} to account for per-slot skew when
9
+ * reading a specific gamepad's data.
10
+ */
3
11
  var GamepadChannel;
4
12
  (function (GamepadChannel) {
5
13
  GamepadChannel[GamepadChannel["ButtonSouth"] = 512] = "ButtonSouth";
@@ -1 +1 @@
1
- {"version":3,"file":"GamepadChannels.js","sources":["../../../../src/input/GamepadChannels.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GamepadChannels.js","sources":["../../../../src/input/GamepadChannels.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,21 @@
1
1
  import type { GamepadChannel } from './GamepadChannels';
2
+ /**
3
+ * Construction options for a single {@link GamepadControl}.
4
+ * All fields are optional; defaults produce a plain pass-through control
5
+ * with a 0.2 dead-zone.
6
+ */
2
7
  export interface GamepadControlOptions {
3
8
  invert?: boolean;
4
9
  normalize?: boolean;
5
10
  threshold?: number;
6
11
  }
12
+ /**
13
+ * Represents a single mappable control — one button or one axis — on a physical gamepad.
14
+ *
15
+ * Stores the raw Gamepad API `index`, the target {@link GamepadChannel}, and the
16
+ * transform parameters (`invert`, `normalize`, `threshold`) applied each frame
17
+ * by {@link transformValue} before the value is written to the channel buffer.
18
+ */
7
19
  export declare class GamepadControl {
8
20
  readonly index: number;
9
21
  readonly channel: GamepadChannel;
@@ -11,5 +23,11 @@ export declare class GamepadControl {
11
23
  readonly normalize: boolean;
12
24
  readonly threshold: number;
13
25
  constructor(index: number, channel: GamepadChannel, options?: GamepadControlOptions);
26
+ /**
27
+ * Applies the control's transform pipeline to a raw browser value.
28
+ *
29
+ * Pipeline: clamp to [-1, 1] → optional invert → optional normalize to [0, 1]
30
+ * → dead-zone (returns 0 when the absolute result is at or below `threshold`).
31
+ */
14
32
  transformValue(value: number): number;
15
33
  }
@@ -1,5 +1,12 @@
1
1
  import { clamp } from '../math/utils.js';
2
2
 
3
+ /**
4
+ * Represents a single mappable control — one button or one axis — on a physical gamepad.
5
+ *
6
+ * Stores the raw Gamepad API `index`, the target {@link GamepadChannel}, and the
7
+ * transform parameters (`invert`, `normalize`, `threshold`) applied each frame
8
+ * by {@link transformValue} before the value is written to the channel buffer.
9
+ */
3
10
  class GamepadControl {
4
11
  index;
5
12
  channel;
@@ -13,6 +20,12 @@ class GamepadControl {
13
20
  this.normalize = options.normalize ?? false;
14
21
  this.threshold = clamp(options.threshold ?? 0.2, 0, 1);
15
22
  }
23
+ /**
24
+ * Applies the control's transform pipeline to a raw browser value.
25
+ *
26
+ * Pipeline: clamp to [-1, 1] → optional invert → optional normalize to [0, 1]
27
+ * → dead-zone (returns 0 when the absolute result is at or below `threshold`).
28
+ */
16
29
  transformValue(value) {
17
30
  let result = clamp(value, -1, 1);
18
31
  if (this.invert) {
@@ -1 +1 @@
1
- {"version":3,"file":"GamepadControl.js","sources":["../../../../src/input/GamepadControl.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAUa,cAAc,CAAA;AACP,IAAA,KAAK;AACL,IAAA,OAAO;AACP,IAAA,MAAM;AACN,IAAA,SAAS;AACT,IAAA,SAAS;AAEzB,IAAA,WAAA,CAAmB,KAAa,EAAE,OAAuB,EAAE,UAAiC,EAAE,EAAA;AAC1F,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACtB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D;AAEO,IAAA,cAAc,CAAC,KAAa,EAAA;QAC/B,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,EAAE;QAChB;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;QAC7B;AAEA,QAAA,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC;IAC/C;AACH;;;;"}
1
+ {"version":3,"file":"GamepadControl.js","sources":["../../../../src/input/GamepadControl.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAeA;;;;;;AAMG;MACU,cAAc,CAAA;AACP,IAAA,KAAK;AACL,IAAA,OAAO;AACP,IAAA,MAAM;AACN,IAAA,SAAS;AACT,IAAA,SAAS;AAEzB,IAAA,WAAA,CAAmB,KAAa,EAAE,OAAuB,EAAE,UAAiC,EAAE,EAAA;AAC1F,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACtB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D;AAEA;;;;;AAKG;AACI,IAAA,cAAc,CAAC,KAAa,EAAA;QAC/B,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,EAAE;QAChB;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;QAC7B;AAEA,QAAA,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC;IAC/C;AACH;;;;"}
@@ -1,9 +1,25 @@
1
1
  import type { GamepadMapping } from './GamepadMapping';
2
+ /** Convenience alias for the non-null element type returned by `navigator.getGamepads()`. */
2
3
  export type BrowserGamepad = NonNullable<ReturnType<Navigator['getGamepads']>[number]>;
4
+ /**
5
+ * Value a {@link GamepadDefinition.resolve} callback may return.
6
+ *
7
+ * Return a bare {@link GamepadMapping} to accept the device with the definition's
8
+ * default name, an object with an optional `name` override, or `null`/`undefined`
9
+ * to decline the device and let the next definition in the list try.
10
+ */
3
11
  export type GamepadDefinitionResult = GamepadMapping | {
4
12
  name?: string;
5
13
  mapping: GamepadMapping;
6
14
  } | null | undefined;
15
+ /**
16
+ * Parsed metadata extracted from a browser `Gamepad.id` string.
17
+ *
18
+ * `vendorId` and `productId` are four-hex-digit strings (e.g. `"045e"`, `"028e"`).
19
+ * `productKey` is the colon-joined pair (`"045e:028e"`), used as a compact lookup key.
20
+ * `name` is the human-readable portion of the id with the vendor/product tokens removed,
21
+ * or `null` when the id contained only identifiers.
22
+ */
7
23
  export interface GamepadDescriptor {
8
24
  id: string;
9
25
  index: number;
@@ -13,19 +29,66 @@ export interface GamepadDescriptor {
13
29
  productKey: string | null;
14
30
  name: string | null;
15
31
  }
32
+ /**
33
+ * A rule that matches one or more physical gamepads and produces a {@link GamepadMapping}.
34
+ *
35
+ * `ids` is an optional allow-list of vendor IDs (`"045e"`) or `vendorId:productId`
36
+ * pairs (`"045e:028e"`); when omitted the definition matches every device.
37
+ * `resolve` is called with the parsed {@link GamepadDescriptor} and must return a
38
+ * {@link GamepadDefinitionResult} — `null`/`undefined` to skip, a mapping otherwise.
39
+ */
16
40
  export interface GamepadDefinition {
17
41
  ids?: string | Array<string>;
18
42
  name?: string;
19
43
  resolve: (descriptor: GamepadDescriptor) => GamepadDefinitionResult;
20
44
  }
45
+ /**
46
+ * The fully resolved product of running a {@link GamepadDefinition} against a
47
+ * connected gamepad — bundles the original descriptor, the resolved display name,
48
+ * and the chosen {@link GamepadMapping} together for use by {@link Gamepad}.
49
+ */
21
50
  export interface ResolvedGamepadDefinition {
22
51
  descriptor: GamepadDescriptor;
23
52
  name: string;
24
53
  mapping: GamepadMapping;
25
54
  }
26
- export declare const normalizeIds: (ids?: string | Array<string>) => Array<string>;
55
+ /**
56
+ * Returns `true` when `descriptor` matches any entry in `ids`.
57
+ *
58
+ * A colon-containing id (e.g. `"045e:028e"`) is matched against
59
+ * `descriptor.productKey`; a bare four-hex id is matched against
60
+ * `descriptor.vendorId`. Passing no `ids` always returns `true`.
61
+ */
27
62
  export declare const matchesIds: (descriptor: GamepadDescriptor, ids?: string | Array<string>) => boolean;
63
+ /**
64
+ * Parses the raw browser `Gamepad.id` string into a structured {@link GamepadDescriptor}.
65
+ *
66
+ * Attempts multiple vendor/product ID patterns (hex-prefixed, plain, VID/PID, bare pair)
67
+ * in order of specificity, then strips the matched tokens to derive a clean `name`.
68
+ */
28
69
  export declare const parseGamepadDescriptor: (gamepad: BrowserGamepad) => GamepadDescriptor;
70
+ /**
71
+ * Runs a single {@link GamepadDefinition} against a descriptor, respecting its
72
+ * `ids` filter. Returns `null` when the definition declines the device.
73
+ */
29
74
  export declare const resolveDefinition: (definition: GamepadDefinition, descriptor: GamepadDescriptor) => ResolvedGamepadDefinition | null;
75
+ /**
76
+ * Resolves the best-matching {@link ResolvedGamepadDefinition} for a connected gamepad.
77
+ *
78
+ * Iterates `definitions` in order — exact product IDs first, then vendor fallbacks,
79
+ * then a generic catch-all — and returns the first match. Falls back to
80
+ * {@link GenericDualAnalogGamepadMapping} when no definition matches.
81
+ *
82
+ * @example
83
+ * const resolved = resolveGamepadDefinition(navigator.getGamepads()[0]!);
84
+ * const gamepad = new Gamepad(browserGamepad, channels, resolved);
85
+ */
30
86
  export declare const resolveGamepadDefinition: (gamepadOrDescriptor: BrowserGamepad | GamepadDescriptor, definitions?: ReadonlyArray<GamepadDefinition>) => ResolvedGamepadDefinition;
87
+ /**
88
+ * The default ordered list of {@link GamepadDefinition} entries used by
89
+ * {@link resolveGamepadDefinition} when no custom list is supplied.
90
+ *
91
+ * Ordered as: exact product-ID matches → vendor-ID fallbacks → generic catch-all.
92
+ * Register custom definitions by prepending to a copy and passing it explicitly.
93
+ */
31
94
  export declare const builtInGamepadDefinitions: Array<GamepadDefinition>;
@@ -59,6 +59,10 @@ const resolveDefinitionResult = (definition, descriptor) => {
59
59
  mapping: result,
60
60
  };
61
61
  };
62
+ /**
63
+ * Normalises an `ids` value into a trimmed, lower-case string array ready for
64
+ * comparison against a {@link GamepadDescriptor}.
65
+ */
62
66
  const normalizeIds = (ids) => {
63
67
  if (!ids) {
64
68
  return [];
@@ -66,6 +70,13 @@ const normalizeIds = (ids) => {
66
70
  const values = Array.isArray(ids) ? ids : [ids];
67
71
  return values.map(normalizeId);
68
72
  };
73
+ /**
74
+ * Returns `true` when `descriptor` matches any entry in `ids`.
75
+ *
76
+ * A colon-containing id (e.g. `"045e:028e"`) is matched against
77
+ * `descriptor.productKey`; a bare four-hex id is matched against
78
+ * `descriptor.vendorId`. Passing no `ids` always returns `true`.
79
+ */
69
80
  const matchesIds = (descriptor, ids) => {
70
81
  if (!ids) {
71
82
  return true;
@@ -83,6 +94,12 @@ const matchesIds = (descriptor, ids) => {
83
94
  }
84
95
  return false;
85
96
  };
97
+ /**
98
+ * Parses the raw browser `Gamepad.id` string into a structured {@link GamepadDescriptor}.
99
+ *
100
+ * Attempts multiple vendor/product ID patterns (hex-prefixed, plain, VID/PID, bare pair)
101
+ * in order of specificity, then strips the matched tokens to derive a clean `name`.
102
+ */
86
103
  const parseGamepadDescriptor = (gamepad) => {
87
104
  const label = gamepad.id.trim() || `Gamepad ${gamepad.index}`;
88
105
  const productKey = parseProductKey(label);
@@ -98,12 +115,27 @@ const parseGamepadDescriptor = (gamepad) => {
98
115
  name: parseName(label),
99
116
  };
100
117
  };
118
+ /**
119
+ * Runs a single {@link GamepadDefinition} against a descriptor, respecting its
120
+ * `ids` filter. Returns `null` when the definition declines the device.
121
+ */
101
122
  const resolveDefinition = (definition, descriptor) => {
102
123
  if (!matchesIds(descriptor, definition.ids)) {
103
124
  return null;
104
125
  }
105
126
  return resolveDefinitionResult(definition, descriptor);
106
127
  };
128
+ /**
129
+ * Resolves the best-matching {@link ResolvedGamepadDefinition} for a connected gamepad.
130
+ *
131
+ * Iterates `definitions` in order — exact product IDs first, then vendor fallbacks,
132
+ * then a generic catch-all — and returns the first match. Falls back to
133
+ * {@link GenericDualAnalogGamepadMapping} when no definition matches.
134
+ *
135
+ * @example
136
+ * const resolved = resolveGamepadDefinition(navigator.getGamepads()[0]!);
137
+ * const gamepad = new Gamepad(browserGamepad, channels, resolved);
138
+ */
107
139
  const resolveGamepadDefinition = (gamepadOrDescriptor, definitions = builtInGamepadDefinitions) => {
108
140
  const descriptor = 'connected' in gamepadOrDescriptor
109
141
  ? parseGamepadDescriptor(gamepadOrDescriptor)
@@ -165,11 +197,18 @@ const vendorFallbackDefinitions = [
165
197
  createStaticGamepadDefinition('Sony Controller', () => new PlayStationGamepadMapping(), '054c'),
166
198
  ];
167
199
  const genericFallbackDefinition = createStaticGamepadDefinition('Generic Gamepad', () => new GenericDualAnalogGamepadMapping());
200
+ /**
201
+ * The default ordered list of {@link GamepadDefinition} entries used by
202
+ * {@link resolveGamepadDefinition} when no custom list is supplied.
203
+ *
204
+ * Ordered as: exact product-ID matches → vendor-ID fallbacks → generic catch-all.
205
+ * Register custom definitions by prepending to a copy and passing it explicitly.
206
+ */
168
207
  const builtInGamepadDefinitions = [
169
208
  ...exactDeviceDefinitions,
170
209
  ...vendorFallbackDefinitions,
171
210
  genericFallbackDefinition,
172
211
  ];
173
212
 
174
- export { builtInGamepadDefinitions, matchesIds, normalizeIds, parseGamepadDescriptor, resolveDefinition, resolveGamepadDefinition };
213
+ export { builtInGamepadDefinitions, matchesIds, parseGamepadDescriptor, resolveDefinition, resolveGamepadDefinition };
175
214
  //# sourceMappingURL=GamepadDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GamepadDefinitions.js","sources":["../../../../src/input/GamepadDefinitions.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GamepadDefinitions.js","sources":["../../../../src/input/GamepadDefinitions.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { GamepadControl } from './GamepadControl';
2
2
  import type { GamepadControlOptions } from './GamepadControl';
3
3
  import type { GamepadChannel } from './GamepadChannels';
4
+ /**
5
+ * Discriminant tag identifying which device family a {@link GamepadMapping} belongs to.
6
+ * Used to select the correct mapping at runtime when a gamepad connects.
7
+ */
4
8
  export declare enum GamepadMappingFamily {
5
9
  GenericDualAnalog = "genericDualAnalog",
6
10
  Xbox = "xbox",
@@ -12,12 +16,38 @@ export declare enum GamepadMappingFamily {
12
16
  SteamController = "steamController",
13
17
  ArcadeStick = "arcadeStick"
14
18
  }
19
+ /**
20
+ * Compact descriptor for a single gamepad control.
21
+ * Tuple of `[rawIndex, channel, options?]` where `rawIndex` is the
22
+ * Gamepad API button or axis index reported by the browser.
23
+ */
15
24
  export type GamepadControlDefinition = readonly [number, GamepadChannel, GamepadControlOptions?];
25
+ /**
26
+ * Abstract translation layer between the browser's raw {@link https://developer.mozilla.org/en-US/docs/Web/API/Gamepad Gamepad API}
27
+ * indices and ExoJS-canonical {@link GamepadChannel} controls.
28
+ *
29
+ * Each concrete subclass encodes one device family's button/axis layout as
30
+ * ordered arrays of {@link GamepadControl} objects. The engine selects the
31
+ * appropriate mapping when a gamepad connects and uses it to route raw
32
+ * values to the correct input channels every frame.
33
+ */
16
34
  export declare abstract class GamepadMapping {
35
+ /** Identifies the device family this mapping targets. */
17
36
  abstract readonly family: GamepadMappingFamily;
18
- readonly buttons: Array<GamepadControl>;
19
- readonly axes: Array<GamepadControl>;
37
+ /** Ordered list of button controls, indexed by the Gamepad API button index. */
38
+ readonly buttons: ReadonlyArray<GamepadControl>;
39
+ /** Ordered list of axis controls, indexed by the Gamepad API axis index. */
40
+ readonly axes: ReadonlyArray<GamepadControl>;
20
41
  protected constructor(buttons: Array<GamepadControl>, axes: Array<GamepadControl>);
42
+ /**
43
+ * Releases all button and axis control references held by this mapping.
44
+ * Call when the associated gamepad disconnects to allow garbage collection.
45
+ */
21
46
  destroy(): void;
47
+ /**
48
+ * Converts an array of {@link GamepadControlDefinition} tuples into fully
49
+ * constructed {@link GamepadControl} instances.
50
+ * Shared factory used by all concrete mapping constructors.
51
+ */
22
52
  static createControls(definitions: ReadonlyArray<GamepadControlDefinition>): Array<GamepadControl>;
23
53
  }
@@ -1,5 +1,9 @@
1
1
  import { GamepadControl } from './GamepadControl.js';
2
2
 
3
+ /**
4
+ * Discriminant tag identifying which device family a {@link GamepadMapping} belongs to.
5
+ * Used to select the correct mapping at runtime when a gamepad connects.
6
+ */
3
7
  var GamepadMappingFamily;
4
8
  (function (GamepadMappingFamily) {
5
9
  GamepadMappingFamily["GenericDualAnalog"] = "genericDualAnalog";
@@ -12,17 +16,37 @@ var GamepadMappingFamily;
12
16
  GamepadMappingFamily["SteamController"] = "steamController";
13
17
  GamepadMappingFamily["ArcadeStick"] = "arcadeStick";
14
18
  })(GamepadMappingFamily || (GamepadMappingFamily = {}));
19
+ /**
20
+ * Abstract translation layer between the browser's raw {@link https://developer.mozilla.org/en-US/docs/Web/API/Gamepad Gamepad API}
21
+ * indices and ExoJS-canonical {@link GamepadChannel} controls.
22
+ *
23
+ * Each concrete subclass encodes one device family's button/axis layout as
24
+ * ordered arrays of {@link GamepadControl} objects. The engine selects the
25
+ * appropriate mapping when a gamepad connects and uses it to route raw
26
+ * values to the correct input channels every frame.
27
+ */
15
28
  class GamepadMapping {
29
+ /** Ordered list of button controls, indexed by the Gamepad API button index. */
16
30
  buttons;
31
+ /** Ordered list of axis controls, indexed by the Gamepad API axis index. */
17
32
  axes;
18
33
  constructor(buttons, axes) {
19
34
  this.buttons = buttons;
20
35
  this.axes = axes;
21
36
  }
37
+ /**
38
+ * Releases all button and axis control references held by this mapping.
39
+ * Call when the associated gamepad disconnects to allow garbage collection.
40
+ */
22
41
  destroy() {
23
42
  this.buttons.length = 0;
24
43
  this.axes.length = 0;
25
44
  }
45
+ /**
46
+ * Converts an array of {@link GamepadControlDefinition} tuples into fully
47
+ * constructed {@link GamepadControl} instances.
48
+ * Shared factory used by all concrete mapping constructors.
49
+ */
26
50
  static createControls(definitions) {
27
51
  return definitions.map(([index, channel, options]) => new GamepadControl(index, channel, options));
28
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GamepadMapping.js","sources":["../../../../src/input/GamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;IAKY;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC5B,IAAA,oBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC;AACvC,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC/B,CAAC,EAVW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;MAcV,cAAc,CAAA;AAGhB,IAAA,OAAO;AACP,IAAA,IAAI;IAEpB,WAAA,CAAsB,OAA8B,EAAE,IAA2B,EAAA;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IACpB;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;IACxB;IAEO,OAAO,cAAc,CAAC,WAAoD,EAAA;QAC7E,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtG;AACH;;;;"}
1
+ {"version":3,"file":"GamepadMapping.js","sources":["../../../../src/input/GamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA;;;AAGG;IACS;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC5B,IAAA,oBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC;AACvC,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC/B,CAAC,EAVW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;AAmBhC;;;;;;;;AAQG;MACmB,cAAc,CAAA;;AAKhB,IAAA,OAAO;;AAGP,IAAA,IAAI;IAEpB,WAAA,CAAsB,OAA8B,EAAE,IAA2B,EAAA;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IACpB;AAEA;;;AAGG;IACI,OAAO,GAAA;AACT,QAAA,IAAI,CAAC,OAAiC,CAAC,MAAM,GAAG,CAAC;AACjD,QAAA,IAAI,CAAC,IAA8B,CAAC,MAAM,GAAG,CAAC;IACnD;AAEA;;;;AAIG;IACI,OAAO,cAAc,CAAC,WAAoD,EAAA;QAC7E,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtG;AACH;;;;"}