@forgeax/engine-render 0.1.28 → 0.1.29

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 (642) hide show
  1. package/README.md +627 -124
  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/dynamic-geometry-host.d.ts +21 -0
  5. package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
  6. package/dist/assembly/dynamic-geometry-runtime.d.ts +20 -0
  7. package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -0
  8. package/dist/assembly/factory.d.ts +3 -1
  9. package/dist/assembly/factory.d.ts.map +1 -1
  10. package/dist/assembly/gpu-driven-owner.d.ts +10 -0
  11. package/dist/assembly/gpu-driven-owner.d.ts.map +1 -0
  12. package/dist/assembly/host-contract.d.ts +8 -0
  13. package/dist/assembly/host-contract.d.ts.map +1 -1
  14. package/dist/assembly/material/assembly.d.ts +7 -0
  15. package/dist/assembly/material/assembly.d.ts.map +1 -1
  16. package/dist/assembly/material-shader-policy.d.ts +3 -1
  17. package/dist/assembly/material-shader-policy.d.ts.map +1 -1
  18. package/dist/assembly/recovery/failure-location.d.ts +12 -0
  19. package/dist/assembly/recovery/failure-location.d.ts.map +1 -0
  20. package/dist/assembly/recovery/renderer-recover.d.ts +6 -4
  21. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
  22. package/dist/assembly/renderer-facade.d.ts.map +1 -1
  23. package/dist/assembly/renderer-feature-inspection.d.ts +5 -0
  24. package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -0
  25. package/dist/assembly/renderer-frame-transaction.d.ts +19 -0
  26. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  27. package/dist/assembly/renderer-helpers.d.ts +3 -0
  28. package/dist/assembly/renderer-helpers.d.ts.map +1 -1
  29. package/dist/assembly/renderer-inspection.d.ts +4 -0
  30. package/dist/assembly/renderer-inspection.d.ts.map +1 -1
  31. package/dist/assembly/shader-prewarm-policy.d.ts +6 -0
  32. package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -1
  33. package/dist/assembly/skin-palette-owner.d.ts +8 -0
  34. package/dist/assembly/skin-palette-owner.d.ts.map +1 -0
  35. package/dist/assembly/ssr-shader-prewarm.d.ts +6 -0
  36. package/dist/assembly/ssr-shader-prewarm.d.ts.map +1 -0
  37. package/dist/assembly/webgpu-device-loss.d.ts +15 -0
  38. package/dist/assembly/webgpu-device-loss.d.ts.map +1 -0
  39. package/dist/assembly/webgpu-pbr-ready.d.ts +38 -0
  40. package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -0
  41. package/dist/assembly/webgpu-ready-mipmap.d.ts +11 -0
  42. package/dist/assembly/webgpu-ready-mipmap.d.ts.map +1 -0
  43. package/dist/assembly/webgpu-ready.d.ts +7 -3
  44. package/dist/assembly/webgpu-ready.d.ts.map +1 -1
  45. package/dist/assembly/webgpu-renderer-bootstrap.d.ts +10 -0
  46. package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -0
  47. package/dist/assembly/webgpu-renderer-contract.d.ts +62 -0
  48. package/dist/assembly/webgpu-renderer-contract.d.ts.map +1 -0
  49. package/dist/assembly/webgpu-renderer-guards.d.ts +9 -0
  50. package/dist/assembly/webgpu-renderer-guards.d.ts.map +1 -0
  51. package/dist/assembly/webgpu-renderer-observation.d.ts +6 -0
  52. package/dist/assembly/webgpu-renderer-observation.d.ts.map +1 -0
  53. package/dist/assembly/webgpu-renderer-recovery-failure.d.ts +12 -0
  54. package/dist/assembly/webgpu-renderer-recovery-failure.d.ts.map +1 -0
  55. package/dist/assembly/webgpu-renderer.d.ts +7 -141
  56. package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
  57. package/dist/assembly/webgpu-vertex-layouts.d.ts +28 -84
  58. package/dist/assembly/webgpu-vertex-layouts.d.ts.map +1 -1
  59. package/dist/authoring.mjs +2 -2
  60. package/dist/{chunk-JAASCMXA.mjs → chunk-33XZFTQU.mjs} +245 -39
  61. package/dist/chunk-33XZFTQU.mjs.map +1 -0
  62. package/dist/{chunk-GF523LHF.mjs → chunk-BLXGONR2.mjs} +30 -12
  63. package/dist/chunk-BLXGONR2.mjs.map +1 -0
  64. package/dist/{chunk-J52NMQKR.mjs → chunk-BQVQOQJH.mjs} +1086 -838
  65. package/dist/chunk-BQVQOQJH.mjs.map +1 -0
  66. package/dist/{chunk-IQMKJLNU.mjs → chunk-BTWH7BP4.mjs} +386 -17
  67. package/dist/chunk-BTWH7BP4.mjs.map +1 -0
  68. package/dist/{chunk-MBU4ZVE7.mjs → chunk-FUODTTIA.mjs} +3921 -671
  69. package/dist/chunk-FUODTTIA.mjs.map +1 -0
  70. package/dist/{chunk-MYJ5RPJO.mjs → chunk-JQTSEI3Z.mjs} +3 -3
  71. package/dist/{chunk-MYJ5RPJO.mjs.map → chunk-JQTSEI3Z.mjs.map} +1 -1
  72. package/dist/{chunk-GE3SDD72.mjs → chunk-NICXSHAT.mjs} +16 -38
  73. package/dist/chunk-NICXSHAT.mjs.map +1 -0
  74. package/dist/{chunk-J6KACNOH.mjs → chunk-NRNXBLIJ.mjs} +577 -7
  75. package/dist/chunk-NRNXBLIJ.mjs.map +1 -0
  76. package/dist/{chunk-RBDBZ5R7.mjs → chunk-PA5DRJNI.mjs} +2 -2
  77. package/dist/chunk-PA5DRJNI.mjs.map +1 -0
  78. package/dist/{chunk-VSL23LZE.mjs → chunk-S4DNKQYQ.mjs} +1117 -445
  79. package/dist/chunk-S4DNKQYQ.mjs.map +1 -0
  80. package/dist/components/camera.d.ts +62 -2
  81. package/dist/components/camera.d.ts.map +1 -1
  82. package/dist/components/index.d.ts +1 -0
  83. package/dist/components/index.d.ts.map +1 -1
  84. package/dist/components/instances.d.ts +6 -20
  85. package/dist/components/instances.d.ts.map +1 -1
  86. package/dist/components/scene-instance.d.ts +2 -1
  87. package/dist/components/scene-instance.d.ts.map +1 -1
  88. package/dist/components/screen-space-reflection.d.ts +14 -0
  89. package/dist/components/screen-space-reflection.d.ts.map +1 -0
  90. package/dist/construct-renderer.mjs +12888 -7025
  91. package/dist/construct-renderer.mjs.map +1 -1
  92. package/dist/device/gpu-residency.d.ts +1 -12
  93. package/dist/device/gpu-residency.d.ts.map +1 -1
  94. package/dist/environment/background.d.ts +6 -0
  95. package/dist/environment/background.d.ts.map +1 -0
  96. package/dist/errors/gpu-driven.d.ts +6 -3
  97. package/dist/errors/gpu-driven.d.ts.map +1 -1
  98. package/dist/errors/render.d.ts +7 -4
  99. package/dist/errors/render.d.ts.map +1 -1
  100. package/dist/extract/camera.d.ts.map +1 -1
  101. package/dist/extract/gpu-driven.d.ts +33 -3
  102. package/dist/extract/gpu-driven.d.ts.map +1 -1
  103. package/dist/features/host.d.ts +23 -1
  104. package/dist/features/host.d.ts.map +1 -1
  105. package/dist/features/noise-texture.d.ts +17 -0
  106. package/dist/features/noise-texture.d.ts.map +1 -0
  107. package/dist/features/plan.d.ts +83 -2
  108. package/dist/features/plan.d.ts.map +1 -1
  109. package/dist/features/prepared-gpu-work.d.ts +37 -4
  110. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  111. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  112. package/dist/features/prepared-graphics.d.ts +5 -0
  113. package/dist/features/prepared-graphics.d.ts.map +1 -1
  114. package/dist/features/render-graph-compute.d.ts +5 -3
  115. package/dist/features/render-graph-compute.d.ts.map +1 -1
  116. package/dist/features/render-graph-contribution.d.ts +11 -3
  117. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  118. package/dist/features/render-graph-raster.d.ts +19 -3
  119. package/dist/features/render-graph-raster.d.ts.map +1 -1
  120. package/dist/features/types.d.ts +11 -0
  121. package/dist/features/types.d.ts.map +1 -1
  122. package/dist/fullscreen-post-process-pass.d.ts +2 -0
  123. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  124. package/dist/gpu-driven/batch-topology.d.ts +34 -1
  125. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  126. package/dist/gpu-driven/pbr-program.d.ts +10 -0
  127. package/dist/gpu-driven/pbr-program.d.ts.map +1 -0
  128. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
  129. package/dist/gpu-driven/production-raster.d.ts +144 -23
  130. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  131. package/dist/gpu-driven/shadow-views.d.ts +126 -0
  132. package/dist/gpu-driven/shadow-views.d.ts.map +1 -0
  133. package/dist/gpu-driven/view-gpu.d.ts +18 -2
  134. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  135. package/dist/gpu-scene-schema.d.ts +2 -8
  136. package/dist/gpu-scene-schema.d.ts.map +1 -1
  137. package/dist/gpu-scene.d.ts +14 -0
  138. package/dist/gpu-scene.d.ts.map +1 -1
  139. package/dist/gpu-texture-usage.d.ts +1 -0
  140. package/dist/gpu-texture-usage.d.ts.map +1 -1
  141. package/dist/hdrp-buffers.d.ts +6 -0
  142. package/dist/hdrp-buffers.d.ts.map +1 -1
  143. package/dist/ibl/frame-resources.d.ts +8 -0
  144. package/dist/ibl/frame-resources.d.ts.map +1 -0
  145. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  146. package/dist/index.d.ts +18 -8
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.mjs +8 -8
  149. package/dist/inspection-types.d.ts +164 -0
  150. package/dist/inspection-types.d.ts.map +1 -1
  151. package/dist/instances-derived-bounds.d.ts +11 -0
  152. package/dist/instances-derived-bounds.d.ts.map +1 -1
  153. package/dist/instances.d.ts +89 -44
  154. package/dist/instances.d.ts.map +1 -1
  155. package/dist/internal.d.ts +3 -0
  156. package/dist/internal.d.ts.map +1 -1
  157. package/dist/internal.mjs +117 -9
  158. package/dist/internal.mjs.map +1 -1
  159. package/dist/lifecycle.d.ts +2 -1
  160. package/dist/lifecycle.d.ts.map +1 -1
  161. package/dist/material-row.d.ts +5 -0
  162. package/dist/material-row.d.ts.map +1 -0
  163. package/dist/materials.d.ts +15 -0
  164. package/dist/materials.d.ts.map +1 -1
  165. package/dist/pbr-pipeline.d.ts +21 -5
  166. package/dist/pbr-pipeline.d.ts.map +1 -1
  167. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  168. package/dist/pipeline/standard-output/auto-exposure/capability.d.ts +12 -0
  169. package/dist/pipeline/standard-output/auto-exposure/capability.d.ts.map +1 -0
  170. package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts +70 -0
  171. package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts.map +1 -0
  172. package/dist/pipeline/standard-output/auto-exposure/graph.d.ts +75 -0
  173. package/dist/pipeline/standard-output/auto-exposure/graph.d.ts.map +1 -0
  174. package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts +111 -0
  175. package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts.map +1 -0
  176. package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts +16 -0
  177. package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts.map +1 -0
  178. package/dist/pipeline/standard-output/auto-exposure/preset.d.ts +14 -0
  179. package/dist/pipeline/standard-output/auto-exposure/preset.d.ts.map +1 -0
  180. package/dist/pipeline/standard-output/auto-exposure/state.d.ts +46 -0
  181. package/dist/pipeline/standard-output/auto-exposure/state.d.ts.map +1 -0
  182. package/dist/pipeline/standard-output/color-transform.d.ts +27 -0
  183. package/dist/pipeline/standard-output/color-transform.d.ts.map +1 -0
  184. package/dist/pipeline/standard-output/graph.d.ts +15 -0
  185. package/dist/pipeline/standard-output/graph.d.ts.map +1 -0
  186. package/dist/pipeline/standard-output/lut-admission.d.ts +29 -0
  187. package/dist/pipeline/standard-output/lut-admission.d.ts.map +1 -0
  188. package/dist/pipeline/standard-output/lut-gpu.d.ts +48 -0
  189. package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -0
  190. package/dist/pipeline/standard-output/lut-state.d.ts +68 -0
  191. package/dist/pipeline/standard-output/lut-state.d.ts.map +1 -0
  192. package/dist/pipeline/standard-output/resources.d.ts +10 -0
  193. package/dist/pipeline/standard-output/resources.d.ts.map +1 -0
  194. package/dist/pipeline/standard-output/types.d.ts +39 -0
  195. package/dist/pipeline/standard-output/types.d.ts.map +1 -0
  196. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  197. package/dist/pipeline/standard-post.d.ts +2 -2
  198. package/dist/pipeline/standard-post.d.ts.map +1 -1
  199. package/dist/pipeline-builder.d.ts +2 -1
  200. package/dist/pipeline-builder.d.ts.map +1 -1
  201. package/dist/pipeline-spec-types.d.ts +4 -0
  202. package/dist/pipeline-spec-types.d.ts.map +1 -1
  203. package/dist/pipeline-spec.d.ts +1 -9
  204. package/dist/pipeline-spec.d.ts.map +1 -1
  205. package/dist/points-lines/standard-owner.d.ts +1 -1
  206. package/dist/points-lines/standard-owner.d.ts.map +1 -1
  207. package/dist/prepare/prepared-graphics-resolver.d.ts +6 -1
  208. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  209. package/dist/record/dynamic-geometry-consumption.d.ts +15 -0
  210. package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -0
  211. package/dist/record/frame-lighting.d.ts +3 -3
  212. package/dist/record/frame-lighting.d.ts.map +1 -1
  213. package/dist/record/frame-snapshot.d.ts +106 -5
  214. package/dist/record/frame-snapshot.d.ts.map +1 -1
  215. package/dist/record/frame-targets.d.ts.map +1 -1
  216. package/dist/record/frame.d.ts +39 -4
  217. package/dist/record/frame.d.ts.map +1 -1
  218. package/dist/record/main-pass-geometry.d.ts +7 -8
  219. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  220. package/dist/record/main-pass-material.d.ts +38 -1
  221. package/dist/record/main-pass-material.d.ts.map +1 -1
  222. package/dist/record/main-pass-sprite-draws.d.ts +2 -10
  223. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  224. package/dist/record/main-pass.d.ts +12 -2
  225. package/dist/record/main-pass.d.ts.map +1 -1
  226. package/dist/record/mesh-ssbo.d.ts +15 -6
  227. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  228. package/dist/record/prepared-material-bindings.d.ts +19 -0
  229. package/dist/record/prepared-material-bindings.d.ts.map +1 -0
  230. package/dist/record/recovery-pipeline.d.ts +2 -9
  231. package/dist/record/recovery-pipeline.d.ts.map +1 -1
  232. package/dist/record/render-context.d.ts +74 -26
  233. package/dist/record/render-context.d.ts.map +1 -1
  234. package/dist/record/shadow-pass.d.ts +62 -7
  235. package/dist/record/shadow-pass.d.ts.map +1 -1
  236. package/dist/record/skybox-post-pass.d.ts +1 -1
  237. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  238. package/dist/record/typed-frame-graph.d.ts +35 -7
  239. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  240. package/dist/record/view-ubo.d.ts +1 -0
  241. package/dist/record/view-ubo.d.ts.map +1 -1
  242. package/dist/recovery/render-system-candidate.d.ts +10 -2
  243. package/dist/recovery/render-system-candidate.d.ts.map +1 -1
  244. package/dist/recovery/render-system-roots.d.ts +11 -0
  245. package/dist/recovery/render-system-roots.d.ts.map +1 -0
  246. package/dist/recovery/types.d.ts +76 -0
  247. package/dist/recovery/types.d.ts.map +1 -0
  248. package/dist/reflection/record-owner.d.ts +0 -2
  249. package/dist/reflection/record-owner.d.ts.map +1 -1
  250. package/dist/render-contract.d.ts +173 -30
  251. package/dist/render-contract.d.ts.map +1 -1
  252. package/dist/render-graph-primitives.d.ts +1 -0
  253. package/dist/render-graph-primitives.d.ts.map +1 -1
  254. package/dist/render-pipeline.d.ts +64 -5
  255. package/dist/render-pipeline.d.ts.map +1 -1
  256. package/dist/render-system-extract-tail.d.ts +7 -5
  257. package/dist/render-system-extract-tail.d.ts.map +1 -1
  258. package/dist/render-system-extract.d.ts +101 -41
  259. package/dist/render-system-extract.d.ts.map +1 -1
  260. package/dist/render-system-projections.d.ts +22 -0
  261. package/dist/render-system-projections.d.ts.map +1 -0
  262. package/dist/render-system.d.ts +27 -77
  263. package/dist/render-system.d.ts.map +1 -1
  264. package/dist/scene/render-scene-types.d.ts +14 -7
  265. package/dist/scene/render-scene-types.d.ts.map +1 -1
  266. package/dist/scene/render-scene.d.ts +29 -11
  267. package/dist/scene/render-scene.d.ts.map +1 -1
  268. package/dist/scene/shadow-visibility.d.ts +5 -0
  269. package/dist/scene/shadow-visibility.d.ts.map +1 -0
  270. package/dist/ssr/admission.d.ts +70 -1
  271. package/dist/ssr/admission.d.ts.map +1 -1
  272. package/dist/ssr/compose.d.ts +13 -0
  273. package/dist/ssr/compose.d.ts.map +1 -0
  274. package/dist/ssr/errors.d.ts +35 -0
  275. package/dist/ssr/errors.d.ts.map +1 -1
  276. package/dist/ssr/graph.d.ts +60 -0
  277. package/dist/ssr/graph.d.ts.map +1 -0
  278. package/dist/ssr/history.d.ts +97 -0
  279. package/dist/ssr/history.d.ts.map +1 -0
  280. package/dist/ssr/hiz.d.ts +37 -0
  281. package/dist/ssr/hiz.d.ts.map +1 -0
  282. package/dist/ssr/inspection.d.ts +42 -0
  283. package/dist/ssr/inspection.d.ts.map +1 -0
  284. package/dist/ssr/resources.d.ts +58 -0
  285. package/dist/ssr/resources.d.ts.map +1 -0
  286. package/dist/ssr/temporal.d.ts +38 -0
  287. package/dist/ssr/temporal.d.ts.map +1 -0
  288. package/dist/systems/skin-palette-allocator.d.ts +32 -10
  289. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  290. package/dist/systems/skin-palette-types.d.ts +15 -0
  291. package/dist/systems/skin-palette-types.d.ts.map +1 -1
  292. package/dist/systems/transparent-dispatch.d.ts +9 -0
  293. package/dist/systems/transparent-dispatch.d.ts.map +1 -0
  294. package/dist/targets/material-source.d.ts +7 -0
  295. package/dist/targets/material-source.d.ts.map +1 -1
  296. package/dist/temporal/frame-coordinator.d.ts +7 -0
  297. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  298. package/dist/temporal/gpu.d.ts +8 -0
  299. package/dist/temporal/gpu.d.ts.map +1 -1
  300. package/dist/temporal/history.d.ts.map +1 -1
  301. package/dist/temporal/index.mjs +6 -6
  302. package/dist/temporal/inspection.d.ts.map +1 -1
  303. package/dist/temporal/standard-scene-data.d.ts +2 -1
  304. package/dist/temporal/standard-scene-data.d.ts.map +1 -1
  305. package/dist/temporal/temporal-view.d.ts +2 -0
  306. package/dist/temporal/temporal-view.d.ts.map +1 -1
  307. package/dist/typed-render-graph-primitives.d.ts +35 -1
  308. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  309. package/dist/typed-shadow-passes.d.ts +3 -1
  310. package/dist/typed-shadow-passes.d.ts.map +1 -1
  311. package/dist/volume/temporal.d.ts +6 -0
  312. package/dist/volume/temporal.d.ts.map +1 -1
  313. package/package.json +21 -20
  314. package/src/__tests__/auto-exposure-gpu-evidence.ts +291 -0
  315. package/src/__tests__/auto-exposure-inspection.unit.test.ts +80 -0
  316. package/src/__tests__/auto-exposure-transaction.integration.test.ts +99 -0
  317. package/src/__tests__/auto-exposure.browser.test.ts +33 -0
  318. package/src/__tests__/auto-exposure.dawn.test.ts +33 -0
  319. package/src/__tests__/detached-inspection.integration.test.ts +5 -0
  320. package/src/__tests__/device-scope-lifecycle.unit.test.ts +18 -0
  321. package/src/__tests__/device-scope-stale-matrix.unit.test.ts +18 -0
  322. package/src/__tests__/docs-gate-green.unit.test.ts +3 -3
  323. package/src/__tests__/factory-contract.integration.test.ts +67 -8
  324. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +19 -0
  325. package/src/__tests__/feature-depth-input.dawn.test.ts +121 -0
  326. package/src/__tests__/feature-noise.unit.test.ts +38 -0
  327. package/src/__tests__/fixtures/taa-resolve-pinned-baseline.wgsl +301 -0
  328. package/src/__tests__/frame-camera-selection.unit.test.ts +131 -0
  329. package/src/__tests__/frame-plan-contract.unit.test.ts +24 -0
  330. package/src/__tests__/frame-targets.unit.test.ts +24 -0
  331. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +3 -0
  332. package/src/__tests__/gpu-driven-baseline.characterization.test.ts +79 -0
  333. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +287 -6
  334. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +122 -142
  335. package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +10 -1
  336. package/src/__tests__/gpu-driven-lod-cache.unit.test.ts +264 -0
  337. package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +349 -0
  338. package/src/__tests__/gpu-driven-pbr.dawn.test.ts +1417 -0
  339. package/src/__tests__/gpu-driven-pbr.integration.test.ts +21 -0
  340. package/src/__tests__/gpu-driven-production-fixture.ts +96 -0
  341. package/src/__tests__/gpu-driven-production.integration.test.ts +1075 -93
  342. package/src/__tests__/gpu-driven-scaling.unit.test.ts +1 -3
  343. package/src/__tests__/gpu-driven-shadow-views.browser.test.ts +63 -0
  344. package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +294 -0
  345. package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +97 -0
  346. package/src/__tests__/gpu-driven-shadow-views.unit.test.ts +168 -0
  347. package/src/__tests__/gpu-driven-skin-contract.test-d.ts +11 -0
  348. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +72 -20
  349. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +30 -9
  350. package/src/__tests__/gpu-driven-view.unit.test.ts +159 -52
  351. package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -1
  352. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +42 -0
  353. package/src/__tests__/gpu-scene-render-graph-gpu.ts +19 -5
  354. package/src/__tests__/gpu-scene.dawn.test.ts +40 -13
  355. package/src/__tests__/gpu-scene.unit.test.ts +559 -33
  356. package/src/__tests__/instances-culling.integration.test.ts +36 -10
  357. package/src/__tests__/instances-derived-bounds.unit.test.ts +54 -0
  358. package/src/__tests__/instances-store.unit.test.ts +242 -39
  359. package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +6 -0
  360. package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +13 -16
  361. package/src/__tests__/lut-lkg-transaction.integration.test.ts +122 -0
  362. package/src/__tests__/material-contract-inventory.unit.test.ts +5 -6
  363. package/src/__tests__/material-dispatch-shader-id.unit.test.ts +51 -0
  364. package/src/__tests__/material-lane-selection.unit.test.ts +60 -0
  365. package/src/__tests__/material-numeric-upload.unit.test.ts +53 -0
  366. package/src/__tests__/material-texture-handles.unit.test.ts +18 -0
  367. package/src/__tests__/material-texture-source.unit.test.ts +87 -0
  368. package/src/__tests__/materials-authoring-validation.unit.test.ts +41 -0
  369. package/src/__tests__/materials-standard-contract.unit.test.ts +52 -2
  370. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +4 -0
  371. package/src/__tests__/normal-fallback.dawn.test.ts +122 -0
  372. package/src/__tests__/particle-material-input-layout.unit.test.ts +104 -0
  373. package/src/__tests__/physical-clearcoat.integration.test.ts +37 -3
  374. package/src/__tests__/pipeline-texture-specialization.unit.test.ts +138 -0
  375. package/src/__tests__/point-shadow-inspection.unit.test.ts +2 -0
  376. package/src/__tests__/prepared-gpu-driven-pbr-contract.test-d.ts +31 -0
  377. package/src/__tests__/prepared-gpu-driven-pbr-contract.unit.test.ts +39 -0
  378. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +35 -4
  379. package/src/__tests__/prepared-graphics-capability.unit.test.ts +21 -0
  380. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +6 -2
  381. package/src/__tests__/profiler-phase-catalog.test.ts +5 -0
  382. package/src/__tests__/public-surface.test-d.ts +3 -0
  383. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +30 -12
  384. package/src/__tests__/reflection-fallback-async-publication.unit.test.ts +104 -0
  385. package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +2 -1
  386. package/src/__tests__/render-error-code-owner.test-d.ts +4 -0
  387. package/src/__tests__/render-error-detail-ssot.test-d.ts +22 -0
  388. package/src/__tests__/render-error-exhaustive.test-d.ts +15 -0
  389. package/src/__tests__/render-feature-gpu-work.integration.test.ts +285 -2
  390. package/src/__tests__/render-feature-plan.unit.test.ts +245 -0
  391. package/src/__tests__/render-feature-shadow-order.unit.test.ts +228 -0
  392. package/src/__tests__/render-feature-zero-work.unit.test.ts +35 -1
  393. package/src/__tests__/render-graph-fallback.integration.test.ts +2 -2
  394. package/src/__tests__/render-owner-cohesion.unit.test.ts +55 -0
  395. package/src/__tests__/render-scene-mixed-updates.integration.test.ts +426 -0
  396. package/src/__tests__/render-scene-projection.unit.test.ts +914 -23
  397. package/src/__tests__/render-scene-resource-updates.integration.test.ts +214 -0
  398. package/src/__tests__/render-scene-skin-lifecycle.integration.test.ts +173 -0
  399. package/src/__tests__/render-scene-temporal-retry.unit.test.ts +133 -0
  400. package/src/__tests__/render-target-material-source.test-d.ts +27 -3
  401. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +60 -0
  402. package/src/__tests__/renderer-frame-transaction.integration.test.ts +923 -5
  403. package/src/__tests__/shader-manifest-fixture.ts +39 -0
  404. package/src/__tests__/skin-motion-regression.unit.test.ts +0 -33
  405. package/src/__tests__/skin-palette-persistent.integration.test.ts +28 -0
  406. package/src/__tests__/skin-palette-persistent.unit.test.ts +247 -0
  407. package/src/__tests__/skinned-shadow-caster.test.ts +118 -14
  408. package/src/__tests__/specular-environment-scale.dawn.test.ts +156 -0
  409. package/src/__tests__/ssr-admission-matrix.integration.test.ts +7 -1
  410. package/src/__tests__/ssr-confidence-compose.unit.test.ts +84 -0
  411. package/src/__tests__/ssr-coordinate-oracle.unit.test.ts +28 -0
  412. package/src/__tests__/ssr-format-probe-gating.integration.test.ts +82 -0
  413. package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +91 -0
  414. package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +112 -0
  415. package/src/__tests__/ssr-gpu-dispatch.ts +946 -0
  416. package/src/__tests__/ssr-graph-topology.unit.test.ts +104 -0
  417. package/src/__tests__/ssr-history-filter.dawn.test.ts +198 -0
  418. package/src/__tests__/ssr-hit-color.dawn.test.ts +273 -0
  419. package/src/__tests__/ssr-hiz-odd-reduction.dawn.test.ts +569 -0
  420. package/src/__tests__/ssr-hiz-rescue.dawn.test.ts +279 -0
  421. package/src/__tests__/ssr-hiz.browser.test.ts +150 -0
  422. package/src/__tests__/ssr-hiz.dawn.test.ts +150 -0
  423. package/src/__tests__/ssr-hiz.unit.test.ts +56 -0
  424. package/src/__tests__/ssr-inspection.unit.test.ts +105 -0
  425. package/src/__tests__/ssr-memory-budget.unit.test.ts +45 -0
  426. package/src/__tests__/ssr-performance-sequence-aggregation.unit.test.ts +15 -0
  427. package/src/__tests__/ssr-public-surface.test-d.ts +37 -0
  428. package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +387 -0
  429. package/src/__tests__/ssr-reflection-mip-reducer.dawn.test.ts +309 -0
  430. package/src/__tests__/ssr-reprojection-probe.ts +90 -0
  431. package/src/__tests__/ssr-roughness-mip.dawn.test.ts +163 -0
  432. package/src/__tests__/ssr-shader-prewarm.unit.test.ts +59 -0
  433. package/src/__tests__/ssr-spatial.integration.test.ts +141 -0
  434. package/src/__tests__/ssr-stable-lattice.dawn.test.ts +475 -0
  435. package/src/__tests__/ssr-temporal-history.unit.test.ts +202 -0
  436. package/src/__tests__/ssr-texel-crossing.dawn.test.ts +448 -0
  437. package/src/__tests__/ssr-zero-work.integration.test.ts +87 -0
  438. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +44 -12
  439. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +29 -0
  440. package/src/__tests__/standard-output-chain-contract.unit.test.ts +99 -0
  441. package/src/__tests__/standard-output-chain.integration.test.ts +73 -0
  442. package/src/__tests__/standard-output-gpu-evidence.ts +205 -0
  443. package/src/__tests__/standard-output.browser.test.ts +15 -0
  444. package/src/__tests__/standard-output.dawn.test.ts +15 -0
  445. package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +38 -0
  446. package/src/__tests__/standard-pipeline.integration.test.ts +320 -3
  447. package/src/__tests__/standard-profile-oracle.unit.test.ts +22 -0
  448. package/src/__tests__/standard-surface-lighting.unit.test.ts +41 -0
  449. package/src/__tests__/standard-texture-specialization.dawn.test.ts +141 -0
  450. package/src/__tests__/surface-adjacent-regressions.integration.test.ts +6 -3
  451. package/src/__tests__/taa-coverage-edge.dawn.test.ts +193 -0
  452. package/src/__tests__/taa-history-clipping.dawn.test.ts +328 -0
  453. package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +778 -0
  454. package/src/__tests__/taa-stability-feedback.browser.test.ts +23 -0
  455. package/src/__tests__/taa-stability-feedback.dawn.test.ts +68 -0
  456. package/src/__tests__/taa-stability-feedback.ts +341 -0
  457. package/src/__tests__/temporal-history-lifecycle.unit.test.ts +49 -7
  458. package/src/__tests__/temporal-reset-matrix.unit.test.ts +9 -0
  459. package/src/__tests__/temporal-transaction.integration.test.ts +28 -0
  460. package/src/__tests__/texture-usage-surface.unit.test.ts +4 -2
  461. package/src/__tests__/typed-pipeline-topology.unit.test.ts +109 -4
  462. package/src/__tests__/typed-scene-pass-material-cache.integration.test.ts +126 -0
  463. package/src/__tests__/vertex-layouts-ssot.unit.test.ts +47 -0
  464. package/src/__tests__/visibility-extract.perf.test.ts +20 -8
  465. package/src/__tests__/visibility-instances.integration.test.ts +19 -7
  466. package/src/__tests__/visibility-producer-matrix.integration.test.ts +20 -9
  467. package/src/assembly/atmosphere-shader-prewarm.ts +38 -0
  468. package/src/assembly/dynamic-geometry-host.ts +48 -0
  469. package/src/assembly/dynamic-geometry-runtime.ts +71 -0
  470. package/src/assembly/factory.ts +4 -0
  471. package/src/assembly/gpu-driven-owner.ts +29 -0
  472. package/src/assembly/host-contract.ts +10 -0
  473. package/src/assembly/material/assembly.ts +38 -0
  474. package/src/assembly/material-shader-policy.ts +71 -28
  475. package/src/assembly/recovery/failure-location.ts +62 -0
  476. package/src/assembly/recovery/renderer-recover.ts +19 -17
  477. package/src/assembly/renderer-facade.ts +12 -0
  478. package/src/assembly/renderer-feature-inspection.ts +13 -0
  479. package/src/assembly/renderer-frame-transaction.ts +63 -0
  480. package/src/assembly/renderer-helpers.ts +26 -0
  481. package/src/assembly/renderer-inspection.ts +6 -0
  482. package/src/assembly/shader-prewarm-policy.ts +32 -0
  483. package/src/assembly/skin-palette-owner.ts +21 -0
  484. package/src/assembly/ssr-shader-prewarm.ts +41 -0
  485. package/src/assembly/webgpu-device-loss.ts +75 -0
  486. package/src/assembly/webgpu-pbr-ready.ts +232 -0
  487. package/src/assembly/webgpu-ready-mipmap.ts +26 -0
  488. package/src/assembly/webgpu-ready.ts +142 -121
  489. package/src/assembly/webgpu-renderer-bootstrap.ts +85 -0
  490. package/src/assembly/webgpu-renderer-contract.ts +69 -0
  491. package/src/assembly/webgpu-renderer-guards.ts +32 -0
  492. package/src/assembly/webgpu-renderer-observation.ts +43 -0
  493. package/src/assembly/webgpu-renderer-recovery-failure.ts +62 -0
  494. package/src/assembly/webgpu-renderer.ts +666 -652
  495. package/src/assembly/webgpu-vertex-layouts.ts +233 -87
  496. package/src/components/__tests__/camera-exposure.contract.unit.test.ts +153 -0
  497. package/src/components/camera.ts +287 -7
  498. package/src/components/index.ts +1 -0
  499. package/src/components/instances.ts +45 -18
  500. package/src/components/scene-instance.ts +2 -1
  501. package/src/components/screen-space-reflection.ts +21 -0
  502. package/src/components/sprite-animation.ts +2 -2
  503. package/src/components/sprite-instances.ts +1 -1
  504. package/src/device/gpu-residency.ts +34 -31
  505. package/src/environment/background.ts +263 -0
  506. package/src/errors/gpu-driven.ts +39 -5
  507. package/src/errors/render.ts +27 -3
  508. package/src/extract/camera.ts +26 -1
  509. package/src/extract/gpu-driven.ts +185 -10
  510. package/src/features/host.ts +237 -19
  511. package/src/features/noise-texture.ts +91 -0
  512. package/src/features/plan.ts +553 -24
  513. package/src/features/prepared-gpu-work.ts +631 -49
  514. package/src/features/prepared-graphics-store.ts +31 -0
  515. package/src/features/prepared-graphics.ts +5 -0
  516. package/src/features/render-graph-compute.ts +41 -8
  517. package/src/features/render-graph-contribution.ts +141 -3
  518. package/src/features/render-graph-raster.ts +143 -30
  519. package/src/features/types.ts +11 -0
  520. package/src/fullscreen-post-process-pass.ts +3 -0
  521. package/src/gpu-driven/batch-topology.ts +424 -102
  522. package/src/gpu-driven/pbr-program.ts +31 -0
  523. package/src/gpu-driven/prepared-draw.ts +29 -4
  524. package/src/gpu-driven/production-raster.ts +2267 -694
  525. package/src/gpu-driven/shadow-views.ts +539 -0
  526. package/src/gpu-driven/view-gpu.ts +188 -41
  527. package/src/gpu-scene-schema.ts +52 -11
  528. package/src/gpu-scene.ts +186 -99
  529. package/src/gpu-texture-usage.ts +1 -0
  530. package/src/hdrp-buffers.ts +72 -36
  531. package/src/ibl/frame-resources.ts +38 -0
  532. package/src/ibl/skylight-bind-group.ts +5 -4
  533. package/src/index.ts +109 -1
  534. package/src/inspection-types.ts +191 -0
  535. package/src/instances-derived-bounds.ts +258 -34
  536. package/src/instances.ts +459 -150
  537. package/src/internal.ts +22 -0
  538. package/src/lifecycle.ts +2 -0
  539. package/src/material-row.ts +145 -0
  540. package/src/materials.ts +44 -8
  541. package/src/pbr-pipeline.ts +159 -17
  542. package/src/pipeline/standard-forward-lane.ts +52 -24
  543. package/src/pipeline/standard-output/__tests__/lut-admission.unit.test.ts +103 -0
  544. package/src/pipeline/standard-output/auto-exposure/__tests__/capability.unit.test.ts +40 -0
  545. package/src/pipeline/standard-output/auto-exposure/__tests__/gpu.contract.unit.test.ts +125 -0
  546. package/src/pipeline/standard-output/auto-exposure/__tests__/graph.contract.unit.test.ts +94 -0
  547. package/src/pipeline/standard-output/auto-exposure/__tests__/oracle.test.ts +108 -0
  548. package/src/pipeline/standard-output/auto-exposure/__tests__/preset.test.ts +26 -0
  549. package/src/pipeline/standard-output/auto-exposure/capability.ts +38 -0
  550. package/src/pipeline/standard-output/auto-exposure/gpu.ts +567 -0
  551. package/src/pipeline/standard-output/auto-exposure/graph.ts +221 -0
  552. package/src/pipeline/standard-output/auto-exposure/inspection.ts +231 -0
  553. package/src/pipeline/standard-output/auto-exposure/oracle.ts +291 -0
  554. package/src/pipeline/standard-output/auto-exposure/preset.ts +28 -0
  555. package/src/pipeline/standard-output/auto-exposure/state.ts +156 -0
  556. package/src/pipeline/standard-output/color-transform.ts +124 -0
  557. package/src/pipeline/standard-output/graph.ts +139 -0
  558. package/src/pipeline/standard-output/lut-admission.ts +121 -0
  559. package/src/pipeline/standard-output/lut-gpu.ts +399 -0
  560. package/src/pipeline/standard-output/lut-state.ts +176 -0
  561. package/src/pipeline/standard-output/resources.ts +121 -0
  562. package/src/pipeline/standard-output/types.ts +58 -0
  563. package/src/pipeline/standard-pipeline.ts +192 -59
  564. package/src/pipeline/standard-post.ts +186 -27
  565. package/src/pipeline-builder.ts +16 -6
  566. package/src/pipeline-spec-types.ts +4 -0
  567. package/src/pipeline-spec.ts +37 -29
  568. package/src/points-lines/standard-owner.ts +6 -14
  569. package/src/prepare/prepared-graphics-resolver.ts +9 -2
  570. package/src/record/__tests__/material-slot-plan.unit.test.ts +48 -0
  571. package/src/record/__tests__/mesh-ssbo.unit.test.ts +40 -1
  572. package/src/record/__tests__/recovery-pipeline.unit.test.ts +2 -29
  573. package/src/record/__tests__/sprite-material-abi.unit.test.ts +36 -5
  574. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +45 -0
  575. package/src/record/__tests__/view-ubo-layout.unit.test.ts +5 -0
  576. package/src/record/dynamic-geometry-consumption.ts +59 -0
  577. package/src/record/frame-lighting.ts +12 -11
  578. package/src/record/frame-snapshot.ts +133 -23
  579. package/src/record/frame-targets.ts +9 -0
  580. package/src/record/frame.ts +725 -133
  581. package/src/record/main-pass-geometry.ts +149 -94
  582. package/src/record/main-pass-material.ts +115 -26
  583. package/src/record/main-pass-sprite-draws.ts +16 -107
  584. package/src/record/main-pass.ts +78 -8
  585. package/src/record/material-uniforms.ts +1 -1
  586. package/src/record/mesh-ssbo.ts +59 -15
  587. package/src/record/prepared-material-bindings.ts +234 -0
  588. package/src/record/recovery-pipeline.ts +59 -136
  589. package/src/record/render-context.ts +90 -22
  590. package/src/record/shadow-pass.ts +1231 -209
  591. package/src/record/skybox-post-pass.ts +14 -3
  592. package/src/record/typed-frame-graph.ts +1004 -44
  593. package/src/record/view-ubo.ts +11 -0
  594. package/src/recovery/render-system-candidate.ts +90 -66
  595. package/src/recovery/render-system-roots.ts +113 -0
  596. package/src/recovery/types.ts +77 -0
  597. package/src/reflection/record-owner.ts +26 -54
  598. package/src/render-contract.ts +195 -25
  599. package/src/render-graph-primitives.ts +6 -2
  600. package/src/render-pipeline.ts +70 -1
  601. package/src/render-system-extract-tail.ts +409 -160
  602. package/src/render-system-extract.ts +376 -102
  603. package/src/render-system-projections.ts +241 -0
  604. package/src/render-system.ts +681 -822
  605. package/src/scene/render-scene-types.ts +13 -4
  606. package/src/scene/render-scene.ts +569 -355
  607. package/src/scene/shadow-visibility.ts +21 -0
  608. package/src/ssr/admission.ts +380 -14
  609. package/src/ssr/compose.ts +144 -0
  610. package/src/ssr/errors.ts +48 -0
  611. package/src/ssr/graph.ts +777 -0
  612. package/src/ssr/history.ts +436 -0
  613. package/src/ssr/hiz.ts +124 -0
  614. package/src/ssr/inspection.ts +124 -0
  615. package/src/ssr/resources.ts +202 -0
  616. package/src/ssr/temporal.ts +164 -0
  617. package/src/systems/skin-palette-allocator.ts +495 -148
  618. package/src/systems/skin-palette-types.ts +17 -0
  619. package/src/systems/transparent-dispatch.ts +90 -0
  620. package/src/targets/material-source.ts +34 -0
  621. package/src/temporal/coverage.ts +1 -1
  622. package/src/temporal/frame-coordinator.ts +23 -2
  623. package/src/temporal/gpu.ts +74 -12
  624. package/src/temporal/history.ts +3 -1
  625. package/src/temporal/inspection.ts +2 -1
  626. package/src/temporal/standard-scene-data.ts +3 -1
  627. package/src/temporal/temporal-view.ts +3 -0
  628. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +204 -139
  629. package/src/typed-render-graph-primitives.ts +266 -74
  630. package/src/typed-shadow-passes.ts +122 -12
  631. package/src/volume/temporal.ts +10 -0
  632. package/dist/chunk-GE3SDD72.mjs.map +0 -1
  633. package/dist/chunk-GF523LHF.mjs.map +0 -1
  634. package/dist/chunk-IQMKJLNU.mjs.map +0 -1
  635. package/dist/chunk-J52NMQKR.mjs.map +0 -1
  636. package/dist/chunk-J6KACNOH.mjs.map +0 -1
  637. package/dist/chunk-JAASCMXA.mjs.map +0 -1
  638. package/dist/chunk-MBU4ZVE7.mjs.map +0 -1
  639. package/dist/chunk-RBDBZ5R7.mjs.map +0 -1
  640. package/dist/chunk-VSL23LZE.mjs.map +0 -1
  641. package/src/__tests__/instances-world-ownership.integration.test.ts +0 -62
  642. package/src/scene/__tests__/changed-block-summary.candidate.test.ts +0 -36
@@ -0,0 +1,68 @@
1
+ import { type Result } from '@forgeax/engine-types';
2
+ export type StandardLutResetReason = 'device-recovered' | 'resource-removed' | 'validation-failed';
3
+ export type StandardLutStateErrorCode = 'standard-lut-stale-generation' | 'standard-lut-invalid-resident';
4
+ export interface StandardLutStateError {
5
+ readonly code: StandardLutStateErrorCode;
6
+ readonly expected: string;
7
+ readonly hint: string;
8
+ readonly detail: Readonly<Record<string, number | string>>;
9
+ }
10
+ /** Bounded preparation failure retained for recovery and detached inspection. */
11
+ export interface StandardLutFailure {
12
+ readonly code: string;
13
+ readonly expected: string;
14
+ readonly hint: string;
15
+ readonly detail: Readonly<Record<string, number | string | boolean>>;
16
+ }
17
+ export interface StandardLutState {
18
+ readonly resident: string | null;
19
+ readonly lastKnownGood: string | null;
20
+ readonly sourceKey: string | null;
21
+ readonly targetGeneration: number;
22
+ readonly deviceEpoch: number;
23
+ readonly recentFailure?: StandardLutFailure;
24
+ readonly reset: readonly StandardLutResetReason[];
25
+ readonly receipt: Readonly<{
26
+ frameId: number;
27
+ committed: boolean;
28
+ }>;
29
+ }
30
+ export interface StandardLutCandidate {
31
+ readonly resident: string;
32
+ readonly sourceKey?: string;
33
+ readonly generation: number;
34
+ readonly deviceEpoch: number;
35
+ readonly frameId: number;
36
+ }
37
+ export declare function createStandardLutState(input?: {
38
+ readonly resident?: string | null;
39
+ readonly targetGeneration?: number;
40
+ readonly deviceEpoch?: number;
41
+ readonly frameId?: number;
42
+ }): StandardLutState;
43
+ export declare function prepareStandardLutCandidate(state: StandardLutState, candidate: StandardLutCandidate): Result<StandardLutCandidate, StandardLutStateError>;
44
+ /** Publish LUT residency only after the owning frame has submitted. */
45
+ export declare function commitStandardLutCandidate(state: StandardLutState, candidate: StandardLutCandidate): StandardLutState;
46
+ /** Keep the accepted/LKG resource while recording a failed replacement. */
47
+ export declare function recordStandardLutFailure(state: StandardLutState, failure: StandardLutFailure): StandardLutState;
48
+ /** Detached, bounded LUT facts for renderer inspection. */
49
+ export interface StandardLutInspection {
50
+ readonly resident: string | null;
51
+ readonly lastKnownGood: string | null;
52
+ readonly sourceKey: string | null;
53
+ readonly targetGeneration: number;
54
+ readonly deviceEpoch: number;
55
+ readonly recentFailure?: StandardLutFailure;
56
+ readonly reset: readonly StandardLutResetReason[];
57
+ readonly receipt: Readonly<{
58
+ frameId: number;
59
+ committed: boolean;
60
+ }>;
61
+ }
62
+ export declare function inspectStandardLutState(state: StandardLutState): Readonly<StandardLutInspection>;
63
+ /** Retire device-bound residency while retaining the compatible LKG identity. */
64
+ export declare function resetStandardLutState(state: StandardLutState, reason: StandardLutResetReason, input: {
65
+ readonly targetGeneration: number;
66
+ readonly deviceEpoch: number;
67
+ }): StandardLutState;
68
+ //# sourceMappingURL=lut-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lut-state.d.ts","sourceRoot":"","sources":["../../../src/pipeline/standard-output/lut-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { World } from '@forgeax/engine-ecs';
2
+ import { type Result, RhiError } from '@forgeax/engine-rhi';
3
+ import type { RenderFrameState } from '../../record/frame-snapshot';
4
+ import type { RenderSystemInternals } from '../../record/render-context';
5
+ import type { CameraSnapshot } from '../../render-contract';
6
+ /** Ordinary frames and detached recovery graphs prepare the same output resources. */
7
+ export declare function prepareStandardOutputResources(state: RenderFrameState, internals: RenderSystemInternals, camera: CameraSnapshot | undefined, world: World): Result<void, RhiError>;
8
+ /** Drop lost-device handles without destroying them; retain only reset CPU/LKG facts. */
9
+ export declare function resetStandardOutputForDeviceLoss(state: RenderFrameState, deviceEpoch: number): void;
10
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/pipeline/standard-output/resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAW,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,sFAAsF;AACtF,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,qBAAqB,EAChC,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CA6ExB;AAED,yFAAyF;AACzF,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,MAAM,GAClB,IAAI,CAiBN"}
@@ -0,0 +1,39 @@
1
+ import type { ColorValueDomain } from '@forgeax/engine-render-graph';
2
+ export declare const STANDARD_OUTPUT_LOGICAL_STAGES: readonly ["temporal", "meter", "bloom", "exposure-white-balance", "tone", "lut", "fxaa", "output-encoding"];
3
+ export type StandardOutputLogicalStage = (typeof STANDARD_OUTPUT_LOGICAL_STAGES)[number];
4
+ export type StandardOutputLane = 'direct' | 'clustered';
5
+ export type StandardOutputEncoding = 'explicit-oetf' | 'srgb-attachment';
6
+ export interface StandardColorLutBinding {
7
+ readonly viewDimension: '3d';
8
+ readonly size: number;
9
+ readonly strength: number;
10
+ }
11
+ export interface StandardOutputRequest {
12
+ readonly lane: StandardOutputLane;
13
+ readonly temporal: boolean;
14
+ readonly meter: boolean;
15
+ readonly bloom: boolean;
16
+ readonly exposure: boolean;
17
+ readonly whiteBalance: boolean;
18
+ readonly lut: boolean;
19
+ readonly fxaa: boolean;
20
+ readonly outputEncoding: StandardOutputEncoding;
21
+ }
22
+ export interface StandardOutputPhysicalStage {
23
+ readonly name: StandardOutputLogicalStage;
24
+ readonly input: ColorValueDomain;
25
+ readonly output: ColorValueDomain;
26
+ }
27
+ export interface StandardOutputPlan {
28
+ readonly lane: StandardOutputLane;
29
+ readonly features: Readonly<Pick<StandardOutputRequest, 'temporal' | 'meter' | 'bloom' | 'exposure' | 'whiteBalance' | 'lut' | 'fxaa'>>;
30
+ readonly outputEncoding: StandardOutputEncoding;
31
+ readonly logicalStages: readonly StandardOutputLogicalStage[];
32
+ readonly physicalStages: readonly StandardOutputPhysicalStage[];
33
+ readonly finalWriterCount: 1;
34
+ readonly outputEncodingCount: 1;
35
+ readonly incrementalResources: readonly string[];
36
+ readonly incrementalBindings: number;
37
+ readonly incrementalTimestamps: number;
38
+ }
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/standard-output/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,eAAO,MAAM,8BAA8B,6GASjC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AACzF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;CACjD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CACzB,IAAI,CACF,qBAAqB,EACrB,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,KAAK,GAAG,MAAM,CAC9E,CACF,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC9D,QAAQ,CAAC,cAAc,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAChE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"standard-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/standard-pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAA6B,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,oBAAoB,CAAC;AAsC5B,OAAO,EAGL,oBAAoB,EACpB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,iEAAiE;AACjE,eAAO,MAAM,gCAAgC,ykEA6D5C,CAAC;AACF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,MAAM,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,2BAA2B,CAAC,CAkB3E;AA4SD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,oBAAoB,CAAC;CAChD;AAED,wBAAgB,uCAAuC,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE1F;AAED,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAiG1C,eAAO,MAAM,gBAAgB,EAAE,gBAG7B,CAAC;AAEH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"standard-pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/standard-pipeline.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAA6B,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,oBAAoB,CAAC;AAwC5B,OAAO,EAGL,oBAAoB,EACpB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,iEAAiE;AACjE,eAAO,MAAM,gCAAgC,ykEA6D5C,CAAC;AACF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,MAAM,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,2BAA2B,CAAC,CAkB3E;AA2aD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,oBAAoB,CAAC;CAChD;AAED,wBAAgB,uCAAuC,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE1F;AAED,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAiG1C,eAAO,MAAM,gBAAgB,EAAE,gBAG7B,CAAC;AAEH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CompiledRenderGraphInfo } from '@forgeax/engine-render-graph';
1
+ import type { CompiledRenderGraphInfo, GraphTextureView } from '@forgeax/engine-render-graph';
2
2
  import { type Result } from '@forgeax/engine-types';
3
3
  import type { RenderPipelineBuildContext, RenderPipelineBuildError, RenderPipelineFrame, RenderPipelineTopology } from '../render-pipeline';
4
4
  import { type RenderPipelineTarget } from '../render-pipeline';
@@ -43,6 +43,6 @@ export declare function inspectStandardBloomGraph(graph: CompiledRenderGraphInfo
43
43
  * path exact-zero while preserving the existing half-resolution four-pass
44
44
  * implementation for the enabled path.
45
45
  */
46
- export declare function addStandardPost(context: RenderPipelineBuildContext<RenderPipelineFrame>, topology: RenderPipelineTopology, scene: RenderPipelineTarget, depth: RenderPipelineTarget, surface: StandardPostSurface, sceneTemporal?: RenderPipelineTarget): Result<void, RenderPipelineBuildError>;
46
+ export declare function addStandardPost(context: RenderPipelineBuildContext<RenderPipelineFrame>, topology: RenderPipelineTopology, scene: RenderPipelineTarget, depth: RenderPipelineTarget, surface: StandardPostSurface, sceneTemporal?: RenderPipelineTarget, secondaryReactivity?: GraphTextureView): Result<void, RenderPipelineBuildError>;
47
47
  export {};
48
48
  //# sourceMappingURL=standard-post.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standard-post.d.ts","sourceRoot":"","sources":["../../src/pipeline/standard-post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAA0B,MAAM,8BAA8B,CAAC;AAEpG,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAW5B,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,oFAAoF;AACpF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAQtC,CAAC;AAEF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAyCD,8EAA8E;AAC9E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,GAAG,SAAS,GACzC,4BAA4B,CA8B9B;AAyBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,0BAA0B,CAAC,mBAAmB,CAAC,EACxD,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,GACnC,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAsOxC"}
1
+ {"version":3,"file":"standard-post.d.ts","sourceRoot":"","sources":["../../src/pipeline/standard-post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAEvB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAiB5B,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,oFAAoF;AACpF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAQtC,CAAC;AAEF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAyCD,8EAA8E;AAC9E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,GAAG,SAAS,GACzC,4BAA4B,CA8B9B;AAyBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,0BAA0B,CAAC,mBAAmB,CAAC,EACxD,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,oBAAoB,EACpC,mBAAmB,CAAC,EAAE,gBAAgB,GACrC,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,CA0XxC"}
@@ -67,6 +67,7 @@ export interface PipelineBuilderContext {
67
67
  readonly colorFormat: GPUTextureFormat;
68
68
  /** Additional color targets for an MRT pass; the first target is colorFormat. */
69
69
  readonly colorFormats?: readonly GPUTextureFormat[] | undefined;
70
+ readonly fragmentConstants?: Readonly<Record<string, number>> | undefined;
70
71
  /** Depth attachment format, or `undefined` for a color-only pass. */
71
72
  readonly depthFormat: GPUTextureFormat | undefined;
72
73
  /**
@@ -77,7 +78,7 @@ export interface PipelineBuilderContext {
77
78
  */
78
79
  readonly vertexBuffers: readonly GPUVertexBufferLayout[];
79
80
  /** Explicit layout family selected by the renderer assembly. */
80
- readonly layoutKind?: 'pbr-skin' | undefined;
81
+ readonly layoutKind?: 'pbr-skin' | 'gpu-driven-skin' | undefined;
81
82
  /** Pipeline label (for GPU debug captures); defaults to `pbr-pipeline-${id}`. */
82
83
  readonly label?: string | undefined;
83
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-builder.d.ts","sourceRoot":"","sources":["../src/pipeline-builder.ts"],"names":[],"mappings":"AA2CA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,KAAK,MAAM,EACX,KAAK,SAAS,EACd,QAAQ,EACR,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG9F;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kCAAkC;IACjD,kBAAkB,CAAC,IAAI,EAAE;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,GAAG,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;IACjE;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAChE,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACzD,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;KACzC,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC,GAChF,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAmDxB;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,sBAAsB,EAC3B,WAAW,CAAC,EAAE,mBAAmB,EACjC,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,GAAE,QAAoB,EAO9B,WAAW,GAAE,MAAU,GACtB,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CA4MlC"}
1
+ {"version":3,"file":"pipeline-builder.d.ts","sourceRoot":"","sources":["../src/pipeline-builder.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface PipelineSpec {
7
7
  readonly variantSet: string | undefined;
8
8
  readonly vertexEntry?: string;
9
9
  readonly fragmentEntry?: string;
10
+ /** Pipeline-time fragment overrides; not runtime WGSL feature defines. */
11
+ readonly fragmentConstants?: Readonly<Record<string, number>> | undefined;
10
12
  };
11
13
  readonly attachments: {
12
14
  readonly colorFormats: readonly GPUTextureFormat[];
@@ -19,6 +21,8 @@ export interface PipelineSpec {
19
21
  readonly vertexLayout: VertexAttributeMap;
20
22
  /** Geometry-owned immutable descriptor projection, when already derived. */
21
23
  readonly vertexLayoutProjection?: VertexLayoutProjection | undefined;
24
+ /** Explicit multi-stream layout supplied by the prepared-graphics owner. */
25
+ readonly vertexBuffers?: readonly GPUVertexBufferLayout[];
22
26
  readonly shaderUvSetCount?: number | undefined;
23
27
  };
24
28
  readonly renderState: MaterialRenderState | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-spec-types.d.ts","sourceRoot":"","sources":["../src/pipeline-spec-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC5D,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;QAC1C,4EAA4E;QAC5E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;QACrE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChD,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD"}
1
+ {"version":3,"file":"pipeline-spec-types.d.ts","sourceRoot":"","sources":["../src/pipeline-spec-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,0EAA0E;QAC1E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;KAC3E,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;QACnD,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC5D,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;QAC1C,4EAA4E;QAC5E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;QACrE,4EAA4E;QAC5E,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChD,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD"}
@@ -99,15 +99,7 @@ export declare function cacheKeyOf(spec: PipelineSpec): string;
99
99
  * by a material variant.
100
100
  */
101
101
  export declare function variantSetFromVertexLayoutProjection(projection: VertexLayoutProjection, authoredVariantSet: string | undefined): Result<string, VertexColorVariantConflictError>;
102
- /**
103
- * Derive the capability axes shared by every Standard PBR draw owner.
104
- *
105
- * The all-true key is the canonical empty key used by the shader manifest;
106
- * every other capability pair stays explicit so a no-local-light frame on a
107
- * device without storage buffers cannot accidentally select a storage-backed
108
- * PSO. Vertex-color is supplied here because the empty-key rule is only valid
109
- * when that geometry-owned axis is also true.
110
- */
102
+ /** Explicit geometry and lighting facts survive composition before manifest key canonicalization. */
111
103
  export declare function standardCapabilityVariantSet(clustered: boolean, storageBuffer: boolean, vertexColorAvailable: boolean): string;
112
104
  /**
113
105
  * Project the frame-owned Standard topology onto its material variant axes.
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-spec.d.ts","sourceRoot":"","sources":["../src/pipeline-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-spec.d.ts","sourceRoot":"","sources":["../src/pipeline-spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ValidatedRenderable } from '../record/frame-snapshot';
2
2
  import type { PointsLinesRecordOwner, PointsLinesRecordSubmission, RenderSystemInternals } from '../record/render-context';
3
- import type { RecoveryPointsLinesCandidate } from '../render-system';
3
+ import type { RecoveryPointsLinesCandidate } from '../recovery/types';
4
4
  import type { PointsLinesInspection } from './inspection';
5
5
  /**
6
6
  * The Standard renderer's single Points/Lines prepare owner.
@@ -1 +1 @@
1
- {"version":3,"file":"standard-owner.d.ts","sourceRoot":"","sources":["../../src/points-lines/standard-owner.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,KAAK,EAAE,qBAAqB,EAA0B,MAAM,cAAc,CAAC;AAmBlF;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,sBAAsB;IAWzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAVtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoD;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAK9B;gBAE0B,SAAS,EAAE,qBAAqB;IAE7D,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,GAAG,2BAA2B,GAAG,SAAS;IAIhG,wBAAwB,CACtB,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,qBAAqB,GAC7B,4BAA4B,GAAG,SAAS;IAgE3C,OAAO,CAAC,eAAe;IA+IvB,kBAAkB,IAAI,IAAI;IAK1B,oBAAoB,IAAI,IAAI;IAO5B,OAAO,IAAI,IAAI;IAKf,WAAW,IAAI,SAAS,qBAAqB,EAAE;IAI/C,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,iBAAiB;CA2D1B"}
1
+ {"version":3,"file":"standard-owner.d.ts","sourceRoot":"","sources":["../../src/points-lines/standard-owner.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,qBAAqB,EAA0B,MAAM,cAAc,CAAC;AAmBlF;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,sBAAsB;IAMzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoD;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;gBAElE,SAAS,EAAE,qBAAqB;IAE7D,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,GAAG,2BAA2B,GAAG,SAAS;IAIhG,wBAAwB,CACtB,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,qBAAqB,GAC7B,4BAA4B,GAAG,SAAS;IAgE3C,OAAO,CAAC,eAAe;IAyIvB,kBAAkB,IAAI,IAAI;IAK1B,oBAAoB,IAAI,IAAI;IAO5B,OAAO,IAAI,IAAI;IAKf,WAAW,IAAI,SAAS,qBAAqB,EAAE;IAI/C,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,iBAAiB;CA2D1B"}
@@ -10,6 +10,8 @@ export type PreparedGraphicsResolvedResource = {
10
10
  readonly kind: 'pipeline';
11
11
  readonly reference: RenderFeaturePreparedRef;
12
12
  readonly handle: RenderPipeline;
13
+ /** Renderer-selected context; never authored by a RenderFeature. */
14
+ readonly standardLighting?: boolean;
13
15
  } | {
14
16
  readonly kind: 'bindings';
15
17
  readonly reference: RenderFeaturePreparedRef;
@@ -33,7 +35,10 @@ export interface PreparedGraphicsResolverInput {
33
35
  readonly lookup: (reference: RenderFeaturePreparedRef) => PreparedGraphicsItem | undefined;
34
36
  readonly resolvePipeline: (descriptor: PreparedGraphicsNormalizedDescriptor & {
35
37
  readonly kind: 'pipeline';
36
- }) => Result<RenderPipeline, unknown>;
38
+ }) => Result<RenderPipeline | {
39
+ readonly handle: RenderPipeline;
40
+ readonly standardLighting: boolean;
41
+ }, unknown>;
37
42
  readonly resolveBindings: (descriptor: RenderFeatureBindingsDescriptor, pipeline: RenderPipeline) => Result<undefined | BindGroup | {
38
43
  readonly handle: BindGroup;
39
44
  readonly dynamicOffsets?: readonly number[];
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-graphics-resolver.d.ts","sourceRoot":"","sources":["../../src/prepare/prepared-graphics-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepared-graphics-resolver.d.ts","sourceRoot":"","sources":["../../src/prepare/prepared-graphics-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { World } from '@forgeax/engine-ecs';
2
+ import type { RenderFrameState, ValidatedRenderable } from './frame-snapshot';
3
+ /** Capture the render-stage mesh binding used by the current submitted frame. */
4
+ export declare function createDynamicGeometryConsumptionRecorder(worlds: readonly World[], bindings: WeakMap<World, Map<number, number>>): (entry: ValidatedRenderable) => void;
5
+ export interface DynamicGeometryFrameBindings {
6
+ begin(): void;
7
+ onRenderableDraw(worlds: readonly World[]): (entry: ValidatedRenderable) => void;
8
+ commit(submitted: boolean): void;
9
+ isConsumed(world: World, entity: number, meshHandle: number | undefined): boolean;
10
+ }
11
+ /** Own the submitted-frame receipt used by dynamic-geometry publication. */
12
+ export declare function createDynamicGeometryFrameBindings(): DynamicGeometryFrameBindings;
13
+ /** Drop temporal history after a dynamic-geometry topology replacement. */
14
+ export declare function resetDynamicGeometryTemporalHistory(frameState: RenderFrameState): void;
15
+ //# sourceMappingURL=dynamic-geometry-consumption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-geometry-consumption.d.ts","sourceRoot":"","sources":["../../src/record/dynamic-geometry-consumption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,iFAAiF;AACjF,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC5C,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAYtC;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjF,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;CACnF;AAED,4EAA4E;AAC5E,wBAAgB,kCAAkC,IAAI,4BAA4B,CAmBjF;AAED,2EAA2E;AAC3E,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAOtF"}
@@ -25,8 +25,8 @@ export declare function projectDeviceOwnedBindGroup<T>(state: {
25
25
  * verbatim from `recordFrame`. Walks the handle-identity WeakMap caches
26
26
  * (feat-20260531 M2 + feat-20260622 M3) to resolve or lazily create the view
27
27
  * (@group 0), mesh (@group 2), and — when HDRP is active — HDRP-unified cluster
28
- * bind groups. Returns all three (null when `hasValidated` is false, the Case E
29
- * clear-pass-only path). No new mutable state: `bindGroupCounts` accounting +
28
+ * bind groups. Raster groups may be null with no validated meshes; the Cluster
29
+ * producer follows the accepted lighting topology independently. `bindGroupCounts` accounting +
30
30
  * cache maps are threaded through explicitly.
31
31
  *
32
32
  * @internal
@@ -67,7 +67,7 @@ export declare function writeSpotModifierTextures(internals: RenderSystemInterna
67
67
  * binding 6), extracted verbatim from `recordFrame`.
68
68
  *
69
69
  * feat-20260612-point-light-shadows-urp-hdrp Round-2 F-1: 4 lanes x vec4<f32>;
70
- * lane[shadowAtlasLayer] = (near, far, 1/(far-near), 0). Lanes for non-shadow
70
+ * lane[shadowAtlasLayer] = (near, far, depthBias, normalBias). Lanes for non-shadow
71
71
  * slots stay zero (the WGSL sample path is gated by PointLight.shadowAtlasLayer
72
72
  * >= 0). Always writes the full 64 B so stale non-zero lanes from a previous
73
73
  * frame's allocation cannot poison the current frame.
@@ -1 +1 @@
1
- {"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,16 @@ import type { DirectionalShadowQuality } from '../components/directional-shadow-
7
7
  import type { EnvironmentGeneration } from '../environment/generation';
8
8
  import type { EnvironmentLifecycle } from '../environment/lifecycle';
9
9
  import type { GpuBuffer } from '../gpu-resource';
10
- import type { InstanceCollectionId, InstanceResidency } from '../instances';
10
+ import type { InstanceCollectionStore } from '../instances';
11
11
  import type { IblBindingInspection } from '../mesh-material-bindings';
12
12
  import type { StandardLightingInspection } from '../pipeline/standard-lighting/inspection';
13
+ import type { AutoExposureGpuResources } from '../pipeline/standard-output/auto-exposure/gpu';
14
+ import type { AutoExposureState } from '../pipeline/standard-output/auto-exposure/state';
15
+ import type { StandardLutGpuResources } from '../pipeline/standard-output/lut-gpu';
16
+ import type { StandardLutCandidate, StandardLutState } from '../pipeline/standard-output/lut-state';
13
17
  import type { PointShadowInspection } from '../point-shadow-inspection';
18
+ import type { SsrSpatialAdmission } from '../ssr/admission';
19
+ import type { SsrHistoryCandidate, SsrHistoryOwner } from '../ssr/history';
14
20
  import type { TemporalGpuState } from '../temporal/gpu';
15
21
  import type { TemporalView } from '../temporal/view';
16
22
  export type TemporalCommitOutcome = {
@@ -22,6 +28,21 @@ export type TemporalCommitOutcome = {
22
28
  readonly kind: 'taa';
23
29
  readonly view: TemporalView;
24
30
  };
31
+ /** CPU transaction metadata staged beside the renderer-owned GPU candidate. */
32
+ export interface PendingAutoExposureState {
33
+ readonly state: AutoExposureState;
34
+ readonly generation: number;
35
+ readonly deviceEpoch: number;
36
+ readonly frameId: number;
37
+ }
38
+ /** CPU POD staged beside the renderer-owned LUT resources until submit. */
39
+ export interface PendingStandardLutState {
40
+ readonly state: StandardLutState;
41
+ readonly candidate?: StandardLutCandidate;
42
+ readonly remove: boolean;
43
+ readonly targetGeneration: number;
44
+ readonly deviceEpoch: number;
45
+ }
25
46
  /**
26
47
  * feat-20260708-composited-multi-world-rendering M1 / D-1 / D-9:
27
48
  * worldId-entityKey composite key helper. Formula: `worldId * 2^32 + entityKey`.
@@ -42,7 +63,14 @@ export type TemporalCommitOutcome = {
42
63
  * not part of the public @forgeax/engine-runtime API surface.
43
64
  */
44
65
  export declare function worldEntityKey(worldId: number, entityKey: number): number;
45
- /** Per-renderer projection identity, with entity keys for sprite/fold snapshots. */
66
+ /**
67
+ * Cache identity for a renderer-owned instance collection.
68
+ *
69
+ * A collection can be rebound from one entity to another while retaining the
70
+ * same count, revision, and extraction archetype. The collection id is the
71
+ * owner identity in that case; the entity cache key is only the compatibility
72
+ * fallback for legacy snapshots that predate the collection field.
73
+ */
46
74
  export declare function instanceCollectionCacheKey(worldId: number, instance: {
47
75
  readonly cacheKey: number;
48
76
  readonly collectionId?: number;
@@ -135,9 +163,40 @@ export declare function validateGraphTargetCaptureReadback(input: {
135
163
  readonly sentinel?: Uint8Array;
136
164
  readonly allowZero?: boolean;
137
165
  }): GraphTargetCaptureReadbackValidation;
166
+ /**
167
+ * Receipt delivered after a selected pass-replay raster pass has encoded.
168
+ * The depth view and target handles are the frame-resolved objects used by
169
+ * the graph; the numeric texture identity is derived by getTextureIdentity.
170
+ */
171
+ export interface GraphTargetPassReplayReceipt {
172
+ readonly passName: string;
173
+ readonly executionIndex: number;
174
+ readonly resolvedDepthStencilAttachmentView: TextureView;
175
+ readonly graphGeneration: number;
176
+ readonly targetName: string;
177
+ readonly targetView: TextureView;
178
+ readonly targetTexture: Texture;
179
+ readonly targetTextureIdentity: number;
180
+ }
181
+ export type GraphTargetPassReplayCallback = (receipt: GraphTargetPassReplayReceipt) => void;
182
+ /** Receipt delivered once after a complete selected prefix reaches its boundary pass. */
183
+ export interface GraphTargetPassReplayPrefixReceipt extends GraphTargetPassReplayReceipt {
184
+ /** The compiled-order prefix that was replayed. */
185
+ readonly replayPassNames: readonly string[];
186
+ /** The unique depth-bearing raster pass used as the observation anchor. */
187
+ readonly depthAttachmentPassName: string;
188
+ /** The final pass in the selected prefix. */
189
+ readonly observeAfterPassName: string;
190
+ readonly depthAttachmentExecutionIndex: number;
191
+ }
192
+ export type GraphTargetPassReplayPrefixCallback = (receipt: GraphTargetPassReplayPrefixReceipt) => void;
138
193
  /** Internal readback request consumed by the record encoder in the same submit. */
139
- export interface GraphTargetCaptureRequest {
194
+ export type GraphTargetCaptureRequest = {
195
+ /** The default preserves the original target-copy request shape. */
196
+ readonly kind?: 'target-copy';
140
197
  readonly name: string;
198
+ /** Optional one-shot pass selection for internal graph-target diagnostics. */
199
+ readonly replayPassNames?: readonly string[];
141
200
  readonly buffer: Buffer;
142
201
  readonly bytesPerRow: number;
143
202
  readonly width: number;
@@ -155,7 +214,19 @@ export interface GraphTargetCaptureRequest {
155
214
  readonly textureIdentity: number;
156
215
  };
157
216
  };
158
- }
217
+ } | {
218
+ /** Execute selected compiled passes without requesting a target copy. */
219
+ readonly kind: 'pass-replay';
220
+ readonly replayPassNames: readonly string[];
221
+ /** Optional graph target used to validate the selected pass attachment. */
222
+ readonly targetName?: string;
223
+ /** Optional callback invoked after each selected pass encodes. */
224
+ readonly onPassEncoded?: GraphTargetPassReplayCallback;
225
+ /** Optional one-shot callback invoked after the selected prefix boundary encodes. */
226
+ readonly depthAttachmentPassName?: string;
227
+ readonly observeAfterPassName?: string;
228
+ readonly onPrefixEncoded?: GraphTargetPassReplayPrefixCallback;
229
+ };
159
230
  /** Renderer-private readback request for the Standard fallback MRT. */
160
231
  export interface ReflectionFallbackReadbackRequest {
161
232
  readonly name: string;
@@ -208,6 +279,18 @@ export interface RenderFrameState {
208
279
  iblBindingInspection?: IblBindingInspection;
209
280
  /** Demand for the frame-local Standard fallback MRT. */
210
281
  reflectionFallbackDemand?: boolean;
282
+ /** Whether the active camera explicitly requested SSR this frame. */
283
+ ssrRequested?: boolean | undefined;
284
+ /** Current renderer-owned SSR spatial admission projection. */
285
+ ssrSpatialAdmission?: SsrSpatialAdmission | undefined;
286
+ /** Persistent SSR history owner; candidate is promoted only after submit. */
287
+ ssrHistoryOwner?: SsrHistoryOwner | undefined;
288
+ ssrHistoryCandidate?: SsrHistoryCandidate | undefined;
289
+ /** Reused CPU parameter payload for the SSR temporal resolve. */
290
+ ssrTemporalParamsPayload?: Uint8Array | undefined;
291
+ /** Last camera identity used by the SSR history reset seam. */
292
+ ssrLastCameraEntity?: number | undefined;
293
+ ssrLastHistoryVersion?: number | undefined;
211
294
  /** Monotonic compiled-graph identity used by diagnostic readbacks. */
212
295
  graphGeneration: number;
213
296
  /** Number of successfully submitted TAA frames; failed attempts do not advance it. */
@@ -279,6 +362,22 @@ export interface RenderFrameState {
279
362
  lastSuccessfulCameraAntialias: CameraSnapshot['antialias'] | undefined;
280
363
  /** Staged TAA GPU state is promoted only after queue.submit succeeds. */
281
364
  temporalGpuState: TemporalGpuState | undefined;
365
+ /** Device-scoped auto-exposure buffers imported by the Standard graph. */
366
+ autoExposureGpuResources?: AutoExposureGpuResources | undefined;
367
+ /** Candidate auto-exposure buffers; promoted only after queue.submit succeeds. */
368
+ pendingAutoExposureGpuResources?: AutoExposureGpuResources | undefined;
369
+ /** Accepted auto-exposure inspection state; promoted only after submit. */
370
+ autoExposureState?: AutoExposureState | undefined;
371
+ /** Candidate auto-exposure inspection state; cleared on any failed frame. */
372
+ pendingAutoExposureState?: PendingAutoExposureState | undefined;
373
+ /** Prepared ordinary TextureAsset LUT candidate for the Standard graph. */
374
+ standardLutGpuResources?: StandardLutGpuResources | undefined;
375
+ /** Candidate LUT resources; promoted only after queue.submit succeeds. */
376
+ pendingStandardLutGpuResources?: StandardLutGpuResources | undefined;
377
+ /** Accepted LUT inspection state; promoted only after submit. */
378
+ standardLutState: StandardLutState;
379
+ /** Candidate LUT inspection state; cleared on any failed frame. */
380
+ pendingStandardLutState?: PendingStandardLutState | undefined;
282
381
  /** Last successful TAA GPU state; candidate replacement stays staged until submit. */
283
382
  activeTemporalGpuState: TemporalGpuState | undefined;
284
383
  /** Submitted temporal generations retained until their queue fence resolves. */
@@ -288,12 +387,14 @@ export interface RenderFrameState {
288
387
  pendingTemporalCommit: TemporalCommitOutcome;
289
388
  /** Staged environment generation is promoted only after queue.submit succeeds. */
290
389
  environmentGeneration: EnvironmentGeneration | undefined;
390
+ environmentFrame?: import('../environment/frame').SelectedEnvironmentFrame | undefined;
391
+ pendingAtmospherePublish?: (() => void) | undefined;
291
392
  readonly environmentLifecycle: EnvironmentLifecycle | undefined;
292
393
  currentDirectionalShadowView: TextureView | null;
293
394
  currentSpotShadowView: TextureView | null;
294
395
  readonly instanceBuffers: Map<number, InstanceBufferCacheEntry>;
295
396
  /** Renderer-owned collection owner used for record-stage residency facts. */
296
- readonly instanceResidency?: Map<InstanceCollectionId, InstanceResidency>;
397
+ readonly instanceCollections?: InstanceCollectionStore;
297
398
  /** Stable buffers for renderer-owned collections split by device cap. */
298
399
  readonly instanceBufferChunks?: Map<string, InstanceBufferCacheEntry>;
299
400
  /** Per-object ProbeBlendRecord buffers; upload is one atomic 160B write. */