@codexo/exojs 0.11.0 → 0.13.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 (832) hide show
  1. package/CHANGELOG.md +307 -0
  2. package/LICENSE +21 -0
  3. package/README.md +59 -23
  4. package/dist/esm/animation/Easing.d.ts +1 -0
  5. package/dist/esm/animation/Easing.d.ts.map +1 -0
  6. package/dist/esm/animation/Tween.d.ts +1 -0
  7. package/dist/esm/animation/Tween.d.ts.map +1 -0
  8. package/dist/esm/animation/TweenManager.d.ts +1 -0
  9. package/dist/esm/animation/TweenManager.d.ts.map +1 -0
  10. package/dist/esm/animation/index.d.ts +1 -0
  11. package/dist/esm/animation/index.d.ts.map +1 -0
  12. package/dist/esm/animation/types.d.ts +1 -0
  13. package/dist/esm/animation/types.d.ts.map +1 -0
  14. package/dist/esm/audio/AbstractMedia.d.ts +5 -4
  15. package/dist/esm/audio/AbstractMedia.d.ts.map +1 -0
  16. package/dist/esm/audio/AbstractMedia.js.map +1 -1
  17. package/dist/esm/audio/AudioAnalyser.d.ts +4 -3
  18. package/dist/esm/audio/AudioAnalyser.d.ts.map +1 -0
  19. package/dist/esm/audio/AudioAnalyser.js +1 -1
  20. package/dist/esm/audio/AudioAnalyser.js.map +1 -1
  21. package/dist/esm/audio/AudioBus.d.ts +1 -0
  22. package/dist/esm/audio/AudioBus.d.ts.map +1 -0
  23. package/dist/esm/audio/AudioFilter.d.ts +1 -0
  24. package/dist/esm/audio/AudioFilter.d.ts.map +1 -0
  25. package/dist/esm/audio/AudioListener.d.ts +4 -3
  26. package/dist/esm/audio/AudioListener.d.ts.map +1 -0
  27. package/dist/esm/audio/AudioManager.d.ts +1 -0
  28. package/dist/esm/audio/AudioManager.d.ts.map +1 -0
  29. package/dist/esm/audio/BeatDetector.d.ts +5 -4
  30. package/dist/esm/audio/BeatDetector.d.ts.map +1 -0
  31. package/dist/esm/audio/BeatDetector.js +1 -1
  32. package/dist/esm/audio/BeatDetector.js.map +1 -1
  33. package/dist/esm/audio/Envelope.d.ts +1 -0
  34. package/dist/esm/audio/Envelope.d.ts.map +1 -0
  35. package/dist/esm/audio/Media.d.ts +2 -1
  36. package/dist/esm/audio/Media.d.ts.map +1 -0
  37. package/dist/esm/audio/Music.d.ts +4 -3
  38. package/dist/esm/audio/Music.d.ts.map +1 -0
  39. package/dist/esm/audio/Music.js +1 -1
  40. package/dist/esm/audio/Music.js.map +1 -1
  41. package/dist/esm/audio/OscillatorSound.d.ts +2 -1
  42. package/dist/esm/audio/OscillatorSound.d.ts.map +1 -0
  43. package/dist/esm/audio/Sound.d.ts +5 -4
  44. package/dist/esm/audio/Sound.d.ts.map +1 -0
  45. package/dist/esm/audio/Sound.js +2 -2
  46. package/dist/esm/audio/Sound.js.map +1 -1
  47. package/dist/esm/audio/audio-context.d.ts +2 -1
  48. package/dist/esm/audio/audio-context.d.ts.map +1 -0
  49. package/dist/esm/audio/crossFade.d.ts +1 -0
  50. package/dist/esm/audio/crossFade.d.ts.map +1 -0
  51. package/dist/esm/audio/dsp/fft.d.ts +1 -0
  52. package/dist/esm/audio/dsp/fft.d.ts.map +1 -0
  53. package/dist/esm/audio/dsp/mel.d.ts +1 -0
  54. package/dist/esm/audio/dsp/mel.d.ts.map +1 -0
  55. package/dist/esm/audio/dsp/tempogram.d.ts +1 -0
  56. package/dist/esm/audio/dsp/tempogram.d.ts.map +1 -0
  57. package/dist/esm/audio/filters/ChorusFilter.d.ts +2 -1
  58. package/dist/esm/audio/filters/ChorusFilter.d.ts.map +1 -0
  59. package/dist/esm/audio/filters/CompressorFilter.d.ts +2 -1
  60. package/dist/esm/audio/filters/CompressorFilter.d.ts.map +1 -0
  61. package/dist/esm/audio/filters/DelayFilter.d.ts +2 -1
  62. package/dist/esm/audio/filters/DelayFilter.d.ts.map +1 -0
  63. package/dist/esm/audio/filters/DuckingFilter.d.ts +2 -1
  64. package/dist/esm/audio/filters/DuckingFilter.d.ts.map +1 -0
  65. package/dist/esm/audio/filters/DuckingFilter.js.map +1 -1
  66. package/dist/esm/audio/filters/EqualizerFilter.d.ts +2 -1
  67. package/dist/esm/audio/filters/EqualizerFilter.d.ts.map +1 -0
  68. package/dist/esm/audio/filters/GranularFilter.d.ts +1 -0
  69. package/dist/esm/audio/filters/GranularFilter.d.ts.map +1 -0
  70. package/dist/esm/audio/filters/GranularFilter.js.map +1 -1
  71. package/dist/esm/audio/filters/HighpassFilter.d.ts +2 -1
  72. package/dist/esm/audio/filters/HighpassFilter.d.ts.map +1 -0
  73. package/dist/esm/audio/filters/LowpassFilter.d.ts +2 -1
  74. package/dist/esm/audio/filters/LowpassFilter.d.ts.map +1 -0
  75. package/dist/esm/audio/filters/PitchShiftFilter.d.ts +1 -0
  76. package/dist/esm/audio/filters/PitchShiftFilter.d.ts.map +1 -0
  77. package/dist/esm/audio/filters/PitchShiftFilter.js.map +1 -1
  78. package/dist/esm/audio/filters/ReverbFilter.d.ts +2 -1
  79. package/dist/esm/audio/filters/ReverbFilter.d.ts.map +1 -0
  80. package/dist/esm/audio/filters/VocoderFilter.d.ts +2 -1
  81. package/dist/esm/audio/filters/VocoderFilter.d.ts.map +1 -0
  82. package/dist/esm/audio/filters/VocoderFilter.js.map +1 -1
  83. package/dist/esm/audio/filters/WorkletFilter.d.ts +2 -1
  84. package/dist/esm/audio/filters/WorkletFilter.d.ts.map +1 -0
  85. package/dist/esm/audio/filters/index.d.ts +1 -0
  86. package/dist/esm/audio/filters/index.d.ts.map +1 -0
  87. package/dist/esm/audio/index.d.ts +2 -1
  88. package/dist/esm/audio/index.d.ts.map +1 -0
  89. package/dist/esm/audio/worklet/registerWorklet.d.ts +1 -0
  90. package/dist/esm/audio/worklet/registerWorklet.d.ts.map +1 -0
  91. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts +1 -0
  92. package/dist/esm/audio/worklets/beat-detector.worklet.d.ts.map +1 -0
  93. package/dist/esm/audio/worklets/granular.worklet.d.ts +1 -0
  94. package/dist/esm/audio/worklets/granular.worklet.d.ts.map +1 -0
  95. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts +1 -0
  96. package/dist/esm/audio/worklets/pitch-shift.worklet.d.ts.map +1 -0
  97. package/dist/esm/audio/worklets/vocoder.worklet.d.ts +1 -0
  98. package/dist/esm/audio/worklets/vocoder.worklet.d.ts.map +1 -0
  99. package/dist/esm/core/Application.d.ts +24 -14
  100. package/dist/esm/core/Application.d.ts.map +1 -0
  101. package/dist/esm/core/Application.js +50 -5
  102. package/dist/esm/core/Application.js.map +1 -1
  103. package/dist/esm/core/Bounds.d.ts +3 -2
  104. package/dist/esm/core/Bounds.d.ts.map +1 -0
  105. package/dist/esm/core/BuildInfo.d.ts +16 -0
  106. package/dist/esm/core/BuildInfo.d.ts.map +1 -0
  107. package/dist/esm/core/BuildInfo.js +8 -0
  108. package/dist/esm/core/BuildInfo.js.map +1 -0
  109. package/dist/esm/core/Clock.d.ts +1 -0
  110. package/dist/esm/core/Clock.d.ts.map +1 -0
  111. package/dist/esm/core/Clock.js +1 -1
  112. package/dist/esm/core/Clock.js.map +1 -1
  113. package/dist/esm/core/Color.d.ts +2 -1
  114. package/dist/esm/core/Color.d.ts.map +1 -0
  115. package/dist/esm/core/Color.js.map +1 -1
  116. package/dist/esm/core/Perf.d.ts +1 -0
  117. package/dist/esm/core/Perf.d.ts.map +1 -0
  118. package/dist/esm/core/Scene.d.ts +7 -6
  119. package/dist/esm/core/Scene.d.ts.map +1 -0
  120. package/dist/esm/core/SceneManager.d.ts +1 -0
  121. package/dist/esm/core/SceneManager.d.ts.map +1 -0
  122. package/dist/esm/core/SceneNode.d.ts +11 -10
  123. package/dist/esm/core/SceneNode.d.ts.map +1 -0
  124. package/dist/esm/core/Signal.d.ts +1 -0
  125. package/dist/esm/core/Signal.d.ts.map +1 -0
  126. package/dist/esm/core/Time.d.ts +2 -1
  127. package/dist/esm/core/Time.d.ts.map +1 -0
  128. package/dist/esm/core/Timer.d.ts +2 -1
  129. package/dist/esm/core/Timer.d.ts.map +1 -0
  130. package/dist/esm/core/Timer.js +1 -1
  131. package/dist/esm/core/Timer.js.map +1 -1
  132. package/dist/esm/core/capabilities.d.ts +1 -0
  133. package/dist/esm/core/capabilities.d.ts.map +1 -0
  134. package/dist/esm/core/dev.d.ts +1 -0
  135. package/dist/esm/core/dev.d.ts.map +1 -0
  136. package/dist/esm/core/dev.js +31 -10
  137. package/dist/esm/core/dev.js.map +1 -1
  138. package/dist/esm/core/index.d.ts +2 -0
  139. package/dist/esm/core/index.d.ts.map +1 -0
  140. package/dist/esm/core/types.d.ts +2 -1
  141. package/dist/esm/core/types.d.ts.map +1 -0
  142. package/dist/esm/core/utils.d.ts +4 -3
  143. package/dist/esm/core/utils.d.ts.map +1 -0
  144. package/dist/esm/core/utils.js +1 -1
  145. package/dist/esm/core/utils.js.map +1 -1
  146. package/dist/esm/debug/BoundingBoxesLayer.d.ts +4 -3
  147. package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -0
  148. package/dist/esm/debug/DebugLayer.d.ts +4 -3
  149. package/dist/esm/debug/DebugLayer.d.ts.map +1 -0
  150. package/dist/esm/debug/DebugOverlay.d.ts +2 -1
  151. package/dist/esm/debug/DebugOverlay.d.ts.map +1 -0
  152. package/dist/esm/debug/HitTestLayer.d.ts +4 -3
  153. package/dist/esm/debug/HitTestLayer.d.ts.map +1 -0
  154. package/dist/esm/debug/PerformanceLayer.d.ts +4 -3
  155. package/dist/esm/debug/PerformanceLayer.d.ts.map +1 -0
  156. package/dist/esm/debug/PointerStackLayer.d.ts +4 -3
  157. package/dist/esm/debug/PointerStackLayer.d.ts.map +1 -0
  158. package/dist/esm/debug/RenderPassInspectorLayer.d.ts +33 -4
  159. package/dist/esm/debug/RenderPassInspectorLayer.d.ts.map +1 -0
  160. package/dist/esm/debug/RenderPassInspectorLayer.js +41 -0
  161. package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
  162. package/dist/esm/debug/index.d.ts +2 -1
  163. package/dist/esm/debug/index.d.ts.map +1 -0
  164. package/dist/esm/extensions/Extension.d.ts +102 -0
  165. package/dist/esm/extensions/Extension.d.ts.map +1 -0
  166. package/dist/esm/extensions/ExtensionRegistry.d.ts +35 -0
  167. package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -0
  168. package/dist/esm/extensions/ExtensionRegistry.js +63 -0
  169. package/dist/esm/extensions/ExtensionRegistry.js.map +1 -0
  170. package/dist/esm/extensions/index.d.ts +3 -0
  171. package/dist/esm/extensions/index.d.ts.map +1 -0
  172. package/dist/esm/extensions/index.js +2 -0
  173. package/dist/esm/extensions/index.js.map +1 -0
  174. package/dist/esm/extensions/materialize.d.ts +16 -0
  175. package/dist/esm/extensions/materialize.d.ts.map +1 -0
  176. package/dist/esm/extensions/materialize.js +61 -0
  177. package/dist/esm/extensions/materialize.js.map +1 -0
  178. package/dist/esm/extensions/snapshot.d.ts +26 -0
  179. package/dist/esm/extensions/snapshot.d.ts.map +1 -0
  180. package/dist/esm/extensions/snapshot.js +78 -0
  181. package/dist/esm/extensions/snapshot.js.map +1 -0
  182. package/dist/esm/extensions/testing.d.ts +7 -0
  183. package/dist/esm/extensions/testing.d.ts.map +1 -0
  184. package/dist/esm/index.d.ts +9 -8
  185. package/dist/esm/index.d.ts.map +1 -0
  186. package/dist/esm/index.js +29 -50
  187. package/dist/esm/index.js.map +1 -1
  188. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +1 -0
  189. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts.map +1 -0
  190. package/dist/esm/input/GameCubeGamepadMapping.d.ts +1 -0
  191. package/dist/esm/input/GameCubeGamepadMapping.d.ts.map +1 -0
  192. package/dist/esm/input/Gamepad.d.ts +2 -1
  193. package/dist/esm/input/Gamepad.d.ts.map +1 -0
  194. package/dist/esm/input/Gamepad.js +1 -1
  195. package/dist/esm/input/GamepadAxis.d.ts +1 -0
  196. package/dist/esm/input/GamepadAxis.d.ts.map +1 -0
  197. package/dist/esm/input/GamepadAxis.js +1 -1
  198. package/dist/esm/input/GamepadAxis.js.map +1 -1
  199. package/dist/esm/input/GamepadButton.d.ts +1 -0
  200. package/dist/esm/input/GamepadButton.d.ts.map +1 -0
  201. package/dist/esm/input/GamepadButton.js +1 -1
  202. package/dist/esm/input/GamepadButton.js.map +1 -1
  203. package/dist/esm/input/GamepadDefinitions.d.ts +1 -0
  204. package/dist/esm/input/GamepadDefinitions.d.ts.map +1 -0
  205. package/dist/esm/input/GamepadMapping.d.ts +1 -0
  206. package/dist/esm/input/GamepadMapping.d.ts.map +1 -0
  207. package/dist/esm/input/GamepadPromptLayouts.d.ts +1 -0
  208. package/dist/esm/input/GamepadPromptLayouts.d.ts.map +1 -0
  209. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +1 -0
  210. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts.map +1 -0
  211. package/dist/esm/input/GestureRecognizer.d.ts +3 -2
  212. package/dist/esm/input/GestureRecognizer.d.ts.map +1 -0
  213. package/dist/esm/input/InputBinding.d.ts +3 -2
  214. package/dist/esm/input/InputBinding.d.ts.map +1 -0
  215. package/dist/esm/input/InputManager.d.ts +4 -3
  216. package/dist/esm/input/InputManager.d.ts.map +1 -0
  217. package/dist/esm/input/InputManager.js +1 -1
  218. package/dist/esm/input/InteractionEvent.d.ts +2 -1
  219. package/dist/esm/input/InteractionEvent.d.ts.map +1 -0
  220. package/dist/esm/input/InteractionManager.d.ts +4 -3
  221. package/dist/esm/input/InteractionManager.d.ts.map +1 -0
  222. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +1 -0
  223. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts.map +1 -0
  224. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +1 -0
  225. package/dist/esm/input/JoyConRightGamepadMapping.d.ts.map +1 -0
  226. package/dist/esm/input/PlayStationGamepadMapping.d.ts +1 -0
  227. package/dist/esm/input/PlayStationGamepadMapping.d.ts.map +1 -0
  228. package/dist/esm/input/Pointer.d.ts +4 -3
  229. package/dist/esm/input/Pointer.d.ts.map +1 -0
  230. package/dist/esm/input/Pointer.js +1 -1
  231. package/dist/esm/input/Pointer.js.map +1 -1
  232. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +1 -0
  233. package/dist/esm/input/SteamControllerGamepadMapping.d.ts.map +1 -0
  234. package/dist/esm/input/SteamDeckGamepadMapping.d.ts +1 -0
  235. package/dist/esm/input/SteamDeckGamepadMapping.d.ts.map +1 -0
  236. package/dist/esm/input/SwitchProGamepadMapping.d.ts +1 -0
  237. package/dist/esm/input/SwitchProGamepadMapping.d.ts.map +1 -0
  238. package/dist/esm/input/XboxGamepadMapping.d.ts +1 -0
  239. package/dist/esm/input/XboxGamepadMapping.d.ts.map +1 -0
  240. package/dist/esm/input/index.d.ts +1 -0
  241. package/dist/esm/input/index.d.ts.map +1 -0
  242. package/dist/esm/input/internal/interactionManagerRegistry.d.ts +2 -1
  243. package/dist/esm/input/internal/interactionManagerRegistry.d.ts.map +1 -0
  244. package/dist/esm/input/types.d.ts +1 -0
  245. package/dist/esm/input/types.d.ts.map +1 -0
  246. package/dist/esm/math/AbstractVector.d.ts +2 -1
  247. package/dist/esm/math/AbstractVector.d.ts.map +1 -0
  248. package/dist/esm/math/Circle.d.ts +7 -6
  249. package/dist/esm/math/Circle.d.ts.map +1 -0
  250. package/dist/esm/math/Circle.js.map +1 -1
  251. package/dist/esm/math/CircleLike.d.ts +1 -0
  252. package/dist/esm/math/CircleLike.d.ts.map +1 -0
  253. package/dist/esm/math/Collision.d.ts +3 -2
  254. package/dist/esm/math/Collision.d.ts.map +1 -0
  255. package/dist/esm/math/Ellipse.d.ts +7 -6
  256. package/dist/esm/math/Ellipse.d.ts.map +1 -0
  257. package/dist/esm/math/Ellipse.js.map +1 -1
  258. package/dist/esm/math/EllipseLike.d.ts +1 -0
  259. package/dist/esm/math/EllipseLike.d.ts.map +1 -0
  260. package/dist/esm/math/Flags.d.ts +2 -1
  261. package/dist/esm/math/Flags.d.ts.map +1 -0
  262. package/dist/esm/math/Interval.d.ts +2 -1
  263. package/dist/esm/math/Interval.d.ts.map +1 -0
  264. package/dist/esm/math/Line.d.ts +7 -6
  265. package/dist/esm/math/Line.d.ts.map +1 -0
  266. package/dist/esm/math/Line.js.map +1 -1
  267. package/dist/esm/math/LineLike.d.ts +1 -0
  268. package/dist/esm/math/LineLike.d.ts.map +1 -0
  269. package/dist/esm/math/Matrix.d.ts +2 -1
  270. package/dist/esm/math/Matrix.d.ts.map +1 -0
  271. package/dist/esm/math/Matrix.js.map +1 -1
  272. package/dist/esm/math/ObservableSize.d.ts +1 -0
  273. package/dist/esm/math/ObservableSize.d.ts.map +1 -0
  274. package/dist/esm/math/ObservableVector.d.ts +2 -1
  275. package/dist/esm/math/ObservableVector.d.ts.map +1 -0
  276. package/dist/esm/math/PointLike.d.ts +1 -0
  277. package/dist/esm/math/PointLike.d.ts.map +1 -0
  278. package/dist/esm/math/PolarVector.d.ts +2 -1
  279. package/dist/esm/math/PolarVector.d.ts.map +1 -0
  280. package/dist/esm/math/Polygon.d.ts +7 -6
  281. package/dist/esm/math/Polygon.d.ts.map +1 -0
  282. package/dist/esm/math/Polygon.js.map +1 -1
  283. package/dist/esm/math/PolygonLike.d.ts +2 -1
  284. package/dist/esm/math/PolygonLike.d.ts.map +1 -0
  285. package/dist/esm/math/Quadtree.d.ts +1 -0
  286. package/dist/esm/math/Quadtree.d.ts.map +1 -0
  287. package/dist/esm/math/Random.d.ts +1 -0
  288. package/dist/esm/math/Random.d.ts.map +1 -0
  289. package/dist/esm/math/Rectangle.d.ts +8 -7
  290. package/dist/esm/math/Rectangle.d.ts.map +1 -0
  291. package/dist/esm/math/Rectangle.js.map +1 -1
  292. package/dist/esm/math/RectangleLike.d.ts +1 -0
  293. package/dist/esm/math/RectangleLike.d.ts.map +1 -0
  294. package/dist/esm/math/Segment.d.ts +3 -2
  295. package/dist/esm/math/Segment.d.ts.map +1 -0
  296. package/dist/esm/math/Segment.js.map +1 -1
  297. package/dist/esm/math/ShapeLike.d.ts +3 -2
  298. package/dist/esm/math/ShapeLike.d.ts.map +1 -0
  299. package/dist/esm/math/Size.d.ts +2 -1
  300. package/dist/esm/math/Size.d.ts.map +1 -0
  301. package/dist/esm/math/Vector.d.ts +6 -5
  302. package/dist/esm/math/Vector.d.ts.map +1 -0
  303. package/dist/esm/math/Vector.js +1 -1
  304. package/dist/esm/math/collision-detection.d.ts +8 -7
  305. package/dist/esm/math/collision-detection.d.ts.map +1 -0
  306. package/dist/esm/math/collision-detection.js +1 -1
  307. package/dist/esm/math/collision-detection.js.map +1 -1
  308. package/dist/esm/math/collision-primitives.d.ts +3 -2
  309. package/dist/esm/math/collision-primitives.d.ts.map +1 -0
  310. package/dist/esm/math/geometry.d.ts +1 -0
  311. package/dist/esm/math/geometry.d.ts.map +1 -0
  312. package/dist/esm/math/index.d.ts +1 -0
  313. package/dist/esm/math/index.d.ts.map +1 -0
  314. package/dist/esm/math/swept-collision.d.ts +1 -0
  315. package/dist/esm/math/swept-collision.d.ts.map +1 -0
  316. package/dist/esm/math/triangulate.d.ts +1 -0
  317. package/dist/esm/math/triangulate.d.ts.map +1 -0
  318. package/dist/esm/math/utils.d.ts +2 -1
  319. package/dist/esm/math/utils.d.ts.map +1 -0
  320. package/dist/esm/renderer-sdk.d.ts +27 -0
  321. package/dist/esm/renderer-sdk.d.ts.map +1 -0
  322. package/dist/esm/rendering/BackendRenderPass.d.ts +17 -0
  323. package/dist/esm/rendering/BackendRenderPass.d.ts.map +1 -0
  324. package/dist/esm/rendering/BackendTargetPass.d.ts +38 -0
  325. package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -0
  326. package/dist/esm/rendering/{RenderTargetPass.js → BackendTargetPass.js} +12 -7
  327. package/dist/esm/rendering/BackendTargetPass.js.map +1 -0
  328. package/dist/esm/rendering/CallbackRenderPass.d.ts +38 -14
  329. package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -0
  330. package/dist/esm/rendering/CallbackRenderPass.js +61 -13
  331. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
  332. package/dist/esm/rendering/Camera.d.ts +3 -2
  333. package/dist/esm/rendering/Camera.d.ts.map +1 -0
  334. package/dist/esm/rendering/Camera.js.map +1 -1
  335. package/dist/esm/rendering/Container.d.ts +2 -1
  336. package/dist/esm/rendering/Container.d.ts.map +1 -0
  337. package/dist/esm/rendering/Drawable.d.ts +27 -3
  338. package/dist/esm/rendering/Drawable.d.ts.map +1 -0
  339. package/dist/esm/rendering/Drawable.js +35 -1
  340. package/dist/esm/rendering/Drawable.js.map +1 -1
  341. package/dist/esm/rendering/RenderBackend.d.ts +13 -10
  342. package/dist/esm/rendering/RenderBackend.d.ts.map +1 -0
  343. package/dist/esm/rendering/RenderBackendType.d.ts +1 -0
  344. package/dist/esm/rendering/RenderBackendType.d.ts.map +1 -0
  345. package/dist/esm/rendering/RenderNode.d.ts +13 -12
  346. package/dist/esm/rendering/RenderNode.d.ts.map +1 -0
  347. package/dist/esm/rendering/RenderNode.js +2 -2
  348. package/dist/esm/rendering/RenderNode.js.map +1 -1
  349. package/dist/esm/rendering/RenderNodePass.d.ts +38 -0
  350. package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -0
  351. package/dist/esm/rendering/RenderNodePass.js +48 -0
  352. package/dist/esm/rendering/RenderNodePass.js.map +1 -0
  353. package/dist/esm/rendering/RenderPass.d.ts +53 -8
  354. package/dist/esm/rendering/RenderPass.d.ts.map +1 -0
  355. package/dist/esm/rendering/RenderPass.js +48 -0
  356. package/dist/esm/rendering/RenderPass.js.map +1 -0
  357. package/dist/esm/rendering/RenderPipeline.d.ts +61 -0
  358. package/dist/esm/rendering/RenderPipeline.d.ts.map +1 -0
  359. package/dist/esm/rendering/RenderPipeline.js +177 -0
  360. package/dist/esm/rendering/RenderPipeline.js.map +1 -0
  361. package/dist/esm/rendering/RenderStats.d.ts +1 -0
  362. package/dist/esm/rendering/RenderStats.d.ts.map +1 -0
  363. package/dist/esm/rendering/RenderTarget.d.ts +4 -3
  364. package/dist/esm/rendering/RenderTarget.d.ts.map +1 -0
  365. package/dist/esm/rendering/Renderer.d.ts +1 -0
  366. package/dist/esm/rendering/Renderer.d.ts.map +1 -0
  367. package/dist/esm/rendering/RendererRegistry.d.ts +13 -2
  368. package/dist/esm/rendering/RendererRegistry.d.ts.map +1 -0
  369. package/dist/esm/rendering/RendererRegistry.js +60 -7
  370. package/dist/esm/rendering/RendererRegistry.js.map +1 -1
  371. package/dist/esm/rendering/RenderingContext.d.ts +7 -6
  372. package/dist/esm/rendering/RenderingContext.d.ts.map +1 -0
  373. package/dist/esm/rendering/RenderingContext.js +5 -5
  374. package/dist/esm/rendering/TransformBuffer.d.ts +3 -2
  375. package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -0
  376. package/dist/esm/rendering/View.d.ts +7 -6
  377. package/dist/esm/rendering/View.d.ts.map +1 -0
  378. package/dist/esm/rendering/coreRendererBindings.d.ts +10 -0
  379. package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -0
  380. package/dist/esm/rendering/coreRendererBindings.js +73 -0
  381. package/dist/esm/rendering/coreRendererBindings.js.map +1 -0
  382. package/dist/esm/rendering/filters/BlurFilter.d.ts +3 -2
  383. package/dist/esm/rendering/filters/BlurFilter.d.ts.map +1 -0
  384. package/dist/esm/rendering/filters/BlurFilter.js +2 -2
  385. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -1
  386. package/dist/esm/rendering/filters/ColorFilter.d.ts +4 -3
  387. package/dist/esm/rendering/filters/ColorFilter.d.ts.map +1 -0
  388. package/dist/esm/rendering/filters/ColorFilter.js +2 -2
  389. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -1
  390. package/dist/esm/rendering/filters/Filter.d.ts +3 -2
  391. package/dist/esm/rendering/filters/Filter.d.ts.map +1 -0
  392. package/dist/esm/rendering/filters/LutFilter.d.ts +4 -3
  393. package/dist/esm/rendering/filters/LutFilter.d.ts.map +1 -0
  394. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts +4 -3
  395. package/dist/esm/rendering/filters/WebGl2ShaderFilter.d.ts.map +1 -0
  396. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js +2 -2
  397. package/dist/esm/rendering/filters/WebGl2ShaderFilter.js.map +1 -1
  398. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts +3 -2
  399. package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -0
  400. package/dist/esm/rendering/filters/WebGpuShaderFilter.js +3 -3
  401. package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
  402. package/dist/esm/rendering/geometry/Geometry.d.ts +2 -1
  403. package/dist/esm/rendering/geometry/Geometry.d.ts.map +1 -0
  404. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts +1 -0
  405. package/dist/esm/rendering/geometry/GeometryAttribute.d.ts.map +1 -0
  406. package/dist/esm/rendering/geometry/QuadGeometry.d.ts +1 -0
  407. package/dist/esm/rendering/geometry/QuadGeometry.d.ts.map +1 -0
  408. package/dist/esm/rendering/gradient/Gradient.d.ts +5 -4
  409. package/dist/esm/rendering/gradient/Gradient.d.ts.map +1 -0
  410. package/dist/esm/rendering/gradient/LinearGradient.d.ts +1 -0
  411. package/dist/esm/rendering/gradient/LinearGradient.d.ts.map +1 -0
  412. package/dist/esm/rendering/gradient/RadialGradient.d.ts +1 -0
  413. package/dist/esm/rendering/gradient/RadialGradient.d.ts.map +1 -0
  414. package/dist/esm/rendering/index.d.ts +100 -84
  415. package/dist/esm/rendering/index.d.ts.map +1 -0
  416. package/dist/esm/rendering/material/Material.d.ts +5 -4
  417. package/dist/esm/rendering/material/Material.d.ts.map +1 -0
  418. package/dist/esm/rendering/material/MaterialKey.d.ts +5 -4
  419. package/dist/esm/rendering/material/MaterialKey.d.ts.map +1 -0
  420. package/dist/esm/rendering/material/MeshMaterial.d.ts +1 -0
  421. package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -0
  422. package/dist/esm/rendering/material/ShaderSource.d.ts +1 -0
  423. package/dist/esm/rendering/material/ShaderSource.d.ts.map +1 -0
  424. package/dist/esm/rendering/material/SpriteMaterial.d.ts +1 -0
  425. package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -0
  426. package/dist/esm/rendering/mesh/Mesh.d.ts +6 -5
  427. package/dist/esm/rendering/mesh/Mesh.d.ts.map +1 -0
  428. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts +8 -7
  429. package/dist/esm/rendering/pass/RenderPassCoordinator.d.ts.map +1 -0
  430. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts +4 -3
  431. package/dist/esm/rendering/pass/RenderPassDescriptor.d.ts.map +1 -0
  432. package/dist/esm/rendering/pass/RenderPassDescriptor.js.map +1 -1
  433. package/dist/esm/rendering/pixelSnap.d.ts +219 -0
  434. package/dist/esm/rendering/pixelSnap.d.ts.map +1 -0
  435. package/dist/esm/rendering/pixelSnap.js +186 -0
  436. package/dist/esm/rendering/pixelSnap.js.map +1 -0
  437. package/dist/esm/rendering/plan/RenderCommand.d.ts +4 -3
  438. package/dist/esm/rendering/plan/RenderCommand.d.ts.map +1 -0
  439. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts +2 -1
  440. package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -0
  441. package/dist/esm/rendering/plan/RenderInstruction.d.ts +1 -0
  442. package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -0
  443. package/dist/esm/rendering/plan/RenderPlan.d.ts +4 -3
  444. package/dist/esm/rendering/plan/RenderPlan.d.ts.map +1 -0
  445. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts +5 -4
  446. package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -0
  447. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts +1 -0
  448. package/dist/esm/rendering/plan/RenderPlanOptimizer.d.ts.map +1 -0
  449. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts +2 -1
  450. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -0
  451. package/dist/esm/rendering/plan/RenderPlanPlayer.js +21 -1
  452. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
  453. package/dist/esm/rendering/plan/RenderScope.d.ts +6 -5
  454. package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -0
  455. package/dist/esm/rendering/plan/playRenderTree.d.ts +3 -2
  456. package/dist/esm/rendering/plan/playRenderTree.d.ts.map +1 -0
  457. package/dist/esm/rendering/primitives/Graphics.d.ts +7 -6
  458. package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -0
  459. package/dist/esm/rendering/shader/Shader.d.ts +1 -0
  460. package/dist/esm/rendering/shader/Shader.d.ts.map +1 -0
  461. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +1 -0
  462. package/dist/esm/rendering/shader/ShaderAttribute.d.ts.map +1 -0
  463. package/dist/esm/rendering/shader/ShaderUniform.d.ts +2 -1
  464. package/dist/esm/rendering/shader/ShaderUniform.d.ts.map +1 -0
  465. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts +1 -0
  466. package/dist/esm/rendering/shader/upgradeFragmentShaderToGl300.d.ts.map +1 -0
  467. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +6 -5
  468. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -0
  469. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts +69 -0
  470. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -0
  471. package/dist/esm/rendering/sprite/NineSliceSprite.js +207 -0
  472. package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -0
  473. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts +120 -0
  474. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -0
  475. package/dist/esm/rendering/sprite/RepeatingSprite.js +279 -0
  476. package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -0
  477. package/dist/esm/rendering/sprite/Sprite.d.ts +21 -7
  478. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -0
  479. package/dist/esm/rendering/sprite/Sprite.js +23 -0
  480. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  481. package/dist/esm/rendering/sprite/Spritesheet.d.ts +3 -2
  482. package/dist/esm/rendering/sprite/Spritesheet.d.ts.map +1 -0
  483. package/dist/esm/rendering/sprite/nineSlice.d.ts +53 -0
  484. package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -0
  485. package/dist/esm/rendering/sprite/nineSlice.js +340 -0
  486. package/dist/esm/rendering/sprite/nineSlice.js.map +1 -0
  487. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts +57 -0
  488. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -0
  489. package/dist/esm/rendering/sprite/repeatingSpritePlan.js +156 -0
  490. package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -0
  491. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts +1 -0
  492. package/dist/esm/rendering/sprite/spriteMaterialSources.d.ts.map +1 -0
  493. package/dist/esm/rendering/text/AbstractText.d.ts +2 -1
  494. package/dist/esm/rendering/text/AbstractText.d.ts.map +1 -0
  495. package/dist/esm/rendering/text/BitmapText.d.ts +2 -1
  496. package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -0
  497. package/dist/esm/rendering/text/BitmapText.js +1 -4
  498. package/dist/esm/rendering/text/BitmapText.js.map +1 -1
  499. package/dist/esm/rendering/text/BmFont.d.ts +2 -1
  500. package/dist/esm/rendering/text/BmFont.d.ts.map +1 -0
  501. package/dist/esm/rendering/text/GlyphAtlas.d.ts +3 -2
  502. package/dist/esm/rendering/text/GlyphAtlas.d.ts.map +1 -0
  503. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts +1 -0
  504. package/dist/esm/rendering/text/GlyphAtlasPool.d.ts.map +1 -0
  505. package/dist/esm/rendering/text/GlyphSdf.d.ts +1 -0
  506. package/dist/esm/rendering/text/GlyphSdf.d.ts.map +1 -0
  507. package/dist/esm/rendering/text/GlyphSdf.js +7 -0
  508. package/dist/esm/rendering/text/GlyphSdf.js.map +1 -1
  509. package/dist/esm/rendering/text/HTMLText.d.ts +2 -1
  510. package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -0
  511. package/dist/esm/rendering/text/LayoutOptions.d.ts +1 -0
  512. package/dist/esm/rendering/text/LayoutOptions.d.ts.map +1 -0
  513. package/dist/esm/rendering/text/Text.d.ts +1 -0
  514. package/dist/esm/rendering/text/Text.d.ts.map +1 -0
  515. package/dist/esm/rendering/text/TextLayout.d.ts +1 -0
  516. package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -0
  517. package/dist/esm/rendering/text/TextStyle.d.ts +3 -2
  518. package/dist/esm/rendering/text/TextStyle.d.ts.map +1 -0
  519. package/dist/esm/rendering/text/types.d.ts +1 -0
  520. package/dist/esm/rendering/text/types.d.ts.map +1 -0
  521. package/dist/esm/rendering/texture/DataTexture.d.ts +3 -2
  522. package/dist/esm/rendering/texture/DataTexture.d.ts.map +1 -0
  523. package/dist/esm/rendering/texture/DataTexture.js +1 -1
  524. package/dist/esm/rendering/texture/DataTexture.js.map +1 -1
  525. package/dist/esm/rendering/texture/RenderTexture.d.ts +4 -3
  526. package/dist/esm/rendering/texture/RenderTexture.d.ts.map +1 -0
  527. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -1
  528. package/dist/esm/rendering/texture/Sampler.d.ts +2 -1
  529. package/dist/esm/rendering/texture/Sampler.d.ts.map +1 -0
  530. package/dist/esm/rendering/texture/Texture.d.ts +4 -3
  531. package/dist/esm/rendering/texture/Texture.d.ts.map +1 -0
  532. package/dist/esm/rendering/texture/TextureRegion.d.ts +100 -0
  533. package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -0
  534. package/dist/esm/rendering/texture/TextureRegion.js +144 -0
  535. package/dist/esm/rendering/texture/TextureRegion.js.map +1 -0
  536. package/dist/esm/rendering/texture/repeat.d.ts +96 -0
  537. package/dist/esm/rendering/texture/repeat.d.ts.map +1 -0
  538. package/dist/esm/rendering/texture/repeat.js +158 -0
  539. package/dist/esm/rendering/texture/repeat.js.map +1 -0
  540. package/dist/esm/rendering/types.d.ts +1 -0
  541. package/dist/esm/rendering/types.d.ts.map +1 -0
  542. package/dist/esm/rendering/utils.d.ts +1 -0
  543. package/dist/esm/rendering/utils.d.ts.map +1 -0
  544. package/dist/esm/rendering/video/Video.d.ts +8 -7
  545. package/dist/esm/rendering/video/Video.d.ts.map +1 -0
  546. package/dist/esm/rendering/video/Video.js.map +1 -1
  547. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +7 -6
  548. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts.map +1 -0
  549. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +1 -1
  550. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +4 -3
  551. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts.map +1 -0
  552. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -1
  553. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +42 -21
  554. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -0
  555. package/dist/esm/rendering/webgl2/WebGl2Backend.js +34 -19
  556. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  557. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts +4 -3
  558. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.d.ts.map +1 -0
  559. package/dist/esm/rendering/webgl2/WebGl2MaskCompositor.js +1 -1
  560. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts +2 -1
  561. package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.d.ts.map +1 -0
  562. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts +32 -0
  563. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -0
  564. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +308 -0
  565. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -0
  566. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts +10 -9
  567. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.d.ts.map +1 -0
  568. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js +1 -1
  569. package/dist/esm/rendering/webgl2/WebGl2PassCoordinator.js.map +1 -1
  570. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +3 -2
  571. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts.map +1 -0
  572. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts +49 -0
  573. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -0
  574. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +535 -0
  575. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -0
  576. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +2 -1
  577. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts.map +1 -0
  578. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -1
  579. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +1 -0
  580. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts.map +1 -0
  581. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts +2 -1
  582. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.d.ts.map +1 -0
  583. package/dist/esm/rendering/webgl2/WebGl2ShaderProgram.js +1 -1
  584. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +11 -1
  585. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -0
  586. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +23 -3
  587. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  588. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts +3 -2
  589. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.d.ts.map +1 -0
  590. package/dist/esm/rendering/webgl2/WebGl2StencilClipper.js +1 -1
  591. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts +3 -2
  592. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -0
  593. package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +3 -3
  594. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +3 -2
  595. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts.map +1 -0
  596. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +4 -3
  597. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts.map +1 -0
  598. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -1
  599. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +41 -20
  600. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -0
  601. package/dist/esm/rendering/webgpu/WebGpuBackend.js +31 -17
  602. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  603. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +2 -1
  604. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -0
  605. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +4 -3
  606. package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -0
  607. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -3
  608. package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -0
  609. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +36 -0
  610. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -0
  611. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +358 -0
  612. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -0
  613. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +10 -9
  614. package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -0
  615. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +52 -0
  616. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -0
  617. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +556 -0
  618. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -0
  619. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +13 -3
  620. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -0
  621. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +22 -2
  622. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  623. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +4 -3
  624. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -0
  625. package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
  626. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts +1 -0
  627. package/dist/esm/rendering/webgpu/WebGpuStencilState.d.ts.map +1 -0
  628. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +3 -2
  629. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -0
  630. package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +2 -2
  631. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +7 -5
  632. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -0
  633. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +4 -4
  634. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  635. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts +1 -0
  636. package/dist/esm/rendering/webgpu/compute/WebGpuComputePipeline.d.ts.map +1 -0
  637. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts +1 -0
  638. package/dist/esm/rendering/webgpu/compute/WebGpuStorageBuffer.d.ts.map +1 -0
  639. package/dist/esm/rendering/webgpu/compute/index.d.ts +1 -0
  640. package/dist/esm/rendering/webgpu/compute/index.d.ts.map +1 -0
  641. package/dist/esm/rendering.d.ts +29 -0
  642. package/dist/esm/rendering.d.ts.map +1 -0
  643. package/dist/esm/rendering.js +22 -0
  644. package/dist/esm/rendering.js.map +1 -0
  645. package/dist/esm/resources/AbstractAssetFactory.d.ts +1 -0
  646. package/dist/esm/resources/AbstractAssetFactory.d.ts.map +1 -0
  647. package/dist/esm/resources/Asset.d.ts +1 -0
  648. package/dist/esm/resources/Asset.d.ts.map +1 -0
  649. package/dist/esm/resources/AssetDefinitions.d.ts +9 -8
  650. package/dist/esm/resources/AssetDefinitions.d.ts.map +1 -0
  651. package/dist/esm/resources/AssetFactory.d.ts +1 -0
  652. package/dist/esm/resources/AssetFactory.d.ts.map +1 -0
  653. package/dist/esm/resources/AssetManifest.d.ts +1 -0
  654. package/dist/esm/resources/AssetManifest.d.ts.map +1 -0
  655. package/dist/esm/resources/Assets.d.ts +1 -0
  656. package/dist/esm/resources/Assets.d.ts.map +1 -0
  657. package/dist/esm/resources/CacheFirstStrategy.d.ts +1 -0
  658. package/dist/esm/resources/CacheFirstStrategy.d.ts.map +1 -0
  659. package/dist/esm/resources/CacheStore.d.ts +1 -0
  660. package/dist/esm/resources/CacheStore.d.ts.map +1 -0
  661. package/dist/esm/resources/CacheStrategy.d.ts +1 -0
  662. package/dist/esm/resources/CacheStrategy.d.ts.map +1 -0
  663. package/dist/esm/resources/Database.d.ts +1 -0
  664. package/dist/esm/resources/Database.d.ts.map +1 -0
  665. package/dist/esm/resources/FactoryRegistry.d.ts +1 -0
  666. package/dist/esm/resources/FactoryRegistry.d.ts.map +1 -0
  667. package/dist/esm/resources/IndexedDbDatabase.d.ts +2 -1
  668. package/dist/esm/resources/IndexedDbDatabase.d.ts.map +1 -0
  669. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -1
  670. package/dist/esm/resources/IndexedDbStore.d.ts +1 -0
  671. package/dist/esm/resources/IndexedDbStore.d.ts.map +1 -0
  672. package/dist/esm/resources/JsonStore.d.ts +1 -0
  673. package/dist/esm/resources/JsonStore.d.ts.map +1 -0
  674. package/dist/esm/resources/Loader.d.ts +67 -9
  675. package/dist/esm/resources/Loader.d.ts.map +1 -0
  676. package/dist/esm/resources/Loader.js +125 -69
  677. package/dist/esm/resources/Loader.js.map +1 -1
  678. package/dist/esm/resources/LoadingQueue.d.ts +2 -1
  679. package/dist/esm/resources/LoadingQueue.d.ts.map +1 -0
  680. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +1 -0
  681. package/dist/esm/resources/NetworkOnlyStrategy.d.ts.map +1 -0
  682. package/dist/esm/resources/coreAssetBindings.d.ts +8 -0
  683. package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -0
  684. package/dist/esm/resources/coreAssetBindings.js +151 -0
  685. package/dist/esm/resources/coreAssetBindings.js.map +1 -0
  686. package/dist/esm/resources/factories/BinaryFactory.d.ts +2 -1
  687. package/dist/esm/resources/factories/BinaryFactory.d.ts.map +1 -0
  688. package/dist/esm/resources/factories/BmFontFactory.d.ts +5 -4
  689. package/dist/esm/resources/factories/BmFontFactory.d.ts.map +1 -0
  690. package/dist/esm/resources/factories/CsvFactory.d.ts +2 -1
  691. package/dist/esm/resources/factories/CsvFactory.d.ts.map +1 -0
  692. package/dist/esm/resources/factories/FontFactory.d.ts +2 -1
  693. package/dist/esm/resources/factories/FontFactory.d.ts.map +1 -0
  694. package/dist/esm/resources/factories/ImageFactory.d.ts +2 -1
  695. package/dist/esm/resources/factories/ImageFactory.d.ts.map +1 -0
  696. package/dist/esm/resources/factories/JsonFactory.d.ts +2 -1
  697. package/dist/esm/resources/factories/JsonFactory.d.ts.map +1 -0
  698. package/dist/esm/resources/factories/MusicFactory.d.ts +4 -3
  699. package/dist/esm/resources/factories/MusicFactory.d.ts.map +1 -0
  700. package/dist/esm/resources/factories/SoundFactory.d.ts +4 -3
  701. package/dist/esm/resources/factories/SoundFactory.d.ts.map +1 -0
  702. package/dist/esm/resources/factories/SubtitleFactory.d.ts +2 -1
  703. package/dist/esm/resources/factories/SubtitleFactory.d.ts.map +1 -0
  704. package/dist/esm/resources/factories/SvgFactory.d.ts +2 -1
  705. package/dist/esm/resources/factories/SvgFactory.d.ts.map +1 -0
  706. package/dist/esm/resources/factories/TextFactory.d.ts +2 -1
  707. package/dist/esm/resources/factories/TextFactory.d.ts.map +1 -0
  708. package/dist/esm/resources/factories/TextureFactory.d.ts +4 -3
  709. package/dist/esm/resources/factories/TextureFactory.d.ts.map +1 -0
  710. package/dist/esm/resources/factories/VideoFactory.d.ts +5 -4
  711. package/dist/esm/resources/factories/VideoFactory.d.ts.map +1 -0
  712. package/dist/esm/resources/factories/WasmFactory.d.ts +2 -1
  713. package/dist/esm/resources/factories/WasmFactory.d.ts.map +1 -0
  714. package/dist/esm/resources/factories/XmlFactory.d.ts +2 -1
  715. package/dist/esm/resources/factories/XmlFactory.d.ts.map +1 -0
  716. package/dist/esm/resources/index.d.ts +16 -15
  717. package/dist/esm/resources/index.d.ts.map +1 -0
  718. package/dist/esm/resources/tokens.d.ts +1 -0
  719. package/dist/esm/resources/tokens.d.ts.map +1 -0
  720. package/dist/esm/resources/utils.d.ts +1 -0
  721. package/dist/esm/resources/utils.d.ts.map +1 -0
  722. package/dist/exo.debug.esm.js +949 -0
  723. package/dist/exo.debug.esm.js.map +1 -0
  724. package/dist/exo.esm.js +11087 -10352
  725. package/dist/exo.esm.js.map +1 -1
  726. package/package.json +93 -58
  727. package/dist/esm/particles/ParticleSystem.d.ts +0 -212
  728. package/dist/esm/particles/ParticleSystem.js +0 -573
  729. package/dist/esm/particles/ParticleSystem.js.map +0 -1
  730. package/dist/esm/particles/distributions/BoxArea.d.ts +0 -17
  731. package/dist/esm/particles/distributions/BoxArea.js +0 -48
  732. package/dist/esm/particles/distributions/BoxArea.js.map +0 -1
  733. package/dist/esm/particles/distributions/CircleArea.d.ts +0 -19
  734. package/dist/esm/particles/distributions/CircleArea.js +0 -33
  735. package/dist/esm/particles/distributions/CircleArea.js.map +0 -1
  736. package/dist/esm/particles/distributions/ColorGradient.d.ts +0 -40
  737. package/dist/esm/particles/distributions/ColorGradient.js +0 -72
  738. package/dist/esm/particles/distributions/ColorGradient.js.map +0 -1
  739. package/dist/esm/particles/distributions/ConeDirection.d.ts +0 -28
  740. package/dist/esm/particles/distributions/ConeDirection.js +0 -44
  741. package/dist/esm/particles/distributions/ConeDirection.js.map +0 -1
  742. package/dist/esm/particles/distributions/Constant.d.ts +0 -17
  743. package/dist/esm/particles/distributions/Constant.js +0 -35
  744. package/dist/esm/particles/distributions/Constant.js.map +0 -1
  745. package/dist/esm/particles/distributions/Curve.d.ts +0 -30
  746. package/dist/esm/particles/distributions/Curve.js +0 -53
  747. package/dist/esm/particles/distributions/Curve.js.map +0 -1
  748. package/dist/esm/particles/distributions/Distribution.d.ts +0 -45
  749. package/dist/esm/particles/distributions/LineSegment.d.ts +0 -15
  750. package/dist/esm/particles/distributions/LineSegment.js +0 -27
  751. package/dist/esm/particles/distributions/LineSegment.js.map +0 -1
  752. package/dist/esm/particles/distributions/Range.d.ts +0 -12
  753. package/dist/esm/particles/distributions/Range.js +0 -19
  754. package/dist/esm/particles/distributions/Range.js.map +0 -1
  755. package/dist/esm/particles/distributions/VectorRange.d.ts +0 -20
  756. package/dist/esm/particles/distributions/VectorRange.js +0 -31
  757. package/dist/esm/particles/distributions/VectorRange.js.map +0 -1
  758. package/dist/esm/particles/distributions/index.d.ts +0 -12
  759. package/dist/esm/particles/gpu/ParticleGpuState.d.ts +0 -57
  760. package/dist/esm/particles/gpu/ParticleGpuState.js +0 -535
  761. package/dist/esm/particles/gpu/ParticleGpuState.js.map +0 -1
  762. package/dist/esm/particles/index.d.ts +0 -4
  763. package/dist/esm/particles/modules/AlphaFadeOverLifetime.d.ts +0 -24
  764. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js +0 -64
  765. package/dist/esm/particles/modules/AlphaFadeOverLifetime.js.map +0 -1
  766. package/dist/esm/particles/modules/ApplyForce.d.ts +0 -20
  767. package/dist/esm/particles/modules/ApplyForce.js +0 -48
  768. package/dist/esm/particles/modules/ApplyForce.js.map +0 -1
  769. package/dist/esm/particles/modules/AttractToPoint.d.ts +0 -27
  770. package/dist/esm/particles/modules/AttractToPoint.js +0 -73
  771. package/dist/esm/particles/modules/AttractToPoint.js.map +0 -1
  772. package/dist/esm/particles/modules/BurstSpawn.d.ts +0 -53
  773. package/dist/esm/particles/modules/BurstSpawn.js +0 -94
  774. package/dist/esm/particles/modules/BurstSpawn.js.map +0 -1
  775. package/dist/esm/particles/modules/ColorOverLifetime.d.ts +0 -22
  776. package/dist/esm/particles/modules/ColorOverLifetime.js +0 -65
  777. package/dist/esm/particles/modules/ColorOverLifetime.js.map +0 -1
  778. package/dist/esm/particles/modules/ColorOverSpeed.d.ts +0 -27
  779. package/dist/esm/particles/modules/ColorOverSpeed.js +0 -86
  780. package/dist/esm/particles/modules/ColorOverSpeed.js.map +0 -1
  781. package/dist/esm/particles/modules/DeathModule.d.ts +0 -24
  782. package/dist/esm/particles/modules/DeathModule.js +0 -25
  783. package/dist/esm/particles/modules/DeathModule.js.map +0 -1
  784. package/dist/esm/particles/modules/Drag.d.ts +0 -20
  785. package/dist/esm/particles/modules/Drag.js +0 -43
  786. package/dist/esm/particles/modules/Drag.js.map +0 -1
  787. package/dist/esm/particles/modules/OrbitalForce.d.ts +0 -28
  788. package/dist/esm/particles/modules/OrbitalForce.js +0 -65
  789. package/dist/esm/particles/modules/OrbitalForce.js.map +0 -1
  790. package/dist/esm/particles/modules/RateSpawn.d.ts +0 -41
  791. package/dist/esm/particles/modules/RateSpawn.js +0 -76
  792. package/dist/esm/particles/modules/RateSpawn.js.map +0 -1
  793. package/dist/esm/particles/modules/RepelFromPoint.d.ts +0 -24
  794. package/dist/esm/particles/modules/RepelFromPoint.js +0 -76
  795. package/dist/esm/particles/modules/RepelFromPoint.js.map +0 -1
  796. package/dist/esm/particles/modules/RotateOverLifetime.d.ts +0 -20
  797. package/dist/esm/particles/modules/RotateOverLifetime.js +0 -41
  798. package/dist/esm/particles/modules/RotateOverLifetime.js.map +0 -1
  799. package/dist/esm/particles/modules/ScaleOverLifetime.d.ts +0 -26
  800. package/dist/esm/particles/modules/ScaleOverLifetime.js +0 -59
  801. package/dist/esm/particles/modules/ScaleOverLifetime.js.map +0 -1
  802. package/dist/esm/particles/modules/SpawnModule.d.ts +0 -30
  803. package/dist/esm/particles/modules/SpawnModule.js +0 -31
  804. package/dist/esm/particles/modules/SpawnModule.js.map +0 -1
  805. package/dist/esm/particles/modules/SpawnOnDeath.d.ts +0 -24
  806. package/dist/esm/particles/modules/SpawnOnDeath.js +0 -47
  807. package/dist/esm/particles/modules/SpawnOnDeath.js.map +0 -1
  808. package/dist/esm/particles/modules/Turbulence.d.ts +0 -30
  809. package/dist/esm/particles/modules/Turbulence.js +0 -122
  810. package/dist/esm/particles/modules/Turbulence.js.map +0 -1
  811. package/dist/esm/particles/modules/UpdateModule.d.ts +0 -95
  812. package/dist/esm/particles/modules/UpdateModule.js +0 -66
  813. package/dist/esm/particles/modules/UpdateModule.js.map +0 -1
  814. package/dist/esm/particles/modules/VelocityOverLifetime.d.ts +0 -30
  815. package/dist/esm/particles/modules/VelocityOverLifetime.js +0 -84
  816. package/dist/esm/particles/modules/VelocityOverLifetime.js.map +0 -1
  817. package/dist/esm/particles/modules/WgslContribution.d.ts +0 -81
  818. package/dist/esm/particles/modules/WgslContribution.js +0 -34
  819. package/dist/esm/particles/modules/WgslContribution.js.map +0 -1
  820. package/dist/esm/particles/modules/index.d.ts +0 -22
  821. package/dist/esm/rendering/RenderTargetPass.d.ts +0 -29
  822. package/dist/esm/rendering/RenderTargetPass.js.map +0 -1
  823. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +0 -45
  824. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +0 -330
  825. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +0 -1
  826. package/dist/esm/rendering/webgl2/glsl/particle.frag.js +0 -4
  827. package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +0 -1
  828. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +0 -4
  829. package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +0 -1
  830. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +0 -48
  831. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +0 -556
  832. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +0 -1
@@ -0,0 +1,38 @@
1
+ import type { Color } from '#core/Color';
2
+ import type { BackendRenderPass } from './BackendRenderPass';
3
+ import type { RenderBackend } from './RenderBackend';
4
+ import type { RenderTarget } from './RenderTarget';
5
+ import type { View } from './View';
6
+ /**
7
+ * Configuration options for {@link BackendTargetPass}.
8
+ * @internal
9
+ */
10
+ export interface BackendTargetPassOptions {
11
+ /** Render target to draw into. `null` or omitted redirects output to the default framebuffer. */
12
+ readonly target?: RenderTarget | null;
13
+ /** Camera {@link View} to use while executing this pass. Falls back to the backend's active view when omitted. */
14
+ readonly view?: View | null;
15
+ /** If provided, the target is cleared to this colour before the callback runs. */
16
+ readonly clearColor?: Color;
17
+ }
18
+ /**
19
+ * A {@link BackendRenderPass} that redirects rendering into an off-screen {@link RenderTarget}.
20
+ *
21
+ * Saves the current render target and view before executing the callback, then restores them afterwards —
22
+ * even if the callback throws. This makes it safe to nest passes or use in try/finally chains without manual
23
+ * cleanup.
24
+ *
25
+ * Engine-internal target-redirect primitive: used by the stock filters, `RenderNode`'s bitmap/cache capture,
26
+ * and the high-level `RenderNodePass` / `CallbackRenderPass` `{ target }` redirect. Not part of the public
27
+ * surface — high-level code sets `{ target }` on a leaf pass instead.
28
+ * @internal
29
+ */
30
+ export declare class BackendTargetPass implements BackendRenderPass {
31
+ private readonly _callback;
32
+ private readonly _target;
33
+ private readonly _view;
34
+ private readonly _clearColor;
35
+ constructor(callback: (backend: RenderBackend) => void, options?: BackendTargetPassOptions);
36
+ execute(backend: RenderBackend): void;
37
+ }
38
+ //# sourceMappingURL=BackendTargetPass.d.ts.map
@@ -0,0 +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,13 +1,18 @@
1
1
  import { StencilAttachmentMode } from './pass/RenderPassDescriptor.js';
2
2
 
3
3
  /**
4
- * A {@link RenderPass} that redirects rendering into an off-screen {@link RenderTarget}.
4
+ * A {@link BackendRenderPass} that redirects rendering into an off-screen {@link RenderTarget}.
5
5
  *
6
- * Saves the current render target and view before executing the callback, then
7
- * restores them afterwards — even if the callback throws. This makes it safe to
8
- * nest passes or use in try/finally chains without manual cleanup.
6
+ * Saves the current render target and view before executing the callback, then restores them afterwards —
7
+ * even if the callback throws. This makes it safe to nest passes or use in try/finally chains without manual
8
+ * cleanup.
9
+ *
10
+ * Engine-internal target-redirect primitive: used by the stock filters, `RenderNode`'s bitmap/cache capture,
11
+ * and the high-level `RenderNodePass` / `CallbackRenderPass` `{ target }` redirect. Not part of the public
12
+ * surface — high-level code sets `{ target }` on a leaf pass instead.
13
+ * @internal
9
14
  */
10
- class RenderTargetPass {
15
+ class BackendTargetPass {
11
16
  _callback;
12
17
  _target;
13
18
  _view;
@@ -51,5 +56,5 @@ class RenderTargetPass {
51
56
  }
52
57
  }
53
58
 
54
- export { RenderTargetPass };
55
- //# sourceMappingURL=RenderTargetPass.js.map
59
+ export { BackendTargetPass };
60
+ //# sourceMappingURL=BackendTargetPass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendTargetPass.js","sources":["../../../../src/rendering/BackendTargetPass.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAsBA;;;;;;;;;;;AAWG;MACU,iBAAiB,CAAA;AACX,IAAA,SAAS;AACT,IAAA,OAAO;AACP,IAAA,KAAK;AACL,IAAA,WAAW;IAE5B,WAAA,CAAmB,QAA0C,EAAE,OAAA,GAAoC,EAAE,EAAA;AACnG,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI;IAC/C;AAEO,IAAA,OAAO,CAAC,OAAsB,EAAA;AACnC,QAAA,MAAM,WAAW,GAAI,OAA8D,CAAC,gBAAgB;QAEpG,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,aAAa,CACvB;gBACE,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,IAAI,EAAE,IAAI,CAAC,KAAK;AAChB,gBAAA,IAAI,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,OAAO,GAAG,MAAM;gBAClD,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,OAAO,EAAE,qBAAqB,CAAC,IAAI;AACpC,aAAA,EACD,MAAK;AACH,gBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACzB,YAAA,CAAC,CACF;YAED;QACF;;;AAIA,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY;AAC3C,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI;AAEjC,QAAA,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;AACrC,QAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAE3B,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;AAC7B,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACjC;AAEA,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACzB;gBAAU;AACR,YAAA,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC;AACvC,YAAA,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/B;IACF;AACD;;;;"}
@@ -1,20 +1,44 @@
1
- import type { RenderBackend } from './RenderBackend';
2
- import type { RenderPass } from './RenderPass';
1
+ import type { Color } from '#core/Color';
2
+ import type { RenderTexture } from '#rendering/texture/RenderTexture';
3
+ import type { RenderingContext } from './RenderingContext';
4
+ import { RenderPass, type RenderPassOptions } from './RenderPass';
5
+ import type { View } from './View';
6
+ /** Options for {@link CallbackRenderPass}. @advanced */
7
+ export interface CallbackRenderPassOptions extends RenderPassOptions {
8
+ /** View applied while the callback runs. Only meaningful with `target`. Default: `target.view`. */
9
+ readonly view?: View;
10
+ /**
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.
15
+ */
16
+ readonly target?: RenderTexture | null;
17
+ /** Clear the destination to this colour immediately before the callback runs. */
18
+ readonly clear?: Color;
19
+ }
3
20
  /**
4
- * A {@link RenderPass} that delegates its execution to a user-supplied callback.
5
- * Use this as a lightweight alternative to a full renderer class when custom
6
- * draw logic needs to participate in the render graph without a dedicated type.
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).
24
+ *
25
+ * To run a low-level {@link BackendRenderPass} inside a pipeline, bridge it here:
26
+ * `new CallbackRenderPass((context) => context.backend.execute(myBackendPass))`.
7
27
  *
8
- * @example
9
- * ```ts
10
- * new CallbackRenderPass((backend) => {
11
- * backend.draw(myDrawable);
12
- * });
13
- * ```
28
+ * `view`/`target`/`clear` are fixed at construction; the off-screen redirect is built once and reused every frame
29
+ * (no per-frame allocation). `execute` is not re-entrant — a callback must not re-run the same pass instance; the
30
+ * reentrancy guard keeps the redirect's active context from being clobbered. If your callback closes over owned GPU
31
+ * resources, subclass {@link RenderPass} instead so you can override `destroy()`.
14
32
  * @advanced
15
33
  */
16
- export declare class CallbackRenderPass implements RenderPass {
34
+ export declare class CallbackRenderPass extends RenderPass {
17
35
  private readonly _callback;
18
- constructor(callback: (backend: RenderBackend) => void);
19
- execute(backend: RenderBackend): void;
36
+ private readonly _clear;
37
+ private readonly _redirect;
38
+ private _activeContext;
39
+ private _executing;
40
+ constructor(callback: (context: RenderingContext) => void, options?: CallbackRenderPassOptions);
41
+ execute(context: RenderingContext): void;
42
+ private _runCallback;
20
43
  }
44
+ //# sourceMappingURL=CallbackRenderPass.d.ts.map
@@ -0,0 +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,23 +1,71 @@
1
+ import { BackendTargetPass } from './BackendTargetPass.js';
2
+ import { RenderPass } from './RenderPass.js';
3
+
1
4
  /**
2
- * A {@link RenderPass} that delegates its execution to a user-supplied callback.
3
- * Use this as a lightweight alternative to a full renderer class when custom
4
- * draw logic needs to participate in the render graph without a dedicated type.
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).
8
+ *
9
+ * To run a low-level {@link BackendRenderPass} inside a pipeline, bridge it here:
10
+ * `new CallbackRenderPass((context) => context.backend.execute(myBackendPass))`.
5
11
  *
6
- * @example
7
- * ```ts
8
- * new CallbackRenderPass((backend) => {
9
- * backend.draw(myDrawable);
10
- * });
11
- * ```
12
+ * `view`/`target`/`clear` are fixed at construction; the off-screen redirect is built once and reused every frame
13
+ * (no per-frame allocation). `execute` is not re-entrant — a callback must not re-run the same pass instance; the
14
+ * reentrancy guard keeps the redirect's active context from being clobbered. If your callback closes over owned GPU
15
+ * resources, subclass {@link RenderPass} instead so you can override `destroy()`.
12
16
  * @advanced
13
17
  */
14
- class CallbackRenderPass {
18
+ class CallbackRenderPass extends RenderPass {
15
19
  _callback;
16
- constructor(callback) {
20
+ _clear;
21
+ _redirect;
22
+ _activeContext = null;
23
+ _executing = false;
24
+ constructor(callback, options) {
25
+ super(options);
17
26
  this._callback = callback;
27
+ this._clear = options?.clear ?? null;
28
+ const target = options?.target ?? null;
29
+ this._redirect =
30
+ target !== null
31
+ ? new BackendTargetPass(() => this._runCallback(), {
32
+ target,
33
+ view: options?.view ?? target.view,
34
+ clearColor: this._clear ?? undefined,
35
+ })
36
+ : null;
37
+ }
38
+ execute(context) {
39
+ if (this._executing) {
40
+ throw new Error('CallbackRenderPass.execute is not re-entrant.');
41
+ }
42
+ this._executing = true;
43
+ try {
44
+ if (this._redirect !== null) {
45
+ // Bridge the context into the prebuilt redirect; the reentrancy guard above guarantees this slot is
46
+ // never overwritten while a callback is in flight.
47
+ this._activeContext = context;
48
+ try {
49
+ context.backend.execute(this._redirect);
50
+ }
51
+ finally {
52
+ this._activeContext = null;
53
+ }
54
+ return;
55
+ }
56
+ if (this._clear !== null) {
57
+ context.backend.clear(this._clear);
58
+ }
59
+ this._callback(context);
60
+ }
61
+ finally {
62
+ this._executing = false;
63
+ }
18
64
  }
19
- execute(backend) {
20
- this._callback(backend);
65
+ _runCallback() {
66
+ if (this._activeContext !== null) {
67
+ this._callback(this._activeContext);
68
+ }
21
69
  }
22
70
  }
23
71
 
@@ -1 +1 @@
1
- {"version":3,"file":"CallbackRenderPass.js","sources":["../../../../src/rendering/CallbackRenderPass.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;;;;;;;;;AAYG;MACU,kBAAkB,CAAA;AACZ,IAAA,SAAS;AAE1B,IAAA,WAAA,CAAmB,QAA0C,EAAA;AAC3D,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC3B;AAEO,IAAA,OAAO,CAAC,OAAsB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IACzB;AACD;;;;"}
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,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;iBACrC;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,5 +1,5 @@
1
- import type { Rectangle } from '@/math/Rectangle';
2
- import { View } from '@/rendering/View';
1
+ import type { Rectangle } from '#math/Rectangle';
2
+ import { View } from './View';
3
3
  export interface CameraOptions {
4
4
  center?: {
5
5
  x: number;
@@ -31,3 +31,4 @@ export interface CameraOptions {
31
31
  export declare class Camera extends View {
32
32
  constructor(options?: CameraOptions);
33
33
  }
34
+ //# sourceMappingURL=Camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../src/rendering/Camera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,MAAO,SAAQ,IAAI;gBACX,OAAO,GAAE,aAAkB;CAoB/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.js","sources":["../../../../src/rendering/Camera.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAWA;;;;;;;;;;;;;;AAcG;AACG,MAAO,MAAO,SAAQ,IAAI,CAAA;AAC9B,IAAA,WAAA,CAAmB,UAAyB,EAAE,EAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;AAEtC,QAAA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAClC;QAEA,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAClC;AAEA,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;AACpD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5B;IACF;AACD;;;;"}
1
+ {"version":3,"file":"Camera.js","sources":["../../../../src/rendering/Camera.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAYA;;;;;;;;;;;;;;AAcG;AACG,MAAO,MAAO,SAAQ,IAAI,CAAA;AAC9B,IAAA,WAAA,CAAmB,UAAyB,EAAE,EAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QAExC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;AAEtC,QAAA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAClC;QAEA,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAClC;AAEA,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;AACpD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5B;IACF;AACD;;;;"}
@@ -1,4 +1,4 @@
1
- import type { RenderPlanBuilder } from './plan/RenderPlanBuilder';
1
+ import type { RenderPlanBuilder } from '#rendering/plan/RenderPlanBuilder';
2
2
  import { RenderNode } from './RenderNode';
3
3
  /**
4
4
  * Scene-graph node that owns child {@link RenderNode}s. Renders its
@@ -59,3 +59,4 @@ export declare class Container extends RenderNode {
59
59
  updateBounds(): this;
60
60
  destroy(): void;
61
61
  }
62
+ //# sourceMappingURL=Container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../src/rendering/Container.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAE9C,IAAW,QAAQ,IAAI,UAAU,EAAE,CAElC;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACI,QAAQ,CAAC,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAQhD;;;;OAIG;IACI,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyBlD,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI;IAanE,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAUxC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAarD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAQ5C,gEAAgE;IACzD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUpC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBzC;;;OAGG;IACI,cAAc,CAAC,KAAK,SAAI,EAAE,GAAG,GAAE,MAA8B,GAAG,IAAI;IA4B3E,gBAAgB;cACG,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAUpD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;cAIpC,4BAA4B,IAAI,IAAI;IAMvC,YAAY,IAAI,IAAI;IAYpB,OAAO,IAAI,IAAI;CAKhC"}
@@ -1,7 +1,8 @@
1
- import { Color } from '@/core/Color';
2
- import { BlendModes } from '@/rendering/types';
3
- import type { RenderPlanBuilder } from './plan/RenderPlanBuilder';
1
+ import { Color } from '#core/Color';
2
+ import type { RenderPlanBuilder } from '#rendering/plan/RenderPlanBuilder';
3
+ import { type PixelSnapMode } from './pixelSnap';
4
4
  import { RenderNode } from './RenderNode';
5
+ import { BlendModes } from './types';
5
6
  /**
6
7
  * Base class for every renderable scene object.
7
8
  *
@@ -12,10 +13,32 @@ import { RenderNode } from './RenderNode';
12
13
  export declare class Drawable extends RenderNode {
13
14
  private _tint;
14
15
  private _blendMode;
16
+ private _pixelSnapMode;
15
17
  get tint(): Color;
16
18
  set tint(tint: Color);
17
19
  get blendMode(): BlendModes;
18
20
  set blendMode(blendMode: BlendModes);
21
+ /**
22
+ * Render-only pixel-snapping policy for this drawable. Aligns the rendered
23
+ * origin (`'position'`) or origin plus shared geometry boundaries
24
+ * (`'geometry'`) to the active render target's device-pixel grid. Purely
25
+ * visual: logical `x`/`y`, transforms, bounds, collision, tween and physics
26
+ * state are never affected, and {@link getBounds}/{@link getGlobalTransform}
27
+ * keep returning logical values.
28
+ *
29
+ * `'geometry'` is guaranteed only for axis-aligned transforms; rotation or
30
+ * skew (on this node, an ancestor, or the view) downgrade it to `'position'`
31
+ * for the affected frame, with no logical-state change. Snapping targets
32
+ * device pixels (× view scale × pixel ratio), not integer world units.
33
+ *
34
+ * Setting the current value is a no-op. Setting a value outside the
35
+ * {@link PixelSnapMode} union throws and leaves the prior mode unchanged.
36
+ *
37
+ * @default 'none'
38
+ * @stable
39
+ */
40
+ get pixelSnapMode(): PixelSnapMode;
41
+ set pixelSnapMode(mode: PixelSnapMode);
19
42
  /**
20
43
  * Set the tint colour by copying `color` into the internal {@link Color} instance.
21
44
  * Invalidates the render cache so the change is picked up on the next frame.
@@ -34,3 +57,4 @@ export declare class Drawable extends RenderNode {
34
57
  _renderPlanGetBlendMode(): BlendModes;
35
58
  destroy(): void;
36
59
  }
60
+ //# sourceMappingURL=Drawable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawable.d.ts","sourceRoot":"","sources":["../../../src/rendering/Drawable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,cAAc,CAAyB;IAE/C,IAAW,IAAI,IAAI,KAAK,CAEvB;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,KAAK,EAE1B;IAED,IAAW,SAAS,IAAI,UAAU,CAEjC;IAED,IAAW,SAAS,CAAC,SAAS,EAAE,UAAU,EAEzC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED,IAAW,aAAa,CAAC,IAAI,EAAE,aAAa,EAW3C;IAED;;;OAGG;IACI,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IASlC;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAShD,gBAAgB;cACG,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAIpE,gBAAgB;IACA,wBAAwB,IAAI,OAAO;IAInD,gBAAgB;IACA,uBAAuB,IAAI,UAAU;IAIrC,OAAO,IAAI,IAAI;CAKhC"}
@@ -1,6 +1,7 @@
1
1
  import { Color } from '../core/Color.js';
2
- import { BlendModes } from './types.js';
2
+ import { isPixelSnapMode } from './pixelSnap.js';
3
3
  import { RenderNode } from './RenderNode.js';
4
+ import { BlendModes } from './types.js';
4
5
 
5
6
  /**
6
7
  * Base class for every renderable scene object.
@@ -12,6 +13,7 @@ import { RenderNode } from './RenderNode.js';
12
13
  class Drawable extends RenderNode {
13
14
  _tint = Color.white.clone();
14
15
  _blendMode = BlendModes.Normal;
16
+ _pixelSnapMode = 'none';
15
17
  get tint() {
16
18
  return this._tint;
17
19
  }
@@ -24,6 +26,38 @@ class Drawable extends RenderNode {
24
26
  set blendMode(blendMode) {
25
27
  this.setBlendMode(blendMode);
26
28
  }
29
+ /**
30
+ * Render-only pixel-snapping policy for this drawable. Aligns the rendered
31
+ * origin (`'position'`) or origin plus shared geometry boundaries
32
+ * (`'geometry'`) to the active render target's device-pixel grid. Purely
33
+ * visual: logical `x`/`y`, transforms, bounds, collision, tween and physics
34
+ * state are never affected, and {@link getBounds}/{@link getGlobalTransform}
35
+ * keep returning logical values.
36
+ *
37
+ * `'geometry'` is guaranteed only for axis-aligned transforms; rotation or
38
+ * skew (on this node, an ancestor, or the view) downgrade it to `'position'`
39
+ * for the affected frame, with no logical-state change. Snapping targets
40
+ * device pixels (× view scale × pixel ratio), not integer world units.
41
+ *
42
+ * Setting the current value is a no-op. Setting a value outside the
43
+ * {@link PixelSnapMode} union throws and leaves the prior mode unchanged.
44
+ *
45
+ * @default 'none'
46
+ * @stable
47
+ */
48
+ get pixelSnapMode() {
49
+ return this._pixelSnapMode;
50
+ }
51
+ set pixelSnapMode(mode) {
52
+ if (mode === this._pixelSnapMode) {
53
+ return;
54
+ }
55
+ if (!isPixelSnapMode(mode)) {
56
+ throw new Error(`Drawable.pixelSnapMode must be 'none', 'position', or 'geometry' (got ${String(mode)}).`);
57
+ }
58
+ this._pixelSnapMode = mode;
59
+ this.invalidateCache();
60
+ }
27
61
  /**
28
62
  * Set the tint colour by copying `color` into the internal {@link Color} instance.
29
63
  * Invalidates the render cache so the change is picked up on the next frame.
@@ -1 +1 @@
1
- {"version":3,"file":"Drawable.js","sources":["../../../../src/rendering/Drawable.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAMA;;;;;;AAMG;AACG,MAAO,QAAS,SAAQ,UAAU,CAAA;AAC9B,IAAA,KAAK,GAAU,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;AAClC,IAAA,UAAU,GAAe,UAAU,CAAC,MAAM;AAElD,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IAAW,IAAI,CAAC,IAAW,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACpB;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;IACxB;IAEA,IAAW,SAAS,CAAC,SAAqB,EAAA;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAC9B;AAEA;;;AAGG;AACI,IAAA,OAAO,CAAC,KAAY,EAAA;QACzB,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACI,IAAA,YAAY,CAAC,SAAqB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,eAAe,EAAE;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;;AAGmB,IAAA,eAAe,CAAC,OAA0B,EAAA;AAC3D,QAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxB;;IAGgB,wBAAwB,GAAA;AACtC,QAAA,OAAO,IAAI;IACb;;IAGgB,uBAAuB,GAAA;QACrC,OAAO,IAAI,CAAC,UAAU;IACxB;IAEgB,OAAO,GAAA;QACrB,KAAK,CAAC,OAAO,EAAE;AAEf,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;IACtB;AACD;;;;"}
1
+ {"version":3,"file":"Drawable.js","sources":["../../../../src/rendering/Drawable.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOA;;;;;;AAMG;AACG,MAAO,QAAS,SAAQ,UAAU,CAAA;AAC9B,IAAA,KAAK,GAAU,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;AAClC,IAAA,UAAU,GAAe,UAAU,CAAC,MAAM;IAC1C,cAAc,GAAkB,MAAM;AAE9C,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,IAAW,IAAI,CAAC,IAAW,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACpB;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;IACxB;IAEA,IAAW,SAAS,CAAC,SAAqB,EAAA;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAC9B;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,IAAW,aAAa,GAAA;QACtB,OAAO,IAAI,CAAC,cAAc;IAC5B;IAEA,IAAW,aAAa,CAAC,IAAmB,EAAA;AAC1C,QAAA,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE;YAChC;QACF;AAEA,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,CAAA,sEAAA,EAAyE,MAAM,CAAC,IAAI,CAAC,CAAA,EAAA,CAAI,CAAC;QAC5G;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC1B,IAAI,CAAC,eAAe,EAAE;IACxB;AAEA;;;AAGG;AACI,IAAA,OAAO,CAAC,KAAY,EAAA;QACzB,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACI,IAAA,YAAY,CAAC,SAAqB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,eAAe,EAAE;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;;AAGmB,IAAA,eAAe,CAAC,OAA0B,EAAA;AAC3D,QAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxB;;IAGgB,wBAAwB,GAAA;AACtC,QAAA,OAAO,IAAI;IACb;;IAGgB,uBAAuB,GAAA;QACrC,OAAO,IAAI,CAAC,UAAU;IACxB;IAEgB,OAAO,GAAA;QACrB,KAAK,CAAC,OAAO,EAAE;AAEf,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;IACtB;AACD;;;;"}
@@ -1,14 +1,15 @@
1
- import type { Color } from '@/core/Color';
2
- import type { Matrix } from '@/math/Matrix';
3
- import type { Rectangle } from '@/math/Rectangle';
1
+ import type { Color } from '#core/Color';
2
+ import type { Matrix } from '#math/Matrix';
3
+ import type { Rectangle } from '#math/Rectangle';
4
+ import type { Geometry } from '#rendering/geometry/Geometry';
5
+ import type { RenderTexture } from '#rendering/texture/RenderTexture';
6
+ import type { Texture } from '#rendering/texture/Texture';
7
+ import type { BackendRenderPass } from './BackendRenderPass';
4
8
  import type { Drawable } from './Drawable';
5
- import type { Geometry } from './geometry/Geometry';
6
9
  import type { RenderBackendType } from './RenderBackendType';
7
- import type { RenderPass } from './RenderPass';
10
+ import type { RendererRegistry } from './RendererRegistry';
8
11
  import type { RenderStats } from './RenderStats';
9
12
  import type { RenderTarget } from './RenderTarget';
10
- import type { RenderTexture } from './texture/RenderTexture';
11
- import type { Texture } from './texture/Texture';
12
13
  import type { BlendModes } from './types';
13
14
  import type { View } from './View';
14
15
  /**
@@ -21,12 +22,13 @@ import type { View } from './View';
21
22
  *
22
23
  * Application code rarely calls this directly — high-level code submits
23
24
  * drawables via the scene graph and reads `app.backend.stats` for
24
- * per-frame counters. Custom render passes (subclasses of
25
- * {@link RenderPass}) interact with the interface directly.
25
+ * per-frame counters. Custom backend passes (implementations of
26
+ * {@link BackendRenderPass}) interact with the interface directly.
26
27
  * @advanced
27
28
  */
28
29
  export interface RenderBackend {
29
30
  readonly backendType: RenderBackendType;
31
+ readonly rendererRegistry: RendererRegistry<any>;
30
32
  readonly view: View;
31
33
  readonly renderTarget: RenderTarget;
32
34
  readonly stats: RenderStats;
@@ -73,7 +75,8 @@ export interface RenderBackend {
73
75
  */
74
76
  composeWithAlphaMask(content: RenderTexture, mask: Texture | RenderTexture, x: number, y: number, width: number, height: number, blendMode: BlendModes): this;
75
77
  draw(drawable: Drawable): this;
76
- execute(pass: RenderPass): this;
78
+ execute(pass: BackendRenderPass): this;
77
79
  flush(): this;
78
80
  destroy(): void;
79
81
  }
82
+ //# sourceMappingURL=RenderBackend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderBackend.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderBackend.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,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAExC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAE5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,IAAI,IAAI,CAAC;IACnB,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnD;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;;;;;;;;OASG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D;;;OAGG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IACnE,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAEnD;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAE9J,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -6,3 +6,4 @@ export declare enum RenderBackendType {
6
6
  WebGl2 = 0,
7
7
  WebGpu = 1
8
8
  }
9
+ //# sourceMappingURL=RenderBackendType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderBackendType.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderBackendType.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,MAAM,IAAA;IACN,MAAM,IAAA;CACP"}
@@ -1,15 +1,15 @@
1
- import { Color } from '@/core/Color';
2
- import { SceneNode } from '@/core/SceneNode';
3
- import { Signal } from '@/core/Signal';
4
- import type { InteractionEvent } from '@/input/InteractionEvent';
5
- import { Rectangle } from '@/math/Rectangle';
6
- import type { Filter } from '@/rendering/filters/Filter';
7
- import type { Geometry } from '@/rendering/geometry/Geometry';
8
- import { type RenderPlanBuilder } from '@/rendering/plan/RenderPlanBuilder';
9
- import type { RenderBackend } from '@/rendering/RenderBackend';
10
- import { RenderTexture } from '@/rendering/texture/RenderTexture';
11
- import type { Texture } from '@/rendering/texture/Texture';
12
- import { BlendModes } from '@/rendering/types';
1
+ import { Color } from '#core/Color';
2
+ import { SceneNode } from '#core/SceneNode';
3
+ import { Signal } from '#core/Signal';
4
+ import type { InteractionEvent } from '#input/InteractionEvent';
5
+ import { Rectangle } from '#math/Rectangle';
6
+ import type { Filter } from '#rendering/filters/Filter';
7
+ import type { Geometry } from '#rendering/geometry/Geometry';
8
+ import { type RenderPlanBuilder } from '#rendering/plan/RenderPlanBuilder';
9
+ import { RenderTexture } from '#rendering/texture/RenderTexture';
10
+ import type { Texture } from '#rendering/texture/Texture';
11
+ import type { RenderBackend } from './RenderBackend';
12
+ import { BlendModes } from './types';
13
13
  interface RenderNodeSpriteLike {
14
14
  width: number;
15
15
  height: number;
@@ -201,3 +201,4 @@ export declare abstract class RenderNode extends SceneNode {
201
201
  private _getCacheSprite;
202
202
  }
203
203
  export {};
204
+ //# sourceMappingURL=RenderNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderNode.d.ts","sourceRoot":"","sources":["../../../src/rendering/RenderNode.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ import { Rectangle } from '../math/Rectangle.js';
6
6
  import { playRenderTree } from './plan/playRenderTree.js';
7
7
  import './plan/RenderCommand.js';
8
8
  import './plan/RenderScope.js';
9
- import { RenderTargetPass } from './RenderTargetPass.js';
10
9
  import { RenderTexture } from './texture/RenderTexture.js';
10
+ import { BackendTargetPass } from './BackendTargetPass.js';
11
11
  import { BlendModes } from './types.js';
12
12
  import { View } from './View.js';
13
13
 
@@ -286,7 +286,7 @@ class RenderNode extends SceneNode {
286
286
  else {
287
287
  this._captureView.reset(left + width / 2, top + height / 2, width, height);
288
288
  }
289
- backend.execute(new RenderTargetPass(() => {
289
+ backend.execute(new BackendTargetPass(() => {
290
290
  renderContent();
291
291
  }, {
292
292
  target,
@@ -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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"}
@@ -0,0 +1,38 @@
1
+ import type { Color } from '#core/Color';
2
+ import type { RenderTexture } from '#rendering/texture/RenderTexture';
3
+ import type { RenderingContext } from './RenderingContext';
4
+ import type { RenderNode } from './RenderNode';
5
+ import { RenderPass, type RenderPassOptions } from './RenderPass';
6
+ import type { View } from './View';
7
+ /** Options for {@link RenderNodePass}. @advanced */
8
+ export interface RenderNodePassOptions extends RenderPassOptions {
9
+ /** View to render the node with. Default: `target.view` when `target` is set, else `context.camera`. */
10
+ readonly view?: View;
11
+ /**
12
+ * Off-screen destination. When set, the node is rendered into this {@link RenderTexture} through the internal
13
+ * target-redirect path (save / restore). `null` / omitted → the active target (canvas by default). Caller-owned
14
+ * and must be stable across frames; the pass never allocates, pools, resizes, or destroys it.
15
+ */
16
+ readonly target?: RenderTexture | null;
17
+ /** Clear the destination (the `target`, else the active target) to this colour immediately before the node renders. */
18
+ readonly clear?: Color;
19
+ }
20
+ /**
21
+ * Renders a scene subtree (a {@link RenderNode}) as one pass — into the active target, or off-screen when
22
+ * `options.target` is set. The most common pass: world, HUD overlay, an off-screen scene capture.
23
+ *
24
+ * `view`/`target`/`clear` are fixed at construction; only `enabled`/`label` are mutable. The off-screen redirect is
25
+ * built once and reused every frame (no per-frame allocation). The node and any caller `target` are NOT owned by
26
+ * this pass — `destroy()` never frees them.
27
+ * @advanced
28
+ */
29
+ export declare class RenderNodePass extends RenderPass {
30
+ private readonly _node;
31
+ private readonly _target;
32
+ private readonly _clear;
33
+ private readonly _renderOptions;
34
+ private readonly _redirect;
35
+ constructor(node: RenderNode, options?: RenderNodePassOptions);
36
+ execute(context: RenderingContext): void;
37
+ }
38
+ //# sourceMappingURL=RenderNodePass.d.ts.map
@@ -0,0 +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"}