@codexo/exojs 0.8.3 → 0.9.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 (317) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/README.md +26 -5
  3. package/dist/esm/animation/Tween.d.ts +20 -3
  4. package/dist/esm/animation/Tween.js +16 -8
  5. package/dist/esm/animation/Tween.js.map +1 -1
  6. package/dist/esm/animation/TweenManager.d.ts +16 -1
  7. package/dist/esm/animation/TweenManager.js +27 -2
  8. package/dist/esm/animation/TweenManager.js.map +1 -1
  9. package/dist/esm/audio/AudioAnalyser.d.ts +2 -0
  10. package/dist/esm/audio/AudioAnalyser.js +24 -9
  11. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  12. package/dist/esm/audio/AudioBus.d.ts +1 -0
  13. package/dist/esm/audio/AudioBus.js +8 -4
  14. package/dist/esm/audio/AudioBus.js.map +1 -1
  15. package/dist/esm/audio/AudioListener.d.ts +1 -0
  16. package/dist/esm/audio/AudioListener.js +7 -5
  17. package/dist/esm/audio/AudioListener.js.map +1 -1
  18. package/dist/esm/audio/AudioManager.d.ts +8 -2
  19. package/dist/esm/audio/AudioManager.js +14 -1
  20. package/dist/esm/audio/AudioManager.js.map +1 -1
  21. package/dist/esm/audio/BeatDetector.d.ts +2 -0
  22. package/dist/esm/audio/BeatDetector.js +27 -661
  23. package/dist/esm/audio/BeatDetector.js.map +1 -1
  24. package/dist/esm/audio/Music.d.ts +1 -0
  25. package/dist/esm/audio/Music.js +7 -3
  26. package/dist/esm/audio/Music.js.map +1 -1
  27. package/dist/esm/audio/OscillatorSound.d.ts +1 -0
  28. package/dist/esm/audio/OscillatorSound.js +7 -3
  29. package/dist/esm/audio/OscillatorSound.js.map +1 -1
  30. package/dist/esm/audio/Sound.d.ts +1 -0
  31. package/dist/esm/audio/Sound.js +7 -3
  32. package/dist/esm/audio/Sound.js.map +1 -1
  33. package/dist/esm/audio/audio-context.d.ts +2 -2
  34. package/dist/esm/audio/audio-context.js +4 -4
  35. package/dist/esm/audio/audio-context.js.map +1 -1
  36. package/dist/esm/audio/filters/ChorusFilter.d.ts +1 -0
  37. package/dist/esm/audio/filters/ChorusFilter.js +7 -3
  38. package/dist/esm/audio/filters/ChorusFilter.js.map +1 -1
  39. package/dist/esm/audio/filters/CompressorFilter.d.ts +1 -0
  40. package/dist/esm/audio/filters/CompressorFilter.js +7 -3
  41. package/dist/esm/audio/filters/CompressorFilter.js.map +1 -1
  42. package/dist/esm/audio/filters/DelayFilter.d.ts +1 -0
  43. package/dist/esm/audio/filters/DelayFilter.js +7 -3
  44. package/dist/esm/audio/filters/DelayFilter.js.map +1 -1
  45. package/dist/esm/audio/filters/EqualizerFilter.d.ts +1 -0
  46. package/dist/esm/audio/filters/EqualizerFilter.js +7 -3
  47. package/dist/esm/audio/filters/EqualizerFilter.js.map +1 -1
  48. package/dist/esm/audio/filters/GranularFilter.js +1 -86
  49. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  50. package/dist/esm/audio/filters/HighpassFilter.d.ts +1 -0
  51. package/dist/esm/audio/filters/HighpassFilter.js +7 -3
  52. package/dist/esm/audio/filters/HighpassFilter.js.map +1 -1
  53. package/dist/esm/audio/filters/LowpassFilter.d.ts +1 -0
  54. package/dist/esm/audio/filters/LowpassFilter.js +7 -3
  55. package/dist/esm/audio/filters/LowpassFilter.js.map +1 -1
  56. package/dist/esm/audio/filters/PitchShiftFilter.js +1 -71
  57. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  58. package/dist/esm/audio/filters/ReverbFilter.d.ts +1 -0
  59. package/dist/esm/audio/filters/ReverbFilter.js +7 -3
  60. package/dist/esm/audio/filters/ReverbFilter.js.map +1 -1
  61. package/dist/esm/audio/filters/VocoderFilter.js +1 -89
  62. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  63. package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -0
  64. package/dist/esm/audio/filters/WorkletFilter.js +10 -5
  65. package/dist/esm/audio/filters/WorkletFilter.js.map +1 -1
  66. package/dist/esm/audio/index.d.ts +15 -10
  67. package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -1
  68. package/dist/esm/audio/worklet/registerWorklet.js +2 -2
  69. package/dist/esm/audio/worklet/registerWorklet.js.map +1 -1
  70. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
  71. package/dist/esm/audio/worklets/beat-detector.worklet.js +647 -0
  72. package/dist/esm/audio/worklets/beat-detector.worklet.js.map +1 -0
  73. package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
  74. package/dist/esm/audio/worklets/granular.worklet.js +89 -0
  75. package/dist/esm/audio/worklets/granular.worklet.js.map +1 -0
  76. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
  77. package/dist/esm/audio/worklets/pitch-shift.worklet.js +74 -0
  78. package/dist/esm/audio/worklets/pitch-shift.worklet.js.map +1 -0
  79. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
  80. package/dist/esm/audio/worklets/vocoder.worklet.js +92 -0
  81. package/dist/esm/audio/worklets/vocoder.worklet.js.map +1 -0
  82. package/dist/esm/core/Application.d.ts +62 -24
  83. package/dist/esm/core/Application.js +116 -40
  84. package/dist/esm/core/Application.js.map +1 -1
  85. package/dist/esm/core/Color.d.ts +0 -8
  86. package/dist/esm/core/Color.js +0 -24
  87. package/dist/esm/core/Color.js.map +1 -1
  88. package/dist/esm/core/Scene.d.ts +32 -72
  89. package/dist/esm/core/Scene.js +56 -36
  90. package/dist/esm/core/Scene.js.map +1 -1
  91. package/dist/esm/core/SceneManager.d.ts +11 -25
  92. package/dist/esm/core/SceneManager.js +37 -100
  93. package/dist/esm/core/SceneManager.js.map +1 -1
  94. package/dist/esm/core/SceneNode.d.ts +28 -14
  95. package/dist/esm/core/SceneNode.js +66 -33
  96. package/dist/esm/core/SceneNode.js.map +1 -1
  97. package/dist/esm/core/Signal.d.ts +24 -28
  98. package/dist/esm/core/Signal.js +64 -50
  99. package/dist/esm/core/Signal.js.map +1 -1
  100. package/dist/esm/core/Timer.d.ts +1 -0
  101. package/dist/esm/core/Timer.js +3 -0
  102. package/dist/esm/core/Timer.js.map +1 -1
  103. package/dist/esm/debug/BoundingBoxesLayer.js +1 -1
  104. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  105. package/dist/esm/debug/HitTestLayer.js +1 -1
  106. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  107. package/dist/esm/debug/PerformanceLayer.js +1 -2
  108. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  109. package/dist/esm/debug/PointerStackLayer.js +1 -2
  110. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  111. package/dist/esm/debug/RenderPassInspectorLayer.js +1 -2
  112. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  113. package/dist/esm/index.js +23 -7
  114. package/dist/esm/index.js.map +1 -1
  115. package/dist/esm/input/InputManager.d.ts +1 -0
  116. package/dist/esm/input/InputManager.js +30 -3
  117. package/dist/esm/input/InputManager.js.map +1 -1
  118. package/dist/esm/input/InteractionManager.d.ts +5 -2
  119. package/dist/esm/input/InteractionManager.js +29 -18
  120. package/dist/esm/input/InteractionManager.js.map +1 -1
  121. package/dist/esm/input/Pointer.js +3 -2
  122. package/dist/esm/input/Pointer.js.map +1 -1
  123. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +9 -0
  124. package/dist/esm/input/internal/interactionManagerRegistry.js +10 -0
  125. package/dist/esm/input/internal/interactionManagerRegistry.js.map +1 -0
  126. package/dist/esm/math/AbstractVector.d.ts +1 -7
  127. package/dist/esm/math/AbstractVector.js +6 -20
  128. package/dist/esm/math/AbstractVector.js.map +1 -1
  129. package/dist/esm/math/Circle.js +0 -2
  130. package/dist/esm/math/Circle.js.map +1 -1
  131. package/dist/esm/math/Collision.d.ts +9 -3
  132. package/dist/esm/math/Ellipse.d.ts +2 -5
  133. package/dist/esm/math/Ellipse.js +10 -7
  134. package/dist/esm/math/Ellipse.js.map +1 -1
  135. package/dist/esm/math/ObservableVector.d.ts +1 -1
  136. package/dist/esm/math/ObservableVector.js +3 -3
  137. package/dist/esm/math/ObservableVector.js.map +1 -1
  138. package/dist/esm/math/Polygon.d.ts +0 -2
  139. package/dist/esm/math/Polygon.js +1 -9
  140. package/dist/esm/math/Polygon.js.map +1 -1
  141. package/dist/esm/math/Rectangle.js +0 -2
  142. package/dist/esm/math/Rectangle.js.map +1 -1
  143. package/dist/esm/math/collision-detection.d.ts +19 -4
  144. package/dist/esm/math/collision-detection.js +61 -4
  145. package/dist/esm/math/collision-detection.js.map +1 -1
  146. package/dist/esm/math/swept-collision.d.ts +16 -12
  147. package/dist/esm/math/swept-collision.js +109 -19
  148. package/dist/esm/math/swept-collision.js.map +1 -1
  149. package/dist/esm/particles/ParticleSystem.js +1 -1
  150. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  151. package/dist/esm/particles/index.d.ts +1 -0
  152. package/dist/esm/rendering/CallbackRenderPass.d.ts +1 -0
  153. package/dist/esm/rendering/CallbackRenderPass.js +1 -0
  154. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  155. package/dist/esm/rendering/Container.d.ts +2 -1
  156. package/dist/esm/rendering/Container.js +17 -16
  157. package/dist/esm/rendering/Container.js.map +1 -1
  158. package/dist/esm/rendering/RenderBackend.d.ts +1 -0
  159. package/dist/esm/rendering/RenderNode.d.ts +1 -3
  160. package/dist/esm/rendering/RenderNode.js +12 -19
  161. package/dist/esm/rendering/RenderNode.js.map +1 -1
  162. package/dist/esm/rendering/RenderPass.d.ts +1 -0
  163. package/dist/esm/rendering/RenderStats.d.ts +9 -0
  164. package/dist/esm/rendering/RenderStats.js +2 -0
  165. package/dist/esm/rendering/RenderStats.js.map +1 -1
  166. package/dist/esm/rendering/RendererRegistry.d.ts +1 -0
  167. package/dist/esm/rendering/RendererRegistry.js +1 -0
  168. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  169. package/dist/esm/rendering/View.d.ts +23 -0
  170. package/dist/esm/rendering/View.js +42 -0
  171. package/dist/esm/rendering/View.js.map +1 -1
  172. package/dist/esm/rendering/index.d.ts +89 -59
  173. package/dist/esm/rendering/mesh/Mesh.js +1 -1
  174. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  175. package/dist/esm/rendering/mesh/MeshShader.d.ts +1 -0
  176. package/dist/esm/rendering/mesh/MeshShader.js +1 -0
  177. package/dist/esm/rendering/mesh/MeshShader.js.map +1 -1
  178. package/dist/esm/rendering/shader/Shader.d.ts +1 -0
  179. package/dist/esm/rendering/shader/Shader.js +1 -0
  180. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  181. package/dist/esm/rendering/shader/ShaderUniform.d.ts +1 -0
  182. package/dist/esm/rendering/shader/ShaderUniform.js +1 -0
  183. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  184. package/dist/esm/rendering/sprite/Sprite.d.ts +3 -2
  185. package/dist/esm/rendering/sprite/Sprite.js +15 -13
  186. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  187. package/dist/esm/rendering/text/AbstractText.d.ts +36 -0
  188. package/dist/esm/rendering/text/AbstractText.js +49 -0
  189. package/dist/esm/rendering/text/AbstractText.js.map +1 -0
  190. package/dist/esm/rendering/text/BitmapText.d.ts +97 -0
  191. package/dist/esm/rendering/text/BitmapText.js +220 -0
  192. package/dist/esm/rendering/text/BitmapText.js.map +1 -0
  193. package/dist/esm/rendering/text/BmFont.d.ts +50 -0
  194. package/dist/esm/rendering/text/BmFont.js +24 -0
  195. package/dist/esm/rendering/text/BmFont.js.map +1 -0
  196. package/dist/esm/rendering/text/GlyphAtlas.d.ts +104 -0
  197. package/dist/esm/rendering/text/GlyphAtlas.js +347 -0
  198. package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -0
  199. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +40 -0
  200. package/dist/esm/rendering/text/GlyphAtlasPool.js +67 -0
  201. package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -0
  202. package/dist/esm/rendering/text/GlyphSdf.d.ts +92 -0
  203. package/dist/esm/rendering/text/GlyphSdf.js +220 -0
  204. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -0
  205. package/dist/esm/rendering/text/HTMLText.d.ts +107 -0
  206. package/dist/esm/rendering/text/HTMLText.js +284 -0
  207. package/dist/esm/rendering/text/HTMLText.js.map +1 -0
  208. package/dist/esm/rendering/text/LayoutOptions.d.ts +30 -0
  209. package/dist/esm/rendering/text/Text.d.ts +89 -20
  210. package/dist/esm/rendering/text/Text.js +176 -101
  211. package/dist/esm/rendering/text/Text.js.map +1 -1
  212. package/dist/esm/rendering/text/TextLayout.d.ts +20 -8
  213. package/dist/esm/rendering/text/TextLayout.js +234 -25
  214. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  215. package/dist/esm/rendering/text/TextStyle.d.ts +154 -87
  216. package/dist/esm/rendering/text/TextStyle.js +257 -203
  217. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  218. package/dist/esm/rendering/text/types.d.ts +73 -13
  219. package/dist/esm/rendering/texture/Texture.d.ts +1 -0
  220. package/dist/esm/rendering/texture/Texture.js +1 -0
  221. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  222. package/dist/esm/rendering/types.d.ts +3 -1
  223. package/dist/esm/rendering/types.js +2 -0
  224. package/dist/esm/rendering/types.js.map +1 -1
  225. package/dist/esm/rendering/video/Video.d.ts +2 -1
  226. package/dist/esm/rendering/video/Video.js +9 -5
  227. package/dist/esm/rendering/video/Video.js.map +1 -1
  228. package/dist/esm/rendering/webgl2/WebGl2Backend.js +41 -5
  229. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  230. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +4 -4
  231. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  232. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +56 -0
  233. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +482 -0
  234. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -0
  235. package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +4 -0
  236. package/dist/esm/rendering/webgl2/glsl/text-color.frag.js.map +1 -0
  237. package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js +4 -0
  238. package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js.map +1 -0
  239. package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js +4 -0
  240. package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js.map +1 -0
  241. package/dist/esm/rendering/webgl2/glsl/text.vert.js +4 -0
  242. package/dist/esm/rendering/webgl2/glsl/text.vert.js.map +1 -0
  243. package/dist/esm/rendering/webgpu/WebGpuBackend.js +16 -8
  244. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  245. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +26 -0
  246. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  247. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +2 -2
  248. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +23 -15
  249. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  250. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +9 -1
  251. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  252. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +70 -0
  253. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +773 -0
  254. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -0
  255. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +96 -0
  256. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -0
  257. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +68 -0
  258. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -0
  259. package/dist/esm/resources/Asset.d.ts +23 -0
  260. package/dist/esm/resources/Asset.js +23 -0
  261. package/dist/esm/resources/Asset.js.map +1 -0
  262. package/dist/esm/resources/AssetDefinitions.d.ts +137 -0
  263. package/dist/esm/resources/Assets.d.ts +35 -0
  264. package/dist/esm/resources/Assets.js +32 -0
  265. package/dist/esm/resources/Assets.js.map +1 -0
  266. package/dist/esm/resources/IndexedDbDatabase.js +17 -1
  267. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  268. package/dist/esm/resources/IndexedDbStore.js +17 -1
  269. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  270. package/dist/esm/resources/Loader.d.ts +244 -18
  271. package/dist/esm/resources/Loader.js +456 -50
  272. package/dist/esm/resources/Loader.js.map +1 -1
  273. package/dist/esm/resources/LoadingQueue.d.ts +28 -0
  274. package/dist/esm/resources/LoadingQueue.js +59 -0
  275. package/dist/esm/resources/LoadingQueue.js.map +1 -0
  276. package/dist/esm/resources/factories/BmFontFactory.d.ts +25 -0
  277. package/dist/esm/resources/factories/BmFontFactory.js +96 -0
  278. package/dist/esm/resources/factories/BmFontFactory.js.map +1 -0
  279. package/dist/esm/resources/factories/CsvFactory.d.ts +35 -0
  280. package/dist/esm/resources/factories/CsvFactory.js +87 -0
  281. package/dist/esm/resources/factories/CsvFactory.js.map +1 -0
  282. package/dist/esm/resources/factories/MusicFactory.d.ts +8 -2
  283. package/dist/esm/resources/factories/MusicFactory.js +25 -14
  284. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  285. package/dist/esm/resources/factories/SoundFactory.d.ts +2 -2
  286. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  287. package/dist/esm/resources/factories/SubtitleFactory.d.ts +28 -0
  288. package/dist/esm/resources/factories/SubtitleFactory.js +203 -0
  289. package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -0
  290. package/dist/esm/resources/factories/SvgFactory.d.ts +18 -1
  291. package/dist/esm/resources/factories/SvgFactory.js +21 -2
  292. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  293. package/dist/esm/resources/factories/VideoFactory.d.ts +8 -2
  294. package/dist/esm/resources/factories/VideoFactory.js +27 -20
  295. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  296. package/dist/esm/resources/factories/XmlFactory.d.ts +24 -0
  297. package/dist/esm/resources/factories/XmlFactory.js +37 -0
  298. package/dist/esm/resources/factories/XmlFactory.js.map +1 -0
  299. package/dist/esm/resources/index.d.ts +8 -1
  300. package/dist/esm/resources/tokens.d.ts +49 -3
  301. package/dist/esm/resources/tokens.js +50 -4
  302. package/dist/esm/resources/tokens.js.map +1 -1
  303. package/dist/exo.esm.js +6635 -2550
  304. package/dist/exo.esm.js.map +1 -1
  305. package/package.json +19 -6
  306. package/dist/esm/input/interaction-hooks.d.ts +0 -34
  307. package/dist/esm/input/interaction-hooks.js +0 -35
  308. package/dist/esm/input/interaction-hooks.js.map +0 -1
  309. package/dist/esm/rendering/text/DynamicGlyphAtlas.d.ts +0 -33
  310. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +0 -134
  311. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +0 -1
  312. package/dist/esm/rendering/text/atlas-singleton.d.ts +0 -7
  313. package/dist/esm/rendering/text/atlas-singleton.js +0 -17
  314. package/dist/esm/rendering/text/atlas-singleton.js.map +0 -1
  315. package/dist/esm/resources/factories/VttFactory.d.ts +0 -24
  316. package/dist/esm/resources/factories/VttFactory.js +0 -158
  317. package/dist/esm/resources/factories/VttFactory.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _getCurrentInteractionManager } from '../input/interaction-hooks.js';
1
+ import { getActiveInteractionManager } from '../input/internal/interactionManagerRegistry.js';
2
2
  import { CollisionType } from '../math/Collision.js';
3
3
  import { intersectionPointRect, intersectionLineRect, intersectionRectEllipse, intersectionRectCircle, intersectionSat, getCollisionSat } from '../math/collision-detection.js';
4
4
  import { Flags } from '../math/Flags.js';
@@ -20,27 +20,29 @@ var SceneNodeTransformFlags;
20
20
  SceneNodeTransformFlags[SceneNodeTransformFlags["Rotation"] = 2] = "Rotation";
21
21
  SceneNodeTransformFlags[SceneNodeTransformFlags["Scaling"] = 4] = "Scaling";
22
22
  SceneNodeTransformFlags[SceneNodeTransformFlags["Origin"] = 8] = "Origin";
23
- SceneNodeTransformFlags[SceneNodeTransformFlags["Transform"] = 15] = "Transform";
23
+ SceneNodeTransformFlags[SceneNodeTransformFlags["Skew"] = 32] = "Skew";
24
+ SceneNodeTransformFlags[SceneNodeTransformFlags["Transform"] = 47] = "Transform";
24
25
  SceneNodeTransformFlags[SceneNodeTransformFlags["TransformInverse"] = 16] = "TransformInverse";
25
26
  SceneNodeTransformFlags[SceneNodeTransformFlags["GlobalTransform"] = 256] = "GlobalTransform";
26
27
  SceneNodeTransformFlags[SceneNodeTransformFlags["BoundsRect"] = 512] = "BoundsRect";
27
28
  })(SceneNodeTransformFlags || (SceneNodeTransformFlags = {}));
28
29
  /**
29
30
  * Transform-bearing leaf in the scene-graph hierarchy. Carries position,
30
- * rotation, scale, origin, and a 2-component {@link Vector} `anchor` used to
31
- * derive `origin` from the local bounds. Implements {@link Collidable} so
32
- * any node can participate directly in the SAT collision pipeline via its
33
- * AABB or rotated quad.
31
+ * rotation, scale, skew, origin, and a 2-component {@link Vector} `anchor`
32
+ * used to derive `origin` from the local bounds. Implements {@link Collidable}
33
+ * so any node can participate directly in the SAT collision pipeline via its
34
+ * AABB or rotated/skewed quad.
34
35
  *
35
- * Transform state is dirty-flag-cached: position/rotation/scale/origin
36
+ * Transform state is dirty-flag-cached: position/rotation/scale/skew/origin
36
37
  * mutations invalidate the local transform; either kind of mutation also
37
38
  * invalidates the global transform (own + descendants) and the bounds rect
38
39
  * for this node and every {@link Container} ancestor up the parent chain.
39
40
  * The caches rebuild lazily on the next read.
40
41
  *
41
42
  * The fast-path `isAlignedBox` getter reports `true` when the rotation is a
42
- * multiple of 90°; in that case the (cheaper) AABB-based collision test is
43
- * used instead of the rotated-quad SAT path.
43
+ * multiple of 90° and both skew components are zero; in that case the
44
+ * (cheaper) AABB-based collision test is used instead of the rotated/skewed
45
+ * quad SAT path.
44
46
  *
45
47
  * `_invalidate*` methods are exported as `public` for friend-class access
46
48
  * from {@link Container} and {@link InteractionManager}; treat them as
@@ -58,6 +60,8 @@ class SceneNode {
58
60
  _scale = new ObservableVector(this._setScalingDirty.bind(this), 1, 1);
59
61
  _origin = new ObservableVector(this._setOriginDirty.bind(this), 0, 0);
60
62
  _rotation = 0;
63
+ _skewX = 0;
64
+ _skewY = 0;
61
65
  _sin = 0;
62
66
  _cos = 1;
63
67
  _visible = true;
@@ -123,12 +127,6 @@ class SceneNode {
123
127
  set parent(parent) {
124
128
  this._parentNode = parent;
125
129
  }
126
- get parentNode() {
127
- return this._parentNode;
128
- }
129
- set parentNode(parentNode) {
130
- this._parentNode = parentNode;
131
- }
132
130
  get visible() {
133
131
  return this._visible;
134
132
  }
@@ -153,17 +151,36 @@ class SceneNode {
153
151
  set cullable(cullable) {
154
152
  this._cullable = cullable;
155
153
  }
156
- get globalTransform() {
157
- return this.getGlobalTransform();
154
+ /**
155
+ * Horizontal skew angle in degrees. Shears the node along the X axis
156
+ * (positive values lean the top edge right). Combines correctly with
157
+ * rotation and scale.
158
+ */
159
+ get skewX() {
160
+ return this._skewX;
161
+ }
162
+ set skewX(degrees) {
163
+ if (this._skewX !== degrees) {
164
+ this._skewX = degrees;
165
+ this._setSkewDirty();
166
+ }
158
167
  }
159
- get localBounds() {
160
- return this.getLocalBounds();
168
+ /**
169
+ * Vertical skew angle in degrees. Shears the node along the Y axis
170
+ * (positive values lean the left edge downward). Combines correctly with
171
+ * rotation and scale.
172
+ */
173
+ get skewY() {
174
+ return this._skewY;
161
175
  }
162
- get bounds() {
163
- return this.getBounds();
176
+ set skewY(degrees) {
177
+ if (this._skewY !== degrees) {
178
+ this._skewY = degrees;
179
+ this._setSkewDirty();
180
+ }
164
181
  }
165
182
  get isAlignedBox() {
166
- return this.rotation % 90 === 0;
183
+ return this.rotation % 90 === 0 && this._skewX === 0 && this._skewY === 0;
167
184
  }
168
185
  setPosition(x, y = x) {
169
186
  this._position.set(x, y);
@@ -181,6 +198,11 @@ class SceneNode {
181
198
  this._scale.set(x, y);
182
199
  return this;
183
200
  }
201
+ setSkew(x, y = x) {
202
+ this.skewX = x;
203
+ this.skewY = y;
204
+ return this;
205
+ }
184
206
  setOrigin(x, y = x) {
185
207
  this._origin.set(x, y);
186
208
  return this;
@@ -204,14 +226,24 @@ class SceneNode {
204
226
  this._cos = Math.cos(radians);
205
227
  this._sin = Math.sin(radians);
206
228
  }
207
- if (this.flags.has(SceneNodeTransformFlags.Rotation | SceneNodeTransformFlags.Scaling)) {
229
+ if (this.flags.has(SceneNodeTransformFlags.Rotation | SceneNodeTransformFlags.Scaling | SceneNodeTransformFlags.Skew)) {
208
230
  const { x, y } = this._scale;
209
- this._transform.a = x * this._cos;
210
- this._transform.b = y * this._sin;
211
- this._transform.c = -x * this._sin;
212
- this._transform.d = y * this._cos;
231
+ if (this._skewX !== 0 || this._skewY !== 0) {
232
+ const shearX = Math.tan(degreesToRadians(this._skewX));
233
+ const shearY = Math.tan(degreesToRadians(this._skewY));
234
+ this._transform.a = x * this._cos + shearX * this._sin;
235
+ this._transform.b = y * this._sin + shearY * this._cos;
236
+ this._transform.c = -x * this._sin + shearX * this._cos;
237
+ this._transform.d = -shearY * this._sin + y * this._cos;
238
+ }
239
+ else {
240
+ this._transform.a = x * this._cos;
241
+ this._transform.b = y * this._sin;
242
+ this._transform.c = -x * this._sin;
243
+ this._transform.d = y * this._cos;
244
+ }
213
245
  }
214
- if (this._rotation) {
246
+ if (this._rotation || this._skewX !== 0 || this._skewY !== 0) {
215
247
  const { x, y } = this._origin;
216
248
  this._transform.x = x * -this._transform.a - y * this._transform.b + this._position.x;
217
249
  this._transform.y = x * -this._transform.c - y * this._transform.d + this._position.y;
@@ -230,10 +262,6 @@ class SceneNode {
230
262
  this._childOrder = order;
231
263
  return this;
232
264
  }
233
- setCullable(cullable) {
234
- this._cullable = cullable;
235
- return this;
236
- }
237
265
  getLocalBounds() {
238
266
  return this._localBounds;
239
267
  }
@@ -346,7 +374,7 @@ class SceneNode {
346
374
  // Notify the InteractionManager so it can mark the quadtree entry stale.
347
375
  // The manager filters to only tracked interactive nodes so this call is
348
376
  // O(1) for the common case (non-interactive node — fast Set.has miss).
349
- _getCurrentInteractionManager()?._notifyBoundsInvalidated(this);
377
+ getActiveInteractionManager()?._notifyBoundsInvalidated(this);
350
378
  if (this._parentNode) {
351
379
  this._parentNode._invalidateBoundsCascade();
352
380
  }
@@ -371,6 +399,11 @@ class SceneNode {
371
399
  this._invalidateSubtreeTransform();
372
400
  this._invalidateBoundsCascade();
373
401
  }
402
+ _setSkewDirty() {
403
+ this.flags.push(SceneNodeTransformFlags.Skew);
404
+ this._invalidateSubtreeTransform();
405
+ this._invalidateBoundsCascade();
406
+ }
374
407
  _updateOrigin() {
375
408
  const { x, y } = this._anchor;
376
409
  const { width, height } = this.getBounds();
@@ -1 +1 @@
1
- {"version":3,"file":"SceneNode.js","sources":["../../../../src/core/SceneNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneNode.js","sources":["../../../../src/core/SceneNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,10 +4,6 @@
4
4
  * (subsequent dispatches are unaffected).
5
5
  */
6
6
  type SignalHandler<Args extends unknown[]> = (...params: Args) => void | boolean;
7
- interface SignalBinding<Args extends unknown[]> {
8
- handler: SignalHandler<Args>;
9
- context?: object;
10
- }
11
7
  /**
12
8
  * Lightweight typed event emitter. Each `Signal` represents one named
13
9
  * notification channel (e.g. `onResize`, `onFrame`). Listeners are added with
@@ -18,43 +14,43 @@ interface SignalBinding<Args extends unknown[]> {
18
14
  * end so a `new Signal<[number, string]>()` enforces both `dispatch(1, 'x')`
19
15
  * and the listener signature `(n: number, s: string) => …`.
20
16
  *
21
- * `dispatch` snapshots the bindings list before iterating, so handlers may
22
- * freely add or remove listeners during the same dispatch without corrupting
23
- * the loop. Returning `false` from a handler short-circuits the rest of the
24
- * dispatch (handy for capturing-style flows).
17
+ * Handlers are stored as direct function references (no wrapper objects).
18
+ * `dispatch` uses a guard flag instead of a snapshot copy, so no allocation
19
+ * occurs per dispatch. Handlers added or removed during dispatch take effect
20
+ * on the next call; a `remove` mid-dispatch defers the splice until after the
21
+ * current iteration finishes. Returning `false` from a handler short-circuits
22
+ * the rest of the dispatch.
25
23
  */
26
24
  export declare class Signal<Args extends unknown[] = []> {
27
- private readonly _bindings;
28
- get bindings(): ReadonlyArray<SignalBinding<Args>>;
29
- /** `true` when `handler` is registered with the same `context`. */
30
- has(handler: SignalHandler<Args>, context?: object): boolean;
25
+ private readonly _handlers;
26
+ private _dispatching;
27
+ private _pendingRemoves;
28
+ /** Number of currently registered listeners. */
29
+ get count(): number;
30
+ /** `true` when `handler` is currently registered. */
31
+ has(handler: SignalHandler<Args>): boolean;
31
32
  /**
32
- * Register a listener. Idempotent — adding the same `(handler, context)`
33
- * pair twice is a no-op. `context` becomes `this` inside the handler.
33
+ * Register a listener. Idempotent — adding the same handler reference
34
+ * twice is a no-op. Use arrow functions or pre-bound methods to ensure
35
+ * correct `this` inside the handler.
34
36
  */
35
- add(handler: SignalHandler<Args>, context?: object): this;
37
+ add(handler: SignalHandler<Args>): this;
36
38
  /**
37
39
  * Register a listener that auto-removes itself after the first dispatch.
38
- * Wraps `handler` in a self-removing closure; calling
40
+ * The internal wrapper reference differs from `handler`, so calling
39
41
  * {@link Signal.remove} with the original `handler` reference does NOT
40
- * remove the wrapper — use {@link Signal.clear} or
41
- * {@link Signal.clearByContext} to undo a `once` registration.
42
- */
43
- once(handler: SignalHandler<Args>, context?: object): this;
44
- /** Remove a previously registered `(handler, context)` pair. No-op if absent. */
45
- remove(handler: SignalHandler<Args>, context?: object): this;
46
- /**
47
- * Remove every listener bound to `context`. Useful when an object is
48
- * being torn down and needs to detach all its subscriptions in one call.
42
+ * remove it — use {@link Signal.clear} to undo a `once` registration.
49
43
  */
50
- clearByContext(context?: object): this;
44
+ once(handler: SignalHandler<Args>): this;
45
+ /** Remove a previously registered handler. No-op if absent. */
46
+ remove(handler: SignalHandler<Args>): this;
51
47
  /** Remove every listener. */
52
48
  clear(): this;
53
49
  /**
54
50
  * Notify every registered listener in registration order. Returning `false`
55
51
  * from a handler stops dispatch to the remaining listeners for this call.
56
- * Listeners may safely add/remove bindings during dispatch — the iteration
57
- * uses a pre-snapshot of the bindings array.
52
+ * Listeners may safely remove themselves or others during dispatch — removals
53
+ * are deferred until after the current iteration completes.
58
54
  */
59
55
  dispatch(...params: Args): this;
60
56
  destroy(): void;
@@ -10,91 +10,105 @@ import { removeArrayItems } from './utils.js';
10
10
  * end so a `new Signal<[number, string]>()` enforces both `dispatch(1, 'x')`
11
11
  * and the listener signature `(n: number, s: string) => …`.
12
12
  *
13
- * `dispatch` snapshots the bindings list before iterating, so handlers may
14
- * freely add or remove listeners during the same dispatch without corrupting
15
- * the loop. Returning `false` from a handler short-circuits the rest of the
16
- * dispatch (handy for capturing-style flows).
13
+ * Handlers are stored as direct function references (no wrapper objects).
14
+ * `dispatch` uses a guard flag instead of a snapshot copy, so no allocation
15
+ * occurs per dispatch. Handlers added or removed during dispatch take effect
16
+ * on the next call; a `remove` mid-dispatch defers the splice until after the
17
+ * current iteration finishes. Returning `false` from a handler short-circuits
18
+ * the rest of the dispatch.
17
19
  */
18
20
  class Signal {
19
- _bindings = new Array();
20
- get bindings() {
21
- return this._bindings;
21
+ _handlers = [];
22
+ _dispatching = false;
23
+ _pendingRemoves = null;
24
+ /** Number of currently registered listeners. */
25
+ get count() {
26
+ return this._handlers.length;
22
27
  }
23
- /** `true` when `handler` is registered with the same `context`. */
24
- has(handler, context) {
25
- return this._bindings.some(binding => binding.handler === handler && binding.context === context);
28
+ /** `true` when `handler` is currently registered. */
29
+ has(handler) {
30
+ return this._handlers.includes(handler);
26
31
  }
27
32
  /**
28
- * Register a listener. Idempotent — adding the same `(handler, context)`
29
- * pair twice is a no-op. `context` becomes `this` inside the handler.
33
+ * Register a listener. Idempotent — adding the same handler reference
34
+ * twice is a no-op. Use arrow functions or pre-bound methods to ensure
35
+ * correct `this` inside the handler.
30
36
  */
31
- add(handler, context) {
32
- if (!this.has(handler, context)) {
33
- this._bindings.push({ handler, context });
37
+ add(handler) {
38
+ if (!this._handlers.includes(handler)) {
39
+ this._handlers.push(handler);
34
40
  }
35
41
  return this;
36
42
  }
37
43
  /**
38
44
  * Register a listener that auto-removes itself after the first dispatch.
39
- * Wraps `handler` in a self-removing closure; calling
45
+ * The internal wrapper reference differs from `handler`, so calling
40
46
  * {@link Signal.remove} with the original `handler` reference does NOT
41
- * remove the wrapper — use {@link Signal.clear} or
42
- * {@link Signal.clearByContext} to undo a `once` registration.
47
+ * remove it — use {@link Signal.clear} to undo a `once` registration.
43
48
  */
44
- once(handler, context) {
45
- const once = (...params) => {
46
- this.remove(once, context);
47
- handler.call(context, ...params);
49
+ once(handler) {
50
+ const wrapper = (...params) => {
51
+ this.remove(wrapper);
52
+ handler(...params);
48
53
  };
49
- this.add(once, context);
54
+ this._handlers.push(wrapper);
50
55
  return this;
51
56
  }
52
- /** Remove a previously registered `(handler, context)` pair. No-op if absent. */
53
- remove(handler, context) {
54
- const index = this._bindings.findIndex(binding => binding.handler === handler && binding.context === context);
55
- if (index !== -1) {
56
- removeArrayItems(this._bindings, index, 1);
57
+ /** Remove a previously registered handler. No-op if absent. */
58
+ remove(handler) {
59
+ if (this._dispatching) {
60
+ (this._pendingRemoves ??= []).push(handler);
57
61
  }
58
- return this;
59
- }
60
- /**
61
- * Remove every listener bound to `context`. Useful when an object is
62
- * being torn down and needs to detach all its subscriptions in one call.
63
- */
64
- clearByContext(context) {
65
- const bindings = this._bindings.filter(binding => binding.context === context);
66
- for (const binding of bindings) {
67
- removeArrayItems(this._bindings, this._bindings.indexOf(binding), 1);
62
+ else {
63
+ const index = this._handlers.indexOf(handler);
64
+ if (index !== -1) {
65
+ removeArrayItems(this._handlers, index, 1);
66
+ }
68
67
  }
69
68
  return this;
70
69
  }
71
70
  /** Remove every listener. */
72
71
  clear() {
73
- this._bindings.length = 0;
72
+ if (this._dispatching) {
73
+ this._pendingRemoves = [...this._handlers];
74
+ }
75
+ else {
76
+ this._handlers.length = 0;
77
+ }
74
78
  return this;
75
79
  }
76
80
  /**
77
81
  * Notify every registered listener in registration order. Returning `false`
78
82
  * from a handler stops dispatch to the remaining listeners for this call.
79
- * Listeners may safely add/remove bindings during dispatch — the iteration
80
- * uses a pre-snapshot of the bindings array.
83
+ * Listeners may safely remove themselves or others during dispatch — removals
84
+ * are deferred until after the current iteration completes.
81
85
  */
82
86
  dispatch(...params) {
83
- if (this._bindings.length) {
84
- // Snapshot bindings because handlers may mutate the array mid-dispatch
85
- // (notably `once()` wrappers that remove themselves), which would otherwise
86
- // cause the iterator to skip the binding shifted into the vacated slot.
87
- const bindings = [...this._bindings];
88
- for (const binding of bindings) {
89
- if (binding.handler.call(binding.context, ...params) === false) {
90
- break;
87
+ const length = this._handlers.length;
88
+ if (!length) {
89
+ return this;
90
+ }
91
+ this._dispatching = true;
92
+ for (let i = 0; i < length; i++) {
93
+ if (this._handlers[i](...params) === false) {
94
+ break;
95
+ }
96
+ }
97
+ this._dispatching = false;
98
+ if (this._pendingRemoves !== null) {
99
+ for (const handler of this._pendingRemoves) {
100
+ const index = this._handlers.indexOf(handler);
101
+ if (index !== -1) {
102
+ removeArrayItems(this._handlers, index, 1);
91
103
  }
92
104
  }
105
+ this._pendingRemoves = null;
93
106
  }
94
107
  return this;
95
108
  }
96
109
  destroy() {
97
- this.clear();
110
+ this._handlers.length = 0;
111
+ this._pendingRemoves = null;
98
112
  }
99
113
  }
100
114
 
@@ -1 +1 @@
1
- {"version":3,"file":"Signal.js","sources":["../../../../src/core/Signal.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAcA;;;;;;;;;;;;;;AAcG;MACU,MAAM,CAAA;AACA,IAAA,SAAS,GAAG,IAAI,KAAK,EAAuB;AAE7D,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;;IAGO,GAAG,CAAC,OAA4B,EAAE,OAAgB,EAAA;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;IACnG;AAEA;;;AAGG;IACI,GAAG,CAAC,OAA4B,EAAE,OAAgB,EAAA;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC3C;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;AAMG;IACI,IAAI,CAAC,OAA4B,EAAE,OAAgB,EAAA;AACxD,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,MAAY,KAAU;AACrC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;AAClC,QAAA,CAAC;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;AAEvB,QAAA,OAAO,IAAI;IACb;;IAGO,MAAM,CAAC,OAA4B,EAAE,OAAgB,EAAA;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;AAE7G,QAAA,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACI,IAAA,cAAc,CAAC,OAAgB,EAAA;AACpC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;AAE9E,QAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC9B,YAAA,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtE;AAEA,QAAA,OAAO,IAAI;IACb;;IAGO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;AAEzB,QAAA,OAAO,IAAI;IACb;AAEA;;;;;AAKG;IACI,QAAQ,CAAC,GAAG,MAAY,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;;;;YAIzB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAEpC,YAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC9B,gBAAA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,EAAE;oBAC9D;gBACF;YACF;QACF;AAEA,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,GAAA;QACZ,IAAI,CAAC,KAAK,EAAE;IACd;AACD;;;;"}
1
+ {"version":3,"file":"Signal.js","sources":["../../../../src/core/Signal.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { Clock } from './Clock';
9
9
  export declare class Timer extends Clock {
10
10
  private readonly _limit;
11
11
  constructor(limit: Time, autoStart?: boolean);
12
+ get limit(): Time;
12
13
  set limit(limit: Time);
13
14
  /** `true` once the elapsed time has reached or exceeded the configured limit. */
14
15
  get expired(): boolean;
@@ -16,6 +16,9 @@ class Timer extends Clock {
16
16
  this.restart();
17
17
  }
18
18
  }
19
+ get limit() {
20
+ return this._limit;
21
+ }
19
22
  set limit(limit) {
20
23
  this._limit.copy(limit);
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.js","sources":["../../../../src/core/Timer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;AAKG;AACG,MAAO,KAAM,SAAQ,KAAK,CAAA;AACb,IAAA,MAAM;AAEvB,IAAA,WAAA,CAAmB,KAAW,EAAE,SAAS,GAAG,KAAK,EAAA;AAC/C,QAAA,KAAK,EAAE;AAEP,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE;QAE3B,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,KAAK,CAAC,KAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;IAC7D;AAEA,IAAA,IAAW,qBAAqB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACzE;AAEA,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO;IAClD;AAEA,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO;IAClD;AAEA,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK;IAChD;AACD;;;;"}
1
+ {"version":3,"file":"Timer.js","sources":["../../../../src/core/Timer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;AAKG;AACG,MAAO,KAAM,SAAQ,KAAK,CAAA;AACb,IAAA,MAAM;AAEvB,IAAA,WAAA,CAAmB,KAAW,EAAE,SAAS,GAAG,KAAK,EAAA;AAC/C,QAAA,KAAK,EAAE;AAEP,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE;QAE3B,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;AAEA,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAW,KAAK,CAAC,KAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;;AAGA,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;IAC7D;AAEA,IAAA,IAAW,qBAAqB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACzE;AAEA,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO;IAClD;AAEA,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO;IAClD;AAEA,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK;IAChD;AACD;;;;"}
@@ -72,7 +72,7 @@ class BoundingBoxesLayer extends DebugLayer {
72
72
  * so overlapping nodes are visually distinguishable.
73
73
  */
74
74
  render(backend) {
75
- const root = this._app.sceneManager.scene?.root;
75
+ const root = this._app.scene.currentScene?.root;
76
76
  if (!root) {
77
77
  return;
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BoundingBoxesLayer.js","sources":["../../../../src/debug/BoundingBoxesLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundingBoxesLayer.js","sources":["../../../../src/debug/BoundingBoxesLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ class HitTestLayer extends DebugLayer {
36
36
  * active, helping diagnose partitioning behavior.
37
37
  */
38
38
  render(backend) {
39
- const root = this._app.sceneManager.scene?.root;
39
+ const root = this._app.scene.currentScene?.root;
40
40
  if (!root) {
41
41
  return;
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HitTestLayer.js","sources":["../../../../src/debug/HitTestLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HitTestLayer.js","sources":["../../../../src/debug/HitTestLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ class PerformanceLayer extends DebugLayer {
99
99
  this._sparkSampleIndex = (this._sparkSampleIndex + 1) % sparklineSampleCount;
100
100
  // --- Stats ---
101
101
  const stats = this._app.backend.stats;
102
- const scene = this._app.sceneManager.scene;
102
+ const scene = this._app.scene.currentScene;
103
103
  const nodeCount = scene ? countNodes(scene.root) : 0;
104
104
  // --- Update text ---
105
105
  if (this._textFps !== null) {
@@ -161,7 +161,6 @@ class PerformanceLayer extends DebugLayer {
161
161
  fontFamily: 'Arial',
162
162
  fontWeight: 'normal',
163
163
  fillColor: textColor,
164
- strokeThickness: 0,
165
164
  });
166
165
  const bg = new Graphics();
167
166
  bg.fillColor = bgColor;
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceLayer.js","sources":["../../../../src/debug/PerformanceLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerformanceLayer.js","sources":["../../../../src/debug/PerformanceLayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}