@codexo/exojs 0.11.0 → 0.13.0

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 (832) hide show
  1. package/CHANGELOG.md +307 -0
  2. package/LICENSE +21 -0
  3. package/README.md +59 -23
  4. package/dist/esm/animation/Easing.d.ts +1 -0
  5. package/dist/esm/animation/Easing.d.ts.map +1 -0
  6. package/dist/esm/animation/Tween.d.ts +1 -0
  7. package/dist/esm/animation/Tween.d.ts.map +1 -0
  8. package/dist/esm/animation/TweenManager.d.ts +1 -0
  9. package/dist/esm/animation/TweenManager.d.ts.map +1 -0
  10. package/dist/esm/animation/index.d.ts +1 -0
  11. package/dist/esm/animation/index.d.ts.map +1 -0
  12. package/dist/esm/animation/types.d.ts +1 -0
  13. package/dist/esm/animation/types.d.ts.map +1 -0
  14. package/dist/esm/audio/AbstractMedia.d.ts +5 -4
  15. package/dist/esm/audio/AbstractMedia.d.ts.map +1 -0
  16. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  17. package/dist/esm/audio/AudioAnalyser.d.ts +4 -3
  18. package/dist/esm/audio/AudioAnalyser.d.ts.map +1 -0
  19. package/dist/esm/audio/AudioAnalyser.js +1 -1
  20. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  21. package/dist/esm/audio/AudioBus.d.ts +1 -0
  22. package/dist/esm/audio/AudioBus.d.ts.map +1 -0
  23. package/dist/esm/audio/AudioFilter.d.ts +1 -0
  24. package/dist/esm/audio/AudioFilter.d.ts.map +1 -0
  25. package/dist/esm/audio/AudioListener.d.ts +4 -3
  26. package/dist/esm/audio/AudioListener.d.ts.map +1 -0
  27. package/dist/esm/audio/AudioManager.d.ts +1 -0
  28. package/dist/esm/audio/AudioManager.d.ts.map +1 -0
  29. package/dist/esm/audio/BeatDetector.d.ts +5 -4
  30. package/dist/esm/audio/BeatDetector.d.ts.map +1 -0
  31. package/dist/esm/audio/BeatDetector.js +1 -1
  32. package/dist/esm/audio/BeatDetector.js.map +1 -1
  33. package/dist/esm/audio/Envelope.d.ts +1 -0
  34. package/dist/esm/audio/Envelope.d.ts.map +1 -0
  35. package/dist/esm/audio/Media.d.ts +2 -1
  36. package/dist/esm/audio/Media.d.ts.map +1 -0
  37. package/dist/esm/audio/Music.d.ts +4 -3
  38. package/dist/esm/audio/Music.d.ts.map +1 -0
  39. package/dist/esm/audio/Music.js +1 -1
  40. package/dist/esm/audio/Music.js.map +1 -1
  41. package/dist/esm/audio/OscillatorSound.d.ts +2 -1
  42. package/dist/esm/audio/OscillatorSound.d.ts.map +1 -0
  43. package/dist/esm/audio/Sound.d.ts +5 -4
  44. package/dist/esm/audio/Sound.d.ts.map +1 -0
  45. package/dist/esm/audio/Sound.js +2 -2
  46. package/dist/esm/audio/Sound.js.map +1 -1
  47. package/dist/esm/audio/audio-context.d.ts +2 -1
  48. package/dist/esm/audio/audio-context.d.ts.map +1 -0
  49. package/dist/esm/audio/crossFade.d.ts +1 -0
  50. package/dist/esm/audio/crossFade.d.ts.map +1 -0
  51. package/dist/esm/audio/dsp/fft.d.ts +1 -0
  52. package/dist/esm/audio/dsp/fft.d.ts.map +1 -0
  53. package/dist/esm/audio/dsp/mel.d.ts +1 -0
  54. package/dist/esm/audio/dsp/mel.d.ts.map +1 -0
  55. package/dist/esm/audio/dsp/tempogram.d.ts +1 -0
  56. package/dist/esm/audio/dsp/tempogram.d.ts.map +1 -0
  57. package/dist/esm/audio/filters/ChorusFilter.d.ts +2 -1
  58. package/dist/esm/audio/filters/ChorusFilter.d.ts.map +1 -0
  59. package/dist/esm/audio/filters/CompressorFilter.d.ts +2 -1
  60. package/dist/esm/audio/filters/CompressorFilter.d.ts.map +1 -0
  61. package/dist/esm/audio/filters/DelayFilter.d.ts +2 -1
  62. package/dist/esm/audio/filters/DelayFilter.d.ts.map +1 -0
  63. package/dist/esm/audio/filters/DuckingFilter.d.ts +2 -1
  64. package/dist/esm/audio/filters/DuckingFilter.d.ts.map +1 -0
  65. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  66. package/dist/esm/audio/filters/EqualizerFilter.d.ts +2 -1
  67. package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +1 -0
  68. package/dist/esm/audio/filters/GranularFilter.d.ts +1 -0
  69. package/dist/esm/audio/filters/GranularFilter.d.ts.map +1 -0
  70. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  71. package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -1
  72. package/dist/esm/audio/filters/HighpassFilter.d.ts.map +1 -0
  73. package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -1
  74. package/dist/esm/audio/filters/LowpassFilter.d.ts.map +1 -0
  75. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +1 -0
  76. package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +1 -0
  77. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  78. package/dist/esm/audio/filters/ReverbFilter.d.ts +2 -1
  79. package/dist/esm/audio/filters/ReverbFilter.d.ts.map +1 -0
  80. package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -1
  81. package/dist/esm/audio/filters/VocoderFilter.d.ts.map +1 -0
  82. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  83. package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -1
  84. package/dist/esm/audio/filters/WorkletFilter.d.ts.map +1 -0
  85. package/dist/esm/audio/filters/index.d.ts +1 -0
  86. package/dist/esm/audio/filters/index.d.ts.map +1 -0
  87. package/dist/esm/audio/index.d.ts +2 -1
  88. package/dist/esm/audio/index.d.ts.map +1 -0
  89. package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -0
  90. package/dist/esm/audio/worklet/registerWorklet.d.ts.map +1 -0
  91. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
  92. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +1 -0
  93. package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
  94. package/dist/esm/audio/worklets/granular.worklet.d.ts.map +1 -0
  95. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
  96. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +1 -0
  97. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
  98. package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +1 -0
  99. package/dist/esm/core/Application.d.ts +24 -14
  100. package/dist/esm/core/Application.d.ts.map +1 -0
  101. package/dist/esm/core/Application.js +50 -5
  102. package/dist/esm/core/Application.js.map +1 -1
  103. package/dist/esm/core/Bounds.d.ts +3 -2
  104. package/dist/esm/core/Bounds.d.ts.map +1 -0
  105. package/dist/esm/core/BuildInfo.d.ts +16 -0
  106. package/dist/esm/core/BuildInfo.d.ts.map +1 -0
  107. package/dist/esm/core/BuildInfo.js +8 -0
  108. package/dist/esm/core/BuildInfo.js.map +1 -0
  109. package/dist/esm/core/Clock.d.ts +1 -0
  110. package/dist/esm/core/Clock.d.ts.map +1 -0
  111. package/dist/esm/core/Clock.js +1 -1
  112. package/dist/esm/core/Clock.js.map +1 -1
  113. package/dist/esm/core/Color.d.ts +2 -1
  114. package/dist/esm/core/Color.d.ts.map +1 -0
  115. package/dist/esm/core/Color.js.map +1 -1
  116. package/dist/esm/core/Perf.d.ts +1 -0
  117. package/dist/esm/core/Perf.d.ts.map +1 -0
  118. package/dist/esm/core/Scene.d.ts +7 -6
  119. package/dist/esm/core/Scene.d.ts.map +1 -0
  120. package/dist/esm/core/SceneManager.d.ts +1 -0
  121. package/dist/esm/core/SceneManager.d.ts.map +1 -0
  122. package/dist/esm/core/SceneNode.d.ts +11 -10
  123. package/dist/esm/core/SceneNode.d.ts.map +1 -0
  124. package/dist/esm/core/Signal.d.ts +1 -0
  125. package/dist/esm/core/Signal.d.ts.map +1 -0
  126. package/dist/esm/core/Time.d.ts +2 -1
  127. package/dist/esm/core/Time.d.ts.map +1 -0
  128. package/dist/esm/core/Timer.d.ts +2 -1
  129. package/dist/esm/core/Timer.d.ts.map +1 -0
  130. package/dist/esm/core/Timer.js +1 -1
  131. package/dist/esm/core/Timer.js.map +1 -1
  132. package/dist/esm/core/capabilities.d.ts +1 -0
  133. package/dist/esm/core/capabilities.d.ts.map +1 -0
  134. package/dist/esm/core/dev.d.ts +1 -0
  135. package/dist/esm/core/dev.d.ts.map +1 -0
  136. package/dist/esm/core/dev.js +31 -10
  137. package/dist/esm/core/dev.js.map +1 -1
  138. package/dist/esm/core/index.d.ts +2 -0
  139. package/dist/esm/core/index.d.ts.map +1 -0
  140. package/dist/esm/core/types.d.ts +2 -1
  141. package/dist/esm/core/types.d.ts.map +1 -0
  142. package/dist/esm/core/utils.d.ts +4 -3
  143. package/dist/esm/core/utils.d.ts.map +1 -0
  144. package/dist/esm/core/utils.js +1 -1
  145. package/dist/esm/core/utils.js.map +1 -1
  146. package/dist/esm/debug/BoundingBoxesLayer.d.ts +4 -3
  147. package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -0
  148. package/dist/esm/debug/DebugLayer.d.ts +4 -3
  149. package/dist/esm/debug/DebugLayer.d.ts.map +1 -0
  150. package/dist/esm/debug/DebugOverlay.d.ts +2 -1
  151. package/dist/esm/debug/DebugOverlay.d.ts.map +1 -0
  152. package/dist/esm/debug/HitTestLayer.d.ts +4 -3
  153. package/dist/esm/debug/HitTestLayer.d.ts.map +1 -0
  154. package/dist/esm/debug/PerformanceLayer.d.ts +4 -3
  155. package/dist/esm/debug/PerformanceLayer.d.ts.map +1 -0
  156. package/dist/esm/debug/PointerStackLayer.d.ts +4 -3
  157. package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -0
  158. package/dist/esm/debug/RenderPassInspectorLayer.d.ts +33 -4
  159. package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -0
  160. package/dist/esm/debug/RenderPassInspectorLayer.js +41 -0
  161. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  162. package/dist/esm/debug/index.d.ts +2 -1
  163. package/dist/esm/debug/index.d.ts.map +1 -0
  164. package/dist/esm/extensions/Extension.d.ts +102 -0
  165. package/dist/esm/extensions/Extension.d.ts.map +1 -0
  166. package/dist/esm/extensions/ExtensionRegistry.d.ts +35 -0
  167. package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -0
  168. package/dist/esm/extensions/ExtensionRegistry.js +63 -0
  169. package/dist/esm/extensions/ExtensionRegistry.js.map +1 -0
  170. package/dist/esm/extensions/index.d.ts +3 -0
  171. package/dist/esm/extensions/index.d.ts.map +1 -0
  172. package/dist/esm/extensions/index.js +2 -0
  173. package/dist/esm/extensions/index.js.map +1 -0
  174. package/dist/esm/extensions/materialize.d.ts +16 -0
  175. package/dist/esm/extensions/materialize.d.ts.map +1 -0
  176. package/dist/esm/extensions/materialize.js +61 -0
  177. package/dist/esm/extensions/materialize.js.map +1 -0
  178. package/dist/esm/extensions/snapshot.d.ts +26 -0
  179. package/dist/esm/extensions/snapshot.d.ts.map +1 -0
  180. package/dist/esm/extensions/snapshot.js +78 -0
  181. package/dist/esm/extensions/snapshot.js.map +1 -0
  182. package/dist/esm/extensions/testing.d.ts +7 -0
  183. package/dist/esm/extensions/testing.d.ts.map +1 -0
  184. package/dist/esm/index.d.ts +9 -8
  185. package/dist/esm/index.d.ts.map +1 -0
  186. package/dist/esm/index.js +29 -50
  187. package/dist/esm/index.js.map +1 -1
  188. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +1 -0
  189. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts.map +1 -0
  190. package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -0
  191. package/dist/esm/input/GameCubeGamepadMapping.d.ts.map +1 -0
  192. package/dist/esm/input/Gamepad.d.ts +2 -1
  193. package/dist/esm/input/Gamepad.d.ts.map +1 -0
  194. package/dist/esm/input/Gamepad.js +1 -1
  195. package/dist/esm/input/GamepadAxis.d.ts +1 -0
  196. package/dist/esm/input/GamepadAxis.d.ts.map +1 -0
  197. package/dist/esm/input/GamepadAxis.js +1 -1
  198. package/dist/esm/input/GamepadAxis.js.map +1 -1
  199. package/dist/esm/input/GamepadButton.d.ts +1 -0
  200. package/dist/esm/input/GamepadButton.d.ts.map +1 -0
  201. package/dist/esm/input/GamepadButton.js +1 -1
  202. package/dist/esm/input/GamepadButton.js.map +1 -1
  203. package/dist/esm/input/GamepadDefinitions.d.ts +1 -0
  204. package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -0
  205. package/dist/esm/input/GamepadMapping.d.ts +1 -0
  206. package/dist/esm/input/GamepadMapping.d.ts.map +1 -0
  207. package/dist/esm/input/GamepadPromptLayouts.d.ts +1 -0
  208. package/dist/esm/input/GamepadPromptLayouts.d.ts.map +1 -0
  209. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +1 -0
  210. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts.map +1 -0
  211. package/dist/esm/input/GestureRecognizer.d.ts +3 -2
  212. package/dist/esm/input/GestureRecognizer.d.ts.map +1 -0
  213. package/dist/esm/input/InputBinding.d.ts +3 -2
  214. package/dist/esm/input/InputBinding.d.ts.map +1 -0
  215. package/dist/esm/input/InputManager.d.ts +4 -3
  216. package/dist/esm/input/InputManager.d.ts.map +1 -0
  217. package/dist/esm/input/InputManager.js +1 -1
  218. package/dist/esm/input/InteractionEvent.d.ts +2 -1
  219. package/dist/esm/input/InteractionEvent.d.ts.map +1 -0
  220. package/dist/esm/input/InteractionManager.d.ts +4 -3
  221. package/dist/esm/input/InteractionManager.d.ts.map +1 -0
  222. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +1 -0
  223. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts.map +1 -0
  224. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +1 -0
  225. package/dist/esm/input/JoyConRightGamepadMapping.d.ts.map +1 -0
  226. package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -0
  227. package/dist/esm/input/PlayStationGamepadMapping.d.ts.map +1 -0
  228. package/dist/esm/input/Pointer.d.ts +4 -3
  229. package/dist/esm/input/Pointer.d.ts.map +1 -0
  230. package/dist/esm/input/Pointer.js +1 -1
  231. package/dist/esm/input/Pointer.js.map +1 -1
  232. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -0
  233. package/dist/esm/input/SteamControllerGamepadMapping.d.ts.map +1 -0
  234. package/dist/esm/input/SteamDeckGamepadMapping.d.ts +1 -0
  235. package/dist/esm/input/SteamDeckGamepadMapping.d.ts.map +1 -0
  236. package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -0
  237. package/dist/esm/input/SwitchProGamepadMapping.d.ts.map +1 -0
  238. package/dist/esm/input/XboxGamepadMapping.d.ts +1 -0
  239. package/dist/esm/input/XboxGamepadMapping.d.ts.map +1 -0
  240. package/dist/esm/input/index.d.ts +1 -0
  241. package/dist/esm/input/index.d.ts.map +1 -0
  242. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +2 -1
  243. package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +1 -0
  244. package/dist/esm/input/types.d.ts +1 -0
  245. package/dist/esm/input/types.d.ts.map +1 -0
  246. package/dist/esm/math/AbstractVector.d.ts +2 -1
  247. package/dist/esm/math/AbstractVector.d.ts.map +1 -0
  248. package/dist/esm/math/Circle.d.ts +7 -6
  249. package/dist/esm/math/Circle.d.ts.map +1 -0
  250. package/dist/esm/math/Circle.js.map +1 -1
  251. package/dist/esm/math/CircleLike.d.ts +1 -0
  252. package/dist/esm/math/CircleLike.d.ts.map +1 -0
  253. package/dist/esm/math/Collision.d.ts +3 -2
  254. package/dist/esm/math/Collision.d.ts.map +1 -0
  255. package/dist/esm/math/Ellipse.d.ts +7 -6
  256. package/dist/esm/math/Ellipse.d.ts.map +1 -0
  257. package/dist/esm/math/Ellipse.js.map +1 -1
  258. package/dist/esm/math/EllipseLike.d.ts +1 -0
  259. package/dist/esm/math/EllipseLike.d.ts.map +1 -0
  260. package/dist/esm/math/Flags.d.ts +2 -1
  261. package/dist/esm/math/Flags.d.ts.map +1 -0
  262. package/dist/esm/math/Interval.d.ts +2 -1
  263. package/dist/esm/math/Interval.d.ts.map +1 -0
  264. package/dist/esm/math/Line.d.ts +7 -6
  265. package/dist/esm/math/Line.d.ts.map +1 -0
  266. package/dist/esm/math/Line.js.map +1 -1
  267. package/dist/esm/math/LineLike.d.ts +1 -0
  268. package/dist/esm/math/LineLike.d.ts.map +1 -0
  269. package/dist/esm/math/Matrix.d.ts +2 -1
  270. package/dist/esm/math/Matrix.d.ts.map +1 -0
  271. package/dist/esm/math/Matrix.js.map +1 -1
  272. package/dist/esm/math/ObservableSize.d.ts +1 -0
  273. package/dist/esm/math/ObservableSize.d.ts.map +1 -0
  274. package/dist/esm/math/ObservableVector.d.ts +2 -1
  275. package/dist/esm/math/ObservableVector.d.ts.map +1 -0
  276. package/dist/esm/math/PointLike.d.ts +1 -0
  277. package/dist/esm/math/PointLike.d.ts.map +1 -0
  278. package/dist/esm/math/PolarVector.d.ts +2 -1
  279. package/dist/esm/math/PolarVector.d.ts.map +1 -0
  280. package/dist/esm/math/Polygon.d.ts +7 -6
  281. package/dist/esm/math/Polygon.d.ts.map +1 -0
  282. package/dist/esm/math/Polygon.js.map +1 -1
  283. package/dist/esm/math/PolygonLike.d.ts +2 -1
  284. package/dist/esm/math/PolygonLike.d.ts.map +1 -0
  285. package/dist/esm/math/Quadtree.d.ts +1 -0
  286. package/dist/esm/math/Quadtree.d.ts.map +1 -0
  287. package/dist/esm/math/Random.d.ts +1 -0
  288. package/dist/esm/math/Random.d.ts.map +1 -0
  289. package/dist/esm/math/Rectangle.d.ts +8 -7
  290. package/dist/esm/math/Rectangle.d.ts.map +1 -0
  291. package/dist/esm/math/Rectangle.js.map +1 -1
  292. package/dist/esm/math/RectangleLike.d.ts +1 -0
  293. package/dist/esm/math/RectangleLike.d.ts.map +1 -0
  294. package/dist/esm/math/Segment.d.ts +3 -2
  295. package/dist/esm/math/Segment.d.ts.map +1 -0
  296. package/dist/esm/math/Segment.js.map +1 -1
  297. package/dist/esm/math/ShapeLike.d.ts +3 -2
  298. package/dist/esm/math/ShapeLike.d.ts.map +1 -0
  299. package/dist/esm/math/Size.d.ts +2 -1
  300. package/dist/esm/math/Size.d.ts.map +1 -0
  301. package/dist/esm/math/Vector.d.ts +6 -5
  302. package/dist/esm/math/Vector.d.ts.map +1 -0
  303. package/dist/esm/math/Vector.js +1 -1
  304. package/dist/esm/math/collision-detection.d.ts +8 -7
  305. package/dist/esm/math/collision-detection.d.ts.map +1 -0
  306. package/dist/esm/math/collision-detection.js +1 -1
  307. package/dist/esm/math/collision-detection.js.map +1 -1
  308. package/dist/esm/math/collision-primitives.d.ts +3 -2
  309. package/dist/esm/math/collision-primitives.d.ts.map +1 -0
  310. package/dist/esm/math/geometry.d.ts +1 -0
  311. package/dist/esm/math/geometry.d.ts.map +1 -0
  312. package/dist/esm/math/index.d.ts +1 -0
  313. package/dist/esm/math/index.d.ts.map +1 -0
  314. package/dist/esm/math/swept-collision.d.ts +1 -0
  315. package/dist/esm/math/swept-collision.d.ts.map +1 -0
  316. package/dist/esm/math/triangulate.d.ts +1 -0
  317. package/dist/esm/math/triangulate.d.ts.map +1 -0
  318. package/dist/esm/math/utils.d.ts +2 -1
  319. package/dist/esm/math/utils.d.ts.map +1 -0
  320. package/dist/esm/renderer-sdk.d.ts +27 -0
  321. package/dist/esm/renderer-sdk.d.ts.map +1 -0
  322. package/dist/esm/rendering/BackendRenderPass.d.ts +17 -0
  323. package/dist/esm/rendering/BackendRenderPass.d.ts.map +1 -0
  324. package/dist/esm/rendering/BackendTargetPass.d.ts +38 -0
  325. package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -0
  326. package/dist/esm/rendering/{RenderTargetPass.js → BackendTargetPass.js} +12 -7
  327. package/dist/esm/rendering/BackendTargetPass.js.map +1 -0
  328. package/dist/esm/rendering/CallbackRenderPass.d.ts +38 -14
  329. package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -0
  330. package/dist/esm/rendering/CallbackRenderPass.js +61 -13
  331. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  332. package/dist/esm/rendering/Camera.d.ts +3 -2
  333. package/dist/esm/rendering/Camera.d.ts.map +1 -0
  334. package/dist/esm/rendering/Camera.js.map +1 -1
  335. package/dist/esm/rendering/Container.d.ts +2 -1
  336. package/dist/esm/rendering/Container.d.ts.map +1 -0
  337. package/dist/esm/rendering/Drawable.d.ts +27 -3
  338. package/dist/esm/rendering/Drawable.d.ts.map +1 -0
  339. package/dist/esm/rendering/Drawable.js +35 -1
  340. package/dist/esm/rendering/Drawable.js.map +1 -1
  341. package/dist/esm/rendering/RenderBackend.d.ts +13 -10
  342. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -0
  343. package/dist/esm/rendering/RenderBackendType.d.ts +1 -0
  344. package/dist/esm/rendering/RenderBackendType.d.ts.map +1 -0
  345. package/dist/esm/rendering/RenderNode.d.ts +13 -12
  346. package/dist/esm/rendering/RenderNode.d.ts.map +1 -0
  347. package/dist/esm/rendering/RenderNode.js +2 -2
  348. package/dist/esm/rendering/RenderNode.js.map +1 -1
  349. package/dist/esm/rendering/RenderNodePass.d.ts +38 -0
  350. package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -0
  351. package/dist/esm/rendering/RenderNodePass.js +48 -0
  352. package/dist/esm/rendering/RenderNodePass.js.map +1 -0
  353. package/dist/esm/rendering/RenderPass.d.ts +53 -8
  354. package/dist/esm/rendering/RenderPass.d.ts.map +1 -0
  355. package/dist/esm/rendering/RenderPass.js +48 -0
  356. package/dist/esm/rendering/RenderPass.js.map +1 -0
  357. package/dist/esm/rendering/RenderPipeline.d.ts +61 -0
  358. package/dist/esm/rendering/RenderPipeline.d.ts.map +1 -0
  359. package/dist/esm/rendering/RenderPipeline.js +177 -0
  360. package/dist/esm/rendering/RenderPipeline.js.map +1 -0
  361. package/dist/esm/rendering/RenderStats.d.ts +1 -0
  362. package/dist/esm/rendering/RenderStats.d.ts.map +1 -0
  363. package/dist/esm/rendering/RenderTarget.d.ts +4 -3
  364. package/dist/esm/rendering/RenderTarget.d.ts.map +1 -0
  365. package/dist/esm/rendering/Renderer.d.ts +1 -0
  366. package/dist/esm/rendering/Renderer.d.ts.map +1 -0
  367. package/dist/esm/rendering/RendererRegistry.d.ts +13 -2
  368. package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -0
  369. package/dist/esm/rendering/RendererRegistry.js +60 -7
  370. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  371. package/dist/esm/rendering/RenderingContext.d.ts +7 -6
  372. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -0
  373. package/dist/esm/rendering/RenderingContext.js +5 -5
  374. package/dist/esm/rendering/TransformBuffer.d.ts +3 -2
  375. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -0
  376. package/dist/esm/rendering/View.d.ts +7 -6
  377. package/dist/esm/rendering/View.d.ts.map +1 -0
  378. package/dist/esm/rendering/coreRendererBindings.d.ts +10 -0
  379. package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -0
  380. package/dist/esm/rendering/coreRendererBindings.js +73 -0
  381. package/dist/esm/rendering/coreRendererBindings.js.map +1 -0
  382. package/dist/esm/rendering/filters/BlurFilter.d.ts +3 -2
  383. package/dist/esm/rendering/filters/BlurFilter.d.ts.map +1 -0
  384. package/dist/esm/rendering/filters/BlurFilter.js +2 -2
  385. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  386. package/dist/esm/rendering/filters/ColorFilter.d.ts +4 -3
  387. package/dist/esm/rendering/filters/ColorFilter.d.ts.map +1 -0
  388. package/dist/esm/rendering/filters/ColorFilter.js +2 -2
  389. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  390. package/dist/esm/rendering/filters/Filter.d.ts +3 -2
  391. package/dist/esm/rendering/filters/Filter.d.ts.map +1 -0
  392. package/dist/esm/rendering/filters/LutFilter.d.ts +4 -3
  393. package/dist/esm/rendering/filters/LutFilter.d.ts.map +1 -0
  394. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +4 -3
  395. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts.map +1 -0
  396. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +2 -2
  397. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  398. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +3 -2
  399. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -0
  400. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -3
  401. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  402. package/dist/esm/rendering/geometry/Geometry.d.ts +2 -1
  403. package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -0
  404. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts +1 -0
  405. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts.map +1 -0
  406. package/dist/esm/rendering/geometry/QuadGeometry.d.ts +1 -0
  407. package/dist/esm/rendering/geometry/QuadGeometry.d.ts.map +1 -0
  408. package/dist/esm/rendering/gradient/Gradient.d.ts +5 -4
  409. package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -0
  410. package/dist/esm/rendering/gradient/LinearGradient.d.ts +1 -0
  411. package/dist/esm/rendering/gradient/LinearGradient.d.ts.map +1 -0
  412. package/dist/esm/rendering/gradient/RadialGradient.d.ts +1 -0
  413. package/dist/esm/rendering/gradient/RadialGradient.d.ts.map +1 -0
  414. package/dist/esm/rendering/index.d.ts +100 -84
  415. package/dist/esm/rendering/index.d.ts.map +1 -0
  416. package/dist/esm/rendering/material/Material.d.ts +5 -4
  417. package/dist/esm/rendering/material/Material.d.ts.map +1 -0
  418. package/dist/esm/rendering/material/MaterialKey.d.ts +5 -4
  419. package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -0
  420. package/dist/esm/rendering/material/MeshMaterial.d.ts +1 -0
  421. package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -0
  422. package/dist/esm/rendering/material/ShaderSource.d.ts +1 -0
  423. package/dist/esm/rendering/material/ShaderSource.d.ts.map +1 -0
  424. package/dist/esm/rendering/material/SpriteMaterial.d.ts +1 -0
  425. package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -0
  426. package/dist/esm/rendering/mesh/Mesh.d.ts +6 -5
  427. package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -0
  428. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +8 -7
  429. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts.map +1 -0
  430. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +4 -3
  431. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts.map +1 -0
  432. package/dist/esm/rendering/pass/RenderPassDescriptor.js.map +1 -1
  433. package/dist/esm/rendering/pixelSnap.d.ts +219 -0
  434. package/dist/esm/rendering/pixelSnap.d.ts.map +1 -0
  435. package/dist/esm/rendering/pixelSnap.js +186 -0
  436. package/dist/esm/rendering/pixelSnap.js.map +1 -0
  437. package/dist/esm/rendering/plan/RenderCommand.d.ts +4 -3
  438. package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -0
  439. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts +2 -1
  440. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -0
  441. package/dist/esm/rendering/plan/RenderInstruction.d.ts +1 -0
  442. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -0
  443. package/dist/esm/rendering/plan/RenderPlan.d.ts +4 -3
  444. package/dist/esm/rendering/plan/RenderPlan.d.ts.map +1 -0
  445. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +5 -4
  446. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -0
  447. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts +1 -0
  448. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -0
  449. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +2 -1
  450. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -0
  451. package/dist/esm/rendering/plan/RenderPlanPlayer.js +21 -1
  452. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
  453. package/dist/esm/rendering/plan/RenderScope.d.ts +6 -5
  454. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -0
  455. package/dist/esm/rendering/plan/playRenderTree.d.ts +3 -2
  456. package/dist/esm/rendering/plan/playRenderTree.d.ts.map +1 -0
  457. package/dist/esm/rendering/primitives/Graphics.d.ts +7 -6
  458. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -0
  459. package/dist/esm/rendering/shader/Shader.d.ts +1 -0
  460. package/dist/esm/rendering/shader/Shader.d.ts.map +1 -0
  461. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +1 -0
  462. package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -0
  463. package/dist/esm/rendering/shader/ShaderUniform.d.ts +2 -1
  464. package/dist/esm/rendering/shader/ShaderUniform.d.ts.map +1 -0
  465. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts +1 -0
  466. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts.map +1 -0
  467. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +6 -5
  468. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -0
  469. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts +69 -0
  470. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -0
  471. package/dist/esm/rendering/sprite/NineSliceSprite.js +207 -0
  472. package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -0
  473. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts +120 -0
  474. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -0
  475. package/dist/esm/rendering/sprite/RepeatingSprite.js +279 -0
  476. package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -0
  477. package/dist/esm/rendering/sprite/Sprite.d.ts +21 -7
  478. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -0
  479. package/dist/esm/rendering/sprite/Sprite.js +23 -0
  480. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  481. package/dist/esm/rendering/sprite/Spritesheet.d.ts +3 -2
  482. package/dist/esm/rendering/sprite/Spritesheet.d.ts.map +1 -0
  483. package/dist/esm/rendering/sprite/nineSlice.d.ts +53 -0
  484. package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -0
  485. package/dist/esm/rendering/sprite/nineSlice.js +340 -0
  486. package/dist/esm/rendering/sprite/nineSlice.js.map +1 -0
  487. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts +57 -0
  488. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -0
  489. package/dist/esm/rendering/sprite/repeatingSpritePlan.js +156 -0
  490. package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -0
  491. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +1 -0
  492. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts.map +1 -0
  493. package/dist/esm/rendering/text/AbstractText.d.ts +2 -1
  494. package/dist/esm/rendering/text/AbstractText.d.ts.map +1 -0
  495. package/dist/esm/rendering/text/BitmapText.d.ts +2 -1
  496. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -0
  497. package/dist/esm/rendering/text/BitmapText.js +1 -4
  498. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  499. package/dist/esm/rendering/text/BmFont.d.ts +2 -1
  500. package/dist/esm/rendering/text/BmFont.d.ts.map +1 -0
  501. package/dist/esm/rendering/text/GlyphAtlas.d.ts +3 -2
  502. package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -0
  503. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +1 -0
  504. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -0
  505. package/dist/esm/rendering/text/GlyphSdf.d.ts +1 -0
  506. package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -0
  507. package/dist/esm/rendering/text/GlyphSdf.js +7 -0
  508. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
  509. package/dist/esm/rendering/text/HTMLText.d.ts +2 -1
  510. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -0
  511. package/dist/esm/rendering/text/LayoutOptions.d.ts +1 -0
  512. package/dist/esm/rendering/text/LayoutOptions.d.ts.map +1 -0
  513. package/dist/esm/rendering/text/Text.d.ts +1 -0
  514. package/dist/esm/rendering/text/Text.d.ts.map +1 -0
  515. package/dist/esm/rendering/text/TextLayout.d.ts +1 -0
  516. package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -0
  517. package/dist/esm/rendering/text/TextStyle.d.ts +3 -2
  518. package/dist/esm/rendering/text/TextStyle.d.ts.map +1 -0
  519. package/dist/esm/rendering/text/types.d.ts +1 -0
  520. package/dist/esm/rendering/text/types.d.ts.map +1 -0
  521. package/dist/esm/rendering/texture/DataTexture.d.ts +3 -2
  522. package/dist/esm/rendering/texture/DataTexture.d.ts.map +1 -0
  523. package/dist/esm/rendering/texture/DataTexture.js +1 -1
  524. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  525. package/dist/esm/rendering/texture/RenderTexture.d.ts +4 -3
  526. package/dist/esm/rendering/texture/RenderTexture.d.ts.map +1 -0
  527. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  528. package/dist/esm/rendering/texture/Sampler.d.ts +2 -1
  529. package/dist/esm/rendering/texture/Sampler.d.ts.map +1 -0
  530. package/dist/esm/rendering/texture/Texture.d.ts +4 -3
  531. package/dist/esm/rendering/texture/Texture.d.ts.map +1 -0
  532. package/dist/esm/rendering/texture/TextureRegion.d.ts +100 -0
  533. package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -0
  534. package/dist/esm/rendering/texture/TextureRegion.js +144 -0
  535. package/dist/esm/rendering/texture/TextureRegion.js.map +1 -0
  536. package/dist/esm/rendering/texture/repeat.d.ts +96 -0
  537. package/dist/esm/rendering/texture/repeat.d.ts.map +1 -0
  538. package/dist/esm/rendering/texture/repeat.js +158 -0
  539. package/dist/esm/rendering/texture/repeat.js.map +1 -0
  540. package/dist/esm/rendering/types.d.ts +1 -0
  541. package/dist/esm/rendering/types.d.ts.map +1 -0
  542. package/dist/esm/rendering/utils.d.ts +1 -0
  543. package/dist/esm/rendering/utils.d.ts.map +1 -0
  544. package/dist/esm/rendering/video/Video.d.ts +8 -7
  545. package/dist/esm/rendering/video/Video.d.ts.map +1 -0
  546. package/dist/esm/rendering/video/Video.js.map +1 -1
  547. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -6
  548. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -0
  549. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +1 -1
  550. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +4 -3
  551. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts.map +1 -0
  552. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  553. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +42 -21
  554. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -0
  555. package/dist/esm/rendering/webgl2/WebGl2Backend.js +34 -19
  556. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  557. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +4 -3
  558. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -0
  559. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +1 -1
  560. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +2 -1
  561. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -0
  562. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts +32 -0
  563. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -0
  564. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +308 -0
  565. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -0
  566. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts +10 -9
  567. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts.map +1 -0
  568. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js +1 -1
  569. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js.map +1 -1
  570. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +3 -2
  571. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -0
  572. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts +49 -0
  573. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -0
  574. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +535 -0
  575. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -0
  576. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +2 -1
  577. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -0
  578. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  579. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +1 -0
  580. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts.map +1 -0
  581. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts +2 -1
  582. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -0
  583. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +1 -1
  584. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +11 -1
  585. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -0
  586. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +23 -3
  587. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  588. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts +3 -2
  589. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -0
  590. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +1 -1
  591. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +3 -2
  592. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -0
  593. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +3 -3
  594. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +3 -2
  595. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts.map +1 -0
  596. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +4 -3
  597. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts.map +1 -0
  598. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  599. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +41 -20
  600. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -0
  601. package/dist/esm/rendering/webgpu/WebGpuBackend.js +31 -17
  602. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  603. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +2 -1
  604. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -0
  605. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +4 -3
  606. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -0
  607. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -3
  608. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -0
  609. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +36 -0
  610. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -0
  611. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +358 -0
  612. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -0
  613. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +10 -9
  614. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -0
  615. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +52 -0
  616. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -0
  617. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +556 -0
  618. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -0
  619. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +13 -3
  620. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -0
  621. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +22 -2
  622. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  623. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +4 -3
  624. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -0
  625. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  626. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts +1 -0
  627. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts.map +1 -0
  628. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +3 -2
  629. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -0
  630. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +2 -2
  631. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +7 -5
  632. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -0
  633. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +4 -4
  634. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  635. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -0
  636. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts.map +1 -0
  637. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +1 -0
  638. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -0
  639. package/dist/esm/rendering/webgpu/compute/index.d.ts +1 -0
  640. package/dist/esm/rendering/webgpu/compute/index.d.ts.map +1 -0
  641. package/dist/esm/rendering.d.ts +29 -0
  642. package/dist/esm/rendering.d.ts.map +1 -0
  643. package/dist/esm/rendering.js +22 -0
  644. package/dist/esm/rendering.js.map +1 -0
  645. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -0
  646. package/dist/esm/resources/AbstractAssetFactory.d.ts.map +1 -0
  647. package/dist/esm/resources/Asset.d.ts +1 -0
  648. package/dist/esm/resources/Asset.d.ts.map +1 -0
  649. package/dist/esm/resources/AssetDefinitions.d.ts +9 -8
  650. package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -0
  651. package/dist/esm/resources/AssetFactory.d.ts +1 -0
  652. package/dist/esm/resources/AssetFactory.d.ts.map +1 -0
  653. package/dist/esm/resources/AssetManifest.d.ts +1 -0
  654. package/dist/esm/resources/AssetManifest.d.ts.map +1 -0
  655. package/dist/esm/resources/Assets.d.ts +1 -0
  656. package/dist/esm/resources/Assets.d.ts.map +1 -0
  657. package/dist/esm/resources/CacheFirstStrategy.d.ts +1 -0
  658. package/dist/esm/resources/CacheFirstStrategy.d.ts.map +1 -0
  659. package/dist/esm/resources/CacheStore.d.ts +1 -0
  660. package/dist/esm/resources/CacheStore.d.ts.map +1 -0
  661. package/dist/esm/resources/CacheStrategy.d.ts +1 -0
  662. package/dist/esm/resources/CacheStrategy.d.ts.map +1 -0
  663. package/dist/esm/resources/Database.d.ts +1 -0
  664. package/dist/esm/resources/Database.d.ts.map +1 -0
  665. package/dist/esm/resources/FactoryRegistry.d.ts +1 -0
  666. package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -0
  667. package/dist/esm/resources/IndexedDbDatabase.d.ts +2 -1
  668. package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -0
  669. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  670. package/dist/esm/resources/IndexedDbStore.d.ts +1 -0
  671. package/dist/esm/resources/IndexedDbStore.d.ts.map +1 -0
  672. package/dist/esm/resources/JsonStore.d.ts +1 -0
  673. package/dist/esm/resources/JsonStore.d.ts.map +1 -0
  674. package/dist/esm/resources/Loader.d.ts +67 -9
  675. package/dist/esm/resources/Loader.d.ts.map +1 -0
  676. package/dist/esm/resources/Loader.js +125 -69
  677. package/dist/esm/resources/Loader.js.map +1 -1
  678. package/dist/esm/resources/LoadingQueue.d.ts +2 -1
  679. package/dist/esm/resources/LoadingQueue.d.ts.map +1 -0
  680. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +1 -0
  681. package/dist/esm/resources/NetworkOnlyStrategy.d.ts.map +1 -0
  682. package/dist/esm/resources/coreAssetBindings.d.ts +8 -0
  683. package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -0
  684. package/dist/esm/resources/coreAssetBindings.js +151 -0
  685. package/dist/esm/resources/coreAssetBindings.js.map +1 -0
  686. package/dist/esm/resources/factories/BinaryFactory.d.ts +2 -1
  687. package/dist/esm/resources/factories/BinaryFactory.d.ts.map +1 -0
  688. package/dist/esm/resources/factories/BmFontFactory.d.ts +5 -4
  689. package/dist/esm/resources/factories/BmFontFactory.d.ts.map +1 -0
  690. package/dist/esm/resources/factories/CsvFactory.d.ts +2 -1
  691. package/dist/esm/resources/factories/CsvFactory.d.ts.map +1 -0
  692. package/dist/esm/resources/factories/FontFactory.d.ts +2 -1
  693. package/dist/esm/resources/factories/FontFactory.d.ts.map +1 -0
  694. package/dist/esm/resources/factories/ImageFactory.d.ts +2 -1
  695. package/dist/esm/resources/factories/ImageFactory.d.ts.map +1 -0
  696. package/dist/esm/resources/factories/JsonFactory.d.ts +2 -1
  697. package/dist/esm/resources/factories/JsonFactory.d.ts.map +1 -0
  698. package/dist/esm/resources/factories/MusicFactory.d.ts +4 -3
  699. package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -0
  700. package/dist/esm/resources/factories/SoundFactory.d.ts +4 -3
  701. package/dist/esm/resources/factories/SoundFactory.d.ts.map +1 -0
  702. package/dist/esm/resources/factories/SubtitleFactory.d.ts +2 -1
  703. package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -0
  704. package/dist/esm/resources/factories/SvgFactory.d.ts +2 -1
  705. package/dist/esm/resources/factories/SvgFactory.d.ts.map +1 -0
  706. package/dist/esm/resources/factories/TextFactory.d.ts +2 -1
  707. package/dist/esm/resources/factories/TextFactory.d.ts.map +1 -0
  708. package/dist/esm/resources/factories/TextureFactory.d.ts +4 -3
  709. package/dist/esm/resources/factories/TextureFactory.d.ts.map +1 -0
  710. package/dist/esm/resources/factories/VideoFactory.d.ts +5 -4
  711. package/dist/esm/resources/factories/VideoFactory.d.ts.map +1 -0
  712. package/dist/esm/resources/factories/WasmFactory.d.ts +2 -1
  713. package/dist/esm/resources/factories/WasmFactory.d.ts.map +1 -0
  714. package/dist/esm/resources/factories/XmlFactory.d.ts +2 -1
  715. package/dist/esm/resources/factories/XmlFactory.d.ts.map +1 -0
  716. package/dist/esm/resources/index.d.ts +16 -15
  717. package/dist/esm/resources/index.d.ts.map +1 -0
  718. package/dist/esm/resources/tokens.d.ts +1 -0
  719. package/dist/esm/resources/tokens.d.ts.map +1 -0
  720. package/dist/esm/resources/utils.d.ts +1 -0
  721. package/dist/esm/resources/utils.d.ts.map +1 -0
  722. package/dist/exo.debug.esm.js +949 -0
  723. package/dist/exo.debug.esm.js.map +1 -0
  724. package/dist/exo.esm.js +11087 -10352
  725. package/dist/exo.esm.js.map +1 -1
  726. package/package.json +93 -58
  727. package/dist/esm/particles/ParticleSystem.d.ts +0 -212
  728. package/dist/esm/particles/ParticleSystem.js +0 -573
  729. package/dist/esm/particles/ParticleSystem.js.map +0 -1
  730. package/dist/esm/particles/distributions/BoxArea.d.ts +0 -17
  731. package/dist/esm/particles/distributions/BoxArea.js +0 -48
  732. package/dist/esm/particles/distributions/BoxArea.js.map +0 -1
  733. package/dist/esm/particles/distributions/CircleArea.d.ts +0 -19
  734. package/dist/esm/particles/distributions/CircleArea.js +0 -33
  735. package/dist/esm/particles/distributions/CircleArea.js.map +0 -1
  736. package/dist/esm/particles/distributions/ColorGradient.d.ts +0 -40
  737. package/dist/esm/particles/distributions/ColorGradient.js +0 -72
  738. package/dist/esm/particles/distributions/ColorGradient.js.map +0 -1
  739. package/dist/esm/particles/distributions/ConeDirection.d.ts +0 -28
  740. package/dist/esm/particles/distributions/ConeDirection.js +0 -44
  741. package/dist/esm/particles/distributions/ConeDirection.js.map +0 -1
  742. package/dist/esm/particles/distributions/Constant.d.ts +0 -17
  743. package/dist/esm/particles/distributions/Constant.js +0 -35
  744. package/dist/esm/particles/distributions/Constant.js.map +0 -1
  745. package/dist/esm/particles/distributions/Curve.d.ts +0 -30
  746. package/dist/esm/particles/distributions/Curve.js +0 -53
  747. package/dist/esm/particles/distributions/Curve.js.map +0 -1
  748. package/dist/esm/particles/distributions/Distribution.d.ts +0 -45
  749. package/dist/esm/particles/distributions/LineSegment.d.ts +0 -15
  750. package/dist/esm/particles/distributions/LineSegment.js +0 -27
  751. package/dist/esm/particles/distributions/LineSegment.js.map +0 -1
  752. package/dist/esm/particles/distributions/Range.d.ts +0 -12
  753. package/dist/esm/particles/distributions/Range.js +0 -19
  754. package/dist/esm/particles/distributions/Range.js.map +0 -1
  755. package/dist/esm/particles/distributions/VectorRange.d.ts +0 -20
  756. package/dist/esm/particles/distributions/VectorRange.js +0 -31
  757. package/dist/esm/particles/distributions/VectorRange.js.map +0 -1
  758. package/dist/esm/particles/distributions/index.d.ts +0 -12
  759. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +0 -57
  760. package/dist/esm/particles/gpu/ParticleGpuState.js +0 -535
  761. package/dist/esm/particles/gpu/ParticleGpuState.js.map +0 -1
  762. package/dist/esm/particles/index.d.ts +0 -4
  763. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +0 -24
  764. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +0 -64
  765. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +0 -1
  766. package/dist/esm/particles/modules/ApplyForce.d.ts +0 -20
  767. package/dist/esm/particles/modules/ApplyForce.js +0 -48
  768. package/dist/esm/particles/modules/ApplyForce.js.map +0 -1
  769. package/dist/esm/particles/modules/AttractToPoint.d.ts +0 -27
  770. package/dist/esm/particles/modules/AttractToPoint.js +0 -73
  771. package/dist/esm/particles/modules/AttractToPoint.js.map +0 -1
  772. package/dist/esm/particles/modules/BurstSpawn.d.ts +0 -53
  773. package/dist/esm/particles/modules/BurstSpawn.js +0 -94
  774. package/dist/esm/particles/modules/BurstSpawn.js.map +0 -1
  775. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +0 -22
  776. package/dist/esm/particles/modules/ColorOverLifetime.js +0 -65
  777. package/dist/esm/particles/modules/ColorOverLifetime.js.map +0 -1
  778. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +0 -27
  779. package/dist/esm/particles/modules/ColorOverSpeed.js +0 -86
  780. package/dist/esm/particles/modules/ColorOverSpeed.js.map +0 -1
  781. package/dist/esm/particles/modules/DeathModule.d.ts +0 -24
  782. package/dist/esm/particles/modules/DeathModule.js +0 -25
  783. package/dist/esm/particles/modules/DeathModule.js.map +0 -1
  784. package/dist/esm/particles/modules/Drag.d.ts +0 -20
  785. package/dist/esm/particles/modules/Drag.js +0 -43
  786. package/dist/esm/particles/modules/Drag.js.map +0 -1
  787. package/dist/esm/particles/modules/OrbitalForce.d.ts +0 -28
  788. package/dist/esm/particles/modules/OrbitalForce.js +0 -65
  789. package/dist/esm/particles/modules/OrbitalForce.js.map +0 -1
  790. package/dist/esm/particles/modules/RateSpawn.d.ts +0 -41
  791. package/dist/esm/particles/modules/RateSpawn.js +0 -76
  792. package/dist/esm/particles/modules/RateSpawn.js.map +0 -1
  793. package/dist/esm/particles/modules/RepelFromPoint.d.ts +0 -24
  794. package/dist/esm/particles/modules/RepelFromPoint.js +0 -76
  795. package/dist/esm/particles/modules/RepelFromPoint.js.map +0 -1
  796. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +0 -20
  797. package/dist/esm/particles/modules/RotateOverLifetime.js +0 -41
  798. package/dist/esm/particles/modules/RotateOverLifetime.js.map +0 -1
  799. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +0 -26
  800. package/dist/esm/particles/modules/ScaleOverLifetime.js +0 -59
  801. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +0 -1
  802. package/dist/esm/particles/modules/SpawnModule.d.ts +0 -30
  803. package/dist/esm/particles/modules/SpawnModule.js +0 -31
  804. package/dist/esm/particles/modules/SpawnModule.js.map +0 -1
  805. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +0 -24
  806. package/dist/esm/particles/modules/SpawnOnDeath.js +0 -47
  807. package/dist/esm/particles/modules/SpawnOnDeath.js.map +0 -1
  808. package/dist/esm/particles/modules/Turbulence.d.ts +0 -30
  809. package/dist/esm/particles/modules/Turbulence.js +0 -122
  810. package/dist/esm/particles/modules/Turbulence.js.map +0 -1
  811. package/dist/esm/particles/modules/UpdateModule.d.ts +0 -95
  812. package/dist/esm/particles/modules/UpdateModule.js +0 -66
  813. package/dist/esm/particles/modules/UpdateModule.js.map +0 -1
  814. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +0 -30
  815. package/dist/esm/particles/modules/VelocityOverLifetime.js +0 -84
  816. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +0 -1
  817. package/dist/esm/particles/modules/WgslContribution.d.ts +0 -81
  818. package/dist/esm/particles/modules/WgslContribution.js +0 -34
  819. package/dist/esm/particles/modules/WgslContribution.js.map +0 -1
  820. package/dist/esm/particles/modules/index.d.ts +0 -22
  821. package/dist/esm/rendering/RenderTargetPass.d.ts +0 -29
  822. package/dist/esm/rendering/RenderTargetPass.js.map +0 -1
  823. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +0 -45
  824. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +0 -330
  825. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +0 -1
  826. package/dist/esm/rendering/webgl2/glsl/particle.frag.js +0 -4
  827. package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +0 -1
  828. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +0 -4
  829. package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +0 -1
  830. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +0 -48
  831. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +0 -556
  832. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +0 -1
@@ -1,19 +0,0 @@
1
- import { Vector } from '@/math/Vector';
2
- import type { Distribution } from './Distribution';
3
- /**
4
- * Random point on or inside a circle of radius `radius`, centred at
5
- * `(centerX, centerY)`. With `mode: 'edge'` the result lies exactly on the
6
- * circumference; with `mode: 'volume'` (default) it lies anywhere in the
7
- * disk, with uniform area density (sqrt-of-random-radius distribution).
8
- *
9
- * Use as a spawn-position distribution for circular emitters.
10
- */
11
- export declare class CircleArea implements Distribution<Vector> {
12
- centerX: number;
13
- centerY: number;
14
- radius: number;
15
- mode: 'volume' | 'edge';
16
- private readonly _scratch;
17
- constructor(centerX: number, centerY: number, radius: number, mode?: 'volume' | 'edge');
18
- sample(out?: Vector): Vector;
19
- }
@@ -1,33 +0,0 @@
1
- import { Vector } from '../../math/Vector.js';
2
-
3
- const tau = Math.PI * 2;
4
- /**
5
- * Random point on or inside a circle of radius `radius`, centred at
6
- * `(centerX, centerY)`. With `mode: 'edge'` the result lies exactly on the
7
- * circumference; with `mode: 'volume'` (default) it lies anywhere in the
8
- * disk, with uniform area density (sqrt-of-random-radius distribution).
9
- *
10
- * Use as a spawn-position distribution for circular emitters.
11
- */
12
- class CircleArea {
13
- centerX;
14
- centerY;
15
- radius;
16
- mode;
17
- _scratch = new Vector();
18
- constructor(centerX, centerY, radius, mode = 'volume') {
19
- this.centerX = centerX;
20
- this.centerY = centerY;
21
- this.radius = radius;
22
- this.mode = mode;
23
- }
24
- sample(out = this._scratch) {
25
- const angle = Math.random() * tau;
26
- const r = this.mode === 'edge' ? this.radius : this.radius * Math.sqrt(Math.random());
27
- out.set(this.centerX + Math.cos(angle) * r, this.centerY + Math.sin(angle) * r);
28
- return out;
29
- }
30
- }
31
-
32
- export { CircleArea };
33
- //# sourceMappingURL=CircleArea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CircleArea.js","sources":["../../../../../src/particles/distributions/CircleArea.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;AAEvB;;;;;;;AAOG;MACU,UAAU,CAAA;AAIZ,IAAA,OAAA;AACA,IAAA,OAAA;AACA,IAAA,MAAA;AACA,IAAA,IAAA;AANQ,IAAA,QAAQ,GAAG,IAAI,MAAM,EAAE;AAExC,IAAA,WAAA,CACS,OAAe,EACf,OAAe,EACf,MAAc,EACd,OAA0B,QAAQ,EAAA;QAHlC,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,IAAI,GAAJ,IAAI;IACV;AAEI,IAAA,MAAM,CAAC,GAAA,GAAc,IAAI,CAAC,QAAQ,EAAA;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;AACjC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAErF,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE/E,QAAA,OAAO,GAAG;IACZ;AACD;;;;"}
@@ -1,40 +0,0 @@
1
- import { Color } from '@/core/Color';
2
- import type { LifetimeFunction } from './Distribution';
3
- /** A keyframe in a {@link ColorGradient}: color at lifetime ratio `t` in `[0, 1]`. */
4
- export interface ColorGradientKey {
5
- t: number;
6
- color: Color;
7
- }
8
- /**
9
- * Piecewise-linear color gradient sampled by lifetime ratio `t` in `[0, 1]`.
10
- * Keyframes are stored sorted by `t`; sampling outside the range returns
11
- * the nearest endpoint color. Like {@link Curve}, the last accessed segment
12
- * is cached so monotonically advancing `t` is O(1) amortised.
13
- *
14
- * Two output paths:
15
- * - {@link evaluate} — writes into a `Color` instance (own scratch by default).
16
- * - {@link evaluateRgba} — returns the packed `0xAABBGGRR` u32 directly,
17
- * skipping the Color object. Use this in tight per-particle inner loops
18
- * that write into a `Uint32Array` instance buffer.
19
- *
20
- * @example
21
- * const fire = new ColorGradient([
22
- * { t: 0, color: new Color(1, 1, 1, 1) }, // white
23
- * { t: 0.3, color: new Color(1, 0.7, 0.1, 1) }, // orange
24
- * { t: 0.7, color: new Color(0.4, 0.1, 0, 0.6) },
25
- * { t: 1, color: new Color(0, 0, 0, 0) }, // transparent black
26
- * ]);
27
- */
28
- export declare class ColorGradient implements LifetimeFunction<Color> {
29
- private readonly _keys;
30
- private readonly _scratch;
31
- private _lastSegment;
32
- constructor(keys: readonly ColorGradientKey[]);
33
- evaluate(t: number, out?: Color): Color;
34
- /**
35
- * Returns the gradient sample at `t` packed into a single 32-bit RGBA
36
- * integer (`0xAABBGGRR`). Avoids the {@link Color} object on the hot
37
- * path; suitable for direct write into a `Uint32Array` instance buffer.
38
- */
39
- evaluateRgba(t: number): number;
40
- }
@@ -1,72 +0,0 @@
1
- import { Color } from '../../core/Color.js';
2
-
3
- const compareT = (a, b) => a.t - b.t;
4
- /**
5
- * Piecewise-linear color gradient sampled by lifetime ratio `t` in `[0, 1]`.
6
- * Keyframes are stored sorted by `t`; sampling outside the range returns
7
- * the nearest endpoint color. Like {@link Curve}, the last accessed segment
8
- * is cached so monotonically advancing `t` is O(1) amortised.
9
- *
10
- * Two output paths:
11
- * - {@link evaluate} — writes into a `Color` instance (own scratch by default).
12
- * - {@link evaluateRgba} — returns the packed `0xAABBGGRR` u32 directly,
13
- * skipping the Color object. Use this in tight per-particle inner loops
14
- * that write into a `Uint32Array` instance buffer.
15
- *
16
- * @example
17
- * const fire = new ColorGradient([
18
- * { t: 0, color: new Color(1, 1, 1, 1) }, // white
19
- * { t: 0.3, color: new Color(1, 0.7, 0.1, 1) }, // orange
20
- * { t: 0.7, color: new Color(0.4, 0.1, 0, 0.6) },
21
- * { t: 1, color: new Color(0, 0, 0, 0) }, // transparent black
22
- * ]);
23
- */
24
- class ColorGradient {
25
- _keys;
26
- _scratch = new Color();
27
- _lastSegment = 0;
28
- constructor(keys) {
29
- if (keys.length === 0) {
30
- throw new Error('ColorGradient requires at least one keyframe.');
31
- }
32
- this._keys = [...keys].map(k => ({ t: k.t, color: k.color.clone() })).sort(compareT);
33
- }
34
- evaluate(t, out = this._scratch) {
35
- const keys = this._keys;
36
- const last = keys.length - 1;
37
- if (t <= keys[0].t) {
38
- out.copy(keys[0].color);
39
- return out;
40
- }
41
- if (t >= keys[last].t) {
42
- out.copy(keys[last].color);
43
- return out;
44
- }
45
- let segment = this._lastSegment;
46
- if (t < keys[segment].t) {
47
- segment = 0;
48
- }
49
- while (segment < last && t > keys[segment + 1].t) {
50
- segment++;
51
- }
52
- this._lastSegment = segment;
53
- const a = keys[segment].color;
54
- const b = keys[segment + 1].color;
55
- const ka = keys[segment].t;
56
- const kb = keys[segment + 1].t;
57
- const ratio = (t - ka) / (kb - ka);
58
- out.set(a.r + (b.r - a.r) * ratio, a.g + (b.g - a.g) * ratio, a.b + (b.b - a.b) * ratio, a.a + (b.a - a.a) * ratio);
59
- return out;
60
- }
61
- /**
62
- * Returns the gradient sample at `t` packed into a single 32-bit RGBA
63
- * integer (`0xAABBGGRR`). Avoids the {@link Color} object on the hot
64
- * path; suitable for direct write into a `Uint32Array` instance buffer.
65
- */
66
- evaluateRgba(t) {
67
- return this.evaluate(t, this._scratch).toRgba();
68
- }
69
- }
70
-
71
- export { ColorGradient };
72
- //# sourceMappingURL=ColorGradient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColorGradient.js","sources":["../../../../../src/particles/distributions/ColorGradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAUA,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,CAAmB,KAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;AAmBG;MACU,aAAa,CAAA;AACP,IAAA,KAAK;AACL,IAAA,QAAQ,GAAG,IAAI,KAAK,EAAE;IAC/B,YAAY,GAAG,CAAC;AAExB,IAAA,WAAA,CAAmB,IAAiC,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;AAEA,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtF;AAEO,IAAA,QAAQ,CAAC,CAAS,EAAE,GAAA,GAAa,IAAI,CAAC,QAAQ,EAAA;AACnD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;AACvB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAE5B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAEvB,YAAA,OAAO,GAAG;QACZ;QAEA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;AAE1B,YAAA,OAAO,GAAG;QACZ;AAEA,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY;QAE/B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO,GAAG,CAAC;QACb;AAEA,QAAA,OAAO,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAChD,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO;QAE3B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9B,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAElC,QAAA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AAEnH,QAAA,OAAO,GAAG;IACZ;AAEA;;;;AAIG;AACI,IAAA,YAAY,CAAC,CAAS,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;IACjD;AACD;;;;"}
@@ -1,28 +0,0 @@
1
- import { Vector } from '@/math/Vector';
2
- import type { Distribution } from './Distribution';
3
- /**
4
- * Random unit vector inside a cone, scaled by a speed magnitude.
5
- *
6
- * The cone is centred on `directionAngle` (in radians, 0 = +X, π/2 = +Y for
7
- * screen-down coordinates) and spans `±halfAngle` radians around it. Speed
8
- * is sampled uniformly in `[minSpeed, maxSpeed]`.
9
- *
10
- * Use for emission cones, explosions, fountain spread — anywhere the
11
- * direction has a preferred axis with bounded variance.
12
- *
13
- * @example
14
- * // Upward fountain with ±15° spread, 200-300 px/s:
15
- * const up = new ConeDirection(-Math.PI / 2, Math.PI / 12, 200, 300);
16
- * up.sample(particle.velocity);
17
- */
18
- export declare class ConeDirection implements Distribution<Vector> {
19
- directionAngle: number;
20
- halfAngle: number;
21
- minSpeed: number;
22
- maxSpeed: number;
23
- private readonly _scratch;
24
- constructor(directionAngle: number, halfAngle: number, minSpeed: number, maxSpeed: number);
25
- sample(out?: Vector): Vector;
26
- /** Convenience: omnidirectional emission (full circle, 0..2π). */
27
- static omni(minSpeed: number, maxSpeed: number): ConeDirection;
28
- }
@@ -1,44 +0,0 @@
1
- import { Vector } from '../../math/Vector.js';
2
-
3
- const tau = Math.PI * 2;
4
- /**
5
- * Random unit vector inside a cone, scaled by a speed magnitude.
6
- *
7
- * The cone is centred on `directionAngle` (in radians, 0 = +X, π/2 = +Y for
8
- * screen-down coordinates) and spans `±halfAngle` radians around it. Speed
9
- * is sampled uniformly in `[minSpeed, maxSpeed]`.
10
- *
11
- * Use for emission cones, explosions, fountain spread — anywhere the
12
- * direction has a preferred axis with bounded variance.
13
- *
14
- * @example
15
- * // Upward fountain with ±15° spread, 200-300 px/s:
16
- * const up = new ConeDirection(-Math.PI / 2, Math.PI / 12, 200, 300);
17
- * up.sample(particle.velocity);
18
- */
19
- class ConeDirection {
20
- directionAngle;
21
- halfAngle;
22
- minSpeed;
23
- maxSpeed;
24
- _scratch = new Vector();
25
- constructor(directionAngle, halfAngle, minSpeed, maxSpeed) {
26
- this.directionAngle = directionAngle;
27
- this.halfAngle = halfAngle;
28
- this.minSpeed = minSpeed;
29
- this.maxSpeed = maxSpeed;
30
- }
31
- sample(out = this._scratch) {
32
- const angle = this.directionAngle + (Math.random() * 2 - 1) * this.halfAngle;
33
- const speed = this.minSpeed + Math.random() * (this.maxSpeed - this.minSpeed);
34
- out.set(Math.cos(angle) * speed, Math.sin(angle) * speed);
35
- return out;
36
- }
37
- /** Convenience: omnidirectional emission (full circle, 0..2π). */
38
- static omni(minSpeed, maxSpeed) {
39
- return new ConeDirection(0, tau / 2, minSpeed, maxSpeed);
40
- }
41
- }
42
-
43
- export { ConeDirection };
44
- //# sourceMappingURL=ConeDirection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConeDirection.js","sources":["../../../../../src/particles/distributions/ConeDirection.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;AAEvB;;;;;;;;;;;;;;AAcG;MACU,aAAa,CAAA;AAIf,IAAA,cAAA;AACA,IAAA,SAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;AANQ,IAAA,QAAQ,GAAG,IAAI,MAAM,EAAE;AAExC,IAAA,WAAA,CACS,cAAsB,EACtB,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAAA;QAHhB,IAAA,CAAA,cAAc,GAAd,cAAc;QACd,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACd;AAEI,IAAA,MAAM,CAAC,GAAA,GAAc,IAAI,CAAC,QAAQ,EAAA;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE7E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAEzD,QAAA,OAAO,GAAG;IACZ;;AAGO,IAAA,OAAO,IAAI,CAAC,QAAgB,EAAE,QAAgB,EAAA;AACnD,QAAA,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC1D;AACD;;;;"}
@@ -1,17 +0,0 @@
1
- import type { Distribution, LifetimeFunction } from './Distribution';
2
- /**
3
- * Distribution that always returns the same value. Implements both
4
- * {@link Distribution} and {@link LifetimeFunction} so it can stand in
5
- * wherever a randomized or time-parameterised value is expected.
6
- *
7
- * For mutable types (Vector, Color, ...) the constant value is copied into
8
- * `out` if provided, otherwise the constructor's value is returned directly.
9
- * Mutating that returned reference mutates the distribution's source.
10
- */
11
- export declare class Constant<T> implements Distribution<T>, LifetimeFunction<T> {
12
- value: T;
13
- constructor(value: T);
14
- sample(out?: T): T;
15
- evaluate(_t: number, out?: T): T;
16
- private _copyOrReturn;
17
- }
@@ -1,35 +0,0 @@
1
- /**
2
- * Distribution that always returns the same value. Implements both
3
- * {@link Distribution} and {@link LifetimeFunction} so it can stand in
4
- * wherever a randomized or time-parameterised value is expected.
5
- *
6
- * For mutable types (Vector, Color, ...) the constant value is copied into
7
- * `out` if provided, otherwise the constructor's value is returned directly.
8
- * Mutating that returned reference mutates the distribution's source.
9
- */
10
- class Constant {
11
- value;
12
- constructor(value) {
13
- this.value = value;
14
- }
15
- sample(out) {
16
- return this._copyOrReturn(out);
17
- }
18
- evaluate(_t, out) {
19
- return this._copyOrReturn(out);
20
- }
21
- _copyOrReturn(out) {
22
- if (out === undefined || out === null) {
23
- return this.value;
24
- }
25
- const target = out;
26
- if (typeof target.copy === 'function') {
27
- target.copy(this.value);
28
- return out;
29
- }
30
- return this.value;
31
- }
32
- }
33
-
34
- export { Constant };
35
- //# sourceMappingURL=Constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Constant.js","sources":["../../../../../src/particles/distributions/Constant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;AAQG;MACU,QAAQ,CAAA;AACO,IAAA,KAAA;AAA1B,IAAA,WAAA,CAA0B,KAAQ,EAAA;QAAR,IAAA,CAAA,KAAK,GAAL,KAAK;IAAM;AAE9B,IAAA,MAAM,CAAC,GAAO,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;IAChC;IAEO,QAAQ,CAAC,EAAU,EAAE,GAAO,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;IAChC;AAEQ,IAAA,aAAa,CAAC,GAAO,EAAA;QAC3B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC,KAAK;QACnB;QAEA,MAAM,MAAM,GAAG,GAAqC;AAEpD,QAAA,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;AACrC,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAEvB,YAAA,OAAO,GAAG;QACZ;QAEA,OAAO,IAAI,CAAC,KAAK;IACnB;AACD;;;;"}
@@ -1,30 +0,0 @@
1
- import type { LifetimeFunction } from './Distribution';
2
- /** A keyframe in a {@link Curve}: value `v` at lifetime ratio `t` in `[0, 1]`. */
3
- export interface CurveKey {
4
- t: number;
5
- v: number;
6
- }
7
- /**
8
- * Piecewise-linear keyframe curve sampled by lifetime ratio `t` in `[0, 1]`.
9
- *
10
- * Keyframes are stored sorted by `t` and clamped at the endpoints — sampling
11
- * outside the keyframe range returns the nearest endpoint value. The
12
- * implementation tracks the last accessed segment so monotonically advancing
13
- * `t` (the typical case for per-particle lifetime sampling) costs O(1)
14
- * amortized per call instead of O(log n).
15
- *
16
- * @example
17
- * // Scale pulses up then down over lifetime:
18
- * const sizeCurve = new Curve([
19
- * { t: 0, v: 0.2 },
20
- * { t: 0.4, v: 1.5 },
21
- * { t: 1, v: 0.0 },
22
- * ]);
23
- * scale.x = scale.y = sizeCurve.evaluate(particle.elapsedRatio);
24
- */
25
- export declare class Curve implements LifetimeFunction<number> {
26
- private readonly _keys;
27
- private _lastSegment;
28
- constructor(keys: readonly CurveKey[]);
29
- evaluate(t: number): number;
30
- }
@@ -1,53 +0,0 @@
1
- const compareT = (a, b) => a.t - b.t;
2
- /**
3
- * Piecewise-linear keyframe curve sampled by lifetime ratio `t` in `[0, 1]`.
4
- *
5
- * Keyframes are stored sorted by `t` and clamped at the endpoints — sampling
6
- * outside the keyframe range returns the nearest endpoint value. The
7
- * implementation tracks the last accessed segment so monotonically advancing
8
- * `t` (the typical case for per-particle lifetime sampling) costs O(1)
9
- * amortized per call instead of O(log n).
10
- *
11
- * @example
12
- * // Scale pulses up then down over lifetime:
13
- * const sizeCurve = new Curve([
14
- * { t: 0, v: 0.2 },
15
- * { t: 0.4, v: 1.5 },
16
- * { t: 1, v: 0.0 },
17
- * ]);
18
- * scale.x = scale.y = sizeCurve.evaluate(particle.elapsedRatio);
19
- */
20
- class Curve {
21
- _keys;
22
- _lastSegment = 0;
23
- constructor(keys) {
24
- if (keys.length === 0) {
25
- throw new Error('Curve requires at least one keyframe.');
26
- }
27
- this._keys = [...keys].sort(compareT);
28
- }
29
- evaluate(t) {
30
- const keys = this._keys;
31
- const last = keys.length - 1;
32
- if (t <= keys[0].t)
33
- return keys[0].v;
34
- if (t >= keys[last].t)
35
- return keys[last].v;
36
- // Cache-friendly forward search: most callers sweep t monotonically.
37
- let segment = this._lastSegment;
38
- if (t < keys[segment].t) {
39
- segment = 0;
40
- }
41
- while (segment < last && t > keys[segment + 1].t) {
42
- segment++;
43
- }
44
- this._lastSegment = segment;
45
- const a = keys[segment];
46
- const b = keys[segment + 1];
47
- const ratio = (t - a.t) / (b.t - a.t);
48
- return a.v + (b.v - a.v) * ratio;
49
- }
50
- }
51
-
52
- export { Curve };
53
- //# sourceMappingURL=Curve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Curve.js","sources":["../../../../../src/particles/distributions/Curve.ts"],"sourcesContent":[null],"names":[],"mappings":"AAQA,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,CAAW,KAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;AAiBG;MACU,KAAK,CAAA;AACC,IAAA,KAAK;IACd,YAAY,GAAG,CAAC;AAExB,IAAA,WAAA,CAAmB,IAAyB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;QAC1D;AAEA,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvC;AAEO,IAAA,QAAQ,CAAC,CAAS,EAAA;AACvB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;AACvB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAE5B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;AAG1C,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY;QAE/B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO,GAAG,CAAC;QACb;AAEA,QAAA,OAAO,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAChD,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO;AAE3B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAC3B,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAErC,QAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK;IAClC;AACD;;;;"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Value distribution sampled at particle spawn time. Each `sample()` call
3
- * may return a different value — used to randomize spawn properties
4
- * (lifetime, position, velocity, scale, tint, ...) without per-particle
5
- * subclassing.
6
- *
7
- * Implementations come in two flavours:
8
- *
9
- * - **Stateless / scalar** (e.g. {@link Constant}, {@link Range}) just
10
- * return a `T` directly.
11
- * - **Mutable-target** (Vector / Color distributions) accept an optional
12
- * `out` parameter and write into it in place. Pass your own scratch
13
- * instance to avoid per-spawn heap allocations; omit it to use the
14
- * distribution's internal scratch (only valid until the next call).
15
- *
16
- * @example
17
- * const lifetime = new Range(0.5, 1.5); // seconds, uniform
18
- * const velocity = new VectorRange(-50, 50, -200, -100);
19
- * const tint = new ColorGradient([
20
- * { t: 0, color: Color.white },
21
- * { t: 0.7, color: Color.yellow },
22
- * { t: 1, color: Color.transparent },
23
- * ]);
24
- *
25
- * for (let i = 0; i < count; i++) {
26
- * particle.totalLifetime = lifetime.sample();
27
- * velocity.sample(particle.velocity);
28
- * // tint is applied per-frame by ColorOverLifetime, not at spawn.
29
- * }
30
- */
31
- export interface Distribution<T> {
32
- sample(out?: T): T;
33
- }
34
- /**
35
- * Lifetime-parameterised function that produces a deterministic `T` for a
36
- * given lifetime ratio `t` in `[0, 1]`. Used by per-frame update modules
37
- * that interpolate over particle lifetime — `ColorOverLifetime` (ColorGradient),
38
- * `ScaleOverLifetime` (Curve), etc.
39
- *
40
- * Mutable-target rule: same as {@link Distribution} — pass your own scratch
41
- * via `out` for hot loops, omit for one-off calls.
42
- */
43
- export interface LifetimeFunction<T> {
44
- evaluate(t: number, out?: T): T;
45
- }
@@ -1,15 +0,0 @@
1
- import { Vector } from '@/math/Vector';
2
- import type { Distribution } from './Distribution';
3
- /**
4
- * Random point on a line segment between `(x0, y0)` and `(x1, y1)`. Uniform
5
- * parameter distribution: `t = Math.random()` then `lerp(start, end, t)`.
6
- */
7
- export declare class LineSegment implements Distribution<Vector> {
8
- x0: number;
9
- y0: number;
10
- x1: number;
11
- y1: number;
12
- private readonly _scratch;
13
- constructor(x0: number, y0: number, x1: number, y1: number);
14
- sample(out?: Vector): Vector;
15
- }
@@ -1,27 +0,0 @@
1
- import { Vector } from '../../math/Vector.js';
2
-
3
- /**
4
- * Random point on a line segment between `(x0, y0)` and `(x1, y1)`. Uniform
5
- * parameter distribution: `t = Math.random()` then `lerp(start, end, t)`.
6
- */
7
- class LineSegment {
8
- x0;
9
- y0;
10
- x1;
11
- y1;
12
- _scratch = new Vector();
13
- constructor(x0, y0, x1, y1) {
14
- this.x0 = x0;
15
- this.y0 = y0;
16
- this.x1 = x1;
17
- this.y1 = y1;
18
- }
19
- sample(out = this._scratch) {
20
- const t = Math.random();
21
- out.set(this.x0 + (this.x1 - this.x0) * t, this.y0 + (this.y1 - this.y0) * t);
22
- return out;
23
- }
24
- }
25
-
26
- export { LineSegment };
27
- //# sourceMappingURL=LineSegment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LineSegment.js","sources":["../../../../../src/particles/distributions/LineSegment.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;AAGG;MACU,WAAW,CAAA;AAIb,IAAA,EAAA;AACA,IAAA,EAAA;AACA,IAAA,EAAA;AACA,IAAA,EAAA;AANQ,IAAA,QAAQ,GAAG,IAAI,MAAM,EAAE;AAExC,IAAA,WAAA,CACS,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EAAA;QAHV,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,EAAE,GAAF,EAAE;IACR;AAEI,IAAA,MAAM,CAAC,GAAA,GAAc,IAAI,CAAC,QAAQ,EAAA;AACvC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AAEvB,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAE7E,QAAA,OAAO,GAAG;IACZ;AACD;;;;"}
@@ -1,12 +0,0 @@
1
- import type { Distribution } from './Distribution';
2
- /**
3
- * Uniform random number in `[min, max]`. Each `sample()` returns a fresh
4
- * roll; the bounds are inclusive on both ends (modulo the rounding bias
5
- * inherent to `Math.random()`).
6
- */
7
- export declare class Range implements Distribution<number> {
8
- min: number;
9
- max: number;
10
- constructor(min: number, max: number);
11
- sample(): number;
12
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Uniform random number in `[min, max]`. Each `sample()` returns a fresh
3
- * roll; the bounds are inclusive on both ends (modulo the rounding bias
4
- * inherent to `Math.random()`).
5
- */
6
- class Range {
7
- min;
8
- max;
9
- constructor(min, max) {
10
- this.min = min;
11
- this.max = max;
12
- }
13
- sample() {
14
- return this.min + Math.random() * (this.max - this.min);
15
- }
16
- }
17
-
18
- export { Range };
19
- //# sourceMappingURL=Range.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Range.js","sources":["../../../../../src/particles/distributions/Range.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;AAIG;MACU,KAAK,CAAA;AAEP,IAAA,GAAA;AACA,IAAA,GAAA;IAFT,WAAA,CACS,GAAW,EACX,GAAW,EAAA;QADX,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,GAAG,GAAH,GAAG;IACT;IAEI,MAAM,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACzD;AACD;;;;"}
@@ -1,20 +0,0 @@
1
- import { Vector } from '@/math/Vector';
2
- import type { Distribution } from './Distribution';
3
- /**
4
- * Uniform random vector with each axis sampled independently in its own
5
- * `[min, max]` range. Each `sample()` writes into the provided `out` Vector
6
- * (or an internal scratch instance when `out` is omitted).
7
- *
8
- * @example
9
- * const knockback = new VectorRange(-300, 300, -800, -200); // any X, upward Y
10
- * knockback.sample(particle.velocity); // writes into existing instance, no alloc
11
- */
12
- export declare class VectorRange implements Distribution<Vector> {
13
- minX: number;
14
- maxX: number;
15
- minY: number;
16
- maxY: number;
17
- private readonly _scratch;
18
- constructor(minX: number, maxX: number, minY: number, maxY: number);
19
- sample(out?: Vector): Vector;
20
- }
@@ -1,31 +0,0 @@
1
- import { Vector } from '../../math/Vector.js';
2
-
3
- /**
4
- * Uniform random vector with each axis sampled independently in its own
5
- * `[min, max]` range. Each `sample()` writes into the provided `out` Vector
6
- * (or an internal scratch instance when `out` is omitted).
7
- *
8
- * @example
9
- * const knockback = new VectorRange(-300, 300, -800, -200); // any X, upward Y
10
- * knockback.sample(particle.velocity); // writes into existing instance, no alloc
11
- */
12
- class VectorRange {
13
- minX;
14
- maxX;
15
- minY;
16
- maxY;
17
- _scratch = new Vector();
18
- constructor(minX, maxX, minY, maxY) {
19
- this.minX = minX;
20
- this.maxX = maxX;
21
- this.minY = minY;
22
- this.maxY = maxY;
23
- }
24
- sample(out = this._scratch) {
25
- out.set(this.minX + Math.random() * (this.maxX - this.minX), this.minY + Math.random() * (this.maxY - this.minY));
26
- return out;
27
- }
28
- }
29
-
30
- export { VectorRange };
31
- //# sourceMappingURL=VectorRange.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VectorRange.js","sources":["../../../../../src/particles/distributions/VectorRange.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;AAQG;MACU,WAAW,CAAA;AAIb,IAAA,IAAA;AACA,IAAA,IAAA;AACA,IAAA,IAAA;AACA,IAAA,IAAA;AANQ,IAAA,QAAQ,GAAG,IAAI,MAAM,EAAE;AAExC,IAAA,WAAA,CACS,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EAAA;QAHZ,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,IAAI,GAAJ,IAAI;IACV;AAEI,IAAA,MAAM,CAAC,GAAA,GAAc,IAAI,CAAC,QAAQ,EAAA;AACvC,QAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAEjH,QAAA,OAAO,GAAG;IACZ;AACD;;;;"}
@@ -1,12 +0,0 @@
1
- export { BoxArea } from './BoxArea';
2
- export { CircleArea } from './CircleArea';
3
- export type { ColorGradientKey } from './ColorGradient';
4
- export { ColorGradient } from './ColorGradient';
5
- export { ConeDirection } from './ConeDirection';
6
- export { Constant } from './Constant';
7
- export type { CurveKey } from './Curve';
8
- export { Curve } from './Curve';
9
- export type { Distribution, LifetimeFunction } from './Distribution';
10
- export { LineSegment } from './LineSegment';
11
- export { Range } from './Range';
12
- export { VectorRange } from './VectorRange';