@forgeax/engine-render 0.1.20 → 0.1.21

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 (372) hide show
  1. package/README.md +215 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/assembly/device-feature-admission.d.ts +18 -0
  4. package/dist/assembly/device-feature-admission.d.ts.map +1 -0
  5. package/dist/assembly/directional-shadow-inspection.d.ts +38 -0
  6. package/dist/assembly/directional-shadow-inspection.d.ts.map +1 -0
  7. package/dist/assembly/factory.d.ts +21 -18
  8. package/dist/assembly/factory.d.ts.map +1 -1
  9. package/dist/assembly/host-contract.d.ts +9 -0
  10. package/dist/assembly/host-contract.d.ts.map +1 -1
  11. package/dist/assembly/render-target-host.d.ts +46 -0
  12. package/dist/assembly/render-target-host.d.ts.map +1 -0
  13. package/dist/assets/render-asset-port.d.ts.map +1 -1
  14. package/dist/authoring.mjs +3 -0
  15. package/dist/authoring.mjs.map +1 -1
  16. package/dist/capture/cube-views.d.ts +21 -0
  17. package/dist/capture/cube-views.d.ts.map +1 -0
  18. package/dist/capture/scheduler.d.ts +54 -0
  19. package/dist/capture/scheduler.d.ts.map +1 -0
  20. package/dist/{chunk-4XINDLAY.mjs → chunk-5YADUCA7.mjs} +1552 -1361
  21. package/dist/chunk-5YADUCA7.mjs.map +1 -0
  22. package/dist/{chunk-TBQJOK2L.mjs → chunk-6OPXDQ2E.mjs} +364 -51
  23. package/dist/chunk-6OPXDQ2E.mjs.map +1 -0
  24. package/dist/{chunk-M2MP4ZOU.mjs → chunk-BXBQQKFQ.mjs} +3 -9
  25. package/dist/chunk-BXBQQKFQ.mjs.map +1 -0
  26. package/dist/{chunk-CDTWTHZR.mjs → chunk-FS2KNUQH.mjs} +548 -6
  27. package/dist/chunk-FS2KNUQH.mjs.map +1 -0
  28. package/dist/components/camera.d.ts +1 -0
  29. package/dist/components/camera.d.ts.map +1 -1
  30. package/dist/components/cube-camera.d.ts +20 -0
  31. package/dist/components/cube-camera.d.ts.map +1 -0
  32. package/dist/components/directional-light.d.ts +11 -2
  33. package/dist/components/directional-light.d.ts.map +1 -1
  34. package/dist/components/directional-shadow-filter.d.ts +25 -0
  35. package/dist/components/directional-shadow-filter.d.ts.map +1 -0
  36. package/dist/components/index.d.ts +2 -0
  37. package/dist/components/index.d.ts.map +1 -1
  38. package/dist/components/light-helpers.d.ts.map +1 -1
  39. package/dist/components/reflection-probe.d.ts +17 -0
  40. package/dist/components/reflection-probe.d.ts.map +1 -0
  41. package/dist/construct-renderer.mjs +5826 -1003
  42. package/dist/construct-renderer.mjs.map +1 -1
  43. package/dist/environment/frame.d.ts.map +1 -1
  44. package/dist/environment/lifecycle.d.ts +5 -0
  45. package/dist/environment/lifecycle.d.ts.map +1 -1
  46. package/dist/errors/render.d.ts +141 -93
  47. package/dist/errors/render.d.ts.map +1 -1
  48. package/dist/extract/directional-shadow-projection.d.ts +23 -0
  49. package/dist/extract/directional-shadow-projection.d.ts.map +1 -0
  50. package/dist/extract/environment.d.ts +14 -0
  51. package/dist/extract/environment.d.ts.map +1 -1
  52. package/dist/extract/visibility.d.ts.map +1 -1
  53. package/dist/features/fullscreen.d.ts.map +1 -1
  54. package/dist/features/targets.d.ts.map +1 -1
  55. package/dist/features/types.d.ts +10 -0
  56. package/dist/features/types.d.ts.map +1 -1
  57. package/dist/fullscreen-post-process-pass.d.ts +13 -2
  58. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  59. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  60. package/dist/gpu-driven/production-raster.d.ts +0 -1
  61. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  62. package/dist/gpu-scene.d.ts.map +1 -1
  63. package/dist/hdrp-buffers.d.ts +19 -17
  64. package/dist/hdrp-buffers.d.ts.map +1 -1
  65. package/dist/ibl/IblPipelineCache.d.ts +4 -0
  66. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  67. package/dist/ibl/kernel-cache.d.ts +36 -0
  68. package/dist/ibl/kernel-cache.d.ts.map +1 -0
  69. package/dist/index.d.ts +28 -3
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.mjs +4 -4
  72. package/dist/index.mjs.map +1 -1
  73. package/dist/inspection-types.d.ts +51 -0
  74. package/dist/inspection-types.d.ts.map +1 -1
  75. package/dist/instances-derived-bounds.d.ts +50 -0
  76. package/dist/instances-derived-bounds.d.ts.map +1 -0
  77. package/dist/internal.mjs +1 -1
  78. package/dist/light-buffer-layout.d.ts +10 -1
  79. package/dist/light-buffer-layout.d.ts.map +1 -1
  80. package/dist/mesh-material-bindings.d.ts +54 -0
  81. package/dist/mesh-material-bindings.d.ts.map +1 -1
  82. package/dist/pbr-pipeline.d.ts +14 -4
  83. package/dist/pbr-pipeline.d.ts.map +1 -1
  84. package/dist/pipeline/standard-forward-lane.d.ts +2 -1
  85. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  86. package/dist/pipeline/standard-lighting/errors.d.ts +4 -0
  87. package/dist/pipeline/standard-lighting/errors.d.ts.map +1 -0
  88. package/dist/pipeline/standard-lighting/graph.d.ts +24 -0
  89. package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -0
  90. package/dist/pipeline/standard-lighting/inspection.d.ts +38 -0
  91. package/dist/pipeline/standard-lighting/inspection.d.ts.map +1 -0
  92. package/dist/pipeline/standard-lighting/layout.d.ts +28 -0
  93. package/dist/pipeline/standard-lighting/layout.d.ts.map +1 -0
  94. package/dist/pipeline/standard-lighting/light-frame.d.ts +33 -0
  95. package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -0
  96. package/dist/pipeline/standard-lighting/membership.d.ts +14 -0
  97. package/dist/pipeline/standard-lighting/membership.d.ts.map +1 -0
  98. package/dist/pipeline/standard-lighting/prepare.d.ts +16 -0
  99. package/dist/pipeline/standard-lighting/prepare.d.ts.map +1 -0
  100. package/dist/pipeline/standard-lighting/topology.d.ts +45 -0
  101. package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -0
  102. package/dist/pipeline/standard-lighting/transport.d.ts +36 -0
  103. package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -0
  104. package/dist/pipeline/standard-pipeline.d.ts +4 -13
  105. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  106. package/dist/pipeline/standard-post.d.ts.map +1 -1
  107. package/dist/pipeline/standard-profile.d.ts +5 -26
  108. package/dist/pipeline/standard-profile.d.ts.map +1 -1
  109. package/dist/pipeline-spec.d.ts +40 -7
  110. package/dist/pipeline-spec.d.ts.map +1 -1
  111. package/dist/point-shadow-inspection.d.ts +21 -0
  112. package/dist/point-shadow-inspection.d.ts.map +1 -0
  113. package/dist/record/frame-lighting.d.ts +27 -32
  114. package/dist/record/frame-lighting.d.ts.map +1 -1
  115. package/dist/record/frame-snapshot.d.ts +28 -14
  116. package/dist/record/frame-snapshot.d.ts.map +1 -1
  117. package/dist/record/frame-targets.d.ts +5 -0
  118. package/dist/record/frame-targets.d.ts.map +1 -1
  119. package/dist/record/frame.d.ts +10 -4
  120. package/dist/record/frame.d.ts.map +1 -1
  121. package/dist/record/gpu-pass-timing/contract.d.ts +96 -0
  122. package/dist/record/gpu-pass-timing/contract.d.ts.map +1 -0
  123. package/dist/record/gpu-pass-timing/errors.d.ts +18 -0
  124. package/dist/record/gpu-pass-timing/errors.d.ts.map +1 -0
  125. package/dist/record/gpu-pass-timing/index.d.ts +8 -0
  126. package/dist/record/gpu-pass-timing/index.d.ts.map +1 -0
  127. package/dist/record/gpu-pass-timing/parser.d.ts +11 -0
  128. package/dist/record/gpu-pass-timing/parser.d.ts.map +1 -0
  129. package/dist/record/gpu-pass-timing/session.d.ts +43 -0
  130. package/dist/record/gpu-pass-timing/session.d.ts.map +1 -0
  131. package/dist/record/gpu-timing.d.ts +8 -3
  132. package/dist/record/gpu-timing.d.ts.map +1 -1
  133. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  134. package/dist/record/main-pass-material.d.ts +22 -1
  135. package/dist/record/main-pass-material.d.ts.map +1 -1
  136. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  137. package/dist/record/main-pass.d.ts +2 -0
  138. package/dist/record/main-pass.d.ts.map +1 -1
  139. package/dist/record/render-context.d.ts +43 -2
  140. package/dist/record/render-context.d.ts.map +1 -1
  141. package/dist/record/shadow-pass.d.ts.map +1 -1
  142. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  143. package/dist/record/typed-frame-graph.d.ts +72 -4
  144. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  145. package/dist/record/view-ubo.d.ts +7 -4
  146. package/dist/record/view-ubo.d.ts.map +1 -1
  147. package/dist/reflection/filter.d.ts +22 -0
  148. package/dist/reflection/filter.d.ts.map +1 -0
  149. package/dist/reflection/gpu-table.d.ts +25 -0
  150. package/dist/reflection/gpu-table.d.ts.map +1 -0
  151. package/dist/reflection/projection.d.ts +91 -0
  152. package/dist/reflection/projection.d.ts.map +1 -0
  153. package/dist/render-contract.d.ts +49 -7
  154. package/dist/render-contract.d.ts.map +1 -1
  155. package/dist/render-graph-primitives.d.ts +1 -0
  156. package/dist/render-graph-primitives.d.ts.map +1 -1
  157. package/dist/render-pipeline.d.ts +42 -2
  158. package/dist/render-pipeline.d.ts.map +1 -1
  159. package/dist/render-system-extract.d.ts +58 -17
  160. package/dist/render-system-extract.d.ts.map +1 -1
  161. package/dist/render-system.d.ts +17 -2
  162. package/dist/render-system.d.ts.map +1 -1
  163. package/dist/renderer.d.ts +43 -0
  164. package/dist/renderer.d.ts.map +1 -0
  165. package/dist/scene/render-scene.d.ts +14 -0
  166. package/dist/scene/render-scene.d.ts.map +1 -1
  167. package/dist/shadow-atlas.d.ts +3 -3
  168. package/dist/shadow-atlas.d.ts.map +1 -1
  169. package/dist/ssao-buffers.d.ts +3 -0
  170. package/dist/ssao-buffers.d.ts.map +1 -1
  171. package/dist/targets/contracts.d.ts +66 -0
  172. package/dist/targets/contracts.d.ts.map +1 -0
  173. package/dist/targets/graph-projection.d.ts +29 -0
  174. package/dist/targets/graph-projection.d.ts.map +1 -0
  175. package/dist/targets/material-source.d.ts +34 -0
  176. package/dist/targets/material-source.d.ts.map +1 -0
  177. package/dist/targets/owner.d.ts +32 -0
  178. package/dist/targets/owner.d.ts.map +1 -0
  179. package/dist/targets/physical.d.ts +18 -0
  180. package/dist/targets/physical.d.ts.map +1 -0
  181. package/dist/targets/readback.d.ts +39 -0
  182. package/dist/targets/readback.d.ts.map +1 -0
  183. package/dist/temporal/index.mjs +3 -3
  184. package/dist/typed-render-graph-primitives.d.ts +1 -1
  185. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  186. package/dist/typed-shadow-passes.d.ts +1 -1
  187. package/dist/typed-shadow-passes.d.ts.map +1 -1
  188. package/dist/volume/passes.d.ts +2 -2
  189. package/dist/volume/passes.d.ts.map +1 -1
  190. package/package.json +20 -20
  191. package/src/__tests__/bloom-exact-zero.unit.test.ts +48 -19
  192. package/src/__tests__/bloom-lifecycle.integration.test.ts +41 -13
  193. package/src/__tests__/camera-target-consumption.unit.test.ts +53 -0
  194. package/src/__tests__/cluster-binner.unit.test.ts +35 -0
  195. package/src/__tests__/cluster-grid-default-surface.unit.test.ts +7 -2
  196. package/src/__tests__/cube-camera-scheduler.unit.test.ts +70 -0
  197. package/src/__tests__/cube-camera-single-submit.perf.test.ts +75 -0
  198. package/src/__tests__/cube-camera-view-matrices.unit.test.ts +41 -0
  199. package/src/__tests__/cube-camera-vocabulary.unit.test.ts +47 -0
  200. package/src/__tests__/cube-camera.integration.test.ts +42 -0
  201. package/src/__tests__/device-feature-admission.unit.test.ts +73 -0
  202. package/src/__tests__/direct-light-snapshot.unit.test.ts +3 -3
  203. package/src/__tests__/docs-gate-green.unit.test.ts +38 -0
  204. package/src/__tests__/factory-contract.integration.test.ts +255 -29
  205. package/src/__tests__/fog-component.unit.test.ts +67 -0
  206. package/src/__tests__/fog.integration.test.ts +86 -0
  207. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +37 -0
  208. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +10 -9
  209. package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +17 -1
  210. package/src/__tests__/gpu-driven-production.integration.test.ts +16 -17
  211. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +12 -4
  212. package/src/__tests__/gpu-pass-timing-browser-runner.ts +281 -0
  213. package/src/__tests__/gpu-pass-timing-coexistence.integration.test.ts +80 -0
  214. package/src/__tests__/gpu-pass-timing-contract.unit.test.ts +243 -0
  215. package/src/__tests__/gpu-pass-timing-exact-zero.unit.test.ts +131 -0
  216. package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +230 -0
  217. package/src/__tests__/gpu-pass-timing-observation.unit.test.ts +233 -0
  218. package/src/__tests__/gpu-pass-timing-session.unit.test.ts +438 -0
  219. package/src/__tests__/gpu-pass-timing.browser.test.ts +26 -0
  220. package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +125 -0
  221. package/src/__tests__/hdrp-group2-visibility.unit.test.ts +24 -0
  222. package/src/__tests__/instances-culling.integration.test.ts +94 -0
  223. package/src/__tests__/instances-derived-bounds.unit.test.ts +118 -0
  224. package/src/__tests__/material-observation.integration.test.ts +101 -0
  225. package/src/__tests__/pbr-view-layout.unit.test.ts +16 -0
  226. package/src/__tests__/point-shadow-inspection.unit.test.ts +60 -0
  227. package/src/__tests__/public-surface.test-d.ts +10 -0
  228. package/src/__tests__/reflection-probe-authoring.unit.test.ts +71 -0
  229. package/src/__tests__/reflection-probe-filter.unit.test.ts +54 -0
  230. package/src/__tests__/reflection-probe-ibl-topology.unit.test.ts +45 -0
  231. package/src/__tests__/reflection-probe-pass-encode.integration.test.ts +101 -0
  232. package/src/__tests__/reflection-probe-performance.perf.test.ts +60 -0
  233. package/src/__tests__/reflection-probe-recovery.integration.test.ts +55 -0
  234. package/src/__tests__/reflection-probe-selection.unit.test.ts +46 -0
  235. package/src/__tests__/render-error-code-owner.test-d.ts +18 -3
  236. package/src/__tests__/render-feature-docs.unit.test.ts +1 -1
  237. package/src/__tests__/render-target-admission.unit.test.ts +80 -0
  238. package/src/__tests__/render-target-graph-projection.unit.test.ts +102 -0
  239. package/src/__tests__/render-target-inspection.unit.test.ts +52 -0
  240. package/src/__tests__/render-target-material-source.test-d.ts +30 -0
  241. package/src/__tests__/render-target-material-source.unit.test.ts +97 -0
  242. package/src/__tests__/render-target-owner-placement.unit.test.ts +203 -0
  243. package/src/__tests__/render-target-owner.unit.test.ts +122 -0
  244. package/src/__tests__/render-target-probe-soak.perf.test.ts +94 -0
  245. package/src/__tests__/render-target-public-schema.json +107 -0
  246. package/src/__tests__/render-target-public-schema.unit.test.ts +91 -0
  247. package/src/__tests__/render-target-public-surface.test-d.ts +83 -0
  248. package/src/__tests__/render-target-readback.integration.test.ts +90 -0
  249. package/src/__tests__/render-target-recovery.integration.test.ts +85 -0
  250. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +48 -0
  251. package/src/__tests__/renderer-lifecycle.integration.test.ts +14 -0
  252. package/src/__tests__/shader-stage-surface.unit.test.ts +19 -4
  253. package/src/__tests__/skin-motion-regression.unit.test.ts +132 -0
  254. package/src/__tests__/skinned-shadow-caster.test.ts +11 -2
  255. package/src/__tests__/standard-cluster-capability.integration.test.ts +63 -0
  256. package/src/__tests__/standard-cluster-transport.unit.test.ts +121 -0
  257. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +232 -0
  258. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +8 -5
  259. package/src/__tests__/standard-lighting-inspection.integration.test.ts +138 -0
  260. package/src/__tests__/standard-lighting-ssot.unit.test.ts +18 -0
  261. package/src/__tests__/standard-lighting-write.unit.test.ts +377 -0
  262. package/src/__tests__/standard-lighting.integration.test.ts +67 -0
  263. package/src/__tests__/standard-pipeline.dawn.test.ts +206 -5
  264. package/src/__tests__/standard-pipeline.integration.test.ts +181 -150
  265. package/src/__tests__/standard-probe-binding.unit.test.ts +25 -0
  266. package/src/__tests__/standard-profile-oracle.unit.test.ts +23 -38
  267. package/src/__tests__/typed-pipeline-topology.unit.test.ts +395 -14
  268. package/src/__tests__/urp-pipeline-targets.unit.test.ts +2 -2
  269. package/src/__tests__/visibility-resolver.unit.test.ts +15 -0
  270. package/src/assembly/device-feature-admission.ts +73 -0
  271. package/src/assembly/directional-shadow-inspection.ts +122 -0
  272. package/src/assembly/factory.ts +877 -286
  273. package/src/assembly/host-contract.ts +25 -0
  274. package/src/assembly/render-target-host.ts +847 -0
  275. package/src/assets/asset-decoders.ts +1 -1
  276. package/src/assets/render-asset-port.ts +7 -1
  277. package/src/capture/cube-views.ts +69 -0
  278. package/src/capture/scheduler.ts +265 -0
  279. package/src/components/__tests__/schema-contract.unit.test.ts +12 -0
  280. package/src/components/__tests__/schema-parity.unit.test.ts +9 -0
  281. package/src/components/camera.ts +4 -0
  282. package/src/components/cube-camera.ts +52 -0
  283. package/src/components/directional-light.ts +22 -2
  284. package/src/components/directional-shadow-filter.ts +57 -0
  285. package/src/components/index.ts +2 -0
  286. package/src/components/light-helpers.ts +81 -7
  287. package/src/components/reflection-probe.ts +49 -0
  288. package/src/environment/frame.ts +6 -24
  289. package/src/environment/lifecycle.ts +12 -0
  290. package/src/errors/render.ts +286 -142
  291. package/src/extract/directional-shadow-projection.ts +61 -0
  292. package/src/extract/environment.ts +57 -0
  293. package/src/extract/visibility.ts +25 -1
  294. package/src/features/fullscreen.ts +3 -0
  295. package/src/features/targets.ts +4 -1
  296. package/src/features/types.ts +10 -0
  297. package/src/fullscreen-post-process-pass.ts +43 -2
  298. package/src/gpu-driven/batch-topology.ts +1 -0
  299. package/src/gpu-driven/production-raster.ts +1 -3
  300. package/src/gpu-scene.ts +8 -1
  301. package/src/hdrp-buffers.ts +165 -59
  302. package/src/ibl/IblPipelineCache.ts +11 -0
  303. package/src/ibl/kernel-cache.ts +88 -0
  304. package/src/index.ts +148 -0
  305. package/src/inspection-types.ts +56 -0
  306. package/src/instances-derived-bounds.ts +171 -0
  307. package/src/light-buffer-layout.ts +20 -5
  308. package/src/mesh-material-bindings.ts +132 -0
  309. package/src/pbr-pipeline.ts +106 -17
  310. package/src/pipeline/standard-forward-lane.ts +46 -16
  311. package/src/pipeline/standard-lighting/errors.ts +6 -0
  312. package/src/pipeline/standard-lighting/graph.ts +157 -0
  313. package/src/pipeline/standard-lighting/inspection.ts +88 -0
  314. package/src/pipeline/standard-lighting/layout.ts +31 -0
  315. package/src/pipeline/standard-lighting/light-frame.ts +34 -0
  316. package/src/pipeline/standard-lighting/membership.ts +43 -0
  317. package/src/pipeline/standard-lighting/prepare.ts +37 -0
  318. package/src/pipeline/standard-lighting/topology.ts +120 -0
  319. package/src/pipeline/standard-lighting/transport.ts +77 -0
  320. package/src/pipeline/standard-pipeline.ts +122 -193
  321. package/src/pipeline/standard-post.ts +26 -7
  322. package/src/pipeline/standard-profile.ts +17 -47
  323. package/src/pipeline-spec.ts +84 -21
  324. package/src/point-shadow-inspection.ts +55 -0
  325. package/src/record/__tests__/temporal-payload.unit.test.ts +42 -1
  326. package/src/record/__tests__/transparent-group2-selection.unit.test.ts +73 -0
  327. package/src/record/__tests__/view-ubo-layout.unit.test.ts +40 -0
  328. package/src/record/frame-lighting.ts +367 -427
  329. package/src/record/frame-snapshot.ts +35 -27
  330. package/src/record/frame-targets.ts +17 -0
  331. package/src/record/frame.ts +261 -74
  332. package/src/record/gpu-pass-timing/contract.ts +180 -0
  333. package/src/record/gpu-pass-timing/errors.ts +34 -0
  334. package/src/record/gpu-pass-timing/index.ts +37 -0
  335. package/src/record/gpu-pass-timing/parser.ts +97 -0
  336. package/src/record/gpu-pass-timing/session.ts +938 -0
  337. package/src/record/gpu-timing.ts +21 -12
  338. package/src/record/main-pass-geometry.ts +120 -80
  339. package/src/record/main-pass-material.ts +95 -9
  340. package/src/record/main-pass-sprite-draws.ts +54 -25
  341. package/src/record/main-pass.ts +71 -15
  342. package/src/record/render-context.ts +72 -0
  343. package/src/record/shadow-pass.ts +17 -28
  344. package/src/record/skybox-post-pass.ts +20 -4
  345. package/src/record/typed-frame-graph.ts +893 -44
  346. package/src/record/view-ubo.ts +63 -28
  347. package/src/reflection/filter.ts +81 -0
  348. package/src/reflection/gpu-table.ts +44 -0
  349. package/src/reflection/projection.ts +281 -0
  350. package/src/render-contract.ts +76 -5
  351. package/src/render-graph-primitives.ts +9 -4
  352. package/src/render-pipeline.ts +117 -2
  353. package/src/render-system-extract.ts +557 -100
  354. package/src/render-system.ts +1095 -66
  355. package/src/renderer.ts +222 -0
  356. package/src/scene/render-scene.ts +115 -9
  357. package/src/shadow-atlas.ts +5 -5
  358. package/src/ssao-buffers.ts +9 -2
  359. package/src/targets/contracts.ts +182 -0
  360. package/src/targets/graph-projection.ts +169 -0
  361. package/src/targets/material-source.ts +143 -0
  362. package/src/targets/owner.ts +214 -0
  363. package/src/targets/physical.ts +18 -0
  364. package/src/targets/readback.ts +153 -0
  365. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +59 -20
  366. package/src/typed-render-graph-primitives.ts +5 -3
  367. package/src/typed-shadow-passes.ts +46 -40
  368. package/src/volume/passes.ts +15 -9
  369. package/dist/chunk-4XINDLAY.mjs.map +0 -1
  370. package/dist/chunk-CDTWTHZR.mjs.map +0 -1
  371. package/dist/chunk-M2MP4ZOU.mjs.map +0 -1
  372. package/dist/chunk-TBQJOK2L.mjs.map +0 -1
@@ -2,14 +2,39 @@ import type { ColorValueDomain, GraphAccess, GraphResourceResolver, GraphTexture
2
2
  import type { BindGroup, RhiCaps, RhiError, RhiRenderPassEncoder, TextureFormat } from '@forgeax/engine-rhi';
3
3
  import { type Result } from '@forgeax/engine-types';
4
4
  import type { Tonemap } from './components/camera';
5
+ import type { DirectionalShadowFilterLabel } from './components/directional-shadow-filter';
5
6
  import type { RenderError } from './errors/render';
6
7
  import type { RenderFeatureTargetKind } from './features/targets';
8
+ import type { StandardTopologyInputValue } from './pipeline/standard-lighting/topology';
7
9
  import { STANDARD_POST_STAGE_NAMES, type StandardProfile } from './pipeline/standard-profile';
8
10
  import type { SurfaceProfile } from './record/render-context';
9
11
  import type { RenderPipelineContext } from './render-contract';
10
12
  import type { TransmissionDemand } from './transmission/projection';
11
13
  export type { RenderPipelineContext } from './render-contract';
12
14
  export type RenderColorDomain = 'linearHdr' | 'linearLdr' | 'displayEncoded';
15
+ /** Backend admission inputs used by the existing Render candidate owner. */
16
+ export interface DirectionalShadowBackendAdmissionInput {
17
+ readonly backendKind: 'webgpu' | 'wgpu-webgl2' | 'null';
18
+ readonly requested: 'off' | DirectionalShadowFilterLabel;
19
+ readonly candidate: 'accepted' | 'failed';
20
+ readonly lastKnownGood?: DirectionalShadowFilterLabel | undefined;
21
+ }
22
+ /** Bounded, truthful Directional effective-profile projection. */
23
+ export interface DirectionalShadowBackendAdmission {
24
+ readonly requested: 'off' | DirectionalShadowFilterLabel;
25
+ readonly effective: 'off' | DirectionalShadowFilterLabel | 'rhi-null-structural';
26
+ readonly status: 'accepted' | 'fallback' | 'rejected';
27
+ readonly fallbackReason?: 'webgl2-unsupported' | 'rhi-null-structural' | 'candidate-failed';
28
+ readonly lastKnownGood: boolean;
29
+ readonly pixelEvidence: 'available' | 'not-available';
30
+ }
31
+ /**
32
+ * Resolve a Directional profile only after the selected production candidate
33
+ * has been admitted. WebGL2 and RhiNull are the sole declared fallbacks;
34
+ * capable candidate failure retains a compatible LKG and never silently maps
35
+ * a failed PCSS request to PCF.
36
+ */
37
+ export declare function resolveDirectionalShadowBackendAdmission(input: DirectionalShadowBackendAdmissionInput): DirectionalShadowBackendAdmission;
13
38
  export interface ToneOutputContract {
14
39
  readonly input: RenderColorDomain;
15
40
  readonly toneMapped: boolean;
@@ -60,8 +85,11 @@ export interface RenderPipelineTopology {
60
85
  readonly motionBlur: boolean;
61
86
  };
62
87
  readonly shadow: {
63
- readonly mapSize: number;
64
- readonly cascadeCount: 1 | 2 | 3 | 4;
88
+ readonly directional: 'disabled' | {
89
+ readonly mapSize: number;
90
+ readonly cascadeCount: 1 | 2 | 3 | 4;
91
+ };
92
+ readonly spotMapSize: number;
65
93
  readonly pointCount: number;
66
94
  readonly pointFaceSize: number;
67
95
  readonly spotCount: number;
@@ -108,9 +136,13 @@ export interface RenderPipelineTopology {
108
136
  };
109
137
  readonly featureTopologySignature: string;
110
138
  readonly gpuDrivenTopologySignature: string;
139
+ /** Stable Cluster transport/layout facts; excludes per-frame light payloads. */
140
+ readonly standardLightingTopologySignature?: string | undefined;
111
141
  /** Internal graph fact; renderer callers do not configure transmission demand. */
112
142
  readonly transmissionDemand?: TransmissionDemand | undefined;
113
143
  }
144
+ /** Resolve the built-in final-output dither policy from the pipeline asset. */
145
+ export declare function resolveOutputDither(config: import('@forgeax/engine-types').RenderPipelineAsset['config']): boolean;
114
146
  export interface RenderPipelineFrame extends RenderPipelineContext, RenderGraphFrame {
115
147
  }
116
148
  export interface RenderPipelineTarget {
@@ -142,6 +174,12 @@ export interface RenderPipelineGpuDrivenProjection {
142
174
  }
143
175
  export interface RenderPipelineBuildContext<FrameCtx extends RenderPipelineFrame> {
144
176
  readonly graph: RenderGraphBuilder<FrameCtx>;
177
+ /**
178
+ * The single prepared Standard lighting projection for this frame. The
179
+ * Forward and Deferred adapters consume this value; they never inspect raw
180
+ * light snapshots, cluster config, or capability facts themselves.
181
+ */
182
+ readonly standardLighting?: StandardTopologyInputValue;
145
183
  /**
146
184
  * Renderer-owned capability facts needed for admission decisions. The
147
185
  * Standard temporal producer must use the live device probe rather than
@@ -172,6 +210,8 @@ export interface RenderPipelineBuildContext<FrameCtx extends RenderPipelineFrame
172
210
  readonly sampleCount: 1 | 4;
173
211
  }): Result<RenderPipelineGpuDrivenProjection | undefined, RenderPipelineBuildError>;
174
212
  contributeFeatures(targets: readonly RenderPipelineFeatureTarget[], semanticTargets?: readonly RenderPipelineTarget[], namedTargets?: Readonly<Record<string, RenderPipelineTarget>>): Result<void, RenderPipelineBuildError>;
213
+ /** Add renderer-owned cube capture work to the active pipeline graph. */
214
+ contributeCubeCaptures?(): Result<void, RenderPipelineBuildError>;
175
215
  /** Whether a producer-owned feature is installed for this graph build. */
176
216
  hasFeature?(identity: string): boolean;
177
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render-pipeline.d.ts","sourceRoot":"","sources":["../src/render-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-pipeline.d.ts","sourceRoot":"","sources":["../src/render-pipeline.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,18 @@ import type { EntityHandle, World } from '@forgeax/engine-ecs';
3
3
  import { type Mat4, type Vec3 } from '@forgeax/engine-math';
4
4
  import { type SceneHierarchySnapshot } from '@forgeax/engine-scene';
5
5
  import type { Handle, MaterialAsset, MaterialPass, MaterialRenderState, MaterialTextureCoordinates, ParamSchemaEntry, PrimitiveTopology, TextureAsset } from '@forgeax/engine-types';
6
- import type { EnvironmentFrame, FogFrame } from './extract/environment';
6
+ import { type DirectionalShadowQuality } from './components/directional-shadow-filter';
7
+ import { type LightValidationError } from './components/light-helpers';
8
+ import type { EnvironmentFrame, FogFrame, FogSelectionFailure } from './extract/environment';
7
9
  import { type VisibilitySnapshot } from './extract/visibility';
8
10
  import type { RenderFeatureHiddenEntityReport, RenderFeatureWorldVisibilitySnapshot } from './features/types';
9
11
  import { type MeshMaterialBindingDiagnostic, type MeshMaterialBindingSource } from './mesh-material-bindings';
10
12
  import type { PointsLinesRetainedSnapshot } from './points-lines/snapshot';
11
- import { type CameraSnapshot } from './render-contract';
12
- export { extractCameraSnapshots } from './extract/camera';
13
+ import type { ReflectionProbeFact } from './reflection/projection';
14
+ import { type CameraSnapshot, type CubeCameraSnapshot } from './render-contract';
13
15
  import type { SkinPaletteAllocator } from './systems/skin-palette-allocator';
14
16
  import type { SkinPaletteSlice } from './systems/skin-palette-types';
17
+ import type { RenderTarget, RenderTargetTextureSource } from './targets/contracts';
15
18
  import { type ValidatedVolumetricFog } from './volume/component';
16
19
  import type { VolumeProjectorTuple } from './volume/temporal';
17
20
  /**
@@ -45,8 +48,9 @@ export interface PointLightSnapshot {
45
48
  readonly invRangeSquared: number;
46
49
  /**
47
50
  * feat-20260612-point-light-shadows-urp-hdrp M1 / T-M1-8 + M4 / T-M4-4:
48
- * cube_array atlas layer index for this light's shadow map (0..3 for shadow
49
- * casters; sentinel `-1` for non-shadow lights). Default `-1` per
51
+ * cube_array atlas layer index for this light's shadow map (0..capacity-1
52
+ * for admitted shadow casters; sentinel `-1` for non-admitted lights).
53
+ * Default `-1` per
50
54
  * plan-strategy §D-2 — record stage / shader skips shadow sampling when the
51
55
  * lane equals the sentinel. Joined with `pointShadow[]` by entity at the
52
56
  * end of extract; HDRP record stage threads `shadowAtlasLayer + shadowNear +
@@ -82,8 +86,9 @@ export interface PointLightSnapshot {
82
86
  *
83
87
  * `mapSize` / `nearPlane` / `farPlane` ride here so record stage can size the
84
88
  * cube atlas faces and feed shader the proj constants without re-querying ECS.
85
- * `shadowAtlasLayer` is assigned by extract in spawn order (0 .. cap-1) so the
86
- * downstream LightSlot / packPointLight packers carry the layer index in
89
+ * `shadowAtlasLayer` is assigned by extract in spawn order up to the renderer
90
+ * atlas capacity; over-budget requests retain the sentinel `-1` so the
91
+ * downstream LightSlot / packPointLight packers carry no invalid layer in
87
92
  * pointPadW (T-M1-8 will rename to shadowAtlasLayer).
88
93
  */
89
94
  export interface PointShadowSnapshot {
@@ -96,9 +101,9 @@ export interface PointShadowSnapshot {
96
101
  readonly nearPlane: number;
97
102
  readonly farPlane: number;
98
103
  /**
99
- * Atlas layer assigned by extract in spawn order (0..cap-1, where cap=4
100
- * matches PointLightShadow cardinality). Sentinel -1 is reserved by the
101
- * shader-side LightSlot for no-shadow lights (T-M1-8).
104
+ * Atlas layer assigned by extract in spawn order while capacity remains.
105
+ * Sentinel -1 is used for a request that cannot be admitted and is
106
+ * reserved by the shader-side LightSlot for no-shadow lights (T-M1-8).
102
107
  */
103
108
  readonly shadowAtlasLayer: number;
104
109
  /**
@@ -192,6 +197,7 @@ export interface ExtractedLights {
192
197
  * unused slots are 0.0f. Undefined when castShadow=false or no directional
193
198
  * light.
194
199
  */
200
+ /** Four vec4 lanes: split, worldUnitsPerTexel, lightDepthWorldSpan, reserved. */
195
201
  readonly splitPlanes: Float32Array | undefined;
196
202
  /**
197
203
  * feat-20260613-csm-cascaded-shadow-maps M2 / w9: effective cascade count
@@ -227,13 +233,10 @@ export interface ExtractedLights {
227
233
  * undefined otherwise.
228
234
  */
229
235
  readonly normalBias: number | undefined;
230
- /**
231
- * feat-20260621-merge-directionallightshadow-into-directionallight M2:
232
- * pcfKernelSize from the merged DirectionalLight (PCF kernel width, odd>=1).
233
- * Populated when castShadow=true on the first-hit directional light;
234
- * undefined otherwise.
235
- */
236
- readonly pcfKernelSize: number | undefined;
236
+ /** Accepted closed Directional filter projected from the first query result. */
237
+ readonly directionalShadowQuality: DirectionalShadowQuality | undefined;
238
+ /** Structured author-config failure; the candidate is withheld from record. */
239
+ readonly directionalShadowError: LightValidationError | undefined;
237
240
  /**
238
241
  * feat-20260612-point-light-shadows-urp-hdrp M1 / T-M1-7:
239
242
  * shadow-casting point lights (PointLight + PointLightShadow + Transform
@@ -612,6 +615,8 @@ export interface MaterialSnapshot {
612
615
  * them in a lightmap injection region.
613
616
  */
614
617
  readonly textureHandles?: ReadonlyMap<string, Handle<'TextureAsset', 'shared'>> | undefined;
618
+ /** Renderer-local target sources; never projected as TextureAsset handles. */
619
+ readonly textureSources?: ReadonlyMap<string, RenderTargetTextureSource> | undefined;
615
620
  /**
616
621
  * User-region texture field names whose paramValue resolved to a VideoAsset
617
622
  * (kind `'video'`) rather than a static TextureAsset
@@ -742,6 +747,12 @@ export declare function sortDispatchByQueue<E extends {
742
747
  }>(entries: readonly E[]): E[];
743
748
  export interface ExtractedFrame {
744
749
  readonly cameras: CameraSnapshot[];
750
+ /** Auxiliary target cameras selected after the display camera is fixed. */
751
+ readonly auxiliaryCameras: readonly CameraSnapshot[];
752
+ /** Cube capture intents extracted beside the display camera in one pass. */
753
+ readonly cubeCameras: readonly CubeCameraSnapshot[];
754
+ /** Reflection probe facts projected from the same World extraction. */
755
+ readonly reflectionProbes?: readonly ReflectionProbeFact[];
745
756
  readonly lights: ExtractedLights;
746
757
  /** Resource-owner environment facts selected once at the extract boundary. */
747
758
  readonly environment: EnvironmentFrame | undefined;
@@ -762,6 +773,8 @@ export interface ExtractedFrame {
762
773
  readonly skyboxCount: number;
763
774
  /** Resource-owner Fog facts selected once at the frame boundary. */
764
775
  readonly fog: FogFrame | undefined;
776
+ /** Last invalid Fog update retained alongside the current valid/LKG frame. */
777
+ readonly fogFailure?: FogSelectionFailure;
765
778
  /**
766
779
  * feat-20260528-frustum-culling M3 / w11: frustum culling statistics
767
780
  * collected during the extract phase. `total` is the count of entities
@@ -791,6 +804,27 @@ export interface ExtractedFrame {
791
804
  /** Built-in hidden candidates, retained for host-side producer deduplication. */
792
805
  readonly hiddenEntityReports: readonly RenderFeatureHiddenEntityReport[];
793
806
  }
807
+ export type CameraTargetUpdate = 'once' | 'on-demand' | 'continuous';
808
+ export interface CameraTargetCandidate {
809
+ readonly worldId: number;
810
+ readonly entityKey: number;
811
+ readonly target?: RenderTarget;
812
+ readonly requestVersion: number;
813
+ readonly update: CameraTargetUpdate;
814
+ }
815
+ export interface CameraTargetRejection {
816
+ readonly entityKey: number;
817
+ readonly reason: 'budget' | 'display-target' | 'duplicate-target';
818
+ }
819
+ export interface CameraTargetSelection {
820
+ readonly display: CameraTargetCandidate | undefined;
821
+ readonly auxiliary: readonly CameraTargetCandidate[];
822
+ readonly rejected: readonly CameraTargetRejection[];
823
+ }
824
+ export declare function selectCameraTargetViews(candidates: readonly CameraTargetCandidate[], options: {
825
+ readonly displayEntityKey?: number;
826
+ readonly budget: number;
827
+ }): CameraTargetSelection;
794
828
  /**
795
829
  * feat-20260608 M5 amend / w11-a: resolve a single MaterialAsset handle into
796
830
  * a per-submesh MaterialSnapshot. Used by the extractFrame archetype loop to
@@ -871,6 +905,9 @@ export interface DirectionalCsmConfig {
871
905
  readonly cascadeBlend: number;
872
906
  readonly mapSize: number;
873
907
  readonly shadowDistance: number;
908
+ readonly shadowFilter: number;
909
+ readonly shadowAngularRadius: number;
910
+ readonly maxPenumbraTexels: number;
874
911
  }
875
912
  /**
876
913
  * bug-20260710-editor-cross-world-shadow: computed directional-CSM output —
@@ -884,6 +921,7 @@ export interface DirectionalCsmResult {
884
921
  readonly cascadeCount: number;
885
922
  readonly cascadeBlend: number;
886
923
  readonly shadowMapSize: number;
924
+ readonly directionalShadowQuality: DirectionalShadowQuality;
887
925
  }
888
926
  /**
889
927
  * bug-20260710-editor-cross-world-shadow: pure directional-CSM matrix builder,
@@ -928,6 +966,8 @@ export interface PreparedExtractContext {
928
966
  readonly hierarchy: SceneHierarchySnapshot;
929
967
  readonly visibility: VisibilitySnapshot;
930
968
  }
969
+ export declare function extractCameraSnapshots(world: World): CameraSnapshot[];
970
+ export declare function extractCameraTargetSnapshots(world: World): readonly CameraSnapshot[];
931
971
  export declare function prepareExtractContext(world: World, options?: {
932
972
  readonly assets?: AssetRegistry | null;
933
973
  readonly pipelineState?: ExtractPipelineSurface | null;
@@ -941,4 +981,5 @@ export declare function extractFrames(worlds: readonly World[], owner: number |
941
981
  }): ExtractedFrame;
942
982
  export declare function extractFrame(world: World, context: PreparedExtractContext): ExtractedFrame;
943
983
  export declare function defaultMaterialSnapshot(materialHandle?: number): MaterialSnapshot;
984
+ export {};
944
985
  //# sourceMappingURL=render-system-extract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-system-extract.d.ts","sourceRoot":"","sources":["../src/render-system-extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-system-extract.d.ts","sourceRoot":"","sources":["../src/render-system-extract.ts"],"names":[],"mappings":"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"}
@@ -5,18 +5,24 @@ import { type Result } from '@forgeax/engine-rhi';
5
5
  import { type RenderPipelineAsset } from '@forgeax/engine-types';
6
6
  import { type ObservationUnavailableError } from './errors/render';
7
7
  import { type PostProcessShaderEntry } from './fullscreen-post-process-pass';
8
- import type { BloomInspection, MotionBlurInspection, RenderSceneInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
8
+ import type { BloomInspection, DirectionalShadowInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
9
9
  import type { PointsLinesRetainedSnapshot } from './points-lines/snapshot';
10
10
  export type { RenderSceneInspection } from './inspection-types';
11
11
  import type { EnvironmentInspection } from './environment/inspection';
12
- import type { MeshMaterialBindingObservation } from './mesh-material-bindings';
12
+ import { type MeshMaterialBindingObservation } from './mesh-material-bindings';
13
+ import type { StandardLightingInspection } from './pipeline/standard-lighting/inspection';
14
+ import type { PointShadowInspection } from './point-shadow-inspection';
13
15
  import { type FrameObservation, type FrameObservationOptions } from './record/frame';
14
16
  import type { CurrentGraphTarget, GraphTargetCaptureRequest } from './record/frame-snapshot';
17
+ import type { GpuPassTimingSession } from './record/gpu-pass-timing/session';
15
18
  import type { GpuTimingCapture } from './record/gpu-timing';
16
19
  import type { RenderSystemInternals } from './record/render-context';
17
20
  import { type CameraSnapshot, type DrawOwnerOptions } from './render-contract';
21
+ import type { RenderTarget } from './targets/contracts';
18
22
  import { type TemporalFrame } from './temporal/frame';
19
23
  import { type TemporalInspection } from './temporal/inspection';
24
+ /** Attach the Render-owned timing session without widening the public renderer surface. */
25
+ export declare function attachGpuPassTimingSession(internals: object, session: GpuPassTimingSession | undefined): void;
20
26
  export type { _InternalRenderPipelineContext, _StandardForwardSceneView, PerPassResources, PipelineState, RenderSystemInternals, RenderSystemRuntime, SurfaceBackendKind, SurfaceCapabilityFacts, SurfaceProfile, SwapChainFormatPair, } from './record/render-context';
21
27
  export { configureSurface, MATERIAL_PER_ENTITY_STRIDE, resolveSurfaceFormatPair, resolveSurfaceProfile, STANDARD_PBR_UBO_SIZE, selectSwapChainFormat, } from './record/render-context';
22
28
  /**
@@ -64,6 +70,9 @@ export interface RenderSystem {
64
70
  };
65
71
  /** Persistent scene maintenance evidence from the ordinary single-World path. */
66
72
  readonly renderScene: RenderSceneInspection;
73
+ readonly reflectionProbes: ReflectionProbeInspection;
74
+ /** True while a progressive CubeCamera candidate still owns unfinished faces. */
75
+ isCubeCapturePending(target: RenderTarget): boolean;
67
76
  readonly environment: EnvironmentInspection;
68
77
  readonly temporal: TemporalInspection;
69
78
  readonly bloom: BloomInspection;
@@ -71,6 +80,12 @@ export interface RenderSystem {
71
80
  readonly temporalTargetInspection: TemporalTargetInspection | undefined;
72
81
  /** Last completed transmission candidate facts, detached from GPU handles. */
73
82
  readonly transmission: TransmissionInspection | undefined;
83
+ /** Single production projection of Directional author/extract/record facts. */
84
+ readonly directionalShadow: DirectionalShadowInspection;
85
+ /** Last prepared Standard transport facts, detached from GPU handles. */
86
+ readonly standardLightingInspection: StandardLightingInspection | undefined;
87
+ /** Last submitted point-shadow atlas budget facts, detached from GPU handles. */
88
+ readonly pointShadowInspection: PointShadowInspection | undefined;
74
89
  /** Retained Points/Lines authoring facts from the single scene projection. */
75
90
  readonly pointsLinesSnapshots: readonly PointsLinesRetainedSnapshot[];
76
91
  /** Current mesh-slot provenance and active diagnostics from the last frame. */
@@ -1 +1 @@
1
- {"version":3,"file":"render-system.d.ts","sourceRoot":"","sources":["../src/render-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-system.d.ts","sourceRoot":"","sources":["../src/render-system.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAY5E,OAAO,EAAW,KAAK,MAAM,EAAY,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAOL,KAAK,mBAAmB,EAKzB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,KAAK,2BAA2B,EAIjC,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAIL,KAAK,sBAAsB,EAI5B,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EAEzB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAI3E,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAYhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAqBtE,OAAO,EACL,KAAK,8BAA8B,EAIpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAI1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMvE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAI7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAA8B,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAqBjG,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAKtB,MAAM,mBAAmB,CAAC;AAkB3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAoBjF,2FAA2F;AAC3F,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,IAAI,CAEN;AAED,YAAY,EACV,8BAA8B,EAC9B,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AA6HjC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,IAAI,CACF,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,EAC7C,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC;IACX,sEAAsE;IACtE,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAChC,4EAA4E;IAC5E,sBAAsB,IAAI,IAAI,CAAC;IAC/B,mBAAmB,CACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAClE,uEAAuE;IACvE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACpE,uEAAuE;IACvE,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpE,QAAQ,CAAC,sBAAsB,EAAE;QAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;IACrD,iFAAiF;IACjF,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxE,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1D,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;IACxD,yEAAyE;IACzE,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAC5E,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClE,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACtE,+EAA+E;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,SAAS,8BAA8B,EAAE,CAAC;IACzE;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,6BAA6B,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAChF,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAChE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;KAClC,CAAC;IACF,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAClD,iEAAiE;IACjE,QAAQ,CAAC,aAAa,EAAE,OAAO,qBAAqB,EAAE,uBAAuB,CAAC;IAC9E,sEAAsE;IACtE,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC/D,+EAA+E;IAC/E,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAAC;IAClF;;;;;;;;;OASG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,eAAe,IAAI,IAAI,CAAC;IACxB,4EAA4E;IAC5E,2BAA2B,IAAI,IAAI,CAAC;CACrC;AA4gCD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,YAAY,CA62DjF;AAOD;;;;GAIG"}
@@ -0,0 +1,43 @@
1
+ import type { RenderError } from './errors/render.js';
2
+ import type { GpuPassTimingObservation, GpuPassTimingRef } from './record/gpu-pass-timing/index.js';
3
+ import type { FrameObservationRequest, FrameReceipt, FrameReceiptObservation, RenderResult } from './render-contract.js';
4
+ /**
5
+ * Internal Render producer callback; public callers receive only frozen facts.
6
+ * The callback is receipt-bound and never exposes RHI handles or query state.
7
+ */
8
+ export type GpuPassTimingObservationSource = () => Promise<GpuPassTimingObservation>;
9
+ /**
10
+ * Receipt observation seam for the public `draw()` then `observe()` route.
11
+ * `status`, `completeness`, and `latestKnownGood` are separate projections;
12
+ * pass duration is not frame latency. Timing errors retain the closed code,
13
+ * expected, hint, and detail fields so a caller can follow producer recovery.
14
+ * See the bounded contract and fail-closed validator in the GPU pass timing
15
+ * record and benchmark modules.
16
+ */
17
+ export interface GpuPassTimingObservationStore {
18
+ register(receipt: FrameReceipt, source?: GpuPassTimingObservationSource): void;
19
+ observe(receipt: FrameReceipt, request: FrameObservationRequest): Promise<RenderResult<FrameReceiptObservation, RenderError>>;
20
+ inspect(): {
21
+ readonly status: GpuPassTimingObservation['status'];
22
+ readonly completeness: 'complete' | 'partial' | 'unavailable' | 'failed';
23
+ readonly latestKnownGood?: GpuPassTimingRef | undefined;
24
+ };
25
+ }
26
+ /**
27
+ * Preserve the receipt observation contract without constructing the timing
28
+ * retention store when GPU timing was not opted in.
29
+ */
30
+ export declare function observeGpuPassTimingDisabled(receipt: FrameReceipt, request: FrameObservationRequest, currentDeviceGeneration: () => number): Promise<RenderResult<FrameReceiptObservation, RenderError>>;
31
+ interface ObservationStoreOptions {
32
+ readonly retentionFrames: number;
33
+ readonly currentDeviceGeneration: () => number;
34
+ }
35
+ /**
36
+ * Keep receipt-bound observations in a bounded Render-owned retention ring.
37
+ * This helper does not expose RHI handles, query objects, or a timing
38
+ * controller; the public lifecycle remains `draw` then `observe`.
39
+ * Omitting `timings` from the observation request does not materialize facts.
40
+ */
41
+ export declare function createGpuPassTimingObservationStore(options: ObservationStoreOptions): GpuPassTimingObservationStore;
42
+ export {};
43
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EACV,wBAAwB,EAExB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,uBAAuB,EACvB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC/E,OAAO,CACL,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI;QACT,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACpD,QAAQ,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;QACzE,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;KACzD,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,uBAAuB,EAChC,uBAAuB,EAAE,MAAM,MAAM,GACpC,OAAO,CAAC,YAAY,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAmB7D;AAMD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,MAAM,CAAC;CAChD;AAwCD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,uBAAuB,GAC/B,6BAA6B,CA+F/B"}
@@ -7,6 +7,7 @@ import { GpuScene } from '../gpu-scene';
7
7
  import type { PersistentRenderSceneInspection } from '../inspection-types';
8
8
  import type { PointsLinesInspection } from '../points-lines/inspection';
9
9
  import type { PointsLinesRetainedSnapshot } from '../points-lines/snapshot';
10
+ import { type ReflectionProbeFact, ReflectionProbeProjection, type ReflectionProbeSelectionResult } from '../reflection/projection';
10
11
  import type { ExtractedFrame, MaterialSnapshotCachesByWorld, RenderableSnapshot, RenderableTemporalSnapshot } from '../render-system-extract';
11
12
  import { type TransmissionDemand } from '../transmission/projection';
12
13
  import type { RenderSceneApplyResult, RenderSceneBounds, RenderSceneDelta, RenderSceneInspection, RenderSceneOperation, RenderSceneSlot } from './render-scene-types';
@@ -41,6 +42,7 @@ export declare class RenderScene {
41
42
  private lastSubmittedVisible;
42
43
  private submittedEpoch;
43
44
  private readonly worldBoundsCache;
45
+ private readonly instanceBoundsCache;
44
46
  private orderedSlots;
45
47
  private materialized;
46
48
  private slotSnapshot;
@@ -81,6 +83,13 @@ export declare class RenderScene {
81
83
  private unindexMaterials;
82
84
  private temporalSnapshot;
83
85
  private invalidateSnapshots;
86
+ /**
87
+ * Return the CPU culling projection for one retained snapshot. Instances
88
+ * use a renderer-derived union, while the GPU scene keeps the mesh-local
89
+ * bounds for its independent per-instance visibility pass. Unknown or
90
+ * empty instance facts deliberately return undefined (conservative no-cull).
91
+ */
92
+ cullingWorldBounds(snapshot: RenderableSnapshot): RenderSceneBounds | undefined;
84
93
  }
85
94
  export interface PersistentRenderSceneOptions {
86
95
  readonly getDevice?: (() => RhiDevice) | undefined;
@@ -109,9 +118,14 @@ export declare class PersistentRenderScene {
109
118
  private gpuStatus;
110
119
  private temporalCapture;
111
120
  private pointsLinesInspections;
121
+ private readonly reflectionProbes;
112
122
  constructor(options?: PersistentRenderSceneOptions);
113
123
  /** RenderScene owns the per-World material fact cache used during extraction. */
114
124
  materialSnapshotCacheStore(): MaterialSnapshotCachesByWorld;
125
+ /** Project probe facts and per-primitive selection into the persistent scene owner. */
126
+ projectReflectionProbes(probes: readonly ReflectionProbeFact[]): void;
127
+ reflectionProbeSelection(worldId: number, entityKey: number): ReflectionProbeSelectionResult;
128
+ reflectionProbeProjection(): ReturnType<ReflectionProbeProjection['snapshot']>;
115
129
  extractComposition(worlds: readonly World[], owner: {
116
130
  readonly cameraOwner: number;
117
131
  readonly resourceOwner: number;
@@ -1 +1 @@
1
- {"version":3,"file":"render-scene.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-scene.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,17 @@ import { type RhiDevice, type Sampler, type Texture, type TextureView } from '@f
5
5
  export interface ShadowAtlasOptions {
6
6
  /** Per-face square size in pixels. Default 512 (PointLightShadow.mapSize default). */
7
7
  readonly faceSize?: number;
8
- /** Number of cube layers. Default 4 (= PointLightShadow cardinality cap). */
8
+ /** Number of cube layers. Default is the renderer atlas admission capacity. */
9
9
  readonly layers?: number;
10
10
  }
11
11
  /** Default per-face square size in pixels. Mirrors PointLightShadow.mapSize default. */
12
12
  export declare const SHADOW_ATLAS_DEFAULT_FACE_SIZE = 512;
13
- /** Default cube layer count. Mirrors PointLightShadow cardinality cap. */
13
+ /** Default cube layer count. Renderer-owned point-shadow admission capacity. */
14
14
  export declare const SHADOW_ATLAS_DEFAULT_LAYERS = 4;
15
15
  /**
16
16
  * Cube-array depth atlas for point-light shadows.
17
17
  *
18
- * Shape: `texture_depth_cube_array` (depth32float) with `layers = 4` and per-
18
+ * Shape: `texture_depth_cube_array` (depth32float) with `layers` and per-
19
19
  * face size `faceSize x faceSize`. The cube_array sampling view feeds
20
20
  * `@group(0) @binding(5)` in URP shaders; the per-face 2D view feeds the
21
21
  * shadow-caster render pass attachment for one (layer, face) at a time
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-atlas.d.ts","sourceRoot":"","sources":["../src/shadow-atlas.ts"],"names":[],"mappings":"AAiCA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wFAAwF;AACxF,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,WAAW;IACtB,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAwB;IACvC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA4B;IACjD,yDAAyD;IACzD,OAAO,CAAC,cAAc,CAAwB;IAC9C,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,kBAAuB;IAM/D;;;;;;OAMG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;OASG;IACH,MAAM,IAAI,IAAI;IAkCd;;;;OAIG;IACH,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC;;;OAGG;IACH,oBAAoB,IAAI,OAAO,GAAG,IAAI;IAItC;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IAoBlD;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAShB"}
1
+ {"version":3,"file":"shadow-atlas.d.ts","sourceRoot":"","sources":["../src/shadow-atlas.ts"],"names":[],"mappings":"AAiCA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wFAAwF;AACxF,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,WAAW;IACtB,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAwB;IACvC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAA4B;IACjD,yDAAyD;IACzD,OAAO,CAAC,cAAc,CAAwB;IAC9C,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,kBAAuB;IAM/D;;;;;;OAMG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;OASG;IACH,MAAM,IAAI,IAAI;IAkCd;;;;OAIG;IACH,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC;;;OAGG;IACH,oBAAoB,IAAI,OAAO,GAAG,IAAI;IAItC;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IAoBlD;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAShB"}
@@ -6,6 +6,7 @@ export declare function generateSsaoNoise(seed?: number): Float32Array;
6
6
  export declare const SSAO_UNIFORM_INTENSITY_OFFSET = 192;
7
7
  export declare const SSAO_UNIFORM_BYTES = 256;
8
8
  interface SsaoFallbackResources {
9
+ readonly device: RenderSystemRuntime['device'];
9
10
  readonly texture: Texture;
10
11
  readonly view: TextureView;
11
12
  readonly sampler: Sampler;
@@ -26,6 +27,8 @@ export declare function getOrCreateSsaoFallbackTexture(runtime: RenderSystemRunt
26
27
  * Fields are readonly per charter P5: one resource, one owner.
27
28
  */
28
29
  export interface SsaoBuffers {
30
+ /** Device identity that owns every handle in this bundle. */
31
+ readonly device: RenderSystemRuntime['device'];
29
32
  /** 64 padded vec4 uniform buffer for hemisphere samples. */
30
33
  readonly kernelBuffer: Buffer;
31
34
  readonly kernelBytes: number;