@forgeax/engine-render 0.1.27 → 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 (655) hide show
  1. package/README.md +842 -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 +52 -0
  5. package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -0
  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 +19 -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 +3 -3
  60. package/dist/{chunk-ADHHVYLW.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-KM2NOX2I.mjs → chunk-BQVQOQJH.mjs} +958 -254
  65. package/dist/chunk-BQVQOQJH.mjs.map +1 -0
  66. package/dist/{chunk-HKXTW355.mjs → chunk-BTWH7BP4.mjs} +386 -17
  67. package/dist/chunk-BTWH7BP4.mjs.map +1 -0
  68. package/dist/{chunk-TMIASV2N.mjs → chunk-FUODTTIA.mjs} +3934 -676
  69. package/dist/chunk-FUODTTIA.mjs.map +1 -0
  70. package/dist/{chunk-FJ6P52EE.mjs → chunk-ILQ5MEZF.mjs} +3 -17
  71. package/dist/chunk-ILQ5MEZF.mjs.map +1 -0
  72. package/dist/{chunk-E34VL5VI.mjs → chunk-JQTSEI3Z.mjs} +3 -3
  73. package/dist/{chunk-E34VL5VI.mjs.map → chunk-JQTSEI3Z.mjs.map} +1 -1
  74. package/dist/{chunk-GE3SDD72.mjs → chunk-NICXSHAT.mjs} +16 -38
  75. package/dist/chunk-NICXSHAT.mjs.map +1 -0
  76. package/dist/{chunk-ZZ4YQ474.mjs → chunk-NRNXBLIJ.mjs} +577 -7
  77. package/dist/chunk-NRNXBLIJ.mjs.map +1 -0
  78. package/dist/{chunk-JDWARUOI.mjs → chunk-PA5DRJNI.mjs} +17 -3
  79. package/dist/chunk-PA5DRJNI.mjs.map +1 -0
  80. package/dist/{chunk-XDP6XE5V.mjs → chunk-S4DNKQYQ.mjs} +1118 -446
  81. package/dist/chunk-S4DNKQYQ.mjs.map +1 -0
  82. package/dist/components/camera.d.ts +62 -2
  83. package/dist/components/camera.d.ts.map +1 -1
  84. package/dist/components/index.d.ts +1 -0
  85. package/dist/components/index.d.ts.map +1 -1
  86. package/dist/components/instances.d.ts +6 -20
  87. package/dist/components/instances.d.ts.map +1 -1
  88. package/dist/components/scene-instance.d.ts +2 -1
  89. package/dist/components/scene-instance.d.ts.map +1 -1
  90. package/dist/components/screen-space-reflection.d.ts +14 -0
  91. package/dist/components/screen-space-reflection.d.ts.map +1 -0
  92. package/dist/construct-renderer.mjs +13805 -7186
  93. package/dist/construct-renderer.mjs.map +1 -1
  94. package/dist/device/gpu-residency.d.ts +11 -17
  95. package/dist/device/gpu-residency.d.ts.map +1 -1
  96. package/dist/device/mesh-residency-lifetime.d.ts +21 -0
  97. package/dist/device/mesh-residency-lifetime.d.ts.map +1 -0
  98. package/dist/dynamic-geometry.d.ts +125 -0
  99. package/dist/dynamic-geometry.d.ts.map +1 -0
  100. package/dist/environment/background.d.ts +6 -0
  101. package/dist/environment/background.d.ts.map +1 -0
  102. package/dist/errors/gpu-driven.d.ts +6 -3
  103. package/dist/errors/gpu-driven.d.ts.map +1 -1
  104. package/dist/errors/render.d.ts +7 -4
  105. package/dist/errors/render.d.ts.map +1 -1
  106. package/dist/extract/camera.d.ts.map +1 -1
  107. package/dist/extract/gpu-driven.d.ts +33 -3
  108. package/dist/extract/gpu-driven.d.ts.map +1 -1
  109. package/dist/features/host.d.ts +23 -1
  110. package/dist/features/host.d.ts.map +1 -1
  111. package/dist/features/noise-texture.d.ts +17 -0
  112. package/dist/features/noise-texture.d.ts.map +1 -0
  113. package/dist/features/plan.d.ts +83 -2
  114. package/dist/features/plan.d.ts.map +1 -1
  115. package/dist/features/prepared-gpu-work.d.ts +37 -4
  116. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  117. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  118. package/dist/features/prepared-graphics.d.ts +5 -0
  119. package/dist/features/prepared-graphics.d.ts.map +1 -1
  120. package/dist/features/render-graph-compute.d.ts +5 -3
  121. package/dist/features/render-graph-compute.d.ts.map +1 -1
  122. package/dist/features/render-graph-contribution.d.ts +11 -3
  123. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  124. package/dist/features/render-graph-raster.d.ts +19 -3
  125. package/dist/features/render-graph-raster.d.ts.map +1 -1
  126. package/dist/features/types.d.ts +11 -0
  127. package/dist/features/types.d.ts.map +1 -1
  128. package/dist/fullscreen-post-process-pass.d.ts +2 -0
  129. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  130. package/dist/gpu-driven/batch-topology.d.ts +34 -1
  131. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  132. package/dist/gpu-driven/pbr-program.d.ts +10 -0
  133. package/dist/gpu-driven/pbr-program.d.ts.map +1 -0
  134. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
  135. package/dist/gpu-driven/production-raster.d.ts +144 -23
  136. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  137. package/dist/gpu-driven/shadow-views.d.ts +126 -0
  138. package/dist/gpu-driven/shadow-views.d.ts.map +1 -0
  139. package/dist/gpu-driven/view-gpu.d.ts +18 -2
  140. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  141. package/dist/gpu-scene-schema.d.ts +2 -8
  142. package/dist/gpu-scene-schema.d.ts.map +1 -1
  143. package/dist/gpu-scene.d.ts +14 -0
  144. package/dist/gpu-scene.d.ts.map +1 -1
  145. package/dist/gpu-texture-usage.d.ts +1 -0
  146. package/dist/gpu-texture-usage.d.ts.map +1 -1
  147. package/dist/hdrp-buffers.d.ts +6 -0
  148. package/dist/hdrp-buffers.d.ts.map +1 -1
  149. package/dist/ibl/frame-resources.d.ts +8 -0
  150. package/dist/ibl/frame-resources.d.ts.map +1 -0
  151. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  152. package/dist/index.d.ts +21 -8
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.mjs +8 -7
  155. package/dist/index.mjs.map +1 -1
  156. package/dist/inspection-types.d.ts +164 -0
  157. package/dist/inspection-types.d.ts.map +1 -1
  158. package/dist/instances-derived-bounds.d.ts +11 -0
  159. package/dist/instances-derived-bounds.d.ts.map +1 -1
  160. package/dist/instances.d.ts +89 -44
  161. package/dist/instances.d.ts.map +1 -1
  162. package/dist/internal.d.ts +3 -0
  163. package/dist/internal.d.ts.map +1 -1
  164. package/dist/internal.mjs +118 -10
  165. package/dist/internal.mjs.map +1 -1
  166. package/dist/lifecycle.d.ts +2 -1
  167. package/dist/lifecycle.d.ts.map +1 -1
  168. package/dist/material-row.d.ts +5 -0
  169. package/dist/material-row.d.ts.map +1 -0
  170. package/dist/materials.d.ts +15 -0
  171. package/dist/materials.d.ts.map +1 -1
  172. package/dist/pbr-pipeline.d.ts +21 -5
  173. package/dist/pbr-pipeline.d.ts.map +1 -1
  174. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  175. package/dist/pipeline/standard-output/auto-exposure/capability.d.ts +12 -0
  176. package/dist/pipeline/standard-output/auto-exposure/capability.d.ts.map +1 -0
  177. package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts +70 -0
  178. package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts.map +1 -0
  179. package/dist/pipeline/standard-output/auto-exposure/graph.d.ts +75 -0
  180. package/dist/pipeline/standard-output/auto-exposure/graph.d.ts.map +1 -0
  181. package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts +111 -0
  182. package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts.map +1 -0
  183. package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts +16 -0
  184. package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts.map +1 -0
  185. package/dist/pipeline/standard-output/auto-exposure/preset.d.ts +14 -0
  186. package/dist/pipeline/standard-output/auto-exposure/preset.d.ts.map +1 -0
  187. package/dist/pipeline/standard-output/auto-exposure/state.d.ts +46 -0
  188. package/dist/pipeline/standard-output/auto-exposure/state.d.ts.map +1 -0
  189. package/dist/pipeline/standard-output/color-transform.d.ts +27 -0
  190. package/dist/pipeline/standard-output/color-transform.d.ts.map +1 -0
  191. package/dist/pipeline/standard-output/graph.d.ts +15 -0
  192. package/dist/pipeline/standard-output/graph.d.ts.map +1 -0
  193. package/dist/pipeline/standard-output/lut-admission.d.ts +29 -0
  194. package/dist/pipeline/standard-output/lut-admission.d.ts.map +1 -0
  195. package/dist/pipeline/standard-output/lut-gpu.d.ts +48 -0
  196. package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -0
  197. package/dist/pipeline/standard-output/lut-state.d.ts +68 -0
  198. package/dist/pipeline/standard-output/lut-state.d.ts.map +1 -0
  199. package/dist/pipeline/standard-output/resources.d.ts +10 -0
  200. package/dist/pipeline/standard-output/resources.d.ts.map +1 -0
  201. package/dist/pipeline/standard-output/types.d.ts +39 -0
  202. package/dist/pipeline/standard-output/types.d.ts.map +1 -0
  203. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  204. package/dist/pipeline/standard-post.d.ts +2 -2
  205. package/dist/pipeline/standard-post.d.ts.map +1 -1
  206. package/dist/pipeline-builder.d.ts +2 -1
  207. package/dist/pipeline-builder.d.ts.map +1 -1
  208. package/dist/pipeline-spec-types.d.ts +4 -0
  209. package/dist/pipeline-spec-types.d.ts.map +1 -1
  210. package/dist/pipeline-spec.d.ts +1 -9
  211. package/dist/pipeline-spec.d.ts.map +1 -1
  212. package/dist/points-lines/standard-owner.d.ts +1 -1
  213. package/dist/points-lines/standard-owner.d.ts.map +1 -1
  214. package/dist/prepare/prepared-graphics-resolver.d.ts +6 -1
  215. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  216. package/dist/record/dynamic-geometry-consumption.d.ts +15 -0
  217. package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -0
  218. package/dist/record/frame-lighting.d.ts +3 -3
  219. package/dist/record/frame-lighting.d.ts.map +1 -1
  220. package/dist/record/frame-snapshot.d.ts +106 -5
  221. package/dist/record/frame-snapshot.d.ts.map +1 -1
  222. package/dist/record/frame-targets.d.ts.map +1 -1
  223. package/dist/record/frame.d.ts +39 -4
  224. package/dist/record/frame.d.ts.map +1 -1
  225. package/dist/record/main-pass-geometry.d.ts +7 -8
  226. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  227. package/dist/record/main-pass-material.d.ts +38 -1
  228. package/dist/record/main-pass-material.d.ts.map +1 -1
  229. package/dist/record/main-pass-sprite-draws.d.ts +2 -10
  230. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  231. package/dist/record/main-pass.d.ts +12 -2
  232. package/dist/record/main-pass.d.ts.map +1 -1
  233. package/dist/record/mesh-ssbo.d.ts +15 -6
  234. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  235. package/dist/record/prepared-material-bindings.d.ts +19 -0
  236. package/dist/record/prepared-material-bindings.d.ts.map +1 -0
  237. package/dist/record/recovery-pipeline.d.ts +2 -9
  238. package/dist/record/recovery-pipeline.d.ts.map +1 -1
  239. package/dist/record/render-context.d.ts +76 -26
  240. package/dist/record/render-context.d.ts.map +1 -1
  241. package/dist/record/shadow-pass.d.ts +62 -7
  242. package/dist/record/shadow-pass.d.ts.map +1 -1
  243. package/dist/record/skybox-post-pass.d.ts +1 -1
  244. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  245. package/dist/record/typed-frame-graph.d.ts +35 -7
  246. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  247. package/dist/record/view-ubo.d.ts +1 -0
  248. package/dist/record/view-ubo.d.ts.map +1 -1
  249. package/dist/recovery/render-system-candidate.d.ts +10 -2
  250. package/dist/recovery/render-system-candidate.d.ts.map +1 -1
  251. package/dist/recovery/render-system-roots.d.ts +11 -0
  252. package/dist/recovery/render-system-roots.d.ts.map +1 -0
  253. package/dist/recovery/types.d.ts +76 -0
  254. package/dist/recovery/types.d.ts.map +1 -0
  255. package/dist/reflection/record-owner.d.ts +0 -2
  256. package/dist/reflection/record-owner.d.ts.map +1 -1
  257. package/dist/render-contract.d.ts +185 -30
  258. package/dist/render-contract.d.ts.map +1 -1
  259. package/dist/render-graph-primitives.d.ts +1 -0
  260. package/dist/render-graph-primitives.d.ts.map +1 -1
  261. package/dist/render-pipeline.d.ts +64 -5
  262. package/dist/render-pipeline.d.ts.map +1 -1
  263. package/dist/render-system-extract-tail.d.ts +7 -5
  264. package/dist/render-system-extract-tail.d.ts.map +1 -1
  265. package/dist/render-system-extract.d.ts +101 -41
  266. package/dist/render-system-extract.d.ts.map +1 -1
  267. package/dist/render-system-projections.d.ts +22 -0
  268. package/dist/render-system-projections.d.ts.map +1 -0
  269. package/dist/render-system.d.ts +34 -77
  270. package/dist/render-system.d.ts.map +1 -1
  271. package/dist/scene/render-scene-types.d.ts +14 -7
  272. package/dist/scene/render-scene-types.d.ts.map +1 -1
  273. package/dist/scene/render-scene.d.ts +29 -11
  274. package/dist/scene/render-scene.d.ts.map +1 -1
  275. package/dist/scene/shadow-visibility.d.ts +5 -0
  276. package/dist/scene/shadow-visibility.d.ts.map +1 -0
  277. package/dist/ssr/admission.d.ts +70 -1
  278. package/dist/ssr/admission.d.ts.map +1 -1
  279. package/dist/ssr/compose.d.ts +13 -0
  280. package/dist/ssr/compose.d.ts.map +1 -0
  281. package/dist/ssr/errors.d.ts +35 -0
  282. package/dist/ssr/errors.d.ts.map +1 -1
  283. package/dist/ssr/graph.d.ts +60 -0
  284. package/dist/ssr/graph.d.ts.map +1 -0
  285. package/dist/ssr/history.d.ts +97 -0
  286. package/dist/ssr/history.d.ts.map +1 -0
  287. package/dist/ssr/hiz.d.ts +37 -0
  288. package/dist/ssr/hiz.d.ts.map +1 -0
  289. package/dist/ssr/inspection.d.ts +42 -0
  290. package/dist/ssr/inspection.d.ts.map +1 -0
  291. package/dist/ssr/resources.d.ts +58 -0
  292. package/dist/ssr/resources.d.ts.map +1 -0
  293. package/dist/ssr/temporal.d.ts +38 -0
  294. package/dist/ssr/temporal.d.ts.map +1 -0
  295. package/dist/systems/skin-palette-allocator.d.ts +32 -10
  296. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  297. package/dist/systems/skin-palette-types.d.ts +15 -0
  298. package/dist/systems/skin-palette-types.d.ts.map +1 -1
  299. package/dist/systems/transparent-dispatch.d.ts +9 -0
  300. package/dist/systems/transparent-dispatch.d.ts.map +1 -0
  301. package/dist/targets/material-source.d.ts +7 -0
  302. package/dist/targets/material-source.d.ts.map +1 -1
  303. package/dist/temporal/frame-coordinator.d.ts +7 -0
  304. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  305. package/dist/temporal/gpu.d.ts +8 -0
  306. package/dist/temporal/gpu.d.ts.map +1 -1
  307. package/dist/temporal/history.d.ts.map +1 -1
  308. package/dist/temporal/index.mjs +6 -6
  309. package/dist/temporal/inspection.d.ts.map +1 -1
  310. package/dist/temporal/standard-scene-data.d.ts +2 -1
  311. package/dist/temporal/standard-scene-data.d.ts.map +1 -1
  312. package/dist/temporal/temporal-view.d.ts +2 -0
  313. package/dist/temporal/temporal-view.d.ts.map +1 -1
  314. package/dist/typed-render-graph-primitives.d.ts +35 -1
  315. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  316. package/dist/typed-shadow-passes.d.ts +3 -1
  317. package/dist/typed-shadow-passes.d.ts.map +1 -1
  318. package/dist/volume/temporal.d.ts +6 -0
  319. package/dist/volume/temporal.d.ts.map +1 -1
  320. package/package.json +21 -20
  321. package/src/__tests__/auto-exposure-gpu-evidence.ts +291 -0
  322. package/src/__tests__/auto-exposure-inspection.unit.test.ts +80 -0
  323. package/src/__tests__/auto-exposure-transaction.integration.test.ts +99 -0
  324. package/src/__tests__/auto-exposure.browser.test.ts +33 -0
  325. package/src/__tests__/auto-exposure.dawn.test.ts +33 -0
  326. package/src/__tests__/detached-inspection.integration.test.ts +5 -0
  327. package/src/__tests__/device-scope-lifecycle.unit.test.ts +18 -0
  328. package/src/__tests__/device-scope-stale-matrix.unit.test.ts +18 -0
  329. package/src/__tests__/docs-gate-green.unit.test.ts +3 -3
  330. package/src/__tests__/dynamic-geometry-host.unit.test.ts +1123 -0
  331. package/src/__tests__/dynamic-geometry.unit.test.ts +233 -0
  332. package/src/__tests__/factory-contract.integration.test.ts +73 -22
  333. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +19 -0
  334. package/src/__tests__/feature-depth-input.dawn.test.ts +121 -0
  335. package/src/__tests__/feature-noise.unit.test.ts +38 -0
  336. package/src/__tests__/fixtures/taa-resolve-pinned-baseline.wgsl +301 -0
  337. package/src/__tests__/frame-camera-selection.unit.test.ts +131 -0
  338. package/src/__tests__/frame-plan-contract.unit.test.ts +24 -0
  339. package/src/__tests__/frame-targets.unit.test.ts +24 -0
  340. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +3 -0
  341. package/src/__tests__/gpu-driven-baseline.characterization.test.ts +79 -0
  342. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +287 -6
  343. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +122 -142
  344. package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +10 -1
  345. package/src/__tests__/gpu-driven-lod-cache.unit.test.ts +264 -0
  346. package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +349 -0
  347. package/src/__tests__/gpu-driven-pbr.dawn.test.ts +1417 -0
  348. package/src/__tests__/gpu-driven-pbr.integration.test.ts +21 -0
  349. package/src/__tests__/gpu-driven-production-fixture.ts +96 -0
  350. package/src/__tests__/gpu-driven-production.integration.test.ts +1075 -93
  351. package/src/__tests__/gpu-driven-scaling.unit.test.ts +1 -3
  352. package/src/__tests__/gpu-driven-shadow-views.browser.test.ts +63 -0
  353. package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +294 -0
  354. package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +97 -0
  355. package/src/__tests__/gpu-driven-shadow-views.unit.test.ts +168 -0
  356. package/src/__tests__/gpu-driven-skin-contract.test-d.ts +11 -0
  357. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +72 -20
  358. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +30 -9
  359. package/src/__tests__/gpu-driven-view.unit.test.ts +159 -52
  360. package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -1
  361. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +42 -0
  362. package/src/__tests__/gpu-scene-render-graph-gpu.ts +19 -5
  363. package/src/__tests__/gpu-scene.dawn.test.ts +40 -13
  364. package/src/__tests__/gpu-scene.unit.test.ts +559 -33
  365. package/src/__tests__/instances-culling.integration.test.ts +36 -10
  366. package/src/__tests__/instances-derived-bounds.unit.test.ts +54 -0
  367. package/src/__tests__/instances-store.unit.test.ts +242 -39
  368. package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +6 -0
  369. package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +13 -16
  370. package/src/__tests__/lut-lkg-transaction.integration.test.ts +122 -0
  371. package/src/__tests__/material-contract-inventory.unit.test.ts +5 -6
  372. package/src/__tests__/material-dispatch-shader-id.unit.test.ts +51 -0
  373. package/src/__tests__/material-lane-selection.unit.test.ts +60 -0
  374. package/src/__tests__/material-numeric-upload.unit.test.ts +53 -0
  375. package/src/__tests__/material-texture-handles.unit.test.ts +18 -0
  376. package/src/__tests__/material-texture-source.unit.test.ts +87 -0
  377. package/src/__tests__/materials-authoring-validation.unit.test.ts +41 -0
  378. package/src/__tests__/materials-standard-contract.unit.test.ts +52 -2
  379. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +4 -0
  380. package/src/__tests__/mesh-submission-lifetime.unit.test.ts +53 -0
  381. package/src/__tests__/normal-fallback.dawn.test.ts +122 -0
  382. package/src/__tests__/particle-material-input-layout.unit.test.ts +104 -0
  383. package/src/__tests__/physical-clearcoat.integration.test.ts +37 -3
  384. package/src/__tests__/pipeline-texture-specialization.unit.test.ts +138 -0
  385. package/src/__tests__/point-shadow-inspection.unit.test.ts +2 -0
  386. package/src/__tests__/prepared-gpu-driven-pbr-contract.test-d.ts +31 -0
  387. package/src/__tests__/prepared-gpu-driven-pbr-contract.unit.test.ts +39 -0
  388. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +35 -4
  389. package/src/__tests__/prepared-graphics-capability.unit.test.ts +21 -0
  390. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +6 -2
  391. package/src/__tests__/profiler-phase-catalog.test.ts +5 -0
  392. package/src/__tests__/public-surface.test-d.ts +3 -0
  393. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +30 -12
  394. package/src/__tests__/reflection-fallback-async-publication.unit.test.ts +104 -0
  395. package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +2 -1
  396. package/src/__tests__/render-error-code-owner.test-d.ts +4 -0
  397. package/src/__tests__/render-error-detail-ssot.test-d.ts +22 -0
  398. package/src/__tests__/render-error-exhaustive.test-d.ts +15 -0
  399. package/src/__tests__/render-feature-gpu-work.integration.test.ts +285 -2
  400. package/src/__tests__/render-feature-plan.unit.test.ts +245 -0
  401. package/src/__tests__/render-feature-shadow-order.unit.test.ts +228 -0
  402. package/src/__tests__/render-feature-zero-work.unit.test.ts +35 -1
  403. package/src/__tests__/render-graph-fallback.integration.test.ts +2 -2
  404. package/src/__tests__/render-owner-cohesion.unit.test.ts +55 -0
  405. package/src/__tests__/render-scene-mixed-updates.integration.test.ts +426 -0
  406. package/src/__tests__/render-scene-projection.unit.test.ts +914 -23
  407. package/src/__tests__/render-scene-resource-updates.integration.test.ts +214 -0
  408. package/src/__tests__/render-scene-skin-lifecycle.integration.test.ts +173 -0
  409. package/src/__tests__/render-scene-temporal-retry.unit.test.ts +133 -0
  410. package/src/__tests__/render-target-material-source.test-d.ts +27 -3
  411. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +61 -1
  412. package/src/__tests__/renderer-frame-transaction.integration.test.ts +923 -5
  413. package/src/__tests__/shader-manifest-fixture.ts +39 -0
  414. package/src/__tests__/skin-motion-regression.unit.test.ts +0 -33
  415. package/src/__tests__/skin-palette-persistent.integration.test.ts +28 -0
  416. package/src/__tests__/skin-palette-persistent.unit.test.ts +247 -0
  417. package/src/__tests__/skinned-shadow-caster.test.ts +118 -14
  418. package/src/__tests__/specular-environment-scale.dawn.test.ts +156 -0
  419. package/src/__tests__/ssr-admission-matrix.integration.test.ts +7 -1
  420. package/src/__tests__/ssr-confidence-compose.unit.test.ts +84 -0
  421. package/src/__tests__/ssr-coordinate-oracle.unit.test.ts +28 -0
  422. package/src/__tests__/ssr-format-probe-gating.integration.test.ts +82 -0
  423. package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +91 -0
  424. package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +112 -0
  425. package/src/__tests__/ssr-gpu-dispatch.ts +946 -0
  426. package/src/__tests__/ssr-graph-topology.unit.test.ts +104 -0
  427. package/src/__tests__/ssr-history-filter.dawn.test.ts +198 -0
  428. package/src/__tests__/ssr-hit-color.dawn.test.ts +273 -0
  429. package/src/__tests__/ssr-hiz-odd-reduction.dawn.test.ts +569 -0
  430. package/src/__tests__/ssr-hiz-rescue.dawn.test.ts +279 -0
  431. package/src/__tests__/ssr-hiz.browser.test.ts +150 -0
  432. package/src/__tests__/ssr-hiz.dawn.test.ts +150 -0
  433. package/src/__tests__/ssr-hiz.unit.test.ts +56 -0
  434. package/src/__tests__/ssr-inspection.unit.test.ts +105 -0
  435. package/src/__tests__/ssr-memory-budget.unit.test.ts +45 -0
  436. package/src/__tests__/ssr-performance-sequence-aggregation.unit.test.ts +15 -0
  437. package/src/__tests__/ssr-public-surface.test-d.ts +37 -0
  438. package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +387 -0
  439. package/src/__tests__/ssr-reflection-mip-reducer.dawn.test.ts +309 -0
  440. package/src/__tests__/ssr-reprojection-probe.ts +90 -0
  441. package/src/__tests__/ssr-roughness-mip.dawn.test.ts +163 -0
  442. package/src/__tests__/ssr-shader-prewarm.unit.test.ts +59 -0
  443. package/src/__tests__/ssr-spatial.integration.test.ts +141 -0
  444. package/src/__tests__/ssr-stable-lattice.dawn.test.ts +475 -0
  445. package/src/__tests__/ssr-temporal-history.unit.test.ts +202 -0
  446. package/src/__tests__/ssr-texel-crossing.dawn.test.ts +448 -0
  447. package/src/__tests__/ssr-zero-work.integration.test.ts +87 -0
  448. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +44 -12
  449. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +29 -0
  450. package/src/__tests__/standard-output-chain-contract.unit.test.ts +99 -0
  451. package/src/__tests__/standard-output-chain.integration.test.ts +73 -0
  452. package/src/__tests__/standard-output-gpu-evidence.ts +205 -0
  453. package/src/__tests__/standard-output.browser.test.ts +15 -0
  454. package/src/__tests__/standard-output.dawn.test.ts +15 -0
  455. package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +38 -0
  456. package/src/__tests__/standard-pipeline.integration.test.ts +320 -3
  457. package/src/__tests__/standard-profile-oracle.unit.test.ts +22 -0
  458. package/src/__tests__/standard-surface-lighting.unit.test.ts +41 -0
  459. package/src/__tests__/standard-texture-specialization.dawn.test.ts +141 -0
  460. package/src/__tests__/surface-adjacent-regressions.integration.test.ts +6 -3
  461. package/src/__tests__/taa-coverage-edge.dawn.test.ts +193 -0
  462. package/src/__tests__/taa-history-clipping.dawn.test.ts +328 -0
  463. package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +778 -0
  464. package/src/__tests__/taa-stability-feedback.browser.test.ts +23 -0
  465. package/src/__tests__/taa-stability-feedback.dawn.test.ts +68 -0
  466. package/src/__tests__/taa-stability-feedback.ts +341 -0
  467. package/src/__tests__/temporal-history-lifecycle.unit.test.ts +49 -7
  468. package/src/__tests__/temporal-reset-matrix.unit.test.ts +9 -0
  469. package/src/__tests__/temporal-transaction.integration.test.ts +28 -0
  470. package/src/__tests__/texture-usage-surface.unit.test.ts +4 -2
  471. package/src/__tests__/typed-pipeline-topology.unit.test.ts +109 -4
  472. package/src/__tests__/typed-scene-pass-material-cache.integration.test.ts +126 -0
  473. package/src/__tests__/vertex-layouts-ssot.unit.test.ts +47 -0
  474. package/src/__tests__/visibility-extract.perf.test.ts +20 -8
  475. package/src/__tests__/visibility-instances.integration.test.ts +19 -7
  476. package/src/__tests__/visibility-producer-matrix.integration.test.ts +20 -9
  477. package/src/assembly/atmosphere-shader-prewarm.ts +38 -0
  478. package/src/assembly/dynamic-geometry-host.ts +887 -0
  479. package/src/assembly/dynamic-geometry-runtime.ts +71 -0
  480. package/src/assembly/factory.ts +4 -0
  481. package/src/assembly/gpu-driven-owner.ts +29 -0
  482. package/src/assembly/host-contract.ts +36 -0
  483. package/src/assembly/material/assembly.ts +38 -0
  484. package/src/assembly/material-shader-policy.ts +71 -28
  485. package/src/assembly/recovery/failure-location.ts +62 -0
  486. package/src/assembly/recovery/renderer-recover.ts +19 -17
  487. package/src/assembly/renderer-facade.ts +29 -0
  488. package/src/assembly/renderer-feature-inspection.ts +13 -0
  489. package/src/assembly/renderer-frame-transaction.ts +63 -0
  490. package/src/assembly/renderer-helpers.ts +26 -0
  491. package/src/assembly/renderer-inspection.ts +6 -0
  492. package/src/assembly/shader-prewarm-policy.ts +32 -0
  493. package/src/assembly/skin-palette-owner.ts +21 -0
  494. package/src/assembly/ssr-shader-prewarm.ts +41 -0
  495. package/src/assembly/webgpu-device-loss.ts +75 -0
  496. package/src/assembly/webgpu-pbr-ready.ts +232 -0
  497. package/src/assembly/webgpu-ready-mipmap.ts +26 -0
  498. package/src/assembly/webgpu-ready.ts +142 -121
  499. package/src/assembly/webgpu-renderer-bootstrap.ts +85 -0
  500. package/src/assembly/webgpu-renderer-contract.ts +69 -0
  501. package/src/assembly/webgpu-renderer-guards.ts +32 -0
  502. package/src/assembly/webgpu-renderer-observation.ts +43 -0
  503. package/src/assembly/webgpu-renderer-recovery-failure.ts +62 -0
  504. package/src/assembly/webgpu-renderer.ts +675 -614
  505. package/src/assembly/webgpu-vertex-layouts.ts +233 -87
  506. package/src/components/__tests__/camera-exposure.contract.unit.test.ts +153 -0
  507. package/src/components/camera.ts +287 -7
  508. package/src/components/index.ts +1 -0
  509. package/src/components/instances.ts +45 -18
  510. package/src/components/scene-instance.ts +2 -1
  511. package/src/components/screen-space-reflection.ts +21 -0
  512. package/src/components/sprite-animation.ts +3 -3
  513. package/src/components/sprite-instances.ts +1 -1
  514. package/src/device/gpu-residency.ts +96 -93
  515. package/src/device/mesh-residency-lifetime.ts +73 -0
  516. package/src/dynamic-geometry.ts +736 -0
  517. package/src/environment/background.ts +263 -0
  518. package/src/errors/gpu-driven.ts +39 -5
  519. package/src/errors/render.ts +27 -3
  520. package/src/extract/camera.ts +26 -1
  521. package/src/extract/gpu-driven.ts +185 -10
  522. package/src/features/host.ts +237 -19
  523. package/src/features/noise-texture.ts +91 -0
  524. package/src/features/plan.ts +553 -24
  525. package/src/features/prepared-gpu-work.ts +631 -49
  526. package/src/features/prepared-graphics-store.ts +31 -0
  527. package/src/features/prepared-graphics.ts +5 -0
  528. package/src/features/render-graph-compute.ts +41 -8
  529. package/src/features/render-graph-contribution.ts +141 -3
  530. package/src/features/render-graph-raster.ts +143 -30
  531. package/src/features/types.ts +11 -0
  532. package/src/fullscreen-post-process-pass.ts +3 -0
  533. package/src/gpu-driven/batch-topology.ts +424 -102
  534. package/src/gpu-driven/pbr-program.ts +31 -0
  535. package/src/gpu-driven/prepared-draw.ts +29 -4
  536. package/src/gpu-driven/production-raster.ts +2267 -694
  537. package/src/gpu-driven/shadow-views.ts +539 -0
  538. package/src/gpu-driven/view-gpu.ts +188 -41
  539. package/src/gpu-scene-schema.ts +52 -11
  540. package/src/gpu-scene.ts +186 -99
  541. package/src/gpu-texture-usage.ts +1 -0
  542. package/src/hdrp-buffers.ts +72 -36
  543. package/src/ibl/frame-resources.ts +38 -0
  544. package/src/ibl/skylight-bind-group.ts +5 -4
  545. package/src/index.ts +125 -1
  546. package/src/inspection-types.ts +191 -0
  547. package/src/instances-derived-bounds.ts +258 -34
  548. package/src/instances.ts +459 -150
  549. package/src/internal.ts +22 -0
  550. package/src/lifecycle.ts +2 -0
  551. package/src/material-row.ts +145 -0
  552. package/src/materials.ts +44 -8
  553. package/src/pbr-pipeline.ts +159 -17
  554. package/src/pipeline/standard-forward-lane.ts +52 -24
  555. package/src/pipeline/standard-output/__tests__/lut-admission.unit.test.ts +103 -0
  556. package/src/pipeline/standard-output/auto-exposure/__tests__/capability.unit.test.ts +40 -0
  557. package/src/pipeline/standard-output/auto-exposure/__tests__/gpu.contract.unit.test.ts +125 -0
  558. package/src/pipeline/standard-output/auto-exposure/__tests__/graph.contract.unit.test.ts +94 -0
  559. package/src/pipeline/standard-output/auto-exposure/__tests__/oracle.test.ts +108 -0
  560. package/src/pipeline/standard-output/auto-exposure/__tests__/preset.test.ts +26 -0
  561. package/src/pipeline/standard-output/auto-exposure/capability.ts +38 -0
  562. package/src/pipeline/standard-output/auto-exposure/gpu.ts +567 -0
  563. package/src/pipeline/standard-output/auto-exposure/graph.ts +221 -0
  564. package/src/pipeline/standard-output/auto-exposure/inspection.ts +231 -0
  565. package/src/pipeline/standard-output/auto-exposure/oracle.ts +291 -0
  566. package/src/pipeline/standard-output/auto-exposure/preset.ts +28 -0
  567. package/src/pipeline/standard-output/auto-exposure/state.ts +156 -0
  568. package/src/pipeline/standard-output/color-transform.ts +124 -0
  569. package/src/pipeline/standard-output/graph.ts +139 -0
  570. package/src/pipeline/standard-output/lut-admission.ts +121 -0
  571. package/src/pipeline/standard-output/lut-gpu.ts +399 -0
  572. package/src/pipeline/standard-output/lut-state.ts +176 -0
  573. package/src/pipeline/standard-output/resources.ts +121 -0
  574. package/src/pipeline/standard-output/types.ts +58 -0
  575. package/src/pipeline/standard-pipeline.ts +192 -59
  576. package/src/pipeline/standard-post.ts +186 -27
  577. package/src/pipeline-builder.ts +16 -6
  578. package/src/pipeline-spec-types.ts +4 -0
  579. package/src/pipeline-spec.ts +37 -29
  580. package/src/points-lines/standard-owner.ts +6 -14
  581. package/src/prepare/prepared-graphics-resolver.ts +9 -2
  582. package/src/record/__tests__/material-slot-plan.unit.test.ts +48 -0
  583. package/src/record/__tests__/mesh-ssbo.unit.test.ts +40 -1
  584. package/src/record/__tests__/recovery-pipeline.unit.test.ts +2 -29
  585. package/src/record/__tests__/sprite-material-abi.unit.test.ts +36 -5
  586. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +45 -0
  587. package/src/record/__tests__/view-ubo-layout.unit.test.ts +5 -0
  588. package/src/record/dynamic-geometry-consumption.ts +59 -0
  589. package/src/record/frame-lighting.ts +12 -11
  590. package/src/record/frame-snapshot.ts +133 -23
  591. package/src/record/frame-targets.ts +9 -0
  592. package/src/record/frame.ts +727 -133
  593. package/src/record/main-pass-geometry.ts +162 -98
  594. package/src/record/main-pass-material.ts +115 -26
  595. package/src/record/main-pass-sprite-draws.ts +18 -107
  596. package/src/record/main-pass.ts +78 -8
  597. package/src/record/material-uniforms.ts +1 -1
  598. package/src/record/mesh-ssbo.ts +59 -15
  599. package/src/record/prepared-material-bindings.ts +234 -0
  600. package/src/record/recovery-pipeline.ts +59 -136
  601. package/src/record/render-context.ts +92 -22
  602. package/src/record/shadow-pass.ts +1231 -209
  603. package/src/record/skybox-post-pass.ts +14 -3
  604. package/src/record/typed-frame-graph.ts +1006 -53
  605. package/src/record/view-ubo.ts +11 -0
  606. package/src/recovery/render-system-candidate.ts +90 -66
  607. package/src/recovery/render-system-roots.ts +113 -0
  608. package/src/recovery/types.ts +77 -0
  609. package/src/reflection/record-owner.ts +26 -54
  610. package/src/render-contract.ts +219 -25
  611. package/src/render-graph-primitives.ts +6 -2
  612. package/src/render-pipeline.ts +70 -1
  613. package/src/render-system-extract-tail.ts +409 -160
  614. package/src/render-system-extract.ts +376 -102
  615. package/src/render-system-projections.ts +241 -0
  616. package/src/render-system.ts +692 -791
  617. package/src/scene/render-scene-types.ts +13 -4
  618. package/src/scene/render-scene.ts +569 -355
  619. package/src/scene/shadow-visibility.ts +21 -0
  620. package/src/ssr/admission.ts +380 -14
  621. package/src/ssr/compose.ts +144 -0
  622. package/src/ssr/errors.ts +48 -0
  623. package/src/ssr/graph.ts +777 -0
  624. package/src/ssr/history.ts +436 -0
  625. package/src/ssr/hiz.ts +124 -0
  626. package/src/ssr/inspection.ts +124 -0
  627. package/src/ssr/resources.ts +202 -0
  628. package/src/ssr/temporal.ts +164 -0
  629. package/src/systems/skin-palette-allocator.ts +495 -148
  630. package/src/systems/skin-palette-types.ts +17 -0
  631. package/src/systems/transparent-dispatch.ts +90 -0
  632. package/src/targets/material-source.ts +34 -0
  633. package/src/temporal/coverage.ts +1 -1
  634. package/src/temporal/frame-coordinator.ts +23 -2
  635. package/src/temporal/gpu.ts +74 -12
  636. package/src/temporal/history.ts +3 -1
  637. package/src/temporal/inspection.ts +2 -1
  638. package/src/temporal/standard-scene-data.ts +3 -1
  639. package/src/temporal/temporal-view.ts +3 -0
  640. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +204 -139
  641. package/src/typed-render-graph-primitives.ts +266 -74
  642. package/src/typed-shadow-passes.ts +122 -12
  643. package/src/volume/temporal.ts +10 -0
  644. package/dist/chunk-ADHHVYLW.mjs.map +0 -1
  645. package/dist/chunk-FJ6P52EE.mjs.map +0 -1
  646. package/dist/chunk-GE3SDD72.mjs.map +0 -1
  647. package/dist/chunk-GF523LHF.mjs.map +0 -1
  648. package/dist/chunk-HKXTW355.mjs.map +0 -1
  649. package/dist/chunk-JDWARUOI.mjs.map +0 -1
  650. package/dist/chunk-KM2NOX2I.mjs.map +0 -1
  651. package/dist/chunk-TMIASV2N.mjs.map +0 -1
  652. package/dist/chunk-XDP6XE5V.mjs.map +0 -1
  653. package/dist/chunk-ZZ4YQ474.mjs.map +0 -1
  654. package/src/__tests__/instances-world-ownership.integration.test.ts +0 -62
  655. package/src/scene/__tests__/changed-block-summary.candidate.test.ts +0 -36
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ export type PostProcessReadSampleType = 'depth';
32
32
  export interface PostProcessShaderEntry {
33
33
  /** Composed WGSL source for the fragment stage (post-naga_oil). */
34
34
  readonly source: string;
35
+ /** Fragment entry point selected by the typed graph; defaults to `fs_main`. */
36
+ readonly fragmentEntryPoint?: string | undefined;
35
37
  /**
36
38
  * Params UBO schema. When undefined, the generic shader has no uniform buffer
37
39
  * and the BGL degrades to 2 entries (texture@0 + sampler@1). When present, the
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen-post-process-pass.d.ts","sourceRoot":"","sources":["../src/fullscreen-post-process-pass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullscreen-post-process-pass.d.ts","sourceRoot":"","sources":["../src/fullscreen-post-process-pass.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import type { RenderSceneApplyResult, RenderSceneSlot } from '../scene/render-sc
5
5
  import { type GpuLodRow } from '../scene/visibility/gpu-lod';
6
6
  import type { PreparedGpuDrivenDraw } from './prepared-draw';
7
7
  export type { BatchTopologyInspection } from '../inspection-types';
8
+ /** High bit in the compact candidate material lane marks a skin palette row. */
9
+ export declare const GPU_DRIVEN_SKIN_FLAG = 2147483648;
8
10
  export interface GpuDrivenBatchKey {
9
11
  readonly assetHandle: number;
10
12
  readonly drawKind: 'indexed' | 'non-indexed';
@@ -27,6 +29,7 @@ export interface GpuDrivenCandidate {
27
29
  readonly generation: number;
28
30
  readonly drawItemIndex: number;
29
31
  readonly instanceOrdinal: number;
32
+ readonly prepared?: PreparedGpuDrivenDraw;
30
33
  /** Absolute coverage rows uploaded to the GPU selector; root is implicit. */
31
34
  readonly lodCoverages?: readonly number[];
32
35
  readonly lodHysteresis?: number;
@@ -36,7 +39,6 @@ export interface GpuDrivenCandidate {
36
39
  readonly count: number;
37
40
  readonly baseVertex: number;
38
41
  }[];
39
- readonly prepared?: PreparedGpuDrivenDraw;
40
42
  }
41
43
  export interface GpuDrivenBatch {
42
44
  readonly batchId: number;
@@ -49,6 +51,8 @@ export interface GpuDrivenBatch {
49
51
  }
50
52
  export interface SubmissionPlan {
51
53
  readonly revision: number;
54
+ /** Payload-only updates keep topology revision stable but still invalidate the plan snapshot. */
55
+ readonly payloadRevision: number;
52
56
  readonly batches: readonly GpuDrivenBatch[];
53
57
  readonly candidateCount: number;
54
58
  readonly visibleCapacity: number;
@@ -67,6 +71,28 @@ export interface GpuLodCompactCandidate {
67
71
  }
68
72
  /** Selects one level per stable topology candidate without mutating membership. */
69
73
  export declare function compactGpuLodCandidates(inputs: readonly GpuLodCandidateInput[]): readonly GpuLodCompactCandidate[];
74
+ export interface SubmissionCandidateMembershipEntry {
75
+ readonly batchId: number;
76
+ readonly candidate: GpuDrivenCandidate;
77
+ }
78
+ /**
79
+ * Immutable reverse membership for one submission topology.
80
+ *
81
+ * Shadow views query the same candidate domain as the main view. Keeping the
82
+ * primitive-to-batch join beside the immutable plan makes that lookup once per
83
+ * topology instead of rescanning every batch for every view.
84
+ */
85
+ export interface SubmissionCandidateMembership {
86
+ readonly source: SubmissionPlan;
87
+ readonly byPrimitiveIndex: ReadonlyMap<number, readonly SubmissionCandidateMembershipEntry[]>;
88
+ }
89
+ export declare function buildSubmissionCandidateMembership(source: SubmissionPlan): SubmissionCandidateMembership;
90
+ /**
91
+ * Re-project one source topology for a view without changing batch identity.
92
+ * The returned plan only changes candidate windows and keeps batch ids,
93
+ * generations, draw ranges, and indirect offsets from the source plan.
94
+ */
95
+ export declare function buildBatchAlignedSubmission(source: SubmissionPlan, candidatesByBatch: ReadonlyMap<number, readonly GpuDrivenCandidate[]>): SubmissionPlan;
70
96
  export declare function projectedHeightForCandidate(slot: RenderSceneSlot, camera: CameraSnapshot): number;
71
97
  /** Stable compatibility grouping; per-view visibility never mutates this owner. */
72
98
  export declare class BatchTopology {
@@ -76,8 +102,14 @@ export declare class BatchTopology {
76
102
  private readonly generationByBatchId;
77
103
  private readonly freeBatchIds;
78
104
  private revision;
105
+ private payloadRevision;
79
106
  private rebuilds;
80
107
  private patches;
108
+ private payloadPatches;
109
+ private membershipChecks;
110
+ private membershipAllocations;
111
+ private candidateAdds;
112
+ private candidateRemoves;
81
113
  private cachedPlan;
82
114
  rebuild(slots: readonly RenderSceneSlot[]): void;
83
115
  apply(delta: RenderSceneApplyResult): boolean;
@@ -85,5 +117,6 @@ export declare class BatchTopology {
85
117
  inspect(): BatchTopologyInspection;
86
118
  private add;
87
119
  private remove;
120
+ private candidateFromEligible;
88
121
  }
89
122
  //# sourceMappingURL=batch-topology.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"batch-topology.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/batch-topology.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,6BAA6B,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,aAAa,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;IACJ,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,oBAAoB,EAAE,GACtC,SAAS,sBAAsB,EAAE,CAOnC;AAsHD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAkCjG;AAED,mFAAmF;AACnF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAGlC;IACJ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,UAAU,CAA6B;IAE/C,OAAO,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IAYhD,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAiC7C,IAAI,IAAI,cAAc;IAiCtB,OAAO,IAAI,uBAAuB;IAalC,OAAO,CAAC,GAAG;IA6DX,OAAO,CAAC,MAAM;CAgBf"}
1
+ {"version":3,"file":"batch-topology.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/batch-topology.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ShaderModule } from '@forgeax/engine-rhi';
2
+ import type { MaterialShaderArtifact } from '@forgeax/engine-shader';
3
+ /** One producer-selected WGSL module and its matching vertex/material receipt. */
4
+ export interface GpuDrivenPbrProgram {
5
+ readonly module: ShaderModule;
6
+ readonly artifact: MaterialShaderArtifact;
7
+ }
8
+ export declare function standardPbrProgramKey(materialShaderId: string, vertexColorAvailable?: boolean): string | undefined;
9
+ export declare function resolveStandardPbrProgram(programs: ReadonlyMap<string, GpuDrivenPbrProgram> | undefined, materialShaderId: string, vertexColorAvailable?: boolean): GpuDrivenPbrProgram | undefined;
10
+ //# sourceMappingURL=pbr-program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbr-program.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/pbr-program.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,kFAAkF;AAClF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;CAC3C;AAED,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,UAAQ,GAC3B,MAAM,GAAG,SAAS,CASpB;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,EAC9D,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,UAAQ,GAC3B,mBAAmB,GAAG,SAAS,CAGjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-draw.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/prepared-draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepared-draw.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/prepared-draw.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,30 @@
1
1
  import type { RenderGraphBuilder, RenderGraphError } from '@forgeax/engine-render-graph';
2
- import type { BindGroup, BindGroupLayout, Result, RhiDevice, ShaderModule, TextureFormat } from '@forgeax/engine-rhi';
2
+ import type { BindGroup, BindGroupLayout, Result, RhiDevice, TextureFormat } from '@forgeax/engine-rhi';
3
3
  import { RhiError } from '@forgeax/engine-rhi';
4
4
  import type { MaterialShaderArtifact } from '@forgeax/engine-shader';
5
+ import type { MaterialRenderState } from '@forgeax/engine-types';
5
6
  import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
6
7
  import type { MeshGpuHandles } from '../device/gpu-residency';
7
- import type { GpuDrivenProductionInspection } from '../inspection-types';
8
+ import { GpuDrivenPreparationError } from '../errors/gpu-driven';
9
+ import type { GpuDrivenProductionInspection, GpuDrivenStructureMetrics } from '../inspection-types';
8
10
  import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
11
+ import type { ValidatedRenderable } from '../record/frame-snapshot';
9
12
  import type { PipelineState } from '../record/render-context';
10
13
  import type { CameraSnapshot } from '../render-contract';
11
- import type { RenderPipelineFrame, RenderPipelineGpuDrivenProjection } from '../render-pipeline';
12
- import type { RenderableSnapshot } from '../render-system-extract';
14
+ import type { GpuDrivenStandardPbrFrameResources, RenderPipelineFrame, RenderPipelineGpuDrivenProjection } from '../render-pipeline';
15
+ import type { DispatchEntry, MaterialSnapshot, RenderableSnapshot, ShadowCasterMembership } from '../render-system-extract';
13
16
  import type { PersistentGpuDrivenState } from '../scene/render-scene';
14
17
  import type { OcclusionFrameProjection } from '../scene/visibility/occlusion-runtime';
18
+ import { type GpuDrivenBatch, type SubmissionPlan } from './batch-topology';
19
+ import { type ShadowViewIdentity, type ShadowViewProjection, ShadowViewStatePool, type ShadowViewUpdateInput } from './shadow-views';
15
20
  import { type GpuDrivenLodSelectionInspection } from './view-gpu';
16
21
  export interface StandardPbrSceneCandidate {
17
22
  readonly primitiveIndex: number;
18
23
  readonly world: Float32Array;
24
+ /** Optional per-instance local transform selected by BatchTopology. */
25
+ readonly instanceTransform?: Float32Array;
26
+ /** Optional GPU Scene material row carried by the shadow projection. */
27
+ readonly materialIndex?: number;
19
28
  }
20
29
  export interface StandardPbrSceneProjection {
21
30
  readonly entryPoint: string;
@@ -24,6 +33,16 @@ export interface StandardPbrSceneProjection {
24
33
  /** Packed Mesh rows: mat4 + padded mat3 + previous mat4 + temporal vec4. */
25
34
  readonly rows: Float32Array;
26
35
  }
36
+ export interface GpuDrivenShadowBatchProjection {
37
+ readonly mesh: MeshGpuHandles;
38
+ readonly meshBindGroup: BindGroup;
39
+ readonly visibleBindGroup: BindGroup;
40
+ readonly deformation: 'rigid' | 'skin';
41
+ /** Material snapshot used to assemble the receipt-owned alpha-mask BG. */
42
+ readonly material: MaterialSnapshot;
43
+ /** Composite entity identity used only for video-resource routing. */
44
+ readonly materialEntityKey: number;
45
+ }
27
46
  /**
28
47
  * Build the producer-owned Standard PBR scene-index projection. The receipt is
29
48
  * the only source of the vertex entry and layout identity; callers cannot
@@ -69,7 +88,27 @@ export declare function adaptStandardPbrFrameResources(input: {
69
88
  readonly code: 'missing-material-receipt' | 'invalid-material-receipt';
70
89
  };
71
90
  };
72
- export declare const GPU_DRIVEN_RIGID_UNLIT_WGSL: string;
91
+ interface PreparedBatch {
92
+ readonly batch: GpuDrivenBatch;
93
+ readonly mesh: MeshGpuHandles;
94
+ readonly renderState: MaterialRenderState | undefined;
95
+ /** Stable World attachment key used to join same-submit GPU counters. */
96
+ readonly worldKey: number;
97
+ /** Stable representative slot identity for this homogeneous batch. */
98
+ readonly primitiveSlot: number;
99
+ readonly slotGeneration: number;
100
+ }
101
+ declare function filteredPlan(source: SubmissionPlan, slots: PersistentGpuDrivenState['slots'], meshBySlot: ReadonlyMap<number, MeshGpuHandles>, shadowCasterDrawKeys?: ReadonlySet<string>, skinArtifact?: MaterialShaderArtifact, shadowCasterMembership?: readonly ShadowCasterMembership[], camera?: CameraSnapshot, activeEntityKeys?: ReadonlySet<number>, worldKeys?: readonly number[]): {
102
+ readonly plan: SubmissionPlan;
103
+ readonly batches: readonly PreparedBatch[];
104
+ /** True only when every source draw item/instance has a main GPU candidate. */
105
+ readonly ownsAllDrawItems: boolean;
106
+ /** Concrete entity/material/draw identities claimed by this projection. */
107
+ readonly drawKeys: ReadonlySet<string>;
108
+ /** Extracted concrete ShadowCaster keys actually claimed by this plan. */
109
+ readonly shadowDrawKeys: ReadonlySet<string>;
110
+ };
111
+ type FilteredProductionPlan = ReturnType<typeof filteredPlan>;
73
112
  export interface GpuDrivenWorldLodSelectionInspection {
74
113
  readonly worldKey: number;
75
114
  readonly primitiveSlot: number;
@@ -84,13 +123,47 @@ export interface GpuDrivenWorldLodSelectionInspection {
84
123
  }
85
124
  export interface PreparedGpuDrivenFrame {
86
125
  readonly topologySignature: string;
87
- readonly entityKeys: ReadonlySet<number>;
88
- readonly ownsAllRenderables: boolean;
126
+ /** True when every source draw item/instance is claimed by the GPU lane. */
127
+ readonly ownsAllDrawItems: boolean;
128
+ /** True only when the extracted ShadowCaster channel is fully represented. */
129
+ readonly ownsAllShadowCasters?: boolean;
130
+ /** Concrete main-pass draw identities claimed by the GPU projection. */
131
+ readonly drawKeys?: ReadonlySet<string>;
132
+ readonly standardPbrFrameResources: GpuDrivenStandardPbrFrameResources;
89
133
  readonly occlusion?: OcclusionFrameProjection;
90
134
  /** @internal Commits a replacement generation only after graph promotion. */
91
135
  readonly _commitResourceReplacement: () => void;
136
+ /** @internal Retires superseded view buffers when graph compilation promotes them. */
137
+ readonly _commitGpuResourceReplacement?: () => void;
138
+ /** @internal Discards staged shadow cache publication after a failed frame. */
139
+ readonly _abortResourceReplacement?: () => void;
140
+ /** Concrete ShadowCaster keys claimed by the GPU subset for this frame. */
141
+ readonly shadowDrawKeys?: ReadonlySet<string>;
142
+ /** View-scoped ShadowCaster claims consumed by each shadow record pass. */
143
+ readonly shadowDrawKeysByView?: ReadonlyMap<string, ReadonlySet<string>>;
144
+ readonly projectShadow?: (graph: RenderGraphBuilder<RenderPipelineFrame>, identity: ShadowViewIdentity) => Result<ShadowViewProjection | undefined, RenderGraphError>;
145
+ readonly updateShadowViews?: (views: readonly Omit<ShadowViewUpdateInput, 'sourcePlan' | 'scene'>[]) => Result<void, RhiError>;
146
+ readonly shadowViewPool?: ShadowViewStatePool;
147
+ readonly shadowBatchProjections?: ReadonlyMap<string, ReadonlyMap<number, GpuDrivenShadowBatchProjection>>;
92
148
  project(graph: RenderGraphBuilder<RenderPipelineFrame>, format: TextureFormat, sampleCount: 1 | 4): Result<RenderPipelineGpuDrivenProjection, RenderGraphError | RhiError>;
93
149
  }
150
+ /**
151
+ * Renderer-owned identity token for the validation that resolves renderable
152
+ * assets to GPU meshes. The token is deliberately narrower than a frame
153
+ * number: unchanged persistent scene snapshots can reuse the resolved rows,
154
+ * while a mesh/device/pipeline generation change forces a fresh producer read.
155
+ */
156
+ export interface GpuDrivenResidencyValidationInput {
157
+ /** Opaque renderer-computed world/source identity and generation fence. */
158
+ readonly cacheKey: string;
159
+ readonly renderables: readonly RenderableSnapshot[];
160
+ readonly transparentDispatch: readonly DispatchEntry[];
161
+ readonly pipelineState: PipelineState;
162
+ readonly pipelineHandle: number;
163
+ readonly meshResidencyEpoch: number;
164
+ readonly deviceGeneration: number;
165
+ readonly assetCatalogEpoch: number;
166
+ }
94
167
  export interface RecoveryCapabilityFacts {
95
168
  readonly generation: number;
96
169
  readonly shaderCompilation: boolean;
@@ -118,42 +191,90 @@ export declare function classifyRecoveryCapability(facts: RecoveryCapabilityFact
118
191
  export declare class GpuDrivenProduction {
119
192
  private readonly device;
120
193
  private readonly shaderModuleFactory;
194
+ private readonly recoveryCount;
121
195
  private disposed;
122
196
  private view;
123
- private raster;
124
197
  private standardRaster;
198
+ private skinRaster;
125
199
  private readonly sceneIdentities;
126
200
  private nextSceneIdentity;
127
201
  private filteredCache;
202
+ private shadowFilteredCache;
128
203
  private gpuOwnedSnapshotsMaterialized;
129
204
  private filteredPlanBuilds;
130
205
  private gpuOwnedEntityCount;
131
206
  private batchBindGroupCreates;
132
207
  private validatedGpuOwnedRows;
133
208
  private cpuFallbackDrawItems;
209
+ private cpuSemanticFallbackDrawItems;
210
+ private cpuDeformationFallbackDrawItems;
211
+ private readonly cpuDeformationReasons;
212
+ private blockedDrawItems;
213
+ private preparationFailure;
214
+ private encodedIndirectDraws;
134
215
  private telemetryPrepared;
135
216
  private telemetryCandidateCount;
136
217
  private telemetryGeometryWork;
137
218
  private telemetryRootGeometryWork;
219
+ private telemetryOverflow;
138
220
  private indirectDrawCount;
139
- private sceneRowsRequired;
221
+ private gpuOwnedDrawItems;
222
+ private mainTotalDrawItems;
223
+ private lane;
224
+ private laneReason;
225
+ private submissionState;
226
+ private retryCount;
227
+ private lastKnownGoodGeneration;
228
+ private overflowRecoveryRequired;
229
+ private shadowViews;
230
+ private shadowSourcePlan;
231
+ private shadowScene;
232
+ private shadowBatchProjections;
233
+ private shadowDrawKeysByView;
234
+ private shadowExpectedDrawKeys;
235
+ private shadowBatchProjectionSource;
236
+ private skinPaletteBuffer;
237
+ private committedPaletteContentRevision;
140
238
  private standardPbrProjection;
239
+ private committedProjectionSource;
240
+ private validatedResidencyCache;
241
+ private residencyValidationCacheHits;
242
+ private residencyValidationScans;
243
+ private cpuValidationTelemetryCache;
244
+ private cpuValidationCacheHits;
245
+ private cpuValidationScans;
246
+ private structureMetrics;
141
247
  private signatureCache;
142
- constructor(device: RhiDevice, shaderModuleFactory: PipelineBuilderShaderModuleFactory);
248
+ constructor(device: RhiDevice, shaderModuleFactory: PipelineBuilderShaderModuleFactory, recoveryCount?: number);
249
+ /**
250
+ * Reuse the last producer-resolved residency rows when all source identity
251
+ * and generation fences still match. Renderables and dispatch entries are
252
+ * checked element-by-element as well as by their stable object identities so
253
+ * an accidental in-place mutation cannot reuse stale renderable indices.
254
+ */
255
+ reuseResidencyValidation(input: GpuDrivenResidencyValidationInput): readonly ValidatedRenderable[] | undefined;
256
+ /** Publish the producer-owned rows after a completed residency validation. */
257
+ rememberResidencyValidation(input: GpuDrivenResidencyValidationInput, value: readonly ValidatedRenderable[]): void;
258
+ private applyCpuValidationTelemetry;
143
259
  static forDevice(device: RhiDevice, shaderModuleFactory: PipelineBuilderShaderModuleFactory): GpuDrivenProduction;
144
- /** Recovery has no frame retry: await generated programs before preparing the graph. */
145
- static forRecoveryDevice(device: RhiDevice, factory: PipelineBuilderShaderModuleFactory, createShaderModule: (descriptor: {
146
- code: string;
147
- label?: string;
148
- }) => Promise<Result<ShaderModule, RhiError>>): Promise<Result<GpuDrivenProduction, RhiError>>;
149
260
  createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
150
261
  prepare(input: {
151
262
  readonly scene: PersistentGpuDrivenState | undefined;
152
263
  readonly camera: CameraSnapshot;
153
- readonly meshes: ReadonlyMap<number, MeshGpuHandles>;
264
+ /** GPU meshes projected by retained RenderScene slot, never raw asset handle. */
265
+ readonly meshBySlot: ReadonlyMap<number, MeshGpuHandles>;
154
266
  readonly viewBindGroupLayout: BindGroupLayout;
155
267
  readonly meshResidencyEpoch: number;
156
268
  readonly hdrp: boolean;
269
+ /** Cooked producer artifact selected from the frame material catalog. */
270
+ readonly standardPbrArtifact?: MaterialShaderArtifact;
271
+ /** Cooked producer artifact for the GPU skinning variant. */
272
+ readonly standardPbrSkinArtifact?: MaterialShaderArtifact;
273
+ readonly standardPbrPipelineState?: PipelineState;
274
+ /** Extracted ShadowCaster ownership keyed by concrete draw item and pass. */
275
+ readonly shadowCasterDrawKeys?: ReadonlySet<string>;
276
+ /** Structured ShadowCaster ownership facts for exact pass admission. */
277
+ readonly shadowCasterMembership?: readonly ShadowCasterMembership[];
157
278
  /** Entity keys admitted by the persistent visibility facet for this view. */
158
279
  readonly activeEntityKeys?: ReadonlySet<number>;
159
280
  /** Collision-free renderer-owned revision for the active visibility set. */
@@ -161,19 +282,19 @@ export declare class GpuDrivenProduction {
161
282
  /** Total extracted candidates, including facet-suppressed rows. */
162
283
  readonly telemetryCandidateCount?: number;
163
284
  readonly occlusion?: OcclusionFrameProjection;
164
- /** Cooked producer artifact selected from the frame material catalog. */
165
- readonly standardPbrArtifact?: MaterialShaderArtifact;
166
- readonly standardPbrPipelineState?: PipelineState;
167
- }): Result<PreparedGpuDrivenFrame | undefined, RhiError>;
285
+ /** Per-frame deltas from the existing RenderScene/GPU Scene/palette owners. */
286
+ readonly structureMetrics?: GpuDrivenStructureMetrics;
287
+ }): Result<PreparedGpuDrivenFrame | undefined, RhiError | GpuDrivenPreparationError>;
288
+ updateShadowViews(views: readonly Omit<ShadowViewUpdateInput, 'sourcePlan' | 'scene'>[], artifact: MaterialShaderArtifact, skinArtifact: MaterialShaderArtifact | undefined, filtered: FilteredProductionPlan, scene: PersistentGpuDrivenState, shadowCasterDrawKeys: ReadonlySet<string> | undefined, shadowCasterMembership: readonly ShadowCasterMembership[] | undefined): Result<void, RhiError>;
289
+ private disableShadowViews;
168
290
  dispose(): void;
169
- /** Whether the current production topology can consume GPU Scene row updates. */
170
- requiresSceneRows(): boolean;
171
291
  inspect(): GpuDrivenProductionInspection;
172
292
  /** Read renderer-owned LOD counters copied by the last GPU submission. */
173
293
  readLodSelection(): Promise<GpuDrivenLodSelectionInspection | undefined>;
174
294
  recordCpuValidation(validated: readonly {
175
295
  readonly source: RenderableSnapshot;
176
- }[], gpuOwned: ReadonlySet<number>, worldKeys?: readonly number[]): void;
296
+ }[], gpuOwnedDrawKeys: ReadonlySet<string>, cacheKey?: string): void;
177
297
  private sceneIdentity;
178
298
  }
299
+ export {};
179
300
  //# sourceMappingURL=production-raster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"production-raster.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/production-raster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"production-raster.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/production-raster.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import { type GraphAccess, type GraphResourceResolver, type RenderGraphBuilder, RenderGraphError, type RenderGraphFrame } from '@forgeax/engine-render-graph';
2
+ import type { Result, RhiDevice, RhiRenderPassEncoder } from '@forgeax/engine-rhi';
3
+ import { RhiError } from '@forgeax/engine-rhi';
4
+ import type { GpuScene } from '../gpu-scene';
5
+ import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
6
+ import { type SubmissionPlan } from './batch-topology';
7
+ import { GpuDrivenView, type GpuDrivenViewGraphResources } from './view-gpu';
8
+ export type ShadowViewKind = 'directional' | 'point' | 'spot';
9
+ export interface ShadowViewIdentity {
10
+ readonly kind: ShadowViewKind;
11
+ readonly index: number;
12
+ /** Optional point-light index when `index` identifies the cube face. */
13
+ readonly face?: number;
14
+ }
15
+ export type ShadowViewCacheState = 'hit' | 'invalidated';
16
+ export interface ShadowViewUpdateInput {
17
+ readonly identity: ShadowViewIdentity;
18
+ readonly sourcePlan: SubmissionPlan;
19
+ readonly scene: GpuScene;
20
+ readonly planes: Float32Array;
21
+ readonly cacheToken?: string;
22
+ readonly candidatePrimitiveIndices?: readonly number[] | ReadonlySet<number>;
23
+ }
24
+ export interface ShadowViewUpdate {
25
+ readonly identity: ShadowViewIdentity;
26
+ readonly cache: ShadowViewCacheState;
27
+ readonly generation: number;
28
+ readonly sourcePlan: SubmissionPlan;
29
+ readonly plan: SubmissionPlan;
30
+ readonly view: GpuDrivenView;
31
+ }
32
+ export interface ShadowViewProjection {
33
+ readonly identity: ShadowViewIdentity;
34
+ readonly cache: ShadowViewCacheState;
35
+ readonly generation: number;
36
+ readonly plan: SubmissionPlan;
37
+ readonly view: GpuDrivenView;
38
+ readonly passNames: readonly string[];
39
+ readonly graphResources: GpuDrivenViewGraphResources | undefined;
40
+ }
41
+ export interface ShadowViewSubmission {
42
+ readonly identity: ShadowViewIdentity;
43
+ readonly cache: ShadowViewCacheState;
44
+ readonly generation: number;
45
+ readonly plan: SubmissionPlan;
46
+ readonly view: GpuDrivenView;
47
+ }
48
+ /**
49
+ * The only record-side hook a capable shadow lane needs after the shared
50
+ * groups are bound. The callback owns material/mesh binding policy and emits
51
+ * the indirect draws for this view; it receives the pool projection rather
52
+ * than rebuilding a candidate list from the frame.
53
+ */
54
+ export interface ShadowViewGpuRecordInput {
55
+ readonly identity: ShadowViewIdentity;
56
+ readonly projection: ShadowViewProjection;
57
+ readonly pass: RhiRenderPassEncoder;
58
+ readonly resources: GraphResourceResolver;
59
+ }
60
+ export type ShadowViewGpuRecorder = (input: ShadowViewGpuRecordInput) => void;
61
+ export interface ShadowViewGpuPass {
62
+ readonly projection: ShadowViewProjection;
63
+ readonly resources: GraphResourceResolver;
64
+ readonly record: ShadowViewGpuRecorder;
65
+ }
66
+ export interface ShadowViewInspection {
67
+ readonly identity: ShadowViewIdentity;
68
+ readonly cache: ShadowViewCacheState;
69
+ readonly generation: number;
70
+ readonly sourceRevision: number;
71
+ readonly candidateCount: number;
72
+ readonly batchCount: number;
73
+ readonly resourceGeneration: number;
74
+ }
75
+ export declare function shadowViewIdentityKey(identity: ShadowViewIdentity): string;
76
+ export declare function shadowViewLabelPrefix(identity: ShadowViewIdentity): string;
77
+ /**
78
+ * Accesses consumed by a shadow raster adapter. These are the same imported
79
+ * scene and view-local resources written by GpuDrivenView.addPasses(...), so
80
+ * the graph inserts the compute-to-raster dependency without a second graph
81
+ * or a manual barrier owner.
82
+ */
83
+ export declare function shadowViewRasterAccesses(resources: GpuDrivenViewGraphResources): readonly GraphAccess[];
84
+ /**
85
+ * Renderer-owned shadow view state. The pool shares one scene/topology source;
86
+ * each directional, point, or spot entry owns only view constants, visibility,
87
+ * counters, indirect arguments, and its cache decision.
88
+ */
89
+ export declare class ShadowViewStatePool {
90
+ private readonly device;
91
+ private readonly shaderModuleFactory;
92
+ private readonly records;
93
+ private readonly activeKeys;
94
+ private readonly retiring;
95
+ private readonly pendingPublication;
96
+ private constructor();
97
+ static create(input: {
98
+ readonly device: RhiDevice;
99
+ readonly shaderModuleFactory: PipelineBuilderShaderModuleFactory;
100
+ }): Result<ShadowViewStatePool, RhiError>;
101
+ update(input: ShadowViewUpdateInput): Result<ShadowViewUpdate, RhiError>;
102
+ project<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, identity: ShadowViewIdentity): Result<ShadowViewProjection, RenderGraphError>;
103
+ invalidate(identity?: ShadowViewIdentity): void;
104
+ cacheState(identity: ShadowViewIdentity): ShadowViewCacheState | undefined;
105
+ cacheHit(identity: ShadowViewIdentity): boolean;
106
+ isActive(identity: ShadowViewIdentity): boolean;
107
+ submission(identity: ShadowViewIdentity): ShadowViewSubmission | undefined;
108
+ /**
109
+ * Keep only the active view identities for the current frame. Removed light
110
+ * views are disposed through their own queue-fenced resource owner instead
111
+ * of remaining in inspection or changing the compiled topology forever.
112
+ */
113
+ retain(identities: readonly ShadowViewIdentity[]): void;
114
+ /** @internal Commit every view resource replacement after a successful submit. */
115
+ _commitResourceReplacement(): void;
116
+ /**
117
+ * Abort a staged frame before its queue submit barrier. A candidate view
118
+ * must not become a cache hit merely because graph encoding succeeded: the
119
+ * next frame has to rebuild it after any submit/finish failure.
120
+ */
121
+ _abortResourceReplacement(): void;
122
+ inspect(): readonly ShadowViewInspection[];
123
+ dispose(): void;
124
+ }
125
+ export { ShadowViewStatePool as GpuDrivenShadowViewPool };
126
+ //# sourceMappingURL=shadow-views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-views.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/shadow-views.ts"],"names":[],"mappings":"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"}