@forgeax/engine-render 0.1.32 → 0.1.34

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 +1374 -142
  2. package/dist/assembly/analytic-fog-registration.d.ts +3 -0
  3. package/dist/assembly/analytic-fog-registration.d.ts.map +1 -0
  4. package/dist/assembly/backend-contract.d.ts +2 -0
  5. package/dist/assembly/backend-contract.d.ts.map +1 -1
  6. package/dist/assembly/barrel-distortion-inspection.d.ts +3 -0
  7. package/dist/assembly/barrel-distortion-inspection.d.ts.map +1 -0
  8. package/dist/assembly/canvas-draw-guard.d.ts +3 -0
  9. package/dist/assembly/canvas-draw-guard.d.ts.map +1 -0
  10. package/dist/assembly/cloud-shadow-entry.d.ts +4 -0
  11. package/dist/assembly/cloud-shadow-entry.d.ts.map +1 -0
  12. package/dist/assembly/dynamic-geometry-host.d.ts +4 -1
  13. package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
  14. package/dist/assembly/dynamic-geometry-runtime.d.ts +1 -1
  15. package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -1
  16. package/dist/assembly/factory.d.ts +1 -1
  17. package/dist/assembly/factory.d.ts.map +1 -1
  18. package/dist/assembly/fxaa-registration.d.ts +4 -0
  19. package/dist/assembly/fxaa-registration.d.ts.map +1 -0
  20. package/dist/assembly/host-contract.d.ts +3 -3
  21. package/dist/assembly/host-contract.d.ts.map +1 -1
  22. package/dist/assembly/lod-observation.d.ts +4 -0
  23. package/dist/assembly/lod-observation.d.ts.map +1 -0
  24. package/dist/assembly/material/assembly.d.ts.map +1 -1
  25. package/dist/assembly/material/pipeline-helpers.d.ts +5 -0
  26. package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -1
  27. package/dist/assembly/material-shader-policy.d.ts +16 -2
  28. package/dist/assembly/material-shader-policy.d.ts.map +1 -1
  29. package/dist/assembly/material-shader-prewarm.d.ts.map +1 -1
  30. package/dist/assembly/motion-blur-registration.d.ts +3 -0
  31. package/dist/assembly/motion-blur-registration.d.ts.map +1 -0
  32. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
  33. package/dist/assembly/recovery/renderer-recover.d.ts +2 -0
  34. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
  35. package/dist/assembly/render-feature-post-processes.d.ts +6 -0
  36. package/dist/assembly/render-feature-post-processes.d.ts.map +1 -0
  37. package/dist/assembly/renderer-facade.d.ts.map +1 -1
  38. package/dist/assembly/renderer-feature-inspection.d.ts +1 -1
  39. package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -1
  40. package/dist/assembly/renderer-frame-transaction.d.ts +12 -0
  41. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  42. package/dist/assembly/renderer-inspection.d.ts +11 -0
  43. package/dist/assembly/renderer-inspection.d.ts.map +1 -1
  44. package/dist/assembly/temporal-post-process-prewarm.d.ts +13 -0
  45. package/dist/assembly/temporal-post-process-prewarm.d.ts.map +1 -0
  46. package/dist/assembly/webgpu-pbr-ready.d.ts +1 -0
  47. package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -1
  48. package/dist/assembly/webgpu-ready-contract.d.ts +4 -3
  49. package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -1
  50. package/dist/assembly/webgpu-ready-per-pass.d.ts +39 -0
  51. package/dist/assembly/webgpu-ready-per-pass.d.ts.map +1 -0
  52. package/dist/assembly/webgpu-ready.d.ts +2 -2
  53. package/dist/assembly/webgpu-ready.d.ts.map +1 -1
  54. package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -1
  55. package/dist/assembly/webgpu-renderer-observation-owner.d.ts +35 -0
  56. package/dist/assembly/webgpu-renderer-observation-owner.d.ts.map +1 -0
  57. package/dist/assembly/webgpu-renderer.d.ts +1 -1
  58. package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
  59. package/dist/authoring.mjs +1 -1
  60. package/dist/barrel-distortion.d.ts +47 -0
  61. package/dist/barrel-distortion.d.ts.map +1 -0
  62. package/dist/bloom-admission.d.ts +13 -0
  63. package/dist/bloom-admission.d.ts.map +1 -0
  64. package/dist/{chunk-PA5DRJNI.mjs → chunk-ELJFJ2BU.mjs} +2 -2
  65. package/dist/chunk-ELJFJ2BU.mjs.map +1 -0
  66. package/dist/{chunk-JCIRYQ4V.mjs → chunk-HEB564WF.mjs} +10 -4
  67. package/dist/chunk-HEB564WF.mjs.map +1 -0
  68. package/dist/{chunk-JRIPCMYC.mjs → chunk-MKDIT2EM.mjs} +1584 -375
  69. package/dist/chunk-MKDIT2EM.mjs.map +1 -0
  70. package/dist/{chunk-S665NJNF.mjs → chunk-OCDLEI6I.mjs} +3 -3
  71. package/dist/{chunk-S665NJNF.mjs.map → chunk-OCDLEI6I.mjs.map} +1 -1
  72. package/dist/chunk-ODZWR6JQ.mjs +4927 -0
  73. package/dist/chunk-ODZWR6JQ.mjs.map +1 -0
  74. package/dist/{chunk-DRR7D3KX.mjs → chunk-SHFUFJ5N.mjs} +192 -18
  75. package/dist/chunk-SHFUFJ5N.mjs.map +1 -0
  76. package/dist/{chunk-4NNZQCL3.mjs → chunk-UI5SFODX.mjs} +223 -277
  77. package/dist/chunk-UI5SFODX.mjs.map +1 -0
  78. package/dist/{chunk-GWCEMDVR.mjs → chunk-UINHLCZA.mjs} +787 -80
  79. package/dist/chunk-UINHLCZA.mjs.map +1 -0
  80. package/dist/{chunk-6TFBXLRJ.mjs → chunk-WEX45HKH.mjs} +222 -337
  81. package/dist/chunk-WEX45HKH.mjs.map +1 -0
  82. package/dist/cloud/density.d.ts +55 -0
  83. package/dist/cloud/density.d.ts.map +1 -0
  84. package/dist/cloud/extract.d.ts +25 -0
  85. package/dist/cloud/extract.d.ts.map +1 -0
  86. package/dist/cloud/feature.d.ts +57 -0
  87. package/dist/cloud/feature.d.ts.map +1 -0
  88. package/dist/cloud/frame-context.d.ts +8 -0
  89. package/dist/cloud/frame-context.d.ts.map +1 -0
  90. package/dist/cloud/inspection.d.ts +59 -0
  91. package/dist/cloud/inspection.d.ts.map +1 -0
  92. package/dist/cloud/optics.d.ts +56 -0
  93. package/dist/cloud/optics.d.ts.map +1 -0
  94. package/dist/cloud/parameters.d.ts +73 -0
  95. package/dist/cloud/parameters.d.ts.map +1 -0
  96. package/dist/cloud/resources.d.ts +60 -0
  97. package/dist/cloud/resources.d.ts.map +1 -0
  98. package/dist/cloud/shadow.d.ts +42 -0
  99. package/dist/cloud/shadow.d.ts.map +1 -0
  100. package/dist/cloud/temporal.d.ts +74 -0
  101. package/dist/cloud/temporal.d.ts.map +1 -0
  102. package/dist/components/atmosphere.d.ts +2 -0
  103. package/dist/components/atmosphere.d.ts.map +1 -1
  104. package/dist/components/barrel-distortion.d.ts +13 -0
  105. package/dist/components/barrel-distortion.d.ts.map +1 -0
  106. package/dist/components/camera.d.ts +20 -4
  107. package/dist/components/camera.d.ts.map +1 -1
  108. package/dist/components/cloud-layer.d.ts +29 -0
  109. package/dist/components/cloud-layer.d.ts.map +1 -0
  110. package/dist/components/index.d.ts +2 -0
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/components/instances.d.ts +20 -6
  113. package/dist/components/instances.d.ts.map +1 -1
  114. package/dist/components/mesh-filter.d.ts +6 -5
  115. package/dist/components/mesh-filter.d.ts.map +1 -1
  116. package/dist/components/motion-blur.d.ts +1 -0
  117. package/dist/components/motion-blur.d.ts.map +1 -1
  118. package/dist/construct-renderer.d.ts +1 -1
  119. package/dist/construct-renderer.d.ts.map +1 -1
  120. package/dist/construct-renderer.mjs +9751 -3528
  121. package/dist/construct-renderer.mjs.map +1 -1
  122. package/dist/device/gpu-residency.d.ts +6 -0
  123. package/dist/device/gpu-residency.d.ts.map +1 -1
  124. package/dist/dynamic-geometry.d.ts +5 -1
  125. package/dist/dynamic-geometry.d.ts.map +1 -1
  126. package/dist/environment/analytic-fog.d.ts +6 -0
  127. package/dist/environment/analytic-fog.d.ts.map +1 -0
  128. package/dist/errors/cloud.d.ts +59 -0
  129. package/dist/errors/cloud.d.ts.map +1 -0
  130. package/dist/errors/render.d.ts +23 -5
  131. package/dist/errors/render.d.ts.map +1 -1
  132. package/dist/examples/single-layer-medium-surface.d.ts +47 -0
  133. package/dist/examples/single-layer-medium-surface.d.ts.map +1 -0
  134. package/dist/extract/camera.d.ts.map +1 -1
  135. package/dist/extract/contracts.d.ts +12 -1
  136. package/dist/extract/contracts.d.ts.map +1 -1
  137. package/dist/extract/environment.d.ts +2 -0
  138. package/dist/extract/environment.d.ts.map +1 -1
  139. package/dist/features/barrel-distortion.d.ts +29 -0
  140. package/dist/features/barrel-distortion.d.ts.map +1 -0
  141. package/dist/features/error-reporting.d.ts +17 -0
  142. package/dist/features/error-reporting.d.ts.map +1 -0
  143. package/dist/features/host.d.ts +15 -0
  144. package/dist/features/host.d.ts.map +1 -1
  145. package/dist/features/motion-blur/motion-blur-feature.d.ts +20 -2
  146. package/dist/features/motion-blur/motion-blur-feature.d.ts.map +1 -1
  147. package/dist/features/motion-blur/motion-blur-params.d.ts +21 -0
  148. package/dist/features/motion-blur/motion-blur-params.d.ts.map +1 -1
  149. package/dist/features/motion-blur/motion-blur-runtime.d.ts +54 -0
  150. package/dist/features/motion-blur/motion-blur-runtime.d.ts.map +1 -0
  151. package/dist/features/plan.d.ts +15 -4
  152. package/dist/features/plan.d.ts.map +1 -1
  153. package/dist/features/prepared-gpu-work.d.ts +9 -5
  154. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  155. package/dist/features/render-graph-compute.d.ts.map +1 -1
  156. package/dist/features/render-graph-contribution.d.ts +5 -0
  157. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  158. package/dist/features/render-graph-raster.d.ts +1 -0
  159. package/dist/features/render-graph-raster.d.ts.map +1 -1
  160. package/dist/features/targets.d.ts +2 -0
  161. package/dist/features/targets.d.ts.map +1 -1
  162. package/dist/features/types.d.ts +44 -0
  163. package/dist/features/types.d.ts.map +1 -1
  164. package/dist/fullscreen-post-process-pass.d.ts +15 -7
  165. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  166. package/dist/gpu-dirty-ranges.d.ts +11 -0
  167. package/dist/gpu-dirty-ranges.d.ts.map +1 -0
  168. package/dist/gpu-driven/batch-topology.d.ts +17 -0
  169. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  170. package/dist/gpu-driven/material-artifacts.d.ts +6 -0
  171. package/dist/gpu-driven/material-artifacts.d.ts.map +1 -1
  172. package/dist/gpu-driven/prepared-draw.d.ts +7 -0
  173. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
  174. package/dist/gpu-driven/production-raster-material.d.ts +178 -0
  175. package/dist/gpu-driven/production-raster-material.d.ts.map +1 -0
  176. package/dist/gpu-driven/production-raster.d.ts +50 -4
  177. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  178. package/dist/gpu-driven/resource-allocation.d.ts +31 -0
  179. package/dist/gpu-driven/resource-allocation.d.ts.map +1 -0
  180. package/dist/gpu-driven/shadow-ownership.d.ts +14 -0
  181. package/dist/gpu-driven/shadow-ownership.d.ts.map +1 -0
  182. package/dist/gpu-driven/view-gpu.d.ts +35 -2
  183. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  184. package/dist/gpu-scene.d.ts +11 -1
  185. package/dist/gpu-scene.d.ts.map +1 -1
  186. package/dist/hdrp-buffers.d.ts +2 -2
  187. package/dist/hdrp-buffers.d.ts.map +1 -1
  188. package/dist/ibl/skylight-bind-group.d.ts +10 -1
  189. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  190. package/dist/index.d.ts +31 -8
  191. package/dist/index.d.ts.map +1 -1
  192. package/dist/index.mjs +258 -8
  193. package/dist/index.mjs.map +1 -1
  194. package/dist/inspection-types.d.ts +178 -3
  195. package/dist/inspection-types.d.ts.map +1 -1
  196. package/dist/instance-buffer-cache.d.ts +4 -4
  197. package/dist/instance-buffer-cache.d.ts.map +1 -1
  198. package/dist/instances.d.ts +49 -94
  199. package/dist/instances.d.ts.map +1 -1
  200. package/dist/internal.mjs +7 -7
  201. package/dist/pbr-pipeline.d.ts +19 -1
  202. package/dist/pbr-pipeline.d.ts.map +1 -1
  203. package/dist/pipeline/single-layer-medium-passes.d.ts +73 -0
  204. package/dist/pipeline/single-layer-medium-passes.d.ts.map +1 -0
  205. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  206. package/dist/pipeline/standard-output/graph.d.ts.map +1 -1
  207. package/dist/pipeline/standard-output/types.d.ts +4 -2
  208. package/dist/pipeline/standard-output/types.d.ts.map +1 -1
  209. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  210. package/dist/pipeline/standard-post.d.ts +28 -19
  211. package/dist/pipeline/standard-post.d.ts.map +1 -1
  212. package/dist/pipeline-builder.d.ts +1 -1
  213. package/dist/pipeline-builder.d.ts.map +1 -1
  214. package/dist/pipeline-spec.d.ts +2 -2
  215. package/dist/plugin.d.ts.map +1 -1
  216. package/dist/prepare/prepared-graphics-resolver.d.ts +2 -0
  217. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  218. package/dist/record/barrel-distortion-frame.d.ts +15 -0
  219. package/dist/record/barrel-distortion-frame.d.ts.map +1 -0
  220. package/dist/record/dynamic-geometry-consumption.d.ts +10 -2
  221. package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -1
  222. package/dist/record/fold-buckets.d.ts +95 -0
  223. package/dist/record/fold-buckets.d.ts.map +1 -0
  224. package/dist/record/fold-instance-buffer.d.ts +6 -0
  225. package/dist/record/fold-instance-buffer.d.ts.map +1 -0
  226. package/dist/record/frame-lighting.d.ts +1 -0
  227. package/dist/record/frame-lighting.d.ts.map +1 -1
  228. package/dist/record/frame-snapshot.d.ts +40 -3
  229. package/dist/record/frame-snapshot.d.ts.map +1 -1
  230. package/dist/record/frame-targets.d.ts.map +1 -1
  231. package/dist/record/frame.d.ts +14 -62
  232. package/dist/record/frame.d.ts.map +1 -1
  233. package/dist/record/gpu-draw-receipts.d.ts +11 -0
  234. package/dist/record/gpu-draw-receipts.d.ts.map +1 -0
  235. package/dist/record/gpu-timing.d.ts +8 -0
  236. package/dist/record/gpu-timing.d.ts.map +1 -1
  237. package/dist/record/main-pass-geometry.d.ts +21 -5
  238. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  239. package/dist/record/main-pass-material.d.ts +7 -1
  240. package/dist/record/main-pass-material.d.ts.map +1 -1
  241. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  242. package/dist/record/main-pass.d.ts +13 -2
  243. package/dist/record/main-pass.d.ts.map +1 -1
  244. package/dist/record/mesh-ssbo.d.ts +6 -5
  245. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  246. package/dist/record/motion-blur-receipt.d.ts +11 -0
  247. package/dist/record/motion-blur-receipt.d.ts.map +1 -0
  248. package/dist/record/probe-blend-buffer.d.ts +16 -0
  249. package/dist/record/probe-blend-buffer.d.ts.map +1 -0
  250. package/dist/record/recovery-pipeline.d.ts.map +1 -1
  251. package/dist/record/render-context.d.ts +34 -31
  252. package/dist/record/render-context.d.ts.map +1 -1
  253. package/dist/record/shadow-pass.d.ts +2 -0
  254. package/dist/record/shadow-pass.d.ts.map +1 -1
  255. package/dist/record/skybox-post-pass.d.ts +6 -4
  256. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  257. package/dist/record/typed-frame-graph.d.ts +22 -2
  258. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  259. package/dist/record/view-ubo.d.ts +11 -3
  260. package/dist/record/view-ubo.d.ts.map +1 -1
  261. package/dist/record/volume-params.d.ts +9 -0
  262. package/dist/record/volume-params.d.ts.map +1 -0
  263. package/dist/recovery/render-system-candidate.d.ts +10 -0
  264. package/dist/recovery/render-system-candidate.d.ts.map +1 -1
  265. package/dist/reflection/record-owner.d.ts.map +1 -1
  266. package/dist/render-contract.d.ts +66 -8
  267. package/dist/render-contract.d.ts.map +1 -1
  268. package/dist/render-graph-primitives.d.ts.map +1 -1
  269. package/dist/render-pipeline.d.ts +106 -3
  270. package/dist/render-pipeline.d.ts.map +1 -1
  271. package/dist/render-system-extract-tail.d.ts +3 -2
  272. package/dist/render-system-extract-tail.d.ts.map +1 -1
  273. package/dist/render-system-extract.d.ts +24 -10
  274. package/dist/render-system-extract.d.ts.map +1 -1
  275. package/dist/render-system-presentation.d.ts +23 -0
  276. package/dist/render-system-presentation.d.ts.map +1 -0
  277. package/dist/render-system-producer-roots.d.ts +10 -0
  278. package/dist/render-system-producer-roots.d.ts.map +1 -0
  279. package/dist/render-system-residency.d.ts +12 -0
  280. package/dist/render-system-residency.d.ts.map +1 -0
  281. package/dist/render-system.d.ts +26 -15
  282. package/dist/render-system.d.ts.map +1 -1
  283. package/dist/scene/probe-blend.d.ts +27 -0
  284. package/dist/scene/probe-blend.d.ts.map +1 -1
  285. package/dist/scene/render-scene.d.ts +14 -5
  286. package/dist/scene/render-scene.d.ts.map +1 -1
  287. package/dist/ssao-buffers.d.ts +9 -0
  288. package/dist/ssao-buffers.d.ts.map +1 -1
  289. package/dist/surface/dynamic-input.d.ts +133 -0
  290. package/dist/surface/dynamic-input.d.ts.map +1 -0
  291. package/dist/surface/gpu-driven.d.ts +41 -0
  292. package/dist/surface/gpu-driven.d.ts.map +1 -0
  293. package/dist/surface/submission-observation.d.ts +136 -0
  294. package/dist/surface/submission-observation.d.ts.map +1 -0
  295. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  296. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  297. package/dist/temporal/frame.d.ts +7 -0
  298. package/dist/temporal/frame.d.ts.map +1 -1
  299. package/dist/temporal/gpu.d.ts +13 -1
  300. package/dist/temporal/gpu.d.ts.map +1 -1
  301. package/dist/temporal/index.mjs +5 -5
  302. package/dist/temporal/inspection.d.ts.map +1 -1
  303. package/dist/temporal/standard-scene-data.d.ts.map +1 -1
  304. package/dist/temporal/target-coverage-attachment.d.ts.map +1 -1
  305. package/dist/temporal/view.d.ts +6 -1
  306. package/dist/temporal/view.d.ts.map +1 -1
  307. package/dist/transmission/single-layer-medium.d.ts +89 -0
  308. package/dist/transmission/single-layer-medium.d.ts.map +1 -0
  309. package/dist/typed-render-graph-primitives.d.ts +24 -9
  310. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  311. package/dist/volume/component.d.ts +9 -5
  312. package/dist/volume/component.d.ts.map +1 -1
  313. package/dist/volume/extract.d.ts +1 -1
  314. package/dist/volume/extract.d.ts.map +1 -1
  315. package/dist/volume/inspection.d.ts +2 -0
  316. package/dist/volume/inspection.d.ts.map +1 -1
  317. package/dist/volume/passes.d.ts +4 -1
  318. package/dist/volume/passes.d.ts.map +1 -1
  319. package/dist/volume/resources.d.ts.map +1 -1
  320. package/dist/volume/temporal.d.ts +3 -1
  321. package/dist/volume/temporal.d.ts.map +1 -1
  322. package/package.json +22 -21
  323. package/src/__tests__/analytic-fog-graph.unit.test.ts +199 -0
  324. package/src/__tests__/analytic-fog-optics.unit.test.ts +38 -0
  325. package/src/__tests__/atmosphere-daylight.dawn.test.ts +72 -0
  326. package/src/__tests__/barrel-distortion-lkg.integration.test.ts +353 -0
  327. package/src/__tests__/barrel-distortion.dawn.test.ts +41 -0
  328. package/src/__tests__/barrel-distortion.unit.test.ts +364 -0
  329. package/src/__tests__/bloom-exact-zero.unit.test.ts +112 -18
  330. package/src/__tests__/bloom-lifecycle.integration.test.ts +17 -4
  331. package/src/__tests__/construct-renderer-identity.unit.test.ts +49 -0
  332. package/src/__tests__/detached-recovery-graph.unit.test.ts +277 -0
  333. package/src/__tests__/device-loss-fanout.unit.test.ts +36 -1
  334. package/src/__tests__/docs-gate-green.unit.test.ts +112 -1
  335. package/src/__tests__/dynamic-resolution-plugin.integration.test.ts +20 -0
  336. package/src/__tests__/environment-fog-lanes.integration.test.ts +14 -0
  337. package/src/__tests__/environment-selection.unit.test.ts +12 -0
  338. package/src/__tests__/factory-contract.integration.test.ts +626 -113
  339. package/src/__tests__/feature-depth-input.dawn.test.ts +129 -2
  340. package/src/__tests__/frame-camera-selection.unit.test.ts +39 -1
  341. package/src/__tests__/frame-plan-contract.unit.test.ts +2 -0
  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-indirect-raster-evidence.ts +2 -1
  347. package/src/__tests__/gpu-driven-material-artifacts.unit.test.ts +143 -0
  348. package/src/__tests__/gpu-driven-pbr.dawn.test.ts +2 -2
  349. package/src/__tests__/gpu-driven-production.integration.test.ts +482 -3
  350. package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +7 -6
  351. package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +1 -1
  352. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +103 -4
  353. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +18 -2
  354. package/src/__tests__/gpu-driven-view.browser.test.ts +5 -8
  355. package/src/__tests__/gpu-driven-view.dawn.test.ts +6 -2
  356. package/src/__tests__/gpu-driven-view.unit.test.ts +1 -1
  357. package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +1 -0
  358. package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -4
  359. package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +1 -0
  360. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +12 -0
  361. package/src/__tests__/gpu-scene.unit.test.ts +210 -9
  362. package/src/__tests__/instance-allocation-failure.unit.test.ts +57 -0
  363. package/src/__tests__/instances-culling.integration.test.ts +10 -36
  364. package/src/__tests__/instances-store.unit.test.ts +105 -238
  365. package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
  366. package/src/__tests__/main-pass-material-medium-selection.unit.test.ts +146 -0
  367. package/src/__tests__/material-shader-prewarm.unit.test.ts +59 -0
  368. package/src/__tests__/material-snapshot-mutation.integration.test.ts +39 -1
  369. package/src/__tests__/mesh-submission-lifetime.unit.test.ts +31 -0
  370. package/src/__tests__/morph-culling-reentry.dawn.test.ts +5 -5
  371. package/src/__tests__/morph-visual-evidence.integration.test.ts +8 -7
  372. package/src/__tests__/motion-blur-compute.dawn.test.ts +589 -0
  373. package/src/__tests__/motion-blur.pixel.integration.test.ts +2 -2
  374. package/src/__tests__/nineslice-handle-surface.unit.test.ts +4 -4
  375. package/src/__tests__/pbr-view-layout.unit.test.ts +9 -0
  376. package/src/__tests__/physical-clearcoat.integration.test.ts +58 -0
  377. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +21 -0
  378. package/src/__tests__/prepared-graphics-capability.unit.test.ts +66 -2
  379. package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +86 -0
  380. package/src/__tests__/probe-bindings.unit.test.ts +582 -1
  381. package/src/__tests__/probe-scene-dirty.integration.test.ts +28 -1
  382. package/src/__tests__/public-surface.test-d.ts +8 -0
  383. package/src/__tests__/receipt-observation-retirement.unit.test.ts +65 -0
  384. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +69 -0
  385. package/src/__tests__/render-error-code-owner.test-d.ts +9 -0
  386. package/src/__tests__/render-feature-diagnostics.unit.test.ts +15 -2
  387. package/src/__tests__/render-feature-error-reporting.unit.test.ts +44 -0
  388. package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +10 -1
  389. package/src/__tests__/render-feature-retry.unit.test.ts +12 -1
  390. package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +23 -0
  391. package/src/__tests__/render-scene-mixed-updates.integration.test.ts +145 -19
  392. package/src/__tests__/render-scene-projection.unit.test.ts +36 -11
  393. package/src/__tests__/render-scene-temporal-retry.unit.test.ts +37 -6
  394. package/src/__tests__/render-target-probe-soak.perf.test.ts +2 -2
  395. package/src/__tests__/render-temporal-environment-consumer.browser.test.ts +3 -3
  396. package/src/__tests__/render-temporal-environment-consumer.dawn.test.ts +5 -2
  397. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +41 -7
  398. package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +16 -0
  399. package/src/__tests__/renderer-frame-transaction.integration.test.ts +33 -11
  400. package/src/__tests__/resource-allocation.unit.test.ts +123 -0
  401. package/src/__tests__/shader-manifest-fixture.ts +4 -4
  402. package/src/__tests__/single-layer-medium-passes.unit.test.ts +275 -0
  403. package/src/__tests__/skin-motion-regression.unit.test.ts +70 -1
  404. package/src/__tests__/skin-palette-recycling.dawn.test.ts +97 -0
  405. package/src/__tests__/skinned-shadow-caster.test.ts +17 -0
  406. package/src/__tests__/ssr-carrier-public-contract.unit.test.ts +21 -0
  407. package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +4 -4
  408. package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +2 -2
  409. package/src/__tests__/ssr-gpu-dispatch.ts +1 -1
  410. package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +6 -2
  411. package/src/__tests__/standard-lighting-write.unit.test.ts +2 -1
  412. package/src/__tests__/standard-output-chain-contract.unit.test.ts +28 -0
  413. package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +46 -1
  414. package/src/__tests__/standard-pipeline.dawn.test.ts +1 -1
  415. package/src/__tests__/standard-pipeline.integration.test.ts +200 -9
  416. package/src/__tests__/surface-dynamic-buffer-lifecycle.unit.test.ts +506 -0
  417. package/src/__tests__/surface-submission-observation.unit.test.ts +812 -0
  418. package/src/__tests__/temporal-history-lifecycle.unit.test.ts +32 -0
  419. package/src/__tests__/temporal-performance.integration.test.ts +3 -3
  420. package/src/__tests__/temporal-reset-matrix.unit.test.ts +10 -0
  421. package/src/__tests__/temporal-view.unit.test.ts +2 -1
  422. package/src/__tests__/typed-pipeline-topology.unit.test.ts +20 -4
  423. package/src/__tests__/visibility-instances.integration.test.ts +7 -19
  424. package/src/__tests__/visibility-producer-matrix.integration.test.ts +9 -20
  425. package/src/__tests__/volume-optics-oracle.unit.test.ts +7 -3
  426. package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +189 -15
  427. package/src/__tests__/volumetric-fog-errors.unit.test.ts +4 -3
  428. package/src/__tests__/volumetric-fog-multiple.unit.test.ts +55 -0
  429. package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +1 -1
  430. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +558 -68
  431. package/src/__tests__/volumetric-fog-temporal.unit.test.ts +27 -0
  432. package/src/__tests__/volumetric-fog-topology.unit.test.ts +23 -5
  433. package/src/assembly/analytic-fog-registration.ts +14 -0
  434. package/src/assembly/backend-contract.ts +30 -0
  435. package/src/assembly/barrel-distortion-inspection.ts +22 -0
  436. package/src/assembly/canvas-draw-guard.ts +11 -0
  437. package/src/assembly/cloud-shadow-entry.ts +22 -0
  438. package/src/assembly/dynamic-geometry-host.ts +65 -37
  439. package/src/assembly/dynamic-geometry-runtime.ts +7 -1
  440. package/src/assembly/factory.ts +2 -30
  441. package/src/assembly/fxaa-registration.ts +17 -0
  442. package/src/assembly/host-contract.ts +3 -3
  443. package/src/assembly/lod-observation.ts +12 -0
  444. package/src/assembly/material/assembly.ts +25 -13
  445. package/src/assembly/material/pipeline-helpers.ts +53 -12
  446. package/src/assembly/material-shader-policy.ts +55 -0
  447. package/src/assembly/material-shader-prewarm.ts +21 -10
  448. package/src/assembly/motion-blur-registration.ts +17 -0
  449. package/src/assembly/recovery/device-loss-fanout.ts +13 -0
  450. package/src/assembly/recovery/renderer-recover.ts +41 -18
  451. package/src/assembly/render-feature-post-processes.ts +54 -0
  452. package/src/assembly/renderer-facade.ts +6 -1
  453. package/src/assembly/renderer-feature-inspection.ts +8 -2
  454. package/src/assembly/renderer-frame-transaction.ts +23 -0
  455. package/src/assembly/renderer-inspection.ts +28 -0
  456. package/src/assembly/skin-palette-owner.ts +1 -1
  457. package/src/assembly/temporal-post-process-prewarm.ts +40 -0
  458. package/src/assembly/webgpu-pbr-ready.ts +9 -1
  459. package/src/assembly/webgpu-ready-contract.ts +8 -3
  460. package/src/assembly/webgpu-ready-per-pass.ts +104 -0
  461. package/src/assembly/webgpu-ready.ts +296 -306
  462. package/src/assembly/webgpu-renderer-bootstrap.ts +0 -12
  463. package/src/assembly/webgpu-renderer-observation-owner.ts +222 -0
  464. package/src/assembly/webgpu-renderer.ts +228 -281
  465. package/src/assembly/webgpu-vertex-layouts.ts +1 -1
  466. package/src/barrel-distortion.ts +247 -0
  467. package/src/bloom-admission.ts +21 -0
  468. package/src/cloud/__tests__/cloud-density-parity.dawn.test.ts +173 -0
  469. package/src/cloud/__tests__/cloud-layer-framebuffer-y.dawn.test.ts +265 -0
  470. package/src/cloud/__tests__/cloud-layer.browser.test.ts +432 -0
  471. package/src/cloud/__tests__/cloud-layer.unit.test.ts +634 -0
  472. package/src/cloud/density.ts +600 -0
  473. package/src/cloud/extract.ts +110 -0
  474. package/src/cloud/feature.ts +1810 -0
  475. package/src/cloud/frame-context.ts +42 -0
  476. package/src/cloud/inspection.ts +130 -0
  477. package/src/cloud/optics.ts +285 -0
  478. package/src/cloud/parameters.ts +255 -0
  479. package/src/cloud/resources.ts +122 -0
  480. package/src/cloud/shadow.ts +167 -0
  481. package/src/cloud/temporal.ts +226 -0
  482. package/src/components/__tests__/motion-blur.unit.test.ts +1 -0
  483. package/src/components/atmosphere.ts +4 -0
  484. package/src/components/barrel-distortion.ts +46 -0
  485. package/src/components/camera.ts +66 -10
  486. package/src/components/cloud-layer.ts +47 -0
  487. package/src/components/index.ts +2 -0
  488. package/src/components/instances.ts +18 -45
  489. package/src/components/mesh-filter.ts +11 -9
  490. package/src/components/motion-blur.ts +1 -0
  491. package/src/components/sprite-instances.ts +1 -1
  492. package/src/construct-renderer.ts +1 -1
  493. package/src/device/gpu-residency.ts +56 -12
  494. package/src/dynamic-geometry.ts +12 -1
  495. package/src/environment/analytic-fog.ts +44 -0
  496. package/src/environment/background.ts +2 -2
  497. package/src/errors/cloud.ts +103 -0
  498. package/src/errors/render.ts +58 -8
  499. package/src/examples/single-layer-medium-surface.ts +59 -0
  500. package/src/extract/camera.ts +35 -8
  501. package/src/extract/contracts.ts +12 -0
  502. package/src/extract/environment.ts +4 -0
  503. package/src/features/barrel-distortion.ts +172 -0
  504. package/src/features/error-reporting.ts +98 -0
  505. package/src/features/host.ts +138 -24
  506. package/src/features/motion-blur/__tests__/motion-blur-feature.unit.test.ts +111 -1
  507. package/src/features/motion-blur/__tests__/motion-blur-params.unit.test.ts +58 -3
  508. package/src/features/motion-blur/motion-blur-feature.ts +1519 -15
  509. package/src/features/motion-blur/motion-blur-params.ts +70 -2
  510. package/src/features/motion-blur/motion-blur-runtime.ts +176 -0
  511. package/src/features/plan.ts +33 -8
  512. package/src/features/prepared-gpu-work.ts +86 -35
  513. package/src/features/render-graph-compute.ts +13 -5
  514. package/src/features/render-graph-contribution.ts +11 -0
  515. package/src/features/render-graph-raster.ts +45 -3
  516. package/src/features/targets.ts +66 -0
  517. package/src/features/types.ts +47 -0
  518. package/src/fullscreen-post-process-pass.ts +41 -9
  519. package/src/gpu-dirty-ranges.ts +48 -0
  520. package/src/gpu-driven/batch-topology.ts +53 -0
  521. package/src/gpu-driven/material-artifacts.ts +35 -32
  522. package/src/gpu-driven/prepared-draw.ts +27 -14
  523. package/src/gpu-driven/production-raster-material.ts +1894 -0
  524. package/src/gpu-driven/production-raster.ts +904 -787
  525. package/src/gpu-driven/resource-allocation.ts +142 -0
  526. package/src/gpu-driven/shadow-ownership.ts +71 -0
  527. package/src/gpu-driven/view-gpu.ts +181 -10
  528. package/src/gpu-scene.ts +259 -101
  529. package/src/hdrp-buffers.ts +4 -3
  530. package/src/ibl/skylight-bind-group.ts +49 -7
  531. package/src/index.ts +228 -9
  532. package/src/inspection-types.ts +222 -2
  533. package/src/instance-buffer-cache.ts +4 -4
  534. package/src/instances.ts +151 -492
  535. package/src/pbr-pipeline.ts +219 -13
  536. package/src/pipeline/single-layer-medium-passes.ts +267 -0
  537. package/src/pipeline/standard-forward-lane.ts +313 -57
  538. package/src/pipeline/standard-output/graph.ts +8 -2
  539. package/src/pipeline/standard-output/types.ts +12 -1
  540. package/src/pipeline/standard-pipeline.ts +291 -18
  541. package/src/pipeline/standard-post.ts +397 -102
  542. package/src/pipeline-builder.ts +1 -1
  543. package/src/pipeline-spec.ts +5 -5
  544. package/src/plugin.ts +4 -0
  545. package/src/points-lines/__tests__/points-lines.bench.ts +17 -8
  546. package/src/points-lines/__tests__/view-ubo.unit.test.ts +2 -1
  547. package/src/prepare/prepared-graphics-resolver.ts +2 -0
  548. package/src/record/__tests__/main-pass-geometry.unit.test.ts +30 -0
  549. package/src/record/__tests__/sprite-material-abi.unit.test.ts +1 -1
  550. package/src/record/__tests__/temporal-payload.unit.test.ts +3 -2
  551. package/src/record/__tests__/transparent-group2-selection.unit.test.ts +11 -0
  552. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -0
  553. package/src/record/__tests__/view-ubo-layout.unit.test.ts +4 -3
  554. package/src/record/barrel-distortion-frame.ts +110 -0
  555. package/src/record/dynamic-geometry-consumption.ts +39 -9
  556. package/src/record/fold-buckets.ts +852 -0
  557. package/src/record/fold-instance-buffer.ts +51 -0
  558. package/src/record/frame-lighting.ts +36 -2
  559. package/src/record/frame-snapshot.ts +44 -4
  560. package/src/record/frame-targets.ts +10 -6
  561. package/src/record/frame.ts +373 -1099
  562. package/src/record/gpu-draw-receipts.ts +38 -0
  563. package/src/record/gpu-timing.ts +48 -5
  564. package/src/record/main-pass-geometry.ts +281 -83
  565. package/src/record/main-pass-material.ts +66 -4
  566. package/src/record/main-pass-sprite-draws.ts +13 -66
  567. package/src/record/main-pass.ts +156 -20
  568. package/src/record/mesh-ssbo.ts +43 -6
  569. package/src/record/motion-blur-receipt.ts +91 -0
  570. package/src/record/probe-blend-buffer.ts +180 -0
  571. package/src/record/recovery-pipeline.ts +35 -3
  572. package/src/record/render-context.ts +51 -31
  573. package/src/record/shadow-pass.ts +36 -2
  574. package/src/record/skybox-post-pass.ts +150 -200
  575. package/src/record/typed-frame-graph.ts +824 -44
  576. package/src/record/view-ubo.ts +26 -3
  577. package/src/record/volume-params.ts +225 -0
  578. package/src/recovery/render-system-candidate.ts +257 -52
  579. package/src/reflection/record-owner.ts +7 -3
  580. package/src/render-contract.ts +71 -8
  581. package/src/render-graph-primitives.ts +7 -1
  582. package/src/render-pipeline.ts +136 -1
  583. package/src/render-system-extract-tail.ts +72 -60
  584. package/src/render-system-extract.ts +117 -87
  585. package/src/render-system-presentation.ts +56 -0
  586. package/src/render-system-producer-roots.ts +96 -0
  587. package/src/render-system-residency.ts +159 -0
  588. package/src/render-system.ts +601 -482
  589. package/src/scene/probe-blend.ts +96 -4
  590. package/src/scene/render-scene.ts +431 -281
  591. package/src/ssao-buffers.ts +95 -2
  592. package/src/surface/__tests__/dynamic-input.unit.test.ts +374 -0
  593. package/src/surface/__tests__/gpu-driven.unit.test.ts +87 -0
  594. package/src/surface/dynamic-input.ts +658 -0
  595. package/src/surface/gpu-driven.ts +147 -0
  596. package/src/surface/submission-observation.ts +517 -0
  597. package/src/systems/skin-palette-allocator.ts +4 -1
  598. package/src/temporal/__tests__/temporal-frame-transaction.unit.test.ts +36 -0
  599. package/src/temporal/frame-coordinator.ts +8 -1
  600. package/src/temporal/frame.ts +20 -0
  601. package/src/temporal/gpu.ts +101 -17
  602. package/src/temporal/inspection.ts +7 -1
  603. package/src/temporal/standard-scene-data.ts +5 -0
  604. package/src/temporal/target-coverage-attachment.ts +4 -0
  605. package/src/temporal/view.ts +13 -2
  606. package/src/transmission/__tests__/single-layer-medium.unit.test.ts +149 -0
  607. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +12 -11
  608. package/src/transmission/single-layer-medium.ts +322 -0
  609. package/src/typed-render-graph-primitives.ts +191 -50
  610. package/src/volume/component.ts +10 -10
  611. package/src/volume/extract.ts +11 -5
  612. package/src/volume/inspection.ts +3 -0
  613. package/src/volume/passes.ts +95 -8
  614. package/src/volume/resources.ts +2 -1
  615. package/src/volume/temporal.ts +11 -0
  616. package/dist/chunk-4NNZQCL3.mjs.map +0 -1
  617. package/dist/chunk-6TFBXLRJ.mjs.map +0 -1
  618. package/dist/chunk-DRR7D3KX.mjs.map +0 -1
  619. package/dist/chunk-GWCEMDVR.mjs.map +0 -1
  620. package/dist/chunk-JCIRYQ4V.mjs.map +0 -1
  621. package/dist/chunk-JRIPCMYC.mjs.map +0 -1
  622. package/dist/chunk-LULCA3OF.mjs +0 -1713
  623. package/dist/chunk-LULCA3OF.mjs.map +0 -1
  624. package/dist/chunk-PA5DRJNI.mjs.map +0 -1
@@ -242,6 +242,16 @@ export interface TransmissionBindGroupResources {
242
242
  readonly backdropView?: TextureView | null;
243
243
  }
244
244
 
245
+ /** Renderer-owned sampled resources consumed by the single-layer medium. */
246
+ export interface SurfaceMediumBindGroupResources {
247
+ readonly rawDepthSampler: Sampler;
248
+ readonly rawDepthView: TextureView;
249
+ readonly nearestLayerSampler: Sampler;
250
+ readonly nearestLayerView: TextureView;
251
+ readonly nearestDepthSampler: Sampler;
252
+ readonly nearestDepthView: TextureView;
253
+ }
254
+
245
255
  /** Engine-owned texture injection resources derived from material parameters. */
246
256
  export interface TextureInjectionResource {
247
257
  readonly slot: number;
@@ -258,6 +268,7 @@ export function assembleMaterialWithSkylightEntries(
258
268
  skylight: SkylightBindGroupResources,
259
269
  transmission?: TransmissionBindGroupResources | null | undefined,
260
270
  textureInjections: readonly TextureInjectionResource[] = [],
271
+ surfaceMedium?: SurfaceMediumBindGroupResources | undefined,
261
272
  ): BindGroupEntry[] {
262
273
  // IBL injection start = end of the user-region. The user-region IS
263
274
  // `materialEntries` (UBO binding 0 + N sampler/texture pairs), so its length
@@ -314,6 +325,35 @@ export function assembleMaterialWithSkylightEntries(
314
325
  resource: { kind: 'textureView', value: transmissionView },
315
326
  },
316
327
  );
328
+ if (surfaceMedium !== undefined) {
329
+ const surfaceStart = result.length;
330
+ result.push(
331
+ {
332
+ binding: surfaceStart,
333
+ resource: { kind: 'sampler', value: surfaceMedium.rawDepthSampler },
334
+ },
335
+ {
336
+ binding: surfaceStart + 1,
337
+ resource: { kind: 'textureView', value: surfaceMedium.rawDepthView },
338
+ },
339
+ {
340
+ binding: surfaceStart + 2,
341
+ resource: { kind: 'sampler', value: surfaceMedium.nearestLayerSampler },
342
+ },
343
+ {
344
+ binding: surfaceStart + 3,
345
+ resource: { kind: 'textureView', value: surfaceMedium.nearestLayerView },
346
+ },
347
+ {
348
+ binding: surfaceStart + 4,
349
+ resource: { kind: 'sampler', value: surfaceMedium.nearestDepthSampler },
350
+ },
351
+ {
352
+ binding: surfaceStart + 5,
353
+ resource: { kind: 'textureView', value: surfaceMedium.nearestDepthView },
354
+ },
355
+ );
356
+ }
317
357
  // Standard physical maps occupy fixed bindings 26..45. The `slot` value
318
358
  // is the canonical index from STANDARD_PHYSICAL_TEXTURE_FIELDS; preserve
319
359
  // gaps for omitted authored maps instead of compacting this tail.
@@ -333,13 +373,15 @@ export function assembleMaterialWithSkylightEntries(
333
373
  },
334
374
  );
335
375
  }
336
- result.push({
337
- binding: 47,
338
- resource: {
339
- kind: 'textureView',
340
- value: skylight.skylightPrefilterView ?? skylight.prefilterView,
341
- },
342
- });
376
+ if (surfaceMedium === undefined) {
377
+ result.push({
378
+ binding: 47,
379
+ resource: {
380
+ kind: 'textureView',
381
+ value: skylight.skylightPrefilterView ?? skylight.prefilterView,
382
+ },
383
+ });
384
+ }
343
385
  return result;
344
386
  }
345
387
 
package/src/index.ts CHANGED
@@ -11,6 +11,18 @@ export {
11
11
  renderPipelineContribution,
12
12
  samplerContribution,
13
13
  } from './assets/asset-decoders.js';
14
+ export {
15
+ attachBarrelDistortionCameraFrame,
16
+ type BarrelDistortionCameraFrame,
17
+ type BarrelDistortionMapping,
18
+ createBarrelDistortionMapping,
19
+ type DisplayPoint,
20
+ freezeBarrelDistortionMapping,
21
+ mapDisplayToScene,
22
+ mapDisplayUvToSceneUv,
23
+ mapSceneToDisplay,
24
+ mapSceneUvToDisplayUv,
25
+ } from './barrel-distortion.js';
14
26
  // Runtime contract: leases, frame receipts, detached inspection, profile,
15
27
  // lifecycle state, and the single renderer event stream.
16
28
  export type {
@@ -18,7 +30,107 @@ export type {
18
30
  CubeCameraFaceViewInput,
19
31
  } from './capture/cube-views.js';
20
32
  export { buildCubeCameraFaceViews } from './capture/cube-views.js';
33
+ export {
34
+ buildCloudDensityCache,
35
+ type CloudDensityCache,
36
+ type CloudDensityCacheSnapshot,
37
+ type CloudDensitySample,
38
+ evaluateCloudDensity,
39
+ reconstructCloudDensityCache,
40
+ sampleCloudDensity,
41
+ snapshotCloudDensityCache,
42
+ } from './cloud/density.js';
43
+ export {
44
+ type CloudLayerCandidate,
45
+ type ExtractedCloudLayer,
46
+ extractCloudLayer,
47
+ selectCloudLayerFrame,
48
+ } from './cloud/extract.js';
49
+ export {
50
+ CLOUD_DENSITY_COMPUTE_WGSL,
51
+ CLOUD_HISTORY_FULLSCREEN_WGSL,
52
+ CLOUD_LAYER_DENSITY_BINDINGS,
53
+ CLOUD_LAYER_DENSITY_CACHE,
54
+ CLOUD_LAYER_DENSITY_OUTPUT,
55
+ CLOUD_LAYER_DENSITY_PROGRAM,
56
+ CLOUD_LAYER_FEATURE_IDENTITY,
57
+ CLOUD_VIEW_FULLSCREEN_WGSL,
58
+ CLOUD_VIEW_PARAMS_BYTES,
59
+ type CloudLayerFeatureFrame,
60
+ type CloudLayerFeatureOptions,
61
+ createCloudLayerFeature,
62
+ } from './cloud/feature.js';
63
+ export {
64
+ type CloudLayerBudgetObservation,
65
+ type CloudLayerInspection,
66
+ type CloudLayerInspectionInput,
67
+ type CloudLayerInspectionStatus,
68
+ type CloudLayerResourceStage,
69
+ type CloudPhysicalGpuEvidence,
70
+ cloudCapabilitiesFromRhi,
71
+ inspectCloudLayer,
72
+ } from './cloud/inspection.js';
73
+ export {
74
+ applyCloudSolarTransmittance,
75
+ type CloudInteriorLighting,
76
+ type CloudOpticalPath,
77
+ type CloudOpticalResult,
78
+ type CloudOpticsInput,
79
+ type CloudRay,
80
+ compositeCloudRadiance,
81
+ integrateCloudCameraPath,
82
+ integrateCloudInterior,
83
+ integrateCloudPath,
84
+ integrateCloudSolarColumn,
85
+ intersectCloudLayer,
86
+ } from './cloud/optics.js';
87
+ export {
88
+ CLOUD_QUALITY_PROFILES,
89
+ type CloudLayerAuthoring,
90
+ type CloudQualityProfile,
91
+ cloudLayerSourceKey,
92
+ DEFAULT_CLOUD_LAYER,
93
+ type ValidatedCloudLayer,
94
+ validateCloudLayer,
95
+ } from './cloud/parameters.js';
96
+ export {
97
+ acceptCloudLayerGeneration,
98
+ CLOUD_HISTORY_SURFACE_COUNT,
99
+ CLOUD_RGBA16FLOAT_BYTES_PER_TEXEL,
100
+ type CloudGpuResourceEvidence,
101
+ type CloudLayerGeneration,
102
+ type CloudLayerResourceFacts,
103
+ type CloudLayerResourceInputs,
104
+ inspectCloudLayerResources,
105
+ retainCloudLayerAfterFailure,
106
+ } from './cloud/resources.js';
107
+ export {
108
+ type CloudShadowProjection,
109
+ type CloudShadowSample,
110
+ createCloudShadowProjection,
111
+ projectCloudShadowUv,
112
+ sampleCloudShadow,
113
+ } from './cloud/shadow.js';
114
+ export {
115
+ type CloudHistory,
116
+ type CloudHistoryReprojection,
117
+ type CloudHistoryReprojectionInput,
118
+ CloudHistoryStore,
119
+ type CloudTemporalDecision,
120
+ type CloudTemporalFrame,
121
+ type CloudTemporalResetReason,
122
+ type CloudTemporalSignature,
123
+ cloudTemporalResetReasons,
124
+ cloudTemporalSignature,
125
+ createCloudHistory,
126
+ reprojectCloudHistory,
127
+ } from './cloud/temporal.js';
21
128
  export { Atmosphere } from './components/atmosphere.js';
129
+ export {
130
+ BarrelDistortion,
131
+ type BarrelDistortionData,
132
+ validateBarrelDistortionParameters,
133
+ } from './components/barrel-distortion.js';
22
134
  // ECS render vocabulary and grouped closed values.
23
135
  export type {
24
136
  Antialias,
@@ -37,6 +149,14 @@ export {
37
149
  ANTIALIAS_TAA,
38
150
  BLOOM_DISABLED,
39
151
  BLOOM_ENABLED,
152
+ CAMERA_BLOOM_INTENSITY_MAX,
153
+ CAMERA_BLOOM_INTENSITY_MIN,
154
+ CAMERA_BLOOM_SCATTER_MAX,
155
+ CAMERA_BLOOM_SCATTER_MIN,
156
+ CAMERA_BLOOM_SOFT_KNEE_MAX,
157
+ CAMERA_BLOOM_SOFT_KNEE_MIN,
158
+ CAMERA_BLOOM_THRESHOLD_MAX,
159
+ CAMERA_BLOOM_THRESHOLD_MIN,
40
160
  CAMERA_EXPOSURE_MODE_AUTO,
41
161
  CAMERA_EXPOSURE_MODE_MANUAL,
42
162
  CAMERA_PROJECTION_ORTHOGRAPHIC,
@@ -59,9 +179,17 @@ export {
59
179
  TONEMAP_NONE,
60
180
  TONEMAP_REINHARD,
61
181
  TONEMAP_REINHARD_EXTENDED,
182
+ validateCameraBloom,
62
183
  validateCameraColorGrading,
63
184
  validateCameraExposure,
64
185
  } from './components/camera.js';
186
+ export {
187
+ CloudLayer,
188
+ type CloudLayerData,
189
+ type CloudQuality,
190
+ CloudQualityValue,
191
+ cloudQualityFromF32,
192
+ } from './components/cloud-layer.js';
65
193
  export {
66
194
  CUBE_CAMERA_FACE_ORDER,
67
195
  CUBE_CAMERA_UPDATE_CONTINUOUS,
@@ -155,12 +283,32 @@ export {
155
283
  createDynamicGeometryLifecycle,
156
284
  DynamicGeometryError,
157
285
  } from './dynamic-geometry.js';
286
+ // The environment selector owns this structured recovery error. Keep the
287
+ // class on the public environment path so consumers can branch by `code` and
288
+ // inspect its typed `detail` without importing an owner-private module.
289
+ export { SunCardinalityError } from './environment/frame.js';
158
290
  export type {
159
291
  EnvironmentInspection,
160
292
  EnvironmentInspectionFailure,
161
293
  EnvironmentInspectionGeneration,
162
294
  EnvironmentInspectionStatus,
163
295
  } from './environment/inspection.js';
296
+ export type {
297
+ CloudLayerCacheInvalidDetail,
298
+ CloudLayerCapabilityMissingDetail,
299
+ CloudLayerError,
300
+ CloudLayerErrorCode,
301
+ CloudLayerInvalidParameterDetail,
302
+ CloudLayerOwnerConflictDetail,
303
+ CloudLayerResourceFailureDetail,
304
+ } from './errors/cloud.js';
305
+ export {
306
+ CloudLayerCacheInvalidError,
307
+ CloudLayerCapabilityMissingError,
308
+ CloudLayerInvalidParameterError,
309
+ CloudLayerOwnerConflictError,
310
+ CloudLayerResourceFailureError,
311
+ } from './errors/cloud.js';
164
312
  // Public structured operation failure union. Concrete error classes stay
165
313
  // behind the Renderer Result/event boundary.
166
314
  export type {
@@ -171,6 +319,7 @@ export type {
171
319
  } from './errors/gpu-driven';
172
320
  export { GpuDrivenPreparationError } from './errors/gpu-driven';
173
321
  export type {
322
+ BarrelDistortionInvalidParameterDetail,
174
323
  DynamicResolutionError,
175
324
  ReflectionProbeBudgetExceededDetail,
176
325
  RenderError,
@@ -185,6 +334,7 @@ export type {
185
334
  } from './errors/render.js';
186
335
  export {
187
336
  AtmosphereInvalidParameterError,
337
+ BarrelDistortionInvalidParameterError,
188
338
  DynamicResolutionInvalidParameterError,
189
339
  DynamicResolutionRequiresTaaError,
190
340
  DynamicResolutionTimingUnavailableError,
@@ -192,9 +342,14 @@ export {
192
342
  EnvironmentSourceConflictError,
193
343
  FogCardinalityError,
194
344
  OwnerStageFailedError,
345
+ RendererOperationError,
195
346
  SceneDataUnavailableError,
196
347
  TaaCapsInsufficientError,
197
348
  } from './errors/render.js';
349
+ export {
350
+ SINGLE_LAYER_MEDIUM_SURFACE_EXAMPLE,
351
+ SINGLE_LAYER_MEDIUM_SURFACE_EXAMPLES,
352
+ } from './examples/single-layer-medium-surface.js';
198
353
  export type {
199
354
  EnvironmentFrame,
200
355
  EnvironmentSource,
@@ -206,6 +361,14 @@ export {
206
361
  type VisibilityResolution,
207
362
  type VisibilitySnapshot,
208
363
  } from './extract/visibility.js';
364
+ export {
365
+ BARREL_DISTORTION_FEATURE_IDENTITY,
366
+ BARREL_DISTORTION_POST_PROCESS_ID,
367
+ BARREL_DISTORTION_WGSL,
368
+ BARREL_DISTORTION_WGSL_COORDINATE,
369
+ type BarrelDistortionFeatureFrame,
370
+ createBarrelDistortionRenderFeature,
371
+ } from './features/barrel-distortion.js';
209
372
  export {
210
373
  DEFAULT_DEPTH_OF_FIELD_PARAMS,
211
374
  DEPTH_OF_FIELD_PARAMS_BYTE_SIZE,
@@ -225,6 +388,22 @@ export {
225
388
  validateDepthOfFieldFrameParams,
226
389
  validateDepthOfFieldParams,
227
390
  } from './features/depth-of-field/depth-of-field-params.js';
391
+ export type {
392
+ MotionBlurInvalidParamsDetail,
393
+ MotionBlurParams,
394
+ MotionBlurSampleTier,
395
+ } from './features/motion-blur/motion-blur-params.js';
396
+ export {
397
+ DEFAULT_MOTION_BLUR_PARAMS,
398
+ effectiveMotionBlurSampleCount,
399
+ isMotionBlurIntervalValid,
400
+ MotionBlurValidationError,
401
+ motionBlurExposureScale,
402
+ motionBlurSampleDelta,
403
+ motionBlurTemporalDemand,
404
+ resolveMotionBlurParams,
405
+ validateMotionBlurParams,
406
+ } from './features/motion-blur/motion-blur-params.js';
228
407
  export type {
229
408
  RenderFeatureLogicalTarget,
230
409
  RenderFeatureMaterialShaderBindingContract,
@@ -242,10 +421,13 @@ export type {
242
421
  RenderFeatureDiagnostics,
243
422
  RenderFeatureErrorDescriptor,
244
423
  RenderFeatureExtractContext,
424
+ RenderFeatureFrameContext,
245
425
  RenderFeatureHiddenEntityReport,
426
+ RenderFeaturePlacement,
246
427
  RenderFeatureShaderModuleMode,
247
428
  RenderFeatureStatus,
248
429
  RenderFeatureSubmission,
430
+ RenderFeatureViewContext,
249
431
  RenderFeatureWorldVisibilitySnapshot,
250
432
  } from './features/types.js';
251
433
  export {
@@ -261,6 +443,7 @@ export {
261
443
  resetIblKernelCaches,
262
444
  } from './ibl/kernel-cache.js';
263
445
  export type {
446
+ BarrelDistortionInspection,
264
447
  BloomInspection,
265
448
  DepthOfFieldInspection,
266
449
  DepthOfFieldInspectionStatus,
@@ -273,7 +456,10 @@ export type {
273
456
  LightInspection,
274
457
  LodOcclusionInspection,
275
458
  MaterialTextureSourceInspection,
459
+ MotionBlurExecutionPass,
460
+ MotionBlurExecutionReceipt,
276
461
  MotionBlurInspection,
462
+ MotionBlurInspectionLane,
277
463
  MotionBlurInspectionStatus,
278
464
  ReflectionFallbackFailureStage,
279
465
  ReflectionFallbackInspection,
@@ -288,22 +474,14 @@ export type {
288
474
  } from './inspection-types.js';
289
475
  export {
290
476
  type InstanceBackendKind,
291
- type InstanceCollectionCreateInput,
292
- type InstanceCollectionData,
293
- InstanceCollectionError,
294
- type InstanceCollectionErrorCode,
295
477
  type InstanceCollectionFailureCode,
296
478
  type InstanceCollectionFailureFacts,
297
479
  type InstanceCollectionId,
298
480
  type InstanceCollectionInfo,
299
481
  type InstanceCollectionInspection,
300
- type InstanceCollectionInvalidDetail,
301
- type InstanceCollectionResult,
302
- type InstanceCollectionSnapshot,
303
- InstanceCollectionStore,
304
- type InstanceCollectionUpdateInput,
305
482
  type InstanceDirtyRange,
306
483
  type InstanceSubmissionLane,
484
+ InstanceTransformsError,
307
485
  } from './instances';
308
486
  export {
309
487
  MaterialAuthoringContractError,
@@ -451,6 +629,7 @@ export type {
451
629
  FrameCamera,
452
630
  FrameEnvironment,
453
631
  FrameObservationRequest,
632
+ FramePresentation,
454
633
  FrameReceipt,
455
634
  FrameReceiptObservation,
456
635
  Renderer,
@@ -560,6 +739,31 @@ export {
560
739
  projectSsrSpatialInspection,
561
740
  serializeSsrSpatialInspection,
562
741
  } from './ssr/inspection.js';
742
+ export {
743
+ type DynamicInputConsumptionReceipt,
744
+ type DynamicInputDirtyRange,
745
+ DynamicInputError,
746
+ type DynamicInputErrorCode,
747
+ type DynamicInputErrorDetail,
748
+ type DynamicInputRange,
749
+ type DynamicInputResult,
750
+ type DynamicInputUploadReceipt,
751
+ type DynamicInputValue,
752
+ ReadonlyDynamicInputPage,
753
+ type SurfaceDynamicInputFrame,
754
+ type SurfaceDynamicInputMemberIdentity,
755
+ } from './surface/dynamic-input.js';
756
+ export {
757
+ admitSingleLayerMediumSubmission,
758
+ type SurfaceGpuCapability,
759
+ type SurfaceGpuFallbackReason,
760
+ type SurfaceGpuPassAdmission,
761
+ type SurfaceGpuSubmissionAdmission,
762
+ type SurfaceGpuSubmissionError,
763
+ type SurfaceGpuSubmissionErrorCode,
764
+ type SurfaceGpuSubmissionInput,
765
+ } from './surface/gpu-driven.js';
766
+ export type { SurfaceGpuIndirectParameters } from './surface/submission-observation.js';
563
767
  export { getActiveCamera, setActiveCamera } from './systems/active-camera.js';
564
768
  export type {
565
769
  RenderTarget,
@@ -594,6 +798,19 @@ export {
594
798
  type SceneDataInspection,
595
799
  } from './temporal/scene-data-catalog.js';
596
800
  export type { TemporalView } from './temporal/view.js';
801
+ export {
802
+ composeSingleLayerMediumColor,
803
+ estimateSingleLayerPathLength,
804
+ integrateSingleLayerMedium,
805
+ type MediumVector3,
806
+ resolveSingleLayerMediumBackground,
807
+ type SingleLayerMediumBackgroundCandidate,
808
+ type SingleLayerMediumBackgroundInput,
809
+ type SingleLayerMediumBackgroundReason,
810
+ type SingleLayerMediumBackgroundResolution,
811
+ type SingleLayerMediumCoefficients,
812
+ type SingleLayerMediumOptics,
813
+ } from './transmission/single-layer-medium.js';
597
814
  export {
598
815
  hasVolumetricFogCapability,
599
816
  type IntegratedVolumeResource,
@@ -606,12 +823,14 @@ export {
606
823
  type VolumetricFogLightResolution,
607
824
  } from './volume/capability.js';
608
825
  export {
826
+ MAX_VOLUMETRIC_FOG_OWNERS,
609
827
  type ValidatedVolumetricFog,
610
828
  type VolumeBounds,
611
829
  type VolumeDensityBinding,
612
830
  VolumetricFog,
613
831
  type VolumetricFogAuthoring,
614
832
  type VolumetricFogLightSelection,
833
+ VolumetricFogSamplingValue,
615
834
  validateVolumetricFog,
616
835
  } from './volume/component.js';
617
836
  export { extractVolumetricFog, type VolumetricFogExtract } from './volume/extract.js';