@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
@@ -1,5 +1,9 @@
1
1
  import type { Application } from '#core/Application';
2
+ import type { InteractionHooks } from '#core/Stage';
3
+ import type { System } from '#core/System';
4
+ import type { Time } from '#core/Time';
2
5
  import { Quadtree } from '#math/Quadtree';
6
+ import { Container } from '#rendering/Container';
3
7
  import type { RenderNode } from '#rendering/RenderNode';
4
8
  /**
5
9
  * Routes pointer events from the {@link InputManager} to interactive
@@ -18,7 +22,9 @@ import type { RenderNode } from '#rendering/RenderNode';
18
22
  * Constructed automatically by {@link Application}; you do not instantiate
19
23
  * this class yourself.
20
24
  */
21
- export declare class InteractionManager {
25
+ export declare class InteractionManager implements InteractionHooks, System {
26
+ /** App-systems tick band — interaction after input. @internal */
27
+ readonly order = 200;
22
28
  private readonly _app;
23
29
  private _quadtree;
24
30
  private _interactiveNodes;
@@ -26,6 +32,17 @@ export declare class InteractionManager {
26
32
  private _quadtreeItems;
27
33
  private _quadtreeOrderCounter;
28
34
  private readonly _quadtreeQueryBuffer;
35
+ /** This manager's service bundle, installed on a scene root via {@link attachRoot}. */
36
+ private readonly _stage;
37
+ /**
38
+ * UI-layer interaction hooks: no-ops, so screen-fixed UI nodes are kept OUT
39
+ * of the world quadtree. The UI layer is hit-tested by a direct subtree walk
40
+ * in screen space (see {@link _resolveHit}); per-node signal dispatch still
41
+ * works because it reads the lazy node signals, not the quadtree.
42
+ */
43
+ private readonly _uiInteraction;
44
+ /** Service bundle installed on a scene's UI layer; shares focus with the world stage. */
45
+ private readonly _uiStage;
29
46
  /** Maps pointerId → the deepest interactive RenderNode that pointer is currently over. */
30
47
  private readonly _lastHit;
31
48
  /** Pending per-pointer event queues, filled by signal handlers each frame. */
@@ -34,6 +51,11 @@ export declare class InteractionManager {
34
51
  private readonly _capturedPointers;
35
52
  /** Active drag states. Maps pointerId → drag metadata. */
36
53
  private readonly _drags;
54
+ /**
55
+ * Modal input-capture stack. While non-empty, hit-testing is confined to the
56
+ * topmost root's subtree, so a modal dialog shields the nodes beneath it.
57
+ */
58
+ private readonly _captureStack;
37
59
  /** Whether any pointer enqueued events since the last update(). */
38
60
  private _dirty;
39
61
  private readonly _onPointerDownHandler;
@@ -65,6 +87,16 @@ export declare class InteractionManager {
65
87
  * routing; exposed read-only for diagnostic / debug consumers.
66
88
  */
67
89
  getCapturedNodes(): readonly RenderNode[];
90
+ /**
91
+ * Confine pointer hit-testing to `root`'s subtree until a matching
92
+ * {@link popInputCapture}. Pointer events outside the subtree hit nothing, so
93
+ * a modal dialog (optionally with a full-screen backdrop to swallow clicks)
94
+ * shields the interactive nodes beneath it. Captures stack — the most
95
+ * recently pushed root wins.
96
+ */
97
+ pushInputCapture(root: RenderNode): void;
98
+ /** Release the most recently pushed input capture (see {@link pushInputCapture}). */
99
+ popInputCapture(): void;
68
100
  /**
69
101
  * Returns the internal quadtree used for spatial hit-testing, or null when
70
102
  * no interactive nodes are present. Used by {@link HitTestLayer} to render
@@ -89,7 +121,30 @@ export declare class InteractionManager {
89
121
  * activity; every signal handler that enqueues an event sets `_dirty =
90
122
  * true`, and `update()` clears it at the top before draining the queue.
91
123
  */
92
- update(): void;
124
+ update(_delta: Time): void;
125
+ /**
126
+ * Bind a scene's root container to this manager: install the manager's
127
+ * {@link Stage} on the subtree (so its nodes route their hooks here) and
128
+ * register the subtree's interactive nodes. Called by {@link SceneManager}
129
+ * when a scene becomes active.
130
+ * @internal
131
+ */
132
+ attachRoot(root: Container): void;
133
+ /**
134
+ * Unbind a scene's root: unregister its interactive nodes and clear the stage
135
+ * from the subtree. Called by {@link SceneManager} when a scene is removed.
136
+ * @internal
137
+ */
138
+ detachRoot(root: Container): void;
139
+ /**
140
+ * Bind a scene's UI layer to this manager. Installs the UI stage (no-op world
141
+ * hooks, shared focus) so its nodes route focus here but stay out of the world
142
+ * quadtree; the layer is hit-tested by a direct walk in screen space.
143
+ * @internal
144
+ */
145
+ attachUIRoot(root: Container): void;
146
+ /** Unbind a scene's UI layer. @internal */
147
+ detachUIRoot(root: Container): void;
93
148
  /**
94
149
  * Called when a subtree rooted at `node` has been added to the scene.
95
150
  * Walks the subtree and registers any interactive nodes found.
@@ -127,6 +182,16 @@ export declare class InteractionManager {
127
182
  private _enqueue;
128
183
  private _processQueue;
129
184
  private _endDrag;
185
+ /**
186
+ * Resolve the hit node and its coordinate space for a fresh pointer. An
187
+ * active modal capture confines hit-testing to its subtree; otherwise the
188
+ * screen-fixed UI layer is tried first (screen space), then the camera world.
189
+ */
190
+ private _resolveHit;
191
+ /** Map a design-space pointer into either the screen-fixed UI view or the camera world. */
192
+ private _pointerCoords;
193
+ /** Whether `node` lives inside the active scene's UI layer. */
194
+ private _isUINode;
130
195
  private _hitTest;
131
196
  private _hitTestIndexed;
132
197
  private _hitTestNode;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../src/input/InteractionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../src/input/InteractionManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { setActiveInteractionManager } from './internal/interactionManagerRegistry.js';
2
1
  import { Quadtree } from '../math/Quadtree.js';
3
2
  import { Rectangle } from '../math/Rectangle.js';
4
3
  import { Container } from '../rendering/Container.js';
@@ -36,6 +35,8 @@ var PointerEventFlag;
36
35
  * this class yourself.
37
36
  */
38
37
  class InteractionManager {
38
+ /** App-systems tick band — interaction after input. @internal */
39
+ order = 200;
39
40
  _app;
40
41
  // Persistent quadtree — null when no interactive nodes are present.
41
42
  _quadtree = null;
@@ -48,6 +49,22 @@ class InteractionManager {
48
49
  // Running insertion-order counter used to break hit-test ties.
49
50
  _quadtreeOrderCounter = 0;
50
51
  _quadtreeQueryBuffer = [];
52
+ /** This manager's service bundle, installed on a scene root via {@link attachRoot}. */
53
+ _stage;
54
+ /**
55
+ * UI-layer interaction hooks: no-ops, so screen-fixed UI nodes are kept OUT
56
+ * of the world quadtree. The UI layer is hit-tested by a direct subtree walk
57
+ * in screen space (see {@link _resolveHit}); per-node signal dispatch still
58
+ * works because it reads the lazy node signals, not the quadtree.
59
+ */
60
+ _uiInteraction = {
61
+ _notifyNodeAdded: () => { },
62
+ _notifyNodeRemoved: () => { },
63
+ _notifyInteractiveChanged: () => { },
64
+ _notifyBoundsInvalidated: () => { },
65
+ };
66
+ /** Service bundle installed on a scene's UI layer; shares focus with the world stage. */
67
+ _uiStage;
51
68
  /** Maps pointerId → the deepest interactive RenderNode that pointer is currently over. */
52
69
  _lastHit = new Map();
53
70
  /** Pending per-pointer event queues, filled by signal handlers each frame. */
@@ -56,6 +73,11 @@ class InteractionManager {
56
73
  _capturedPointers = new Map();
57
74
  /** Active drag states. Maps pointerId → drag metadata. */
58
75
  _drags = new Map();
76
+ /**
77
+ * Modal input-capture stack. While non-empty, hit-testing is confined to the
78
+ * topmost root's subtree, so a modal dialog shields the nodes beneath it.
79
+ */
80
+ _captureStack = [];
59
81
  /** Whether any pointer enqueued events since the last update(). */
60
82
  _dirty = false;
61
83
  _onPointerDownHandler;
@@ -66,9 +88,8 @@ class InteractionManager {
66
88
  _onPointerLeaveHandler;
67
89
  constructor(app) {
68
90
  this._app = app;
69
- // Register as the active singleton so RenderNode / Container / SceneNode hooks
70
- // can reach the manager without holding an explicit reference.
71
- setActiveInteractionManager(this);
91
+ this._stage = { interaction: this, focus: app.focus };
92
+ this._uiStage = { interaction: this._uiInteraction, focus: app.focus };
72
93
  this._onPointerDownHandler = this._handlePointerDown.bind(this);
73
94
  this._onPointerMoveHandler = this._handlePointerMove.bind(this);
74
95
  this._onPointerUpHandler = this._handlePointerUp.bind(this);
@@ -112,6 +133,20 @@ class InteractionManager {
112
133
  getCapturedNodes() {
113
134
  return [...this._capturedPointers.values()];
114
135
  }
136
+ /**
137
+ * Confine pointer hit-testing to `root`'s subtree until a matching
138
+ * {@link popInputCapture}. Pointer events outside the subtree hit nothing, so
139
+ * a modal dialog (optionally with a full-screen backdrop to swallow clicks)
140
+ * shields the interactive nodes beneath it. Captures stack — the most
141
+ * recently pushed root wins.
142
+ */
143
+ pushInputCapture(root) {
144
+ this._captureStack.push(root);
145
+ }
146
+ /** Release the most recently pushed input capture (see {@link pushInputCapture}). */
147
+ popInputCapture() {
148
+ this._captureStack.pop();
149
+ }
115
150
  /**
116
151
  * Returns the internal quadtree used for spatial hit-testing, or null when
117
152
  * no interactive nodes are present. Used by {@link HitTestLayer} to render
@@ -134,6 +169,7 @@ class InteractionManager {
134
169
  this._pending.clear();
135
170
  this._capturedPointers.clear();
136
171
  this._drags.clear();
172
+ this._captureStack.length = 0;
137
173
  this._interactiveNodes.clear();
138
174
  this._staleNodes.clear();
139
175
  this._quadtreeItems.clear();
@@ -142,7 +178,6 @@ class InteractionManager {
142
178
  this._quadtree.destroy();
143
179
  this._quadtree = null;
144
180
  }
145
- setActiveInteractionManager(null);
146
181
  }
147
182
  /**
148
183
  * Process all pending pointer events accumulated since the last frame.
@@ -155,7 +190,7 @@ class InteractionManager {
155
190
  * activity; every signal handler that enqueues an event sets `_dirty =
156
191
  * true`, and `update()` clears it at the top before draining the queue.
157
192
  */
158
- update() {
193
+ update(_delta) {
159
194
  if (!this._dirty)
160
195
  return;
161
196
  this._dirty = false;
@@ -166,6 +201,43 @@ class InteractionManager {
166
201
  this._pending.clear();
167
202
  this._updateCursor();
168
203
  }
204
+ /**
205
+ * Bind a scene's root container to this manager: install the manager's
206
+ * {@link Stage} on the subtree (so its nodes route their hooks here) and
207
+ * register the subtree's interactive nodes. Called by {@link SceneManager}
208
+ * when a scene becomes active.
209
+ * @internal
210
+ */
211
+ attachRoot(root) {
212
+ root._setStage(this._stage);
213
+ this._notifyNodeAdded(root);
214
+ }
215
+ /**
216
+ * Unbind a scene's root: unregister its interactive nodes and clear the stage
217
+ * from the subtree. Called by {@link SceneManager} when a scene is removed.
218
+ * @internal
219
+ */
220
+ detachRoot(root) {
221
+ this._app.focus.blur();
222
+ this._captureStack.length = 0;
223
+ this._notifyNodeRemoved(root);
224
+ root._setStage(null);
225
+ }
226
+ /**
227
+ * Bind a scene's UI layer to this manager. Installs the UI stage (no-op world
228
+ * hooks, shared focus) so its nodes route focus here but stay out of the world
229
+ * quadtree; the layer is hit-tested by a direct walk in screen space.
230
+ * @internal
231
+ */
232
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- UI is an acronym (cf. HTMLText)
233
+ attachUIRoot(root) {
234
+ root._setStage(this._uiStage);
235
+ }
236
+ /** Unbind a scene's UI layer. @internal */
237
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- UI is an acronym (cf. HTMLText)
238
+ detachUIRoot(root) {
239
+ root._setStage(null);
240
+ }
169
241
  // ---------------------------------------------------------------------------
170
242
  // Hooks called by RenderNode / Container / SceneNode
171
243
  // These are prefixed _ to signal "internal-but-public".
@@ -260,10 +332,29 @@ class InteractionManager {
260
332
  // ---------------------------------------------------------------------------
261
333
  _processQueue(queue) {
262
334
  const { pointer, events } = queue;
263
- const { id, x, y } = pointer;
264
- // Determine the hit node. Captured pointers short-circuit hit-testing.
335
+ const { id } = pointer;
336
+ // Resolve the hit node and the coordinate space it lives in. A captured
337
+ // pointer short-circuits hit-testing; otherwise the screen-fixed UI layer
338
+ // is tried before the camera-space world (see _resolveHit). Coordinates
339
+ // follow the hit's layer (UI = screen space, world = camera space) so
340
+ // dragging and event positions agree with node positions — correct under
341
+ // pixelRatio > 1, letterboxing, and a panned / zoomed / rotated camera.
265
342
  const captured = this._capturedPointers.get(id) ?? null;
266
- const hit = captured !== null ? captured : this._hitTest(x, y);
343
+ let hit;
344
+ let x;
345
+ let y;
346
+ if (captured !== null) {
347
+ const coords = this._pointerCoords(pointer, this._isUINode(captured));
348
+ hit = captured;
349
+ x = coords.x;
350
+ y = coords.y;
351
+ }
352
+ else {
353
+ const resolved = this._resolveHit(pointer);
354
+ hit = resolved.node;
355
+ x = resolved.x;
356
+ y = resolved.y;
357
+ }
267
358
  // --- Over / Out transitions ---
268
359
  // Skip while a drag is active for this pointer — the dragged node
269
360
  // stays "hovered" by definition and we don't want spurious events.
@@ -295,7 +386,7 @@ class InteractionManager {
295
386
  catch {
296
387
  // Best-effort — jsdom and some browsers may not support this.
297
388
  }
298
- this._dispatchDirect(new InteractionEvent('dragstart', hit, pointer, x, y), hit.onDragStart);
389
+ this._dispatchDirect(new InteractionEvent('dragstart', hit, pointer, x, y), hit._peekInteractionSignal('dragstart'));
299
390
  }
300
391
  }
301
392
  }
@@ -310,7 +401,7 @@ class InteractionManager {
310
401
  this._dispatchBubble(new InteractionEvent('pointermove', hit, pointer, x, y));
311
402
  }
312
403
  if (drag !== null) {
313
- this._dispatchDirect(new InteractionEvent('drag', drag.node, pointer, x, y), drag.node.onDrag);
404
+ this._dispatchDirect(new InteractionEvent('drag', drag.node, pointer, x, y), drag.node._peekInteractionSignal('drag'));
314
405
  }
315
406
  }
316
407
  // --- Up ---
@@ -319,7 +410,7 @@ class InteractionManager {
319
410
  this._dispatchBubble(new InteractionEvent('pointerup', hit, pointer, x, y));
320
411
  }
321
412
  if (drag !== null) {
322
- this._dispatchDirect(new InteractionEvent('dragend', drag.node, pointer, x, y), drag.node.onDragEnd);
413
+ this._dispatchDirect(new InteractionEvent('dragend', drag.node, pointer, x, y), drag.node._peekInteractionSignal('dragend'));
323
414
  this._endDrag(id);
324
415
  }
325
416
  }
@@ -332,7 +423,7 @@ class InteractionManager {
332
423
  // --- Cancel / Leave ---
333
424
  if (isExitEvent) {
334
425
  if (drag !== null) {
335
- this._dispatchDirect(new InteractionEvent('dragend', drag.node, pointer, x, y), drag.node.onDragEnd);
426
+ this._dispatchDirect(new InteractionEvent('dragend', drag.node, pointer, x, y), drag.node._peekInteractionSignal('dragend'));
336
427
  this._endDrag(id);
337
428
  }
338
429
  else if (last !== null) {
@@ -354,6 +445,49 @@ class InteractionManager {
354
445
  // ---------------------------------------------------------------------------
355
446
  // Hit-testing
356
447
  // ---------------------------------------------------------------------------
448
+ /**
449
+ * Resolve the hit node and its coordinate space for a fresh pointer. An
450
+ * active modal capture confines hit-testing to its subtree; otherwise the
451
+ * screen-fixed UI layer is tried first (screen space), then the camera world.
452
+ */
453
+ _resolveHit(pointer) {
454
+ const capture = this._captureStack.at(-1);
455
+ if (capture !== undefined) {
456
+ const coords = this._pointerCoords(pointer, this._isUINode(capture));
457
+ return { node: this._hitTestNode(capture, coords.x, coords.y), x: coords.x, y: coords.y };
458
+ }
459
+ const uiRoot = this._app.scene.currentScene?._peekUI() ?? null;
460
+ if (uiRoot !== null) {
461
+ const ui = this._app.rendering.screenView.screenToWorld(pointer.x, pointer.y);
462
+ const uiHit = this._hitTestNode(uiRoot, ui.x, ui.y);
463
+ if (uiHit !== null) {
464
+ return { node: uiHit, x: ui.x, y: ui.y };
465
+ }
466
+ }
467
+ const world = this._app.rendering.camera.screenToWorld(pointer.x, pointer.y);
468
+ return { node: this._hitTest(world.x, world.y), x: world.x, y: world.y };
469
+ }
470
+ /** Map a design-space pointer into either the screen-fixed UI view or the camera world. */
471
+ _pointerCoords(pointer, ui) {
472
+ const view = ui ? this._app.rendering.screenView : this._app.rendering.camera;
473
+ return view.screenToWorld(pointer.x, pointer.y);
474
+ }
475
+ /** Whether `node` lives inside the active scene's UI layer. */
476
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- UI is an acronym (cf. HTMLText)
477
+ _isUINode(node) {
478
+ const uiRoot = this._app.scene.currentScene?._peekUI() ?? null;
479
+ if (uiRoot === null) {
480
+ return false;
481
+ }
482
+ let current = node;
483
+ while (current !== null) {
484
+ if (current === uiRoot) {
485
+ return true;
486
+ }
487
+ current = current.parent;
488
+ }
489
+ return false;
490
+ }
357
491
  _hitTest(x, y) {
358
492
  if (this._quadtree !== null) {
359
493
  return this._hitTestIndexed(x, y);
@@ -389,7 +523,11 @@ class InteractionManager {
389
523
  if (node instanceof Container) {
390
524
  const children = node.children;
391
525
  for (let i = children.length - 1; i >= 0; i--) {
392
- const hit = this._hitTestNode(children[i], x, y);
526
+ const child = children[i];
527
+ if (child === undefined) {
528
+ continue;
529
+ }
530
+ const hit = this._hitTestNode(child, x, y);
393
531
  if (hit) {
394
532
  return hit;
395
533
  }
@@ -483,10 +621,10 @@ class InteractionManager {
483
621
  }
484
622
  /** Build a fresh Quadtree sized to encompass the canvas + current scene root. */
485
623
  _createQuadtree() {
486
- const canvas = this._app.canvas;
487
- const rect = canvas.getBoundingClientRect();
488
- const width = rect.width || canvas.width || 800;
489
- const height = rect.height || canvas.height || 600;
624
+ // Seed in design/world units (matching node bounds and the camera-converted
625
+ // pointer coordinates); unioned below with the scene root's world bounds.
626
+ const width = this._app.width || 800;
627
+ const height = this._app.height || 600;
490
628
  const bounds = new Rectangle(0, 0, width, height);
491
629
  const root = this._app.scene.currentScene?.root;
492
630
  if (root) {
@@ -511,7 +649,10 @@ class InteractionManager {
511
649
  if (node instanceof Container) {
512
650
  // Push in reverse so iteration preserves child insertion order.
513
651
  for (let index = node.children.length - 1; index >= 0; index--) {
514
- stack.push(node.children[index]);
652
+ const child = node.children[index];
653
+ if (child !== undefined) {
654
+ stack.push(child);
655
+ }
515
656
  }
516
657
  }
517
658
  }
@@ -524,7 +665,7 @@ class InteractionManager {
524
665
  while (current !== null && !event.propagationStopped) {
525
666
  event.currentTarget = current;
526
667
  const signal = this._signalFor(event.type, current);
527
- signal.dispatch(event);
668
+ signal?.dispatch(event);
528
669
  if (event.propagationStopped) {
529
670
  break;
530
671
  }
@@ -536,29 +677,12 @@ class InteractionManager {
536
677
  /** Dispatch an event directly on a single node without bubbling. */
537
678
  _dispatchDirect(event, signal) {
538
679
  event.currentTarget = event.target;
539
- signal.dispatch(event);
680
+ signal?.dispatch(event);
540
681
  }
541
682
  _signalFor(type, node) {
542
- switch (type) {
543
- case 'pointerdown':
544
- return node.onPointerDown;
545
- case 'pointerup':
546
- return node.onPointerUp;
547
- case 'pointermove':
548
- return node.onPointerMove;
549
- case 'pointerover':
550
- return node.onPointerOver;
551
- case 'pointerout':
552
- return node.onPointerOut;
553
- case 'pointertap':
554
- return node.onPointerTap;
555
- case 'dragstart':
556
- return node.onDragStart;
557
- case 'drag':
558
- return node.onDrag;
559
- case 'dragend':
560
- return node.onDragEnd;
561
- }
683
+ // Peek (never materialize): a node with no listener for `type` has no
684
+ // signal, so dispatch simply skips it.
685
+ return node._peekInteractionSignal(type);
562
686
  }
563
687
  // ---------------------------------------------------------------------------
564
688
  // Cursor
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.js","sources":["../../../../src/input/InteractionManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAaA;AACA;AACA;AAEA,IAAW,gBAQV;AARD,CAAA,UAAW,gBAAgB,EAAA;AACzB,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAW;AACX,IAAA,gBAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAY;AACZ,IAAA,gBAAA,CAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAe;AACf,IAAA,gBAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAc;AAChB,CAAC,EARU,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;AA+B3B;AAEA;;;;;;;;;;;;;;;;AAgBG;MACU,kBAAkB,CAAA;AACZ,IAAA,IAAI;;IAGb,SAAS,GAAiC,IAAI;;AAG9C,IAAA,iBAAiB,GAAG,IAAI,GAAG,EAAc;;AAGzC,IAAA,WAAW,GAAG,IAAI,GAAG,EAAc;;AAGnC,IAAA,cAAc,GAAG,IAAI,GAAG,EAAyC;;IAGjE,qBAAqB,GAAG,CAAC;IAEhB,oBAAoB,GAAqC,EAAE;;AAG3D,IAAA,QAAQ,GAAG,IAAI,GAAG,EAAsB;;AAGxC,IAAA,QAAQ,GAAG,IAAI,GAAG,EAAwB;;AAG1C,IAAA,iBAAiB,GAAG,IAAI,GAAG,EAAsB;;AAGjD,IAAA,MAAM,GAAG,IAAI,GAAG,EAAqB;;IAG9C,MAAM,GAAG,KAAK;AAEL,IAAA,qBAAqB;AACrB,IAAA,qBAAqB;AACrB,IAAA,mBAAmB;AACnB,IAAA,oBAAoB;AACpB,IAAA,uBAAuB;AACvB,IAAA,sBAAsB;AAEvC,IAAA,WAAA,CAAmB,GAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;;QAIf,2BAA2B,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAEjE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACnD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC3D;AAEA;;;;AAIG;AACH;;;;;AAKG;AACI,IAAA,cAAc,CAAC,SAAkB,EAAA;AACtC,QAAA,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI;QAC7C;QAEA,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;AAEhD,QAAA,OAAO,UAAU,CAAC,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,KAAK;IAClD;AAEA;;;AAGG;AACH;;;;AAIG;IACI,gBAAgB,GAAA;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;IAC7C;AAEA;;;;;;;AAOG;IACI,iBAAiB,GAAA;QACtB,OAAO,IAAI,CAAC,SAAS;IACvB;IAEO,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAChE,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAChE,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAC5D,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAC9D,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC;AACpE,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAClE,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AAEnB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;QAEA,2BAA2B,CAAC,IAAI,CAAC;IACnC;AAEA;;;;;;;;;;AAUG;IACI,MAAM,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QAEnB,IAAI,CAAC,kBAAkB,EAAE;QAEzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;AAC1C,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAC3B;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACrB,IAAI,CAAC,aAAa,EAAE;IACtB;;;;;AAOA;;;;;AAKG;AACI,IAAA,gBAAgB,CAAC,IAAgB,EAAA;QACtC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,CAAC,WAAW,EAAE;AACjB,gBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvB;QACF;IACF;AAEA;;;;;AAKG;AACI,IAAA,kBAAkB,CAAC,IAAgB,EAAA;QACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzB;QACF;IACF;AAEA;;;;AAIG;IACI,yBAAyB,CAAC,IAAgB,EAAE,iBAA0B,EAAA;QAC3E,IAAI,iBAAiB,EAAE;AACrB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1B;aAAO;AACL,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAC5B;IACF;AAEA;;;;;;AAMG;AACI,IAAA,wBAAwB,CAAC,IAAgB,EAAA;QAC9C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B;IACF;;;;AAMQ,IAAA,kBAAkB,CAAC,OAAgB,EAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAC/C;AAEQ,IAAA,kBAAkB,CAAC,OAAgB,EAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAC/C;AAEQ,IAAA,gBAAgB,CAAC,OAAgB,EAAA;QACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;IAC7C;AAEQ,IAAA,iBAAiB,CAAC,OAAgB,EAAA;QACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAC9C;AAEQ,IAAA,oBAAoB,CAAC,OAAgB,EAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC;IACjD;AAEQ,IAAA,mBAAmB,CAAC,OAAgB,EAAA;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAChD;IAEQ,QAAQ,CAAC,OAAgB,EAAE,IAAsB,EAAA;AACvD,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAErC,IAAI,CAAC,CAAC,EAAE;YACN,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC;aAAO;;AAEL,YAAA,CAAC,CAAC,OAAO,GAAG,OAAO;QACrB;AAEA,QAAA,CAAC,CAAC,MAAM,IAAI,IAAI;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;IACpB;;;;AAMQ,IAAA,aAAa,CAAC,KAAmB,EAAA;AACvC,QAAA,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK;QACjC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO;;AAG5B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;QACvD,MAAM,GAAG,GAAG,QAAQ,KAAK,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;;;;AAK9D,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;AACxC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;AAC1C,QAAA,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;QAEvF,IAAI,QAAQ,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE;AACrD,YAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E;AAEA,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E;AAEA,YAAA,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC;QAC3B;;QAGA,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,MAAM,CAAC,EAAE;AAC1C,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;AAG7E,gBAAA,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;oBAClC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;oBAElC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;oBACnE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AAEnC,oBAAA,IAAI;wBACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACxC;AAAE,oBAAA,MAAM;;oBAER;oBAEA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;gBAC9F;YACF;QACF;;QAGA,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,MAAM,CAAC,EAAE;AAC1C,YAAA,IAAI,IAAI,KAAK,IAAI,EAAE;;AAEjB,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO;AACvC,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO;YACzC;AAEA,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E;AAEA,YAAA,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChG;QACF;;QAGA,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE;AACxC,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7E;AAEA,YAAA,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACpG,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnB;QACF;;QAGA,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,MAAM,CAAC,EAAE;AACzC,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9E;QACF;;QAGA,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACpG,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnB;AAAO,iBAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACxB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E;AAEA,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B;IACF;AAEQ,IAAA,QAAQ,CAAC,SAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;AAExC,QAAA,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC;QACnD;AAAE,QAAA,MAAM;;QAER;IACF;;;;IAMQ,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC;QAEA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI;QAE/C,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI;QACb;QAEA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC;IAEQ,eAAe,CAAC,CAAS,EAAE,CAAS,EAAA;AAC1C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB;AAE5C,QAAA,UAAU,CAAC,MAAM,GAAG,CAAC;QACrB,IAAI,CAAC,SAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC;AAE5C,QAAA,IAAI,SAAS,GAAG,EAAE;QAClB,IAAI,QAAQ,GAAsB,IAAI;AAEtC,QAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AAClC,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO;AAEjC,YAAA,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAC5D,gBAAA,SAAS,GAAG,OAAO,CAAC,KAAK;AACzB,gBAAA,QAAQ,GAAG,OAAO,CAAC,IAAI;YACzB;QACF;AAEA,QAAA,OAAO,QAAQ;IACjB;;;;AAKQ,IAAA,YAAY,CAAC,IAAgB,EAAE,CAAS,EAAE,CAAS,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,IAAI,YAAY,SAAS,EAAE;AAC7B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAE9B,YAAA,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7C,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAEhD,IAAI,GAAG,EAAE;AACP,oBAAA,OAAO,GAAG;gBACZ;YACF;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAC3C,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,IAAI;IACb;;;;AAMA;;;AAGG;AACK,IAAA,aAAa,CAAC,IAAgB,EAAA;QACpC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpC;QACF;AAEA,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;;AAGhC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE;QACzC;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACxB;AAEA;;;AAGG;AACK,IAAA,eAAe,CAAC,IAAgB,EAAA;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACrC;QACF;AAEA,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAE1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AACjD,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAChE,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC;QAChC;IACF;AAEA;;;AAGG;AACK,IAAA,WAAW,CAAC,IAAgB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B;QACF;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/B,QAAA,MAAM,IAAI,GAA8B;AACtC,YAAA,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACtE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE;SACvD;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;IACrC;AAEA;;;AAGG;IACK,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1D;QACF;AAEA,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;AAE7C,YAAA,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AAC9B,gBAAA,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;YAC1B;AAEA,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;;AAGhC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,MAAM,OAAO,GAA8B;AACzC,gBAAA,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;AACtE,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;aACjF;AAED,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;QACxC;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;IAC1B;;IAGQ,eAAe,GAAA;AACrB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;AAC/B,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG;AAClD,QAAA,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI;QAE/C,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE;AACnC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;AACnD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;AACjD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;AACrD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAEvD,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;QAClD;AAEA,QAAA,OAAO,IAAI,QAAQ,CAAc,MAAM,CAAC;IAC1C;AAEA;;;AAGG;IACK,CAAC,eAAe,CAAC,IAAgB,EAAA;AACvC,QAAA,MAAM,KAAK,GAAiB,CAAC,IAAI,CAAC;AAElC,QAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG;AAEzB,YAAA,MAAM,IAAI;AAEV,YAAA,IAAI,IAAI,YAAY,SAAS,EAAE;;AAE7B,gBAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClC;YACF;QACF;IACF;;;;AAMQ,IAAA,eAAe,CAAC,KAAuB,EAAA;AAC7C,QAAA,IAAI,OAAO,GAAsB,KAAK,CAAC,MAAM;QAE7C,OAAO,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;AACpD,YAAA,KAAK,CAAC,aAAa,GAAG,OAAO;AAC7B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;AAEnD,YAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEtB,YAAA,IAAI,KAAK,CAAC,kBAAkB,EAAE;gBAC5B;YACF;;AAGA,YAAA,MAAM,MAAM,GAAqB,OAAO,CAAC,MAAM;AAE/C,YAAA,OAAO,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;QACjE;IACF;;IAGQ,eAAe,CAAC,KAAuB,EAAE,MAAkC,EAAA;AACjF,QAAA,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM;AAClC,QAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;IACxB;IAEQ,UAAU,CAAC,IAA0B,EAAE,IAAgB,EAAA;QAC7D,QAAQ,IAAI;AACV,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,aAAa;AAC3B,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,WAAW;AACzB,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,aAAa;AAC3B,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,aAAa;AAC3B,YAAA,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,YAAY;AAC1B,YAAA,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,YAAY;AAC1B,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,WAAW;AACzB,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,MAAM;AACpB,YAAA,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,SAAS;;IAE3B;;;;IAMQ,WAAW,CAAC,EAAU,EAAE,IAAuB,EAAA;AACrD,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;QAC7B;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B;IACF;IAEQ,aAAa,GAAA;QACnB,IAAI,MAAM,GAAkB,IAAI;QAEhC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,GAAsB,IAAI;AAE/B,YAAA,OAAO,CAAC,KAAK,IAAI,EAAE;AACjB,gBAAA,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;AACrB,oBAAA,MAAM,GAAG,CAAC,CAAC,MAAM;oBACjB;gBACF;AAEA,gBAAA,MAAM,CAAC,GAAqB,CAAC,CAAC,MAAM;gBAEpC,CAAC,GAAG,CAAC;YACP;AAEA,YAAA,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB;YACF;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE;IAC9C;AACD;;;;"}
1
+ {"version":3,"file":"InteractionManager.js","sources":["../../../../src/input/InteractionManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { RenderNode } from '#rendering/RenderNode';
2
+ /** Keyboard phase delivered to a focused node. */
3
+ export type KeyEventType = 'keydown' | 'keyup';
4
+ /**
5
+ * Envelope dispatched by {@link FocusManager} to the focused {@link RenderNode}
6
+ * for keyboard input. `channel` is the input channel of the key — compare it
7
+ * with the `Keyboard` constants (e.g. `event.channel === Keyboard.Enter`).
8
+ *
9
+ * A handler may call {@link KeyEvent.preventDefault} to suppress the
10
+ * FocusManager's built-in handling for this key (currently `Tab` focus
11
+ * traversal), letting the focused widget consume the key itself.
12
+ */
13
+ export declare class KeyEvent {
14
+ readonly type: KeyEventType;
15
+ /** Input channel of the key — compare with the `Keyboard.*` channel constants. */
16
+ readonly channel: number;
17
+ /** The focused node this event was delivered to. */
18
+ readonly target: RenderNode;
19
+ private _defaultPrevented;
20
+ constructor(type: KeyEventType, channel: number, target: RenderNode);
21
+ get defaultPrevented(): boolean;
22
+ /** Suppress the FocusManager's built-in handling (e.g. Tab traversal) for this key. */
23
+ preventDefault(): void;
24
+ }
25
+ //# sourceMappingURL=KeyEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyEvent.d.ts","sourceRoot":"","sources":["../../../src/input/KeyEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,kDAAkD;AAClD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACnB,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,kFAAkF;IAClF,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,SAAgB,MAAM,EAAE,UAAU,CAAC;IACnC,OAAO,CAAC,iBAAiB,CAAS;gBAEf,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAM1E,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,uFAAuF;IAChF,cAAc,IAAI,IAAI;CAG9B"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Envelope dispatched by {@link FocusManager} to the focused {@link RenderNode}
3
+ * for keyboard input. `channel` is the input channel of the key — compare it
4
+ * with the `Keyboard` constants (e.g. `event.channel === Keyboard.Enter`).
5
+ *
6
+ * A handler may call {@link KeyEvent.preventDefault} to suppress the
7
+ * FocusManager's built-in handling for this key (currently `Tab` focus
8
+ * traversal), letting the focused widget consume the key itself.
9
+ */
10
+ class KeyEvent {
11
+ type;
12
+ /** Input channel of the key — compare with the `Keyboard.*` channel constants. */
13
+ channel;
14
+ /** The focused node this event was delivered to. */
15
+ target;
16
+ _defaultPrevented = false;
17
+ constructor(type, channel, target) {
18
+ this.type = type;
19
+ this.channel = channel;
20
+ this.target = target;
21
+ }
22
+ get defaultPrevented() {
23
+ return this._defaultPrevented;
24
+ }
25
+ /** Suppress the FocusManager's built-in handling (e.g. Tab traversal) for this key. */
26
+ preventDefault() {
27
+ this._defaultPrevented = true;
28
+ }
29
+ }
30
+
31
+ export { KeyEvent };
32
+ //# sourceMappingURL=KeyEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyEvent.js","sources":["../../../../src/input/KeyEvent.ts"],"sourcesContent":[null],"names":[],"mappings":"AAKA;;;;;;;;AAQG;MACU,QAAQ,CAAA;AACH,IAAA,IAAI;;AAEJ,IAAA,OAAO;;AAEP,IAAA,MAAM;IACd,iBAAiB,GAAG,KAAK;AAEjC,IAAA,WAAA,CAAmB,IAAkB,EAAE,OAAe,EAAE,MAAkB,EAAA;AACxE,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;AAEA,IAAA,IAAW,gBAAgB,GAAA;QACzB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;;IAGO,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;IAC/B;AACD;;;;"}