@codexo/exojs 0.8.0 → 0.8.3

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 (498) hide show
  1. package/CHANGELOG.md +390 -208
  2. package/README.md +19 -19
  3. package/dist/esm/animation/Easing.js +13 -21
  4. package/dist/esm/animation/Easing.js.map +1 -1
  5. package/dist/esm/animation/Tween.d.ts +3 -3
  6. package/dist/esm/animation/Tween.js +7 -5
  7. package/dist/esm/animation/Tween.js.map +1 -1
  8. package/dist/esm/animation/TweenManager.js +1 -1
  9. package/dist/esm/animation/TweenManager.js.map +1 -1
  10. package/dist/esm/animation/types.js.map +1 -1
  11. package/dist/esm/audio/AbstractMedia.d.ts +1 -1
  12. package/dist/esm/audio/AbstractMedia.js +1 -1
  13. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  14. package/dist/esm/audio/AudioAnalyser.d.ts +37 -1
  15. package/dist/esm/audio/AudioAnalyser.js +150 -2
  16. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  17. package/dist/esm/audio/AudioBus.d.ts +1 -1
  18. package/dist/esm/audio/AudioBus.js.map +1 -1
  19. package/dist/esm/audio/AudioFilter.js +3 -1
  20. package/dist/esm/audio/AudioFilter.js.map +1 -1
  21. package/dist/esm/audio/AudioListener.d.ts +1 -1
  22. package/dist/esm/audio/AudioListener.js +5 -3
  23. package/dist/esm/audio/AudioListener.js.map +1 -1
  24. package/dist/esm/audio/AudioManager.js.map +1 -1
  25. package/dist/esm/audio/BeatDetector.d.ts +66 -4
  26. package/dist/esm/audio/BeatDetector.js +145 -44
  27. package/dist/esm/audio/BeatDetector.js.map +1 -1
  28. package/dist/esm/audio/Envelope.d.ts +1 -1
  29. package/dist/esm/audio/Envelope.js +2 -2
  30. package/dist/esm/audio/Envelope.js.map +1 -1
  31. package/dist/esm/audio/Music.d.ts +1 -1
  32. package/dist/esm/audio/Music.js +1 -1
  33. package/dist/esm/audio/Music.js.map +1 -1
  34. package/dist/esm/audio/OscillatorSound.d.ts +2 -2
  35. package/dist/esm/audio/OscillatorSound.js.map +1 -1
  36. package/dist/esm/audio/Sound.d.ts +40 -2
  37. package/dist/esm/audio/Sound.js +69 -9
  38. package/dist/esm/audio/Sound.js.map +1 -1
  39. package/dist/esm/audio/audio-context.js +1 -1
  40. package/dist/esm/audio/audio-context.js.map +1 -1
  41. package/dist/esm/audio/crossFade.js +1 -1
  42. package/dist/esm/audio/crossFade.js.map +1 -1
  43. package/dist/esm/audio/dsp/mel.d.ts +2 -2
  44. package/dist/esm/audio/dsp/mel.js +70 -0
  45. package/dist/esm/audio/dsp/mel.js.map +1 -0
  46. package/dist/esm/audio/dsp/tempogram.d.ts +2 -2
  47. package/dist/esm/audio/filters/ChorusFilter.js +12 -4
  48. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  49. package/dist/esm/audio/filters/CompressorFilter.d.ts +9 -0
  50. package/dist/esm/audio/filters/CompressorFilter.js +11 -0
  51. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  52. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  53. package/dist/esm/audio/filters/DuckingFilter.d.ts +1 -1
  54. package/dist/esm/audio/filters/DuckingFilter.js +13 -5
  55. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  56. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  57. package/dist/esm/audio/filters/GranularFilter.js +30 -14
  58. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  59. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  60. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  61. package/dist/esm/audio/filters/PitchShiftFilter.js +14 -10
  62. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  63. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  64. package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -2
  65. package/dist/esm/audio/filters/VocoderFilter.js +20 -12
  66. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  67. package/dist/esm/audio/filters/WorkletFilter.js +5 -6
  68. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  69. package/dist/esm/audio/filters/index.d.ts +7 -7
  70. package/dist/esm/audio/index.d.ts +9 -9
  71. package/dist/esm/audio/worklet/registerWorklet.js +7 -3
  72. package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
  73. package/dist/esm/core/Application.d.ts +13 -13
  74. package/dist/esm/core/Application.js +24 -16
  75. package/dist/esm/core/Application.js.map +1 -1
  76. package/dist/esm/core/Bounds.d.ts +1 -1
  77. package/dist/esm/core/Bounds.js +1 -3
  78. package/dist/esm/core/Bounds.js.map +1 -1
  79. package/dist/esm/core/Clock.js +1 -1
  80. package/dist/esm/core/Clock.js.map +1 -1
  81. package/dist/esm/core/Color.js +2 -5
  82. package/dist/esm/core/Color.js.map +1 -1
  83. package/dist/esm/core/Scene.d.ts +10 -10
  84. package/dist/esm/core/Scene.js +1 -1
  85. package/dist/esm/core/Scene.js.map +1 -1
  86. package/dist/esm/core/SceneManager.d.ts +4 -4
  87. package/dist/esm/core/SceneManager.js +39 -33
  88. package/dist/esm/core/SceneManager.js.map +1 -1
  89. package/dist/esm/core/SceneNode.d.ts +8 -8
  90. package/dist/esm/core/SceneNode.js +39 -29
  91. package/dist/esm/core/SceneNode.js.map +1 -1
  92. package/dist/esm/core/Signal.d.ts +3 -3
  93. package/dist/esm/core/Signal.js +3 -3
  94. package/dist/esm/core/Signal.js.map +1 -1
  95. package/dist/esm/core/Time.js +6 -6
  96. package/dist/esm/core/Time.js.map +1 -1
  97. package/dist/esm/core/Timer.d.ts +1 -1
  98. package/dist/esm/core/Timer.js +1 -1
  99. package/dist/esm/core/Timer.js.map +1 -1
  100. package/dist/esm/core/capabilities.js +2 -4
  101. package/dist/esm/core/capabilities.js.map +1 -1
  102. package/dist/esm/core/index.d.ts +2 -2
  103. package/dist/esm/core/utils.d.ts +4 -4
  104. package/dist/esm/core/utils.js +10 -10
  105. package/dist/esm/core/utils.js.map +1 -1
  106. package/dist/esm/debug/BoundingBoxesLayer.d.ts +3 -3
  107. package/dist/esm/debug/BoundingBoxesLayer.js +6 -13
  108. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  109. package/dist/esm/debug/DebugLayer.d.ts +1 -1
  110. package/dist/esm/debug/DebugLayer.js.map +1 -1
  111. package/dist/esm/debug/DebugOverlay.d.ts +2 -2
  112. package/dist/esm/debug/DebugOverlay.js +2 -2
  113. package/dist/esm/debug/DebugOverlay.js.map +1 -1
  114. package/dist/esm/debug/HitTestLayer.d.ts +3 -3
  115. package/dist/esm/debug/HitTestLayer.js +3 -10
  116. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  117. package/dist/esm/debug/PerformanceLayer.d.ts +2 -2
  118. package/dist/esm/debug/PerformanceLayer.js +6 -6
  119. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  120. package/dist/esm/debug/PointerStackLayer.d.ts +3 -3
  121. package/dist/esm/debug/PointerStackLayer.js +3 -3
  122. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  123. package/dist/esm/debug/RenderPassInspectorLayer.d.ts +71 -0
  124. package/dist/esm/debug/RenderPassInspectorLayer.js +201 -0
  125. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -0
  126. package/dist/esm/debug/index.d.ts +4 -3
  127. package/dist/esm/debug/index.js +4 -3
  128. package/dist/esm/debug/index.js.map +1 -1
  129. package/dist/esm/index.d.ts +1 -1
  130. package/dist/esm/index.js +101 -98
  131. package/dist/esm/index.js.map +1 -1
  132. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  133. package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -1
  134. package/dist/esm/input/GameCubeGamepadMapping.js +1 -1
  135. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  136. package/dist/esm/input/Gamepad.d.ts +7 -7
  137. package/dist/esm/input/Gamepad.js +10 -6
  138. package/dist/esm/input/Gamepad.js.map +1 -1
  139. package/dist/esm/input/GamepadAxis.js +1 -1
  140. package/dist/esm/input/GamepadAxis.js.map +1 -1
  141. package/dist/esm/input/GamepadButton.js +1 -1
  142. package/dist/esm/input/GamepadButton.js.map +1 -1
  143. package/dist/esm/input/GamepadDefinitions.d.ts +4 -4
  144. package/dist/esm/input/GamepadDefinitions.js +12 -14
  145. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  146. package/dist/esm/input/GamepadMapping.d.ts +5 -5
  147. package/dist/esm/input/GamepadMapping.js.map +1 -1
  148. package/dist/esm/input/GamepadPromptLayouts.d.ts +2 -2
  149. package/dist/esm/input/GamepadPromptLayouts.js +8 -8
  150. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  151. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  152. package/dist/esm/input/GestureRecognizer.d.ts +1 -1
  153. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  154. package/dist/esm/input/InputBinding.d.ts +3 -3
  155. package/dist/esm/input/InputBinding.js.map +1 -1
  156. package/dist/esm/input/InputManager.d.ts +9 -9
  157. package/dist/esm/input/InputManager.js +25 -16
  158. package/dist/esm/input/InputManager.js.map +1 -1
  159. package/dist/esm/input/InteractionEvent.d.ts +1 -1
  160. package/dist/esm/input/InteractionEvent.js.map +1 -1
  161. package/dist/esm/input/InteractionManager.d.ts +2 -2
  162. package/dist/esm/input/InteractionManager.js +25 -16
  163. package/dist/esm/input/InteractionManager.js.map +1 -1
  164. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  165. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  166. package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -1
  167. package/dist/esm/input/PlayStationGamepadMapping.js +1 -1
  168. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  169. package/dist/esm/input/Pointer.d.ts +2 -2
  170. package/dist/esm/input/Pointer.js +6 -6
  171. package/dist/esm/input/Pointer.js.map +1 -1
  172. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -1
  173. package/dist/esm/input/SteamControllerGamepadMapping.js +1 -1
  174. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  175. package/dist/esm/input/SteamDeckGamepadMapping.js.map +1 -1
  176. package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -1
  177. package/dist/esm/input/SwitchProGamepadMapping.js +1 -1
  178. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  179. package/dist/esm/input/XboxGamepadMapping.d.ts +1 -1
  180. package/dist/esm/input/XboxGamepadMapping.js +1 -1
  181. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  182. package/dist/esm/input/index.d.ts +16 -16
  183. package/dist/esm/input/interaction-hooks.js.map +1 -1
  184. package/dist/esm/input/types.js.map +1 -1
  185. package/dist/esm/math/AbstractVector.js +8 -9
  186. package/dist/esm/math/AbstractVector.js.map +1 -1
  187. package/dist/esm/math/Circle.d.ts +5 -5
  188. package/dist/esm/math/Circle.js +33 -21
  189. package/dist/esm/math/Circle.js.map +1 -1
  190. package/dist/esm/math/Collision.d.ts +2 -2
  191. package/dist/esm/math/Collision.js.map +1 -1
  192. package/dist/esm/math/Ellipse.d.ts +5 -5
  193. package/dist/esm/math/Ellipse.js +28 -19
  194. package/dist/esm/math/Ellipse.js.map +1 -1
  195. package/dist/esm/math/Flags.d.ts +4 -4
  196. package/dist/esm/math/Flags.js.map +1 -1
  197. package/dist/esm/math/Interval.js.map +1 -1
  198. package/dist/esm/math/Line.d.ts +5 -5
  199. package/dist/esm/math/Line.js +23 -15
  200. package/dist/esm/math/Line.js.map +1 -1
  201. package/dist/esm/math/Matrix.js +14 -16
  202. package/dist/esm/math/Matrix.js.map +1 -1
  203. package/dist/esm/math/ObservableSize.js.map +1 -1
  204. package/dist/esm/math/ObservableVector.d.ts +1 -1
  205. package/dist/esm/math/ObservableVector.js.map +1 -1
  206. package/dist/esm/math/PolarVector.js.map +1 -1
  207. package/dist/esm/math/Polygon.d.ts +11 -11
  208. package/dist/esm/math/Polygon.js +37 -26
  209. package/dist/esm/math/Polygon.js.map +1 -1
  210. package/dist/esm/math/PolygonLike.d.ts +1 -1
  211. package/dist/esm/math/Quadtree.js +2 -8
  212. package/dist/esm/math/Quadtree.js.map +1 -1
  213. package/dist/esm/math/Random.js +5 -5
  214. package/dist/esm/math/Random.js.map +1 -1
  215. package/dist/esm/math/Rectangle.d.ts +4 -4
  216. package/dist/esm/math/Rectangle.js +59 -41
  217. package/dist/esm/math/Rectangle.js.map +1 -1
  218. package/dist/esm/math/Segment.d.ts +1 -1
  219. package/dist/esm/math/Segment.js +4 -4
  220. package/dist/esm/math/Segment.js.map +1 -1
  221. package/dist/esm/math/ShapeLike.d.ts +1 -1
  222. package/dist/esm/math/Size.js +1 -2
  223. package/dist/esm/math/Size.js.map +1 -1
  224. package/dist/esm/math/Vector.d.ts +4 -4
  225. package/dist/esm/math/Vector.js +19 -13
  226. package/dist/esm/math/Vector.js.map +1 -1
  227. package/dist/esm/math/collision-detection.d.ts +3 -3
  228. package/dist/esm/math/collision-detection.js +49 -49
  229. package/dist/esm/math/collision-detection.js.map +1 -1
  230. package/dist/esm/math/collision-primitives.d.ts +8 -8
  231. package/dist/esm/math/collision-primitives.js +27 -33
  232. package/dist/esm/math/collision-primitives.js.map +1 -1
  233. package/dist/esm/math/geometry.d.ts +3 -3
  234. package/dist/esm/math/geometry.js +55 -48
  235. package/dist/esm/math/geometry.js.map +1 -1
  236. package/dist/esm/math/index.d.ts +16 -16
  237. package/dist/esm/math/swept-collision.d.ts +3 -3
  238. package/dist/esm/math/swept-collision.js +5 -8
  239. package/dist/esm/math/swept-collision.js.map +1 -1
  240. package/dist/esm/math/triangulate.js +34 -24
  241. package/dist/esm/math/triangulate.js.map +1 -1
  242. package/dist/esm/math/utils.d.ts +2 -2
  243. package/dist/esm/math/utils.js +7 -7
  244. package/dist/esm/math/utils.js.map +1 -1
  245. package/dist/esm/particles/ParticleSystem.d.ts +9 -9
  246. package/dist/esm/particles/ParticleSystem.js +29 -29
  247. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  248. package/dist/esm/particles/distributions/BoxArea.js.map +1 -1
  249. package/dist/esm/particles/distributions/CircleArea.js.map +1 -1
  250. package/dist/esm/particles/distributions/ConeDirection.js.map +1 -1
  251. package/dist/esm/particles/distributions/Constant.js.map +1 -1
  252. package/dist/esm/particles/distributions/Curve.d.ts +1 -1
  253. package/dist/esm/particles/distributions/Curve.js.map +1 -1
  254. package/dist/esm/particles/distributions/Gradient.d.ts +1 -1
  255. package/dist/esm/particles/distributions/Gradient.js +1 -1
  256. package/dist/esm/particles/distributions/Gradient.js.map +1 -1
  257. package/dist/esm/particles/distributions/LineSegment.js.map +1 -1
  258. package/dist/esm/particles/distributions/Range.js.map +1 -1
  259. package/dist/esm/particles/distributions/VectorRange.js.map +1 -1
  260. package/dist/esm/particles/distributions/index.d.ts +9 -9
  261. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +3 -3
  262. package/dist/esm/particles/gpu/ParticleGpuState.js +48 -21
  263. package/dist/esm/particles/gpu/ParticleGpuState.js.map +1 -1
  264. package/dist/esm/particles/index.d.ts +1 -1
  265. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +2 -2
  266. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -1
  267. package/dist/esm/particles/modules/ApplyForce.d.ts +1 -1
  268. package/dist/esm/particles/modules/ApplyForce.js.map +1 -1
  269. package/dist/esm/particles/modules/AttractToPoint.d.ts +1 -1
  270. package/dist/esm/particles/modules/AttractToPoint.js.map +1 -1
  271. package/dist/esm/particles/modules/BurstSpawn.d.ts +4 -4
  272. package/dist/esm/particles/modules/BurstSpawn.js +2 -2
  273. package/dist/esm/particles/modules/BurstSpawn.js.map +1 -1
  274. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +2 -2
  275. package/dist/esm/particles/modules/ColorOverLifetime.js +1 -1
  276. package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -1
  277. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +2 -2
  278. package/dist/esm/particles/modules/ColorOverSpeed.js +1 -1
  279. package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -1
  280. package/dist/esm/particles/modules/DeathModule.js.map +1 -1
  281. package/dist/esm/particles/modules/Drag.d.ts +1 -1
  282. package/dist/esm/particles/modules/Drag.js +1 -3
  283. package/dist/esm/particles/modules/Drag.js.map +1 -1
  284. package/dist/esm/particles/modules/OrbitalForce.d.ts +1 -1
  285. package/dist/esm/particles/modules/OrbitalForce.js.map +1 -1
  286. package/dist/esm/particles/modules/RateSpawn.d.ts +3 -3
  287. package/dist/esm/particles/modules/RateSpawn.js +2 -2
  288. package/dist/esm/particles/modules/RateSpawn.js.map +1 -1
  289. package/dist/esm/particles/modules/RepelFromPoint.d.ts +1 -1
  290. package/dist/esm/particles/modules/RepelFromPoint.js.map +1 -1
  291. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +1 -1
  292. package/dist/esm/particles/modules/RotateOverLifetime.js +1 -3
  293. package/dist/esm/particles/modules/RotateOverLifetime.js.map +1 -1
  294. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +2 -2
  295. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +1 -1
  296. package/dist/esm/particles/modules/SpawnModule.js.map +1 -1
  297. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +1 -1
  298. package/dist/esm/particles/modules/SpawnOnDeath.js.map +1 -1
  299. package/dist/esm/particles/modules/Turbulence.d.ts +1 -1
  300. package/dist/esm/particles/modules/Turbulence.js.map +1 -1
  301. package/dist/esm/particles/modules/UpdateModule.js.map +1 -1
  302. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +2 -2
  303. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +1 -1
  304. package/dist/esm/particles/modules/WgslContribution.d.ts +3 -3
  305. package/dist/esm/particles/modules/WgslContribution.js.map +1 -1
  306. package/dist/esm/particles/modules/index.d.ts +17 -17
  307. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  308. package/dist/esm/rendering/Container.d.ts +2 -2
  309. package/dist/esm/rendering/Container.js +10 -11
  310. package/dist/esm/rendering/Container.js.map +1 -1
  311. package/dist/esm/rendering/Drawable.js.map +1 -1
  312. package/dist/esm/rendering/RenderBackend.d.ts +6 -6
  313. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  314. package/dist/esm/rendering/RenderNode.d.ts +10 -10
  315. package/dist/esm/rendering/RenderNode.js +31 -31
  316. package/dist/esm/rendering/RenderNode.js.map +1 -1
  317. package/dist/esm/rendering/RenderStats.js.map +1 -1
  318. package/dist/esm/rendering/RenderTarget.d.ts +2 -2
  319. package/dist/esm/rendering/RenderTarget.js +5 -5
  320. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  321. package/dist/esm/rendering/RenderTargetPass.d.ts +3 -3
  322. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  323. package/dist/esm/rendering/Renderer.d.ts +2 -2
  324. package/dist/esm/rendering/RendererRegistry.d.ts +3 -3
  325. package/dist/esm/rendering/RendererRegistry.js +2 -3
  326. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  327. package/dist/esm/rendering/View.d.ts +3 -3
  328. package/dist/esm/rendering/View.js +17 -20
  329. package/dist/esm/rendering/View.js.map +1 -1
  330. package/dist/esm/rendering/filters/BlurFilter.d.ts +1 -1
  331. package/dist/esm/rendering/filters/BlurFilter.js +4 -9
  332. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  333. package/dist/esm/rendering/filters/ColorFilter.d.ts +1 -1
  334. package/dist/esm/rendering/filters/ColorFilter.js +3 -9
  335. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  336. package/dist/esm/rendering/filters/Filter.d.ts +1 -1
  337. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  338. package/dist/esm/rendering/filters/LutFilter.d.ts +87 -0
  339. package/dist/esm/rendering/filters/LutFilter.js +261 -0
  340. package/dist/esm/rendering/filters/LutFilter.js.map +1 -0
  341. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +2 -2
  342. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +7 -14
  343. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  344. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +1 -1
  345. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +16 -11
  346. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  347. package/dist/esm/rendering/index.d.ts +30 -27
  348. package/dist/esm/rendering/mesh/Mesh.d.ts +6 -1
  349. package/dist/esm/rendering/mesh/Mesh.js +3 -1
  350. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  351. package/dist/esm/rendering/mesh/MeshShader.d.ts +183 -0
  352. package/dist/esm/rendering/mesh/MeshShader.js +231 -0
  353. package/dist/esm/rendering/mesh/MeshShader.js.map +1 -0
  354. package/dist/esm/rendering/primitives/Graphics.d.ts +3 -3
  355. package/dist/esm/rendering/primitives/Graphics.js +12 -12
  356. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  357. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  358. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  359. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  360. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +6 -8
  361. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -1
  362. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +3 -3
  363. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  364. package/dist/esm/rendering/sprite/Sprite.d.ts +4 -4
  365. package/dist/esm/rendering/sprite/Sprite.js +51 -35
  366. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  367. package/dist/esm/rendering/sprite/Spritesheet.d.ts +5 -9
  368. package/dist/esm/rendering/sprite/Spritesheet.js +1 -1
  369. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  370. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +3 -9
  371. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +1 -1
  372. package/dist/esm/rendering/text/Text.js +9 -9
  373. package/dist/esm/rendering/text/Text.js.map +1 -1
  374. package/dist/esm/rendering/text/TextLayout.d.ts +2 -2
  375. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  376. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  377. package/dist/esm/rendering/text/atlas-singleton.js.map +1 -1
  378. package/dist/esm/rendering/texture/DataTexture.d.ts +115 -0
  379. package/dist/esm/rendering/texture/DataTexture.js +173 -0
  380. package/dist/esm/rendering/texture/DataTexture.js.map +1 -0
  381. package/dist/esm/rendering/texture/RenderTexture.d.ts +1 -1
  382. package/dist/esm/rendering/texture/RenderTexture.js +4 -1
  383. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  384. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  385. package/dist/esm/rendering/texture/Texture.d.ts +2 -2
  386. package/dist/esm/rendering/texture/Texture.js +8 -5
  387. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  388. package/dist/esm/rendering/types.js.map +1 -1
  389. package/dist/esm/rendering/utils.js.map +1 -1
  390. package/dist/esm/rendering/video/Video.d.ts +3 -3
  391. package/dist/esm/rendering/video/Video.js +7 -6
  392. package/dist/esm/rendering/video/Video.js.map +1 -1
  393. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +6 -6
  394. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -10
  395. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  396. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +1 -1
  397. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +1 -2
  398. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  399. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +11 -11
  400. package/dist/esm/rendering/webgl2/WebGl2Backend.js +61 -22
  401. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  402. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +2 -2
  403. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +6 -8
  404. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
  405. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +7 -4
  406. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +121 -43
  407. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  408. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +1 -1
  409. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +10 -18
  410. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
  411. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +1 -1
  412. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  413. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  414. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
  415. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +54 -22
  416. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
  417. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +1 -1
  418. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +11 -14
  419. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  420. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
  421. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
  422. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +1 -1
  423. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +1 -2
  424. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  425. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +8 -7
  426. package/dist/esm/rendering/webgpu/WebGpuBackend.js +104 -37
  427. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  428. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  429. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -2
  430. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +3 -4
  431. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  432. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +15 -2
  433. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +657 -102
  434. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  435. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +1 -1
  436. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +100 -56
  437. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  438. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -2
  439. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +45 -45
  440. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  441. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -1
  442. package/dist/esm/rendering/webgpu/compute/index.d.ts +2 -2
  443. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -1
  444. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  445. package/dist/esm/resources/AssetManifest.d.ts +1 -1
  446. package/dist/esm/resources/AssetManifest.js +2 -2
  447. package/dist/esm/resources/AssetManifest.js.map +1 -1
  448. package/dist/esm/resources/CacheFirstStrategy.d.ts +2 -2
  449. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  450. package/dist/esm/resources/CacheStrategy.d.ts +1 -1
  451. package/dist/esm/resources/FactoryRegistry.d.ts +1 -1
  452. package/dist/esm/resources/FactoryRegistry.js +2 -3
  453. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  454. package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
  455. package/dist/esm/resources/IndexedDbDatabase.js +11 -14
  456. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  457. package/dist/esm/resources/IndexedDbStore.d.ts +1 -1
  458. package/dist/esm/resources/IndexedDbStore.js +2 -7
  459. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  460. package/dist/esm/resources/Loader.d.ts +9 -9
  461. package/dist/esm/resources/Loader.js +48 -35
  462. package/dist/esm/resources/Loader.js.map +1 -1
  463. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +2 -2
  464. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  465. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  466. package/dist/esm/resources/factories/FontFactory.js +1 -1
  467. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  468. package/dist/esm/resources/factories/ImageFactory.js +4 -4
  469. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  470. package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
  471. package/dist/esm/resources/factories/JsonFactory.js +1 -1
  472. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  473. package/dist/esm/resources/factories/MusicFactory.d.ts +1 -1
  474. package/dist/esm/resources/factories/MusicFactory.js +4 -4
  475. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  476. package/dist/esm/resources/factories/SoundFactory.d.ts +1 -1
  477. package/dist/esm/resources/factories/SoundFactory.js +3 -3
  478. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  479. package/dist/esm/resources/factories/SvgFactory.js +3 -3
  480. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  481. package/dist/esm/resources/factories/TextFactory.js +1 -1
  482. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  483. package/dist/esm/resources/factories/TextureFactory.d.ts +1 -1
  484. package/dist/esm/resources/factories/TextureFactory.js +3 -3
  485. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  486. package/dist/esm/resources/factories/VideoFactory.d.ts +2 -2
  487. package/dist/esm/resources/factories/VideoFactory.js +5 -5
  488. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  489. package/dist/esm/resources/factories/VttFactory.d.ts +2 -2
  490. package/dist/esm/resources/factories/VttFactory.js +6 -6
  491. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  492. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  493. package/dist/esm/resources/index.d.ts +11 -11
  494. package/dist/esm/resources/utils.js +30 -25
  495. package/dist/esm/resources/utils.js.map +1 -1
  496. package/dist/exo.esm.js +26260 -24256
  497. package/dist/exo.esm.js.map +1 -1
  498. package/package.json +15 -4
@@ -1,5 +1,5 @@
1
- import { AbstractWebGl2Renderer } from './AbstractWebGl2Renderer';
2
1
  import type { Sprite } from '../sprite/Sprite';
2
+ import { AbstractWebGl2Renderer } from './AbstractWebGl2Renderer';
3
3
  import type { WebGl2Backend } from './WebGl2Backend';
4
4
  export declare class WebGl2SpriteRenderer extends AbstractWebGl2Renderer<Sprite> {
5
5
  private readonly _shader;
@@ -1,11 +1,11 @@
1
- import { AbstractWebGl2Renderer } from './AbstractWebGl2Renderer.js';
1
+ import { RenderingPrimitives, BufferTypes, BufferUsage } from '../types.js';
2
2
  import { Shader } from '../shader/Shader.js';
3
- import { createWebGl2ShaderProgram } from './WebGl2ShaderProgram.js';
3
+ import { AbstractWebGl2Renderer } from './AbstractWebGl2Renderer.js';
4
+ import fragmentSource from './glsl/sprite.frag.js';
5
+ import vertexSource from './glsl/sprite.vert.js';
4
6
  import { WebGl2RenderBuffer } from './WebGl2RenderBuffer.js';
7
+ import { createWebGl2ShaderProgram } from './WebGl2ShaderProgram.js';
5
8
  import { WebGl2VertexArrayObject } from './WebGl2VertexArrayObject.js';
6
- import { RenderingPrimitives, BufferTypes, BufferUsage } from '../types.js';
7
- import vertexSource from './glsl/sprite.vert.js';
8
- import fragmentSource from './glsl/sprite.frag.js';
9
9
 
10
10
  /**
11
11
  * Instanced sprite renderer for WebGL2.
@@ -106,10 +106,10 @@ class WebGl2SpriteRenderer extends AbstractWebGl2Renderer {
106
106
  const texWidth = texture.width;
107
107
  const texHeight = texture.height;
108
108
  // Clamp to 16-bit unsigned range for normalisation.
109
- const uMin = (frame.left / texWidth) * 0xFFFF & 0xFFFF;
110
- const uMax = (frame.right / texWidth) * 0xFFFF & 0xFFFF;
111
- const vMinRaw = (frame.top / texHeight) * 0xFFFF & 0xFFFF;
112
- const vMaxRaw = (frame.bottom / texHeight) * 0xFFFF & 0xFFFF;
109
+ const uMin = ((frame.left / texWidth) * 0xffff) & 0xffff;
110
+ const uMax = ((frame.right / texWidth) * 0xffff) & 0xffff;
111
+ const vMinRaw = ((frame.top / texHeight) * 0xffff) & 0xffff;
112
+ const vMaxRaw = ((frame.bottom / texHeight) * 0xffff) & 0xffff;
113
113
  const vMin = texture.flipY ? vMaxRaw : vMinRaw;
114
114
  const vMax = texture.flipY ? vMinRaw : vMaxRaw;
115
115
  u32[offset + 10] = uMin | (vMin << 16);
@@ -133,9 +133,7 @@ class WebGl2SpriteRenderer extends AbstractWebGl2Renderer {
133
133
  if (this._currentView !== view || this._currentViewId !== view.updateId) {
134
134
  this._currentView = view;
135
135
  this._currentViewId = view.updateId;
136
- this._shader
137
- .getUniform('u_projection')
138
- .setValue(view.getTransform().toArray(false));
136
+ this._shader.getUniform('u_projection').setValue(view.getTransform().toArray(false));
139
137
  }
140
138
  this._shader.sync();
141
139
  backend.bindVertexArrayObject(vao);
@@ -150,8 +148,7 @@ class WebGl2SpriteRenderer extends AbstractWebGl2Renderer {
150
148
  const gl = backend.context;
151
149
  this._shader.connect(createWebGl2ShaderProgram(gl));
152
150
  this._connection = this._createConnection(gl);
153
- this._instanceBuffer = new WebGl2RenderBuffer(BufferTypes.ArrayBuffer, this._instanceData, BufferUsage.DynamicDraw)
154
- .connect(this._createBufferRuntime(this._connection));
151
+ this._instanceBuffer = new WebGl2RenderBuffer(BufferTypes.ArrayBuffer, this._instanceData, BufferUsage.DynamicDraw).connect(this._createBufferRuntime(this._connection));
155
152
  this._shader.sync();
156
153
  this._vao = new WebGl2VertexArrayObject(RenderingPrimitives.TriangleStrip)
157
154
  .addAttribute(this._instanceBuffer, this._shader.getAttribute('a_localBounds'), gl.FLOAT, false, instanceStrideBytes, 0, false, 1)
@@ -1 +1 @@
1
- {"version":3,"file":"WebGl2SpriteRenderer.js","sources":["../../../../../src/rendering/webgl2/WebGl2SpriteRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGl2SpriteRenderer.js","sources":["../../../../../src/rendering/webgl2/WebGl2SpriteRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export declare class WebGl2VertexArrayObject {
45
45
  private _runtime;
46
46
  private _version;
47
47
  constructor(drawMode?: RenderingPrimitives);
48
- get attributes(): Array<VaoAttribute>;
48
+ get attributes(): VaoAttribute[];
49
49
  get indexBuffer(): WebGl2RenderBuffer | null;
50
50
  get drawMode(): RenderingPrimitives;
51
51
  get version(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGl2VertexArrayObject.js","sources":["../../../../../src/rendering/webgl2/WebGl2VertexArrayObject.ts"],"sourcesContent":[null],"names":[],"mappings":";;MA2Ca,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;AAEO,IAAA,YAAY,CAAC,MAA0B,EAAE,SAA0B,EAAE,IAAA,GAAe,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,CAAC,EAAA;AACtL,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,OAAO,EAAE,OAAO,EAAE,CAAC;QACpG,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,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,aAAqB,EAAE,IAAA,GAA4B,IAAI,CAAC,SAAS,EAAA;AAChH,QAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;AAEvE,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":";;MA4Ca,uBAAuB,CAAA;IACjB,WAAW,GAAmB,EAAE;IACzC,YAAY,GAA8B,IAAI;AAC9C,IAAA,SAAS;IACT,QAAQ,GAA0C,IAAI;IACtD,QAAQ,GAAG,CAAC;IAEpB,WAAA,CAAmB,QAAA,GAAgC,mBAAmB,CAAC,SAAS,EAAA;AAC9E,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC3B;AAEA,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;AAEA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEO,IAAA,OAAO,CAAC,OAAuC,EAAA;AACpD,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AAEvB,QAAA,OAAO,IAAI;IACb;IAEO,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AAEpB,QAAA,OAAO,IAAI;IACb;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzB,QAAA,OAAO,IAAI;IACb;IAEO,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;AAE3B,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,YAAY,CACjB,MAA0B,EAC1B,SAA0B,EAC1B,IAAA,GAAe,gBAAgB,CAAC,KAAK,EACrC,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,CAAC,EAAA;AAEX,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,OAAO,EAAE,OAAO,EAAE,CAAC;QACpG,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,QAAQ,CAAC,MAA0B,EAAA;AACxC,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;QAC1B,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACb;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,OAAO,IAAI;IACb;IAEO,IAAI,CAAC,IAAY,EAAE,KAAa,EAAE,IAAA,GAA4B,IAAI,CAAC,SAAS,EAAA;AACjF,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AAE5C,QAAA,OAAO,IAAI;IACb;IAEO,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,aAAqB,EAAE,IAAA,GAA4B,IAAI,CAAC,SAAS,EAAA;AAClH,QAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;AAEvE,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;IAC1B;AACD;;;;"}
@@ -1,5 +1,5 @@
1
- import { RenderBackendType } from '../RenderBackendType';
2
1
  import type { Drawable } from '../Drawable';
2
+ import { RenderBackendType } from '../RenderBackendType';
3
3
  import type { Renderer } from '../Renderer';
4
4
  import type { WebGpuBackend } from './WebGpuBackend';
5
5
  /**
@@ -21,8 +21,7 @@ class AbstractWebGpuRenderer {
21
21
  return;
22
22
  }
23
23
  if (backend.backendType !== RenderBackendType.WebGpu) {
24
- throw new Error(`${this.constructor.name} requires a WebGPU backend, `
25
- + `but received backendType ${String(backend.backendType)}.`);
24
+ throw new Error(`${this.constructor.name} requires a WebGPU backend, ` + `but received backendType ${String(backend.backendType)}.`);
26
25
  }
27
26
  this._backend = backend;
28
27
  this.onConnect(backend);
@@ -1 +1 @@
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;IAE5C,QAAQ,GAAyB,IAAI;AAExC,IAAA,OAAO,CAAC,OAAsB,EAAA;AACjC,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;AAC1B,IAAA,WAAW,GAAG,iBAAiB,CAAC,MAAM;IAE5C,QAAQ,GAAyB,IAAI;AAExC,IAAA,OAAO,CAAC,OAAsB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B;QACF;QAEA,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,CAAC,MAAM,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,4BAAA,CAA8B,GAAG,CAAA,yBAAA,EAA4B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA,CAAA,CAAG,CAAC;QACtI;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IACzB;IAEO,UAAU,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B;QACF;QAEA,IAAI,CAAC,KAAK,EAAE;QACZ,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACtB;IAQU,UAAU,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,+BAAA,CAAiC,CAAC;QAC5E;QAEA,OAAO,IAAI,CAAC,QAAQ;IACtB;IAEU,gBAAgB,GAAA;QACxB,OAAO,IAAI,CAAC,QAAQ;IACtB;AACD;;;;"}
@@ -1,18 +1,18 @@
1
+ import type { Application } from '@/core/Application';
1
2
  import { Color } from '@/core/Color';
2
3
  import { Signal } from '@/core/Signal';
3
- import type { Application } from '@/core/Application';
4
+ import type { Rectangle } from '@/math/Rectangle';
4
5
  import type { BlendModes } from '@/rendering/types';
6
+ import type { Drawable } from '../Drawable';
7
+ import type { RenderBackend } from '../RenderBackend';
5
8
  import { RenderBackendType } from '../RenderBackendType';
6
9
  import { RendererRegistry } from '../RendererRegistry';
7
- import type { Drawable } from '../Drawable';
8
10
  import type { RenderPass } from '../RenderPass';
9
- import type { Texture } from '../texture/Texture';
10
- import type { View } from '../View';
11
- import type { RenderBackend } from '../RenderBackend';
11
+ import type { RenderStats } from '../RenderStats';
12
12
  import { RenderTarget } from '../RenderTarget';
13
13
  import { RenderTexture } from '../texture/RenderTexture';
14
- import type { Rectangle } from '@/math/Rectangle';
15
- import type { RenderStats } from '../RenderStats';
14
+ import type { Texture } from '../texture/Texture';
15
+ import type { View } from '../View';
16
16
  interface PixelClipBoundsState {
17
17
  x: number;
18
18
  y: number;
@@ -140,6 +140,7 @@ export declare class WebGpuBackend implements RenderBackend {
140
140
  private _toClipPixels;
141
141
  private _intersectClips;
142
142
  private _createSampler;
143
+ private _getGpuTextureFormat;
143
144
  private _getTextureUsage;
144
145
  private _getAddressMode;
145
146
  private _getFilterMode;
@@ -1,19 +1,20 @@
1
1
  import { Color } from '../../core/Color.js';
2
2
  import { Signal } from '../../core/Signal.js';
3
+ import { Vector } from '../../math/Vector.js';
4
+ import { ParticleSystem } from '../../particles/ParticleSystem.js';
5
+ import { WrapModes, ScaleModes } from '../types.js';
6
+ import { Mesh } from '../mesh/Mesh.js';
3
7
  import { RenderBackendType } from '../RenderBackendType.js';
4
8
  import { RendererRegistry } from '../RendererRegistry.js';
5
9
  import { createRenderStats, resetRenderStats } from '../RenderStats.js';
6
10
  import { RenderTarget } from '../RenderTarget.js';
7
- import { WebGpuSpriteRenderer } from './WebGpuSpriteRenderer.js';
11
+ import { Sprite } from '../sprite/Sprite.js';
12
+ import { DataTexture } from '../texture/DataTexture.js';
13
+ import { RenderTexture } from '../texture/RenderTexture.js';
14
+ import { WebGpuMaskCompositor } from './WebGpuMaskCompositor.js';
8
15
  import { WebGpuMeshRenderer } from './WebGpuMeshRenderer.js';
9
16
  import { WebGpuParticleRenderer } from './WebGpuParticleRenderer.js';
10
- import { WebGpuMaskCompositor } from './WebGpuMaskCompositor.js';
11
- import { WrapModes, ScaleModes } from '../types.js';
12
- import { RenderTexture } from '../texture/RenderTexture.js';
13
- import { Sprite } from '../sprite/Sprite.js';
14
- import { Mesh } from '../mesh/Mesh.js';
15
- import { ParticleSystem } from '../../particles/ParticleSystem.js';
16
- import { Vector } from '../../math/Vector.js';
17
+ import { WebGpuSpriteRenderer } from './WebGpuSpriteRenderer.js';
17
18
 
18
19
  /// <reference types="@webgpu/types" />
19
20
  const managedTextureFormat = 'rgba8unorm';
@@ -77,7 +78,7 @@ class WebGpuBackend {
77
78
  _hasPresentedFrame = false;
78
79
  _stats = createRenderStats();
79
80
  constructor(app) {
80
- const { width, height, clearColor, } = app.options;
81
+ const { width, height, clearColor } = app.options;
81
82
  this._canvas = app.canvas;
82
83
  this._rootRenderTarget = new RenderTarget(width, height, true);
83
84
  this._renderTarget = this._rootRenderTarget;
@@ -189,9 +190,7 @@ class WebGpuBackend {
189
190
  this._flushActiveRenderer();
190
191
  this._clipBoundsStack.push(bounds.clone());
191
192
  const nextClip = this._toClipPixels(bounds);
192
- const previousClip = this._clipPixelStack.length > 0
193
- ? this._clipPixelStack[this._clipPixelStack.length - 1]
194
- : null;
193
+ const previousClip = this._clipPixelStack.length > 0 ? this._clipPixelStack[this._clipPixelStack.length - 1] : null;
195
194
  const resolvedClip = previousClip ? this._intersectClips(previousClip, nextClip) : nextClip;
196
195
  this._clipPixelStack.push(resolvedClip);
197
196
  return this;
@@ -310,7 +309,7 @@ class WebGpuBackend {
310
309
  this._maskCompositor.disconnect();
311
310
  this._maskCompositorConnected = false;
312
311
  }
313
- for (const target of Array.from(this._renderTargetDestroyHandlers.keys())) {
312
+ for (const target of [...this._renderTargetDestroyHandlers.keys()]) {
314
313
  this._unsubscribeRenderTarget(target);
315
314
  }
316
315
  this._context?.unconfigure();
@@ -333,7 +332,7 @@ class WebGpuBackend {
333
332
  }
334
333
  createColorAttachment() {
335
334
  const renderTarget = this._renderTarget;
336
- let attachmentState = null;
335
+ let attachmentState;
337
336
  if (renderTarget === this._rootRenderTarget) {
338
337
  attachmentState = {
339
338
  view: this.context.getCurrentTexture().createView(),
@@ -411,7 +410,7 @@ class WebGpuBackend {
411
410
  // same canvas can no longer produce a WebGL2 context. Doing it the
412
411
  // other way round means an unavailable adapter still locks the canvas
413
412
  // and breaks the automatic WebGL2 fallback in Application.
414
- let adapter = null;
413
+ let adapter;
415
414
  try {
416
415
  adapter = await gpuNavigator.gpu.requestAdapter();
417
416
  }
@@ -428,7 +427,7 @@ class WebGpuBackend {
428
427
  if (typeof adapter.requestDevice !== 'function') {
429
428
  throw new Error('WebGPU adapter does not expose requestDevice().');
430
429
  }
431
- let device = null;
430
+ let device;
432
431
  try {
433
432
  device = await adapter.requestDevice();
434
433
  }
@@ -471,7 +470,7 @@ class WebGpuBackend {
471
470
  return;
472
471
  }
473
472
  const subscribedDevice = this._device;
474
- void subscribedDevice.lost.then((info) => {
473
+ void subscribedDevice.lost.then(info => {
475
474
  // Recovery may have already replaced this._device with a fresh one;
476
475
  // the old promise still resolves when the previous device is gone.
477
476
  // Only react if the lost device is still the current one.
@@ -520,7 +519,9 @@ class WebGpuBackend {
520
519
  return;
521
520
  }
522
521
  const delay = this._recoveryBackoffMs * Math.pow(2, this._recoveryAttempt - 1);
523
- await new Promise((resolve) => { setTimeout(resolve, delay); });
522
+ await new Promise(resolve => {
523
+ setTimeout(resolve, delay);
524
+ });
524
525
  }
525
526
  }
526
527
  }
@@ -588,7 +589,7 @@ class WebGpuBackend {
588
589
  return new Error(message);
589
590
  }
590
591
  _destroyManagedTextures() {
591
- for (const texture of Array.from(this._textureStates.keys())) {
592
+ for (const texture of [...this._textureStates.keys()]) {
592
593
  this._evictTexture(texture);
593
594
  }
594
595
  }
@@ -606,7 +607,7 @@ class WebGpuBackend {
606
607
  width: Math.max(texture.width, 1),
607
608
  height: Math.max(texture.height, 1),
608
609
  },
609
- format: managedTextureFormat,
610
+ format: this._getGpuTextureFormat(texture),
610
611
  mipLevelCount: this._getMipLevelCount(texture),
611
612
  usage: this._getTextureUsage(texture),
612
613
  });
@@ -630,7 +631,7 @@ class WebGpuBackend {
630
631
  return state;
631
632
  }
632
633
  _syncTexture(texture) {
633
- if (!(texture instanceof RenderTexture) && (texture.source === null || texture.width === 0 || texture.height === 0)) {
634
+ if (!(texture instanceof RenderTexture) && !(texture instanceof DataTexture) && (texture.source === null || texture.width === 0 || texture.height === 0)) {
634
635
  throw new Error('WebGPU sprite rendering requires a texture with a valid source and non-zero dimensions.');
635
636
  }
636
637
  const state = this._getTextureState(texture);
@@ -644,7 +645,7 @@ class WebGpuBackend {
644
645
  width: texture.width,
645
646
  height: texture.height,
646
647
  },
647
- format: managedTextureFormat,
648
+ format: this._getGpuTextureFormat(texture),
648
649
  mipLevelCount,
649
650
  usage: this._getTextureUsage(texture),
650
651
  });
@@ -656,7 +657,34 @@ class WebGpuBackend {
656
657
  state.hasContent = false;
657
658
  }
658
659
  state.sampler = this._createSampler(texture);
659
- if (!(texture instanceof RenderTexture)) {
660
+ if (texture instanceof DataTexture) {
661
+ const formatInfo = webgpuDataTextureFormat(texture.format);
662
+ const region = texture._consumeDirtyRegion();
663
+ const isFullUpload = region === null || region.full || !state.hasContent;
664
+ if (isFullUpload) {
665
+ this.device.queue.writeTexture({ texture: state.texture }, texture.buffer, {
666
+ bytesPerRow: texture.width * formatInfo.bytesPerPixel,
667
+ rowsPerImage: texture.height,
668
+ }, { width: texture.width, height: texture.height });
669
+ }
670
+ else {
671
+ // Partial upload: pack the dirty region into a contiguous buffer.
672
+ const channels = formatInfo.channels;
673
+ const bytesPerPixel = formatInfo.bytesPerPixel;
674
+ const subBytes = region.width * region.height * bytesPerPixel;
675
+ const subBuffer = texture.buffer instanceof Float32Array ? new Float32Array(subBytes / 4) : new Uint8Array(subBytes);
676
+ const rowChannels = texture.width * channels;
677
+ const subRowChannels = region.width * channels;
678
+ for (let row = 0; row < region.height; row++) {
679
+ const sourceStart = (region.y + row) * rowChannels + region.x * channels;
680
+ const targetStart = row * subRowChannels;
681
+ subBuffer.set(texture.buffer.subarray(sourceStart, sourceStart + subRowChannels), targetStart);
682
+ }
683
+ this.device.queue.writeTexture({ texture: state.texture, origin: { x: region.x, y: region.y } }, subBuffer, { bytesPerRow: region.width * bytesPerPixel, rowsPerImage: region.height }, { width: region.width, height: region.height });
684
+ }
685
+ state.hasContent = true;
686
+ }
687
+ else if (!(texture instanceof RenderTexture)) {
660
688
  const source = texture.source;
661
689
  this.device.queue.copyExternalImageToTexture({
662
690
  source,
@@ -739,14 +767,27 @@ class WebGpuBackend {
739
767
  };
740
768
  }
741
769
  _createSampler(texture) {
770
+ // Float32 textures (r32float, rgba32float) are non-filterable by default
771
+ // in WebGPU; force nearest filtering to avoid validation errors. Apps
772
+ // that need linear filtering on floats can opt into the
773
+ // 'float32-filterable' device feature and pass linear via samplerOptions
774
+ // (not yet exposed).
775
+ const isFloatData = texture instanceof DataTexture && (texture.format === 'r32f' || texture.format === 'rgba32f');
776
+ const filter = isFloatData ? 'nearest' : this._getFilterMode(texture.scaleMode);
742
777
  return this.device.createSampler({
743
778
  addressModeU: this._getAddressMode(texture.wrapMode),
744
779
  addressModeV: this._getAddressMode(texture.wrapMode),
745
- magFilter: this._getFilterMode(texture.scaleMode),
746
- minFilter: this._getFilterMode(texture.scaleMode),
747
- mipmapFilter: this._getMipmapFilterMode(texture.scaleMode),
780
+ magFilter: filter,
781
+ minFilter: filter,
782
+ mipmapFilter: isFloatData ? 'nearest' : this._getMipmapFilterMode(texture.scaleMode),
748
783
  });
749
784
  }
785
+ _getGpuTextureFormat(texture) {
786
+ if (texture instanceof DataTexture) {
787
+ return webgpuDataTextureFormat(texture.format).gpuFormat;
788
+ }
789
+ return managedTextureFormat;
790
+ }
750
791
  _getTextureUsage(texture) {
751
792
  const mipmapUsage = this._getMipLevelCount(texture) > 1 ? GPUTextureUsage.RENDER_ATTACHMENT : 0;
752
793
  if (texture instanceof RenderTexture) {
@@ -802,19 +843,23 @@ class WebGpuBackend {
802
843
  for (let mipLevel = 1; mipLevel < mipLevelCount; mipLevel++) {
803
844
  const bindGroup = this.device.createBindGroup({
804
845
  layout: resources.bindGroupLayout,
805
- entries: [{
846
+ entries: [
847
+ {
806
848
  binding: 0,
807
849
  resource: texture.createView({
808
850
  baseMipLevel: mipLevel - 1,
809
851
  mipLevelCount: 1,
810
852
  }),
811
- }, {
853
+ },
854
+ {
812
855
  binding: 1,
813
856
  resource: resources.sampler,
814
- }],
857
+ },
858
+ ],
815
859
  });
816
860
  const pass = encoder.beginRenderPass({
817
- colorAttachments: [{
861
+ colorAttachments: [
862
+ {
818
863
  view: texture.createView({
819
864
  baseMipLevel: mipLevel,
820
865
  mipLevelCount: 1,
@@ -822,7 +867,8 @@ class WebGpuBackend {
822
867
  clearValue: { r: 0, g: 0, b: 0, a: 0 },
823
868
  loadOp: 'clear',
824
869
  storeOp: 'store',
825
- }],
870
+ },
871
+ ],
826
872
  });
827
873
  pass.setPipeline(resources.pipeline);
828
874
  pass.setBindGroup(0, bindGroup);
@@ -832,7 +878,11 @@ class WebGpuBackend {
832
878
  this.device.queue.submit([encoder.finish()]);
833
879
  }
834
880
  _getMipmapResources() {
835
- if (this._mipmapShaderModule === null || this._mipmapBindGroupLayout === null || this._mipmapPipelineLayout === null || this._mipmapPipeline === null || this._mipmapSampler === null) {
881
+ if (this._mipmapShaderModule === null ||
882
+ this._mipmapBindGroupLayout === null ||
883
+ this._mipmapPipelineLayout === null ||
884
+ this._mipmapPipeline === null ||
885
+ this._mipmapSampler === null) {
836
886
  this._mipmapShaderModule = this.device.createShaderModule({
837
887
  code: `
838
888
  struct VertexOutput {
@@ -878,19 +928,22 @@ fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
878
928
  `,
879
929
  });
880
930
  this._mipmapBindGroupLayout = this.device.createBindGroupLayout({
881
- entries: [{
931
+ entries: [
932
+ {
882
933
  binding: 0,
883
934
  visibility: GPUShaderStage.FRAGMENT,
884
935
  texture: {
885
936
  sampleType: 'float',
886
937
  },
887
- }, {
938
+ },
939
+ {
888
940
  binding: 1,
889
941
  visibility: GPUShaderStage.FRAGMENT,
890
942
  sampler: {
891
943
  type: 'filtering',
892
944
  },
893
- }],
945
+ },
946
+ ],
894
947
  });
895
948
  this._mipmapPipelineLayout = this.device.createPipelineLayout({
896
949
  bindGroupLayouts: [this._mipmapBindGroupLayout],
@@ -904,10 +957,12 @@ fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
904
957
  fragment: {
905
958
  module: this._mipmapShaderModule,
906
959
  entryPoint: 'fragmentMain',
907
- targets: [{
960
+ targets: [
961
+ {
908
962
  format: managedTextureFormat,
909
963
  writeMask: GPUColorWrite.ALL,
910
- }],
964
+ },
965
+ ],
911
966
  },
912
967
  primitive: {
913
968
  topology: 'triangle-list',
@@ -926,6 +981,18 @@ fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
926
981
  };
927
982
  }
928
983
  }
984
+ function webgpuDataTextureFormat(format) {
985
+ switch (format) {
986
+ case 'r8':
987
+ return { gpuFormat: 'r8unorm', bytesPerPixel: 1, channels: 1 };
988
+ case 'r32f':
989
+ return { gpuFormat: 'r32float', bytesPerPixel: 4, channels: 1 };
990
+ case 'rgba8':
991
+ return { gpuFormat: 'rgba8unorm', bytesPerPixel: 4, channels: 4 };
992
+ case 'rgba32f':
993
+ return { gpuFormat: 'rgba32float', bytesPerPixel: 16, channels: 4 };
994
+ }
995
+ }
929
996
 
930
997
  export { WebGpuBackend };
931
998
  //# sourceMappingURL=WebGpuBackend.js.map