@codexo/exojs 0.7.13 → 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 (544) hide show
  1. package/CHANGELOG.md +637 -124
  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 +106 -84
  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 +181 -84
  240. package/dist/esm/particles/ParticleSystem.js +460 -147
  241. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  242. package/dist/esm/particles/distributions/BoxArea.d.ts +17 -0
  243. package/dist/esm/particles/distributions/BoxArea.js +48 -0
  244. package/dist/esm/particles/distributions/BoxArea.js.map +1 -0
  245. package/dist/esm/particles/distributions/CircleArea.d.ts +19 -0
  246. package/dist/esm/particles/distributions/CircleArea.js +33 -0
  247. package/dist/esm/particles/distributions/CircleArea.js.map +1 -0
  248. package/dist/esm/particles/distributions/ConeDirection.d.ts +28 -0
  249. package/dist/esm/particles/distributions/ConeDirection.js +44 -0
  250. package/dist/esm/particles/distributions/ConeDirection.js.map +1 -0
  251. package/dist/esm/particles/distributions/Constant.d.ts +17 -0
  252. package/dist/esm/particles/distributions/Constant.js +35 -0
  253. package/dist/esm/particles/distributions/Constant.js.map +1 -0
  254. package/dist/esm/particles/distributions/Curve.d.ts +30 -0
  255. package/dist/esm/particles/distributions/Curve.js +53 -0
  256. package/dist/esm/particles/distributions/Curve.js.map +1 -0
  257. package/dist/esm/particles/distributions/Distribution.d.ts +45 -0
  258. package/dist/esm/particles/distributions/Gradient.d.ts +40 -0
  259. package/dist/esm/particles/distributions/Gradient.js +72 -0
  260. package/dist/esm/particles/distributions/Gradient.js.map +1 -0
  261. package/dist/esm/particles/distributions/LineSegment.d.ts +15 -0
  262. package/dist/esm/particles/distributions/LineSegment.js +27 -0
  263. package/dist/esm/particles/distributions/LineSegment.js.map +1 -0
  264. package/dist/esm/particles/distributions/Range.d.ts +12 -0
  265. package/dist/esm/particles/distributions/Range.js +19 -0
  266. package/dist/esm/particles/distributions/Range.js.map +1 -0
  267. package/dist/esm/particles/distributions/VectorRange.d.ts +20 -0
  268. package/dist/esm/particles/distributions/VectorRange.js +31 -0
  269. package/dist/esm/particles/distributions/VectorRange.js.map +1 -0
  270. package/dist/esm/particles/distributions/index.d.ts +12 -0
  271. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +57 -0
  272. package/dist/esm/particles/gpu/ParticleGpuState.js +535 -0
  273. package/dist/esm/particles/gpu/ParticleGpuState.js.map +1 -0
  274. package/dist/esm/particles/index.d.ts +2 -10
  275. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +24 -0
  276. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +60 -0
  277. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +1 -0
  278. package/dist/esm/particles/modules/ApplyForce.d.ts +20 -0
  279. package/dist/esm/particles/modules/ApplyForce.js +48 -0
  280. package/dist/esm/particles/modules/ApplyForce.js.map +1 -0
  281. package/dist/esm/particles/modules/AttractToPoint.d.ts +27 -0
  282. package/dist/esm/particles/modules/AttractToPoint.js +73 -0
  283. package/dist/esm/particles/modules/AttractToPoint.js.map +1 -0
  284. package/dist/esm/particles/modules/BurstSpawn.d.ts +53 -0
  285. package/dist/esm/particles/modules/BurstSpawn.js +94 -0
  286. package/dist/esm/particles/modules/BurstSpawn.js.map +1 -0
  287. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +22 -0
  288. package/dist/esm/particles/modules/ColorOverLifetime.js +65 -0
  289. package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -0
  290. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +27 -0
  291. package/dist/esm/particles/modules/ColorOverSpeed.js +86 -0
  292. package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -0
  293. package/dist/esm/particles/modules/DeathModule.d.ts +24 -0
  294. package/dist/esm/particles/modules/DeathModule.js +25 -0
  295. package/dist/esm/particles/modules/DeathModule.js.map +1 -0
  296. package/dist/esm/particles/modules/Drag.d.ts +20 -0
  297. package/dist/esm/particles/modules/Drag.js +43 -0
  298. package/dist/esm/particles/modules/Drag.js.map +1 -0
  299. package/dist/esm/particles/modules/OrbitalForce.d.ts +28 -0
  300. package/dist/esm/particles/modules/OrbitalForce.js +65 -0
  301. package/dist/esm/particles/modules/OrbitalForce.js.map +1 -0
  302. package/dist/esm/particles/modules/RateSpawn.d.ts +41 -0
  303. package/dist/esm/particles/modules/RateSpawn.js +76 -0
  304. package/dist/esm/particles/modules/RateSpawn.js.map +1 -0
  305. package/dist/esm/particles/modules/RepelFromPoint.d.ts +24 -0
  306. package/dist/esm/particles/modules/RepelFromPoint.js +76 -0
  307. package/dist/esm/particles/modules/RepelFromPoint.js.map +1 -0
  308. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +20 -0
  309. package/dist/esm/particles/modules/RotateOverLifetime.js +41 -0
  310. package/dist/esm/particles/modules/RotateOverLifetime.js.map +1 -0
  311. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +26 -0
  312. package/dist/esm/particles/modules/ScaleOverLifetime.js +59 -0
  313. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +1 -0
  314. package/dist/esm/particles/modules/SpawnModule.d.ts +30 -0
  315. package/dist/esm/particles/modules/SpawnModule.js +31 -0
  316. package/dist/esm/particles/modules/SpawnModule.js.map +1 -0
  317. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +24 -0
  318. package/dist/esm/particles/modules/SpawnOnDeath.js +47 -0
  319. package/dist/esm/particles/modules/SpawnOnDeath.js.map +1 -0
  320. package/dist/esm/particles/modules/Turbulence.d.ts +30 -0
  321. package/dist/esm/particles/modules/Turbulence.js +122 -0
  322. package/dist/esm/particles/modules/Turbulence.js.map +1 -0
  323. package/dist/esm/particles/modules/UpdateModule.d.ts +95 -0
  324. package/dist/esm/particles/modules/UpdateModule.js +66 -0
  325. package/dist/esm/particles/modules/UpdateModule.js.map +1 -0
  326. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +30 -0
  327. package/dist/esm/particles/modules/VelocityOverLifetime.js +84 -0
  328. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +1 -0
  329. package/dist/esm/particles/modules/WgslContribution.d.ts +81 -0
  330. package/dist/esm/particles/modules/WgslContribution.js +34 -0
  331. package/dist/esm/particles/modules/WgslContribution.js.map +1 -0
  332. package/dist/esm/particles/modules/index.d.ts +22 -0
  333. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  334. package/dist/esm/rendering/Container.d.ts +2 -2
  335. package/dist/esm/rendering/Container.js +10 -11
  336. package/dist/esm/rendering/Container.js.map +1 -1
  337. package/dist/esm/rendering/Drawable.js.map +1 -1
  338. package/dist/esm/rendering/RenderBackend.d.ts +6 -6
  339. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  340. package/dist/esm/rendering/RenderNode.d.ts +10 -10
  341. package/dist/esm/rendering/RenderNode.js +31 -31
  342. package/dist/esm/rendering/RenderNode.js.map +1 -1
  343. package/dist/esm/rendering/RenderStats.js.map +1 -1
  344. package/dist/esm/rendering/RenderTarget.d.ts +2 -2
  345. package/dist/esm/rendering/RenderTarget.js +5 -5
  346. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  347. package/dist/esm/rendering/RenderTargetPass.d.ts +3 -3
  348. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  349. package/dist/esm/rendering/Renderer.d.ts +2 -2
  350. package/dist/esm/rendering/RendererRegistry.d.ts +3 -3
  351. package/dist/esm/rendering/RendererRegistry.js +2 -3
  352. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  353. package/dist/esm/rendering/View.d.ts +3 -3
  354. package/dist/esm/rendering/View.js +17 -20
  355. package/dist/esm/rendering/View.js.map +1 -1
  356. package/dist/esm/rendering/filters/BlurFilter.d.ts +1 -1
  357. package/dist/esm/rendering/filters/BlurFilter.js +4 -9
  358. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  359. package/dist/esm/rendering/filters/ColorFilter.d.ts +1 -1
  360. package/dist/esm/rendering/filters/ColorFilter.js +3 -9
  361. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  362. package/dist/esm/rendering/filters/Filter.d.ts +1 -1
  363. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  364. package/dist/esm/rendering/filters/LutFilter.d.ts +87 -0
  365. package/dist/esm/rendering/filters/LutFilter.js +261 -0
  366. package/dist/esm/rendering/filters/LutFilter.js.map +1 -0
  367. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +2 -2
  368. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +7 -14
  369. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  370. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +1 -1
  371. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +11 -10
  372. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  373. package/dist/esm/rendering/index.d.ts +28 -27
  374. package/dist/esm/rendering/mesh/Mesh.d.ts +49 -1
  375. package/dist/esm/rendering/mesh/Mesh.js +3 -1
  376. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  377. package/dist/esm/rendering/primitives/Graphics.d.ts +3 -3
  378. package/dist/esm/rendering/primitives/Graphics.js +12 -12
  379. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  380. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  381. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  382. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  383. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js +6 -8
  384. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.js.map +1 -1
  385. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +3 -3
  386. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  387. package/dist/esm/rendering/sprite/Sprite.d.ts +4 -4
  388. package/dist/esm/rendering/sprite/Sprite.js +51 -35
  389. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  390. package/dist/esm/rendering/sprite/Spritesheet.d.ts +5 -9
  391. package/dist/esm/rendering/sprite/Spritesheet.js +1 -1
  392. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  393. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +3 -9
  394. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +1 -1
  395. package/dist/esm/rendering/text/Text.js +9 -9
  396. package/dist/esm/rendering/text/Text.js.map +1 -1
  397. package/dist/esm/rendering/text/TextLayout.d.ts +2 -2
  398. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  399. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  400. package/dist/esm/rendering/text/atlas-singleton.js.map +1 -1
  401. package/dist/esm/rendering/texture/RenderTexture.d.ts +1 -1
  402. package/dist/esm/rendering/texture/RenderTexture.js +4 -1
  403. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  404. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  405. package/dist/esm/rendering/texture/Texture.d.ts +2 -2
  406. package/dist/esm/rendering/texture/Texture.js +8 -5
  407. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  408. package/dist/esm/rendering/types.js.map +1 -1
  409. package/dist/esm/rendering/utils.js.map +1 -1
  410. package/dist/esm/rendering/video/Video.d.ts +3 -3
  411. package/dist/esm/rendering/video/Video.js +7 -6
  412. package/dist/esm/rendering/video/Video.js.map +1 -1
  413. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +6 -6
  414. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -10
  415. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  416. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +1 -1
  417. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +1 -2
  418. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  419. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +11 -11
  420. package/dist/esm/rendering/webgl2/WebGl2Backend.js +19 -21
  421. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  422. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +2 -2
  423. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +6 -8
  424. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
  425. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +7 -4
  426. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +110 -43
  427. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  428. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +10 -15
  429. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +100 -79
  430. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -1
  431. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +1 -1
  432. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  433. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  434. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
  435. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +54 -22
  436. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
  437. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +1 -1
  438. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +11 -14
  439. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  440. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +1 -1
  441. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -1
  442. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +1 -1
  443. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +1 -1
  444. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +1 -2
  445. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  446. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +7 -7
  447. package/dist/esm/rendering/webgpu/WebGpuBackend.js +44 -30
  448. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  449. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  450. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -2
  451. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +1 -3
  452. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  453. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
  454. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +25 -23
  455. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  456. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +10 -1
  457. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +204 -76
  458. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  459. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -2
  460. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +45 -45
  461. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  462. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +52 -0
  463. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +29 -0
  464. package/dist/esm/rendering/webgpu/compute/index.d.ts +3 -0
  465. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -1
  466. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  467. package/dist/esm/resources/AssetManifest.d.ts +1 -1
  468. package/dist/esm/resources/AssetManifest.js +2 -2
  469. package/dist/esm/resources/AssetManifest.js.map +1 -1
  470. package/dist/esm/resources/CacheFirstStrategy.d.ts +2 -2
  471. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  472. package/dist/esm/resources/CacheStrategy.d.ts +1 -1
  473. package/dist/esm/resources/FactoryRegistry.d.ts +1 -1
  474. package/dist/esm/resources/FactoryRegistry.js +2 -3
  475. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  476. package/dist/esm/resources/IndexedDbDatabase.d.ts +1 -1
  477. package/dist/esm/resources/IndexedDbDatabase.js +11 -14
  478. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  479. package/dist/esm/resources/IndexedDbStore.d.ts +1 -1
  480. package/dist/esm/resources/IndexedDbStore.js +2 -7
  481. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  482. package/dist/esm/resources/Loader.d.ts +9 -9
  483. package/dist/esm/resources/Loader.js +48 -35
  484. package/dist/esm/resources/Loader.js.map +1 -1
  485. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +2 -2
  486. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  487. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  488. package/dist/esm/resources/factories/FontFactory.js +1 -1
  489. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  490. package/dist/esm/resources/factories/ImageFactory.js +4 -4
  491. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  492. package/dist/esm/resources/factories/JsonFactory.d.ts +1 -1
  493. package/dist/esm/resources/factories/JsonFactory.js +1 -1
  494. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  495. package/dist/esm/resources/factories/MusicFactory.d.ts +1 -1
  496. package/dist/esm/resources/factories/MusicFactory.js +4 -4
  497. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  498. package/dist/esm/resources/factories/SoundFactory.d.ts +1 -1
  499. package/dist/esm/resources/factories/SoundFactory.js +3 -3
  500. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  501. package/dist/esm/resources/factories/SvgFactory.js +3 -3
  502. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  503. package/dist/esm/resources/factories/TextFactory.js +1 -1
  504. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  505. package/dist/esm/resources/factories/TextureFactory.d.ts +1 -1
  506. package/dist/esm/resources/factories/TextureFactory.js +3 -3
  507. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  508. package/dist/esm/resources/factories/VideoFactory.d.ts +2 -2
  509. package/dist/esm/resources/factories/VideoFactory.js +5 -5
  510. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  511. package/dist/esm/resources/factories/VttFactory.d.ts +2 -2
  512. package/dist/esm/resources/factories/VttFactory.js +6 -6
  513. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  514. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  515. package/dist/esm/resources/index.d.ts +11 -11
  516. package/dist/esm/resources/utils.js +30 -25
  517. package/dist/esm/resources/utils.js.map +1 -1
  518. package/dist/exo.esm.js +26438 -23869
  519. package/dist/exo.esm.js.map +1 -1
  520. package/package.json +15 -4
  521. package/dist/esm/particles/Particle.d.ts +0 -77
  522. package/dist/esm/particles/Particle.js +0 -143
  523. package/dist/esm/particles/Particle.js.map +0 -1
  524. package/dist/esm/particles/ParticleProperties.d.ts +0 -29
  525. package/dist/esm/particles/affectors/ColorAffector.d.ts +0 -30
  526. package/dist/esm/particles/affectors/ColorAffector.js +0 -55
  527. package/dist/esm/particles/affectors/ColorAffector.js.map +0 -1
  528. package/dist/esm/particles/affectors/ForceAffector.d.ts +0 -24
  529. package/dist/esm/particles/affectors/ForceAffector.js +0 -39
  530. package/dist/esm/particles/affectors/ForceAffector.js.map +0 -1
  531. package/dist/esm/particles/affectors/ParticleAffector.d.ts +0 -19
  532. package/dist/esm/particles/affectors/ScaleAffector.d.ts +0 -23
  533. package/dist/esm/particles/affectors/ScaleAffector.js +0 -38
  534. package/dist/esm/particles/affectors/ScaleAffector.js.map +0 -1
  535. package/dist/esm/particles/affectors/TorqueAffector.d.ts +0 -23
  536. package/dist/esm/particles/affectors/TorqueAffector.js +0 -37
  537. package/dist/esm/particles/affectors/TorqueAffector.js.map +0 -1
  538. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +0 -19
  539. package/dist/esm/particles/emitters/ParticleOptions.d.ts +0 -62
  540. package/dist/esm/particles/emitters/ParticleOptions.js +0 -120
  541. package/dist/esm/particles/emitters/ParticleOptions.js.map +0 -1
  542. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +0 -40
  543. package/dist/esm/particles/emitters/UniversalEmitter.js +0 -68
  544. package/dist/esm/particles/emitters/UniversalEmitter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"collision-primitives.js","sources":["../../../../src/math/collision-primitives.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collision-primitives.js","sources":["../../../../src/math/collision-primitives.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  export interface MeshGeometryData {
7
7
  readonly vertices: Float32Array;
8
8
  readonly indices: Uint16Array;
9
- readonly points: Array<number>;
9
+ readonly points: number[];
10
10
  }
11
11
  /**
12
12
  * Build a single straight line segment as a triangle-list mesh with the given
@@ -23,7 +23,7 @@ export declare const buildLine: (startX: number, startY: number, endX: number, e
23
23
  * Uses miter joints at each interior vertex; joints exceeding 14× lineWidth
24
24
  * are bevelled to avoid extremely long spikes.
25
25
  */
26
- export declare const buildPath: (points: Array<number>, width: number) => MeshGeometryData;
26
+ export declare const buildPath: (points: number[], width: number) => MeshGeometryData;
27
27
  /**
28
28
  * Build a filled circle as a triangle-list mesh. Vertex count scales with
29
29
  * `radius` (approximately `15√(2r)` segments) so small circles use fewer
@@ -40,7 +40,7 @@ export declare const buildEllipse: (centerX: number, centerY: number, radiusX: n
40
40
  * mesh via ear-clipping triangulation. `points` must contain at least three
41
41
  * `(x, y)` pairs (minimum 6 values); throws otherwise.
42
42
  */
43
- export declare const buildPolygon: (points: Array<number>) => MeshGeometryData;
43
+ export declare const buildPolygon: (points: number[]) => MeshGeometryData;
44
44
  /**
45
45
  * Build a filled axis-aligned rectangle as a triangle-list mesh. Produces
46
46
  * exactly 4 vertices and 2 triangles regardless of dimensions.
@@ -1,6 +1,6 @@
1
1
  import { triangulate } from './triangulate.js';
2
- import { Vector } from './Vector.js';
3
2
  import { tau } from './utils.js';
3
+ import { Vector } from './Vector.js';
4
4
 
5
5
  /**
6
6
  * Build a single straight line segment as a triangle-list mesh with the given
@@ -13,10 +13,14 @@ const buildLine = (startX, startY, endX, endY, width) => {
13
13
  const perpA = new Vector(startX - endX, startY - endY).perp().normalize().multiply(distance);
14
14
  const perpB = new Vector(endX - startX, endY - startY).perp().normalize().multiply(distance);
15
15
  const vertices = new Float32Array([
16
- startX - perpA.x, startY - perpA.y, // 0: start-left
17
- startX + perpA.x, startY + perpA.y, // 1: start-right
18
- endX - perpB.x, endY - perpB.y, // 2: end-left
19
- endX + perpB.x, endY + perpB.y, // 3: end-right
16
+ startX - perpA.x,
17
+ startY - perpA.y, // 0: start-left
18
+ startX + perpA.x,
19
+ startY + perpA.y, // 1: start-right
20
+ endX - perpB.x,
21
+ endY - perpB.y, // 2: end-left
22
+ endX + perpB.x,
23
+ endY + perpB.y, // 3: end-right
20
24
  ]);
21
25
  perpA.destroy();
22
26
  perpB.destroy();
@@ -41,12 +45,12 @@ const buildPath = (points, width) => {
41
45
  const lastPoint = new Vector(points[points.length - 2], points[points.length - 1]);
42
46
  const outlinePoints = points;
43
47
  if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) {
44
- points = points.slice();
48
+ points = [...points];
45
49
  points.pop();
46
50
  points.pop();
47
51
  lastPoint.set(points[points.length - 2], points[points.length - 1]);
48
- const midPointX = lastPoint.x + ((firstPoint.x - lastPoint.x) * 0.5);
49
- const midPointY = lastPoint.y + ((firstPoint.y - lastPoint.y) * 0.5);
52
+ const midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) * 0.5;
53
+ const midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) * 0.5;
50
54
  points.unshift(midPointX, midPointY);
51
55
  points.push(midPointX, midPointY);
52
56
  }
@@ -58,15 +62,15 @@ const buildPath = (points, width) => {
58
62
  let p1y = points[1];
59
63
  let p2x = points[2];
60
64
  let p2y = points[3];
61
- let p3x = 0;
62
- let p3y = 0;
65
+ let p3x;
66
+ let p3y;
63
67
  let perpx = -(p1y - p2y);
64
68
  let perpy = p1x - p2x;
65
- let perp2x = 0;
66
- let perp2y = 0;
67
- let perp3x = 0;
68
- let perp3y = 0;
69
- let dist = Math.sqrt((perpx * perpx) + (perpy * perpy));
69
+ let perp2x;
70
+ let perp2y;
71
+ let perp3x;
72
+ let perp3y;
73
+ let dist = Math.sqrt(perpx * perpx + perpy * perpy);
70
74
  perpx /= dist;
71
75
  perpy /= dist;
72
76
  perpx *= lineWidth;
@@ -75,45 +79,44 @@ const buildPath = (points, width) => {
75
79
  stripVertices.push(p1x + perpx, p1y + perpy);
76
80
  for (let i = 1; i < length - 1; i++) {
77
81
  p1x = points[(i - 1) * 2];
78
- p1y = points[((i - 1) * 2) + 1];
82
+ p1y = points[(i - 1) * 2 + 1];
79
83
  p2x = points[i * 2];
80
- p2y = points[(i * 2) + 1];
84
+ p2y = points[i * 2 + 1];
81
85
  p3x = points[(i + 1) * 2];
82
- p3y = points[((i + 1) * 2) + 1];
86
+ p3y = points[(i + 1) * 2 + 1];
83
87
  perpx = -(p1y - p2y);
84
88
  perpy = p1x - p2x;
85
- dist = Math.sqrt((perpx * perpx) + (perpy * perpy));
89
+ dist = Math.sqrt(perpx * perpx + perpy * perpy);
86
90
  perpx /= dist;
87
91
  perpy /= dist;
88
92
  perpx *= lineWidth;
89
93
  perpy *= lineWidth;
90
94
  perp2x = -(p2y - p3y);
91
95
  perp2y = p2x - p3x;
92
- dist = Math.sqrt((perp2x * perp2x) + (perp2y * perp2y));
96
+ dist = Math.sqrt(perp2x * perp2x + perp2y * perp2y);
93
97
  perp2x /= dist;
94
98
  perp2y /= dist;
95
99
  perp2x *= lineWidth;
96
100
  perp2y *= lineWidth;
97
- const a1 = (-perpy + p1y) - (-perpy + p2y);
98
- const b1 = (-perpx + p2x) - (-perpx + p1x);
99
- const c1 = ((-perpx + p1x) * (-perpy + p2y)) - ((-perpx + p2x) * (-perpy + p1y));
100
- const a2 = (-perp2y + p3y) - (-perp2y + p2y);
101
- const b2 = (-perp2x + p2x) - (-perp2x + p3x);
102
- const c2 = ((-perp2x + p3x) * (-perp2y + p2y)) - ((-perp2x + p2x) * (-perp2y + p3y));
103
- let denom = (a1 * b2) - (a2 * b1);
101
+ const a1 = -perpy + p1y - (-perpy + p2y);
102
+ const b1 = -perpx + p2x - (-perpx + p1x);
103
+ const c1 = (-perpx + p1x) * (-perpy + p2y) - (-perpx + p2x) * (-perpy + p1y);
104
+ const a2 = -perp2y + p3y - (-perp2y + p2y);
105
+ const b2 = -perp2x + p2x - (-perp2x + p3x);
106
+ const c2 = (-perp2x + p3x) * (-perp2y + p2y) - (-perp2x + p2x) * (-perp2y + p3y);
107
+ const denom = a1 * b2 - a2 * b1;
104
108
  if (Math.abs(denom) < 0.1) {
105
- denom += 10.1;
106
109
  stripVertices.push(p2x - perpx, p2y - perpy);
107
110
  stripVertices.push(p2x + perpx, p2y + perpy);
108
111
  continue;
109
112
  }
110
- const px = ((b1 * c2) - (b2 * c1)) / denom;
111
- const py = ((a2 * c1) - (a1 * c2)) / denom;
112
- const pdist = ((px - p2x) * (px - p2x)) + ((py - p2y) * (py - p2y));
113
- if (pdist > (196 * lineWidth * lineWidth)) {
113
+ const px = (b1 * c2 - b2 * c1) / denom;
114
+ const py = (a2 * c1 - a1 * c2) / denom;
115
+ const pdist = (px - p2x) * (px - p2x) + (py - p2y) * (py - p2y);
116
+ if (pdist > 196 * lineWidth * lineWidth) {
114
117
  perp3x = perpx - perp2x;
115
118
  perp3y = perpy - perp2y;
116
- dist = Math.sqrt((perp3x * perp3x) + (perp3y * perp3y));
119
+ dist = Math.sqrt(perp3x * perp3x + perp3y * perp3y);
117
120
  perp3x /= dist;
118
121
  perp3y /= dist;
119
122
  perp3x *= lineWidth;
@@ -128,12 +131,12 @@ const buildPath = (points, width) => {
128
131
  }
129
132
  }
130
133
  p1x = points[(length - 2) * 2];
131
- p1y = points[((length - 2) * 2) + 1];
134
+ p1y = points[(length - 2) * 2 + 1];
132
135
  p2x = points[(length - 1) * 2];
133
- p2y = points[((length - 1) * 2) + 1];
136
+ p2y = points[(length - 1) * 2 + 1];
134
137
  perpx = -(p1y - p2y);
135
138
  perpy = p1x - p2x;
136
- dist = Math.sqrt((perpx * perpx) + (perpy * perpy));
139
+ dist = Math.sqrt(perpx * perpx + perpy * perpy);
137
140
  perpx /= dist;
138
141
  perpy /= dist;
139
142
  perpx *= lineWidth;
@@ -177,8 +180,8 @@ const buildCircle = (centerX, centerY, radius) => {
177
180
  vertices[0] = centerX;
178
181
  vertices[1] = centerY;
179
182
  for (let i = 0; i < length; i++) {
180
- const segmentX = centerX + (Math.sin(segment * i) * radius);
181
- const segmentY = centerY + (Math.cos(segment * i) * radius);
183
+ const segmentX = centerX + Math.sin(segment * i) * radius;
184
+ const segmentY = centerY + Math.cos(segment * i) * radius;
182
185
  points.push(segmentX, segmentY);
183
186
  const offset = (i + 1) * 2;
184
187
  vertices[offset] = segmentX;
@@ -205,8 +208,8 @@ const buildEllipse = (centerX, centerY, radiusX, radiusY) => {
205
208
  vertices[0] = centerX;
206
209
  vertices[1] = centerY;
207
210
  for (let i = 0; i < length; i++) {
208
- const segmentX = centerX + (Math.sin(segment * i) * radiusX);
209
- const segmentY = centerY + (Math.cos(segment * i) * radiusY);
211
+ const segmentX = centerX + Math.sin(segment * i) * radiusX;
212
+ const segmentY = centerY + Math.cos(segment * i) * radiusY;
210
213
  points.push(segmentX, segmentY);
211
214
  const offset = (i + 1) * 2;
212
215
  vertices[offset] = segmentX;
@@ -235,7 +238,7 @@ const buildPolygon = (points) => {
235
238
  const vertices = new Float32Array(points.length);
236
239
  for (let i = 0; i < length; i++) {
237
240
  vertices[i * 2] = points[i * 2];
238
- vertices[(i * 2) + 1] = points[(i * 2) + 1];
241
+ vertices[i * 2 + 1] = points[i * 2 + 1];
239
242
  }
240
243
  const indices = new Uint16Array(triangles);
241
244
  return { vertices, indices, points };
@@ -247,10 +250,14 @@ const buildPolygon = (points) => {
247
250
  const buildRectangle = (x, y, width, height) => {
248
251
  // 4 vertices: TL, TR, BL, BR. Triangles [0, 1, 2, 1, 3, 2] (clockwise).
249
252
  const vertices = new Float32Array([
250
- x, y, // 0 TL
251
- x + width, y, // 1 TR
252
- x, y + height, // 2 BL
253
- x + width, y + height, // 3 BR
253
+ x,
254
+ y, // 0 TL
255
+ x + width,
256
+ y, // 1 TR
257
+ x,
258
+ y + height, // 2 BL
259
+ x + width,
260
+ y + height, // 3 BR
254
261
  ]);
255
262
  const indices = new Uint16Array([0, 1, 2, 1, 3, 2]);
256
263
  // Outline points walk the perimeter (TL -> TR -> BR -> BL).
@@ -263,14 +270,14 @@ const buildRectangle = (x, y, width, height) => {
263
270
  * half of `radius`. `rotation` offsets the first tip angle in radians.
264
271
  */
265
272
  const buildStar = (centerX, centerY, points, radius, innerRadius = radius / 2, rotation = 0) => {
266
- const startAngle = (Math.PI / -2) + rotation;
273
+ const startAngle = Math.PI / -2 + rotation;
267
274
  const length = points * 2;
268
275
  const delta = tau / length;
269
276
  const path = [];
270
277
  for (let i = 0; i < length; i++) {
271
- const angle = startAngle + (i * delta);
278
+ const angle = startAngle + i * delta;
272
279
  const rad = i % 2 ? innerRadius : radius;
273
- path.push(centerX + (rad * Math.cos(angle)), centerY + (rad * Math.sin(angle)));
280
+ path.push(centerX + rad * Math.cos(angle), centerY + rad * Math.sin(angle));
274
281
  }
275
282
  return buildPolygon(path);
276
283
  };
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sources":["../../../../src/math/geometry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sources":["../../../../src/math/geometry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,28 +1,28 @@
1
- export * from './Collision';
2
- export * from './PointLike';
3
- export * from './RectangleLike';
1
+ export * from './Circle';
4
2
  export * from './CircleLike';
5
- export * from './EllipseLike';
6
- export * from './LineLike';
7
- export * from './PolygonLike';
8
- export * from './utils';
9
- export * from './geometry';
3
+ export * from './Collision';
10
4
  export * from './collision-detection';
11
- export * from './Vector';
12
- export * from './Line';
13
- export * from './Rectangle';
14
- export * from './Circle';
15
5
  export * from './Ellipse';
16
- export * from './Polygon';
17
- export * from './ShapeLike';
6
+ export * from './EllipseLike';
18
7
  export * from './Flags';
8
+ export * from './geometry';
19
9
  export * from './Interval';
10
+ export * from './Line';
11
+ export * from './LineLike';
20
12
  export * from './Matrix';
21
13
  export * from './ObservableSize';
22
14
  export * from './ObservableVector';
15
+ export * from './PointLike';
16
+ export * from './PolarVector';
17
+ export * from './Polygon';
18
+ export * from './PolygonLike';
19
+ export * from './Quadtree';
23
20
  export * from './Random';
21
+ export * from './Rectangle';
22
+ export * from './RectangleLike';
24
23
  export * from './Segment';
24
+ export * from './ShapeLike';
25
25
  export * from './Size';
26
- export * from './PolarVector';
27
26
  export * from './swept-collision';
28
- export * from './Quadtree';
27
+ export * from './utils';
28
+ export * from './Vector';
@@ -1,5 +1,5 @@
1
- import { Rectangle } from './Rectangle';
2
1
  import type { CircleLike } from './CircleLike';
2
+ import { Rectangle } from './Rectangle';
3
3
  /**
4
4
  * Result of a swept-collision query. The moving shape's reference point
5
5
  * is at `(x, y)` at impact, having travelled fraction `t` ∈ [0..1] of
@@ -62,7 +62,7 @@ export declare function sweepCircleVsCircle(moving: CircleLike, deltaX: number,
62
62
  * moving rectangle is computed once; targets whose AABB does not overlap the
63
63
  * swept AABB are skipped.
64
64
  */
65
- export declare function sweepRectangleAgainst(moving: Rectangle, deltaX: number, deltaY: number, targets: ReadonlyArray<Rectangle>): SweptHit | null;
65
+ export declare function sweepRectangleAgainst(moving: Rectangle, deltaX: number, deltaY: number, targets: readonly Rectangle[]): SweptHit | null;
66
66
  /**
67
67
  * Returns the earliest `SweptHit` against an array of circle targets, or
68
68
  * `null` if none are hit.
@@ -70,7 +70,7 @@ export declare function sweepRectangleAgainst(moving: Rectangle, deltaX: number,
70
70
  * Optimisation: the swept AABB of the moving circle is computed once and used
71
71
  * to skip targets that cannot possibly be reached.
72
72
  */
73
- export declare function sweepCircleAgainst(moving: CircleLike, deltaX: number, deltaY: number, targets: ReadonlyArray<CircleLike>): SweptHit | null;
73
+ export declare function sweepCircleAgainst(moving: CircleLike, deltaX: number, deltaY: number, targets: readonly CircleLike[]): SweptHit | null;
74
74
  /**
75
75
  * Generator that yields evenly-spaced position snapshots along a movement
76
76
  * vector so the caller can run their own discrete intersection check at each
@@ -182,10 +182,7 @@ function sweepRectangleAgainst(moving, deltaX, deltaY, targets) {
182
182
  let earliest = null;
183
183
  for (const target of targets) {
184
184
  // Broad-phase: skip if swept AABB doesn't overlap target AABB
185
- if (sweptMaxX <= target.x
186
- || sweptMinX >= target.x + target.width
187
- || sweptMaxY <= target.y
188
- || sweptMinY >= target.y + target.height) {
185
+ if (sweptMaxX <= target.x || sweptMinX >= target.x + target.width || sweptMaxY <= target.y || sweptMinY >= target.y + target.height) {
189
186
  continue;
190
187
  }
191
188
  const hit = sweepRectangle(moving, deltaX, deltaY, target);
@@ -214,10 +211,10 @@ function sweepCircleAgainst(moving, deltaX, deltaY, targets) {
214
211
  let earliest = null;
215
212
  for (const target of targets) {
216
213
  // Broad-phase: skip if swept AABB doesn't overlap target's AABB
217
- if (sweptMaxX <= target.x - target.radius
218
- || sweptMinX >= target.x + target.radius
219
- || sweptMaxY <= target.y - target.radius
220
- || sweptMinY >= target.y + target.radius) {
214
+ if (sweptMaxX <= target.x - target.radius ||
215
+ sweptMinX >= target.x + target.radius ||
216
+ sweptMaxY <= target.y - target.radius ||
217
+ sweptMinY >= target.y + target.radius) {
221
218
  continue;
222
219
  }
223
220
  const hit = sweepCircleVsCircle(moving, deltaX, deltaY, target);
@@ -1 +1 @@
1
- {"version":3,"file":"swept-collision.js","sources":["../../../../src/math/swept-collision.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAmBA;AACA;AACA;AAEA;;;;;;;;;;;AAWG;AACG,SAAU,cAAc,CAC1B,MAAiB,EACjB,MAAc,EAAE,MAAc,EAC9B,MAAiB,EAAA;AAEjB,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;AACvC,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;AAExC,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;AACvC,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;;AAGxC,IAAA,IAAI,OAAO,GAAG,CAAC,QAAQ;IACvB,IAAI,MAAM,GAAI,QAAQ;AAEtB,IAAA,IAAI,MAAM,GAAG,CAAC,EAAE;QACZ,OAAO,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;QACtC,MAAM,GAAI,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;IAC1C;AAAO,SAAA,IAAI,MAAM,GAAG,CAAC,EAAE;QACnB,OAAO,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;QACtC,MAAM,GAAI,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;IAC1C;SAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE;;AAEjD,QAAA,OAAO,IAAI;IACf;;AAGA,IAAA,IAAI,OAAO,GAAG,CAAC,QAAQ;IACvB,IAAI,MAAM,GAAI,QAAQ;AAEtB,IAAA,IAAI,MAAM,GAAG,CAAC,EAAE;QACZ,OAAO,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;QACtC,MAAM,GAAI,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;IAC1C;AAAO,SAAA,IAAI,MAAM,GAAG,CAAC,EAAE;QACnB,OAAO,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;QACtC,MAAM,GAAI,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM;IAC1C;SAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE;;AAEjD,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;IACzC,MAAM,KAAK,GAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAG,MAAM,CAAC;;AAGxC,IAAA,IAAI,MAAM,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;AAC3C,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;;;IAIlC,IAAI,OAAO,GAAG,CAAC;IACf,IAAI,OAAO,GAAG,CAAC;AAEf,IAAA,IAAI,MAAM,IAAI,CAAC,EAAE;;AAEb,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;AAC/D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;AAE/D,QAAA,IAAI,QAAQ,GAAG,QAAQ,EAAE;AACrB,YAAA,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC;QACxC;aAAO;AACH,YAAA,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC;QACxC;IACJ;AAAO,SAAA,IAAI,OAAO,GAAG,OAAO,EAAE;;AAE1B,QAAA,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IACjC;SAAO;;AAEH,QAAA,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IACjC;AAEA,IAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AACpD;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;AAcG;AACG,SAAU,sBAAsB,CAClC,MAAkB,EAClB,MAAc,EAAE,MAAc,EAC9B,MAAiB,EAAA;AAEjB,IAAA,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM;;AAGvB,IAAA,MAAM,QAAQ,GAAG,IAAI,SAAS,CAC1B,MAAM,CAAC,CAAC,GAAG,CAAC,EACZ,MAAM,CAAC,CAAC,GAAG,CAAC,EACZ,MAAM,CAAC,KAAK,GAAI,CAAC,GAAG,CAAC,EACrB,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CACxB;;AAGD,IAAA,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzD,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC9D;AAEA;AACA;AACA;AAEA;;;;;;;;AAQG;AACG,SAAU,mBAAmB,CAC/B,MAAkB,EAClB,MAAc,EAAE,MAAc,EAC9B,MAAkB,EAAA;IAElB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;IAExC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;AAC3C,IAAA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;AACzC,IAAA,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;;AAGnC,IAAA,IAAI,CAAC,IAAI,CAAC,EAAE;AACR,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC;AACxC,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC;QAExC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;IAC/D;;AAGA,IAAA,IAAI,CAAC,KAAK,CAAC,EAAE;AACT,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAE9B,IAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACV,QAAA,OAAO,IAAI;IACf;AAEA,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChB,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;;IAGlC,MAAM,OAAO,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;AAErC,IAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AACpD;AAEA;AACA;AACA;AAEA;;;;;;;AAOG;AACG,SAAU,qBAAqB,CACjC,MAAiB,EACjB,MAAc,EAAE,MAAc,EAC9B,OAAiC,EAAA;AAEjC,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,IAAI;IACf;;AAGA,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;AACrF,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvF,IAAI,QAAQ,GAAoB,IAAI;AAEpC,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;;AAE1B,QAAA,IACI,SAAS,IAAI,MAAM,CAAC;AACjB,eAAA,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;eAC/B,SAAS,IAAI,MAAM,CAAC;eACpB,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAC1C;YACE;QACJ;AAEA,QAAA,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAE1D,QAAA,IAAI,GAAG,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC3D,QAAQ,GAAG,GAAG;QAClB;IACJ;AAEA,IAAA,OAAO,QAAQ;AACnB;AAEA;;;;;;AAMG;AACG,SAAU,kBAAkB,CAC9B,MAAkB,EAClB,MAAc,EAAE,MAAc,EAC9B,OAAkC,EAAA;AAElC,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,IAAI;IACf;;IAGA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM;IAEvE,IAAI,QAAQ,GAAoB,IAAI;AAEpC,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;;QAE1B,IACI,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAC5B,eAAA,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAC/B,eAAA,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;eAC/B,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAC1C;YACE;QACJ;AAEA,QAAA,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAE/D,QAAA,IAAI,GAAG,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC3D,QAAQ,GAAG,GAAG;QAClB;IACJ;AAEA,IAAA,OAAO,QAAQ;AACnB;AAEA;AACA;AACA;AAEA;;;;;;;;;;;AAWG;AACG,UAAW,YAAY,CACzB,KAAa,EAAE,KAAa,EAC5B,MAAc,EAAE,MAAc,EAC9B,WAAmB,EAAA;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;AACzC,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;AAE9D,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;AACjC,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;AAEvB,QAAA,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE;IAC7D;AACJ;;;;"}
1
+ {"version":3,"file":"swept-collision.js","sources":["../../../../src/math/swept-collision.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -21,12 +21,13 @@ function triangulate(vertices) {
21
21
  }
22
22
  if (n === 3) {
23
23
  // Return in CCW order; swap if input triangle is CW.
24
- const ax = vertices[0], ay = vertices[1];
25
- const bx = vertices[2], by = vertices[3];
26
- const cx = vertices[4], cy = vertices[5];
27
- return isCcwTriangle(ax, ay, bx, by, cx, cy)
28
- ? new Uint32Array([0, 1, 2])
29
- : new Uint32Array([2, 1, 0]);
24
+ const ax = vertices[0];
25
+ const ay = vertices[1];
26
+ const bx = vertices[2];
27
+ const by = vertices[3];
28
+ const cx = vertices[4];
29
+ const cy = vertices[5];
30
+ return isCcwTriangle(ax, ay, bx, by, cx, cy) ? new Uint32Array([0, 1, 2]) : new Uint32Array([2, 1, 0]);
30
31
  }
31
32
  // Build doubly-linked list of vertex indices.
32
33
  const prev = new Uint32Array(n);
@@ -57,9 +58,12 @@ function triangulate(vertices) {
57
58
  const p = prev[current];
58
59
  const nx = next[current];
59
60
  const v = current;
60
- const ax = vertices[p * 2], ay = vertices[p * 2 + 1];
61
- const bx = vertices[v * 2], by = vertices[v * 2 + 1];
62
- const cx = vertices[nx * 2], cy = vertices[nx * 2 + 1];
61
+ const ax = vertices[p * 2];
62
+ const ay = vertices[p * 2 + 1];
63
+ const bx = vertices[v * 2];
64
+ const by = vertices[v * 2 + 1];
65
+ const cx = vertices[nx * 2];
66
+ const cy = vertices[nx * 2 + 1];
63
67
  if (isCcwTriangle(ax, ay, bx, by, cx, cy) && isEar(vertices, prev, next, p, v, nx)) {
64
68
  // Emit triangle (prev, v, next).
65
69
  out[outIdx++] = p;
@@ -85,9 +89,12 @@ function triangulate(vertices) {
85
89
  if (remaining === 3) {
86
90
  const pa = prev[current];
87
91
  const nc = next[current];
88
- const ax = vertices[pa * 2], ay = vertices[pa * 2 + 1];
89
- const bx = vertices[current * 2], by = vertices[current * 2 + 1];
90
- const cx = vertices[nc * 2], cy = vertices[nc * 2 + 1];
92
+ const ax = vertices[pa * 2];
93
+ const ay = vertices[pa * 2 + 1];
94
+ const bx = vertices[current * 2];
95
+ const by = vertices[current * 2 + 1];
96
+ const cx = vertices[nc * 2];
97
+ const cy = vertices[nc * 2 + 1];
91
98
  if (isCcwTriangle(ax, ay, bx, by, cx, cy)) {
92
99
  out[outIdx++] = pa;
93
100
  out[outIdx++] = current;
@@ -111,7 +118,7 @@ function signedArea(vertices) {
111
118
  const y0 = vertices[i * 2 + 1];
112
119
  const x1 = vertices[j * 2];
113
120
  const y1 = vertices[j * 2 + 1];
114
- area += (x0 * y1) - (x1 * y0);
121
+ area += x0 * y1 - x1 * y0;
115
122
  }
116
123
  return area; // Positive = CCW, negative = CW.
117
124
  }
@@ -120,7 +127,7 @@ function signedArea(vertices) {
120
127
  * Uses the cross product of (b-a) × (c-a); positive = CCW.
121
128
  */
122
129
  function isCcwTriangle(ax, ay, bx, by, cx, cy) {
123
- return ((bx - ax) * (cy - ay) - (by - ay) * (cx - ax)) > 0;
130
+ return (bx - ax) * (cy - ay) - (by - ay) * (cx - ax) > 0;
124
131
  }
125
132
  /**
126
133
  * Returns true if point (px, py) lies strictly inside triangle (a, b, c).
@@ -130,24 +137,27 @@ function pointInTriangle(px, py, ax, ay, bx, by, cx, cy) {
130
137
  const d1 = (px - bx) * (ay - by) - (ax - bx) * (py - by);
131
138
  const d2 = (px - cx) * (by - cy) - (bx - cx) * (py - cy);
132
139
  const d3 = (px - ax) * (cy - ay) - (cx - ax) * (py - ay);
133
- const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0);
134
- const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0);
140
+ const hasNeg = d1 < 0 || d2 < 0 || d3 < 0;
141
+ const hasPos = d1 > 0 || d2 > 0 || d3 > 0;
135
142
  // Strictly inside: all same sign and none are exactly zero (exclude boundary).
136
- return !(hasNeg && hasPos) && (d1 !== 0) && (d2 !== 0) && (d3 !== 0);
143
+ return !(hasNeg && hasPos) && d1 !== 0 && d2 !== 0 && d3 !== 0;
137
144
  }
138
145
  /**
139
- * Returns true if vertex v is an ear: the triangle (prevIdx, v, nextIdx) contains
146
+ * Returns true if vertex v is an ear: the triangle (previousVertexIndex, v, nextVertexIndex) contains
140
147
  * no other polygon vertex strictly inside it.
141
148
  */
142
- function isEar(vertices, prev, next, prevIdx, v, nextIdx) {
143
- const ax = vertices[prevIdx * 2], ay = vertices[prevIdx * 2 + 1];
144
- const bx = vertices[v * 2], by = vertices[v * 2 + 1];
145
- const cx = vertices[nextIdx * 2], cy = vertices[nextIdx * 2 + 1];
149
+ function isEar(vertices, prev, next, previousVertexIndex, v, nextVertexIndex) {
150
+ const ax = vertices[previousVertexIndex * 2];
151
+ const ay = vertices[previousVertexIndex * 2 + 1];
152
+ const bx = vertices[v * 2];
153
+ const by = vertices[v * 2 + 1];
154
+ const cx = vertices[nextVertexIndex * 2];
155
+ const cy = vertices[nextVertexIndex * 2 + 1];
146
156
  // Walk all remaining vertices and check if any lie strictly inside the ear triangle.
147
157
  // Skip the three ear vertices themselves — they can never be "inside" by strict test,
148
158
  // but we exclude them explicitly for clarity and to avoid floating-point edge cases.
149
- let node = next[nextIdx];
150
- while (node !== prevIdx) {
159
+ let node = next[nextVertexIndex];
160
+ while (node !== previousVertexIndex) {
151
161
  if (node !== v) {
152
162
  const px = vertices[node * 2];
153
163
  const py = vertices[node * 2 + 1];