@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":"XboxGamepadMapping.js","sources":["../../../../src/input/XboxGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;;;;;;AAOG;AACG,MAAO,kBAAmB,SAAQ,+BAA+B,CAAA;AAC1C,IAAA,MAAM,GAAG,oBAAoB,CAAC,IAAI;AAC9D;;;;"}
1
+ {"version":3,"file":"XboxGamepadMapping.js","sources":["../../../../src/input/XboxGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;;;;;;AAOG;AACG,MAAO,kBAAmB,SAAQ,+BAA+B,CAAA;AAC5C,IAAA,MAAM,GAAG,oBAAoB,CAAC,IAAI;AAC5D;;;;"}
@@ -1,24 +1,24 @@
1
- export { ChannelSize, ChannelOffset, maxPointers, pointerSlotSize, Keyboard } from './types';
2
- export { GamepadButton } from './GamepadButton';
3
- export type { GamepadButtonOptions } from './GamepadButton';
4
- export { GamepadAxis } from './GamepadAxis';
1
+ export * from './ArcadeStickGamepadMapping';
2
+ export * from './GameCubeGamepadMapping';
3
+ export * from './Gamepad';
5
4
  export type { GamepadAxisOptions } from './GamepadAxis';
6
- export * from './GamepadMapping';
5
+ export { GamepadAxis } from './GamepadAxis';
6
+ export type { GamepadButtonOptions } from './GamepadButton';
7
+ export { GamepadButton } from './GamepadButton';
7
8
  export * from './GamepadDefinitions';
8
- export * from './Gamepad';
9
+ export * from './GamepadMapping';
9
10
  export * from './GamepadPromptLayouts';
10
11
  export * from './GenericDualAnalogGamepadMapping';
11
- export * from './XboxGamepadMapping';
12
- export * from './PlayStationGamepadMapping';
13
- export * from './SwitchProGamepadMapping';
14
- export * from './JoyConLeftGamepadMapping';
15
- export * from './JoyConRightGamepadMapping';
16
- export * from './GameCubeGamepadMapping';
17
- export * from './SteamControllerGamepadMapping';
18
- export * from './SteamDeckGamepadMapping';
19
- export * from './ArcadeStickGamepadMapping';
20
12
  export * from './InputBinding';
21
13
  export * from './InputManager';
22
- export { Pointer, PointerStateFlag, PointerState } from './Pointer';
23
14
  export * from './InteractionEvent';
24
15
  export * from './InteractionManager';
16
+ export * from './JoyConLeftGamepadMapping';
17
+ export * from './JoyConRightGamepadMapping';
18
+ export * from './PlayStationGamepadMapping';
19
+ export { Pointer, PointerState, PointerStateFlag } from './Pointer';
20
+ export * from './SteamControllerGamepadMapping';
21
+ export * from './SteamDeckGamepadMapping';
22
+ export * from './SwitchProGamepadMapping';
23
+ export { ChannelOffset, ChannelSize, Keyboard, maxPointers, pointerSlotSize } from './types';
24
+ export * from './XboxGamepadMapping';
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-hooks.js","sources":["../../../../src/input/interaction-hooks.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYG;AAWH,IAAI,eAAe,GAAmC,IAAI;AAE1D;;;;;AAKG;SACa,6BAA6B,GAAA;AACzC,IAAA,OAAO,eAAe;AAC1B;AAEA;;;;;AAKG;AACG,SAAU,6BAA6B,CAAC,OAAuC,EAAA;IACjF,eAAe,GAAG,OAAO;AAC7B;;;;"}
1
+ {"version":3,"file":"interaction-hooks.js","sources":["../../../../src/input/interaction-hooks.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYG;AAWH,IAAI,eAAe,GAAmC,IAAI;AAE1D;;;;;AAKG;SACa,6BAA6B,GAAA;AAC3C,IAAA,OAAO,eAAe;AACxB;AAEA;;;;;AAKG;AACG,SAAU,6BAA6B,CAAC,OAAuC,EAAA;IACnF,eAAe,GAAG,OAAO;AAC3B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/input/types.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/input/types.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ class AbstractVector {
34
34
  * `magnitude` while preserving its {@link direction}. Mutates in place.
35
35
  */
36
36
  get length() {
37
- return Math.sqrt((this.x * this.x) + (this.y * this.y));
37
+ return Math.sqrt(this.x * this.x + this.y * this.y);
38
38
  }
39
39
  set length(magnitude) {
40
40
  const direction = this.direction;
@@ -46,7 +46,7 @@ class AbstractVector {
46
46
  * {@link length} when only relative comparisons are needed.
47
47
  */
48
48
  get lengthSq() {
49
- return (this.x * this.x) + (this.y * this.y);
49
+ return this.x * this.x + this.y * this.y;
50
50
  }
51
51
  set lengthSq(lengthSquared) {
52
52
  this.length = Math.sqrt(lengthSquared);
@@ -73,8 +73,7 @@ class AbstractVector {
73
73
  * the X component.
74
74
  */
75
75
  equals({ x, y } = {}) {
76
- return (x === undefined || this.x === x)
77
- && (y === undefined || this.y === y);
76
+ return (x === undefined || this.x === x) && (y === undefined || this.y === y);
78
77
  }
79
78
  /**
80
79
  * Add `(x, y)` to this vector. When `y` is omitted it defaults to `x`.
@@ -134,7 +133,7 @@ class AbstractVector {
134
133
  * transform). Mutates in place and returns `this` for chaining.
135
134
  */
136
135
  transform(matrix) {
137
- return this.set((this.x * matrix.a) + (this.y * matrix.b) + matrix.x, (this.x * matrix.c) + (this.y * matrix.d) + matrix.y);
136
+ return this.set(this.x * matrix.a + this.y * matrix.b + matrix.x, this.x * matrix.c + this.y * matrix.d + matrix.y);
138
137
  }
139
138
  /**
140
139
  * Apply the inverse of `matrix` to this vector. Useful for converting
@@ -142,8 +141,8 @@ class AbstractVector {
142
141
  * in place and returns `this` for chaining.
143
142
  */
144
143
  transformInverse(matrix) {
145
- const id = 1 / ((matrix.a * matrix.d) + (matrix.c * -matrix.b));
146
- return this.set((this.x * matrix.d * id) + (this.y * -matrix.c * id) + (((matrix.y * matrix.c) - (matrix.x * matrix.d)) * id), (this.y * matrix.a * id) + (this.x * -matrix.b * id) + (((-matrix.y * matrix.a) + (matrix.x * matrix.b)) * id));
144
+ const id = 1 / (matrix.a * matrix.d + matrix.c * -matrix.b);
145
+ return this.set(this.x * matrix.d * id + this.y * -matrix.c * id + (matrix.y * matrix.c - matrix.x * matrix.d) * id, this.y * matrix.a * id + this.x * -matrix.b * id + (-matrix.y * matrix.a + matrix.x * matrix.b) * id);
147
146
  }
148
147
  /**
149
148
  * Rotate this vector 90° counter-clockwise (left perpendicular):
@@ -169,7 +168,7 @@ class AbstractVector {
169
168
  }
170
169
  /** Dot product of this vector with `(x, y)`. */
171
170
  dot(x, y) {
172
- return (this.x * x) + (this.y * y);
171
+ return this.x * x + this.y * y;
173
172
  }
174
173
  /**
175
174
  * 2D cross product (scalar z-component of the 3D cross product) of this
@@ -177,7 +176,7 @@ class AbstractVector {
177
176
  * this vector.
178
177
  */
179
178
  cross(vector) {
180
- return (this.x * vector.y) - (this.y * vector.x);
179
+ return this.x * vector.y - this.y * vector.x;
181
180
  }
182
181
  /** Euclidean distance from this vector's tip to `vector`'s tip. */
183
182
  distanceTo(vector) {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractVector.js","sources":["../../../../src/math/AbstractVector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractVector.js","sources":["../../../../src/math/AbstractVector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Vector } from '@/math/Vector';
2
- import { Rectangle } from '@/math/Rectangle';
3
- import { Interval } from '@/math/Interval';
4
- import type { ShapeLike } from '@/math/ShapeLike';
5
1
  import type { Collidable, CollisionResponse } from '@/math/Collision';
6
2
  import { CollisionType } from '@/math/Collision';
3
+ import { Interval } from '@/math/Interval';
4
+ import { Rectangle } from '@/math/Rectangle';
5
+ import type { ShapeLike } from '@/math/ShapeLike';
6
+ import { Vector } from '@/math/Vector';
7
7
  /**
8
8
  * Mutable circle shape defined by a centre position and radius. Implements
9
9
  * {@link ShapeLike} for use in the collision pipeline.
@@ -63,7 +63,7 @@ export declare class Circle implements ShapeLike {
63
63
  * `position`, `setPosition`, `setRadius`, `set`, or `copy` mutate the
64
64
  * circle.
65
65
  */
66
- getNormals(): Array<Vector>;
66
+ getNormals(): Vector[];
67
67
  /**
68
68
  * Project this circle onto `axis` and write the scalar interval into
69
69
  * `result`. The projection accounts for both the centre and the radius.
@@ -1,8 +1,8 @@
1
- import { Vector } from './Vector.js';
2
- import { Rectangle } from './Rectangle.js';
3
- import { Interval } from './Interval.js';
4
1
  import { CollisionType } from './Collision.js';
5
2
  import { intersectionPointCircle, intersectionLineCircle, intersectionCircleEllipse, intersectionCircleCircle, intersectionCirclePoly, intersectionRectCircle, getCollisionEllipseCircle, getCollisionCircleCircle, getCollisionPolygonCircle, getCollisionCircleRectangle } 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
  /**
@@ -114,9 +114,7 @@ class Circle {
114
114
  return new Circle(this.x, this.y, this.radius);
115
115
  }
116
116
  equals({ x, y, radius } = {}) {
117
- return (x === undefined || this.x === x)
118
- && (y === undefined || this.y === y)
119
- && (radius === undefined || this.radius === radius);
117
+ return (x === undefined || this.x === x) && (y === undefined || this.y === y) && (radius === undefined || this.radius === radius);
120
118
  }
121
119
  getBounds() {
122
120
  return new Rectangle(this.x - this.radius, this.y - this.radius, this.radius * 2, this.radius * 2);
@@ -164,26 +162,40 @@ class Circle {
164
162
  }
165
163
  intersectsWith(target) {
166
164
  switch (target.collisionType) {
167
- case CollisionType.SceneNode: return intersectionRectCircle(target.getBounds(), this);
168
- case CollisionType.Rectangle: return intersectionRectCircle(target, this);
169
- case CollisionType.Polygon: return intersectionCirclePoly(this, target);
170
- case CollisionType.Circle: return intersectionCircleCircle(this, target);
171
- case CollisionType.Ellipse: return intersectionCircleEllipse(this, target);
172
- case CollisionType.Line: return intersectionLineCircle(target, this);
173
- case CollisionType.Point: return intersectionPointCircle(target, this);
174
- default: return false;
165
+ case CollisionType.SceneNode:
166
+ return intersectionRectCircle(target.getBounds(), this);
167
+ case CollisionType.Rectangle:
168
+ return intersectionRectCircle(target, this);
169
+ case CollisionType.Polygon:
170
+ return intersectionCirclePoly(this, target);
171
+ case CollisionType.Circle:
172
+ return intersectionCircleCircle(this, target);
173
+ case CollisionType.Ellipse:
174
+ return intersectionCircleEllipse(this, target);
175
+ case CollisionType.Line:
176
+ return intersectionLineCircle(target, this);
177
+ case CollisionType.Point:
178
+ return intersectionPointCircle(target, this);
179
+ default:
180
+ return false;
175
181
  }
176
182
  }
177
183
  collidesWith(target) {
178
184
  switch (target.collisionType) {
179
- case CollisionType.SceneNode: return getCollisionCircleRectangle(this, target.getBounds());
180
- case CollisionType.Rectangle: return getCollisionCircleRectangle(this, target);
181
- case CollisionType.Polygon: return getCollisionPolygonCircle(target, this, true);
182
- case CollisionType.Circle: return getCollisionCircleCircle(this, target);
183
- case CollisionType.Ellipse: return getCollisionEllipseCircle(target, this, true);
185
+ case CollisionType.SceneNode:
186
+ return getCollisionCircleRectangle(this, target.getBounds());
187
+ case CollisionType.Rectangle:
188
+ return getCollisionCircleRectangle(this, target);
189
+ case CollisionType.Polygon:
190
+ return getCollisionPolygonCircle(target, this, true);
191
+ case CollisionType.Circle:
192
+ return getCollisionCircleCircle(this, target);
193
+ case CollisionType.Ellipse:
194
+ return getCollisionEllipseCircle(target, this, true);
184
195
  // case CollisionType.Line: return intersectionLineCircle(target as Line, this);
185
196
  // case CollisionType.Point: return intersectionPointCircle(target as Vector, this);
186
- default: return null;
197
+ default:
198
+ return null;
187
199
  }
188
200
  }
189
201
  destroy() {
@@ -211,7 +223,7 @@ class Circle {
211
223
  }
212
224
  }
213
225
  for (let i = 0; i < segments; i++) {
214
- const angle = i * 2 * Math.PI / segments - Math.PI / 2;
226
+ const angle = (i * 2 * Math.PI) / segments - Math.PI / 2;
215
227
  const x = Math.cos(angle) * this._radius;
216
228
  const y = Math.sin(angle) * this._radius;
217
229
  this._collisionVertices[i].set(this._radius + x, this._radius + y);
@@ -1 +1 @@
1
- {"version":3,"file":"Circle.js","sources":["../../../../src/math/Circle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Circle.js","sources":["../../../../src/math/Circle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Vector } from '@/math/Vector';
2
1
  import type { Interval } from '@/math/Interval';
2
+ import type { Vector } from '@/math/Vector';
3
3
  /**
4
4
  * Discriminant tag carried by every {@link Collidable} so that intersection
5
5
  * and collision routines can dispatch to the correct algorithm without
@@ -38,7 +38,7 @@ export interface Collidable {
38
38
  * Return the outward-facing edge normals used by the SAT solver. The array
39
39
  * should be cached and reused across calls.
40
40
  */
41
- getNormals(): Array<Vector>;
41
+ getNormals(): Vector[];
42
42
  /**
43
43
  * Project this shape onto `axis` and write the scalar min/max into
44
44
  * `interval`. Used internally by the SAT solver.
@@ -1 +1 @@
1
- {"version":3,"file":"Collision.js","sources":["../../../../src/math/Collision.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;AAIG;IACe;AAAlB,CAAA,UAAkB,aAAa,EAAA;AAC3B,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACT,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACb,CAAC,EARiB,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"Collision.js","sources":["../../../../src/math/Collision.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;AAIG;IACe;AAAlB,CAAA,UAAkB,aAAa,EAAA;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACT,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACP,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACX,CAAC,EARiB,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1,9 +1,9 @@
1
- import { Vector } from '@/math/Vector';
2
- import { Rectangle } from '@/math/Rectangle';
3
- import type { ShapeLike } from '@/math/ShapeLike';
4
- import { Interval } from '@/math/Interval';
5
1
  import type { Collidable, CollisionResponse } from '@/math/Collision';
6
2
  import { CollisionType } from '@/math/Collision';
3
+ import { Interval } from '@/math/Interval';
4
+ import { Rectangle } from '@/math/Rectangle';
5
+ import type { ShapeLike } from '@/math/ShapeLike';
6
+ import { Vector } from '@/math/Vector';
7
7
  /**
8
8
  * Mutable axis-aligned ellipse shape defined by a centre position and
9
9
  * separate horizontal (`rx`) and vertical (`ry`) half-radii. Implements
@@ -38,7 +38,7 @@ export declare class Ellipse implements ShapeLike {
38
38
  copy(ellipse: Ellipse): this;
39
39
  clone(): this;
40
40
  getBounds(): Rectangle;
41
- getNormals(): Array<Vector>;
41
+ getNormals(): Vector[];
42
42
  project(axis: Vector, result?: Interval): Interval;
43
43
  intersectsWith(target: Collidable): boolean;
44
44
  collidesWith(target: Collidable): CollisionResponse | null;
@@ -1,8 +1,8 @@
1
- import { Vector } from './Vector.js';
2
- import { Rectangle } from './Rectangle.js';
3
- import { Interval } from './Interval.js';
4
1
  import { CollisionType } from './Collision.js';
5
2
  import { intersectionPointEllipse, intersectionLineEllipse, intersectionEllipseEllipse, intersectionCircleEllipse, intersectionEllipsePoly, intersectionRectEllipse, getCollisionEllipseCircle, getCollisionEllipseRectangle } 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
  /**
8
8
  * Mutable axis-aligned ellipse shape defined by a centre position and
@@ -91,32 +91,41 @@ class Ellipse {
91
91
  }
92
92
  intersectsWith(target) {
93
93
  switch (target.collisionType) {
94
- case CollisionType.SceneNode: return intersectionRectEllipse(target.getBounds(), this);
95
- case CollisionType.Rectangle: return intersectionRectEllipse(target, this);
96
- case CollisionType.Polygon: return intersectionEllipsePoly(this, target);
97
- case CollisionType.Circle: return intersectionCircleEllipse(target, this);
98
- case CollisionType.Ellipse: return intersectionEllipseEllipse(this, target);
99
- case CollisionType.Line: return intersectionLineEllipse(target, this);
100
- case CollisionType.Point: return intersectionPointEllipse(target, this);
101
- default: return false;
94
+ case CollisionType.SceneNode:
95
+ return intersectionRectEllipse(target.getBounds(), this);
96
+ case CollisionType.Rectangle:
97
+ return intersectionRectEllipse(target, this);
98
+ case CollisionType.Polygon:
99
+ return intersectionEllipsePoly(this, target);
100
+ case CollisionType.Circle:
101
+ return intersectionCircleEllipse(target, this);
102
+ case CollisionType.Ellipse:
103
+ return intersectionEllipseEllipse(this, target);
104
+ case CollisionType.Line:
105
+ return intersectionLineEllipse(target, this);
106
+ case CollisionType.Point:
107
+ return intersectionPointEllipse(target, this);
108
+ default:
109
+ return false;
102
110
  }
103
111
  }
104
112
  collidesWith(target) {
105
113
  switch (target.collisionType) {
106
- case CollisionType.SceneNode: return getCollisionEllipseRectangle(this, target.getBounds());
107
- case CollisionType.Rectangle: return getCollisionEllipseRectangle(this, target);
108
- case CollisionType.Circle: return getCollisionEllipseCircle(this, target);
109
- default: return null;
114
+ case CollisionType.SceneNode:
115
+ return getCollisionEllipseRectangle(this, target.getBounds());
116
+ case CollisionType.Rectangle:
117
+ return getCollisionEllipseRectangle(this, target);
118
+ case CollisionType.Circle:
119
+ return getCollisionEllipseCircle(this, target);
120
+ default:
121
+ return null;
110
122
  }
111
123
  }
112
124
  contains(x, y) {
113
125
  return intersectionPointEllipse(Vector.temp.set(x, y), this);
114
126
  }
115
127
  equals({ x, y, rx, ry } = {}) {
116
- return (x === undefined || this.x === x)
117
- && (y === undefined || this.y === y)
118
- && (rx === undefined || this.rx === rx)
119
- && (ry === undefined || this.ry === ry);
128
+ return ((x === undefined || this.x === x) && (y === undefined || this.y === y) && (rx === undefined || this.rx === rx) && (ry === undefined || this.ry === ry));
120
129
  }
121
130
  destroy() {
122
131
  this._position.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipse.js","sources":["../../../../src/math/Ellipse.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ellipse.js","sources":["../../../../src/math/Ellipse.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -17,12 +17,12 @@ export declare class Flags<T extends TypedEnum<T, number>> {
17
17
  private _value;
18
18
  /** Current combined bitmask of all active flags. */
19
19
  get value(): number;
20
- constructor(...flags: Array<number>);
20
+ constructor(...flags: number[]);
21
21
  /**
22
22
  * Set one or more flags (bitwise OR). Mutates in place and returns `this`
23
23
  * for chaining.
24
24
  */
25
- push<V extends number = T[keyof T]>(...flags: Array<V>): this;
25
+ push<V extends number = T[keyof T]>(...flags: V[]): this;
26
26
  /**
27
27
  * Remove `flag` and return `true` if it was active before removal, `false`
28
28
  * otherwise. Useful for one-shot consumption of a flag.
@@ -32,12 +32,12 @@ export declare class Flags<T extends TypedEnum<T, number>> {
32
32
  * Clear one or more flags (bitwise AND NOT). Mutates in place and returns
33
33
  * `this` for chaining.
34
34
  */
35
- remove<V extends number = T[keyof T]>(...flags: Array<V>): this;
35
+ remove<V extends number = T[keyof T]>(...flags: V[]): this;
36
36
  /**
37
37
  * Return `true` when **any** of the supplied flags are currently set
38
38
  * (bitwise OR test).
39
39
  */
40
- has<V extends number = T[keyof T]>(...flags: Array<V>): boolean;
40
+ has<V extends number = T[keyof T]>(...flags: V[]): boolean;
41
41
  clear(): this;
42
42
  destroy(): void;
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Flags.js","sources":["../../../../src/math/Flags.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;AAaG;MACU,KAAK,CAAA;IAEN,MAAM,GAAG,CAAC;;AAGlB,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM;IACtB;AAEA,IAAA,WAAA,CAAmB,GAAG,KAAoB,EAAA;AACtC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB;IACJ;AAEA;;;AAGG;IACI,IAAI,CAAgC,GAAG,KAAe,EAAA;AACzD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,IAAI,IAAI;QACvB;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;AAGG;AACI,IAAA,GAAG,CAAgC,IAAO,EAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAE7B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAEjB,QAAA,OAAO,MAAM;IACjB;AAEA;;;AAGG;IACI,MAAM,CAAgC,GAAG,KAAe,EAAA;AAC3D,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QACxB;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;AAGG;IACI,GAAG,CAAgC,GAAG,KAAe,EAAA;AACxD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC;IACzD;IAEO,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AAEf,QAAA,OAAO,IAAI;IACf;IAEO,OAAO,GAAA;QACV,IAAI,CAAC,KAAK,EAAE;IAChB;AACH;;;;"}
1
+ {"version":3,"file":"Flags.js","sources":["../../../../src/math/Flags.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;AAaG;MACU,KAAK,CAAA;IACR,MAAM,GAAG,CAAC;;AAGlB,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA,IAAA,WAAA,CAAmB,GAAG,KAAe,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACrB;IACF;AAEA;;;AAGG;IACI,IAAI,CAAgC,GAAG,KAAU,EAAA;AACtD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,IAAI,IAAI;QACrB;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACI,IAAA,GAAG,CAAgC,IAAO,EAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAE7B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAEjB,QAAA,OAAO,MAAM;IACf;AAEA;;;AAGG;IACI,MAAM,CAAgC,GAAG,KAAU,EAAA;AACxD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QACtB;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;IACI,GAAG,CAAgC,GAAG,KAAU,EAAA;AACrD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC;IACvD;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AAEf,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,GAAA;QACZ,IAAI,CAAC,KAAK,EAAE;IACd;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Interval.js","sources":["../../../../src/math/Interval.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,IAAI,IAAI,GAAoB,IAAI;AAEhC;;;;;;AAMG;MACU,QAAQ,CAAA;AAEV,IAAA,GAAG;AACH,IAAA,GAAG;AAEV,IAAA,WAAA,CAAmB,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;IAClB;IAEO,GAAG,CAAC,GAAW,EAAE,GAAW,EAAA;AAC/B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AAEd,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,IAAI,CAAC,QAAkB,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;IAC/C;IAEO,KAAK,GAAA;QACR,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAS;IACnD;;AAGO,IAAA,gBAAgB,CAAC,QAAkB,EAAA;AACtC,QAAA,OAAO,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;IAC7D;;AAGO,IAAA,QAAQ,CAAC,KAAa,EAAA;QACzB,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;IACjD;;AAGO,IAAA,QAAQ,CAAC,QAAkB,EAAA;AAC9B,QAAA,OAAO,EAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAChE;AAEA;;;;AAIG;AACI,IAAA,UAAU,CAAC,QAAkB,EAAA;QAChC,OAAO,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;IACtF;IAEO,OAAO,GAAA;;IAEd;IAEO,OAAgB,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzC,IAAA,WAAW,IAAI,GAAA;AAClB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACf,YAAA,IAAI,GAAG,IAAI,QAAQ,EAAE;QACzB;AAEA,QAAA,OAAO,IAAI;IACf;;;;;"}
1
+ {"version":3,"file":"Interval.js","sources":["../../../../src/math/Interval.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,IAAI,IAAI,GAAoB,IAAI;AAEhC;;;;;;AAMG;MACU,QAAQ,CAAA;AACZ,IAAA,GAAG;AACH,IAAA,GAAG;AAEV,IAAA,WAAA,CAAmB,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAA;AACnC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;IAChB;IAEO,GAAG,CAAC,GAAW,EAAE,GAAW,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AAEd,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,IAAI,CAAC,QAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;IAC7C;IAEO,KAAK,GAAA;QACV,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAS;IACjD;;AAGO,IAAA,gBAAgB,CAAC,QAAkB,EAAA;AACxC,QAAA,OAAO,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;IAC3D;;AAGO,IAAA,QAAQ,CAAC,KAAa,EAAA;QAC3B,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;IAC/C;;AAGO,IAAA,QAAQ,CAAC,QAAkB,EAAA;AAChC,QAAA,OAAO,EAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC9D;AAEA;;;;AAIG;AACI,IAAA,UAAU,CAAC,QAAkB,EAAA;QAClC,OAAO,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;IACpF;IAEO,OAAO,GAAA;;IAEd;IAEO,OAAgB,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzC,IAAA,WAAW,IAAI,GAAA;AACpB,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,IAAI,GAAG,IAAI,QAAQ,EAAE;QACvB;AAEA,QAAA,OAAO,IAAI;IACb;;;;;"}
@@ -1,9 +1,9 @@
1
- import { Vector } from '@/math/Vector';
2
- import { Rectangle } from '@/math/Rectangle';
3
- import type { ShapeLike } from '@/math/ShapeLike';
4
- import { Interval } from '@/math/Interval';
5
1
  import type { Collidable, CollisionResponse } from '@/math/Collision';
6
2
  import { CollisionType } from '@/math/Collision';
3
+ import { Interval } from '@/math/Interval';
4
+ import { Rectangle } from '@/math/Rectangle';
5
+ import type { ShapeLike } from '@/math/ShapeLike';
6
+ import { Vector } from '@/math/Vector';
7
7
  /**
8
8
  * Mutable line segment defined by two endpoint positions. Implements
9
9
  * {@link ShapeLike} for intersection tests against all shape types.
@@ -36,7 +36,7 @@ export declare class Line implements ShapeLike {
36
36
  copy(line: Line): this;
37
37
  clone(): this;
38
38
  getBounds(): Rectangle;
39
- getNormals(): Array<Vector>;
39
+ getNormals(): Vector[];
40
40
  project(axis: Vector, result?: Interval): Interval;
41
41
  intersectsWith(target: Collidable): boolean;
42
42
  /**
@@ -1,8 +1,8 @@
1
- import { Vector } from './Vector.js';
2
- import { Rectangle } from './Rectangle.js';
3
- import { Interval } from './Interval.js';
4
1
  import { CollisionType } from './Collision.js';
5
2
  import { intersectionPointLine, intersectionLineLine, intersectionLineEllipse, intersectionLineCircle, intersectionLinePoly, intersectionLineRect } 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
  /**
@@ -87,14 +87,22 @@ class Line {
87
87
  }
88
88
  intersectsWith(target) {
89
89
  switch (target.collisionType) {
90
- case CollisionType.SceneNode: return intersectionLineRect(this, target.getBounds());
91
- case CollisionType.Rectangle: return intersectionLineRect(this, target);
92
- case CollisionType.Polygon: return intersectionLinePoly(this, target);
93
- case CollisionType.Circle: return intersectionLineCircle(this, target);
94
- case CollisionType.Ellipse: return intersectionLineEllipse(this, target);
95
- case CollisionType.Line: return intersectionLineLine(this, target);
96
- case CollisionType.Point: return intersectionPointLine(target, this);
97
- default: return false;
90
+ case CollisionType.SceneNode:
91
+ return intersectionLineRect(this, target.getBounds());
92
+ case CollisionType.Rectangle:
93
+ return intersectionLineRect(this, target);
94
+ case CollisionType.Polygon:
95
+ return intersectionLinePoly(this, target);
96
+ case CollisionType.Circle:
97
+ return intersectionLineCircle(this, target);
98
+ case CollisionType.Ellipse:
99
+ return intersectionLineEllipse(this, target);
100
+ case CollisionType.Line:
101
+ return intersectionLineLine(this, target);
102
+ case CollisionType.Point:
103
+ return intersectionPointLine(target, this);
104
+ default:
105
+ return false;
98
106
  }
99
107
  }
100
108
  /**
@@ -109,10 +117,10 @@ class Line {
109
117
  return intersectionPointLine(Vector.temp.set(x, y), this, threshold);
110
118
  }
111
119
  equals({ fromX, fromY, toX, toY } = {}) {
112
- return (fromX === undefined || this.fromX === fromX)
113
- && (fromY === undefined || this.fromY === fromY)
114
- && (toX === undefined || this.toX === toX)
115
- && (toY === undefined || this.toY === toY);
120
+ return ((fromX === undefined || this.fromX === fromX) &&
121
+ (fromY === undefined || this.fromY === fromY) &&
122
+ (toX === undefined || this.toX === toX) &&
123
+ (toY === undefined || this.toY === toY));
116
124
  }
117
125
  destroy() {
118
126
  this._fromPosition.destroy();