@codexo/exojs 0.8.4 → 0.10.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 (470) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/README.md +34 -13
  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 +86 -29
  83. package/dist/esm/core/Application.js +157 -47
  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/Perf.d.ts +23 -0
  89. package/dist/esm/core/Perf.js +49 -0
  90. package/dist/esm/core/Perf.js.map +1 -0
  91. package/dist/esm/core/Scene.d.ts +40 -80
  92. package/dist/esm/core/Scene.js +63 -43
  93. package/dist/esm/core/Scene.js.map +1 -1
  94. package/dist/esm/core/SceneManager.d.ts +11 -25
  95. package/dist/esm/core/SceneManager.js +37 -100
  96. package/dist/esm/core/SceneManager.js.map +1 -1
  97. package/dist/esm/core/SceneNode.d.ts +28 -17
  98. package/dist/esm/core/SceneNode.js +66 -42
  99. package/dist/esm/core/SceneNode.js.map +1 -1
  100. package/dist/esm/core/Signal.d.ts +24 -28
  101. package/dist/esm/core/Signal.js +64 -50
  102. package/dist/esm/core/Signal.js.map +1 -1
  103. package/dist/esm/core/Timer.d.ts +1 -0
  104. package/dist/esm/core/Timer.js +3 -0
  105. package/dist/esm/core/Timer.js.map +1 -1
  106. package/dist/esm/core/capabilities.d.ts +2 -0
  107. package/dist/esm/core/capabilities.js +15 -0
  108. package/dist/esm/core/capabilities.js.map +1 -1
  109. package/dist/esm/core/index.d.ts +1 -0
  110. package/dist/esm/core/types.d.ts +1 -1
  111. package/dist/esm/core/utils.d.ts +12 -0
  112. package/dist/esm/core/utils.js +18 -1
  113. package/dist/esm/core/utils.js.map +1 -1
  114. package/dist/esm/debug/BoundingBoxesLayer.js +1 -1
  115. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  116. package/dist/esm/debug/HitTestLayer.js +1 -1
  117. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  118. package/dist/esm/debug/PerformanceLayer.js +1 -2
  119. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  120. package/dist/esm/debug/PointerStackLayer.js +1 -2
  121. package/dist/esm/debug/PointerStackLayer.js.map +1 -1
  122. package/dist/esm/debug/RenderPassInspectorLayer.js +1 -2
  123. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  124. package/dist/esm/index.js +37 -10
  125. package/dist/esm/index.js.map +1 -1
  126. package/dist/esm/input/InputManager.d.ts +1 -0
  127. package/dist/esm/input/InputManager.js +30 -3
  128. package/dist/esm/input/InputManager.js.map +1 -1
  129. package/dist/esm/input/InteractionManager.d.ts +5 -2
  130. package/dist/esm/input/InteractionManager.js +29 -18
  131. package/dist/esm/input/InteractionManager.js.map +1 -1
  132. package/dist/esm/input/Pointer.js +3 -2
  133. package/dist/esm/input/Pointer.js.map +1 -1
  134. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +9 -0
  135. package/dist/esm/input/internal/interactionManagerRegistry.js +10 -0
  136. package/dist/esm/input/internal/interactionManagerRegistry.js.map +1 -0
  137. package/dist/esm/math/AbstractVector.d.ts +1 -7
  138. package/dist/esm/math/AbstractVector.js +6 -20
  139. package/dist/esm/math/AbstractVector.js.map +1 -1
  140. package/dist/esm/math/Circle.js +0 -2
  141. package/dist/esm/math/Circle.js.map +1 -1
  142. package/dist/esm/math/Collision.d.ts +9 -3
  143. package/dist/esm/math/Ellipse.d.ts +2 -5
  144. package/dist/esm/math/Ellipse.js +10 -7
  145. package/dist/esm/math/Ellipse.js.map +1 -1
  146. package/dist/esm/math/ObservableVector.d.ts +1 -1
  147. package/dist/esm/math/ObservableVector.js +3 -3
  148. package/dist/esm/math/ObservableVector.js.map +1 -1
  149. package/dist/esm/math/Polygon.d.ts +0 -2
  150. package/dist/esm/math/Polygon.js +1 -9
  151. package/dist/esm/math/Polygon.js.map +1 -1
  152. package/dist/esm/math/Rectangle.js +0 -2
  153. package/dist/esm/math/Rectangle.js.map +1 -1
  154. package/dist/esm/math/collision-detection.d.ts +19 -4
  155. package/dist/esm/math/collision-detection.js +61 -4
  156. package/dist/esm/math/collision-detection.js.map +1 -1
  157. package/dist/esm/math/swept-collision.d.ts +16 -12
  158. package/dist/esm/math/swept-collision.js +109 -19
  159. package/dist/esm/math/swept-collision.js.map +1 -1
  160. package/dist/esm/particles/ParticleSystem.d.ts +8 -5
  161. package/dist/esm/particles/ParticleSystem.js +10 -6
  162. package/dist/esm/particles/ParticleSystem.js.map +1 -1
  163. package/dist/esm/particles/distributions/{Gradient.d.ts → ColorGradient.d.ts} +5 -5
  164. package/dist/esm/particles/distributions/{Gradient.js → ColorGradient.js} +5 -5
  165. package/dist/esm/particles/distributions/ColorGradient.js.map +1 -0
  166. package/dist/esm/particles/distributions/Distribution.d.ts +2 -2
  167. package/dist/esm/particles/distributions/index.d.ts +2 -2
  168. package/dist/esm/particles/gpu/ParticleGpuState.js +1 -1
  169. package/dist/esm/particles/index.d.ts +1 -0
  170. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +3 -3
  171. package/dist/esm/particles/modules/ColorOverLifetime.js.map +1 -1
  172. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +3 -3
  173. package/dist/esm/particles/modules/ColorOverSpeed.js.map +1 -1
  174. package/dist/esm/particles/modules/UpdateModule.d.ts +2 -2
  175. package/dist/esm/particles/modules/UpdateModule.js +1 -1
  176. package/dist/esm/particles/modules/WgslContribution.d.ts +2 -2
  177. package/dist/esm/rendering/CallbackRenderPass.d.ts +1 -0
  178. package/dist/esm/rendering/CallbackRenderPass.js +1 -0
  179. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  180. package/dist/esm/rendering/Camera.d.ts +33 -0
  181. package/dist/esm/rendering/Camera.js +38 -0
  182. package/dist/esm/rendering/Camera.js.map +1 -0
  183. package/dist/esm/rendering/Container.d.ts +7 -25
  184. package/dist/esm/rendering/Container.js +25 -87
  185. package/dist/esm/rendering/Container.js.map +1 -1
  186. package/dist/esm/rendering/Drawable.d.ts +8 -10
  187. package/dist/esm/rendering/Drawable.js +12 -20
  188. package/dist/esm/rendering/Drawable.js.map +1 -1
  189. package/dist/esm/rendering/RenderBackend.d.ts +19 -0
  190. package/dist/esm/rendering/RenderNode.d.ts +82 -11
  191. package/dist/esm/rendering/RenderNode.js +133 -163
  192. package/dist/esm/rendering/RenderNode.js.map +1 -1
  193. package/dist/esm/rendering/RenderPass.d.ts +1 -0
  194. package/dist/esm/rendering/RenderStats.d.ts +9 -0
  195. package/dist/esm/rendering/RenderStats.js +2 -0
  196. package/dist/esm/rendering/RenderStats.js.map +1 -1
  197. package/dist/esm/rendering/RenderTarget.d.ts +13 -0
  198. package/dist/esm/rendering/RenderTarget.js +13 -0
  199. package/dist/esm/rendering/RenderTarget.js.map +1 -1
  200. package/dist/esm/rendering/RenderTargetPass.js +17 -0
  201. package/dist/esm/rendering/RenderTargetPass.js.map +1 -1
  202. package/dist/esm/rendering/RendererRegistry.d.ts +1 -0
  203. package/dist/esm/rendering/RendererRegistry.js +1 -0
  204. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  205. package/dist/esm/rendering/RenderingContext.d.ts +87 -0
  206. package/dist/esm/rendering/RenderingContext.js +157 -0
  207. package/dist/esm/rendering/RenderingContext.js.map +1 -0
  208. package/dist/esm/rendering/TransformBuffer.d.ts +38 -0
  209. package/dist/esm/rendering/TransformBuffer.js +116 -0
  210. package/dist/esm/rendering/TransformBuffer.js.map +1 -0
  211. package/dist/esm/rendering/View.d.ts +23 -0
  212. package/dist/esm/rendering/View.js +42 -0
  213. package/dist/esm/rendering/View.js.map +1 -1
  214. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -12
  215. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  216. package/dist/esm/rendering/geometry/Geometry.d.ts +40 -0
  217. package/dist/esm/rendering/geometry/Geometry.js +228 -0
  218. package/dist/esm/rendering/geometry/Geometry.js.map +1 -0
  219. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts +32 -0
  220. package/dist/esm/rendering/geometry/QuadGeometry.d.ts +5 -0
  221. package/dist/esm/rendering/gradient/Gradient.d.ts +34 -0
  222. package/dist/esm/rendering/gradient/Gradient.js +114 -0
  223. package/dist/esm/rendering/gradient/Gradient.js.map +1 -0
  224. package/dist/esm/rendering/gradient/LinearGradient.d.ts +10 -0
  225. package/dist/esm/rendering/gradient/LinearGradient.js +26 -0
  226. package/dist/esm/rendering/gradient/LinearGradient.js.map +1 -0
  227. package/dist/esm/rendering/gradient/RadialGradient.d.ts +10 -0
  228. package/dist/esm/rendering/gradient/RadialGradient.js +25 -0
  229. package/dist/esm/rendering/gradient/RadialGradient.js.map +1 -0
  230. package/dist/esm/rendering/index.d.ts +103 -59
  231. package/dist/esm/rendering/material/Material.d.ts +114 -0
  232. package/dist/esm/rendering/material/Material.js +111 -0
  233. package/dist/esm/rendering/material/Material.js.map +1 -0
  234. package/dist/esm/rendering/material/MaterialKey.d.ts +18 -0
  235. package/dist/esm/rendering/material/MaterialKey.js +82 -0
  236. package/dist/esm/rendering/material/MaterialKey.js.map +1 -0
  237. package/dist/esm/rendering/material/MeshMaterial.d.ts +16 -0
  238. package/dist/esm/rendering/material/MeshMaterial.js +21 -0
  239. package/dist/esm/rendering/material/MeshMaterial.js.map +1 -0
  240. package/dist/esm/rendering/{mesh/MeshShader.d.ts → material/ShaderSource.d.ts} +30 -62
  241. package/dist/esm/rendering/{mesh/MeshShader.js → material/ShaderSource.js} +36 -62
  242. package/dist/esm/rendering/material/ShaderSource.js.map +1 -0
  243. package/dist/esm/rendering/material/SpriteMaterial.d.ts +15 -0
  244. package/dist/esm/rendering/material/SpriteMaterial.js +20 -0
  245. package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -0
  246. package/dist/esm/rendering/mesh/Mesh.d.ts +29 -12
  247. package/dist/esm/rendering/mesh/Mesh.js +123 -4
  248. package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
  249. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +63 -0
  250. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +48 -0
  251. package/dist/esm/rendering/pass/RenderPassDescriptor.js +16 -0
  252. package/dist/esm/rendering/pass/RenderPassDescriptor.js.map +1 -0
  253. package/dist/esm/rendering/plan/RenderCommand.d.ts +67 -0
  254. package/dist/esm/rendering/plan/RenderCommand.js +94 -0
  255. package/dist/esm/rendering/plan/RenderCommand.js.map +1 -0
  256. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts +10 -0
  257. package/dist/esm/rendering/plan/RenderEffectExecutor.js +159 -0
  258. package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -0
  259. package/dist/esm/rendering/plan/RenderPlan.d.ts +23 -0
  260. package/dist/esm/rendering/plan/RenderPlan.js +12 -0
  261. package/dist/esm/rendering/plan/RenderPlan.js.map +1 -0
  262. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +31 -0
  263. package/dist/esm/rendering/plan/RenderPlanBuilder.js +242 -0
  264. package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -0
  265. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts +10 -0
  266. package/dist/esm/rendering/plan/RenderPlanOptimizer.js +180 -0
  267. package/dist/esm/rendering/plan/RenderPlanOptimizer.js.map +1 -0
  268. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +9 -0
  269. package/dist/esm/rendering/plan/RenderPlanPlayer.js +56 -0
  270. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -0
  271. package/dist/esm/rendering/plan/RenderScope.d.ts +70 -0
  272. package/dist/esm/rendering/plan/RenderScope.js +16 -0
  273. package/dist/esm/rendering/plan/RenderScope.js.map +1 -0
  274. package/dist/esm/rendering/plan/playRenderTree.d.ts +4 -0
  275. package/dist/esm/rendering/plan/playRenderTree.js +19 -0
  276. package/dist/esm/rendering/plan/playRenderTree.js.map +1 -0
  277. package/dist/esm/rendering/shader/Shader.d.ts +1 -0
  278. package/dist/esm/rendering/shader/Shader.js +1 -0
  279. package/dist/esm/rendering/shader/Shader.js.map +1 -1
  280. package/dist/esm/rendering/shader/ShaderUniform.d.ts +1 -0
  281. package/dist/esm/rendering/shader/ShaderUniform.js +1 -0
  282. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -1
  283. package/dist/esm/rendering/sprite/Sprite.d.ts +25 -3
  284. package/dist/esm/rendering/sprite/Sprite.js +48 -15
  285. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  286. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +36 -0
  287. package/dist/esm/rendering/sprite/spriteMaterialSources.js +128 -0
  288. package/dist/esm/rendering/sprite/spriteMaterialSources.js.map +1 -0
  289. package/dist/esm/rendering/text/AbstractText.d.ts +36 -0
  290. package/dist/esm/rendering/text/AbstractText.js +49 -0
  291. package/dist/esm/rendering/text/AbstractText.js.map +1 -0
  292. package/dist/esm/rendering/text/BitmapText.d.ts +97 -0
  293. package/dist/esm/rendering/text/BitmapText.js +220 -0
  294. package/dist/esm/rendering/text/BitmapText.js.map +1 -0
  295. package/dist/esm/rendering/text/BmFont.d.ts +50 -0
  296. package/dist/esm/rendering/text/BmFont.js +24 -0
  297. package/dist/esm/rendering/text/BmFont.js.map +1 -0
  298. package/dist/esm/rendering/text/GlyphAtlas.d.ts +104 -0
  299. package/dist/esm/rendering/text/GlyphAtlas.js +347 -0
  300. package/dist/esm/rendering/text/GlyphAtlas.js.map +1 -0
  301. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +40 -0
  302. package/dist/esm/rendering/text/GlyphAtlasPool.js +67 -0
  303. package/dist/esm/rendering/text/GlyphAtlasPool.js.map +1 -0
  304. package/dist/esm/rendering/text/GlyphSdf.d.ts +92 -0
  305. package/dist/esm/rendering/text/GlyphSdf.js +220 -0
  306. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -0
  307. package/dist/esm/rendering/text/HTMLText.d.ts +107 -0
  308. package/dist/esm/rendering/text/HTMLText.js +284 -0
  309. package/dist/esm/rendering/text/HTMLText.js.map +1 -0
  310. package/dist/esm/rendering/text/LayoutOptions.d.ts +30 -0
  311. package/dist/esm/rendering/text/Text.d.ts +89 -20
  312. package/dist/esm/rendering/text/Text.js +176 -101
  313. package/dist/esm/rendering/text/Text.js.map +1 -1
  314. package/dist/esm/rendering/text/TextLayout.d.ts +20 -8
  315. package/dist/esm/rendering/text/TextLayout.js +234 -25
  316. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  317. package/dist/esm/rendering/text/TextStyle.d.ts +154 -87
  318. package/dist/esm/rendering/text/TextStyle.js +257 -203
  319. package/dist/esm/rendering/text/TextStyle.js.map +1 -1
  320. package/dist/esm/rendering/text/types.d.ts +73 -13
  321. package/dist/esm/rendering/texture/DataTexture.d.ts +5 -0
  322. package/dist/esm/rendering/texture/DataTexture.js +7 -0
  323. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  324. package/dist/esm/rendering/texture/Texture.d.ts +1 -0
  325. package/dist/esm/rendering/texture/Texture.js +1 -0
  326. package/dist/esm/rendering/texture/Texture.js.map +1 -1
  327. package/dist/esm/rendering/types.d.ts +3 -1
  328. package/dist/esm/rendering/types.js +2 -0
  329. package/dist/esm/rendering/types.js.map +1 -1
  330. package/dist/esm/rendering/video/Video.d.ts +5 -8
  331. package/dist/esm/rendering/video/Video.js +12 -13
  332. package/dist/esm/rendering/video/Video.js.map +1 -1
  333. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +40 -0
  334. package/dist/esm/rendering/webgl2/WebGl2Backend.js +344 -27
  335. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  336. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +22 -2
  337. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +404 -112
  338. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
  339. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts +57 -0
  340. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js +79 -0
  341. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js.map +1 -0
  342. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +12 -0
  343. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +214 -58
  344. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  345. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts +34 -0
  346. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +169 -0
  347. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js.map +1 -0
  348. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +56 -0
  349. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +486 -0
  350. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -0
  351. package/dist/esm/rendering/webgl2/glsl/mesh.frag.js +1 -1
  352. package/dist/esm/rendering/webgl2/glsl/mesh.vert.js +1 -1
  353. package/dist/esm/rendering/webgl2/glsl/stencil-clip.frag.js +4 -0
  354. package/dist/esm/rendering/webgl2/glsl/stencil-clip.frag.js.map +1 -0
  355. package/dist/esm/rendering/webgl2/glsl/stencil-clip.vert.js +4 -0
  356. package/dist/esm/rendering/webgl2/glsl/stencil-clip.vert.js.map +1 -0
  357. package/dist/esm/rendering/webgl2/glsl/text-color.frag.js +4 -0
  358. package/dist/esm/rendering/webgl2/glsl/text-color.frag.js.map +1 -0
  359. package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js +4 -0
  360. package/dist/esm/rendering/webgl2/glsl/text-msdf.frag.js.map +1 -0
  361. package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js +4 -0
  362. package/dist/esm/rendering/webgl2/glsl/text-sdf.frag.js.map +1 -0
  363. package/dist/esm/rendering/webgl2/glsl/text.vert.js +4 -0
  364. package/dist/esm/rendering/webgl2/glsl/text.vert.js.map +1 -0
  365. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +50 -0
  366. package/dist/esm/rendering/webgpu/WebGpuBackend.js +151 -27
  367. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  368. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +26 -0
  369. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  370. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +22 -17
  371. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  372. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +26 -2
  373. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +511 -89
  374. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  375. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +13 -17
  376. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -1
  377. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +141 -0
  378. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +270 -0
  379. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -0
  380. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +16 -0
  381. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +344 -27
  382. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  383. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +57 -0
  384. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +257 -0
  385. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -0
  386. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts +14 -0
  387. package/dist/esm/rendering/webgpu/WebGpuStencilState.js +36 -0
  388. package/dist/esm/rendering/webgpu/WebGpuStencilState.js.map +1 -0
  389. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +70 -0
  390. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +775 -0
  391. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -0
  392. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +16 -0
  393. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +57 -0
  394. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -0
  395. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js +96 -0
  396. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.js.map +1 -0
  397. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js +68 -0
  398. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.js.map +1 -0
  399. package/dist/esm/resources/Asset.d.ts +23 -0
  400. package/dist/esm/resources/Asset.js +23 -0
  401. package/dist/esm/resources/Asset.js.map +1 -0
  402. package/dist/esm/resources/AssetDefinitions.d.ts +137 -0
  403. package/dist/esm/resources/Assets.d.ts +35 -0
  404. package/dist/esm/resources/Assets.js +32 -0
  405. package/dist/esm/resources/Assets.js.map +1 -0
  406. package/dist/esm/resources/IndexedDbDatabase.js +17 -1
  407. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  408. package/dist/esm/resources/IndexedDbStore.js +17 -1
  409. package/dist/esm/resources/IndexedDbStore.js.map +1 -1
  410. package/dist/esm/resources/JsonStore.d.ts +18 -0
  411. package/dist/esm/resources/JsonStore.js +62 -0
  412. package/dist/esm/resources/JsonStore.js.map +1 -0
  413. package/dist/esm/resources/Loader.d.ts +244 -18
  414. package/dist/esm/resources/Loader.js +456 -50
  415. package/dist/esm/resources/Loader.js.map +1 -1
  416. package/dist/esm/resources/LoadingQueue.d.ts +28 -0
  417. package/dist/esm/resources/LoadingQueue.js +59 -0
  418. package/dist/esm/resources/LoadingQueue.js.map +1 -0
  419. package/dist/esm/resources/factories/BmFontFactory.d.ts +25 -0
  420. package/dist/esm/resources/factories/BmFontFactory.js +96 -0
  421. package/dist/esm/resources/factories/BmFontFactory.js.map +1 -0
  422. package/dist/esm/resources/factories/CsvFactory.d.ts +35 -0
  423. package/dist/esm/resources/factories/CsvFactory.js +87 -0
  424. package/dist/esm/resources/factories/CsvFactory.js.map +1 -0
  425. package/dist/esm/resources/factories/ImageFactory.d.ts +14 -8
  426. package/dist/esm/resources/factories/ImageFactory.js +13 -6
  427. package/dist/esm/resources/factories/ImageFactory.js.map +1 -1
  428. package/dist/esm/resources/factories/MusicFactory.d.ts +8 -2
  429. package/dist/esm/resources/factories/MusicFactory.js +25 -14
  430. package/dist/esm/resources/factories/MusicFactory.js.map +1 -1
  431. package/dist/esm/resources/factories/SoundFactory.d.ts +2 -2
  432. package/dist/esm/resources/factories/SoundFactory.js.map +1 -1
  433. package/dist/esm/resources/factories/SubtitleFactory.d.ts +28 -0
  434. package/dist/esm/resources/factories/SubtitleFactory.js +203 -0
  435. package/dist/esm/resources/factories/SubtitleFactory.js.map +1 -0
  436. package/dist/esm/resources/factories/SvgFactory.d.ts +18 -1
  437. package/dist/esm/resources/factories/SvgFactory.js +21 -2
  438. package/dist/esm/resources/factories/SvgFactory.js.map +1 -1
  439. package/dist/esm/resources/factories/TextureFactory.d.ts +4 -4
  440. package/dist/esm/resources/factories/TextureFactory.js +8 -4
  441. package/dist/esm/resources/factories/TextureFactory.js.map +1 -1
  442. package/dist/esm/resources/factories/VideoFactory.d.ts +8 -2
  443. package/dist/esm/resources/factories/VideoFactory.js +27 -20
  444. package/dist/esm/resources/factories/VideoFactory.js.map +1 -1
  445. package/dist/esm/resources/factories/XmlFactory.d.ts +24 -0
  446. package/dist/esm/resources/factories/XmlFactory.js +37 -0
  447. package/dist/esm/resources/factories/XmlFactory.js.map +1 -0
  448. package/dist/esm/resources/index.d.ts +9 -1
  449. package/dist/esm/resources/tokens.d.ts +49 -3
  450. package/dist/esm/resources/tokens.js +50 -4
  451. package/dist/esm/resources/tokens.js.map +1 -1
  452. package/dist/exo.esm.js +15382 -8078
  453. package/dist/exo.esm.js.map +1 -1
  454. package/package.json +34 -16
  455. package/dist/esm/input/interaction-hooks.d.ts +0 -34
  456. package/dist/esm/input/interaction-hooks.js +0 -35
  457. package/dist/esm/input/interaction-hooks.js.map +0 -1
  458. package/dist/esm/particles/distributions/Gradient.js.map +0 -1
  459. package/dist/esm/rendering/mesh/MeshShader.js.map +0 -1
  460. package/dist/esm/rendering/text/DynamicGlyphAtlas.d.ts +0 -33
  461. package/dist/esm/rendering/text/DynamicGlyphAtlas.js +0 -134
  462. package/dist/esm/rendering/text/DynamicGlyphAtlas.js.map +0 -1
  463. package/dist/esm/rendering/text/atlas-singleton.d.ts +0 -7
  464. package/dist/esm/rendering/text/atlas-singleton.js +0 -17
  465. package/dist/esm/rendering/text/atlas-singleton.js.map +0 -1
  466. package/dist/esm/resources/factories/VttFactory.d.ts +0 -24
  467. package/dist/esm/resources/factories/VttFactory.js +0 -158
  468. package/dist/esm/resources/factories/VttFactory.js.map +0 -1
  469. package/dist/esm/vendor/webgl-debug.js +0 -1160
  470. package/dist/esm/vendor/webgl-debug.js.map +0 -1
@@ -1,34 +1,92 @@
1
1
  /** Horizontal alignment mode for multi-line text layout. */
2
- export type TextAlignment = 'left' | 'center' | 'right';
2
+ export type TextAlignment = 'left' | 'center' | 'right' | 'justify';
3
3
  /**
4
- * A key that uniquely identifies a glyph in the atlas cache.
5
- * Format: `${char}:${family}:${size}:${weight}:${style}`
4
+ * Minimal interface consumed by {@link layoutText} and {@link measureText}.
5
+ * Both {@link TextStyle} and the BMFont adapter satisfy this structurally.
6
+ */
7
+ export interface TextLayoutStyle {
8
+ readonly fontSize: number;
9
+ readonly lineHeight: number;
10
+ readonly leading: number;
11
+ readonly align: TextAlignment;
12
+ }
13
+ /**
14
+ * Provider of per-character glyph metrics, consumed by {@link layoutText}.
15
+ *
16
+ * {@link GlyphAtlas} implements this for runtime-rasterized text.
17
+ * `BmFontAdapter` implements it for pre-built BMFont atlases.
18
+ */
19
+ export interface GlyphProvider {
20
+ /** Return metrics for the given character at the given font size. */
21
+ getGlyph(char: string, fontSize: number): GlyphInfo;
22
+ /**
23
+ * Return the kerning adjustment (in pixels) between two adjacent characters.
24
+ * Positive values add space; negative values pull glyphs together.
25
+ * Optional — callers treat a missing method as zero kerning.
26
+ */
27
+ getKerning?(prev: string, next: string, fontSize: number): number;
28
+ }
29
+ /**
30
+ * Per-page quad geometry for a single text node, consumed by the text
31
+ * renderer for both {@link Text} and {@link BitmapText}.
32
+ */
33
+ export interface TextPageQuads {
34
+ /** Atlas page index. */
35
+ readonly pageIndex: number;
36
+ /** Vertex positions: [x, y] × 4 vertices × quadCount. */
37
+ readonly vertices: Float32Array;
38
+ /** UV coordinates: [u, v] × 4 vertices × quadCount. */
39
+ readonly uvs: Float32Array;
40
+ /** Index buffer: 6 indices × quadCount. */
41
+ readonly indices: Uint16Array;
42
+ readonly quadCount: number;
43
+ }
44
+ /**
45
+ * A key that uniquely identifies a glyph within a {@link GlyphAtlas}.
46
+ * Format: `${char}:${size}`
6
47
  */
7
48
  export type GlyphKey = string;
8
49
  /**
9
- * Cached glyph data stored in the atlas after rasterization.
50
+ * Cached glyph data stored in an atlas page after rasterization.
10
51
  */
11
52
  export interface GlyphInfo {
12
- /** Atlas X position (pixels, top-left of padded slot). */
53
+ /** Atlas X position (pixels, top-left of slot). */
13
54
  readonly x: number;
14
- /** Atlas Y position (pixels, top-left of padded slot). */
55
+ /** Atlas Y position (pixels, top-left of slot). */
15
56
  readonly y: number;
16
- /** Glyph render width in pixels (excluding padding). */
57
+ /** Quad render width in pixels (full SDF tile in sdf mode; glyph only in canvas mode). */
17
58
  readonly width: number;
18
- /** Glyph render height in pixels (excluding padding). */
59
+ /** Quad render height in pixels. */
19
60
  readonly height: number;
20
61
  /** Horizontal advance in pixels (how far to move the cursor). */
21
62
  readonly advance: number;
22
- /** Distance from baseline to top of glyph in pixels. */
63
+ /** Distance from the quad top to the glyph ascent line in pixels. */
23
64
  readonly ascent: number;
24
- /** UV left edge (0..1, including padding). */
65
+ /** Which {@link AtlasPage} within the atlas holds this glyph. */
66
+ readonly page: number;
67
+ /** UV left edge (0..1). */
25
68
  readonly uvLeft: number;
26
- /** UV top edge (0..1, including padding). */
69
+ /** UV top edge (0..1). */
27
70
  readonly uvTop: number;
28
- /** UV right edge (0..1, including padding). */
71
+ /** UV right edge (0..1). */
29
72
  readonly uvRight: number;
30
- /** UV bottom edge (0..1, including padding). */
73
+ /** UV bottom edge (0..1). */
31
74
  readonly uvBottom: number;
75
+ /**
76
+ * X offset applied to the quad relative to the cursor position.
77
+ * Non-zero in SDF mode to account for the left SDF padding.
78
+ */
79
+ readonly xBearing?: number;
80
+ /**
81
+ * Y offset applied to the quad relative to the line top.
82
+ * Non-zero in SDF mode to account for the top SDF padding.
83
+ */
84
+ readonly yBearing?: number;
85
+ }
86
+ /** Pixel dimensions of a laid-out text string returned by {@link measureText}. */
87
+ export interface TextSize {
88
+ readonly width: number;
89
+ readonly height: number;
32
90
  }
33
91
  /**
34
92
  * A single glyph's quad placement in local text space.
@@ -39,6 +97,8 @@ export interface GlyphPlacement {
39
97
  readonly y: number;
40
98
  readonly width: number;
41
99
  readonly height: number;
100
+ /** Which {@link AtlasPage} within the atlas holds this glyph's texture data. */
101
+ readonly page: number;
42
102
  readonly uvLeft: number;
43
103
  readonly uvTop: number;
44
104
  readonly uvRight: number;
@@ -90,6 +90,11 @@ export declare class DataTexture<F extends DataTextureFormat = DataTextureFormat
90
90
  constructor(options: DataTextureOptions & {
91
91
  format: F;
92
92
  });
93
+ /**
94
+ * DataTexture has no external image source. Override the base implementation
95
+ * so Sprite/Mesh texture assignment does not collapse dimensions to 0x0.
96
+ */
97
+ updateSource(): this;
93
98
  /**
94
99
  * Mark the entire buffer for re-upload on next backend sync. Call after
95
100
  * mutating `buffer` contents to flush changes to the GPU.
@@ -108,6 +108,13 @@ class DataTexture extends Texture {
108
108
  // Mark fully dirty so the first sync uploads the whole buffer.
109
109
  this._dirty = { full: true, x: 0, y: 0, width, height };
110
110
  }
111
+ /**
112
+ * DataTexture has no external image source. Override the base implementation
113
+ * so Sprite/Mesh texture assignment does not collapse dimensions to 0x0.
114
+ */
115
+ updateSource() {
116
+ return this.commit();
117
+ }
111
118
  /**
112
119
  * Mark the entire buffer for re-upload on next backend sync. Call after
113
120
  * mutating `buffer` contents to flush changes to the GPU.
@@ -1 +1 @@
1
- {"version":3,"file":"DataTexture.js","sources":["../../../../../src/rendering/texture/DataTexture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTexture.js","sources":["../../../../../src/rendering/texture/DataTexture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import type { SamplerOptions } from './Sampler';
12
12
  * Static helpers {@link Texture.black}, {@link Texture.white}, and {@link Texture.empty}
13
13
  * provide ready-made placeholder textures. Default sampler options are configurable via
14
14
  * {@link Texture.defaultSamplerOptions}.
15
+ * @stable
15
16
  */
16
17
  export declare class Texture {
17
18
  private static _black;
@@ -14,6 +14,7 @@ import { createCanvas } from '../utils.js';
14
14
  * Static helpers {@link Texture.black}, {@link Texture.white}, and {@link Texture.empty}
15
15
  * provide ready-made placeholder textures. Default sampler options are configurable via
16
16
  * {@link Texture.defaultSamplerOptions}.
17
+ * @stable
17
18
  */
18
19
  class Texture {
19
20
  static _black = null;
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sources":["../../../../../src/rendering/texture/Texture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Texture.js","sources":["../../../../../src/rendering/texture/Texture.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ export declare enum BlendModes {
7
7
  Additive = 1,
8
8
  Subtract = 2,
9
9
  Multiply = 3,
10
- Screen = 4
10
+ Screen = 4,
11
+ Darken = 5,
12
+ Lighten = 6
11
13
  }
12
14
  /**
13
15
  * Texture magnification and minification filter modes.
@@ -9,6 +9,8 @@ var BlendModes;
9
9
  BlendModes[BlendModes["Subtract"] = 2] = "Subtract";
10
10
  BlendModes[BlendModes["Multiply"] = 3] = "Multiply";
11
11
  BlendModes[BlendModes["Screen"] = 4] = "Screen";
12
+ BlendModes[BlendModes["Darken"] = 5] = "Darken";
13
+ BlendModes[BlendModes["Lighten"] = 6] = "Lighten";
12
14
  })(BlendModes || (BlendModes = {}));
13
15
  /**
14
16
  * Texture magnification and minification filter modes.
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/rendering/types.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/rendering/types.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { AudioBus } from '@/audio/AudioBus';
2
2
  import type { Media } from '@/audio/Media';
3
3
  import { Signal } from '@/core/Signal';
4
4
  import type { PlaybackOptions } from '@/core/types';
5
- import type { RenderBackend } from '../RenderBackend';
5
+ import type { RenderPlanBuilder } from '@/rendering/plan/RenderPlanBuilder';
6
6
  import { Sprite } from '../sprite/Sprite';
7
7
  import type { SamplerOptions } from '../texture/Sampler';
8
8
  /**
@@ -32,6 +32,7 @@ export declare class Video extends Sprite implements Media {
32
32
  private readonly _onMetadataHandler;
33
33
  private readonly _onResizeHandler;
34
34
  private readonly _onVideoFrameHandler;
35
+ private readonly _onAudioContextReady;
35
36
  constructor(videoElement: HTMLVideoElement, playbackOptions?: Partial<PlaybackOptions>, samplerOptions?: Partial<SamplerOptions>);
36
37
  get videoElement(): HTMLVideoElement;
37
38
  get duration(): number;
@@ -78,12 +79,8 @@ export declare class Video extends Sprite implements Media {
78
79
  getTime(): number;
79
80
  setTime(time: number): this;
80
81
  setMuted(muted: boolean): this;
81
- /**
82
- * Mark the texture dirty when the video frame has advanced, then upload
83
- * the latest video frame and delegate rendering to {@link Sprite.render}.
84
- * @internal
85
- */
86
- render(backend: RenderBackend): this;
82
+ /** @internal */
83
+ _collect(builder: RenderPlanBuilder, seq?: number): void;
87
84
  /**
88
85
  * Upload the current video frame to the GPU texture if the frame is dirty
89
86
  * and the video dimensions are known. Called automatically by `render`;
@@ -93,7 +90,7 @@ export declare class Video extends Sprite implements Media {
93
90
  destroy(): void;
94
91
  private _onVideoMetadataUpdated;
95
92
  private _onVideoFrame;
96
- private _markTextureDirtyIfPlaybackAdvanced;
93
+ private _markTextureDirtyOnPlaybackAdvance;
97
94
  private _requestVideoFrameCallback;
98
95
  private _cancelVideoFrameCallback;
99
96
  private readonly setupWithAudioContext;
@@ -1,4 +1,4 @@
1
- import { isAudioContextReady, getAudioContext, onAudioContextReady } from '../../audio/audio-context.js';
1
+ import { onAudioContextReady, isAudioContextReady, getAudioContext } from '../../audio/audio-context.js';
2
2
  import { getAudioManager } from '../../audio/AudioManager.js';
3
3
  import { Signal } from '../../core/Signal.js';
4
4
  import { Rectangle } from '../../math/Rectangle.js';
@@ -33,6 +33,10 @@ class Video extends Sprite {
33
33
  _onMetadataHandler;
34
34
  _onResizeHandler;
35
35
  _onVideoFrameHandler;
36
+ _onAudioContextReady = (ctx) => {
37
+ onAudioContextReady.remove(this._onAudioContextReady);
38
+ this.setupWithAudioContext(ctx);
39
+ };
36
40
  constructor(videoElement, playbackOptions, samplerOptions) {
37
41
  super(new Texture(videoElement, samplerOptions));
38
42
  const { duration, volume, playbackRate, loop, muted } = videoElement;
@@ -56,7 +60,7 @@ class Video extends Sprite {
56
60
  this.setupWithAudioContext(getAudioContext());
57
61
  }
58
62
  else {
59
- onAudioContextReady.once(this.setupWithAudioContext, this);
63
+ onAudioContextReady.add(this._onAudioContextReady);
60
64
  }
61
65
  // Initialize frame bounds early when metadata is already available.
62
66
  this.updateTexture();
@@ -253,18 +257,13 @@ class Video extends Sprite {
253
257
  }
254
258
  return this;
255
259
  }
256
- /**
257
- * Mark the texture dirty when the video frame has advanced, then upload
258
- * the latest video frame and delegate rendering to {@link Sprite.render}.
259
- * @internal
260
- */
261
- render(backend) {
260
+ /** @internal */
261
+ _collect(builder, seq) {
262
262
  if (this.visible) {
263
- this._markTextureDirtyIfPlaybackAdvanced();
263
+ this._markTextureDirtyOnPlaybackAdvance();
264
264
  this.updateTexture();
265
- super.render(backend);
266
265
  }
267
- return this;
266
+ super._collect(builder, seq);
268
267
  }
269
268
  /**
270
269
  * Upload the current video frame to the GPU texture if the frame is dirty
@@ -296,7 +295,7 @@ class Video extends Sprite {
296
295
  this._videoElement.removeEventListener('loadedmetadata', this._onMetadataHandler);
297
296
  this._videoElement.removeEventListener('resize', this._onResizeHandler);
298
297
  this._cancelVideoFrameCallback();
299
- onAudioContextReady.clearByContext(this);
298
+ onAudioContextReady.remove(this._onAudioContextReady);
300
299
  if (this._audioSetup) {
301
300
  this._audioSetup.sourceNode.disconnect();
302
301
  this._audioSetup.gainNode.disconnect();
@@ -314,7 +313,7 @@ class Video extends Sprite {
314
313
  this._textureDirty = true;
315
314
  this._requestVideoFrameCallback();
316
315
  }
317
- _markTextureDirtyIfPlaybackAdvanced() {
316
+ _markTextureDirtyOnPlaybackAdvance() {
318
317
  const currentTime = this._videoElement.currentTime;
319
318
  if (this._lastVideoTime !== currentTime) {
320
319
  this._lastVideoTime = currentTime;
@@ -1 +1 @@
1
- {"version":3,"file":"Video.js","sources":["../../../../../src/rendering/video/Video.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AA0BA;;;;;;;;;AASG;AACG,MAAO,KAAM,SAAQ,MAAM,CAAA;AACf,IAAA,OAAO,GAAG,IAAI,MAAM,EAAE;AACtB,IAAA,MAAM,GAAG,IAAI,MAAM,EAAE;AAEpB,IAAA,aAAa;AACb,IAAA,SAAS;IAClB,OAAO,GAAG,CAAC;IACX,aAAa,GAAG,CAAC;IACjB,KAAK,GAAG,KAAK;IACb,MAAM,GAAG,KAAK;IACd,IAAI,GAAoB,IAAI;IAC5B,WAAW,GAA2B,IAAI;IAC1C,aAAa,GAAG,IAAI;AACpB,IAAA,cAAc,GAAG,MAAM,CAAC,GAAG;IAC3B,yBAAyB,GAAkB,IAAI;AACtC,IAAA,kBAAkB;AAClB,IAAA,gBAAgB;AAChB,IAAA,oBAAoB;AAErC,IAAA,WAAA,CAAmB,YAA8B,EAAE,eAA0C,EAAE,cAAwC,EAAA;QACrI,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAEhD,QAAA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY;AAEpE,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;AAEzD,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAC9E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtE;QAEA,IAAI,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QACpC;QAEA,IAAI,mBAAmB,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC;QAC/C;aAAO;YACL,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC5D;;QAGA,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,0BAA0B,EAAE;IACnC;AAEA,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa;IAC3B;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;IACvB;AAEA;;;AAGG;AACH,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW;AAChC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAE9B,QAAA,OAAO,CAAC,OAAO,GAAG,QAAQ,IAAI,QAAQ;IACxC;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAW,MAAM,CAAC,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IAAW,IAAI,CAAC,IAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACpB;AAEA,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa;IAC3B;IAEA,IAAW,YAAY,CAAC,KAAK,EAAA;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IAC7B;AAEA,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;IAEA,IAAW,WAAW,CAAC,IAAI,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACpB;AAEA,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAW,KAAK,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtB;AAEA,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM;IAClC;IAEA,IAAW,MAAM,CAAC,MAAM,EAAA;QACtB,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,KAAK,EAAE;QACd;aAAO;YACL,IAAI,CAAC,IAAI,EAAE;QACb;IACF;AAEA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM;IACrB;IAEA,IAAW,OAAO,CAAC,OAAO,EAAA;QACxB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,IAAI,EAAE;QACb;aAAO;YACL,IAAI,CAAC,KAAK,EAAE;QACd;IACF;AAEA;;;;AAIG;AACH,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI;IAC3C;AAEA,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM;IAC9C;IAEA,IAAW,GAAG,CAAC,GAAa,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;YAAE;AACvB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE;QACxC;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;AACf,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE;YACrC,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9C;iBAAO;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC;YAC9E;QACF;IACF;;AAGO,IAAA,IAAI,CAAC,OAAkC,EAAA;QAC5C,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC5B;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACzB;AAEA,QAAA,OAAO,IAAI;IACb;;AAGO,IAAA,KAAK,CAAC,OAAkC,EAAA;QAC7C,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC5B;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;;AAGO,IAAA,IAAI,CAAC,OAAkC,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACnB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AAEpB,QAAA,OAAO,IAAI;IACb;;AAGO,IAAA,MAAM,CAAC,OAAkC,EAAA;QAC9C,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/D;;IAGO,YAAY,CAAC,UAAoC,EAAE,EAAA;AACxD,QAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO;AAE3D,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QACtB;AAEA,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAClB;AAEA,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY;QAClC;AAEA,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACzB;AAEA,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QACpB;AAEA,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,SAAS,CAAC,KAAa,EAAA;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAEjC,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;AAC3B,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AAErB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW;YACnD,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;QACxF;AAEA,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,OAAO,CAAC,IAAa,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI;QAChC;AAEA,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,eAAe,CAAC,KAAa,EAAA;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;AAE1C,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE;AACvC,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,YAAY;QAChD;AAEA,QAAA,OAAO,IAAI;IACb;IAEO,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW;IACvC;AAEO,IAAA,OAAO,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AAElD,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,QAAQ,CAAC,KAAc,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AAEnB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW;gBACnD,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;YACxF;QACF;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACa,IAAA,MAAM,CAAC,OAAsB,EAAA;AAC3C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,mCAAmC,EAAE;YAC1C,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACvB;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;IACa,aAAa,GAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;QAE5B,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACnC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,EAAE;AAC/E,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAEhF,OAAO,CAAC,YAAY,EAAE;AAEtB,QAAA,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QAC9F;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAE1B,QAAA,OAAO,IAAI;IACb;IAEgB,OAAO,GAAA;QACrB,KAAK,CAAC,OAAO,EAAE;QACf,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QACjF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACvE,IAAI,CAAC,yBAAyB,EAAE;AAEhC,QAAA,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC;AAExC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE;AACxC,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE;AACtC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACzB;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IACvB;IAEQ,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QACzB,IAAI,CAAC,aAAa,EAAE;IACtB;IAEQ,aAAa,CAAC,IAAY,EAAE,SAAkB,EAAA;AACpD,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;AACrC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QACzB,IAAI,CAAC,0BAA0B,EAAE;IACnC;IAEQ,mCAAmC,GAAA;AACzC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW;AAElD,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AACvC,YAAA,IAAI,CAAC,cAAc,GAAG,WAAW;AACjC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC3B;IACF;IAEQ,0BAA0B,GAAA;AAChC,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAA0C;QAE1E,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE;YAC5F;QACF;QAEA,IAAI,CAAC,yBAAyB,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC1G;IAEQ,yBAAyB,GAAA;AAC/B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAA0C;QAE1E,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE;YAC3F;QACF;AAEA,QAAA,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,yBAAyB,CAAC;AAC3E,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;IACvC;AAEiB,IAAA,qBAAqB,GAAG,CAAC,YAA0B,KAAU;AAC5E,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE;QAC1C,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;QAE3F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QAC1C,IAAI,SAAS,EAAE;AACb,YAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7B;aAAO;AACL,YAAA,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;QAC5C;QAEA,MAAM,UAAU,GAAG,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC;AAC5E,QAAA,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC3D,IAAA,CAAC;AACF;;;;"}
1
+ {"version":3,"file":"Video.js","sources":["../../../../../src/rendering/video/Video.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { Application } from '@/core/Application';
2
2
  import { Color } from '@/core/Color';
3
3
  import { Signal } from '@/core/Signal';
4
+ import { Matrix } from '@/math/Matrix';
4
5
  import type { Rectangle } from '@/math/Rectangle';
5
6
  import { BlendModes } from '@/rendering/types';
6
7
  import type { Drawable } from '../Drawable';
8
+ import type { Geometry } from '../geometry/Geometry';
9
+ import type { DrawCommand } from '../plan/RenderCommand';
7
10
  import type { RenderBackend } from '../RenderBackend';
8
11
  import { RenderBackendType } from '../RenderBackendType';
9
12
  import { RendererRegistry } from '../RendererRegistry';
@@ -14,6 +17,7 @@ import type { Shader } from '../shader/Shader';
14
17
  import { RenderTexture } from '../texture/RenderTexture';
15
18
  import type { Texture } from '../texture/Texture';
16
19
  import type { View } from '../View';
20
+ import { WebGl2PassCoordinator } from './WebGl2PassCoordinator';
17
21
  import type { WebGl2VertexArrayObject } from './WebGl2VertexArrayObject';
18
22
  /**
19
23
  * WebGL 2.0 implementation of {@link RenderBackend}. Manages the GL
@@ -48,6 +52,10 @@ export declare class WebGl2Backend implements RenderBackend {
48
52
  private readonly _clipPointB;
49
53
  private readonly _maskCompositor;
50
54
  private _maskCompositorConnected;
55
+ private readonly _stencilClipper;
56
+ private readonly _stencilStates;
57
+ private _stencilClipperConnected;
58
+ private _passCoordinatorInstance;
51
59
  private _canvas;
52
60
  private _contextLost;
53
61
  private _renderTarget;
@@ -60,19 +68,43 @@ export declare class WebGl2Backend implements RenderBackend {
60
68
  private _clearColor;
61
69
  private _boundFramebuffer;
62
70
  private readonly _stats;
71
+ private readonly _transformBuffer;
72
+ private _transformTexture;
73
+ private _transformTextureHash;
74
+ private _transformTextureCount;
75
+ private _activeDrawCommand;
76
+ private _drawPlanDepth;
63
77
  constructor(app: Application);
64
78
  get context(): WebGL2RenderingContext;
65
79
  get renderTarget(): RenderTarget;
66
80
  get view(): View;
67
81
  get clearColor(): Color;
68
82
  get stats(): RenderStats;
83
+ /** @internal */
84
+ get activeDrawCommand(): DrawCommand | null;
85
+ /**
86
+ * Internal render-pass coordinator. Owns target / view / clear orchestration
87
+ * and the scissor / stencil-clip stacks for this backend; not part of the
88
+ * public {@link RenderBackend} surface.
89
+ * @internal
90
+ */
91
+ get _passCoordinator(): WebGl2PassCoordinator;
69
92
  initialize(): Promise<this>;
70
93
  resetStats(): this;
94
+ /** @internal */
95
+ _beginDrawPlan(nodeCount: number): void;
96
+ /** @internal */
97
+ _prepareDrawCommand(command: DrawCommand): void;
98
+ /** @internal */
99
+ _endDrawPlan(): void;
100
+ private _assertBalancedStencil;
71
101
  draw(drawable: Drawable): this;
72
102
  execute(pass: RenderPass): this;
73
103
  setRenderTarget(target: RenderTarget | null): this;
74
104
  pushScissorRect(bounds: Rectangle): this;
75
105
  popScissorRect(): this;
106
+ pushStencilClip(shape: Geometry, transform: Matrix): this;
107
+ popStencilClip(): this;
76
108
  composeWithAlphaMask(content: Texture | RenderTexture, mask: Texture | RenderTexture, x: number, y: number, width: number, height: number, blendMode: BlendModes): this;
77
109
  acquireRenderTexture(width: number, height: number): RenderTexture;
78
110
  releaseRenderTexture(texture: RenderTexture): this;
@@ -80,6 +112,8 @@ export declare class WebGl2Backend implements RenderBackend {
80
112
  bindVertexArrayObject(vao: WebGl2VertexArrayObject | null): this;
81
113
  bindShader(shader: Shader | null): this;
82
114
  bindTexture(texture: Texture | RenderTexture | null, unit?: number): this;
115
+ /** @internal */
116
+ bindTransformBufferTexture(unit: number, minCount: number): this;
83
117
  setBlendMode(blendMode: BlendModes | null): this;
84
118
  private _setTextureUnit;
85
119
  setClearColor(color: Color): this;
@@ -108,6 +142,12 @@ export declare class WebGl2Backend implements RenderBackend {
108
142
  private _setActiveRenderer;
109
143
  private _flushActiveRenderer;
110
144
  private _prepareRenderTarget;
145
+ /** Attach a depth/stencil renderbuffer to the active target if it lacks one. */
146
+ private _ensureTargetStencil;
147
+ private _syncStencilAttachment;
148
+ private _getStencilState;
149
+ /** Re-apply the GL stencil test to match `target`'s current clip depth. */
150
+ private _applyStencilState;
111
151
  private _syncTexture;
112
152
  private _toClipPixels;
113
153
  private _intersectClips;