@codexo/exojs 0.14.0 → 0.15.1

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 (277) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/README.md +2 -4
  3. package/dist/esm/animation/Tween.d.ts.map +1 -1
  4. package/dist/esm/animation/Tween.js +0 -1
  5. package/dist/esm/animation/Tween.js.map +1 -1
  6. package/dist/esm/animation/TweenManager.d.ts +44 -5
  7. package/dist/esm/animation/TweenManager.d.ts.map +1 -1
  8. package/dist/esm/animation/TweenManager.js +57 -5
  9. package/dist/esm/animation/TweenManager.js.map +1 -1
  10. package/dist/esm/animation/TweenSequencer.d.ts +139 -0
  11. package/dist/esm/animation/TweenSequencer.d.ts.map +1 -0
  12. package/dist/esm/animation/TweenSequencer.js +305 -0
  13. package/dist/esm/animation/TweenSequencer.js.map +1 -0
  14. package/dist/esm/animation/index.d.ts +1 -0
  15. package/dist/esm/animation/index.d.ts.map +1 -1
  16. package/dist/esm/audio/Playable.d.ts +6 -1
  17. package/dist/esm/audio/Playable.d.ts.map +1 -1
  18. package/dist/esm/audio/WorkletEffect.d.ts +34 -20
  19. package/dist/esm/audio/WorkletEffect.d.ts.map +1 -1
  20. package/dist/esm/audio/WorkletEffect.js +92 -25
  21. package/dist/esm/audio/WorkletEffect.js.map +1 -1
  22. package/dist/esm/core/Application.d.ts +43 -5
  23. package/dist/esm/core/Application.d.ts.map +1 -1
  24. package/dist/esm/core/Application.js +83 -9
  25. package/dist/esm/core/Application.js.map +1 -1
  26. package/dist/esm/core/BuildInfo.js +2 -2
  27. package/dist/esm/core/Codec.d.ts +41 -0
  28. package/dist/esm/core/Codec.d.ts.map +1 -0
  29. package/dist/esm/core/Codec.js +79 -0
  30. package/dist/esm/core/Codec.js.map +1 -0
  31. package/dist/esm/core/FixedTimestep.d.ts +28 -0
  32. package/dist/esm/core/FixedTimestep.d.ts.map +1 -0
  33. package/dist/esm/core/FixedTimestep.js +62 -0
  34. package/dist/esm/core/FixedTimestep.js.map +1 -0
  35. package/dist/esm/core/Scene.d.ts +14 -0
  36. package/dist/esm/core/Scene.d.ts.map +1 -1
  37. package/dist/esm/core/Scene.js +18 -0
  38. package/dist/esm/core/Scene.js.map +1 -1
  39. package/dist/esm/core/SceneManager.d.ts +7 -0
  40. package/dist/esm/core/SceneManager.d.ts.map +1 -1
  41. package/dist/esm/core/SceneManager.js +20 -4
  42. package/dist/esm/core/SceneManager.js.map +1 -1
  43. package/dist/esm/core/SceneNode.d.ts +46 -7
  44. package/dist/esm/core/SceneNode.d.ts.map +1 -1
  45. package/dist/esm/core/SceneNode.js +73 -12
  46. package/dist/esm/core/SceneNode.js.map +1 -1
  47. package/dist/esm/core/Stage.d.ts +7 -0
  48. package/dist/esm/core/Stage.d.ts.map +1 -1
  49. package/dist/esm/core/SystemRegistry.d.ts +5 -0
  50. package/dist/esm/core/SystemRegistry.d.ts.map +1 -1
  51. package/dist/esm/core/SystemRegistry.js +10 -0
  52. package/dist/esm/core/SystemRegistry.js.map +1 -1
  53. package/dist/esm/core/index.d.ts +4 -0
  54. package/dist/esm/core/index.d.ts.map +1 -1
  55. package/dist/esm/core/logging.d.ts +34 -0
  56. package/dist/esm/core/logging.d.ts.map +1 -0
  57. package/dist/esm/core/logging.js +59 -0
  58. package/dist/esm/core/logging.js.map +1 -0
  59. package/dist/esm/core/serialization/commonFields.d.ts.map +1 -1
  60. package/dist/esm/core/serialization/commonFields.js +6 -0
  61. package/dist/esm/core/serialization/commonFields.js.map +1 -1
  62. package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -1
  63. package/dist/esm/core/serialization/renderingSerializers.js +14 -5
  64. package/dist/esm/core/serialization/renderingSerializers.js.map +1 -1
  65. package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -1
  66. package/dist/esm/debug/BoundingBoxesLayer.js +2 -1
  67. package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
  68. package/dist/esm/debug/HitTestLayer.js +4 -4
  69. package/dist/esm/debug/HitTestLayer.js.map +1 -1
  70. package/dist/esm/debug/PerformanceLayer.js +1 -1
  71. package/dist/esm/debug/PerformanceLayer.js.map +1 -1
  72. package/dist/esm/debug/RenderPassInspectorLayer.js +2 -2
  73. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  74. package/dist/esm/index.js +7 -2
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/input/Gamepad.d.ts +10 -0
  77. package/dist/esm/input/Gamepad.d.ts.map +1 -1
  78. package/dist/esm/input/Gamepad.js +12 -0
  79. package/dist/esm/input/Gamepad.js.map +1 -1
  80. package/dist/esm/input/InputManager.d.ts.map +1 -1
  81. package/dist/esm/input/InputManager.js +5 -0
  82. package/dist/esm/input/InputManager.js.map +1 -1
  83. package/dist/esm/input/InteractionManager.js +4 -4
  84. package/dist/esm/input/InteractionManager.js.map +1 -1
  85. package/dist/esm/math/AbstractVector.d.ts +4 -3
  86. package/dist/esm/math/AbstractVector.d.ts.map +1 -1
  87. package/dist/esm/math/AbstractVector.js +5 -4
  88. package/dist/esm/math/AbstractVector.js.map +1 -1
  89. package/dist/esm/math/ObservableVector.d.ts +2 -0
  90. package/dist/esm/math/ObservableVector.d.ts.map +1 -1
  91. package/dist/esm/math/ObservableVector.js +9 -0
  92. package/dist/esm/math/ObservableVector.js.map +1 -1
  93. package/dist/esm/math/Polygon.d.ts.map +1 -1
  94. package/dist/esm/math/Polygon.js +4 -1
  95. package/dist/esm/math/Polygon.js.map +1 -1
  96. package/dist/esm/math/collision-detection.d.ts.map +1 -1
  97. package/dist/esm/math/collision-detection.js +14 -14
  98. package/dist/esm/math/collision-detection.js.map +1 -1
  99. package/dist/esm/math/collision-primitives.d.ts +1 -1
  100. package/dist/esm/math/collision-primitives.d.ts.map +1 -1
  101. package/dist/esm/math/collision-primitives.js +4 -1
  102. package/dist/esm/math/collision-primitives.js.map +1 -1
  103. package/dist/esm/rendering/BackendTargetPass.d.ts +1 -1
  104. package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -1
  105. package/dist/esm/rendering/CallbackRenderPass.d.ts +14 -10
  106. package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -1
  107. package/dist/esm/rendering/CallbackRenderPass.js +16 -11
  108. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  109. package/dist/esm/rendering/DrawContext.d.ts +48 -0
  110. package/dist/esm/rendering/DrawContext.d.ts.map +1 -0
  111. package/dist/esm/rendering/PassContext.d.ts +42 -0
  112. package/dist/esm/rendering/PassContext.d.ts.map +1 -0
  113. package/dist/esm/rendering/PassContext.js +48 -0
  114. package/dist/esm/rendering/PassContext.js.map +1 -0
  115. package/dist/esm/rendering/RenderBackend.d.ts +14 -0
  116. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
  117. package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
  118. package/dist/esm/rendering/RenderNode.js +2 -2
  119. package/dist/esm/rendering/RenderNode.js.map +1 -1
  120. package/dist/esm/rendering/RenderNodePass.d.ts +1 -1
  121. package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -1
  122. package/dist/esm/rendering/RenderingContext.d.ts +47 -16
  123. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
  124. package/dist/esm/rendering/RenderingContext.js +134 -36
  125. package/dist/esm/rendering/RenderingContext.js.map +1 -1
  126. package/dist/esm/rendering/TransformBuffer.d.ts +23 -0
  127. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
  128. package/dist/esm/rendering/TransformBuffer.js +58 -0
  129. package/dist/esm/rendering/TransformBuffer.js.map +1 -1
  130. package/dist/esm/rendering/View.d.ts +38 -0
  131. package/dist/esm/rendering/View.d.ts.map +1 -1
  132. package/dist/esm/rendering/View.js +37 -0
  133. package/dist/esm/rendering/View.js.map +1 -1
  134. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
  135. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +9 -2
  136. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  137. package/dist/esm/rendering/material/MeshMaterial.d.ts +20 -1
  138. package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -1
  139. package/dist/esm/rendering/material/MeshMaterial.js +17 -0
  140. package/dist/esm/rendering/material/MeshMaterial.js.map +1 -1
  141. package/dist/esm/rendering/material/SpriteMaterial.d.ts +20 -1
  142. package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -1
  143. package/dist/esm/rendering/material/SpriteMaterial.js +17 -0
  144. package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -1
  145. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
  146. package/dist/esm/rendering/plan/RenderEffectExecutor.js +7 -2
  147. package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
  148. package/dist/esm/rendering/plan/RenderInstruction.d.ts +5 -2
  149. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
  150. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
  151. package/dist/esm/rendering/plan/RenderPlanBuilder.js +23 -5
  152. package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
  153. package/dist/esm/rendering/plan/RenderScope.d.ts +7 -0
  154. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
  155. package/dist/esm/rendering/primitives/Graphics.d.ts +17 -1
  156. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
  157. package/dist/esm/rendering/primitives/Graphics.js +50 -15
  158. package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
  159. package/dist/esm/rendering/public.d.ts +5 -5
  160. package/dist/esm/rendering/public.d.ts.map +1 -1
  161. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +57 -19
  162. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
  163. package/dist/esm/rendering/sprite/AnimatedSprite.js +138 -31
  164. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
  165. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
  166. package/dist/esm/rendering/sprite/Sprite.js +8 -0
  167. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  168. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
  169. package/dist/esm/rendering/text/BitmapText.js +2 -0
  170. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  171. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
  172. package/dist/esm/rendering/text/HTMLText.js +2 -2
  173. package/dist/esm/rendering/text/HTMLText.js.map +1 -1
  174. package/dist/esm/rendering/text/Text.d.ts.map +1 -1
  175. package/dist/esm/rendering/text/Text.js +2 -0
  176. package/dist/esm/rendering/text/Text.js.map +1 -1
  177. package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
  178. package/dist/esm/rendering/text/TextLayout.js +2 -3
  179. package/dist/esm/rendering/text/TextLayout.js.map +1 -1
  180. package/dist/esm/rendering/types.d.ts +37 -13
  181. package/dist/esm/rendering/types.d.ts.map +1 -1
  182. package/dist/esm/rendering/types.js +37 -13
  183. package/dist/esm/rendering/types.js.map +1 -1
  184. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts +41 -0
  185. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts.map +1 -0
  186. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js +222 -0
  187. package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js.map +1 -0
  188. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +34 -1
  189. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
  190. package/dist/esm/rendering/webgl2/WebGl2Backend.js +108 -60
  191. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  192. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
  193. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +50 -11
  194. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
  195. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js +4 -0
  196. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js.map +1 -0
  197. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js +4 -0
  198. package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js.map +1 -0
  199. package/dist/esm/rendering/webgl2/glsl/text.vert.js +1 -1
  200. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts +72 -0
  201. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts.map +1 -0
  202. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js +494 -0
  203. package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js.map +1 -0
  204. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +27 -0
  205. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
  206. package/dist/esm/rendering/webgpu/WebGpuBackend.js +157 -60
  207. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  208. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
  209. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +5 -29
  210. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
  211. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -0
  212. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -1
  213. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
  214. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
  215. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -0
  216. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
  217. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +3 -1
  218. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
  219. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +2 -0
  220. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
  221. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +2 -1
  222. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
  223. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +8 -0
  224. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -1
  225. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +20 -0
  226. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -1
  227. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +6 -0
  228. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
  229. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +4 -1
  230. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
  231. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -0
  232. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
  233. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +2 -1
  234. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  235. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +2 -0
  236. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
  237. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +2 -1
  238. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  239. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +2 -0
  240. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
  241. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +3 -2
  242. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
  243. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +3 -1
  244. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
  245. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +29 -5
  246. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  247. package/dist/esm/resources/Loader.d.ts +13 -0
  248. package/dist/esm/resources/Loader.d.ts.map +1 -1
  249. package/dist/esm/resources/Loader.js +67 -7
  250. package/dist/esm/resources/Loader.js.map +1 -1
  251. package/dist/esm/resources/coreAssetBindings.d.ts +11 -0
  252. package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
  253. package/dist/esm/resources/coreAssetBindings.js +10 -2
  254. package/dist/esm/resources/coreAssetBindings.js.map +1 -1
  255. package/dist/esm/ui/ScrollContainer.d.ts +63 -0
  256. package/dist/esm/ui/ScrollContainer.d.ts.map +1 -0
  257. package/dist/esm/ui/ScrollContainer.js +99 -0
  258. package/dist/esm/ui/ScrollContainer.js.map +1 -0
  259. package/dist/esm/ui/Tooltip.d.ts +67 -0
  260. package/dist/esm/ui/Tooltip.d.ts.map +1 -0
  261. package/dist/esm/ui/Tooltip.js +133 -0
  262. package/dist/esm/ui/Tooltip.js.map +1 -0
  263. package/dist/esm/ui/index.d.ts +4 -0
  264. package/dist/esm/ui/index.d.ts.map +1 -1
  265. package/dist/exo.debug.esm.js +1 -1
  266. package/dist/exo.debug.esm.js.map +1 -1
  267. package/dist/exo.esm.js +1 -1
  268. package/dist/exo.esm.js.map +1 -1
  269. package/dist/exo.iife.js +45273 -0
  270. package/dist/exo.iife.js.map +1 -0
  271. package/dist/exo.iife.min.js +2 -0
  272. package/dist/exo.iife.min.js.map +1 -0
  273. package/package.json +15 -3
  274. package/dist/esm/rendering/Camera.d.ts +0 -34
  275. package/dist/esm/rendering/Camera.d.ts.map +0 -1
  276. package/dist/esm/rendering/Camera.js +0 -38
  277. package/dist/esm/rendering/Camera.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BackendTargetPass.d.ts","sourceRoot":"","sources":["../../../src/rendering/BackendTargetPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,kHAAkH;IAClH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAExB,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,GAAE,wBAA6B;IAO9F,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAuC7C"}
1
+ {"version":3,"file":"BackendTargetPass.d.ts","sourceRoot":"","sources":["../../../src/rendering/BackendTargetPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,2GAA2G;IAC3G,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAExB,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,GAAE,wBAA6B;IAO9F,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAuC7C"}
@@ -1,29 +1,31 @@
1
1
  import type { Color } from '#core/Color';
2
2
  import type { RenderTexture } from '#rendering/texture/RenderTexture';
3
+ import { PassContext } from './PassContext';
3
4
  import type { RenderingContext } from './RenderingContext';
4
5
  import { RenderPass, type RenderPassOptions } from './RenderPass';
5
6
  import type { View } from './View';
6
7
  /** Options for {@link CallbackRenderPass}. @advanced */
7
8
  export interface CallbackRenderPassOptions extends RenderPassOptions {
8
- /** View applied while the callback runs. Only meaningful with `target`. Default: `target.view`. */
9
+ /** View applied while the callback runs. Default: `target.view` (with `target`) else the active view. */
9
10
  readonly view?: View;
10
11
  /**
11
- * Off-screen destination. When set, the callback runs redirected into this {@link RenderTexture} (save / restore).
12
- * `null` / omitted → the active target. Inside a target redirect, draw via `context.backend` (the active view is
13
- * the target's); `context.render(node)` would reset the view to `context.camera`. Caller-owned and stable; never
14
- * allocated, pooled, resized, or destroyed by the pass.
12
+ * Off-screen destination. When set, the callback runs redirected into this {@link RenderTexture} (save / restore);
13
+ * `null` / omitted → the active target. The callback's {@link PassContext} is scoped to whichever target is
14
+ * active, so `pass.clear()` / `pass.render()` act on it and never leak. Caller-owned and stable; never allocated,
15
+ * pooled, resized, or destroyed by the pass.
15
16
  */
16
17
  readonly target?: RenderTexture | null;
17
18
  /** Clear the destination to this colour immediately before the callback runs. */
18
19
  readonly clear?: Color;
19
20
  }
20
21
  /**
21
- * Runs a user callback as one pass. The callback receives the {@link RenderingContext} (high-level:
22
- * `context.render(node)`, `context.backend` immediate draws, etc.). Set `options.target` to redirect the callback's
23
- * output into an off-screen {@link RenderTexture} (immediate-mode "scene" → texture).
22
+ * Runs a user callback as one pass. The callback receives a {@link PassContext} scoped to the active target:
23
+ * `pass.render(node)`, `pass.clear(color)`, `pass.drawGeometry(...)`, `pass.renderTo(...)`, and `pass.backend` for
24
+ * raw draws. Set `options.target` to redirect the callback's output into an off-screen {@link RenderTexture}
25
+ * (immediate-mode "scene" → texture); inside that redirect every `pass.*` verb operates on the texture.
24
26
  *
25
27
  * To run a low-level {@link BackendRenderPass} inside a pipeline, bridge it here:
26
- * `new CallbackRenderPass((context) => context.backend.execute(myBackendPass))`.
28
+ * `new CallbackRenderPass((pass) => pass.backend.execute(myBackendPass))`.
27
29
  *
28
30
  * `view`/`target`/`clear` are fixed at construction; the off-screen redirect is built once and reused every frame
29
31
  * (no per-frame allocation). `execute` is not re-entrant — a callback must not re-run the same pass instance; the
@@ -34,10 +36,12 @@ export interface CallbackRenderPassOptions extends RenderPassOptions {
34
36
  export declare class CallbackRenderPass extends RenderPass {
35
37
  private readonly _callback;
36
38
  private readonly _clear;
39
+ private readonly _target;
40
+ private readonly _view;
37
41
  private readonly _redirect;
38
42
  private _activeContext;
39
43
  private _executing;
40
- constructor(callback: (context: RenderingContext) => void, options?: CallbackRenderPassOptions);
44
+ constructor(callback: (pass: PassContext) => void, options?: CallbackRenderPassOptions);
41
45
  execute(context: RenderingContext): void;
42
46
  private _runCallback;
43
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CallbackRenderPass.d.ts","sourceRoot":"","sources":["../../../src/rendering/CallbackRenderPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,wDAAwD;AACxD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,mGAAmG;IACnG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,UAAU,CAAS;gBAER,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAkBrF,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAgCxD,OAAO,CAAC,YAAY;CAKrB"}
1
+ {"version":3,"file":"CallbackRenderPass.d.ts","sourceRoot":"","sources":["../../../src/rendering/CallbackRenderPass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,wDAAwD;AACxD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,yGAAyG;IACzG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,UAAU,CAAS;gBAER,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAkB7E,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAgCxD,OAAO,CAAC,YAAY;CAKrB"}
@@ -1,13 +1,15 @@
1
1
  import { BackendTargetPass } from './BackendTargetPass.js';
2
+ import { PassContext } from './PassContext.js';
2
3
  import { RenderPass } from './RenderPass.js';
3
4
 
4
5
  /**
5
- * Runs a user callback as one pass. The callback receives the {@link RenderingContext} (high-level:
6
- * `context.render(node)`, `context.backend` immediate draws, etc.). Set `options.target` to redirect the callback's
7
- * output into an off-screen {@link RenderTexture} (immediate-mode "scene" → texture).
6
+ * Runs a user callback as one pass. The callback receives a {@link PassContext} scoped to the active target:
7
+ * `pass.render(node)`, `pass.clear(color)`, `pass.drawGeometry(...)`, `pass.renderTo(...)`, and `pass.backend` for
8
+ * raw draws. Set `options.target` to redirect the callback's output into an off-screen {@link RenderTexture}
9
+ * (immediate-mode "scene" → texture); inside that redirect every `pass.*` verb operates on the texture.
8
10
  *
9
11
  * To run a low-level {@link BackendRenderPass} inside a pipeline, bridge it here:
10
- * `new CallbackRenderPass((context) => context.backend.execute(myBackendPass))`.
12
+ * `new CallbackRenderPass((pass) => pass.backend.execute(myBackendPass))`.
11
13
  *
12
14
  * `view`/`target`/`clear` are fixed at construction; the off-screen redirect is built once and reused every frame
13
15
  * (no per-frame allocation). `execute` is not re-entrant — a callback must not re-run the same pass instance; the
@@ -18,6 +20,8 @@ import { RenderPass } from './RenderPass.js';
18
20
  class CallbackRenderPass extends RenderPass {
19
21
  _callback;
20
22
  _clear;
23
+ _target;
24
+ _view;
21
25
  _redirect;
22
26
  _activeContext = null;
23
27
  _executing = false;
@@ -25,12 +29,13 @@ class CallbackRenderPass extends RenderPass {
25
29
  super(options);
26
30
  this._callback = callback;
27
31
  this._clear = options?.clear ?? null;
28
- const target = options?.target ?? null;
32
+ this._target = options?.target ?? null;
33
+ this._view = options?.view ?? null;
29
34
  this._redirect =
30
- target !== null
35
+ this._target !== null
31
36
  ? new BackendTargetPass(() => this._runCallback(), {
32
- target,
33
- view: options?.view ?? target.view,
37
+ target: this._target,
38
+ view: this._view ?? this._target.view,
34
39
  ...(this._clear !== null && { clearColor: this._clear }),
35
40
  })
36
41
  : null;
@@ -56,15 +61,15 @@ class CallbackRenderPass extends RenderPass {
56
61
  if (this._clear !== null) {
57
62
  context.backend.clear(this._clear);
58
63
  }
59
- this._callback(context);
64
+ this._callback(new PassContext(context, context.backend.renderTarget, context.backend.view));
60
65
  }
61
66
  finally {
62
67
  this._executing = false;
63
68
  }
64
69
  }
65
70
  _runCallback() {
66
- if (this._activeContext !== null) {
67
- this._callback(this._activeContext);
71
+ if (this._activeContext !== null && this._target !== null) {
72
+ this._callback(new PassContext(this._activeContext, this._target, this._view ?? this._target.view));
68
73
  }
69
74
  }
70
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CallbackRenderPass.js","sources":["../../../../src/rendering/CallbackRenderPass.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAuBA;;;;;;;;;;;;;AAaG;AACG,MAAO,kBAAmB,SAAQ,UAAU,CAAA;AAC/B,IAAA,SAAS;AACT,IAAA,MAAM;AACN,IAAA,SAAS;IAClB,cAAc,GAA4B,IAAI;IAC9C,UAAU,GAAG,KAAK;IAE1B,WAAA,CAAmB,QAA6C,EAAE,OAAmC,EAAA;QACnG,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI;AAEpC,QAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI;AAEtC,QAAA,IAAI,CAAC,SAAS;AACZ,YAAA,MAAM,KAAK;kBACP,IAAI,iBAAiB,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE;oBAC/C,MAAM;AACN,oBAAA,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;AAClC,oBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;iBACzD;kBACD,IAAI;IACZ;AAEgB,IAAA,OAAO,CAAC,OAAyB,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;AAEA,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AAEtB,QAAA,IAAI;AACF,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;;;AAG3B,gBAAA,IAAI,CAAC,cAAc,GAAG,OAAO;AAE7B,gBAAA,IAAI;oBACF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzC;wBAAU;AACR,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;gBAC5B;gBAEA;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACxB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC;AAEA,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACzB;gBAAU;AACR,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;QACrC;IACF;AACD;;;;"}
1
+ {"version":3,"file":"CallbackRenderPass.js","sources":["../../../../src/rendering/CallbackRenderPass.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAwBA;;;;;;;;;;;;;;AAcG;AACG,MAAO,kBAAmB,SAAQ,UAAU,CAAA;AAC/B,IAAA,SAAS;AACT,IAAA,MAAM;AACN,IAAA,OAAO;AACP,IAAA,KAAK;AACL,IAAA,SAAS;IAClB,cAAc,GAA4B,IAAI;IAC9C,UAAU,GAAG,KAAK;IAE1B,WAAA,CAAmB,QAAqC,EAAE,OAAmC,EAAA;QAC3F,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI;AAElC,QAAA,IAAI,CAAC,SAAS;YACZ,IAAI,CAAC,OAAO,KAAK;kBACb,IAAI,iBAAiB,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE;oBAC/C,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;AACrC,oBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;iBACzD;kBACD,IAAI;IACZ;AAEgB,IAAA,OAAO,CAAC,OAAyB,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;AAEA,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AAEtB,QAAA,IAAI;AACF,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;;;AAG3B,gBAAA,IAAI,CAAC,cAAc,GAAG,OAAO;AAE7B,gBAAA,IAAI;oBACF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzC;wBAAU;AACR,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;gBAC5B;gBAEA;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACxB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC;YAEA,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9F;gBAAU;AACR,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzD,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrG;IACF;AACD;;;;"}
@@ -0,0 +1,48 @@
1
+ import type { Color } from '#core/Color';
2
+ import type { Matrix } from '#math/Matrix';
3
+ import type { Geometry } from '#rendering/geometry/Geometry';
4
+ import type { RenderTexture } from '#rendering/texture/RenderTexture';
5
+ import type { RenderBackend } from './RenderBackend';
6
+ import type { RenderBatch } from './RenderBatch';
7
+ import type { DrawBatchOptions, DrawGeometryOptions, RenderOptions } from './RenderingContext';
8
+ import type { RenderNode } from './RenderNode';
9
+ import type { View } from './View';
10
+ /**
11
+ * Caller-owned, per-frame off-screen render target. Unlike
12
+ * {@link RenderingContext.capture}, the {@link RenderTexture} is supplied by the
13
+ * caller and reused across frames (no per-call allocation).
14
+ */
15
+ export interface RenderToOptions {
16
+ /** Destination texture, owned and kept stable by the caller. */
17
+ target: RenderTexture;
18
+ /** View to render with. Defaults to the target's own view. */
19
+ view?: View;
20
+ /** Clear the target to this colour before rendering; omitted preserves its contents. */
21
+ clear?: Color;
22
+ }
23
+ /**
24
+ * The shared rendering verbs that act on the active render target. Implemented
25
+ * by the frame-level {@link RenderingContext} (active target = the canvas by
26
+ * default) and the pass-scoped `PassContext` (active target = the pass target).
27
+ *
28
+ * Every verb operates on the *active* target and never resets the active view,
29
+ * so it is safe inside a pass redirect. Use {@link backend} only for raw draws
30
+ * or GPU state — never to switch target/view/clear, which would bypass the
31
+ * coordinator's clear-vs-load handling.
32
+ * @stable
33
+ */
34
+ export interface DrawContext {
35
+ /** Render `node` into the active target with `options.view` (default: the active view). */
36
+ render(node: RenderNode, options?: RenderOptions): void;
37
+ /** Render `node` into a caller-owned off-screen target (nested when called inside a pass). */
38
+ renderTo(node: RenderNode, options: RenderToOptions): void;
39
+ /** Clear the active target to `color` (coordinator-routed; no leak). */
40
+ clear(color: Color): void;
41
+ /** Immediately draw a single geometry with `transform` as its world matrix. */
42
+ drawGeometry(geometry: Geometry, transform: Matrix, options?: DrawGeometryOptions): void;
43
+ /** Immediately draw an instanced batch. */
44
+ drawBatch(batch: RenderBatch, options?: DrawBatchOptions): void;
45
+ /** @advanced Raw backend — draws/state only; do NOT switch target/view/clear here. */
46
+ readonly backend: RenderBackend;
47
+ }
48
+ //# sourceMappingURL=DrawContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawContext.d.ts","sourceRoot":"","sources":["../../../src/rendering/DrawContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,MAAM,EAAE,aAAa,CAAC;IACtB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wFAAwF;IACxF,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,2FAA2F;IAC3F,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACxD,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3D,wEAAwE;IACxE,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,+EAA+E;IAC/E,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzF,2CAA2C;IAC3C,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChE,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC"}
@@ -0,0 +1,42 @@
1
+ import type { Color } from '#core/Color';
2
+ import type { Matrix } from '#math/Matrix';
3
+ import type { Geometry } from '#rendering/geometry/Geometry';
4
+ import type { DrawContext, RenderToOptions } from './DrawContext';
5
+ import type { RenderBackend } from './RenderBackend';
6
+ import type { RenderBatch } from './RenderBatch';
7
+ import type { DrawBatchOptions, DrawGeometryOptions, RenderingContext, RenderOptions } from './RenderingContext';
8
+ import type { RenderNode } from './RenderNode';
9
+ import type { RenderTarget } from './RenderTarget';
10
+ import type { View } from './View';
11
+ /**
12
+ * Pass-scoped {@link DrawContext}: the active render target and view for a
13
+ * {@link CallbackRenderPass} callback. `clear`/`render`/`renderTo` route through
14
+ * the owning {@link RenderingContext} (and its pass coordinator), so they act on
15
+ * THIS pass's target and never reset the active view or leak onto another
16
+ * target. Default view for `render`/`draw*` is the pass view — not the world
17
+ * view — so a callback inside an off-screen redirect renders correctly without
18
+ * passing `{ view }` explicitly.
19
+ *
20
+ * Use {@link backend} only for raw draws or GPU state; switching target / view /
21
+ * clear through it bypasses the coordinator (the leak this type prevents).
22
+ * @advanced
23
+ */
24
+ export declare class PassContext implements DrawContext {
25
+ private readonly _context;
26
+ /** The target this pass draws into (read-only). */
27
+ readonly target: RenderTarget;
28
+ /** The view this pass renders with (read-only). */
29
+ readonly view: View;
30
+ constructor(_context: RenderingContext,
31
+ /** The target this pass draws into (read-only). */
32
+ target: RenderTarget,
33
+ /** The view this pass renders with (read-only). */
34
+ view: View);
35
+ get backend(): RenderBackend;
36
+ clear(color: Color): void;
37
+ render(node: RenderNode, options?: RenderOptions): void;
38
+ renderTo(node: RenderNode, options: RenderToOptions): void;
39
+ drawGeometry(geometry: Geometry, transform: Matrix, options?: DrawGeometryOptions): void;
40
+ drawBatch(batch: RenderBatch, options?: DrawBatchOptions): void;
41
+ }
42
+ //# sourceMappingURL=PassContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassContext.d.ts","sourceRoot":"","sources":["../../../src/rendering/PassContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAY,YAAW,WAAW;IAE3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,mDAAmD;aACnC,MAAM,EAAE,YAAY;IACpC,mDAAmD;aACnC,IAAI,EAAE,IAAI;gBAJT,QAAQ,EAAE,gBAAgB;IAC3C,mDAAmD;IACnC,MAAM,EAAE,YAAY;IACpC,mDAAmD;IACnC,IAAI,EAAE,IAAI;IAG5B,IAAW,OAAO,IAAI,aAAa,CAElC;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIzB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAIvD,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAI1D,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAIxF,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;CAGvE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Pass-scoped {@link DrawContext}: the active render target and view for a
3
+ * {@link CallbackRenderPass} callback. `clear`/`render`/`renderTo` route through
4
+ * the owning {@link RenderingContext} (and its pass coordinator), so they act on
5
+ * THIS pass's target and never reset the active view or leak onto another
6
+ * target. Default view for `render`/`draw*` is the pass view — not the world
7
+ * view — so a callback inside an off-screen redirect renders correctly without
8
+ * passing `{ view }` explicitly.
9
+ *
10
+ * Use {@link backend} only for raw draws or GPU state; switching target / view /
11
+ * clear through it bypasses the coordinator (the leak this type prevents).
12
+ * @advanced
13
+ */
14
+ class PassContext {
15
+ _context;
16
+ target;
17
+ view;
18
+ constructor(_context,
19
+ /** The target this pass draws into (read-only). */
20
+ target,
21
+ /** The view this pass renders with (read-only). */
22
+ view) {
23
+ this._context = _context;
24
+ this.target = target;
25
+ this.view = view;
26
+ }
27
+ get backend() {
28
+ return this._context.backend;
29
+ }
30
+ clear(color) {
31
+ this._context.clear(color);
32
+ }
33
+ render(node, options) {
34
+ this._context.render(node, { view: options?.view ?? this.view });
35
+ }
36
+ renderTo(node, options) {
37
+ this._context.renderTo(node, options);
38
+ }
39
+ drawGeometry(geometry, transform, options) {
40
+ this._context.drawGeometry(geometry, transform, { ...options, view: options?.view ?? this.view });
41
+ }
42
+ drawBatch(batch, options) {
43
+ this._context.drawBatch(batch, { ...options, view: options?.view ?? this.view });
44
+ }
45
+ }
46
+
47
+ export { PassContext };
48
+ //# sourceMappingURL=PassContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassContext.js","sources":["../../../../src/rendering/PassContext.ts"],"sourcesContent":[null],"names":[],"mappings":"AAYA;;;;;;;;;;;;AAYG;MACU,WAAW,CAAA;AAEH,IAAA,QAAA;AAED,IAAA,MAAA;AAEA,IAAA,IAAA;AALlB,IAAA,WAAA,CACmB,QAA0B;;IAE3B,MAAoB;;IAEpB,IAAU,EAAA;QAJT,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAET,IAAA,CAAA,MAAM,GAAN,MAAM;QAEN,IAAA,CAAA,IAAI,GAAJ,IAAI;IACnB;AAEH,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO;IAC9B;AAEO,IAAA,KAAK,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B;IAEO,MAAM,CAAC,IAAgB,EAAE,OAAuB,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAClE;IAEO,QAAQ,CAAC,IAAgB,EAAE,OAAwB,EAAA;QACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvC;AAEO,IAAA,YAAY,CAAC,QAAkB,EAAE,SAAiB,EAAE,OAA6B,EAAA;QACtF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACnG;IAEO,SAAS,CAAC,KAAkB,EAAE,OAA0B,EAAA;QAC7D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAClF;AACD;;;;"}
@@ -33,6 +33,12 @@ export interface RenderBackend {
33
33
  readonly view: View;
34
34
  readonly renderTarget: RenderTarget;
35
35
  readonly stats: RenderStats;
36
+ /**
37
+ * The colour the canvas root target is cleared to each frame. Mutable in
38
+ * place (`backend.clearColor.copy(...)`) — the new value takes effect on the
39
+ * next frame. Both backends initialise it from `app.options.clearColor`.
40
+ */
41
+ readonly clearColor: Color;
36
42
  initialize(): Promise<this>;
37
43
  resetStats(): this;
38
44
  clear(color?: Color): this;
@@ -75,6 +81,14 @@ export interface RenderBackend {
75
81
  * non-Rectangle `MaskSource` paths on `RenderNode.mask`.
76
82
  */
77
83
  composeWithAlphaMask(content: RenderTexture, mask: Texture | RenderTexture, x: number, y: number, width: number, height: number, blendMode: BlendModes): this;
84
+ /**
85
+ * Composite `source` over the active render target under an advanced
86
+ * (backdrop-aware) blend mode. Captures the target's `[x, y, width, height]`
87
+ * region, runs the W3C blend formula in a shader, and draws the result back
88
+ * with normal premultiplied source-over. Used internally by the render-effect
89
+ * executor for modes where {@link isAdvancedBlendMode} is `true`.
90
+ */
91
+ composeWithBackdropBlend(source: RenderTexture, x: number, y: number, width: number, height: number, mode: BlendModes): this;
78
92
  draw(drawable: Drawable): this;
79
93
  /**
80
94
  * Submit an explicit instanced batch: draw `mesh`'s geometry once with `count`
@@ -1 +1 @@
1
- {"version":3,"file":"RenderBackend.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderBackend.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderBackend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderNode.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderNode.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderNode.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import { SceneNode } from '../core/SceneNode.js';
3
3
  import { Signal } from '../core/Signal.js';
4
4
  import { Rectangle } from '../math/Rectangle.js';
5
5
  import { playRenderTree } from './plan/playRenderTree.js';
6
+ import { isAdvancedBlendMode, BlendModes } from './types.js';
6
7
  import './plan/RenderCommand.js';
7
8
  import './plan/RenderScope.js';
8
9
  import { RenderTexture } from './texture/RenderTexture.js';
9
10
  import { BackendTargetPass } from './BackendTargetPass.js';
10
- import { BlendModes } from './types.js';
11
11
  import { View } from './View.js';
12
12
 
13
13
  const isDestroyableFilter = (filter) => 'destroy' in filter && typeof filter.destroy === 'function';
@@ -304,7 +304,7 @@ class RenderNode extends SceneNode {
304
304
  }
305
305
  /** @internal */
306
306
  _renderPlanHasBarrierEffects() {
307
- return this._filters.length > 0 || this._mask !== null || this._cacheAsBitmap || this.clip;
307
+ return this._filters.length > 0 || this._mask !== null || this._cacheAsBitmap || this.clip || isAdvancedBlendMode(this._renderPlanGetBlendMode());
308
308
  }
309
309
  /** @internal */
310
310
  _renderPlanGetMaskSource() {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderNode.js","sources":["../../../../src/rendering/RenderNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderNode.js","sources":["../../../../src/rendering/RenderNode.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { RenderPass, type RenderPassOptions } from './RenderPass';
6
6
  import type { View } from './View';
7
7
  /** Options for {@link RenderNodePass}. @advanced */
8
8
  export interface RenderNodePassOptions extends RenderPassOptions {
9
- /** View to render the node with. Default: `target.view` when `target` is set, else `context.camera`. */
9
+ /** View to render the node with. Default: `target.view` when `target` is set, else `context.view`. */
10
10
  readonly view?: View;
11
11
  /**
12
12
  * Off-screen destination. When set, the node is rendered into this {@link RenderTexture} through the internal
@@ -1 +1 @@
1
- {"version":3,"file":"RenderNodePass.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderNodePass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,oDAAoD;AACpD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,wGAAwG;IACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,uHAAuH;IACvH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;gBAElC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAiBpD,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAazD"}
1
+ {"version":3,"file":"RenderNodePass.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderNodePass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,oDAAoD;AACpD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,sGAAsG;IACtG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,uHAAuH;IACvH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;gBAElC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAiBpD,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAazD"}
@@ -5,13 +5,14 @@ import type { Matrix } from '#math/Matrix';
5
5
  import type { Geometry } from '#rendering/geometry/Geometry';
6
6
  import type { MeshMaterial } from '#rendering/material/MeshMaterial';
7
7
  import { RenderTexture } from '#rendering/texture/RenderTexture';
8
- import { Camera } from './Camera';
8
+ import type { DrawContext, RenderToOptions } from './DrawContext';
9
9
  import { type RenderBackend } from './RenderBackend';
10
10
  import { type RenderBatch } from './RenderBatch';
11
11
  import { type RenderNode } from './RenderNode';
12
12
  import { type RenderStats } from './RenderStats';
13
13
  import { View } from './View';
14
- export interface RenderToOptions {
14
+ /** Options for {@link RenderingContext.capture} — allocates a new RenderTexture. */
15
+ export interface CaptureOptions {
15
16
  width: number;
16
17
  height: number;
17
18
  clearColor?: Color;
@@ -45,28 +46,33 @@ export interface DrawBatchOptions {
45
46
  *
46
47
  * The conceptual model is "the context renders the node":
47
48
  * context.render(node) // into the active target (canvas by default)
48
- * context.render(node, { view }) // override view (camera, screenView, etc.)
49
- * context.renderTo(node, opts) // into an off-screen RenderTexture
49
+ * context.render(node, { view }) // override view (the world view, screenView, etc.)
50
+ * context.renderTo(node, { target }) // into a caller-owned off-screen target (per-frame)
51
+ * context.capture(node, { width, height }) // into a freshly allocated RenderTexture
50
52
  * @stable
51
53
  */
52
- export declare class RenderingContext implements System {
54
+ export declare class RenderingContext implements System, DrawContext {
53
55
  /** App-systems tick band — rendering last (camera + render-plan prep). @internal */
54
56
  readonly order = 500;
55
57
  private readonly _backend;
56
- private _camera;
58
+ private _view;
57
59
  private readonly _screenView;
58
60
  /** Lazily-created pooled drawable reused by every {@link drawGeometry} call. */
59
61
  private _immediateMesh;
60
62
  /** Lazily-created pooled geometry/look source reused by every {@link drawBatch} call. */
61
63
  private _batchMesh;
64
+ /** Views explicitly pinned for per-frame update via {@link trackView} (escape hatch for views ticked but never rendered). */
65
+ private readonly _trackedViews;
66
+ /** Views rendered since the last {@link update} — auto-advanced then cleared each frame, so a custom view's follow/shake ticks with no manual bookkeeping. */
67
+ private readonly _renderedViews;
62
68
  constructor(backend: RenderBackend);
63
69
  /**
64
- * The active camera. Defaults to a camera that matches the initial
65
- * backend view. Replace with a custom `Camera` instance for follow,
66
- * zoom, bounds, or split-screen viewport behavior.
70
+ * The active world {@link View} the default for {@link render}. Defaults to
71
+ * a view matching the initial backend view. Replace with a custom `View` for
72
+ * follow, zoom, bounds, or split-screen viewport behavior.
67
73
  */
68
- get camera(): Camera;
69
- set camera(camera: Camera);
74
+ get view(): View;
75
+ set view(view: View);
70
76
  /**
71
77
  * A RenderingContext-managed screen-space {@link View} suitable for UI
72
78
  * overlays. Center and size are reset to match canvas logical dimensions
@@ -76,15 +82,26 @@ export declare class RenderingContext implements System {
76
82
  * Never follows, shakes, or rotates by default.
77
83
  */
78
84
  get screenView(): View;
79
- /** Backward-compatible alias — returns the active {@link camera}. */
80
- get view(): View;
85
+ /**
86
+ * Register a custom {@link View} (e.g. a picture-in-picture or minimap view)
87
+ * so {@link update} advances its `follow`/`shake`/bounds each frame, alongside
88
+ * the active {@link view}. The active view and {@link screenView} are managed
89
+ * automatically and need not be tracked.
90
+ *
91
+ * The view is caller-owned: call {@link untrackView} before discarding it,
92
+ * otherwise a `follow` target keeps it (and its target node) referenced.
93
+ */
94
+ trackView(view: View): void;
95
+ /** Stop advancing a previously {@link trackView}-ed view. No-op if absent. */
96
+ untrackView(view: View): void;
81
97
  /**
82
98
  * Advance follow, shake, and bounds-constraint animations on the active
83
- * camera. Ticked once per frame via {@link Application.systems}.
99
+ * {@link view}, every view rendered last frame (automatic), and any
100
+ * {@link trackView}-ed view. Ticked once per frame via {@link Application.systems}.
84
101
  */
85
102
  update(delta: Time): void;
86
103
  /**
87
- * Destroy the resources this context owns — the active {@link Camera} and the
104
+ * Destroy the resources this context owns — the active {@link View} and the
88
105
  * screen-space {@link View}. The {@link RenderBackend} is owned by the
89
106
  * Application and destroyed separately.
90
107
  * @internal — invoked via Application.systems on teardown.
@@ -112,7 +129,21 @@ export declare class RenderingContext implements System {
112
129
  * Saves and restores the active render target and view so the caller's
113
130
  * rendering state is undisturbed.
114
131
  */
115
- renderTo(node: RenderNode, options: RenderToOptions): RenderTexture;
132
+ capture(node: RenderNode, options: CaptureOptions): RenderTexture;
133
+ /**
134
+ * Clear the active render target to `color`. Routes through the pass
135
+ * coordinator so it respects the clear-vs-load policy and never leaks the
136
+ * clear onto another target. Falls back to a raw backend clear when no
137
+ * coordinator is present (test stubs).
138
+ */
139
+ clear(color: Color): void;
140
+ /**
141
+ * Render `node` into a caller-owned {@link RenderTexture} that is reused across
142
+ * frames — the per-frame, allocation-free counterpart to {@link capture}. The
143
+ * target and view are supplied by the caller; the view defaults to the
144
+ * target's own view. Save/restore is handled by the pass coordinator.
145
+ */
146
+ renderTo(node: RenderNode, options: RenderToOptions): void;
116
147
  /**
117
148
  * Immediately draw a single {@link Geometry} with `transform` as its world
118
149
  * matrix — no retained {@link RenderNode} required. Useful for procedural or
@@ -1 +1 @@
1
- {"version":3,"file":"RenderingContext.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderingContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderingContext.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderingContext.ts"],"names":[],"mappings":"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"}