@forgeax/engine-render 0.1.28 → 0.1.30

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 (768) hide show
  1. package/README.md +856 -126
  2. package/dist/assembly/atmosphere-shader-prewarm.d.ts +6 -0
  3. package/dist/assembly/atmosphere-shader-prewarm.d.ts.map +1 -0
  4. package/dist/assembly/device-feature-admission.d.ts +4 -3
  5. package/dist/assembly/device-feature-admission.d.ts.map +1 -1
  6. package/dist/assembly/dynamic-geometry-host.d.ts +27 -0
  7. package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
  8. package/dist/assembly/dynamic-geometry-runtime.d.ts +20 -0
  9. package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -0
  10. package/dist/assembly/factory.d.ts +3 -1
  11. package/dist/assembly/factory.d.ts.map +1 -1
  12. package/dist/assembly/gpu-driven-owner.d.ts +10 -0
  13. package/dist/assembly/gpu-driven-owner.d.ts.map +1 -0
  14. package/dist/assembly/host-contract.d.ts +14 -0
  15. package/dist/assembly/host-contract.d.ts.map +1 -1
  16. package/dist/assembly/material/assembly.d.ts +31 -1
  17. package/dist/assembly/material/assembly.d.ts.map +1 -1
  18. package/dist/assembly/material/pipeline-helpers.d.ts +24 -0
  19. package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -0
  20. package/dist/assembly/material-shader-policy.d.ts +3 -1
  21. package/dist/assembly/material-shader-policy.d.ts.map +1 -1
  22. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
  23. package/dist/assembly/recovery/failure-location.d.ts +12 -0
  24. package/dist/assembly/recovery/failure-location.d.ts.map +1 -0
  25. package/dist/assembly/recovery/recovery-attempt.d.ts +1 -6
  26. package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -1
  27. package/dist/assembly/recovery/renderer-recover.d.ts +7 -4
  28. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
  29. package/dist/assembly/renderer-facade.d.ts.map +1 -1
  30. package/dist/assembly/renderer-feature-inspection.d.ts +5 -0
  31. package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -0
  32. package/dist/assembly/renderer-frame-transaction.d.ts +19 -0
  33. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  34. package/dist/assembly/renderer-helpers.d.ts +3 -0
  35. package/dist/assembly/renderer-helpers.d.ts.map +1 -1
  36. package/dist/assembly/renderer-inspection.d.ts +4 -0
  37. package/dist/assembly/renderer-inspection.d.ts.map +1 -1
  38. package/dist/assembly/shader-prewarm-policy.d.ts +7 -1
  39. package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -1
  40. package/dist/assembly/skin-palette-owner.d.ts +8 -0
  41. package/dist/assembly/skin-palette-owner.d.ts.map +1 -0
  42. package/dist/assembly/ssr-shader-prewarm.d.ts +6 -0
  43. package/dist/assembly/ssr-shader-prewarm.d.ts.map +1 -0
  44. package/dist/assembly/webgpu-device-loss.d.ts +15 -0
  45. package/dist/assembly/webgpu-device-loss.d.ts.map +1 -0
  46. package/dist/assembly/webgpu-pbr-ready.d.ts +38 -0
  47. package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -0
  48. package/dist/assembly/webgpu-ready-mipmap.d.ts +11 -0
  49. package/dist/assembly/webgpu-ready-mipmap.d.ts.map +1 -0
  50. package/dist/assembly/webgpu-ready.d.ts +7 -3
  51. package/dist/assembly/webgpu-ready.d.ts.map +1 -1
  52. package/dist/assembly/webgpu-renderer-bootstrap.d.ts +10 -0
  53. package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -0
  54. package/dist/assembly/webgpu-renderer-contract.d.ts +62 -0
  55. package/dist/assembly/webgpu-renderer-contract.d.ts.map +1 -0
  56. package/dist/assembly/webgpu-renderer-guards.d.ts +9 -0
  57. package/dist/assembly/webgpu-renderer-guards.d.ts.map +1 -0
  58. package/dist/assembly/webgpu-renderer-observation.d.ts +6 -0
  59. package/dist/assembly/webgpu-renderer-observation.d.ts.map +1 -0
  60. package/dist/assembly/webgpu-renderer-recovery-failure.d.ts +12 -0
  61. package/dist/assembly/webgpu-renderer-recovery-failure.d.ts.map +1 -0
  62. package/dist/assembly/webgpu-renderer.d.ts +7 -141
  63. package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
  64. package/dist/assembly/webgpu-vertex-layouts.d.ts +28 -84
  65. package/dist/assembly/webgpu-vertex-layouts.d.ts.map +1 -1
  66. package/dist/authoring.mjs +2 -2
  67. package/dist/capture/scene-projection.d.ts +41 -0
  68. package/dist/capture/scene-projection.d.ts.map +1 -0
  69. package/dist/{chunk-J52NMQKR.mjs → chunk-7MQ3XBSP.mjs} +1098 -844
  70. package/dist/chunk-7MQ3XBSP.mjs.map +1 -0
  71. package/dist/{chunk-GF523LHF.mjs → chunk-BLXGONR2.mjs} +30 -12
  72. package/dist/chunk-BLXGONR2.mjs.map +1 -0
  73. package/dist/{chunk-VSL23LZE.mjs → chunk-C3DDSXYK.mjs} +1188 -463
  74. package/dist/chunk-C3DDSXYK.mjs.map +1 -0
  75. package/dist/{chunk-IQMKJLNU.mjs → chunk-FUUO4UND.mjs} +443 -30
  76. package/dist/chunk-FUUO4UND.mjs.map +1 -0
  77. package/dist/{chunk-J6KACNOH.mjs → chunk-JRBDO2KB.mjs} +617 -7
  78. package/dist/chunk-JRBDO2KB.mjs.map +1 -0
  79. package/dist/{chunk-GE3SDD72.mjs → chunk-MDQJPY3T.mjs} +20 -40
  80. package/dist/chunk-MDQJPY3T.mjs.map +1 -0
  81. package/dist/{chunk-MYJ5RPJO.mjs → chunk-NO4WZCAH.mjs} +3 -3
  82. package/dist/chunk-NO4WZCAH.mjs.map +1 -0
  83. package/dist/{chunk-RBDBZ5R7.mjs → chunk-PA5DRJNI.mjs} +2 -2
  84. package/dist/chunk-PA5DRJNI.mjs.map +1 -0
  85. package/dist/{chunk-MBU4ZVE7.mjs → chunk-PSEQ6QPH.mjs} +4655 -892
  86. package/dist/chunk-PSEQ6QPH.mjs.map +1 -0
  87. package/dist/{chunk-JAASCMXA.mjs → chunk-S5UE2T5P.mjs} +289 -41
  88. package/dist/chunk-S5UE2T5P.mjs.map +1 -0
  89. package/dist/components/camera.d.ts +62 -2
  90. package/dist/components/camera.d.ts.map +1 -1
  91. package/dist/components/directional-light.d.ts +2 -2
  92. package/dist/components/dynamic-resolution.d.ts +15 -0
  93. package/dist/components/dynamic-resolution.d.ts.map +1 -0
  94. package/dist/components/index.d.ts +2 -0
  95. package/dist/components/index.d.ts.map +1 -1
  96. package/dist/components/instances.d.ts +6 -20
  97. package/dist/components/instances.d.ts.map +1 -1
  98. package/dist/components/light-helpers.d.ts.map +1 -1
  99. package/dist/components/reflection-probe.d.ts +1 -0
  100. package/dist/components/reflection-probe.d.ts.map +1 -1
  101. package/dist/components/scene-instance.d.ts +2 -1
  102. package/dist/components/scene-instance.d.ts.map +1 -1
  103. package/dist/components/screen-space-reflection.d.ts +14 -0
  104. package/dist/components/screen-space-reflection.d.ts.map +1 -0
  105. package/dist/components/skylight.d.ts +4 -1
  106. package/dist/components/skylight.d.ts.map +1 -1
  107. package/dist/construct-renderer.mjs +14809 -7570
  108. package/dist/construct-renderer.mjs.map +1 -1
  109. package/dist/device/device-scope.d.ts +2 -0
  110. package/dist/device/device-scope.d.ts.map +1 -1
  111. package/dist/device/gpu-residency.d.ts +3 -14
  112. package/dist/device/gpu-residency.d.ts.map +1 -1
  113. package/dist/dynamic-geometry.d.ts.map +1 -1
  114. package/dist/environment/background.d.ts +7 -0
  115. package/dist/environment/background.d.ts.map +1 -0
  116. package/dist/environment/ibl.d.ts +11 -0
  117. package/dist/environment/ibl.d.ts.map +1 -0
  118. package/dist/environment/storage.d.ts +14 -0
  119. package/dist/environment/storage.d.ts.map +1 -0
  120. package/dist/errors/gpu-driven.d.ts +6 -3
  121. package/dist/errors/gpu-driven.d.ts.map +1 -1
  122. package/dist/errors/render.d.ts +41 -4
  123. package/dist/errors/render.d.ts.map +1 -1
  124. package/dist/extract/camera.d.ts.map +1 -1
  125. package/dist/extract/contracts.d.ts +7 -0
  126. package/dist/extract/contracts.d.ts.map +1 -1
  127. package/dist/extract/gpu-driven.d.ts +50 -3
  128. package/dist/extract/gpu-driven.d.ts.map +1 -1
  129. package/dist/features/host.d.ts +23 -1
  130. package/dist/features/host.d.ts.map +1 -1
  131. package/dist/features/noise-texture.d.ts +17 -0
  132. package/dist/features/noise-texture.d.ts.map +1 -0
  133. package/dist/features/plan.d.ts +83 -2
  134. package/dist/features/plan.d.ts.map +1 -1
  135. package/dist/features/prepared-gpu-work.d.ts +37 -4
  136. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  137. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  138. package/dist/features/prepared-graphics.d.ts +5 -0
  139. package/dist/features/prepared-graphics.d.ts.map +1 -1
  140. package/dist/features/render-graph-compute.d.ts +5 -3
  141. package/dist/features/render-graph-compute.d.ts.map +1 -1
  142. package/dist/features/render-graph-contribution.d.ts +11 -3
  143. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  144. package/dist/features/render-graph-raster.d.ts +19 -3
  145. package/dist/features/render-graph-raster.d.ts.map +1 -1
  146. package/dist/features/types.d.ts +11 -0
  147. package/dist/features/types.d.ts.map +1 -1
  148. package/dist/fullscreen-post-process-pass.d.ts +2 -0
  149. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  150. package/dist/gpu-driven/batch-topology.d.ts +34 -1
  151. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  152. package/dist/gpu-driven/material-artifacts.d.ts +24 -0
  153. package/dist/gpu-driven/material-artifacts.d.ts.map +1 -0
  154. package/dist/gpu-driven/material-bindings.d.ts +7 -0
  155. package/dist/gpu-driven/material-bindings.d.ts.map +1 -0
  156. package/dist/gpu-driven/pbr-program.d.ts +10 -0
  157. package/dist/gpu-driven/pbr-program.d.ts.map +1 -0
  158. package/dist/gpu-driven/prepared-draw.d.ts +2 -0
  159. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
  160. package/dist/gpu-driven/production-raster.d.ts +169 -27
  161. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  162. package/dist/gpu-driven/shadow-views.d.ts +126 -0
  163. package/dist/gpu-driven/shadow-views.d.ts.map +1 -0
  164. package/dist/gpu-driven/view-gpu.d.ts +18 -2
  165. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  166. package/dist/gpu-resource.d.ts +5 -2
  167. package/dist/gpu-resource.d.ts.map +1 -1
  168. package/dist/gpu-scene-schema.d.ts +2 -8
  169. package/dist/gpu-scene-schema.d.ts.map +1 -1
  170. package/dist/gpu-scene.d.ts +14 -0
  171. package/dist/gpu-scene.d.ts.map +1 -1
  172. package/dist/gpu-texture-usage.d.ts +1 -0
  173. package/dist/gpu-texture-usage.d.ts.map +1 -1
  174. package/dist/hdrp-buffers.d.ts +9 -0
  175. package/dist/hdrp-buffers.d.ts.map +1 -1
  176. package/dist/ibl/IblPipelineCache.d.ts +2 -0
  177. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  178. package/dist/ibl/frame-resources.d.ts +8 -0
  179. package/dist/ibl/frame-resources.d.ts.map +1 -0
  180. package/dist/ibl/skylight-bind-group.d.ts +3 -1
  181. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  182. package/dist/index.d.ts +87 -75
  183. package/dist/index.d.ts.map +1 -1
  184. package/dist/index.mjs +10 -8
  185. package/dist/index.mjs.map +1 -1
  186. package/dist/inspection-types.d.ts +180 -1
  187. package/dist/inspection-types.d.ts.map +1 -1
  188. package/dist/instances-derived-bounds.d.ts +11 -0
  189. package/dist/instances-derived-bounds.d.ts.map +1 -1
  190. package/dist/instances.d.ts +89 -44
  191. package/dist/instances.d.ts.map +1 -1
  192. package/dist/internal.d.ts +3 -0
  193. package/dist/internal.d.ts.map +1 -1
  194. package/dist/internal.mjs +117 -9
  195. package/dist/internal.mjs.map +1 -1
  196. package/dist/lifecycle.d.ts +2 -1
  197. package/dist/lifecycle.d.ts.map +1 -1
  198. package/dist/material-row.d.ts +15 -0
  199. package/dist/material-row.d.ts.map +1 -0
  200. package/dist/materials.d.ts +15 -0
  201. package/dist/materials.d.ts.map +1 -1
  202. package/dist/pbr-pipeline.d.ts +23 -5
  203. package/dist/pbr-pipeline.d.ts.map +1 -1
  204. package/dist/pipeline/render-extent.d.ts +51 -0
  205. package/dist/pipeline/render-extent.d.ts.map +1 -0
  206. package/dist/pipeline/standard-build-context.d.ts +7 -0
  207. package/dist/pipeline/standard-build-context.d.ts.map +1 -0
  208. package/dist/pipeline/standard-forward-lane.d.ts +3 -2
  209. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  210. package/dist/pipeline/standard-output/auto-exposure/capability.d.ts +12 -0
  211. package/dist/pipeline/standard-output/auto-exposure/capability.d.ts.map +1 -0
  212. package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts +70 -0
  213. package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts.map +1 -0
  214. package/dist/pipeline/standard-output/auto-exposure/graph.d.ts +75 -0
  215. package/dist/pipeline/standard-output/auto-exposure/graph.d.ts.map +1 -0
  216. package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts +111 -0
  217. package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts.map +1 -0
  218. package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts +16 -0
  219. package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts.map +1 -0
  220. package/dist/pipeline/standard-output/auto-exposure/preset.d.ts +14 -0
  221. package/dist/pipeline/standard-output/auto-exposure/preset.d.ts.map +1 -0
  222. package/dist/pipeline/standard-output/auto-exposure/state.d.ts +46 -0
  223. package/dist/pipeline/standard-output/auto-exposure/state.d.ts.map +1 -0
  224. package/dist/pipeline/standard-output/color-transform.d.ts +27 -0
  225. package/dist/pipeline/standard-output/color-transform.d.ts.map +1 -0
  226. package/dist/pipeline/standard-output/graph.d.ts +15 -0
  227. package/dist/pipeline/standard-output/graph.d.ts.map +1 -0
  228. package/dist/pipeline/standard-output/lut-admission.d.ts +29 -0
  229. package/dist/pipeline/standard-output/lut-admission.d.ts.map +1 -0
  230. package/dist/pipeline/standard-output/lut-gpu.d.ts +48 -0
  231. package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -0
  232. package/dist/pipeline/standard-output/lut-state.d.ts +68 -0
  233. package/dist/pipeline/standard-output/lut-state.d.ts.map +1 -0
  234. package/dist/pipeline/standard-output/resources.d.ts +10 -0
  235. package/dist/pipeline/standard-output/resources.d.ts.map +1 -0
  236. package/dist/pipeline/standard-output/types.d.ts +39 -0
  237. package/dist/pipeline/standard-output/types.d.ts.map +1 -0
  238. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  239. package/dist/pipeline/standard-post.d.ts +2 -2
  240. package/dist/pipeline/standard-post.d.ts.map +1 -1
  241. package/dist/pipeline/standard-profile.d.ts +2 -1
  242. package/dist/pipeline/standard-profile.d.ts.map +1 -1
  243. package/dist/pipeline-builder.d.ts +5 -2
  244. package/dist/pipeline-builder.d.ts.map +1 -1
  245. package/dist/pipeline-spec-types.d.ts +4 -0
  246. package/dist/pipeline-spec-types.d.ts.map +1 -1
  247. package/dist/pipeline-spec.d.ts +1 -9
  248. package/dist/pipeline-spec.d.ts.map +1 -1
  249. package/dist/plugin.d.ts.map +1 -1
  250. package/dist/points-lines/standard-owner.d.ts +1 -1
  251. package/dist/points-lines/standard-owner.d.ts.map +1 -1
  252. package/dist/post-process-errors.d.ts +9 -2
  253. package/dist/post-process-errors.d.ts.map +1 -1
  254. package/dist/prepare/extended-lighting/resources.d.ts +3 -3
  255. package/dist/prepare/prepared-graphics-resolver.d.ts +6 -1
  256. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  257. package/dist/record/dynamic-geometry-consumption.d.ts +15 -0
  258. package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -0
  259. package/dist/record/frame-lighting.d.ts +3 -3
  260. package/dist/record/frame-lighting.d.ts.map +1 -1
  261. package/dist/record/frame-snapshot.d.ts +109 -13
  262. package/dist/record/frame-snapshot.d.ts.map +1 -1
  263. package/dist/record/frame-targets.d.ts.map +1 -1
  264. package/dist/record/frame.d.ts +41 -5
  265. package/dist/record/frame.d.ts.map +1 -1
  266. package/dist/record/main-pass-geometry.d.ts +13 -9
  267. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  268. package/dist/record/main-pass-material.d.ts +43 -3
  269. package/dist/record/main-pass-material.d.ts.map +1 -1
  270. package/dist/record/main-pass-sprite-draws.d.ts +2 -10
  271. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  272. package/dist/record/main-pass.d.ts +14 -2
  273. package/dist/record/main-pass.d.ts.map +1 -1
  274. package/dist/record/mesh-ssbo.d.ts +15 -6
  275. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  276. package/dist/record/prepared-material-bindings.d.ts +19 -0
  277. package/dist/record/prepared-material-bindings.d.ts.map +1 -0
  278. package/dist/record/recovery-pipeline.d.ts +1 -0
  279. package/dist/record/recovery-pipeline.d.ts.map +1 -1
  280. package/dist/record/render-context.d.ts +101 -22
  281. package/dist/record/render-context.d.ts.map +1 -1
  282. package/dist/record/shadow-pass.d.ts +62 -7
  283. package/dist/record/shadow-pass.d.ts.map +1 -1
  284. package/dist/record/skybox-post-pass.d.ts +1 -1
  285. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  286. package/dist/record/typed-frame-graph.d.ts +39 -8
  287. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  288. package/dist/record/view-ubo.d.ts +1 -0
  289. package/dist/record/view-ubo.d.ts.map +1 -1
  290. package/dist/recovery/render-system-candidate.d.ts +10 -2
  291. package/dist/recovery/render-system-candidate.d.ts.map +1 -1
  292. package/dist/recovery/render-system-roots.d.ts +11 -0
  293. package/dist/recovery/render-system-roots.d.ts.map +1 -0
  294. package/dist/recovery/types.d.ts +76 -0
  295. package/dist/recovery/types.d.ts.map +1 -0
  296. package/dist/reflection/background.d.ts +14 -0
  297. package/dist/reflection/background.d.ts.map +1 -0
  298. package/dist/reflection/filter.d.ts.map +1 -1
  299. package/dist/reflection/projection.d.ts +1 -0
  300. package/dist/reflection/projection.d.ts.map +1 -1
  301. package/dist/reflection/record-owner.d.ts +4 -4
  302. package/dist/reflection/record-owner.d.ts.map +1 -1
  303. package/dist/render-contract.d.ts +211 -53
  304. package/dist/render-contract.d.ts.map +1 -1
  305. package/dist/render-graph-primitives.d.ts +1 -0
  306. package/dist/render-graph-primitives.d.ts.map +1 -1
  307. package/dist/render-pipeline.d.ts +81 -6
  308. package/dist/render-pipeline.d.ts.map +1 -1
  309. package/dist/render-system-extract-tail.d.ts +15 -6
  310. package/dist/render-system-extract-tail.d.ts.map +1 -1
  311. package/dist/render-system-extract.d.ts +128 -41
  312. package/dist/render-system-extract.d.ts.map +1 -1
  313. package/dist/render-system-projections.d.ts +22 -0
  314. package/dist/render-system-projections.d.ts.map +1 -0
  315. package/dist/render-system.d.ts +27 -77
  316. package/dist/render-system.d.ts.map +1 -1
  317. package/dist/scene/render-scene-types.d.ts +14 -7
  318. package/dist/scene/render-scene-types.d.ts.map +1 -1
  319. package/dist/scene/render-scene.d.ts +31 -11
  320. package/dist/scene/render-scene.d.ts.map +1 -1
  321. package/dist/scene/shadow-visibility.d.ts +5 -0
  322. package/dist/scene/shadow-visibility.d.ts.map +1 -0
  323. package/dist/ssao-config.d.ts +8 -6
  324. package/dist/ssao-config.d.ts.map +1 -1
  325. package/dist/ssr/admission.d.ts +70 -1
  326. package/dist/ssr/admission.d.ts.map +1 -1
  327. package/dist/ssr/compose.d.ts +13 -0
  328. package/dist/ssr/compose.d.ts.map +1 -0
  329. package/dist/ssr/errors.d.ts +35 -0
  330. package/dist/ssr/errors.d.ts.map +1 -1
  331. package/dist/ssr/graph.d.ts +60 -0
  332. package/dist/ssr/graph.d.ts.map +1 -0
  333. package/dist/ssr/history.d.ts +97 -0
  334. package/dist/ssr/history.d.ts.map +1 -0
  335. package/dist/ssr/hiz.d.ts +37 -0
  336. package/dist/ssr/hiz.d.ts.map +1 -0
  337. package/dist/ssr/inspection.d.ts +42 -0
  338. package/dist/ssr/inspection.d.ts.map +1 -0
  339. package/dist/ssr/resources.d.ts +58 -0
  340. package/dist/ssr/resources.d.ts.map +1 -0
  341. package/dist/ssr/temporal.d.ts +38 -0
  342. package/dist/ssr/temporal.d.ts.map +1 -0
  343. package/dist/systems/skin-palette-allocator.d.ts +32 -10
  344. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  345. package/dist/systems/skin-palette-types.d.ts +15 -0
  346. package/dist/systems/skin-palette-types.d.ts.map +1 -1
  347. package/dist/systems/transparent-dispatch.d.ts +9 -0
  348. package/dist/systems/transparent-dispatch.d.ts.map +1 -0
  349. package/dist/targets/material-source.d.ts +7 -0
  350. package/dist/targets/material-source.d.ts.map +1 -1
  351. package/dist/temporal/frame-coordinator.d.ts +7 -0
  352. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  353. package/dist/temporal/gpu.d.ts +8 -0
  354. package/dist/temporal/gpu.d.ts.map +1 -1
  355. package/dist/temporal/history.d.ts.map +1 -1
  356. package/dist/temporal/index.mjs +6 -6
  357. package/dist/temporal/inspection.d.ts.map +1 -1
  358. package/dist/temporal/standard-scene-data.d.ts +4 -2
  359. package/dist/temporal/standard-scene-data.d.ts.map +1 -1
  360. package/dist/temporal/target-coverage-attachment.d.ts +15 -0
  361. package/dist/temporal/target-coverage-attachment.d.ts.map +1 -0
  362. package/dist/temporal/temporal-view.d.ts +6 -0
  363. package/dist/temporal/temporal-view.d.ts.map +1 -1
  364. package/dist/temporal/view.d.ts +6 -0
  365. package/dist/temporal/view.d.ts.map +1 -1
  366. package/dist/typed-render-graph-primitives.d.ts +41 -1
  367. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  368. package/dist/typed-shadow-passes.d.ts +3 -1
  369. package/dist/typed-shadow-passes.d.ts.map +1 -1
  370. package/dist/volume/component.d.ts +1 -0
  371. package/dist/volume/component.d.ts.map +1 -1
  372. package/dist/volume/temporal.d.ts +6 -0
  373. package/dist/volume/temporal.d.ts.map +1 -1
  374. package/package.json +21 -20
  375. package/src/__tests__/auto-exposure-gpu-evidence.ts +291 -0
  376. package/src/__tests__/auto-exposure-inspection.unit.test.ts +80 -0
  377. package/src/__tests__/auto-exposure-transaction.integration.test.ts +99 -0
  378. package/src/__tests__/auto-exposure.browser.test.ts +33 -0
  379. package/src/__tests__/auto-exposure.dawn.test.ts +33 -0
  380. package/src/__tests__/capture-scene-projection.unit.test.ts +24 -0
  381. package/src/__tests__/detached-inspection.integration.test.ts +5 -0
  382. package/src/__tests__/device-feature-admission.unit.test.ts +15 -24
  383. package/src/__tests__/device-loss-fanout.unit.test.ts +43 -0
  384. package/src/__tests__/device-scope-lifecycle.unit.test.ts +18 -0
  385. package/src/__tests__/device-scope-stale-matrix.unit.test.ts +18 -0
  386. package/src/__tests__/docs-gate-green.unit.test.ts +3 -3
  387. package/src/__tests__/dynamic-geometry-batch.unit.test.ts +157 -0
  388. package/src/__tests__/dynamic-geometry.unit.test.ts +36 -0
  389. package/src/__tests__/dynamic-resolution-plugin.integration.test.ts +81 -0
  390. package/src/__tests__/factory-contract.integration.test.ts +231 -9
  391. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +19 -0
  392. package/src/__tests__/feature-depth-input.dawn.test.ts +121 -0
  393. package/src/__tests__/feature-noise.unit.test.ts +38 -0
  394. package/src/__tests__/fixtures/taa-resolve-pinned-baseline.wgsl +301 -0
  395. package/src/__tests__/frame-camera-selection.unit.test.ts +131 -0
  396. package/src/__tests__/frame-observation.contract.test.ts +21 -0
  397. package/src/__tests__/frame-plan-contract.unit.test.ts +24 -0
  398. package/src/__tests__/frame-targets.unit.test.ts +24 -0
  399. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +3 -0
  400. package/src/__tests__/gpu-driven-baseline.characterization.test.ts +79 -0
  401. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +307 -7
  402. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +122 -142
  403. package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +10 -1
  404. package/src/__tests__/gpu-driven-lod-cache.unit.test.ts +261 -0
  405. package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +346 -0
  406. package/src/__tests__/gpu-driven-pbr.dawn.test.ts +1422 -0
  407. package/src/__tests__/gpu-driven-pbr.integration.test.ts +21 -0
  408. package/src/__tests__/gpu-driven-production-fixture.ts +96 -0
  409. package/src/__tests__/gpu-driven-production.integration.test.ts +1076 -106
  410. package/src/__tests__/gpu-driven-scaling.unit.test.ts +1 -3
  411. package/src/__tests__/gpu-driven-shadow-views.browser.test.ts +63 -0
  412. package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +294 -0
  413. package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +97 -0
  414. package/src/__tests__/gpu-driven-shadow-views.unit.test.ts +168 -0
  415. package/src/__tests__/gpu-driven-skin-contract.test-d.ts +11 -0
  416. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +72 -20
  417. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +30 -9
  418. package/src/__tests__/gpu-driven-view.unit.test.ts +160 -52
  419. package/src/__tests__/gpu-pass-timing-browser-runner.ts +15 -0
  420. package/src/__tests__/gpu-pass-timing.browser.test.ts +20 -2
  421. package/src/__tests__/gpu-resource-scope.unit.test.ts +71 -0
  422. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +42 -0
  423. package/src/__tests__/gpu-scene-render-graph-gpu.ts +19 -5
  424. package/src/__tests__/gpu-scene.dawn.test.ts +40 -13
  425. package/src/__tests__/gpu-scene.unit.test.ts +613 -33
  426. package/src/__tests__/instances-culling.integration.test.ts +36 -10
  427. package/src/__tests__/instances-derived-bounds.unit.test.ts +54 -0
  428. package/src/__tests__/instances-store.unit.test.ts +242 -39
  429. package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +6 -0
  430. package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +13 -16
  431. package/src/__tests__/lut-lkg-transaction.integration.test.ts +122 -0
  432. package/src/__tests__/material-contract-inventory.unit.test.ts +5 -6
  433. package/src/__tests__/material-dispatch-shader-id.unit.test.ts +51 -0
  434. package/src/__tests__/material-lane-selection.unit.test.ts +60 -0
  435. package/src/__tests__/material-numeric-upload.unit.test.ts +53 -0
  436. package/src/__tests__/material-texture-handles.unit.test.ts +18 -0
  437. package/src/__tests__/material-texture-source.unit.test.ts +87 -0
  438. package/src/__tests__/materials-authoring-validation.unit.test.ts +41 -0
  439. package/src/__tests__/materials-standard-contract.unit.test.ts +57 -3
  440. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +4 -0
  441. package/src/__tests__/mesh-submission-lifetime.unit.test.ts +8 -0
  442. package/src/__tests__/morph-neutral-admission.unit.test.ts +19 -0
  443. package/src/__tests__/normal-fallback.dawn.test.ts +122 -0
  444. package/src/__tests__/particle-material-input-layout.unit.test.ts +104 -0
  445. package/src/__tests__/physical-clearcoat.integration.test.ts +42 -3
  446. package/src/__tests__/pipeline-texture-specialization.unit.test.ts +138 -0
  447. package/src/__tests__/point-shadow-inspection.unit.test.ts +2 -0
  448. package/src/__tests__/post-process-error-policy-owner.unit.test.ts +6 -5
  449. package/src/__tests__/prepared-gpu-driven-pbr-contract.test-d.ts +31 -0
  450. package/src/__tests__/prepared-gpu-driven-pbr-contract.unit.test.ts +39 -0
  451. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +251 -9
  452. package/src/__tests__/prepared-graphics-capability.unit.test.ts +21 -0
  453. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +6 -2
  454. package/src/__tests__/profiler-phase-catalog.test.ts +5 -0
  455. package/src/__tests__/public-surface.test-d.ts +3 -0
  456. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +30 -12
  457. package/src/__tests__/reflection-fallback-async-publication.unit.test.ts +171 -0
  458. package/src/__tests__/reflection-probe-authoring.unit.test.ts +12 -10
  459. package/src/__tests__/reflection-probe-box.dawn.test.ts +71 -0
  460. package/src/__tests__/reflection-probe-filter.unit.test.ts +9 -0
  461. package/src/__tests__/reflection-probe-orientation.dawn.test.ts +294 -0
  462. package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +5 -14
  463. package/src/__tests__/reflection-probe-updates.unit.test.ts +129 -0
  464. package/src/__tests__/render-error-code-owner.test-d.ts +7 -0
  465. package/src/__tests__/render-error-detail-ssot.test-d.ts +27 -1
  466. package/src/__tests__/render-error-exhaustive.test-d.ts +15 -0
  467. package/src/__tests__/render-extent.unit.test.ts +63 -0
  468. package/src/__tests__/render-feature-gpu-work.integration.test.ts +285 -2
  469. package/src/__tests__/render-feature-plan.unit.test.ts +245 -0
  470. package/src/__tests__/render-feature-shadow-order.unit.test.ts +228 -0
  471. package/src/__tests__/render-feature-zero-work.unit.test.ts +35 -1
  472. package/src/__tests__/render-graph-fallback.integration.test.ts +2 -2
  473. package/src/__tests__/render-owner-cohesion.unit.test.ts +55 -0
  474. package/src/__tests__/render-scene-mixed-updates.integration.test.ts +426 -0
  475. package/src/__tests__/render-scene-projection.unit.test.ts +915 -23
  476. package/src/__tests__/render-scene-resource-updates.integration.test.ts +214 -0
  477. package/src/__tests__/render-scene-skin-lifecycle.integration.test.ts +173 -0
  478. package/src/__tests__/render-scene-temporal-retry.unit.test.ts +133 -0
  479. package/src/__tests__/render-target-material-source.test-d.ts +27 -3
  480. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +233 -9
  481. package/src/__tests__/renderer-frame-transaction.integration.test.ts +923 -5
  482. package/src/__tests__/shader-manifest-fixture.ts +45 -0
  483. package/src/__tests__/skin-motion-regression.unit.test.ts +0 -33
  484. package/src/__tests__/skin-palette-persistent.integration.test.ts +28 -0
  485. package/src/__tests__/skin-palette-persistent.unit.test.ts +247 -0
  486. package/src/__tests__/skinned-shadow-caster.test.ts +125 -14
  487. package/src/__tests__/specular-environment-scale.dawn.test.ts +158 -0
  488. package/src/__tests__/ssao-config.unit.test.ts +7 -0
  489. package/src/__tests__/ssao-surface.dawn.test.ts +252 -0
  490. package/src/__tests__/ssr-admission-matrix.integration.test.ts +7 -1
  491. package/src/__tests__/ssr-confidence-compose.unit.test.ts +84 -0
  492. package/src/__tests__/ssr-coordinate-oracle.unit.test.ts +28 -0
  493. package/src/__tests__/ssr-cube-silhouette.dawn.test.ts +270 -0
  494. package/src/__tests__/ssr-format-probe-gating.integration.test.ts +82 -0
  495. package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +99 -0
  496. package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +116 -0
  497. package/src/__tests__/ssr-gpu-dispatch.ts +951 -0
  498. package/src/__tests__/ssr-graph-topology.unit.test.ts +104 -0
  499. package/src/__tests__/ssr-history-filter.dawn.test.ts +198 -0
  500. package/src/__tests__/ssr-hit-color.dawn.test.ts +273 -0
  501. package/src/__tests__/ssr-hiz-odd-reduction.dawn.test.ts +569 -0
  502. package/src/__tests__/ssr-hiz-rescue.dawn.test.ts +279 -0
  503. package/src/__tests__/ssr-hiz.browser.test.ts +150 -0
  504. package/src/__tests__/ssr-hiz.dawn.test.ts +150 -0
  505. package/src/__tests__/ssr-hiz.unit.test.ts +56 -0
  506. package/src/__tests__/ssr-inspection.unit.test.ts +105 -0
  507. package/src/__tests__/ssr-memory-budget.unit.test.ts +45 -0
  508. package/src/__tests__/ssr-performance-sequence-aggregation.unit.test.ts +15 -0
  509. package/src/__tests__/ssr-public-surface.test-d.ts +37 -0
  510. package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +387 -0
  511. package/src/__tests__/ssr-reflection-mip-reducer.dawn.test.ts +309 -0
  512. package/src/__tests__/ssr-reprojection-probe.ts +90 -0
  513. package/src/__tests__/ssr-roughness-mip.dawn.test.ts +163 -0
  514. package/src/__tests__/ssr-shader-prewarm.unit.test.ts +59 -0
  515. package/src/__tests__/ssr-spatial.integration.test.ts +141 -0
  516. package/src/__tests__/ssr-stable-lattice.dawn.test.ts +475 -0
  517. package/src/__tests__/ssr-temporal-history.unit.test.ts +202 -0
  518. package/src/__tests__/ssr-texel-crossing.dawn.test.ts +448 -0
  519. package/src/__tests__/ssr-zero-work.integration.test.ts +87 -0
  520. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +84 -12
  521. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +29 -0
  522. package/src/__tests__/standard-output-chain-contract.unit.test.ts +99 -0
  523. package/src/__tests__/standard-output-chain.integration.test.ts +73 -0
  524. package/src/__tests__/standard-output-gpu-evidence.ts +205 -0
  525. package/src/__tests__/standard-output.browser.test.ts +15 -0
  526. package/src/__tests__/standard-output.dawn.test.ts +15 -0
  527. package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +275 -0
  528. package/src/__tests__/standard-pipeline.integration.test.ts +320 -3
  529. package/src/__tests__/standard-profile-oracle.unit.test.ts +49 -0
  530. package/src/__tests__/standard-surface-lighting.unit.test.ts +41 -0
  531. package/src/__tests__/standard-texture-specialization.dawn.test.ts +141 -0
  532. package/src/__tests__/surface-adjacent-regressions.integration.test.ts +6 -3
  533. package/src/__tests__/taa-coverage-edge.dawn.test.ts +199 -0
  534. package/src/__tests__/taa-history-clipping.dawn.test.ts +328 -0
  535. package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +782 -0
  536. package/src/__tests__/taa-stability-feedback.browser.test.ts +23 -0
  537. package/src/__tests__/taa-stability-feedback.dawn.test.ts +68 -0
  538. package/src/__tests__/taa-stability-feedback.ts +342 -0
  539. package/src/__tests__/temporal-history-lifecycle.unit.test.ts +49 -7
  540. package/src/__tests__/temporal-reset-matrix.unit.test.ts +9 -0
  541. package/src/__tests__/temporal-transaction.integration.test.ts +28 -0
  542. package/src/__tests__/temporal-view.unit.test.ts +17 -0
  543. package/src/__tests__/texture-usage-surface.unit.test.ts +4 -2
  544. package/src/__tests__/transmission-prewarm.unit.test.ts +57 -0
  545. package/src/__tests__/typed-pipeline-topology.unit.test.ts +109 -4
  546. package/src/__tests__/typed-scene-pass-material-cache.integration.test.ts +126 -0
  547. package/src/__tests__/vertex-layouts-ssot.unit.test.ts +47 -0
  548. package/src/__tests__/visibility-extract.perf.test.ts +20 -8
  549. package/src/__tests__/visibility-instances.integration.test.ts +19 -7
  550. package/src/__tests__/visibility-producer-matrix.integration.test.ts +20 -9
  551. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +62 -13
  552. package/src/__tests__/volumetric-fog-topology.unit.test.ts +7 -7
  553. package/src/assembly/atmosphere-shader-prewarm.ts +39 -0
  554. package/src/assembly/device-feature-admission.ts +9 -4
  555. package/src/assembly/dynamic-geometry-host.ts +284 -163
  556. package/src/assembly/dynamic-geometry-runtime.ts +71 -0
  557. package/src/assembly/factory.ts +4 -0
  558. package/src/assembly/gpu-driven-owner.ts +29 -0
  559. package/src/assembly/host-contract.ts +19 -0
  560. package/src/assembly/material/assembly.ts +383 -1
  561. package/src/assembly/material/pipeline-helpers.ts +100 -0
  562. package/src/assembly/material-shader-policy.ts +110 -46
  563. package/src/assembly/recovery/device-loss-fanout.ts +5 -0
  564. package/src/assembly/recovery/failure-location.ts +62 -0
  565. package/src/assembly/recovery/recovery-attempt.ts +2 -29
  566. package/src/assembly/recovery/renderer-recover.ts +16 -17
  567. package/src/assembly/renderer-facade.ts +34 -1
  568. package/src/assembly/renderer-feature-inspection.ts +13 -0
  569. package/src/assembly/renderer-frame-transaction.ts +63 -0
  570. package/src/assembly/renderer-helpers.ts +26 -0
  571. package/src/assembly/renderer-inspection.ts +6 -0
  572. package/src/assembly/shader-prewarm-policy.ts +46 -1
  573. package/src/assembly/skin-palette-owner.ts +21 -0
  574. package/src/assembly/ssr-shader-prewarm.ts +41 -0
  575. package/src/assembly/webgpu-device-loss.ts +75 -0
  576. package/src/assembly/webgpu-pbr-ready.ts +232 -0
  577. package/src/assembly/webgpu-ready-mipmap.ts +26 -0
  578. package/src/assembly/webgpu-ready.ts +161 -131
  579. package/src/assembly/webgpu-renderer-bootstrap.ts +85 -0
  580. package/src/assembly/webgpu-renderer-contract.ts +69 -0
  581. package/src/assembly/webgpu-renderer-guards.ts +32 -0
  582. package/src/assembly/webgpu-renderer-observation.ts +43 -0
  583. package/src/assembly/webgpu-renderer-recovery-failure.ts +62 -0
  584. package/src/assembly/webgpu-renderer.ts +744 -730
  585. package/src/assembly/webgpu-vertex-layouts.ts +233 -87
  586. package/src/capture/scene-projection.ts +37 -0
  587. package/src/components/__tests__/camera-exposure.contract.unit.test.ts +153 -0
  588. package/src/components/__tests__/dynamic-resolution-schema.unit.test.ts +65 -0
  589. package/src/components/__tests__/light-radius.integration.test.ts +59 -0
  590. package/src/components/camera.ts +287 -7
  591. package/src/components/directional-light.ts +3 -3
  592. package/src/components/dynamic-resolution.ts +67 -0
  593. package/src/components/index.ts +2 -0
  594. package/src/components/instances.ts +45 -18
  595. package/src/components/light-helpers.ts +6 -1
  596. package/src/components/reflection-probe.ts +1 -0
  597. package/src/components/scene-instance.ts +2 -1
  598. package/src/components/screen-space-reflection.ts +21 -0
  599. package/src/components/skylight.ts +4 -1
  600. package/src/components/sprite-animation.ts +2 -2
  601. package/src/components/sprite-instances.ts +1 -1
  602. package/src/device/device-scope.ts +13 -7
  603. package/src/device/gpu-residency.ts +45 -42
  604. package/src/dynamic-geometry.ts +13 -8
  605. package/src/environment/background.ts +281 -0
  606. package/src/environment/ibl.ts +211 -0
  607. package/src/environment/storage.ts +63 -0
  608. package/src/errors/gpu-driven.ts +49 -8
  609. package/src/errors/render.ts +91 -3
  610. package/src/extract/camera.ts +37 -1
  611. package/src/extract/contracts.ts +10 -0
  612. package/src/extract/gpu-driven.ts +240 -10
  613. package/src/features/host.ts +237 -19
  614. package/src/features/noise-texture.ts +91 -0
  615. package/src/features/plan.ts +553 -24
  616. package/src/features/prepared-gpu-work.ts +631 -49
  617. package/src/features/prepared-graphics-store.ts +31 -0
  618. package/src/features/prepared-graphics.ts +5 -0
  619. package/src/features/render-graph-compute.ts +41 -8
  620. package/src/features/render-graph-contribution.ts +141 -3
  621. package/src/features/render-graph-raster.ts +143 -30
  622. package/src/features/types.ts +11 -0
  623. package/src/fullscreen-post-process-pass.ts +3 -0
  624. package/src/gpu-driven/batch-topology.ts +452 -108
  625. package/src/gpu-driven/material-artifacts.ts +179 -0
  626. package/src/gpu-driven/material-bindings.ts +41 -0
  627. package/src/gpu-driven/pbr-program.ts +31 -0
  628. package/src/gpu-driven/prepared-draw.ts +42 -6
  629. package/src/gpu-driven/production-raster.ts +2806 -716
  630. package/src/gpu-driven/shadow-views.ts +539 -0
  631. package/src/gpu-driven/view-gpu.ts +188 -41
  632. package/src/gpu-resource.ts +21 -2
  633. package/src/gpu-scene-schema.ts +61 -11
  634. package/src/gpu-scene.ts +197 -99
  635. package/src/gpu-texture-usage.ts +1 -0
  636. package/src/hdrp-buffers.ts +141 -36
  637. package/src/ibl/IblPipelineCache.ts +5 -0
  638. package/src/ibl/frame-resources.ts +38 -0
  639. package/src/ibl/skylight-bind-group.ts +32 -21
  640. package/src/index.ts +194 -75
  641. package/src/inspection-types.ts +207 -1
  642. package/src/instances-derived-bounds.ts +258 -34
  643. package/src/instances.ts +459 -150
  644. package/src/internal.ts +22 -0
  645. package/src/lifecycle.ts +2 -0
  646. package/src/material-row.ts +194 -0
  647. package/src/materials.ts +44 -8
  648. package/src/pbr-pipeline.ts +172 -19
  649. package/src/pipeline/render-extent.ts +111 -0
  650. package/src/pipeline/standard-build-context.ts +7 -0
  651. package/src/pipeline/standard-forward-lane.ts +74 -29
  652. package/src/pipeline/standard-output/__tests__/lut-admission.unit.test.ts +103 -0
  653. package/src/pipeline/standard-output/auto-exposure/__tests__/capability.unit.test.ts +40 -0
  654. package/src/pipeline/standard-output/auto-exposure/__tests__/gpu.contract.unit.test.ts +125 -0
  655. package/src/pipeline/standard-output/auto-exposure/__tests__/graph.contract.unit.test.ts +94 -0
  656. package/src/pipeline/standard-output/auto-exposure/__tests__/oracle.test.ts +108 -0
  657. package/src/pipeline/standard-output/auto-exposure/__tests__/preset.test.ts +26 -0
  658. package/src/pipeline/standard-output/auto-exposure/capability.ts +38 -0
  659. package/src/pipeline/standard-output/auto-exposure/gpu.ts +567 -0
  660. package/src/pipeline/standard-output/auto-exposure/graph.ts +221 -0
  661. package/src/pipeline/standard-output/auto-exposure/inspection.ts +231 -0
  662. package/src/pipeline/standard-output/auto-exposure/oracle.ts +291 -0
  663. package/src/pipeline/standard-output/auto-exposure/preset.ts +28 -0
  664. package/src/pipeline/standard-output/auto-exposure/state.ts +156 -0
  665. package/src/pipeline/standard-output/color-transform.ts +124 -0
  666. package/src/pipeline/standard-output/graph.ts +139 -0
  667. package/src/pipeline/standard-output/lut-admission.ts +121 -0
  668. package/src/pipeline/standard-output/lut-gpu.ts +399 -0
  669. package/src/pipeline/standard-output/lut-state.ts +176 -0
  670. package/src/pipeline/standard-output/resources.ts +121 -0
  671. package/src/pipeline/standard-output/types.ts +58 -0
  672. package/src/pipeline/standard-pipeline.ts +232 -70
  673. package/src/pipeline/standard-post.ts +190 -27
  674. package/src/pipeline/standard-profile.ts +2 -1
  675. package/src/pipeline-builder.ts +28 -9
  676. package/src/pipeline-spec-types.ts +4 -0
  677. package/src/pipeline-spec.ts +37 -29
  678. package/src/plugin.ts +4 -0
  679. package/src/points-lines/standard-owner.ts +6 -14
  680. package/src/post-process-errors.ts +26 -18
  681. package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +2 -2
  682. package/src/prepare/extended-lighting/resources.ts +3 -3
  683. package/src/prepare/prepared-graphics-resolver.ts +9 -2
  684. package/src/record/__tests__/main-pass-geometry.unit.test.ts +68 -0
  685. package/src/record/__tests__/material-bg-cache.unit.test.ts +45 -0
  686. package/src/record/__tests__/material-slot-plan.unit.test.ts +57 -0
  687. package/src/record/__tests__/mesh-ssbo.unit.test.ts +40 -1
  688. package/src/record/__tests__/recovery-pipeline.unit.test.ts +20 -1
  689. package/src/record/__tests__/sprite-material-abi.unit.test.ts +41 -6
  690. package/src/record/__tests__/temporal-payload.unit.test.ts +2 -0
  691. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +45 -0
  692. package/src/record/__tests__/view-ubo-layout.unit.test.ts +5 -0
  693. package/src/record/dynamic-geometry-consumption.ts +59 -0
  694. package/src/record/frame-lighting.ts +15 -12
  695. package/src/record/frame-snapshot.ts +146 -34
  696. package/src/record/frame-targets.ts +9 -0
  697. package/src/record/frame.ts +838 -170
  698. package/src/record/main-pass-geometry.ts +209 -103
  699. package/src/record/main-pass-material.ts +157 -40
  700. package/src/record/main-pass-sprite-draws.ts +16 -107
  701. package/src/record/main-pass.ts +141 -12
  702. package/src/record/material-uniforms.ts +1 -1
  703. package/src/record/mesh-ssbo.ts +59 -15
  704. package/src/record/prepared-material-bindings.ts +238 -0
  705. package/src/record/recovery-pipeline.ts +69 -90
  706. package/src/record/render-context.ts +123 -24
  707. package/src/record/shadow-pass.ts +1389 -230
  708. package/src/record/skybox-post-pass.ts +14 -3
  709. package/src/record/typed-frame-graph.ts +1064 -47
  710. package/src/record/view-ubo.ts +12 -1
  711. package/src/recovery/render-system-candidate.ts +135 -68
  712. package/src/recovery/render-system-roots.ts +113 -0
  713. package/src/recovery/types.ts +77 -0
  714. package/src/reflection/background.ts +151 -0
  715. package/src/reflection/filter.ts +3 -0
  716. package/src/reflection/projection.ts +16 -6
  717. package/src/reflection/record-owner.ts +308 -140
  718. package/src/render-contract.ts +237 -49
  719. package/src/render-graph-primitives.ts +34 -5
  720. package/src/render-pipeline.ts +90 -2
  721. package/src/render-system-extract-tail.ts +431 -162
  722. package/src/render-system-extract.ts +478 -119
  723. package/src/render-system-projections.ts +241 -0
  724. package/src/render-system.ts +715 -828
  725. package/src/scene/render-scene-types.ts +13 -4
  726. package/src/scene/render-scene.ts +577 -355
  727. package/src/scene/shadow-visibility.ts +21 -0
  728. package/src/ssao-config.ts +25 -8
  729. package/src/ssr/admission.ts +380 -14
  730. package/src/ssr/compose.ts +144 -0
  731. package/src/ssr/errors.ts +48 -0
  732. package/src/ssr/graph.ts +797 -0
  733. package/src/ssr/history.ts +436 -0
  734. package/src/ssr/hiz.ts +124 -0
  735. package/src/ssr/inspection.ts +124 -0
  736. package/src/ssr/resources.ts +202 -0
  737. package/src/ssr/temporal.ts +164 -0
  738. package/src/systems/skin-palette-allocator.ts +495 -148
  739. package/src/systems/skin-palette-types.ts +17 -0
  740. package/src/systems/transparent-dispatch.ts +90 -0
  741. package/src/targets/material-source.ts +34 -0
  742. package/src/temporal/coverage.ts +1 -1
  743. package/src/temporal/frame-coordinator.ts +23 -2
  744. package/src/temporal/gpu.ts +79 -12
  745. package/src/temporal/history.ts +3 -1
  746. package/src/temporal/inspection.ts +2 -1
  747. package/src/temporal/standard-scene-data.ts +10 -2
  748. package/src/temporal/target-coverage-attachment.ts +72 -0
  749. package/src/temporal/temporal-view.ts +11 -2
  750. package/src/temporal/view.ts +12 -2
  751. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +219 -139
  752. package/src/typed-render-graph-primitives.ts +304 -74
  753. package/src/typed-shadow-passes.ts +122 -12
  754. package/src/volume/component.ts +1 -0
  755. package/src/volume/passes.ts +3 -3
  756. package/src/volume/temporal.ts +10 -0
  757. package/dist/chunk-GE3SDD72.mjs.map +0 -1
  758. package/dist/chunk-GF523LHF.mjs.map +0 -1
  759. package/dist/chunk-IQMKJLNU.mjs.map +0 -1
  760. package/dist/chunk-J52NMQKR.mjs.map +0 -1
  761. package/dist/chunk-J6KACNOH.mjs.map +0 -1
  762. package/dist/chunk-JAASCMXA.mjs.map +0 -1
  763. package/dist/chunk-MBU4ZVE7.mjs.map +0 -1
  764. package/dist/chunk-MYJ5RPJO.mjs.map +0 -1
  765. package/dist/chunk-RBDBZ5R7.mjs.map +0 -1
  766. package/dist/chunk-VSL23LZE.mjs.map +0 -1
  767. package/src/__tests__/instances-world-ownership.integration.test.ts +0 -62
  768. package/src/scene/__tests__/changed-block-summary.candidate.test.ts +0 -36
@@ -3,7 +3,7 @@ import type { World } from '@forgeax/engine-ecs';
3
3
  import type { VertexLayoutProjection } from '@forgeax/engine-geometry';
4
4
  import type { Profiler } from '@forgeax/engine-profiler';
5
5
  import type { CompiledRenderGraphInfo } from '@forgeax/engine-render-graph';
6
- import type { BindGroup, BindGroupLayout, Buffer, ComputePipeline, PipelineLayout, Result, RhiCanvasContext, RhiCommandEncoder, RhiDevice, RenderPipeline as RhiRenderPipeline, Sampler, Texture, TextureFormat, TextureView } from '@forgeax/engine-rhi';
6
+ import type { BindGroup, BindGroupLayout, Buffer, ComputePipeline, PipelineLayout, Result, RhiCanvasContext, RhiCommandEncoder, RhiDevice, RenderPipeline as RhiRenderPipeline, Sampler, ShaderModule, Texture, TextureFormat, TextureView } from '@forgeax/engine-rhi';
7
7
  import { RhiError } from '@forgeax/engine-rhi';
8
8
  import { type MaterialRuntimeArtifact, type MaterialShaderArtifact } from '@forgeax/engine-shader';
9
9
  import type { MaterialAsset, MaterialRenderState, ParamSchemaEntry, PassKind, PrimitiveTopology, VertexAttributeMap } from '@forgeax/engine-types';
@@ -13,6 +13,9 @@ import type { MeshGpuHandles } from '../device/gpu-residency';
13
13
  import type { EngineMetrics } from '../engine-metrics';
14
14
  import type { RenderFeatureHost } from '../features/host';
15
15
  import type { RenderFeatureShaderModuleMode } from '../features/types';
16
+ import type { GpuDrivenPbrProgram } from '../gpu-driven/pbr-program';
17
+ import type { GpuDrivenShadowBatchProjection } from '../gpu-driven/production-raster';
18
+ import type { ShadowViewStatePool } from '../gpu-driven/shadow-views';
16
19
  import type { SkylightFallback } from '../ibl/skylight-bind-group';
17
20
  import type { BloomInspection } from '../inspection-types';
18
21
  import type { HealthListenerRegistry, RhiErrorListenerRegistry } from '../lifecycle';
@@ -24,7 +27,9 @@ import type { PointsLinesInspection } from '../points-lines/inspection';
24
27
  import type { PointsLinesRecordPlan } from '../points-lines/record';
25
28
  import type { ReflectionProbeTable } from '../reflection/gpu-table';
26
29
  import type { ReflectionProbeSelectionResult } from '../reflection/projection';
30
+ import type { FrameObservationDomain } from '../render-contract';
27
31
  import type { SsrAdmissionIdentity } from '../ssr/identity';
32
+ import type { TypedFrameObservationCapture } from '../typed-render-graph-primitives';
28
33
  import type { GpuPassTimingReason } from './gpu-pass-timing/errors';
29
34
  import type { GpuPassTimingCapture, GpuPassTimingFrameIdentity, GpuPassTimingSession } from './gpu-pass-timing/session';
30
35
  export interface PointsLinesRecordSubmission {
@@ -41,7 +46,7 @@ export interface ReflectionProbeRecordState {
41
46
  readonly fallbackProjections?: ReadonlyMap<string, import('../inspection-types').ReflectionFallbackReceipt>;
42
47
  /** Demand is derived from this frame's renderable/source selection. */
43
48
  readonly fallbackDemand?: boolean;
44
- /** True when at least one selected row must prove a non-zero readback. */
49
+ /** Non-neutral sources require a nonzero diagnostic sample when capture is enabled. */
45
50
  readonly fallbackHasNonNeutral?: boolean;
46
51
  readonly completeSubmission: (submitted: boolean, completed?: Promise<unknown>, fallbackOutput?: {
47
52
  readonly format: TextureFormat;
@@ -64,29 +69,48 @@ export interface MaterialShaderPipelineEntry {
64
69
  readonly pipeline: RhiRenderPipeline;
65
70
  readonly group2Contract: PipelineGroup2Contract;
66
71
  }
72
+ import type { AtmosphereShaderSources, RenderDebugOverlay, RenderPipelineContext, RenderRecordPhase, SsrShaderSources, VolumetricFogShaderSources } from '../render-contract';
73
+ import type { GpuDrivenStandardPbrFrameResources } from '../render-pipeline';
74
+ import type { DispatchEntry, MaterialSnapshot, ShadowCasterMembership, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
75
+ import type { SkinPaletteAllocator } from '../systems/skin-palette-allocator';
76
+ import type { RenderTarget } from '../targets/contracts';
77
+ import type { RenderTargetPhysical } from '../targets/physical';
78
+ import type { BindGroupCounts, BloomFrameReceipts, DispatchCounts, MaterialBgAssemblyCacheEntry, RenderFrameState, ValidatedRenderable } from './frame-snapshot';
79
+ import type { FoldDispatchPlan } from './mesh-ssbo';
67
80
  /**
68
81
  * Armed only for the first published recovery frame. Candidate preparation
69
82
  * must make every pipeline and static residency lookup a cache hit before this
70
- * guard is armed; a miss is a hard failure before queue submission.
83
+ * guard is armed; a miss during draw is a hard failure before queue submission.
84
+ * Explicit preparation between draws remains allowed, including new geometry
85
+ * admitted on the first fixed step after device recovery.
71
86
  */
72
87
  export interface RecoveryColdWorkGuard {
73
88
  arm(): void;
89
+ beginFrame(): void;
90
+ endFrame(): void;
74
91
  notePipelineColdWork(): void;
75
92
  noteUploadColdWork(): void;
76
93
  finish(): void;
77
94
  }
78
- import type { RenderDebugOverlay, RenderPipelineContext, RenderRecordPhase, VolumetricFogShaderSources } from '../render-contract';
79
- import type { DispatchEntry, MaterialSnapshot, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
80
- import type { SkinPaletteAllocator } from '../systems/skin-palette-allocator';
81
- import type { RenderTarget } from '../targets/contracts';
82
- import type { RenderTargetPhysical } from '../targets/physical';
83
- import type { BindGroupCounts, BloomFrameReceipts, DispatchCounts, MaterialBgAssemblyCacheEntry, RenderFrameState, ValidatedRenderable } from './frame-snapshot';
84
- import type { FoldDispatchPlan } from './mesh-ssbo';
85
95
  export interface RenderSystemRuntime {
86
96
  readonly device: RhiDevice;
97
+ /** Current renderer device generation used to fence receipt-bound captures. */
98
+ readonly deviceGeneration?: number;
99
+ /** Public receipt identity reserved before graph encoding. */
100
+ readonly observationFrameId?: number | undefined;
101
+ /** Graph identity written by the typed graph for the current receipt. */
102
+ observationGraphGeneration?: number | undefined;
103
+ /** Renderer-owned capture bridge consumed after queue submission. */
104
+ readonly observationCaptureOwner?: {
105
+ register(capture: TypedFrameObservationCapture): void;
106
+ consume(frameNumber: number): readonly TypedFrameObservationCapture[];
107
+ drain(): readonly TypedFrameObservationCapture[];
108
+ } | undefined;
87
109
  /** Internal backend-fixture hook evaluated at the submit transaction edge. */
88
110
  readonly beforeSubmit?: ((device: RhiDevice) => RhiError | undefined) | undefined;
89
111
  readonly deviceScope: DeviceScope;
112
+ /** Domains explicitly armed for the frame being encoded. */
113
+ readonly observationCaptureDomains?: readonly FrameObservationDomain[] | undefined;
90
114
  /** Resolve a recorder/backend wrapper before configuring the native surface. */
91
115
  readonly resolveSurfaceDevice?: (device: RhiDevice) => Result<RhiDevice, RhiError>;
92
116
  readonly errorRegistry: RhiErrorListenerRegistry;
@@ -96,19 +120,33 @@ export interface RenderSystemRuntime {
96
120
  readonly getMaterialProjection?: (materialGuid: string) => MaterialRenderProjection | undefined;
97
121
  readonly getMaterialArtifact?: (specializationKey: string) => MaterialRuntimeArtifact | undefined;
98
122
  /** Producer-owned cooked Standard PBR artifact used by GPU-driven projection. */
99
- readonly getMaterialShaderArtifact?: (materialShaderId: string) => MaterialShaderArtifact | undefined;
100
- readonly getMaterialShaderPipeline?: (materialShaderId: string, isHdr: boolean, renderState?: MaterialRenderState, topology?: PrimitiveTopology, indexFormat?: 'uint16' | 'uint32', variantSet?: string, passKind?: PassKind, meshAttributes?: VertexAttributeMap, sampleCount?: number, colorFormatOverride?: GPUTextureFormat, shaderUvSetCount?: number, depthFormatOverride?: GPUTextureFormat | null, vertexLayout?: string, vertexLayoutProjection?: VertexLayoutProjection, shaderModuleMode?: RenderFeatureShaderModuleMode, layoutKindOverride?: 'pbr' | 'pbr-skin', additionalColorFormats?: readonly GPUTextureFormat[], vertexEntry?: string, fragmentEntry?: string) => RhiRenderPipeline | null;
101
- readonly getMaterialShaderPipelineEntry?: (materialShaderId: string, isHdr: boolean, renderState?: MaterialRenderState, topology?: PrimitiveTopology, indexFormat?: 'uint16' | 'uint32', variantSet?: string, passKind?: PassKind, meshAttributes?: VertexAttributeMap, sampleCount?: number, colorFormatOverride?: GPUTextureFormat, shaderUvSetCount?: number, depthFormatOverride?: GPUTextureFormat | null, vertexLayout?: string, vertexLayoutProjection?: VertexLayoutProjection, shaderModuleMode?: RenderFeatureShaderModuleMode, layoutKindOverride?: 'pbr' | 'pbr-skin', additionalColorFormats?: readonly GPUTextureFormat[], vertexEntry?: string, fragmentEntry?: string) => MaterialShaderPipelineEntry | null;
123
+ readonly getMaterialShaderArtifact?: (materialShaderId: string, request?: {
124
+ readonly vertexColorAvailable?: boolean;
125
+ readonly deformation?: 'rigid' | 'skin';
126
+ readonly clustered?: boolean;
127
+ readonly reflectionFallback?: boolean;
128
+ readonly pass?: 'forward' | 'shadow' | 'depth';
129
+ readonly address?: 'direct' | 'scene-index';
130
+ } | boolean) => MaterialShaderArtifact | undefined;
131
+ readonly getMaterialShaderPipeline?: (materialShaderId: string, isHdr: boolean, renderState?: MaterialRenderState, topology?: PrimitiveTopology, indexFormat?: 'uint16' | 'uint32', variantSet?: string, passKind?: PassKind, meshAttributes?: VertexAttributeMap, sampleCount?: number, colorFormatOverride?: GPUTextureFormat, shaderUvSetCount?: number, depthFormatOverride?: GPUTextureFormat | null, vertexLayout?: string, vertexLayoutProjection?: VertexLayoutProjection, shaderModuleMode?: RenderFeatureShaderModuleMode, layoutKindOverride?: 'pbr' | 'pbr-skin' | 'gpu-driven-pbr' | 'gpu-driven-skin',
132
+ /** Optional vertex entry override for receipt-owned scene-index passes. */
133
+ vertexEntryPoint?: string, additionalColorFormats?: readonly GPUTextureFormat[], vertexEntry?: string, fragmentEntry?: string, particleInputLanes?: number, fragmentConstants?: Readonly<Record<string, number>>) => RhiRenderPipeline | null;
134
+ readonly getMaterialShaderPipelineEntry?: (materialShaderId: string, isHdr: boolean, renderState?: MaterialRenderState, topology?: PrimitiveTopology, indexFormat?: 'uint16' | 'uint32', variantSet?: string, passKind?: PassKind, meshAttributes?: VertexAttributeMap, sampleCount?: number, colorFormatOverride?: GPUTextureFormat, shaderUvSetCount?: number, depthFormatOverride?: GPUTextureFormat | null, vertexLayout?: string, vertexLayoutProjection?: VertexLayoutProjection, shaderModuleMode?: RenderFeatureShaderModuleMode, layoutKindOverride?: 'pbr' | 'pbr-skin' | 'gpu-driven-pbr' | 'gpu-driven-skin',
135
+ /** Optional vertex entry override for receipt-owned scene-index passes. */
136
+ vertexEntryPoint?: string, additionalColorFormats?: readonly GPUTextureFormat[], vertexEntry?: string, fragmentEntry?: string, particleInputLanes?: number, fragmentConstants?: Readonly<Record<string, number>>) => MaterialShaderPipelineEntry | null;
102
137
  /** Reflection-derived UV count included in the material PipelineSpec cache key. */
103
138
  readonly getMaterialShaderUvSetCount?: (materialShaderId: string) => number | undefined;
104
- readonly getMaterialShaderBindingContract?: (materialShaderId: string) => 'group-0' | 'group-0-resource' | 'view-only' | 'view-and-scene-depth' | 'render-material';
139
+ readonly getMaterialShaderBindingContract?: (materialShaderId: string) => 'group-0' | 'group-0-resource' | 'view-only' | 'view-and-scene-depth' | 'render-material-with-scene-depth' | 'render-material-and-scene-depth' | 'render-material';
105
140
  readonly getParamSchema?: (materialShaderId: string) => readonly ParamSchemaEntry[] | undefined;
106
141
  readonly getMaterialBindGroupLayout?: (materialShaderId: string, materialParamSchema?: readonly ParamSchemaEntry[]) => BindGroupLayout | undefined;
107
- recoveryColdWorkGuard?: RecoveryColdWorkGuard | undefined;
142
+ /** Handle-first factory for built-in same-frame GPU producers. */
143
+ readonly immediateShaderModuleFactory?: PipelineBuilderShaderModuleFactory;
144
+ /** Optional guard for the first recovery frame's cold-work boundary. */
145
+ readonly recoveryColdWorkGuard?: RecoveryColdWorkGuard | undefined;
108
146
  readonly metrics: EngineMetrics;
109
147
  readonly lookupPostProcess?: (id: string) => import('../fullscreen-post-process-pass').PostProcessShaderEntry | undefined;
110
148
  readonly getPostProcessParamsBuffer?: (id: string) => Buffer | undefined;
111
- readonly getPostProcessPipeline?: (id: string, bgl: BindGroupLayout, colorFormat: GPUTextureFormat, entry?: import('../fullscreen-post-process-pass').PostProcessShaderEntry) => RhiRenderPipeline | null;
149
+ readonly getPostProcessPipeline?: (id: string, bgl: BindGroupLayout, colorFormats: readonly GPUTextureFormat[], entry?: import('../fullscreen-post-process-pass').PostProcessShaderEntry) => RhiRenderPipeline | null;
112
150
  /** Candidate-owned post-process pipelines transferred at publication. */
113
151
  readonly getRecoveryPostProcessPipelines?: () => ReadonlyMap<string, RhiRenderPipeline>;
114
152
  readonly clearPostProcessPipelineCache?: (id: string) => void;
@@ -251,15 +289,27 @@ export interface PipelineState {
251
289
  readonly probeInstancesBindGroupLayout?: BindGroupLayout;
252
290
  readonly identityInstanceBuffer: Buffer;
253
291
  readonly defaultSampler: Sampler;
254
- readonly nearestSampler: Sampler;
255
292
  readonly fallbackTextureView: TextureView;
256
293
  readonly unlitPipeline: RhiRenderPipeline | null;
257
294
  readonly standardPipeline: RhiRenderPipeline | null;
295
+ /** Producer-owned Standard PBR module for this device generation. */
296
+ readonly standardPbrShaderModule: ShaderModule | null;
297
+ /** Producer-owned skinned Standard PBR module for this device generation. */
298
+ readonly pbrSkinShaderModule: ShaderModule | null;
299
+ /** Producer-resolved Standard PBR UV ABI count for geometry projection. */
300
+ readonly standardPbrShaderUvSetCount: number;
258
301
  readonly unlitPipelineMsaa: RhiRenderPipeline | null;
259
302
  readonly unlitPipelineHdrMsaa: RhiRenderPipeline | null;
260
303
  readonly pbrPipelineLayout: PipelineLayout | null;
304
+ /** Dedicated slot-3 layout for scene-index GPU-driven Standard PBR draws. */
305
+ readonly gpuDrivenInstancesBindGroupLayout?: BindGroupLayout | null;
306
+ readonly gpuDrivenPbrPipelineLayout?: PipelineLayout | null;
307
+ /** Device-owned shader modules paired with their exact Standard PBR receipts. */
308
+ readonly gpuDrivenPbrPrograms?: ReadonlyMap<string, GpuDrivenPbrProgram>;
309
+ readonly gpuDrivenPbrSkinPipelineLayout?: PipelineLayout | null;
261
310
  readonly pbrProbePipelineLayout?: PipelineLayout | null;
262
311
  readonly hdrpPbrPipelineLayout: PipelineLayout | null;
312
+ readonly hdrpMeshBindGroupLayout?: BindGroupLayout | null;
263
313
  readonly hdrpProbePbrPipelineLayout?: PipelineLayout | null;
264
314
  readonly hdrpClusterMembershipPipeline: ComputePipeline | null;
265
315
  readonly hdrpClusterMembershipBindGroupLayout: BindGroupLayout | null;
@@ -299,6 +349,7 @@ export interface RenderSystemInternals extends RenderSystemRuntime {
299
349
  readonly build?: string | undefined;
300
350
  /** Host identity binding for the renderer-owned SSR dependency seam. */
301
351
  readonly ssrIdentity?: SsrAdmissionIdentity | undefined;
352
+ readonly captureReflectionFallbackReadback?: boolean | undefined;
302
353
  readonly standardProfile?: StandardProfile | undefined;
303
354
  readonly standardPipeline: RenderFrameState['activePipeline'];
304
355
  readonly featureHost?: RenderFeatureHost | undefined;
@@ -326,7 +377,7 @@ export interface RenderSystemInternals extends RenderSystemRuntime {
326
377
  readonly meshSsboState?: {
327
378
  readonly slotCount: number;
328
379
  } | undefined;
329
- readonly buildPostProcessPipeline?: ((entry: import('../fullscreen-post-process-pass').PostProcessShaderEntry, bgl: BindGroupLayout, colorFormat: GPUTextureFormat, label: string) => RhiRenderPipeline | null) | undefined;
380
+ readonly buildPostProcessPipeline?: ((entry: import('../fullscreen-post-process-pass').PostProcessShaderEntry, bgl: BindGroupLayout, colorFormats: readonly GPUTextureFormat[], label: string) => RhiRenderPipeline | null) | undefined;
330
381
  gpuPassTimingSession?: GpuPassTimingSession | undefined;
331
382
  gpuPassTimingCapture?: GpuPassTimingCapture | undefined;
332
383
  gpuPassTimingSubmittedWork?: Promise<void> | undefined;
@@ -336,8 +387,17 @@ export interface RenderSystemInternals extends RenderSystemRuntime {
336
387
  readonly encodeRenderTargetReadbacks?: (encoder: RhiCommandEncoder, faces?: readonly number[]) => void;
337
388
  /** Composed renderer utility sources installed atomically at build-ready. */
338
389
  volumetricFogShaders?: VolumetricFogShaderSources | undefined;
390
+ /** Composed renderer utility sources installed atomically at build-ready. */
391
+ ssrShaders?: SsrShaderSources | undefined;
392
+ /** Composed renderer utility sources installed atomically at build-ready. */
393
+ atmosphereShaders?: AtmosphereShaderSources | undefined;
339
394
  }
340
395
  export interface _StandardForwardSceneView {
396
+ readonly environmentIbl?: {
397
+ readonly irradiance: TextureView;
398
+ readonly prefilter: TextureView;
399
+ };
400
+ readonly captureDispatch?: readonly DispatchEntry[];
341
401
  readonly assets: AssetRegistry;
342
402
  readonly store: import('../device/gpu-residency').GpuResidencyCache;
343
403
  readonly pipelineState: PipelineState;
@@ -358,9 +418,6 @@ export interface _StandardForwardSceneView {
358
418
  readonly profilePhase?: <T>(phase: RenderRecordPhase, action: () => T) => T;
359
419
  readonly directionalShadowCacheReuse: boolean;
360
420
  readonly world: World;
361
- readonly gpuDrivenEntityKeys: ReadonlySet<number>;
362
- /** Renderer-local world namespace paired with gpuDrivenEntityKeys. */
363
- readonly gpuDrivenWorldKeys?: readonly number[];
364
421
  readonly tonemapActive: boolean;
365
422
  readonly geometryColorView: TextureView | null;
366
423
  readonly geometryDepthView: TextureView | null;
@@ -379,8 +436,30 @@ export interface _StandardForwardSceneView {
379
436
  readonly foldDispatchPlan: FoldDispatchPlan | null;
380
437
  readonly materialSlotIndices: readonly (readonly number[])[];
381
438
  readonly materialSlots: readonly MaterialSnapshot[];
382
- readonly materialSlotOwners: readonly number[];
439
+ readonly materialSlotOwners: readonly ValidatedRenderable[];
383
440
  readonly materialSlotCount: number;
441
+ /** Filled by main-pass material producers before the GPU-driven raster tail. */
442
+ readonly gpuDrivenStandardPbrFrameResources?: GpuDrivenStandardPbrFrameResources;
443
+ /** Scene table retained by the renderer even when no draw is GPU-admitted. */
444
+ readonly gpuDrivenSceneMaterialBuffer?: Buffer;
445
+ /** Concrete main-pass draw identities already claimed by the capable GPU lane. */
446
+ readonly gpuDrivenDrawKeys?: ReadonlySet<string>;
447
+ readonly gpuDrivenShadowViews?: ShadowViewStatePool;
448
+ readonly gpuDrivenShadowBatchProjections?: ReadonlyMap<string, ReadonlyMap<number, GpuDrivenShadowBatchProjection>>;
449
+ /** Concrete ShadowCaster keys already claimed by the capable GPU subset. */
450
+ readonly gpuDrivenShadowDrawKeys?: ReadonlySet<string>;
451
+ /** View-scoped ShadowCaster claims for exact CPU residual routing. */
452
+ readonly gpuDrivenShadowDrawKeysByView?: ReadonlyMap<string, ReadonlySet<string>>;
453
+ /** Extracted structured ShadowCaster ownership facts. */
454
+ readonly shadowCasterMembership?: readonly ShadowCasterMembership[];
455
+ /** Complete retained ShadowCaster rows, including camera-culled casters. */
456
+ readonly shadowValidatedOrdered?: readonly ValidatedRenderable[];
457
+ /** Dispatch entries remapped to the complete retained ShadowCaster rows. */
458
+ readonly shadowDispatch?: readonly DispatchEntry[];
459
+ /** Mesh-SSBO slot base reserved for the retained ShadowCaster rows. */
460
+ readonly shadowMeshSsboBase?: number;
461
+ /** Renderer-stable world keys used by ShadowCaster ownership identities. */
462
+ readonly shadowCasterWorldKeys?: readonly number[];
384
463
  readonly pointsLines: PointsLinesRecordOwner | undefined;
385
464
  readonly materialBgAssemblyCache: Map<string, MaterialBgAssemblyCacheEntry>;
386
465
  /** Record-stage proof callback; invoked only after a real draw command is encoded. */
@@ -1 +1 @@
1
- {"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../../src/record/render-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,MAAM,EACN,eAAe,EACf,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,cAAc,IAAI,iBAAiB,EACnC,OAAO,EACP,OAAO,EACP,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAW,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAMvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;CACnD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACzE,QAAQ,CAAC,KAAK,EAAE,OAAO,qBAAqB,EAAE,yBAAyB,CAAC;IACxE,kFAAkF;IAClF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CACxC,MAAM,EACN,OAAO,qBAAqB,EAAE,yBAAyB,CACxD,CAAC;IACF,uEAAuE;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAC5B,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;YAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;YACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;KACJ,EACD,iBAAiB,CAAC,EAAE,OAAO,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,IAAI,IAAI,CAAC;IACZ,oBAAoB,IAAI,IAAI,CAAC;IAC7B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAClF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnF,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CACzC,QAAQ,EAAE,aAAa,KACpB,wBAAwB,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,uBAAuB,GAAG,SAAS,CAAC;IAClG,iFAAiF;IACjF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACnC,gBAAgB,EAAE,MAAM,KACrB,sBAAsB,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACnC,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,mBAAmB,EACjC,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,EACjC,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,kBAAkB,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,gBAAgB,EACtC,gBAAgB,CAAC,EAAE,MAAM,EACzB,mBAAmB,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAC7C,YAAY,CAAC,EAAE,MAAM,EACrB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,gBAAgB,CAAC,EAAE,6BAA6B,EAChD,kBAAkB,CAAC,EAAE,KAAK,GAAG,UAAU,EACvC,sBAAsB,CAAC,EAAE,SAAS,gBAAgB,EAAE,EACpD,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,KACnB,iBAAiB,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CACxC,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,mBAAmB,EACjC,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,EACjC,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,kBAAkB,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,gBAAgB,EACtC,gBAAgB,CAAC,EAAE,MAAM,EACzB,mBAAmB,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAC7C,YAAY,CAAC,EAAE,MAAM,EACrB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,gBAAgB,CAAC,EAAE,6BAA6B,EAChD,kBAAkB,CAAC,EAAE,KAAK,GAAG,UAAU,EACvC,sBAAsB,CAAC,EAAE,SAAS,gBAAgB,EAAE,EACpD,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,KACnB,2BAA2B,GAAG,IAAI,CAAC;IACxC,mFAAmF;IACnF,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxF,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAC1C,gBAAgB,EAAE,MAAM,KACrB,SAAS,GAAG,kBAAkB,GAAG,WAAW,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;IAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CACpC,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,CAAC,EAAE,SAAS,gBAAgB,EAAE,KAC9C,eAAe,GAAG,SAAS,CAAC;IACjC,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,EAAE,EAAE,MAAM,KACP,OAAO,iCAAiC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAClF,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAChC,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,gBAAgB,EAC7B,KAAK,CAAC,EAAE,OAAO,iCAAiC,EAAE,sBAAsB,KACrE,iBAAiB,GAAG,IAAI,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,+BAA+B,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxF,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC/D,+EAA+E;IAC/E,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAC1C,MAAM,EAAE,OAAO,sBAAsB,EAAE,yBAAyB,KAC7D,OAAO,4BAA4B,EAAE,iCAAiC,GAAG,SAAS,CAAC;CACzF;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAAC;IACjG,UAAU,IAAI,IAAI,CAAC;IACnB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,WAAW,IAAI,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,eAAe,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,eAAe,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC9C,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,sBAAsB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjD,0BAA0B,EAAE,eAAe,GAAG,IAAI,CAAC;IACnD,wBAAwB,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,6BAA6B,EAAE,eAAe,GAAG,IAAI,CAAC;IACtD,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAC;IACvD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9D,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,eAAe,CAAC;IAC7E,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,sBAAsB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,sBAAsB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,kBAAkB,EAAE;QAClB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;QAClC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;KACpC,GAAG,IAAI,CAAC;CACV;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,0BAA0B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,wBAAwB,EAAE,eAAe,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,6BAA6B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC;IAC9C,6EAA6E;IAC7E,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,eAAe,CAAC;IAClD,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC;IACnD,sEAAsE;IACtE,QAAQ,CAAC,6BAA6B,CAAC,EAAE,eAAe,CAAC;IACzD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,qBAAqB,EAAE,cAAc,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,6BAA6B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,oCAAoC,EAAE,eAAe,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,qBAAqB,EAAE,cAAc,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,0BAA0B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,sBAAsB,EAAE,cAAc,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,2BAA2B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,uBAAuB,EAAE,WAAW,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,WAAW,CAAC;IAC/C,4EAA4E;IAC5E,QAAQ,CAAC,4BAA4B,CAAC,EAAE,WAAW,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,yBAAyB,EAAE,WAAW,CAAC;IAChD,QAAQ,CAAC,8BAA8B,EAAE,WAAW,CAAC;IACrD,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE;QACxB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC5C,CAAC;IACF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IACzC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrD,iFAAiF;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IAClE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,MAAM,EAAE,OAAO,qBAAqB,EAAE,SAAS,EAC/C,UAAU,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3D,OAAO,CACV,MAAM,CAAC,OAAO,qBAAqB,EAAE,YAAY,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC,CAC3F,CAAC;IACF,iFAAiF;IACjF,QAAQ,CAAC,4BAA4B,CAAC,EAAE,kCAAkC,CAAC;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,CAAC;IACvE,QAAQ,CAAC,YAAY,CAAC,EAClB,CAAC,CAAC,WAAW,EAAE,MAAM,KACjB;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GACrB;QACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QACnB,QAAQ,CAAC,IAAI,EAAE,2BAA2B,GAAG,6BAA6B,CAAC;QAC3E,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;KACtC,CAAC,GACN,SAAS,CAAC;IACd,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,wBAAwB,CAAC,EAC9B,CAAC,CACC,KAAK,EAAE,OAAO,iCAAiC,EAAE,sBAAsB,EACvE,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,gBAAgB,EAC7B,KAAK,EAAE,MAAM,KACV,iBAAiB,GAAG,IAAI,CAAC,GAC9B,SAAS,CAAC;IACd,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxD,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxD,0BAA0B,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,0BAA0B,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACpE,wBAAwB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,oBAAoB,GAAG,SAAS,CAAC;IAC9F,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CACrC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,KACtB,IAAI,CAAC;IACV,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,sEAAsE;IACtE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IACnD,0EAA0E;IAC1E,QAAQ,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,8BAA8B,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IAC5E,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IACvD,uBAAuB,CAAC,EAAE;QACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KAC9B,CAAC;IACF,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,uCAAuC,EAAE,wBAAwB,CAAC;CAC/F;AAED,MAAM,MAAM,8BAA8B,GAAG,qBAAqB,GAAG,yBAAyB,CAAC;AAE/F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAEtF,eAAO,MAAM,qBAAqB,QAAiE,CAAC;AACpG,eAAO,MAAM,0BAA0B,QAA+C,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,iCAAiC,CAAC;CAC7D,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC;CACpC,CAAC;AAEN,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,gBAAgB,EAC/B,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,sBAAsB,GAC5B,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAgClC;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEnF,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,gBAAgB,GACrB,mBAAmB,CAErB;AAcD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,qBAAqB,EAAE,aAAa,GACnC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CA4DxB;AAED,wBAAgB,qBAAqB,CACnC,oBAAoB,EAAE,OAAO,EAC7B,kBAAkB,UAAO,GACxB,mBAAmB,CA8BrB"}
1
+ {"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../../src/record/render-context.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,66 @@
1
- import { type Buffer, type RhiQueue, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
1
+ import { type BindGroup, type Buffer, type RenderPipeline, type RhiQueue, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
2
2
  import type { MaterialRenderState, PassSelector } from '@forgeax/engine-types';
3
+ import type { SubmissionPlan } from '../gpu-driven/batch-topology';
4
+ import type { GpuDrivenView } from '../gpu-driven/view-gpu';
3
5
  import type { DispatchEntry, ExtractedLights } from '../render-system-extract';
4
6
  import type { _InternalRenderPipelineContext } from './render-context';
5
7
  export declare const SHADOW_CASTER_SLOT_STRIDE = 256;
6
8
  export declare const SHADOW_CASTER_BUFFER_SIZE: number;
9
+ /**
10
+ * Renderer-owned capable shadow submission. The view/counter/indirect ABI is
11
+ * shared with the main GPU-driven lane; this record only supplies the
12
+ * prepared per-batch raster state that cannot be inferred from a raw scene.
13
+ * When present, the capable lane emits one indirect command per topology batch
14
+ * and never walks `validatedOrdered`.
15
+ */
16
+ export interface GpuDrivenShadowBatch {
17
+ readonly pipeline: RenderPipeline;
18
+ readonly meshBindGroup: BindGroup;
19
+ readonly visibleBindGroup: BindGroup;
20
+ readonly deformation: 'rigid' | 'skin';
21
+ /** Complete binding for this batch, including opaque batches after custom casters. */
22
+ readonly materialGroup: BindGroup;
23
+ readonly vertexBuffer: Buffer;
24
+ readonly indexBuffer?: Buffer | undefined;
25
+ readonly indexFormat?: 'uint16' | 'uint32' | undefined;
26
+ }
27
+ export interface GpuDrivenShadowSubmission {
28
+ readonly view: GpuDrivenView;
29
+ readonly plan: SubmissionPlan;
30
+ readonly batches: ReadonlyMap<number, GpuDrivenShadowBatch>;
31
+ readonly instancesBindGroup?: BindGroup | undefined;
32
+ }
7
33
  export declare function directionalShadowCasterOffset(cascadeIndex: number): number;
8
34
  export declare function spotShadowCasterOffset(tile: number): number;
9
35
  export declare function writeShadowCasterUniforms(queue: RhiQueue, buffer: Buffer, lights: ExtractedLights): void;
10
36
  interface ShadowDispatch {
37
+ readonly passIndex: number;
38
+ readonly materialHandle: number;
11
39
  readonly vertexEntry: string | undefined;
12
40
  readonly fragmentEntry: string | undefined;
13
41
  readonly materialShaderId: string;
14
42
  readonly renderState: MaterialRenderState | undefined;
43
+ readonly materialSlot: number | undefined;
44
+ readonly paramSnapshot: DispatchEntry['paramSnapshot'];
15
45
  }
16
- type ShadowDispatchMap = ReadonlyMap<number, ReadonlyMap<number, ShadowDispatch>>;
46
+ type ShadowDispatchMap = ReadonlyMap<number, ReadonlyMap<number, readonly ShadowDispatch[]>>;
17
47
  export declare function shadowShaderMap(c: _InternalRenderPipelineContext): ShadowDispatchMap;
48
+ /**
49
+ * Record the capable shadow lane from the shared view's indirect arguments.
50
+ * The submission is an explicit prepared contract: missing view buffers or a
51
+ * missing batch raster projection are terminal rather than a reason to fall
52
+ * back to a CPU caster walk. The caller may then keep the existing CPU path
53
+ * when no capable submission was published for the current view.
54
+ */
55
+ export declare function recordGpuDrivenShadowIndirect(pass: RhiRenderPassEncoder, submission: GpuDrivenShadowSubmission): void;
18
56
  export declare function encodeDirectionalShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, cascadeIndex: number, viewport: {
19
57
  readonly x: number;
20
58
  readonly y: number;
21
59
  readonly w: number;
22
60
  readonly h: number;
23
- }): void;
24
- export declare function encodePointShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, snapshotIndex: number, face: number): void;
25
- export declare function encodeSpotShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, snapshotIndex: number): void;
61
+ }, drawFeatures?: (view: BindGroup) => void): void;
62
+ export declare function encodePointShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, snapshotIndex: number, face: number, drawFeatures?: (view: BindGroup) => void): void;
63
+ export declare function encodeSpotShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, snapshotIndex: number, drawFeatures?: (view: BindGroup) => void): void;
26
64
  /**
27
65
  * feat-20260609 M2: filter dispatch entries by a {@link PassSelector}.
28
66
  *
@@ -54,8 +92,25 @@ export declare function buildMatchedRenderableIndices(dispatch: readonly Dispatc
54
92
  * filtering is insufficient for geometry recording: a Deferred graph pass
55
93
  * must not draw the same renderable's Forward-only material. Keep the
56
94
  * renderable key in the result so mixed-material meshes retain their
57
- * per-submesh routing.
95
+ * per-submesh routing. An optional exclusion selector removes a material
96
+ * handle when that same renderable/material pair also contributes to another
97
+ * graph lane (for example Deferred Standard geometry after SSR composition).
98
+ * An inclusion selector intersects membership by the same renderable/material
99
+ * pair without replacing the selected shader pass or its authored entries.
100
+ */
101
+ export declare function buildMatchedMaterialHandlesByRenderable(dispatch: readonly DispatchEntry[], selector: PassSelector, excludeSelector?: PassSelector, includeSelector?: PassSelector): ReadonlyMap<number, ReadonlySet<number>> | null;
102
+ /**
103
+ * feat-20260704 M3/w20: per-entity directional shadow-caster draw loop,
104
+ * extracted verbatim from {@link encodeDirectionalShadowPass}. Walks `c.validatedOrdered`,
105
+ * selects the per-entity shadow PSO (default vertex-only caster or a custom
106
+ * cutout caster), binds the per-entity mesh dynamic-offset + instance buffer,
107
+ * and issues the per-submesh depth draws. `shadowPass` view/material bind
108
+ * groups (@group 0/1) are already set by the caller; this loop owns @group
109
+ * 2/3 + the vertex/index/pipeline de-dup state. Receives the explicit
110
+ * `_InternalRenderPipelineContext` (`c`) plus the caller-resolved
111
+ * mesh bind group, pass-selector match set, and per-material
112
+ * ShadowCaster dispatch map so no cross-function mutable state is introduced.
58
113
  */
59
- export declare function buildMatchedMaterialHandlesByRenderable(dispatch: readonly DispatchEntry[], selector: PassSelector): ReadonlyMap<number, ReadonlySet<number>> | null;
114
+ export declare function recordShadowCasterDraws(c: _InternalRenderPipelineContext, shadowPass: RhiRenderPassEncoder, shadowPipeline: RenderPipeline, shadowMeshBindGroup: BindGroup, matchedIndices: Set<number> | null, matchedMaterialHandles: ReadonlyMap<number, ReadonlySet<number>> | null, shadowDispatchByRenderableIdx: ShadowDispatchMap, gpuDrivenShadowDrawKeys: ReadonlySet<string> | undefined, reflected?: boolean): ReadonlySet<string>;
60
115
  export {};
61
116
  //# sourceMappingURL=shadow-pass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-pass.d.ts","sourceRoot":"","sources":["../../src/record/shadow-pass.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,MAAM,EAGX,KAAK,QAAQ,EACb,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAW/E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAiB/E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAIvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AAEvE,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,GACtB,IAAI,CAkBN;AAmLD,UAAU,cAAc;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD;AAED,KAAK,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAElF,wBAAgB,eAAe,CAAC,CAAC,EAAE,8BAA8B,GAAG,iBAAiB,CAqBpF;AAiFD,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3F,IAAI,CA4BN;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,IAAI,CAuBN;AAED,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,MAAM,GACpB,IAAI,CA8CN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,SAAS,aAAa,EAAE,CAG1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAmBpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAajD"}
1
+ {"version":3,"file":"shadow-pass.d.ts","sourceRoot":"","sources":["../../src/record/shadow-pass.ts"],"names":[],"mappings":"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"}
@@ -19,5 +19,5 @@ export declare function recordBloomBrightPass(_c: _InternalRenderPipelineContext
19
19
  export declare function recordBloomBlurHPass(_c: _InternalRenderPipelineContext, resolve?: ResolveContext, graphPass?: RhiRenderPassEncoder): void;
20
20
  export declare function recordBloomBlurVPass(_c: _InternalRenderPipelineContext, resolve?: ResolveContext, graphPass?: RhiRenderPassEncoder): void;
21
21
  export declare function recordBloomCompositePass(_c: _InternalRenderPipelineContext, resolve?: ResolveContext, graphPass?: RhiRenderPassEncoder): void;
22
- export declare function recordFxaaPass(c: _InternalRenderPipelineContext, resolve: ResolveContext, graphPass?: RhiRenderPassEncoder): void;
22
+ export declare function recordFxaaPass(c: _InternalRenderPipelineContext, resolve: ResolveContext, graphPass?: RhiRenderPassEncoder, paramsOverride?: Uint8Array): void;
23
23
  //# sourceMappingURL=skybox-post-pass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skybox-post-pass.d.ts","sourceRoot":"","sources":["../../src/record/skybox-post-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAY,KAAK,oBAAoB,EAAoB,MAAM,qBAAqB,CAAC;AAO5F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAiIN;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAEN;AAyDD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA8EN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA0FN;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,8BAA8B,EACjC,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA2FN"}
1
+ {"version":3,"file":"skybox-post-pass.d.ts","sourceRoot":"","sources":["../../src/record/skybox-post-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAY,KAAK,oBAAoB,EAAoB,MAAM,qBAAqB,CAAC;AAO5F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAiIN;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAEN;AAyDD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA8EN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA0FN;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,8BAA8B,EACjC,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,oBAAoB,EAChC,cAAc,CAAC,EAAE,UAAU,GAC1B,IAAI,CAqGN"}
@@ -3,13 +3,17 @@ import type { BindGroup, Buffer, RenderPipeline, RhiCommandEncoder, Sampler, Tex
3
3
  import { RhiError } from '@forgeax/engine-rhi';
4
4
  import { type Result } from '@forgeax/engine-types';
5
5
  import { type RenderError } from '../errors/render';
6
+ import { type RenderFeaturePlanExecution } from '../features/host';
6
7
  import { type RenderFeaturePlannedFrame } from '../features/plan';
7
8
  import type { PreparedGpuDrivenFrame } from '../gpu-driven/production-raster';
9
+ import type { RenderFeatureGraphInspection } from '../inspection-types';
10
+ import type { RenderExtent } from '../pipeline/render-extent';
8
11
  import { type StandardTopologyInputValue } from '../pipeline/standard-lighting/topology';
12
+ import { type ProbeBackgroundResources } from '../reflection/background';
9
13
  import type { CameraSnapshot } from '../render-contract';
10
14
  import type { RenderPipelineFrame } from '../render-pipeline';
11
15
  import type { ExtractedLights, ExtractedVolumetricFog } from '../render-system-extract';
12
- import type { SsrAdmissionResult } from '../ssr/admission';
16
+ import type { SsrAdmissionResult, SsrSpatialAdmission } from '../ssr/admission';
13
17
  import type { RenderTarget } from '../targets/contracts';
14
18
  import type { RenderTargetPhysical } from '../targets/physical';
15
19
  import type { TransmissionDemand } from '../transmission/projection';
@@ -101,6 +105,7 @@ export interface ReflectionProbeFilterGraphState {
101
105
  readonly maxStepsPerFrame: number;
102
106
  }
103
107
  export interface ReflectionProbeGraphWork {
108
+ readonly background?: ProbeBackgroundResources;
104
109
  readonly probeIndex: number;
105
110
  readonly rawTexture: Texture;
106
111
  readonly rawCubeView: TextureView;
@@ -127,30 +132,56 @@ export interface ReflectionProbeGraphState {
127
132
  readonly work: readonly ReflectionProbeGraphWork[];
128
133
  }
129
134
  export declare function boundedReflectionProbeFilterWork(state: ReflectionProbeFilterGraphState): readonly ReflectionProbeFilterGraphWork[];
130
- export declare function addReflectionProbeGraphPasses(builder: RenderGraphBuilder<RenderPipelineFrame>, state: ReflectionProbeGraphState): Result<readonly import('@forgeax/engine-render-graph').GraphAccess[], RenderGraphError>;
135
+ export declare function addReflectionProbeGraphPasses(builder: RenderGraphBuilder<RenderPipelineFrame>, state: ReflectionProbeGraphState, environmentCube?: import('../environment/ibl').GraphEnvironment): Result<readonly import('@forgeax/engine-render-graph').GraphAccess[], RenderGraphError>;
131
136
  export { projectRenderTargetGraph, type RenderTargetGraphInput, type RenderTargetGraphProjection, type RenderTargetGraphSubresource, } from '../targets/graph-projection';
132
137
  export interface RenderFeatureGraphRuntimeState {
133
138
  plans: readonly RenderFeaturePlannedFrame[];
134
139
  fullscreenEffects: ReadonlyMap<string, import('../fullscreen-post-process-pass').PostProcessShaderEntry>;
135
140
  }
141
+ /** The exact fields that define one validated feature-plan collection. */
142
+ export interface RenderFeaturePlanRevisionEntry {
143
+ readonly featureIdentity: string;
144
+ readonly generation: number;
145
+ readonly signature: string;
146
+ readonly order: number;
147
+ }
148
+ /** Compact graph-owner state for a completely validated feature-plan set. */
149
+ export interface RenderFeaturePlanRevisionState {
150
+ readonly revision: number;
151
+ readonly entries: readonly RenderFeaturePlanRevisionEntry[];
152
+ }
153
+ /**
154
+ * Advance the plan revision only when the complete canonical plan collection
155
+ * changes. Equality is an exact field comparison; the canonical signatures
156
+ * have already been recomputed by validation before this helper is called.
157
+ */
158
+ export declare function updateRenderFeaturePlanRevision(previous: RenderFeaturePlanRevisionState, plans: readonly RenderFeaturePlannedFrame[], executions: readonly RenderFeaturePlanExecution[]): RenderFeaturePlanRevisionState;
136
159
  /** A frame-local graph candidate that is committed only after compilation. */
137
160
  export interface RenderFeatureGraphCandidate {
138
161
  readonly plans: readonly RenderFeaturePlannedFrame[];
139
162
  readonly fullscreenEffects: ReadonlyMap<string, import('../fullscreen-post-process-pass').PostProcessShaderEntry>;
140
163
  /**
141
- * Physical prepared resources are imported into the compiled graph. A new
142
- * prepared batch therefore needs a new graph even when the declarative plan
143
- * signature is unchanged; otherwise queue retirement can destroy the buffer
144
- * still referenced by the memoized graph.
164
+ * Physical transient graphics resources are imported into the compiled
165
+ * graph. Their lease therefore needs a new graph even when the declarative
166
+ * plan signature is unchanged; otherwise queue retirement could destroy a
167
+ * buffer still referenced by the memoized graph. Retired GPU-work leases are
168
+ * kept in the completion batch but are not imported by this candidate and do
169
+ * not require a graph revision on their own.
145
170
  */
146
171
  readonly preparedResourceKey?: string;
147
172
  /** Release candidate-owned prepared resources when graph promotion fails. */
148
173
  readonly onRejected?: () => void;
149
174
  /** Publish candidate-owned runtime declarations only after graph promotion. */
150
175
  readonly onAccepted?: () => void;
176
+ /** Consume producer frame state only after the command buffer is submitted. */
177
+ readonly onSubmitted?: () => void;
178
+ /** Discard producer frame state after graph execution/submission aborts. */
179
+ readonly onAborted?: () => void;
151
180
  /** Discard candidate-only resources when a base graph is kept as fallback. */
152
181
  readonly onAbandoned?: () => void;
153
182
  }
183
+ export declare function getRenderFeatureGraphInspection(internals: RenderSystemInternals): RenderFeatureGraphInspection;
184
+ export declare function recordRenderFeatureCandidate(internals: RenderSystemInternals, candidate: RenderFeatureGraphCandidate): void;
154
185
  export declare function getRenderFeatureGraphState(internals: RenderSystemInternals): RenderFeatureGraphRuntimeState;
155
186
  export declare function resetRenderFeatureGraphState(internals: RenderSystemInternals): void;
156
187
  export declare function reportRenderFeatureGraphError(internals: RenderSystemInternals, error: RenderError): void;
@@ -173,10 +204,10 @@ export declare function resolvePostProcessChainAdmission(effects: readonly strin
173
204
  * leave the renderer without a graph when this was the first attempt).
174
205
  */
175
206
  export declare function settleVolumetricFogGraphCandidate(frameState: RenderFrameState, submitted: boolean): void;
176
- export declare function ensureCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState, camera: CameraSnapshot, lights: ExtractedLights, width: number, height: number, shadowMapSize: number | undefined, gpuDriven?: PreparedGpuDrivenFrame, featureGraphCandidate?: RenderFeatureGraphCandidate, cubeCaptureState?: CubeCaptureGraphState, clearOnly?: boolean, transmissionDemand?: TransmissionDemand, occlusion?: import('../scene/visibility/occlusion-runtime').OcclusionFrameProjection, volumetricFog?: ExtractedVolumetricFog, volumeTopologyCandidate?: boolean, standardLighting?: StandardTopologyInputValue, onRecoveryError?: (error: unknown) => void): CompiledRenderGraph<RenderPipelineFrame> | null;
207
+ export declare function ensureCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState, camera: CameraSnapshot, lights: ExtractedLights, width: number, height: number, shadowMapSize: number | undefined, gpuDriven?: PreparedGpuDrivenFrame, featureGraphCandidate?: RenderFeatureGraphCandidate, cubeCaptureState?: CubeCaptureGraphState, clearOnly?: boolean, transmissionDemand?: TransmissionDemand, occlusion?: import('../scene/visibility/occlusion-runtime').OcclusionFrameProjection, volumetricFog?: ExtractedVolumetricFog, volumeTopologyCandidate?: boolean, standardLighting?: StandardTopologyInputValue, onRecoveryError?: (error: unknown) => void, ssr?: SsrSpatialAdmission, renderExtent?: RenderExtent): CompiledRenderGraph<RenderPipelineFrame> | null;
177
208
  export declare function executeCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, frame: RenderPipelineFrame, encoder: RhiCommandEncoder, runPass?: import('@forgeax/engine-render-graph').RenderGraphPassRunner, frameHooks?: {
178
209
  readonly afterGraphExecute?: () => Result<void, RhiError>;
179
210
  readonly onSubmitted?: () => void;
180
211
  readonly onAborted?: () => void;
181
- }, readbackFaces?: readonly number[], onSubmitted?: (completed: Promise<unknown>) => void, timingCapture?: GpuTimingCapture): boolean;
212
+ } | (() => void), readbackFaces?: readonly number[], onSubmitted?: (completed: Promise<unknown>) => void, timingCapture?: GpuTimingCapture): boolean;
182
213
  //# sourceMappingURL=typed-frame-graph.d.ts.map