@codexo/exojs 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (778) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/LICENSE +21 -0
  3. package/README.md +59 -23
  4. package/dist/esm/animation/Easing.d.ts +1 -0
  5. package/dist/esm/animation/Easing.d.ts.map +1 -0
  6. package/dist/esm/animation/Tween.d.ts +1 -0
  7. package/dist/esm/animation/Tween.d.ts.map +1 -0
  8. package/dist/esm/animation/TweenManager.d.ts +1 -0
  9. package/dist/esm/animation/TweenManager.d.ts.map +1 -0
  10. package/dist/esm/animation/index.d.ts +1 -0
  11. package/dist/esm/animation/index.d.ts.map +1 -0
  12. package/dist/esm/animation/types.d.ts +1 -0
  13. package/dist/esm/animation/types.d.ts.map +1 -0
  14. package/dist/esm/audio/AbstractMedia.d.ts +5 -4
  15. package/dist/esm/audio/AbstractMedia.d.ts.map +1 -0
  16. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  17. package/dist/esm/audio/AudioAnalyser.d.ts +4 -3
  18. package/dist/esm/audio/AudioAnalyser.d.ts.map +1 -0
  19. package/dist/esm/audio/AudioAnalyser.js +1 -1
  20. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  21. package/dist/esm/audio/AudioBus.d.ts +1 -0
  22. package/dist/esm/audio/AudioBus.d.ts.map +1 -0
  23. package/dist/esm/audio/AudioFilter.d.ts +1 -0
  24. package/dist/esm/audio/AudioFilter.d.ts.map +1 -0
  25. package/dist/esm/audio/AudioListener.d.ts +4 -3
  26. package/dist/esm/audio/AudioListener.d.ts.map +1 -0
  27. package/dist/esm/audio/AudioManager.d.ts +1 -0
  28. package/dist/esm/audio/AudioManager.d.ts.map +1 -0
  29. package/dist/esm/audio/BeatDetector.d.ts +5 -4
  30. package/dist/esm/audio/BeatDetector.d.ts.map +1 -0
  31. package/dist/esm/audio/BeatDetector.js +1 -1
  32. package/dist/esm/audio/BeatDetector.js.map +1 -1
  33. package/dist/esm/audio/Envelope.d.ts +1 -0
  34. package/dist/esm/audio/Envelope.d.ts.map +1 -0
  35. package/dist/esm/audio/Media.d.ts +2 -1
  36. package/dist/esm/audio/Media.d.ts.map +1 -0
  37. package/dist/esm/audio/Music.d.ts +4 -3
  38. package/dist/esm/audio/Music.d.ts.map +1 -0
  39. package/dist/esm/audio/Music.js +1 -1
  40. package/dist/esm/audio/Music.js.map +1 -1
  41. package/dist/esm/audio/OscillatorSound.d.ts +2 -1
  42. package/dist/esm/audio/OscillatorSound.d.ts.map +1 -0
  43. package/dist/esm/audio/Sound.d.ts +5 -4
  44. package/dist/esm/audio/Sound.d.ts.map +1 -0
  45. package/dist/esm/audio/Sound.js +2 -2
  46. package/dist/esm/audio/Sound.js.map +1 -1
  47. package/dist/esm/audio/audio-context.d.ts +2 -1
  48. package/dist/esm/audio/audio-context.d.ts.map +1 -0
  49. package/dist/esm/audio/crossFade.d.ts +1 -0
  50. package/dist/esm/audio/crossFade.d.ts.map +1 -0
  51. package/dist/esm/audio/dsp/fft.d.ts +1 -0
  52. package/dist/esm/audio/dsp/fft.d.ts.map +1 -0
  53. package/dist/esm/audio/dsp/mel.d.ts +1 -0
  54. package/dist/esm/audio/dsp/mel.d.ts.map +1 -0
  55. package/dist/esm/audio/dsp/tempogram.d.ts +1 -0
  56. package/dist/esm/audio/dsp/tempogram.d.ts.map +1 -0
  57. package/dist/esm/audio/filters/ChorusFilter.d.ts +2 -1
  58. package/dist/esm/audio/filters/ChorusFilter.d.ts.map +1 -0
  59. package/dist/esm/audio/filters/CompressorFilter.d.ts +2 -1
  60. package/dist/esm/audio/filters/CompressorFilter.d.ts.map +1 -0
  61. package/dist/esm/audio/filters/DelayFilter.d.ts +2 -1
  62. package/dist/esm/audio/filters/DelayFilter.d.ts.map +1 -0
  63. package/dist/esm/audio/filters/DuckingFilter.d.ts +2 -1
  64. package/dist/esm/audio/filters/DuckingFilter.d.ts.map +1 -0
  65. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  66. package/dist/esm/audio/filters/EqualizerFilter.d.ts +2 -1
  67. package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +1 -0
  68. package/dist/esm/audio/filters/GranularFilter.d.ts +1 -0
  69. package/dist/esm/audio/filters/GranularFilter.d.ts.map +1 -0
  70. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  71. package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -1
  72. package/dist/esm/audio/filters/HighpassFilter.d.ts.map +1 -0
  73. package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -1
  74. package/dist/esm/audio/filters/LowpassFilter.d.ts.map +1 -0
  75. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +1 -0
  76. package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +1 -0
  77. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  78. package/dist/esm/audio/filters/ReverbFilter.d.ts +2 -1
  79. package/dist/esm/audio/filters/ReverbFilter.d.ts.map +1 -0
  80. package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -1
  81. package/dist/esm/audio/filters/VocoderFilter.d.ts.map +1 -0
  82. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  83. package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -1
  84. package/dist/esm/audio/filters/WorkletFilter.d.ts.map +1 -0
  85. package/dist/esm/audio/filters/index.d.ts +1 -0
  86. package/dist/esm/audio/filters/index.d.ts.map +1 -0
  87. package/dist/esm/audio/index.d.ts +2 -1
  88. package/dist/esm/audio/index.d.ts.map +1 -0
  89. package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -0
  90. package/dist/esm/audio/worklet/registerWorklet.d.ts.map +1 -0
  91. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
  92. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +1 -0
  93. package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
  94. package/dist/esm/audio/worklets/granular.worklet.d.ts.map +1 -0
  95. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
  96. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +1 -0
  97. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
  98. package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +1 -0
  99. package/dist/esm/core/Application.d.ts +24 -14
  100. package/dist/esm/core/Application.d.ts.map +1 -0
  101. package/dist/esm/core/Application.js +50 -5
  102. package/dist/esm/core/Application.js.map +1 -1
  103. package/dist/esm/core/Bounds.d.ts +3 -2
  104. package/dist/esm/core/Bounds.d.ts.map +1 -0
  105. package/dist/esm/core/BuildInfo.d.ts +16 -0
  106. package/dist/esm/core/BuildInfo.d.ts.map +1 -0
  107. package/dist/esm/core/BuildInfo.js +8 -0
  108. package/dist/esm/core/BuildInfo.js.map +1 -0
  109. package/dist/esm/core/Clock.d.ts +1 -0
  110. package/dist/esm/core/Clock.d.ts.map +1 -0
  111. package/dist/esm/core/Clock.js +1 -1
  112. package/dist/esm/core/Clock.js.map +1 -1
  113. package/dist/esm/core/Color.d.ts +2 -1
  114. package/dist/esm/core/Color.d.ts.map +1 -0
  115. package/dist/esm/core/Color.js.map +1 -1
  116. package/dist/esm/core/Perf.d.ts +1 -0
  117. package/dist/esm/core/Perf.d.ts.map +1 -0
  118. package/dist/esm/core/Scene.d.ts +7 -6
  119. package/dist/esm/core/Scene.d.ts.map +1 -0
  120. package/dist/esm/core/SceneManager.d.ts +1 -0
  121. package/dist/esm/core/SceneManager.d.ts.map +1 -0
  122. package/dist/esm/core/SceneNode.d.ts +11 -10
  123. package/dist/esm/core/SceneNode.d.ts.map +1 -0
  124. package/dist/esm/core/Signal.d.ts +1 -0
  125. package/dist/esm/core/Signal.d.ts.map +1 -0
  126. package/dist/esm/core/Time.d.ts +2 -1
  127. package/dist/esm/core/Time.d.ts.map +1 -0
  128. package/dist/esm/core/Timer.d.ts +2 -1
  129. package/dist/esm/core/Timer.d.ts.map +1 -0
  130. package/dist/esm/core/Timer.js +1 -1
  131. package/dist/esm/core/Timer.js.map +1 -1
  132. package/dist/esm/core/capabilities.d.ts +1 -0
  133. package/dist/esm/core/capabilities.d.ts.map +1 -0
  134. package/dist/esm/core/dev.d.ts +1 -0
  135. package/dist/esm/core/dev.d.ts.map +1 -0
  136. package/dist/esm/core/dev.js +31 -10
  137. package/dist/esm/core/dev.js.map +1 -1
  138. package/dist/esm/core/index.d.ts +2 -0
  139. package/dist/esm/core/index.d.ts.map +1 -0
  140. package/dist/esm/core/types.d.ts +2 -1
  141. package/dist/esm/core/types.d.ts.map +1 -0
  142. package/dist/esm/core/utils.d.ts +4 -3
  143. package/dist/esm/core/utils.d.ts.map +1 -0
  144. package/dist/esm/core/utils.js +1 -1
  145. package/dist/esm/core/utils.js.map +1 -1
  146. package/dist/esm/debug/BoundingBoxesLayer.d.ts +4 -3
  147. package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -0
  148. package/dist/esm/debug/DebugLayer.d.ts +4 -3
  149. package/dist/esm/debug/DebugLayer.d.ts.map +1 -0
  150. package/dist/esm/debug/DebugOverlay.d.ts +2 -1
  151. package/dist/esm/debug/DebugOverlay.d.ts.map +1 -0
  152. package/dist/esm/debug/HitTestLayer.d.ts +4 -3
  153. package/dist/esm/debug/HitTestLayer.d.ts.map +1 -0
  154. package/dist/esm/debug/PerformanceLayer.d.ts +4 -3
  155. package/dist/esm/debug/PerformanceLayer.d.ts.map +1 -0
  156. package/dist/esm/debug/PointerStackLayer.d.ts +4 -3
  157. package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -0
  158. package/dist/esm/debug/RenderPassInspectorLayer.d.ts +33 -4
  159. package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -0
  160. package/dist/esm/debug/RenderPassInspectorLayer.js +41 -0
  161. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  162. package/dist/esm/debug/index.d.ts +2 -1
  163. package/dist/esm/debug/index.d.ts.map +1 -0
  164. package/dist/esm/extensions/Extension.d.ts +70 -0
  165. package/dist/esm/extensions/Extension.d.ts.map +1 -0
  166. package/dist/esm/extensions/ExtensionRegistry.d.ts +35 -0
  167. package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -0
  168. package/dist/esm/extensions/ExtensionRegistry.js +63 -0
  169. package/dist/esm/extensions/ExtensionRegistry.js.map +1 -0
  170. package/dist/esm/extensions/index.d.ts +3 -0
  171. package/dist/esm/extensions/index.d.ts.map +1 -0
  172. package/dist/esm/extensions/index.js +2 -0
  173. package/dist/esm/extensions/index.js.map +1 -0
  174. package/dist/esm/extensions/materialize.d.ts +16 -0
  175. package/dist/esm/extensions/materialize.d.ts.map +1 -0
  176. package/dist/esm/extensions/materialize.js +61 -0
  177. package/dist/esm/extensions/materialize.js.map +1 -0
  178. package/dist/esm/extensions/snapshot.d.ts +16 -0
  179. package/dist/esm/extensions/snapshot.d.ts.map +1 -0
  180. package/dist/esm/extensions/snapshot.js +49 -0
  181. package/dist/esm/extensions/snapshot.js.map +1 -0
  182. package/dist/esm/extensions/testing.d.ts +7 -0
  183. package/dist/esm/extensions/testing.d.ts.map +1 -0
  184. package/dist/esm/index.d.ts +9 -8
  185. package/dist/esm/index.d.ts.map +1 -0
  186. package/dist/esm/index.js +21 -50
  187. package/dist/esm/index.js.map +1 -1
  188. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +1 -0
  189. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts.map +1 -0
  190. package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -0
  191. package/dist/esm/input/GameCubeGamepadMapping.d.ts.map +1 -0
  192. package/dist/esm/input/Gamepad.d.ts +2 -1
  193. package/dist/esm/input/Gamepad.d.ts.map +1 -0
  194. package/dist/esm/input/Gamepad.js +1 -1
  195. package/dist/esm/input/GamepadAxis.d.ts +1 -0
  196. package/dist/esm/input/GamepadAxis.d.ts.map +1 -0
  197. package/dist/esm/input/GamepadAxis.js +1 -1
  198. package/dist/esm/input/GamepadAxis.js.map +1 -1
  199. package/dist/esm/input/GamepadButton.d.ts +1 -0
  200. package/dist/esm/input/GamepadButton.d.ts.map +1 -0
  201. package/dist/esm/input/GamepadButton.js +1 -1
  202. package/dist/esm/input/GamepadButton.js.map +1 -1
  203. package/dist/esm/input/GamepadDefinitions.d.ts +1 -0
  204. package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -0
  205. package/dist/esm/input/GamepadMapping.d.ts +1 -0
  206. package/dist/esm/input/GamepadMapping.d.ts.map +1 -0
  207. package/dist/esm/input/GamepadPromptLayouts.d.ts +1 -0
  208. package/dist/esm/input/GamepadPromptLayouts.d.ts.map +1 -0
  209. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +1 -0
  210. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts.map +1 -0
  211. package/dist/esm/input/GestureRecognizer.d.ts +3 -2
  212. package/dist/esm/input/GestureRecognizer.d.ts.map +1 -0
  213. package/dist/esm/input/InputBinding.d.ts +3 -2
  214. package/dist/esm/input/InputBinding.d.ts.map +1 -0
  215. package/dist/esm/input/InputManager.d.ts +4 -3
  216. package/dist/esm/input/InputManager.d.ts.map +1 -0
  217. package/dist/esm/input/InputManager.js +1 -1
  218. package/dist/esm/input/InteractionEvent.d.ts +2 -1
  219. package/dist/esm/input/InteractionEvent.d.ts.map +1 -0
  220. package/dist/esm/input/InteractionManager.d.ts +4 -3
  221. package/dist/esm/input/InteractionManager.d.ts.map +1 -0
  222. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +1 -0
  223. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts.map +1 -0
  224. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +1 -0
  225. package/dist/esm/input/JoyConRightGamepadMapping.d.ts.map +1 -0
  226. package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -0
  227. package/dist/esm/input/PlayStationGamepadMapping.d.ts.map +1 -0
  228. package/dist/esm/input/Pointer.d.ts +4 -3
  229. package/dist/esm/input/Pointer.d.ts.map +1 -0
  230. package/dist/esm/input/Pointer.js +1 -1
  231. package/dist/esm/input/Pointer.js.map +1 -1
  232. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -0
  233. package/dist/esm/input/SteamControllerGamepadMapping.d.ts.map +1 -0
  234. package/dist/esm/input/SteamDeckGamepadMapping.d.ts +1 -0
  235. package/dist/esm/input/SteamDeckGamepadMapping.d.ts.map +1 -0
  236. package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -0
  237. package/dist/esm/input/SwitchProGamepadMapping.d.ts.map +1 -0
  238. package/dist/esm/input/XboxGamepadMapping.d.ts +1 -0
  239. package/dist/esm/input/XboxGamepadMapping.d.ts.map +1 -0
  240. package/dist/esm/input/index.d.ts +1 -0
  241. package/dist/esm/input/index.d.ts.map +1 -0
  242. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +2 -1
  243. package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +1 -0
  244. package/dist/esm/input/types.d.ts +1 -0
  245. package/dist/esm/input/types.d.ts.map +1 -0
  246. package/dist/esm/math/AbstractVector.d.ts +2 -1
  247. package/dist/esm/math/AbstractVector.d.ts.map +1 -0
  248. package/dist/esm/math/Circle.d.ts +7 -6
  249. package/dist/esm/math/Circle.d.ts.map +1 -0
  250. package/dist/esm/math/Circle.js.map +1 -1
  251. package/dist/esm/math/CircleLike.d.ts +1 -0
  252. package/dist/esm/math/CircleLike.d.ts.map +1 -0
  253. package/dist/esm/math/Collision.d.ts +3 -2
  254. package/dist/esm/math/Collision.d.ts.map +1 -0
  255. package/dist/esm/math/Ellipse.d.ts +7 -6
  256. package/dist/esm/math/Ellipse.d.ts.map +1 -0
  257. package/dist/esm/math/Ellipse.js.map +1 -1
  258. package/dist/esm/math/EllipseLike.d.ts +1 -0
  259. package/dist/esm/math/EllipseLike.d.ts.map +1 -0
  260. package/dist/esm/math/Flags.d.ts +2 -1
  261. package/dist/esm/math/Flags.d.ts.map +1 -0
  262. package/dist/esm/math/Interval.d.ts +2 -1
  263. package/dist/esm/math/Interval.d.ts.map +1 -0
  264. package/dist/esm/math/Line.d.ts +7 -6
  265. package/dist/esm/math/Line.d.ts.map +1 -0
  266. package/dist/esm/math/Line.js.map +1 -1
  267. package/dist/esm/math/LineLike.d.ts +1 -0
  268. package/dist/esm/math/LineLike.d.ts.map +1 -0
  269. package/dist/esm/math/Matrix.d.ts +2 -1
  270. package/dist/esm/math/Matrix.d.ts.map +1 -0
  271. package/dist/esm/math/Matrix.js.map +1 -1
  272. package/dist/esm/math/ObservableSize.d.ts +1 -0
  273. package/dist/esm/math/ObservableSize.d.ts.map +1 -0
  274. package/dist/esm/math/ObservableVector.d.ts +2 -1
  275. package/dist/esm/math/ObservableVector.d.ts.map +1 -0
  276. package/dist/esm/math/PointLike.d.ts +1 -0
  277. package/dist/esm/math/PointLike.d.ts.map +1 -0
  278. package/dist/esm/math/PolarVector.d.ts +2 -1
  279. package/dist/esm/math/PolarVector.d.ts.map +1 -0
  280. package/dist/esm/math/Polygon.d.ts +7 -6
  281. package/dist/esm/math/Polygon.d.ts.map +1 -0
  282. package/dist/esm/math/Polygon.js.map +1 -1
  283. package/dist/esm/math/PolygonLike.d.ts +2 -1
  284. package/dist/esm/math/PolygonLike.d.ts.map +1 -0
  285. package/dist/esm/math/Quadtree.d.ts +1 -0
  286. package/dist/esm/math/Quadtree.d.ts.map +1 -0
  287. package/dist/esm/math/Random.d.ts +1 -0
  288. package/dist/esm/math/Random.d.ts.map +1 -0
  289. package/dist/esm/math/Rectangle.d.ts +8 -7
  290. package/dist/esm/math/Rectangle.d.ts.map +1 -0
  291. package/dist/esm/math/Rectangle.js.map +1 -1
  292. package/dist/esm/math/RectangleLike.d.ts +1 -0
  293. package/dist/esm/math/RectangleLike.d.ts.map +1 -0
  294. package/dist/esm/math/Segment.d.ts +3 -2
  295. package/dist/esm/math/Segment.d.ts.map +1 -0
  296. package/dist/esm/math/Segment.js.map +1 -1
  297. package/dist/esm/math/ShapeLike.d.ts +3 -2
  298. package/dist/esm/math/ShapeLike.d.ts.map +1 -0
  299. package/dist/esm/math/Size.d.ts +2 -1
  300. package/dist/esm/math/Size.d.ts.map +1 -0
  301. package/dist/esm/math/Vector.d.ts +6 -5
  302. package/dist/esm/math/Vector.d.ts.map +1 -0
  303. package/dist/esm/math/Vector.js +1 -1
  304. package/dist/esm/math/collision-detection.d.ts +8 -7
  305. package/dist/esm/math/collision-detection.d.ts.map +1 -0
  306. package/dist/esm/math/collision-detection.js +1 -1
  307. package/dist/esm/math/collision-detection.js.map +1 -1
  308. package/dist/esm/math/collision-primitives.d.ts +3 -2
  309. package/dist/esm/math/collision-primitives.d.ts.map +1 -0
  310. package/dist/esm/math/geometry.d.ts +1 -0
  311. package/dist/esm/math/geometry.d.ts.map +1 -0
  312. package/dist/esm/math/index.d.ts +1 -0
  313. package/dist/esm/math/index.d.ts.map +1 -0
  314. package/dist/esm/math/swept-collision.d.ts +1 -0
  315. package/dist/esm/math/swept-collision.d.ts.map +1 -0
  316. package/dist/esm/math/triangulate.d.ts +1 -0
  317. package/dist/esm/math/triangulate.d.ts.map +1 -0
  318. package/dist/esm/math/utils.d.ts +2 -1
  319. package/dist/esm/math/utils.d.ts.map +1 -0
  320. package/dist/esm/renderer-sdk.d.ts +27 -0
  321. package/dist/esm/renderer-sdk.d.ts.map +1 -0
  322. package/dist/esm/rendering/BackendRenderPass.d.ts +17 -0
  323. package/dist/esm/rendering/BackendRenderPass.d.ts.map +1 -0
  324. package/dist/esm/rendering/BackendTargetPass.d.ts +38 -0
  325. package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -0
  326. package/dist/esm/rendering/{RenderTargetPass.js → BackendTargetPass.js} +12 -7
  327. package/dist/esm/rendering/BackendTargetPass.js.map +1 -0
  328. package/dist/esm/rendering/CallbackRenderPass.d.ts +38 -14
  329. package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -0
  330. package/dist/esm/rendering/CallbackRenderPass.js +61 -13
  331. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  332. package/dist/esm/rendering/Camera.d.ts +3 -2
  333. package/dist/esm/rendering/Camera.d.ts.map +1 -0
  334. package/dist/esm/rendering/Camera.js.map +1 -1
  335. package/dist/esm/rendering/Container.d.ts +2 -1
  336. package/dist/esm/rendering/Container.d.ts.map +1 -0
  337. package/dist/esm/rendering/Drawable.d.ts +4 -3
  338. package/dist/esm/rendering/Drawable.d.ts.map +1 -0
  339. package/dist/esm/rendering/Drawable.js +1 -1
  340. package/dist/esm/rendering/RenderBackend.d.ts +13 -10
  341. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -0
  342. package/dist/esm/rendering/RenderBackendType.d.ts +1 -0
  343. package/dist/esm/rendering/RenderBackendType.d.ts.map +1 -0
  344. package/dist/esm/rendering/RenderNode.d.ts +13 -12
  345. package/dist/esm/rendering/RenderNode.d.ts.map +1 -0
  346. package/dist/esm/rendering/RenderNode.js +2 -2
  347. package/dist/esm/rendering/RenderNode.js.map +1 -1
  348. package/dist/esm/rendering/RenderNodePass.d.ts +38 -0
  349. package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -0
  350. package/dist/esm/rendering/RenderNodePass.js +48 -0
  351. package/dist/esm/rendering/RenderNodePass.js.map +1 -0
  352. package/dist/esm/rendering/RenderPass.d.ts +53 -8
  353. package/dist/esm/rendering/RenderPass.d.ts.map +1 -0
  354. package/dist/esm/rendering/RenderPass.js +48 -0
  355. package/dist/esm/rendering/RenderPass.js.map +1 -0
  356. package/dist/esm/rendering/RenderPipeline.d.ts +61 -0
  357. package/dist/esm/rendering/RenderPipeline.d.ts.map +1 -0
  358. package/dist/esm/rendering/RenderPipeline.js +177 -0
  359. package/dist/esm/rendering/RenderPipeline.js.map +1 -0
  360. package/dist/esm/rendering/RenderStats.d.ts +1 -0
  361. package/dist/esm/rendering/RenderStats.d.ts.map +1 -0
  362. package/dist/esm/rendering/RenderTarget.d.ts +4 -3
  363. package/dist/esm/rendering/RenderTarget.d.ts.map +1 -0
  364. package/dist/esm/rendering/Renderer.d.ts +1 -0
  365. package/dist/esm/rendering/Renderer.d.ts.map +1 -0
  366. package/dist/esm/rendering/RendererRegistry.d.ts +13 -2
  367. package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -0
  368. package/dist/esm/rendering/RendererRegistry.js +60 -7
  369. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  370. package/dist/esm/rendering/RenderingContext.d.ts +7 -6
  371. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -0
  372. package/dist/esm/rendering/RenderingContext.js +5 -5
  373. package/dist/esm/rendering/TransformBuffer.d.ts +3 -2
  374. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -0
  375. package/dist/esm/rendering/View.d.ts +7 -6
  376. package/dist/esm/rendering/View.d.ts.map +1 -0
  377. package/dist/esm/rendering/coreRendererBindings.d.ts +10 -0
  378. package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -0
  379. package/dist/esm/rendering/coreRendererBindings.js +51 -0
  380. package/dist/esm/rendering/coreRendererBindings.js.map +1 -0
  381. package/dist/esm/rendering/filters/BlurFilter.d.ts +3 -2
  382. package/dist/esm/rendering/filters/BlurFilter.d.ts.map +1 -0
  383. package/dist/esm/rendering/filters/BlurFilter.js +2 -2
  384. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  385. package/dist/esm/rendering/filters/ColorFilter.d.ts +4 -3
  386. package/dist/esm/rendering/filters/ColorFilter.d.ts.map +1 -0
  387. package/dist/esm/rendering/filters/ColorFilter.js +2 -2
  388. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  389. package/dist/esm/rendering/filters/Filter.d.ts +3 -2
  390. package/dist/esm/rendering/filters/Filter.d.ts.map +1 -0
  391. package/dist/esm/rendering/filters/LutFilter.d.ts +4 -3
  392. package/dist/esm/rendering/filters/LutFilter.d.ts.map +1 -0
  393. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +4 -3
  394. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts.map +1 -0
  395. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +2 -2
  396. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  397. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +3 -2
  398. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -0
  399. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -3
  400. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  401. package/dist/esm/rendering/geometry/Geometry.d.ts +2 -1
  402. package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -0
  403. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts +1 -0
  404. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts.map +1 -0
  405. package/dist/esm/rendering/geometry/QuadGeometry.d.ts +1 -0
  406. package/dist/esm/rendering/geometry/QuadGeometry.d.ts.map +1 -0
  407. package/dist/esm/rendering/gradient/Gradient.d.ts +5 -4
  408. package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -0
  409. package/dist/esm/rendering/gradient/LinearGradient.d.ts +1 -0
  410. package/dist/esm/rendering/gradient/LinearGradient.d.ts.map +1 -0
  411. package/dist/esm/rendering/gradient/RadialGradient.d.ts +1 -0
  412. package/dist/esm/rendering/gradient/RadialGradient.d.ts.map +1 -0
  413. package/dist/esm/rendering/index.d.ts +87 -84
  414. package/dist/esm/rendering/index.d.ts.map +1 -0
  415. package/dist/esm/rendering/material/Material.d.ts +5 -4
  416. package/dist/esm/rendering/material/Material.d.ts.map +1 -0
  417. package/dist/esm/rendering/material/MaterialKey.d.ts +5 -4
  418. package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -0
  419. package/dist/esm/rendering/material/MeshMaterial.d.ts +1 -0
  420. package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -0
  421. package/dist/esm/rendering/material/ShaderSource.d.ts +1 -0
  422. package/dist/esm/rendering/material/ShaderSource.d.ts.map +1 -0
  423. package/dist/esm/rendering/material/SpriteMaterial.d.ts +1 -0
  424. package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -0
  425. package/dist/esm/rendering/mesh/Mesh.d.ts +6 -5
  426. package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -0
  427. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +8 -7
  428. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts.map +1 -0
  429. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +4 -3
  430. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts.map +1 -0
  431. package/dist/esm/rendering/pass/RenderPassDescriptor.js.map +1 -1
  432. package/dist/esm/rendering/plan/RenderCommand.d.ts +4 -3
  433. package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -0
  434. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts +2 -1
  435. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -0
  436. package/dist/esm/rendering/plan/RenderInstruction.d.ts +1 -0
  437. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -0
  438. package/dist/esm/rendering/plan/RenderPlan.d.ts +4 -3
  439. package/dist/esm/rendering/plan/RenderPlan.d.ts.map +1 -0
  440. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +5 -4
  441. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -0
  442. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts +1 -0
  443. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -0
  444. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +2 -1
  445. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -0
  446. package/dist/esm/rendering/plan/RenderScope.d.ts +6 -5
  447. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -0
  448. package/dist/esm/rendering/plan/playRenderTree.d.ts +3 -2
  449. package/dist/esm/rendering/plan/playRenderTree.d.ts.map +1 -0
  450. package/dist/esm/rendering/primitives/Graphics.d.ts +7 -6
  451. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -0
  452. package/dist/esm/rendering/shader/Shader.d.ts +1 -0
  453. package/dist/esm/rendering/shader/Shader.d.ts.map +1 -0
  454. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +1 -0
  455. package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -0
  456. package/dist/esm/rendering/shader/ShaderUniform.d.ts +2 -1
  457. package/dist/esm/rendering/shader/ShaderUniform.d.ts.map +1 -0
  458. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts +1 -0
  459. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts.map +1 -0
  460. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +6 -5
  461. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -0
  462. package/dist/esm/rendering/sprite/Sprite.d.ts +8 -7
  463. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -0
  464. package/dist/esm/rendering/sprite/Spritesheet.d.ts +3 -2
  465. package/dist/esm/rendering/sprite/Spritesheet.d.ts.map +1 -0
  466. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +1 -0
  467. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts.map +1 -0
  468. package/dist/esm/rendering/text/AbstractText.d.ts +2 -1
  469. package/dist/esm/rendering/text/AbstractText.d.ts.map +1 -0
  470. package/dist/esm/rendering/text/BitmapText.d.ts +2 -1
  471. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -0
  472. package/dist/esm/rendering/text/BitmapText.js +1 -4
  473. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  474. package/dist/esm/rendering/text/BmFont.d.ts +2 -1
  475. package/dist/esm/rendering/text/BmFont.d.ts.map +1 -0
  476. package/dist/esm/rendering/text/GlyphAtlas.d.ts +3 -2
  477. package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -0
  478. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +1 -0
  479. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -0
  480. package/dist/esm/rendering/text/GlyphSdf.d.ts +1 -0
  481. package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -0
  482. package/dist/esm/rendering/text/GlyphSdf.js +7 -0
  483. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
  484. package/dist/esm/rendering/text/HTMLText.d.ts +2 -1
  485. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -0
  486. package/dist/esm/rendering/text/LayoutOptions.d.ts +1 -0
  487. package/dist/esm/rendering/text/LayoutOptions.d.ts.map +1 -0
  488. package/dist/esm/rendering/text/Text.d.ts +1 -0
  489. package/dist/esm/rendering/text/Text.d.ts.map +1 -0
  490. package/dist/esm/rendering/text/TextLayout.d.ts +1 -0
  491. package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -0
  492. package/dist/esm/rendering/text/TextStyle.d.ts +3 -2
  493. package/dist/esm/rendering/text/TextStyle.d.ts.map +1 -0
  494. package/dist/esm/rendering/text/types.d.ts +1 -0
  495. package/dist/esm/rendering/text/types.d.ts.map +1 -0
  496. package/dist/esm/rendering/texture/DataTexture.d.ts +3 -2
  497. package/dist/esm/rendering/texture/DataTexture.d.ts.map +1 -0
  498. package/dist/esm/rendering/texture/DataTexture.js +1 -1
  499. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  500. package/dist/esm/rendering/texture/RenderTexture.d.ts +4 -3
  501. package/dist/esm/rendering/texture/RenderTexture.d.ts.map +1 -0
  502. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  503. package/dist/esm/rendering/texture/Sampler.d.ts +2 -1
  504. package/dist/esm/rendering/texture/Sampler.d.ts.map +1 -0
  505. package/dist/esm/rendering/texture/Texture.d.ts +4 -3
  506. package/dist/esm/rendering/texture/Texture.d.ts.map +1 -0
  507. package/dist/esm/rendering/types.d.ts +1 -0
  508. package/dist/esm/rendering/types.d.ts.map +1 -0
  509. package/dist/esm/rendering/utils.d.ts +1 -0
  510. package/dist/esm/rendering/utils.d.ts.map +1 -0
  511. package/dist/esm/rendering/video/Video.d.ts +8 -7
  512. package/dist/esm/rendering/video/Video.d.ts.map +1 -0
  513. package/dist/esm/rendering/video/Video.js.map +1 -1
  514. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -6
  515. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -0
  516. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +1 -1
  517. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +4 -3
  518. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts.map +1 -0
  519. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  520. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +22 -21
  521. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -0
  522. package/dist/esm/rendering/webgl2/WebGl2Backend.js +3 -17
  523. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  524. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +4 -3
  525. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -0
  526. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +1 -1
  527. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +2 -1
  528. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -0
  529. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts +10 -9
  530. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts.map +1 -0
  531. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js +1 -1
  532. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js.map +1 -1
  533. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +3 -2
  534. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -0
  535. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +2 -1
  536. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -0
  537. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  538. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +1 -0
  539. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts.map +1 -0
  540. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts +2 -1
  541. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -0
  542. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +1 -1
  543. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +2 -1
  544. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -0
  545. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +1 -1
  546. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts +3 -2
  547. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -0
  548. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +1 -1
  549. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +3 -2
  550. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -0
  551. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +3 -3
  552. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +3 -2
  553. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts.map +1 -0
  554. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +4 -3
  555. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts.map +1 -0
  556. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  557. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +21 -20
  558. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -0
  559. package/dist/esm/rendering/webgpu/WebGpuBackend.js +2 -15
  560. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  561. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +2 -1
  562. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -0
  563. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +4 -3
  564. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -0
  565. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -3
  566. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -0
  567. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +10 -9
  568. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -0
  569. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +4 -3
  570. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -0
  571. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +4 -3
  572. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -0
  573. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  574. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts +1 -0
  575. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts.map +1 -0
  576. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +3 -2
  577. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -0
  578. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +2 -2
  579. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +4 -3
  580. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -0
  581. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -0
  582. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts.map +1 -0
  583. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +1 -0
  584. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -0
  585. package/dist/esm/rendering/webgpu/compute/index.d.ts +1 -0
  586. package/dist/esm/rendering/webgpu/compute/index.d.ts.map +1 -0
  587. package/dist/esm/rendering.d.ts +28 -0
  588. package/dist/esm/rendering.d.ts.map +1 -0
  589. package/dist/esm/rendering.js +22 -0
  590. package/dist/esm/rendering.js.map +1 -0
  591. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -0
  592. package/dist/esm/resources/AbstractAssetFactory.d.ts.map +1 -0
  593. package/dist/esm/resources/Asset.d.ts +1 -0
  594. package/dist/esm/resources/Asset.d.ts.map +1 -0
  595. package/dist/esm/resources/AssetDefinitions.d.ts +9 -8
  596. package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -0
  597. package/dist/esm/resources/AssetFactory.d.ts +1 -0
  598. package/dist/esm/resources/AssetFactory.d.ts.map +1 -0
  599. package/dist/esm/resources/AssetManifest.d.ts +1 -0
  600. package/dist/esm/resources/AssetManifest.d.ts.map +1 -0
  601. package/dist/esm/resources/Assets.d.ts +1 -0
  602. package/dist/esm/resources/Assets.d.ts.map +1 -0
  603. package/dist/esm/resources/CacheFirstStrategy.d.ts +1 -0
  604. package/dist/esm/resources/CacheFirstStrategy.d.ts.map +1 -0
  605. package/dist/esm/resources/CacheStore.d.ts +1 -0
  606. package/dist/esm/resources/CacheStore.d.ts.map +1 -0
  607. package/dist/esm/resources/CacheStrategy.d.ts +1 -0
  608. package/dist/esm/resources/CacheStrategy.d.ts.map +1 -0
  609. package/dist/esm/resources/Database.d.ts +1 -0
  610. package/dist/esm/resources/Database.d.ts.map +1 -0
  611. package/dist/esm/resources/FactoryRegistry.d.ts +1 -0
  612. package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -0
  613. package/dist/esm/resources/IndexedDbDatabase.d.ts +2 -1
  614. package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -0
  615. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  616. package/dist/esm/resources/IndexedDbStore.d.ts +1 -0
  617. package/dist/esm/resources/IndexedDbStore.d.ts.map +1 -0
  618. package/dist/esm/resources/JsonStore.d.ts +1 -0
  619. package/dist/esm/resources/JsonStore.d.ts.map +1 -0
  620. package/dist/esm/resources/Loader.d.ts +34 -4
  621. package/dist/esm/resources/Loader.d.ts.map +1 -0
  622. package/dist/esm/resources/Loader.js +106 -69
  623. package/dist/esm/resources/Loader.js.map +1 -1
  624. package/dist/esm/resources/LoadingQueue.d.ts +2 -1
  625. package/dist/esm/resources/LoadingQueue.d.ts.map +1 -0
  626. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +1 -0
  627. package/dist/esm/resources/NetworkOnlyStrategy.d.ts.map +1 -0
  628. package/dist/esm/resources/coreAssetBindings.d.ts +8 -0
  629. package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -0
  630. package/dist/esm/resources/coreAssetBindings.js +151 -0
  631. package/dist/esm/resources/coreAssetBindings.js.map +1 -0
  632. package/dist/esm/resources/factories/BinaryFactory.d.ts +2 -1
  633. package/dist/esm/resources/factories/BinaryFactory.d.ts.map +1 -0
  634. package/dist/esm/resources/factories/BmFontFactory.d.ts +5 -4
  635. package/dist/esm/resources/factories/BmFontFactory.d.ts.map +1 -0
  636. package/dist/esm/resources/factories/CsvFactory.d.ts +2 -1
  637. package/dist/esm/resources/factories/CsvFactory.d.ts.map +1 -0
  638. package/dist/esm/resources/factories/FontFactory.d.ts +2 -1
  639. package/dist/esm/resources/factories/FontFactory.d.ts.map +1 -0
  640. package/dist/esm/resources/factories/ImageFactory.d.ts +2 -1
  641. package/dist/esm/resources/factories/ImageFactory.d.ts.map +1 -0
  642. package/dist/esm/resources/factories/JsonFactory.d.ts +2 -1
  643. package/dist/esm/resources/factories/JsonFactory.d.ts.map +1 -0
  644. package/dist/esm/resources/factories/MusicFactory.d.ts +4 -3
  645. package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -0
  646. package/dist/esm/resources/factories/SoundFactory.d.ts +4 -3
  647. package/dist/esm/resources/factories/SoundFactory.d.ts.map +1 -0
  648. package/dist/esm/resources/factories/SubtitleFactory.d.ts +2 -1
  649. package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -0
  650. package/dist/esm/resources/factories/SvgFactory.d.ts +2 -1
  651. package/dist/esm/resources/factories/SvgFactory.d.ts.map +1 -0
  652. package/dist/esm/resources/factories/TextFactory.d.ts +2 -1
  653. package/dist/esm/resources/factories/TextFactory.d.ts.map +1 -0
  654. package/dist/esm/resources/factories/TextureFactory.d.ts +4 -3
  655. package/dist/esm/resources/factories/TextureFactory.d.ts.map +1 -0
  656. package/dist/esm/resources/factories/VideoFactory.d.ts +5 -4
  657. package/dist/esm/resources/factories/VideoFactory.d.ts.map +1 -0
  658. package/dist/esm/resources/factories/WasmFactory.d.ts +2 -1
  659. package/dist/esm/resources/factories/WasmFactory.d.ts.map +1 -0
  660. package/dist/esm/resources/factories/XmlFactory.d.ts +2 -1
  661. package/dist/esm/resources/factories/XmlFactory.d.ts.map +1 -0
  662. package/dist/esm/resources/index.d.ts +16 -15
  663. package/dist/esm/resources/index.d.ts.map +1 -0
  664. package/dist/esm/resources/tokens.d.ts +1 -0
  665. package/dist/esm/resources/tokens.d.ts.map +1 -0
  666. package/dist/esm/resources/utils.d.ts +1 -0
  667. package/dist/esm/resources/utils.d.ts.map +1 -0
  668. package/dist/exo.debug.esm.js +949 -0
  669. package/dist/exo.debug.esm.js.map +1 -0
  670. package/dist/exo.esm.js +7796 -10451
  671. package/dist/exo.esm.js.map +1 -1
  672. package/package.json +85 -57
  673. package/dist/esm/particles/ParticleSystem.d.ts +0 -212
  674. package/dist/esm/particles/ParticleSystem.js +0 -573
  675. package/dist/esm/particles/ParticleSystem.js.map +0 -1
  676. package/dist/esm/particles/distributions/BoxArea.d.ts +0 -17
  677. package/dist/esm/particles/distributions/BoxArea.js +0 -48
  678. package/dist/esm/particles/distributions/BoxArea.js.map +0 -1
  679. package/dist/esm/particles/distributions/CircleArea.d.ts +0 -19
  680. package/dist/esm/particles/distributions/CircleArea.js +0 -33
  681. package/dist/esm/particles/distributions/CircleArea.js.map +0 -1
  682. package/dist/esm/particles/distributions/ColorGradient.d.ts +0 -40
  683. package/dist/esm/particles/distributions/ColorGradient.js +0 -72
  684. package/dist/esm/particles/distributions/ColorGradient.js.map +0 -1
  685. package/dist/esm/particles/distributions/ConeDirection.d.ts +0 -28
  686. package/dist/esm/particles/distributions/ConeDirection.js +0 -44
  687. package/dist/esm/particles/distributions/ConeDirection.js.map +0 -1
  688. package/dist/esm/particles/distributions/Constant.d.ts +0 -17
  689. package/dist/esm/particles/distributions/Constant.js +0 -35
  690. package/dist/esm/particles/distributions/Constant.js.map +0 -1
  691. package/dist/esm/particles/distributions/Curve.d.ts +0 -30
  692. package/dist/esm/particles/distributions/Curve.js +0 -53
  693. package/dist/esm/particles/distributions/Curve.js.map +0 -1
  694. package/dist/esm/particles/distributions/Distribution.d.ts +0 -45
  695. package/dist/esm/particles/distributions/LineSegment.d.ts +0 -15
  696. package/dist/esm/particles/distributions/LineSegment.js +0 -27
  697. package/dist/esm/particles/distributions/LineSegment.js.map +0 -1
  698. package/dist/esm/particles/distributions/Range.d.ts +0 -12
  699. package/dist/esm/particles/distributions/Range.js +0 -19
  700. package/dist/esm/particles/distributions/Range.js.map +0 -1
  701. package/dist/esm/particles/distributions/VectorRange.d.ts +0 -20
  702. package/dist/esm/particles/distributions/VectorRange.js +0 -31
  703. package/dist/esm/particles/distributions/VectorRange.js.map +0 -1
  704. package/dist/esm/particles/distributions/index.d.ts +0 -12
  705. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +0 -57
  706. package/dist/esm/particles/gpu/ParticleGpuState.js +0 -535
  707. package/dist/esm/particles/gpu/ParticleGpuState.js.map +0 -1
  708. package/dist/esm/particles/index.d.ts +0 -4
  709. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +0 -24
  710. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +0 -64
  711. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +0 -1
  712. package/dist/esm/particles/modules/ApplyForce.d.ts +0 -20
  713. package/dist/esm/particles/modules/ApplyForce.js +0 -48
  714. package/dist/esm/particles/modules/ApplyForce.js.map +0 -1
  715. package/dist/esm/particles/modules/AttractToPoint.d.ts +0 -27
  716. package/dist/esm/particles/modules/AttractToPoint.js +0 -73
  717. package/dist/esm/particles/modules/AttractToPoint.js.map +0 -1
  718. package/dist/esm/particles/modules/BurstSpawn.d.ts +0 -53
  719. package/dist/esm/particles/modules/BurstSpawn.js +0 -94
  720. package/dist/esm/particles/modules/BurstSpawn.js.map +0 -1
  721. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +0 -22
  722. package/dist/esm/particles/modules/ColorOverLifetime.js +0 -65
  723. package/dist/esm/particles/modules/ColorOverLifetime.js.map +0 -1
  724. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +0 -27
  725. package/dist/esm/particles/modules/ColorOverSpeed.js +0 -86
  726. package/dist/esm/particles/modules/ColorOverSpeed.js.map +0 -1
  727. package/dist/esm/particles/modules/DeathModule.d.ts +0 -24
  728. package/dist/esm/particles/modules/DeathModule.js +0 -25
  729. package/dist/esm/particles/modules/DeathModule.js.map +0 -1
  730. package/dist/esm/particles/modules/Drag.d.ts +0 -20
  731. package/dist/esm/particles/modules/Drag.js +0 -43
  732. package/dist/esm/particles/modules/Drag.js.map +0 -1
  733. package/dist/esm/particles/modules/OrbitalForce.d.ts +0 -28
  734. package/dist/esm/particles/modules/OrbitalForce.js +0 -65
  735. package/dist/esm/particles/modules/OrbitalForce.js.map +0 -1
  736. package/dist/esm/particles/modules/RateSpawn.d.ts +0 -41
  737. package/dist/esm/particles/modules/RateSpawn.js +0 -76
  738. package/dist/esm/particles/modules/RateSpawn.js.map +0 -1
  739. package/dist/esm/particles/modules/RepelFromPoint.d.ts +0 -24
  740. package/dist/esm/particles/modules/RepelFromPoint.js +0 -76
  741. package/dist/esm/particles/modules/RepelFromPoint.js.map +0 -1
  742. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +0 -20
  743. package/dist/esm/particles/modules/RotateOverLifetime.js +0 -41
  744. package/dist/esm/particles/modules/RotateOverLifetime.js.map +0 -1
  745. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +0 -26
  746. package/dist/esm/particles/modules/ScaleOverLifetime.js +0 -59
  747. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +0 -1
  748. package/dist/esm/particles/modules/SpawnModule.d.ts +0 -30
  749. package/dist/esm/particles/modules/SpawnModule.js +0 -31
  750. package/dist/esm/particles/modules/SpawnModule.js.map +0 -1
  751. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +0 -24
  752. package/dist/esm/particles/modules/SpawnOnDeath.js +0 -47
  753. package/dist/esm/particles/modules/SpawnOnDeath.js.map +0 -1
  754. package/dist/esm/particles/modules/Turbulence.d.ts +0 -30
  755. package/dist/esm/particles/modules/Turbulence.js +0 -122
  756. package/dist/esm/particles/modules/Turbulence.js.map +0 -1
  757. package/dist/esm/particles/modules/UpdateModule.d.ts +0 -95
  758. package/dist/esm/particles/modules/UpdateModule.js +0 -66
  759. package/dist/esm/particles/modules/UpdateModule.js.map +0 -1
  760. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +0 -30
  761. package/dist/esm/particles/modules/VelocityOverLifetime.js +0 -84
  762. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +0 -1
  763. package/dist/esm/particles/modules/WgslContribution.d.ts +0 -81
  764. package/dist/esm/particles/modules/WgslContribution.js +0 -34
  765. package/dist/esm/particles/modules/WgslContribution.js.map +0 -1
  766. package/dist/esm/particles/modules/index.d.ts +0 -22
  767. package/dist/esm/rendering/RenderTargetPass.d.ts +0 -29
  768. package/dist/esm/rendering/RenderTargetPass.js.map +0 -1
  769. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +0 -45
  770. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +0 -330
  771. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +0 -1
  772. package/dist/esm/rendering/webgl2/glsl/particle.frag.js +0 -4
  773. package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +0 -1
  774. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +0 -4
  775. package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +0 -1
  776. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +0 -48
  777. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +0 -556
  778. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +0 -1
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@codexo/exojs",
3
3
  "description": "A TypeScript-first browser 2D runtime for games and interactive apps.",
4
- "version": "0.11.0",
4
+ "version": "0.12.0",
5
5
  "type": "module",
6
- "packageManager": "pnpm@11.4.0",
7
6
  "files": [
8
7
  "dist/esm/",
9
8
  "dist/exo.esm.js",
10
9
  "dist/exo.esm.js.map",
10
+ "dist/exo.debug.esm.js",
11
+ "dist/exo.debug.esm.js.map",
11
12
  "README.md",
12
- "CHANGELOG.md"
13
+ "CHANGELOG.md",
14
+ "LICENSE"
13
15
  ],
14
16
  "main": "./dist/exo.esm.js",
15
17
  "module": "./dist/esm/index.js",
16
18
  "browser": "./dist/exo.esm.js",
17
19
  "types": "./dist/esm/index.d.ts",
18
- "sideEffects": [
19
- "./dist/esm/rendering/sprite/Sprite.js"
20
- ],
20
+ "sideEffects": false,
21
21
  "keywords": [
22
22
  "2d",
23
23
  "browser",
@@ -34,6 +34,16 @@
34
34
  "import": "./dist/esm/index.js",
35
35
  "default": "./dist/esm/index.js"
36
36
  },
37
+ "./extensions": {
38
+ "types": "./dist/esm/extensions/index.d.ts",
39
+ "import": "./dist/esm/extensions/index.js",
40
+ "default": "./dist/esm/extensions/index.js"
41
+ },
42
+ "./rendering": {
43
+ "types": "./dist/esm/rendering.d.ts",
44
+ "import": "./dist/esm/rendering.js",
45
+ "default": "./dist/esm/rendering.js"
46
+ },
37
47
  "./debug": {
38
48
  "types": "./dist/esm/debug/index.d.ts",
39
49
  "import": "./dist/esm/debug/index.js",
@@ -41,6 +51,62 @@
41
51
  },
42
52
  "./package.json": "./package.json"
43
53
  },
54
+ "imports": {
55
+ "#*.vert": "./src/*.vert",
56
+ "#*.frag": "./src/*.frag",
57
+ "#*": {
58
+ "@codexo/source": "./src/*.ts",
59
+ "types": "./dist/esm/*.d.ts",
60
+ "default": "./dist/esm/*.js"
61
+ }
62
+ },
63
+ "license": "MIT",
64
+ "publishConfig": {
65
+ "access": "public"
66
+ },
67
+ "homepage": "https://github.com/Exoridus/ExoJS",
68
+ "bugs": {
69
+ "url": "https://github.com/Exoridus/ExoJS/issues"
70
+ },
71
+ "repository": {
72
+ "type": "git",
73
+ "url": "git+https://github.com/Exoridus/ExoJS.git"
74
+ },
75
+ "devDependencies": {
76
+ "@eslint/js": "^10.0.1",
77
+ "@rollup/plugin-node-resolve": "^16.0.3",
78
+ "@rollup/plugin-replace": "^6.0.3",
79
+ "@rollup/plugin-typescript": "^12.3.0",
80
+ "@types/css-font-loading-module": "0.0.14",
81
+ "@types/jsdom": "^28.0.1",
82
+ "@types/node": "^25.6.0",
83
+ "@vitest/browser": "^4.1.7",
84
+ "@vitest/browser-playwright": "^4.1.7",
85
+ "@vitest/coverage-istanbul": "^4.1.7",
86
+ "@webgpu/types": "^0.1.69",
87
+ "eslint": "^10.4.1",
88
+ "eslint-config-prettier": "^10.1.8",
89
+ "eslint-plugin-security": "^4.0.0",
90
+ "eslint-plugin-simple-import-sort": "^13.0.0",
91
+ "eslint-plugin-unicorn": "^64.0.0",
92
+ "eslint-plugin-unused-imports": "^4.4.1",
93
+ "gitmoji-cli": "^9.7.0",
94
+ "globals": "^17.5.0",
95
+ "husky": "^9.1.7",
96
+ "jiti": "^2.7.0",
97
+ "jsdom": "^29.1.1",
98
+ "playwright": "^1.50.0",
99
+ "prettier": "3.8.3",
100
+ "rimraf": "^6.1.3",
101
+ "rollup": "^4.60.3",
102
+ "rollup-plugin-string": "^3.0.0",
103
+ "tslib": "^2.8.1",
104
+ "tsx": "^4.21.0",
105
+ "typescript": "^6.0.3",
106
+ "typescript-eslint": "^8.60.0",
107
+ "vitest": "^4.1.7",
108
+ "@codexo/exojs-config": "0.0.0"
109
+ },
44
110
  "scripts": {
45
111
  "bootstrap": "pnpm install --frozen-lockfile --ignore-scripts",
46
112
  "clean": "rimraf dist",
@@ -48,14 +114,22 @@
48
114
  "build:dev": "pnpm clean && tsx node_modules/rollup/dist/bin/rollup -c --environment EXOJS_ENV:development",
49
115
  "build:watch": "tsx node_modules/rollup/dist/bin/rollup -cw --environment EXOJS_ENV:development",
50
116
  "verify:exports": "tsx ./scripts/verify-exports.ts",
117
+ "verify:package-policy": "tsx ./scripts/verify-package-policy.ts",
51
118
  "verify:package": "pnpm build && pnpm verify:exports && pnpm pack",
119
+ "verify:lockstep": "tsx ./scripts/verify-lockstep-versions.ts",
120
+ "verify:release-matrix": "tsx ./scripts/verify-release-matrix.ts",
121
+ "verify:create-exo-app": "tsx ./scripts/verify-create-exo-app.ts",
52
122
  "sync:example-capabilities": "tsx ./scripts/sync-example-capabilities.ts",
53
- "verify:release": "pnpm typecheck && pnpm lint:strict && pnpm format:check && pnpm test && pnpm verify:package",
123
+ "verify:release": "pnpm verify:lockstep && pnpm typecheck && pnpm typecheck:guides && pnpm typecheck:examples && pnpm lint:strict && pnpm format:check && pnpm test && pnpm verify:package && pnpm verify:create-exo-app && pnpm site:build",
54
124
  "release": "tsx ./scripts/release.ts",
125
+ "release:prepare": "tsx ./scripts/release/run.ts prepare",
126
+ "release:full-zip": "tsx ./scripts/release/run.ts full-zip",
127
+ "release:publish": "tsx ./scripts/release/run.ts publish",
128
+ "verify:external-consumers": "tsx ./scripts/release/external-consumers.ts",
55
129
  "release:notes": "tsx ./scripts/generate-release-notes.ts",
56
- "prepack": "pnpm build",
57
130
  "typecheck": "tsc --noEmit",
58
131
  "typecheck:examples": "tsc --noEmit -p tsconfig.examples.json",
132
+ "typecheck:guides": "tsx scripts/extract-guide-snippets.ts && tsc --noEmit -p tsconfig.guides.json",
59
133
  "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"examples/**/*.js\"",
60
134
  "lint:fix": "eslint --fix \"src/**/*.ts\" \"test/**/*.ts\" \"examples/**/*.js\"",
61
135
  "lint:strict": "eslint --max-warnings=0 \"src/**/*.ts\"",
@@ -64,7 +138,8 @@
64
138
  "lint:strict:fast:fix": "eslint --cache --cache-location .cache/eslintcache --fix --max-warnings=0 \"src/**/*.ts\"",
65
139
  "format": "prettier --write .",
66
140
  "format:check": "prettier --check .",
67
- "test": "vitest run --project=exojs",
141
+ "test": "vitest run --project=exojs --project=exojs-particles --project=exojs-tiled",
142
+ "test:core": "vitest run --project=exojs",
68
143
  "test:coverage": "vitest run --coverage --project=exojs",
69
144
  "test:watch": "vitest --project=exojs",
70
145
  "test:browser": "pnpm run test:browser:webgl && pnpm run test:browser:webgpu && pnpm run test:browser:webgl:firefox && pnpm run test:browser:webgpu:firefox",
@@ -88,53 +163,6 @@
88
163
  "perf:bench:all": "pnpm perf:bench:rendering && pnpm perf:bench:audio && pnpm perf:bench:collision && pnpm perf:bench:scene-graph && pnpm perf:bench:interaction",
89
164
  "perf:profile": "tsx test/perf/profile-benchmark.ts",
90
165
  "perf:profile:gc": "node --expose-gc --import tsx/esm test/perf/profile-benchmark.ts",
91
- "prepare": "husky",
92
166
  "commit": "gitmoji -c"
93
- },
94
- "license": "MIT",
95
- "publishConfig": {
96
- "access": "public"
97
- },
98
- "homepage": "https://github.com/Exoridus/ExoJS",
99
- "bugs": {
100
- "url": "https://github.com/Exoridus/ExoJS/issues"
101
- },
102
- "repository": {
103
- "type": "git",
104
- "url": "git+https://github.com/Exoridus/ExoJS.git"
105
- },
106
- "devDependencies": {
107
- "@eslint/js": "^10.0.1",
108
- "@rollup/plugin-node-resolve": "^16.0.3",
109
- "@rollup/plugin-replace": "^6.0.3",
110
- "@rollup/plugin-typescript": "^12.3.0",
111
- "@types/css-font-loading-module": "0.0.14",
112
- "@types/jsdom": "^28.0.1",
113
- "@types/node": "^25.6.0",
114
- "@vitest/browser": "^4.1.7",
115
- "@vitest/browser-playwright": "^4.1.7",
116
- "@vitest/coverage-istanbul": "^4.1.7",
117
- "@webgpu/types": "^0.1.69",
118
- "eslint": "^10.4.1",
119
- "eslint-config-prettier": "^10.1.8",
120
- "eslint-plugin-security": "^4.0.0",
121
- "eslint-plugin-simple-import-sort": "^13.0.0",
122
- "eslint-plugin-unicorn": "^64.0.0",
123
- "eslint-plugin-unused-imports": "^4.4.1",
124
- "gitmoji-cli": "^9.7.0",
125
- "globals": "^17.5.0",
126
- "husky": "^9.1.7",
127
- "jiti": "^2.7.0",
128
- "jsdom": "^29.1.1",
129
- "playwright": "^1.50.0",
130
- "prettier": "^3.8.3",
131
- "rimraf": "^6.1.3",
132
- "rollup": "^4.60.3",
133
- "rollup-plugin-string": "^3.0.0",
134
- "tslib": "^2.8.1",
135
- "tsx": "^4.21.0",
136
- "typescript": "^6.0.3",
137
- "typescript-eslint": "^8.60.0",
138
- "vitest": "^4.1.7"
139
167
  }
140
- }
168
+ }
@@ -1,212 +0,0 @@
1
- import type { Time } from '@/core/Time';
2
- import { Rectangle } from '@/math/Rectangle';
3
- import { Drawable } from '@/rendering/Drawable';
4
- import type { RenderPlanBuilder } from '@/rendering/plan/RenderPlanBuilder';
5
- import { Spritesheet } from '@/rendering/sprite/Spritesheet';
6
- import { Texture } from '@/rendering/texture/Texture';
7
- import { ParticleGpuState } from './gpu/ParticleGpuState';
8
- import type { DeathModule } from './modules/DeathModule';
9
- import type { SpawnModule } from './modules/SpawnModule';
10
- import type { UpdateModule } from './modules/UpdateModule';
11
- /**
12
- * Options for {@link ParticleSystem}'s constructor — orthogonal config
13
- * that's independent of the texture source. Texture / frames / spritesheet
14
- * live in positional arguments to enforce mutual exclusivity at the type
15
- * level (you can't pass both a texture and a spritesheet by accident).
16
- */
17
- export interface ParticleSystemOptions {
18
- /** Maximum particle count. Fixed at construction. Default 4096. */
19
- capacity?: number;
20
- /**
21
- * Direct GPU device. Lets advanced consumers wire a `GPUDevice` owned
22
- * outside an `Application` (or a mock device in tests). When omitted,
23
- * the backend reference is captured automatically on the first
24
- * {@link ParticleSystem.render} call — `WebGpuBackend` ⇒ GPU mode,
25
- * anything else (incl. WebGL2) ⇒ CPU mode.
26
- */
27
- device?: GPUDevice;
28
- }
29
- /**
30
- * The central coordinator of the particle pipeline. `ParticleSystem` is a
31
- * {@link Drawable} that owns:
32
- *
33
- * - **SoA particle storage** — one typed array per attribute (position,
34
- * velocity, scale, rotation, color, lifetime, ...), sized to a fixed
35
- * capacity at construction. User code reads/writes via
36
- * `system.posX[slot]`, `system.velX[slot]`, etc.
37
- * - **Spawn modules** — write new particles into freshly allocated slots.
38
- * - **Update modules** — mutate the live range each frame (forces, color
39
- * blends, scale curves, drag, ...). Built-in modules ship both CPU and
40
- * WGSL implementations; custom modules can opt into GPU acceleration by
41
- * implementing `wgsl()`.
42
- * - **Death modules** — fire once per dying particle, before its slot is
43
- * recycled (sub-emitters, event hooks).
44
- *
45
- * **Auto-routing CPU vs GPU:** at first {@link update}, the system checks:
46
- * if a `WebGpuBackend` was supplied AND every registered update module has
47
- * `wgsl()`, the GPU path engages — a composite compute pipeline runs
48
- * integration plus all module bodies in one dispatch and writes directly
49
- * into the renderer's instance buffer (no CPU readback). Otherwise the CPU
50
- * path runs the existing per-module `apply()` loops.
51
- *
52
- * **Per-frame order in {@link update} (CPU mode):**
53
- * 1. Run every spawn module.
54
- * 2. Integrate position from velocity, rotation from rotationSpeed, advance `elapsed`.
55
- * 3. Run every update module on the live range.
56
- * 4. Compact: scan `[0, liveCount)` forward, fire death modules on expired
57
- * slots, copy survivors down. `liveCount` shrinks to the survivor count.
58
- *
59
- * **Per-frame order in {@link update} (GPU mode):**
60
- * 1. Run every spawn module (CPU writes initial values into the spawn slot).
61
- * 2. Detect expiries on CPU (via `elapsed >= lifetime`); fire death modules;
62
- * set `lifetime[slot] = -1` sentinel + clear `alive[slot]` so the GPU
63
- * shader skips them. **No compaction** — slots are recycled on next spawn.
64
- * 3. Dispatch the composite compute pipeline. Integration + update modules
65
- * + pack-instances run in one pass; the instance buffer is written
66
- * directly. CPU SoA stays as-is for spawn writes.
67
- *
68
- * **Coordinate space:** particle positions are LOCAL to the system. The
69
- * system's `getGlobalTransform()` is applied on top during rendering — both
70
- * the WebGL2 and WebGPU shaders multiply `projection * translation * rotated`.
71
- * Setting world-space positions on individual particles double-translates.
72
- * Position the system itself via `system.setPosition(...)` and emit relative
73
- * to `(0, 0)`.
74
- *
75
- * @example
76
- * // Backend-agnostic — runs CPU on WebGL2, GPU on WebGPU automatically.
77
- * const system = new ParticleSystem(loader.get(Texture, 'spark'), {
78
- * capacity: 8192,
79
- * backend: app.backend,
80
- * });
81
- *
82
- * system.addSpawnModule(new RateSpawn({ rate: new Constant(60), ... }));
83
- * system.addUpdateModule(new ApplyForce(0, 980)); // gravity, GPU-eligible
84
- * system.addUpdateModule(new ColorOverLifetime(fireGradient));
85
- * scene.addChild(system);
86
- */
87
- export declare class ParticleSystem extends Drawable {
88
- /** Maximum particle count this system will store. Fixed at construction. */
89
- readonly capacity: number;
90
- readonly posX: Float32Array;
91
- readonly posY: Float32Array;
92
- readonly velX: Float32Array;
93
- readonly velY: Float32Array;
94
- readonly scaleX: Float32Array;
95
- readonly scaleY: Float32Array;
96
- readonly rotations: Float32Array;
97
- readonly rotationSpeeds: Float32Array;
98
- readonly color: Uint32Array;
99
- readonly elapsed: Float32Array;
100
- readonly lifetime: Float32Array;
101
- readonly textureIndex: Uint16Array;
102
- /**
103
- * Number of currently live particles. In CPU mode this is exact: slots
104
- * `[0, liveCount)` are all alive after each `update()`. In GPU mode
105
- * this is a high-water mark — slots `[0, liveCount)` may contain dead
106
- * holes (filled in by future spawns); use {@link aliveCount} for the
107
- * actual alive count.
108
- */
109
- liveCount: number;
110
- /**
111
- * Per-slot alive flag (1 = alive, 0 = dead). Maintained in both CPU
112
- * and GPU mode. Custom modules iterating the live range should check
113
- * this to skip dead slots in GPU mode.
114
- */
115
- readonly alive: Uint8Array;
116
- private readonly _spawnModules;
117
- private readonly _updateModules;
118
- private readonly _deathModules;
119
- private _backend;
120
- private readonly _device;
121
- private _gpuState;
122
- private _gpuMode;
123
- private _compiled;
124
- private _spawnHint;
125
- /**
126
- * In GPU mode, slots whose CPU SoA values need re-uploading to the GPU
127
- * (newly spawned, or just-expired with lifetime sentinel). Cleared
128
- * after each compute dispatch. CPU never overwrites integrated GPU
129
- * state — only dirty slots flow CPU → GPU.
130
- */
131
- private readonly _gpuDirtySlots;
132
- private _texture;
133
- private readonly _frames;
134
- private readonly _textureFrame;
135
- private readonly _vertices;
136
- private readonly _texCoords;
137
- private _updateTexCoords;
138
- private _updateVertices;
139
- /** No texture — particles render as solid-color quads on a 1×1 white default. */
140
- constructor(options?: ParticleSystemOptions);
141
- /** Single texture, no atlas — every particle uses the full texture as one frame. */
142
- constructor(texture: Texture, options?: ParticleSystemOptions);
143
- /** Multi-frame atlas — each particle's `textureIndex` selects a frame. */
144
- constructor(texture: Texture, frames: readonly Rectangle[], options?: ParticleSystemOptions);
145
- /** Spritesheet shorthand — texture + frames pulled from the sheet. */
146
- constructor(spritesheet: Spritesheet, options?: ParticleSystemOptions);
147
- get texture(): Texture;
148
- set texture(texture: Texture);
149
- get textureFrame(): Rectangle;
150
- set textureFrame(frame: Rectangle);
151
- /**
152
- * Atlas frames declared on this system, or empty when the texture is
153
- * used as a single frame. Each particle's `textureIndex[i]` selects
154
- * an entry from this list; out-of-range indices are clamped to 0.
155
- */
156
- get frames(): readonly Rectangle[];
157
- /** `true` when the system declares more than one atlas frame. */
158
- get hasAtlas(): boolean;
159
- get vertices(): Float32Array;
160
- get texCoords(): Uint32Array;
161
- /** `true` when the system is running on the GPU compute pipeline. */
162
- get gpuMode(): boolean;
163
- /** GPU-side state, or `null` in CPU mode. */
164
- get gpuState(): ParticleGpuState | null;
165
- /** Actual count of live particles (slots with `alive[i] === 1`). May differ from `liveCount` in GPU mode. */
166
- get aliveCount(): number;
167
- get spawnModules(): readonly SpawnModule[];
168
- get updateModules(): readonly UpdateModule[];
169
- get deathModules(): readonly DeathModule[];
170
- setTexture(texture: Texture): this;
171
- setTextureFrame(frame: Rectangle): this;
172
- resetTextureFrame(): this;
173
- addSpawnModule(mod: SpawnModule): this;
174
- addUpdateModule(mod: UpdateModule): this;
175
- addDeathModule(mod: DeathModule): this;
176
- clearSpawnModules(): this;
177
- clearUpdateModules(): this;
178
- clearDeathModules(): this;
179
- /**
180
- * Allocates a particle slot and returns its index. Returns `-1` when
181
- * the system is at {@link capacity}.
182
- *
183
- * **CPU mode:** slots are dense in `[0, liveCount)`. `spawn()` returns
184
- * the next sequential slot; `liveCount++`.
185
- *
186
- * **GPU mode:** slots may have dead holes. `spawn()` finds the first
187
- * `alive[i] === 0` slot via a round-robin hint pointer (amortised O(1),
188
- * worst case O(capacity) on full systems).
189
- */
190
- spawn(): number;
191
- /** Resets the system to zero live particles without destroying it. */
192
- clearParticles(): this;
193
- /**
194
- * @internal
195
- *
196
- * Collect-hook: captures the active backend before this node is emitted so
197
- * the next `update()` can compile a GPU pipeline if the backend turned out
198
- * to be `WebGpuBackend`. Re-captures and rebuilds when the backend
199
- * reference changes (e.g. after device-loss recovery).
200
- */
201
- /** @internal */
202
- _collect(builder: RenderPlanBuilder, seq?: number): void;
203
- /** Per-frame entry point. Routes to CPU or GPU pipeline based on auto-detection at first call. */
204
- update(delta: Time): this;
205
- destroy(): void;
206
- private _compile;
207
- private _spawnCpu;
208
- private _spawnGpu;
209
- private _updateCpu;
210
- private _updateGpu;
211
- private _copySlot;
212
- }