@codexo/exojs 0.6.12 → 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 (512) hide show
  1. package/CHANGELOG.md +1424 -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 +29 -0
  12. package/dist/esm/audio/AbstractMedia.js +76 -0
  13. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  14. package/dist/esm/audio/AudioAnalyser.d.ts +83 -23
  15. package/dist/esm/audio/AudioAnalyser.js +277 -57
  16. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  17. package/dist/esm/audio/AudioBus.d.ts +82 -0
  18. package/dist/esm/audio/AudioBus.js +255 -0
  19. package/dist/esm/audio/AudioBus.js.map +1 -0
  20. package/dist/esm/audio/AudioFilter.d.ts +16 -0
  21. package/dist/esm/audio/AudioFilter.js +13 -0
  22. package/dist/esm/audio/AudioFilter.js.map +1 -0
  23. package/dist/esm/audio/AudioListener.d.ts +39 -0
  24. package/dist/esm/audio/AudioListener.js +97 -0
  25. package/dist/esm/audio/AudioListener.js.map +1 -0
  26. package/dist/esm/audio/AudioManager.d.ts +68 -0
  27. package/dist/esm/audio/AudioManager.js +139 -0
  28. package/dist/esm/audio/AudioManager.js.map +1 -0
  29. package/dist/esm/audio/BeatDetector.d.ts +142 -0
  30. package/dist/esm/audio/BeatDetector.js +957 -0
  31. package/dist/esm/audio/BeatDetector.js.map +1 -0
  32. package/dist/esm/audio/Envelope.d.ts +44 -0
  33. package/dist/esm/audio/Envelope.js +60 -0
  34. package/dist/esm/audio/Envelope.js.map +1 -0
  35. package/dist/esm/audio/Media.d.ts +11 -0
  36. package/dist/esm/audio/Music.d.ts +20 -0
  37. package/dist/esm/audio/Music.js +45 -4
  38. package/dist/esm/audio/Music.js.map +1 -1
  39. package/dist/esm/audio/OscillatorSound.d.ts +98 -0
  40. package/dist/esm/audio/OscillatorSound.js +342 -0
  41. package/dist/esm/audio/OscillatorSound.js.map +1 -0
  42. package/dist/esm/audio/Sound.d.ts +119 -9
  43. package/dist/esm/audio/Sound.js +301 -117
  44. package/dist/esm/audio/Sound.js.map +1 -1
  45. package/dist/esm/audio/audio-context.d.ts +48 -0
  46. package/dist/esm/audio/audio-context.js +48 -5
  47. package/dist/esm/audio/audio-context.js.map +1 -1
  48. package/dist/esm/audio/crossFade.d.ts +19 -0
  49. package/dist/esm/audio/crossFade.js +26 -0
  50. package/dist/esm/audio/crossFade.js.map +1 -0
  51. package/dist/esm/audio/dsp/fft.d.ts +22 -0
  52. package/dist/esm/audio/dsp/mel.d.ts +43 -0
  53. package/dist/esm/audio/dsp/tempogram.d.ts +51 -0
  54. package/dist/esm/audio/filters/ChorusFilter.d.ts +52 -0
  55. package/dist/esm/audio/filters/ChorusFilter.js +143 -0
  56. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -0
  57. package/dist/esm/audio/filters/CompressorFilter.d.ts +43 -0
  58. package/dist/esm/audio/filters/CompressorFilter.js +108 -0
  59. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -0
  60. package/dist/esm/audio/filters/DelayFilter.d.ts +34 -0
  61. package/dist/esm/audio/filters/DelayFilter.js +110 -0
  62. package/dist/esm/audio/filters/DelayFilter.js.map +1 -0
  63. package/dist/esm/audio/filters/DuckingFilter.d.ts +44 -0
  64. package/dist/esm/audio/filters/DuckingFilter.js +164 -0
  65. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -0
  66. package/dist/esm/audio/filters/EqualizerFilter.d.ts +49 -0
  67. package/dist/esm/audio/filters/EqualizerFilter.js +134 -0
  68. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -0
  69. package/dist/esm/audio/filters/GranularFilter.d.ts +62 -0
  70. package/dist/esm/audio/filters/GranularFilter.js +176 -0
  71. package/dist/esm/audio/filters/GranularFilter.js.map +1 -0
  72. package/dist/esm/audio/filters/HighpassFilter.d.ts +29 -0
  73. package/dist/esm/audio/filters/HighpassFilter.js +71 -0
  74. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -0
  75. package/dist/esm/audio/filters/LowpassFilter.d.ts +29 -0
  76. package/dist/esm/audio/filters/LowpassFilter.js +71 -0
  77. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -0
  78. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +44 -0
  79. package/dist/esm/audio/filters/PitchShiftFilter.js +132 -0
  80. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -0
  81. package/dist/esm/audio/filters/ReverbFilter.d.ts +36 -0
  82. package/dist/esm/audio/filters/ReverbFilter.js +118 -0
  83. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -0
  84. package/dist/esm/audio/filters/VocoderFilter.d.ts +49 -0
  85. package/dist/esm/audio/filters/VocoderFilter.js +174 -0
  86. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -0
  87. package/dist/esm/audio/filters/WorkletFilter.d.ts +51 -0
  88. package/dist/esm/audio/filters/WorkletFilter.js +106 -0
  89. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -0
  90. package/dist/esm/audio/filters/index.d.ts +12 -0
  91. package/dist/esm/audio/index.d.ts +15 -1
  92. package/dist/esm/audio/worklet/registerWorklet.d.ts +10 -0
  93. package/dist/esm/audio/worklet/registerWorklet.js +44 -0
  94. package/dist/esm/audio/worklet/registerWorklet.js.map +1 -0
  95. package/dist/esm/core/Application.d.ts +82 -0
  96. package/dist/esm/core/Application.js +137 -2
  97. package/dist/esm/core/Application.js.map +1 -1
  98. package/dist/esm/core/Bounds.d.ts +23 -0
  99. package/dist/esm/core/Bounds.js +23 -0
  100. package/dist/esm/core/Bounds.js.map +1 -1
  101. package/dist/esm/core/Clock.d.ts +21 -0
  102. package/dist/esm/core/Clock.js +21 -0
  103. package/dist/esm/core/Clock.js.map +1 -1
  104. package/dist/esm/core/Color.d.ts +35 -0
  105. package/dist/esm/core/Color.js +35 -0
  106. package/dist/esm/core/Color.js.map +1 -1
  107. package/dist/esm/core/Scene.d.ts +46 -0
  108. package/dist/esm/core/Scene.js +27 -0
  109. package/dist/esm/core/Scene.js.map +1 -1
  110. package/dist/esm/core/SceneManager.d.ts +62 -0
  111. package/dist/esm/core/SceneManager.js +49 -0
  112. package/dist/esm/core/SceneManager.js.map +1 -1
  113. package/dist/esm/core/SceneNode.d.ts +40 -1
  114. package/dist/esm/core/SceneNode.js +75 -6
  115. package/dist/esm/core/SceneNode.js.map +1 -1
  116. package/dist/esm/core/Signal.d.ts +44 -0
  117. package/dist/esm/core/Signal.js +39 -0
  118. package/dist/esm/core/Signal.js.map +1 -1
  119. package/dist/esm/core/Time.d.ts +21 -0
  120. package/dist/esm/core/Time.js +22 -1
  121. package/dist/esm/core/Time.js.map +1 -1
  122. package/dist/esm/core/Timer.d.ts +7 -0
  123. package/dist/esm/core/Timer.js +7 -0
  124. package/dist/esm/core/Timer.js.map +1 -1
  125. package/dist/esm/core/capabilities.d.ts +12 -0
  126. package/dist/esm/core/capabilities.js +12 -0
  127. package/dist/esm/core/capabilities.js.map +1 -1
  128. package/dist/esm/core/index.d.ts +0 -1
  129. package/dist/esm/core/types.d.ts +37 -0
  130. package/dist/esm/core/utils.d.ts +48 -0
  131. package/dist/esm/core/utils.js +48 -0
  132. package/dist/esm/core/utils.js.map +1 -1
  133. package/dist/esm/debug/BoundingBoxesLayer.d.ts +26 -0
  134. package/dist/esm/debug/BoundingBoxesLayer.js +136 -0
  135. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -0
  136. package/dist/esm/debug/DebugLayer.d.ts +42 -0
  137. package/dist/esm/debug/DebugLayer.js +34 -0
  138. package/dist/esm/debug/DebugLayer.js.map +1 -0
  139. package/dist/esm/debug/DebugOverlay.d.ts +59 -0
  140. package/dist/esm/debug/DebugOverlay.js +123 -0
  141. package/dist/esm/debug/DebugOverlay.js.map +1 -0
  142. package/dist/esm/debug/HitTestLayer.d.ts +32 -0
  143. package/dist/esm/debug/HitTestLayer.js +118 -0
  144. package/dist/esm/debug/HitTestLayer.js.map +1 -0
  145. package/dist/esm/debug/PerformanceLayer.d.ts +37 -0
  146. package/dist/esm/debug/PerformanceLayer.js +193 -0
  147. package/dist/esm/debug/PerformanceLayer.js.map +1 -0
  148. package/dist/esm/debug/PointerStackLayer.d.ts +31 -0
  149. package/dist/esm/debug/PointerStackLayer.js +160 -0
  150. package/dist/esm/debug/PointerStackLayer.js.map +1 -0
  151. package/dist/esm/debug/index.d.ts +6 -0
  152. package/dist/esm/debug/index.js +7 -0
  153. package/dist/esm/debug/index.js.map +1 -0
  154. package/dist/esm/index.js +30 -4
  155. package/dist/esm/index.js.map +1 -1
  156. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +7 -0
  157. package/dist/esm/input/ArcadeStickGamepadMapping.js +7 -0
  158. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  159. package/dist/esm/input/GameCubeGamepadMapping.d.ts +9 -0
  160. package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
  161. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  162. package/dist/esm/input/Gamepad.d.ts +48 -0
  163. package/dist/esm/input/Gamepad.js +43 -0
  164. package/dist/esm/input/Gamepad.js.map +1 -1
  165. package/dist/esm/input/GamepadChannels.d.ts +8 -0
  166. package/dist/esm/input/GamepadChannels.js +8 -0
  167. package/dist/esm/input/GamepadChannels.js.map +1 -1
  168. package/dist/esm/input/GamepadControl.d.ts +18 -0
  169. package/dist/esm/input/GamepadControl.js +13 -0
  170. package/dist/esm/input/GamepadControl.js.map +1 -1
  171. package/dist/esm/input/GamepadDefinitions.d.ts +64 -1
  172. package/dist/esm/input/GamepadDefinitions.js +40 -1
  173. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  174. package/dist/esm/input/GamepadMapping.d.ts +32 -2
  175. package/dist/esm/input/GamepadMapping.js +24 -0
  176. package/dist/esm/input/GamepadMapping.js.map +1 -1
  177. package/dist/esm/input/GamepadPromptLayouts.d.ts +32 -1
  178. package/dist/esm/input/GamepadPromptLayouts.js +25 -1
  179. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  180. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +10 -0
  181. package/dist/esm/input/GenericDualAnalogGamepadMapping.js +10 -0
  182. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  183. package/dist/esm/input/GestureRecognizer.d.ts +11 -2
  184. package/dist/esm/input/GestureRecognizer.js +11 -2
  185. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  186. package/dist/esm/input/Input.d.ts +24 -0
  187. package/dist/esm/input/Input.js +22 -0
  188. package/dist/esm/input/Input.js.map +1 -1
  189. package/dist/esm/input/InputManager.d.ts +43 -0
  190. package/dist/esm/input/InputManager.js +68 -5
  191. package/dist/esm/input/InputManager.js.map +1 -1
  192. package/dist/esm/input/InteractionEvent.d.ts +31 -0
  193. package/dist/esm/input/InteractionEvent.js +37 -0
  194. package/dist/esm/input/InteractionEvent.js.map +1 -0
  195. package/dist/esm/input/InteractionManager.d.ts +163 -0
  196. package/dist/esm/input/InteractionManager.js +575 -0
  197. package/dist/esm/input/InteractionManager.js.map +1 -0
  198. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +9 -0
  199. package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
  200. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  201. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +9 -0
  202. package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
  203. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  204. package/dist/esm/input/PlayStationGamepadMapping.d.ts +8 -0
  205. package/dist/esm/input/PlayStationGamepadMapping.js +8 -0
  206. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  207. package/dist/esm/input/Pointer.d.ts +22 -0
  208. package/dist/esm/input/Pointer.js +22 -0
  209. package/dist/esm/input/Pointer.js.map +1 -1
  210. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +8 -0
  211. package/dist/esm/input/SteamControllerGamepadMapping.js +8 -0
  212. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  213. package/dist/esm/input/SwitchProGamepadMapping.d.ts +9 -0
  214. package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
  215. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  216. package/dist/esm/input/XboxGamepadMapping.d.ts +8 -0
  217. package/dist/esm/input/XboxGamepadMapping.js +8 -0
  218. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  219. package/dist/esm/input/index.d.ts +2 -0
  220. package/dist/esm/input/interaction-hooks.d.ts +34 -0
  221. package/dist/esm/input/interaction-hooks.js +35 -0
  222. package/dist/esm/input/interaction-hooks.js.map +1 -0
  223. package/dist/esm/input/types.d.ts +20 -0
  224. package/dist/esm/input/types.js +20 -0
  225. package/dist/esm/input/types.js.map +1 -1
  226. package/dist/esm/math/AbstractVector.d.ts +83 -0
  227. package/dist/esm/math/AbstractVector.js +83 -0
  228. package/dist/esm/math/AbstractVector.js.map +1 -1
  229. package/dist/esm/math/Circle.d.ts +44 -2
  230. package/dist/esm/math/Circle.js +116 -16
  231. package/dist/esm/math/Circle.js.map +1 -1
  232. package/dist/esm/math/CircleLike.d.ts +1 -0
  233. package/dist/esm/math/Collision.d.ts +39 -0
  234. package/dist/esm/math/Collision.js +5 -0
  235. package/dist/esm/math/Collision.js.map +1 -1
  236. package/dist/esm/math/Ellipse.d.ts +11 -0
  237. package/dist/esm/math/Ellipse.js +18 -2
  238. package/dist/esm/math/Ellipse.js.map +1 -1
  239. package/dist/esm/math/EllipseLike.d.ts +3 -0
  240. package/dist/esm/math/Flags.d.ts +31 -0
  241. package/dist/esm/math/Flags.js +31 -0
  242. package/dist/esm/math/Flags.js.map +1 -1
  243. package/dist/esm/math/Interval.d.ts +15 -0
  244. package/dist/esm/math/Interval.js +16 -1
  245. package/dist/esm/math/Interval.js.map +1 -1
  246. package/dist/esm/math/Line.d.ts +17 -1
  247. package/dist/esm/math/Line.js +17 -1
  248. package/dist/esm/math/Line.js.map +1 -1
  249. package/dist/esm/math/LineLike.d.ts +1 -0
  250. package/dist/esm/math/Matrix.d.ts +44 -3
  251. package/dist/esm/math/Matrix.js +44 -3
  252. package/dist/esm/math/Matrix.js.map +1 -1
  253. package/dist/esm/math/ObservableSize.d.ts +7 -0
  254. package/dist/esm/math/ObservableSize.js +7 -0
  255. package/dist/esm/math/ObservableSize.js.map +1 -1
  256. package/dist/esm/math/ObservableVector.d.ts +11 -2
  257. package/dist/esm/math/ObservableVector.js +13 -2
  258. package/dist/esm/math/ObservableVector.js.map +1 -1
  259. package/dist/esm/math/PointLike.d.ts +1 -0
  260. package/dist/esm/math/PolarVector.d.ts +15 -0
  261. package/dist/esm/math/PolarVector.js +16 -1
  262. package/dist/esm/math/PolarVector.js.map +1 -1
  263. package/dist/esm/math/Polygon.d.ts +35 -1
  264. package/dist/esm/math/Polygon.js +78 -6
  265. package/dist/esm/math/Polygon.js.map +1 -1
  266. package/dist/esm/math/PolygonLike.d.ts +4 -0
  267. package/dist/esm/math/Quadtree.d.ts +84 -0
  268. package/dist/esm/math/Quadtree.js +204 -0
  269. package/dist/esm/math/Quadtree.js.map +1 -0
  270. package/dist/esm/math/Random.d.ts +25 -0
  271. package/dist/esm/math/Random.js +26 -1
  272. package/dist/esm/math/Random.js.map +1 -1
  273. package/dist/esm/math/Rectangle.d.ts +15 -0
  274. package/dist/esm/math/Rectangle.js +17 -2
  275. package/dist/esm/math/Rectangle.js.map +1 -1
  276. package/dist/esm/math/RectangleLike.d.ts +1 -0
  277. package/dist/esm/math/Segment.d.ts +7 -0
  278. package/dist/esm/math/Segment.js +7 -0
  279. package/dist/esm/math/Segment.js.map +1 -1
  280. package/dist/esm/math/ShapeLike.d.ts +6 -0
  281. package/dist/esm/math/Size.d.ts +9 -0
  282. package/dist/esm/math/Size.js +10 -1
  283. package/dist/esm/math/Size.js.map +1 -1
  284. package/dist/esm/math/Vector.d.ts +16 -0
  285. package/dist/esm/math/Vector.js +17 -1
  286. package/dist/esm/math/Vector.js.map +1 -1
  287. package/dist/esm/math/collision-detection.d.ts +47 -1
  288. package/dist/esm/math/collision-detection.js +231 -17
  289. package/dist/esm/math/collision-detection.js.map +1 -1
  290. package/dist/esm/math/collision-primitives.d.ts +23 -0
  291. package/dist/esm/math/collision-primitives.js +23 -0
  292. package/dist/esm/math/collision-primitives.js.map +1 -1
  293. package/dist/esm/math/geometry.d.ts +42 -0
  294. package/dist/esm/math/geometry.js +37 -0
  295. package/dist/esm/math/geometry.js.map +1 -1
  296. package/dist/esm/math/index.d.ts +1 -0
  297. package/dist/esm/math/utils.d.ts +41 -0
  298. package/dist/esm/math/utils.js +41 -0
  299. package/dist/esm/math/utils.js.map +1 -1
  300. package/dist/esm/particles/Particle.d.ts +37 -0
  301. package/dist/esm/particles/Particle.js +37 -0
  302. package/dist/esm/particles/Particle.js.map +1 -1
  303. package/dist/esm/particles/ParticleProperties.d.ts +15 -0
  304. package/dist/esm/particles/ParticleSystem.d.ts +69 -0
  305. package/dist/esm/particles/ParticleSystem.js +70 -0
  306. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  307. package/dist/esm/particles/affectors/ColorAffector.d.ts +13 -0
  308. package/dist/esm/particles/affectors/ColorAffector.js +13 -0
  309. package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
  310. package/dist/esm/particles/affectors/ForceAffector.d.ts +11 -0
  311. package/dist/esm/particles/affectors/ForceAffector.js +11 -0
  312. package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
  313. package/dist/esm/particles/affectors/ParticleAffector.d.ts +13 -0
  314. package/dist/esm/particles/affectors/ScaleAffector.d.ts +10 -0
  315. package/dist/esm/particles/affectors/ScaleAffector.js +10 -0
  316. package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
  317. package/dist/esm/particles/affectors/TorqueAffector.d.ts +11 -0
  318. package/dist/esm/particles/affectors/TorqueAffector.js +12 -1
  319. package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
  320. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +13 -0
  321. package/dist/esm/particles/emitters/ParticleOptions.d.ts +16 -0
  322. package/dist/esm/particles/emitters/ParticleOptions.js +16 -0
  323. package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
  324. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +23 -0
  325. package/dist/esm/particles/emitters/UniversalEmitter.js +23 -0
  326. package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
  327. package/dist/esm/rendering/CallbackRenderPass.d.ts +12 -0
  328. package/dist/esm/rendering/CallbackRenderPass.js +12 -0
  329. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  330. package/dist/esm/rendering/Container.d.ts +44 -0
  331. package/dist/esm/rendering/Container.js +62 -0
  332. package/dist/esm/rendering/Container.js.map +1 -1
  333. package/dist/esm/rendering/Drawable.d.ts +22 -0
  334. package/dist/esm/rendering/Drawable.js +22 -0
  335. package/dist/esm/rendering/Drawable.js.map +1 -1
  336. package/dist/esm/rendering/RenderBackend.d.ts +13 -0
  337. package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
  338. package/dist/esm/rendering/RenderBackendType.js +4 -0
  339. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  340. package/dist/esm/rendering/RenderNode.d.ts +45 -0
  341. package/dist/esm/rendering/RenderNode.js +62 -0
  342. package/dist/esm/rendering/RenderNode.js.map +1 -1
  343. package/dist/esm/rendering/RenderPass.d.ts +8 -0
  344. package/dist/esm/rendering/RenderStats.d.ts +19 -0
  345. package/dist/esm/rendering/RenderStats.js +7 -0
  346. package/dist/esm/rendering/RenderStats.js.map +1 -1
  347. package/dist/esm/rendering/RenderTarget.d.ts +17 -0
  348. package/dist/esm/rendering/RenderTarget.js +17 -0
  349. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  350. package/dist/esm/rendering/RenderTargetPass.d.ts +11 -0
  351. package/dist/esm/rendering/RenderTargetPass.js +7 -0
  352. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  353. package/dist/esm/rendering/Renderer.d.ts +15 -0
  354. package/dist/esm/rendering/RendererRegistry.d.ts +7 -0
  355. package/dist/esm/rendering/RendererRegistry.js +7 -0
  356. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  357. package/dist/esm/rendering/View.d.ts +73 -6
  358. package/dist/esm/rendering/View.js +69 -2
  359. package/dist/esm/rendering/View.js.map +1 -1
  360. package/dist/esm/rendering/filters/BlurFilter.d.ts +9 -0
  361. package/dist/esm/rendering/filters/BlurFilter.js +8 -0
  362. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  363. package/dist/esm/rendering/filters/ColorFilter.d.ts +7 -0
  364. package/dist/esm/rendering/filters/ColorFilter.js +7 -0
  365. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  366. package/dist/esm/rendering/filters/Filter.d.ts +23 -0
  367. package/dist/esm/rendering/filters/Filter.js +20 -0
  368. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  369. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +114 -0
  370. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +273 -0
  371. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -0
  372. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +116 -0
  373. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +402 -0
  374. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -0
  375. package/dist/esm/rendering/index.d.ts +3 -0
  376. package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
  377. package/dist/esm/rendering/mesh/Mesh.js +3 -0
  378. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  379. package/dist/esm/rendering/primitives/Graphics.d.ts +34 -0
  380. package/dist/esm/rendering/primitives/Graphics.js +34 -0
  381. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  382. package/dist/esm/rendering/shader/Shader.d.ts +36 -0
  383. package/dist/esm/rendering/shader/Shader.js +26 -0
  384. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  385. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +13 -0
  386. package/dist/esm/rendering/shader/ShaderAttribute.js +13 -0
  387. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  388. package/dist/esm/rendering/shader/ShaderUniform.d.ts +27 -0
  389. package/dist/esm/rendering/shader/ShaderUniform.js +28 -1
  390. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  391. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts +34 -0
  392. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +60 -0
  393. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -0
  394. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +38 -0
  395. package/dist/esm/rendering/sprite/AnimatedSprite.js +36 -0
  396. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  397. package/dist/esm/rendering/sprite/Sprite.d.ts +62 -1
  398. package/dist/esm/rendering/sprite/Sprite.js +97 -19
  399. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  400. package/dist/esm/rendering/sprite/Spritesheet.d.ts +25 -0
  401. package/dist/esm/rendering/sprite/Spritesheet.js +20 -0
  402. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  403. package/dist/esm/rendering/text/Text.d.ts +2 -0
  404. package/dist/esm/rendering/text/Text.js +2 -0
  405. package/dist/esm/rendering/text/Text.js.map +1 -1
  406. package/dist/esm/rendering/text/TextStyle.d.ts +29 -0
  407. package/dist/esm/rendering/text/TextStyle.js +24 -0
  408. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  409. package/dist/esm/rendering/text/types.d.ts +1 -0
  410. package/dist/esm/rendering/texture/RenderTexture.d.ts +16 -0
  411. package/dist/esm/rendering/texture/RenderTexture.js +16 -0
  412. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  413. package/dist/esm/rendering/texture/Sampler.d.ts +23 -0
  414. package/dist/esm/rendering/texture/Sampler.js +13 -0
  415. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  416. package/dist/esm/rendering/texture/Texture.d.ts +30 -0
  417. package/dist/esm/rendering/texture/Texture.js +30 -0
  418. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  419. package/dist/esm/rendering/types.d.ts +29 -0
  420. package/dist/esm/rendering/types.js +29 -0
  421. package/dist/esm/rendering/types.js.map +1 -1
  422. package/dist/esm/rendering/utils.d.ts +20 -0
  423. package/dist/esm/rendering/utils.js +10 -0
  424. package/dist/esm/rendering/utils.js.map +1 -1
  425. package/dist/esm/rendering/video/Video.d.ts +39 -1
  426. package/dist/esm/rendering/video/Video.js +68 -6
  427. package/dist/esm/rendering/video/Video.js.map +1 -1
  428. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -0
  429. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -0
  430. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  431. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +17 -4
  432. package/dist/esm/rendering/webgl2/WebGl2Backend.js +20 -16
  433. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  434. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +8 -0
  435. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +8 -0
  436. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  437. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +45 -8
  438. package/dist/esm/rendering/webgpu/WebGpuBackend.js +160 -40
  439. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  440. package/dist/esm/resources/AbstractAssetFactory.d.ts +20 -0
  441. package/dist/esm/resources/AbstractAssetFactory.js +20 -0
  442. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  443. package/dist/esm/resources/AssetFactory.d.ts +26 -0
  444. package/dist/esm/resources/AssetManifest.d.ts +45 -0
  445. package/dist/esm/resources/AssetManifest.js +25 -0
  446. package/dist/esm/resources/AssetManifest.js.map +1 -1
  447. package/dist/esm/resources/CacheFirstStrategy.d.ts +12 -0
  448. package/dist/esm/resources/CacheFirstStrategy.js +12 -0
  449. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  450. package/dist/esm/resources/CacheStore.d.ts +23 -0
  451. package/dist/esm/resources/CacheStrategy.d.ts +20 -0
  452. package/dist/esm/resources/Database.d.ts +45 -0
  453. package/dist/esm/resources/FactoryRegistry.d.ts +28 -0
  454. package/dist/esm/resources/FactoryRegistry.js +24 -0
  455. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  456. package/dist/esm/resources/IndexedDbDatabase.d.ts +22 -1
  457. package/dist/esm/resources/IndexedDbDatabase.js +21 -0
  458. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  459. package/dist/esm/resources/IndexedDbStore.d.ts +20 -0
  460. package/dist/esm/resources/IndexedDbStore.js +12 -0
  461. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  462. package/dist/esm/resources/Loader.d.ts +167 -0
  463. package/dist/esm/resources/Loader.js +110 -0
  464. package/dist/esm/resources/Loader.js.map +1 -1
  465. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +8 -0
  466. package/dist/esm/resources/NetworkOnlyStrategy.js +8 -0
  467. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  468. package/dist/esm/resources/factories/BinaryFactory.d.ts +13 -0
  469. package/dist/esm/resources/factories/BinaryFactory.js +13 -0
  470. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  471. package/dist/esm/resources/factories/FontFactory.d.ts +37 -0
  472. package/dist/esm/resources/factories/FontFactory.js +26 -0
  473. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  474. package/dist/esm/resources/factories/ImageFactory.d.ts +24 -0
  475. package/dist/esm/resources/factories/ImageFactory.js +19 -0
  476. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  477. package/dist/esm/resources/factories/JsonFactory.d.ts +13 -0
  478. package/dist/esm/resources/factories/JsonFactory.js +13 -0
  479. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  480. package/dist/esm/resources/factories/MusicFactory.d.ts +36 -0
  481. package/dist/esm/resources/factories/MusicFactory.js +44 -4
  482. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  483. package/dist/esm/resources/factories/SoundFactory.d.ts +29 -0
  484. package/dist/esm/resources/factories/SoundFactory.js +18 -0
  485. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  486. package/dist/esm/resources/factories/SvgFactory.d.ts +19 -0
  487. package/dist/esm/resources/factories/SvgFactory.js +19 -0
  488. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  489. package/dist/esm/resources/factories/TextFactory.d.ts +11 -0
  490. package/dist/esm/resources/factories/TextFactory.js +11 -0
  491. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  492. package/dist/esm/resources/factories/TextureFactory.d.ts +25 -0
  493. package/dist/esm/resources/factories/TextureFactory.js +20 -0
  494. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  495. package/dist/esm/resources/factories/VideoFactory.d.ts +37 -0
  496. package/dist/esm/resources/factories/VideoFactory.js +48 -5
  497. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  498. package/dist/esm/resources/factories/VttFactory.d.ts +18 -0
  499. package/dist/esm/resources/factories/VttFactory.js +24 -0
  500. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  501. package/dist/esm/resources/factories/WasmFactory.d.ts +16 -0
  502. package/dist/esm/resources/factories/WasmFactory.js +16 -0
  503. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  504. package/dist/esm/resources/utils.d.ts +10 -0
  505. package/dist/esm/resources/utils.js +10 -0
  506. package/dist/esm/resources/utils.js.map +1 -1
  507. package/dist/exo.esm.js +11182 -2538
  508. package/dist/exo.esm.js.map +1 -1
  509. package/package.json +20 -9
  510. package/dist/esm/core/Quadtree.d.ts +0 -20
  511. package/dist/esm/core/Quadtree.js +0 -86
  512. package/dist/esm/core/Quadtree.js.map +0 -1
@@ -1,4 +1,18 @@
1
1
  import type { Cloneable } from '@/core/types';
2
+ /**
3
+ * 32-bit RGBA color value with channel-wise accessors. Red, green, and blue
4
+ * are integers in 0..255; alpha is a float in 0..1. Out-of-range values are
5
+ * clipped on assignment (RGB via bitwise mask, alpha via `clamp`).
6
+ *
7
+ * The class predefines every CSS named color as a static readonly instance
8
+ * (`Color.aliceBlue`, `Color.cornflowerBlue`, …). These shared instances are
9
+ * intentionally shared — do not mutate them; clone first if you need to
10
+ * customize a starting color.
11
+ *
12
+ * Internally caches the packed RGBA32 representation and a normalized
13
+ * `Float32Array` for upload to GPU buffers; both are invalidated on
14
+ * channel writes and rebuilt lazily.
15
+ */
2
16
  export declare class Color implements Cloneable {
3
17
  private _r;
4
18
  private _g;
@@ -23,12 +37,33 @@ export declare class Color implements Cloneable {
23
37
  set blue(blue: number);
24
38
  get alpha(): number;
25
39
  set alpha(alpha: number);
40
+ /**
41
+ * Set any subset of channels. Omitted parameters default to the current
42
+ * channel value (use this for "set red, leave the rest"). RGB are masked
43
+ * to 0..255; alpha is clamped to 0..1.
44
+ */
26
45
  set(r?: number, g?: number, b?: number, a?: number): this;
27
46
  copy(color: Color): this;
28
47
  clone(): this;
29
48
  equals({ r, g, b, a }?: Partial<Color>): boolean;
49
+ /**
50
+ * Return an RGBA `Float32Array` view backed by an internal cache. Pass
51
+ * `normalized = true` to map RGB into 0..1 (typical for shader uploads);
52
+ * default returns 0..255 RGB and 0..1 alpha. The returned array is the
53
+ * same instance across calls — copy it if you need a stable snapshot.
54
+ */
30
55
  toArray(normalized?: boolean): Float32Array;
56
+ /**
57
+ * Return the RGB channels as a 6-digit hex string. Pass `prefixed = false`
58
+ * to omit the leading `#`. Alpha is not included — use {@link Color.toRgba}
59
+ * for the full RGBA32 packed form.
60
+ */
31
61
  toString(prefixed?: boolean): string;
62
+ /**
63
+ * Return the color packed into a single 32-bit RGBA value (R in low byte,
64
+ * A in high byte). Cached after first call until any channel is written.
65
+ * Returns `0` when alpha is zero.
66
+ */
32
67
  toRgba(): number;
33
68
  destroy(): void;
34
69
  static readonly aliceBlue: Color;
@@ -1,5 +1,19 @@
1
1
  import { clamp } from '../math/utils.js';
2
2
 
3
+ /**
4
+ * 32-bit RGBA color value with channel-wise accessors. Red, green, and blue
5
+ * are integers in 0..255; alpha is a float in 0..1. Out-of-range values are
6
+ * clipped on assignment (RGB via bitwise mask, alpha via `clamp`).
7
+ *
8
+ * The class predefines every CSS named color as a static readonly instance
9
+ * (`Color.aliceBlue`, `Color.cornflowerBlue`, …). These shared instances are
10
+ * intentionally shared — do not mutate them; clone first if you need to
11
+ * customize a starting color.
12
+ *
13
+ * Internally caches the packed RGBA32 representation and a normalized
14
+ * `Float32Array` for upload to GPU buffers; both are invalidated on
15
+ * channel writes and rebuilt lazily.
16
+ */
3
17
  class Color {
4
18
  _r;
5
19
  _g;
@@ -65,6 +79,11 @@ class Color {
65
79
  set alpha(alpha) {
66
80
  this.a = alpha;
67
81
  }
82
+ /**
83
+ * Set any subset of channels. Omitted parameters default to the current
84
+ * channel value (use this for "set red, leave the rest"). RGB are masked
85
+ * to 0..255; alpha is clamped to 0..1.
86
+ */
68
87
  set(r = this._r, g = this._g, b = this._b, a = this._a) {
69
88
  this._r = r & 255;
70
89
  this._g = g & 255;
@@ -85,6 +104,12 @@ class Color {
85
104
  && (b === undefined || this.b === b)
86
105
  && (a === undefined || this.a === a);
87
106
  }
107
+ /**
108
+ * Return an RGBA `Float32Array` view backed by an internal cache. Pass
109
+ * `normalized = true` to map RGB into 0..1 (typical for shader uploads);
110
+ * default returns 0..255 RGB and 0..1 alpha. The returned array is the
111
+ * same instance across calls — copy it if you need a stable snapshot.
112
+ */
88
113
  toArray(normalized = false) {
89
114
  if (!this._array) {
90
115
  this._array = new Float32Array(4);
@@ -103,9 +128,19 @@ class Color {
103
128
  }
104
129
  return this._array;
105
130
  }
131
+ /**
132
+ * Return the RGB channels as a 6-digit hex string. Pass `prefixed = false`
133
+ * to omit the leading `#`. Alpha is not included — use {@link Color.toRgba}
134
+ * for the full RGBA32 packed form.
135
+ */
106
136
  toString(prefixed = true) {
107
137
  return `${prefixed ? '#' : ''}${((1 << 24) + (this._r << 16) + (this._g << 8) + this._b).toString(16).substr(1)}`;
108
138
  }
139
+ /**
140
+ * Return the color packed into a single 32-bit RGBA value (R in low byte,
141
+ * A in high byte). Cached after first call until any channel is written.
142
+ * Returns `0` when alpha is zero.
143
+ */
109
144
  toRgba() {
110
145
  if (this._rgba === null) {
111
146
  this._rgba = this._a && (((this._a * 255 | 0) << 24) + (this._b << 16) + (this._g << 8) + this._r) >>> 0;
@@ -1 +1 @@
1
- {"version":3,"file":"Color.js","sources":["../../../../src/core/Color.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Color.js","sources":["../../../../src/core/Color.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -6,12 +6,31 @@ import type { RenderNode } from '@/rendering/RenderNode';
6
6
  import type { Application } from './Application';
7
7
  import type { Pointer } from '@/input/Pointer';
8
8
  import type { Vector } from '@/math/Vector';
9
+ /**
10
+ * How a {@link Scene} composes with scenes already on the stack.
11
+ * - `'overlay'`: render on top, scenes below also render and update.
12
+ * - `'modal'`: render on top, scenes below render but do not update.
13
+ * - `'opaque'`: render on top, scenes below neither render nor update.
14
+ */
9
15
  export type SceneStackMode = 'overlay' | 'modal' | 'opaque';
16
+ /**
17
+ * How a {@link Scene} interacts with the input event stream.
18
+ * - `'capture'`: receive events; do not forward to scenes below.
19
+ * - `'passthrough'`: receive events; also forward to scenes below.
20
+ * - `'transparent'`: do not receive events; forward to scenes below.
21
+ */
10
22
  export type SceneInputMode = 'capture' | 'passthrough' | 'transparent';
23
+ /** Bag of overrides for {@link Scene.setParticipationPolicy}. */
11
24
  export interface SceneParticipationPolicy {
12
25
  mode?: SceneStackMode;
13
26
  input?: SceneInputMode;
14
27
  }
28
+ /**
29
+ * Discriminated union of input events delivered to {@link Scene.handleInput}.
30
+ * Returning `true` from the handler stops further propagation down the
31
+ * scene stack (consume the event); falsy/`undefined` lets the next scene
32
+ * see it (subject to the receiving scene's {@link SceneInputMode}).
33
+ */
15
34
  export type SceneInputEvent = {
16
35
  type: 'keyDown';
17
36
  channel: number;
@@ -93,8 +112,24 @@ export declare class Scene {
93
112
  removeChild(child: RenderNode): this;
94
113
  setParticipationPolicy(policy: SceneParticipationPolicy): this;
95
114
  getParticipationPolicy(): SceneParticipationPolicy;
115
+ /**
116
+ * Async asset preload hook. Called once before {@link Scene.init} the
117
+ * first time the scene is pushed. Use the loader to register and
118
+ * resolve assets needed by the scene; await any returned promise from
119
+ * `loader.load()`.
120
+ */
96
121
  load(_loader: Loader): Promise<void> | void;
122
+ /**
123
+ * One-shot setup hook. Called after {@link Scene.load} resolves, before
124
+ * the first update. Build the scene-graph subtree, register signal
125
+ * handlers, etc. Override in subclass.
126
+ */
97
127
  init(_loader: Loader): Promise<void> | void;
128
+ /**
129
+ * Per-frame logic hook. Receives the time elapsed since the previous
130
+ * frame. The scene-graph transforms are still authoritative — mutate
131
+ * positions, advance timers, drive AI here. Override in subclass.
132
+ */
98
133
  update(_delta: Time): void;
99
134
  /**
100
135
  * Explicit per-frame rendering entry point. Override to choose
@@ -112,7 +147,18 @@ export declare class Scene {
112
147
  * @see Scene.root for why root is structural, not render-authoritative.
113
148
  */
114
149
  draw(_backend: RenderBackend): void;
150
+ /**
151
+ * Input event hook. Override to react to keyboard, pointer, and wheel
152
+ * events delivered to this scene by the {@link InputManager}. Return
153
+ * `true` to consume the event (stops it propagating to scenes below);
154
+ * any other return value lets it through.
155
+ */
115
156
  handleInput(_event: SceneInputEvent): boolean | void;
157
+ /**
158
+ * Async asset teardown hook. Called when the scene is finally popped
159
+ * off the stack. Use the loader to release assets that are scene-private
160
+ * and not shared with another scene still on the stack.
161
+ */
116
162
  unload(_loader: Loader): Promise<void> | void;
117
163
  destroy(): void;
118
164
  }
@@ -80,12 +80,28 @@ class Scene {
80
80
  input: this._inputMode,
81
81
  };
82
82
  }
83
+ /**
84
+ * Async asset preload hook. Called once before {@link Scene.init} the
85
+ * first time the scene is pushed. Use the loader to register and
86
+ * resolve assets needed by the scene; await any returned promise from
87
+ * `loader.load()`.
88
+ */
83
89
  load(_loader) {
84
90
  // override in subclass
85
91
  }
92
+ /**
93
+ * One-shot setup hook. Called after {@link Scene.load} resolves, before
94
+ * the first update. Build the scene-graph subtree, register signal
95
+ * handlers, etc. Override in subclass.
96
+ */
86
97
  init(_loader) {
87
98
  // override in subclass
88
99
  }
100
+ /**
101
+ * Per-frame logic hook. Receives the time elapsed since the previous
102
+ * frame. The scene-graph transforms are still authoritative — mutate
103
+ * positions, advance timers, drive AI here. Override in subclass.
104
+ */
89
105
  update(_delta) {
90
106
  // override in subclass
91
107
  }
@@ -107,9 +123,20 @@ class Scene {
107
123
  draw(_backend) {
108
124
  // override in subclass
109
125
  }
126
+ /**
127
+ * Input event hook. Override to react to keyboard, pointer, and wheel
128
+ * events delivered to this scene by the {@link InputManager}. Return
129
+ * `true` to consume the event (stops it propagating to scenes below);
130
+ * any other return value lets it through.
131
+ */
110
132
  handleInput(_event) {
111
133
  // override in subclass
112
134
  }
135
+ /**
136
+ * Async asset teardown hook. Called when the scene is finally popped
137
+ * off the stack. Use the loader to release assets that are scene-private
138
+ * and not shared with another scene still on the stack.
139
+ */
113
140
  unload(_loader) {
114
141
  // override in subclass
115
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.js","sources":["../../../../src/core/Scene.ts"],"sourcesContent":[null],"names":[],"mappings":";;AA8BA;;;;;;;;;;;;;;;;;AAiBG;MACU,KAAK,CAAA;IAEJ,IAAI,GAAuB,IAAI;AACtB,IAAA,KAAK,GAAG,IAAI,SAAS,EAAE;IAChC,UAAU,GAAmB,SAAS;IACtC,UAAU,GAAmB,SAAS;AAEhD,IAAA,IAAW,GAAG,GAAA;QACV,OAAO,IAAI,CAAC,IAAI;IACpB;IAEA,IAAW,GAAG,CAAC,GAAuB,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;IACnB;AAEA;;;;;;;;;;;;AAYG;AACH,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;IACrB;AAEA,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IAC1B;IAEA,IAAW,SAAS,CAAC,IAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IAC1B;AAEA,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IAC1B;IAEA,IAAW,SAAS,CAAC,IAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IAC1B;AAEO,IAAA,QAAQ,CAAC,KAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAE1B,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,WAAW,CAAC,KAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAE7B,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,sBAAsB,CAAC,MAAgC,EAAA;AAC1D,QAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI;QACjC;AAEA,QAAA,IAAI,MAAM,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;QAClC;AAEA,QAAA,OAAO,IAAI;IACf;IAEO,sBAAsB,GAAA;QACzB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,KAAK,EAAE,IAAI,CAAC,UAAU;SACzB;IACL;AAEO,IAAA,IAAI,CAAC,OAAe,EAAA;;IAE3B;AAEO,IAAA,IAAI,CAAC,OAAe,EAAA;;IAE3B;AAEO,IAAA,MAAM,CAAC,MAAY,EAAA;;IAE1B;AAEA;;;;;;;;;;;;;;AAcG;AACI,IAAA,IAAI,CAAC,QAAuB,EAAA;;IAEnC;AAEO,IAAA,WAAW,CAAC,MAAuB,EAAA;;IAE1C;AAEO,IAAA,MAAM,CAAC,OAAe,EAAA;;IAE7B;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IACpB;AACH;;;;"}
1
+ {"version":3,"file":"Scene.js","sources":["../../../../src/core/Scene.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAkDA;;;;;;;;;;;;;;;;;AAiBG;MACU,KAAK,CAAA;IAEJ,IAAI,GAAuB,IAAI;AACtB,IAAA,KAAK,GAAG,IAAI,SAAS,EAAE;IAChC,UAAU,GAAmB,SAAS;IACtC,UAAU,GAAmB,SAAS;AAEhD,IAAA,IAAW,GAAG,GAAA;QACV,OAAO,IAAI,CAAC,IAAI;IACpB;IAEA,IAAW,GAAG,CAAC,GAAuB,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;IACnB;AAEA;;;;;;;;;;;;AAYG;AACH,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;IACrB;AAEA,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IAC1B;IAEA,IAAW,SAAS,CAAC,IAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IAC1B;AAEA,IAAA,IAAW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IAC1B;IAEA,IAAW,SAAS,CAAC,IAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;IAC1B;AAEO,IAAA,QAAQ,CAAC,KAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAE1B,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,WAAW,CAAC,KAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAE7B,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,sBAAsB,CAAC,MAAgC,EAAA;AAC1D,QAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI;QACjC;AAEA,QAAA,IAAI,MAAM,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;QAClC;AAEA,QAAA,OAAO,IAAI;IACf;IAEO,sBAAsB,GAAA;QACzB,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,KAAK,EAAE,IAAI,CAAC,UAAU;SACzB;IACL;AAEA;;;;;AAKG;AACI,IAAA,IAAI,CAAC,OAAe,EAAA;;IAE3B;AAEA;;;;AAIG;AACI,IAAA,IAAI,CAAC,OAAe,EAAA;;IAE3B;AAEA;;;;AAIG;AACI,IAAA,MAAM,CAAC,MAAY,EAAA;;IAE1B;AAEA;;;;;;;;;;;;;;AAcG;AACI,IAAA,IAAI,CAAC,QAAuB,EAAA;;IAEnC;AAEA;;;;;AAKG;AACI,IAAA,WAAW,CAAC,MAAuB,EAAA;;IAE1C;AAEA;;;;AAIG;AACI,IAAA,MAAM,CAAC,OAAe,EAAA;;IAE7B;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IACpB;AACH;;;;"}
@@ -3,37 +3,99 @@ import { Color } from './Color';
3
3
  import type { Time } from './Time';
4
4
  import type { Application } from './Application';
5
5
  import type { Scene, SceneParticipationPolicy } from './Scene';
6
+ /**
7
+ * Fade-to-color scene transition. The screen fades to `color` (default black)
8
+ * over `duration` ms (default 220), the scene change happens at full
9
+ * opacity, then the screen fades back in.
10
+ */
6
11
  export interface FadeSceneTransition {
7
12
  type: 'fade';
8
13
  duration?: number;
9
14
  color?: Color;
10
15
  }
16
+ /** Discriminated union of supported {@link SceneManager} transitions. */
11
17
  export type SceneTransition = FadeSceneTransition;
18
+ /** Options passed to {@link SceneManager.setScene}. */
12
19
  export interface SetSceneOptions {
13
20
  transition?: SceneTransition;
14
21
  }
22
+ /**
23
+ * Options passed to {@link SceneManager.pushScene}. Inherits
24
+ * {@link SceneParticipationPolicy} so the pushed scene's stack/input mode
25
+ * can be overridden at the call site without subclassing.
26
+ */
15
27
  export interface PushSceneOptions extends SceneParticipationPolicy {
16
28
  transition?: SceneTransition;
17
29
  }
30
+ /** Options passed to {@link SceneManager.popScene}. */
18
31
  export interface PopSceneOptions {
19
32
  transition?: SceneTransition;
20
33
  }
34
+ /**
35
+ * Stack-based scene controller owned by {@link Application}. Maintains an
36
+ * ordered stack of {@link Scene} instances, each tagged with its
37
+ * participation policy ({@link SceneStackMode} + {@link SceneInputMode}).
38
+ * Scenes higher on the stack overlay scenes lower; the policy of each
39
+ * scene determines whether scenes below continue to update / render and
40
+ * whether input events propagate down past it.
41
+ *
42
+ * Use {@link SceneManager.setScene} to replace the entire stack with one
43
+ * scene, {@link SceneManager.pushScene} to overlay a new scene on top, and
44
+ * {@link SceneManager.popScene} to remove the topmost. All three accept an
45
+ * optional fade transition.
46
+ *
47
+ * Input from the {@link InputManager} is automatically routed through the
48
+ * stack top-to-bottom; each scene's {@link Scene.handleInput} return value
49
+ * plus the scene's input policy decide whether the next scene below
50
+ * receives the event.
51
+ */
21
52
  export declare class SceneManager {
22
53
  private readonly _app;
23
54
  private readonly _stack;
24
55
  private readonly _transitionOverlay;
25
56
  private _transition;
57
+ /** Fires whenever the topmost scene changes (push, pop, set, or clear). Payload is the new top, or `null` when the stack becomes empty. */
26
58
  readonly onChangeScene: Signal<[Scene | null]>;
59
+ /** Fires after a scene's `init` resolves and it joins the stack. */
27
60
  readonly onStartScene: Signal<[Scene]>;
61
+ /** Fires once per frame for the topmost scene after its `update` ran. */
28
62
  readonly onUpdateScene: Signal<[Scene]>;
63
+ /** Fires just before a scene is unloaded (`unload` then `destroy`). */
29
64
  readonly onStopScene: Signal<[Scene]>;
30
65
  constructor(app: Application);
31
66
  get scene(): Scene | null;
32
67
  set scene(scene: Scene | null);
33
68
  get scenes(): ReadonlyArray<Scene>;
69
+ /**
70
+ * Replace the entire scene stack with `scene`, or clear it when `scene`
71
+ * is `null`. Existing scenes are unloaded in reverse order. If `scene`
72
+ * is already the topmost, only the scenes underneath are unloaded
73
+ * (no-op when it is also the only scene).
74
+ *
75
+ * Throws if `scene` is somewhere in the stack but not the top.
76
+ */
34
77
  setScene(scene: Scene | null, options?: SetSceneOptions): Promise<this>;
78
+ /**
79
+ * Push `scene` onto the stack, leaving any underlying scenes intact.
80
+ * Resolves once the pushed scene's async `load` + `init` complete.
81
+ * `options` may override the scene's declared participation policy
82
+ * (stack mode, input mode) for this particular push.
83
+ *
84
+ * Throws if `scene` is already present in the stack.
85
+ */
35
86
  pushScene(scene: Scene, options?: PushSceneOptions): Promise<this>;
87
+ /**
88
+ * Remove the topmost scene from the stack. Resolves once the scene's
89
+ * `unload` finishes. No-op when the stack is empty.
90
+ */
36
91
  popScene(options?: PopSceneOptions): Promise<this>;
92
+ /**
93
+ * Per-frame entry point called by {@link Application.update}. Advances
94
+ * any active fade transition, then iterates the stack top-to-bottom
95
+ * deciding which scenes update and which draw based on each scene's
96
+ * participation policy (`opaque` covers everything below, `modal`
97
+ * covers only updates).
98
+ */
37
99
  update(delta: Time): this;
38
100
  destroy(): void;
39
101
  private _prepareScene;
@@ -16,14 +16,36 @@ const createOverlayMesh = () => new TransitionOverlayMesh({
16
16
  indices: new Uint16Array([0, 1, 2, 1, 3, 2]),
17
17
  });
18
18
  const defaultFadeTransitionDuration = 220;
19
+ /**
20
+ * Stack-based scene controller owned by {@link Application}. Maintains an
21
+ * ordered stack of {@link Scene} instances, each tagged with its
22
+ * participation policy ({@link SceneStackMode} + {@link SceneInputMode}).
23
+ * Scenes higher on the stack overlay scenes lower; the policy of each
24
+ * scene determines whether scenes below continue to update / render and
25
+ * whether input events propagate down past it.
26
+ *
27
+ * Use {@link SceneManager.setScene} to replace the entire stack with one
28
+ * scene, {@link SceneManager.pushScene} to overlay a new scene on top, and
29
+ * {@link SceneManager.popScene} to remove the topmost. All three accept an
30
+ * optional fade transition.
31
+ *
32
+ * Input from the {@link InputManager} is automatically routed through the
33
+ * stack top-to-bottom; each scene's {@link Scene.handleInput} return value
34
+ * plus the scene's input policy decide whether the next scene below
35
+ * receives the event.
36
+ */
19
37
  class SceneManager {
20
38
  _app;
21
39
  _stack = [];
22
40
  _transitionOverlay = createOverlayMesh();
23
41
  _transition = null;
42
+ /** Fires whenever the topmost scene changes (push, pop, set, or clear). Payload is the new top, or `null` when the stack becomes empty. */
24
43
  onChangeScene = new Signal();
44
+ /** Fires after a scene's `init` resolves and it joins the stack. */
25
45
  onStartScene = new Signal();
46
+ /** Fires once per frame for the topmost scene after its `update` ran. */
26
47
  onUpdateScene = new Signal();
48
+ /** Fires just before a scene is unloaded (`unload` then `destroy`). */
27
49
  onStopScene = new Signal();
28
50
  constructor(app) {
29
51
  this._app = app;
@@ -38,6 +60,14 @@ class SceneManager {
38
60
  get scenes() {
39
61
  return this._stack.map(entry => entry.scene);
40
62
  }
63
+ /**
64
+ * Replace the entire scene stack with `scene`, or clear it when `scene`
65
+ * is `null`. Existing scenes are unloaded in reverse order. If `scene`
66
+ * is already the topmost, only the scenes underneath are unloaded
67
+ * (no-op when it is also the only scene).
68
+ *
69
+ * Throws if `scene` is somewhere in the stack but not the top.
70
+ */
41
71
  async setScene(scene, options = {}) {
42
72
  await this._runWithTransition(async () => {
43
73
  if (scene === null) {
@@ -63,6 +93,14 @@ class SceneManager {
63
93
  }, options.transition);
64
94
  return this;
65
95
  }
96
+ /**
97
+ * Push `scene` onto the stack, leaving any underlying scenes intact.
98
+ * Resolves once the pushed scene's async `load` + `init` complete.
99
+ * `options` may override the scene's declared participation policy
100
+ * (stack mode, input mode) for this particular push.
101
+ *
102
+ * Throws if `scene` is already present in the stack.
103
+ */
66
104
  async pushScene(scene, options = {}) {
67
105
  await this._runWithTransition(async () => {
68
106
  if (this._stack.some((entry) => entry.scene === scene)) {
@@ -76,6 +114,10 @@ class SceneManager {
76
114
  }, options.transition);
77
115
  return this;
78
116
  }
117
+ /**
118
+ * Remove the topmost scene from the stack. Resolves once the scene's
119
+ * `unload` finishes. No-op when the stack is empty.
120
+ */
79
121
  async popScene(options = {}) {
80
122
  await this._runWithTransition(async () => {
81
123
  if (this._stack.length === 0) {
@@ -91,6 +133,13 @@ class SceneManager {
91
133
  }, options.transition);
92
134
  return this;
93
135
  }
136
+ /**
137
+ * Per-frame entry point called by {@link Application.update}. Advances
138
+ * any active fade transition, then iterates the stack top-to-bottom
139
+ * deciding which scenes update and which draw based on each scene's
140
+ * participation policy (`opaque` covers everything below, `modal`
141
+ * covers only updates).
142
+ */
94
143
  update(delta) {
95
144
  this._advanceTransition(delta.milliseconds);
96
145
  const { updateScenes, drawScenes } = this._resolveParticipants();
@@ -1 +1 @@
1
- {"version":3,"file":"SceneManager.js","sources":["../../../../src/core/SceneManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneManager.js","sources":["../../../../src/core/SceneManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}