@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,186 @@
1
+ const pixelSnapModes = new Set(['none', 'position', 'geometry']);
2
+ /**
3
+ * Runtime guard for the {@link PixelSnapMode} union. Used by the public setter to
4
+ * reject JavaScript-invalid values atomically.
5
+ * @internal
6
+ */
7
+ function isPixelSnapMode(value) {
8
+ return typeof value === 'string' && pixelSnapModes.has(value);
9
+ }
10
+ /** Below this magnitude an axis is treated as collapsed / cross-coupled. @internal */
11
+ const epsilon = 1e-6;
12
+ /**
13
+ * Build the device-pixel snap context for `world` (a node's global transform)
14
+ * under `view`, targeting a surface of `targetPxWidth` × `targetPxHeight` device
15
+ * pixels. Pure — does not mutate `world` or `view`. Falls back to a no-op context
16
+ * (snapped origin = original origin) when the target size or projection is
17
+ * degenerate, so callers can always use the result safely.
18
+ * @internal
19
+ */
20
+ function buildPixelSnapContext(world, view, targetPxWidth, targetPxHeight) {
21
+ const ox = world.x;
22
+ const oy = world.y;
23
+ if (!(targetPxWidth > 0) || !(targetPxHeight > 0)) {
24
+ return noopContext(ox, oy);
25
+ }
26
+ // Forward projection only (world → device). The view's inverse is deliberately
27
+ // avoided; instead the origin plus two world-unit axis tips give the exact
28
+ // world→device Jacobian, which we invert ourselves (a 2×2) to map the snapped
29
+ // device origin back to world space. This stays exact for any affine view.
30
+ const origin = view.worldToScreen(ox, oy, targetPxWidth, targetPxHeight);
31
+ if (!Number.isFinite(origin.x) || !Number.isFinite(origin.y)) {
32
+ return noopContext(ox, oy);
33
+ }
34
+ const tipWorldX = view.worldToScreen(ox + 1, oy, targetPxWidth, targetPxHeight);
35
+ const tipWorldY = view.worldToScreen(ox, oy + 1, targetPxWidth, targetPxHeight);
36
+ // Columns of the world→device Jacobian J = [[jxx, jyx], [jxy, jyy]].
37
+ const jxx = tipWorldX.x - origin.x;
38
+ const jxy = tipWorldX.y - origin.y;
39
+ const jyx = tipWorldY.x - origin.x;
40
+ const jyy = tipWorldY.y - origin.y;
41
+ // Local axes in device pixels: apply the node's linear part to the Jacobian —
42
+ // local (1,0)→world (a,c), local (0,1)→world (b,d).
43
+ const scaleX = world.a * jxx + world.c * jyx; // device-x per local-x unit
44
+ const crossXy = world.a * jxy + world.c * jyy; // device-y per local-x unit
45
+ const crossYx = world.b * jxx + world.d * jyx; // device-x per local-y unit
46
+ const scaleY = world.b * jxy + world.d * jyy; // device-y per local-y unit
47
+ const axisAligned = Math.abs(crossXy) < epsilon && Math.abs(crossYx) < epsilon;
48
+ const snappedOriginX = Math.round(origin.x);
49
+ const snappedOriginY = Math.round(origin.y);
50
+ // Map the snapped device origin back to world via J⁻¹ so that, re-projected
51
+ // through the (unchanged) view, the rendered origin lands on the device pixel.
52
+ let worldX = ox;
53
+ let worldY = oy;
54
+ const det = jxx * jyy - jyx * jxy;
55
+ if (Math.abs(det) > epsilon) {
56
+ const ddx = snappedOriginX - origin.x;
57
+ const ddy = snappedOriginY - origin.y;
58
+ worldX = ox + (jyy * ddx - jyx * ddy) / det;
59
+ worldY = oy + (jxx * ddy - jxy * ddx) / det;
60
+ }
61
+ return {
62
+ originX: origin.x,
63
+ originY: origin.y,
64
+ snappedOriginX,
65
+ snappedOriginY,
66
+ worldX,
67
+ worldY,
68
+ scaleX,
69
+ scaleY,
70
+ axisAligned,
71
+ };
72
+ }
73
+ function noopContext(ox, oy) {
74
+ return {
75
+ originX: ox,
76
+ originY: oy,
77
+ snappedOriginX: ox,
78
+ snappedOriginY: oy,
79
+ worldX: ox,
80
+ worldY: oy,
81
+ scaleX: 0,
82
+ scaleY: 0,
83
+ axisAligned: false,
84
+ };
85
+ }
86
+ /**
87
+ * Copy `world` into `out`, replacing only the translation with the snapped world
88
+ * origin from `ctx`. The linear part `(a, b, c, d)` and homogeneous row are
89
+ * preserved, so rotation / scale / skew are untouched — position snapping is safe
90
+ * under any transform. The source `world` matrix is never mutated.
91
+ * @internal
92
+ */
93
+ function snapWorldTranslationInto(out, world, ctx) {
94
+ out.copy(world);
95
+ out.x = ctx.worldX;
96
+ out.y = ctx.worldY;
97
+ return out;
98
+ }
99
+ /**
100
+ * Snap a single local boundary coordinate to the device-pixel grid along an axis
101
+ * whose local→device scale is `scale`. Returns the local value whose device
102
+ * position (relative to the already-snapped origin) lands on an integer device
103
+ * pixel: `round(L · scale) / scale`.
104
+ *
105
+ * The function is pure, so two boundaries with the same input value snap to the
106
+ * same output — shared boundaries stay shared and seams cannot open. It is also
107
+ * monotonic non-decreasing in `L` for any non-zero `scale` (including negative
108
+ * scale from a flip), so boundary order is preserved and snapped spans never go
109
+ * negative. Degenerate scales (`|scale| < epsilon`) and non-finite inputs return
110
+ * the value unchanged.
111
+ * @internal
112
+ */
113
+ function snapLocalBoundary(localValue, scale) {
114
+ if (!Number.isFinite(localValue) || Math.abs(scale) < epsilon) {
115
+ return localValue;
116
+ }
117
+ return Math.round(localValue * scale) / scale;
118
+ }
119
+ /**
120
+ * Snap every quad's local X/Y boundaries to the device grid using the per-axis
121
+ * scale in `ctx`, writing the result into the reusable `out` buffer (grown /
122
+ * truncated to match `source`, never reallocated per frame once warm). UVs are
123
+ * copied verbatim — sampling is unchanged. Because {@link snapLocalBoundary} is
124
+ * pure, quads sharing a boundary value stay seam-free without any explicit
125
+ * de-duplication.
126
+ * @internal
127
+ */
128
+ function snapQuadsInto(source, ctx, out) {
129
+ const { scaleX, scaleY } = ctx;
130
+ out.length = source.length;
131
+ for (let i = 0; i < source.length; i++) {
132
+ const q = source[i];
133
+ let t = out[i];
134
+ if (t === undefined) {
135
+ t = out[i] = { x0: 0, y0: 0, x1: 0, y1: 0, u0: 0, v0: 0, u1: 0, v1: 0 };
136
+ }
137
+ t.x0 = snapLocalBoundary(q.x0, scaleX);
138
+ t.x1 = snapLocalBoundary(q.x1, scaleX);
139
+ t.y0 = snapLocalBoundary(q.y0, scaleY);
140
+ t.y1 = snapLocalBoundary(q.y1, scaleY);
141
+ t.u0 = q.u0;
142
+ t.v0 = q.v0;
143
+ t.u1 = q.u1;
144
+ t.v1 = q.v1;
145
+ }
146
+ return out;
147
+ }
148
+ /**
149
+ * Resolve the world transform to upload for `drawable` at the transform-buffer
150
+ * write seam. Returns the drawable's live global transform unchanged when its
151
+ * mode is `'none'` (zero overhead), otherwise a snapped copy written into the
152
+ * caller-owned `scratch` matrix — the logical global transform is never mutated.
153
+ *
154
+ * Both backends call this at their single transform-write boundary, so position
155
+ * snapping (and tilemap chunk/layer origin snapping) is applied once, backend-
156
+ * neutrally, to every drawable. `view` and the target device-pixel dimensions
157
+ * come from the active pass.
158
+ * @internal
159
+ */
160
+ function resolveUploadTransform(drawable, view, targetPxWidth, targetPxHeight, scratch) {
161
+ const world = drawable.getGlobalTransform();
162
+ if (drawable.pixelSnapMode === 'none') {
163
+ return world;
164
+ }
165
+ const ctx = buildPixelSnapContext(world, view, targetPxWidth, targetPxHeight);
166
+ return snapWorldTranslationInto(scratch, world, ctx);
167
+ }
168
+ /**
169
+ * Snap a single local-space bounds rectangle (e.g. a sprite quad) to the device
170
+ * grid using the per-axis scale in `ctx`, writing the result into `out`. Each of
171
+ * the four edges is snapped by {@link snapLocalBoundary}, so combined with the
172
+ * device-snapped origin every corner lands on a whole device pixel. `out` may be
173
+ * the same instance across frames (no allocation). UV/texture mapping is the
174
+ * caller's concern and is unaffected.
175
+ * @internal
176
+ */
177
+ function snapBoundsInto(base, ctx, out) {
178
+ const left = snapLocalBoundary(base.left, ctx.scaleX);
179
+ const top = snapLocalBoundary(base.top, ctx.scaleY);
180
+ const right = snapLocalBoundary(base.right, ctx.scaleX);
181
+ const bottom = snapLocalBoundary(base.bottom, ctx.scaleY);
182
+ return out.set(left, top, right - left, bottom - top);
183
+ }
184
+
185
+ export { buildPixelSnapContext, isPixelSnapMode, resolveUploadTransform, snapBoundsInto, snapLocalBoundary, snapQuadsInto, snapWorldTranslationInto };
186
+ //# sourceMappingURL=pixelSnap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixelSnap.js","sources":["../../../../src/rendering/pixelSnap.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { Drawable } from '@/rendering/Drawable';
2
- import type { RenderBackend } from '@/rendering/RenderBackend';
3
- import type { BlendModes } from '@/rendering/types';
1
+ import type { Drawable } from '#rendering/Drawable';
2
+ import type { RenderBackend } from '#rendering/RenderBackend';
3
+ import type { BlendModes } from '#rendering/types';
4
4
  /** @internal */
5
5
  export declare const enum RenderEntryKind {
6
6
  Draw = 0,
@@ -84,3 +84,4 @@ export declare const makeMaterialKey: (drawable: Drawable, backend: RenderBacken
84
84
  * @internal
85
85
  */
86
86
  export declare const drawCommandUsesSharedTransform: (command: DrawCommand, backend: RenderBackend) => boolean;
87
+ //# sourceMappingURL=RenderCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderCommand.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,gBAAgB;AAChB,0BAAkB,eAAe;IAC/B,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,OAAO,IAAA;CACR;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB;kEAC8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAiGD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,QAAQ,EAAE,SAAS,aAAa,GAAG,IAAI,KAAG,WAkBnF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,8BAA8B,GAAI,SAAS,WAAW,EAAE,SAAS,aAAa,KAAG,OAgB7F,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RenderBackend } from '@/rendering/RenderBackend';
1
+ import type { RenderBackend } from '#rendering/RenderBackend';
2
2
  import { type BarrierScope, type GroupScope } from './RenderScope';
3
3
  /** @internal */
4
4
  export declare class RenderEffectExecutor {
@@ -8,3 +8,4 @@ export declare class RenderEffectExecutor {
8
8
  private static _withMask;
9
9
  private static _resolveMaskTexture;
10
10
  }
11
+ //# sourceMappingURL=RenderEffectExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderEffectExecutor.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderEffectExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,YAAY,EAAY,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7E,gBAAgB;AAChB,qBAAa,oBAAoB;WACjB,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IA4F/G,OAAO,CAAC,MAAM,CAAC,SAAS;IAgBxB,OAAO,CAAC,MAAM,CAAC,aAAa;IAsB5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAyCxB,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAqBnC"}
@@ -49,3 +49,4 @@ export interface RenderGroup {
49
49
  * @internal
50
50
  */
51
51
  export declare function collectRenderGroups(scope: GroupScope): RenderGroup[];
52
+ //# sourceMappingURL=RenderInstruction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderInstruction.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderInstruction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACrD;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,CAkCpE"}
@@ -1,6 +1,6 @@
1
- import type { Color } from '@/core/Color';
2
- import type { RenderTarget } from '@/rendering/RenderTarget';
3
- import type { View } from '@/rendering/View';
1
+ import type { Color } from '#core/Color';
2
+ import type { RenderTarget } from '#rendering/RenderTarget';
3
+ import type { View } from '#rendering/View';
4
4
  import type { GroupScope } from './RenderScope';
5
5
  /** @internal */
6
6
  export interface RenderPassScope {
@@ -21,3 +21,4 @@ export declare class MutableRenderPlan implements RenderPlan {
21
21
  nodeCount: number;
22
22
  reset(): void;
23
23
  }
24
+ //# sourceMappingURL=RenderPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderPlan.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderPlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,gBAAgB;AAChB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,gBAAgB;AAChB,qBAAa,iBAAkB,YAAW,UAAU;IAClD,SAAgB,MAAM,EAAE,eAAe,EAAE,CAAM;IACxC,SAAS,SAAK;IAEd,KAAK,IAAI,IAAI;CAIrB"}
@@ -1,7 +1,7 @@
1
- import type { Drawable } from '@/rendering/Drawable';
2
- import type { RenderBackend } from '@/rendering/RenderBackend';
3
- import type { RenderNode } from '@/rendering/RenderNode';
4
- import type { View } from '@/rendering/View';
1
+ import type { Drawable } from '#rendering/Drawable';
2
+ import type { RenderBackend } from '#rendering/RenderBackend';
3
+ import type { RenderNode } from '#rendering/RenderNode';
4
+ import type { View } from '#rendering/View';
5
5
  import { type RenderPlan } from './RenderPlan';
6
6
  /** @internal */
7
7
  export declare class RenderPlanBuilder {
@@ -29,3 +29,4 @@ export declare class RenderPlanBuilder {
29
29
  private _resolvePreserveDrawOrder;
30
30
  private _createEffectDescriptor;
31
31
  }
32
+ //# sourceMappingURL=RenderPlanBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderPlanBuilder.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderPlanBuilder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAalE,gBAAgB;AAChB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAA2B;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA2B;WAE5C,OAAO,IAAI,iBAAiB;WAQ5B,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAYhD,OAAO,EAAG,aAAa,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,UAAU,CAAK;IAEhB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,UAAU;IA6BlE,IAAW,IAAI,IAAI,IAAI,CAMtB;IAEM,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IA0F9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IA+BvD,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,uBAAuB;CA0BhC"}
@@ -8,3 +8,4 @@ export declare class RenderPlanOptimizer {
8
8
  private static _materialGroupSegment;
9
9
  private static _overlapAwareGroup;
10
10
  }
11
+ //# sourceMappingURL=RenderPlanOptimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderPlanOptimizer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderPlanOptimizer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO/C,gBAAgB;AAChB,qBAAa,mBAAmB;WAChB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM9C,OAAO,CAAC,MAAM,CAAC,cAAc;IAwB7B,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA+BrC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0BlC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAwCpC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAkGlC"}
@@ -1,4 +1,4 @@
1
- import type { RenderBackend } from '@/rendering/RenderBackend';
1
+ import type { RenderBackend } from '#rendering/RenderBackend';
2
2
  import type { RenderPlan } from './RenderPlan';
3
3
  import type { RenderScope } from './RenderScope';
4
4
  /** @internal */
@@ -11,3 +11,4 @@ export declare class RenderPlanPlayer {
11
11
  private static _createRenderGroupPlaybackContext;
12
12
  private static _createRenderInstructionSlot;
13
13
  }
14
+ //# sourceMappingURL=RenderPlanPlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderPlanPlayer.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderPlanPlayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,eAAe,CAAC;AA6B7D,gBAAgB;AAChB,qBAAa,gBAAgB;WACb,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;WA0BpD,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAMzE,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB,OAAO,CAAC,MAAM,CAAC,UAAU;IA2EzB,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAOrC,OAAO,CAAC,MAAM,CAAC,iCAAiC;IAahD,OAAO,CAAC,MAAM,CAAC,4BAA4B;CAM5C"}
@@ -43,13 +43,33 @@ class RenderPlanPlayer {
43
43
  let groupCursor = 0;
44
44
  let currentGroup = null;
45
45
  let currentInstructionIndex = 0;
46
+ // Phase 1 — populate the CPU transform buffer for all groups in this scope
47
+ // before any renderer draws execute. Without this separation, each
48
+ // per-group upload changes the buffer hash while a renderer holds an
49
+ // in-flight batch; the next flush detects the changed hash and re-uploads
50
+ // the growing buffer, producing O(groups²) GPU transform writes per pass
51
+ // (measured: ~240 KB/frame for 100 NineSlice sprites across 8 textures,
52
+ // ~600 MB/frame for 5000 RepeatingSprites). Writing every group's
53
+ // transforms first ensures the hash is stable by the time the first flush
54
+ // calls bindTransformBufferTexture/getTransformStorageBuffer, so all
55
+ // subsequent flushes within the same scope find an unchanged hash and skip
56
+ // the upload entirely.
57
+ if (hooks._prepareRenderGroupUpload !== undefined) {
58
+ let preInstructionIndex = context.passInstructionIndex;
59
+ for (let gi = 0; gi < groups.length; gi++) {
60
+ const group = groups[gi];
61
+ hooks._prepareRenderGroupUpload(group, this._createRenderGroupPlaybackContext(group.instructions.length, preInstructionIndex, context.passGroupIndex + gi));
62
+ preInstructionIndex += group.instructions.length;
63
+ }
64
+ }
65
+ // Phase 2 — execute draws in document order. Transform writes are already
66
+ // done; _prepareRenderGroupUpload is intentionally not called a second time.
46
67
  for (const entry of scope.entries) {
47
68
  if (entry.kind === RenderEntryKind.Draw) {
48
69
  if (currentGroup === null) {
49
70
  currentGroup = groups[groupCursor];
50
71
  currentInstructionIndex = 0;
51
72
  hooks._beginRenderGroup?.(currentGroup);
52
- hooks._prepareRenderGroupUpload?.(currentGroup, this._createRenderGroupPlaybackContext(currentGroup.instructions.length, context.passInstructionIndex, context.passGroupIndex));
53
73
  context.passGroupIndex++;
54
74
  }
55
75
  // Allocate the per-draw instruction slot only when a backend consumes
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPlanPlayer.js","sources":["../../../../../src/rendering/plan/RenderPlanPlayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderPlanPlayer.js","sources":["../../../../../src/rendering/plan/RenderPlanPlayer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { Rectangle } from '@/math/Rectangle';
2
- import type { Filter } from '@/rendering/filters/Filter';
3
- import type { Geometry } from '@/rendering/geometry/Geometry';
4
- import type { MaskSource, RenderNode } from '@/rendering/RenderNode';
5
- import type { BlendModes } from '@/rendering/types';
1
+ import type { Rectangle } from '#math/Rectangle';
2
+ import type { Filter } from '#rendering/filters/Filter';
3
+ import type { Geometry } from '#rendering/geometry/Geometry';
4
+ import type { MaskSource, RenderNode } from '#rendering/RenderNode';
5
+ import type { BlendModes } from '#rendering/types';
6
6
  import type { DrawCommand, RenderEntryKind } from './RenderCommand';
7
7
  /**
8
8
  * Geometric clip kind for a {@link RenderNode}'s `clip`/`clipShape`. Distinct
@@ -68,3 +68,4 @@ export interface BarrierScope {
68
68
  }
69
69
  /** @internal */
70
70
  export type RenderScope = GroupScope | BarrierScope;
71
+ //# sourceMappingURL=RenderScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderScope.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/RenderScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;;GAMG;AACH,0BAAkB,QAAQ;IACxB,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,OAAO,IAAA;CACR;AAED,gBAAgB;AAChB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CAC/B;AAED,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE9E,gBAAgB;AAChB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;IACrC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { RenderBackend } from '@/rendering/RenderBackend';
2
- import type { RenderNode } from '@/rendering/RenderNode';
1
+ import type { RenderBackend } from '#rendering/RenderBackend';
2
+ import type { RenderNode } from '#rendering/RenderNode';
3
3
  /** @internal — single source of truth for plan build→optimize→play. */
4
4
  export declare function playRenderTree(node: RenderNode, backend: RenderBackend): void;
5
+ //# sourceMappingURL=playRenderTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playRenderTree.d.ts","sourceRoot":"","sources":["../../../../src/rendering/plan/playRenderTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAW7E"}
@@ -1,9 +1,9 @@
1
- import { Color } from '@/core/Color';
2
- import { Vector } from '@/math/Vector';
3
- import { Container } from '@/rendering/Container';
4
- import type { Gradient } from '@/rendering/gradient/Gradient';
5
- import { Mesh } from '@/rendering/mesh/Mesh';
6
- import type { RenderNode } from '@/rendering/RenderNode';
1
+ import { Color } from '#core/Color';
2
+ import { Vector } from '#math/Vector';
3
+ import { Container } from '#rendering/Container';
4
+ import type { Gradient } from '#rendering/gradient/Gradient';
5
+ import { Mesh } from '#rendering/mesh/Mesh';
6
+ import type { RenderNode } from '#rendering/RenderNode';
7
7
  /**
8
8
  * Immediate-mode 2D shape API backed by {@link Mesh} children.
9
9
  *
@@ -134,3 +134,4 @@ export declare class Graphics extends Container {
134
134
  private _rasterizeGradient;
135
135
  private _destroyOwnedTextures;
136
136
  }
137
+ //# sourceMappingURL=Graphics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graphics.d.ts","sourceRoot":"","sources":["../../../../src/rendering/primitives/Graphics.ts"],"names":[],"mappings":"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"}
@@ -62,3 +62,4 @@ export declare class Shader {
62
62
  getUniform(name: string): ShaderUniform;
63
63
  destroy(): void;
64
64
  }
65
+ //# sourceMappingURL=Shader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shader.d.ts","sourceRoot":"","sources":["../../../../src/rendering/shader/Shader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uDAAuD;IACvD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sDAAsD;IACtD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAM;IACjB,gFAAgF;IAChF,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAsC;IAC9F,uEAAuE;IACvE,SAAgB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAoC;IAExF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAA8B;gBAE3B,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAK/D,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;;OAGG;IACI,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAOrC,UAAU,IAAI,IAAI;IAQlB,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAMrB;;;OAGG;IACI,IAAI,IAAI,IAAI;IAMnB;;;OAGG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAUlD;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUvC,OAAO,IAAI,IAAI;CAMvB"}
@@ -20,3 +20,4 @@ export declare class ShaderAttribute {
20
20
  constructor(index: number, name: string, type: number);
21
21
  destroy(): void;
22
22
  }
23
+ //# sourceMappingURL=ShaderAttribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderAttribute.d.ts","sourceRoot":"","sources":["../../../../src/rendering/shader/ShaderAttribute.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,oEAAoE;IACpE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,mEAAmE;IACnE,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IAChF,QAAQ,SAAM;gBAEF,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAOrD,OAAO,IAAI,IAAI;CAGvB"}
@@ -1,4 +1,4 @@
1
- import type { TypedArray } from '@/core/types';
1
+ import type { TypedArray } from '#core/types';
2
2
  /**
3
3
  * Metadata and current value for a single GLSL uniform variable.
4
4
  *
@@ -42,3 +42,4 @@ export declare class ShaderUniform {
42
42
  markClean(): void;
43
43
  destroy(): void;
44
44
  }
45
+ //# sourceMappingURL=ShaderUniform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderUniform.d.ts","sourceRoot":"","sources":["../../../../src/rendering/shader/ShaderUniform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,kEAAkE;IAClE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,MAAM,CAAQ;gBAEH,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAQ5F;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,KAAK,IAAI,UAAU,CAE7B;IAED,2EAA2E;IAC3E,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAOxC;;;OAGG;IACI,SAAS,IAAI,IAAI;IAIjB,OAAO,IAAI,IAAI;CAGvB"}
@@ -32,3 +32,4 @@
32
32
  * Idempotent — calling twice returns the same source.
33
33
  */
34
34
  export declare function upgradeFragmentShaderToGl300(source: string): string;
35
+ //# sourceMappingURL=upgradeFragmentShaderToGl300.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeFragmentShaderToGl300.d.ts","sourceRoot":"","sources":["../../../../src/rendering/shader/upgradeFragmentShaderToGl300.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAyBnE"}
@@ -1,8 +1,8 @@
1
- import { Signal } from '@/core/Signal';
2
- import type { Time } from '@/core/Time';
3
- import type { Rectangle } from '@/math/Rectangle';
4
- import type { RenderTexture } from '@/rendering/texture/RenderTexture';
5
- import type { Texture } from '@/rendering/texture/Texture';
1
+ import { Signal } from '#core/Signal';
2
+ import type { Time } from '#core/Time';
3
+ import type { Rectangle } from '#math/Rectangle';
4
+ import type { RenderTexture } from '#rendering/texture/RenderTexture';
5
+ import type { Texture } from '#rendering/texture/Texture';
6
6
  import { Sprite } from './Sprite';
7
7
  import type { Spritesheet } from './Spritesheet';
8
8
  /** Definition for a single animation clip registered on an {@link AnimatedSprite}. */
@@ -79,3 +79,4 @@ export declare class AnimatedSprite extends Sprite {
79
79
  static fromSpritesheet(spritesheet: Spritesheet): AnimatedSprite;
80
80
  private _applyFrame;
81
81
  }
82
+ //# sourceMappingURL=AnimatedSprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedSprite.d.ts","sourceRoot":"","sources":["../../../../src/rendering/sprite/AnimatedSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,sFAAsF;AACtF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;IAC1E,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,mBAAmB,CAAK;IAEhC,SAAgB,UAAU,yBAAgC;IAC1D,SAAgB,OAAO,wCAA+C;gBAEnD,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IAQ1H,IAAW,WAAW,IAAI,MAAM,GAAG,IAAI,CAEtC;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAUzB;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAE5B;IAED,wGAAwG;IACjG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,GAAG,IAAI;IAUpF,iGAAiG;IAC1F,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,GAAG,IAAI;IAwBzE,8FAA8F;IACvF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUrC;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,IAAI;IAwBxE,2DAA2D;IACpD,IAAI,IAAI,IAAI;IAmBZ,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,IAAI;IAQrB;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAgDzB,OAAO,IAAI,IAAI;IAe/B;;;;OAIG;WACW,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc;IAavE,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,69 @@
1
+ import type { Rectangle } from '#math/Rectangle';
2
+ import { Drawable } from '#rendering/Drawable';
3
+ import type { Texture } from '#rendering/texture/Texture';
4
+ import { TextureRegion } from '#rendering/texture/TextureRegion';
5
+ import type { View } from '#rendering/View';
6
+ import type { NineSliceInsets, NineSliceModes, NineSliceOptions, NineSliceQuad } from './nineSlice';
7
+ /**
8
+ * A scalable nine-slice (9-patch) sprite.
9
+ * Corners stay pixel-perfect; edges/center fill by stretch, repeat, or mirror-repeat.
10
+ * @stable
11
+ */
12
+ export declare class NineSliceSprite extends Drawable {
13
+ private _region;
14
+ private _slices;
15
+ private _border;
16
+ private _width;
17
+ private _height;
18
+ private _modes;
19
+ private _quads;
20
+ private _geometryDirty;
21
+ private readonly _renderQuads;
22
+ constructor(texture: Texture | TextureRegion, options: NineSliceOptions);
23
+ /** The TextureRegion this nine-slice samples from. */
24
+ get region(): TextureRegion;
25
+ /** Convenience accessor: the texture underlying the region. */
26
+ get texture(): Texture;
27
+ /** The engine-owned, frozen source slice insets. */
28
+ get slices(): Readonly<NineSliceInsets>;
29
+ /** The engine-owned, frozen destination border insets. */
30
+ get border(): Readonly<NineSliceInsets>;
31
+ /** The engine-owned, frozen edge/center fill modes. */
32
+ get modes(): Readonly<NineSliceModes>;
33
+ /** Destination width in local units. */
34
+ get width(): number;
35
+ set width(value: number);
36
+ /** Destination height in local units. */
37
+ get height(): number;
38
+ set height(value: number);
39
+ /** Set destination size. Fails atomically — prior state is preserved on invalid input. */
40
+ setSize(width: number, height: number): this;
41
+ /** Update the SOURCE-space slice insets. Fails atomically. No-ops on equivalent values. */
42
+ setSlices(slices: number | Partial<NineSliceInsets>): this;
43
+ /** Update the DESTINATION border sizes. Fails atomically. No-ops on equivalent values. */
44
+ setBorder(border: number | Partial<NineSliceInsets>): this;
45
+ /** Update the edge/center fill modes. Input is copied, validated, and frozen. No-ops on equivalent values. */
46
+ setModes(modes: NineSliceModes): this;
47
+ getLocalBounds(): Rectangle;
48
+ /**
49
+ * Lazily-built geometry quads. Each quad describes one rendered sub-region
50
+ * in local space with its corresponding UV bounds.
51
+ * @internal
52
+ */
53
+ get quads(): readonly NineSliceQuad[];
54
+ /**
55
+ * Render-time quads for the active pass. In `'geometry'` pixel-snap mode (and
56
+ * only when the combined node+view transform is axis-aligned) the shared
57
+ * boundary plan is snapped to the render target's device-pixel grid via the
58
+ * common {@link snapQuadsInto} helper, so every corner/edge/center quad reuses
59
+ * the exact same snapped boundary value and no seams can open. The content
60
+ * quad cache ({@link quads}) is never rebuilt by snapping — camera movement
61
+ * reuses it — and snapped quads are written into a reused buffer. Returns the
62
+ * unsnapped content quads for `'none'`/`'position'` or under a rotation/skew
63
+ * downgrade.
64
+ * @internal
65
+ */
66
+ getRenderQuads(view: View, targetPxWidth: number, targetPxHeight: number): readonly NineSliceQuad[];
67
+ private _rebuildGeometry;
68
+ }
69
+ //# sourceMappingURL=NineSliceSprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NineSliceSprite.d.ts","sourceRoot":"","sources":["../../../../src/rendering/sprite/NineSliceSprite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyBpG;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA2B;IAEzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAE9B,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,OAAO,EAAE,gBAAgB;IAyC9E,sDAAsD;IACtD,IAAW,MAAM,IAAI,aAAa,CAEjC;IAED,+DAA+D;IAC/D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,oDAAoD;IACpD,IAAW,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE7C;IAED,0DAA0D;IAC1D,IAAW,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE7C;IAED,uDAAuD;IACvD,IAAW,KAAK,IAAI,QAAQ,CAAC,cAAc,CAAC,CAE3C;IAMD,wCAAwC;IACxC,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED,yCAAyC;IACzC,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAE9B;IAMD,0FAA0F;IACnF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAanD,2FAA2F;IACpF,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAejE,0FAA0F;IACnF,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAcjE,8GAA8G;IACvG,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAiB5B,cAAc,IAAI,SAAS;IAU3C;;;;OAIG;IACH,IAAW,KAAK,IAAI,SAAS,aAAa,EAAE,CAM3C;IAED;;;;;;;;;;;OAWG;IACI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE;IAsB1G,OAAO,CAAC,gBAAgB;CAWzB"}