@codexo/exojs 0.13.0 → 0.14.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 (739) hide show
  1. package/CHANGELOG.md +133 -6
  2. package/README.md +80 -63
  3. package/dist/esm/animation/Tween.js +1 -1
  4. package/dist/esm/animation/Tween.js.map +1 -1
  5. package/dist/esm/animation/TweenManager.d.ts +9 -5
  6. package/dist/esm/animation/TweenManager.d.ts.map +1 -1
  7. package/dist/esm/animation/TweenManager.js +14 -8
  8. package/dist/esm/animation/TweenManager.js.map +1 -1
  9. package/dist/esm/animation/index.d.ts +6 -4
  10. package/dist/esm/animation/index.d.ts.map +1 -1
  11. package/dist/esm/audio/AudioBus.d.ts +12 -12
  12. package/dist/esm/audio/AudioBus.js +29 -29
  13. package/dist/esm/audio/AudioEffect.d.ts +18 -0
  14. package/dist/esm/audio/AudioEffect.d.ts.map +1 -0
  15. package/dist/esm/audio/AudioEffect.js +16 -0
  16. package/dist/esm/audio/AudioEffect.js.map +1 -0
  17. package/dist/esm/audio/AudioGenerator.d.ts +91 -0
  18. package/dist/esm/audio/AudioGenerator.d.ts.map +1 -0
  19. package/dist/esm/audio/AudioGenerator.js +165 -0
  20. package/dist/esm/audio/AudioGenerator.js.map +1 -0
  21. package/dist/esm/audio/AudioGeneratorVoice.d.ts +52 -0
  22. package/dist/esm/audio/AudioGeneratorVoice.d.ts.map +1 -0
  23. package/dist/esm/audio/AudioGeneratorVoice.js +141 -0
  24. package/dist/esm/audio/AudioGeneratorVoice.js.map +1 -0
  25. package/dist/esm/audio/AudioInput.d.ts +39 -0
  26. package/dist/esm/audio/AudioInput.d.ts.map +1 -0
  27. package/dist/esm/audio/AudioInput.js +53 -0
  28. package/dist/esm/audio/AudioInput.js.map +1 -0
  29. package/dist/esm/audio/AudioManager.d.ts +72 -34
  30. package/dist/esm/audio/AudioManager.d.ts.map +1 -1
  31. package/dist/esm/audio/AudioManager.js +97 -51
  32. package/dist/esm/audio/AudioManager.js.map +1 -1
  33. package/dist/esm/audio/AudioStream.d.ts +49 -0
  34. package/dist/esm/audio/AudioStream.d.ts.map +1 -0
  35. package/dist/esm/audio/AudioStream.js +109 -0
  36. package/dist/esm/audio/AudioStream.js.map +1 -0
  37. package/dist/esm/audio/AudioStreamVoice.d.ts +61 -0
  38. package/dist/esm/audio/AudioStreamVoice.d.ts.map +1 -0
  39. package/dist/esm/audio/AudioStreamVoice.js +137 -0
  40. package/dist/esm/audio/AudioStreamVoice.js.map +1 -0
  41. package/dist/esm/audio/BaseVoice.d.ts +111 -0
  42. package/dist/esm/audio/BaseVoice.d.ts.map +1 -0
  43. package/dist/esm/audio/BaseVoice.js +298 -0
  44. package/dist/esm/audio/BaseVoice.js.map +1 -0
  45. package/dist/esm/audio/BiquadEffect.d.ts +53 -0
  46. package/dist/esm/audio/BiquadEffect.d.ts.map +1 -0
  47. package/dist/esm/audio/BiquadEffect.js +110 -0
  48. package/dist/esm/audio/BiquadEffect.js.map +1 -0
  49. package/dist/esm/audio/InputVoice.d.ts +41 -0
  50. package/dist/esm/audio/InputVoice.d.ts.map +1 -0
  51. package/dist/esm/audio/InputVoice.js +85 -0
  52. package/dist/esm/audio/InputVoice.js.map +1 -0
  53. package/dist/esm/audio/NoopVoice.d.ts +29 -0
  54. package/dist/esm/audio/NoopVoice.d.ts.map +1 -0
  55. package/dist/esm/audio/NoopVoice.js +52 -0
  56. package/dist/esm/audio/NoopVoice.js.map +1 -0
  57. package/dist/esm/audio/Playable.d.ts +135 -0
  58. package/dist/esm/audio/Playable.d.ts.map +1 -0
  59. package/dist/esm/audio/Sound.d.ts +64 -69
  60. package/dist/esm/audio/Sound.d.ts.map +1 -1
  61. package/dist/esm/audio/Sound.js +176 -377
  62. package/dist/esm/audio/Sound.js.map +1 -1
  63. package/dist/esm/audio/SoundVoice.d.ts +63 -0
  64. package/dist/esm/audio/SoundVoice.d.ts.map +1 -0
  65. package/dist/esm/audio/SoundVoice.js +168 -0
  66. package/dist/esm/audio/SoundVoice.js.map +1 -0
  67. package/dist/esm/audio/{filters/WorkletFilter.d.ts → WorkletEffect.d.ts} +3 -3
  68. package/dist/esm/audio/WorkletEffect.d.ts.map +1 -0
  69. package/dist/esm/audio/{filters/WorkletFilter.js → WorkletEffect.js} +6 -6
  70. package/dist/esm/audio/WorkletEffect.js.map +1 -0
  71. package/dist/esm/audio/audio-context.js +1 -1
  72. package/dist/esm/audio/audio-context.js.map +1 -1
  73. package/dist/esm/audio/crossFade.d.ts +22 -13
  74. package/dist/esm/audio/crossFade.d.ts.map +1 -1
  75. package/dist/esm/audio/crossFade.js +21 -13
  76. package/dist/esm/audio/crossFade.js.map +1 -1
  77. package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -2
  78. package/dist/esm/audio/filters/HighpassFilter.js +2 -2
  79. package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -2
  80. package/dist/esm/audio/filters/LowpassFilter.js +2 -2
  81. package/dist/esm/audio/filters/index.d.ts +0 -10
  82. package/dist/esm/audio/filters/index.d.ts.map +1 -1
  83. package/dist/esm/audio/index.d.ts +13 -15
  84. package/dist/esm/audio/index.d.ts.map +1 -1
  85. package/dist/esm/core/Application.d.ts +127 -10
  86. package/dist/esm/core/Application.d.ts.map +1 -1
  87. package/dist/esm/core/Application.js +226 -25
  88. package/dist/esm/core/Application.js.map +1 -1
  89. package/dist/esm/core/BuildInfo.js +2 -2
  90. package/dist/esm/core/Color.d.ts +6 -4
  91. package/dist/esm/core/Color.d.ts.map +1 -1
  92. package/dist/esm/core/Color.js +19 -15
  93. package/dist/esm/core/Color.js.map +1 -1
  94. package/dist/esm/core/DisposalScope.d.ts +50 -0
  95. package/dist/esm/core/DisposalScope.d.ts.map +1 -0
  96. package/dist/esm/core/DisposalScope.js +86 -0
  97. package/dist/esm/core/DisposalScope.js.map +1 -0
  98. package/dist/esm/core/Perf.d.ts +10 -22
  99. package/dist/esm/core/Perf.d.ts.map +1 -1
  100. package/dist/esm/core/Perf.js +15 -8
  101. package/dist/esm/core/Perf.js.map +1 -1
  102. package/dist/esm/core/Registry.d.ts +64 -0
  103. package/dist/esm/core/Registry.d.ts.map +1 -0
  104. package/dist/esm/core/Registry.js +79 -0
  105. package/dist/esm/core/Registry.js.map +1 -0
  106. package/dist/esm/core/Scene.d.ts +69 -21
  107. package/dist/esm/core/Scene.d.ts.map +1 -1
  108. package/dist/esm/core/Scene.js +109 -16
  109. package/dist/esm/core/Scene.js.map +1 -1
  110. package/dist/esm/core/SceneManager.d.ts +22 -60
  111. package/dist/esm/core/SceneManager.d.ts.map +1 -1
  112. package/dist/esm/core/SceneManager.js +68 -153
  113. package/dist/esm/core/SceneManager.js.map +1 -1
  114. package/dist/esm/core/SceneNode.d.ts +43 -2
  115. package/dist/esm/core/SceneNode.d.ts.map +1 -1
  116. package/dist/esm/core/SceneNode.js +101 -12
  117. package/dist/esm/core/SceneNode.js.map +1 -1
  118. package/dist/esm/core/Signal.js.map +1 -1
  119. package/dist/esm/core/Stage.d.ts +42 -0
  120. package/dist/esm/core/Stage.d.ts.map +1 -0
  121. package/dist/esm/core/System.d.ts +22 -0
  122. package/dist/esm/core/System.d.ts.map +1 -0
  123. package/dist/esm/core/SystemRegistry.d.ts +35 -0
  124. package/dist/esm/core/SystemRegistry.d.ts.map +1 -0
  125. package/dist/esm/core/SystemRegistry.js +104 -0
  126. package/dist/esm/core/SystemRegistry.js.map +1 -0
  127. package/dist/esm/core/Time.d.ts +15 -0
  128. package/dist/esm/core/Time.d.ts.map +1 -1
  129. package/dist/esm/core/Time.js +25 -0
  130. package/dist/esm/core/Time.js.map +1 -1
  131. package/dist/esm/core/dev.d.ts +9 -4
  132. package/dist/esm/core/dev.d.ts.map +1 -1
  133. package/dist/esm/core/dev.js +5 -0
  134. package/dist/esm/core/dev.js.map +1 -1
  135. package/dist/esm/core/index.d.ts +26 -15
  136. package/dist/esm/core/index.d.ts.map +1 -1
  137. package/dist/esm/core/letterbox.d.ts +25 -0
  138. package/dist/esm/core/letterbox.d.ts.map +1 -0
  139. package/dist/esm/core/letterbox.js +26 -0
  140. package/dist/esm/core/letterbox.js.map +1 -0
  141. package/dist/esm/core/serialization/NodeSerializer.d.ts +71 -0
  142. package/dist/esm/core/serialization/NodeSerializer.d.ts.map +1 -0
  143. package/dist/esm/core/serialization/Prefab.d.ts +49 -0
  144. package/dist/esm/core/serialization/Prefab.d.ts.map +1 -0
  145. package/dist/esm/core/serialization/Prefab.js +61 -0
  146. package/dist/esm/core/serialization/Prefab.js.map +1 -0
  147. package/dist/esm/core/serialization/SerializationRegistry.d.ts +95 -0
  148. package/dist/esm/core/serialization/SerializationRegistry.d.ts.map +1 -0
  149. package/dist/esm/core/serialization/SerializationRegistry.js +108 -0
  150. package/dist/esm/core/serialization/SerializationRegistry.js.map +1 -0
  151. package/dist/esm/core/serialization/commonFields.d.ts +20 -0
  152. package/dist/esm/core/serialization/commonFields.d.ts.map +1 -0
  153. package/dist/esm/core/serialization/commonFields.js +149 -0
  154. package/dist/esm/core/serialization/commonFields.js.map +1 -0
  155. package/dist/esm/core/serialization/coreSerializers.d.ts +9 -0
  156. package/dist/esm/core/serialization/coreSerializers.d.ts.map +1 -0
  157. package/dist/esm/core/serialization/coreSerializers.js +101 -0
  158. package/dist/esm/core/serialization/coreSerializers.js.map +1 -0
  159. package/dist/esm/core/serialization/index.d.ts +6 -0
  160. package/dist/esm/core/serialization/index.d.ts.map +1 -0
  161. package/dist/esm/core/serialization/read.d.ts +65 -0
  162. package/dist/esm/core/serialization/read.d.ts.map +1 -0
  163. package/dist/esm/core/serialization/read.js +48 -0
  164. package/dist/esm/core/serialization/read.js.map +1 -0
  165. package/dist/esm/core/serialization/renderingSerializers.d.ts +7 -0
  166. package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -0
  167. package/dist/esm/core/serialization/renderingSerializers.js +311 -0
  168. package/dist/esm/core/serialization/renderingSerializers.js.map +1 -0
  169. package/dist/esm/core/serialization/serialize.d.ts +56 -0
  170. package/dist/esm/core/serialization/serialize.d.ts.map +1 -0
  171. package/dist/esm/core/serialization/serialize.js +144 -0
  172. package/dist/esm/core/serialization/serialize.js.map +1 -0
  173. package/dist/esm/core/serialization/serializerHelpers.d.ts +46 -0
  174. package/dist/esm/core/serialization/serializerHelpers.d.ts.map +1 -0
  175. package/dist/esm/core/serialization/serializerHelpers.js +161 -0
  176. package/dist/esm/core/serialization/serializerHelpers.js.map +1 -0
  177. package/dist/esm/core/serialization/types.d.ts +49 -0
  178. package/dist/esm/core/serialization/types.d.ts.map +1 -0
  179. package/dist/esm/core/serialization/types.js +9 -0
  180. package/dist/esm/core/serialization/types.js.map +1 -0
  181. package/dist/esm/core/serialization/uiSerializers.d.ts +7 -0
  182. package/dist/esm/core/serialization/uiSerializers.d.ts.map +1 -0
  183. package/dist/esm/core/serialization/uiSerializers.js +206 -0
  184. package/dist/esm/core/serialization/uiSerializers.js.map +1 -0
  185. package/dist/esm/core/types.d.ts +1 -1
  186. package/dist/esm/core/types.d.ts.map +1 -1
  187. package/dist/esm/core/utils.d.ts +1 -16
  188. package/dist/esm/core/utils.d.ts.map +1 -1
  189. package/dist/esm/core/utils.js +2 -100
  190. package/dist/esm/core/utils.js.map +1 -1
  191. package/dist/esm/debug/PerformanceLayer.js +8 -9
  192. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  193. package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -1
  194. package/dist/esm/debug/PointerStackLayer.js +9 -6
  195. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  196. package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -1
  197. package/dist/esm/debug/RenderPassInspectorLayer.js +19 -12
  198. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  199. package/dist/esm/extensions/Extension.d.ts +39 -4
  200. package/dist/esm/extensions/Extension.d.ts.map +1 -1
  201. package/dist/esm/extensions/materialize.d.ts +9 -1
  202. package/dist/esm/extensions/materialize.d.ts.map +1 -1
  203. package/dist/esm/extensions/materialize.js +17 -2
  204. package/dist/esm/extensions/materialize.js.map +1 -1
  205. package/dist/esm/extensions/snapshot.d.ts +2 -1
  206. package/dist/esm/extensions/snapshot.d.ts.map +1 -1
  207. package/dist/esm/extensions/snapshot.js +8 -0
  208. package/dist/esm/extensions/snapshot.js.map +1 -1
  209. package/dist/esm/index.d.ts +2 -1
  210. package/dist/esm/index.d.ts.map +1 -1
  211. package/dist/esm/index.js +34 -59
  212. package/dist/esm/index.js.map +1 -1
  213. package/dist/esm/input/FocusManager.d.ts +59 -0
  214. package/dist/esm/input/FocusManager.d.ts.map +1 -0
  215. package/dist/esm/input/FocusManager.js +175 -0
  216. package/dist/esm/input/FocusManager.js.map +1 -0
  217. package/dist/esm/input/Gamepad.d.ts.map +1 -1
  218. package/dist/esm/input/Gamepad.js +8 -4
  219. package/dist/esm/input/Gamepad.js.map +1 -1
  220. package/dist/esm/input/GamepadAxis.js +2 -2
  221. package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -1
  222. package/dist/esm/input/GamepadDefinitions.js +6 -2
  223. package/dist/esm/input/GamepadDefinitions.js.map +1 -1
  224. package/dist/esm/input/GestureRecognizer.d.ts +1 -2
  225. package/dist/esm/input/GestureRecognizer.d.ts.map +1 -1
  226. package/dist/esm/input/GestureRecognizer.js +1 -3
  227. package/dist/esm/input/GestureRecognizer.js.map +1 -1
  228. package/dist/esm/input/InputBinding.js +3 -3
  229. package/dist/esm/input/InputBinding.js.map +1 -1
  230. package/dist/esm/input/InputManager.d.ts +7 -2
  231. package/dist/esm/input/InputManager.d.ts.map +1 -1
  232. package/dist/esm/input/InputManager.js +35 -21
  233. package/dist/esm/input/InputManager.js.map +1 -1
  234. package/dist/esm/input/InteractionManager.d.ts +67 -2
  235. package/dist/esm/input/InteractionManager.d.ts.map +1 -1
  236. package/dist/esm/input/InteractionManager.js +165 -41
  237. package/dist/esm/input/InteractionManager.js.map +1 -1
  238. package/dist/esm/input/KeyEvent.d.ts +25 -0
  239. package/dist/esm/input/KeyEvent.d.ts.map +1 -0
  240. package/dist/esm/input/KeyEvent.js +32 -0
  241. package/dist/esm/input/KeyEvent.js.map +1 -0
  242. package/dist/esm/input/Pointer.d.ts +21 -4
  243. package/dist/esm/input/Pointer.d.ts.map +1 -1
  244. package/dist/esm/input/Pointer.js +54 -15
  245. package/dist/esm/input/Pointer.js.map +1 -1
  246. package/dist/esm/input/index.d.ts +3 -1
  247. package/dist/esm/input/index.d.ts.map +1 -1
  248. package/dist/esm/math/AbstractVector.d.ts.map +1 -1
  249. package/dist/esm/math/AbstractVector.js +7 -2
  250. package/dist/esm/math/AbstractVector.js.map +1 -1
  251. package/dist/esm/math/Circle.d.ts.map +1 -1
  252. package/dist/esm/math/Circle.js +5 -1
  253. package/dist/esm/math/Circle.js.map +1 -1
  254. package/dist/esm/math/Line.d.ts +1 -1
  255. package/dist/esm/math/Line.d.ts.map +1 -1
  256. package/dist/esm/math/Line.js +1 -1
  257. package/dist/esm/math/Line.js.map +1 -1
  258. package/dist/esm/math/Matrix.d.ts.map +1 -1
  259. package/dist/esm/math/Matrix.js +6 -1
  260. package/dist/esm/math/Matrix.js.map +1 -1
  261. package/dist/esm/math/ObservableVector.d.ts +26 -8
  262. package/dist/esm/math/ObservableVector.d.ts.map +1 -1
  263. package/dist/esm/math/ObservableVector.js +24 -16
  264. package/dist/esm/math/ObservableVector.js.map +1 -1
  265. package/dist/esm/math/Polygon.d.ts +5 -0
  266. package/dist/esm/math/Polygon.d.ts.map +1 -1
  267. package/dist/esm/math/Polygon.js +27 -3
  268. package/dist/esm/math/Polygon.js.map +1 -1
  269. package/dist/esm/math/Random.d.ts +9 -9
  270. package/dist/esm/math/Random.d.ts.map +1 -1
  271. package/dist/esm/math/Random.js +46 -46
  272. package/dist/esm/math/Random.js.map +1 -1
  273. package/dist/esm/math/Rectangle.d.ts +11 -4
  274. package/dist/esm/math/Rectangle.d.ts.map +1 -1
  275. package/dist/esm/math/Rectangle.js +12 -6
  276. package/dist/esm/math/Rectangle.js.map +1 -1
  277. package/dist/esm/math/Vector.d.ts +1 -1
  278. package/dist/esm/math/Vector.d.ts.map +1 -1
  279. package/dist/esm/math/Vector.js +1 -1
  280. package/dist/esm/math/Vector.js.map +1 -1
  281. package/dist/esm/math/collision-detection.d.ts +42 -0
  282. package/dist/esm/math/collision-detection.d.ts.map +1 -1
  283. package/dist/esm/math/collision-detection.js +54 -4
  284. package/dist/esm/math/collision-detection.js.map +1 -1
  285. package/dist/esm/math/collision-primitives.d.ts.map +1 -1
  286. package/dist/esm/math/collision-primitives.js +4 -0
  287. package/dist/esm/math/collision-primitives.js.map +1 -1
  288. package/dist/esm/math/geometry.d.ts +26 -0
  289. package/dist/esm/math/geometry.d.ts.map +1 -1
  290. package/dist/esm/math/geometry.js +89 -2
  291. package/dist/esm/math/geometry.js.map +1 -1
  292. package/dist/esm/math/index.d.ts +7 -5
  293. package/dist/esm/math/index.d.ts.map +1 -1
  294. package/dist/esm/math/swept-collision.d.ts +13 -0
  295. package/dist/esm/math/swept-collision.d.ts.map +1 -1
  296. package/dist/esm/math/swept-collision.js +15 -1
  297. package/dist/esm/math/swept-collision.js.map +1 -1
  298. package/dist/esm/math/triangulate.d.ts.map +1 -1
  299. package/dist/esm/math/triangulate.js +9 -1
  300. package/dist/esm/math/triangulate.js.map +1 -1
  301. package/dist/esm/math/utils.d.ts +20 -0
  302. package/dist/esm/math/utils.d.ts.map +1 -1
  303. package/dist/esm/math/utils.js +18 -15
  304. package/dist/esm/math/utils.js.map +1 -1
  305. package/dist/esm/renderer-sdk.d.ts +2 -0
  306. package/dist/esm/renderer-sdk.d.ts.map +1 -1
  307. package/dist/esm/{rendering.js → renderer-sdk.js} +1 -1
  308. package/dist/esm/renderer-sdk.js.map +1 -0
  309. package/dist/esm/rendering/CallbackRenderPass.js +1 -1
  310. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  311. package/dist/esm/rendering/Container.d.ts +3 -0
  312. package/dist/esm/rendering/Container.d.ts.map +1 -1
  313. package/dist/esm/rendering/Container.js +28 -5
  314. package/dist/esm/rendering/Container.js.map +1 -1
  315. package/dist/esm/rendering/Drawable.d.ts +24 -0
  316. package/dist/esm/rendering/Drawable.d.ts.map +1 -1
  317. package/dist/esm/rendering/Drawable.js +54 -0
  318. package/dist/esm/rendering/Drawable.js.map +1 -1
  319. package/dist/esm/rendering/GpuResourceAccountant.d.ts +65 -0
  320. package/dist/esm/rendering/GpuResourceAccountant.d.ts.map +1 -0
  321. package/dist/esm/rendering/GpuResourceAccountant.js +130 -0
  322. package/dist/esm/rendering/GpuResourceAccountant.js.map +1 -0
  323. package/dist/esm/rendering/RenderBackend.d.ts +15 -1
  324. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
  325. package/dist/esm/rendering/RenderBatch.d.ts +55 -0
  326. package/dist/esm/rendering/RenderBatch.d.ts.map +1 -0
  327. package/dist/esm/rendering/RenderBatch.js +107 -0
  328. package/dist/esm/rendering/RenderBatch.js.map +1 -0
  329. package/dist/esm/rendering/RenderNode.d.ts +50 -10
  330. package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
  331. package/dist/esm/rendering/RenderNode.js +113 -20
  332. package/dist/esm/rendering/RenderNode.js.map +1 -1
  333. package/dist/esm/rendering/RenderNodePass.js +2 -2
  334. package/dist/esm/rendering/RenderNodePass.js.map +1 -1
  335. package/dist/esm/rendering/RenderStats.d.ts +39 -0
  336. package/dist/esm/rendering/RenderStats.d.ts.map +1 -1
  337. package/dist/esm/rendering/RenderStats.js +14 -0
  338. package/dist/esm/rendering/RenderStats.js.map +1 -1
  339. package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -1
  340. package/dist/esm/rendering/RendererRegistry.js +20 -23
  341. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  342. package/dist/esm/rendering/RenderingContext.d.ts +88 -4
  343. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
  344. package/dist/esm/rendering/RenderingContext.js +107 -5
  345. package/dist/esm/rendering/RenderingContext.js.map +1 -1
  346. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
  347. package/dist/esm/rendering/TransformBuffer.js +2 -0
  348. package/dist/esm/rendering/TransformBuffer.js.map +1 -1
  349. package/dist/esm/rendering/View.d.ts +47 -15
  350. package/dist/esm/rendering/View.d.ts.map +1 -1
  351. package/dist/esm/rendering/View.js +44 -27
  352. package/dist/esm/rendering/View.js.map +1 -1
  353. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
  354. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -1
  355. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  356. package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -1
  357. package/dist/esm/rendering/geometry/Geometry.js +4 -2
  358. package/dist/esm/rendering/geometry/Geometry.js.map +1 -1
  359. package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -1
  360. package/dist/esm/rendering/gradient/Gradient.js +7 -2
  361. package/dist/esm/rendering/gradient/Gradient.js.map +1 -1
  362. package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -1
  363. package/dist/esm/rendering/material/MaterialKey.js +2 -0
  364. package/dist/esm/rendering/material/MaterialKey.js.map +1 -1
  365. package/dist/esm/rendering/material/ShaderSource.js +6 -0
  366. package/dist/esm/rendering/material/ShaderSource.js.map +1 -1
  367. package/dist/esm/rendering/mesh/ImmediateMesh.d.ts +48 -0
  368. package/dist/esm/rendering/mesh/ImmediateMesh.d.ts.map +1 -0
  369. package/dist/esm/rendering/mesh/ImmediateMesh.js +85 -0
  370. package/dist/esm/rendering/mesh/ImmediateMesh.js.map +1 -0
  371. package/dist/esm/rendering/mesh/Mesh.d.ts +29 -6
  372. package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -1
  373. package/dist/esm/rendering/mesh/Mesh.js +40 -13
  374. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  375. package/dist/esm/rendering/pixelSnap.d.ts.map +1 -1
  376. package/dist/esm/rendering/pixelSnap.js +1 -0
  377. package/dist/esm/rendering/pixelSnap.js.map +1 -1
  378. package/dist/esm/rendering/plan/RenderCommand.d.ts +31 -9
  379. package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -1
  380. package/dist/esm/rendering/plan/RenderCommand.js +23 -21
  381. package/dist/esm/rendering/plan/RenderCommand.js.map +1 -1
  382. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
  383. package/dist/esm/rendering/plan/RenderEffectExecutor.js +1 -0
  384. package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
  385. package/dist/esm/rendering/plan/RenderInstruction.d.ts +7 -37
  386. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
  387. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +17 -2
  388. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
  389. package/dist/esm/rendering/plan/RenderPlanBuilder.js +132 -46
  390. package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
  391. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -1
  392. package/dist/esm/rendering/plan/RenderPlanOptimizer.js +31 -4
  393. package/dist/esm/rendering/plan/RenderPlanOptimizer.js.map +1 -1
  394. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -1
  395. package/dist/esm/rendering/plan/RenderPlanPlayer.js +54 -17
  396. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
  397. package/dist/esm/rendering/plan/RenderScope.d.ts +16 -10
  398. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
  399. package/dist/esm/rendering/primitives/Graphics.d.ts +6 -0
  400. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
  401. package/dist/esm/rendering/primitives/Graphics.js +17 -1
  402. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  403. package/dist/esm/rendering/{index.d.ts → public.d.ts} +5 -35
  404. package/dist/esm/rendering/public.d.ts.map +1 -0
  405. package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -1
  406. package/dist/esm/rendering/shader/ShaderAttribute.js +2 -0
  407. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -1
  408. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +11 -0
  409. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
  410. package/dist/esm/rendering/sprite/AnimatedSprite.js +24 -2
  411. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  412. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -1
  413. package/dist/esm/rendering/sprite/NineSliceSprite.js +10 -11
  414. package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -1
  415. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -1
  416. package/dist/esm/rendering/sprite/RepeatingSprite.js +1 -3
  417. package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -1
  418. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
  419. package/dist/esm/rendering/sprite/Sprite.js +30 -3
  420. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  421. package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -1
  422. package/dist/esm/rendering/sprite/nineSlice.js +12 -18
  423. package/dist/esm/rendering/sprite/nineSlice.js.map +1 -1
  424. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -1
  425. package/dist/esm/rendering/sprite/repeatingSpritePlan.js +2 -2
  426. package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -1
  427. package/dist/esm/rendering/text/BitmapText.d.ts +2 -0
  428. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
  429. package/dist/esm/rendering/text/BitmapText.js +4 -0
  430. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  431. package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -1
  432. package/dist/esm/rendering/text/GlyphAtlas.js +2 -1
  433. package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -1
  434. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +8 -1
  435. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -1
  436. package/dist/esm/rendering/text/GlyphAtlasPool.js +9 -12
  437. package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -1
  438. package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -1
  439. package/dist/esm/rendering/text/GlyphSdf.js +5 -1
  440. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
  441. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
  442. package/dist/esm/rendering/text/HTMLText.js +1 -0
  443. package/dist/esm/rendering/text/HTMLText.js.map +1 -1
  444. package/dist/esm/rendering/text/Text.d.ts +17 -6
  445. package/dist/esm/rendering/text/Text.d.ts.map +1 -1
  446. package/dist/esm/rendering/text/Text.js +7 -12
  447. package/dist/esm/rendering/text/Text.js.map +1 -1
  448. package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
  449. package/dist/esm/rendering/text/TextLayout.js +4 -18
  450. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  451. package/dist/esm/rendering/texture/DataTexture.js +2 -2
  452. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  453. package/dist/esm/rendering/texture/Texture.d.ts +6 -0
  454. package/dist/esm/rendering/texture/Texture.d.ts.map +1 -1
  455. package/dist/esm/rendering/texture/Texture.js +8 -0
  456. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  457. package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -1
  458. package/dist/esm/rendering/texture/TextureRegion.js.map +1 -1
  459. package/dist/esm/rendering/texture/repeat.d.ts.map +1 -1
  460. package/dist/esm/rendering/texture/repeat.js +2 -2
  461. package/dist/esm/rendering/texture/repeat.js.map +1 -1
  462. package/dist/esm/rendering/types.d.ts +11 -0
  463. package/dist/esm/rendering/types.d.ts.map +1 -1
  464. package/dist/esm/rendering/types.js +11 -0
  465. package/dist/esm/rendering/types.js.map +1 -1
  466. package/dist/esm/rendering/video/Video.d.ts +7 -3
  467. package/dist/esm/rendering/video/Video.d.ts.map +1 -1
  468. package/dist/esm/rendering/video/Video.js +7 -3
  469. package/dist/esm/rendering/video/Video.js.map +1 -1
  470. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -1
  471. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +2 -2
  472. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -1
  473. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +21 -2
  474. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
  475. package/dist/esm/rendering/webgl2/WebGl2Backend.js +106 -6
  476. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  477. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -1
  478. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +2 -2
  479. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js.map +1 -1
  480. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +17 -0
  481. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -1
  482. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +122 -38
  483. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  484. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -1
  485. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +2 -1
  486. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -1
  487. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +16 -1
  488. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -1
  489. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +32 -1
  490. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -1
  491. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -1
  492. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +15 -11
  493. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -1
  494. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -1
  495. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +14 -3
  496. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  497. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +3 -3
  498. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -1
  499. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -1
  500. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +11 -2
  501. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js.map +1 -1
  502. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -1
  503. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +7 -2
  504. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  505. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -1
  506. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +3 -2
  507. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js.map +1 -1
  508. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
  509. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +10 -4
  510. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
  511. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +18 -2
  512. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
  513. package/dist/esm/rendering/webgpu/WebGpuBackend.js +91 -10
  514. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  515. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
  516. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +3 -0
  517. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  518. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +13 -0
  519. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
  520. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +102 -24
  521. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  522. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
  523. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +6 -1
  524. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
  525. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
  526. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +19 -9
  527. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
  528. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
  529. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +8 -4
  530. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  531. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
  532. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +1 -0
  533. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  534. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
  535. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +19 -7
  536. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
  537. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +13 -2
  538. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
  539. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +22 -2
  540. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  541. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +1 -1
  542. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -1
  543. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +7 -0
  544. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -1
  545. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +8 -0
  546. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -1
  547. package/dist/esm/resources/Asset.d.ts +1 -1
  548. package/dist/esm/resources/Asset.d.ts.map +1 -1
  549. package/dist/esm/resources/Asset.js +0 -2
  550. package/dist/esm/resources/Asset.js.map +1 -1
  551. package/dist/esm/resources/AssetContainer.d.ts +75 -0
  552. package/dist/esm/resources/AssetContainer.d.ts.map +1 -0
  553. package/dist/esm/resources/AssetContainer.js +100 -0
  554. package/dist/esm/resources/AssetContainer.js.map +1 -0
  555. package/dist/esm/resources/AssetDefinitions.d.ts +3 -3
  556. package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -1
  557. package/dist/esm/resources/Assets.d.ts.map +1 -1
  558. package/dist/esm/resources/Assets.js +0 -1
  559. package/dist/esm/resources/Assets.js.map +1 -1
  560. package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -1
  561. package/dist/esm/resources/FactoryRegistry.js +14 -23
  562. package/dist/esm/resources/FactoryRegistry.js.map +1 -1
  563. package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -1
  564. package/dist/esm/resources/IndexedDbDatabase.js +8 -1
  565. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  566. package/dist/esm/resources/IndexedDbKeyValueStore.d.ts +37 -0
  567. package/dist/esm/resources/IndexedDbKeyValueStore.d.ts.map +1 -0
  568. package/dist/esm/resources/IndexedDbKeyValueStore.js +58 -0
  569. package/dist/esm/resources/IndexedDbKeyValueStore.js.map +1 -0
  570. package/dist/esm/resources/KeyValueStore.d.ts +31 -0
  571. package/dist/esm/resources/KeyValueStore.d.ts.map +1 -0
  572. package/dist/esm/resources/Loader.d.ts +42 -2
  573. package/dist/esm/resources/Loader.d.ts.map +1 -1
  574. package/dist/esm/resources/Loader.js +92 -7
  575. package/dist/esm/resources/Loader.js.map +1 -1
  576. package/dist/esm/resources/MemoryStore.d.ts +17 -0
  577. package/dist/esm/resources/MemoryStore.d.ts.map +1 -0
  578. package/dist/esm/resources/MemoryStore.js +30 -0
  579. package/dist/esm/resources/MemoryStore.js.map +1 -0
  580. package/dist/esm/resources/WebStorageStore.d.ts +40 -0
  581. package/dist/esm/resources/WebStorageStore.d.ts.map +1 -0
  582. package/dist/esm/resources/WebStorageStore.js +84 -0
  583. package/dist/esm/resources/WebStorageStore.js.map +1 -0
  584. package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
  585. package/dist/esm/resources/coreAssetBindings.js +16 -5
  586. package/dist/esm/resources/coreAssetBindings.js.map +1 -1
  587. package/dist/esm/resources/factories/BmFontFactory.js +4 -4
  588. package/dist/esm/resources/factories/BmFontFactory.js.map +1 -1
  589. package/dist/esm/resources/factories/MusicFactory.d.ts +9 -9
  590. package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -1
  591. package/dist/esm/resources/factories/MusicFactory.js +7 -7
  592. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  593. package/dist/esm/resources/factories/SoundFactory.js +2 -2
  594. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  595. package/dist/esm/resources/factories/SubtitleFactory.d.ts +11 -1
  596. package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -1
  597. package/dist/esm/resources/factories/SubtitleFactory.js +13 -9
  598. package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -1
  599. package/dist/esm/resources/index.d.ts +51 -34
  600. package/dist/esm/resources/index.d.ts.map +1 -1
  601. package/dist/esm/resources/utils.js +4 -4
  602. package/dist/esm/resources/utils.js.map +1 -1
  603. package/dist/esm/ui/Button.d.ts +54 -0
  604. package/dist/esm/ui/Button.d.ts.map +1 -0
  605. package/dist/esm/ui/Button.js +139 -0
  606. package/dist/esm/ui/Button.js.map +1 -0
  607. package/dist/esm/ui/Label.d.ts +17 -0
  608. package/dist/esm/ui/Label.d.ts.map +1 -0
  609. package/dist/esm/ui/Label.js +37 -0
  610. package/dist/esm/ui/Label.js.map +1 -0
  611. package/dist/esm/ui/Panel.d.ts +38 -0
  612. package/dist/esm/ui/Panel.d.ts.map +1 -0
  613. package/dist/esm/ui/Panel.js +61 -0
  614. package/dist/esm/ui/Panel.js.map +1 -0
  615. package/dist/esm/ui/ProgressBar.d.ts +37 -0
  616. package/dist/esm/ui/ProgressBar.d.ts.map +1 -0
  617. package/dist/esm/ui/ProgressBar.js +76 -0
  618. package/dist/esm/ui/ProgressBar.js.map +1 -0
  619. package/dist/esm/ui/Stack.d.ts +34 -0
  620. package/dist/esm/ui/Stack.d.ts.map +1 -0
  621. package/dist/esm/ui/Stack.js +69 -0
  622. package/dist/esm/ui/Stack.js.map +1 -0
  623. package/dist/esm/ui/UIRoot.d.ts +31 -0
  624. package/dist/esm/ui/UIRoot.d.ts.map +1 -0
  625. package/dist/esm/ui/UIRoot.js +49 -0
  626. package/dist/esm/ui/UIRoot.js.map +1 -0
  627. package/dist/esm/ui/Widget.d.ts +45 -0
  628. package/dist/esm/ui/Widget.d.ts.map +1 -0
  629. package/dist/esm/ui/Widget.js +113 -0
  630. package/dist/esm/ui/Widget.js.map +1 -0
  631. package/dist/esm/ui/index.d.ts +13 -0
  632. package/dist/esm/ui/index.d.ts.map +1 -0
  633. package/dist/exo.debug.esm.js +1 -948
  634. package/dist/exo.debug.esm.js.map +1 -1
  635. package/dist/exo.esm.js +1 -40945
  636. package/dist/exo.esm.js.map +1 -1
  637. package/package.json +24 -13
  638. package/dist/esm/audio/AbstractMedia.d.ts +0 -75
  639. package/dist/esm/audio/AbstractMedia.d.ts.map +0 -1
  640. package/dist/esm/audio/AbstractMedia.js +0 -179
  641. package/dist/esm/audio/AbstractMedia.js.map +0 -1
  642. package/dist/esm/audio/AudioAnalyser.d.ts +0 -128
  643. package/dist/esm/audio/AudioAnalyser.d.ts.map +0 -1
  644. package/dist/esm/audio/AudioAnalyser.js +0 -473
  645. package/dist/esm/audio/AudioAnalyser.js.map +0 -1
  646. package/dist/esm/audio/AudioFilter.d.ts +0 -17
  647. package/dist/esm/audio/AudioFilter.d.ts.map +0 -1
  648. package/dist/esm/audio/AudioFilter.js +0 -15
  649. package/dist/esm/audio/AudioFilter.js.map +0 -1
  650. package/dist/esm/audio/BeatDetector.d.ts +0 -207
  651. package/dist/esm/audio/BeatDetector.d.ts.map +0 -1
  652. package/dist/esm/audio/BeatDetector.js +0 -424
  653. package/dist/esm/audio/BeatDetector.js.map +0 -1
  654. package/dist/esm/audio/Media.d.ts +0 -37
  655. package/dist/esm/audio/Media.d.ts.map +0 -1
  656. package/dist/esm/audio/Music.d.ts +0 -42
  657. package/dist/esm/audio/Music.d.ts.map +0 -1
  658. package/dist/esm/audio/Music.js +0 -164
  659. package/dist/esm/audio/Music.js.map +0 -1
  660. package/dist/esm/audio/OscillatorSound.d.ts +0 -100
  661. package/dist/esm/audio/OscillatorSound.d.ts.map +0 -1
  662. package/dist/esm/audio/OscillatorSound.js +0 -346
  663. package/dist/esm/audio/OscillatorSound.js.map +0 -1
  664. package/dist/esm/audio/dsp/fft.d.ts +0 -23
  665. package/dist/esm/audio/dsp/fft.d.ts.map +0 -1
  666. package/dist/esm/audio/dsp/mel.d.ts +0 -44
  667. package/dist/esm/audio/dsp/mel.d.ts.map +0 -1
  668. package/dist/esm/audio/dsp/mel.js +0 -70
  669. package/dist/esm/audio/dsp/mel.js.map +0 -1
  670. package/dist/esm/audio/dsp/tempogram.d.ts +0 -52
  671. package/dist/esm/audio/dsp/tempogram.d.ts.map +0 -1
  672. package/dist/esm/audio/filters/ChorusFilter.d.ts +0 -54
  673. package/dist/esm/audio/filters/ChorusFilter.d.ts.map +0 -1
  674. package/dist/esm/audio/filters/ChorusFilter.js +0 -155
  675. package/dist/esm/audio/filters/ChorusFilter.js.map +0 -1
  676. package/dist/esm/audio/filters/CompressorFilter.d.ts +0 -54
  677. package/dist/esm/audio/filters/CompressorFilter.d.ts.map +0 -1
  678. package/dist/esm/audio/filters/CompressorFilter.js +0 -123
  679. package/dist/esm/audio/filters/CompressorFilter.js.map +0 -1
  680. package/dist/esm/audio/filters/DelayFilter.d.ts +0 -36
  681. package/dist/esm/audio/filters/DelayFilter.d.ts.map +0 -1
  682. package/dist/esm/audio/filters/DelayFilter.js +0 -114
  683. package/dist/esm/audio/filters/DelayFilter.js.map +0 -1
  684. package/dist/esm/audio/filters/DuckingFilter.d.ts +0 -45
  685. package/dist/esm/audio/filters/DuckingFilter.d.ts.map +0 -1
  686. package/dist/esm/audio/filters/DuckingFilter.js +0 -172
  687. package/dist/esm/audio/filters/DuckingFilter.js.map +0 -1
  688. package/dist/esm/audio/filters/EqualizerFilter.d.ts +0 -51
  689. package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +0 -1
  690. package/dist/esm/audio/filters/EqualizerFilter.js +0 -138
  691. package/dist/esm/audio/filters/EqualizerFilter.js.map +0 -1
  692. package/dist/esm/audio/filters/GranularFilter.d.ts +0 -63
  693. package/dist/esm/audio/filters/GranularFilter.d.ts.map +0 -1
  694. package/dist/esm/audio/filters/GranularFilter.js +0 -107
  695. package/dist/esm/audio/filters/GranularFilter.js.map +0 -1
  696. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +0 -45
  697. package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +0 -1
  698. package/dist/esm/audio/filters/PitchShiftFilter.js +0 -66
  699. package/dist/esm/audio/filters/PitchShiftFilter.js.map +0 -1
  700. package/dist/esm/audio/filters/ReverbFilter.d.ts +0 -38
  701. package/dist/esm/audio/filters/ReverbFilter.d.ts.map +0 -1
  702. package/dist/esm/audio/filters/ReverbFilter.js +0 -122
  703. package/dist/esm/audio/filters/ReverbFilter.js.map +0 -1
  704. package/dist/esm/audio/filters/VocoderFilter.d.ts +0 -50
  705. package/dist/esm/audio/filters/VocoderFilter.d.ts.map +0 -1
  706. package/dist/esm/audio/filters/VocoderFilter.js +0 -94
  707. package/dist/esm/audio/filters/VocoderFilter.js.map +0 -1
  708. package/dist/esm/audio/filters/WorkletFilter.d.ts.map +0 -1
  709. package/dist/esm/audio/filters/WorkletFilter.js.map +0 -1
  710. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +0 -2
  711. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +0 -1
  712. package/dist/esm/audio/worklets/beat-detector.worklet.js +0 -647
  713. package/dist/esm/audio/worklets/beat-detector.worklet.js.map +0 -1
  714. package/dist/esm/audio/worklets/granular.worklet.d.ts +0 -2
  715. package/dist/esm/audio/worklets/granular.worklet.d.ts.map +0 -1
  716. package/dist/esm/audio/worklets/granular.worklet.js +0 -89
  717. package/dist/esm/audio/worklets/granular.worklet.js.map +0 -1
  718. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +0 -2
  719. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +0 -1
  720. package/dist/esm/audio/worklets/pitch-shift.worklet.js +0 -74
  721. package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +0 -1
  722. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +0 -2
  723. package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +0 -1
  724. package/dist/esm/audio/worklets/vocoder.worklet.js +0 -92
  725. package/dist/esm/audio/worklets/vocoder.worklet.js.map +0 -1
  726. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +0 -10
  727. package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +0 -1
  728. package/dist/esm/input/internal/interactionManagerRegistry.js +0 -10
  729. package/dist/esm/input/internal/interactionManagerRegistry.js.map +0 -1
  730. package/dist/esm/rendering/index.d.ts.map +0 -1
  731. package/dist/esm/rendering/plan/RenderInstruction.js +0 -45
  732. package/dist/esm/rendering/plan/RenderInstruction.js.map +0 -1
  733. package/dist/esm/rendering.d.ts +0 -29
  734. package/dist/esm/rendering.d.ts.map +0 -1
  735. package/dist/esm/rendering.js.map +0 -1
  736. package/dist/esm/resources/JsonStore.d.ts +0 -19
  737. package/dist/esm/resources/JsonStore.d.ts.map +0 -1
  738. package/dist/esm/resources/JsonStore.js +0 -62
  739. package/dist/esm/resources/JsonStore.js.map +0 -1
@@ -50,11 +50,26 @@ export declare class Time implements Cloneable {
50
50
  static readonly seconds: TimeInterval;
51
51
  static readonly minutes: TimeInterval;
52
52
  static readonly hours: TimeInterval;
53
+ /** Current high-resolution monotonic time (`performance.now()`) as a {@link Time}. */
54
+ static now(): Time;
55
+ /** Construct a {@link Time} from a millisecond count. */
56
+ static fromMilliseconds(value: number): Time;
57
+ /** Construct a {@link Time} from a second count. */
58
+ static fromSeconds(value: number): Time;
59
+ /** Construct a {@link Time} from a minute count. */
60
+ static fromMinutes(value: number): Time;
61
+ /** Construct a {@link Time} from an hour count. */
62
+ static fromHours(value: number): Time;
53
63
  static readonly zero: Time;
54
64
  static readonly oneMillisecond: Time;
55
65
  static readonly oneSecond: Time;
56
66
  static readonly oneMinute: Time;
57
67
  static readonly oneHour: Time;
68
+ /**
69
+ * Shared scratch {@link Time} instance for intermediate calculations. Never
70
+ * retain the reference across frames or async boundaries.
71
+ * @internal
72
+ */
58
73
  static get temp(): Time;
59
74
  }
60
75
  //# sourceMappingURL=Time.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/core/Time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvD;;;;;;;;;;;GAWG;AACH,qBAAa,IAAK,YAAW,SAAS;IACpC,OAAO,CAAC,aAAa,CAAS;gBAEX,IAAI,SAAI,EAAE,MAAM,GAAE,YAAgC;IAIrE,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,YAAY,CAAC,YAAY,EAAE,MAAM,EAE3C;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAEjC;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAEjC;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAI,SAAI,EAAE,MAAM,GAAE,YAAgC,GAAG,IAAI;IAM7D,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAM3C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAE,OAAO,CAAC,IAAI,CAAM,GAAG,OAAO;IAS9E,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAIhC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAI7B,KAAK,IAAI,IAAI;IAIb,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM7B,yEAAyE;IAClE,GAAG,CAAC,KAAK,SAAI,EAAE,MAAM,GAAE,YAAgC,GAAG,IAAI;IAMrE,gEAAgE;IACzD,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAMhC,8EAA8E;IACvE,QAAQ,CAAC,KAAK,SAAI,EAAE,MAAM,GAAE,YAAgC,GAAG,IAAI;IAM1E,qEAAqE;IAC9D,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM9B,OAAO,IAAI,IAAI;IAItB,gBAAuB,YAAY,EAAE,YAAY,CAAK;IACtD,gBAAuB,OAAO,EAAE,YAAY,CAAQ;IACpD,gBAAuB,OAAO,EAAE,YAAY,CAAS;IACrD,gBAAuB,KAAK,EAAE,YAAY,CAAW;IAErD,gBAAuB,IAAI,OAAe;IAC1C,gBAAuB,cAAc,OAAe;IACpD,gBAAuB,SAAS,OAA6B;IAC7D,gBAAuB,SAAS,OAA6B;IAC7D,gBAAuB,OAAO,OAA2B;IAEzD,WAAkB,IAAI,IAAI,IAAI,CAM7B;CACF"}
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/core/Time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvD;;;;;;;;;;;GAWG;AACH,qBAAa,IAAK,YAAW,SAAS;IACpC,OAAO,CAAC,aAAa,CAAS;gBAEX,IAAI,SAAI,EAAE,MAAM,GAAE,YAAgC;IAIrE,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,YAAY,CAAC,YAAY,EAAE,MAAM,EAE3C;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAEjC;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAEjC;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAI,SAAI,EAAE,MAAM,GAAE,YAAgC,GAAG,IAAI;IAM7D,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAM3C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAE,OAAO,CAAC,IAAI,CAAM,GAAG,OAAO;IAS9E,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAIhC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAI7B,KAAK,IAAI,IAAI;IAIb,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM7B,yEAAyE;IAClE,GAAG,CAAC,KAAK,SAAI,EAAE,MAAM,GAAE,YAAgC,GAAG,IAAI;IAMrE,gEAAgE;IACzD,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAMhC,8EAA8E;IACvE,QAAQ,CAAC,KAAK,SAAI,EAAE,MAAM,GAAE,YAAgC,GAAG,IAAI;IAM1E,qEAAqE;IAC9D,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM9B,OAAO,IAAI,IAAI;IAItB,gBAAuB,YAAY,EAAE,YAAY,CAAK;IACtD,gBAAuB,OAAO,EAAE,YAAY,CAAQ;IACpD,gBAAuB,OAAO,EAAE,YAAY,CAAS;IACrD,gBAAuB,KAAK,EAAE,YAAY,CAAW;IAErD,sFAAsF;WACxE,GAAG,IAAI,IAAI;IAIzB,yDAAyD;WAC3C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInD,oDAAoD;WACtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9C,oDAAoD;WACtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9C,mDAAmD;WACrC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,gBAAuB,IAAI,OAAe;IAC1C,gBAAuB,cAAc,OAAe;IACpD,gBAAuB,SAAS,OAA6B;IAC7D,gBAAuB,SAAS,OAA6B;IAC7D,gBAAuB,OAAO,OAA2B;IAEzD;;;;OAIG;IACH,WAAkB,IAAI,IAAI,IAAI,CAM7B;CACF"}
@@ -111,11 +111,36 @@ class Time {
111
111
  static seconds = 1000;
112
112
  static minutes = 60000;
113
113
  static hours = 3600000;
114
+ /** Current high-resolution monotonic time (`performance.now()`) as a {@link Time}. */
115
+ static now() {
116
+ return new Time(performance.now());
117
+ }
118
+ /** Construct a {@link Time} from a millisecond count. */
119
+ static fromMilliseconds(value) {
120
+ return new Time(value, Time.milliseconds);
121
+ }
122
+ /** Construct a {@link Time} from a second count. */
123
+ static fromSeconds(value) {
124
+ return new Time(value, Time.seconds);
125
+ }
126
+ /** Construct a {@link Time} from a minute count. */
127
+ static fromMinutes(value) {
128
+ return new Time(value, Time.minutes);
129
+ }
130
+ /** Construct a {@link Time} from an hour count. */
131
+ static fromHours(value) {
132
+ return new Time(value, Time.hours);
133
+ }
114
134
  static zero = new Time(0);
115
135
  static oneMillisecond = new Time(1);
116
136
  static oneSecond = new Time(1, Time.seconds);
117
137
  static oneMinute = new Time(1, Time.minutes);
118
138
  static oneHour = new Time(1, Time.hours);
139
+ /**
140
+ * Shared scratch {@link Time} instance for intermediate calculations. Never
141
+ * retain the reference across frames or async boundaries.
142
+ * @internal
143
+ */
119
144
  static get temp() {
120
145
  if (temp === null) {
121
146
  temp = new Time();
@@ -1 +1 @@
1
- {"version":3,"file":"Time.js","sources":["../../../../src/core/Time.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Time.js","sources":["../../../../src/core/Time.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,16 +1,21 @@
1
1
  /**
2
2
  * Assert `condition` at dev/test time. Throws with `[ExoJS] message` when the
3
3
  * condition is falsy and `__DEV__` is true. No-op in production builds.
4
+ *
5
+ * `message` is optional — omit it for invariant/in-bounds checks where the
6
+ * stack trace already localizes the failure. Prefer a constant string over a
7
+ * template literal: arguments are evaluated before the (stripped) body runs, so
8
+ * an interpolated message still allocates in production.
4
9
  */
5
- export declare function assert(condition: boolean, message: string): asserts condition;
10
+ export declare function assert(condition: boolean, message?: string): asserts condition;
6
11
  /**
7
12
  * Assert that `value` is neither `null` nor `undefined`. Returns the value so
8
13
  * it can be used inline in an expression. No-op in production builds (returns
9
- * the value cast to `T` without checking).
14
+ * the value cast to `T` without checking). `message` is optional.
10
15
  */
11
- export declare function assertDefined<T>(value: T | null | undefined, message: string): T;
16
+ export declare function assertDefined<T>(value: T | null | undefined, message?: string): T;
12
17
  /** @internal — alias for {@link assert}; kept for backward compatibility. */
13
- export declare function invariant(condition: boolean, message: string): asserts condition;
18
+ export declare function invariant(condition: boolean, message?: string): asserts condition;
14
19
  /**
15
20
  * Print a `console.warn` at most once per unique `key`.
16
21
  * Subsequent calls with the same key are silenced to avoid per-frame spam.
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/core/dev.ts"],"names":[],"mappings":"AAiCA;;;GAGG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAI7E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAKhF;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/core/dev.ts"],"names":[],"mappings":"AAiCA;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAI9E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAKjF;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
@@ -31,6 +31,11 @@
31
31
  /**
32
32
  * Assert `condition` at dev/test time. Throws with `[ExoJS] message` when the
33
33
  * condition is falsy and `false` is true. No-op in production builds.
34
+ *
35
+ * `message` is optional — omit it for invariant/in-bounds checks where the
36
+ * stack trace already localizes the failure. Prefer a constant string over a
37
+ * template literal: arguments are evaluated before the (stripped) body runs, so
38
+ * an interpolated message still allocates in production.
34
39
  */
35
40
  function assert(condition, message) {
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sources":["../../../../src/core/dev.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;;;AAGG;AACG,SAAU,MAAM,CAAC,SAAkB,EAAE,OAAe,EAAA;AAI1D;;;;"}
1
+ {"version":3,"file":"dev.js","sources":["../../../../src/core/dev.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;;;;;;;;AAQG;AACG,SAAU,MAAM,CAAC,SAAkB,EAAE,OAAgB,EAAA;AAI3D;;;;"}
@@ -1,16 +1,27 @@
1
- export * from './Application';
2
- export * from './Bounds';
3
- export * from './BuildInfo';
4
- export * from './capabilities';
5
- export * from './Clock';
6
- export * from './Color';
7
- export * from './Perf';
8
- export * from './Scene';
9
- export * from './SceneManager';
10
- export * from './SceneNode';
11
- export * from './Signal';
12
- export * from './Time';
13
- export * from './Timer';
14
- export * from './types';
15
- export * from './utils';
1
+ export type { ApplicationOptions, AutoBackendConfig, BackendConfig, CanvasApplicationOptions, CanvasSizingMode, InputApplicationOptions, RenderingApplicationOptions, WebGl2BackendConfig, WebGpuBackendConfig, } from './Application';
2
+ export { Application, ApplicationStatus } from './Application';
3
+ export { Bounds } from './Bounds';
4
+ export type { BuildInfo } from './BuildInfo';
5
+ export { buildInfo } from './BuildInfo';
6
+ export { Capabilities } from './capabilities';
7
+ export { Clock } from './Clock';
8
+ export { Color } from './Color';
9
+ export { DisposalScope } from './DisposalScope';
10
+ export { Perf } from './Perf';
11
+ export { Scene } from './Scene';
12
+ export type { FadeSceneTransition, SceneTransition, SetSceneOptions } from './SceneManager';
13
+ export { SceneManager } from './SceneManager';
14
+ export { SceneNode } from './SceneNode';
15
+ export type { DeserializeContext, NodeSerializer, SerializeContext } from './serialization/NodeSerializer';
16
+ export { Prefab } from './serialization/Prefab';
17
+ export type { SceneNodeConstructor } from './serialization/SerializationRegistry';
18
+ export { registerSerializer, SerializationRegistry } from './serialization/SerializationRegistry';
19
+ export type { AssetRef, SerializedNode, SerializedScene } from './serialization/types';
20
+ export { SERIALIZATION_VERSION } from './serialization/types';
21
+ export { Signal } from './Signal';
22
+ export type { System } from './System';
23
+ export { SystemRegistry } from './SystemRegistry';
24
+ export { Time } from './Time';
25
+ export { Timer } from './Timer';
26
+ export type { Cloneable, Destroyable, HasBoundingBox, Mutable, PlaybackOptions, StreamingLoadEvent, TextureSource, TimeInterval, TypedArray, TypedEnum, ValueOf, } from './types';
16
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAClG,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Geometry for the `'letterbox'` canvas sizing mode. Pure math, split out from
3
+ * {@link Application} so it can be unit-tested without a render backend.
4
+ * @internal
5
+ */
6
+ /** Result of fitting a fixed design space into a parent for letterbox sizing. @internal */
7
+ export interface LetterboxLayout {
8
+ /** CSS width of the centered canvas — the design-aspect content area. */
9
+ contentWidthCss: number;
10
+ /** CSS height of the centered canvas. */
11
+ contentHeightCss: number;
12
+ /** Backing-store width (`content × pixelRatio`) — the crisp native resolution. */
13
+ backingWidth: number;
14
+ /** Backing-store height. */
15
+ backingHeight: number;
16
+ }
17
+ /**
18
+ * Fit a `designWidth × designHeight` space into a parent of the given CSS size,
19
+ * preserving aspect ratio (letterbox — never crop, never stretch). Returns the
20
+ * centered content rectangle's CSS size and its native backing-store size at
21
+ * `pixelRatio`. The larger axis of the parent becomes the bars.
22
+ * @internal
23
+ */
24
+ export declare const computeLetterboxLayout: (parentWidthCss: number, parentHeightCss: number, designWidth: number, designHeight: number, pixelRatio: number) => LetterboxLayout;
25
+ //# sourceMappingURL=letterbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"letterbox.d.ts","sourceRoot":"","sources":["../../../src/core/letterbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,gBAAgB,MAAM,EACtB,iBAAiB,MAAM,EACvB,aAAa,MAAM,EACnB,cAAc,MAAM,EACpB,YAAY,MAAM,KACjB,eAWF,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Geometry for the `'letterbox'` canvas sizing mode. Pure math, split out from
3
+ * {@link Application} so it can be unit-tested without a render backend.
4
+ * @internal
5
+ */
6
+ /**
7
+ * Fit a `designWidth × designHeight` space into a parent of the given CSS size,
8
+ * preserving aspect ratio (letterbox — never crop, never stretch). Returns the
9
+ * centered content rectangle's CSS size and its native backing-store size at
10
+ * `pixelRatio`. The larger axis of the parent becomes the bars.
11
+ * @internal
12
+ */
13
+ const computeLetterboxLayout = (parentWidthCss, parentHeightCss, designWidth, designHeight, pixelRatio) => {
14
+ const scale = Math.min(parentWidthCss / designWidth, parentHeightCss / designHeight);
15
+ const contentWidthCss = designWidth * scale;
16
+ const contentHeightCss = designHeight * scale;
17
+ return {
18
+ contentWidthCss,
19
+ contentHeightCss,
20
+ backingWidth: Math.max(1, Math.round(contentWidthCss * pixelRatio)),
21
+ backingHeight: Math.max(1, Math.round(contentHeightCss * pixelRatio)),
22
+ };
23
+ };
24
+
25
+ export { computeLetterboxLayout };
26
+ //# sourceMappingURL=letterbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"letterbox.js","sources":["../../../../src/core/letterbox.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;AAIG;AAcH;;;;;;AAMG;AACI,MAAM,sBAAsB,GAAG,CACpC,cAAsB,EACtB,eAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,UAAkB,KACC;AACnB,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,WAAW,EAAE,eAAe,GAAG,YAAY,CAAC;AACpF,IAAA,MAAM,eAAe,GAAG,WAAW,GAAG,KAAK;AAC3C,IAAA,MAAM,gBAAgB,GAAG,YAAY,GAAG,KAAK;IAE7C,OAAO;QACL,eAAe;QACf,gBAAgB;AAChB,QAAA,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;AACnE,QAAA,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAAC,CAAC;KACtE;AACH;;;;"}
@@ -0,0 +1,71 @@
1
+ import type { SceneNode } from '#core/SceneNode';
2
+ import type { AssetConstructor } from '#resources/FactoryRegistry';
3
+ import type { Loader } from '#resources/Loader';
4
+ import type { SerializedNode } from './types';
5
+ /**
6
+ * Context handed to {@link NodeSerializer.write}. Carries the framework
7
+ * services a type serializer needs: recursion into children and asset-key
8
+ * resolution. The framework writes the `SceneNode`/`RenderNode`/`Drawable`
9
+ * common fields and the `type` tag itself — a serializer only returns its own
10
+ * type-specific fields.
11
+ */
12
+ export interface SerializeContext {
13
+ /** Format version being written ({@link SERIALIZATION_VERSION}). */
14
+ readonly version: number;
15
+ /** The loader used to resolve asset references, or `null` if none is available. */
16
+ readonly loader: Loader | null;
17
+ /**
18
+ * Fully serialize a child node — writes its `type` tag, common fields, and
19
+ * type-specific fields. Use this from container-like serializers to recurse.
20
+ */
21
+ writeNode(node: SceneNode): SerializedNode;
22
+ /**
23
+ * Resolve a loaded asset object to the loader source key it was loaded under,
24
+ * or `null` for runtime-created / unkeyed resources (a one-time warning is
25
+ * emitted in that case).
26
+ */
27
+ keyFor(resource: object | null | undefined): string | null;
28
+ }
29
+ /**
30
+ * Context handed to {@link NodeSerializer.read}. Mirror of
31
+ * {@link SerializeContext} for the inverse direction: child recursion and
32
+ * asset lookup. The framework applies the common fields after `read` returns,
33
+ * so a serializer only constructs the node and sets its type-specific fields.
34
+ */
35
+ export interface DeserializeContext {
36
+ /** Format version of the document being read (after migration). */
37
+ readonly version: number;
38
+ /** The loader used to resolve asset references, or `null` if none is available. */
39
+ readonly loader: Loader | null;
40
+ /** Fully deserialize a child node (inverse of {@link SerializeContext.writeNode}). */
41
+ readNode(data: SerializedNode): SceneNode;
42
+ /**
43
+ * Resolve a serialized asset source key back to a loaded resource of `type`,
44
+ * or `null` if the source is missing/unset or the asset was not pre-loaded
45
+ * (a one-time warning is emitted in the not-loaded case).
46
+ */
47
+ resolveAsset<T>(source: string | null | undefined, type: AssetConstructor<T>): T | null;
48
+ }
49
+ /**
50
+ * Bidirectional serializer for one scene-graph node type. Registered against a
51
+ * type name + constructor in a {@link SerializationRegistry}. The framework
52
+ * owns the common transform/visual fields and the `type` tag; an implementation
53
+ * handles only the fields unique to its type.
54
+ *
55
+ * @typeParam T - the node type this serializer handles.
56
+ */
57
+ export interface NodeSerializer<T extends SceneNode = SceneNode> {
58
+ /**
59
+ * Return the type-specific fields for `node` as a JSON-serialisable record.
60
+ * Do **not** include the `type` tag or common transform/visual fields — the
61
+ * framework adds those. Recurse into children via {@link SerializeContext.writeNode}.
62
+ */
63
+ write(node: T, ctx: SerializeContext): Record<string, unknown>;
64
+ /**
65
+ * Construct a fresh node from `data` and set its type-specific fields. The
66
+ * framework applies the common transform/visual fields afterwards, so do not
67
+ * read them here. Recurse into children via {@link DeserializeContext.readNode}.
68
+ */
69
+ read(data: SerializedNode, ctx: DeserializeContext): T;
70
+ }
71
+ //# sourceMappingURL=NodeSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSerializer.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/NodeSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC;IAC3C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CACzF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC7D;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,kBAAkB,GAAG,CAAC,CAAC;CACxD"}
@@ -0,0 +1,49 @@
1
+ import type { SceneNode } from '#core/SceneNode';
2
+ import type { Loader } from '#resources/Loader';
3
+ import type { SerializationRegistry } from './SerializationRegistry';
4
+ import type { SerializedNode } from './types';
5
+ /**
6
+ * A reusable, data-driven template captured from a configured scene-graph
7
+ * subtree. Capture once with {@link Prefab.from}; stamp out independent copies
8
+ * with {@link instantiate} as many times as needed — no re-serialization per
9
+ * instance.
10
+ *
11
+ * A prefab holds the same **data, not behaviour** a scene serializer captures
12
+ * (structure, transforms, visuals, asset references). Re-attach behaviour
13
+ * (signal handlers, systems) in code after {@link instantiate}.
14
+ *
15
+ * ```ts
16
+ * const coin = Prefab.from(buildCoin(), loader);
17
+ * for (let i = 0; i < 10; i++) {
18
+ * const node = coin.instantiate(loader);
19
+ * node.setPosition(i * 32, 0);
20
+ * scene.addChild(node);
21
+ * }
22
+ * ```
23
+ */
24
+ export declare class Prefab {
25
+ private readonly _descriptor;
26
+ private constructor();
27
+ /**
28
+ * Capture `node`'s subtree as a prefab. Pass the {@link Loader} so texture and
29
+ * other asset references resolve to their source keys. Pass `app.serializers`
30
+ * as `registry` to resolve app-scoped (extension) serializers; defaults to the
31
+ * global registry.
32
+ */
33
+ static from(node: SceneNode, loader?: Loader | null, registry?: SerializationRegistry): Prefab;
34
+ /**
35
+ * Build a prefab from a previously serialized descriptor — e.g. one produced
36
+ * by {@link toJSON} and persisted to disk or fetched over the network.
37
+ */
38
+ static fromJSON(descriptor: SerializedNode): Prefab;
39
+ /**
40
+ * Instantiate a fresh, independent copy of the captured subtree. Referenced
41
+ * assets must be pre-loaded into `loader`. Call repeatedly for many instances.
42
+ * Pass `app.serializers` as `registry` to resolve app-scoped (extension)
43
+ * serializers; defaults to the global registry.
44
+ */
45
+ instantiate(loader?: Loader | null, registry?: SerializationRegistry): SceneNode;
46
+ /** The underlying JSON descriptor (JSON-serialisable). Treat as read-only. The standard `JSON.stringify(prefab)` hook. */
47
+ toJSON(): SerializedNode;
48
+ }
49
+ //# sourceMappingURL=Prefab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prefab.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/Prefab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,MAAM;IACG,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAhD,OAAO;IAEP;;;;;OAKG;WACW,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM;IAI3G;;;OAGG;WAEW,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM;IAI1D;;;;;OAKG;IACI,WAAW,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS;IAI7F,0HAA0H;IAEnH,MAAM,IAAI,cAAc;CAGhC"}
@@ -0,0 +1,61 @@
1
+ import { serializeTree, deserializeTree } from './serialize.js';
2
+
3
+ /**
4
+ * A reusable, data-driven template captured from a configured scene-graph
5
+ * subtree. Capture once with {@link Prefab.from}; stamp out independent copies
6
+ * with {@link instantiate} as many times as needed — no re-serialization per
7
+ * instance.
8
+ *
9
+ * A prefab holds the same **data, not behaviour** a scene serializer captures
10
+ * (structure, transforms, visuals, asset references). Re-attach behaviour
11
+ * (signal handlers, systems) in code after {@link instantiate}.
12
+ *
13
+ * ```ts
14
+ * const coin = Prefab.from(buildCoin(), loader);
15
+ * for (let i = 0; i < 10; i++) {
16
+ * const node = coin.instantiate(loader);
17
+ * node.setPosition(i * 32, 0);
18
+ * scene.addChild(node);
19
+ * }
20
+ * ```
21
+ */
22
+ class Prefab {
23
+ _descriptor;
24
+ constructor(_descriptor) {
25
+ this._descriptor = _descriptor;
26
+ }
27
+ /**
28
+ * Capture `node`'s subtree as a prefab. Pass the {@link Loader} so texture and
29
+ * other asset references resolve to their source keys. Pass `app.serializers`
30
+ * as `registry` to resolve app-scoped (extension) serializers; defaults to the
31
+ * global registry.
32
+ */
33
+ static from(node, loader = null, registry) {
34
+ return new Prefab(serializeTree(node, loader, registry));
35
+ }
36
+ /**
37
+ * Build a prefab from a previously serialized descriptor — e.g. one produced
38
+ * by {@link toJSON} and persisted to disk or fetched over the network.
39
+ */
40
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- mirrors the standard `toJSON` JSON convention
41
+ static fromJSON(descriptor) {
42
+ return new Prefab(descriptor);
43
+ }
44
+ /**
45
+ * Instantiate a fresh, independent copy of the captured subtree. Referenced
46
+ * assets must be pre-loaded into `loader`. Call repeatedly for many instances.
47
+ * Pass `app.serializers` as `registry` to resolve app-scoped (extension)
48
+ * serializers; defaults to the global registry.
49
+ */
50
+ instantiate(loader = null, registry) {
51
+ return deserializeTree(this._descriptor, loader, registry);
52
+ }
53
+ /** The underlying JSON descriptor (JSON-serialisable). Treat as read-only. The standard `JSON.stringify(prefab)` hook. */
54
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- `toJSON` is the standard JSON.stringify hook name
55
+ toJSON() {
56
+ return this._descriptor;
57
+ }
58
+ }
59
+
60
+ export { Prefab };
61
+ //# sourceMappingURL=Prefab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prefab.js","sources":["../../../../../src/core/serialization/Prefab.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAOA;;;;;;;;;;;;;;;;;;AAkBG;MACU,MAAM,CAAA;AACoB,IAAA,WAAA;AAArC,IAAA,WAAA,CAAqC,WAA2B,EAAA;QAA3B,IAAA,CAAA,WAAW,GAAX,WAAW;IAAmB;AAEnE;;;;;AAKG;IACI,OAAO,IAAI,CAAC,IAAe,EAAE,MAAA,GAAwB,IAAI,EAAE,QAAgC,EAAA;AAChG,QAAA,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1D;AAEA;;;AAGG;;IAEI,OAAO,QAAQ,CAAC,UAA0B,EAAA;AAC/C,QAAA,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;IAC/B;AAEA;;;;;AAKG;AACI,IAAA,WAAW,CAAC,MAAA,GAAwB,IAAI,EAAE,QAAgC,EAAA;QAC/E,OAAO,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC5D;;;IAIO,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,WAAW;IACzB;AACD;;;;"}
@@ -0,0 +1,95 @@
1
+ import type { SceneNode } from '#core/SceneNode';
2
+ import type { NodeSerializer } from './NodeSerializer';
3
+ /**
4
+ * Any abstract or concrete {@link SceneNode} constructor usable as a
5
+ * serialization key.
6
+ */
7
+ export type SceneNodeConstructor<T extends SceneNode = SceneNode> = abstract new (...args: any[]) => T;
8
+ /**
9
+ * Resolved registry record pairing a type name with its constructor and
10
+ * serializer.
11
+ * @internal
12
+ */
13
+ export interface SerializerEntry {
14
+ readonly typeName: string;
15
+ readonly ctor: SceneNodeConstructor;
16
+ readonly serializer: NodeSerializer;
17
+ }
18
+ /**
19
+ * Bidirectional name ↔ constructor ↔ {@link NodeSerializer} registry backing
20
+ * the scene serializer.
21
+ *
22
+ * Serialize resolves a node to its serializer by walking the constructor's
23
+ * prototype chain (so a subclass without its own registration inherits the
24
+ * nearest registered base serializer); deserialize resolves by type name.
25
+ * Core registers the built-in node types; extensions contribute their own via
26
+ * the {@link Extension.serializers} binding.
27
+ *
28
+ * @see registerSerializer for the convenience entry point onto the
29
+ * {@link defaultSerializationRegistry}.
30
+ */
31
+ export declare class SerializationRegistry {
32
+ private readonly _fallback;
33
+ private readonly _byCtor;
34
+ private readonly _byName;
35
+ /**
36
+ * @param _fallback Optional parent registry consulted when this registry has
37
+ * no own entry for a lookup. An {@link Application} owns its own registry
38
+ * chained to the {@link defaultSerializationRegistry}, so app-scoped
39
+ * extension serializers stay isolated per Application while core and
40
+ * globally-registered serializers remain shared.
41
+ */
42
+ constructor(_fallback?: SerializationRegistry | null);
43
+ /**
44
+ * Register `serializer` for `ctor` under `typeName`. Re-registering the same
45
+ * `(typeName, ctor)` pair overwrites silently; registering an existing
46
+ * `typeName` against a **different** constructor throws.
47
+ */
48
+ register<T extends SceneNode>(typeName: string, ctor: SceneNodeConstructor<T>, serializer: NodeSerializer<T>): void;
49
+ /**
50
+ * Resolve the serializer for `node` by walking its constructor's prototype
51
+ * chain. Returns `undefined` if no registration matches.
52
+ * @internal
53
+ */
54
+ resolveByNode(node: SceneNode): SerializerEntry | undefined;
55
+ /**
56
+ * Resolve the serializer registered under `typeName`, or `undefined`.
57
+ * @internal
58
+ */
59
+ resolveByName(typeName: string): SerializerEntry | undefined;
60
+ /** Returns `true` if a serializer is registered under `typeName`. */
61
+ hasType(typeName: string): boolean;
62
+ /**
63
+ * Remove every own registration (both the name and constructor maps). The
64
+ * fallback chain is left untouched. Test infrastructure only — used to reset
65
+ * the {@link defaultSerializationRegistry} between suites so process-wide
66
+ * registrations do not leak across them.
67
+ * @internal
68
+ */
69
+ clear(): void;
70
+ }
71
+ /**
72
+ * Process-wide default registry. Core node serializers register here lazily on
73
+ * first use; extension serializers are materialised here at Application
74
+ * construction.
75
+ */
76
+ export declare const defaultSerializationRegistry: SerializationRegistry;
77
+ /**
78
+ * Register a custom {@link NodeSerializer}. Defaults to the
79
+ * {@link defaultSerializationRegistry}; pass `app.serializers` to register the
80
+ * type only for that {@link Application} (it stays isolated from other apps and
81
+ * from the global registry, resolving through the fallback chain).
82
+ *
83
+ * Use this to make your own {@link SceneNode} subclasses serializable. Delegate
84
+ * to a base type's behaviour by composing with the framework helpers, or
85
+ * register a fully custom serializer.
86
+ *
87
+ * ```ts
88
+ * registerSerializer('PowerUp', PowerUp, {
89
+ * write: (node) => ({ kind: node.kind }),
90
+ * read: (data) => new PowerUp(typeof data.kind === 'string' ? data.kind : ''),
91
+ * });
92
+ * ```
93
+ */
94
+ export declare function registerSerializer<T extends SceneNode>(typeName: string, ctor: SceneNodeConstructor<T>, serializer: NodeSerializer<T>, registry?: SerializationRegistry): void;
95
+ //# sourceMappingURL=SerializationRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../src/core/serialization/SerializationRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AAEH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEvG;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC;AASD;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAWb,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgF;IACxG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAE9D;;;;;;OAMG;gBACiC,SAAS,GAAE,qBAAqB,GAAG,IAAW;IAElF;;;;OAIG;IACI,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAa1H;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS;IAIlE;;;OAGG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAInE,qEAAqE;IAC9D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;CAIrB;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,uBAA8B,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EACpD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC7B,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAC7B,QAAQ,GAAE,qBAAoD,GAC7D,IAAI,CAEN"}