@codexo/exojs 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/CHANGELOG.md +318 -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 +1 -1
  15. package/dist/esm/audio/AudioAnalyser.js +2 -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 +4 -4
  26. package/dist/esm/audio/BeatDetector.js +68 -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/tempogram.d.ts +2 -2
  45. package/dist/esm/audio/filters/ChorusFilter.js +12 -4
  46. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  47. package/dist/esm/audio/filters/CompressorFilter.d.ts +9 -0
  48. package/dist/esm/audio/filters/CompressorFilter.js +11 -0
  49. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  50. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  51. package/dist/esm/audio/filters/DuckingFilter.d.ts +1 -1
  52. package/dist/esm/audio/filters/DuckingFilter.js +13 -5
  53. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  54. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  55. package/dist/esm/audio/filters/GranularFilter.js +30 -14
  56. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  57. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  58. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  59. package/dist/esm/audio/filters/PitchShiftFilter.js +14 -10
  60. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  61. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  62. package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -2
  63. package/dist/esm/audio/filters/VocoderFilter.js +20 -12
  64. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  65. package/dist/esm/audio/filters/WorkletFilter.js +5 -6
  66. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  67. package/dist/esm/audio/filters/index.d.ts +7 -7
  68. package/dist/esm/audio/index.d.ts +9 -9
  69. package/dist/esm/audio/worklet/registerWorklet.js +7 -3
  70. package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
  71. package/dist/esm/core/Application.d.ts +13 -13
  72. package/dist/esm/core/Application.js +24 -16
  73. package/dist/esm/core/Application.js.map +1 -1
  74. package/dist/esm/core/Bounds.d.ts +1 -1
  75. package/dist/esm/core/Bounds.js +1 -3
  76. package/dist/esm/core/Bounds.js.map +1 -1
  77. package/dist/esm/core/Clock.js +1 -1
  78. package/dist/esm/core/Clock.js.map +1 -1
  79. package/dist/esm/core/Color.js +2 -5
  80. package/dist/esm/core/Color.js.map +1 -1
  81. package/dist/esm/core/Scene.d.ts +10 -10
  82. package/dist/esm/core/Scene.js +1 -1
  83. package/dist/esm/core/Scene.js.map +1 -1
  84. package/dist/esm/core/SceneManager.d.ts +4 -4
  85. package/dist/esm/core/SceneManager.js +39 -33
  86. package/dist/esm/core/SceneManager.js.map +1 -1
  87. package/dist/esm/core/SceneNode.d.ts +8 -8
  88. package/dist/esm/core/SceneNode.js +39 -29
  89. package/dist/esm/core/SceneNode.js.map +1 -1
  90. package/dist/esm/core/Signal.d.ts +3 -3
  91. package/dist/esm/core/Signal.js +3 -3
  92. package/dist/esm/core/Signal.js.map +1 -1
  93. package/dist/esm/core/Time.js +6 -6
  94. package/dist/esm/core/Time.js.map +1 -1
  95. package/dist/esm/core/Timer.d.ts +1 -1
  96. package/dist/esm/core/Timer.js +1 -1
  97. package/dist/esm/core/Timer.js.map +1 -1
  98. package/dist/esm/core/capabilities.js +2 -4
  99. package/dist/esm/core/capabilities.js.map +1 -1
  100. package/dist/esm/core/index.d.ts +2 -2
  101. package/dist/esm/core/utils.d.ts +4 -4
  102. package/dist/esm/core/utils.js +10 -10
  103. package/dist/esm/core/utils.js.map +1 -1
  104. package/dist/esm/debug/BoundingBoxesLayer.d.ts +3 -3
  105. package/dist/esm/debug/BoundingBoxesLayer.js +6 -13
  106. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  107. package/dist/esm/debug/DebugLayer.d.ts +1 -1
  108. package/dist/esm/debug/DebugLayer.js.map +1 -1
  109. package/dist/esm/debug/DebugOverlay.d.ts +2 -2
  110. package/dist/esm/debug/DebugOverlay.js +2 -2
  111. package/dist/esm/debug/DebugOverlay.js.map +1 -1
  112. package/dist/esm/debug/HitTestLayer.d.ts +3 -3
  113. package/dist/esm/debug/HitTestLayer.js +3 -10
  114. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  115. package/dist/esm/debug/PerformanceLayer.d.ts +2 -2
  116. package/dist/esm/debug/PerformanceLayer.js +6 -6
  117. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  118. package/dist/esm/debug/PointerStackLayer.d.ts +3 -3
  119. package/dist/esm/debug/PointerStackLayer.js +3 -3
  120. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  121. package/dist/esm/debug/index.d.ts +3 -3
  122. package/dist/esm/debug/index.js +3 -3
  123. package/dist/esm/index.d.ts +1 -1
  124. package/dist/esm/index.js +99 -98
  125. package/dist/esm/index.js.map +1 -1
  126. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  127. package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -1
  128. package/dist/esm/input/GameCubeGamepadMapping.js +1 -1
  129. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  130. package/dist/esm/input/Gamepad.d.ts +7 -7
  131. package/dist/esm/input/Gamepad.js +10 -6
  132. package/dist/esm/input/Gamepad.js.map +1 -1
  133. package/dist/esm/input/GamepadAxis.js +1 -1
  134. package/dist/esm/input/GamepadAxis.js.map +1 -1
  135. package/dist/esm/input/GamepadButton.js +1 -1
  136. package/dist/esm/input/GamepadButton.js.map +1 -1
  137. package/dist/esm/input/GamepadDefinitions.d.ts +4 -4
  138. package/dist/esm/input/GamepadDefinitions.js +12 -14
  139. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  140. package/dist/esm/input/GamepadMapping.d.ts +5 -5
  141. package/dist/esm/input/GamepadMapping.js.map +1 -1
  142. package/dist/esm/input/GamepadPromptLayouts.d.ts +2 -2
  143. package/dist/esm/input/GamepadPromptLayouts.js +8 -8
  144. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  145. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  146. package/dist/esm/input/GestureRecognizer.d.ts +1 -1
  147. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  148. package/dist/esm/input/InputBinding.d.ts +3 -3
  149. package/dist/esm/input/InputBinding.js.map +1 -1
  150. package/dist/esm/input/InputManager.d.ts +9 -9
  151. package/dist/esm/input/InputManager.js +25 -16
  152. package/dist/esm/input/InputManager.js.map +1 -1
  153. package/dist/esm/input/InteractionEvent.d.ts +1 -1
  154. package/dist/esm/input/InteractionEvent.js.map +1 -1
  155. package/dist/esm/input/InteractionManager.d.ts +2 -2
  156. package/dist/esm/input/InteractionManager.js +25 -16
  157. package/dist/esm/input/InteractionManager.js.map +1 -1
  158. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  159. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  160. package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -1
  161. package/dist/esm/input/PlayStationGamepadMapping.js +1 -1
  162. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  163. package/dist/esm/input/Pointer.d.ts +2 -2
  164. package/dist/esm/input/Pointer.js +6 -6
  165. package/dist/esm/input/Pointer.js.map +1 -1
  166. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -1
  167. package/dist/esm/input/SteamControllerGamepadMapping.js +1 -1
  168. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  169. package/dist/esm/input/SteamDeckGamepadMapping.js.map +1 -1
  170. package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -1
  171. package/dist/esm/input/SwitchProGamepadMapping.js +1 -1
  172. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  173. package/dist/esm/input/XboxGamepadMapping.d.ts +1 -1
  174. package/dist/esm/input/XboxGamepadMapping.js +1 -1
  175. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  176. package/dist/esm/input/index.d.ts +16 -16
  177. package/dist/esm/input/interaction-hooks.js.map +1 -1
  178. package/dist/esm/input/types.js.map +1 -1
  179. package/dist/esm/math/AbstractVector.js +8 -9
  180. package/dist/esm/math/AbstractVector.js.map +1 -1
  181. package/dist/esm/math/Circle.d.ts +5 -5
  182. package/dist/esm/math/Circle.js +33 -21
  183. package/dist/esm/math/Circle.js.map +1 -1
  184. package/dist/esm/math/Collision.d.ts +2 -2
  185. package/dist/esm/math/Collision.js.map +1 -1
  186. package/dist/esm/math/Ellipse.d.ts +5 -5
  187. package/dist/esm/math/Ellipse.js +28 -19
  188. package/dist/esm/math/Ellipse.js.map +1 -1
  189. package/dist/esm/math/Flags.d.ts +4 -4
  190. package/dist/esm/math/Flags.js.map +1 -1
  191. package/dist/esm/math/Interval.js.map +1 -1
  192. package/dist/esm/math/Line.d.ts +5 -5
  193. package/dist/esm/math/Line.js +23 -15
  194. package/dist/esm/math/Line.js.map +1 -1
  195. package/dist/esm/math/Matrix.js +14 -16
  196. package/dist/esm/math/Matrix.js.map +1 -1
  197. package/dist/esm/math/ObservableSize.js.map +1 -1
  198. package/dist/esm/math/ObservableVector.d.ts +1 -1
  199. package/dist/esm/math/ObservableVector.js.map +1 -1
  200. package/dist/esm/math/PolarVector.js.map +1 -1
  201. package/dist/esm/math/Polygon.d.ts +11 -11
  202. package/dist/esm/math/Polygon.js +37 -26
  203. package/dist/esm/math/Polygon.js.map +1 -1
  204. package/dist/esm/math/PolygonLike.d.ts +1 -1
  205. package/dist/esm/math/Quadtree.js +2 -8
  206. package/dist/esm/math/Quadtree.js.map +1 -1
  207. package/dist/esm/math/Random.js +5 -5
  208. package/dist/esm/math/Random.js.map +1 -1
  209. package/dist/esm/math/Rectangle.d.ts +4 -4
  210. package/dist/esm/math/Rectangle.js +59 -41
  211. package/dist/esm/math/Rectangle.js.map +1 -1
  212. package/dist/esm/math/Segment.d.ts +1 -1
  213. package/dist/esm/math/Segment.js +4 -4
  214. package/dist/esm/math/Segment.js.map +1 -1
  215. package/dist/esm/math/ShapeLike.d.ts +1 -1
  216. package/dist/esm/math/Size.js +1 -2
  217. package/dist/esm/math/Size.js.map +1 -1
  218. package/dist/esm/math/Vector.d.ts +4 -4
  219. package/dist/esm/math/Vector.js +19 -13
  220. package/dist/esm/math/Vector.js.map +1 -1
  221. package/dist/esm/math/collision-detection.d.ts +3 -3
  222. package/dist/esm/math/collision-detection.js +49 -49
  223. package/dist/esm/math/collision-detection.js.map +1 -1
  224. package/dist/esm/math/collision-primitives.d.ts +8 -8
  225. package/dist/esm/math/collision-primitives.js +27 -33
  226. package/dist/esm/math/collision-primitives.js.map +1 -1
  227. package/dist/esm/math/geometry.d.ts +3 -3
  228. package/dist/esm/math/geometry.js +55 -48
  229. package/dist/esm/math/geometry.js.map +1 -1
  230. package/dist/esm/math/index.d.ts +16 -16
  231. package/dist/esm/math/swept-collision.d.ts +3 -3
  232. package/dist/esm/math/swept-collision.js +5 -8
  233. package/dist/esm/math/swept-collision.js.map +1 -1
  234. package/dist/esm/math/triangulate.js +34 -24
  235. package/dist/esm/math/triangulate.js.map +1 -1
  236. package/dist/esm/math/utils.d.ts +2 -2
  237. package/dist/esm/math/utils.js +7 -7
  238. package/dist/esm/math/utils.js.map +1 -1
  239. package/dist/esm/particles/ParticleSystem.d.ts +9 -9
  240. package/dist/esm/particles/ParticleSystem.js +29 -29
  241. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  242. package/dist/esm/particles/distributions/BoxArea.js.map +1 -1
  243. package/dist/esm/particles/distributions/CircleArea.js.map +1 -1
  244. package/dist/esm/particles/distributions/ConeDirection.js.map +1 -1
  245. package/dist/esm/particles/distributions/Constant.js.map +1 -1
  246. package/dist/esm/particles/distributions/Curve.d.ts +1 -1
  247. package/dist/esm/particles/distributions/Curve.js.map +1 -1
  248. package/dist/esm/particles/distributions/Gradient.d.ts +1 -1
  249. package/dist/esm/particles/distributions/Gradient.js +1 -1
  250. package/dist/esm/particles/distributions/Gradient.js.map +1 -1
  251. package/dist/esm/particles/distributions/LineSegment.js.map +1 -1
  252. package/dist/esm/particles/distributions/Range.js.map +1 -1
  253. package/dist/esm/particles/distributions/VectorRange.js.map +1 -1
  254. package/dist/esm/particles/distributions/index.d.ts +9 -9
  255. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +3 -3
  256. package/dist/esm/particles/gpu/ParticleGpuState.js +48 -21
  257. package/dist/esm/particles/gpu/ParticleGpuState.js.map +1 -1
  258. package/dist/esm/particles/index.d.ts +1 -1
  259. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +2 -2
  260. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -1
  261. package/dist/esm/particles/modules/ApplyForce.d.ts +1 -1
  262. package/dist/esm/particles/modules/ApplyForce.js.map +1 -1
  263. package/dist/esm/particles/modules/AttractToPoint.d.ts +1 -1
  264. package/dist/esm/particles/modules/AttractToPoint.js.map +1 -1
  265. package/dist/esm/particles/modules/BurstSpawn.d.ts +4 -4
  266. package/dist/esm/particles/modules/BurstSpawn.js +2 -2
  267. package/dist/esm/particles/modules/BurstSpawn.js.map +1 -1
  268. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +2 -2
  269. package/dist/esm/particles/modules/ColorOverLifetime.js +1 -1
  270. package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -1
  271. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +2 -2
  272. package/dist/esm/particles/modules/ColorOverSpeed.js +1 -1
  273. package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -1
  274. package/dist/esm/particles/modules/DeathModule.js.map +1 -1
  275. package/dist/esm/particles/modules/Drag.d.ts +1 -1
  276. package/dist/esm/particles/modules/Drag.js +1 -3
  277. package/dist/esm/particles/modules/Drag.js.map +1 -1
  278. package/dist/esm/particles/modules/OrbitalForce.d.ts +1 -1
  279. package/dist/esm/particles/modules/OrbitalForce.js.map +1 -1
  280. package/dist/esm/particles/modules/RateSpawn.d.ts +3 -3
  281. package/dist/esm/particles/modules/RateSpawn.js +2 -2
  282. package/dist/esm/particles/modules/RateSpawn.js.map +1 -1
  283. package/dist/esm/particles/modules/RepelFromPoint.d.ts +1 -1
  284. package/dist/esm/particles/modules/RepelFromPoint.js.map +1 -1
  285. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +1 -1
  286. package/dist/esm/particles/modules/RotateOverLifetime.js +1 -3
  287. package/dist/esm/particles/modules/RotateOverLifetime.js.map +1 -1
  288. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +2 -2
  289. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +1 -1
  290. package/dist/esm/particles/modules/SpawnModule.js.map +1 -1
  291. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +1 -1
  292. package/dist/esm/particles/modules/SpawnOnDeath.js.map +1 -1
  293. package/dist/esm/particles/modules/Turbulence.d.ts +1 -1
  294. package/dist/esm/particles/modules/Turbulence.js.map +1 -1
  295. package/dist/esm/particles/modules/UpdateModule.js.map +1 -1
  296. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +2 -2
  297. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +1 -1
  298. package/dist/esm/particles/modules/WgslContribution.d.ts +3 -3
  299. package/dist/esm/particles/modules/WgslContribution.js.map +1 -1
  300. package/dist/esm/particles/modules/index.d.ts +17 -17
  301. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  302. package/dist/esm/rendering/Container.d.ts +2 -2
  303. package/dist/esm/rendering/Container.js +10 -11
  304. package/dist/esm/rendering/Container.js.map +1 -1
  305. package/dist/esm/rendering/Drawable.js.map +1 -1
  306. package/dist/esm/rendering/RenderBackend.d.ts +6 -6
  307. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  308. package/dist/esm/rendering/RenderNode.d.ts +10 -10
  309. package/dist/esm/rendering/RenderNode.js +31 -31
  310. package/dist/esm/rendering/RenderNode.js.map +1 -1
  311. package/dist/esm/rendering/RenderStats.js.map +1 -1
  312. package/dist/esm/rendering/RenderTarget.d.ts +2 -2
  313. package/dist/esm/rendering/RenderTarget.js +5 -5
  314. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  315. package/dist/esm/rendering/RenderTargetPass.d.ts +3 -3
  316. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  317. package/dist/esm/rendering/Renderer.d.ts +2 -2
  318. package/dist/esm/rendering/RendererRegistry.d.ts +3 -3
  319. package/dist/esm/rendering/RendererRegistry.js +2 -3
  320. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  321. package/dist/esm/rendering/View.d.ts +3 -3
  322. package/dist/esm/rendering/View.js +17 -20
  323. package/dist/esm/rendering/View.js.map +1 -1
  324. package/dist/esm/rendering/filters/BlurFilter.d.ts +1 -1
  325. package/dist/esm/rendering/filters/BlurFilter.js +4 -9
  326. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  327. package/dist/esm/rendering/filters/ColorFilter.d.ts +1 -1
  328. package/dist/esm/rendering/filters/ColorFilter.js +3 -9
  329. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  330. package/dist/esm/rendering/filters/Filter.d.ts +1 -1
  331. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  332. package/dist/esm/rendering/filters/LutFilter.d.ts +87 -0
  333. package/dist/esm/rendering/filters/LutFilter.js +261 -0
  334. package/dist/esm/rendering/filters/LutFilter.js.map +1 -0
  335. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +2 -2
  336. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +7 -14
  337. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  338. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +1 -1
  339. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +11 -10
  340. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  341. package/dist/esm/rendering/index.d.ts +28 -27
  342. package/dist/esm/rendering/mesh/Mesh.d.ts +49 -1
  343. package/dist/esm/rendering/mesh/Mesh.js +3 -1
  344. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  345. package/dist/esm/rendering/primitives/Graphics.d.ts +3 -3
  346. package/dist/esm/rendering/primitives/Graphics.js +12 -12
  347. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  348. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  349. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  350. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  351. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +6 -8
  352. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -1
  353. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +3 -3
  354. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  355. package/dist/esm/rendering/sprite/Sprite.d.ts +4 -4
  356. package/dist/esm/rendering/sprite/Sprite.js +51 -35
  357. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  358. package/dist/esm/rendering/sprite/Spritesheet.d.ts +5 -9
  359. package/dist/esm/rendering/sprite/Spritesheet.js +1 -1
  360. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  361. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +3 -9
  362. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +1 -1
  363. package/dist/esm/rendering/text/Text.js +9 -9
  364. package/dist/esm/rendering/text/Text.js.map +1 -1
  365. package/dist/esm/rendering/text/TextLayout.d.ts +2 -2
  366. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  367. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  368. package/dist/esm/rendering/text/atlas-singleton.js.map +1 -1
  369. package/dist/esm/rendering/texture/RenderTexture.d.ts +1 -1
  370. package/dist/esm/rendering/texture/RenderTexture.js +4 -1
  371. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  372. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  373. package/dist/esm/rendering/texture/Texture.d.ts +2 -2
  374. package/dist/esm/rendering/texture/Texture.js +8 -5
  375. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  376. package/dist/esm/rendering/types.js.map +1 -1
  377. package/dist/esm/rendering/utils.js.map +1 -1
  378. package/dist/esm/rendering/video/Video.d.ts +3 -3
  379. package/dist/esm/rendering/video/Video.js +7 -6
  380. package/dist/esm/rendering/video/Video.js.map +1 -1
  381. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +6 -6
  382. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -10
  383. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  384. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +1 -1
  385. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +1 -2
  386. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  387. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +11 -11
  388. package/dist/esm/rendering/webgl2/WebGl2Backend.js +19 -21
  389. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  390. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +2 -2
  391. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +6 -8
  392. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
  393. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +7 -4
  394. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +110 -43
  395. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  396. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +1 -1
  397. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +10 -18
  398. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
  399. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +1 -1
  400. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  401. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  402. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
  403. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +54 -22
  404. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
  405. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +1 -1
  406. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +11 -14
  407. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  408. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
  409. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
  410. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +1 -1
  411. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +1 -2
  412. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  413. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +7 -7
  414. package/dist/esm/rendering/webgpu/WebGpuBackend.js +44 -30
  415. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  416. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  417. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -2
  418. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +1 -3
  419. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  420. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
  421. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +25 -23
  422. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  423. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +1 -1
  424. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +100 -56
  425. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  426. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -2
  427. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +45 -45
  428. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  429. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -1
  430. package/dist/esm/rendering/webgpu/compute/index.d.ts +2 -2
  431. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -1
  432. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  433. package/dist/esm/resources/AssetManifest.d.ts +1 -1
  434. package/dist/esm/resources/AssetManifest.js +2 -2
  435. package/dist/esm/resources/AssetManifest.js.map +1 -1
  436. package/dist/esm/resources/CacheFirstStrategy.d.ts +2 -2
  437. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  438. package/dist/esm/resources/CacheStrategy.d.ts +1 -1
  439. package/dist/esm/resources/FactoryRegistry.d.ts +1 -1
  440. package/dist/esm/resources/FactoryRegistry.js +2 -3
  441. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  442. package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
  443. package/dist/esm/resources/IndexedDbDatabase.js +11 -14
  444. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  445. package/dist/esm/resources/IndexedDbStore.d.ts +1 -1
  446. package/dist/esm/resources/IndexedDbStore.js +2 -7
  447. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  448. package/dist/esm/resources/Loader.d.ts +9 -9
  449. package/dist/esm/resources/Loader.js +48 -35
  450. package/dist/esm/resources/Loader.js.map +1 -1
  451. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +2 -2
  452. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  453. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  454. package/dist/esm/resources/factories/FontFactory.js +1 -1
  455. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  456. package/dist/esm/resources/factories/ImageFactory.js +4 -4
  457. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  458. package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
  459. package/dist/esm/resources/factories/JsonFactory.js +1 -1
  460. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  461. package/dist/esm/resources/factories/MusicFactory.d.ts +1 -1
  462. package/dist/esm/resources/factories/MusicFactory.js +4 -4
  463. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  464. package/dist/esm/resources/factories/SoundFactory.d.ts +1 -1
  465. package/dist/esm/resources/factories/SoundFactory.js +3 -3
  466. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  467. package/dist/esm/resources/factories/SvgFactory.js +3 -3
  468. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  469. package/dist/esm/resources/factories/TextFactory.js +1 -1
  470. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  471. package/dist/esm/resources/factories/TextureFactory.d.ts +1 -1
  472. package/dist/esm/resources/factories/TextureFactory.js +3 -3
  473. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  474. package/dist/esm/resources/factories/VideoFactory.d.ts +2 -2
  475. package/dist/esm/resources/factories/VideoFactory.js +5 -5
  476. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  477. package/dist/esm/resources/factories/VttFactory.d.ts +2 -2
  478. package/dist/esm/resources/factories/VttFactory.js +6 -6
  479. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  480. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  481. package/dist/esm/resources/index.d.ts +11 -11
  482. package/dist/esm/resources/utils.js +30 -25
  483. package/dist/esm/resources/utils.js.map +1 -1
  484. package/dist/exo.esm.js +25798 -25144
  485. package/dist/exo.esm.js.map +1 -1
  486. package/package.json +15 -4
@@ -1,9 +1,9 @@
1
+ import type { Collidable, CollisionResponse } from '@/math/Collision';
2
+ import { CollisionType } from '@/math/Collision';
1
3
  import { Interval } from '@/math/Interval';
2
- import { Vector } from '@/math/Vector';
3
4
  import { Rectangle } from '@/math/Rectangle';
4
5
  import type { ShapeLike } from '@/math/ShapeLike';
5
- import type { Collidable, CollisionResponse } from '@/math/Collision';
6
- import { CollisionType } from '@/math/Collision';
6
+ import { Vector } from '@/math/Vector';
7
7
  /**
8
8
  * Mutable convex polygon defined by a world-space offset `(x, y)` and an
9
9
  * array of local-space vertex {@link Vector}s. Implements {@link ShapeLike}
@@ -22,31 +22,31 @@ export declare class Polygon implements ShapeLike {
22
22
  /** Cached normals — null until first getNormals() call; reused across calls. */
23
23
  private _cachedNormals;
24
24
  private _normalsDirty;
25
- constructor(points?: Array<Vector>, x?: number, y?: number);
25
+ constructor(points?: Vector[], x?: number, y?: number);
26
26
  get position(): Vector;
27
27
  set position(position: Vector);
28
28
  get x(): number;
29
29
  set x(x: number);
30
30
  get y(): number;
31
31
  set y(y: number);
32
- get points(): Array<Vector>;
33
- set points(points: Array<Vector>);
32
+ get points(): Vector[];
33
+ set points(points: Vector[]);
34
34
  /**
35
35
  * The precomputed edge vectors (each edge is `points[i+1] - points[i]`).
36
36
  * Updated automatically by {@link setPoints}. Read-only — mutating the
37
37
  * returned array directly will desync the internal state.
38
38
  */
39
- get edges(): Array<Vector>;
39
+ get edges(): Vector[];
40
40
  /** @deprecated Use {@link getNormals} for a stable cached reference. */
41
- get normals(): Array<Vector>;
41
+ get normals(): Vector[];
42
42
  setPosition(x: number, y: number): this;
43
43
  /**
44
44
  * Replace this polygon's vertex array with `newPoints`. Reuses existing
45
45
  * `Vector` instances where possible to avoid allocation. Recomputes edge
46
46
  * vectors and invalidates the normal cache. Returns `this` for chaining.
47
47
  */
48
- setPoints(newPoints: Array<Vector>): this;
49
- set(x: number, y: number, points: Array<Vector>): this;
48
+ setPoints(newPoints: Vector[]): this;
49
+ set(x: number, y: number, points: Vector[]): this;
50
50
  copy(polygon: Polygon): this;
51
51
  clone(): this;
52
52
  equals({ x, y, points }?: Partial<Polygon>): boolean;
@@ -62,7 +62,7 @@ export declare class Polygon implements ShapeLike {
62
62
  * This matches the `Circle.getNormals()` and `Sprite.getNormals()`
63
63
  * behaviour introduced in 0.6.19.
64
64
  */
65
- getNormals(): Array<Vector>;
65
+ getNormals(): Vector[];
66
66
  project(axis: Vector, result?: Interval): Interval;
67
67
  contains(x: number, y: number): boolean;
68
68
  intersectsWith(target: Collidable): boolean;
@@ -1,8 +1,8 @@
1
- import { Interval } from './Interval.js';
2
- import { Vector } from './Vector.js';
3
- import { Rectangle } from './Rectangle.js';
4
1
  import { CollisionType } from './Collision.js';
5
2
  import { intersectionPointPoly, intersectionLinePoly, intersectionEllipsePoly, intersectionCirclePoly, intersectionPolyPoly, intersectionRectPoly, getCollisionPolygonCircle, getCollisionSat } from './collision-detection.js';
3
+ import { Interval } from './Interval.js';
4
+ import { Rectangle } from './Rectangle.js';
5
+ import { Vector } from './Vector.js';
6
6
 
7
7
  let temp = null;
8
8
  /**
@@ -85,8 +85,10 @@ class Polygon {
85
85
  this._points[i].copy(newPoints[i]);
86
86
  }
87
87
  if (diff > 0) {
88
- this._points.splice(newLen).forEach(point => point.destroy());
89
- this._edges.splice(newLen).forEach(point => point.destroy());
88
+ for (const point of this._points.splice(newLen))
89
+ point.destroy();
90
+ for (const point of this._edges.splice(newLen))
91
+ point.destroy();
90
92
  // Trim the cached normals array if it exists and is longer than newLen.
91
93
  if (this._cachedNormals !== null && this._cachedNormals.length > newLen) {
92
94
  const removed = this._cachedNormals.splice(newLen);
@@ -125,10 +127,9 @@ class Polygon {
125
127
  return new Polygon(this.points, this.x, this.y);
126
128
  }
127
129
  equals({ x, y, points } = {}) {
128
- return (x === undefined || this.x === x)
129
- && (y === undefined || this.y === y)
130
- && (points === undefined || ((this.points.length === points.length)
131
- && (this.points.every((point, index) => point.equals(points[index])))));
130
+ return ((x === undefined || this.x === x) &&
131
+ (y === undefined || this.y === y) &&
132
+ (points === undefined || (this.points.length === points.length && this.points.every((point, index) => point.equals(points[index])))));
132
133
  }
133
134
  getBounds() {
134
135
  let minX = Infinity;
@@ -165,10 +166,7 @@ class Polygon {
165
166
  this._cachedNormals.push(new Vector());
166
167
  }
167
168
  for (let i = 0; i < n; i++) {
168
- this._cachedNormals[i]
169
- .copy(this._edges[i])
170
- .rperp()
171
- .normalize();
169
+ this._cachedNormals[i].copy(this._edges[i]).rperp().normalize();
172
170
  }
173
171
  this._normalsDirty = false;
174
172
  }
@@ -184,26 +182,39 @@ class Polygon {
184
182
  }
185
183
  intersectsWith(target) {
186
184
  switch (target.collisionType) {
187
- case CollisionType.SceneNode: return intersectionRectPoly(target.getBounds(), this);
188
- case CollisionType.Rectangle: return intersectionRectPoly(target, this);
189
- case CollisionType.Polygon: return intersectionPolyPoly(this, target);
190
- case CollisionType.Circle: return intersectionCirclePoly(target, this);
191
- case CollisionType.Ellipse: return intersectionEllipsePoly(target, this);
192
- case CollisionType.Line: return intersectionLinePoly(target, this);
193
- case CollisionType.Point: return intersectionPointPoly(target, this);
194
- default: return false;
185
+ case CollisionType.SceneNode:
186
+ return intersectionRectPoly(target.getBounds(), this);
187
+ case CollisionType.Rectangle:
188
+ return intersectionRectPoly(target, this);
189
+ case CollisionType.Polygon:
190
+ return intersectionPolyPoly(this, target);
191
+ case CollisionType.Circle:
192
+ return intersectionCirclePoly(target, this);
193
+ case CollisionType.Ellipse:
194
+ return intersectionEllipsePoly(target, this);
195
+ case CollisionType.Line:
196
+ return intersectionLinePoly(target, this);
197
+ case CollisionType.Point:
198
+ return intersectionPointPoly(target, this);
199
+ default:
200
+ return false;
195
201
  }
196
202
  }
197
203
  collidesWith(target) {
198
204
  switch (target.collisionType) {
199
- case CollisionType.SceneNode: return getCollisionSat(this, target);
200
- case CollisionType.Rectangle: return getCollisionSat(this, target);
201
- case CollisionType.Polygon: return getCollisionSat(this, target);
202
- case CollisionType.Circle: return getCollisionPolygonCircle(this, target);
205
+ case CollisionType.SceneNode:
206
+ return getCollisionSat(this, target);
207
+ case CollisionType.Rectangle:
208
+ return getCollisionSat(this, target);
209
+ case CollisionType.Polygon:
210
+ return getCollisionSat(this, target);
211
+ case CollisionType.Circle:
212
+ return getCollisionPolygonCircle(this, target);
203
213
  // case CollisionType.Ellipse: return intersectionEllipsePoly(target as Ellipse, this);
204
214
  // case CollisionType.Line: return intersectionLinePoly(target as Line, this);
205
215
  // case CollisionType.Point: return intersectionPointPoly(target as Vector, this);
206
- default: return null;
216
+ default:
217
+ return null;
207
218
  }
208
219
  }
209
220
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"Polygon.js","sources":["../../../../src/math/Polygon.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Polygon.js","sources":["../../../../src/math/Polygon.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAoBA,IAAI,IAAI,GAAmB,IAAI;AAE/B;;;;;;;;;AASG;MACU,OAAO,CAAA;AACF,IAAA,aAAa,GAAkB,aAAa,CAAC,OAAO;AAEnD,IAAA,SAAS;IACT,OAAO,GAAa,EAAE;IACtB,MAAM,GAAa,EAAE;;IAE9B,cAAc,GAAoB,IAAI;IACtC,aAAa,GAAG,IAAI;IAE5B,WAAA,CAAmB,MAAA,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,IAAW,QAAQ,CAAC,QAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,CAAC,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;IAEA,IAAW,CAAC,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,CAAC,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB;IAEA,IAAW,CAAC,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,MAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACxB;AAEA;;;;AAIG;AACH,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;;AAGA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;IAC1B;IAEO,WAAW,CAAC,CAAS,EAAE,CAAS,EAAA;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACI,IAAA,SAAS,CAAC,SAAmB,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;AAC/B,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM;AAC/B,QAAA,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AAE1C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpC;AAEA,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,KAAK,CAAC,OAAO,EAAE;YAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,KAAK,CAAC,OAAO,EAAE;;AAE/D,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,EAAE;gBACvE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;AAElD,gBAAA,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;oBACvB,CAAC,CAAC,OAAO,EAAE;gBACb;YACF;QACF;AAAO,aAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACnB,YAAA,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACvC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACxC;QACF;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACtD;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,MAAgB,EAAA;QAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,IAAI,CAAC,OAAgB,EAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI;IACb;IAEO,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAS;IACzD;IAEO,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAuB,EAAE,EAAA;QACnD,QACE,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;aAC/B,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACjC,aAAC,MAAM,KAAK,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAExI;IAEO,SAAS,GAAA;QACd,IAAI,IAAI,GAAG,QAAQ;QACnB,IAAI,IAAI,GAAG,QAAQ;AACnB,QAAA,IAAI,IAAI,GAAG,CAAC,QAAQ;AACpB,QAAA,IAAI,IAAI,GAAG,CAAC,QAAQ;AAEpB,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAChC;QAEA,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9E;AAEA;;;;;;;;;;AAUG;IACI,UAAU,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;AAE7B,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;AAChC,gBAAA,IAAI,CAAC,cAAc,GAAG,EAAE;YAC1B;;YAGA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACxC;AAEA,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE;YACjE;AAEA,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC5B;QAEA,OAAO,IAAI,CAAC,cAAe;IAC7B;AAEO,IAAA,OAAO,CAAC,IAAY,EAAE,MAAA,GAAmB,IAAI,QAAQ,EAAE,EAAA;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3E,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACvE;IAEO,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAA;AAClC,QAAA,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;IAC3D;AAEO,IAAA,cAAc,CAAC,MAAkB,EAAA;AACtC,QAAA,QAAQ,MAAM,CAAC,aAAa;YAC1B,KAAK,aAAa,CAAC,SAAS;gBAC1B,OAAO,oBAAoB,CAAE,MAAoB,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC;YACtE,KAAK,aAAa,CAAC,SAAS;AAC1B,gBAAA,OAAO,oBAAoB,CAAC,MAAmB,EAAE,IAAI,CAAC;YACxD,KAAK,aAAa,CAAC,OAAO;AACxB,gBAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAiB,CAAC;YACtD,KAAK,aAAa,CAAC,MAAM;AACvB,gBAAA,OAAO,sBAAsB,CAAC,MAAgB,EAAE,IAAI,CAAC;YACvD,KAAK,aAAa,CAAC,OAAO;AACxB,gBAAA,OAAO,uBAAuB,CAAC,MAAiB,EAAE,IAAI,CAAC;YACzD,KAAK,aAAa,CAAC,IAAI;AACrB,gBAAA,OAAO,oBAAoB,CAAC,MAAc,EAAE,IAAI,CAAC;YACnD,KAAK,aAAa,CAAC,KAAK;AACtB,gBAAA,OAAO,qBAAqB,CAAC,MAAgB,EAAE,IAAI,CAAC;AACtD,YAAA;AACE,gBAAA,OAAO,KAAK;;IAElB;AAEO,IAAA,YAAY,CAAC,MAAkB,EAAA;AACpC,QAAA,QAAQ,MAAM,CAAC,aAAa;YAC1B,KAAK,aAAa,CAAC,SAAS;AAC1B,gBAAA,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,KAAK,aAAa,CAAC,SAAS;AAC1B,gBAAA,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,KAAK,aAAa,CAAC,OAAO;AACxB,gBAAA,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;YACtC,KAAK,aAAa,CAAC,MAAM;AACvB,gBAAA,OAAO,yBAAyB,CAAC,IAAI,EAAE,MAAgB,CAAC;;;;AAI1D,YAAA;AACE,gBAAA,OAAO,IAAI;;IAEjB;IAEO,OAAO,GAAA;AACZ,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,KAAK,CAAC,OAAO,EAAE;QACjB;AAEA,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE;QAChB;AAEA,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;AAChC,YAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACnC,CAAC,CAAC,OAAO,EAAE;YACb;AAEA,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC5B;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;IACxB;AAEO,IAAA,WAAW,IAAI,GAAA;AACpB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,IAAI,GAAG,IAAI,OAAO,EAAE;QACtB;AAEA,QAAA,OAAO,IAAI;IACb;AACD;;;;"}
@@ -6,5 +6,5 @@ import type { PointLike } from '@/math/PointLike';
6
6
  export interface PolygonLike {
7
7
  x: number;
8
8
  y: number;
9
- points: Array<PointLike>;
9
+ points: PointLike[];
10
10
  }
@@ -102,17 +102,11 @@ class Quadtree {
102
102
  queryRect(rect, results = []) {
103
103
  // Check intersection using left/right/top/bottom comparisons to avoid
104
104
  // needing a full Rectangle.intersectsWith() call with collision dispatch.
105
- if (rect.right < this._bounds.left
106
- || rect.left > this._bounds.right
107
- || rect.bottom < this._bounds.top
108
- || rect.top > this._bounds.bottom) {
105
+ if (rect.right < this._bounds.left || rect.left > this._bounds.right || rect.bottom < this._bounds.top || rect.top > this._bounds.bottom) {
109
106
  return results;
110
107
  }
111
108
  for (const item of this._items) {
112
- if (!(item.bounds.right < rect.left
113
- || item.bounds.left > rect.right
114
- || item.bounds.bottom < rect.top
115
- || item.bounds.top > rect.bottom)) {
109
+ if (!(item.bounds.right < rect.left || item.bounds.left > rect.right || item.bounds.bottom < rect.top || item.bounds.top > rect.bottom)) {
116
110
  results.push(item);
117
111
  }
118
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Quadtree.js","sources":["../../../../src/math/Quadtree.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Quadtree.js","sources":["../../../../src/math/Quadtree.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const limit = (2 ** 32) - 1;
1
+ const limit = 2 ** 32 - 1;
2
2
  /**
3
3
  * Seedable pseudo-random number generator based on the Mersenne Twister
4
4
  * (MT19937) algorithm. Produces 32-bit unsigned integers with period 2^19937−1,
@@ -47,7 +47,7 @@ class Random {
47
47
  this._state[0] = this._seed;
48
48
  for (let i = 1; i < 624; i++) {
49
49
  const s = this._state[i - 1] ^ (this._state[i - 1] >>> 30);
50
- this._state[i] = (((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253) + i;
50
+ this._state[i] = ((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253 + i;
51
51
  this._state[i] |= 0;
52
52
  }
53
53
  this._iteration = 0;
@@ -62,11 +62,11 @@ class Random {
62
62
  this._twist();
63
63
  }
64
64
  this._value = this._state[this._iteration++];
65
- this._value ^= (this._value >>> 11);
65
+ this._value ^= this._value >>> 11;
66
66
  this._value ^= (this._value << 7) & 0x9d2c5680;
67
67
  this._value ^= (this._value << 15) & 0xefc60000;
68
- this._value ^= (this._value >>> 18);
69
- this._value = (((this._value >>> 0) / limit) * (max - min)) + min;
68
+ this._value ^= this._value >>> 18;
69
+ this._value = ((this._value >>> 0) / limit) * (max - min) + min;
70
70
  return this._value;
71
71
  }
72
72
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"Random.js","sources":["../../../../src/math/Random.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Random.js","sources":["../../../../src/math/Random.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Size } from '@/math/Size';
1
+ import type { Collidable, CollisionResponse } from '@/math/Collision';
2
+ import { CollisionType } from '@/math/Collision';
2
3
  import { Interval } from '@/math/Interval';
3
4
  import type { Matrix } from '@/math/Matrix';
4
5
  import type { ShapeLike } from '@/math/ShapeLike';
5
- import type { Collidable, CollisionResponse } from '@/math/Collision';
6
- import { CollisionType } from '@/math/Collision';
6
+ import { Size } from '@/math/Size';
7
7
  import type { Vector } from '@/math/Vector';
8
8
  /**
9
9
  * Mutable axis-aligned rectangle defined by a top-left origin `(x, y)` and
@@ -44,7 +44,7 @@ export declare class Rectangle implements ShapeLike {
44
44
  clone(): this;
45
45
  equals({ x, y, width, height }?: Partial<Rectangle>): boolean;
46
46
  getBounds(): Rectangle;
47
- getNormals(): Array<Vector>;
47
+ getNormals(): Vector[];
48
48
  project(axis: Vector, result?: Interval): Interval;
49
49
  /**
50
50
  * Apply a 3×3 affine `matrix` to all four corners of this rectangle, then
@@ -1,9 +1,9 @@
1
- import { inRange } from './utils.js';
2
- import { Size } from './Size.js';
3
- import { Interval } from './Interval.js';
4
- import { ObservableVector } from './ObservableVector.js';
5
1
  import { CollisionType } from './Collision.js';
6
2
  import { intersectionPointRect, intersectionLineRect, intersectionRectEllipse, intersectionRectCircle, intersectionRectPoly, intersectionRectRect, intersectionSat, getCollisionEllipseRectangle, getCollisionCircleRectangle, getCollisionSat, getCollisionRectangleRectangle } from './collision-detection.js';
3
+ import { Interval } from './Interval.js';
4
+ import { ObservableVector } from './ObservableVector.js';
5
+ import { Size } from './Size.js';
6
+ import { inRange } from './utils.js';
7
7
 
8
8
  let temp = null;
9
9
  const noop = () => { };
@@ -106,22 +106,17 @@ class Rectangle {
106
106
  return new Rectangle(this.x, this.y, this.width, this.height);
107
107
  }
108
108
  equals({ x, y, width, height } = {}) {
109
- return (x === undefined || this.x === x)
110
- && (y === undefined || this.y === y)
111
- && (width === undefined || this.width === width)
112
- && (height === undefined || this.height === height);
109
+ return ((x === undefined || this.x === x) &&
110
+ (y === undefined || this.y === y) &&
111
+ (width === undefined || this.width === width) &&
112
+ (height === undefined || this.height === height));
113
113
  }
114
114
  getBounds() {
115
115
  return this.clone();
116
116
  }
117
117
  getNormals() {
118
118
  if (this._normalsDirty || this._normals === null) {
119
- this._updateNormals(this._normals || (this._normals = [
120
- new ObservableVector(noop),
121
- new ObservableVector(noop),
122
- new ObservableVector(noop),
123
- new ObservableVector(noop),
124
- ]));
119
+ this._updateNormals(this._normals || (this._normals = [new ObservableVector(noop), new ObservableVector(noop), new ObservableVector(noop), new ObservableVector(noop)]));
125
120
  this._normalsDirty = false;
126
121
  }
127
122
  return this._normals;
@@ -140,7 +135,10 @@ class Rectangle {
140
135
  */
141
136
  transform(matrix, result = this) {
142
137
  const point = tempPoint.set(this.left, this.top).transform(matrix);
143
- let minX = point.x, maxX = point.x, minY = point.y, maxY = point.y;
138
+ let minX = point.x;
139
+ let maxX = point.x;
140
+ let minY = point.y;
141
+ let maxY = point.y;
144
142
  point.set(this.left, this.bottom).transform(matrix);
145
143
  minX = Math.min(minX, point.x);
146
144
  minY = Math.min(minY, point.y);
@@ -163,39 +161,47 @@ class Rectangle {
163
161
  }
164
162
  /** Return `true` when `rect` is entirely within this rectangle (all four edges inside). */
165
163
  containsRect(rect) {
166
- return inRange(rect.left, this.left, this.right)
167
- && inRange(rect.right, this.left, this.right)
168
- && inRange(rect.top, this.top, this.bottom)
169
- && inRange(rect.bottom, this.top, this.bottom);
164
+ return (inRange(rect.left, this.left, this.right) &&
165
+ inRange(rect.right, this.left, this.right) &&
166
+ inRange(rect.top, this.top, this.bottom) &&
167
+ inRange(rect.bottom, this.top, this.bottom));
170
168
  }
171
169
  intersectsWith(target) {
172
170
  switch (target.collisionType) {
173
171
  case CollisionType.SceneNode:
174
- return target.isAlignedBox
175
- ? intersectionRectRect(this, target.getBounds())
176
- : intersectionSat(this, target);
177
- case CollisionType.Rectangle: return intersectionRectRect(this, target);
178
- case CollisionType.Polygon: return intersectionRectPoly(this, target);
179
- case CollisionType.Circle: return intersectionRectCircle(this, target);
180
- case CollisionType.Ellipse: return intersectionRectEllipse(this, target);
181
- case CollisionType.Line: return intersectionLineRect(target, this);
182
- case CollisionType.Point: return intersectionPointRect(target, this);
183
- default: return false;
172
+ return target.isAlignedBox ? intersectionRectRect(this, target.getBounds()) : intersectionSat(this, target);
173
+ case CollisionType.Rectangle:
174
+ return intersectionRectRect(this, target);
175
+ case CollisionType.Polygon:
176
+ return intersectionRectPoly(this, target);
177
+ case CollisionType.Circle:
178
+ return intersectionRectCircle(this, target);
179
+ case CollisionType.Ellipse:
180
+ return intersectionRectEllipse(this, target);
181
+ case CollisionType.Line:
182
+ return intersectionLineRect(target, this);
183
+ case CollisionType.Point:
184
+ return intersectionPointRect(target, this);
185
+ default:
186
+ return false;
184
187
  }
185
188
  }
186
189
  collidesWith(target) {
187
190
  switch (target.collisionType) {
188
191
  case CollisionType.SceneNode:
189
- return target.isAlignedBox
190
- ? getCollisionRectangleRectangle(this, target.getBounds())
191
- : getCollisionSat(this, target);
192
- case CollisionType.Rectangle: return getCollisionRectangleRectangle(this, target);
193
- case CollisionType.Polygon: return getCollisionSat(this, target);
194
- case CollisionType.Circle: return getCollisionCircleRectangle(target, this, true);
195
- case CollisionType.Ellipse: return getCollisionEllipseRectangle(target, this, true);
192
+ return target.isAlignedBox ? getCollisionRectangleRectangle(this, target.getBounds()) : getCollisionSat(this, target);
193
+ case CollisionType.Rectangle:
194
+ return getCollisionRectangleRectangle(this, target);
195
+ case CollisionType.Polygon:
196
+ return getCollisionSat(this, target);
197
+ case CollisionType.Circle:
198
+ return getCollisionCircleRectangle(target, this, true);
199
+ case CollisionType.Ellipse:
200
+ return getCollisionEllipseRectangle(target, this, true);
196
201
  // case CollisionType.Line: return intersectionLineRect(target as Line, this);
197
202
  // case CollisionType.Point: return intersectionPointRect(target as Vector, this);
198
- default: return null;
203
+ default:
204
+ return null;
199
205
  }
200
206
  }
201
207
  destroy() {
@@ -206,10 +212,22 @@ class Rectangle {
206
212
  }
207
213
  }
208
214
  _updateNormals(normals) {
209
- normals[0].set(this.right - this.left, 0).rperp().normalize();
210
- normals[1].set(0, this.bottom - this.top).rperp().normalize();
211
- normals[2].set(this.left - this.right, 0).rperp().normalize();
212
- normals[3].set(0, this.top - this.bottom).rperp().normalize();
215
+ normals[0]
216
+ .set(this.right - this.left, 0)
217
+ .rperp()
218
+ .normalize();
219
+ normals[1]
220
+ .set(0, this.bottom - this.top)
221
+ .rperp()
222
+ .normalize();
223
+ normals[2]
224
+ .set(this.left - this.right, 0)
225
+ .rperp()
226
+ .normalize();
227
+ normals[3]
228
+ .set(0, this.top - this.bottom)
229
+ .rperp()
230
+ .normalize();
213
231
  }
214
232
  static get temp() {
215
233
  if (temp === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"Rectangle.js","sources":["../../../../src/math/Rectangle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rectangle.js","sources":["../../../../src/math/Rectangle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Vector } from '@/math/Vector';
2
1
  import type { Cloneable } from '@/core/types';
2
+ import { Vector } from '@/math/Vector';
3
3
  /**
4
4
  * Mutable line segment defined by start and end {@link Vector}s. Unlike
5
5
  * {@link Line} this type does not implement {@link ShapeLike} — it is a
@@ -65,10 +65,10 @@ class Segment {
65
65
  return new Segment(this.startX, this.startY, this.endX, this.endY);
66
66
  }
67
67
  equals({ startX, startY, endX, endY } = {}) {
68
- return (startX === undefined || this.startX === startX)
69
- && (startY === undefined || this.startY === startY)
70
- && (endX === undefined || this.endX === endX)
71
- && (endY === undefined || this.endY === endY);
68
+ return ((startX === undefined || this.startX === startX) &&
69
+ (startY === undefined || this.startY === startY) &&
70
+ (endX === undefined || this.endX === endX) &&
71
+ (endY === undefined || this.endY === endY));
72
72
  }
73
73
  destroy() {
74
74
  this._startPoint.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"Segment.js","sources":["../../../../src/math/Segment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Segment.js","sources":["../../../../src/math/Segment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Collidable } from '@/math/Collision';
2
1
  import type { Cloneable, Destroyable, HasBoundingBox } from '@/core/types';
2
+ import type { Collidable } from '@/math/Collision';
3
3
  /**
4
4
  * Full shape contract: a {@link Collidable} that can also be cloned, destroyed,
5
5
  * and queried for its axis-aligned bounding box. All concrete shape classes
@@ -61,8 +61,7 @@ class Size {
61
61
  return new Size(this._width, this._height);
62
62
  }
63
63
  equals({ width, height } = {}) {
64
- return (width === undefined || this.width === width)
65
- && (height === undefined || this.height === height);
64
+ return (width === undefined || this.width === width) && (height === undefined || this.height === height);
66
65
  }
67
66
  destroy() {
68
67
  // no-op — pure value class, kept for Destroyable interface conformance
@@ -1 +1 @@
1
- {"version":3,"file":"Size.js","sources":["../../../../src/math/Size.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,IAAI,IAAI,GAAgB,IAAI;AAE5B;;;;;;;;AAQG;MACU,IAAI,CAAA;AAEH,IAAA,MAAM;AACN,IAAA,OAAO;AAEjB,IAAA,WAAA,CAAmB,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACzB;AAEA,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,IAAW,KAAK,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACvB;AAEA,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,IAAW,MAAM,CAAC,MAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACzB;AAEO,IAAA,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC5C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AAErB,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC5C,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,QAAQ,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AACjD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,KAAK,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,MAAM,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC/C,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,IAAI,CAAC,IAAuC,EAAA;AAC/C,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;AAE1B,QAAA,OAAO,IAAI;IACf;IAEO,KAAK,GAAA;QACR,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAS;IACtD;AAEO,IAAA,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAoB,EAAE,EAAA;QAC/C,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAC3C,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IAC3D;IAEO,OAAO,GAAA;;IAEd;IAEO,OAAgB,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAErC,IAAA,WAAW,IAAI,GAAA;AAClB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACf,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE;QACrB;AAEA,QAAA,OAAO,IAAI;IACf;;;;;"}
1
+ {"version":3,"file":"Size.js","sources":["../../../../src/math/Size.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,IAAI,IAAI,GAAgB,IAAI;AAE5B;;;;;;;;AAQG;MACU,IAAI,CAAA;AACL,IAAA,MAAM;AACN,IAAA,OAAO;AAEjB,IAAA,WAAA,CAAmB,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACvB;AAEA,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAW,KAAK,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,MAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACvB;AAEO,IAAA,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AAErB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,GAAG,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,QAAQ,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AACnD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,KAAK,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AAChD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,MAAM,CAAC,KAAa,EAAE,MAAA,GAAiB,KAAK,EAAA;AACjD,QAAA,IAAI,CAAC,MAAM,IAAI,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM;AAEtB,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,IAAI,CAAC,IAAuC,EAAA;AACjD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;AAE1B,QAAA,OAAO,IAAI;IACb;IAEO,KAAK,GAAA;QACV,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAS;IACpD;AAEO,IAAA,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAoB,EAAE,EAAA;QACjD,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IAC1G;IAEO,OAAO,GAAA;;IAEd;IAEO,OAAgB,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAErC,IAAA,WAAW,IAAI,GAAA;AACpB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE;QACnB;AAEA,QAAA,OAAO,IAAI;IACb;;;;;"}