@codexo/exojs 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +3 -3
  3. package/dist/esm/audio/AbstractMedia.d.ts +3 -3
  4. package/dist/esm/audio/AbstractMedia.js +7 -2
  5. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  6. package/dist/esm/audio/AudioAnalyser.d.ts +1 -1
  7. package/dist/esm/audio/AudioAnalyser.js +13 -3
  8. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  9. package/dist/esm/audio/Media.d.ts +1 -1
  10. package/dist/esm/audio/Music.d.ts +2 -2
  11. package/dist/esm/audio/Music.js +2 -1
  12. package/dist/esm/audio/Music.js.map +1 -1
  13. package/dist/esm/audio/Sound.d.ts +2 -2
  14. package/dist/esm/audio/Sound.js +10 -9
  15. package/dist/esm/audio/Sound.js.map +1 -1
  16. package/dist/esm/audio/audio-context.d.ts +1 -1
  17. package/dist/esm/core/Application.d.ts +5 -5
  18. package/dist/esm/core/Application.js +15 -7
  19. package/dist/esm/core/Application.js.map +1 -1
  20. package/dist/esm/core/Bounds.d.ts +2 -2
  21. package/dist/esm/core/Bounds.js +6 -8
  22. package/dist/esm/core/Bounds.js.map +1 -1
  23. package/dist/esm/core/Clock.js +3 -2
  24. package/dist/esm/core/Clock.js.map +1 -1
  25. package/dist/esm/core/Color.d.ts +1 -1
  26. package/dist/esm/core/Color.js +148 -144
  27. package/dist/esm/core/Color.js.map +1 -1
  28. package/dist/esm/core/Quadtree.d.ts +2 -2
  29. package/dist/esm/core/Quadtree.js +6 -4
  30. package/dist/esm/core/Quadtree.js.map +1 -1
  31. package/dist/esm/core/Scene.d.ts +5 -5
  32. package/dist/esm/core/Scene.js +5 -6
  33. package/dist/esm/core/Scene.js.map +1 -1
  34. package/dist/esm/core/SceneManager.js +42 -41
  35. package/dist/esm/core/SceneManager.js.map +1 -1
  36. package/dist/esm/core/SceneNode.d.ts +11 -11
  37. package/dist/esm/core/SceneNode.js +22 -24
  38. package/dist/esm/core/SceneNode.js.map +1 -1
  39. package/dist/esm/core/Signal.js +6 -4
  40. package/dist/esm/core/Signal.js.map +1 -1
  41. package/dist/esm/core/Time.d.ts +1 -1
  42. package/dist/esm/core/Time.js +10 -9
  43. package/dist/esm/core/Time.js.map +1 -1
  44. package/dist/esm/core/Timer.d.ts +1 -1
  45. package/dist/esm/core/Timer.js +1 -0
  46. package/dist/esm/core/Timer.js.map +1 -1
  47. package/dist/esm/core/types.d.ts +1 -1
  48. package/dist/esm/core/utils.d.ts +3 -3
  49. package/dist/esm/index.js +3 -2
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/input/ArcadeStickGamepadMapping.js +1 -1
  52. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  53. package/dist/esm/input/GameCubeGamepadMapping.js +1 -4
  54. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  55. package/dist/esm/input/Gamepad.d.ts +1 -1
  56. package/dist/esm/input/Gamepad.js +19 -15
  57. package/dist/esm/input/Gamepad.js.map +1 -1
  58. package/dist/esm/input/GamepadChannels.js +2 -0
  59. package/dist/esm/input/GamepadChannels.js.map +1 -1
  60. package/dist/esm/input/GamepadControl.js +5 -0
  61. package/dist/esm/input/GamepadControl.js.map +1 -1
  62. package/dist/esm/input/GamepadMapping.js +2 -0
  63. package/dist/esm/input/GamepadMapping.js.map +1 -1
  64. package/dist/esm/input/GamepadPromptLayouts.js +19 -19
  65. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  66. package/dist/esm/input/GenericDualAnalogGamepadMapping.js +1 -1
  67. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  68. package/dist/esm/input/Input.d.ts +2 -2
  69. package/dist/esm/input/Input.js +8 -7
  70. package/dist/esm/input/Input.js.map +1 -1
  71. package/dist/esm/input/InputManager.d.ts +3 -3
  72. package/dist/esm/input/InputManager.js +43 -39
  73. package/dist/esm/input/InputManager.js.map +1 -1
  74. package/dist/esm/input/JoyConLeftGamepadMapping.js +1 -4
  75. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  76. package/dist/esm/input/JoyConRightGamepadMapping.js +1 -4
  77. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  78. package/dist/esm/input/PlayStationGamepadMapping.js +1 -4
  79. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  80. package/dist/esm/input/Pointer.d.ts +3 -3
  81. package/dist/esm/input/Pointer.js +12 -3
  82. package/dist/esm/input/Pointer.js.map +1 -1
  83. package/dist/esm/input/SteamControllerGamepadMapping.js +1 -4
  84. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  85. package/dist/esm/input/SwitchProGamepadMapping.js +1 -4
  86. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  87. package/dist/esm/input/XboxGamepadMapping.js +1 -4
  88. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  89. package/dist/esm/input/types.js +7 -1
  90. package/dist/esm/input/types.js.map +1 -1
  91. package/dist/esm/math/AbstractVector.d.ts +1 -1
  92. package/dist/esm/math/Circle.d.ts +6 -6
  93. package/dist/esm/math/Circle.js +17 -14
  94. package/dist/esm/math/Circle.js.map +1 -1
  95. package/dist/esm/math/Collision.d.ts +2 -2
  96. package/dist/esm/math/Collision.js +13 -0
  97. package/dist/esm/math/Collision.js.map +1 -0
  98. package/dist/esm/math/Ellipse.d.ts +6 -6
  99. package/dist/esm/math/Ellipse.js +11 -8
  100. package/dist/esm/math/Ellipse.js.map +1 -1
  101. package/dist/esm/math/Flags.d.ts +1 -1
  102. package/dist/esm/math/Flags.js +1 -1
  103. package/dist/esm/math/Flags.js.map +1 -1
  104. package/dist/esm/math/Interval.d.ts +1 -1
  105. package/dist/esm/math/Interval.js +3 -1
  106. package/dist/esm/math/Interval.js.map +1 -1
  107. package/dist/esm/math/Line.d.ts +6 -6
  108. package/dist/esm/math/Line.js +11 -8
  109. package/dist/esm/math/Line.js.map +1 -1
  110. package/dist/esm/math/Matrix.d.ts +1 -1
  111. package/dist/esm/math/Matrix.js +11 -2
  112. package/dist/esm/math/Matrix.js.map +1 -1
  113. package/dist/esm/math/ObservableSize.js +1 -0
  114. package/dist/esm/math/ObservableSize.js.map +1 -1
  115. package/dist/esm/math/ObservableVector.d.ts +1 -1
  116. package/dist/esm/math/ObservableVector.js +3 -0
  117. package/dist/esm/math/ObservableVector.js.map +1 -1
  118. package/dist/esm/math/PolarVector.d.ts +1 -1
  119. package/dist/esm/math/PolarVector.js +2 -0
  120. package/dist/esm/math/PolarVector.js.map +1 -1
  121. package/dist/esm/math/Polygon.d.ts +6 -6
  122. package/dist/esm/math/Polygon.js +17 -15
  123. package/dist/esm/math/Polygon.js.map +1 -1
  124. package/dist/esm/math/PolygonLike.d.ts +1 -1
  125. package/dist/esm/math/Random.js +4 -4
  126. package/dist/esm/math/Random.js.map +1 -1
  127. package/dist/esm/math/Rectangle.d.ts +7 -7
  128. package/dist/esm/math/Rectangle.js +17 -14
  129. package/dist/esm/math/Rectangle.js.map +1 -1
  130. package/dist/esm/math/Segment.d.ts +2 -2
  131. package/dist/esm/math/Segment.js +2 -0
  132. package/dist/esm/math/Segment.js.map +1 -1
  133. package/dist/esm/math/ShapeLike.d.ts +2 -2
  134. package/dist/esm/math/Size.d.ts +1 -1
  135. package/dist/esm/math/Size.js +3 -1
  136. package/dist/esm/math/Size.js.map +1 -1
  137. package/dist/esm/math/Transformable.js +9 -11
  138. package/dist/esm/math/Transformable.js.map +1 -1
  139. package/dist/esm/math/Vector.d.ts +5 -5
  140. package/dist/esm/math/Vector.js +13 -10
  141. package/dist/esm/math/Vector.js.map +1 -1
  142. package/dist/esm/math/collision-detection.d.ts +7 -7
  143. package/dist/esm/math/collision-detection.js +9 -9
  144. package/dist/esm/math/collision-detection.js.map +1 -1
  145. package/dist/esm/math/collision-primitives.d.ts +2 -2
  146. package/dist/esm/math/collision-primitives.js +4 -4
  147. package/dist/esm/math/collision-primitives.js.map +1 -1
  148. package/dist/esm/math/geometry.d.ts +1 -1
  149. package/dist/esm/math/utils.d.ts +1 -1
  150. package/dist/esm/math/utils.js +17 -11
  151. package/dist/esm/math/utils.js.map +1 -1
  152. package/dist/esm/particles/Particle.d.ts +4 -4
  153. package/dist/esm/particles/Particle.js +9 -11
  154. package/dist/esm/particles/Particle.js.map +1 -1
  155. package/dist/esm/particles/ParticleProperties.d.ts +3 -3
  156. package/dist/esm/particles/ParticleSystem.d.ts +6 -6
  157. package/dist/esm/particles/ParticleSystem.js +10 -9
  158. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  159. package/dist/esm/particles/affectors/ColorAffector.d.ts +4 -4
  160. package/dist/esm/particles/affectors/ColorAffector.js +2 -0
  161. package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
  162. package/dist/esm/particles/affectors/ForceAffector.d.ts +4 -4
  163. package/dist/esm/particles/affectors/ForceAffector.js +1 -0
  164. package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
  165. package/dist/esm/particles/affectors/ParticleAffector.d.ts +2 -2
  166. package/dist/esm/particles/affectors/ScaleAffector.d.ts +4 -4
  167. package/dist/esm/particles/affectors/ScaleAffector.js +1 -0
  168. package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
  169. package/dist/esm/particles/affectors/TorqueAffector.d.ts +3 -3
  170. package/dist/esm/particles/affectors/TorqueAffector.js +1 -0
  171. package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
  172. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +2 -2
  173. package/dist/esm/particles/emitters/ParticleOptions.d.ts +15 -4
  174. package/dist/esm/particles/emitters/ParticleOptions.js +20 -0
  175. package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
  176. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +4 -4
  177. package/dist/esm/particles/emitters/UniversalEmitter.js +3 -1
  178. package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
  179. package/dist/esm/physics/RapierPhysicsWorld.d.ts +4 -4
  180. package/dist/esm/physics/RapierPhysicsWorld.js +19 -8
  181. package/dist/esm/physics/RapierPhysicsWorld.js.map +1 -1
  182. package/dist/esm/rendering/CallbackRenderPass.js +1 -0
  183. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  184. package/dist/esm/rendering/Container.d.ts +2 -2
  185. package/dist/esm/rendering/Container.js +9 -9
  186. package/dist/esm/rendering/Container.js.map +1 -1
  187. package/dist/esm/rendering/Drawable.d.ts +2 -2
  188. package/dist/esm/rendering/Drawable.js +2 -5
  189. package/dist/esm/rendering/Drawable.js.map +1 -1
  190. package/dist/esm/rendering/RenderNode.d.ts +6 -6
  191. package/dist/esm/rendering/RenderNode.js +9 -12
  192. package/dist/esm/rendering/RenderNode.js.map +1 -1
  193. package/dist/esm/rendering/RenderTarget.d.ts +3 -3
  194. package/dist/esm/rendering/RenderTarget.js +7 -3
  195. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  196. package/dist/esm/rendering/RenderTargetPass.d.ts +1 -1
  197. package/dist/esm/rendering/RenderTargetPass.js +4 -0
  198. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  199. package/dist/esm/rendering/RendererRegistry.js +2 -4
  200. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  201. package/dist/esm/rendering/SceneRenderRuntime.d.ts +2 -2
  202. package/dist/esm/rendering/View.d.ts +4 -4
  203. package/dist/esm/rendering/View.js +28 -24
  204. package/dist/esm/rendering/View.js.map +1 -1
  205. package/dist/esm/rendering/filters/BlurFilter.d.ts +2 -2
  206. package/dist/esm/rendering/filters/BlurFilter.js +4 -4
  207. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  208. package/dist/esm/rendering/filters/ColorFilter.d.ts +3 -3
  209. package/dist/esm/rendering/filters/ColorFilter.js +2 -1
  210. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  211. package/dist/esm/rendering/filters/Filter.d.ts +2 -2
  212. package/dist/esm/rendering/primitives/DrawableShape.d.ts +4 -4
  213. package/dist/esm/rendering/primitives/DrawableShape.js +3 -0
  214. package/dist/esm/rendering/primitives/DrawableShape.js.map +1 -1
  215. package/dist/esm/rendering/primitives/Geometry.js +3 -0
  216. package/dist/esm/rendering/primitives/Geometry.js.map +1 -1
  217. package/dist/esm/rendering/primitives/Graphics.d.ts +4 -4
  218. package/dist/esm/rendering/primitives/Graphics.js +4 -7
  219. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  220. package/dist/esm/rendering/shader/Shader.js +5 -3
  221. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  222. package/dist/esm/rendering/shader/ShaderAttribute.js +5 -1
  223. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  224. package/dist/esm/rendering/shader/ShaderUniform.d.ts +1 -1
  225. package/dist/esm/rendering/shader/ShaderUniform.js +6 -1
  226. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  227. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +5 -5
  228. package/dist/esm/rendering/sprite/AnimatedSprite.js +8 -8
  229. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  230. package/dist/esm/rendering/sprite/Sprite.d.ts +6 -6
  231. package/dist/esm/rendering/sprite/Sprite.js +4 -4
  232. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  233. package/dist/esm/rendering/sprite/Spritesheet.d.ts +1 -1
  234. package/dist/esm/rendering/sprite/Spritesheet.js +4 -3
  235. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  236. package/dist/esm/rendering/text/Text.d.ts +2 -2
  237. package/dist/esm/rendering/text/Text.js +5 -1
  238. package/dist/esm/rendering/text/Text.js.map +1 -1
  239. package/dist/esm/rendering/text/TextStyle.js +14 -1
  240. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  241. package/dist/esm/rendering/texture/RenderTexture.d.ts +3 -3
  242. package/dist/esm/rendering/texture/RenderTexture.js +14 -9
  243. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  244. package/dist/esm/rendering/texture/Sampler.d.ts +1 -1
  245. package/dist/esm/rendering/texture/Sampler.js +7 -0
  246. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  247. package/dist/esm/rendering/texture/Texture.d.ts +3 -3
  248. package/dist/esm/rendering/texture/Texture.js +19 -17
  249. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  250. package/dist/esm/rendering/video/Video.d.ts +3 -3
  251. package/dist/esm/rendering/video/Video.js +15 -10
  252. package/dist/esm/rendering/video/Video.js.map +1 -1
  253. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +1 -1
  254. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +16 -9
  255. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  256. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +2 -4
  257. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  258. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +1 -1
  259. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js +11 -5
  260. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js.map +1 -1
  261. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +2 -2
  262. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +5 -3
  263. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  264. package/dist/esm/rendering/webgl2/WebGl2RenderManager.d.ts +4 -4
  265. package/dist/esm/rendering/webgl2/WebGl2RenderManager.js +28 -20
  266. package/dist/esm/rendering/webgl2/WebGl2RenderManager.js.map +1 -1
  267. package/dist/esm/rendering/webgl2/WebGl2RendererRuntime.d.ts +1 -1
  268. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +9 -1
  269. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  270. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js +7 -0
  271. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js.map +1 -1
  272. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
  273. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js +5 -4
  274. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
  275. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +2 -4
  276. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  277. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +1 -1
  278. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +3 -3
  279. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +85 -65
  280. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  281. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +5 -9
  282. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +177 -113
  283. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -1
  284. package/dist/esm/rendering/webgpu/WebGpuRenderManager.d.ts +4 -4
  285. package/dist/esm/rendering/webgpu/WebGpuRenderManager.js +79 -65
  286. package/dist/esm/rendering/webgpu/WebGpuRenderManager.js.map +1 -1
  287. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +3 -3
  288. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +172 -132
  289. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  290. package/dist/esm/resources/AbstractAssetFactory.js +1 -3
  291. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  292. package/dist/esm/resources/AssetManifest.js +2 -0
  293. package/dist/esm/resources/AssetManifest.js.map +1 -1
  294. package/dist/esm/resources/FactoryRegistry.js +1 -3
  295. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  296. package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
  297. package/dist/esm/resources/IndexedDbDatabase.js +7 -3
  298. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  299. package/dist/esm/resources/IndexedDbStore.js +1 -0
  300. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  301. package/dist/esm/resources/Loader.d.ts +1 -1
  302. package/dist/esm/resources/Loader.js +21 -17
  303. package/dist/esm/resources/Loader.js.map +1 -1
  304. package/dist/esm/resources/factories/BinaryFactory.d.ts +1 -1
  305. package/dist/esm/resources/factories/BinaryFactory.js +1 -4
  306. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  307. package/dist/esm/resources/factories/FontFactory.d.ts +1 -1
  308. package/dist/esm/resources/factories/FontFactory.js +2 -5
  309. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  310. package/dist/esm/resources/factories/ImageFactory.d.ts +1 -1
  311. package/dist/esm/resources/factories/ImageFactory.js +1 -4
  312. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  313. package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
  314. package/dist/esm/resources/factories/JsonFactory.js +1 -4
  315. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  316. package/dist/esm/resources/factories/MusicFactory.d.ts +3 -3
  317. package/dist/esm/resources/factories/MusicFactory.js +2 -5
  318. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  319. package/dist/esm/resources/factories/SoundFactory.d.ts +3 -3
  320. package/dist/esm/resources/factories/SoundFactory.js +1 -4
  321. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  322. package/dist/esm/resources/factories/SvgFactory.d.ts +1 -1
  323. package/dist/esm/resources/factories/SvgFactory.js +1 -4
  324. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  325. package/dist/esm/resources/factories/TextFactory.d.ts +1 -1
  326. package/dist/esm/resources/factories/TextFactory.js +1 -4
  327. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  328. package/dist/esm/resources/factories/TextureFactory.d.ts +3 -3
  329. package/dist/esm/resources/factories/TextureFactory.js +1 -4
  330. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  331. package/dist/esm/resources/factories/VideoFactory.d.ts +4 -4
  332. package/dist/esm/resources/factories/VideoFactory.js +2 -5
  333. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  334. package/dist/esm/resources/factories/VttFactory.d.ts +1 -1
  335. package/dist/esm/resources/factories/VttFactory.js +1 -4
  336. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  337. package/dist/esm/resources/factories/WasmFactory.d.ts +1 -1
  338. package/dist/esm/resources/factories/WasmFactory.js +1 -4
  339. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  340. package/dist/esm/resources/utils.js +5 -5
  341. package/dist/esm/resources/utils.js.map +1 -1
  342. package/dist/exo.esm.js +2074 -1813
  343. package/dist/exo.esm.js.map +1 -1
  344. package/dist/exo.esm.min.js +1 -1
  345. package/dist/exo.esm.min.js.map +1 -1
  346. package/dist/exo.global.js +2074 -1813
  347. package/dist/exo.global.js.map +1 -1
  348. package/dist/exo.global.min.js +1 -1
  349. package/dist/exo.global.min.js.map +1 -1
  350. package/package.json +96 -99
  351. package/dist/exo.d.ts +0 -4748
@@ -1,4 +1,4 @@
1
- import type { BlendModes } from 'rendering/types';
1
+ import type { BlendModes } from '@/rendering/types';
2
2
  import type { RenderBackendType } from '../RenderBackendType';
3
3
  import type { SceneRenderRuntime } from '../SceneRenderRuntime';
4
4
  import type { Shader } from '../shader/Shader';
@@ -2,8 +2,16 @@ import { ShaderUniform } from '../shader/ShaderUniform.js';
2
2
  import { webGl2PrimitiveArrayConstructors, webGl2PrimitiveByteSizeMapping } from './WebGl2ShaderMappings.js';
3
3
 
4
4
  class WebGl2ShaderBlock {
5
+ index;
6
+ name;
7
+ binding;
8
+ dataSize;
9
+ _context;
10
+ _program;
11
+ _blockData;
12
+ _uniformBuffer;
13
+ _uniforms = new Map();
5
14
  constructor(gl, program, index) {
6
- this._uniforms = new Map();
7
15
  this._context = gl;
8
16
  this._program = program;
9
17
  this.index = index;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGl2ShaderBlock.js","sources":["../../../../../src/rendering/webgl2/WebGl2ShaderBlock.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGl2ShaderBlock.js","sources":["../../../../../src/rendering/webgl2/WebGl2ShaderBlock.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -61,6 +61,13 @@ function createWebGl2ShaderRuntime(gl) {
61
61
  gl.useProgram(null);
62
62
  },
63
63
  sync: () => {
64
+ // Bind the program before syncing uniforms. WebGl2RenderManager
65
+ // does not call bindShader() on the active renderer's shader
66
+ // during normal draw flow, so sync() is the first entry point
67
+ // that must establish program binding — otherwise uniform*
68
+ // targets the wrong (or no) program and the subsequent draw
69
+ // call fails with "no valid shader program in use".
70
+ gl.useProgram(program);
64
71
  syncUniforms();
65
72
  },
66
73
  destroy: (shader) => {
@@ -1 +1 @@
1
- {"version":3,"file":"WebGl2ShaderRuntime.js","sources":["../../../../../src/rendering/webgl2/WebGl2ShaderRuntime.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGl2ShaderRuntime.js","sources":["../../../../../src/rendering/webgl2/WebGl2ShaderRuntime.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { RenderingPrimitives } from 'rendering/types';
1
+ import { RenderingPrimitives } from '@/rendering/types';
2
2
  import type { ShaderAttribute } from '../shader/ShaderAttribute';
3
3
  import type { WebGl2RenderBuffer } from './WebGl2RenderBuffer';
4
4
  interface VaoAttribute {
@@ -1,11 +1,12 @@
1
1
  import { RenderingPrimitives, ShaderPrimitives } from '../types.js';
2
2
 
3
3
  class WebGl2VertexArrayObject {
4
+ _attributes = [];
5
+ _indexBuffer = null;
6
+ _drawMode;
7
+ _runtime = null;
8
+ _version = 0;
4
9
  constructor(drawMode = RenderingPrimitives.Triangles) {
5
- this._attributes = [];
6
- this._indexBuffer = null;
7
- this._runtime = null;
8
- this._version = 0;
9
10
  this._drawMode = drawMode;
10
11
  }
11
12
  get attributes() {
@@ -1 +1 @@
1
- {"version":3,"file":"WebGl2VertexArrayObject.js","sources":["../../../../../src/rendering/webgl2/WebGl2VertexArrayObject.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAqBa,uBAAuB,CAAA;IAQhC,WAAA,CAAmB,QAAA,GAAgC,mBAAmB,CAAC,SAAS,EAAA;QAN/D,IAAA,CAAA,WAAW,GAAwB,EAAE;QAC9C,IAAA,CAAA,YAAY,GAA8B,IAAI;QAE9C,IAAA,CAAA,QAAQ,GAA0C,IAAI;QACtD,IAAA,CAAA,QAAQ,GAAG,CAAC;AAGhB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC7B;AAEA,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW;IAC3B;AAEA,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY;IAC5B;AAEA,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS;IACzB;AAEA,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ;IACxB;AAEO,IAAA,OAAO,CAAC,OAAuC,EAAA;AAClD,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AAEvB,QAAA,OAAO,IAAI;IACf;IAEO,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AAEpB,QAAA,OAAO,IAAI;IACf;IAEO,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzB,QAAA,OAAO,IAAI;IACf;IAEO,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;AAE3B,QAAA,OAAO,IAAI;IACf;IAEO,YAAY,CAAC,MAA0B,EAAE,SAA0B,EAAE,IAAA,GAAe,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAA;AACxJ,QAAA,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS;QAEpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,QAAQ,CAAC,MAA0B,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;QAC1B,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACf;IAEO,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACf;IAEO,IAAI,CAAC,IAAY,EAAE,KAAa,EAAE,IAAA,GAA4B,IAAI,CAAC,SAAS,EAAA;AAC/E,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AAE5C,QAAA,OAAO,IAAI;IACf;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;IAC5B;AACH;;;;"}
1
+ {"version":3,"file":"WebGl2VertexArrayObject.js","sources":["../../../../../src/rendering/webgl2/WebGl2VertexArrayObject.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAqBa,uBAAuB,CAAA;IAEf,WAAW,GAAwB,EAAE;IAC9C,YAAY,GAA8B,IAAI;AAC9C,IAAA,SAAS;IACT,QAAQ,GAA0C,IAAI;IACtD,QAAQ,GAAG,CAAC;IAEpB,WAAA,CAAmB,QAAA,GAAgC,mBAAmB,CAAC,SAAS,EAAA;AAC5E,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC7B;AAEA,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW;IAC3B;AAEA,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY;IAC5B;AAEA,IAAA,IAAW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS;IACzB;AAEA,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ;IACxB;AAEO,IAAA,OAAO,CAAC,OAAuC,EAAA;AAClD,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AAEvB,QAAA,OAAO,IAAI;IACf;IAEO,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AAEpB,QAAA,OAAO,IAAI;IACf;IAEO,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzB,QAAA,OAAO,IAAI;IACf;IAEO,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;AAE3B,QAAA,OAAO,IAAI;IACf;IAEO,YAAY,CAAC,MAA0B,EAAE,SAA0B,EAAE,IAAA,GAAe,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAA;AACxJ,QAAA,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS;QAEpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,QAAQ,CAAC,MAA0B,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;QAC1B,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACf;IAEO,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACf;IAEO,IAAI,CAAC,IAAY,EAAE,KAAa,EAAE,IAAA,GAA4B,IAAI,CAAC,SAAS,EAAA;AAC/E,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AAE5C,QAAA,OAAO,IAAI;IACf;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;IAC5B;AACH;;;;"}
@@ -14,10 +14,8 @@ import { RenderBackendType } from '../RenderBackendType.js';
14
14
  * - flush(): encode and submit command buffers for all collected draw calls
15
15
  */
16
16
  class AbstractWebGpuRenderer {
17
- constructor() {
18
- this.backendType = RenderBackendType.WebGpu;
19
- this._runtime = null;
20
- }
17
+ backendType = RenderBackendType.WebGpu;
18
+ _runtime = null;
21
19
  connect(runtime) {
22
20
  if (this._runtime !== null) {
23
21
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractWebGpuRenderer.js","sources":["../../../../../src/rendering/webgpu/AbstractWebGpuRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AAOA;;;;;;;;;;;AAWG;MACmB,sBAAsB,CAAA;AAA5C,IAAA,WAAA,GAAA;AAEoB,QAAA,IAAA,CAAA,WAAW,GAAG,iBAAiB,CAAC,MAAM;QAE9C,IAAA,CAAA,QAAQ,GAAiC,IAAI;IA6CzD;AA3CW,IAAA,OAAO,CAAC,OAA8B,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB;QACJ;QAEA,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,CAAC,MAAM,EAAE;YAClD,MAAM,IAAI,KAAK,CACX,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,4BAAA;kBACtB,CAAA,yBAAA,EAA4B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA,CAAA,CAAG,CAC/D;QACL;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC3B;IAEO,UAAU,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB;QACJ;QAEA,IAAI,CAAC,KAAK,EAAE;QACZ,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACxB;IAQU,UAAU,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,+BAAA,CAAiC,CAAC;QAC9E;QAEA,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEU,gBAAgB,GAAA;QACtB,OAAO,IAAI,CAAC,QAAQ;IACxB;AACH;;;;"}
1
+ {"version":3,"file":"AbstractWebGpuRenderer.js","sources":["../../../../../src/rendering/webgpu/AbstractWebGpuRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AAOA;;;;;;;;;;;AAWG;MACmB,sBAAsB,CAAA;AAExB,IAAA,WAAW,GAAG,iBAAiB,CAAC,MAAM;IAE9C,QAAQ,GAAiC,IAAI;AAE9C,IAAA,OAAO,CAAC,OAA8B,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB;QACJ;QAEA,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,CAAC,MAAM,EAAE;YAClD,MAAM,IAAI,KAAK,CACX,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,4BAAA;kBACtB,CAAA,yBAAA,EAA4B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA,CAAA,CAAG,CAC/D;QACL;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC3B;IAEO,UAAU,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB;QACJ;QAEA,IAAI,CAAC,KAAK,EAAE;QACZ,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACxB;IAQU,UAAU,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,+BAAA,CAAiC,CAAC;QAC9E;QAEA,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEU,gBAAgB,GAAA;QACtB,OAAO,IAAI,CAAC,QAAQ;IACxB;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- import { BlendModes } from 'rendering/types';
1
+ import { BlendModes } from '@/rendering/types';
2
2
  /**
3
3
  * Returns the GPUBlendState for a given ExoJS blend mode.
4
4
  * Shared by all WebGPU renderers to avoid duplication.
@@ -1,6 +1,6 @@
1
- import { AbstractWebGpuRenderer } from 'rendering/webgpu/AbstractWebGpuRenderer';
2
- import type { WebGpuRendererRuntime } from 'rendering/webgpu/WebGpuRendererRuntime';
3
- import type { ParticleSystem } from 'particles/ParticleSystem';
1
+ import { AbstractWebGpuRenderer } from '@/rendering/webgpu/AbstractWebGpuRenderer';
2
+ import type { WebGpuRendererRuntime } from '@/rendering/webgpu/WebGpuRendererRuntime';
3
+ import type { ParticleSystem } from '@/particles/ParticleSystem';
4
4
  export declare class WebGpuParticleRenderer extends AbstractWebGpuRenderer<ParticleSystem> {
5
5
  private readonly _drawCalls;
6
6
  private _drawCallCount;
@@ -82,28 +82,25 @@ const staticIndexData = new Uint16Array([
82
82
  0, 2, 3,
83
83
  ]);
84
84
  class WebGpuParticleRenderer extends AbstractWebGpuRenderer {
85
- constructor() {
86
- super(...arguments);
87
- this._drawCalls = [];
88
- this._drawCallCount = 0;
89
- this._uniformData = new Float32Array(uniformByteLength / Float32Array.BYTES_PER_ELEMENT);
90
- this._renderManager = null;
91
- this._device = null;
92
- this._shaderModule = null;
93
- this._uniformBindGroupLayout = null;
94
- this._textureBindGroupLayout = null;
95
- this._pipelineLayout = null;
96
- this._uniformBuffer = null;
97
- this._uniformBindGroup = null;
98
- this._staticVertexBuffer = null;
99
- this._instanceBuffer = null;
100
- this._indexBuffer = null;
101
- this._instanceBufferByteLength = 0;
102
- this._instanceData = new ArrayBuffer(instanceStrideBytes * initialParticleCapacity);
103
- this._float32View = new Float32Array(this._instanceData);
104
- this._uint32View = new Uint32Array(this._instanceData);
105
- this._pipelines = new Map();
106
- }
85
+ _drawCalls = [];
86
+ _drawCallCount = 0;
87
+ _uniformData = new Float32Array(uniformByteLength / Float32Array.BYTES_PER_ELEMENT);
88
+ _renderManager = null;
89
+ _device = null;
90
+ _shaderModule = null;
91
+ _uniformBindGroupLayout = null;
92
+ _textureBindGroupLayout = null;
93
+ _pipelineLayout = null;
94
+ _uniformBuffer = null;
95
+ _uniformBindGroup = null;
96
+ _staticVertexBuffer = null;
97
+ _instanceBuffer = null;
98
+ _indexBuffer = null;
99
+ _instanceBufferByteLength = 0;
100
+ _instanceData = new ArrayBuffer(instanceStrideBytes * initialParticleCapacity);
101
+ _float32View = new Float32Array(this._instanceData);
102
+ _uint32View = new Uint32Array(this._instanceData);
103
+ _pipelines = new Map();
107
104
  render(system) {
108
105
  const runtime = this._renderManager;
109
106
  const texture = system.texture;
@@ -144,54 +141,77 @@ class WebGpuParticleRenderer extends AbstractWebGpuRenderer {
144
141
  if (this._drawCallCount === 0 && !runtime.clearRequested) {
145
142
  return;
146
143
  }
147
- const encoder = device.createCommandEncoder();
148
- const pass = encoder.beginRenderPass({
149
- colorAttachments: [runtime.createColorAttachment()],
150
- });
151
- runtime.stats.renderPasses++;
152
144
  const scissor = runtime.getScissorRect();
153
145
  const maskClipsAll = scissor !== null && (scissor.width <= 0 || scissor.height <= 0);
154
- if (scissor !== null && !maskClipsAll) {
155
- pass.setScissorRect(scissor.x, scissor.y, scissor.width, scissor.height);
156
- }
157
- if (!maskClipsAll) {
158
- pass.setBindGroup(0, uniformBindGroup);
159
- for (let drawCallIndex = 0; drawCallIndex < this._drawCallCount; drawCallIndex++) {
160
- const drawCall = this._drawCalls[drawCallIndex];
161
- const system = drawCall.system;
162
- const particleCount = system.particles.length;
163
- if (particleCount === 0) {
164
- continue;
165
- }
166
- const pipeline = this._getPipeline(drawCall.blendMode, runtime.renderTargetFormat);
167
- const textureBinding = runtime.getTextureBinding(drawCall.texture);
168
- const textureBindGroup = device.createBindGroup({
169
- layout: this._textureBindGroupLayout,
170
- entries: [{
171
- binding: 0,
172
- resource: textureBinding.view,
173
- }, {
174
- binding: 1,
175
- resource: textureBinding.sampler,
176
- }],
146
+ // If no drawcalls will actually render (none queued, or the scissor
147
+ // clips everything), but a clear is pending, open a single empty
148
+ // pass so createColorAttachment consumes the clear state.
149
+ if (this._drawCallCount === 0 || maskClipsAll) {
150
+ if (runtime.clearRequested) {
151
+ const encoder = device.createCommandEncoder();
152
+ const pass = encoder.beginRenderPass({
153
+ colorAttachments: [runtime.createColorAttachment()],
177
154
  });
178
- this._ensureCapacity(particleCount);
179
- this._writeInstanceData(system.vertices, system.texCoords, system.particles);
180
- this._writeUniformData(runtime, system, drawCall.texture);
181
- device.queue.writeBuffer(this._instanceBuffer, 0, this._instanceData, 0, particleCount * instanceStrideBytes);
182
- device.queue.writeBuffer(uniformBuffer, 0, this._uniformData.buffer, this._uniformData.byteOffset, this._uniformData.byteLength);
183
- pass.setPipeline(pipeline);
184
- pass.setBindGroup(1, textureBindGroup);
185
- pass.setVertexBuffer(0, staticVertexBuffer);
186
- pass.setVertexBuffer(1, this._instanceBuffer);
187
- pass.setIndexBuffer(indexBuffer, 'uint16');
188
- pass.drawIndexed(indicesPerParticle, particleCount, 0, 0, 0);
189
- runtime.stats.batches++;
190
- runtime.stats.drawCalls++;
155
+ runtime.stats.renderPasses++;
156
+ pass.end();
157
+ runtime.submit(encoder.finish());
158
+ }
159
+ this._drawCallCount = 0;
160
+ return;
161
+ }
162
+ // One command encoder / pass per drawcall. Each particle system's
163
+ // queue.writeBuffer calls target offset 0 of the instance and uniform
164
+ // buffers — a single pass with multiple systems would see all
165
+ // writeBuffers serialize before submit, leaving only the last
166
+ // system's data in those buffers and making every earlier draw read
167
+ // the wrong data. Also: _ensureCapacity may destroy and recreate the
168
+ // instance buffer on growth; keeping one drawcall per pass means
169
+ // that destroy happens strictly between submits, so no pass holds a
170
+ // reference to a buffer that has since been destroyed.
171
+ for (let drawCallIndex = 0; drawCallIndex < this._drawCallCount; drawCallIndex++) {
172
+ const drawCall = this._drawCalls[drawCallIndex];
173
+ const system = drawCall.system;
174
+ const particleCount = system.particles.length;
175
+ if (particleCount === 0) {
176
+ continue;
191
177
  }
178
+ const pipeline = this._getPipeline(drawCall.blendMode, runtime.renderTargetFormat);
179
+ const textureBinding = runtime.getTextureBinding(drawCall.texture);
180
+ const textureBindGroup = device.createBindGroup({
181
+ layout: this._textureBindGroupLayout,
182
+ entries: [{
183
+ binding: 0,
184
+ resource: textureBinding.view,
185
+ }, {
186
+ binding: 1,
187
+ resource: textureBinding.sampler,
188
+ }],
189
+ });
190
+ this._ensureCapacity(particleCount);
191
+ this._writeInstanceData(system.vertices, system.texCoords, system.particles);
192
+ this._writeUniformData(runtime, system, drawCall.texture);
193
+ device.queue.writeBuffer(this._instanceBuffer, 0, this._instanceData, 0, particleCount * instanceStrideBytes);
194
+ device.queue.writeBuffer(uniformBuffer, 0, this._uniformData.buffer, this._uniformData.byteOffset, this._uniformData.byteLength);
195
+ const encoder = device.createCommandEncoder();
196
+ const pass = encoder.beginRenderPass({
197
+ colorAttachments: [runtime.createColorAttachment()],
198
+ });
199
+ runtime.stats.renderPasses++;
200
+ if (scissor !== null) {
201
+ pass.setScissorRect(scissor.x, scissor.y, scissor.width, scissor.height);
202
+ }
203
+ pass.setBindGroup(0, uniformBindGroup);
204
+ pass.setPipeline(pipeline);
205
+ pass.setBindGroup(1, textureBindGroup);
206
+ pass.setVertexBuffer(0, staticVertexBuffer);
207
+ pass.setVertexBuffer(1, this._instanceBuffer);
208
+ pass.setIndexBuffer(indexBuffer, 'uint16');
209
+ pass.drawIndexed(indicesPerParticle, particleCount, 0, 0, 0);
210
+ runtime.stats.batches++;
211
+ runtime.stats.drawCalls++;
212
+ pass.end();
213
+ runtime.submit(encoder.finish());
192
214
  }
193
- pass.end();
194
- runtime.submit(encoder.finish());
195
215
  this._drawCallCount = 0;
196
216
  }
197
217
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"WebGpuParticleRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuParticleRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGpuParticleRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuParticleRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,19 +1,15 @@
1
- import { AbstractWebGpuRenderer } from 'rendering/webgpu/AbstractWebGpuRenderer';
2
- import type { DrawableShape } from 'rendering/primitives/DrawableShape';
3
- import type { WebGpuRendererRuntime } from 'rendering/webgpu/WebGpuRendererRuntime';
1
+ import { AbstractWebGpuRenderer } from '@/rendering/webgpu/AbstractWebGpuRenderer';
2
+ import type { DrawableShape } from '@/rendering/primitives/DrawableShape';
3
+ import type { WebGpuRendererRuntime } from '@/rendering/webgpu/WebGpuRendererRuntime';
4
4
  export declare class WebGpuPrimitiveRenderer extends AbstractWebGpuRenderer<DrawableShape> {
5
5
  private readonly _combinedTransform;
6
6
  private readonly _drawCalls;
7
7
  private _drawCallCount;
8
- private readonly _transformData;
9
8
  private readonly _pipelines;
10
9
  private _renderManager;
11
10
  private _device;
12
11
  private _shaderModule;
13
- private _bindGroupLayout;
14
12
  private _pipelineLayout;
15
- private _uniformBuffer;
16
- private _bindGroup;
17
13
  private _vertexBuffer;
18
14
  private _indexBuffer;
19
15
  private _vertexBufferCapacity;
@@ -21,6 +17,7 @@ export declare class WebGpuPrimitiveRenderer extends AbstractWebGpuRenderer<Draw
21
17
  private _vertexData;
22
18
  private _float32View;
23
19
  private _uint32View;
20
+ private _packedIndexData;
24
21
  private _generatedIndexData;
25
22
  private _sequentialIndexData;
26
23
  render(shape: DrawableShape): void;
@@ -28,8 +25,7 @@ export declare class WebGpuPrimitiveRenderer extends AbstractWebGpuRenderer<Draw
28
25
  destroy(): void;
29
26
  protected onConnect(runtime: WebGpuRendererRuntime): void;
30
27
  protected onDisconnect(): void;
31
- private _writeTransformData;
32
- private _writeVertexData;
28
+ private _writeShapeVertices;
33
29
  private _ensureVertexCapacity;
34
30
  private _ensureIndexCapacity;
35
31
  private _getPipeline;