@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 +1 @@
1
- {"version":3,"file":"geometry.js","sources":["../../../../src/math/geometry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sources":["../../../../src/math/geometry.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAeA;;;;AAIG;AACI,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,KAAa,KAAsB;IACvH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AAC3C,IAAA,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC5F,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAE5F,IAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC;QAChC,MAAM,GAAG,KAAK,CAAC,CAAC;AAChB,QAAA,MAAM,GAAG,KAAK,CAAC,CAAC;QAChB,MAAM,GAAG,KAAK,CAAC,CAAC;AAChB,QAAA,MAAM,GAAG,KAAK,CAAC,CAAC;QAChB,IAAI,GAAG,KAAK,CAAC,CAAC;AACd,QAAA,IAAI,GAAG,KAAK,CAAC,CAAC;QACd,IAAI,GAAG,KAAK,CAAC,CAAC;AACd,QAAA,IAAI,GAAG,KAAK,CAAC,CAAC;AACf,KAAA,CAAC;IAEF,KAAK,CAAC,OAAO,EAAE;IACf,KAAK,CAAC,OAAO,EAAE;AAEf,IAAA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnD,IAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC;AAEA;;;;;;;;AAQG;MACU,SAAS,GAAG,CAAC,MAAgB,EAAE,KAAa,KAAsB;AAC7E,IAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;IACzE;AAEA,IAAA,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC;AAC3B,IAAA,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,MAAM;AAE5B,IAAA,IAAI,UAAU,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE;AAChE,QAAA,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;QAEpB,MAAM,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,GAAG,EAAE;QAEZ,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEnE,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,GAAG;AAClE,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,GAAG;AAElE,QAAA,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;AACpC,QAAA,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;IACnC;IAEA,UAAU,CAAC,OAAO,EAAE;IACpB,SAAS,CAAC,OAAO,EAAE;AAEnB,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;IAChC,MAAM,aAAa,GAAa,EAAE;AAElC,IAAA,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACnB,IAAA,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACnB,IAAA,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACnB,IAAA,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACnB,IAAA,IAAI,GAAW;AACf,IAAA,IAAI,GAAW;IAEf,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;AACxB,IAAA,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG;AACrB,IAAA,IAAI,MAAc;AAClB,IAAA,IAAI,MAAc;AAClB,IAAA,IAAI,MAAc;AAClB,IAAA,IAAI,MAAc;AAElB,IAAA,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAEnD,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,SAAS;IAClB,KAAK,IAAI,SAAS;IAElB,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC;IAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC;AAE5C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE7B,QAAA,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE7B,QAAA,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;AACpB,QAAA,KAAK,GAAG,GAAG,GAAG,GAAG;AAEjB,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;QAE/C,KAAK,IAAI,IAAI;QACb,KAAK,IAAI,IAAI;QACb,KAAK,IAAI,SAAS;QAClB,KAAK,IAAI,SAAS;AAElB,QAAA,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;AACrB,QAAA,MAAM,GAAG,GAAG,GAAG,GAAG;AAElB,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAEnD,MAAM,IAAI,IAAI;QACd,MAAM,IAAI,IAAI;QACd,MAAM,IAAI,SAAS;QACnB,MAAM,IAAI,SAAS;AAEnB,QAAA,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACxC,QAAA,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACxC,QAAA,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;AAC5E,QAAA,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAC1C,QAAA,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAC1C,QAAA,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAEhF,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAE/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE;YACzB,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC;YAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC;YAE5C;QACF;AAEA,QAAA,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK;AACtC,QAAA,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK;QACtC,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC;QAE/D,IAAI,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,SAAS,EAAE;AACvC,YAAA,MAAM,GAAG,KAAK,GAAG,MAAM;AACvB,YAAA,MAAM,GAAG,KAAK,GAAG,MAAM;AAEvB,YAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;YAEnD,MAAM,IAAI,IAAI;YACd,MAAM,IAAI,IAAI;YACd,MAAM,IAAI,SAAS;YACnB,MAAM,IAAI,SAAS;YAEnB,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;YAC9C,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;YAC9C,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;QAChD;aAAO;AACL,YAAA,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;AAC1B,YAAA,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;QACxD;IACF;IAEA,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAA,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElC,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,IAAA,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElC,IAAA,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;AACpB,IAAA,KAAK,GAAG,GAAG,GAAG,GAAG;AAEjB,IAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAE/C,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,SAAS;IAClB,KAAK,IAAI,SAAS;IAElB,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC;IAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC;;;;;AAM5C,IAAA,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;AACjD,IAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC;AAChD,IAAA,MAAM,aAAa,GAAG,gBAAgB,IAAI,CAAC,GAAG,gBAAgB,GAAG,CAAC,GAAG,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;AAElD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACtC,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC;QAElB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACjB,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YACjB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACzB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B;aAAO;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACrB,YAAA,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B;IACF;IAEA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;AACrD;AAEA;;;;AAIG;AACI,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,MAAc,KAAsB;AAChG,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM;IACtC,MAAM,MAAM,GAAa,EAAE;;AAG3B,IAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnD,IAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO;AACrB,IAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO;AAErB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM;AACzD,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM;AAEzD,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAE/B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAE1B,QAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ;AAC3B,QAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ;IACjC;IAEA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAE3C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC;AAElB,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAChD;AAEA,IAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC;AAEA;;;AAGG;AACI,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,OAAe,EAAE,OAAe,KAAsB;AACnH,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM;IACtC,MAAM,MAAM,GAAa,EAAE;AAE3B,IAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnD,IAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO;AACrB,IAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO;AAErB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO;AAC1D,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAE/B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAE1B,QAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ;AAC3B,QAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ;IACjC;IAEA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAE3C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC;AAElB,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAChD;AAEA,IAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC;AAEA;;;;AAIG;AACI,MAAM,YAAY,GAAG,CAAC,MAAgB,KAAsB;AACjE,IAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC;IAC9E;AAEA,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;AAChC,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AAEhD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/B,QAAA,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC;AAEA,IAAA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;AAE1C,IAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC;AAEA;;;AAGG;AACI,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,KAAsB;;AAEtG,IAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC;QAChC,CAAC;AACD,QAAA,CAAC;AACD,QAAA,CAAC,GAAG,KAAK;AACT,QAAA,CAAC;QACD,CAAC;QACD,CAAC,GAAG,MAAM;AACV,QAAA,CAAC,GAAG,KAAK;QACT,CAAC,GAAG,MAAM;AACX,KAAA,CAAC;AACF,IAAA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEnD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AAEzE,IAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC;AAEA;;;;AAIG;MACU,SAAS,GAAG,CACvB,OAAe,EACf,OAAe,EACf,MAAc,EACd,MAAc,EACd,WAAA,GAAsB,MAAM,GAAG,CAAC,EAChC,QAAQ,GAAG,CAAC,KACQ;IACpB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,QAAQ;AAC1C,IAAA,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;AACzB,IAAA,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM;IAC1B,MAAM,IAAI,GAAa,EAAE;AAEzB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,GAAG,KAAK;AACpC,QAAA,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM;QAExC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7E;AAEA,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B;;;;"}
@@ -1,28 +1,28 @@
1
- export * from './Collision';
2
- export * from './PointLike';
3
- export * from './RectangleLike';
1
+ export * from './Circle';
4
2
  export * from './CircleLike';
5
- export * from './EllipseLike';
6
- export * from './LineLike';
7
- export * from './PolygonLike';
8
- export * from './utils';
9
- export * from './geometry';
3
+ export * from './Collision';
10
4
  export * from './collision-detection';
11
- export * from './Vector';
12
- export * from './Line';
13
- export * from './Rectangle';
14
- export * from './Circle';
15
5
  export * from './Ellipse';
16
- export * from './Polygon';
17
- export * from './ShapeLike';
6
+ export * from './EllipseLike';
18
7
  export * from './Flags';
8
+ export * from './geometry';
19
9
  export * from './Interval';
10
+ export * from './Line';
11
+ export * from './LineLike';
20
12
  export * from './Matrix';
21
13
  export * from './ObservableSize';
22
14
  export * from './ObservableVector';
15
+ export * from './PointLike';
16
+ export * from './PolarVector';
17
+ export * from './Polygon';
18
+ export * from './PolygonLike';
19
+ export * from './Quadtree';
23
20
  export * from './Random';
21
+ export * from './Rectangle';
22
+ export * from './RectangleLike';
24
23
  export * from './Segment';
24
+ export * from './ShapeLike';
25
25
  export * from './Size';
26
- export * from './PolarVector';
27
26
  export * from './swept-collision';
28
- export * from './Quadtree';
27
+ export * from './utils';
28
+ export * from './Vector';
@@ -1,5 +1,5 @@
1
- import { Rectangle } from './Rectangle';
2
1
  import type { CircleLike } from './CircleLike';
2
+ import { Rectangle } from './Rectangle';
3
3
  /**
4
4
  * Result of a swept-collision query. The moving shape's reference point
5
5
  * is at `(x, y)` at impact, having travelled fraction `t` ∈ [0..1] of
@@ -62,7 +62,7 @@ export declare function sweepCircleVsCircle(moving: CircleLike, deltaX: number,
62
62
  * moving rectangle is computed once; targets whose AABB does not overlap the
63
63
  * swept AABB are skipped.
64
64
  */
65
- export declare function sweepRectangleAgainst(moving: Rectangle, deltaX: number, deltaY: number, targets: ReadonlyArray<Rectangle>): SweptHit | null;
65
+ export declare function sweepRectangleAgainst(moving: Rectangle, deltaX: number, deltaY: number, targets: readonly Rectangle[]): SweptHit | null;
66
66
  /**
67
67
  * Returns the earliest `SweptHit` against an array of circle targets, or
68
68
  * `null` if none are hit.
@@ -70,7 +70,7 @@ export declare function sweepRectangleAgainst(moving: Rectangle, deltaX: number,
70
70
  * Optimisation: the swept AABB of the moving circle is computed once and used
71
71
  * to skip targets that cannot possibly be reached.
72
72
  */
73
- export declare function sweepCircleAgainst(moving: CircleLike, deltaX: number, deltaY: number, targets: ReadonlyArray<CircleLike>): SweptHit | null;
73
+ export declare function sweepCircleAgainst(moving: CircleLike, deltaX: number, deltaY: number, targets: readonly CircleLike[]): SweptHit | null;
74
74
  /**
75
75
  * Generator that yields evenly-spaced position snapshots along a movement
76
76
  * vector so the caller can run their own discrete intersection check at each
@@ -182,10 +182,7 @@ function sweepRectangleAgainst(moving, deltaX, deltaY, targets) {
182
182
  let earliest = null;
183
183
  for (const target of targets) {
184
184
  // Broad-phase: skip if swept AABB doesn't overlap target AABB
185
- if (sweptMaxX <= target.x
186
- || sweptMinX >= target.x + target.width
187
- || sweptMaxY <= target.y
188
- || sweptMinY >= target.y + target.height) {
185
+ if (sweptMaxX <= target.x || sweptMinX >= target.x + target.width || sweptMaxY <= target.y || sweptMinY >= target.y + target.height) {
189
186
  continue;
190
187
  }
191
188
  const hit = sweepRectangle(moving, deltaX, deltaY, target);
@@ -214,10 +211,10 @@ function sweepCircleAgainst(moving, deltaX, deltaY, targets) {
214
211
  let earliest = null;
215
212
  for (const target of targets) {
216
213
  // Broad-phase: skip if swept AABB doesn't overlap target's AABB
217
- if (sweptMaxX <= target.x - target.radius
218
- || sweptMinX >= target.x + target.radius
219
- || sweptMaxY <= target.y - target.radius
220
- || sweptMinY >= target.y + target.radius) {
214
+ if (sweptMaxX <= target.x - target.radius ||
215
+ sweptMinX >= target.x + target.radius ||
216
+ sweptMaxY <= target.y - target.radius ||
217
+ sweptMinY >= target.y + target.radius) {
221
218
  continue;
222
219
  }
223
220
  const hit = sweepCircleVsCircle(moving, deltaX, deltaY, target);
@@ -1 +1 @@
1
- {"version":3,"file":"swept-collision.js","sources":["../../../../src/math/swept-collision.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swept-collision.js","sources":["../../../../src/math/swept-collision.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -21,12 +21,13 @@ function triangulate(vertices) {
21
21
  }
22
22
  if (n === 3) {
23
23
  // Return in CCW order; swap if input triangle is CW.
24
- const ax = vertices[0], ay = vertices[1];
25
- const bx = vertices[2], by = vertices[3];
26
- const cx = vertices[4], cy = vertices[5];
27
- return isCcwTriangle(ax, ay, bx, by, cx, cy)
28
- ? new Uint32Array([0, 1, 2])
29
- : new Uint32Array([2, 1, 0]);
24
+ const ax = vertices[0];
25
+ const ay = vertices[1];
26
+ const bx = vertices[2];
27
+ const by = vertices[3];
28
+ const cx = vertices[4];
29
+ const cy = vertices[5];
30
+ return isCcwTriangle(ax, ay, bx, by, cx, cy) ? new Uint32Array([0, 1, 2]) : new Uint32Array([2, 1, 0]);
30
31
  }
31
32
  // Build doubly-linked list of vertex indices.
32
33
  const prev = new Uint32Array(n);
@@ -57,9 +58,12 @@ function triangulate(vertices) {
57
58
  const p = prev[current];
58
59
  const nx = next[current];
59
60
  const v = current;
60
- const ax = vertices[p * 2], ay = vertices[p * 2 + 1];
61
- const bx = vertices[v * 2], by = vertices[v * 2 + 1];
62
- const cx = vertices[nx * 2], cy = vertices[nx * 2 + 1];
61
+ const ax = vertices[p * 2];
62
+ const ay = vertices[p * 2 + 1];
63
+ const bx = vertices[v * 2];
64
+ const by = vertices[v * 2 + 1];
65
+ const cx = vertices[nx * 2];
66
+ const cy = vertices[nx * 2 + 1];
63
67
  if (isCcwTriangle(ax, ay, bx, by, cx, cy) && isEar(vertices, prev, next, p, v, nx)) {
64
68
  // Emit triangle (prev, v, next).
65
69
  out[outIdx++] = p;
@@ -85,9 +89,12 @@ function triangulate(vertices) {
85
89
  if (remaining === 3) {
86
90
  const pa = prev[current];
87
91
  const nc = next[current];
88
- const ax = vertices[pa * 2], ay = vertices[pa * 2 + 1];
89
- const bx = vertices[current * 2], by = vertices[current * 2 + 1];
90
- const cx = vertices[nc * 2], cy = vertices[nc * 2 + 1];
92
+ const ax = vertices[pa * 2];
93
+ const ay = vertices[pa * 2 + 1];
94
+ const bx = vertices[current * 2];
95
+ const by = vertices[current * 2 + 1];
96
+ const cx = vertices[nc * 2];
97
+ const cy = vertices[nc * 2 + 1];
91
98
  if (isCcwTriangle(ax, ay, bx, by, cx, cy)) {
92
99
  out[outIdx++] = pa;
93
100
  out[outIdx++] = current;
@@ -111,7 +118,7 @@ function signedArea(vertices) {
111
118
  const y0 = vertices[i * 2 + 1];
112
119
  const x1 = vertices[j * 2];
113
120
  const y1 = vertices[j * 2 + 1];
114
- area += (x0 * y1) - (x1 * y0);
121
+ area += x0 * y1 - x1 * y0;
115
122
  }
116
123
  return area; // Positive = CCW, negative = CW.
117
124
  }
@@ -120,7 +127,7 @@ function signedArea(vertices) {
120
127
  * Uses the cross product of (b-a) × (c-a); positive = CCW.
121
128
  */
122
129
  function isCcwTriangle(ax, ay, bx, by, cx, cy) {
123
- return ((bx - ax) * (cy - ay) - (by - ay) * (cx - ax)) > 0;
130
+ return (bx - ax) * (cy - ay) - (by - ay) * (cx - ax) > 0;
124
131
  }
125
132
  /**
126
133
  * Returns true if point (px, py) lies strictly inside triangle (a, b, c).
@@ -130,24 +137,27 @@ function pointInTriangle(px, py, ax, ay, bx, by, cx, cy) {
130
137
  const d1 = (px - bx) * (ay - by) - (ax - bx) * (py - by);
131
138
  const d2 = (px - cx) * (by - cy) - (bx - cx) * (py - cy);
132
139
  const d3 = (px - ax) * (cy - ay) - (cx - ax) * (py - ay);
133
- const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0);
134
- const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0);
140
+ const hasNeg = d1 < 0 || d2 < 0 || d3 < 0;
141
+ const hasPos = d1 > 0 || d2 > 0 || d3 > 0;
135
142
  // Strictly inside: all same sign and none are exactly zero (exclude boundary).
136
- return !(hasNeg && hasPos) && (d1 !== 0) && (d2 !== 0) && (d3 !== 0);
143
+ return !(hasNeg && hasPos) && d1 !== 0 && d2 !== 0 && d3 !== 0;
137
144
  }
138
145
  /**
139
- * Returns true if vertex v is an ear: the triangle (prevIdx, v, nextIdx) contains
146
+ * Returns true if vertex v is an ear: the triangle (previousVertexIndex, v, nextVertexIndex) contains
140
147
  * no other polygon vertex strictly inside it.
141
148
  */
142
- function isEar(vertices, prev, next, prevIdx, v, nextIdx) {
143
- const ax = vertices[prevIdx * 2], ay = vertices[prevIdx * 2 + 1];
144
- const bx = vertices[v * 2], by = vertices[v * 2 + 1];
145
- const cx = vertices[nextIdx * 2], cy = vertices[nextIdx * 2 + 1];
149
+ function isEar(vertices, prev, next, previousVertexIndex, v, nextVertexIndex) {
150
+ const ax = vertices[previousVertexIndex * 2];
151
+ const ay = vertices[previousVertexIndex * 2 + 1];
152
+ const bx = vertices[v * 2];
153
+ const by = vertices[v * 2 + 1];
154
+ const cx = vertices[nextVertexIndex * 2];
155
+ const cy = vertices[nextVertexIndex * 2 + 1];
146
156
  // Walk all remaining vertices and check if any lie strictly inside the ear triangle.
147
157
  // Skip the three ear vertices themselves — they can never be "inside" by strict test,
148
158
  // but we exclude them explicitly for clarity and to avoid floating-point edge cases.
149
- let node = next[nextIdx];
150
- while (node !== prevIdx) {
159
+ let node = next[nextVertexIndex];
160
+ while (node !== previousVertexIndex) {
151
161
  if (node !== v) {
152
162
  const px = vertices[node * 2];
153
163
  const py = vertices[node * 2 + 1];
@@ -1 +1 @@
1
- {"version":3,"file":"triangulate.js","sources":["../../../../src/math/triangulate.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;AAeG;AACG,SAAU,WAAW,CAAC,QAA2B,EAAA;AACnD,IAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC;AAE9B,IAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACP,QAAA,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC;IAC7B;AAEA,IAAA,IAAI,CAAC,KAAK,CAAC,EAAE;;AAET,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACxC,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACxC,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AAExC,QAAA,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;cACrC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,cAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC;;AAGA,IAAA,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AAC/B,IAAA,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AAE/B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxB,QAAA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACzB;;AAGA,IAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YAEnB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACjB,YAAA,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;QACjB;IACJ;AAEA,IAAA,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,CAAC;IAEd,IAAI,SAAS,GAAG,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC;;AAGf,IAAA,OAAO,SAAS,GAAG,CAAC,EAAE;;QAElB,IAAI,QAAQ,GAAG,KAAK;QACpB,MAAM,SAAS,GAAG,OAAO;AAEzB,QAAA,GAAG;AACC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AACvB,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,MAAM,CAAC,GAAG,OAAO;AAEjB,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvD,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvD,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,EAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAExD,YAAA,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;;AAEhF,gBAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;AACjB,gBAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;AACjB,gBAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;;AAGlB,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACZ,gBAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;AACZ,gBAAA,SAAS,EAAE;gBAEX,QAAQ,GAAG,IAAI;gBACf,OAAO,GAAG,EAAE;gBACZ;YACJ;AAEA,YAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,QAAA,CAAC,QAAQ,OAAO,KAAK,SAAS;QAE9B,IAAI,CAAC,QAAQ,EAAE;;YAEX;QACJ;IACJ;;;AAIA,IAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACjB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AACxB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AACxB,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,EAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3D,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAChE,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,EAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3D,QAAA,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;AACvC,YAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;AAClB,YAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO;AACvB,YAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACtB;aAAO;AACH,YAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;AAClB,YAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO;AACvB,YAAA,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACtB;IACJ;IAEA,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;AAClC;AAEA;AACA,SAAS,UAAU,CAAC,QAA2B,EAAA;AAC3C,IAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC;IAC9B,IAAI,IAAI,GAAG,CAAC;AAEZ,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE9B,QAAA,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACjC;IAEA,OAAO,IAAI,CAAC;AAChB;AAEA;;;AAGG;AACH,SAAS,aAAa,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAA;IACzF,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;AAC9D;AAEA;;;AAGG;AACH,SAAS,eAAe,CACpB,EAAU,EAAE,EAAU,EACtB,EAAU,EAAE,EAAU,EACtB,EAAU,EAAE,EAAU,EACtB,EAAU,EAAE,EAAU,EAAA;IAEtB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAExD,IAAA,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/C,IAAA,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;;IAG/C,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxE;AAEA;;;AAGG;AACH,SAAS,KAAK,CACV,QAA2B,EAC3B,IAAiB,EACjB,IAAiB,EACjB,OAAe,EACf,CAAS,EACT,OAAe,EAAA;AAEf,IAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,EAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,IAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3D,IAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,EAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;;;;AAKjE,IAAA,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;AAExB,IAAA,OAAO,IAAI,KAAK,OAAO,EAAE;AACrB,QAAA,IAAI,IAAI,KAAK,CAAC,EAAE;YACZ,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,YAAA,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;AACjD,gBAAA,OAAO,KAAK;YAChB;QACJ;AACA,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB;AAEA,IAAA,OAAO,IAAI;AACf;;;;"}
1
+ {"version":3,"file":"triangulate.js","sources":["../../../../src/math/triangulate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -47,13 +47,13 @@ export declare const getDistance: (x1: number, y1: number, x2: number, y2: numbe
47
47
  * the resulting `(x, y)` pairs to `path`. The starting point `(fromX, fromY)`
48
48
  * is always pushed first. Returns `path` for chaining.
49
49
  */
50
- export declare const bezierCurveTo: (fromX: number, fromY: number, cpX1: number, cpY1: number, cpX2: number, cpY2: number, toX: number, toY: number, path?: Array<number>, len?: number) => Array<number>;
50
+ export declare const bezierCurveTo: (fromX: number, fromY: number, cpX1: number, cpY1: number, cpX2: number, cpY2: number, toX: number, toY: number, path?: number[], len?: number) => number[];
51
51
  /**
52
52
  * Sample a quadratic Bézier curve at `len + 1` evenly-spaced `t` values
53
53
  * (including `t = 0` and `t = 1`) and append the resulting `(x, y)` pairs to
54
54
  * `path`. Returns `path` for chaining.
55
55
  */
56
- export declare const quadraticCurveTo: (fromX: number, fromY: number, cpX: number, cpY: number, toX: number, toY: number, path?: Array<number>, len?: number) => Array<number>;
56
+ export declare const quadraticCurveTo: (fromX: number, fromY: number, cpX: number, cpY: number, toX: number, toY: number, path?: number[], len?: number) => number[];
57
57
  /**
58
58
  * Classify `point` relative to the directed `line` using the dot product.
59
59
  * Returns `left` when the point is before the line start, `right` when it is
@@ -33,21 +33,21 @@ const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
33
33
  * Return the sign of `value` as `-1`, `0`, or `1`. Unlike `Math.sign`,
34
34
  * returns `0` only for strict zero (not `-0`).
35
35
  */
36
- const sign = (value) => (value && (value < 0 ? -1 : 1));
36
+ const sign = (value) => value && (value < 0 ? -1 : 1);
37
37
  /** Linear interpolation between `startValue` and `endValue` at normalized `ratio` ∈ [0, 1]. */
38
- const lerp = (startValue, endValue, ratio) => (((1 - ratio) * startValue) + (ratio * endValue));
38
+ const lerp = (startValue, endValue, ratio) => (1 - ratio) * startValue + ratio * endValue;
39
39
  /** Return `true` when `value` is a non-zero power of two. */
40
- const isPowerOfTwo = (value) => ((value !== 0) && ((value & (value - 1)) === 0));
40
+ const isPowerOfTwo = (value) => value !== 0 && (value & (value - 1)) === 0;
41
41
  /**
42
42
  * Return `true` when `value` lies within `[min, max]` (inclusive, regardless
43
43
  * of whether `min < max`).
44
44
  */
45
- const inRange = (value, min, max) => (value >= Math.min(min, max) && value <= Math.max(min, max));
45
+ const inRange = (value, min, max) => value >= Math.min(min, max) && value <= Math.max(min, max);
46
46
  /** Euclidean distance between `(x1, y1)` and `(x2, y2)`. */
47
47
  const getDistance = (x1, y1, x2, y2) => {
48
48
  const offsetX = x1 - x2;
49
49
  const offsetY = y1 - y2;
50
- return Math.sqrt((offsetX * offsetX) + (offsetY * offsetY));
50
+ return Math.sqrt(offsetX * offsetX + offsetY * offsetY);
51
51
  };
52
52
  /**
53
53
  * Sample a cubic Bézier curve at `len` evenly-spaced `t` values and append
@@ -58,12 +58,12 @@ const bezierCurveTo = (fromX, fromY, cpX1, cpY1, cpX2, cpY2, toX, toY, path = []
58
58
  path.push(fromX, fromY);
59
59
  for (let i = 1; i <= len; i++) {
60
60
  const j = i / len;
61
- const dt1 = (1 - j);
61
+ const dt1 = 1 - j;
62
62
  const dt2 = dt1 * dt1;
63
63
  const dt3 = dt2 * dt1;
64
64
  const t2 = j * j;
65
65
  const t3 = t2 * j;
66
- path.push((dt3 * fromX) + (3 * dt2 * j * cpX1) + (3 * dt1 * t2 * cpX2) + (t3 * toX), (dt3 * fromY) + (3 * dt2 * j * cpY1) + (3 * dt1 * t2 * cpY2) + (t3 * toY));
66
+ path.push(dt3 * fromX + 3 * dt2 * j * cpX1 + 3 * dt1 * t2 * cpX2 + t3 * toX, dt3 * fromY + 3 * dt2 * j * cpY1 + 3 * dt1 * t2 * cpY2 + t3 * toY);
67
67
  }
68
68
  return path;
69
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/math/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/math/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { Rectangle } from '@/math/Rectangle';
2
1
  import type { Time } from '@/core/Time';
2
+ import { Rectangle } from '@/math/Rectangle';
3
3
  import { Drawable } from '@/rendering/Drawable';
4
- import { Texture } from '@/rendering/texture/Texture';
5
4
  import type { RenderBackend } from '@/rendering/RenderBackend';
6
5
  import { Spritesheet } from '@/rendering/sprite/Spritesheet';
6
+ import { Texture } from '@/rendering/texture/Texture';
7
+ import { ParticleGpuState } from './gpu/ParticleGpuState';
8
+ import type { DeathModule } from './modules/DeathModule';
7
9
  import type { SpawnModule } from './modules/SpawnModule';
8
10
  import type { UpdateModule } from './modules/UpdateModule';
9
- import type { DeathModule } from './modules/DeathModule';
10
- import { ParticleGpuState } from './gpu/ParticleGpuState';
11
11
  /**
12
12
  * Options for {@link ParticleSystem}'s constructor — orthogonal config
13
13
  * that's independent of the texture source. Texture / frames / spritesheet
@@ -141,7 +141,7 @@ export declare class ParticleSystem extends Drawable {
141
141
  /** Single texture, no atlas — every particle uses the full texture as one frame. */
142
142
  constructor(texture: Texture, options?: ParticleSystemOptions);
143
143
  /** Multi-frame atlas — each particle's `textureIndex` selects a frame. */
144
- constructor(texture: Texture, frames: ReadonlyArray<Rectangle>, options?: ParticleSystemOptions);
144
+ constructor(texture: Texture, frames: readonly Rectangle[], options?: ParticleSystemOptions);
145
145
  /** Spritesheet shorthand — texture + frames pulled from the sheet. */
146
146
  constructor(spritesheet: Spritesheet, options?: ParticleSystemOptions);
147
147
  get texture(): Texture;
@@ -153,7 +153,7 @@ export declare class ParticleSystem extends Drawable {
153
153
  * used as a single frame. Each particle's `textureIndex[i]` selects
154
154
  * an entry from this list; out-of-range indices are clamped to 0.
155
155
  */
156
- get frames(): ReadonlyArray<Rectangle>;
156
+ get frames(): readonly Rectangle[];
157
157
  /** `true` when the system declares more than one atlas frame. */
158
158
  get hasAtlas(): boolean;
159
159
  get vertices(): Float32Array;
@@ -164,9 +164,9 @@ export declare class ParticleSystem extends Drawable {
164
164
  get gpuState(): ParticleGpuState | null;
165
165
  /** Actual count of live particles (slots with `alive[i] === 1`). May differ from `liveCount` in GPU mode. */
166
166
  get aliveCount(): number;
167
- get spawnModules(): ReadonlyArray<SpawnModule>;
168
- get updateModules(): ReadonlyArray<UpdateModule>;
169
- get deathModules(): ReadonlyArray<DeathModule>;
167
+ get spawnModules(): readonly SpawnModule[];
168
+ get updateModules(): readonly UpdateModule[];
169
+ get deathModules(): readonly DeathModule[];
170
170
  setTexture(texture: Texture): this;
171
171
  setTextureFrame(frame: Rectangle): this;
172
172
  resetTextureFrame(): this;
@@ -1,7 +1,7 @@
1
1
  import { Rectangle } from '../math/Rectangle.js';
2
2
  import { Drawable } from '../rendering/Drawable.js';
3
- import { Texture } from '../rendering/texture/Texture.js';
4
3
  import { Spritesheet } from '../rendering/sprite/Spritesheet.js';
4
+ import { Texture } from '../rendering/texture/Texture.js';
5
5
  import { ParticleGpuState } from './gpu/ParticleGpuState.js';
6
6
 
7
7
  /// <reference types="@webgpu/types" />
@@ -138,7 +138,7 @@ class ParticleSystem extends Drawable {
138
138
  _texCoords = new Uint32Array(4);
139
139
  _updateTexCoords = true;
140
140
  _updateVertices = true;
141
- constructor(arg1, arg2, arg3) {
141
+ constructor(sourceOrOptions, framesOrOptions, finalOptions) {
142
142
  super();
143
143
  // Disambiguate the four valid call shapes via instanceof checks.
144
144
  // The TS overloads above already prevent illegal combinations like
@@ -146,24 +146,24 @@ class ParticleSystem extends Drawable {
146
146
  // narrowing only sorts out the legal ones.
147
147
  let texture = null;
148
148
  let frames = null;
149
- let options = {};
150
- if (arg1 instanceof Texture) {
151
- texture = arg1;
152
- if (Array.isArray(arg2)) {
153
- frames = arg2;
154
- options = arg3 ?? {};
149
+ let options;
150
+ if (sourceOrOptions instanceof Texture) {
151
+ texture = sourceOrOptions;
152
+ if (Array.isArray(framesOrOptions)) {
153
+ frames = framesOrOptions;
154
+ options = finalOptions ?? {};
155
155
  }
156
156
  else {
157
- options = arg2 ?? {};
157
+ options = framesOrOptions ?? {};
158
158
  }
159
159
  }
160
- else if (arg1 instanceof Spritesheet) {
161
- texture = arg1.texture;
162
- frames = [...arg1.frames.values()];
163
- options = arg2 ?? {};
160
+ else if (sourceOrOptions instanceof Spritesheet) {
161
+ texture = sourceOrOptions.texture;
162
+ frames = [...sourceOrOptions.frames.values()];
163
+ options = framesOrOptions ?? {};
164
164
  }
165
165
  else {
166
- options = arg1 ?? {};
166
+ options = sourceOrOptions ?? {};
167
167
  }
168
168
  const capacity = options.capacity ?? defaultCapacity;
169
169
  if (capacity <= 0 || !Number.isInteger(capacity)) {
@@ -219,8 +219,8 @@ class ParticleSystem extends Drawable {
219
219
  get vertices() {
220
220
  if (this._updateVertices) {
221
221
  const { x, y, width, height } = this._textureFrame;
222
- const offsetX = (width / 2);
223
- const offsetY = (height / 2);
222
+ const offsetX = width / 2;
223
+ const offsetY = height / 2;
224
224
  this._vertices[0] = x - offsetX;
225
225
  this._vertices[1] = y - offsetY;
226
226
  this._vertices[2] = width - offsetX;
@@ -233,21 +233,21 @@ class ParticleSystem extends Drawable {
233
233
  if (this._updateTexCoords) {
234
234
  const { width, height } = this._texture;
235
235
  const { left, top, right, bottom } = this._textureFrame;
236
- const minX = ((left / width) * 65535 & 65535);
237
- const minY = ((top / height) * 65535 & 65535) << 16;
238
- const maxX = ((right / width) * 65535 & 65535);
239
- const maxY = ((bottom / height) * 65535 & 65535) << 16;
236
+ const minX = ((left / width) * 65535) & 65535;
237
+ const minY = (((top / height) * 65535) & 65535) << 16;
238
+ const maxX = ((right / width) * 65535) & 65535;
239
+ const maxY = (((bottom / height) * 65535) & 65535) << 16;
240
240
  if (this._texture.flipY) {
241
- this._texCoords[0] = (maxY | minX);
242
- this._texCoords[1] = (maxY | maxX);
243
- this._texCoords[2] = (minY | maxX);
244
- this._texCoords[3] = (minY | minX);
241
+ this._texCoords[0] = maxY | minX;
242
+ this._texCoords[1] = maxY | maxX;
243
+ this._texCoords[2] = minY | maxX;
244
+ this._texCoords[3] = minY | minX;
245
245
  }
246
246
  else {
247
- this._texCoords[0] = (minY | minX);
248
- this._texCoords[1] = (minY | maxX);
249
- this._texCoords[2] = (maxY | maxX);
250
- this._texCoords[3] = (maxY | minX);
247
+ this._texCoords[0] = minY | minX;
248
+ this._texCoords[1] = minY | maxX;
249
+ this._texCoords[2] = maxY | maxX;
250
+ this._texCoords[3] = maxY | minX;
251
251
  }
252
252
  this._updateTexCoords = false;
253
253
  }
@@ -422,7 +422,7 @@ class ParticleSystem extends Drawable {
422
422
  if (device === null) {
423
423
  return;
424
424
  }
425
- const allEligible = this._updateModules.every((m) => typeof m.wgsl === 'function');
425
+ const allEligible = this._updateModules.every(m => typeof m.wgsl === 'function');
426
426
  if (!allEligible) {
427
427
  return;
428
428
  }