@codexo/exojs 0.7.11 → 0.7.13

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 (492) hide show
  1. package/CHANGELOG.md +442 -0
  2. package/dist/esm/animation/Tween.d.ts +60 -1
  3. package/dist/esm/animation/Tween.js +60 -1
  4. package/dist/esm/animation/Tween.js.map +1 -1
  5. package/dist/esm/animation/TweenManager.d.ts +10 -0
  6. package/dist/esm/animation/TweenManager.js +10 -0
  7. package/dist/esm/animation/TweenManager.js.map +1 -1
  8. package/dist/esm/animation/types.d.ts +15 -0
  9. package/dist/esm/animation/types.js +6 -0
  10. package/dist/esm/animation/types.js.map +1 -1
  11. package/dist/esm/audio/AbstractMedia.d.ts +11 -0
  12. package/dist/esm/audio/AbstractMedia.js +10 -0
  13. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  14. package/dist/esm/audio/AudioAnalyser.d.ts +21 -0
  15. package/dist/esm/audio/AudioAnalyser.js +16 -0
  16. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  17. package/dist/esm/audio/AudioBus.d.ts +37 -0
  18. package/dist/esm/audio/AudioBus.js +36 -0
  19. package/dist/esm/audio/AudioBus.js.map +1 -1
  20. package/dist/esm/audio/AudioFilter.d.ts +7 -0
  21. package/dist/esm/audio/AudioFilter.js +6 -0
  22. package/dist/esm/audio/AudioFilter.js.map +1 -1
  23. package/dist/esm/audio/AudioListener.d.ts +19 -0
  24. package/dist/esm/audio/AudioListener.js +11 -0
  25. package/dist/esm/audio/AudioListener.js.map +1 -1
  26. package/dist/esm/audio/AudioManager.d.ts +37 -0
  27. package/dist/esm/audio/AudioManager.js +37 -0
  28. package/dist/esm/audio/AudioManager.js.map +1 -1
  29. package/dist/esm/audio/BeatDetector.d.ts +21 -0
  30. package/dist/esm/audio/BeatDetector.js +21 -0
  31. package/dist/esm/audio/BeatDetector.js.map +1 -1
  32. package/dist/esm/audio/Media.d.ts +11 -0
  33. package/dist/esm/audio/Music.d.ts +12 -0
  34. package/dist/esm/audio/Music.js +12 -0
  35. package/dist/esm/audio/Music.js.map +1 -1
  36. package/dist/esm/audio/Sound.d.ts +25 -0
  37. package/dist/esm/audio/Sound.js +18 -0
  38. package/dist/esm/audio/Sound.js.map +1 -1
  39. package/dist/esm/audio/audio-context.d.ts +48 -0
  40. package/dist/esm/audio/audio-context.js +48 -5
  41. package/dist/esm/audio/audio-context.js.map +1 -1
  42. package/dist/esm/audio/filters/ChorusFilter.d.ts +5 -0
  43. package/dist/esm/audio/filters/ChorusFilter.js +4 -0
  44. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  45. package/dist/esm/audio/filters/CompressorFilter.d.ts +12 -0
  46. package/dist/esm/audio/filters/CompressorFilter.js +11 -0
  47. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  48. package/dist/esm/audio/filters/DelayFilter.d.ts +11 -0
  49. package/dist/esm/audio/filters/DelayFilter.js +10 -0
  50. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  51. package/dist/esm/audio/filters/DuckingFilter.d.ts +13 -0
  52. package/dist/esm/audio/filters/DuckingFilter.js +12 -0
  53. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  54. package/dist/esm/audio/filters/EqualizerFilter.d.ts +20 -0
  55. package/dist/esm/audio/filters/EqualizerFilter.js +40 -0
  56. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  57. package/dist/esm/audio/filters/GranularFilter.d.ts +6 -0
  58. package/dist/esm/audio/filters/GranularFilter.js +6 -0
  59. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  60. package/dist/esm/audio/filters/HighpassFilter.d.ts +10 -0
  61. package/dist/esm/audio/filters/HighpassFilter.js +9 -0
  62. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  63. package/dist/esm/audio/filters/LowpassFilter.d.ts +10 -0
  64. package/dist/esm/audio/filters/LowpassFilter.js +9 -0
  65. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  66. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +2 -0
  67. package/dist/esm/audio/filters/PitchShiftFilter.js +2 -0
  68. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  69. package/dist/esm/audio/filters/ReverbFilter.d.ts +12 -0
  70. package/dist/esm/audio/filters/ReverbFilter.js +11 -0
  71. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  72. package/dist/esm/audio/filters/VocoderFilter.d.ts +11 -0
  73. package/dist/esm/audio/filters/VocoderFilter.js +11 -0
  74. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  75. package/dist/esm/audio/filters/WorkletFilter.d.ts +6 -1
  76. package/dist/esm/audio/filters/WorkletFilter.js +6 -1
  77. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  78. package/dist/esm/core/Application.d.ts +66 -1
  79. package/dist/esm/core/Application.js +68 -6
  80. package/dist/esm/core/Application.js.map +1 -1
  81. package/dist/esm/core/Bounds.d.ts +23 -0
  82. package/dist/esm/core/Bounds.js +23 -0
  83. package/dist/esm/core/Bounds.js.map +1 -1
  84. package/dist/esm/core/Clock.d.ts +21 -0
  85. package/dist/esm/core/Clock.js +21 -0
  86. package/dist/esm/core/Clock.js.map +1 -1
  87. package/dist/esm/core/Color.d.ts +35 -0
  88. package/dist/esm/core/Color.js +35 -0
  89. package/dist/esm/core/Color.js.map +1 -1
  90. package/dist/esm/core/Scene.d.ts +76 -0
  91. package/dist/esm/core/Scene.js +83 -0
  92. package/dist/esm/core/Scene.js.map +1 -1
  93. package/dist/esm/core/SceneManager.d.ts +62 -0
  94. package/dist/esm/core/SceneManager.js +51 -2
  95. package/dist/esm/core/SceneManager.js.map +1 -1
  96. package/dist/esm/core/SceneNode.d.ts +31 -0
  97. package/dist/esm/core/SceneNode.js +31 -0
  98. package/dist/esm/core/SceneNode.js.map +1 -1
  99. package/dist/esm/core/Signal.d.ts +44 -0
  100. package/dist/esm/core/Signal.js +39 -0
  101. package/dist/esm/core/Signal.js.map +1 -1
  102. package/dist/esm/core/Time.d.ts +21 -0
  103. package/dist/esm/core/Time.js +21 -0
  104. package/dist/esm/core/Time.js.map +1 -1
  105. package/dist/esm/core/Timer.d.ts +7 -0
  106. package/dist/esm/core/Timer.js +7 -0
  107. package/dist/esm/core/Timer.js.map +1 -1
  108. package/dist/esm/core/capabilities.d.ts +12 -0
  109. package/dist/esm/core/capabilities.js +12 -0
  110. package/dist/esm/core/capabilities.js.map +1 -1
  111. package/dist/esm/core/types.d.ts +37 -0
  112. package/dist/esm/core/utils.d.ts +48 -0
  113. package/dist/esm/core/utils.js +48 -0
  114. package/dist/esm/core/utils.js.map +1 -1
  115. package/dist/esm/debug/BoundingBoxesLayer.d.ts +8 -0
  116. package/dist/esm/debug/BoundingBoxesLayer.js +8 -0
  117. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  118. package/dist/esm/debug/DebugLayer.d.ts +16 -3
  119. package/dist/esm/debug/DebugLayer.js +11 -3
  120. package/dist/esm/debug/DebugLayer.js.map +1 -1
  121. package/dist/esm/debug/DebugOverlay.d.ts +11 -0
  122. package/dist/esm/debug/DebugOverlay.js +8 -2
  123. package/dist/esm/debug/DebugOverlay.js.map +1 -1
  124. package/dist/esm/debug/HitTestLayer.d.ts +9 -0
  125. package/dist/esm/debug/HitTestLayer.js +9 -0
  126. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  127. package/dist/esm/debug/PerformanceLayer.d.ts +17 -1
  128. package/dist/esm/debug/PerformanceLayer.js +18 -0
  129. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  130. package/dist/esm/debug/PointerStackLayer.d.ts +8 -0
  131. package/dist/esm/debug/PointerStackLayer.js +11 -3
  132. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  133. package/dist/esm/index.js +6 -5
  134. package/dist/esm/index.js.map +1 -1
  135. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +7 -0
  136. package/dist/esm/input/ArcadeStickGamepadMapping.js +25 -19
  137. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -1
  138. package/dist/esm/input/GameCubeGamepadMapping.d.ts +9 -0
  139. package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
  140. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -1
  141. package/dist/esm/input/Gamepad.d.ts +181 -31
  142. package/dist/esm/input/Gamepad.js +307 -108
  143. package/dist/esm/input/Gamepad.js.map +1 -1
  144. package/dist/esm/input/GamepadAxis.d.ts +120 -0
  145. package/dist/esm/input/GamepadAxis.js +106 -0
  146. package/dist/esm/input/GamepadAxis.js.map +1 -0
  147. package/dist/esm/input/GamepadButton.d.ts +110 -0
  148. package/dist/esm/input/GamepadButton.js +99 -0
  149. package/dist/esm/input/GamepadButton.js.map +1 -0
  150. package/dist/esm/input/GamepadDefinitions.d.ts +64 -1
  151. package/dist/esm/input/GamepadDefinitions.js +44 -1
  152. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  153. package/dist/esm/input/GamepadMapping.d.ts +42 -8
  154. package/dist/esm/input/GamepadMapping.js +46 -5
  155. package/dist/esm/input/GamepadMapping.js.map +1 -1
  156. package/dist/esm/input/GamepadPromptLayouts.d.ts +35 -2
  157. package/dist/esm/input/GamepadPromptLayouts.js +43 -18
  158. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -1
  159. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +13 -0
  160. package/dist/esm/input/GenericDualAnalogGamepadMapping.js +62 -43
  161. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -1
  162. package/dist/esm/input/GestureRecognizer.d.ts +11 -2
  163. package/dist/esm/input/GestureRecognizer.js +11 -2
  164. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  165. package/dist/esm/input/InputBinding.d.ts +74 -0
  166. package/dist/esm/input/InputBinding.js +100 -0
  167. package/dist/esm/input/InputBinding.js.map +1 -0
  168. package/dist/esm/input/InputManager.d.ts +100 -21
  169. package/dist/esm/input/InputManager.js +248 -90
  170. package/dist/esm/input/InputManager.js.map +1 -1
  171. package/dist/esm/input/InteractionEvent.d.ts +13 -0
  172. package/dist/esm/input/InteractionEvent.js +8 -0
  173. package/dist/esm/input/InteractionEvent.js.map +1 -1
  174. package/dist/esm/input/InteractionManager.d.ts +34 -5
  175. package/dist/esm/input/InteractionManager.js +46 -17
  176. package/dist/esm/input/InteractionManager.js.map +1 -1
  177. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +17 -3
  178. package/dist/esm/input/JoyConLeftGamepadMapping.js +42 -3
  179. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -1
  180. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +17 -3
  181. package/dist/esm/input/JoyConRightGamepadMapping.js +38 -3
  182. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -1
  183. package/dist/esm/input/PlayStationGamepadMapping.d.ts +8 -0
  184. package/dist/esm/input/PlayStationGamepadMapping.js +8 -0
  185. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -1
  186. package/dist/esm/input/Pointer.d.ts +106 -71
  187. package/dist/esm/input/Pointer.js +93 -71
  188. package/dist/esm/input/Pointer.js.map +1 -1
  189. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +8 -0
  190. package/dist/esm/input/SteamControllerGamepadMapping.js +8 -0
  191. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -1
  192. package/dist/esm/input/SteamDeckGamepadMapping.d.ts +18 -0
  193. package/dist/esm/input/SteamDeckGamepadMapping.js +76 -0
  194. package/dist/esm/input/SteamDeckGamepadMapping.js.map +1 -0
  195. package/dist/esm/input/SwitchProGamepadMapping.d.ts +9 -0
  196. package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
  197. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -1
  198. package/dist/esm/input/XboxGamepadMapping.d.ts +8 -0
  199. package/dist/esm/input/XboxGamepadMapping.js +8 -0
  200. package/dist/esm/input/XboxGamepadMapping.js.map +1 -1
  201. package/dist/esm/input/index.d.ts +7 -4
  202. package/dist/esm/input/types.d.ts +17 -73
  203. package/dist/esm/input/types.js +18 -77
  204. package/dist/esm/input/types.js.map +1 -1
  205. package/dist/esm/math/AbstractVector.d.ts +83 -0
  206. package/dist/esm/math/AbstractVector.js +83 -0
  207. package/dist/esm/math/AbstractVector.js.map +1 -1
  208. package/dist/esm/math/Circle.d.ts +32 -0
  209. package/dist/esm/math/Circle.js +34 -2
  210. package/dist/esm/math/Circle.js.map +1 -1
  211. package/dist/esm/math/CircleLike.d.ts +1 -0
  212. package/dist/esm/math/Collision.d.ts +39 -0
  213. package/dist/esm/math/Collision.js +5 -0
  214. package/dist/esm/math/Collision.js.map +1 -1
  215. package/dist/esm/math/Ellipse.d.ts +11 -0
  216. package/dist/esm/math/Ellipse.js +18 -2
  217. package/dist/esm/math/Ellipse.js.map +1 -1
  218. package/dist/esm/math/EllipseLike.d.ts +3 -0
  219. package/dist/esm/math/Flags.d.ts +31 -0
  220. package/dist/esm/math/Flags.js +31 -0
  221. package/dist/esm/math/Flags.js.map +1 -1
  222. package/dist/esm/math/Interval.d.ts +15 -0
  223. package/dist/esm/math/Interval.js +15 -0
  224. package/dist/esm/math/Interval.js.map +1 -1
  225. package/dist/esm/math/Line.d.ts +17 -1
  226. package/dist/esm/math/Line.js +17 -1
  227. package/dist/esm/math/Line.js.map +1 -1
  228. package/dist/esm/math/LineLike.d.ts +1 -0
  229. package/dist/esm/math/Matrix.d.ts +44 -3
  230. package/dist/esm/math/Matrix.js +44 -3
  231. package/dist/esm/math/Matrix.js.map +1 -1
  232. package/dist/esm/math/ObservableSize.d.ts +7 -0
  233. package/dist/esm/math/ObservableSize.js +7 -0
  234. package/dist/esm/math/ObservableSize.js.map +1 -1
  235. package/dist/esm/math/ObservableVector.d.ts +9 -0
  236. package/dist/esm/math/ObservableVector.js +9 -0
  237. package/dist/esm/math/ObservableVector.js.map +1 -1
  238. package/dist/esm/math/PointLike.d.ts +1 -0
  239. package/dist/esm/math/PolarVector.d.ts +15 -0
  240. package/dist/esm/math/PolarVector.js +16 -1
  241. package/dist/esm/math/PolarVector.js.map +1 -1
  242. package/dist/esm/math/Polygon.d.ts +20 -0
  243. package/dist/esm/math/Polygon.js +20 -0
  244. package/dist/esm/math/Polygon.js.map +1 -1
  245. package/dist/esm/math/PolygonLike.d.ts +4 -0
  246. package/dist/esm/math/Quadtree.d.ts +40 -3
  247. package/dist/esm/math/Quadtree.js +39 -3
  248. package/dist/esm/math/Quadtree.js.map +1 -1
  249. package/dist/esm/math/Random.d.ts +25 -0
  250. package/dist/esm/math/Random.js +25 -0
  251. package/dist/esm/math/Random.js.map +1 -1
  252. package/dist/esm/math/Rectangle.d.ts +15 -0
  253. package/dist/esm/math/Rectangle.js +17 -2
  254. package/dist/esm/math/Rectangle.js.map +1 -1
  255. package/dist/esm/math/RectangleLike.d.ts +1 -0
  256. package/dist/esm/math/Segment.d.ts +7 -0
  257. package/dist/esm/math/Segment.js +7 -0
  258. package/dist/esm/math/Segment.js.map +1 -1
  259. package/dist/esm/math/ShapeLike.d.ts +6 -0
  260. package/dist/esm/math/Size.d.ts +9 -0
  261. package/dist/esm/math/Size.js +9 -0
  262. package/dist/esm/math/Size.js.map +1 -1
  263. package/dist/esm/math/Vector.d.ts +16 -0
  264. package/dist/esm/math/Vector.js +16 -0
  265. package/dist/esm/math/Vector.js.map +1 -1
  266. package/dist/esm/math/collision-detection.d.ts +47 -1
  267. package/dist/esm/math/collision-detection.js +228 -17
  268. package/dist/esm/math/collision-detection.js.map +1 -1
  269. package/dist/esm/math/collision-primitives.d.ts +23 -0
  270. package/dist/esm/math/collision-primitives.js +23 -0
  271. package/dist/esm/math/collision-primitives.js.map +1 -1
  272. package/dist/esm/math/geometry.d.ts +42 -0
  273. package/dist/esm/math/geometry.js +37 -0
  274. package/dist/esm/math/geometry.js.map +1 -1
  275. package/dist/esm/math/utils.d.ts +41 -0
  276. package/dist/esm/math/utils.js +41 -0
  277. package/dist/esm/math/utils.js.map +1 -1
  278. package/dist/esm/particles/Particle.d.ts +37 -0
  279. package/dist/esm/particles/Particle.js +37 -0
  280. package/dist/esm/particles/Particle.js.map +1 -1
  281. package/dist/esm/particles/ParticleProperties.d.ts +15 -0
  282. package/dist/esm/particles/ParticleSystem.d.ts +69 -0
  283. package/dist/esm/particles/ParticleSystem.js +69 -0
  284. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  285. package/dist/esm/particles/affectors/ColorAffector.d.ts +13 -0
  286. package/dist/esm/particles/affectors/ColorAffector.js +13 -0
  287. package/dist/esm/particles/affectors/ColorAffector.js.map +1 -1
  288. package/dist/esm/particles/affectors/ForceAffector.d.ts +11 -0
  289. package/dist/esm/particles/affectors/ForceAffector.js +11 -0
  290. package/dist/esm/particles/affectors/ForceAffector.js.map +1 -1
  291. package/dist/esm/particles/affectors/ParticleAffector.d.ts +13 -0
  292. package/dist/esm/particles/affectors/ScaleAffector.d.ts +10 -0
  293. package/dist/esm/particles/affectors/ScaleAffector.js +10 -0
  294. package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -1
  295. package/dist/esm/particles/affectors/TorqueAffector.d.ts +11 -0
  296. package/dist/esm/particles/affectors/TorqueAffector.js +11 -0
  297. package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -1
  298. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +13 -0
  299. package/dist/esm/particles/emitters/ParticleOptions.d.ts +16 -0
  300. package/dist/esm/particles/emitters/ParticleOptions.js +16 -0
  301. package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -1
  302. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +23 -0
  303. package/dist/esm/particles/emitters/UniversalEmitter.js +23 -0
  304. package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -1
  305. package/dist/esm/rendering/CallbackRenderPass.d.ts +12 -0
  306. package/dist/esm/rendering/CallbackRenderPass.js +12 -0
  307. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  308. package/dist/esm/rendering/Container.d.ts +43 -0
  309. package/dist/esm/rendering/Container.js +43 -0
  310. package/dist/esm/rendering/Container.js.map +1 -1
  311. package/dist/esm/rendering/Drawable.d.ts +22 -0
  312. package/dist/esm/rendering/Drawable.js +22 -0
  313. package/dist/esm/rendering/Drawable.js.map +1 -1
  314. package/dist/esm/rendering/RenderBackend.d.ts +13 -0
  315. package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
  316. package/dist/esm/rendering/RenderBackendType.js +4 -0
  317. package/dist/esm/rendering/RenderBackendType.js.map +1 -1
  318. package/dist/esm/rendering/RenderNode.d.ts +18 -0
  319. package/dist/esm/rendering/RenderNode.js +18 -0
  320. package/dist/esm/rendering/RenderNode.js.map +1 -1
  321. package/dist/esm/rendering/RenderPass.d.ts +8 -0
  322. package/dist/esm/rendering/RenderStats.d.ts +19 -0
  323. package/dist/esm/rendering/RenderStats.js +7 -0
  324. package/dist/esm/rendering/RenderStats.js.map +1 -1
  325. package/dist/esm/rendering/RenderTarget.d.ts +17 -0
  326. package/dist/esm/rendering/RenderTarget.js +17 -0
  327. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  328. package/dist/esm/rendering/RenderTargetPass.d.ts +11 -0
  329. package/dist/esm/rendering/RenderTargetPass.js +7 -0
  330. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  331. package/dist/esm/rendering/Renderer.d.ts +15 -0
  332. package/dist/esm/rendering/RendererRegistry.d.ts +7 -0
  333. package/dist/esm/rendering/RendererRegistry.js +7 -0
  334. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  335. package/dist/esm/rendering/View.d.ts +67 -2
  336. package/dist/esm/rendering/View.js +57 -0
  337. package/dist/esm/rendering/View.js.map +1 -1
  338. package/dist/esm/rendering/filters/BlurFilter.d.ts +9 -0
  339. package/dist/esm/rendering/filters/BlurFilter.js +8 -0
  340. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  341. package/dist/esm/rendering/filters/ColorFilter.d.ts +7 -0
  342. package/dist/esm/rendering/filters/ColorFilter.js +7 -0
  343. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  344. package/dist/esm/rendering/filters/Filter.d.ts +23 -0
  345. package/dist/esm/rendering/filters/Filter.js +20 -0
  346. package/dist/esm/rendering/filters/Filter.js.map +1 -1
  347. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +5 -0
  348. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +5 -0
  349. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  350. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +5 -0
  351. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -0
  352. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  353. package/dist/esm/rendering/mesh/Mesh.d.ts +2 -0
  354. package/dist/esm/rendering/mesh/Mesh.js +2 -0
  355. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  356. package/dist/esm/rendering/primitives/Graphics.d.ts +34 -0
  357. package/dist/esm/rendering/primitives/Graphics.js +34 -0
  358. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  359. package/dist/esm/rendering/shader/Shader.d.ts +36 -0
  360. package/dist/esm/rendering/shader/Shader.js +26 -0
  361. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  362. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +13 -0
  363. package/dist/esm/rendering/shader/ShaderAttribute.js +13 -0
  364. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  365. package/dist/esm/rendering/shader/ShaderUniform.d.ts +27 -0
  366. package/dist/esm/rendering/shader/ShaderUniform.js +28 -1
  367. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  368. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +38 -0
  369. package/dist/esm/rendering/sprite/AnimatedSprite.js +36 -0
  370. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  371. package/dist/esm/rendering/sprite/Sprite.d.ts +56 -0
  372. package/dist/esm/rendering/sprite/Sprite.js +56 -0
  373. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  374. package/dist/esm/rendering/sprite/Spritesheet.d.ts +25 -0
  375. package/dist/esm/rendering/sprite/Spritesheet.js +20 -0
  376. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -1
  377. package/dist/esm/rendering/text/Text.d.ts +2 -0
  378. package/dist/esm/rendering/text/Text.js +2 -0
  379. package/dist/esm/rendering/text/Text.js.map +1 -1
  380. package/dist/esm/rendering/text/TextStyle.d.ts +29 -0
  381. package/dist/esm/rendering/text/TextStyle.js +24 -0
  382. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  383. package/dist/esm/rendering/text/types.d.ts +1 -0
  384. package/dist/esm/rendering/texture/RenderTexture.d.ts +16 -0
  385. package/dist/esm/rendering/texture/RenderTexture.js +16 -0
  386. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  387. package/dist/esm/rendering/texture/Sampler.d.ts +23 -0
  388. package/dist/esm/rendering/texture/Sampler.js +13 -0
  389. package/dist/esm/rendering/texture/Sampler.js.map +1 -1
  390. package/dist/esm/rendering/texture/Texture.d.ts +30 -0
  391. package/dist/esm/rendering/texture/Texture.js +30 -0
  392. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  393. package/dist/esm/rendering/types.d.ts +29 -0
  394. package/dist/esm/rendering/types.js +29 -0
  395. package/dist/esm/rendering/types.js.map +1 -1
  396. package/dist/esm/rendering/utils.d.ts +20 -0
  397. package/dist/esm/rendering/utils.js +10 -0
  398. package/dist/esm/rendering/utils.js.map +1 -1
  399. package/dist/esm/rendering/video/Video.d.ts +35 -1
  400. package/dist/esm/rendering/video/Video.js +36 -2
  401. package/dist/esm/rendering/video/Video.js.map +1 -1
  402. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -0
  403. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +7 -0
  404. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  405. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +13 -0
  406. package/dist/esm/rendering/webgl2/WebGl2Backend.js +13 -0
  407. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  408. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +8 -0
  409. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +8 -0
  410. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  411. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +35 -0
  412. package/dist/esm/rendering/webgpu/WebGpuBackend.js +135 -5
  413. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  414. package/dist/esm/resources/AbstractAssetFactory.d.ts +20 -0
  415. package/dist/esm/resources/AbstractAssetFactory.js +20 -0
  416. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -1
  417. package/dist/esm/resources/AssetFactory.d.ts +26 -0
  418. package/dist/esm/resources/AssetManifest.d.ts +45 -0
  419. package/dist/esm/resources/AssetManifest.js +25 -0
  420. package/dist/esm/resources/AssetManifest.js.map +1 -1
  421. package/dist/esm/resources/CacheFirstStrategy.d.ts +15 -0
  422. package/dist/esm/resources/CacheFirstStrategy.js +19 -4
  423. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -1
  424. package/dist/esm/resources/CacheStore.d.ts +23 -0
  425. package/dist/esm/resources/CacheStrategy.d.ts +28 -0
  426. package/dist/esm/resources/Database.d.ts +45 -0
  427. package/dist/esm/resources/FactoryRegistry.d.ts +28 -0
  428. package/dist/esm/resources/FactoryRegistry.js +24 -0
  429. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  430. package/dist/esm/resources/IndexedDbDatabase.d.ts +22 -1
  431. package/dist/esm/resources/IndexedDbDatabase.js +21 -0
  432. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  433. package/dist/esm/resources/IndexedDbStore.d.ts +20 -0
  434. package/dist/esm/resources/IndexedDbStore.js +12 -0
  435. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  436. package/dist/esm/resources/Loader.d.ts +172 -0
  437. package/dist/esm/resources/Loader.js +129 -37
  438. package/dist/esm/resources/Loader.js.map +1 -1
  439. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +11 -0
  440. package/dist/esm/resources/NetworkOnlyStrategy.js +16 -3
  441. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -1
  442. package/dist/esm/resources/factories/BinaryFactory.d.ts +13 -0
  443. package/dist/esm/resources/factories/BinaryFactory.js +13 -0
  444. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -1
  445. package/dist/esm/resources/factories/FontFactory.d.ts +37 -0
  446. package/dist/esm/resources/factories/FontFactory.js +26 -0
  447. package/dist/esm/resources/factories/FontFactory.js.map +1 -1
  448. package/dist/esm/resources/factories/ImageFactory.d.ts +26 -2
  449. package/dist/esm/resources/factories/ImageFactory.js +19 -0
  450. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  451. package/dist/esm/resources/factories/JsonFactory.d.ts +13 -0
  452. package/dist/esm/resources/factories/JsonFactory.js +13 -0
  453. package/dist/esm/resources/factories/JsonFactory.js.map +1 -1
  454. package/dist/esm/resources/factories/MusicFactory.d.ts +36 -0
  455. package/dist/esm/resources/factories/MusicFactory.js +44 -4
  456. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  457. package/dist/esm/resources/factories/SoundFactory.d.ts +29 -0
  458. package/dist/esm/resources/factories/SoundFactory.js +18 -0
  459. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  460. package/dist/esm/resources/factories/SvgFactory.d.ts +19 -0
  461. package/dist/esm/resources/factories/SvgFactory.js +19 -0
  462. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  463. package/dist/esm/resources/factories/TextFactory.d.ts +11 -0
  464. package/dist/esm/resources/factories/TextFactory.js +11 -0
  465. package/dist/esm/resources/factories/TextFactory.js.map +1 -1
  466. package/dist/esm/resources/factories/TextureFactory.d.ts +27 -2
  467. package/dist/esm/resources/factories/TextureFactory.js +20 -0
  468. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  469. package/dist/esm/resources/factories/VideoFactory.d.ts +37 -0
  470. package/dist/esm/resources/factories/VideoFactory.js +48 -5
  471. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  472. package/dist/esm/resources/factories/VttFactory.d.ts +18 -0
  473. package/dist/esm/resources/factories/VttFactory.js +104 -3
  474. package/dist/esm/resources/factories/VttFactory.js.map +1 -1
  475. package/dist/esm/resources/factories/WasmFactory.d.ts +16 -0
  476. package/dist/esm/resources/factories/WasmFactory.js +16 -0
  477. package/dist/esm/resources/factories/WasmFactory.js.map +1 -1
  478. package/dist/esm/resources/utils.d.ts +10 -0
  479. package/dist/esm/resources/utils.js +10 -0
  480. package/dist/esm/resources/utils.js.map +1 -1
  481. package/dist/exo.esm.js +4673 -745
  482. package/dist/exo.esm.js.map +1 -1
  483. package/package.json +8 -8
  484. package/dist/esm/input/GamepadChannels.d.ts +0 -39
  485. package/dist/esm/input/GamepadChannels.js +0 -45
  486. package/dist/esm/input/GamepadChannels.js.map +0 -1
  487. package/dist/esm/input/GamepadControl.d.ts +0 -15
  488. package/dist/esm/input/GamepadControl.js +0 -29
  489. package/dist/esm/input/GamepadControl.js.map +0 -1
  490. package/dist/esm/input/Input.d.ts +0 -28
  491. package/dist/esm/input/Input.js +0 -68
  492. package/dist/esm/input/Input.js.map +0 -1
@@ -18,10 +18,37 @@ import { BinaryFactory } from './factories/BinaryFactory.js';
18
18
  import { WasmFactory } from './factories/WasmFactory.js';
19
19
  import { VttFactory } from './factories/VttFactory.js';
20
20
  import { defineAssetManifest, BundleLoadError } from './AssetManifest.js';
21
+ import { CacheFirstStrategy } from './CacheFirstStrategy.js';
21
22
 
22
23
  // ---------------------------------------------------------------------------
23
24
  // Loader
24
25
  // ---------------------------------------------------------------------------
26
+ /**
27
+ * Central asset management hub for ExoJS applications.
28
+ *
29
+ * The `Loader` orchestrates fetching, processing, caching, and retrieval of
30
+ * all engine asset types. It ships with built-in factories for every first-party
31
+ * type (Texture, Sound, Music, Video, FontFace, HTMLImageElement, Json, text,
32
+ * SVG, VTT, binary, and WASM) and allows registering custom factories via
33
+ * {@link register}.
34
+ *
35
+ * Assets can be loaded in three ways:
36
+ * - **Direct** — `loader.load(Texture, 'hero.png')` fetches immediately and
37
+ * resolves to the finished asset.
38
+ * - **Bundle** — declare assets in a manifest with {@link registerManifest},
39
+ * then call {@link loadBundle} to load groups on demand.
40
+ * - **Background** — call {@link backgroundLoad} or {@link loadAll} to
41
+ * pre-warm everything registered in the manifest at low priority.
42
+ *
43
+ * Once loaded, assets are stored in memory and returned from cache on
44
+ * subsequent `load` or {@link get} calls without re-fetching.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const loader = new Loader({ resourcePath: '/assets/', cache: new IndexedDbStore('game') });
49
+ * const texture = await loader.load(Texture, 'hero.png');
50
+ * ```
51
+ */
25
52
  class Loader {
26
53
  _registry = new FactoryRegistry();
27
54
  _resources = new Map();
@@ -31,6 +58,7 @@ class Loader {
31
58
  _typeIds = new WeakMap();
32
59
  _preventStoreKeys = new Set();
33
60
  _stores;
61
+ _cacheStrategy;
34
62
  _resourcePath;
35
63
  _requestOptions;
36
64
  _concurrency;
@@ -40,9 +68,13 @@ class Loader {
40
68
  _backgroundTotal = 0;
41
69
  _backgroundLoaded = 0;
42
70
  _backgroundResolve = null;
71
+ /** Dispatched after each background-queue item completes, with the running loaded/total counts. */
43
72
  onProgress = new Signal();
73
+ /** Dispatched after each asset within a named bundle completes loading. */
44
74
  onBundleProgress = new Signal();
75
+ /** Dispatched when any asset finishes loading and is stored in memory. */
45
76
  onLoaded = new Signal();
77
+ /** Dispatched when an asset fails to load during background or bundle loading. */
46
78
  onError = new Signal();
47
79
  constructor(options = {}) {
48
80
  this._resourcePath = options.resourcePath ?? '';
@@ -51,11 +83,20 @@ class Loader {
51
83
  this._stores = options.cache
52
84
  ? (Array.isArray(options.cache) ? options.cache : [options.cache])
53
85
  : [];
86
+ this._cacheStrategy = options.cacheStrategy ?? new CacheFirstStrategy();
54
87
  this._registerBuiltinFactories();
55
88
  }
56
89
  // -----------------------------------------------------------------------
57
90
  // Factory registration
58
91
  // -----------------------------------------------------------------------
92
+ /**
93
+ * Registers a custom {@link AssetFactory} for `type`.
94
+ *
95
+ * Registration is prototype-chain aware: the factory will also handle any
96
+ * subclass of `type` that does not have its own explicit registration.
97
+ * Built-in types can be overridden by registering a replacement factory
98
+ * for the same constructor.
99
+ */
59
100
  register(type, factory) {
60
101
  this._registry.register(type, factory);
61
102
  return this;
@@ -77,6 +118,15 @@ class Loader {
77
118
  }
78
119
  return this;
79
120
  }
121
+ /**
122
+ * Validates and registers an {@link AssetManifest}, making its bundles
123
+ * available to {@link loadBundle}.
124
+ *
125
+ * Throws if any bundle name is already registered or if two entries for
126
+ * the same (type, alias) pair have conflicting paths or options.
127
+ * Equivalent definitions (same path, deeply-equal options) are allowed
128
+ * and de-duplicated silently.
129
+ */
80
130
  registerManifest(manifest) {
81
131
  const normalizedManifest = defineAssetManifest(manifest);
82
132
  const plannedDefinitions = new Map();
@@ -115,6 +165,15 @@ class Loader {
115
165
  }
116
166
  return this;
117
167
  }
168
+ /**
169
+ * Loads all assets declared in the named bundle concurrently.
170
+ *
171
+ * Dispatches {@link onBundleProgress} (and the optional `onProgress`
172
+ * callback) after each asset completes. If any assets fail, a
173
+ * {@link BundleLoadError} is thrown after all assets have settled,
174
+ * containing every individual failure. Throws immediately if `name` has
175
+ * not been registered.
176
+ */
118
177
  async loadBundle(name, options = {}) {
119
178
  const bundle = this._bundles.get(name);
120
179
  if (!bundle) {
@@ -152,6 +211,10 @@ class Loader {
152
211
  throw new BundleLoadError(name, failures);
153
212
  }
154
213
  }
214
+ /**
215
+ * Returns `true` if every asset in the named bundle has been loaded and is
216
+ * currently held in the in-memory resource store.
217
+ */
155
218
  hasBundle(name) {
156
219
  const bundle = this._bundles.get(name);
157
220
  if (!bundle) {
@@ -180,6 +243,15 @@ class Loader {
180
243
  // -----------------------------------------------------------------------
181
244
  // Background loading
182
245
  // -----------------------------------------------------------------------
246
+ /**
247
+ * Enqueues all manifest-registered assets that have not yet been loaded
248
+ * into the background fetch queue and begins draining the queue up to
249
+ * {@link setConcurrency | concurrency} simultaneous connections.
250
+ *
251
+ * Progress is reported via {@link onProgress}. In-flight assets and
252
+ * already-loaded assets are skipped automatically. Call {@link loadAll}
253
+ * instead if you need to await completion.
254
+ */
183
255
  backgroundLoad() {
184
256
  for (const [type, entries] of this._manifest) {
185
257
  for (const [alias, entry] of entries) {
@@ -197,6 +269,13 @@ class Loader {
197
269
  this._backgroundLoaded = 0;
198
270
  this._drainBackground();
199
271
  }
272
+ /**
273
+ * Starts {@link backgroundLoad} and returns a promise that resolves when
274
+ * every queued background asset has finished loading (successfully or not).
275
+ *
276
+ * Individual asset errors are reported via {@link onError} but do not
277
+ * reject the returned promise.
278
+ */
200
279
  loadAll() {
201
280
  return new Promise((resolve) => {
202
281
  this._backgroundResolve = resolve;
@@ -207,6 +286,10 @@ class Loader {
207
286
  }
208
287
  });
209
288
  }
289
+ /**
290
+ * Sets the maximum number of simultaneous background-queue fetches.
291
+ * Takes effect on the next {@link backgroundLoad} or {@link loadAll} call.
292
+ */
210
293
  setConcurrency(n) {
211
294
  this._concurrency = n;
212
295
  return this;
@@ -223,6 +306,7 @@ class Loader {
223
306
  const ctor = type;
224
307
  return this._resources.get(ctor)?.get(alias) ?? null;
225
308
  }
309
+ /** Returns `true` if the asset is currently held in the in-memory store. */
226
310
  has(type, alias) {
227
311
  const ctor = type;
228
312
  return this._resources.get(ctor)?.has(alias) ?? false;
@@ -230,6 +314,13 @@ class Loader {
230
314
  // -----------------------------------------------------------------------
231
315
  // Unload
232
316
  // -----------------------------------------------------------------------
317
+ /**
318
+ * Removes a single asset from the in-memory resource store.
319
+ *
320
+ * If a fetch for this asset is still in flight, the result will be
321
+ * discarded once it arrives rather than written to the store, preventing
322
+ * a stale value from being committed after an explicit unload.
323
+ */
233
324
  unload(type, alias) {
234
325
  const ctor = type;
235
326
  const key = this._key(ctor, alias);
@@ -239,6 +330,12 @@ class Loader {
239
330
  }
240
331
  return this;
241
332
  }
333
+ /**
334
+ * Removes all loaded assets from the in-memory store.
335
+ *
336
+ * If `type` is provided, only that type's assets are cleared; otherwise
337
+ * all types are flushed. Does not cancel in-flight fetches.
338
+ */
242
339
  unloadAll(type) {
243
340
  if (type) {
244
341
  this._resources.get(type)?.clear();
@@ -253,12 +350,21 @@ class Loader {
253
350
  // -----------------------------------------------------------------------
254
351
  // Configuration
255
352
  // -----------------------------------------------------------------------
353
+ /**
354
+ * Base path prepended to every relative asset URL at fetch time.
355
+ * Absolute URLs (starting with `http://`, `https://`, or `//`) are
356
+ * passed through unchanged.
357
+ */
256
358
  get resourcePath() {
257
359
  return this._resourcePath;
258
360
  }
259
361
  set resourcePath(value) {
260
362
  this._resourcePath = value;
261
363
  }
364
+ /**
365
+ * Default `RequestInit` options merged into every `fetch` call.
366
+ * Override per-load with the `options` argument of {@link load}.
367
+ */
262
368
  get requestOptions() {
263
369
  return this._requestOptions;
264
370
  }
@@ -268,6 +374,13 @@ class Loader {
268
374
  // -----------------------------------------------------------------------
269
375
  // Lifecycle
270
376
  // -----------------------------------------------------------------------
377
+ /**
378
+ * Tears down the loader and all resources it owns.
379
+ *
380
+ * Destroys the factory registry (releasing object URLs), destroys every
381
+ * cache store, clears all in-memory assets, manifest entries, bundle
382
+ * definitions, and in-flight tracking, and disconnects all signals.
383
+ */
271
384
  destroy() {
272
385
  this._registry.destroy();
273
386
  for (const store of this._stores) {
@@ -331,45 +444,24 @@ class Loader {
331
444
  async _fetch(type, alias, path, options) {
332
445
  const factory = this._registry.resolve(type);
333
446
  const url = this._resolveUrl(path);
334
- let source = null;
335
- // Check caches
336
- for (const store of this._stores) {
337
- source = await store.load(factory.storageName, alias);
338
- if (source !== null && source !== undefined) {
339
- try {
340
- const resource = await factory.create(source, options);
341
- this._storeResource(type, alias, resource);
342
- return resource;
343
- }
344
- catch {
345
- await store.delete(factory.storageName, alias);
346
- source = null;
347
- }
348
- }
349
- }
350
- // Network fetch
351
- const response = await fetch(url, this._requestOptions);
352
- if (!response.ok) {
353
- throw new Error(`Failed to fetch "${alias}" from "${url}" (${response.status} ${response.statusText}).`);
354
- }
355
- source = await factory.process(response);
356
- const resource = await factory.create(source, options).catch((error) => {
357
- const cause = error instanceof Error ? error : new Error(String(error));
358
- throw new Error(`Failed to create "${alias}" from "${url}": ${cause.message}`, {
359
- cause,
447
+ try {
448
+ const resource = await this._cacheStrategy.resolve({
449
+ storageName: factory.storageName,
450
+ key: alias,
451
+ url,
452
+ requestOptions: this._requestOptions,
453
+ factory,
454
+ options,
455
+ }, this._stores);
456
+ this._storeResource(type, alias, resource);
457
+ return resource;
458
+ }
459
+ catch (error) {
460
+ const message = error instanceof Error ? error.message : String(error);
461
+ throw new Error(`Failed to load "${alias}" from "${url}": ${message}`, {
462
+ cause: error,
360
463
  });
361
- });
362
- // Write to caches
363
- for (const store of this._stores) {
364
- try {
365
- await store.save(factory.storageName, alias, source);
366
- }
367
- catch {
368
- // Quota exceeded or non-cloneable — continue without caching.
369
- }
370
464
  }
371
- this._storeResource(type, alias, resource);
372
- return resource;
373
465
  }
374
466
  // -----------------------------------------------------------------------
375
467
  // Internal — background queue
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sources":["../../../../src/resources/Loader.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loader.js","sources":["../../../../src/resources/Loader.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import type { CacheRequest, CacheStrategy } from './CacheStrategy';
2
2
  import type { CacheStore } from './CacheStore';
3
+ /**
4
+ * {@link CacheStrategy} that always fetches from the network and never reads
5
+ * from or writes to any {@link CacheStore}.
6
+ *
7
+ * Useful for assets that must always be fresh (e.g. live configuration files)
8
+ * or for environments where persistent storage is unavailable. The `stores`
9
+ * argument is accepted but intentionally ignored.
10
+ *
11
+ * Returns the fully constructed resource — callers do not need to call
12
+ * {@link AssetFactory.create} again.
13
+ */
3
14
  export declare class NetworkOnlyStrategy implements CacheStrategy {
4
15
  resolve(request: CacheRequest, _stores: ReadonlyArray<CacheStore>): Promise<unknown>;
5
16
  }
@@ -1,10 +1,23 @@
1
+ /**
2
+ * {@link CacheStrategy} that always fetches from the network and never reads
3
+ * from or writes to any {@link CacheStore}.
4
+ *
5
+ * Useful for assets that must always be fresh (e.g. live configuration files)
6
+ * or for environments where persistent storage is unavailable. The `stores`
7
+ * argument is accepted but intentionally ignored.
8
+ *
9
+ * Returns the fully constructed resource — callers do not need to call
10
+ * {@link AssetFactory.create} again.
11
+ */
1
12
  class NetworkOnlyStrategy {
2
13
  async resolve(request, _stores) {
3
- const response = await fetch(request.url, request.requestOptions);
14
+ const { url, requestOptions, factory, options } = request;
15
+ const response = await fetch(url, requestOptions);
4
16
  if (!response.ok) {
5
- throw new Error(`Failed to fetch "${request.url}" (${response.status} ${response.statusText}).`);
17
+ throw new Error(`Failed to fetch "${url}" (${response.status} ${response.statusText}).`);
6
18
  }
7
- return request.factory.process(response);
19
+ const source = await factory.process(response);
20
+ return factory.create(source, options);
8
21
  }
9
22
  }
10
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkOnlyStrategy.js","sources":["../../../../src/resources/NetworkOnlyStrategy.ts"],"sourcesContent":[null],"names":[],"mappings":"MAGa,mBAAmB,CAAA;AAErB,IAAA,MAAM,OAAO,CAAC,OAAqB,EAAE,OAAkC,EAAA;AAC1E,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC;AAEjE,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,iBAAA,EAAoB,OAAO,CAAC,GAAG,CAAA,GAAA,EAAM,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,EAAA,CAAI,CAAC;QACpG;QAEA,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5C;AACH;;;;"}
1
+ {"version":3,"file":"NetworkOnlyStrategy.js","sources":["../../../../src/resources/NetworkOnlyStrategy.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;;;;;;;AAUG;MACU,mBAAmB,CAAA;AAErB,IAAA,MAAM,OAAO,CAAC,OAAqB,EAAE,OAAkC,EAAA;QAC1E,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO;QACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AAEjD,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,iBAAA,EAAoB,GAAG,CAAA,GAAA,EAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAA,EAAA,CAAI,CAAC;QAC5F;QAEA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAE9C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1C;AACH;;;;"}
@@ -1,6 +1,19 @@
1
1
  import { AbstractAssetFactory } from '@/resources/AbstractAssetFactory';
2
+ /**
3
+ * {@link AssetFactory} implementation that loads arbitrary binary files and
4
+ * exposes them as raw {@link ArrayBuffer} instances.
5
+ *
6
+ * Use this for any binary format that does not have a dedicated factory (e.g.
7
+ * custom data files, packed archives, or proprietary formats).
8
+ */
2
9
  export declare class BinaryFactory extends AbstractAssetFactory<ArrayBuffer> {
3
10
  readonly storageName = "binary";
11
+ /**
12
+ * Reads the full response body as an {@link ArrayBuffer}.
13
+ */
4
14
  process(response: Response): Promise<ArrayBuffer>;
15
+ /**
16
+ * Returns the raw buffer unchanged — no further transformation is applied.
17
+ */
5
18
  create(source: ArrayBuffer): Promise<ArrayBuffer>;
6
19
  }
@@ -1,10 +1,23 @@
1
1
  import { AbstractAssetFactory } from '../AbstractAssetFactory.js';
2
2
 
3
+ /**
4
+ * {@link AssetFactory} implementation that loads arbitrary binary files and
5
+ * exposes them as raw {@link ArrayBuffer} instances.
6
+ *
7
+ * Use this for any binary format that does not have a dedicated factory (e.g.
8
+ * custom data files, packed archives, or proprietary formats).
9
+ */
3
10
  class BinaryFactory extends AbstractAssetFactory {
4
11
  storageName = 'binary';
12
+ /**
13
+ * Reads the full response body as an {@link ArrayBuffer}.
14
+ */
5
15
  async process(response) {
6
16
  return response.arrayBuffer();
7
17
  }
18
+ /**
19
+ * Returns the raw buffer unchanged — no further transformation is applied.
20
+ */
8
21
  async create(source) {
9
22
  return source;
10
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryFactory.js","sources":["../../../../../src/resources/factories/BinaryFactory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEM,MAAO,aAAc,SAAQ,oBAAiC,CAAA;IAEhD,WAAW,GAAG,QAAQ;IAE/B,MAAM,OAAO,CAAC,QAAkB,EAAA;AACnC,QAAA,OAAO,QAAQ,CAAC,WAAW,EAAE;IACjC;IAEO,MAAM,MAAM,CAAC,MAAmB,EAAA;AACnC,QAAA,OAAO,MAAM;IACjB;AACH;;;;"}
1
+ {"version":3,"file":"BinaryFactory.js","sources":["../../../../../src/resources/factories/BinaryFactory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACG,MAAO,aAAc,SAAQ,oBAAiC,CAAA;IAEhD,WAAW,GAAG,QAAQ;AAEtC;;AAEG;IACI,MAAM,OAAO,CAAC,QAAkB,EAAA;AACnC,QAAA,OAAO,QAAQ,CAAC,WAAW,EAAE;IACjC;AAEA;;AAEG;IACI,MAAM,MAAM,CAAC,MAAmB,EAAA;AACnC,QAAA,OAAO,MAAM;IACjB;AACH;;;;"}
@@ -1,13 +1,50 @@
1
1
  import { AbstractAssetFactory } from '@/resources/AbstractAssetFactory';
2
+ /**
3
+ * Options accepted by {@link FontFactory.create}.
4
+ */
2
5
  export interface FontFactoryOptions {
6
+ /** CSS font-family name passed to the {@link FontFace} constructor. Required. */
3
7
  family: string;
8
+ /** Optional CSS font descriptors (style, weight, stretch, etc.). */
4
9
  descriptors?: FontFaceDescriptors;
10
+ /**
11
+ * When `true` (the default), the loaded {@link FontFace} is added to
12
+ * `document.fonts` so it is immediately available for CSS and Canvas
13
+ * rendering. Set to `false` to skip registration and manage the font
14
+ * lifecycle manually.
15
+ */
5
16
  addToDocument?: boolean;
6
17
  }
18
+ /**
19
+ * {@link AssetFactory} implementation that loads web-font binary data (WOFF,
20
+ * WOFF2, TTF, OTF) and produces a parsed {@link FontFace}.
21
+ *
22
+ * By default each created font is registered with `document.fonts`, making it
23
+ * globally available to CSS and Canvas without any further steps. Fonts added
24
+ * this way are automatically removed from `document.fonts` when
25
+ * {@link FontFactory.destroy} is called.
26
+ */
7
27
  export declare class FontFactory extends AbstractAssetFactory<FontFace> {
8
28
  readonly storageName = "font";
9
29
  private readonly _addedFontFaces;
30
+ /**
31
+ * Reads the full response body as an {@link ArrayBuffer} suitable for
32
+ * passing to the {@link FontFace} constructor.
33
+ */
10
34
  process(response: Response): Promise<ArrayBuffer>;
35
+ /**
36
+ * Constructs and loads a {@link FontFace} from binary font data.
37
+ *
38
+ * Throws if `options.family` is not supplied, or if the buffer contains
39
+ * fewer than 4 bytes or is otherwise unrecognised as a valid font.
40
+ * Unless `options.addToDocument` is explicitly `false`, the font face is
41
+ * registered via `document.fonts.add()` immediately after loading.
42
+ */
11
43
  create(source: ArrayBuffer, options?: FontFactoryOptions): Promise<FontFace>;
44
+ /**
45
+ * Removes all font faces previously registered with `document.fonts` by
46
+ * this factory, then releases any tracked object URLs via the base
47
+ * {@link AbstractAssetFactory.destroy} implementation.
48
+ */
12
49
  destroy(): void;
13
50
  }
@@ -1,11 +1,32 @@
1
1
  import { AbstractAssetFactory } from '../AbstractAssetFactory.js';
2
2
 
3
+ /**
4
+ * {@link AssetFactory} implementation that loads web-font binary data (WOFF,
5
+ * WOFF2, TTF, OTF) and produces a parsed {@link FontFace}.
6
+ *
7
+ * By default each created font is registered with `document.fonts`, making it
8
+ * globally available to CSS and Canvas without any further steps. Fonts added
9
+ * this way are automatically removed from `document.fonts` when
10
+ * {@link FontFactory.destroy} is called.
11
+ */
3
12
  class FontFactory extends AbstractAssetFactory {
4
13
  storageName = 'font';
5
14
  _addedFontFaces = [];
15
+ /**
16
+ * Reads the full response body as an {@link ArrayBuffer} suitable for
17
+ * passing to the {@link FontFace} constructor.
18
+ */
6
19
  async process(response) {
7
20
  return await response.arrayBuffer();
8
21
  }
22
+ /**
23
+ * Constructs and loads a {@link FontFace} from binary font data.
24
+ *
25
+ * Throws if `options.family` is not supplied, or if the buffer contains
26
+ * fewer than 4 bytes or is otherwise unrecognised as a valid font.
27
+ * Unless `options.addToDocument` is explicitly `false`, the font face is
28
+ * registered via `document.fonts.add()` immediately after loading.
29
+ */
9
30
  async create(source, options) {
10
31
  if (!options?.family) {
11
32
  throw new Error('FontFactory.create requires options with a "family" property.');
@@ -23,6 +44,11 @@ class FontFactory extends AbstractAssetFactory {
23
44
  }
24
45
  return fontFace;
25
46
  }
47
+ /**
48
+ * Removes all font faces previously registered with `document.fonts` by
49
+ * this factory, then releases any tracked object URLs via the base
50
+ * {@link AbstractAssetFactory.destroy} implementation.
51
+ */
26
52
  destroy() {
27
53
  for (const fontFace of this._addedFontFaces) {
28
54
  document.fonts.delete(fontFace);
@@ -1 +1 @@
1
- {"version":3,"file":"FontFactory.js","sources":["../../../../../src/resources/factories/FontFactory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQM,MAAO,WAAY,SAAQ,oBAA8B,CAAA;IAE3C,WAAW,GAAG,MAAM;IAEnB,eAAe,GAAoB,EAAE;IAE/C,MAAM,OAAO,CAAC,QAAkB,EAAA;AACnC,QAAA,OAAO,MAAM,QAAQ,CAAC,WAAW,EAAE;IACvC;AAEO,IAAA,MAAM,MAAM,CAAC,MAAmB,EAAE,OAA4B,EAAA;AACjE,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;QACpF;QAEA,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO;AAEtD,QAAA,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,WAAW,CAAC,CAAA,uDAAA,EAA0D,MAAM,CAAC,UAAU,CAAA,CAAA,CAAG,CAAC;QACzG;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAK;YAC/E,MAAM,IAAI,WAAW,CAAC,CAAA,kCAAA,EAAqC,MAAM,CAAC,UAAU,CAAA,QAAA,CAAU,CAAC;AAC3F,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,aAAa,KAAK,KAAK,EAAE;AACzB,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC;AAEA,QAAA,OAAO,QAAQ;IACnB;IAEgB,OAAO,GAAA;AACnB,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AACzC,YAAA,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAC/B,KAAK,CAAC,OAAO,EAAE;IACnB;AACH;;;;"}
1
+ {"version":3,"file":"FontFactory.js","sources":["../../../../../src/resources/factories/FontFactory.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAmBA;;;;;;;;AAQG;AACG,MAAO,WAAY,SAAQ,oBAA8B,CAAA;IAE3C,WAAW,GAAG,MAAM;IAEnB,eAAe,GAAoB,EAAE;AAEtD;;;AAGG;IACI,MAAM,OAAO,CAAC,QAAkB,EAAA;AACnC,QAAA,OAAO,MAAM,QAAQ,CAAC,WAAW,EAAE;IACvC;AAEA;;;;;;;AAOG;AACI,IAAA,MAAM,MAAM,CAAC,MAAmB,EAAE,OAA4B,EAAA;AACjE,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;QACpF;QAEA,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO;AAEtD,QAAA,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,WAAW,CAAC,CAAA,uDAAA,EAA0D,MAAM,CAAC,UAAU,CAAA,CAAA,CAAG,CAAC;QACzG;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAK;YAC/E,MAAM,IAAI,WAAW,CAAC,CAAA,kCAAA,EAAqC,MAAM,CAAC,UAAU,CAAA,QAAA,CAAU,CAAC;AAC3F,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,aAAa,KAAK,KAAK,EAAE;AACzB,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC;AAEA,QAAA,OAAO,QAAQ;IACnB;AAEA;;;;AAIG;IACa,OAAO,GAAA;AACnB,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AACzC,YAAA,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAC/B,KAAK,CAAC,OAAO,EAAE;IACnB;AACH;;;;"}
@@ -1,10 +1,34 @@
1
1
  import { AbstractAssetFactory } from '@/resources/AbstractAssetFactory';
2
- interface ImageFactoryOptions {
2
+ /** Construction options for {@link ImageFactory.create}. */
3
+ export interface ImageFactoryOptions {
4
+ /**
5
+ * MIME type used when constructing the intermediate {@link Blob}. When
6
+ * omitted the type is inferred from the buffer's magic bytes via
7
+ * `determineMimeType`.
8
+ */
3
9
  mimeType?: string;
4
10
  }
11
+ /**
12
+ * {@link AssetFactory} implementation that loads PNG, JPG, WebP, AVIF, and
13
+ * other browser-supported raster image formats and produces a decoded
14
+ * {@link HTMLImageElement}.
15
+ *
16
+ * MIME type detection is performed automatically from the buffer's magic bytes;
17
+ * pass an explicit `mimeType` in options to override.
18
+ */
5
19
  export declare class ImageFactory extends AbstractAssetFactory<HTMLImageElement> {
6
20
  readonly storageName = "image";
21
+ /**
22
+ * Reads the full response body as an {@link ArrayBuffer} for MIME-type
23
+ * detection and blob construction.
24
+ */
7
25
  process(response: Response): Promise<ArrayBuffer>;
26
+ /**
27
+ * Decodes image bytes into a fully loaded {@link HTMLImageElement}.
28
+ *
29
+ * Creates a temporary object URL from the buffer, assigns it to an
30
+ * `<img>` element, and revokes the URL once loading completes or fails.
31
+ * Rejects if the browser reports a load error or the load is aborted.
32
+ */
8
33
  create(source: ArrayBuffer, options?: ImageFactoryOptions): Promise<HTMLImageElement>;
9
34
  }
10
- export {};