@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
@@ -1,556 +0,0 @@
1
- import { Texture } from '../texture/Texture.js';
2
- import { AbstractWebGpuRenderer } from './AbstractWebGpuRenderer.js';
3
- import { getWebGpuBlendState } from './WebGpuBlendState.js';
4
- import { stencilContentDepthStencilState } from './WebGpuStencilState.js';
5
-
6
- /// <reference types="@webgpu/types" />
7
- const particleShaderSource = `
8
- struct ProjectionUniforms {
9
- projection: mat4x4<f32>,
10
- translation: mat4x4<f32>,
11
- flags: vec4<f32>,
12
- localBounds: vec4<f32>, // quadMin.xy, quadSize.xy
13
- uvBounds: vec4<f32>, // uvMin.xy, uvMax.xy
14
- };
15
-
16
- @group(0) @binding(0)
17
- var<uniform> uniforms: ProjectionUniforms;
18
-
19
- @group(1) @binding(0)
20
- var particleTexture: texture_2d<f32>;
21
-
22
- @group(1) @binding(1)
23
- var particleSampler: sampler;
24
-
25
- // Per-instance attributes (one entry per particle, 40 bytes total).
26
- struct VertexInput {
27
- @location(0) unitPosition: vec2<f32>, // per-vertex (static unit quad)
28
- @location(1) translation: vec2<f32>,
29
- @location(2) scale: vec2<f32>,
30
- @location(3) rotation: f32,
31
- @location(4) color: vec4<f32>,
32
- @location(5) uvMin: vec2<f32>, // pre-resolved frame UV (top-left)
33
- @location(6) uvMax: vec2<f32>, // pre-resolved frame UV (bottom-right)
34
- };
35
-
36
- struct VertexOutput {
37
- @builtin(position) position: vec4<f32>,
38
- @location(0) texcoord: vec2<f32>,
39
- @location(1) color: vec4<f32>,
40
- };
41
-
42
- @vertex
43
- fn vertexMain(input: VertexInput) -> VertexOutput {
44
- let quadMin = uniforms.localBounds.xy;
45
- let quadSize = uniforms.localBounds.zw;
46
-
47
- let localPosition = quadMin + (input.unitPosition * quadSize);
48
- let radians = radians(input.rotation);
49
- let sinValue = sin(radians);
50
- let cosValue = cos(radians);
51
- let rotated = vec2<f32>(
52
- (localPosition.x * (input.scale.x * cosValue)) + (localPosition.y * (input.scale.y * sinValue)) + input.translation.x,
53
- (localPosition.x * (input.scale.x * -sinValue)) + (localPosition.y * (input.scale.y * cosValue)) + input.translation.y
54
- );
55
-
56
- var output: VertexOutput;
57
-
58
- output.position = uniforms.projection * uniforms.translation * vec4<f32>(rotated, 0.0, 1.0);
59
- output.texcoord = input.uvMin + ((input.uvMax - input.uvMin) * input.unitPosition);
60
- output.color = vec4(input.color.rgb * input.color.a, input.color.a);
61
-
62
- return output;
63
- }
64
-
65
- @fragment
66
- fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
67
- let sample = textureSample(particleTexture, particleSampler, input.texcoord);
68
- let premultipliedSample = select(sample, vec4(sample.rgb * sample.a, sample.a), uniforms.flags.x > 0.5);
69
-
70
- return premultipliedSample * input.color;
71
- }
72
- `;
73
- const staticVertexStrideBytes = 8;
74
- const instanceWords = 10;
75
- const instanceStrideBytes = 40;
76
- const indicesPerParticle = 6;
77
- const uniformByteLength = 176;
78
- const initialParticleCapacity = 1;
79
- const staticVertexData = new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]);
80
- const staticIndexData = new Uint16Array([0, 1, 2, 0, 2, 3]);
81
- class WebGpuParticleRenderer extends AbstractWebGpuRenderer {
82
- /**
83
- * The particle system's transform is bound as a uniform and each particle is
84
- * positioned system-locally, so this renderer never reads the shared transform
85
- * storage; the plan player skips writing transform records for particle draws.
86
- * @internal
87
- */
88
- _consumesSharedTransform = false;
89
- _drawCalls = [];
90
- _drawCallCount = 0;
91
- _uniformData = new Float32Array(uniformByteLength / Float32Array.BYTES_PER_ELEMENT);
92
- _device = null;
93
- _shaderModule = null;
94
- _uniformBindGroupLayout = null;
95
- _textureBindGroupLayout = null;
96
- _pipelineLayout = null;
97
- _uniformBuffer = null;
98
- _uniformBindGroup = null;
99
- _staticVertexBuffer = null;
100
- _instanceBuffer = null;
101
- _indexBuffer = null;
102
- _instanceBufferByteLength = 0;
103
- _instanceData = new ArrayBuffer(instanceStrideBytes * initialParticleCapacity);
104
- _float32View = new Float32Array(this._instanceData);
105
- _uint32View = new Uint32Array(this._instanceData);
106
- _pipelines = new Map();
107
- render(system) {
108
- const backend = this._backend;
109
- const texture = system.texture;
110
- if (backend === null || !(texture instanceof Texture) || texture.source === null || texture.width === 0 || texture.height === 0 || system.liveCount === 0) {
111
- return;
112
- }
113
- backend.setBlendMode(system.blendMode);
114
- const drawCallIndex = this._drawCallCount++;
115
- const drawCall = this._drawCalls[drawCallIndex];
116
- if (drawCall) {
117
- drawCall.system = system;
118
- drawCall.texture = texture;
119
- drawCall.blendMode = system.blendMode;
120
- }
121
- else {
122
- this._drawCalls.push({
123
- system,
124
- texture,
125
- blendMode: system.blendMode,
126
- });
127
- }
128
- }
129
- flush() {
130
- const backend = this._backend;
131
- const device = this._device;
132
- const uniformBuffer = this._uniformBuffer;
133
- const uniformBindGroup = this._uniformBindGroup;
134
- const staticVertexBuffer = this._staticVertexBuffer;
135
- const indexBuffer = this._indexBuffer;
136
- if (!backend || !device || !uniformBuffer || !uniformBindGroup || !staticVertexBuffer || !this._instanceBuffer || !indexBuffer) {
137
- return;
138
- }
139
- if (this._drawCallCount === 0 && !backend.clearRequested) {
140
- return;
141
- }
142
- const scissor = backend.getScissorRect();
143
- const maskClipsAll = scissor !== null && (scissor.width <= 0 || scissor.height <= 0);
144
- // If no drawcalls will actually render (none queued, or the scissor
145
- // clips everything), but a clear is pending, open a single empty
146
- // pass so createColorAttachment consumes the clear state.
147
- if (this._drawCallCount === 0 || maskClipsAll) {
148
- if (backend.clearRequested) {
149
- backend._passCoordinator.acquirePass();
150
- backend._passCoordinator.endPass();
151
- }
152
- this._drawCallCount = 0;
153
- return;
154
- }
155
- // One command encoder / pass per drawcall. Each particle system's
156
- // queue.writeBuffer calls target offset 0 of the instance and uniform
157
- // buffers — a single pass with multiple systems would see all
158
- // writeBuffers serialize before submit, leaving only the last
159
- // system's data in those buffers and making every earlier draw read
160
- // the wrong data. Also: _ensureCapacity may destroy and recreate the
161
- // instance buffer on growth; keeping one drawcall per pass means
162
- // that destroy happens strictly between submits, so no pass holds a
163
- // reference to a buffer that has since been destroyed.
164
- for (let drawCallIndex = 0; drawCallIndex < this._drawCallCount; drawCallIndex++) {
165
- const drawCall = this._drawCalls[drawCallIndex];
166
- const system = drawCall.system;
167
- const particleCount = system.liveCount;
168
- if (particleCount === 0) {
169
- continue;
170
- }
171
- const pipeline = this._getPipeline(drawCall.blendMode, backend.renderTargetFormat, backend._passCoordinator.stencilActive);
172
- const textureBinding = backend.getTextureBinding(drawCall.texture);
173
- const textureBindGroup = device.createBindGroup({
174
- layout: this._textureBindGroupLayout,
175
- entries: [
176
- {
177
- binding: 0,
178
- resource: textureBinding.view,
179
- },
180
- {
181
- binding: 1,
182
- resource: textureBinding.sampler,
183
- },
184
- ],
185
- });
186
- this._writeUniformData(backend, system, drawCall.texture);
187
- // GPU mode: the system's compute pipeline already wrote the
188
- // interleaved instance data into its own buffer. Bind it
189
- // directly — no CPU pack, no writeBuffer for instance data.
190
- // CPU mode: pack from CPU SoA into our owned instance buffer.
191
- let drawInstanceCount = particleCount;
192
- const instanceBuffer = (() => {
193
- if (system.gpuMode && system.gpuState !== null) {
194
- return system.gpuState.instanceBuffer;
195
- }
196
- this._ensureCapacity(particleCount);
197
- drawInstanceCount = this._writeInstanceData(system);
198
- device.queue.writeBuffer(this._instanceBuffer, 0, this._instanceData, 0, drawInstanceCount * instanceStrideBytes);
199
- return this._instanceBuffer;
200
- })();
201
- device.queue.writeBuffer(uniformBuffer, 0, this._uniformData.buffer, this._uniformData.byteOffset, this._uniformData.byteLength);
202
- // One coordinator-owned pass per drawcall: each system's writeBuffers
203
- // target offset 0, so the pass must be submitted before the next system
204
- // overwrites those buffers. acquirePass/endPass preserve that 1:1 ratio.
205
- const pass = backend._passCoordinator.acquirePass().pass;
206
- pass.setBindGroup(0, uniformBindGroup);
207
- pass.setPipeline(pipeline);
208
- pass.setBindGroup(1, textureBindGroup);
209
- pass.setVertexBuffer(0, staticVertexBuffer);
210
- pass.setVertexBuffer(1, instanceBuffer);
211
- pass.setIndexBuffer(indexBuffer, 'uint16');
212
- pass.drawIndexed(indicesPerParticle, drawInstanceCount, 0, 0, 0);
213
- backend.stats.batches++;
214
- backend.stats.drawCalls++;
215
- backend._passCoordinator.endPass();
216
- }
217
- this._drawCallCount = 0;
218
- }
219
- destroy() {
220
- this.disconnect();
221
- }
222
- onConnect(backend) {
223
- this._backend = backend;
224
- this._device = this._backend.device;
225
- this._shaderModule = this._device.createShaderModule({ code: particleShaderSource });
226
- this._uniformBindGroupLayout = this._device.createBindGroupLayout({
227
- entries: [
228
- {
229
- binding: 0,
230
- visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,
231
- buffer: {
232
- type: 'uniform',
233
- },
234
- },
235
- ],
236
- });
237
- this._textureBindGroupLayout = this._device.createBindGroupLayout({
238
- entries: [
239
- {
240
- binding: 0,
241
- visibility: GPUShaderStage.FRAGMENT,
242
- texture: {
243
- sampleType: 'float',
244
- },
245
- },
246
- {
247
- binding: 1,
248
- visibility: GPUShaderStage.FRAGMENT,
249
- sampler: {
250
- type: 'filtering',
251
- },
252
- },
253
- ],
254
- });
255
- this._pipelineLayout = this._device.createPipelineLayout({
256
- bindGroupLayouts: [this._uniformBindGroupLayout, this._textureBindGroupLayout],
257
- });
258
- this._uniformBuffer = this._device.createBuffer({
259
- size: uniformByteLength,
260
- usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
261
- });
262
- this._uniformBindGroup = this._device.createBindGroup({
263
- layout: this._uniformBindGroupLayout,
264
- entries: [
265
- {
266
- binding: 0,
267
- resource: {
268
- buffer: this._uniformBuffer,
269
- },
270
- },
271
- ],
272
- });
273
- this._staticVertexBuffer = this._device.createBuffer({
274
- size: staticVertexData.byteLength,
275
- usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
276
- });
277
- this._device.queue.writeBuffer(this._staticVertexBuffer, 0, staticVertexData.buffer, staticVertexData.byteOffset, staticVertexData.byteLength);
278
- this._indexBuffer = this._device.createBuffer({
279
- size: staticIndexData.byteLength,
280
- usage: GPUBufferUsage.INDEX | GPUBufferUsage.COPY_DST,
281
- });
282
- this._device.queue.writeBuffer(this._indexBuffer, 0, staticIndexData.buffer, staticIndexData.byteOffset, staticIndexData.byteLength);
283
- this._ensureCapacity(initialParticleCapacity);
284
- }
285
- onDisconnect() {
286
- this.flush();
287
- this._staticVertexBuffer?.destroy();
288
- this._instanceBuffer?.destroy();
289
- this._indexBuffer?.destroy();
290
- this._uniformBuffer?.destroy();
291
- this._pipelines.clear();
292
- this._indexBuffer = null;
293
- this._staticVertexBuffer = null;
294
- this._instanceBuffer = null;
295
- this._uniformBindGroup = null;
296
- this._uniformBuffer = null;
297
- this._pipelineLayout = null;
298
- this._textureBindGroupLayout = null;
299
- this._uniformBindGroupLayout = null;
300
- this._shaderModule = null;
301
- this._device = null;
302
- this._backend = null;
303
- this._instanceBufferByteLength = 0;
304
- this._instanceData = new ArrayBuffer(instanceStrideBytes * initialParticleCapacity);
305
- this._float32View = new Float32Array(this._instanceData);
306
- this._uint32View = new Uint32Array(this._instanceData);
307
- this._drawCallCount = 0;
308
- }
309
- _ensureCapacity(particleCount) {
310
- const requiredInstanceBytes = particleCount * instanceStrideBytes;
311
- if (requiredInstanceBytes > this._instanceData.byteLength) {
312
- let byteLength = this._instanceData.byteLength;
313
- while (byteLength < requiredInstanceBytes) {
314
- byteLength *= 2;
315
- }
316
- this._instanceData = new ArrayBuffer(byteLength);
317
- this._float32View = new Float32Array(this._instanceData);
318
- this._uint32View = new Uint32Array(this._instanceData);
319
- }
320
- if (requiredInstanceBytes > this._instanceBufferByteLength) {
321
- let byteLength = this._instanceBufferByteLength || instanceStrideBytes;
322
- while (byteLength < requiredInstanceBytes) {
323
- byteLength *= 2;
324
- }
325
- this._instanceBuffer?.destroy();
326
- this._instanceBuffer = this._device.createBuffer({
327
- size: byteLength,
328
- usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
329
- });
330
- this._instanceBufferByteLength = byteLength;
331
- }
332
- }
333
- _writeUniformData(backend, system, texture) {
334
- const projection = backend.view.getTransform().toArray(false);
335
- const transform = system.getGlobalTransform().toArray(false);
336
- const shouldPremultiplySample = backend.shouldPremultiplyTextureSample(texture);
337
- const vertices = system.vertices;
338
- const texCoords = system.texCoords;
339
- const quadMinX = vertices[0];
340
- const quadMinY = vertices[1];
341
- const quadSizeX = vertices[2] - vertices[0];
342
- const quadSizeY = vertices[3] - vertices[1];
343
- const uvMinX = (texCoords[0] & 0xffff) / 0xffff;
344
- const uvMinY = ((texCoords[0] >>> 16) & 0xffff) / 0xffff;
345
- const uvMaxX = (texCoords[2] & 0xffff) / 0xffff;
346
- const uvMaxY = ((texCoords[2] >>> 16) & 0xffff) / 0xffff;
347
- this._uniformData.set([
348
- projection[0],
349
- projection[1],
350
- 0,
351
- 0,
352
- projection[3],
353
- projection[4],
354
- 0,
355
- 0,
356
- 0,
357
- 0,
358
- 1,
359
- 0,
360
- projection[6],
361
- projection[7],
362
- 0,
363
- projection[8],
364
- transform[0],
365
- transform[1],
366
- 0,
367
- 0,
368
- transform[3],
369
- transform[4],
370
- 0,
371
- 0,
372
- 0,
373
- 0,
374
- 1,
375
- 0,
376
- transform[6],
377
- transform[7],
378
- 0,
379
- transform[8],
380
- shouldPremultiplySample ? 1 : 0,
381
- 0,
382
- 0,
383
- 0,
384
- quadMinX,
385
- quadMinY,
386
- quadSizeX,
387
- quadSizeY,
388
- uvMinX,
389
- uvMinY,
390
- uvMaxX,
391
- uvMaxY,
392
- ]);
393
- }
394
- _writeInstanceData(system) {
395
- const { posX, posY, scaleX, scaleY, rotations, color, textureIndex, alive, liveCount } = system;
396
- const f32 = this._float32View;
397
- const u32 = this._uint32View;
398
- const { uvMins, uvMaxs } = this._computeFrameUvs(system);
399
- const frameCount = uvMins.length / 2;
400
- let writeIndex = 0;
401
- for (let particleIndex = 0; particleIndex < liveCount; particleIndex++) {
402
- // Skip dead slots — present in GPU-mode systems where the live
403
- // range can carry holes filled in on next spawn.
404
- if (alive[particleIndex] === 0) {
405
- continue;
406
- }
407
- const targetIndex = writeIndex * instanceWords;
408
- const frame = textureIndex[particleIndex] < frameCount ? textureIndex[particleIndex] : 0;
409
- const uvBase = frame * 2;
410
- f32[targetIndex + 0] = posX[particleIndex];
411
- f32[targetIndex + 1] = posY[particleIndex];
412
- f32[targetIndex + 2] = scaleX[particleIndex];
413
- f32[targetIndex + 3] = scaleY[particleIndex];
414
- f32[targetIndex + 4] = rotations[particleIndex];
415
- u32[targetIndex + 5] = color[particleIndex];
416
- f32[targetIndex + 6] = uvMins[uvBase + 0];
417
- f32[targetIndex + 7] = uvMins[uvBase + 1];
418
- f32[targetIndex + 8] = uvMaxs[uvBase + 0];
419
- f32[targetIndex + 9] = uvMaxs[uvBase + 1];
420
- writeIndex++;
421
- }
422
- return writeIndex;
423
- }
424
- /**
425
- * Same atlas/UV-resolution as the WebGL2 path. Returns the per-frame
426
- * (uvMin, uvMax) pairs derived from `system.frames` (or fallback to
427
- * `system.textureFrame` when no atlas is declared), already flipY-
428
- * adjusted for the current texture.
429
- */
430
- _uvMinsScratch = new Float32Array(2);
431
- _uvMaxsScratch = new Float32Array(2);
432
- _computeFrameUvs(system) {
433
- const frames = system.frames;
434
- const tex = system.texture;
435
- const texW = tex.width;
436
- const texH = tex.height;
437
- const flipY = tex.flipY;
438
- const count = frames.length === 0 ? 1 : frames.length;
439
- if (this._uvMinsScratch.length < count * 2) {
440
- this._uvMinsScratch = new Float32Array(count * 2);
441
- this._uvMaxsScratch = new Float32Array(count * 2);
442
- }
443
- const mins = this._uvMinsScratch;
444
- const maxs = this._uvMaxsScratch;
445
- if (frames.length === 0) {
446
- const f = system.textureFrame;
447
- const minU = f.left / texW;
448
- const maxU = f.right / texW;
449
- const topV = f.top / texH;
450
- const bottomV = f.bottom / texH;
451
- mins[0] = minU;
452
- mins[1] = flipY ? bottomV : topV;
453
- maxs[0] = maxU;
454
- maxs[1] = flipY ? topV : bottomV;
455
- return { uvMins: mins, uvMaxs: maxs };
456
- }
457
- for (let i = 0; i < frames.length; i++) {
458
- const f = frames[i];
459
- const o = i * 2;
460
- const minU = f.left / texW;
461
- const maxU = f.right / texW;
462
- const topV = f.top / texH;
463
- const bottomV = f.bottom / texH;
464
- mins[o + 0] = minU;
465
- mins[o + 1] = flipY ? bottomV : topV;
466
- maxs[o + 0] = maxU;
467
- maxs[o + 1] = flipY ? topV : bottomV;
468
- }
469
- return { uvMins: mins, uvMaxs: maxs };
470
- }
471
- _getPipeline(blendMode, format, stencil) {
472
- const pipelineKey = `${blendMode}:${format}:${stencil ? 's' : 'n'}`;
473
- const existingPipeline = this._pipelines.get(pipelineKey);
474
- if (existingPipeline) {
475
- return existingPipeline;
476
- }
477
- const descriptor = {
478
- layout: this._pipelineLayout,
479
- vertex: {
480
- module: this._shaderModule,
481
- entryPoint: 'vertexMain',
482
- buffers: [
483
- {
484
- arrayStride: staticVertexStrideBytes,
485
- attributes: [
486
- {
487
- shaderLocation: 0,
488
- offset: 0,
489
- format: 'float32x2',
490
- },
491
- ],
492
- },
493
- {
494
- arrayStride: instanceStrideBytes,
495
- stepMode: 'instance',
496
- attributes: [
497
- {
498
- shaderLocation: 1,
499
- offset: 0,
500
- format: 'float32x2',
501
- },
502
- {
503
- shaderLocation: 2,
504
- offset: 8,
505
- format: 'float32x2',
506
- },
507
- {
508
- shaderLocation: 3,
509
- offset: 16,
510
- format: 'float32',
511
- },
512
- {
513
- shaderLocation: 4,
514
- offset: 20,
515
- format: 'unorm8x4',
516
- },
517
- {
518
- shaderLocation: 5,
519
- offset: 24,
520
- format: 'float32x2',
521
- },
522
- {
523
- shaderLocation: 6,
524
- offset: 32,
525
- format: 'float32x2',
526
- },
527
- ],
528
- },
529
- ],
530
- },
531
- fragment: {
532
- module: this._shaderModule,
533
- entryPoint: 'fragmentMain',
534
- targets: [
535
- {
536
- format,
537
- blend: getWebGpuBlendState(blendMode),
538
- writeMask: GPUColorWrite.ALL,
539
- },
540
- ],
541
- },
542
- primitive: {
543
- topology: 'triangle-list',
544
- },
545
- };
546
- if (stencil) {
547
- descriptor.depthStencil = stencilContentDepthStencilState();
548
- }
549
- const pipeline = this._device.createRenderPipeline(descriptor);
550
- this._pipelines.set(pipelineKey, pipeline);
551
- return pipeline;
552
- }
553
- }
554
-
555
- export { WebGpuParticleRenderer };
556
- //# sourceMappingURL=WebGpuParticleRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebGpuParticleRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuParticleRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}