@forgeax/engine-render 0.1.33 → 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 (518) hide show
  1. package/README.md +1010 -124
  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/dynamic-geometry-host.d.ts +4 -1
  11. package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
  12. package/dist/assembly/dynamic-geometry-runtime.d.ts +1 -1
  13. package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -1
  14. package/dist/assembly/factory.d.ts +1 -1
  15. package/dist/assembly/factory.d.ts.map +1 -1
  16. package/dist/assembly/host-contract.d.ts +3 -3
  17. package/dist/assembly/host-contract.d.ts.map +1 -1
  18. package/dist/assembly/material/assembly.d.ts.map +1 -1
  19. package/dist/assembly/material/pipeline-helpers.d.ts +5 -0
  20. package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -1
  21. package/dist/assembly/material-shader-policy.d.ts +16 -2
  22. package/dist/assembly/material-shader-policy.d.ts.map +1 -1
  23. package/dist/assembly/material-shader-prewarm.d.ts.map +1 -1
  24. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
  25. package/dist/assembly/recovery/renderer-recover.d.ts +2 -0
  26. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
  27. package/dist/assembly/render-feature-post-processes.d.ts +6 -0
  28. package/dist/assembly/render-feature-post-processes.d.ts.map +1 -0
  29. package/dist/assembly/renderer-facade.d.ts.map +1 -1
  30. package/dist/assembly/renderer-feature-inspection.d.ts +1 -1
  31. package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -1
  32. package/dist/assembly/renderer-frame-transaction.d.ts +12 -0
  33. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  34. package/dist/assembly/renderer-inspection.d.ts +11 -0
  35. package/dist/assembly/renderer-inspection.d.ts.map +1 -1
  36. package/dist/assembly/webgpu-pbr-ready.d.ts +1 -0
  37. package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -1
  38. package/dist/assembly/webgpu-ready-per-pass.d.ts +39 -0
  39. package/dist/assembly/webgpu-ready-per-pass.d.ts.map +1 -0
  40. package/dist/assembly/webgpu-ready.d.ts +1 -1
  41. package/dist/assembly/webgpu-ready.d.ts.map +1 -1
  42. package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -1
  43. package/dist/assembly/webgpu-renderer-observation-owner.d.ts +35 -0
  44. package/dist/assembly/webgpu-renderer-observation-owner.d.ts.map +1 -0
  45. package/dist/assembly/webgpu-renderer.d.ts +1 -1
  46. package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
  47. package/dist/authoring.mjs +1 -1
  48. package/dist/barrel-distortion.d.ts +47 -0
  49. package/dist/barrel-distortion.d.ts.map +1 -0
  50. package/dist/{chunk-PA5DRJNI.mjs → chunk-ELJFJ2BU.mjs} +2 -2
  51. package/dist/chunk-ELJFJ2BU.mjs.map +1 -0
  52. package/dist/{chunk-ZDQWGQW7.mjs → chunk-HEB564WF.mjs} +4 -4
  53. package/dist/{chunk-ZDQWGQW7.mjs.map → chunk-HEB564WF.mjs.map} +1 -1
  54. package/dist/{chunk-VOZWDM3L.mjs → chunk-MKDIT2EM.mjs} +1307 -188
  55. package/dist/chunk-MKDIT2EM.mjs.map +1 -0
  56. package/dist/{chunk-LEAXOMYJ.mjs → chunk-OCDLEI6I.mjs} +3 -3
  57. package/dist/{chunk-LEAXOMYJ.mjs.map → chunk-OCDLEI6I.mjs.map} +1 -1
  58. package/dist/chunk-ODZWR6JQ.mjs +4927 -0
  59. package/dist/chunk-ODZWR6JQ.mjs.map +1 -0
  60. package/dist/{chunk-3RTCJTH4.mjs → chunk-SHFUFJ5N.mjs} +184 -13
  61. package/dist/chunk-SHFUFJ5N.mjs.map +1 -0
  62. package/dist/{chunk-OO3DRYK7.mjs → chunk-UI5SFODX.mjs} +176 -96
  63. package/dist/chunk-UI5SFODX.mjs.map +1 -0
  64. package/dist/{chunk-PLAXOOX5.mjs → chunk-UINHLCZA.mjs} +561 -79
  65. package/dist/chunk-UINHLCZA.mjs.map +1 -0
  66. package/dist/{chunk-NB2S7ZRX.mjs → chunk-WEX45HKH.mjs} +127 -386
  67. package/dist/chunk-WEX45HKH.mjs.map +1 -0
  68. package/dist/cloud/density.d.ts +55 -0
  69. package/dist/cloud/density.d.ts.map +1 -0
  70. package/dist/cloud/extract.d.ts +25 -0
  71. package/dist/cloud/extract.d.ts.map +1 -0
  72. package/dist/cloud/feature.d.ts +57 -0
  73. package/dist/cloud/feature.d.ts.map +1 -0
  74. package/dist/cloud/frame-context.d.ts +8 -0
  75. package/dist/cloud/frame-context.d.ts.map +1 -0
  76. package/dist/cloud/inspection.d.ts +59 -0
  77. package/dist/cloud/inspection.d.ts.map +1 -0
  78. package/dist/cloud/optics.d.ts +56 -0
  79. package/dist/cloud/optics.d.ts.map +1 -0
  80. package/dist/cloud/parameters.d.ts +73 -0
  81. package/dist/cloud/parameters.d.ts.map +1 -0
  82. package/dist/cloud/resources.d.ts +60 -0
  83. package/dist/cloud/resources.d.ts.map +1 -0
  84. package/dist/cloud/shadow.d.ts +42 -0
  85. package/dist/cloud/shadow.d.ts.map +1 -0
  86. package/dist/cloud/temporal.d.ts +74 -0
  87. package/dist/cloud/temporal.d.ts.map +1 -0
  88. package/dist/components/barrel-distortion.d.ts +13 -0
  89. package/dist/components/barrel-distortion.d.ts.map +1 -0
  90. package/dist/components/cloud-layer.d.ts +29 -0
  91. package/dist/components/cloud-layer.d.ts.map +1 -0
  92. package/dist/components/index.d.ts +2 -0
  93. package/dist/components/index.d.ts.map +1 -1
  94. package/dist/components/instances.d.ts +20 -6
  95. package/dist/components/instances.d.ts.map +1 -1
  96. package/dist/construct-renderer.d.ts +1 -1
  97. package/dist/construct-renderer.d.ts.map +1 -1
  98. package/dist/construct-renderer.mjs +6759 -2875
  99. package/dist/construct-renderer.mjs.map +1 -1
  100. package/dist/dynamic-geometry.d.ts +5 -1
  101. package/dist/dynamic-geometry.d.ts.map +1 -1
  102. package/dist/errors/cloud.d.ts +59 -0
  103. package/dist/errors/cloud.d.ts.map +1 -0
  104. package/dist/errors/render.d.ts +18 -4
  105. package/dist/errors/render.d.ts.map +1 -1
  106. package/dist/examples/single-layer-medium-surface.d.ts +47 -0
  107. package/dist/examples/single-layer-medium-surface.d.ts.map +1 -0
  108. package/dist/extract/camera.d.ts.map +1 -1
  109. package/dist/extract/contracts.d.ts +5 -1
  110. package/dist/extract/contracts.d.ts.map +1 -1
  111. package/dist/features/barrel-distortion.d.ts +29 -0
  112. package/dist/features/barrel-distortion.d.ts.map +1 -0
  113. package/dist/features/error-reporting.d.ts +6 -2
  114. package/dist/features/error-reporting.d.ts.map +1 -1
  115. package/dist/features/host.d.ts +10 -0
  116. package/dist/features/host.d.ts.map +1 -1
  117. package/dist/features/plan.d.ts +8 -0
  118. package/dist/features/plan.d.ts.map +1 -1
  119. package/dist/features/render-graph-contribution.d.ts +5 -0
  120. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  121. package/dist/features/render-graph-raster.d.ts +1 -0
  122. package/dist/features/render-graph-raster.d.ts.map +1 -1
  123. package/dist/features/targets.d.ts +2 -0
  124. package/dist/features/targets.d.ts.map +1 -1
  125. package/dist/features/types.d.ts +44 -0
  126. package/dist/features/types.d.ts.map +1 -1
  127. package/dist/fullscreen-post-process-pass.d.ts +15 -7
  128. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  129. package/dist/gpu-dirty-ranges.d.ts +11 -0
  130. package/dist/gpu-dirty-ranges.d.ts.map +1 -0
  131. package/dist/gpu-driven/batch-topology.d.ts +17 -0
  132. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  133. package/dist/gpu-driven/material-artifacts.d.ts +6 -0
  134. package/dist/gpu-driven/material-artifacts.d.ts.map +1 -1
  135. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
  136. package/dist/gpu-driven/production-raster-material.d.ts +178 -0
  137. package/dist/gpu-driven/production-raster-material.d.ts.map +1 -0
  138. package/dist/gpu-driven/production-raster.d.ts +47 -3
  139. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  140. package/dist/gpu-driven/resource-allocation.d.ts +31 -0
  141. package/dist/gpu-driven/resource-allocation.d.ts.map +1 -0
  142. package/dist/gpu-driven/shadow-ownership.d.ts +14 -0
  143. package/dist/gpu-driven/shadow-ownership.d.ts.map +1 -0
  144. package/dist/gpu-driven/view-gpu.d.ts +26 -2
  145. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  146. package/dist/gpu-scene.d.ts +5 -0
  147. package/dist/gpu-scene.d.ts.map +1 -1
  148. package/dist/hdrp-buffers.d.ts +2 -2
  149. package/dist/hdrp-buffers.d.ts.map +1 -1
  150. package/dist/ibl/skylight-bind-group.d.ts +10 -1
  151. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  152. package/dist/index.d.ts +27 -7
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.mjs +258 -8
  155. package/dist/index.mjs.map +1 -1
  156. package/dist/inspection-types.d.ts +135 -1
  157. package/dist/inspection-types.d.ts.map +1 -1
  158. package/dist/instance-buffer-cache.d.ts +4 -4
  159. package/dist/instance-buffer-cache.d.ts.map +1 -1
  160. package/dist/instances.d.ts +48 -100
  161. package/dist/instances.d.ts.map +1 -1
  162. package/dist/internal.mjs +7 -7
  163. package/dist/pbr-pipeline.d.ts +19 -1
  164. package/dist/pbr-pipeline.d.ts.map +1 -1
  165. package/dist/pipeline/single-layer-medium-passes.d.ts +73 -0
  166. package/dist/pipeline/single-layer-medium-passes.d.ts.map +1 -0
  167. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  168. package/dist/pipeline/standard-output/graph.d.ts.map +1 -1
  169. package/dist/pipeline/standard-output/types.d.ts +4 -2
  170. package/dist/pipeline/standard-output/types.d.ts.map +1 -1
  171. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  172. package/dist/pipeline/standard-post.d.ts.map +1 -1
  173. package/dist/pipeline-builder.d.ts +1 -1
  174. package/dist/pipeline-builder.d.ts.map +1 -1
  175. package/dist/plugin.d.ts.map +1 -1
  176. package/dist/prepare/prepared-graphics-resolver.d.ts +2 -0
  177. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  178. package/dist/record/barrel-distortion-frame.d.ts +15 -0
  179. package/dist/record/barrel-distortion-frame.d.ts.map +1 -0
  180. package/dist/record/dynamic-geometry-consumption.d.ts +10 -2
  181. package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -1
  182. package/dist/record/fold-buckets.d.ts +95 -0
  183. package/dist/record/fold-buckets.d.ts.map +1 -0
  184. package/dist/record/fold-instance-buffer.d.ts +6 -0
  185. package/dist/record/fold-instance-buffer.d.ts.map +1 -0
  186. package/dist/record/frame-lighting.d.ts +1 -0
  187. package/dist/record/frame-lighting.d.ts.map +1 -1
  188. package/dist/record/frame-snapshot.d.ts +37 -3
  189. package/dist/record/frame-snapshot.d.ts.map +1 -1
  190. package/dist/record/frame.d.ts +10 -61
  191. package/dist/record/frame.d.ts.map +1 -1
  192. package/dist/record/gpu-draw-receipts.d.ts +11 -0
  193. package/dist/record/gpu-draw-receipts.d.ts.map +1 -0
  194. package/dist/record/gpu-timing.d.ts +8 -0
  195. package/dist/record/gpu-timing.d.ts.map +1 -1
  196. package/dist/record/main-pass-geometry.d.ts +21 -5
  197. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  198. package/dist/record/main-pass-material.d.ts +7 -1
  199. package/dist/record/main-pass-material.d.ts.map +1 -1
  200. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  201. package/dist/record/main-pass.d.ts +13 -2
  202. package/dist/record/main-pass.d.ts.map +1 -1
  203. package/dist/record/motion-blur-receipt.d.ts +11 -0
  204. package/dist/record/motion-blur-receipt.d.ts.map +1 -0
  205. package/dist/record/probe-blend-buffer.d.ts +16 -0
  206. package/dist/record/probe-blend-buffer.d.ts.map +1 -0
  207. package/dist/record/recovery-pipeline.d.ts.map +1 -1
  208. package/dist/record/render-context.d.ts +22 -3
  209. package/dist/record/render-context.d.ts.map +1 -1
  210. package/dist/record/shadow-pass.d.ts +2 -0
  211. package/dist/record/shadow-pass.d.ts.map +1 -1
  212. package/dist/record/skybox-post-pass.d.ts +1 -1
  213. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  214. package/dist/record/typed-frame-graph.d.ts +22 -2
  215. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  216. package/dist/record/view-ubo.d.ts +11 -3
  217. package/dist/record/view-ubo.d.ts.map +1 -1
  218. package/dist/record/volume-params.d.ts +9 -0
  219. package/dist/record/volume-params.d.ts.map +1 -0
  220. package/dist/recovery/render-system-candidate.d.ts +10 -0
  221. package/dist/recovery/render-system-candidate.d.ts.map +1 -1
  222. package/dist/reflection/record-owner.d.ts.map +1 -1
  223. package/dist/render-contract.d.ts +42 -4
  224. package/dist/render-contract.d.ts.map +1 -1
  225. package/dist/render-graph-primitives.d.ts.map +1 -1
  226. package/dist/render-pipeline.d.ts +103 -2
  227. package/dist/render-pipeline.d.ts.map +1 -1
  228. package/dist/render-system-extract-tail.d.ts +3 -2
  229. package/dist/render-system-extract-tail.d.ts.map +1 -1
  230. package/dist/render-system-extract.d.ts +16 -9
  231. package/dist/render-system-extract.d.ts.map +1 -1
  232. package/dist/render-system-presentation.d.ts +23 -0
  233. package/dist/render-system-presentation.d.ts.map +1 -0
  234. package/dist/render-system-producer-roots.d.ts +10 -0
  235. package/dist/render-system-producer-roots.d.ts.map +1 -0
  236. package/dist/render-system-residency.d.ts +12 -0
  237. package/dist/render-system-residency.d.ts.map +1 -0
  238. package/dist/render-system.d.ts +19 -14
  239. package/dist/render-system.d.ts.map +1 -1
  240. package/dist/scene/probe-blend.d.ts +27 -0
  241. package/dist/scene/probe-blend.d.ts.map +1 -1
  242. package/dist/scene/render-scene.d.ts +12 -5
  243. package/dist/scene/render-scene.d.ts.map +1 -1
  244. package/dist/ssao-buffers.d.ts +9 -0
  245. package/dist/ssao-buffers.d.ts.map +1 -1
  246. package/dist/surface/dynamic-input.d.ts +133 -0
  247. package/dist/surface/dynamic-input.d.ts.map +1 -0
  248. package/dist/surface/gpu-driven.d.ts +41 -0
  249. package/dist/surface/gpu-driven.d.ts.map +1 -0
  250. package/dist/surface/submission-observation.d.ts +136 -0
  251. package/dist/surface/submission-observation.d.ts.map +1 -0
  252. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  253. package/dist/temporal/gpu.d.ts +13 -1
  254. package/dist/temporal/gpu.d.ts.map +1 -1
  255. package/dist/temporal/index.mjs +5 -5
  256. package/dist/temporal/inspection.d.ts.map +1 -1
  257. package/dist/temporal/standard-scene-data.d.ts.map +1 -1
  258. package/dist/temporal/target-coverage-attachment.d.ts.map +1 -1
  259. package/dist/transmission/single-layer-medium.d.ts +89 -0
  260. package/dist/transmission/single-layer-medium.d.ts.map +1 -0
  261. package/dist/typed-render-graph-primitives.d.ts +14 -2
  262. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  263. package/dist/volume/component.d.ts +9 -4
  264. package/dist/volume/component.d.ts.map +1 -1
  265. package/dist/volume/extract.d.ts +1 -1
  266. package/dist/volume/extract.d.ts.map +1 -1
  267. package/dist/volume/inspection.d.ts +2 -0
  268. package/dist/volume/inspection.d.ts.map +1 -1
  269. package/dist/volume/passes.d.ts +4 -1
  270. package/dist/volume/passes.d.ts.map +1 -1
  271. package/dist/volume/resources.d.ts.map +1 -1
  272. package/package.json +22 -21
  273. package/src/__tests__/atmosphere-daylight.dawn.test.ts +72 -0
  274. package/src/__tests__/barrel-distortion-lkg.integration.test.ts +353 -0
  275. package/src/__tests__/barrel-distortion.dawn.test.ts +41 -0
  276. package/src/__tests__/barrel-distortion.unit.test.ts +364 -0
  277. package/src/__tests__/construct-renderer-identity.unit.test.ts +49 -0
  278. package/src/__tests__/detached-recovery-graph.unit.test.ts +277 -0
  279. package/src/__tests__/device-loss-fanout.unit.test.ts +36 -1
  280. package/src/__tests__/docs-gate-green.unit.test.ts +112 -1
  281. package/src/__tests__/factory-contract.integration.test.ts +295 -45
  282. package/src/__tests__/feature-depth-input.dawn.test.ts +129 -2
  283. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +14 -3
  284. package/src/__tests__/gpu-dirty-ranges.unit.test.ts +22 -0
  285. package/src/__tests__/gpu-driven-baseline.characterization.test.ts +16 -3
  286. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +12 -0
  287. package/src/__tests__/gpu-driven-material-artifacts.unit.test.ts +143 -0
  288. package/src/__tests__/gpu-driven-pbr.dawn.test.ts +2 -2
  289. package/src/__tests__/gpu-driven-production.integration.test.ts +482 -3
  290. package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +6 -5
  291. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +94 -6
  292. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +18 -2
  293. package/src/__tests__/gpu-driven-view.browser.test.ts +5 -8
  294. package/src/__tests__/gpu-driven-view.dawn.test.ts +6 -2
  295. package/src/__tests__/gpu-driven-view.unit.test.ts +1 -1
  296. package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +1 -0
  297. package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -4
  298. package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +1 -0
  299. package/src/__tests__/gpu-scene.unit.test.ts +119 -9
  300. package/src/__tests__/instance-allocation-failure.unit.test.ts +57 -0
  301. package/src/__tests__/instances-culling.integration.test.ts +10 -36
  302. package/src/__tests__/instances-store.unit.test.ts +97 -305
  303. package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
  304. package/src/__tests__/main-pass-material-medium-selection.unit.test.ts +146 -0
  305. package/src/__tests__/material-shader-prewarm.unit.test.ts +59 -0
  306. package/src/__tests__/material-snapshot-mutation.integration.test.ts +39 -1
  307. package/src/__tests__/morph-culling-reentry.dawn.test.ts +5 -5
  308. package/src/__tests__/morph-visual-evidence.integration.test.ts +8 -7
  309. package/src/__tests__/motion-blur-compute.dawn.test.ts +13 -7
  310. package/src/__tests__/motion-blur.pixel.integration.test.ts +2 -2
  311. package/src/__tests__/nineslice-handle-surface.unit.test.ts +4 -4
  312. package/src/__tests__/pbr-view-layout.unit.test.ts +9 -0
  313. package/src/__tests__/physical-clearcoat.integration.test.ts +58 -0
  314. package/src/__tests__/prepared-graphics-capability.unit.test.ts +66 -2
  315. package/src/__tests__/probe-bindings.unit.test.ts +582 -1
  316. package/src/__tests__/probe-scene-dirty.integration.test.ts +28 -1
  317. package/src/__tests__/receipt-observation-retirement.unit.test.ts +65 -0
  318. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +69 -0
  319. package/src/__tests__/render-error-code-owner.test-d.ts +7 -0
  320. package/src/__tests__/render-feature-diagnostics.unit.test.ts +15 -2
  321. package/src/__tests__/render-feature-error-reporting.unit.test.ts +21 -1
  322. package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +10 -1
  323. package/src/__tests__/render-feature-retry.unit.test.ts +12 -1
  324. package/src/__tests__/render-scene-mixed-updates.integration.test.ts +145 -19
  325. package/src/__tests__/render-scene-projection.unit.test.ts +36 -11
  326. package/src/__tests__/render-scene-temporal-retry.unit.test.ts +20 -20
  327. package/src/__tests__/render-target-probe-soak.perf.test.ts +2 -2
  328. package/src/__tests__/render-temporal-environment-consumer.browser.test.ts +3 -3
  329. package/src/__tests__/render-temporal-environment-consumer.dawn.test.ts +5 -2
  330. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +41 -7
  331. package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +16 -0
  332. package/src/__tests__/renderer-frame-transaction.integration.test.ts +26 -10
  333. package/src/__tests__/resource-allocation.unit.test.ts +123 -0
  334. package/src/__tests__/single-layer-medium-passes.unit.test.ts +275 -0
  335. package/src/__tests__/skin-motion-regression.unit.test.ts +70 -1
  336. package/src/__tests__/skin-palette-recycling.dawn.test.ts +97 -0
  337. package/src/__tests__/skinned-shadow-caster.test.ts +15 -0
  338. package/src/__tests__/ssr-carrier-public-contract.unit.test.ts +21 -0
  339. package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +4 -4
  340. package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +2 -2
  341. package/src/__tests__/ssr-gpu-dispatch.ts +1 -1
  342. package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +6 -2
  343. package/src/__tests__/standard-output-chain-contract.unit.test.ts +28 -0
  344. package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +46 -1
  345. package/src/__tests__/standard-pipeline.integration.test.ts +182 -1
  346. package/src/__tests__/surface-dynamic-buffer-lifecycle.unit.test.ts +506 -0
  347. package/src/__tests__/surface-submission-observation.unit.test.ts +812 -0
  348. package/src/__tests__/temporal-history-lifecycle.unit.test.ts +32 -0
  349. package/src/__tests__/temporal-performance.integration.test.ts +3 -3
  350. package/src/__tests__/visibility-instances.integration.test.ts +7 -19
  351. package/src/__tests__/visibility-producer-matrix.integration.test.ts +9 -20
  352. package/src/__tests__/volume-optics-oracle.unit.test.ts +4 -2
  353. package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +30 -20
  354. package/src/__tests__/volumetric-fog-errors.unit.test.ts +4 -3
  355. package/src/__tests__/volumetric-fog-multiple.unit.test.ts +55 -0
  356. package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +1 -1
  357. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +113 -9
  358. package/src/__tests__/volumetric-fog-topology.unit.test.ts +5 -3
  359. package/src/assembly/backend-contract.ts +30 -0
  360. package/src/assembly/barrel-distortion-inspection.ts +22 -0
  361. package/src/assembly/canvas-draw-guard.ts +11 -0
  362. package/src/assembly/cloud-shadow-entry.ts +22 -0
  363. package/src/assembly/dynamic-geometry-host.ts +65 -37
  364. package/src/assembly/dynamic-geometry-runtime.ts +7 -1
  365. package/src/assembly/factory.ts +2 -30
  366. package/src/assembly/host-contract.ts +3 -3
  367. package/src/assembly/material/assembly.ts +25 -13
  368. package/src/assembly/material/pipeline-helpers.ts +53 -12
  369. package/src/assembly/material-shader-policy.ts +55 -0
  370. package/src/assembly/material-shader-prewarm.ts +21 -10
  371. package/src/assembly/recovery/device-loss-fanout.ts +13 -0
  372. package/src/assembly/recovery/renderer-recover.ts +41 -18
  373. package/src/assembly/render-feature-post-processes.ts +54 -0
  374. package/src/assembly/renderer-facade.ts +4 -1
  375. package/src/assembly/renderer-feature-inspection.ts +8 -2
  376. package/src/assembly/renderer-frame-transaction.ts +23 -0
  377. package/src/assembly/renderer-inspection.ts +28 -0
  378. package/src/assembly/skin-palette-owner.ts +1 -1
  379. package/src/assembly/temporal-post-process-prewarm.ts +3 -3
  380. package/src/assembly/webgpu-pbr-ready.ts +9 -1
  381. package/src/assembly/webgpu-ready-per-pass.ts +104 -0
  382. package/src/assembly/webgpu-ready.ts +115 -61
  383. package/src/assembly/webgpu-renderer-bootstrap.ts +0 -12
  384. package/src/assembly/webgpu-renderer-observation-owner.ts +222 -0
  385. package/src/assembly/webgpu-renderer.ts +214 -252
  386. package/src/assembly/webgpu-vertex-layouts.ts +1 -1
  387. package/src/barrel-distortion.ts +247 -0
  388. package/src/cloud/__tests__/cloud-density-parity.dawn.test.ts +173 -0
  389. package/src/cloud/__tests__/cloud-layer-framebuffer-y.dawn.test.ts +265 -0
  390. package/src/cloud/__tests__/cloud-layer.browser.test.ts +432 -0
  391. package/src/cloud/__tests__/cloud-layer.unit.test.ts +634 -0
  392. package/src/cloud/density.ts +600 -0
  393. package/src/cloud/extract.ts +110 -0
  394. package/src/cloud/feature.ts +1810 -0
  395. package/src/cloud/frame-context.ts +42 -0
  396. package/src/cloud/inspection.ts +130 -0
  397. package/src/cloud/optics.ts +285 -0
  398. package/src/cloud/parameters.ts +255 -0
  399. package/src/cloud/resources.ts +122 -0
  400. package/src/cloud/shadow.ts +167 -0
  401. package/src/cloud/temporal.ts +226 -0
  402. package/src/components/barrel-distortion.ts +46 -0
  403. package/src/components/cloud-layer.ts +47 -0
  404. package/src/components/index.ts +2 -0
  405. package/src/components/instances.ts +18 -45
  406. package/src/components/sprite-instances.ts +1 -1
  407. package/src/construct-renderer.ts +1 -1
  408. package/src/dynamic-geometry.ts +12 -1
  409. package/src/errors/cloud.ts +103 -0
  410. package/src/errors/render.ts +44 -7
  411. package/src/examples/single-layer-medium-surface.ts +59 -0
  412. package/src/extract/camera.ts +15 -1
  413. package/src/extract/contracts.ts +5 -0
  414. package/src/features/barrel-distortion.ts +172 -0
  415. package/src/features/error-reporting.ts +26 -6
  416. package/src/features/host.ts +115 -14
  417. package/src/features/plan.ts +8 -0
  418. package/src/features/render-graph-contribution.ts +9 -0
  419. package/src/features/render-graph-raster.ts +45 -3
  420. package/src/features/targets.ts +66 -0
  421. package/src/features/types.ts +47 -0
  422. package/src/fullscreen-post-process-pass.ts +41 -9
  423. package/src/gpu-dirty-ranges.ts +48 -0
  424. package/src/gpu-driven/batch-topology.ts +53 -0
  425. package/src/gpu-driven/material-artifacts.ts +33 -25
  426. package/src/gpu-driven/prepared-draw.ts +12 -4
  427. package/src/gpu-driven/production-raster-material.ts +1894 -0
  428. package/src/gpu-driven/production-raster.ts +825 -784
  429. package/src/gpu-driven/resource-allocation.ts +142 -0
  430. package/src/gpu-driven/shadow-ownership.ts +71 -0
  431. package/src/gpu-driven/view-gpu.ts +164 -10
  432. package/src/gpu-scene.ts +75 -84
  433. package/src/hdrp-buffers.ts +4 -3
  434. package/src/ibl/skylight-bind-group.ts +49 -7
  435. package/src/index.ts +196 -9
  436. package/src/inspection-types.ts +162 -0
  437. package/src/instance-buffer-cache.ts +4 -4
  438. package/src/instances.ts +149 -569
  439. package/src/pbr-pipeline.ts +219 -13
  440. package/src/pipeline/single-layer-medium-passes.ts +267 -0
  441. package/src/pipeline/standard-forward-lane.ts +313 -57
  442. package/src/pipeline/standard-output/graph.ts +8 -2
  443. package/src/pipeline/standard-output/types.ts +12 -1
  444. package/src/pipeline/standard-pipeline.ts +291 -18
  445. package/src/pipeline/standard-post.ts +90 -24
  446. package/src/pipeline-builder.ts +1 -1
  447. package/src/plugin.ts +4 -0
  448. package/src/points-lines/__tests__/points-lines.bench.ts +17 -8
  449. package/src/prepare/prepared-graphics-resolver.ts +2 -0
  450. package/src/record/__tests__/main-pass-geometry.unit.test.ts +30 -0
  451. package/src/record/__tests__/sprite-material-abi.unit.test.ts +1 -1
  452. package/src/record/__tests__/temporal-payload.unit.test.ts +1 -1
  453. package/src/record/__tests__/transparent-group2-selection.unit.test.ts +11 -0
  454. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -0
  455. package/src/record/__tests__/view-ubo-layout.unit.test.ts +4 -3
  456. package/src/record/barrel-distortion-frame.ts +110 -0
  457. package/src/record/dynamic-geometry-consumption.ts +39 -9
  458. package/src/record/fold-buckets.ts +852 -0
  459. package/src/record/fold-instance-buffer.ts +51 -0
  460. package/src/record/frame-lighting.ts +36 -2
  461. package/src/record/frame-snapshot.ts +39 -3
  462. package/src/record/frame.ts +217 -1084
  463. package/src/record/gpu-draw-receipts.ts +38 -0
  464. package/src/record/gpu-timing.ts +48 -5
  465. package/src/record/main-pass-geometry.ts +251 -82
  466. package/src/record/main-pass-material.ts +66 -4
  467. package/src/record/main-pass-sprite-draws.ts +7 -65
  468. package/src/record/main-pass.ts +156 -20
  469. package/src/record/motion-blur-receipt.ts +91 -0
  470. package/src/record/probe-blend-buffer.ts +180 -0
  471. package/src/record/recovery-pipeline.ts +35 -3
  472. package/src/record/render-context.ts +39 -3
  473. package/src/record/shadow-pass.ts +30 -1
  474. package/src/record/skybox-post-pass.ts +28 -4
  475. package/src/record/typed-frame-graph.ts +770 -134
  476. package/src/record/view-ubo.ts +26 -3
  477. package/src/record/volume-params.ts +225 -0
  478. package/src/recovery/render-system-candidate.ts +235 -42
  479. package/src/reflection/record-owner.ts +7 -3
  480. package/src/render-contract.ts +48 -4
  481. package/src/render-graph-primitives.ts +7 -1
  482. package/src/render-pipeline.ts +130 -0
  483. package/src/render-system-extract-tail.ts +57 -61
  484. package/src/render-system-extract.ts +74 -76
  485. package/src/render-system-presentation.ts +56 -0
  486. package/src/render-system-producer-roots.ts +96 -0
  487. package/src/render-system-residency.ts +159 -0
  488. package/src/render-system.ts +347 -363
  489. package/src/scene/probe-blend.ts +96 -4
  490. package/src/scene/render-scene.ts +349 -280
  491. package/src/ssao-buffers.ts +95 -2
  492. package/src/surface/__tests__/dynamic-input.unit.test.ts +374 -0
  493. package/src/surface/__tests__/gpu-driven.unit.test.ts +87 -0
  494. package/src/surface/dynamic-input.ts +658 -0
  495. package/src/surface/gpu-driven.ts +147 -0
  496. package/src/surface/submission-observation.ts +517 -0
  497. package/src/systems/skin-palette-allocator.ts +4 -1
  498. package/src/temporal/gpu.ts +101 -17
  499. package/src/temporal/inspection.ts +7 -1
  500. package/src/temporal/standard-scene-data.ts +5 -0
  501. package/src/temporal/target-coverage-attachment.ts +4 -0
  502. package/src/transmission/__tests__/single-layer-medium.unit.test.ts +149 -0
  503. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +12 -11
  504. package/src/transmission/single-layer-medium.ts +322 -0
  505. package/src/typed-render-graph-primitives.ts +70 -2
  506. package/src/volume/component.ts +10 -9
  507. package/src/volume/extract.ts +11 -5
  508. package/src/volume/inspection.ts +3 -0
  509. package/src/volume/passes.ts +87 -4
  510. package/src/volume/resources.ts +2 -1
  511. package/dist/chunk-3RTCJTH4.mjs.map +0 -1
  512. package/dist/chunk-NB2S7ZRX.mjs.map +0 -1
  513. package/dist/chunk-NNQL7CB3.mjs +0 -1713
  514. package/dist/chunk-NNQL7CB3.mjs.map +0 -1
  515. package/dist/chunk-OO3DRYK7.mjs.map +0 -1
  516. package/dist/chunk-PA5DRJNI.mjs.map +0 -1
  517. package/dist/chunk-PLAXOOX5.mjs.map +0 -1
  518. package/dist/chunk-VOZWDM3L.mjs.map +0 -1
@@ -0,0 +1,95 @@
1
+ import type { World } from '@forgeax/engine-ecs';
2
+ import type { DispatchEntry, MaterialSnapshot, RenderableSnapshot } from '../render-system-extract';
3
+ import { type RenderFrameState, type ValidatedRenderable } from './frame-snapshot';
4
+ import { type FoldBucket, type FoldDispatchPlan } from './mesh-ssbo';
5
+ import type { PipelineState, RenderSystemInternals } from './render-context';
6
+ /**
7
+ * A frame-local material table. Repeated snapshot objects share one UBO slot;
8
+ * each renderable keeps only the slot index used by each authored material.
9
+ */
10
+ export interface MaterialSlotPlan<T extends object> {
11
+ readonly slotIndices: readonly (readonly number[])[];
12
+ readonly slots: readonly T[];
13
+ /** Index of the first renderable that referenced each slot. */
14
+ readonly slotOwners: readonly number[];
15
+ }
16
+ /**
17
+ * Intern identical material snapshots into one frame-local slot table.
18
+ * Snapshot identity is the extract layer's invalidation token, so this keeps
19
+ * the same correctness boundary while avoiding duplicate payload assembly and
20
+ * upload for repeated scene instances.
21
+ */
22
+ export declare function buildMaterialSlotPlan<T extends object>(materialGroups: readonly (readonly T[])[], bindingClass?: (material: T, owner: number) => string): MaterialSlotPlan<T>;
23
+ /**
24
+ * Return the largest complete renderable prefix supported by a shared
25
+ * mesh/material capacity. Mesh rows consume one slot per renderable; material
26
+ * rows use the deduplicated slot indices assigned in first-seen order.
27
+ */
28
+ export declare function findRenderablePrefixForSlotCapacity(materialSlotIndices: readonly (readonly number[])[], slotCapacity: number): number;
29
+ /** Count material slots reachable from a prefix of a first-seen slot plan. */
30
+ export declare function materialSlotCountForPrefix(materialSlotIndices: readonly (readonly number[])[], renderableCount: number): number;
31
+ /**
32
+ * feat-20260704 M3/w18: validate renderable handles + collect the render plan,
33
+ * extracted verbatim from `recordFrame`. Empty `renderables` input or all-
34
+ * unregistered handles both yield an empty result (the Case E clear-pass-only
35
+ * path). Builds per-entry renderState / stencilReference overlays from the
36
+ * transparent-dispatch entries, resolves each MeshFilter.assetHandle through
37
+ * the AssetRegistry + GPU store (with the sprite 9-slice mesh swap), and fires
38
+ * structured `asset-not-registered` errors for handles that fail to resolve.
39
+ *
40
+ * @internal
41
+ */
42
+ export declare function validateRenderables(internals: RenderSystemInternals, world: World, worlds: readonly World[], pipelineState: PipelineState, frameState: RenderFrameState, renderables: readonly RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], excludedEntityKeys?: ReadonlySet<number>, worldKeys?: readonly number[]): ValidatedRenderable[];
43
+ /**
44
+ * feat-20260704 M3/w18: build the dispatch-ordered render plan, extracted
45
+ * verbatim from `recordFrame`. (1) M3/w26 dispatch-ordered reorder: reorder
46
+ * `validated` to follow the transparent-dispatch order (extract-order fallback
47
+ * for unmatched entries). (2) feat-20260608 mesh-SSBO capacity gate: size the
48
+ * mesh-SSBO + material-UBO pair to the larger of entity vs cumulative
49
+ * material-slot count, truncating on ceiling (graceful degradation). (3)
50
+ * feat-20260622 fold dispatch plan: build + apply the WebGL2 uniform-cap
51
+ * fallback + bump the folded-draws metric.
52
+ *
53
+ * @internal
54
+ */
55
+ export declare function buildDispatchPlan(internals: RenderSystemInternals, validated: readonly ValidatedRenderable[], transparentDispatch: readonly DispatchEntry[], foldBuckets: readonly FoldBucket[], shadowValidated?: readonly ValidatedRenderable[], materialBindingClasses?: ReadonlyMap<string, string>): {
56
+ validatedOrdered: readonly ValidatedRenderable[];
57
+ shadowValidatedOrdered: readonly ValidatedRenderable[];
58
+ foldDispatchPlan: FoldDispatchPlan | null;
59
+ materialSlotIndices: readonly (readonly number[])[];
60
+ materialSlots: readonly MaterialSnapshot[];
61
+ materialSlotOwners: readonly ValidatedRenderable[];
62
+ materialSlotCount: number;
63
+ };
64
+ /**
65
+ * feat-20260704 M3/w18: per-frame cache clean-up (despawn eviction), extracted
66
+ * verbatim from `recordFrame`.
67
+ *
68
+ * feat-20260531-per-frame-bind-group-cache M4 / w14 (D-5): drop per-entity BG
69
+ * cache entries (materialBgPerEntity / instancesBgPerEntity) + instance buffers
70
+ * whose outer-Map entityKey (packed Entity u32) is absent from the current
71
+ * validated set, preventing unbounded growth after entity despawn. view + mesh
72
+ * caches are frame-shared (keyed by GPU resource handle objects, WeakMap chains
73
+ * naturally bounded) and are not touched. feat-20260619 M4 / F11: destroy the
74
+ * GPU instance buffer before Map.delete (D-6 symmetric release); failure fires
75
+ * errorRegistry + continues the sweep.
76
+ *
77
+ * @internal
78
+ */
79
+ export declare function cleanPerFrameCaches(internals: RenderSystemInternals, frameState: RenderFrameState, validated: readonly ValidatedRenderable[], retainedEntityKeys?: ReadonlySet<number>): void;
80
+ /**
81
+ * feat-20260704 M3/w18: record-stage fold operator linear scan, extracted
82
+ * verbatim from `recordFrame`.
83
+ *
84
+ * feat-20260622-chunk-gpu-instancing-sprite-tilemap M1 / w4 + w5 (D-1, D-5):
85
+ * groups transparent-sort-ordered dispatch entries with equal (Layer.value,
86
+ * sortKey, materialHandle) into fold buckets. Mode-gate (D-5 extended): modes 0
87
+ * (LAYER_Z) and 1 (LAYER_Y) fold using the pos z/y lanes; modes 2/3 bypass per-entity
88
+ * (each entry a singleton bucket). Records `frameState.lastFoldBucketCount` =
89
+ * fold-eligible buckets (bucketSize > 1) for the AC-06 metric. Empty dispatch
90
+ * short-circuits (test fixtures pass null world).
91
+ *
92
+ * @internal
93
+ */
94
+ export declare function computeFoldBuckets(world: World, frameState: RenderFrameState, transparentDispatch: readonly DispatchEntry[], renderables: readonly RenderableSnapshot[]): readonly FoldBucket[];
95
+ //# sourceMappingURL=fold-buckets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-buckets.d.ts","sourceRoot":"","sources":["../../src/record/fold-buckets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAUjD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAMpG,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAEzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM;IAChD,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACpD,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EACzC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GACpD,gBAAgB,CAAC,CAAC,CAAC,CAsBrB;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACnD,YAAY,EAAE,MAAM,GACnB,MAAM,CAUR;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CACxC,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACnD,eAAe,EAAE,MAAM,GACtB,MAAM,CAMR;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,EAChC,KAAK,EAAE,KAAK,EAOZ,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,SAAS,kBAAkB,EAAE,EAC1C,mBAAmB,EAAE,SAAS,aAAa,EAAE,EAC7C,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAAqB,EAC3D,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAC5B,mBAAmB,EAAE,CAuJvB;AAkGD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,SAAS,EAAE,SAAS,mBAAmB,EAAE,EACzC,mBAAmB,EAAE,SAAS,aAAa,EAAE,EAC7C,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,eAAe,GAAE,SAAS,mBAAmB,EAAO,EACpD,sBAAsB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACnD;IACD,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,sBAAsB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvD,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACpD,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CA+OA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,SAAS,mBAAmB,EAAE,EACzC,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAAqB,GAC1D,IAAI,CA0EN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,mBAAmB,EAAE,SAAS,aAAa,EAAE,EAC7C,WAAW,EAAE,SAAS,kBAAkB,EAAE,GACzC,SAAS,UAAU,EAAE,CAoDvB"}
@@ -0,0 +1,6 @@
1
+ import type { Buffer } from '@forgeax/engine-rhi';
2
+ import { type FoldBucket } from './mesh-ssbo';
3
+ import type { _InternalRenderPipelineContext } from './render-context';
4
+ /** Both transparent draw owners consume one fold payload and resident cache. */
5
+ export declare function resolveFoldInstanceBuffer(c: _InternalRenderPipelineContext, bucket: FoldBucket, headIndex: number): Buffer | null;
6
+ //# sourceMappingURL=fold-instance-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-instance-buffer.d.ts","sourceRoot":"","sources":["../../src/record/fold-instance-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvE,gFAAgF;AAChF,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,8BAA8B,EACjC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAmCf"}
@@ -34,6 +34,7 @@ export declare function projectDeviceOwnedBindGroup<T>(state: {
34
34
  export declare function buildPerFrameBindGroups(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState, hasValidated: boolean, bindGroupCounts: BindGroupCounts, graphTargets?: {
35
35
  readonly directionalShadow?: TextureView | undefined;
36
36
  readonly spotShadow?: TextureView | undefined;
37
+ readonly cloudShadow?: TextureView | undefined;
37
38
  readonly projector?: TextureView | undefined;
38
39
  readonly projectorSampler?: import('@forgeax/engine-rhi').Sampler | undefined;
39
40
  }, includeView?: boolean, standardLighting?: StandardTopologyInputValue): {
@@ -1 +1 @@
1
- {"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { World } from '@forgeax/engine-ecs';
2
2
  import type { RenderReadVersion } from '@forgeax/engine-ecs/projection';
3
3
  import type { CompiledRenderGraphInfo, ResolvedColorTargetDescriptor } from '@forgeax/engine-render-graph';
4
4
  import type { BindGroup, BindGroupLayout, Buffer, RhiDevice, Texture, TextureView } from '@forgeax/engine-rhi';
5
+ import type { MaterialShaderArtifact } from '@forgeax/engine-shader';
6
+ import type { BarrelDistortionMapping } from '../barrel-distortion';
5
7
  import type { ClusterBinScratch } from '../cluster-binner';
6
8
  import type { DirectionalShadowQuality } from '../components/directional-shadow-filter';
7
9
  import type { EnvironmentGeneration } from '../environment/generation';
@@ -9,7 +11,7 @@ import type { EnvironmentLifecycle } from '../environment/lifecycle';
9
11
  import type { DepthOfFieldParams } from '../features/depth-of-field/depth-of-field-params';
10
12
  import type { GpuBuffer } from '../gpu-resource';
11
13
  import type { MotionBlurExecutionReceipt } from '../inspection-types';
12
- import type { InstanceCollectionStore } from '../instances';
14
+ import type { InstanceProjectionStore } from '../instances';
13
15
  import type { IblBindingInspection } from '../mesh-material-bindings';
14
16
  import type { StandardLightingInspection } from '../pipeline/standard-lighting/inspection';
15
17
  import type { AutoExposureGpuResources } from '../pipeline/standard-output/auto-exposure/gpu';
@@ -278,6 +280,12 @@ export declare function makeZeroCameraFallbackSnapshot(): CameraSnapshot;
278
280
  */
279
281
  export interface RenderFrameState {
280
282
  frameNumber: number;
283
+ /** Actual Surface commands staged for the renderer-owned submission fence. */
284
+ surfaceSubmissionObservation: import('../surface/submission-observation').SurfaceSubmissionCandidate | undefined;
285
+ /** Exact producer artifacts accepted by the last submitted GPU frame. */
286
+ recoveryMaterialArtifacts?: ReadonlyMap<string, MaterialShaderArtifact> | undefined;
287
+ /** Exact ShadowCaster artifacts accepted by the last submitted GPU frame. */
288
+ recoveryShadowMaterialArtifacts?: ReadonlyMap<string, MaterialShaderArtifact> | undefined;
281
289
  /** Last successful Motion Blur compute execution; failed submits retain the prior receipt. */
282
290
  motionBlurExecution?: MotionBlurExecutionReceipt;
283
291
  /** Final-submit Standard IBL binding-chain receipt for this frame. */
@@ -348,6 +356,18 @@ export interface RenderFrameState {
348
356
  } | undefined;
349
357
  /** A DoF candidate was present when the frame failed to submit. */
350
358
  depthOfFieldLastSubmitFailed?: boolean | undefined;
359
+ /**
360
+ * General graph replacement staged by the barrel/output path. The candidate
361
+ * is promoted only after the surrounding command buffer submits; failed
362
+ * encode/finish/submit restores the complete graph projection as one unit.
363
+ */
364
+ barrelDistortionPreviousGraph?: CompiledRenderGraph<RenderPipelineFrame> | null;
365
+ barrelDistortionPreviousGraphKey?: string | null;
366
+ barrelDistortionPreviousPerFrameGraph?: RenderFrameState['perFrameGraph'];
367
+ barrelDistortionPreviousGraphGeneration?: number;
368
+ barrelDistortionPreviousCompiledGraphGeneration?: number;
369
+ barrelDistortionPreviousStandardLightingGraphSignature?: string;
370
+ barrelDistortionCandidateGraph?: CompiledRenderGraph<RenderPipelineFrame> | null;
351
371
  /**
352
372
  * Last-known-good graph held while a volume topology candidate is tested.
353
373
  * The candidate is promoted only after its command buffer is submitted;
@@ -384,6 +404,10 @@ export interface RenderFrameState {
384
404
  reflectionFallbackCompletion?: Promise<void> | undefined;
385
405
  /** Camera antialias mode for the last successfully submitted graph. */
386
406
  lastSuccessfulCameraAntialias: CameraSnapshot['antialias'] | undefined;
407
+ /** Last accepted output-space barrel mapping, promoted with the picture. */
408
+ lastSuccessfulBarrelDistortion: BarrelDistortionMapping | undefined;
409
+ /** Whether the current frame graph was retained from an accepted LKG. */
410
+ barrelDistortionGraphResolution?: 'accepted' | 'retained';
387
411
  /** Staged TAA GPU state is promoted only after queue.submit succeeds. */
388
412
  temporalGpuState: TemporalGpuState | undefined;
389
413
  /** Device-scoped auto-exposure buffers imported by the Standard graph. */
@@ -406,6 +430,10 @@ export interface RenderFrameState {
406
430
  activeTemporalGpuState: TemporalGpuState | undefined;
407
431
  /** Submitted temporal generations retained until their queue fence resolves. */
408
432
  readonly retiringTemporalGpuStates: Set<TemporalGpuState>;
433
+ /** The accepted graph currently owns CloudLayer ping-pong history. */
434
+ cloudHistoryActive?: boolean;
435
+ /** Candidate CloudLayer history ownership, promoted only after submit. */
436
+ pendingCloudHistoryActive?: boolean;
409
437
  /** Last successful projection; candidate frames never overwrite it. */
410
438
  lastSuccessfulTemporalView: TemporalView | undefined;
411
439
  pendingTemporalCommit: TemporalCommitOutcome;
@@ -417,8 +445,8 @@ export interface RenderFrameState {
417
445
  currentDirectionalShadowView: TextureView | null;
418
446
  currentSpotShadowView: TextureView | null;
419
447
  readonly instanceBuffers: Map<number, InstanceBufferCacheEntry>;
420
- /** Renderer-owned collection owner used for record-stage residency facts. */
421
- readonly instanceCollections?: InstanceCollectionStore;
448
+ /** Renderer-private World projection receiving record-stage residency facts. */
449
+ readonly instanceCollections?: InstanceProjectionStore;
422
450
  /** Stable buffers for renderer-owned collections split by device cap. */
423
451
  readonly instanceBufferChunks?: Map<string, InstanceBufferCacheEntry>;
424
452
  /** Per-object ProbeBlendRecord buffers; upload is one atomic 160B write. */
@@ -426,6 +454,12 @@ export interface RenderFrameState {
426
454
  /** One renderer-owned record array; each object selects its 256B-aligned lane. */
427
455
  probeBlendRecordBuffer?: GpuBuffer;
428
456
  probeBlendRecordBufferCapacity: number;
457
+ /** Last producer revision fully uploaded to the current device buffer. */
458
+ probeBlendRecordProjection?: {
459
+ readonly projection: import('../scene/probe-blend').ProbeBlendBufferProjection;
460
+ readonly device: RhiDevice;
461
+ readonly buffer: GpuBuffer | undefined;
462
+ };
429
463
  /** Per-entity vertex buffers for the Standard CPU morph lane. */
430
464
  readonly morphBuffers?: Map<number, MorphBufferCacheEntry>;
431
465
  readonly hdrpClusterBinScratch: ClusterBinScratch;
@@ -1 +1 @@
1
- {"version":3,"file":"frame-snapshot.d.ts","sourceRoot":"","sources":["../../src/record/frame-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-snapshot.d.ts","sourceRoot":"","sources":["../../src/record/frame-snapshot.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,23 @@ import { type World } from '@forgeax/engine-ecs';
3
3
  import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
4
4
  import { type CurrentFrameObservationLease } from '@forgeax/engine-render-graph';
5
5
  import { type Result, type TextureFormat } from '@forgeax/engine-rhi';
6
+ import type { ExtractedCloudLayer } from '../cloud/extract';
6
7
  import type { MeshGpuHandles } from '../device/gpu-residency';
7
8
  import { ObservationUnavailableError } from '../errors/render';
8
9
  import type { GpuDrivenProduction } from '../gpu-driven/production-raster';
9
10
  import type { GpuDrivenLodSubmitIdentity } from '../gpu-driven/view-gpu';
10
11
  import type { CameraSnapshot, CubeCameraSnapshot, RenderRecordPhase } from '../render-contract';
11
- import type { DispatchEntry, ExtractedLights, ExtractedVolumetricFog, MaterialSnapshot, RenderableSnapshot, ShadowCasterMembership, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
12
+ import type { DispatchEntry, ExtractedLights, ExtractedVolumetricFog, RenderableSnapshot, ShadowCasterMembership, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
12
13
  import type { PersistentGpuDrivenState, PersistentShadowCasterProjection } from '../scene/render-scene';
13
14
  import type { OcclusionFrameProjection } from '../scene/visibility/occlusion-runtime';
14
15
  import { type SsrDependenciesInspection } from '../ssr/admission';
16
+ import type { SurfaceDynamicInputFrame } from '../surface/dynamic-input';
15
17
  import type { TransmissionDemand } from '../transmission/projection';
16
18
  import { prepareFrameLighting } from './frame-lighting';
17
19
  import { type BindGroupCounts, type DispatchCounts, type FrameObservationSource, type RenderFrameState, type ValidatedRenderable } from './frame-snapshot';
18
- import { type FoldBucket, type FoldDispatchPlan } from './mesh-ssbo';
20
+ import { type RenderableDrawReceipt } from './gpu-draw-receipts';
19
21
  import type { PipelineState, RenderSystemInternals } from './render-context';
22
+ export { buildDispatchPlan, buildMaterialSlotPlan, findRenderablePrefixForSlotCapacity, materialSlotCountForPrefix, validateRenderables, } from './fold-buckets';
20
23
  export type { FrameObservationSource } from './frame-snapshot';
21
24
  export type FrameObservationReadback = (lease: CurrentFrameObservationLease) => Promise<Result<Uint8Array, Error>>;
22
25
  export interface FrameObservationOptions {
@@ -56,31 +59,6 @@ import { type CubeCaptureGraphState, type RenderFeatureGraphCandidate } from './
56
59
  * process-static entries and may be read from PipelineState.meshes.
57
60
  */
58
61
  export declare function gpuDrivenMeshesForFrame(internals: RenderSystemInternals, pipelineState: PipelineState, worlds: readonly World[], scene: PersistentGpuDrivenState | undefined): ReadonlyMap<number, MeshGpuHandles>;
59
- /**
60
- * A frame-local material table. Repeated snapshot objects share one UBO slot;
61
- * each renderable keeps only the slot index used by each authored material.
62
- */
63
- export interface MaterialSlotPlan<T extends object> {
64
- readonly slotIndices: readonly (readonly number[])[];
65
- readonly slots: readonly T[];
66
- /** Index of the first renderable that referenced each slot. */
67
- readonly slotOwners: readonly number[];
68
- }
69
- /**
70
- * Intern identical material snapshots into one frame-local slot table.
71
- * Snapshot identity is the extract layer's invalidation token, so this keeps
72
- * the same correctness boundary while avoiding duplicate payload assembly and
73
- * upload for repeated scene instances.
74
- */
75
- export declare function buildMaterialSlotPlan<T extends object>(materialGroups: readonly (readonly T[])[], bindingClass?: (material: T, owner: number) => string): MaterialSlotPlan<T>;
76
- /**
77
- * Return the largest complete renderable prefix supported by a shared
78
- * mesh/material capacity. Mesh rows consume one slot per renderable; material
79
- * rows use the deduplicated slot indices assigned in first-seen order.
80
- */
81
- export declare function findRenderablePrefixForSlotCapacity(materialSlotIndices: readonly (readonly number[])[], slotCapacity: number): number;
82
- /** Count material slots reachable from a prefix of a first-seen slot plan. */
83
- export declare function materialSlotCountForPrefix(materialSlotIndices: readonly (readonly number[])[], renderableCount: number): number;
84
62
  export type RecordProfileRunner = <T>(phase: RenderRecordPhase, action: () => T) => T;
85
63
  export interface CubeCaptureFrameInput {
86
64
  readonly captureDispatch?: readonly DispatchEntry[];
@@ -98,38 +76,9 @@ export declare function recordFrame(internals: RenderSystemInternals, world: Wor
98
76
  readonly telemetryCandidateCount?: number;
99
77
  readonly telemetrySubmit?: GpuDrivenLodSubmitIdentity;
100
78
  readonly occlusion?: OcclusionFrameProjection;
101
- }, renderReadLeases?: readonly RenderReadLease[], featureGraphCandidate?: RenderFeatureGraphCandidate, pointsLinesOwner?: import('./render-context').PointsLinesRecordOwner, cubeCapture?: CubeCaptureFrameInput, environmentSignature?: string, fogSignature?: string, environmentReady?: boolean, transmissionDemand?: TransmissionDemand, shadowCasterEntityKeys?: ReadonlySet<number>, shadowCasterDrawKeys?: ReadonlySet<string> | undefined, volumetricFog?: ExtractedVolumetricFog, timingCapture?: GpuTimingCapture, shadowCasterMembership?: readonly ShadowCasterMembership[], shadowCasterProjection?: PersistentShadowCasterProjection, shadowCasterWorldKeys?: readonly number[], preparedLighting?: ReturnType<typeof prepareFrameLighting>, ssrDependencies?: SsrDependenciesInspection, onRenderableDraw?: (entry: ValidatedRenderable) => void, analyticFog?: FogFrame, sampleTimeSeconds?: number, temporalReset?: boolean): boolean;
102
- /**
103
- * feat-20260704 M3/w18: validate renderable handles + collect the render plan,
104
- * extracted verbatim from `recordFrame`. Empty `renderables` input or all-
105
- * unregistered handles both yield an empty result (the Case E clear-pass-only
106
- * path). Builds per-entry renderState / stencilReference overlays from the
107
- * transparent-dispatch entries, resolves each MeshFilter.assetHandle through
108
- * the AssetRegistry + GPU store (with the sprite 9-slice mesh swap), and fires
109
- * structured `asset-not-registered` errors for handles that fail to resolve.
110
- *
111
- * @internal
112
- */
113
- export declare function validateRenderables(internals: RenderSystemInternals, world: World, worlds: readonly World[], pipelineState: PipelineState, frameState: RenderFrameState, renderables: readonly RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], excludedEntityKeys?: ReadonlySet<number>, worldKeys?: readonly number[]): ValidatedRenderable[];
114
- /**
115
- * feat-20260704 M3/w18: build the dispatch-ordered render plan, extracted
116
- * verbatim from `recordFrame`. (1) M3/w26 dispatch-ordered reorder: reorder
117
- * `validated` to follow the transparent-dispatch order (extract-order fallback
118
- * for unmatched entries). (2) feat-20260608 mesh-SSBO capacity gate: size the
119
- * mesh-SSBO + material-UBO pair to the larger of entity vs cumulative
120
- * material-slot count, truncating on ceiling (graceful degradation). (3)
121
- * feat-20260622 fold dispatch plan: build + apply the WebGL2 uniform-cap
122
- * fallback + bump the folded-draws metric.
123
- *
124
- * @internal
125
- */
126
- export declare function buildDispatchPlan(internals: RenderSystemInternals, validated: readonly ValidatedRenderable[], transparentDispatch: readonly DispatchEntry[], foldBuckets: readonly FoldBucket[], shadowValidated?: readonly ValidatedRenderable[], materialBindingClasses?: ReadonlyMap<string, string>): {
127
- validatedOrdered: readonly ValidatedRenderable[];
128
- shadowValidatedOrdered: readonly ValidatedRenderable[];
129
- foldDispatchPlan: FoldDispatchPlan | null;
130
- materialSlotIndices: readonly (readonly number[])[];
131
- materialSlots: readonly MaterialSnapshot[];
132
- materialSlotOwners: readonly ValidatedRenderable[];
133
- materialSlotCount: number;
134
- };
79
+ readonly frameTime?: number;
80
+ readonly deviceGeneration?: number;
81
+ readonly surfaceDynamicInput?: SurfaceDynamicInputFrame;
82
+ readonly geometryLane?: 'automatic' | 'direct';
83
+ }, renderReadLeases?: readonly RenderReadLease[], featureGraphCandidate?: RenderFeatureGraphCandidate, pointsLinesOwner?: import('./render-context').PointsLinesRecordOwner, cubeCapture?: CubeCaptureFrameInput, environmentSignature?: string, fogSignature?: string, environmentReady?: boolean, transmissionDemand?: TransmissionDemand, shadowCasterEntityKeys?: ReadonlySet<number>, shadowCasterDrawKeys?: ReadonlySet<string> | undefined, volumetricFog?: ExtractedVolumetricFog, timingCapture?: GpuTimingCapture, shadowCasterMembership?: readonly ShadowCasterMembership[], shadowCasterProjection?: PersistentShadowCasterProjection, shadowCasterWorldKeys?: readonly number[], preparedLighting?: ReturnType<typeof prepareFrameLighting>, ssrDependencies?: SsrDependenciesInspection, onRenderableDraw?: (entry: ValidatedRenderable, submeshIndex?: number, receipt?: RenderableDrawReceipt) => void, analyticFog?: FogFrame, sampleTimeSeconds?: number, temporalReset?: boolean, cloudLayer?: ExtractedCloudLayer): boolean;
135
84
  //# sourceMappingURL=frame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/record/frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/record/frame.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { RenderableSnapshot } from '../render-system-extract';
2
+ /** Internal receipt for one concrete CPU/GPU presentation draw unit. */
3
+ export interface RenderableDrawReceipt {
4
+ readonly lane: 'cpu' | 'gpu';
5
+ readonly ready: boolean;
6
+ }
7
+ /** Emit receipts only for draw items claimed by the GPU raster owner. */
8
+ export declare function emitGpuDrivenDrawReceipts<T extends {
9
+ readonly source: Pick<RenderableSnapshot, 'worldId' | 'entityKey' | 'material' | 'materials' | 'gpuDrivenDraws'>;
10
+ }>(entry: T, drawKeys: ReadonlySet<string>, onRenderableDraw: (entry: T, submeshIndex: number, receipt: RenderableDrawReceipt) => void): void;
11
+ //# sourceMappingURL=gpu-draw-receipts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu-draw-receipts.d.ts","sourceRoot":"","sources":["../../src/record/gpu-draw-receipts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CACvC,CAAC,SAAS;IACR,QAAQ,CAAC,MAAM,EAAE,IAAI,CACnB,kBAAkB,EAClB,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,gBAAgB,CACtE,CAAC;CACH,EAED,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,GACzF,IAAI,CAeN"}
@@ -17,6 +17,14 @@ export type VolumeTimingObservation = {
17
17
  readonly name: string;
18
18
  readonly milliseconds: number;
19
19
  }[];
20
+ /** Cloud producer timings captured by the same physical timestamp lane. */
21
+ readonly cloud?: {
22
+ readonly totalMs: number;
23
+ readonly passes: readonly {
24
+ readonly name: string;
25
+ readonly milliseconds: number;
26
+ }[];
27
+ };
20
28
  } | {
21
29
  readonly status: 'unavailable';
22
30
  readonly reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-timing.d.ts","sourceRoot":"","sources":["../../src/record/gpu-timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAsBxD,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAS1C,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtF,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAMN,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAe3B,OAAO;IAcP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,QAAQ,CAAC;IAyChF;;;;OAIG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,cAAc,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAwB3C,uEAAuE;IACvE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMrC,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;IAkB3D,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;IAQf,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;CA2FhD"}
1
+ {"version":3,"file":"gpu-timing.d.ts","sourceRoot":"","sources":["../../src/record/gpu-timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAkCxD,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAS1C,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrF,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACtF,CAAC;CACH,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAMN,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAe3B,OAAO;IAcP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,QAAQ,CAAC;IAyChF;;;;OAIG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,cAAc,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAwB3C,uEAAuE;IACvE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMrC,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;IAkB3D,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;IAQf,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAqHhD"}
@@ -3,6 +3,7 @@ import { type BindGroup, type Buffer, type RhiRenderPassEncoder } from '@forgeax
3
3
  import type { ParamSchemaEntry, PassKind } from '@forgeax/engine-types';
4
4
  import type { PointsLinesRecordPlan } from '../points-lines/record';
5
5
  import type { DispatchEntry, MaterialSnapshot, RenderableSnapshot } from '../render-system-extract';
6
+ import type { SurfacePassName } from '../surface/submission-observation';
6
7
  import { geometryRenderStateForTopology } from './main-pass-material';
7
8
  import type { _InternalRenderPipelineContext } from './render-context';
8
9
  /** Temporal ignores authored color entry points; opaque duplicates are idempotent. */
@@ -10,9 +11,15 @@ export declare function sameOpaqueTemporalDraw(a: DispatchEntry, b: DispatchEntr
10
11
  type GeometryInstanceDraw = {
11
12
  readonly instanceBuffer: Buffer;
12
13
  readonly instanceBindGroup: BindGroup;
14
+ /** Producer-owned Probe buffer paired with probeOffset, when present. */
15
+ readonly probeBuffer?: Buffer;
13
16
  /** -1 means the no-probe layout and therefore no dynamic offset. */
14
17
  readonly probeOffset: number;
18
+ readonly dynamicOffsets?: readonly number[];
15
19
  readonly instanceCount: number;
20
+ readonly firstInstanceOrdinal?: number;
21
+ readonly surfaceFrameBase?: number;
22
+ readonly surfaceMemberIds?: readonly string[];
16
23
  };
17
24
  type GeometryRenderState = ReturnType<typeof geometryRenderStateForTopology>;
18
25
  /** Coverage is a dedicated temporal material variant, not a color/alpha tap. */
@@ -39,6 +46,13 @@ export declare function effectiveMaterialLayoutIdentity(materialShaderId: string
39
46
  * surface.
40
47
  */
41
48
  export declare function geometryRenderStateForPass(base: GeometryRenderState, passKind: PassKind, coverageOnly?: boolean): GeometryRenderState;
49
+ /**
50
+ * Transparent depth is an authored medium policy. A transparent pass with no
51
+ * explicit depth-write bit remains read-only, which keeps alpha smoke and
52
+ * ordinary blending from becoming an opaque occluder; water or a cutout-like
53
+ * medium can opt in by setting the bit on its own pass state.
54
+ */
55
+ export declare function authoredTransparentDepthWrite(transparent: boolean | undefined, renderState: MaterialSnapshot['renderState']): boolean;
42
56
  /**
43
57
  * Issues a prepared Points/Lines draw into the already-open geometry pass.
44
58
  * Pass lifetime, attachments, bind groups, and submission remain owned by the
@@ -59,8 +73,8 @@ export declare function recordPointsLinesDraw(pass: RhiRenderPassEncoder, plan:
59
73
  *
60
74
  * @internal
61
75
  */
62
- export declare function recordGeometryDraws(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedMaterials: ReadonlyMap<number, ReadonlySet<number>> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, meshGroup2: BindGroup | null, meshBindGroup: BindGroup | null, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World, materialShaderId?: string) => BindGroup, passKind?: PassKind, selectedDispatch?: readonly DispatchEntry[], colorFormats?: readonly GPUTextureFormat[], coverageOnly?: boolean): void;
63
- export declare function reportInstanceResidency(c: _InternalRenderPipelineContext, inst: NonNullable<RenderableSnapshot['instances']>, input: {
76
+ export declare function recordGeometryDraws(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedMaterials: ReadonlyMap<number, ReadonlySet<number>> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, meshGroup2: BindGroup | null, meshBindGroup: BindGroup | null, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World, materialShaderId?: string) => BindGroup, passKind?: PassKind, selectedDispatch?: readonly DispatchEntry[], colorFormats?: readonly GPUTextureFormat[], coverageOnly?: boolean, fragmentEntryPoint?: string, surfacePass?: SurfacePassName, transparentDepthWrite?: boolean): void;
77
+ export declare function reportInstanceResidency(c: InstanceBufferContext, inst: NonNullable<RenderableSnapshot['instances']>, input: {
64
78
  readonly lane: 'direct-storage' | 'chunked-storage' | 'direct-uniform' | 'chunked-uniform';
65
79
  readonly requestedBytes: number;
66
80
  readonly supportedBytes: number | undefined;
@@ -70,11 +84,13 @@ export declare function reportInstanceResidency(c: _InternalRenderPipelineContex
70
84
  }[];
71
85
  readonly uploadedBytes: number;
72
86
  }): void;
73
- export declare function resolveStorageInstanceChunks(c: _InternalRenderPipelineContext, entry: _InternalRenderPipelineContext['validatedOrdered'][number], inst: NonNullable<RenderableSnapshot['instances']>, cap: number, probeBuffer: Buffer | undefined, probeOffset: number): readonly GeometryInstanceDraw[] | null;
74
- export declare function resolveProbeBlendBuffer(c: _InternalRenderPipelineContext, record: import('../scene/probe-blend-record').ProbeBlendRecord | undefined, entityKey?: number): {
87
+ export declare function resolveStorageInstanceChunks(c: InstanceBufferContext, entry: _InternalRenderPipelineContext['validatedOrdered'][number], inst: NonNullable<RenderableSnapshot['instances']>, cap: number, probeBuffer: Buffer | undefined, probeOffset: number): readonly GeometryInstanceDraw[] | null;
88
+ type InstanceBufferContext = Pick<_InternalRenderPipelineContext, 'runtime' | 'pipelineState' | 'frameState' | 'bindGroupCounts'>;
89
+ export declare function resolveGeometryInstanceBuffer(c: InstanceBufferContext, entry: _InternalRenderPipelineContext['validatedOrdered'][number], identityInstanceDraws: readonly GeometryInstanceDraw[], useProbeBlend: boolean): readonly GeometryInstanceDraw[] | null;
90
+ export declare function resolveProbeBlendBuffer(c: InstanceBufferContext, record: import('../scene/probe-blend-record').ProbeBlendRecord | undefined, entityKey?: number): {
75
91
  readonly buffer: Buffer;
76
92
  readonly offset: number;
77
93
  };
78
- export declare function resolveGeometryInstancesBindGroup(c: _InternalRenderPipelineContext, instanceBuffer: Buffer, probeBuffer?: Buffer): BindGroup;
94
+ export declare function resolveGeometryInstancesBindGroup(c: InstanceBufferContext, instanceBuffer: Buffer, probeBuffer?: Buffer): BindGroup;
79
95
  export {};
80
96
  //# sourceMappingURL=main-pass-geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main-pass-geometry.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main-pass-geometry.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-geometry.ts"],"names":[],"mappings":"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"}
@@ -226,11 +226,17 @@ export interface PerSubmeshMaterialBgDeps {
226
226
  readonly sceneMaterialBuffer?: Buffer;
227
227
  /** Active transmission backdrop; undefined/null means layout placeholder. */
228
228
  readonly transmissionBackdropView?: TextureView | null;
229
+ /** Independent sampled raw depth for the active medium graph pass. */
230
+ readonly surfaceRawDepthView?: TextureView | null;
231
+ /** Nearest-layer color from the preceding medium graph pass. */
232
+ readonly surfaceNearestLayerView?: TextureView | null;
233
+ /** Nearest-layer depth from the preceding medium graph pass. */
234
+ readonly surfaceNearestDepthView?: TextureView | null;
229
235
  readonly bindGroupCounts: BindGroupCounts;
230
236
  readonly frameState: RenderFrameState;
231
237
  }
232
238
  /** @internal Exported only so buffer-generation invalidation stays regression-tested. */
233
- export declare function isMaterialBgAssemblyCacheHit(cached: MaterialBgAssemblyCacheEntry | undefined, material: MaterialSnapshot, materialBgl: BindGroupLayout, materialBuffer: Buffer, skylightResources: SkylightBindGroupResources, materialResourceEpoch: number, transmissionBackdropView?: TextureView | null, sceneMaterialBuffer?: Buffer): cached is MaterialBgAssemblyCacheEntry;
239
+ export declare function isMaterialBgAssemblyCacheHit(cached: MaterialBgAssemblyCacheEntry | undefined, material: MaterialSnapshot, materialBgl: BindGroupLayout, materialBuffer: Buffer, skylightResources: SkylightBindGroupResources, materialResourceEpoch: number, transmissionBackdropView?: TextureView | null, sceneMaterialBuffer?: Buffer, surfaceRawDepthView?: TextureView | null): cached is MaterialBgAssemblyCacheEntry;
234
240
  export declare function buildPerSubmeshMaterialBg(deps: PerSubmeshMaterialBgDeps, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld?: World, materialShaderId?: string | undefined): BindGroup;
235
241
  /** The same scene resources back material bindings in depth and color passes. */
236
242
  /**