@codexo/exojs 0.13.0 → 0.15.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 (822) hide show
  1. package/CHANGELOG.md +265 -6
  2. package/README.md +82 -67
  3. package/dist/esm/animation/Tween.d.ts.map +1 -1
  4. package/dist/esm/animation/Tween.js +1 -2
  5. package/dist/esm/animation/Tween.js.map +1 -1
  6. package/dist/esm/animation/TweenManager.d.ts +50 -7
  7. package/dist/esm/animation/TweenManager.d.ts.map +1 -1
  8. package/dist/esm/animation/TweenManager.js +68 -10
  9. package/dist/esm/animation/TweenManager.js.map +1 -1
  10. package/dist/esm/animation/TweenSequencer.d.ts +139 -0
  11. package/dist/esm/animation/TweenSequencer.d.ts.map +1 -0
  12. package/dist/esm/animation/TweenSequencer.js +305 -0
  13. package/dist/esm/animation/TweenSequencer.js.map +1 -0
  14. package/dist/esm/animation/index.d.ts +7 -4
  15. package/dist/esm/animation/index.d.ts.map +1 -1
  16. package/dist/esm/audio/AudioBus.d.ts +12 -12
  17. package/dist/esm/audio/AudioBus.js +29 -29
  18. package/dist/esm/audio/AudioEffect.d.ts +18 -0
  19. package/dist/esm/audio/AudioEffect.d.ts.map +1 -0
  20. package/dist/esm/audio/AudioEffect.js +16 -0
  21. package/dist/esm/audio/AudioEffect.js.map +1 -0
  22. package/dist/esm/audio/AudioGenerator.d.ts +91 -0
  23. package/dist/esm/audio/AudioGenerator.d.ts.map +1 -0
  24. package/dist/esm/audio/AudioGenerator.js +165 -0
  25. package/dist/esm/audio/AudioGenerator.js.map +1 -0
  26. package/dist/esm/audio/AudioGeneratorVoice.d.ts +52 -0
  27. package/dist/esm/audio/AudioGeneratorVoice.d.ts.map +1 -0
  28. package/dist/esm/audio/AudioGeneratorVoice.js +141 -0
  29. package/dist/esm/audio/AudioGeneratorVoice.js.map +1 -0
  30. package/dist/esm/audio/AudioInput.d.ts +39 -0
  31. package/dist/esm/audio/AudioInput.d.ts.map +1 -0
  32. package/dist/esm/audio/AudioInput.js +53 -0
  33. package/dist/esm/audio/AudioInput.js.map +1 -0
  34. package/dist/esm/audio/AudioManager.d.ts +72 -34
  35. package/dist/esm/audio/AudioManager.d.ts.map +1 -1
  36. package/dist/esm/audio/AudioManager.js +97 -51
  37. package/dist/esm/audio/AudioManager.js.map +1 -1
  38. package/dist/esm/audio/AudioStream.d.ts +49 -0
  39. package/dist/esm/audio/AudioStream.d.ts.map +1 -0
  40. package/dist/esm/audio/AudioStream.js +109 -0
  41. package/dist/esm/audio/AudioStream.js.map +1 -0
  42. package/dist/esm/audio/AudioStreamVoice.d.ts +61 -0
  43. package/dist/esm/audio/AudioStreamVoice.d.ts.map +1 -0
  44. package/dist/esm/audio/AudioStreamVoice.js +137 -0
  45. package/dist/esm/audio/AudioStreamVoice.js.map +1 -0
  46. package/dist/esm/audio/BaseVoice.d.ts +111 -0
  47. package/dist/esm/audio/BaseVoice.d.ts.map +1 -0
  48. package/dist/esm/audio/BaseVoice.js +298 -0
  49. package/dist/esm/audio/BaseVoice.js.map +1 -0
  50. package/dist/esm/audio/BiquadEffect.d.ts +53 -0
  51. package/dist/esm/audio/BiquadEffect.d.ts.map +1 -0
  52. package/dist/esm/audio/BiquadEffect.js +110 -0
  53. package/dist/esm/audio/BiquadEffect.js.map +1 -0
  54. package/dist/esm/audio/InputVoice.d.ts +41 -0
  55. package/dist/esm/audio/InputVoice.d.ts.map +1 -0
  56. package/dist/esm/audio/InputVoice.js +85 -0
  57. package/dist/esm/audio/InputVoice.js.map +1 -0
  58. package/dist/esm/audio/NoopVoice.d.ts +29 -0
  59. package/dist/esm/audio/NoopVoice.d.ts.map +1 -0
  60. package/dist/esm/audio/NoopVoice.js +52 -0
  61. package/dist/esm/audio/NoopVoice.js.map +1 -0
  62. package/dist/esm/audio/Playable.d.ts +135 -0
  63. package/dist/esm/audio/Playable.d.ts.map +1 -0
  64. package/dist/esm/audio/Sound.d.ts +64 -69
  65. package/dist/esm/audio/Sound.d.ts.map +1 -1
  66. package/dist/esm/audio/Sound.js +176 -377
  67. package/dist/esm/audio/Sound.js.map +1 -1
  68. package/dist/esm/audio/SoundVoice.d.ts +63 -0
  69. package/dist/esm/audio/SoundVoice.d.ts.map +1 -0
  70. package/dist/esm/audio/SoundVoice.js +168 -0
  71. package/dist/esm/audio/SoundVoice.js.map +1 -0
  72. package/dist/esm/audio/WorkletEffect.d.ts +68 -0
  73. package/dist/esm/audio/WorkletEffect.d.ts.map +1 -0
  74. package/dist/esm/audio/WorkletEffect.js +177 -0
  75. package/dist/esm/audio/WorkletEffect.js.map +1 -0
  76. package/dist/esm/audio/audio-context.js +1 -1
  77. package/dist/esm/audio/audio-context.js.map +1 -1
  78. package/dist/esm/audio/crossFade.d.ts +22 -13
  79. package/dist/esm/audio/crossFade.d.ts.map +1 -1
  80. package/dist/esm/audio/crossFade.js +21 -13
  81. package/dist/esm/audio/crossFade.js.map +1 -1
  82. package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -2
  83. package/dist/esm/audio/filters/HighpassFilter.js +2 -2
  84. package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -2
  85. package/dist/esm/audio/filters/LowpassFilter.js +2 -2
  86. package/dist/esm/audio/filters/index.d.ts +0 -10
  87. package/dist/esm/audio/filters/index.d.ts.map +1 -1
  88. package/dist/esm/audio/index.d.ts +13 -15
  89. package/dist/esm/audio/index.d.ts.map +1 -1
  90. package/dist/esm/core/Application.d.ts +169 -14
  91. package/dist/esm/core/Application.d.ts.map +1 -1
  92. package/dist/esm/core/Application.js +306 -31
  93. package/dist/esm/core/Application.js.map +1 -1
  94. package/dist/esm/core/BuildInfo.js +2 -2
  95. package/dist/esm/core/Codec.d.ts +41 -0
  96. package/dist/esm/core/Codec.d.ts.map +1 -0
  97. package/dist/esm/core/Codec.js +79 -0
  98. package/dist/esm/core/Codec.js.map +1 -0
  99. package/dist/esm/core/Color.d.ts +6 -4
  100. package/dist/esm/core/Color.d.ts.map +1 -1
  101. package/dist/esm/core/Color.js +19 -15
  102. package/dist/esm/core/Color.js.map +1 -1
  103. package/dist/esm/core/DisposalScope.d.ts +50 -0
  104. package/dist/esm/core/DisposalScope.d.ts.map +1 -0
  105. package/dist/esm/core/DisposalScope.js +86 -0
  106. package/dist/esm/core/DisposalScope.js.map +1 -0
  107. package/dist/esm/core/FixedTimestep.d.ts +28 -0
  108. package/dist/esm/core/FixedTimestep.d.ts.map +1 -0
  109. package/dist/esm/core/FixedTimestep.js +62 -0
  110. package/dist/esm/core/FixedTimestep.js.map +1 -0
  111. package/dist/esm/core/Perf.d.ts +10 -22
  112. package/dist/esm/core/Perf.d.ts.map +1 -1
  113. package/dist/esm/core/Perf.js +15 -8
  114. package/dist/esm/core/Perf.js.map +1 -1
  115. package/dist/esm/core/Registry.d.ts +64 -0
  116. package/dist/esm/core/Registry.d.ts.map +1 -0
  117. package/dist/esm/core/Registry.js +79 -0
  118. package/dist/esm/core/Registry.js.map +1 -0
  119. package/dist/esm/core/Scene.d.ts +83 -21
  120. package/dist/esm/core/Scene.d.ts.map +1 -1
  121. package/dist/esm/core/Scene.js +127 -16
  122. package/dist/esm/core/Scene.js.map +1 -1
  123. package/dist/esm/core/SceneManager.d.ts +28 -59
  124. package/dist/esm/core/SceneManager.d.ts.map +1 -1
  125. package/dist/esm/core/SceneManager.js +86 -155
  126. package/dist/esm/core/SceneManager.js.map +1 -1
  127. package/dist/esm/core/SceneNode.d.ts +78 -7
  128. package/dist/esm/core/SceneNode.d.ts.map +1 -1
  129. package/dist/esm/core/SceneNode.js +162 -21
  130. package/dist/esm/core/SceneNode.js.map +1 -1
  131. package/dist/esm/core/Signal.js.map +1 -1
  132. package/dist/esm/core/Stage.d.ts +49 -0
  133. package/dist/esm/core/Stage.d.ts.map +1 -0
  134. package/dist/esm/core/System.d.ts +22 -0
  135. package/dist/esm/core/System.d.ts.map +1 -0
  136. package/dist/esm/core/SystemRegistry.d.ts +40 -0
  137. package/dist/esm/core/SystemRegistry.d.ts.map +1 -0
  138. package/dist/esm/core/SystemRegistry.js +114 -0
  139. package/dist/esm/core/SystemRegistry.js.map +1 -0
  140. package/dist/esm/core/Time.d.ts +15 -0
  141. package/dist/esm/core/Time.d.ts.map +1 -1
  142. package/dist/esm/core/Time.js +25 -0
  143. package/dist/esm/core/Time.js.map +1 -1
  144. package/dist/esm/core/dev.d.ts +9 -4
  145. package/dist/esm/core/dev.d.ts.map +1 -1
  146. package/dist/esm/core/dev.js +5 -0
  147. package/dist/esm/core/dev.js.map +1 -1
  148. package/dist/esm/core/index.d.ts +30 -15
  149. package/dist/esm/core/index.d.ts.map +1 -1
  150. package/dist/esm/core/letterbox.d.ts +25 -0
  151. package/dist/esm/core/letterbox.d.ts.map +1 -0
  152. package/dist/esm/core/letterbox.js +26 -0
  153. package/dist/esm/core/letterbox.js.map +1 -0
  154. package/dist/esm/core/logging.d.ts +34 -0
  155. package/dist/esm/core/logging.d.ts.map +1 -0
  156. package/dist/esm/core/logging.js +59 -0
  157. package/dist/esm/core/logging.js.map +1 -0
  158. package/dist/esm/core/serialization/NodeSerializer.d.ts +71 -0
  159. package/dist/esm/core/serialization/NodeSerializer.d.ts.map +1 -0
  160. package/dist/esm/core/serialization/Prefab.d.ts +49 -0
  161. package/dist/esm/core/serialization/Prefab.d.ts.map +1 -0
  162. package/dist/esm/core/serialization/Prefab.js +61 -0
  163. package/dist/esm/core/serialization/Prefab.js.map +1 -0
  164. package/dist/esm/core/serialization/SerializationRegistry.d.ts +95 -0
  165. package/dist/esm/core/serialization/SerializationRegistry.d.ts.map +1 -0
  166. package/dist/esm/core/serialization/SerializationRegistry.js +108 -0
  167. package/dist/esm/core/serialization/SerializationRegistry.js.map +1 -0
  168. package/dist/esm/core/serialization/commonFields.d.ts +20 -0
  169. package/dist/esm/core/serialization/commonFields.d.ts.map +1 -0
  170. package/dist/esm/core/serialization/commonFields.js +155 -0
  171. package/dist/esm/core/serialization/commonFields.js.map +1 -0
  172. package/dist/esm/core/serialization/coreSerializers.d.ts +9 -0
  173. package/dist/esm/core/serialization/coreSerializers.d.ts.map +1 -0
  174. package/dist/esm/core/serialization/coreSerializers.js +101 -0
  175. package/dist/esm/core/serialization/coreSerializers.js.map +1 -0
  176. package/dist/esm/core/serialization/index.d.ts +6 -0
  177. package/dist/esm/core/serialization/index.d.ts.map +1 -0
  178. package/dist/esm/core/serialization/read.d.ts +65 -0
  179. package/dist/esm/core/serialization/read.d.ts.map +1 -0
  180. package/dist/esm/core/serialization/read.js +48 -0
  181. package/dist/esm/core/serialization/read.js.map +1 -0
  182. package/dist/esm/core/serialization/renderingSerializers.d.ts +7 -0
  183. package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -0
  184. package/dist/esm/core/serialization/renderingSerializers.js +320 -0
  185. package/dist/esm/core/serialization/renderingSerializers.js.map +1 -0
  186. package/dist/esm/core/serialization/serialize.d.ts +56 -0
  187. package/dist/esm/core/serialization/serialize.d.ts.map +1 -0
  188. package/dist/esm/core/serialization/serialize.js +144 -0
  189. package/dist/esm/core/serialization/serialize.js.map +1 -0
  190. package/dist/esm/core/serialization/serializerHelpers.d.ts +46 -0
  191. package/dist/esm/core/serialization/serializerHelpers.d.ts.map +1 -0
  192. package/dist/esm/core/serialization/serializerHelpers.js +161 -0
  193. package/dist/esm/core/serialization/serializerHelpers.js.map +1 -0
  194. package/dist/esm/core/serialization/types.d.ts +49 -0
  195. package/dist/esm/core/serialization/types.d.ts.map +1 -0
  196. package/dist/esm/core/serialization/types.js +9 -0
  197. package/dist/esm/core/serialization/types.js.map +1 -0
  198. package/dist/esm/core/serialization/uiSerializers.d.ts +7 -0
  199. package/dist/esm/core/serialization/uiSerializers.d.ts.map +1 -0
  200. package/dist/esm/core/serialization/uiSerializers.js +206 -0
  201. package/dist/esm/core/serialization/uiSerializers.js.map +1 -0
  202. package/dist/esm/core/types.d.ts +1 -1
  203. package/dist/esm/core/types.d.ts.map +1 -1
  204. package/dist/esm/core/utils.d.ts +1 -16
  205. package/dist/esm/core/utils.d.ts.map +1 -1
  206. package/dist/esm/core/utils.js +2 -100
  207. package/dist/esm/core/utils.js.map +1 -1
  208. package/dist/esm/debug/PerformanceLayer.js +8 -9
  209. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  210. package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -1
  211. package/dist/esm/debug/PointerStackLayer.js +9 -6
  212. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  213. package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -1
  214. package/dist/esm/debug/RenderPassInspectorLayer.js +19 -12
  215. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  216. package/dist/esm/extensions/Extension.d.ts +39 -4
  217. package/dist/esm/extensions/Extension.d.ts.map +1 -1
  218. package/dist/esm/extensions/materialize.d.ts +9 -1
  219. package/dist/esm/extensions/materialize.d.ts.map +1 -1
  220. package/dist/esm/extensions/materialize.js +17 -2
  221. package/dist/esm/extensions/materialize.js.map +1 -1
  222. package/dist/esm/extensions/snapshot.d.ts +2 -1
  223. package/dist/esm/extensions/snapshot.d.ts.map +1 -1
  224. package/dist/esm/extensions/snapshot.js +8 -0
  225. package/dist/esm/extensions/snapshot.js.map +1 -1
  226. package/dist/esm/index.d.ts +2 -1
  227. package/dist/esm/index.d.ts.map +1 -1
  228. package/dist/esm/index.js +41 -61
  229. package/dist/esm/index.js.map +1 -1
  230. package/dist/esm/input/FocusManager.d.ts +59 -0
  231. package/dist/esm/input/FocusManager.d.ts.map +1 -0
  232. package/dist/esm/input/FocusManager.js +175 -0
  233. package/dist/esm/input/FocusManager.js.map +1 -0
  234. package/dist/esm/input/Gamepad.d.ts +10 -0
  235. package/dist/esm/input/Gamepad.d.ts.map +1 -1
  236. package/dist/esm/input/Gamepad.js +20 -4
  237. package/dist/esm/input/Gamepad.js.map +1 -1
  238. package/dist/esm/input/GamepadAxis.js +2 -2
  239. package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -1
  240. package/dist/esm/input/GamepadDefinitions.js +6 -2
  241. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  242. package/dist/esm/input/GestureRecognizer.d.ts +1 -2
  243. package/dist/esm/input/GestureRecognizer.d.ts.map +1 -1
  244. package/dist/esm/input/GestureRecognizer.js +1 -3
  245. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  246. package/dist/esm/input/InputBinding.js +3 -3
  247. package/dist/esm/input/InputBinding.js.map +1 -1
  248. package/dist/esm/input/InputManager.d.ts +7 -2
  249. package/dist/esm/input/InputManager.d.ts.map +1 -1
  250. package/dist/esm/input/InputManager.js +40 -21
  251. package/dist/esm/input/InputManager.js.map +1 -1
  252. package/dist/esm/input/InteractionManager.d.ts +67 -2
  253. package/dist/esm/input/InteractionManager.d.ts.map +1 -1
  254. package/dist/esm/input/InteractionManager.js +165 -41
  255. package/dist/esm/input/InteractionManager.js.map +1 -1
  256. package/dist/esm/input/KeyEvent.d.ts +25 -0
  257. package/dist/esm/input/KeyEvent.d.ts.map +1 -0
  258. package/dist/esm/input/KeyEvent.js +32 -0
  259. package/dist/esm/input/KeyEvent.js.map +1 -0
  260. package/dist/esm/input/Pointer.d.ts +21 -4
  261. package/dist/esm/input/Pointer.d.ts.map +1 -1
  262. package/dist/esm/input/Pointer.js +54 -15
  263. package/dist/esm/input/Pointer.js.map +1 -1
  264. package/dist/esm/input/index.d.ts +3 -1
  265. package/dist/esm/input/index.d.ts.map +1 -1
  266. package/dist/esm/math/AbstractVector.d.ts.map +1 -1
  267. package/dist/esm/math/AbstractVector.js +7 -2
  268. package/dist/esm/math/AbstractVector.js.map +1 -1
  269. package/dist/esm/math/Circle.d.ts.map +1 -1
  270. package/dist/esm/math/Circle.js +5 -1
  271. package/dist/esm/math/Circle.js.map +1 -1
  272. package/dist/esm/math/Line.d.ts +1 -1
  273. package/dist/esm/math/Line.d.ts.map +1 -1
  274. package/dist/esm/math/Line.js +1 -1
  275. package/dist/esm/math/Line.js.map +1 -1
  276. package/dist/esm/math/Matrix.d.ts.map +1 -1
  277. package/dist/esm/math/Matrix.js +6 -1
  278. package/dist/esm/math/Matrix.js.map +1 -1
  279. package/dist/esm/math/ObservableVector.d.ts +26 -8
  280. package/dist/esm/math/ObservableVector.d.ts.map +1 -1
  281. package/dist/esm/math/ObservableVector.js +24 -16
  282. package/dist/esm/math/ObservableVector.js.map +1 -1
  283. package/dist/esm/math/Polygon.d.ts +5 -0
  284. package/dist/esm/math/Polygon.d.ts.map +1 -1
  285. package/dist/esm/math/Polygon.js +27 -3
  286. package/dist/esm/math/Polygon.js.map +1 -1
  287. package/dist/esm/math/Random.d.ts +9 -9
  288. package/dist/esm/math/Random.d.ts.map +1 -1
  289. package/dist/esm/math/Random.js +46 -46
  290. package/dist/esm/math/Random.js.map +1 -1
  291. package/dist/esm/math/Rectangle.d.ts +11 -4
  292. package/dist/esm/math/Rectangle.d.ts.map +1 -1
  293. package/dist/esm/math/Rectangle.js +12 -6
  294. package/dist/esm/math/Rectangle.js.map +1 -1
  295. package/dist/esm/math/Vector.d.ts +1 -1
  296. package/dist/esm/math/Vector.d.ts.map +1 -1
  297. package/dist/esm/math/Vector.js +1 -1
  298. package/dist/esm/math/Vector.js.map +1 -1
  299. package/dist/esm/math/collision-detection.d.ts +42 -0
  300. package/dist/esm/math/collision-detection.d.ts.map +1 -1
  301. package/dist/esm/math/collision-detection.js +54 -4
  302. package/dist/esm/math/collision-detection.js.map +1 -1
  303. package/dist/esm/math/collision-primitives.d.ts.map +1 -1
  304. package/dist/esm/math/collision-primitives.js +4 -0
  305. package/dist/esm/math/collision-primitives.js.map +1 -1
  306. package/dist/esm/math/geometry.d.ts +26 -0
  307. package/dist/esm/math/geometry.d.ts.map +1 -1
  308. package/dist/esm/math/geometry.js +89 -2
  309. package/dist/esm/math/geometry.js.map +1 -1
  310. package/dist/esm/math/index.d.ts +7 -5
  311. package/dist/esm/math/index.d.ts.map +1 -1
  312. package/dist/esm/math/swept-collision.d.ts +13 -0
  313. package/dist/esm/math/swept-collision.d.ts.map +1 -1
  314. package/dist/esm/math/swept-collision.js +15 -1
  315. package/dist/esm/math/swept-collision.js.map +1 -1
  316. package/dist/esm/math/triangulate.d.ts.map +1 -1
  317. package/dist/esm/math/triangulate.js +9 -1
  318. package/dist/esm/math/triangulate.js.map +1 -1
  319. package/dist/esm/math/utils.d.ts +20 -0
  320. package/dist/esm/math/utils.d.ts.map +1 -1
  321. package/dist/esm/math/utils.js +18 -15
  322. package/dist/esm/math/utils.js.map +1 -1
  323. package/dist/esm/renderer-sdk.d.ts +2 -0
  324. package/dist/esm/renderer-sdk.d.ts.map +1 -1
  325. package/dist/esm/{rendering.js → renderer-sdk.js} +1 -1
  326. package/dist/esm/renderer-sdk.js.map +1 -0
  327. package/dist/esm/rendering/BackendTargetPass.d.ts +1 -1
  328. package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -1
  329. package/dist/esm/rendering/CallbackRenderPass.d.ts +14 -10
  330. package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -1
  331. package/dist/esm/rendering/CallbackRenderPass.js +17 -12
  332. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  333. package/dist/esm/rendering/Container.d.ts +3 -0
  334. package/dist/esm/rendering/Container.d.ts.map +1 -1
  335. package/dist/esm/rendering/Container.js +28 -5
  336. package/dist/esm/rendering/Container.js.map +1 -1
  337. package/dist/esm/rendering/DrawContext.d.ts +48 -0
  338. package/dist/esm/rendering/DrawContext.d.ts.map +1 -0
  339. package/dist/esm/rendering/Drawable.d.ts +24 -0
  340. package/dist/esm/rendering/Drawable.d.ts.map +1 -1
  341. package/dist/esm/rendering/Drawable.js +54 -0
  342. package/dist/esm/rendering/Drawable.js.map +1 -1
  343. package/dist/esm/rendering/GpuResourceAccountant.d.ts +65 -0
  344. package/dist/esm/rendering/GpuResourceAccountant.d.ts.map +1 -0
  345. package/dist/esm/rendering/GpuResourceAccountant.js +130 -0
  346. package/dist/esm/rendering/GpuResourceAccountant.js.map +1 -0
  347. package/dist/esm/rendering/PassContext.d.ts +42 -0
  348. package/dist/esm/rendering/PassContext.d.ts.map +1 -0
  349. package/dist/esm/rendering/PassContext.js +48 -0
  350. package/dist/esm/rendering/PassContext.js.map +1 -0
  351. package/dist/esm/rendering/RenderBackend.d.ts +29 -1
  352. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
  353. package/dist/esm/rendering/RenderBatch.d.ts +55 -0
  354. package/dist/esm/rendering/RenderBatch.d.ts.map +1 -0
  355. package/dist/esm/rendering/RenderBatch.js +107 -0
  356. package/dist/esm/rendering/RenderBatch.js.map +1 -0
  357. package/dist/esm/rendering/RenderNode.d.ts +50 -10
  358. package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
  359. package/dist/esm/rendering/RenderNode.js +115 -22
  360. package/dist/esm/rendering/RenderNode.js.map +1 -1
  361. package/dist/esm/rendering/RenderNodePass.d.ts +1 -1
  362. package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -1
  363. package/dist/esm/rendering/RenderNodePass.js +2 -2
  364. package/dist/esm/rendering/RenderNodePass.js.map +1 -1
  365. package/dist/esm/rendering/RenderStats.d.ts +39 -0
  366. package/dist/esm/rendering/RenderStats.d.ts.map +1 -1
  367. package/dist/esm/rendering/RenderStats.js +14 -0
  368. package/dist/esm/rendering/RenderStats.js.map +1 -1
  369. package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -1
  370. package/dist/esm/rendering/RendererRegistry.js +20 -23
  371. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  372. package/dist/esm/rendering/RenderingContext.d.ts +132 -17
  373. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
  374. package/dist/esm/rendering/RenderingContext.js +228 -28
  375. package/dist/esm/rendering/RenderingContext.js.map +1 -1
  376. package/dist/esm/rendering/TransformBuffer.d.ts +23 -0
  377. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
  378. package/dist/esm/rendering/TransformBuffer.js +60 -0
  379. package/dist/esm/rendering/TransformBuffer.js.map +1 -1
  380. package/dist/esm/rendering/View.d.ts +85 -15
  381. package/dist/esm/rendering/View.d.ts.map +1 -1
  382. package/dist/esm/rendering/View.js +81 -27
  383. package/dist/esm/rendering/View.js.map +1 -1
  384. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
  385. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +10 -1
  386. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  387. package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -1
  388. package/dist/esm/rendering/geometry/Geometry.js +4 -2
  389. package/dist/esm/rendering/geometry/Geometry.js.map +1 -1
  390. package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -1
  391. package/dist/esm/rendering/gradient/Gradient.js +7 -2
  392. package/dist/esm/rendering/gradient/Gradient.js.map +1 -1
  393. package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -1
  394. package/dist/esm/rendering/material/MaterialKey.js +2 -0
  395. package/dist/esm/rendering/material/MaterialKey.js.map +1 -1
  396. package/dist/esm/rendering/material/MeshMaterial.d.ts +20 -1
  397. package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -1
  398. package/dist/esm/rendering/material/MeshMaterial.js +17 -0
  399. package/dist/esm/rendering/material/MeshMaterial.js.map +1 -1
  400. package/dist/esm/rendering/material/ShaderSource.js +6 -0
  401. package/dist/esm/rendering/material/ShaderSource.js.map +1 -1
  402. package/dist/esm/rendering/material/SpriteMaterial.d.ts +20 -1
  403. package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -1
  404. package/dist/esm/rendering/material/SpriteMaterial.js +17 -0
  405. package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -1
  406. package/dist/esm/rendering/mesh/ImmediateMesh.d.ts +48 -0
  407. package/dist/esm/rendering/mesh/ImmediateMesh.d.ts.map +1 -0
  408. package/dist/esm/rendering/mesh/ImmediateMesh.js +85 -0
  409. package/dist/esm/rendering/mesh/ImmediateMesh.js.map +1 -0
  410. package/dist/esm/rendering/mesh/Mesh.d.ts +29 -6
  411. package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -1
  412. package/dist/esm/rendering/mesh/Mesh.js +40 -13
  413. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  414. package/dist/esm/rendering/pixelSnap.d.ts.map +1 -1
  415. package/dist/esm/rendering/pixelSnap.js +1 -0
  416. package/dist/esm/rendering/pixelSnap.js.map +1 -1
  417. package/dist/esm/rendering/plan/RenderCommand.d.ts +31 -9
  418. package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -1
  419. package/dist/esm/rendering/plan/RenderCommand.js +23 -21
  420. package/dist/esm/rendering/plan/RenderCommand.js.map +1 -1
  421. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
  422. package/dist/esm/rendering/plan/RenderEffectExecutor.js +8 -2
  423. package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
  424. package/dist/esm/rendering/plan/RenderInstruction.d.ts +12 -39
  425. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
  426. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +17 -2
  427. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
  428. package/dist/esm/rendering/plan/RenderPlanBuilder.js +154 -50
  429. package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
  430. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -1
  431. package/dist/esm/rendering/plan/RenderPlanOptimizer.js +31 -4
  432. package/dist/esm/rendering/plan/RenderPlanOptimizer.js.map +1 -1
  433. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -1
  434. package/dist/esm/rendering/plan/RenderPlanPlayer.js +54 -17
  435. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
  436. package/dist/esm/rendering/plan/RenderScope.d.ts +23 -10
  437. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
  438. package/dist/esm/rendering/primitives/Graphics.d.ts +16 -1
  439. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
  440. package/dist/esm/rendering/primitives/Graphics.js +46 -9
  441. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  442. package/dist/esm/rendering/{index.d.ts → public.d.ts} +9 -39
  443. package/dist/esm/rendering/public.d.ts.map +1 -0
  444. package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -1
  445. package/dist/esm/rendering/shader/ShaderAttribute.js +2 -0
  446. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  447. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +60 -12
  448. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
  449. package/dist/esm/rendering/sprite/AnimatedSprite.js +142 -30
  450. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  451. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -1
  452. package/dist/esm/rendering/sprite/NineSliceSprite.js +10 -11
  453. package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -1
  454. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -1
  455. package/dist/esm/rendering/sprite/RepeatingSprite.js +1 -3
  456. package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -1
  457. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
  458. package/dist/esm/rendering/sprite/Sprite.js +30 -3
  459. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  460. package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -1
  461. package/dist/esm/rendering/sprite/nineSlice.js +12 -18
  462. package/dist/esm/rendering/sprite/nineSlice.js.map +1 -1
  463. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -1
  464. package/dist/esm/rendering/sprite/repeatingSpritePlan.js +2 -2
  465. package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -1
  466. package/dist/esm/rendering/text/BitmapText.d.ts +2 -0
  467. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
  468. package/dist/esm/rendering/text/BitmapText.js +6 -0
  469. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  470. package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -1
  471. package/dist/esm/rendering/text/GlyphAtlas.js +2 -1
  472. package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -1
  473. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +8 -1
  474. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -1
  475. package/dist/esm/rendering/text/GlyphAtlasPool.js +9 -12
  476. package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -1
  477. package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -1
  478. package/dist/esm/rendering/text/GlyphSdf.js +5 -1
  479. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
  480. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
  481. package/dist/esm/rendering/text/HTMLText.js +3 -2
  482. package/dist/esm/rendering/text/HTMLText.js.map +1 -1
  483. package/dist/esm/rendering/text/Text.d.ts +17 -6
  484. package/dist/esm/rendering/text/Text.d.ts.map +1 -1
  485. package/dist/esm/rendering/text/Text.js +9 -12
  486. package/dist/esm/rendering/text/Text.js.map +1 -1
  487. package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
  488. package/dist/esm/rendering/text/TextLayout.js +4 -18
  489. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  490. package/dist/esm/rendering/texture/DataTexture.js +2 -2
  491. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  492. package/dist/esm/rendering/texture/Texture.d.ts +6 -0
  493. package/dist/esm/rendering/texture/Texture.d.ts.map +1 -1
  494. package/dist/esm/rendering/texture/Texture.js +8 -0
  495. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  496. package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -1
  497. package/dist/esm/rendering/texture/TextureRegion.js.map +1 -1
  498. package/dist/esm/rendering/texture/repeat.d.ts.map +1 -1
  499. package/dist/esm/rendering/texture/repeat.js +2 -2
  500. package/dist/esm/rendering/texture/repeat.js.map +1 -1
  501. package/dist/esm/rendering/types.d.ts +37 -2
  502. package/dist/esm/rendering/types.d.ts.map +1 -1
  503. package/dist/esm/rendering/types.js +37 -2
  504. package/dist/esm/rendering/types.js.map +1 -1
  505. package/dist/esm/rendering/video/Video.d.ts +7 -3
  506. package/dist/esm/rendering/video/Video.d.ts.map +1 -1
  507. package/dist/esm/rendering/video/Video.js +7 -3
  508. package/dist/esm/rendering/video/Video.js.map +1 -1
  509. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -1
  510. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +2 -2
  511. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  512. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts +41 -0
  513. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts.map +1 -0
  514. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js +222 -0
  515. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js.map +1 -0
  516. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +55 -3
  517. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
  518. package/dist/esm/rendering/webgl2/WebGl2Backend.js +209 -61
  519. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  520. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -1
  521. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +2 -2
  522. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
  523. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +17 -0
  524. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -1
  525. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +122 -38
  526. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  527. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -1
  528. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +2 -1
  529. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -1
  530. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +16 -1
  531. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -1
  532. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +32 -1
  533. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  534. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -1
  535. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +15 -11
  536. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -1
  537. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -1
  538. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +14 -3
  539. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  540. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +3 -3
  541. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
  542. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -1
  543. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +11 -2
  544. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
  545. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -1
  546. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +7 -2
  547. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  548. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -1
  549. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +3 -2
  550. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js.map +1 -1
  551. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
  552. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +60 -15
  553. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
  554. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js +4 -0
  555. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js.map +1 -0
  556. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js +4 -0
  557. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js.map +1 -0
  558. package/dist/esm/rendering/webgl2/glsl/text.vert.js +1 -1
  559. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts +72 -0
  560. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts.map +1 -0
  561. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js +494 -0
  562. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js.map +1 -0
  563. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +45 -2
  564. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
  565. package/dist/esm/rendering/webgpu/WebGpuBackend.js +247 -69
  566. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  567. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
  568. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +5 -26
  569. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  570. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -0
  571. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -1
  572. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
  573. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  574. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +17 -0
  575. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
  576. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +105 -25
  577. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  578. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +2 -0
  579. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
  580. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +8 -2
  581. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
  582. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +8 -0
  583. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -1
  584. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +20 -0
  585. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -1
  586. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +6 -0
  587. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
  588. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +23 -10
  589. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
  590. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -0
  591. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
  592. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +10 -5
  593. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  594. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +2 -0
  595. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
  596. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +3 -1
  597. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  598. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +2 -0
  599. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
  600. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +22 -9
  601. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
  602. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +16 -3
  603. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
  604. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +50 -6
  605. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  606. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +1 -1
  607. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -1
  608. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +7 -0
  609. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -1
  610. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +8 -0
  611. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -1
  612. package/dist/esm/resources/Asset.d.ts +1 -1
  613. package/dist/esm/resources/Asset.d.ts.map +1 -1
  614. package/dist/esm/resources/Asset.js +0 -2
  615. package/dist/esm/resources/Asset.js.map +1 -1
  616. package/dist/esm/resources/AssetContainer.d.ts +75 -0
  617. package/dist/esm/resources/AssetContainer.d.ts.map +1 -0
  618. package/dist/esm/resources/AssetContainer.js +100 -0
  619. package/dist/esm/resources/AssetContainer.js.map +1 -0
  620. package/dist/esm/resources/AssetDefinitions.d.ts +3 -3
  621. package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -1
  622. package/dist/esm/resources/Assets.d.ts.map +1 -1
  623. package/dist/esm/resources/Assets.js +0 -1
  624. package/dist/esm/resources/Assets.js.map +1 -1
  625. package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -1
  626. package/dist/esm/resources/FactoryRegistry.js +14 -23
  627. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  628. package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -1
  629. package/dist/esm/resources/IndexedDbDatabase.js +8 -1
  630. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  631. package/dist/esm/resources/IndexedDbKeyValueStore.d.ts +37 -0
  632. package/dist/esm/resources/IndexedDbKeyValueStore.d.ts.map +1 -0
  633. package/dist/esm/resources/IndexedDbKeyValueStore.js +58 -0
  634. package/dist/esm/resources/IndexedDbKeyValueStore.js.map +1 -0
  635. package/dist/esm/resources/KeyValueStore.d.ts +31 -0
  636. package/dist/esm/resources/KeyValueStore.d.ts.map +1 -0
  637. package/dist/esm/resources/Loader.d.ts +55 -2
  638. package/dist/esm/resources/Loader.d.ts.map +1 -1
  639. package/dist/esm/resources/Loader.js +159 -14
  640. package/dist/esm/resources/Loader.js.map +1 -1
  641. package/dist/esm/resources/MemoryStore.d.ts +17 -0
  642. package/dist/esm/resources/MemoryStore.d.ts.map +1 -0
  643. package/dist/esm/resources/MemoryStore.js +30 -0
  644. package/dist/esm/resources/MemoryStore.js.map +1 -0
  645. package/dist/esm/resources/WebStorageStore.d.ts +40 -0
  646. package/dist/esm/resources/WebStorageStore.d.ts.map +1 -0
  647. package/dist/esm/resources/WebStorageStore.js +84 -0
  648. package/dist/esm/resources/WebStorageStore.js.map +1 -0
  649. package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
  650. package/dist/esm/resources/coreAssetBindings.js +16 -5
  651. package/dist/esm/resources/coreAssetBindings.js.map +1 -1
  652. package/dist/esm/resources/factories/BmFontFactory.js +4 -4
  653. package/dist/esm/resources/factories/BmFontFactory.js.map +1 -1
  654. package/dist/esm/resources/factories/MusicFactory.d.ts +9 -9
  655. package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -1
  656. package/dist/esm/resources/factories/MusicFactory.js +7 -7
  657. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  658. package/dist/esm/resources/factories/SoundFactory.js +2 -2
  659. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  660. package/dist/esm/resources/factories/SubtitleFactory.d.ts +11 -1
  661. package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -1
  662. package/dist/esm/resources/factories/SubtitleFactory.js +13 -9
  663. package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -1
  664. package/dist/esm/resources/index.d.ts +51 -34
  665. package/dist/esm/resources/index.d.ts.map +1 -1
  666. package/dist/esm/resources/utils.js +4 -4
  667. package/dist/esm/resources/utils.js.map +1 -1
  668. package/dist/esm/ui/Button.d.ts +54 -0
  669. package/dist/esm/ui/Button.d.ts.map +1 -0
  670. package/dist/esm/ui/Button.js +139 -0
  671. package/dist/esm/ui/Button.js.map +1 -0
  672. package/dist/esm/ui/Label.d.ts +17 -0
  673. package/dist/esm/ui/Label.d.ts.map +1 -0
  674. package/dist/esm/ui/Label.js +37 -0
  675. package/dist/esm/ui/Label.js.map +1 -0
  676. package/dist/esm/ui/Panel.d.ts +38 -0
  677. package/dist/esm/ui/Panel.d.ts.map +1 -0
  678. package/dist/esm/ui/Panel.js +61 -0
  679. package/dist/esm/ui/Panel.js.map +1 -0
  680. package/dist/esm/ui/ProgressBar.d.ts +37 -0
  681. package/dist/esm/ui/ProgressBar.d.ts.map +1 -0
  682. package/dist/esm/ui/ProgressBar.js +76 -0
  683. package/dist/esm/ui/ProgressBar.js.map +1 -0
  684. package/dist/esm/ui/ScrollContainer.d.ts +63 -0
  685. package/dist/esm/ui/ScrollContainer.d.ts.map +1 -0
  686. package/dist/esm/ui/ScrollContainer.js +99 -0
  687. package/dist/esm/ui/ScrollContainer.js.map +1 -0
  688. package/dist/esm/ui/Stack.d.ts +34 -0
  689. package/dist/esm/ui/Stack.d.ts.map +1 -0
  690. package/dist/esm/ui/Stack.js +69 -0
  691. package/dist/esm/ui/Stack.js.map +1 -0
  692. package/dist/esm/ui/Tooltip.d.ts +67 -0
  693. package/dist/esm/ui/Tooltip.d.ts.map +1 -0
  694. package/dist/esm/ui/Tooltip.js +133 -0
  695. package/dist/esm/ui/Tooltip.js.map +1 -0
  696. package/dist/esm/ui/UIRoot.d.ts +31 -0
  697. package/dist/esm/ui/UIRoot.d.ts.map +1 -0
  698. package/dist/esm/ui/UIRoot.js +49 -0
  699. package/dist/esm/ui/UIRoot.js.map +1 -0
  700. package/dist/esm/ui/Widget.d.ts +45 -0
  701. package/dist/esm/ui/Widget.d.ts.map +1 -0
  702. package/dist/esm/ui/Widget.js +113 -0
  703. package/dist/esm/ui/Widget.js.map +1 -0
  704. package/dist/esm/ui/index.d.ts +17 -0
  705. package/dist/esm/ui/index.d.ts.map +1 -0
  706. package/dist/exo.debug.esm.js +1 -948
  707. package/dist/exo.debug.esm.js.map +1 -1
  708. package/dist/exo.esm.js +1 -40945
  709. package/dist/exo.esm.js.map +1 -1
  710. package/dist/exo.iife.js +45202 -0
  711. package/dist/exo.iife.js.map +1 -0
  712. package/dist/exo.iife.min.js +2 -0
  713. package/dist/exo.iife.min.js.map +1 -0
  714. package/package.json +37 -14
  715. package/dist/esm/audio/AbstractMedia.d.ts +0 -75
  716. package/dist/esm/audio/AbstractMedia.d.ts.map +0 -1
  717. package/dist/esm/audio/AbstractMedia.js +0 -179
  718. package/dist/esm/audio/AbstractMedia.js.map +0 -1
  719. package/dist/esm/audio/AudioAnalyser.d.ts +0 -128
  720. package/dist/esm/audio/AudioAnalyser.d.ts.map +0 -1
  721. package/dist/esm/audio/AudioAnalyser.js +0 -473
  722. package/dist/esm/audio/AudioAnalyser.js.map +0 -1
  723. package/dist/esm/audio/AudioFilter.d.ts +0 -17
  724. package/dist/esm/audio/AudioFilter.d.ts.map +0 -1
  725. package/dist/esm/audio/AudioFilter.js +0 -15
  726. package/dist/esm/audio/AudioFilter.js.map +0 -1
  727. package/dist/esm/audio/BeatDetector.d.ts +0 -207
  728. package/dist/esm/audio/BeatDetector.d.ts.map +0 -1
  729. package/dist/esm/audio/BeatDetector.js +0 -424
  730. package/dist/esm/audio/BeatDetector.js.map +0 -1
  731. package/dist/esm/audio/Media.d.ts +0 -37
  732. package/dist/esm/audio/Media.d.ts.map +0 -1
  733. package/dist/esm/audio/Music.d.ts +0 -42
  734. package/dist/esm/audio/Music.d.ts.map +0 -1
  735. package/dist/esm/audio/Music.js +0 -164
  736. package/dist/esm/audio/Music.js.map +0 -1
  737. package/dist/esm/audio/OscillatorSound.d.ts +0 -100
  738. package/dist/esm/audio/OscillatorSound.d.ts.map +0 -1
  739. package/dist/esm/audio/OscillatorSound.js +0 -346
  740. package/dist/esm/audio/OscillatorSound.js.map +0 -1
  741. package/dist/esm/audio/dsp/fft.d.ts +0 -23
  742. package/dist/esm/audio/dsp/fft.d.ts.map +0 -1
  743. package/dist/esm/audio/dsp/mel.d.ts +0 -44
  744. package/dist/esm/audio/dsp/mel.d.ts.map +0 -1
  745. package/dist/esm/audio/dsp/mel.js +0 -70
  746. package/dist/esm/audio/dsp/mel.js.map +0 -1
  747. package/dist/esm/audio/dsp/tempogram.d.ts +0 -52
  748. package/dist/esm/audio/dsp/tempogram.d.ts.map +0 -1
  749. package/dist/esm/audio/filters/ChorusFilter.d.ts +0 -54
  750. package/dist/esm/audio/filters/ChorusFilter.d.ts.map +0 -1
  751. package/dist/esm/audio/filters/ChorusFilter.js +0 -155
  752. package/dist/esm/audio/filters/ChorusFilter.js.map +0 -1
  753. package/dist/esm/audio/filters/CompressorFilter.d.ts +0 -54
  754. package/dist/esm/audio/filters/CompressorFilter.d.ts.map +0 -1
  755. package/dist/esm/audio/filters/CompressorFilter.js +0 -123
  756. package/dist/esm/audio/filters/CompressorFilter.js.map +0 -1
  757. package/dist/esm/audio/filters/DelayFilter.d.ts +0 -36
  758. package/dist/esm/audio/filters/DelayFilter.d.ts.map +0 -1
  759. package/dist/esm/audio/filters/DelayFilter.js +0 -114
  760. package/dist/esm/audio/filters/DelayFilter.js.map +0 -1
  761. package/dist/esm/audio/filters/DuckingFilter.d.ts +0 -45
  762. package/dist/esm/audio/filters/DuckingFilter.d.ts.map +0 -1
  763. package/dist/esm/audio/filters/DuckingFilter.js +0 -172
  764. package/dist/esm/audio/filters/DuckingFilter.js.map +0 -1
  765. package/dist/esm/audio/filters/EqualizerFilter.d.ts +0 -51
  766. package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +0 -1
  767. package/dist/esm/audio/filters/EqualizerFilter.js +0 -138
  768. package/dist/esm/audio/filters/EqualizerFilter.js.map +0 -1
  769. package/dist/esm/audio/filters/GranularFilter.d.ts +0 -63
  770. package/dist/esm/audio/filters/GranularFilter.d.ts.map +0 -1
  771. package/dist/esm/audio/filters/GranularFilter.js +0 -107
  772. package/dist/esm/audio/filters/GranularFilter.js.map +0 -1
  773. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +0 -45
  774. package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +0 -1
  775. package/dist/esm/audio/filters/PitchShiftFilter.js +0 -66
  776. package/dist/esm/audio/filters/PitchShiftFilter.js.map +0 -1
  777. package/dist/esm/audio/filters/ReverbFilter.d.ts +0 -38
  778. package/dist/esm/audio/filters/ReverbFilter.d.ts.map +0 -1
  779. package/dist/esm/audio/filters/ReverbFilter.js +0 -122
  780. package/dist/esm/audio/filters/ReverbFilter.js.map +0 -1
  781. package/dist/esm/audio/filters/VocoderFilter.d.ts +0 -50
  782. package/dist/esm/audio/filters/VocoderFilter.d.ts.map +0 -1
  783. package/dist/esm/audio/filters/VocoderFilter.js +0 -94
  784. package/dist/esm/audio/filters/VocoderFilter.js.map +0 -1
  785. package/dist/esm/audio/filters/WorkletFilter.d.ts +0 -54
  786. package/dist/esm/audio/filters/WorkletFilter.d.ts.map +0 -1
  787. package/dist/esm/audio/filters/WorkletFilter.js +0 -110
  788. package/dist/esm/audio/filters/WorkletFilter.js.map +0 -1
  789. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +0 -2
  790. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +0 -1
  791. package/dist/esm/audio/worklets/beat-detector.worklet.js +0 -647
  792. package/dist/esm/audio/worklets/beat-detector.worklet.js.map +0 -1
  793. package/dist/esm/audio/worklets/granular.worklet.d.ts +0 -2
  794. package/dist/esm/audio/worklets/granular.worklet.d.ts.map +0 -1
  795. package/dist/esm/audio/worklets/granular.worklet.js +0 -89
  796. package/dist/esm/audio/worklets/granular.worklet.js.map +0 -1
  797. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +0 -2
  798. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +0 -1
  799. package/dist/esm/audio/worklets/pitch-shift.worklet.js +0 -74
  800. package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +0 -1
  801. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +0 -2
  802. package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +0 -1
  803. package/dist/esm/audio/worklets/vocoder.worklet.js +0 -92
  804. package/dist/esm/audio/worklets/vocoder.worklet.js.map +0 -1
  805. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +0 -10
  806. package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +0 -1
  807. package/dist/esm/input/internal/interactionManagerRegistry.js +0 -10
  808. package/dist/esm/input/internal/interactionManagerRegistry.js.map +0 -1
  809. package/dist/esm/rendering/Camera.d.ts +0 -34
  810. package/dist/esm/rendering/Camera.d.ts.map +0 -1
  811. package/dist/esm/rendering/Camera.js +0 -38
  812. package/dist/esm/rendering/Camera.js.map +0 -1
  813. package/dist/esm/rendering/index.d.ts.map +0 -1
  814. package/dist/esm/rendering/plan/RenderInstruction.js +0 -45
  815. package/dist/esm/rendering/plan/RenderInstruction.js.map +0 -1
  816. package/dist/esm/rendering.d.ts +0 -29
  817. package/dist/esm/rendering.d.ts.map +0 -1
  818. package/dist/esm/rendering.js.map +0 -1
  819. package/dist/esm/resources/JsonStore.d.ts +0 -19
  820. package/dist/esm/resources/JsonStore.d.ts.map +0 -1
  821. package/dist/esm/resources/JsonStore.js +0 -62
  822. package/dist/esm/resources/JsonStore.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { Signal } from '../core/Signal.js';
2
2
  import { AssetImpl, Asset } from './Asset.js';
3
+ import { parseContainer } from './AssetContainer.js';
3
4
  import { defineAssetManifest, BundleLoadError } from './AssetManifest.js';
4
5
  import { AssetsImpl } from './Assets.js';
5
6
  import { CacheFirstStrategy } from './CacheFirstStrategy.js';
@@ -15,7 +16,7 @@ import { FontAsset } from './tokens.js';
15
16
  *
16
17
  * The `Loader` orchestrates fetching, processing, caching, and retrieval of
17
18
  * all engine asset types. It ships with built-in factories for every first-party
18
- * type (Texture, Sound, Music, Video, FontFace, HTMLImageElement, Json, text,
19
+ * type (Texture, Sound, AudioStream, Video, FontFace, HTMLImageElement, Json, text,
19
20
  * SVG, VTT, binary, and WASM) and allows registering custom factories via
20
21
  * {@link register}.
21
22
  *
@@ -40,6 +41,11 @@ class Loader {
40
41
  _registry = new FactoryRegistry();
41
42
  _assetTypeMap = new Map();
42
43
  _resources = new Map();
44
+ // Reverse lookup: loaded resource object → the (type, source) it was first
45
+ // stored under. Backs {@link Loader.keyFor} for scene serialization. A
46
+ // WeakMap so it never retains resources; only object resources participate
47
+ // (primitive results like parsed JSON/text are not keyable → null).
48
+ _resourceKeys = new WeakMap();
43
49
  _manifest = new Map();
44
50
  _bundles = new Map();
45
51
  _inFlight = new Map();
@@ -64,6 +70,9 @@ class Loader {
64
70
  _fetchOptions;
65
71
  _concurrency;
66
72
  _nextTypeId = 1;
73
+ _fgBatchActive = 0;
74
+ _fgBatchLoaded = 0;
75
+ _fgBatchTotal = 0;
67
76
  _backgroundQueue = [];
68
77
  _backgroundActive = 0;
69
78
  _backgroundTotal = 0;
@@ -77,6 +86,14 @@ class Loader {
77
86
  onLoaded = new Signal();
78
87
  /** Dispatched when an asset fails to load during background or bundle loading. */
79
88
  onError = new Signal();
89
+ /** Fired when the first asset in a new load batch starts fetching. */
90
+ onLoadStart = new Signal();
91
+ /** Fired after each asset settles (loaded or failed). `loaded` = resolved count, `total` = batch size. */
92
+ onLoadProgress = new Signal();
93
+ /** Fired when all queued assets in the batch have settled. */
94
+ onLoadComplete = new Signal();
95
+ /** Fired when an asset fails to load. Does NOT prevent onLoadComplete. */
96
+ onLoadError = new Signal();
80
97
  constructor(options = {}) {
81
98
  this._basePath = options.basePath ?? '';
82
99
  this._fetchOptions = options.fetchOptions ?? {};
@@ -112,9 +129,10 @@ class Loader {
112
129
  };
113
130
  Object.defineProperty(syntheticCtor, 'name', { value: typeName });
114
131
  this._assetTypeMap.set(typeName, syntheticCtor);
132
+ const boundIdentityKey = ctorOrHandler.getIdentityKey?.bind(ctorOrHandler);
115
133
  this._handlerFunctions.set(syntheticCtor, {
116
134
  load: (config, ctx) => ctorOrHandler.load(config, ctx),
117
- getIdentityKey: ctorOrHandler.getIdentityKey?.bind(ctorOrHandler),
135
+ ...(boundIdentityKey !== undefined && { getIdentityKey: boundIdentityKey }),
118
136
  });
119
137
  }
120
138
  return this;
@@ -146,7 +164,10 @@ class Loader {
146
164
  this._addManifestEntry(ctor, source, source);
147
165
  }
148
166
  else if (Array.isArray(source)) {
149
- for (const path of source) {
167
+ // `Array.isArray` narrows the union to `any[]`, dropping the element type;
168
+ // the only array member of the union is `readonly string[]`.
169
+ const paths = source;
170
+ for (const path of paths) {
150
171
  this._addManifestEntry(ctor, path, path);
151
172
  }
152
173
  }
@@ -246,6 +267,38 @@ class Loader {
246
267
  throw new BundleLoadError(name, failures);
247
268
  }
248
269
  }
270
+ /**
271
+ * Load every asset packed into a binary container (`.exoa`) in a **single
272
+ * request**. Unlike {@link loadBundle} (one fetch per entry), a container is
273
+ * one file with an embedded index: its bytes are fetched once (and cached
274
+ * cross-session like any asset), then each slice is unpacked through its
275
+ * type's handler and stored under the entry's alias — retrievable with
276
+ * {@link get} exactly as if it had been loaded individually.
277
+ *
278
+ * Each entry's asset type must support byte-source construction
279
+ * ({@link AssetHandler.createFromBytes}); the factory-backed core types
280
+ * (textures, audio, JSON, text, binary, …) do. Throws on a malformed
281
+ * container, an unknown type, or a type that cannot be built from bytes.
282
+ *
283
+ * @param url Path to the container file, resolved against the loader base path.
284
+ */
285
+ async loadContainer(url) {
286
+ const buffer = await this._contextFetch(url, '__ctx_binary', response => response.arrayBuffer());
287
+ const { entries, dataStart } = parseContainer(buffer);
288
+ // Resolve every type up front so an unknown type fails before any asset is stored.
289
+ const resolved = entries.map(entry => {
290
+ const type = this._assetTypeMap.get(entry.type);
291
+ if (!type) {
292
+ throw new Error(`Container "${url}" references unknown asset type "${entry.type}".`);
293
+ }
294
+ return { entry, type };
295
+ });
296
+ await Promise.all(resolved.map(({ entry, type }) => {
297
+ const start = dataStart + entry.offset;
298
+ const slice = buffer.slice(start, start + entry.length);
299
+ return this._injectSource(type, entry.alias, slice, entry.options);
300
+ }));
301
+ }
249
302
  /**
250
303
  * Returns `true` if every asset in the named bundle has been loaded and is
251
304
  * currently held in the in-memory resource store.
@@ -293,12 +346,15 @@ class Loader {
293
346
  }
294
347
  // FontAsset requires a family option — infer it from the filename when not provided
295
348
  const options = ctor === FontAsset ? { family: (path.split('/').pop()?.split(/[?#]/)[0] ?? '').replace(/\.[^.]+$/, '') } : undefined;
349
+ this._onFgBatchStart(path, path);
296
350
  let notifyFn = null;
297
351
  const promise = this._loadSingle(ctor, path, options).then(v => {
298
352
  notifyFn?.(true);
353
+ this._onFgBatchSettled(path, true);
299
354
  return v;
300
355
  }, e => {
301
356
  notifyFn?.(false);
357
+ this._onFgBatchSettled(path, false, this._normalizeError(e));
302
358
  throw e;
303
359
  });
304
360
  const queue = new LoadingQueue(promise, 1);
@@ -311,12 +367,15 @@ class Loader {
311
367
  const source = arg1;
312
368
  const options = arg2;
313
369
  if (typeof source === 'string') {
370
+ this._onFgBatchStart(source, source);
314
371
  let notifyFn = null;
315
372
  const promise = this._loadSingle(ctor, source, options).then(v => {
316
373
  notifyFn?.(true);
374
+ this._onFgBatchSettled(source, true);
317
375
  return v;
318
376
  }, e => {
319
377
  notifyFn?.(false);
378
+ this._onFgBatchSettled(source, false, this._normalizeError(e));
320
379
  throw e;
321
380
  });
322
381
  const queue = new LoadingQueue(promise, 1);
@@ -327,13 +386,18 @@ class Loader {
327
386
  const paths = source;
328
387
  let notifyFn = null;
329
388
  const results = new Array(paths.length);
330
- const promises = paths.map((path, i) => this._loadSingle(ctor, path, options).then(v => {
331
- results[i] = v;
332
- notifyFn?.(true);
333
- }, e => {
334
- notifyFn?.(false);
335
- throw e;
336
- }));
389
+ const promises = paths.map((path, i) => {
390
+ this._onFgBatchStart(path, path);
391
+ return this._loadSingle(ctor, path, options).then(v => {
392
+ results[i] = v;
393
+ notifyFn?.(true);
394
+ this._onFgBatchSettled(path, true);
395
+ }, e => {
396
+ notifyFn?.(false);
397
+ this._onFgBatchSettled(path, false, this._normalizeError(e));
398
+ throw e;
399
+ });
400
+ });
337
401
  const promise = Promise.all(promises).then(() => results);
338
402
  const queue = new LoadingQueue(promise, paths.length);
339
403
  notifyFn = queue._notifyItem.bind(queue);
@@ -348,11 +412,14 @@ class Loader {
348
412
  const itemOptions = typeof pathOrConfig === 'string'
349
413
  ? options
350
414
  : { ...pathOrConfig, ...(typeof options === 'object' && options !== null ? options : {}) };
415
+ this._onFgBatchStart(alias, path);
351
416
  return this._loadSingle(ctor, alias, itemOptions, path).then(v => {
352
417
  result[alias] = v;
353
418
  notifyFn?.(true);
419
+ this._onFgBatchSettled(alias, true);
354
420
  }, e => {
355
421
  notifyFn?.(false);
422
+ this._onFgBatchSettled(alias, false, this._normalizeError(e));
356
423
  throw e;
357
424
  });
358
425
  });
@@ -365,7 +432,7 @@ class Loader {
365
432
  const configMap = arg0;
366
433
  const items = Object.entries(configMap).map(([alias, value]) => ({
367
434
  alias,
368
- asset: (value instanceof AssetImpl ? value : new Asset(value)),
435
+ asset: value instanceof AssetImpl ? value : new Asset(value),
369
436
  }));
370
437
  return this._createLoadingQueue(items, results => {
371
438
  const out = {};
@@ -449,6 +516,23 @@ class Loader {
449
516
  const ctor = type;
450
517
  return this._resources.get(ctor)?.has(alias) ?? false;
451
518
  }
519
+ /**
520
+ * Reverse lookup: given a loaded resource object, return the asset type and
521
+ * source key it was first loaded under, or `null` for runtime-created,
522
+ * unloaded, or non-object resources.
523
+ *
524
+ * When a resource is shared across several aliases, the **first** alias it
525
+ * was stored under is returned (the canonical key). Primitive results
526
+ * (parsed JSON, text, CSV rows) are not keyable. Used by scene serialization
527
+ * to turn a live asset reference back into a portable source key; the
528
+ * contract is that the same asset is pre-loaded under that key before a
529
+ * matching deserialize.
530
+ */
531
+ keyFor(resource) {
532
+ // WeakMap.get returns undefined for any non-registered or non-weakly-holdable
533
+ // key, so primitive/unkeyed inputs safely resolve to null without a guard.
534
+ return this._resourceKeys.get(resource) ?? null;
535
+ }
452
536
  unload(arg0, arg1) {
453
537
  if (arg0 instanceof AssetImpl) {
454
538
  const asset = arg0;
@@ -619,11 +703,11 @@ class Loader {
619
703
  return { source, options: rest };
620
704
  };
621
705
  const boundIdentityKey = handler.getIdentityKey?.bind(handler);
706
+ const boundCreateFromBytes = handler.createFromBytes?.bind(handler);
622
707
  this._handlerFunctions.set(keys.type, {
623
708
  load: (config, ctx) => handler.load(toRequest(config), ctx),
624
- getIdentityKey: boundIdentityKey
625
- ? (config) => boundIdentityKey(toRequest(config))
626
- : undefined,
709
+ ...(boundIdentityKey && { getIdentityKey: (config) => boundIdentityKey(toRequest(config)) }),
710
+ ...(boundCreateFromBytes && { createFromBytes: (bytes, options) => boundCreateFromBytes(bytes, options) }),
627
711
  });
628
712
  for (const name of resolvedNames) {
629
713
  this._assetTypeMap.set(name, keys.type);
@@ -697,6 +781,10 @@ class Loader {
697
781
  this.onBundleProgress.destroy();
698
782
  this.onLoaded.destroy();
699
783
  this.onError.destroy();
784
+ this.onLoadStart.destroy();
785
+ this.onLoadProgress.destroy();
786
+ this.onLoadComplete.destroy();
787
+ this.onLoadError.destroy();
700
788
  }
701
789
  // -----------------------------------------------------------------------
702
790
  // Internal — loading
@@ -763,6 +851,7 @@ class Loader {
763
851
  const results = new Map();
764
852
  let notifyFn = null;
765
853
  const itemPromises = items.map(({ alias, asset }) => {
854
+ this._onFgBatchStart(alias, asset.source);
766
855
  const ctor = this._assetTypeMap.get(asset.type);
767
856
  if (!ctor) {
768
857
  // Must call _notifyItem(false) so LoadingProgress doesn't remain stuck.
@@ -770,14 +859,17 @@ class Loader {
770
859
  notifyFn?.(true);
771
860
  }, error => {
772
861
  notifyFn?.(false);
862
+ this._onFgBatchSettled(alias, false, this._normalizeError(error));
773
863
  throw error;
774
864
  });
775
865
  }
776
866
  return this._loadSingleAsset(ctor, alias, asset).then(resource => {
777
867
  results.set(alias, resource);
778
868
  notifyFn?.(true);
869
+ this._onFgBatchSettled(alias, true);
779
870
  }, error => {
780
871
  notifyFn?.(false);
872
+ this._onFgBatchSettled(alias, false, this._normalizeError(error));
781
873
  throw error;
782
874
  });
783
875
  });
@@ -910,6 +1002,26 @@ class Loader {
910
1002
  };
911
1003
  return this._cacheStrategy.resolve({ storageName, key: source, url, requestOptions: this._fetchOptions, factory, options: undefined }, this._stores);
912
1004
  }
1005
+ /**
1006
+ * Construct an asset from in-memory `bytes` (no fetch) and store it under
1007
+ * `alias`. Uses the type's {@link AssetHandler.createFromBytes} when present,
1008
+ * otherwise a `register()`-style factory; throws if neither can build from
1009
+ * bytes. The backing path for {@link loadContainer}.
1010
+ */
1011
+ async _injectSource(type, alias, bytes, options) {
1012
+ const handlerEntry = this._handlerFunctions.get(type);
1013
+ let resource;
1014
+ if (handlerEntry?.createFromBytes) {
1015
+ resource = await handlerEntry.createFromBytes(bytes, options);
1016
+ }
1017
+ else if (this._registry.has(type)) {
1018
+ resource = await this._registry.resolve(type).create(bytes, options);
1019
+ }
1020
+ else {
1021
+ throw new Error(`Asset type "${type.name}" cannot be built from container bytes (no createFromBytes handler).`);
1022
+ }
1023
+ this._storeResource(type, alias, resource);
1024
+ }
913
1025
  async _fetch(type, alias, path, options) {
914
1026
  const factory = this._registry.resolve(type);
915
1027
  const url = this._resolveUrl(path);
@@ -933,6 +1045,33 @@ class Loader {
933
1045
  }
934
1046
  }
935
1047
  // -----------------------------------------------------------------------
1048
+ // Internal — foreground batch tracking
1049
+ // -----------------------------------------------------------------------
1050
+ _onFgBatchStart(key, url) {
1051
+ if (this._fgBatchActive === 0) {
1052
+ this._fgBatchLoaded = 0;
1053
+ }
1054
+ this._fgBatchActive++;
1055
+ this._fgBatchTotal++;
1056
+ if (this._fgBatchActive === 1) {
1057
+ this.onLoadStart.dispatch(key, url);
1058
+ }
1059
+ }
1060
+ _onFgBatchSettled(key, success, error) {
1061
+ if (success) {
1062
+ this._fgBatchLoaded++;
1063
+ }
1064
+ else if (error !== undefined) {
1065
+ this.onLoadError.dispatch(key, error);
1066
+ }
1067
+ this._fgBatchActive--;
1068
+ this.onLoadProgress.dispatch(this._fgBatchLoaded, this._fgBatchTotal, key);
1069
+ if (this._fgBatchActive === 0) {
1070
+ this._fgBatchTotal = 0;
1071
+ this.onLoadComplete.dispatch();
1072
+ }
1073
+ }
1074
+ // -----------------------------------------------------------------------
936
1075
  // Internal — background queue
937
1076
  // -----------------------------------------------------------------------
938
1077
  _drainBackground() {
@@ -955,6 +1094,8 @@ class Loader {
955
1094
  if (index === -1)
956
1095
  return;
957
1096
  const [entry] = this._backgroundQueue.splice(index, 1);
1097
+ if (entry === undefined)
1098
+ return;
958
1099
  this._startBackgroundEntry(entry);
959
1100
  }
960
1101
  _isQueuedInBackground(type, alias) {
@@ -1129,6 +1270,10 @@ class Loader {
1129
1270
  this._resources.set(type, typeResources);
1130
1271
  }
1131
1272
  typeResources.set(alias, resource);
1273
+ // Record the canonical reverse key (first alias wins) for object resources.
1274
+ if (typeof resource === 'object' && resource !== null && !this._resourceKeys.has(resource)) {
1275
+ this._resourceKeys.set(resource, { type, source: alias });
1276
+ }
1132
1277
  this.onLoaded.dispatch(type, alias, resource);
1133
1278
  }
1134
1279
  _getTypeId(type) {
@@ -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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"}
@@ -0,0 +1,17 @@
1
+ import type { KeyValueStore } from './KeyValueStore';
2
+ /**
3
+ * In-memory {@link KeyValueStore} backed by a `Map`. Holds values **by
4
+ * reference** — no cloning, no serialization — so it accepts any value but does
5
+ * not persist across sessions and does not isolate the caller from later
6
+ * mutation of a stored object. Ideal for tests and ephemeral data, and as a
7
+ * drop-in store when persistence is not needed.
8
+ */
9
+ export declare class MemoryStore implements KeyValueStore {
10
+ private readonly _map;
11
+ get<T>(key: string): Promise<T | null>;
12
+ set(key: string, value: unknown): Promise<void>;
13
+ has(key: string): Promise<boolean>;
14
+ delete(key: string): Promise<boolean>;
15
+ clear(): Promise<boolean>;
16
+ }
17
+ //# sourceMappingURL=MemoryStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../../src/resources/MemoryStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;IAE5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAItC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;CAKjC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * In-memory {@link KeyValueStore} backed by a `Map`. Holds values **by
3
+ * reference** — no cloning, no serialization — so it accepts any value but does
4
+ * not persist across sessions and does not isolate the caller from later
5
+ * mutation of a stored object. Ideal for tests and ephemeral data, and as a
6
+ * drop-in store when persistence is not needed.
7
+ */
8
+ class MemoryStore {
9
+ _map = new Map();
10
+ get(key) {
11
+ return Promise.resolve(this._map.has(key) ? this._map.get(key) : null);
12
+ }
13
+ set(key, value) {
14
+ this._map.set(key, value);
15
+ return Promise.resolve();
16
+ }
17
+ has(key) {
18
+ return Promise.resolve(this._map.has(key));
19
+ }
20
+ delete(key) {
21
+ return Promise.resolve(this._map.delete(key));
22
+ }
23
+ clear() {
24
+ this._map.clear();
25
+ return Promise.resolve(true);
26
+ }
27
+ }
28
+
29
+ export { MemoryStore };
30
+ //# sourceMappingURL=MemoryStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryStore.js","sources":["../../../../src/resources/MemoryStore.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;AAMG;MACU,WAAW,CAAA;AACL,IAAA,IAAI,GAAG,IAAI,GAAG,EAAmB;AAE3C,IAAA,GAAG,CAAI,GAAW,EAAA;AACvB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAO,GAAG,IAAI,CAAC;IAC/E;IAEO,GAAG,CAAC,GAAW,EAAE,KAAc,EAAA;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAEzB,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE;IAC1B;AAEO,IAAA,GAAG,CAAC,GAAW,EAAA;AACpB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C;AAEO,IAAA,MAAM,CAAC,GAAW,EAAA;AACvB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/C;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAEjB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9B;AACD;;;;"}
@@ -0,0 +1,40 @@
1
+ import type { KeyValueStore } from './KeyValueStore';
2
+ /** Construction options for {@link WebStorageStore}. */
3
+ export interface WebStorageStoreOptions {
4
+ /**
5
+ * Key prefix namespacing this store within the shared Web Storage keyspace, so
6
+ * several stores (and other code) can coexist in one `localStorage`. Default `''`.
7
+ */
8
+ prefix?: string;
9
+ }
10
+ /**
11
+ * {@link KeyValueStore} over the Web Storage API (`localStorage` or
12
+ * `sessionStorage`).
13
+ *
14
+ * Web Storage holds only strings, so values are JSON-serialized on write and
15
+ * parsed on read — they must be JSON-serializable (**no** Blobs/`ArrayBuffer`s;
16
+ * use {@link IndexedDbKeyValueStore} for those). The backend is synchronous with
17
+ * a small (~5–10 MB) quota; the async interface wraps it so call sites stay
18
+ * uniform across stores. This is the moral successor of the former `JsonStore`:
19
+ * JSON is intrinsic here because the backend can only hold strings.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const store = new WebStorageStore(localStorage, { prefix: 'mygame:' });
24
+ * await store.set('slot-1', scene.serialize());
25
+ * const data = await store.get<SerializedScene>('slot-1');
26
+ * if (data) scene.deserialize(data);
27
+ * ```
28
+ */
29
+ export declare class WebStorageStore implements KeyValueStore {
30
+ private readonly _storage;
31
+ private readonly _prefix;
32
+ /** Wrap a `Storage` object (`localStorage`/`sessionStorage`, or a compatible polyfill). */
33
+ constructor(storage: Storage, options?: WebStorageStoreOptions);
34
+ get<T>(key: string): Promise<T | null>;
35
+ set(key: string, value: unknown): Promise<void>;
36
+ has(key: string): Promise<boolean>;
37
+ delete(key: string): Promise<boolean>;
38
+ clear(): Promise<boolean>;
39
+ }
40
+ //# sourceMappingURL=WebStorageStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebStorageStore.d.ts","sourceRoot":"","sources":["../../../src/resources/WebStorageStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,2FAA2F;gBACxE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,sBAA2B;IAKlE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IActC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASrC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;CAyBjC"}