@forgeax/engine-render 0.1.33 → 0.1.35

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 (624) hide show
  1. package/README.md +1062 -127
  2. package/dist/assembly/backend-contract.d.ts +2 -0
  3. package/dist/assembly/backend-contract.d.ts.map +1 -1
  4. package/dist/assembly/barrel-distortion-inspection.d.ts +3 -0
  5. package/dist/assembly/barrel-distortion-inspection.d.ts.map +1 -0
  6. package/dist/assembly/canvas-draw-guard.d.ts +3 -0
  7. package/dist/assembly/canvas-draw-guard.d.ts.map +1 -0
  8. package/dist/assembly/cloud-shadow-entry.d.ts +4 -0
  9. package/dist/assembly/cloud-shadow-entry.d.ts.map +1 -0
  10. package/dist/assembly/device-feature-admission.d.ts +2 -2
  11. package/dist/assembly/dynamic-geometry-host.d.ts +4 -1
  12. package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
  13. package/dist/assembly/dynamic-geometry-runtime.d.ts +1 -1
  14. package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -1
  15. package/dist/assembly/factory.d.ts +1 -1
  16. package/dist/assembly/factory.d.ts.map +1 -1
  17. package/dist/assembly/host-contract.d.ts +6 -5
  18. package/dist/assembly/host-contract.d.ts.map +1 -1
  19. package/dist/assembly/material/assembly.d.ts.map +1 -1
  20. package/dist/assembly/material/pipeline-helpers.d.ts +5 -0
  21. package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -1
  22. package/dist/assembly/material-shader-policy.d.ts +16 -2
  23. package/dist/assembly/material-shader-policy.d.ts.map +1 -1
  24. package/dist/assembly/material-shader-prewarm.d.ts.map +1 -1
  25. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
  26. package/dist/assembly/recovery/renderer-recover.d.ts +2 -0
  27. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
  28. package/dist/assembly/render-feature-post-processes.d.ts +6 -0
  29. package/dist/assembly/render-feature-post-processes.d.ts.map +1 -0
  30. package/dist/assembly/render-target-host.d.ts +5 -0
  31. package/dist/assembly/render-target-host.d.ts.map +1 -1
  32. package/dist/assembly/renderer-facade.d.ts.map +1 -1
  33. package/dist/assembly/renderer-feature-inspection.d.ts +1 -1
  34. package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -1
  35. package/dist/assembly/renderer-frame-transaction.d.ts +12 -0
  36. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  37. package/dist/assembly/renderer-inspection.d.ts +11 -0
  38. package/dist/assembly/renderer-inspection.d.ts.map +1 -1
  39. package/dist/assembly/webgpu-pbr-ready.d.ts +1 -0
  40. package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -1
  41. package/dist/assembly/webgpu-ready-per-pass.d.ts +39 -0
  42. package/dist/assembly/webgpu-ready-per-pass.d.ts.map +1 -0
  43. package/dist/assembly/webgpu-ready.d.ts +1 -1
  44. package/dist/assembly/webgpu-ready.d.ts.map +1 -1
  45. package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -1
  46. package/dist/assembly/webgpu-renderer-observation-owner.d.ts +35 -0
  47. package/dist/assembly/webgpu-renderer-observation-owner.d.ts.map +1 -0
  48. package/dist/assembly/webgpu-renderer.d.ts +2 -1
  49. package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
  50. package/dist/authoring.mjs +2 -4
  51. package/dist/authoring.mjs.map +1 -1
  52. package/dist/barrel-distortion.d.ts +47 -0
  53. package/dist/barrel-distortion.d.ts.map +1 -0
  54. package/dist/chunk-3XUBWRY2.mjs +1842 -0
  55. package/dist/chunk-3XUBWRY2.mjs.map +1 -0
  56. package/dist/{chunk-OO3DRYK7.mjs → chunk-G6HDNGY7.mjs} +2400 -1767
  57. package/dist/chunk-G6HDNGY7.mjs.map +1 -0
  58. package/dist/{chunk-ZDQWGQW7.mjs → chunk-LM5IE7GF.mjs} +4 -4
  59. package/dist/{chunk-ZDQWGQW7.mjs.map → chunk-LM5IE7GF.mjs.map} +1 -1
  60. package/dist/{chunk-VOZWDM3L.mjs → chunk-LNIUIKQ7.mjs} +1514 -498
  61. package/dist/chunk-LNIUIKQ7.mjs.map +1 -0
  62. package/dist/chunk-MXTWKZO4.mjs +3268 -0
  63. package/dist/chunk-MXTWKZO4.mjs.map +1 -0
  64. package/dist/chunk-MZ4C7EHF.mjs +6942 -0
  65. package/dist/chunk-MZ4C7EHF.mjs.map +1 -0
  66. package/dist/chunk-RIPAEGI6.mjs +48 -0
  67. package/dist/chunk-RIPAEGI6.mjs.map +1 -0
  68. package/dist/{chunk-LEAXOMYJ.mjs → chunk-SGPUJW3F.mjs} +117 -5
  69. package/dist/chunk-SGPUJW3F.mjs.map +1 -0
  70. package/dist/{chunk-PA5DRJNI.mjs → chunk-X2KA6WHM.mjs} +29 -4
  71. package/dist/chunk-X2KA6WHM.mjs.map +1 -0
  72. package/dist/{chunk-BLXGONR2.mjs → chunk-XSFB7XXQ.mjs} +51 -4
  73. package/dist/chunk-XSFB7XXQ.mjs.map +1 -0
  74. package/dist/cloud/density.d.ts +55 -0
  75. package/dist/cloud/density.d.ts.map +1 -0
  76. package/dist/cloud/extract.d.ts +25 -0
  77. package/dist/cloud/extract.d.ts.map +1 -0
  78. package/dist/cloud/feature.d.ts +57 -0
  79. package/dist/cloud/feature.d.ts.map +1 -0
  80. package/dist/cloud/frame-context.d.ts +8 -0
  81. package/dist/cloud/frame-context.d.ts.map +1 -0
  82. package/dist/cloud/inspection.d.ts +59 -0
  83. package/dist/cloud/inspection.d.ts.map +1 -0
  84. package/dist/cloud/optics.d.ts +56 -0
  85. package/dist/cloud/optics.d.ts.map +1 -0
  86. package/dist/cloud/parameters.d.ts +73 -0
  87. package/dist/cloud/parameters.d.ts.map +1 -0
  88. package/dist/cloud/resources.d.ts +60 -0
  89. package/dist/cloud/resources.d.ts.map +1 -0
  90. package/dist/cloud/shadow.d.ts +42 -0
  91. package/dist/cloud/shadow.d.ts.map +1 -0
  92. package/dist/cloud/temporal.d.ts +74 -0
  93. package/dist/cloud/temporal.d.ts.map +1 -0
  94. package/dist/components/barrel-distortion.d.ts +13 -0
  95. package/dist/components/barrel-distortion.d.ts.map +1 -0
  96. package/dist/components/cloud-layer.d.ts +29 -0
  97. package/dist/components/cloud-layer.d.ts.map +1 -0
  98. package/dist/components/index.d.ts +2 -0
  99. package/dist/components/index.d.ts.map +1 -1
  100. package/dist/components/instances.d.ts +20 -6
  101. package/dist/components/instances.d.ts.map +1 -1
  102. package/dist/construct-renderer.d.ts +1 -1
  103. package/dist/construct-renderer.d.ts.map +1 -1
  104. package/dist/construct-renderer.mjs +8406 -5785
  105. package/dist/construct-renderer.mjs.map +1 -1
  106. package/dist/device/gpu-residency.d.ts +19 -19
  107. package/dist/device/gpu-residency.d.ts.map +1 -1
  108. package/dist/dynamic-geometry.d.ts +5 -1
  109. package/dist/dynamic-geometry.d.ts.map +1 -1
  110. package/dist/errors/cloud.d.ts +59 -0
  111. package/dist/errors/cloud.d.ts.map +1 -0
  112. package/dist/errors/render.d.ts +20 -5
  113. package/dist/errors/render.d.ts.map +1 -1
  114. package/dist/examples/single-layer-medium-surface.d.ts +47 -0
  115. package/dist/examples/single-layer-medium-surface.d.ts.map +1 -0
  116. package/dist/extract/camera.d.ts.map +1 -1
  117. package/dist/extract/contracts.d.ts +5 -1
  118. package/dist/extract/contracts.d.ts.map +1 -1
  119. package/dist/extract/material-context.d.ts +7 -0
  120. package/dist/extract/material-context.d.ts.map +1 -0
  121. package/dist/features/barrel-distortion.d.ts +29 -0
  122. package/dist/features/barrel-distortion.d.ts.map +1 -0
  123. package/dist/features/error-reporting.d.ts +6 -2
  124. package/dist/features/error-reporting.d.ts.map +1 -1
  125. package/dist/features/host.d.ts +15 -0
  126. package/dist/features/host.d.ts.map +1 -1
  127. package/dist/features/plan.d.ts +10 -0
  128. package/dist/features/plan.d.ts.map +1 -1
  129. package/dist/features/render-graph-contribution.d.ts +5 -0
  130. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  131. package/dist/features/render-graph-raster.d.ts +1 -0
  132. package/dist/features/render-graph-raster.d.ts.map +1 -1
  133. package/dist/features/targets.d.ts +2 -0
  134. package/dist/features/targets.d.ts.map +1 -1
  135. package/dist/features/types.d.ts +48 -0
  136. package/dist/features/types.d.ts.map +1 -1
  137. package/dist/fullscreen-post-process-pass.d.ts +15 -7
  138. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  139. package/dist/glyph-text-layout-system.d.ts +1 -1
  140. package/dist/glyph-text-layout-system.d.ts.map +1 -1
  141. package/dist/gpu-dirty-ranges.d.ts +11 -0
  142. package/dist/gpu-dirty-ranges.d.ts.map +1 -0
  143. package/dist/gpu-driven/batch-topology.d.ts +17 -0
  144. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  145. package/dist/gpu-driven/material-artifacts.d.ts +6 -0
  146. package/dist/gpu-driven/material-artifacts.d.ts.map +1 -1
  147. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
  148. package/dist/gpu-driven/production-raster-material.d.ts +178 -0
  149. package/dist/gpu-driven/production-raster-material.d.ts.map +1 -0
  150. package/dist/gpu-driven/production-raster.d.ts +47 -3
  151. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  152. package/dist/gpu-driven/resource-allocation.d.ts +31 -0
  153. package/dist/gpu-driven/resource-allocation.d.ts.map +1 -0
  154. package/dist/gpu-driven/shadow-ownership.d.ts +14 -0
  155. package/dist/gpu-driven/shadow-ownership.d.ts.map +1 -0
  156. package/dist/gpu-driven/view-gpu.d.ts +26 -2
  157. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  158. package/dist/gpu-scene.d.ts +5 -0
  159. package/dist/gpu-scene.d.ts.map +1 -1
  160. package/dist/hdrp-buffers.d.ts +2 -2
  161. package/dist/hdrp-buffers.d.ts.map +1 -1
  162. package/dist/ibl/frame-resources.d.ts.map +1 -1
  163. package/dist/ibl/skylight-bind-group.d.ts +14 -5
  164. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  165. package/dist/index.d.ts +30 -7
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.mjs +780 -9
  168. package/dist/index.mjs.map +1 -1
  169. package/dist/inspection-types.d.ts +135 -1
  170. package/dist/inspection-types.d.ts.map +1 -1
  171. package/dist/instance-buffer-cache.d.ts +4 -4
  172. package/dist/instance-buffer-cache.d.ts.map +1 -1
  173. package/dist/instances.d.ts +47 -100
  174. package/dist/instances.d.ts.map +1 -1
  175. package/dist/internal.mjs +7 -8
  176. package/dist/internal.mjs.map +1 -1
  177. package/dist/pbr-pipeline.d.ts +22 -4
  178. package/dist/pbr-pipeline.d.ts.map +1 -1
  179. package/dist/pipeline/single-layer-medium-passes.d.ts +73 -0
  180. package/dist/pipeline/single-layer-medium-passes.d.ts.map +1 -0
  181. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  182. package/dist/pipeline/standard-output/graph.d.ts.map +1 -1
  183. package/dist/pipeline/standard-output/lut-gpu.d.ts +2 -2
  184. package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -1
  185. package/dist/pipeline/standard-output/resources.d.ts +2 -2
  186. package/dist/pipeline/standard-output/resources.d.ts.map +1 -1
  187. package/dist/pipeline/standard-output/types.d.ts +4 -2
  188. package/dist/pipeline/standard-output/types.d.ts.map +1 -1
  189. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  190. package/dist/pipeline/standard-post.d.ts.map +1 -1
  191. package/dist/pipeline-builder.d.ts +1 -1
  192. package/dist/pipeline-builder.d.ts.map +1 -1
  193. package/dist/plugin.d.ts.map +1 -1
  194. package/dist/prepare/prepared-graphics-resolver.d.ts +2 -0
  195. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  196. package/dist/publication/contract.d.ts +77 -0
  197. package/dist/publication/contract.d.ts.map +1 -0
  198. package/dist/publication/dependencies.d.ts +7 -0
  199. package/dist/publication/dependencies.d.ts.map +1 -0
  200. package/dist/publication/prepare-geometry.d.ts +9 -0
  201. package/dist/publication/prepare-geometry.d.ts.map +1 -0
  202. package/dist/publication/programs.d.ts +5 -0
  203. package/dist/publication/programs.d.ts.map +1 -0
  204. package/dist/publication/publisher.d.ts +33 -0
  205. package/dist/publication/publisher.d.ts.map +1 -0
  206. package/dist/publication/receiver.d.ts +29 -0
  207. package/dist/publication/receiver.d.ts.map +1 -0
  208. package/dist/publication/resource-scope.d.ts +18 -0
  209. package/dist/publication/resource-scope.d.ts.map +1 -0
  210. package/dist/publication/targets.d.ts +33 -0
  211. package/dist/publication/targets.d.ts.map +1 -0
  212. package/dist/publication/video.d.ts +5 -0
  213. package/dist/publication/video.d.ts.map +1 -0
  214. package/dist/record/barrel-distortion-frame.d.ts +15 -0
  215. package/dist/record/barrel-distortion-frame.d.ts.map +1 -0
  216. package/dist/record/dynamic-geometry-consumption.d.ts +10 -2
  217. package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -1
  218. package/dist/record/fold-buckets.d.ts +95 -0
  219. package/dist/record/fold-buckets.d.ts.map +1 -0
  220. package/dist/record/fold-instance-buffer.d.ts +6 -0
  221. package/dist/record/fold-instance-buffer.d.ts.map +1 -0
  222. package/dist/record/frame-lighting.d.ts +1 -0
  223. package/dist/record/frame-lighting.d.ts.map +1 -1
  224. package/dist/record/frame-snapshot.d.ts +43 -9
  225. package/dist/record/frame-snapshot.d.ts.map +1 -1
  226. package/dist/record/frame.d.ts +15 -65
  227. package/dist/record/frame.d.ts.map +1 -1
  228. package/dist/record/gpu-draw-receipts.d.ts +11 -0
  229. package/dist/record/gpu-draw-receipts.d.ts.map +1 -0
  230. package/dist/record/gpu-timing.d.ts +8 -0
  231. package/dist/record/gpu-timing.d.ts.map +1 -1
  232. package/dist/record/helpers.d.ts +2 -2
  233. package/dist/record/helpers.d.ts.map +1 -1
  234. package/dist/record/main-pass-geometry.d.ts +22 -6
  235. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  236. package/dist/record/main-pass-material.d.ts +14 -10
  237. package/dist/record/main-pass-material.d.ts.map +1 -1
  238. package/dist/record/main-pass-sprite-draws.d.ts +3 -16
  239. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  240. package/dist/record/main-pass.d.ts +13 -2
  241. package/dist/record/main-pass.d.ts.map +1 -1
  242. package/dist/record/motion-blur-receipt.d.ts +11 -0
  243. package/dist/record/motion-blur-receipt.d.ts.map +1 -0
  244. package/dist/record/prepared-material-bindings.d.ts +3 -3
  245. package/dist/record/prepared-material-bindings.d.ts.map +1 -1
  246. package/dist/record/probe-blend-buffer.d.ts +16 -0
  247. package/dist/record/probe-blend-buffer.d.ts.map +1 -0
  248. package/dist/record/recovery-pipeline.d.ts.map +1 -1
  249. package/dist/record/render-context.d.ts +24 -5
  250. package/dist/record/render-context.d.ts.map +1 -1
  251. package/dist/record/shadow-pass.d.ts +2 -0
  252. package/dist/record/shadow-pass.d.ts.map +1 -1
  253. package/dist/record/skybox-post-pass.d.ts +1 -1
  254. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  255. package/dist/record/sprite-instance-buffer.d.ts +31 -0
  256. package/dist/record/sprite-instance-buffer.d.ts.map +1 -0
  257. package/dist/record/target-capture-graph.d.ts +19 -0
  258. package/dist/record/target-capture-graph.d.ts.map +1 -0
  259. package/dist/record/typed-frame-graph.d.ts +24 -15
  260. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  261. package/dist/record/view-ubo.d.ts +11 -3
  262. package/dist/record/view-ubo.d.ts.map +1 -1
  263. package/dist/record/volume-params.d.ts +9 -0
  264. package/dist/record/volume-params.d.ts.map +1 -0
  265. package/dist/recovery/render-system-candidate.d.ts +14 -4
  266. package/dist/recovery/render-system-candidate.d.ts.map +1 -1
  267. package/dist/reflection/record-owner.d.ts.map +1 -1
  268. package/dist/render-contract.d.ts +46 -5
  269. package/dist/render-contract.d.ts.map +1 -1
  270. package/dist/render-graph-primitives.d.ts.map +1 -1
  271. package/dist/render-pipeline.d.ts +103 -2
  272. package/dist/render-pipeline.d.ts.map +1 -1
  273. package/dist/render-system-extract-tail.d.ts +3 -2
  274. package/dist/render-system-extract-tail.d.ts.map +1 -1
  275. package/dist/render-system-extract.d.ts +18 -9
  276. package/dist/render-system-extract.d.ts.map +1 -1
  277. package/dist/render-system-presentation.d.ts +23 -0
  278. package/dist/render-system-presentation.d.ts.map +1 -0
  279. package/dist/render-system-producer-roots.d.ts +10 -0
  280. package/dist/render-system-producer-roots.d.ts.map +1 -0
  281. package/dist/render-system-projections.d.ts +3 -2
  282. package/dist/render-system-projections.d.ts.map +1 -1
  283. package/dist/render-system-residency.d.ts +12 -0
  284. package/dist/render-system-residency.d.ts.map +1 -0
  285. package/dist/render-system.d.ts +22 -21
  286. package/dist/render-system.d.ts.map +1 -1
  287. package/dist/scene/probe-blend.d.ts +27 -0
  288. package/dist/scene/probe-blend.d.ts.map +1 -1
  289. package/dist/scene/render-scene.d.ts +18 -7
  290. package/dist/scene/render-scene.d.ts.map +1 -1
  291. package/dist/scene/render-source.d.ts +42 -0
  292. package/dist/scene/render-source.d.ts.map +1 -0
  293. package/dist/scene/source-systems.d.ts +6 -0
  294. package/dist/scene/source-systems.d.ts.map +1 -0
  295. package/dist/ssao-buffers.d.ts +9 -0
  296. package/dist/ssao-buffers.d.ts.map +1 -1
  297. package/dist/surface/dynamic-input.d.ts +133 -0
  298. package/dist/surface/dynamic-input.d.ts.map +1 -0
  299. package/dist/surface/gpu-driven.d.ts +41 -0
  300. package/dist/surface/gpu-driven.d.ts.map +1 -0
  301. package/dist/surface/submission-observation.d.ts +136 -0
  302. package/dist/surface/submission-observation.d.ts.map +1 -0
  303. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  304. package/dist/systems/skin-palette-types.d.ts +10 -0
  305. package/dist/systems/skin-palette-types.d.ts.map +1 -1
  306. package/dist/systems/transparent-dispatch.d.ts +2 -2
  307. package/dist/systems/transparent-dispatch.d.ts.map +1 -1
  308. package/dist/systems/transparent-sort-config.d.ts +2 -1
  309. package/dist/systems/transparent-sort-config.d.ts.map +1 -1
  310. package/dist/temporal/gpu.d.ts +13 -1
  311. package/dist/temporal/gpu.d.ts.map +1 -1
  312. package/dist/temporal/index.mjs +6 -7
  313. package/dist/temporal/inspection.d.ts.map +1 -1
  314. package/dist/temporal/standard-scene-data.d.ts.map +1 -1
  315. package/dist/temporal/target-coverage-attachment.d.ts.map +1 -1
  316. package/dist/transmission/single-layer-medium.d.ts +89 -0
  317. package/dist/transmission/single-layer-medium.d.ts.map +1 -0
  318. package/dist/typed-render-graph-primitives.d.ts +14 -2
  319. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  320. package/dist/volume/component.d.ts +9 -4
  321. package/dist/volume/component.d.ts.map +1 -1
  322. package/dist/volume/extract.d.ts +1 -1
  323. package/dist/volume/extract.d.ts.map +1 -1
  324. package/dist/volume/inspection.d.ts +2 -0
  325. package/dist/volume/inspection.d.ts.map +1 -1
  326. package/dist/volume/passes.d.ts +4 -1
  327. package/dist/volume/passes.d.ts.map +1 -1
  328. package/dist/volume/resources.d.ts.map +1 -1
  329. package/package.json +22 -21
  330. package/src/__tests__/atmosphere-daylight.dawn.test.ts +72 -0
  331. package/src/__tests__/auto-exposure-transaction.integration.test.ts +4 -9
  332. package/src/__tests__/barrel-distortion-lkg.integration.test.ts +353 -0
  333. package/src/__tests__/barrel-distortion.dawn.test.ts +41 -0
  334. package/src/__tests__/barrel-distortion.unit.test.ts +364 -0
  335. package/src/__tests__/construct-renderer-identity.unit.test.ts +49 -0
  336. package/src/__tests__/detached-recovery-graph.unit.test.ts +277 -0
  337. package/src/__tests__/device-feature-admission.unit.test.ts +3 -2
  338. package/src/__tests__/device-loss-fanout.unit.test.ts +36 -1
  339. package/src/__tests__/docs-gate-green.unit.test.ts +112 -1
  340. package/src/__tests__/factory-contract.integration.test.ts +295 -45
  341. package/src/__tests__/feature-depth-input.dawn.test.ts +129 -2
  342. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +14 -3
  343. package/src/__tests__/gpu-dirty-ranges.unit.test.ts +22 -0
  344. package/src/__tests__/gpu-driven-baseline.characterization.test.ts +16 -3
  345. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +12 -0
  346. package/src/__tests__/gpu-driven-material-artifacts.unit.test.ts +143 -0
  347. package/src/__tests__/gpu-driven-pbr.dawn.test.ts +5 -6
  348. package/src/__tests__/gpu-driven-production.integration.test.ts +482 -3
  349. package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +6 -5
  350. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +94 -6
  351. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +18 -2
  352. package/src/__tests__/gpu-driven-view.browser.test.ts +5 -8
  353. package/src/__tests__/gpu-driven-view.dawn.test.ts +6 -2
  354. package/src/__tests__/gpu-driven-view.unit.test.ts +1 -1
  355. package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +1 -0
  356. package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -4
  357. package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +1 -0
  358. package/src/__tests__/gpu-scene.unit.test.ts +119 -9
  359. package/src/__tests__/instance-allocation-failure.unit.test.ts +57 -0
  360. package/src/__tests__/instances-culling.integration.test.ts +10 -36
  361. package/src/__tests__/instances-store.unit.test.ts +97 -305
  362. package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
  363. package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +4 -1
  364. package/src/__tests__/main-pass-material-medium-selection.unit.test.ts +145 -0
  365. package/src/__tests__/material-shader-prewarm.unit.test.ts +59 -0
  366. package/src/__tests__/material-snapshot-mutation.integration.test.ts +39 -1
  367. package/src/__tests__/materials-standard-contract.unit.test.ts +0 -1
  368. package/src/__tests__/morph-culling-reentry.dawn.test.ts +5 -5
  369. package/src/__tests__/morph-visual-evidence.integration.test.ts +8 -7
  370. package/src/__tests__/motion-blur-compute.dawn.test.ts +13 -7
  371. package/src/__tests__/motion-blur.pixel.integration.test.ts +2 -2
  372. package/src/__tests__/nineslice-handle-surface.unit.test.ts +4 -4
  373. package/src/__tests__/pbr-view-layout.unit.test.ts +9 -0
  374. package/src/__tests__/physical-clearcoat.integration.test.ts +66 -8
  375. package/src/__tests__/physical-material-budget.unit.test.ts +40 -0
  376. package/src/__tests__/prepared-graphics-capability.unit.test.ts +66 -2
  377. package/src/__tests__/probe-bindings.unit.test.ts +582 -1
  378. package/src/__tests__/probe-scene-dirty.integration.test.ts +28 -1
  379. package/src/__tests__/receipt-observation-retirement.unit.test.ts +65 -0
  380. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +69 -0
  381. package/src/__tests__/render-error-code-owner.test-d.ts +8 -0
  382. package/src/__tests__/render-feature-diagnostics.unit.test.ts +15 -2
  383. package/src/__tests__/render-feature-error-reporting.unit.test.ts +21 -1
  384. package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +10 -1
  385. package/src/__tests__/render-feature-retry.unit.test.ts +12 -1
  386. package/src/__tests__/render-scene-mixed-updates.integration.test.ts +145 -19
  387. package/src/__tests__/render-scene-projection.unit.test.ts +36 -11
  388. package/src/__tests__/render-scene-temporal-retry.unit.test.ts +20 -20
  389. package/src/__tests__/render-target-probe-soak.perf.test.ts +2 -2
  390. package/src/__tests__/render-temporal-environment-consumer.browser.test.ts +3 -3
  391. package/src/__tests__/render-temporal-environment-consumer.dawn.test.ts +5 -2
  392. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +42 -8
  393. package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +16 -0
  394. package/src/__tests__/renderer-frame-transaction.integration.test.ts +26 -10
  395. package/src/__tests__/resource-allocation.unit.test.ts +123 -0
  396. package/src/__tests__/single-layer-medium-passes.unit.test.ts +275 -0
  397. package/src/__tests__/skin-motion-regression.unit.test.ts +70 -1
  398. package/src/__tests__/skin-palette-recycling.dawn.test.ts +97 -0
  399. package/src/__tests__/skinned-shadow-caster.test.ts +15 -0
  400. package/src/__tests__/ssr-carrier-public-contract.unit.test.ts +21 -0
  401. package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +4 -4
  402. package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +2 -2
  403. package/src/__tests__/ssr-gpu-dispatch.ts +1 -1
  404. package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +6 -2
  405. package/src/__tests__/standard-output-chain-contract.unit.test.ts +28 -0
  406. package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +46 -1
  407. package/src/__tests__/standard-pipeline.integration.test.ts +182 -1
  408. package/src/__tests__/surface-dynamic-buffer-lifecycle.unit.test.ts +506 -0
  409. package/src/__tests__/surface-submission-observation.unit.test.ts +812 -0
  410. package/src/__tests__/temporal-history-lifecycle.unit.test.ts +32 -0
  411. package/src/__tests__/temporal-performance.integration.test.ts +3 -3
  412. package/src/__tests__/visibility-instances.integration.test.ts +7 -19
  413. package/src/__tests__/visibility-producer-matrix.integration.test.ts +9 -20
  414. package/src/__tests__/volume-optics-oracle.unit.test.ts +4 -2
  415. package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +30 -20
  416. package/src/__tests__/volumetric-fog-errors.unit.test.ts +4 -3
  417. package/src/__tests__/volumetric-fog-multiple.unit.test.ts +55 -0
  418. package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +1 -1
  419. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +113 -9
  420. package/src/__tests__/volumetric-fog-topology.unit.test.ts +5 -3
  421. package/src/assembly/backend-contract.ts +30 -0
  422. package/src/assembly/barrel-distortion-inspection.ts +22 -0
  423. package/src/assembly/canvas-draw-guard.ts +11 -0
  424. package/src/assembly/cloud-shadow-entry.ts +22 -0
  425. package/src/assembly/device-feature-admission.ts +2 -2
  426. package/src/assembly/dynamic-geometry-host.ts +65 -37
  427. package/src/assembly/dynamic-geometry-runtime.ts +7 -1
  428. package/src/assembly/factory.ts +2 -30
  429. package/src/assembly/host-contract.ts +8 -5
  430. package/src/assembly/material/assembly.ts +25 -13
  431. package/src/assembly/material/pipeline-helpers.ts +53 -12
  432. package/src/assembly/material-shader-policy.ts +55 -0
  433. package/src/assembly/material-shader-prewarm.ts +21 -10
  434. package/src/assembly/recovery/device-loss-fanout.ts +13 -0
  435. package/src/assembly/recovery/renderer-recover.ts +50 -18
  436. package/src/assembly/render-feature-post-processes.ts +54 -0
  437. package/src/assembly/render-target-host.ts +57 -47
  438. package/src/assembly/renderer-facade.ts +7 -2
  439. package/src/assembly/renderer-feature-inspection.ts +8 -2
  440. package/src/assembly/renderer-frame-transaction.ts +23 -0
  441. package/src/assembly/renderer-inspection.ts +28 -0
  442. package/src/assembly/skin-palette-owner.ts +1 -1
  443. package/src/assembly/temporal-post-process-prewarm.ts +3 -3
  444. package/src/assembly/webgpu-pbr-ready.ts +9 -1
  445. package/src/assembly/webgpu-ready-per-pass.ts +104 -0
  446. package/src/assembly/webgpu-ready.ts +116 -62
  447. package/src/assembly/webgpu-renderer-bootstrap.ts +0 -12
  448. package/src/assembly/webgpu-renderer-observation-owner.ts +222 -0
  449. package/src/assembly/webgpu-renderer.ts +303 -313
  450. package/src/assembly/webgpu-vertex-layouts.ts +1 -1
  451. package/src/barrel-distortion.ts +247 -0
  452. package/src/cloud/__tests__/cloud-density-parity.dawn.test.ts +173 -0
  453. package/src/cloud/__tests__/cloud-layer-framebuffer-y.dawn.test.ts +265 -0
  454. package/src/cloud/__tests__/cloud-layer.browser.test.ts +432 -0
  455. package/src/cloud/__tests__/cloud-layer.unit.test.ts +634 -0
  456. package/src/cloud/density.ts +600 -0
  457. package/src/cloud/extract.ts +110 -0
  458. package/src/cloud/feature.ts +1810 -0
  459. package/src/cloud/frame-context.ts +42 -0
  460. package/src/cloud/inspection.ts +130 -0
  461. package/src/cloud/optics.ts +285 -0
  462. package/src/cloud/parameters.ts +255 -0
  463. package/src/cloud/resources.ts +122 -0
  464. package/src/cloud/shadow.ts +167 -0
  465. package/src/cloud/temporal.ts +226 -0
  466. package/src/components/barrel-distortion.ts +46 -0
  467. package/src/components/cloud-layer.ts +47 -0
  468. package/src/components/index.ts +2 -0
  469. package/src/components/instances.ts +18 -45
  470. package/src/components/sprite-instances.ts +1 -1
  471. package/src/construct-renderer.ts +1 -1
  472. package/src/device/gpu-residency.ts +26 -25
  473. package/src/dynamic-geometry.ts +12 -1
  474. package/src/errors/cloud.ts +103 -0
  475. package/src/errors/render.ts +47 -8
  476. package/src/examples/single-layer-medium-surface.ts +59 -0
  477. package/src/extract/camera.ts +15 -1
  478. package/src/extract/contracts.ts +5 -0
  479. package/src/extract/material-context.ts +21 -0
  480. package/src/features/barrel-distortion.ts +172 -0
  481. package/src/features/error-reporting.ts +26 -6
  482. package/src/features/host.ts +128 -19
  483. package/src/features/plan.ts +10 -0
  484. package/src/features/render-graph-contribution.ts +9 -0
  485. package/src/features/render-graph-raster.ts +45 -3
  486. package/src/features/targets.ts +66 -0
  487. package/src/features/types.ts +51 -0
  488. package/src/fullscreen-post-process-pass.ts +41 -9
  489. package/src/glyph-text-layout-system.ts +2 -2
  490. package/src/gpu-dirty-ranges.ts +48 -0
  491. package/src/gpu-driven/batch-topology.ts +53 -0
  492. package/src/gpu-driven/material-artifacts.ts +33 -25
  493. package/src/gpu-driven/prepared-draw.ts +12 -4
  494. package/src/gpu-driven/production-raster-material.ts +1894 -0
  495. package/src/gpu-driven/production-raster.ts +825 -784
  496. package/src/gpu-driven/resource-allocation.ts +142 -0
  497. package/src/gpu-driven/shadow-ownership.ts +71 -0
  498. package/src/gpu-driven/view-gpu.ts +164 -10
  499. package/src/gpu-scene.ts +75 -84
  500. package/src/hdrp-buffers.ts +4 -3
  501. package/src/ibl/frame-resources.ts +0 -1
  502. package/src/ibl/skylight-bind-group.ts +62 -32
  503. package/src/index.ts +205 -9
  504. package/src/inspection-types.ts +162 -0
  505. package/src/instance-buffer-cache.ts +4 -4
  506. package/src/instances.ts +152 -569
  507. package/src/pbr-pipeline.ts +230 -30
  508. package/src/pipeline/single-layer-medium-passes.ts +267 -0
  509. package/src/pipeline/standard-forward-lane.ts +313 -57
  510. package/src/pipeline/standard-output/graph.ts +8 -2
  511. package/src/pipeline/standard-output/lut-gpu.ts +3 -3
  512. package/src/pipeline/standard-output/resources.ts +2 -2
  513. package/src/pipeline/standard-output/types.ts +12 -1
  514. package/src/pipeline/standard-pipeline.ts +291 -18
  515. package/src/pipeline/standard-post.ts +90 -24
  516. package/src/pipeline-builder.ts +1 -1
  517. package/src/plugin.ts +4 -0
  518. package/src/points-lines/__tests__/points-lines.bench.ts +17 -8
  519. package/src/prepare/prepared-graphics-resolver.ts +2 -0
  520. package/src/publication/__tests__/derived-geometry.integration.test.ts +177 -0
  521. package/src/publication/__tests__/features.integration.test.ts +122 -0
  522. package/src/publication/__tests__/programs.unit.test.ts +25 -0
  523. package/src/publication/__tests__/publication.integration.test.ts +370 -0
  524. package/src/publication/__tests__/targets.integration.test.ts +120 -0
  525. package/src/publication/__tests__/video.browser.test.ts +50 -0
  526. package/src/publication/contract.ts +104 -0
  527. package/src/publication/dependencies.ts +54 -0
  528. package/src/publication/prepare-geometry.ts +94 -0
  529. package/src/publication/programs.ts +45 -0
  530. package/src/publication/publisher.ts +618 -0
  531. package/src/publication/receiver.ts +297 -0
  532. package/src/publication/resource-scope.ts +31 -0
  533. package/src/publication/targets.ts +182 -0
  534. package/src/publication/video.ts +33 -0
  535. package/src/record/__tests__/main-pass-geometry.unit.test.ts +30 -0
  536. package/src/record/__tests__/material-bg-cache.unit.test.ts +15 -1
  537. package/src/record/__tests__/sprite-material-abi.unit.test.ts +9 -11
  538. package/src/record/__tests__/temporal-payload.unit.test.ts +1 -1
  539. package/src/record/__tests__/transparent-group2-selection.unit.test.ts +11 -0
  540. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -0
  541. package/src/record/__tests__/video-texture-view.unit.test.ts +9 -9
  542. package/src/record/__tests__/view-ubo-layout.unit.test.ts +4 -3
  543. package/src/record/barrel-distortion-frame.ts +110 -0
  544. package/src/record/dynamic-geometry-consumption.ts +39 -9
  545. package/src/record/fold-buckets.ts +855 -0
  546. package/src/record/fold-instance-buffer.ts +51 -0
  547. package/src/record/frame-lighting.ts +36 -2
  548. package/src/record/frame-snapshot.ts +45 -9
  549. package/src/record/frame.ts +258 -1105
  550. package/src/record/gpu-draw-receipts.ts +38 -0
  551. package/src/record/gpu-timing.ts +48 -5
  552. package/src/record/helpers.ts +2 -2
  553. package/src/record/main-pass-geometry.ts +272 -84
  554. package/src/record/main-pass-material.ts +102 -36
  555. package/src/record/main-pass-sprite-draws.ts +13 -217
  556. package/src/record/main-pass.ts +164 -27
  557. package/src/record/motion-blur-receipt.ts +91 -0
  558. package/src/record/prepared-material-bindings.ts +11 -6
  559. package/src/record/probe-blend-buffer.ts +180 -0
  560. package/src/record/recovery-pipeline.ts +35 -3
  561. package/src/record/render-context.ts +41 -5
  562. package/src/record/shadow-pass.ts +30 -4
  563. package/src/record/skybox-post-pass.ts +28 -4
  564. package/src/record/sprite-instance-buffer.ts +155 -0
  565. package/src/record/target-capture-graph.ts +258 -0
  566. package/src/record/typed-frame-graph.ts +776 -340
  567. package/src/record/view-ubo.ts +27 -4
  568. package/src/record/volume-params.ts +225 -0
  569. package/src/recovery/render-system-candidate.ts +243 -50
  570. package/src/reflection/record-owner.ts +7 -3
  571. package/src/render-contract.ts +54 -5
  572. package/src/render-graph-primitives.ts +7 -1
  573. package/src/render-pipeline.ts +130 -0
  574. package/src/render-system-extract-tail.ts +90 -78
  575. package/src/render-system-extract.ts +76 -76
  576. package/src/render-system-presentation.ts +56 -0
  577. package/src/render-system-producer-roots.ts +96 -0
  578. package/src/render-system-projections.ts +3 -2
  579. package/src/render-system-residency.ts +159 -0
  580. package/src/render-system.ts +421 -408
  581. package/src/scene/probe-blend.ts +96 -4
  582. package/src/scene/render-scene.ts +416 -337
  583. package/src/scene/render-source.ts +90 -0
  584. package/src/scene/source-systems.ts +33 -0
  585. package/src/ssao-buffers.ts +95 -2
  586. package/src/surface/__tests__/dynamic-input.unit.test.ts +374 -0
  587. package/src/surface/__tests__/gpu-driven.unit.test.ts +87 -0
  588. package/src/surface/dynamic-input.ts +658 -0
  589. package/src/surface/gpu-driven.ts +147 -0
  590. package/src/surface/submission-observation.ts +517 -0
  591. package/src/systems/skin-palette-allocator.ts +5 -1
  592. package/src/systems/skin-palette-types.ts +11 -0
  593. package/src/systems/transparent-dispatch.ts +2 -2
  594. package/src/systems/transparent-sort-config.ts +3 -1
  595. package/src/temporal/gpu.ts +101 -17
  596. package/src/temporal/inspection.ts +7 -1
  597. package/src/temporal/standard-scene-data.ts +5 -0
  598. package/src/temporal/target-coverage-attachment.ts +4 -0
  599. package/src/transmission/__tests__/single-layer-medium.unit.test.ts +149 -0
  600. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +12 -11
  601. package/src/transmission/single-layer-medium.ts +322 -0
  602. package/src/typed-render-graph-primitives.ts +70 -2
  603. package/src/volume/component.ts +10 -9
  604. package/src/volume/extract.ts +11 -5
  605. package/src/volume/inspection.ts +3 -0
  606. package/src/volume/passes.ts +87 -4
  607. package/src/volume/resources.ts +2 -1
  608. package/dist/chunk-3RTCJTH4.mjs +0 -1610
  609. package/dist/chunk-3RTCJTH4.mjs.map +0 -1
  610. package/dist/chunk-BLXGONR2.mjs.map +0 -1
  611. package/dist/chunk-ILQ5MEZF.mjs +0 -32
  612. package/dist/chunk-ILQ5MEZF.mjs.map +0 -1
  613. package/dist/chunk-LEAXOMYJ.mjs.map +0 -1
  614. package/dist/chunk-NB2S7ZRX.mjs +0 -1783
  615. package/dist/chunk-NB2S7ZRX.mjs.map +0 -1
  616. package/dist/chunk-NNQL7CB3.mjs +0 -1713
  617. package/dist/chunk-NNQL7CB3.mjs.map +0 -1
  618. package/dist/chunk-OO3DRYK7.mjs.map +0 -1
  619. package/dist/chunk-PA5DRJNI.mjs.map +0 -1
  620. package/dist/chunk-PLAXOOX5.mjs +0 -1907
  621. package/dist/chunk-PLAXOOX5.mjs.map +0 -1
  622. package/dist/chunk-RXZ3RGOU.mjs +0 -53
  623. package/dist/chunk-RXZ3RGOU.mjs.map +0 -1
  624. package/dist/chunk-VOZWDM3L.mjs.map +0 -1
@@ -4,6 +4,7 @@ import type { Buffer, Result, RhiDevice } from '@forgeax/engine-rhi';
4
4
  import { RhiError } from '@forgeax/engine-rhi';
5
5
  import type { GpuScene } from '../gpu-scene';
6
6
  import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
7
+ import type { SurfaceGpuIndirectParameters, SurfaceGpuIndirectReadbackError, SurfaceGpuReadbackSnapshot, SurfaceSubmissionCandidate } from '../surface/submission-observation';
7
8
  import type { SubmissionPlan } from './batch-topology';
8
9
  export type GpuLodLane = 'gpu' | 'cpu';
9
10
  export declare function selectGpuLodLane(caps: {
@@ -11,7 +12,7 @@ export declare function selectGpuLodLane(caps: {
11
12
  readonly storageBuffer: boolean;
12
13
  readonly indirectDrawing: boolean;
13
14
  }): GpuLodLane;
14
- export declare const GPU_DRIVEN_VIEW_WGSL = "\nstruct PrimitiveRecord {\n generation: u32,\n flags: u32,\n transformIndex: u32,\n materialIndex: u32,\n drawTemplateIndex: u32,\n instanceStart: u32,\n instanceCount: u32,\n assetHandle: u32,\n localBoundsMin: vec4<f32>,\n localBoundsMax: vec4<f32>,\n};\n\nstruct TransformRecord {\n currentWorld: mat4x4<f32>,\n previousWorld: mat4x4<f32>,\n};\n\nstruct LodRecord {\n generation: u32,\n level: u32,\n firstIndex: u32,\n indexCount: u32,\n baseVertex: i32,\n screenCoverage: f32,\n hysteresis: f32,\n ready: u32,\n};\n\nstruct CandidateRecord {\n primitiveIndex: u32,\n generation: u32,\n instanceOrdinal: u32,\n materialSlot: u32,\n batchIndex: u32,\n visibleBase: u32,\n visibleCapacity: u32,\n // Low bit is admission; upper bits carry the batch-local projected Mesh row.\n // Suppressed candidates still contribute to the all-candidate LOD histogram,\n // but never enter the compacted visible stream. Packing both facts here\n // keeps the candidate ABI single-source when visibility compacts rows.\n submitAdmission: u32,\n projectedHeight: f32,\n previousLevel: u32,\n historyValid: u32,\n lodCount: u32,\n lodRows: array<LodRecord, 8>,\n};\n\nstruct InstanceRecord {\n primitiveIndex: u32,\n transformIndex: u32,\n customDataStart: u32,\n flags: u32,\n};\n\nstruct BatchRecord {\n visibleBase: u32,\n visibleCapacity: u32,\n count: u32,\n first: u32,\n baseVertex: i32,\n indirectIndex: u32,\n indexed: u32,\n candidateBase: u32,\n};\n\nstruct ViewConstants {\n planes: array<vec4<f32>, 6>,\n candidateCount: u32,\n batchCount: u32,\n pad0: u32,\n pad1: u32,\n};\n\nfn selectLodLevel(\n projectedHeight: f32,\n previousLevel: u32,\n historyValid: bool,\n rows: array<LodRecord, 8>,\n levelCount: u32,\n) -> u32 {\n // Row zero is the implicit root and has no transition threshold. Lower\n // levels carry the absolute boundary that introduces the preceding row.\n // This mirrors the CPU selector: height >= rows[1] selects root, height\n // between rows[2] and rows[1] selects level 1, and so on.\n var selected = levelCount - 1u;\n for (var level = 1u; level < levelCount; level += 1u) {\n if (projectedHeight >= rows[level].screenCoverage) {\n selected = level - 1u;\n break;\n }\n }\n if (historyValid && previousLevel < levelCount && selected != previousLevel) {\n var boundary = rows[previousLevel + 1u].screenCoverage;\n if (selected < previousLevel) { boundary = rows[previousLevel].screenCoverage; }\n let band = boundary * rows[previousLevel].hysteresis;\n if (abs(projectedHeight - boundary) <= band) { selected = previousLevel; }\n }\n if (selected >= levelCount || rows[selected].ready == 0u) { return 0u; }\n return selected;\n}\n\n@group(0) @binding(0) var<storage, read> primitives: array<PrimitiveRecord>;\n@group(0) @binding(1) var<storage, read> instances: array<InstanceRecord>;\n@group(0) @binding(2) var<storage, read> transforms: array<TransformRecord>;\n@group(0) @binding(3) var<storage, read> candidates: array<CandidateRecord>;\n@group(0) @binding(4) var<storage, read> batches: array<BatchRecord>;\n@group(0) @binding(5) var<uniform> view: ViewConstants;\n@group(0) @binding(6) var<storage, read_write> counters: array<atomic<u32>>;\n@group(0) @binding(7) var<storage, read_write> visibleIndices: array<vec2<u32>>;\n@group(0) @binding(8) var<storage, read_write> indirectArgs: array<u32>;\n\nfn counterIndex(batchIndex: u32) -> u32 { return batchIndex * 12u; }\nfn overflowIndex(batchIndex: u32) -> u32 { return counterIndex(batchIndex) + 1u; }\nfn lodCounterIndex(batchIndex: u32, level: u32) -> u32 {\n return counterIndex(batchIndex) + 2u + level;\n}\n\nfn isVisible(primitive: PrimitiveRecord, world: mat4x4<f32>) -> bool {\n // GPU Scene bounds are optional. A producer that has not published local\n // bounds still belongs in the GPU lane; keep it conservatively visible\n // instead of silently dropping a valid draw.\n if ((primitive.flags & 5u) != 5u) { return false; }\n if ((primitive.flags & 2u) == 0u) { return true; }\n let localCenter = (primitive.localBoundsMin.xyz + primitive.localBoundsMax.xyz) * 0.5;\n let localExtent = (primitive.localBoundsMax.xyz - primitive.localBoundsMin.xyz) * 0.5;\n let worldCenter = (world * vec4<f32>(localCenter, 1.0)).xyz;\n let worldExtent =\n abs(world[0].xyz) * localExtent.x +\n abs(world[1].xyz) * localExtent.y +\n abs(world[2].xyz) * localExtent.z;\n for (var planeIndex = 0u; planeIndex < 6u; planeIndex += 1u) {\n let plane = view.planes[planeIndex];\n let radius = dot(abs(plane.xyz), worldExtent);\n if (dot(plane.xyz, worldCenter) + plane.w < -radius) { return false; }\n }\n return true;\n}\n\n@compute @workgroup_size(64)\nfn resetView(@builtin(global_invocation_id) id: vec3<u32>) {\n let batchIndex = id.x;\n if (batchIndex >= view.batchCount) { return; }\n atomicStore(&counters[counterIndex(batchIndex)], 0u);\n atomicStore(&counters[overflowIndex(batchIndex)], 0u);\n for (var level = 0u; level < 8u; level += 1u) {\n atomicStore(&counters[lodCounterIndex(batchIndex, level)], 0u);\n }\n atomicStore(&counters[counterIndex(batchIndex) + 10u], 0u);\n atomicStore(&counters[counterIndex(batchIndex) + 11u], 0u);\n}\n\n@compute @workgroup_size(64)\nfn cullView(@builtin(global_invocation_id) id: vec3<u32>) {\n let candidateIndex = id.x;\n if (candidateIndex >= view.candidateCount) { return; }\n let candidate = candidates[candidateIndex];\n let primitive = primitives[candidate.primitiveIndex];\n if (primitive.generation != candidate.generation) { return; }\n if (candidate.instanceOrdinal >= primitive.instanceCount) { return; }\n let instanceIndex = primitive.instanceStart + candidate.instanceOrdinal;\n let instance = instances[instanceIndex];\n let world = transforms[primitive.transformIndex].currentWorld * transforms[instance.transformIndex].currentWorld;\n let selectedLod = selectLodLevel(\n candidate.projectedHeight,\n candidate.previousLevel,\n candidate.historyValid != 0u,\n candidate.lodRows,\n candidate.lodCount,\n );\n if (candidate.lodRows[selectedLod].ready == 0u) { return; }\n // Selector counters describe the complete LOD population, including\n // candidates outside the frustum and candidates suppressed by the CPU\n // visibility facet. Submission counters below remain compacted draw facts.\n atomicAdd(&counters[lodCounterIndex(candidate.batchIndex, selectedLod)], 1u);\n if ((candidate.submitAdmission & 1u) == 0u) { return; }\n if (!isVisible(primitive, world)) { return; }\n atomicAdd(\n &counters[counterIndex(candidate.batchIndex) + 10u],\n candidate.lodRows[selectedLod].indexCount,\n );\n atomicAdd(\n &counters[counterIndex(candidate.batchIndex) + 11u],\n candidate.lodRows[0u].indexCount,\n );\n let localVisible = atomicAdd(&counters[counterIndex(candidate.batchIndex)], 1u);\n if (localVisible >= candidate.visibleCapacity) {\n atomicStore(&counters[overflowIndex(candidate.batchIndex)], 1u);\n return;\n }\n var materialOrPalette = primitive.materialIndex + (candidate.materialSlot & 0x7fffffffu);\n if ((candidate.materialSlot & 0x80000000u) != 0u) {\n materialOrPalette = instance.customDataStart;\n }\n visibleIndices[candidate.visibleBase + localVisible] = vec2<u32>(\n candidate.submitAdmission >> 1u,\n materialOrPalette,\n );\n}\n\n@compute @workgroup_size(64)\nfn finalizeView(@builtin(global_invocation_id) id: vec3<u32>) {\n let batchIndex = id.x;\n if (batchIndex >= view.batchCount) { return; }\n let batch = batches[batchIndex];\n var visibleCount = min(\n atomicLoad(&counters[counterIndex(batchIndex)]),\n batch.visibleCapacity,\n );\n // Overflow is a failed generation, never a partially valid draw. Keep the\n // telemetry flag for the producer retry path but emit zero instances so no\n // subset of a visible batch reaches the rasterizer.\n if (atomicLoad(&counters[overflowIndex(batchIndex)]) != 0u) {\n visibleCount = 0u;\n }\n let args = batch.indirectIndex * 5u;\n let candidate = candidates[batch.candidateBase];\n let selectedLod = selectLodLevel(candidate.projectedHeight, candidate.previousLevel, candidate.historyValid != 0u, candidate.lodRows, candidate.lodCount);\n let lod = candidate.lodRows[selectedLod];\n indirectArgs[args] = select(batch.count, lod.indexCount, candidate.lodCount > 0u);\n indirectArgs[args + 1u] = visibleCount;\n indirectArgs[args + 2u] = select(batch.first, lod.firstIndex, candidate.lodCount > 0u && batch.indexed != 0u);\n indirectArgs[args + 3u] = select(0u, bitcast<u32>(lod.baseVertex), candidate.lodCount > 0u && batch.indexed != 0u);\n indirectArgs[args + 4u] = 0u;\n}\n";
15
+ export declare const GPU_DRIVEN_VIEW_WGSL = "\nstruct PrimitiveRecord {\n generation: u32,\n flags: u32,\n transformIndex: u32,\n materialIndex: u32,\n drawTemplateIndex: u32,\n instanceStart: u32,\n instanceCount: u32,\n assetHandle: u32,\n localBoundsMin: vec4<f32>,\n localBoundsMax: vec4<f32>,\n};\n\nstruct TransformRecord {\n currentWorld: mat4x4<f32>,\n previousWorld: mat4x4<f32>,\n};\n\nstruct LodRecord {\n generation: u32,\n level: u32,\n firstIndex: u32,\n indexCount: u32,\n baseVertex: i32,\n screenCoverage: f32,\n hysteresis: f32,\n ready: u32,\n};\n\nstruct CandidateRecord {\n primitiveIndex: u32,\n generation: u32,\n instanceOrdinal: u32,\n materialSlot: u32,\n batchIndex: u32,\n visibleBase: u32,\n visibleCapacity: u32,\n // Low bit is admission; upper bits carry the batch-local projected Mesh row.\n // Suppressed candidates still contribute to the all-candidate LOD histogram,\n // but never enter the compacted visible stream. Packing both facts here\n // keeps the candidate ABI single-source when visibility compacts rows.\n submitAdmission: u32,\n projectedHeight: f32,\n previousLevel: u32,\n historyValid: u32,\n lodCount: u32,\n lodRows: array<LodRecord, 8>,\n};\n\nstruct InstanceRecord {\n primitiveIndex: u32,\n transformIndex: u32,\n customDataStart: u32,\n flags: u32,\n};\n\nstruct BatchRecord {\n visibleBase: u32,\n visibleCapacity: u32,\n count: u32,\n first: u32,\n baseVertex: i32,\n indirectIndex: u32,\n indexed: u32,\n candidateBase: u32,\n};\n\nstruct ViewConstants {\n planes: array<vec4<f32>, 6>,\n candidateCount: u32,\n batchCount: u32,\n pad0: u32,\n pad1: u32,\n};\n\nfn selectLodLevel(\n projectedHeight: f32,\n previousLevel: u32,\n historyValid: bool,\n rows: array<LodRecord, 8>,\n levelCount: u32,\n) -> u32 {\n // Row zero is the implicit root and has no transition threshold. Lower\n // levels carry the absolute boundary that introduces the preceding row.\n // This mirrors the CPU selector: height >= rows[1] selects root, height\n // between rows[2] and rows[1] selects level 1, and so on.\n var selected = levelCount - 1u;\n for (var level = 1u; level < levelCount; level += 1u) {\n if (projectedHeight >= rows[level].screenCoverage) {\n selected = level - 1u;\n break;\n }\n }\n if (historyValid && previousLevel < levelCount && selected != previousLevel) {\n var boundary = rows[previousLevel + 1u].screenCoverage;\n if (selected < previousLevel) { boundary = rows[previousLevel].screenCoverage; }\n let band = boundary * rows[previousLevel].hysteresis;\n if (abs(projectedHeight - boundary) <= band) { selected = previousLevel; }\n }\n if (selected >= levelCount || rows[selected].ready == 0u) { return 0u; }\n return selected;\n}\n\n@group(0) @binding(0) var<storage, read> primitives: array<PrimitiveRecord>;\n@group(0) @binding(1) var<storage, read> instances: array<InstanceRecord>;\n@group(0) @binding(2) var<storage, read> transforms: array<TransformRecord>;\n@group(0) @binding(3) var<storage, read> candidates: array<CandidateRecord>;\n@group(0) @binding(4) var<storage, read> batches: array<BatchRecord>;\n@group(0) @binding(5) var<uniform> view: ViewConstants;\n@group(0) @binding(6) var<storage, read_write> counters: array<atomic<u32>>;\n@group(0) @binding(7) var<storage, read_write> visibleIndices: array<vec4<u32>>;\n@group(0) @binding(8) var<storage, read_write> indirectArgs: array<u32>;\n\nfn counterIndex(batchIndex: u32) -> u32 { return batchIndex * 12u; }\nfn overflowIndex(batchIndex: u32) -> u32 { return counterIndex(batchIndex) + 1u; }\nfn lodCounterIndex(batchIndex: u32, level: u32) -> u32 {\n return counterIndex(batchIndex) + 2u + level;\n}\n\nfn isVisible(primitive: PrimitiveRecord, world: mat4x4<f32>) -> bool {\n // GPU Scene bounds are optional. A producer that has not published local\n // bounds still belongs in the GPU lane; keep it conservatively visible\n // instead of silently dropping a valid draw.\n if ((primitive.flags & 5u) != 5u) { return false; }\n if ((primitive.flags & 2u) == 0u) { return true; }\n let localCenter = (primitive.localBoundsMin.xyz + primitive.localBoundsMax.xyz) * 0.5;\n let localExtent = (primitive.localBoundsMax.xyz - primitive.localBoundsMin.xyz) * 0.5;\n let worldCenter = (world * vec4<f32>(localCenter, 1.0)).xyz;\n let worldExtent =\n abs(world[0].xyz) * localExtent.x +\n abs(world[1].xyz) * localExtent.y +\n abs(world[2].xyz) * localExtent.z;\n for (var planeIndex = 0u; planeIndex < 6u; planeIndex += 1u) {\n let plane = view.planes[planeIndex];\n let radius = dot(abs(plane.xyz), worldExtent);\n if (dot(plane.xyz, worldCenter) + plane.w < -radius) { return false; }\n }\n return true;\n}\n\n@compute @workgroup_size(64)\nfn resetView(@builtin(global_invocation_id) id: vec3<u32>) {\n let batchIndex = id.x;\n if (batchIndex >= view.batchCount) { return; }\n atomicStore(&counters[counterIndex(batchIndex)], 0u);\n atomicStore(&counters[overflowIndex(batchIndex)], 0u);\n for (var level = 0u; level < 8u; level += 1u) {\n atomicStore(&counters[lodCounterIndex(batchIndex, level)], 0u);\n }\n atomicStore(&counters[counterIndex(batchIndex) + 10u], 0u);\n atomicStore(&counters[counterIndex(batchIndex) + 11u], 0u);\n}\n\n@compute @workgroup_size(64)\nfn cullView(@builtin(global_invocation_id) id: vec3<u32>) {\n let candidateIndex = id.x;\n if (candidateIndex >= view.candidateCount) { return; }\n let candidate = candidates[candidateIndex];\n let primitive = primitives[candidate.primitiveIndex];\n if (primitive.generation != candidate.generation) { return; }\n if (candidate.instanceOrdinal >= primitive.instanceCount) { return; }\n let instanceIndex = primitive.instanceStart + candidate.instanceOrdinal;\n let instance = instances[instanceIndex];\n let world = transforms[primitive.transformIndex].currentWorld * transforms[instance.transformIndex].currentWorld;\n let selectedLod = selectLodLevel(\n candidate.projectedHeight,\n candidate.previousLevel,\n candidate.historyValid != 0u,\n candidate.lodRows,\n candidate.lodCount,\n );\n if (candidate.lodRows[selectedLod].ready == 0u) { return; }\n // Selector counters describe the complete LOD population, including\n // candidates outside the frustum and candidates suppressed by the CPU\n // visibility facet. Submission counters below remain compacted draw facts.\n atomicAdd(&counters[lodCounterIndex(candidate.batchIndex, selectedLod)], 1u);\n if ((candidate.submitAdmission & 1u) == 0u) { return; }\n if (!isVisible(primitive, world)) { return; }\n atomicAdd(\n &counters[counterIndex(candidate.batchIndex) + 10u],\n candidate.lodRows[selectedLod].indexCount,\n );\n atomicAdd(\n &counters[counterIndex(candidate.batchIndex) + 11u],\n candidate.lodRows[0u].indexCount,\n );\n let localVisible = atomicAdd(&counters[counterIndex(candidate.batchIndex)], 1u);\n if (localVisible >= candidate.visibleCapacity) {\n atomicStore(&counters[overflowIndex(candidate.batchIndex)], 1u);\n return;\n }\n var materialOrPalette = primitive.materialIndex + (candidate.materialSlot & 0x7fffffffu);\n if ((candidate.materialSlot & 0x80000000u) != 0u) {\n materialOrPalette = instance.customDataStart;\n }\n visibleIndices[candidate.visibleBase + localVisible] = vec4<u32>(\n candidate.submitAdmission >> 1u,\n materialOrPalette,\n candidate.primitiveIndex + 1u,\n candidate.generation,\n );\n}\n\n@compute @workgroup_size(64)\nfn finalizeView(@builtin(global_invocation_id) id: vec3<u32>) {\n let batchIndex = id.x;\n if (batchIndex >= view.batchCount) { return; }\n let batch = batches[batchIndex];\n var visibleCount = min(\n atomicLoad(&counters[counterIndex(batchIndex)]),\n batch.visibleCapacity,\n );\n // Overflow is a failed generation, never a partially valid draw. Keep the\n // telemetry flag for the producer retry path but emit zero instances so no\n // subset of a visible batch reaches the rasterizer.\n if (atomicLoad(&counters[overflowIndex(batchIndex)]) != 0u) {\n visibleCount = 0u;\n }\n let args = batch.indirectIndex * 5u;\n let candidate = candidates[batch.candidateBase];\n let selectedLod = selectLodLevel(candidate.projectedHeight, candidate.previousLevel, candidate.historyValid != 0u, candidate.lodRows, candidate.lodCount);\n let lod = candidate.lodRows[selectedLod];\n var drawCount = batch.count;\n var drawFirst = batch.first;\n var drawBaseVertex: i32 = 0;\n if (candidate.lodCount > 0u) {\n drawCount = lod.indexCount;\n if (batch.indexed != 0u) {\n drawFirst = lod.firstIndex;\n drawBaseVertex = lod.baseVertex;\n }\n } else if (batch.indexed != 0u) {\n drawBaseVertex = batch.baseVertex;\n }\n indirectArgs[args] = drawCount;\n indirectArgs[args + 1u] = visibleCount;\n indirectArgs[args + 2u] = drawFirst;\n indirectArgs[args + 3u] = bitcast<u32>(drawBaseVertex);\n indirectArgs[args + 4u] = 0u;\n}\n";
15
16
  export interface GpuDrivenLodSubmitIdentity {
16
17
  readonly frameId: number;
17
18
  readonly deviceGeneration: number;
@@ -43,6 +44,8 @@ export interface GpuDrivenViewInspection {
43
44
  readonly bindGroupCreates: number;
44
45
  readonly bufferRebuilds: number;
45
46
  readonly resourceGeneration: number;
47
+ /** Logical Engine allocation facts; physical VRAM residency is unknown. */
48
+ readonly resourceAllocation: import('../inspection-types').GpuResourceAllocationInspection;
46
49
  }
47
50
  export interface GpuDrivenViewBufferCapacities {
48
51
  readonly candidate: number;
@@ -51,6 +54,8 @@ export interface GpuDrivenViewBufferCapacities {
51
54
  readonly indirect: number;
52
55
  }
53
56
  export interface GpuDrivenLodSelectionInspection {
57
+ /** Exact resource generation whose selector rows were copied. */
58
+ readonly resourceGeneration?: number;
54
59
  readonly candidateCount: number;
55
60
  readonly batchCount: number;
56
61
  readonly indirectDrawCount: number;
@@ -87,6 +92,22 @@ export interface GpuDrivenLodSelectionInspection {
87
92
  }[];
88
93
  readonly geometryWork: number;
89
94
  readonly rootGeometryWork: number;
95
+ /** Actual visible rows copied from the submitted GPU selector. */
96
+ readonly actualMembers: readonly {
97
+ readonly batchId: number;
98
+ readonly primitiveIndex: number;
99
+ readonly generation: number;
100
+ readonly drawItemIndex: number;
101
+ readonly instanceOrdinal: number;
102
+ }[];
103
+ /** Surface subset projected by the material producer after readback. */
104
+ readonly surfaceActualMemberIds?: readonly string[];
105
+ /** Decoded indexed/non-indexed command words for the exact Surface copy. */
106
+ readonly surfaceIndirectParameters?: readonly SurfaceGpuIndirectParameters[];
107
+ /** Fail-closed readback reason when the copied command range is unusable. */
108
+ readonly surfaceIndirectReadbackError?: SurfaceGpuIndirectReadbackError;
109
+ /** Exact Surface recording whose selector bytes were copied. */
110
+ readonly surfaceReadback?: SurfaceGpuReadbackSnapshot;
90
111
  /** Public receipt identity captured when the telemetry copy was encoded. */
91
112
  readonly submit?: GpuDrivenLodSubmitIdentity;
92
113
  }
@@ -127,6 +148,8 @@ export declare class GpuDrivenView {
127
148
  private bindGroupCreates;
128
149
  private bufferRebuilds;
129
150
  private resourceGeneration;
151
+ private readonly allocationLedger;
152
+ private readonly allocationTokens;
130
153
  /** The last readback copy that was actually encoded and is not consumed. */
131
154
  private telemetryPending;
132
155
  /** Receipt identity for the copy pass encoded by the current frame. */
@@ -150,7 +173,7 @@ export declare class GpuDrivenView {
150
173
  /** Read selected levels written by the GPU cull pass for the last submit. */
151
174
  readLodSelection(): Promise<GpuDrivenLodSelectionInspection | undefined>;
152
175
  private readLodSelectionCopy;
153
- addPasses<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, labelPrefix?: string, includeCompute?: boolean): Result<GpuDrivenViewGraphResources, RenderGraphError>;
176
+ addPasses<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, labelPrefix?: string, includeCompute?: boolean, surfaceSubmissionObservation?: () => SurfaceSubmissionCandidate | undefined): Result<GpuDrivenViewGraphResources, RenderGraphError>;
154
177
  dispose(): void;
155
178
  /**
156
179
  * @internal
@@ -168,6 +191,7 @@ export declare class GpuDrivenView {
168
191
  _recoverFromOverflow(): Result<void, RhiError>;
169
192
  private rebuildBuffers;
170
193
  private destroyAfterSubmittedWork;
194
+ private retireGeneration;
171
195
  }
172
196
  export { decideVisibility } from '../scene/visibility/occlusion-confidence';
173
197
  //# sourceMappingURL=view-gpu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-gpu.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/view-gpu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-gpu.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/view-gpu.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ export type GpuSceneAvailability = {
22
22
  export declare class GpuScene {
23
23
  private readonly device;
24
24
  private capacity;
25
+ private readonly dirtyRanges;
26
+ private readonly rowScratch;
27
+ private readonly rowScratchView;
25
28
  private disposed;
26
29
  private tableBytes;
27
30
  private transformBytes;
@@ -71,6 +74,8 @@ export declare class GpuScene {
71
74
  inspect(): GpuSceneInspection;
72
75
  dispose(): void;
73
76
  private writeSlot;
77
+ /** Compare against the resident CPU bytes; pending upload rows survive failure. */
78
+ private writeRow;
74
79
  private writeMaterialSlot;
75
80
  /** Consume changed instance fields independently of root or material changes. */
76
81
  private writeInstanceTransforms;
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-scene.d.ts","sourceRoot":"","sources":["../src/gpu-scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gpu-scene.d.ts","sourceRoot":"","sources":["../src/gpu-scene.ts"],"names":[],"mappings":"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"}
@@ -158,9 +158,9 @@ export declare function createStandardSurfaceLightingBindGroup(runtime: RenderSy
158
158
  readonly y: number;
159
159
  readonly z: number;
160
160
  }, ssaoOptions?: SsaoBindOptions): BindGroup | null;
161
- export declare function createHdrpUnifiedBindGroup(runtime: RenderSystemRuntime, hdrpBuffers: HdrpBuffers, meshStorageBuffer: Buffer, ssaoOptions?: SsaoBindOptions): BindGroup | null;
161
+ export declare function createHdrpUnifiedBindGroup(runtime: RenderSystemRuntime, hdrpBuffers: HdrpBuffers, meshStorageBuffer: Buffer, ssaoOptions?: SsaoBindOptions, meshBindingBytes?: number): BindGroup | null;
162
162
  /** Build the clustered skin group(2) bind group with one shared palette window. */
163
- export declare function createHdrpSkinUnifiedBindGroup(runtime: RenderSystemRuntime, hdrpBuffers: HdrpBuffers, layout: BindGroupLayout, meshStorageBuffer: Buffer, paletteBuffer: Buffer, paletteBindingWindowBytes: number, ssaoOptions?: SsaoBindOptions): BindGroup | null;
163
+ export declare function createHdrpSkinUnifiedBindGroup(runtime: RenderSystemRuntime, hdrpBuffers: HdrpBuffers, layout: BindGroupLayout, meshStorageBuffer: Buffer, paletteBuffer: Buffer, paletteBindingWindowBytes: number, ssaoOptions?: SsaoBindOptions, meshBindingBytes?: number): BindGroup | null;
164
164
  /**
165
165
  * Build the compute-only bind group for ordered cluster membership output.
166
166
  * Its group is intentionally separate from the fragment group: the same
@@ -1 +1 @@
1
- {"version":3,"file":"hdrp-buffers.d.ts","sourceRoot":"","sources":["../src/hdrp-buffers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hdrp-buffers.d.ts","sourceRoot":"","sources":["../src/hdrp-buffers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frame-resources.d.ts","sourceRoot":"","sources":["../../src/ibl/frame-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI1F,oFAAoF;AACpF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,aAAa,CAAC,EAC5D,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,MAAM,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAuB9C"}
1
+ {"version":3,"file":"frame-resources.d.ts","sourceRoot":"","sources":["../../src/ibl/frame-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI1F,oFAAoF;AACpF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,aAAa,CAAC,EAC5D,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,MAAM,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAsB9C"}
@@ -47,13 +47,13 @@ export interface SkylightQueue {
47
47
  */
48
48
  export interface SkylightBindGroupResources {
49
49
  readonly irradianceView: TextureView;
50
+ /** Shared by diffuse irradiance and the BRDF lookup table. */
50
51
  readonly irradianceSampler: Sampler;
51
52
  readonly prefilterView: TextureView;
52
53
  /** Present only when the per-draw prefilter slot was replaced by a local probe. */
53
54
  readonly skylightPrefilterView?: TextureView;
54
55
  readonly prefilterSampler: Sampler;
55
56
  readonly brdfLutView: TextureView;
56
- readonly brdfLutSampler: Sampler;
57
57
  readonly intensityBuffer: Buffer;
58
58
  }
59
59
  /**
@@ -65,7 +65,7 @@ export interface SkylightBindGroupResources {
65
65
  *
66
66
  * No stand-alone `bindGroup` field: the round-2 stand-alone Skylight BG
67
67
  * is gone (D-5 round-4); the fallback resources flow into the PBR
68
- * material BG at binding 7..13.
68
+ * material BG at binding 7..12.
69
69
  */
70
70
  export interface SkylightFallback {
71
71
  readonly irradianceTexture: Texture;
@@ -78,7 +78,7 @@ export interface SkylightFallback {
78
78
  readonly intensityBuffer: Buffer;
79
79
  }
80
80
  /**
81
- * Append the 7 Skylight BindGroupLayout entries after the existing PBR
81
+ * Append the 6 Skylight BindGroupLayout entries after the existing PBR
82
82
  * user-region entries. Pure function -- the
83
83
  * caller passes the result to `device.createBindGroupLayout`. Charter P4
84
84
  * consistent abstraction: one BGL holds material + Skylight together,
@@ -89,7 +89,7 @@ export interface SkylightFallback {
89
89
  */
90
90
  export declare function mergeSkylightIntoMaterialBgl(materialBglEntries: readonly GPUBindGroupLayoutEntry[]): GPUBindGroupLayoutEntry[];
91
91
  /**
92
- * Append the 7 Skylight BindGroupEntry resources (binding 7..13) onto the
92
+ * Append the 6 Skylight BindGroupEntry resources (binding 7..12) onto the
93
93
  * existing PBR material BindGroupEntry values (binding 0..6). The caller
94
94
  * passes the result to `device.createBindGroup` as part of the merged
95
95
  * material BG.
@@ -104,13 +104,22 @@ export interface TransmissionBindGroupResources {
104
104
  readonly sampler: Sampler;
105
105
  readonly backdropView?: TextureView | null;
106
106
  }
107
+ /** Renderer-owned sampled resources consumed by the single-layer medium. */
108
+ export interface SurfaceMediumBindGroupResources {
109
+ readonly rawDepthSampler: Sampler;
110
+ readonly rawDepthView: TextureView;
111
+ readonly nearestLayerSampler: Sampler;
112
+ readonly nearestLayerView: TextureView;
113
+ readonly nearestDepthSampler: Sampler;
114
+ readonly nearestDepthView: TextureView;
115
+ }
107
116
  /** Engine-owned texture injection resources derived from material parameters. */
108
117
  export interface TextureInjectionResource {
109
118
  readonly slot: number;
110
119
  readonly sampler: Sampler;
111
120
  readonly view: TextureView;
112
121
  }
113
- export declare function assembleMaterialWithSkylightEntries(materialEntries: readonly BindGroupEntry[], skylight: SkylightBindGroupResources, transmission?: TransmissionBindGroupResources | null | undefined, textureInjections?: readonly TextureInjectionResource[]): BindGroupEntry[];
122
+ export declare function assembleMaterialWithSkylightEntries(materialEntries: readonly BindGroupEntry[], skylight: SkylightBindGroupResources, transmission?: TransmissionBindGroupResources | null | undefined, textureInjections?: readonly TextureInjectionResource[], surfaceMedium?: SurfaceMediumBindGroupResources | undefined): BindGroupEntry[];
114
123
  /**
115
124
  * Allocate the fallback Skylight resource bundle: 1x1 WHITE rgba16float
116
125
  * irradiance/prefilter texture_cube pair + 1x1 rg16float BRDF approximation
@@ -1 +1 @@
1
- {"version":3,"file":"skylight-bind-group.d.ts","sourceRoot":"","sources":["../../src/ibl/skylight-bind-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skylight-bind-group.d.ts","sourceRoot":"","sources":["../../src/ibl/skylight-bind-group.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,21 @@
1
1
  export { materialContribution, renderPipelineContribution, samplerContribution, } from './assets/asset-decoders.js';
2
+ export { attachBarrelDistortionCameraFrame, type BarrelDistortionCameraFrame, type BarrelDistortionMapping, createBarrelDistortionMapping, type DisplayPoint, freezeBarrelDistortionMapping, mapDisplayToScene, mapDisplayUvToSceneUv, mapSceneToDisplay, mapSceneUvToDisplayUv, } from './barrel-distortion.js';
2
3
  export type { CubeCameraFaceView, CubeCameraFaceViewInput, } from './capture/cube-views.js';
3
4
  export { buildCubeCameraFaceViews } from './capture/cube-views.js';
5
+ export { buildCloudDensityCache, type CloudDensityCache, type CloudDensityCacheSnapshot, type CloudDensitySample, evaluateCloudDensity, reconstructCloudDensityCache, sampleCloudDensity, snapshotCloudDensityCache, } from './cloud/density.js';
6
+ export { type CloudLayerCandidate, type ExtractedCloudLayer, extractCloudLayer, selectCloudLayerFrame, } from './cloud/extract.js';
7
+ export { CLOUD_DENSITY_COMPUTE_WGSL, CLOUD_HISTORY_FULLSCREEN_WGSL, CLOUD_LAYER_DENSITY_BINDINGS, CLOUD_LAYER_DENSITY_CACHE, CLOUD_LAYER_DENSITY_OUTPUT, CLOUD_LAYER_DENSITY_PROGRAM, CLOUD_LAYER_FEATURE_IDENTITY, CLOUD_VIEW_FULLSCREEN_WGSL, CLOUD_VIEW_PARAMS_BYTES, type CloudLayerFeatureFrame, type CloudLayerFeatureOptions, createCloudLayerFeature, } from './cloud/feature.js';
8
+ export { type CloudLayerBudgetObservation, type CloudLayerInspection, type CloudLayerInspectionInput, type CloudLayerInspectionStatus, type CloudLayerResourceStage, type CloudPhysicalGpuEvidence, cloudCapabilitiesFromRhi, inspectCloudLayer, } from './cloud/inspection.js';
9
+ export { applyCloudSolarTransmittance, type CloudInteriorLighting, type CloudOpticalPath, type CloudOpticalResult, type CloudOpticsInput, type CloudRay, compositeCloudRadiance, integrateCloudCameraPath, integrateCloudInterior, integrateCloudPath, integrateCloudSolarColumn, intersectCloudLayer, } from './cloud/optics.js';
10
+ export { CLOUD_QUALITY_PROFILES, type CloudLayerAuthoring, type CloudQualityProfile, cloudLayerSourceKey, DEFAULT_CLOUD_LAYER, type ValidatedCloudLayer, validateCloudLayer, } from './cloud/parameters.js';
11
+ export { acceptCloudLayerGeneration, CLOUD_HISTORY_SURFACE_COUNT, CLOUD_RGBA16FLOAT_BYTES_PER_TEXEL, type CloudGpuResourceEvidence, type CloudLayerGeneration, type CloudLayerResourceFacts, type CloudLayerResourceInputs, inspectCloudLayerResources, retainCloudLayerAfterFailure, } from './cloud/resources.js';
12
+ export { type CloudShadowProjection, type CloudShadowSample, createCloudShadowProjection, projectCloudShadowUv, sampleCloudShadow, } from './cloud/shadow.js';
13
+ export { type CloudHistory, type CloudHistoryReprojection, type CloudHistoryReprojectionInput, CloudHistoryStore, type CloudTemporalDecision, type CloudTemporalFrame, type CloudTemporalResetReason, type CloudTemporalSignature, cloudTemporalResetReasons, cloudTemporalSignature, createCloudHistory, reprojectCloudHistory, } from './cloud/temporal.js';
4
14
  export { Atmosphere } from './components/atmosphere.js';
15
+ export { BarrelDistortion, type BarrelDistortionData, validateBarrelDistortionParameters, } from './components/barrel-distortion.js';
5
16
  export type { Antialias, BloomEnabled, CameraData, CameraErrorCode, CameraErrorDetail, CameraExposure, CameraProjection, Tonemap, } from './components/camera.js';
6
17
  export { ANTIALIAS_FXAA, ANTIALIAS_MSAA, ANTIALIAS_NONE, ANTIALIAS_TAA, BLOOM_DISABLED, BLOOM_ENABLED, CAMERA_BLOOM_INTENSITY_MAX, CAMERA_BLOOM_INTENSITY_MIN, CAMERA_BLOOM_SCATTER_MAX, CAMERA_BLOOM_SCATTER_MIN, CAMERA_BLOOM_SOFT_KNEE_MAX, CAMERA_BLOOM_SOFT_KNEE_MIN, CAMERA_BLOOM_THRESHOLD_MAX, CAMERA_BLOOM_THRESHOLD_MIN, CAMERA_EXPOSURE_MODE_AUTO, CAMERA_EXPOSURE_MODE_MANUAL, CAMERA_PROJECTION_ORTHOGRAPHIC, CAMERA_PROJECTION_PERSPECTIVE, CAMERA_TEMPERATURE_MAX, CAMERA_TEMPERATURE_MIN, CAMERA_TINT_MAX, CAMERA_TINT_MIN, Camera, CameraError, cameraExposureFromColumns, cameraProjectionFromF32, orthographic, perspective, TONEMAP_ACES_FILMIC, TONEMAP_AGX, TONEMAP_CINEON, TONEMAP_LINEAR, TONEMAP_NEUTRAL, TONEMAP_NONE, TONEMAP_REINHARD, TONEMAP_REINHARD_EXTENDED, validateCameraBloom, validateCameraColorGrading, validateCameraExposure, } from './components/camera.js';
18
+ export { CloudLayer, type CloudLayerData, type CloudQuality, CloudQualityValue, cloudQualityFromF32, } from './components/cloud-layer.js';
7
19
  export { CUBE_CAMERA_FACE_ORDER, CUBE_CAMERA_UPDATE_CONTINUOUS, CUBE_CAMERA_UPDATE_ON_DEMAND, CUBE_CAMERA_UPDATE_ONCE, CubeCamera, type CubeCameraData, type CubeCameraFace, type CubeCameraUpdateIntent, cubeCameraUpdateIntentFromF32, cubeCameraUpdateIntentToF32, } from './components/cube-camera.js';
8
20
  export { DepthOfField, type DepthOfFieldData, type DepthOfFieldQuality, DepthOfFieldQualityValue, type DepthOfFieldSide, DepthOfFieldSideValue, depthOfFieldQualityFromF32, depthOfFieldSideFromF32, } from './components/depth-of-field.js';
9
21
  export * from './components/directional-light.js';
@@ -35,20 +47,24 @@ export type { DynamicGeometryCandidate, DynamicGeometryCandidateState, DynamicGe
35
47
  export { createDynamicGeometryLifecycle, DynamicGeometryError, } from './dynamic-geometry.js';
36
48
  export { SunCardinalityError } from './environment/frame.js';
37
49
  export type { EnvironmentInspection, EnvironmentInspectionFailure, EnvironmentInspectionGeneration, EnvironmentInspectionStatus, } from './environment/inspection.js';
50
+ export type { CloudLayerCacheInvalidDetail, CloudLayerCapabilityMissingDetail, CloudLayerError, CloudLayerErrorCode, CloudLayerInvalidParameterDetail, CloudLayerOwnerConflictDetail, CloudLayerResourceFailureDetail, } from './errors/cloud.js';
51
+ export { CloudLayerCacheInvalidError, CloudLayerCapabilityMissingError, CloudLayerInvalidParameterError, CloudLayerOwnerConflictError, CloudLayerResourceFailureError, } from './errors/cloud.js';
38
52
  export type { GpuDrivenPreparationErrorCode, GpuDrivenPreparationErrorDetail, GpuDrivenPreparationReason, GpuDrivenRecoveryAction, } from './errors/gpu-driven';
39
53
  export { GpuDrivenPreparationError } from './errors/gpu-driven';
40
- export type { DynamicResolutionError, ReflectionProbeBudgetExceededDetail, RenderError, RenderErrorCode, RenderIntentInvalidDetail, RenderTargetCapabilityMissingDetail, RenderTargetDescriptorInvalidDetail, RenderTargetOperationFailedDetail, RenderTargetStateInvalidDetail, SceneDataUnavailableDetail, SceneDataUnavailableReason, } from './errors/render.js';
41
- export { AtmosphereInvalidParameterError, DynamicResolutionInvalidParameterError, DynamicResolutionRequiresTaaError, DynamicResolutionTimingUnavailableError, EnvironmentGenerationFailedError, EnvironmentSourceConflictError, FogCardinalityError, OwnerStageFailedError, SceneDataUnavailableError, TaaCapsInsufficientError, } from './errors/render.js';
54
+ export type { BarrelDistortionInvalidParameterDetail, DynamicResolutionError, ReflectionProbeBudgetExceededDetail, RenderError, RenderErrorCode, RenderIntentInvalidDetail, RenderTargetCapabilityMissingDetail, RenderTargetDescriptorInvalidDetail, RenderTargetOperationFailedDetail, RenderTargetStateInvalidDetail, SceneDataUnavailableDetail, SceneDataUnavailableReason, } from './errors/render.js';
55
+ export { AtmosphereInvalidParameterError, BarrelDistortionInvalidParameterError, DynamicResolutionInvalidParameterError, DynamicResolutionRequiresTaaError, DynamicResolutionTimingUnavailableError, EnvironmentGenerationFailedError, EnvironmentSourceConflictError, FogCardinalityError, OwnerStageFailedError, RendererOperationError, SceneDataUnavailableError, TaaCapsInsufficientError, } from './errors/render.js';
56
+ export { SINGLE_LAYER_MEDIUM_SURFACE_EXAMPLE, SINGLE_LAYER_MEDIUM_SURFACE_EXAMPLES, } from './examples/single-layer-medium-surface.js';
42
57
  export type { EnvironmentFrame, EnvironmentSource, FogFrame, FramePlan, } from './extract/environment.js';
43
58
  export { resolveVisibility, type VisibilityResolution, type VisibilitySnapshot, } from './extract/visibility.js';
59
+ export { BARREL_DISTORTION_FEATURE_IDENTITY, BARREL_DISTORTION_POST_PROCESS_ID, BARREL_DISTORTION_WGSL, BARREL_DISTORTION_WGSL_COORDINATE, type BarrelDistortionFeatureFrame, createBarrelDistortionRenderFeature, } from './features/barrel-distortion.js';
44
60
  export { DEFAULT_DEPTH_OF_FIELD_PARAMS, DEPTH_OF_FIELD_PARAMS_BYTE_SIZE, type DepthOfFieldCameraInput, type DepthOfFieldErrorCode, type DepthOfFieldErrorDetail, type DepthOfFieldParams, type DepthOfFieldRequestFailure, DepthOfFieldValidationError, depthOfFieldQualityCode, depthOfFieldRequestFailure, depthOfFieldSideCode, depthOfFieldTapCount, packDepthOfFieldParams, resolveDepthOfFieldParams, signedDepthOfFieldCoC, validateDepthOfFieldFrameParams, validateDepthOfFieldParams, } from './features/depth-of-field/depth-of-field-params.js';
45
61
  export type { MotionBlurInvalidParamsDetail, MotionBlurParams, MotionBlurSampleTier, } from './features/motion-blur/motion-blur-params.js';
46
62
  export { DEFAULT_MOTION_BLUR_PARAMS, effectiveMotionBlurSampleCount, isMotionBlurIntervalValid, MotionBlurValidationError, motionBlurExposureScale, motionBlurSampleDelta, motionBlurTemporalDemand, resolveMotionBlurParams, validateMotionBlurParams, } from './features/motion-blur/motion-blur-params.js';
47
63
  export type { RenderFeatureLogicalTarget, RenderFeatureMaterialShaderBindingContract, RenderFeaturePassDeclaration, RenderFeaturePlan, RenderFeaturePlanContext, RenderFeatureResourceDeclaration, } from './features/plan.js';
48
- export type { RenderFeature, RenderFeatureCapabilityKey, RenderFeatureDiagnostics, RenderFeatureErrorDescriptor, RenderFeatureExtractContext, RenderFeatureHiddenEntityReport, RenderFeatureShaderModuleMode, RenderFeatureStatus, RenderFeatureSubmission, RenderFeatureWorldVisibilitySnapshot, } from './features/types.js';
64
+ export type { RenderFeature, RenderFeatureCapabilityKey, RenderFeatureDiagnostics, RenderFeatureErrorDescriptor, RenderFeatureExtractContext, RenderFeatureFrameContext, RenderFeatureHiddenEntityReport, RenderFeaturePlacement, RenderFeatureShaderModuleMode, RenderFeatureStatus, RenderFeatureSubmission, RenderFeatureViewContext, RenderFeatureWorldVisibilitySnapshot, } from './features/types.js';
49
65
  export { beginProbeIblUpdate, createIblKernelCache, createProbeIblOutput, type IblKernelCache, type ProbeIblOutput, type ProbeIblUpdate, publishProbeIblOutput, REFLECTION_PROBE_IBL_STAGES, type ReflectionProbeIblStage, resetIblKernelCaches, } from './ibl/kernel-cache.js';
50
- export type { BloomInspection, DepthOfFieldInspection, DepthOfFieldInspectionStatus, GpuDrivenLane, GpuDrivenLaneReason, GpuDrivenLaneSummary, GpuDrivenPreparationFailureInspection, GpuDrivenProductionInspection, GpuDrivenStructureMetrics, LightInspection, LodOcclusionInspection, MaterialTextureSourceInspection, MotionBlurExecutionPass, MotionBlurExecutionReceipt, MotionBlurInspection, MotionBlurInspectionLane, MotionBlurInspectionStatus, ReflectionFallbackFailureStage, ReflectionFallbackInspection, ReflectionFallbackReadbackReceipt, ReflectionFallbackReceipt, ReflectionFallbackRecoveryAction, ReflectionProbeInspection, ReflectionProbeSelectionInspection, RenderFeatureGraphInspection, RenderFeatureHostInspection, TransmissionInspection, } from './inspection-types.js';
51
- export { type InstanceBackendKind, type InstanceCollectionCreateInput, type InstanceCollectionData, InstanceCollectionError, type InstanceCollectionErrorCode, type InstanceCollectionFailureCode, type InstanceCollectionFailureFacts, type InstanceCollectionId, type InstanceCollectionInfo, type InstanceCollectionInspection, type InstanceCollectionInvalidDetail, type InstanceCollectionResult, type InstanceCollectionSnapshot, InstanceCollectionStore, type InstanceCollectionUpdateInput, type InstanceDirtyRange, type InstanceSubmissionLane, } from './instances';
66
+ export type { BarrelDistortionInspection, BloomInspection, DepthOfFieldInspection, DepthOfFieldInspectionStatus, GpuDrivenLane, GpuDrivenLaneReason, GpuDrivenLaneSummary, GpuDrivenPreparationFailureInspection, GpuDrivenProductionInspection, GpuDrivenStructureMetrics, LightInspection, LodOcclusionInspection, MaterialTextureSourceInspection, MotionBlurExecutionPass, MotionBlurExecutionReceipt, MotionBlurInspection, MotionBlurInspectionLane, MotionBlurInspectionStatus, ReflectionFallbackFailureStage, ReflectionFallbackInspection, ReflectionFallbackReadbackReceipt, ReflectionFallbackReceipt, ReflectionFallbackRecoveryAction, ReflectionProbeInspection, ReflectionProbeSelectionInspection, RenderFeatureGraphInspection, RenderFeatureHostInspection, TransmissionInspection, } from './inspection-types.js';
67
+ export { type InstanceBackendKind, type InstanceCollectionFailureCode, type InstanceCollectionFailureFacts, type InstanceCollectionId, type InstanceCollectionInfo, type InstanceCollectionInspection, type InstanceDirtyRange, type InstanceSubmissionLane, InstanceTransformsError, } from './instances';
52
68
  export { MaterialAuthoringContractError, type MaterialColorInput3, type MaterialColorInput4, type MaterialColorTuple3, type MaterialColorTuple4, Materials, MaterialTransmissionContractError, srgb, } from './materials.js';
53
69
  export { type MeshMaterialBindingObservation, type MeshMaterialBindingPreparationFailure, type MeshMaterialBindingReadiness, type MeshMaterialBindingResidency, type MeshMaterialBindingSamplerObservation, type MeshMaterialBindingSummary, type MeshMaterialBindingTextureObservation, projectMeshMaterialBindingObservation, summarizeMeshMaterialBindings, } from './mesh-material-bindings.js';
54
70
  export type { RenderExtent } from './pipeline/render-extent.js';
@@ -61,6 +77,9 @@ export { renderComponentsPlugin } from './plugin.js';
61
77
  export { inspectPointShadow, type PointShadowInspection, } from './point-shadow-inspection.js';
62
78
  export { admitPointsLines, type LinesStyleInput, type PointsLinesAdmission, type PointsLinesAdmissionError, type PointsLinesAdmissionInput, type PointsLinesAdmissionLimits, type PointsStyleInput, } from './points-lines/admission.js';
63
79
  export type { PointsLinesInspection } from './points-lines/inspection.js';
80
+ export { type PublishedRenderFrameInput, type RenderPublication, RenderPublicationError, type RenderPublicationIdentity, renderPublicationTransfers, } from './publication/contract';
81
+ export { createRenderPublisher, type RenderPublicationCandidate } from './publication/publisher';
82
+ export { RenderPublicationTargetOwner, type RenderTargetAuthoring } from './publication/targets';
64
83
  /**
65
84
  * Public bounded GPU pass facts. Use the single `gpuPassTiming` opt-in,
66
85
  * `draw()` receipt, and `observe(receipt, { include: ['timings'] })` route.
@@ -77,7 +96,7 @@ export { advanceProbeFilter, boxProjectReflectionDirection, commitProbeFilterSte
77
96
  export { buildReflectionProbeTable, type ReflectionProbeTable, type ReflectionProbeTableRow, reflectionProbeTableBytes, } from './reflection/gpu-table.js';
78
97
  export { inspectReflectionFallback, type ReflectionFallbackFailureInput, } from './reflection/inspection.js';
79
98
  export { admitReflectionProbe, DEFAULT_REFLECTION_PROBE_LIMITS, estimateReflectionProbeBytes, type ReflectionProbeAdmission, type ReflectionProbeAdmissionLimits, type ReflectionProbeFact, type ReflectionProbeInput, ReflectionProbeProjection, type ReflectionProbeProjectionSnapshot, type ReflectionProbeSelection, type ReflectionProbeSelectionResult, type SkylightSelection, selectReflectionProbe, validateReflectionProbeInput, } from './reflection/projection.js';
80
- export type { CameraOutputSnapshot, CubeCameraSnapshot, FrameCamera, FrameEnvironment, FrameObservationRequest, FrameReceipt, FrameReceiptObservation, Renderer, RendererEvent, RendererOptions, RendererState, RenderFrameInput, RenderInspection, RenderProfile, RenderResult, RenderWorldLease, } from './render-contract.js';
99
+ export type { CameraOutputSnapshot, CubeCameraSnapshot, FrameCamera, FrameEnvironment, FrameObservationRequest, FramePresentation, FrameReceipt, FrameReceiptObservation, Renderer, RendererEvent, RendererOptions, RendererState, RenderFrameInput, RenderInspection, RenderProfile, RenderResult, RenderWorldLease, } from './render-contract.js';
81
100
  export { RENDER_PHASE_CATALOG } from './render-contract.js';
82
101
  export type { TemporalInspectionInput, TemporalInspectionStatus, } from './renderer-inspect.js';
83
102
  export type { RenderSceneBounds } from './scene/render-scene-types.js';
@@ -92,14 +111,18 @@ export { composeSsrReflection, type SsrCompositionInput, type SsrCompositionInpu
92
111
  export type { SsrConfigField, SsrConfigInvalidError, SsrConfigRange, SsrSpatialUnavailableReason, SsrUnavailableError, } from './ssr/errors.js';
93
112
  export type { SsrSpatialHistoryInspection, SsrSpatialInspection, SsrSpatialInspectionFailure, SsrSpatialInspectionProjection, } from './ssr/inspection.js';
94
113
  export { projectSsrSpatialInspection, serializeSsrSpatialInspection, } from './ssr/inspection.js';
114
+ export { type DynamicInputConsumptionReceipt, type DynamicInputDirtyRange, DynamicInputError, type DynamicInputErrorCode, type DynamicInputErrorDetail, type DynamicInputRange, type DynamicInputResult, type DynamicInputUploadReceipt, type DynamicInputValue, ReadonlyDynamicInputPage, type SurfaceDynamicInputFrame, type SurfaceDynamicInputMemberIdentity, } from './surface/dynamic-input.js';
115
+ export { admitSingleLayerMediumSubmission, type SurfaceGpuCapability, type SurfaceGpuFallbackReason, type SurfaceGpuPassAdmission, type SurfaceGpuSubmissionAdmission, type SurfaceGpuSubmissionError, type SurfaceGpuSubmissionErrorCode, type SurfaceGpuSubmissionInput, } from './surface/gpu-driven.js';
116
+ export type { SurfaceGpuIndirectParameters } from './surface/submission-observation.js';
95
117
  export { getActiveCamera, setActiveCamera } from './systems/active-camera.js';
96
118
  export type { RenderTarget, RenderTargetAdmissionLimits, RenderTargetDepthFormat, RenderTargetDescriptor, RenderTargetFormat, RenderTargetMipLevels, RenderTargetReadbackData, RenderTargetReadbackRequest, RenderTargetReadbackTicket, RenderTargetSampleCount, RenderTargetShape, RenderTargetTextureAspect, RenderTargetTextureSource, RenderTargetTextureSourceOptions, } from './targets/contracts.js';
97
119
  export type { TemporalInspection, TemporalResourceInspection } from './temporal/inspection.js';
98
120
  export { SCENE_DATA_TEMPORAL_V1_DESCRIPTOR, SCENE_DATA_TEMPORAL_V1_SCHEMA, type SceneDataLane, type SceneDataSchemaId, type SceneDataTarget, type SceneDataTemporalV1Descriptor, } from './temporal/scene-data.js';
99
121
  export { createSceneDataCatalog, type SceneDataAvailability, type SceneDataCatalog, type SceneDataCatalogOptions, type SceneDataInspection, } from './temporal/scene-data-catalog.js';
100
122
  export type { TemporalView } from './temporal/view.js';
123
+ export { composeSingleLayerMediumColor, estimateSingleLayerPathLength, integrateSingleLayerMedium, type MediumVector3, resolveSingleLayerMediumBackground, type SingleLayerMediumBackgroundCandidate, type SingleLayerMediumBackgroundInput, type SingleLayerMediumBackgroundReason, type SingleLayerMediumBackgroundResolution, type SingleLayerMediumCoefficients, type SingleLayerMediumOptics, } from './transmission/single-layer-medium.js';
101
124
  export { hasVolumetricFogCapability, type IntegratedVolumeResource, resolveIntegratedVolumeConsumer, resolveSelectedVolumetricLight, resolveVolumetricFogLightPair, type VolumeConsumer, type VolumetricFogLightKind, type VolumetricFogLightPairResolution, type VolumetricFogLightResolution, } from './volume/capability.js';
102
- export { type ValidatedVolumetricFog, type VolumeBounds, type VolumeDensityBinding, VolumetricFog, type VolumetricFogAuthoring, type VolumetricFogLightSelection, validateVolumetricFog, } from './volume/component.js';
125
+ export { MAX_VOLUMETRIC_FOG_OWNERS, type ValidatedVolumetricFog, type VolumeBounds, type VolumeDensityBinding, VolumetricFog, type VolumetricFogAuthoring, type VolumetricFogLightSelection, VolumetricFogSamplingValue, validateVolumetricFog, } from './volume/component.js';
103
126
  export { extractVolumetricFog, type VolumetricFogExtract } from './volume/extract.js';
104
127
  export { inspectVolumetricFog, type VolumetricFogInspection, type VolumetricFogInspectionInput, type VolumetricFogInspectionStatus, type VolumetricFogResourceStage, } from './volume/inspection.js';
105
128
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}