@forgeax/engine-render 0.1.3 → 0.1.6

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 (918) hide show
  1. package/README.md +130 -641
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts +2 -0
  4. package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts.map +1 -0
  5. package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts +2 -0
  6. package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts.map +1 -0
  7. package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts +2 -0
  8. package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts.map +1 -0
  9. package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts.map +1 -1
  10. package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts +6 -0
  11. package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts.map +1 -1
  12. package/dist/{gpu-driven/view-reference.d.ts → __tests__/gpu-driven-view-reference.d.ts} +4 -4
  13. package/dist/__tests__/gpu-driven-view-reference.d.ts.map +1 -0
  14. package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts.map +1 -1
  15. package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts +2 -0
  16. package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts.map +1 -0
  17. package/dist/__tests__/morph-feature-plan.unit.test.d.ts +2 -0
  18. package/dist/__tests__/morph-feature-plan.unit.test.d.ts.map +1 -0
  19. package/dist/__tests__/render-feature-plan.test-d.d.ts +2 -0
  20. package/dist/__tests__/render-feature-plan.test-d.d.ts.map +1 -0
  21. package/dist/__tests__/render-feature-plan.unit.test.d.ts +2 -0
  22. package/dist/__tests__/render-feature-plan.unit.test.d.ts.map +1 -0
  23. package/dist/__tests__/ssao-config.unit.test.d.ts +2 -0
  24. package/dist/__tests__/ssao-config.unit.test.d.ts.map +1 -0
  25. package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts +2 -0
  26. package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts.map +1 -0
  27. package/dist/__tests__/standard-descriptors.test-d.d.ts +2 -0
  28. package/dist/__tests__/standard-descriptors.test-d.d.ts.map +1 -0
  29. package/dist/__tests__/standard-pipeline.dawn.test.d.ts +2 -0
  30. package/dist/__tests__/standard-pipeline.dawn.test.d.ts.map +1 -0
  31. package/dist/__tests__/standard-pipeline.integration.test.d.ts +2 -0
  32. package/dist/__tests__/standard-pipeline.integration.test.d.ts.map +1 -0
  33. package/dist/__tests__/standard-profile-oracle.unit.test.d.ts +2 -0
  34. package/dist/__tests__/standard-profile-oracle.unit.test.d.ts.map +1 -0
  35. package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts +2 -0
  36. package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts.map +1 -0
  37. package/dist/{renderer/backend-selection.d.ts → assembly/backend-contract.d.ts} +15 -4
  38. package/dist/assembly/backend-contract.d.ts.map +1 -0
  39. package/dist/assembly/factory.d.ts +207 -0
  40. package/dist/assembly/factory.d.ts.map +1 -0
  41. package/dist/assembly/host-contract.d.ts +84 -0
  42. package/dist/assembly/host-contract.d.ts.map +1 -0
  43. package/dist/{renderer → assembly}/material/assembly.d.ts +1 -2
  44. package/dist/{renderer → assembly}/material/assembly.d.ts.map +1 -1
  45. package/dist/assembly/material/pipeline-projection.d.ts +30 -0
  46. package/dist/assembly/material/pipeline-projection.d.ts.map +1 -0
  47. package/dist/authoring.d.ts +10 -11
  48. package/dist/authoring.d.ts.map +1 -1
  49. package/dist/authoring.mjs +25 -3
  50. package/dist/authoring.mjs.map +1 -1
  51. package/dist/chunk-CQXZC5XI.mjs +182 -0
  52. package/dist/chunk-CQXZC5XI.mjs.map +1 -0
  53. package/dist/chunk-QC4VW3XJ.mjs +79 -0
  54. package/dist/chunk-QC4VW3XJ.mjs.map +1 -0
  55. package/dist/chunk-SCRSAK5B.mjs +480 -0
  56. package/dist/chunk-SCRSAK5B.mjs.map +1 -0
  57. package/dist/components/__tests__/schema-contract.unit.test.d.ts +2 -0
  58. package/dist/components/__tests__/schema-contract.unit.test.d.ts.map +1 -0
  59. package/dist/components/glyph-text.d.ts +1 -1
  60. package/dist/components/glyph-text.d.ts.map +1 -1
  61. package/dist/components/index.d.ts +2 -2
  62. package/dist/components/index.d.ts.map +1 -1
  63. package/dist/components/instances.d.ts +1 -1
  64. package/dist/components/instances.d.ts.map +1 -1
  65. package/dist/components/light-helpers.d.ts +1 -1
  66. package/dist/components/light-helpers.d.ts.map +1 -1
  67. package/dist/components/mesh-filter.d.ts +7 -7
  68. package/dist/components/mesh-filter.d.ts.map +1 -1
  69. package/dist/components/scene-instance.d.ts +11 -11
  70. package/dist/components/skybox-background.d.ts +56 -0
  71. package/dist/components/skybox-background.d.ts.map +1 -0
  72. package/dist/components/skylight.d.ts +55 -0
  73. package/dist/components/skylight.d.ts.map +1 -0
  74. package/dist/components/sprite-animation.d.ts +2 -3
  75. package/dist/components/sprite-animation.d.ts.map +1 -1
  76. package/dist/components/sprite-instances.d.ts +1 -1
  77. package/dist/components/sprite-playback-mode.d.ts +6 -1
  78. package/dist/components/sprite-playback-mode.d.ts.map +1 -1
  79. package/dist/components/sprite-region-override.d.ts +2 -3
  80. package/dist/components/sprite-region-override.d.ts.map +1 -1
  81. package/dist/components/tile-layer.d.ts +5 -0
  82. package/dist/components/tile-layer.d.ts.map +1 -1
  83. package/dist/construct-renderer.d.ts +18 -1
  84. package/dist/construct-renderer.d.ts.map +1 -1
  85. package/dist/construct-renderer.mjs +27008 -4
  86. package/dist/construct-renderer.mjs.map +1 -1
  87. package/dist/debug-draw-glue.d.ts +2 -53
  88. package/dist/debug-draw-glue.d.ts.map +1 -1
  89. package/dist/device/device-scope.d.ts +83 -0
  90. package/dist/device/device-scope.d.ts.map +1 -0
  91. package/dist/{gpu-resource-store.d.ts → device/gpu-residency.d.ts} +91 -48
  92. package/dist/device/gpu-residency.d.ts.map +1 -0
  93. package/dist/device/resource-types.d.ts +8 -0
  94. package/dist/device/resource-types.d.ts.map +1 -0
  95. package/dist/engine-metrics.d.ts +2 -2
  96. package/dist/engine-metrics.d.ts.map +1 -1
  97. package/dist/errors/recover.d.ts +28 -1
  98. package/dist/errors/recover.d.ts.map +1 -1
  99. package/dist/errors/render.d.ts +249 -258
  100. package/dist/errors/render.d.ts.map +1 -1
  101. package/dist/features/fullscreen.d.ts +19 -0
  102. package/dist/features/fullscreen.d.ts.map +1 -0
  103. package/dist/features/host.d.ts +32 -26
  104. package/dist/features/host.d.ts.map +1 -1
  105. package/dist/features/morph/morph-feature.d.ts +39 -5
  106. package/dist/features/morph/morph-feature.d.ts.map +1 -1
  107. package/dist/features/plan.d.ts +182 -0
  108. package/dist/features/plan.d.ts.map +1 -0
  109. package/dist/features/prepared-gpu-work.d.ts +21 -17
  110. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  111. package/dist/features/prepared-graphics-store.d.ts +2 -1
  112. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  113. package/dist/features/prepared-graphics.d.ts +11 -21
  114. package/dist/features/prepared-graphics.d.ts.map +1 -1
  115. package/dist/features/render-graph-compute.d.ts +2 -2
  116. package/dist/features/render-graph-compute.d.ts.map +1 -1
  117. package/dist/features/render-graph-contribution.d.ts +4 -7
  118. package/dist/features/render-graph-contribution.d.ts.map +1 -1
  119. package/dist/features/render-graph-raster.d.ts +2 -2
  120. package/dist/features/render-graph-raster.d.ts.map +1 -1
  121. package/dist/features/render-graph-resources.d.ts +6 -6
  122. package/dist/features/render-graph-resources.d.ts.map +1 -1
  123. package/dist/features/targets.d.ts +5 -5
  124. package/dist/features/targets.d.ts.map +1 -1
  125. package/dist/features/types.d.ts +11 -190
  126. package/dist/features/types.d.ts.map +1 -1
  127. package/dist/features/vocabulary.d.ts +14 -0
  128. package/dist/features/vocabulary.d.ts.map +1 -0
  129. package/dist/fullscreen-post-process-pass.d.ts +4 -25
  130. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  131. package/dist/glyph-text-layout-system.d.ts +3 -2
  132. package/dist/glyph-text-layout-system.d.ts.map +1 -1
  133. package/dist/gpu-driven/batch-topology.d.ts +6 -75
  134. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  135. package/dist/gpu-driven/production-raster.d.ts +13 -112
  136. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  137. package/dist/gpu-driven/view-gpu.d.ts +10 -66
  138. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  139. package/dist/gpu-resource.d.ts +3 -3
  140. package/dist/gpu-scene-schema.d.ts +1 -94
  141. package/dist/gpu-scene-schema.d.ts.map +1 -1
  142. package/dist/gpu-scene.d.ts +7 -33
  143. package/dist/gpu-scene.d.ts.map +1 -1
  144. package/dist/hdrp-buffers.d.ts +3 -53
  145. package/dist/hdrp-buffers.d.ts.map +1 -1
  146. package/dist/ibl/IblPipelineCache.d.ts +74 -180
  147. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  148. package/dist/ibl/skylight-bind-group.d.ts +1 -1
  149. package/dist/index.d.ts +13 -43
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.mjs +165 -3
  152. package/dist/index.mjs.map +1 -1
  153. package/dist/inspection-types.d.ts +69 -0
  154. package/dist/inspection-types.d.ts.map +1 -0
  155. package/dist/instance-buffer-cache.d.ts +1 -4
  156. package/dist/instance-buffer-cache.d.ts.map +1 -1
  157. package/dist/internal.d.ts +1 -73
  158. package/dist/internal.d.ts.map +1 -1
  159. package/dist/internal.mjs +1 -43
  160. package/dist/internal.mjs.map +1 -1
  161. package/dist/lifecycle.d.ts +36 -2
  162. package/dist/lifecycle.d.ts.map +1 -1
  163. package/dist/materials.d.ts +0 -3
  164. package/dist/materials.d.ts.map +1 -1
  165. package/dist/mesh-material-bindings.d.ts +0 -1
  166. package/dist/mesh-material-bindings.d.ts.map +1 -1
  167. package/dist/pbr-pipeline.d.ts +75 -29
  168. package/dist/pbr-pipeline.d.ts.map +1 -1
  169. package/dist/pipeline/standard-forward-lane.d.ts +5 -0
  170. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -0
  171. package/dist/pipeline/standard-pipeline.d.ts +31 -0
  172. package/dist/pipeline/standard-pipeline.d.ts.map +1 -0
  173. package/dist/pipeline/standard-profile.d.ts +40 -0
  174. package/dist/pipeline/standard-profile.d.ts.map +1 -0
  175. package/dist/pipeline-builder.d.ts +3 -3
  176. package/dist/pipeline-builder.d.ts.map +1 -1
  177. package/dist/pipeline-spec-types.d.ts +24 -0
  178. package/dist/pipeline-spec-types.d.ts.map +1 -0
  179. package/dist/pipeline-spec.d.ts +16 -155
  180. package/dist/pipeline-spec.d.ts.map +1 -1
  181. package/dist/plugin.d.ts +1 -14
  182. package/dist/plugin.d.ts.map +1 -1
  183. package/dist/post-process-errors.d.ts +18 -18
  184. package/dist/post-process-errors.d.ts.map +1 -1
  185. package/dist/prepare/prepared-graphics-resolver.d.ts +2 -5
  186. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
  187. package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts +2 -0
  188. package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts.map +1 -0
  189. package/dist/record/frame-lighting.d.ts +7 -73
  190. package/dist/record/frame-lighting.d.ts.map +1 -1
  191. package/dist/record/frame-snapshot.d.ts +44 -44
  192. package/dist/record/frame-snapshot.d.ts.map +1 -1
  193. package/dist/record/frame-targets.d.ts +5 -38
  194. package/dist/record/frame-targets.d.ts.map +1 -1
  195. package/dist/record/frame.d.ts +64 -52
  196. package/dist/record/frame.d.ts.map +1 -1
  197. package/dist/record/helpers.d.ts +3 -2
  198. package/dist/record/helpers.d.ts.map +1 -1
  199. package/dist/record/main-pass-geometry.d.ts +5 -4
  200. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  201. package/dist/record/main-pass-material.d.ts +90 -59
  202. package/dist/record/main-pass-material.d.ts.map +1 -1
  203. package/dist/record/main-pass-sprite-draws.d.ts +28 -3
  204. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  205. package/dist/record/main-pass.d.ts +1 -1
  206. package/dist/record/main-pass.d.ts.map +1 -1
  207. package/dist/record/mesh-ssbo.d.ts +276 -3
  208. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  209. package/dist/record/render-context.d.ts +235 -0
  210. package/dist/record/render-context.d.ts.map +1 -0
  211. package/dist/record/shadow-pass.d.ts +15 -88
  212. package/dist/record/shadow-pass.d.ts.map +1 -1
  213. package/dist/record/skybox-post-pass.d.ts +1 -1
  214. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  215. package/dist/record/typed-frame-graph.d.ts +29 -7
  216. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  217. package/dist/record/view-ubo.d.ts +3 -3
  218. package/dist/record/view-ubo.d.ts.map +1 -1
  219. package/dist/render-contract.d.ts +416 -0
  220. package/dist/render-contract.d.ts.map +1 -0
  221. package/dist/render-data.d.ts.map +1 -1
  222. package/dist/render-graph-primitives.d.ts +14 -362
  223. package/dist/render-graph-primitives.d.ts.map +1 -1
  224. package/dist/render-pipeline.d.ts +25 -64
  225. package/dist/render-pipeline.d.ts.map +1 -1
  226. package/dist/render-system-extract.d.ts +107 -338
  227. package/dist/render-system-extract.d.ts.map +1 -1
  228. package/dist/render-system.d.ts +21 -713
  229. package/dist/render-system.d.ts.map +1 -1
  230. package/dist/scene/render-scene-types.d.ts +58 -0
  231. package/dist/scene/render-scene-types.d.ts.map +1 -0
  232. package/dist/scene/render-scene.d.ts +105 -0
  233. package/dist/scene/render-scene.d.ts.map +1 -0
  234. package/dist/scene-instances/post-spawn-resolve-joints.d.ts +2 -5
  235. package/dist/scene-instances/post-spawn-resolve-joints.d.ts.map +1 -1
  236. package/dist/ssao-buffers.d.ts +22 -3
  237. package/dist/ssao-buffers.d.ts.map +1 -1
  238. package/dist/systems/skin-palette-allocator.d.ts +2 -4
  239. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  240. package/dist/systems/skin-palette-types.d.ts +14 -0
  241. package/dist/systems/skin-palette-types.d.ts.map +1 -0
  242. package/dist/systems/transparent-sort-config.d.ts +23 -2
  243. package/dist/systems/transparent-sort-config.d.ts.map +1 -1
  244. package/dist/tilemap-chunk-extract-system.d.ts +4 -3
  245. package/dist/tilemap-chunk-extract-system.d.ts.map +1 -1
  246. package/dist/typed-render-graph-primitives.d.ts +2 -4
  247. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  248. package/dist/typed-shadow-passes.d.ts +3 -3
  249. package/dist/typed-shadow-passes.d.ts.map +1 -1
  250. package/package.json +23 -23
  251. package/src/__tests__/backend-selection-rhi-capture.test-d.ts +1 -1
  252. package/src/__tests__/callback-inference.test-d.ts +6 -3
  253. package/src/__tests__/cluster-grid-default-surface.unit.test.ts +7 -4
  254. package/src/__tests__/construct-renderer-identity.unit.test.ts +15 -2
  255. package/src/__tests__/device-scope-lifecycle.unit.test.ts +151 -0
  256. package/src/__tests__/device-scope-stale-matrix.unit.test.ts +42 -0
  257. package/src/__tests__/direct-extract-consumer-contract.test-d.ts +8 -19
  258. package/src/__tests__/direct-light-snapshot.unit.test.ts +3 -13
  259. package/src/__tests__/factory-contract.integration.test.ts +158 -209
  260. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +1 -4
  261. package/src/__tests__/frame-observation.contract.test.ts +17 -8
  262. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +32 -0
  263. package/src/__tests__/glyph-text-layout-recovery.unit.test.ts +6 -11
  264. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +9 -16
  265. package/src/__tests__/gpu-driven-production.integration.test.ts +32 -205
  266. package/src/__tests__/gpu-driven-scaling.unit.test.ts +4 -7
  267. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +87 -8
  268. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +170 -8
  269. package/src/{gpu-driven/view-reference.ts → __tests__/gpu-driven-view-reference.ts} +4 -3
  270. package/src/__tests__/gpu-driven-view.browser.test.ts +12 -1
  271. package/src/__tests__/gpu-driven-view.dawn.test.ts +12 -1
  272. package/src/__tests__/gpu-driven-view.unit.test.ts +11 -267
  273. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +3 -3
  274. package/src/__tests__/gpu-scene-render-graph-gpu.ts +2 -3
  275. package/src/__tests__/gpu-scene.dawn.test.ts +2 -6
  276. package/src/__tests__/gpu-scene.unit.test.ts +10 -24
  277. package/src/__tests__/ibl/face-uniforms.unit.test.ts +46 -0
  278. package/src/__tests__/infinite-grid-no-vertex-probe.unit.test.ts +34 -66
  279. package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +14 -5
  280. package/src/__tests__/light-buffer-layout.unit.test.ts +4 -49
  281. package/src/__tests__/material-cooked-projection.unit.test.ts +2 -51
  282. package/src/__tests__/material-snapshot-mutation.integration.test.ts +10 -15
  283. package/src/__tests__/material-static-dynamic-route.unit.test.ts +4 -23
  284. package/src/__tests__/material-stride-surface.unit.test.ts +2 -2
  285. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +7 -8
  286. package/src/__tests__/morph-culling-reentry.dawn.test.ts +29 -38
  287. package/src/__tests__/morph-feature-gpu-work.integration.test.ts +45 -43
  288. package/src/__tests__/morph-feature-plan.unit.test.ts +53 -0
  289. package/src/__tests__/morph-visual-evidence.integration.test.ts +47 -33
  290. package/src/__tests__/nineslice-handle-surface.unit.test.ts +11 -6
  291. package/src/__tests__/post-process-error-policy-owner.unit.test.ts +6 -13
  292. package/src/__tests__/prepared-graphics-capability.unit.test.ts +6 -81
  293. package/src/__tests__/prepared-graphics-generation.unit.test.ts +3 -17
  294. package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +6 -74
  295. package/src/__tests__/prepared-graphics-resolver.unit.test.ts +1 -3
  296. package/src/__tests__/prepared-graphics-snapshot.unit.test.ts +2 -2
  297. package/src/__tests__/profiler-default-off.test.ts +1 -1
  298. package/src/__tests__/profiler-phase-catalog.test.ts +2 -2
  299. package/src/__tests__/profiler-phase-integration.test.ts +5 -13
  300. package/src/__tests__/profiler-phase-token.test.ts +3 -8
  301. package/src/__tests__/public-surface.test-d.ts +65 -3
  302. package/src/__tests__/recover-error-policy-owner.unit.test.ts +1 -21
  303. package/src/__tests__/render-error-code-owner.test-d.ts +18 -23
  304. package/src/__tests__/render-error-detail-ssot.test-d.ts +0 -95
  305. package/src/__tests__/render-error-exhaustive.test-d.ts +8 -1
  306. package/src/__tests__/render-feature-assembly.test-d.ts +8 -16
  307. package/src/__tests__/render-feature-context.test-d.ts +16 -40
  308. package/src/__tests__/render-feature-contract.test-d.ts +9 -18
  309. package/src/__tests__/render-feature-diagnostics.unit.test.ts +6 -8
  310. package/src/__tests__/render-feature-docs.unit.test.ts +8 -7
  311. package/src/__tests__/render-feature-gpu-work.integration.test.ts +14 -75
  312. package/src/__tests__/render-feature-plan.test-d.ts +161 -0
  313. package/src/__tests__/render-feature-plan.unit.test.ts +170 -0
  314. package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +8 -19
  315. package/src/__tests__/render-feature-prepared-errors.test-d.ts +3 -6
  316. package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +10 -71
  317. package/src/__tests__/render-feature-prepared-graphics-isolation.unit.test.ts +11 -61
  318. package/src/__tests__/render-feature-prepared-graphics-negative.test-d.ts +20 -43
  319. package/src/__tests__/render-feature-prepared-graphics.test-d.ts +56 -78
  320. package/src/__tests__/render-feature-public-surface.test-d.ts +6 -24
  321. package/src/__tests__/render-feature-retry.unit.test.ts +7 -48
  322. package/src/__tests__/render-feature-scheduling.unit.test.ts +15 -27
  323. package/src/__tests__/render-feature-stage-failed-policy-owner.unit.test.ts +0 -9
  324. package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +19 -109
  325. package/src/__tests__/render-feature-visibility-context.test-d.ts +1 -6
  326. package/src/__tests__/render-feature-visibility-context.unit.test.ts +1 -2
  327. package/src/__tests__/render-feature-zero-work.unit.test.ts +14 -20
  328. package/src/__tests__/render-scene-projection.unit.test.ts +73 -111
  329. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +46 -50
  330. package/src/__tests__/renderer-lifecycle.integration.test.ts +49 -1
  331. package/src/__tests__/shader-stage-surface.unit.test.ts +14 -9
  332. package/src/__tests__/ssao-config.unit.test.ts +36 -0
  333. package/src/__tests__/ssao-kernel-surface.unit.test.ts +4 -5
  334. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +28 -0
  335. package/src/__tests__/standard-descriptors.test-d.ts +22 -0
  336. package/src/__tests__/standard-pipeline.dawn.test.ts +61 -0
  337. package/src/__tests__/standard-pipeline.integration.test.ts +124 -0
  338. package/src/__tests__/standard-profile-oracle.unit.test.ts +62 -0
  339. package/src/__tests__/surface-configuration.unit.test.ts +1 -2
  340. package/src/__tests__/texture-usage-surface.unit.test.ts +3 -6
  341. package/src/__tests__/typed-pipeline-topology.unit.test.ts +40 -206
  342. package/src/__tests__/urp-pipeline-targets.unit.test.ts +1 -11
  343. package/src/__tests__/urp-pipeline.unit.test.ts +2 -2
  344. package/src/__tests__/vertex-color-pipeline.unit.test.ts +10 -2
  345. package/src/__tests__/vertex-layout-consumer.unit.test.ts +1 -1
  346. package/src/__tests__/visibility-diagnostics.integration.test.ts +7 -11
  347. package/src/__tests__/visibility-extract.integration.test.ts +20 -11
  348. package/src/__tests__/visibility-extract.perf.test.ts +66 -32
  349. package/src/__tests__/visibility-feature-dedup.integration.test.ts +2 -4
  350. package/src/__tests__/visibility-hidden-report.unit.test.ts +1 -2
  351. package/src/__tests__/visibility-instances.integration.test.ts +7 -11
  352. package/src/__tests__/visibility-multi-world.integration.test.ts +38 -6
  353. package/src/__tests__/visibility-producer-matrix.integration.test.ts +18 -41
  354. package/src/__tests__/visibility-public-surface.test-d.ts +10 -9
  355. package/src/__tests__/visibility-resolver.unit.test.ts +2 -1
  356. package/src/__tests__/visibility-resource-short-circuit.unit.test.ts +80 -0
  357. package/src/__tests__/visibility-snapshot-contract.unit.test.ts +2 -1
  358. package/src/__tests__/vocabulary.unit.test.ts +1 -1
  359. package/src/assembly/backend-contract.ts +57 -0
  360. package/src/{renderer/renderer-factory.ts → assembly/factory.ts} +1709 -2693
  361. package/src/assembly/host-contract.ts +101 -0
  362. package/src/{renderer → assembly}/material/assembly.ts +1 -3
  363. package/src/assembly/material/pipeline-projection.ts +63 -0
  364. package/src/authoring.ts +14 -22
  365. package/src/components/__tests__/schema-contract.unit.test.ts +10 -0
  366. package/src/components/glyph-text.ts +3 -2
  367. package/src/components/index.ts +7 -9
  368. package/src/components/instances.ts +4 -5
  369. package/src/components/light-helpers.ts +1 -1
  370. package/src/components/mesh-filter.ts +11 -10
  371. package/src/components/post-process-params.ts +3 -3
  372. package/src/components/scene-instance.ts +12 -12
  373. package/src/components/skybox-background.ts +103 -0
  374. package/src/components/{environment.ts → skylight.ts} +2 -111
  375. package/src/components/sprite-animation.ts +3 -4
  376. package/src/components/sprite-instances.ts +2 -2
  377. package/src/components/sprite-playback-mode.ts +7 -1
  378. package/src/components/sprite-region-override.ts +2 -3
  379. package/src/components/tile-layer.ts +8 -2
  380. package/src/construct-renderer.ts +67 -4
  381. package/src/debug-draw-glue.ts +8 -129
  382. package/src/device/device-scope.ts +306 -0
  383. package/src/{gpu-resource-store.ts → device/gpu-residency.ts} +540 -639
  384. package/src/device/resource-types.ts +20 -0
  385. package/src/engine-metrics.ts +12 -19
  386. package/src/errors/recover.ts +45 -3
  387. package/src/errors/render.ts +357 -460
  388. package/src/features/fullscreen.ts +46 -0
  389. package/src/features/host.ts +575 -309
  390. package/src/features/morph/morph-feature.ts +195 -105
  391. package/src/features/plan.ts +447 -0
  392. package/src/features/prepared-gpu-work.ts +72 -15
  393. package/src/features/prepared-graphics-store.ts +20 -6
  394. package/src/features/prepared-graphics.ts +12 -71
  395. package/src/features/render-graph-compute.ts +14 -5
  396. package/src/features/render-graph-contribution.ts +43 -63
  397. package/src/features/render-graph-raster.ts +11 -6
  398. package/src/features/render-graph-resources.ts +25 -23
  399. package/src/features/targets.ts +8 -21
  400. package/src/features/types.ts +39 -227
  401. package/src/features/vocabulary.ts +24 -0
  402. package/src/fullscreen-post-process-pass.ts +14 -57
  403. package/src/glyph-text-layout-system.ts +70 -96
  404. package/src/gpu-driven/batch-topology.ts +24 -202
  405. package/src/gpu-driven/production-raster.ts +93 -1108
  406. package/src/gpu-driven/view-gpu.ts +46 -192
  407. package/src/gpu-resource.ts +4 -4
  408. package/src/gpu-scene-schema.ts +11 -99
  409. package/src/gpu-scene.ts +231 -364
  410. package/src/hdrp-buffers.ts +12 -221
  411. package/src/ibl/IblPipelineCache.ts +471 -711
  412. package/src/ibl/skylight-bind-group.ts +4 -4
  413. package/src/index.ts +58 -217
  414. package/src/inspection-types.ts +76 -0
  415. package/src/instance-buffer-cache.ts +1 -29
  416. package/src/internal.ts +6 -85
  417. package/src/lifecycle.ts +64 -19
  418. package/src/materials.ts +7 -29
  419. package/src/mesh-material-bindings.ts +0 -1
  420. package/src/pbr-pipeline.ts +434 -53
  421. package/src/{urp-pipeline.ts → pipeline/standard-forward-lane.ts} +38 -149
  422. package/src/{hdrp-pipeline.ts → pipeline/standard-pipeline.ts} +221 -191
  423. package/src/pipeline/standard-profile.ts +65 -0
  424. package/src/pipeline-builder.ts +60 -64
  425. package/src/pipeline-spec-types.ts +28 -0
  426. package/src/pipeline-spec.ts +72 -609
  427. package/src/plugin.ts +3 -75
  428. package/src/post-process-errors.ts +31 -33
  429. package/src/prepare/prepared-graphics-resolver.ts +5 -4
  430. package/src/record/__tests__/material-slot-plan.unit.test.ts +1 -33
  431. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +41 -0
  432. package/src/record/__tests__/video-texture-view.unit.test.ts +1 -1
  433. package/src/record/frame-lighting.ts +74 -195
  434. package/src/record/frame-snapshot.ts +45 -60
  435. package/src/record/frame-targets.ts +8 -243
  436. package/src/record/frame.ts +509 -796
  437. package/src/record/helpers.ts +6 -11
  438. package/src/record/main-pass-geometry.ts +106 -147
  439. package/src/record/main-pass-material.ts +517 -190
  440. package/src/record/main-pass-sprite-draws.ts +198 -117
  441. package/src/record/main-pass.ts +162 -143
  442. package/src/record/mesh-ssbo.ts +517 -38
  443. package/src/record/render-context.ts +364 -0
  444. package/src/record/shadow-pass.ts +138 -1838
  445. package/src/record/skybox-post-pass.ts +12 -14
  446. package/src/record/typed-frame-graph.ts +215 -254
  447. package/src/record/view-ubo.ts +6 -37
  448. package/src/render-contract.ts +571 -0
  449. package/src/render-data.ts +3 -3
  450. package/src/render-graph-primitives.ts +76 -851
  451. package/src/render-pipeline.ts +104 -188
  452. package/src/render-system-extract.ts +1048 -1729
  453. package/src/render-system.ts +330 -1957
  454. package/src/scene/render-scene-types.ts +64 -0
  455. package/src/scene/render-scene.ts +1032 -0
  456. package/src/scene-instances/post-spawn-resolve-joints.ts +4 -7
  457. package/src/ssao-buffers.ts +167 -8
  458. package/src/systems/skin-palette-allocator.ts +21 -64
  459. package/src/systems/skin-palette-types.ts +14 -0
  460. package/src/systems/transparent-sort-config.ts +25 -3
  461. package/src/tilemap-chunk-extract-system.ts +53 -70
  462. package/src/typed-render-graph-primitives.ts +35 -24
  463. package/src/typed-shadow-passes.ts +26 -56
  464. package/dist/__tests__/analytic-sky-contract.test.d.ts +0 -2
  465. package/dist/__tests__/analytic-sky-contract.test.d.ts.map +0 -1
  466. package/dist/__tests__/analytic-sky-falsify.test.d.ts +0 -2
  467. package/dist/__tests__/analytic-sky-falsify.test.d.ts.map +0 -1
  468. package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts +0 -2
  469. package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts.map +0 -1
  470. package/dist/__tests__/backend-selection.integration.test.d.ts +0 -2
  471. package/dist/__tests__/backend-selection.integration.test.d.ts.map +0 -1
  472. package/dist/__tests__/camera-temporal.test-d.d.ts +0 -2
  473. package/dist/__tests__/camera-temporal.test-d.d.ts.map +0 -1
  474. package/dist/__tests__/camera-temporal.test.d.ts +0 -2
  475. package/dist/__tests__/camera-temporal.test.d.ts.map +0 -1
  476. package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts +0 -2
  477. package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts.map +0 -1
  478. package/dist/__tests__/environment-inspection.test.d.ts +0 -2
  479. package/dist/__tests__/environment-inspection.test.d.ts.map +0 -1
  480. package/dist/__tests__/fog-ai-user.fixture.d.ts +0 -2
  481. package/dist/__tests__/fog-ai-user.fixture.d.ts.map +0 -1
  482. package/dist/__tests__/fog-custom-render-feature.fixture.d.ts +0 -16
  483. package/dist/__tests__/fog-custom-render-feature.fixture.d.ts.map +0 -1
  484. package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts +0 -2
  485. package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts.map +0 -1
  486. package/dist/__tests__/fog-inspection.integration.test.d.ts +0 -2
  487. package/dist/__tests__/fog-inspection.integration.test.d.ts.map +0 -1
  488. package/dist/__tests__/fog-owner-state.integration.test.d.ts +0 -2
  489. package/dist/__tests__/fog-owner-state.integration.test.d.ts.map +0 -1
  490. package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts +0 -2
  491. package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts.map +0 -1
  492. package/dist/__tests__/fog-public-surface.integration.test.d.ts +0 -2
  493. package/dist/__tests__/fog-public-surface.integration.test.d.ts.map +0 -1
  494. package/dist/__tests__/fog-ray-contract.integration.test.d.ts +0 -2
  495. package/dist/__tests__/fog-ray-contract.integration.test.d.ts.map +0 -1
  496. package/dist/__tests__/fog-source-absence.integration.test.d.ts +0 -2
  497. package/dist/__tests__/fog-source-absence.integration.test.d.ts.map +0 -1
  498. package/dist/__tests__/fog-temporal.integration.test.d.ts +0 -2
  499. package/dist/__tests__/fog-temporal.integration.test.d.ts.map +0 -1
  500. package/dist/__tests__/frame-chain.unit.test.d.ts +0 -2
  501. package/dist/__tests__/frame-chain.unit.test.d.ts.map +0 -1
  502. package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts +0 -2
  503. package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts.map +0 -1
  504. package/dist/__tests__/hdrp-pipeline.unit.test.d.ts +0 -2
  505. package/dist/__tests__/hdrp-pipeline.unit.test.d.ts.map +0 -1
  506. package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts +0 -2
  507. package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts.map +0 -1
  508. package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts +0 -2
  509. package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts.map +0 -1
  510. package/dist/__tests__/material-derived-payload.integration.test.d.ts +0 -2
  511. package/dist/__tests__/material-derived-payload.integration.test.d.ts.map +0 -1
  512. package/dist/__tests__/materials.unit.test.d.ts +0 -2
  513. package/dist/__tests__/materials.unit.test.d.ts.map +0 -1
  514. package/dist/__tests__/param-schema-projection-census.unit.test.d.ts +0 -2
  515. package/dist/__tests__/param-schema-projection-census.unit.test.d.ts.map +0 -1
  516. package/dist/__tests__/persistent-render-scene.unit.test.d.ts +0 -2
  517. package/dist/__tests__/persistent-render-scene.unit.test.d.ts.map +0 -1
  518. package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts +0 -2
  519. package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts.map +0 -1
  520. package/dist/__tests__/pipeline-pass-trace.test.d.ts +0 -2
  521. package/dist/__tests__/pipeline-pass-trace.test.d.ts.map +0 -1
  522. package/dist/__tests__/pipeline-stage-owner.test-d.d.ts +0 -2
  523. package/dist/__tests__/pipeline-stage-owner.test-d.d.ts.map +0 -1
  524. package/dist/__tests__/plugin.test.d.ts +0 -2
  525. package/dist/__tests__/plugin.test.d.ts.map +0 -1
  526. package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts +0 -2
  527. package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts.map +0 -1
  528. package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts +0 -2
  529. package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts.map +0 -1
  530. package/dist/__tests__/public-pipeline-id.test-d.d.ts +0 -2
  531. package/dist/__tests__/public-pipeline-id.test-d.d.ts.map +0 -1
  532. package/dist/__tests__/render-dispatch-membership.unit.test.d.ts +0 -2
  533. package/dist/__tests__/render-dispatch-membership.unit.test.d.ts.map +0 -1
  534. package/dist/__tests__/render-feature-construction.unit.test.d.ts +0 -2
  535. package/dist/__tests__/render-feature-construction.unit.test.d.ts.map +0 -1
  536. package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts +0 -2
  537. package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts.map +0 -1
  538. package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts +0 -2
  539. package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts.map +0 -1
  540. package/dist/__tests__/render-feature-graph.integration.test.d.ts +0 -2
  541. package/dist/__tests__/render-feature-graph.integration.test.d.ts.map +0 -1
  542. package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts +0 -2
  543. package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts.map +0 -1
  544. package/dist/__tests__/render-feature-order.unit.test.d.ts +0 -2
  545. package/dist/__tests__/render-feature-order.unit.test.d.ts.map +0 -1
  546. package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts +0 -2
  547. package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts.map +0 -1
  548. package/dist/__tests__/render-feature-staging.unit.test.d.ts +0 -2
  549. package/dist/__tests__/render-feature-staging.unit.test.d.ts.map +0 -1
  550. package/dist/__tests__/renderer-render-scene-public.test-d.d.ts +0 -2
  551. package/dist/__tests__/renderer-render-scene-public.test-d.d.ts.map +0 -1
  552. package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts +0 -2
  553. package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts.map +0 -1
  554. package/dist/__tests__/sun-snapshot-consumers.test.d.ts +0 -2
  555. package/dist/__tests__/sun-snapshot-consumers.test.d.ts.map +0 -1
  556. package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts +0 -2
  557. package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts.map +0 -1
  558. package/dist/__tests__/taa-history-store.unit.test.d.ts +0 -2
  559. package/dist/__tests__/taa-history-store.unit.test.d.ts.map +0 -1
  560. package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts +0 -2
  561. package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts.map +0 -1
  562. package/dist/__tests__/temporal-inspection.unit.test.d.ts +0 -2
  563. package/dist/__tests__/temporal-inspection.unit.test.d.ts.map +0 -1
  564. package/dist/assets/__tests__/asset-decoders.unit.test.d.ts +0 -2
  565. package/dist/assets/__tests__/asset-decoders.unit.test.d.ts.map +0 -1
  566. package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts +0 -2
  567. package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts.map +0 -1
  568. package/dist/assets/__tests__/render-asset-port.unit.test.d.ts +0 -2
  569. package/dist/assets/__tests__/render-asset-port.unit.test.d.ts.map +0 -1
  570. package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts +0 -2
  571. package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts.map +0 -1
  572. package/dist/chunk-33UF5SAO.mjs +0 -7397
  573. package/dist/chunk-33UF5SAO.mjs.map +0 -1
  574. package/dist/chunk-A5QCJSNL.mjs +0 -29913
  575. package/dist/chunk-A5QCJSNL.mjs.map +0 -1
  576. package/dist/chunk-JMSB7AR4.mjs +0 -3
  577. package/dist/chunk-JMSB7AR4.mjs.map +0 -1
  578. package/dist/chunk-LXNGO6AO.mjs +0 -569
  579. package/dist/chunk-LXNGO6AO.mjs.map +0 -1
  580. package/dist/chunk-QRXPSX4X.mjs +0 -659
  581. package/dist/chunk-QRXPSX4X.mjs.map +0 -1
  582. package/dist/chunk-YAKEQPWO.mjs +0 -1439
  583. package/dist/chunk-YAKEQPWO.mjs.map +0 -1
  584. package/dist/components/__tests__/atmosphere-red.test.d.ts +0 -2
  585. package/dist/components/__tests__/atmosphere-red.test.d.ts.map +0 -1
  586. package/dist/components/__tests__/atmosphere.test.d.ts +0 -2
  587. package/dist/components/__tests__/atmosphere.test.d.ts.map +0 -1
  588. package/dist/components/__tests__/fog.test-d.d.ts +0 -2
  589. package/dist/components/__tests__/fog.test-d.d.ts.map +0 -1
  590. package/dist/components/__tests__/fog.test.d.ts +0 -2
  591. package/dist/components/__tests__/fog.test.d.ts.map +0 -1
  592. package/dist/components/atmosphere.d.ts +0 -18
  593. package/dist/components/atmosphere.d.ts.map +0 -1
  594. package/dist/components/environment.d.ts +0 -116
  595. package/dist/components/environment.d.ts.map +0 -1
  596. package/dist/deferred-lighting.d.ts +0 -13
  597. package/dist/deferred-lighting.d.ts.map +0 -1
  598. package/dist/dynamic-texture-store.d.ts +0 -42
  599. package/dist/dynamic-texture-store.d.ts.map +0 -1
  600. package/dist/environment/__tests__/failure-injection.test.d.ts +0 -2
  601. package/dist/environment/__tests__/failure-injection.test.d.ts.map +0 -1
  602. package/dist/environment/__tests__/generation-red.test.d.ts +0 -2
  603. package/dist/environment/__tests__/generation-red.test.d.ts.map +0 -1
  604. package/dist/environment/__tests__/generation.test.d.ts +0 -2
  605. package/dist/environment/__tests__/generation.test.d.ts.map +0 -1
  606. package/dist/environment/__tests__/graph-transaction.test.d.ts +0 -2
  607. package/dist/environment/__tests__/graph-transaction.test.d.ts.map +0 -1
  608. package/dist/environment/__tests__/inspection-red.test.d.ts +0 -2
  609. package/dist/environment/__tests__/inspection-red.test.d.ts.map +0 -1
  610. package/dist/environment/__tests__/lifecycle-evidence.test.d.ts +0 -2
  611. package/dist/environment/__tests__/lifecycle-evidence.test.d.ts.map +0 -1
  612. package/dist/environment/__tests__/pipeline-topology.test.d.ts +0 -2
  613. package/dist/environment/__tests__/pipeline-topology.test.d.ts.map +0 -1
  614. package/dist/environment/__tests__/readiness.test.d.ts +0 -2
  615. package/dist/environment/__tests__/readiness.test.d.ts.map +0 -1
  616. package/dist/environment/__tests__/recovery.test.d.ts +0 -2
  617. package/dist/environment/__tests__/recovery.test.d.ts.map +0 -1
  618. package/dist/environment/__tests__/resize-dispose.test.d.ts +0 -2
  619. package/dist/environment/__tests__/resize-dispose.test.d.ts.map +0 -1
  620. package/dist/environment/__tests__/signature-red.test.d.ts +0 -2
  621. package/dist/environment/__tests__/signature-red.test.d.ts.map +0 -1
  622. package/dist/environment/__tests__/signature.test.d.ts +0 -2
  623. package/dist/environment/__tests__/signature.test.d.ts.map +0 -1
  624. package/dist/environment/descriptors.d.ts +0 -2
  625. package/dist/environment/descriptors.d.ts.map +0 -1
  626. package/dist/environment/extracted-environment.d.ts +0 -53
  627. package/dist/environment/extracted-environment.d.ts.map +0 -1
  628. package/dist/environment/generation.d.ts +0 -62
  629. package/dist/environment/generation.d.ts.map +0 -1
  630. package/dist/environment/gpu-bundle.d.ts +0 -23
  631. package/dist/environment/gpu-bundle.d.ts.map +0 -1
  632. package/dist/environment/graph.d.ts +0 -108
  633. package/dist/environment/graph.d.ts.map +0 -1
  634. package/dist/environment/inspection.d.ts +0 -48
  635. package/dist/environment/inspection.d.ts.map +0 -1
  636. package/dist/environment/lifecycle.d.ts +0 -22
  637. package/dist/environment/lifecycle.d.ts.map +0 -1
  638. package/dist/environment/readiness.d.ts +0 -29
  639. package/dist/environment/readiness.d.ts.map +0 -1
  640. package/dist/environment/signature.d.ts +0 -70
  641. package/dist/environment/signature.d.ts.map +0 -1
  642. package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts +0 -2
  643. package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts.map +0 -1
  644. package/dist/extract/__tests__/environment-source.test.d.ts +0 -2
  645. package/dist/extract/__tests__/environment-source.test.d.ts.map +0 -1
  646. package/dist/extract/__tests__/schema-readers.unit.test.d.ts +0 -2
  647. package/dist/extract/__tests__/schema-readers.unit.test.d.ts.map +0 -1
  648. package/dist/extract/directional-csm.d.ts +0 -129
  649. package/dist/extract/directional-csm.d.ts.map +0 -1
  650. package/dist/extract/index.d.ts +0 -5
  651. package/dist/extract/index.d.ts.map +0 -1
  652. package/dist/extract/material-interface.d.ts +0 -56
  653. package/dist/extract/material-interface.d.ts.map +0 -1
  654. package/dist/extract/schema-readers.d.ts +0 -20
  655. package/dist/extract/schema-readers.d.ts.map +0 -1
  656. package/dist/features/graph-contribution.d.ts +0 -64
  657. package/dist/features/graph-contribution.d.ts.map +0 -1
  658. package/dist/features/index.d.ts +0 -21
  659. package/dist/features/index.d.ts.map +0 -1
  660. package/dist/features/morph/index.d.ts +0 -3
  661. package/dist/features/morph/index.d.ts.map +0 -1
  662. package/dist/features/morph/morph-bounds.d.ts +0 -42
  663. package/dist/features/morph/morph-bounds.d.ts.map +0 -1
  664. package/dist/features/scene-temporal.d.ts +0 -45
  665. package/dist/features/scene-temporal.d.ts.map +0 -1
  666. package/dist/features/taa-resolve.d.ts +0 -21
  667. package/dist/features/taa-resolve.d.ts.map +0 -1
  668. package/dist/frame-chain.d.ts +0 -14
  669. package/dist/frame-chain.d.ts.map +0 -1
  670. package/dist/gpu-driven/view-reference.d.ts.map +0 -1
  671. package/dist/gpu-resource-store.d.ts.map +0 -1
  672. package/dist/hdrp-cluster-membership.d.ts +0 -2
  673. package/dist/hdrp-cluster-membership.d.ts.map +0 -1
  674. package/dist/hdrp-pipeline.d.ts +0 -36
  675. package/dist/hdrp-pipeline.d.ts.map +0 -1
  676. package/dist/ibl/cubemap-projection.d.ts +0 -23
  677. package/dist/ibl/cubemap-projection.d.ts.map +0 -1
  678. package/dist/ibl/face-uniforms.d.ts +0 -65
  679. package/dist/ibl/face-uniforms.d.ts.map +0 -1
  680. package/dist/mesh-update-errors.d.ts +0 -71
  681. package/dist/mesh-update-errors.d.ts.map +0 -1
  682. package/dist/mipmap-generator.d.ts +0 -39
  683. package/dist/mipmap-generator.d.ts.map +0 -1
  684. package/dist/param-schema-projection-census.d.ts +0 -18
  685. package/dist/param-schema-projection-census.d.ts.map +0 -1
  686. package/dist/persistent-render-scene.d.ts +0 -158
  687. package/dist/persistent-render-scene.d.ts.map +0 -1
  688. package/dist/pipeline/index.d.ts +0 -11
  689. package/dist/pipeline/index.d.ts.map +0 -1
  690. package/dist/pipeline-errors.d.ts +0 -110
  691. package/dist/pipeline-errors.d.ts.map +0 -1
  692. package/dist/prepare/__tests__/schema-readers.unit.test.d.ts +0 -2
  693. package/dist/prepare/__tests__/schema-readers.unit.test.d.ts.map +0 -1
  694. package/dist/prepare/index.d.ts +0 -4
  695. package/dist/prepare/index.d.ts.map +0 -1
  696. package/dist/prepare/schema-readers.d.ts +0 -11
  697. package/dist/prepare/schema-readers.d.ts.map +0 -1
  698. package/dist/record/__tests__/environment-record.test.d.ts +0 -2
  699. package/dist/record/__tests__/environment-record.test.d.ts.map +0 -1
  700. package/dist/record/__tests__/frame-targets.unit.test.d.ts +0 -2
  701. package/dist/record/__tests__/frame-targets.unit.test.d.ts.map +0 -1
  702. package/dist/record/__tests__/membership-timing.unit.test.d.ts +0 -2
  703. package/dist/record/__tests__/membership-timing.unit.test.d.ts.map +0 -1
  704. package/dist/record/__tests__/render-submission.integration.test.d.ts +0 -2
  705. package/dist/record/__tests__/render-submission.integration.test.d.ts.map +0 -1
  706. package/dist/record/__tests__/render-submission.perf.test.d.ts +0 -2
  707. package/dist/record/__tests__/render-submission.perf.test.d.ts.map +0 -1
  708. package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts +0 -2
  709. package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts.map +0 -1
  710. package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts +0 -2
  711. package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts.map +0 -1
  712. package/dist/record/frame-observation.d.ts +0 -38
  713. package/dist/record/frame-observation.d.ts.map +0 -1
  714. package/dist/record/index.d.ts +0 -15
  715. package/dist/record/index.d.ts.map +0 -1
  716. package/dist/record/main-pass-skin.d.ts +0 -46
  717. package/dist/record/main-pass-skin.d.ts.map +0 -1
  718. package/dist/record/main-pass-sprite.d.ts +0 -69
  719. package/dist/record/main-pass-sprite.d.ts.map +0 -1
  720. package/dist/record/material-payload.d.ts +0 -43
  721. package/dist/record/material-payload.d.ts.map +0 -1
  722. package/dist/record/material-slot-plan.d.ts +0 -26
  723. package/dist/record/material-slot-plan.d.ts.map +0 -1
  724. package/dist/record/membership-timing.d.ts +0 -232
  725. package/dist/record/membership-timing.d.ts.map +0 -1
  726. package/dist/record/shadow-caster-uniform.d.ts +0 -8
  727. package/dist/record/shadow-caster-uniform.d.ts.map +0 -1
  728. package/dist/record/shadow-submit-mode.d.ts +0 -66
  729. package/dist/record/shadow-submit-mode.d.ts.map +0 -1
  730. package/dist/render-dispatch-membership.d.ts +0 -47
  731. package/dist/render-dispatch-membership.d.ts.map +0 -1
  732. package/dist/render-pipeline-context.d.ts +0 -289
  733. package/dist/render-pipeline-context.d.ts.map +0 -1
  734. package/dist/render-pipeline-target.d.ts +0 -16
  735. package/dist/render-pipeline-target.d.ts.map +0 -1
  736. package/dist/render-scene-projection.d.ts +0 -174
  737. package/dist/render-scene-projection.d.ts.map +0 -1
  738. package/dist/render-system-fold.d.ts +0 -266
  739. package/dist/render-system-fold.d.ts.map +0 -1
  740. package/dist/renderer/asset-service.d.ts +0 -10
  741. package/dist/renderer/asset-service.d.ts.map +0 -1
  742. package/dist/renderer/backend-selection.d.ts.map +0 -1
  743. package/dist/renderer/environment-classify.d.ts +0 -6
  744. package/dist/renderer/environment-classify.d.ts.map +0 -1
  745. package/dist/renderer/environment-error.d.ts +0 -13
  746. package/dist/renderer/environment-error.d.ts.map +0 -1
  747. package/dist/renderer/material/pipeline-projection.d.ts +0 -91
  748. package/dist/renderer/material/pipeline-projection.d.ts.map +0 -1
  749. package/dist/renderer/renderer-factory.d.ts +0 -283
  750. package/dist/renderer/renderer-factory.d.ts.map +0 -1
  751. package/dist/renderer.d.ts +0 -771
  752. package/dist/renderer.d.ts.map +0 -1
  753. package/dist/scene-utils/collect-subtree.d.ts +0 -11
  754. package/dist/scene-utils/collect-subtree.d.ts.map +0 -1
  755. package/dist/ssao-data.d.ts +0 -34
  756. package/dist/ssao-data.d.ts.map +0 -1
  757. package/dist/surface-format.d.ts +0 -10
  758. package/dist/surface-format.d.ts.map +0 -1
  759. package/dist/taa-history-store.d.ts +0 -88
  760. package/dist/taa-history-store.d.ts.map +0 -1
  761. package/dist/temporal-coverage.d.ts +0 -35
  762. package/dist/temporal-coverage.d.ts.map +0 -1
  763. package/dist/temporal-frame-transaction.d.ts +0 -92
  764. package/dist/temporal-frame-transaction.d.ts.map +0 -1
  765. package/dist/temporal-inspection.d.ts +0 -57
  766. package/dist/temporal-inspection.d.ts.map +0 -1
  767. package/dist/temporal-view.d.ts +0 -43
  768. package/dist/temporal-view.d.ts.map +0 -1
  769. package/dist/tilemap/resolve-tileset-runtime.d.ts +0 -23
  770. package/dist/tilemap/resolve-tileset-runtime.d.ts.map +0 -1
  771. package/dist/urp-pipeline.d.ts +0 -4
  772. package/dist/urp-pipeline.d.ts.map +0 -1
  773. package/src/__tests__/analytic-sky-contract.test.ts +0 -27
  774. package/src/__tests__/analytic-sky-falsify-carriers.mjs +0 -43
  775. package/src/__tests__/analytic-sky-falsify.test.ts +0 -94
  776. package/src/__tests__/assets-runtime-handoff.integration.test.ts +0 -36
  777. package/src/__tests__/backend-selection.integration.test.ts +0 -11
  778. package/src/__tests__/camera-temporal.test-d.ts +0 -8
  779. package/src/__tests__/camera-temporal.test.ts +0 -188
  780. package/src/__tests__/directional-shadow-probe-atlas-layout.unit.test.ts +0 -18
  781. package/src/__tests__/environment-inspection.test.ts +0 -45
  782. package/src/__tests__/fog-ai-user.fixture.ts +0 -350
  783. package/src/__tests__/fog-custom-render-feature.fixture.ts +0 -33
  784. package/src/__tests__/fog-custom-render-feature.integration.test.ts +0 -76
  785. package/src/__tests__/fog-inspection.integration.test.ts +0 -127
  786. package/src/__tests__/fog-owner-state.integration.test.ts +0 -112
  787. package/src/__tests__/fog-pipeline-topology.integration.test.ts +0 -93
  788. package/src/__tests__/fog-public-surface.integration.test.ts +0 -60
  789. package/src/__tests__/fog-ray-contract.integration.test.ts +0 -73
  790. package/src/__tests__/fog-source-absence.integration.test.ts +0 -51
  791. package/src/__tests__/fog-temporal.integration.test.ts +0 -115
  792. package/src/__tests__/frame-chain.unit.test.ts +0 -26
  793. package/src/__tests__/gpu-scene-field-type-owner.test-d.ts +0 -27
  794. package/src/__tests__/hdrp-pipeline.unit.test.ts +0 -100
  795. package/src/__tests__/ibl/ibl-fallback.unit.test.ts +0 -23
  796. package/src/__tests__/material-derived-error-stop-draw.integration.test.ts +0 -69
  797. package/src/__tests__/material-derived-payload.integration.test.ts +0 -164
  798. package/src/__tests__/materials.unit.test.ts +0 -25
  799. package/src/__tests__/param-schema-projection-census.unit.test.ts +0 -40
  800. package/src/__tests__/persistent-render-scene.unit.test.ts +0 -1311
  801. package/src/__tests__/pipeline-error-policy-owner.unit.test.ts +0 -167
  802. package/src/__tests__/pipeline-pass-trace.test.ts +0 -92
  803. package/src/__tests__/pipeline-stage-owner.test-d.ts +0 -13
  804. package/src/__tests__/plugin.test.ts +0 -25
  805. package/src/__tests__/prepared-graphics-backend-matrix.unit.test.ts +0 -129
  806. package/src/__tests__/prepared-graphics-resolver-recording.unit.test.ts +0 -180
  807. package/src/__tests__/public-pipeline-id.test-d.ts +0 -6
  808. package/src/__tests__/render-dispatch-membership.unit.test.ts +0 -117
  809. package/src/__tests__/render-feature-construction.unit.test.ts +0 -124
  810. package/src/__tests__/render-feature-error-code-owner.test-d.ts +0 -27
  811. package/src/__tests__/render-feature-gpu-buffer-usage-owner.test-d.ts +0 -46
  812. package/src/__tests__/render-feature-graph.integration.test.ts +0 -205
  813. package/src/__tests__/render-feature-graphics-staging.unit.test.ts +0 -200
  814. package/src/__tests__/render-feature-order.unit.test.ts +0 -66
  815. package/src/__tests__/render-feature-prepared-graphics-recording.unit.test.ts +0 -107
  816. package/src/__tests__/render-feature-staging.unit.test.ts +0 -94
  817. package/src/__tests__/renderer-render-scene-public.test-d.ts +0 -27
  818. package/src/__tests__/scene-temporal-coverage.unit.test.ts +0 -259
  819. package/src/__tests__/sun-snapshot-consumers.test.ts +0 -35
  820. package/src/__tests__/surface-backend-kind-owner.test-d.ts +0 -42
  821. package/src/__tests__/taa-history-store.unit.test.ts +0 -196
  822. package/src/__tests__/temporal-frame-transaction.integration.test.ts +0 -537
  823. package/src/__tests__/temporal-inspection.unit.test.ts +0 -138
  824. package/src/assets/__tests__/asset-decoders.unit.test.ts +0 -92
  825. package/src/assets/__tests__/mipmap-generator.unit.test.ts +0 -52
  826. package/src/assets/__tests__/render-asset-port.unit.test.ts +0 -54
  827. package/src/assets/__tests__/resolve-render-asset.unit.test.ts +0 -47
  828. package/src/components/__tests__/atmosphere-red.test.ts +0 -51
  829. package/src/components/__tests__/atmosphere.test.ts +0 -79
  830. package/src/components/__tests__/fog.test-d.ts +0 -49
  831. package/src/components/__tests__/fog.test.ts +0 -60
  832. package/src/components/atmosphere.ts +0 -64
  833. package/src/deferred-lighting.ts +0 -92
  834. package/src/dynamic-texture-store.ts +0 -111
  835. package/src/environment/README.md +0 -76
  836. package/src/environment/__tests__/failure-injection.test.ts +0 -50
  837. package/src/environment/__tests__/generation-red.test.ts +0 -64
  838. package/src/environment/__tests__/generation.test.ts +0 -37
  839. package/src/environment/__tests__/graph-transaction.test.ts +0 -85
  840. package/src/environment/__tests__/inspection-red.test.ts +0 -53
  841. package/src/environment/__tests__/lifecycle-evidence.test.ts +0 -40
  842. package/src/environment/__tests__/pipeline-topology.test.ts +0 -33
  843. package/src/environment/__tests__/readiness.test.ts +0 -42
  844. package/src/environment/__tests__/recovery.test.ts +0 -62
  845. package/src/environment/__tests__/resize-dispose.test.ts +0 -30
  846. package/src/environment/__tests__/signature-red.test.ts +0 -45
  847. package/src/environment/__tests__/signature.test.ts +0 -60
  848. package/src/environment/descriptors.ts +0 -7
  849. package/src/environment/extracted-environment.ts +0 -239
  850. package/src/environment/generation.ts +0 -158
  851. package/src/environment/gpu-bundle.ts +0 -144
  852. package/src/environment/graph.ts +0 -588
  853. package/src/environment/inspection.ts +0 -107
  854. package/src/environment/lifecycle.ts +0 -124
  855. package/src/environment/readiness.ts +0 -76
  856. package/src/environment/signature.ts +0 -185
  857. package/src/extract/__tests__/directional-csm-domain.unit.test.ts +0 -391
  858. package/src/extract/__tests__/environment-source.test.ts +0 -105
  859. package/src/extract/__tests__/schema-readers.unit.test.ts +0 -16
  860. package/src/extract/directional-csm.ts +0 -959
  861. package/src/extract/index.ts +0 -10
  862. package/src/extract/material-interface.ts +0 -604
  863. package/src/extract/schema-readers.ts +0 -27
  864. package/src/features/graph-contribution.ts +0 -577
  865. package/src/features/index.ts +0 -100
  866. package/src/features/morph/index.ts +0 -24
  867. package/src/features/morph/morph-bounds.ts +0 -123
  868. package/src/features/scene-temporal.ts +0 -274
  869. package/src/features/taa-resolve.ts +0 -244
  870. package/src/frame-chain.ts +0 -21
  871. package/src/hdrp-cluster-membership.ts +0 -70
  872. package/src/ibl/cubemap-projection.ts +0 -60
  873. package/src/ibl/face-uniforms.ts +0 -150
  874. package/src/mesh-update-errors.ts +0 -113
  875. package/src/mipmap-generator.ts +0 -244
  876. package/src/param-schema-projection-census.ts +0 -73
  877. package/src/persistent-render-scene.ts +0 -1752
  878. package/src/pipeline/index.ts +0 -40
  879. package/src/pipeline-errors.ts +0 -172
  880. package/src/prepare/__tests__/schema-readers.unit.test.ts +0 -16
  881. package/src/prepare/index.ts +0 -8
  882. package/src/prepare/schema-readers.ts +0 -20
  883. package/src/record/__tests__/environment-record.test.ts +0 -35
  884. package/src/record/__tests__/frame-targets.unit.test.ts +0 -54
  885. package/src/record/__tests__/membership-timing.unit.test.ts +0 -524
  886. package/src/record/__tests__/render-submission.integration.test.ts +0 -76
  887. package/src/record/__tests__/render-submission.perf.test.ts +0 -141
  888. package/src/record/__tests__/shadow-submit-mode.unit.test.ts +0 -88
  889. package/src/record/__tests__/view-ubo-layout.unit.test.ts +0 -101
  890. package/src/record/frame-observation.ts +0 -122
  891. package/src/record/index.ts +0 -15
  892. package/src/record/main-pass-skin.ts +0 -51
  893. package/src/record/main-pass-sprite.ts +0 -166
  894. package/src/record/material-payload.ts +0 -292
  895. package/src/record/material-slot-plan.ts +0 -68
  896. package/src/record/membership-timing.ts +0 -1012
  897. package/src/record/shadow-caster-uniform.ts +0 -37
  898. package/src/record/shadow-submit-mode.ts +0 -277
  899. package/src/render-dispatch-membership.ts +0 -155
  900. package/src/render-pipeline-context.ts +0 -332
  901. package/src/render-pipeline-target.ts +0 -96
  902. package/src/render-scene-projection.ts +0 -1738
  903. package/src/render-system-fold.ts +0 -531
  904. package/src/renderer/asset-service.ts +0 -32
  905. package/src/renderer/backend-selection.ts +0 -121
  906. package/src/renderer/environment-classify.ts +0 -30
  907. package/src/renderer/environment-error.ts +0 -19
  908. package/src/renderer/material/pipeline-projection.ts +0 -140
  909. package/src/renderer.ts +0 -940
  910. package/src/scene-utils/collect-subtree.ts +0 -40
  911. package/src/ssao-data.ts +0 -106
  912. package/src/surface-format.ts +0 -37
  913. package/src/taa-history-store.ts +0 -429
  914. package/src/temporal-coverage.ts +0 -106
  915. package/src/temporal-frame-transaction.ts +0 -301
  916. package/src/temporal-inspection.ts +0 -194
  917. package/src/temporal-view.ts +0 -174
  918. package/src/tilemap/resolve-tileset-runtime.ts +0 -72
@@ -0,0 +1,235 @@
1
+ import type { AssetRegistry, DynamicTextureStore } from '@forgeax/engine-assets-runtime';
2
+ import type { World } from '@forgeax/engine-ecs';
3
+ import type { VertexLayoutProjection } from '@forgeax/engine-geometry';
4
+ import type { Profiler } from '@forgeax/engine-profiler';
5
+ import type { BindGroup, BindGroupLayout, Buffer, ComputePipeline, PipelineLayout, Result, RhiCanvasContext, RhiDevice, RhiError, RenderPipeline as RhiRenderPipeline, Sampler, Texture, TextureFormat, TextureView } from '@forgeax/engine-rhi';
6
+ import type { MaterialRuntimeArtifact } from '@forgeax/engine-shader';
7
+ import type { MaterialRenderState, ParamSchemaEntry, PassKind, PrimitiveTopology, VertexAttributeMap } from '@forgeax/engine-types';
8
+ import type { MaterialRenderProjection } from '../assembly/material/assembly';
9
+ import type { DeviceScope } from '../device/device-scope';
10
+ import type { MeshGpuHandles } from '../device/gpu-residency';
11
+ import type { EngineMetrics } from '../engine-metrics';
12
+ import type { RenderFeatureHost } from '../features/host';
13
+ import type { SkylightFallback } from '../ibl/skylight-bind-group';
14
+ import type { HealthListenerRegistry, RhiErrorListenerRegistry } from '../lifecycle';
15
+ import type { StandardProfile } from '../pipeline/standard-profile';
16
+ import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
17
+ import type { RenderDebugOverlay, RenderPipelineContext, RenderRecordPhase } from '../render-contract';
18
+ import type { DispatchEntry, MaterialSnapshot, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
19
+ import type { SkinPaletteAllocator } from '../systems/skin-palette-allocator';
20
+ import type { BindGroupCounts, DispatchCounts, MaterialBgAssemblyCacheEntry, RenderFrameState, ValidatedRenderable } from './frame-snapshot';
21
+ import type { FoldDispatchPlan } from './mesh-ssbo';
22
+ export interface RenderSystemRuntime {
23
+ readonly device: RhiDevice;
24
+ readonly deviceScope: DeviceScope;
25
+ readonly errorRegistry: RhiErrorListenerRegistry;
26
+ readonly debugOverlay?: RenderDebugOverlay | undefined;
27
+ readonly healthRegistry: HealthListenerRegistry;
28
+ readonly getMaterialProjection?: (materialGuid: string) => MaterialRenderProjection | undefined;
29
+ readonly getMaterialArtifact?: (specializationKey: string) => MaterialRuntimeArtifact | undefined;
30
+ readonly getMaterialShaderPipeline?: (materialShaderId: string, isHdr: boolean, renderState?: MaterialRenderState, topology?: PrimitiveTopology, indexFormat?: 'uint16' | 'uint32', variantSet?: string, passKind?: PassKind, meshAttributes?: VertexAttributeMap, sampleCount?: number, colorFormatOverride?: GPUTextureFormat, shaderUvSetCount?: number, depthFormatOverride?: GPUTextureFormat | null, vertexLayout?: string, vertexLayoutProjection?: VertexLayoutProjection) => RhiRenderPipeline | null;
31
+ readonly getMaterialShaderBindingContract?: (materialShaderId: string) => 'group-0' | 'group-0-resource' | 'view-only' | 'view-and-scene-depth' | 'render-material';
32
+ readonly getParamSchema?: (materialShaderId: string) => readonly ParamSchemaEntry[] | undefined;
33
+ readonly getMaterialBindGroupLayout?: (materialShaderId: string) => BindGroupLayout | undefined;
34
+ readonly metrics: EngineMetrics;
35
+ readonly lookupPostProcess?: (id: string) => import('../fullscreen-post-process-pass').PostProcessShaderEntry | undefined;
36
+ readonly getPostProcessParamsBuffer?: (id: string) => Buffer | undefined;
37
+ readonly getPostProcessPipeline?: (id: string, bgl: BindGroupLayout, colorFormat: GPUTextureFormat) => RhiRenderPipeline | null;
38
+ readonly dynamicTextureStore?: DynamicTextureStore | undefined;
39
+ }
40
+ export interface PerPassResources {
41
+ depthTexture: Texture | null;
42
+ depthTextureView: TextureView | null;
43
+ depthTextureWidth: number;
44
+ depthTextureHeight: number;
45
+ configured: boolean;
46
+ hdrColorTexture: Texture | null;
47
+ hdrColorView: TextureView | null;
48
+ hdrDepthTexture: Texture | null;
49
+ hdrDepthView: TextureView | null;
50
+ hdrTextureWidth: number;
51
+ hdrTextureHeight: number;
52
+ hdrDepthSampleCount: number;
53
+ readonly fxaaPipeline: RhiRenderPipeline | null;
54
+ readonly fxaaBindGroupLayout: BindGroupLayout | null;
55
+ readonly fxaaSampler: Sampler | null;
56
+ msaaColorTexture: Texture | null;
57
+ msaaColorView: TextureView | null;
58
+ msaaSpriteColorTexture: Texture | null;
59
+ msaaSpriteColorView: TextureView | null;
60
+ msaaDepthTexture: Texture | null;
61
+ msaaDepthView: TextureView | null;
62
+ msaaTextureWidth: number;
63
+ msaaTextureHeight: number;
64
+ hdrColorMsaaTexture: Texture | null;
65
+ hdrColorMsaaView: TextureView | null;
66
+ readonly skyboxPipeline: RhiRenderPipeline | null;
67
+ readonly skyboxPipelineMsaa: RhiRenderPipeline | null;
68
+ readonly skyboxBindGroupLayout: BindGroupLayout | null;
69
+ readonly skyboxSampler: Sampler | null;
70
+ readonly skyboxRotationBuffer: Buffer | null;
71
+ readonly bloomBrightPipeline: RhiRenderPipeline | null;
72
+ readonly bloomBlurHPipeline: RhiRenderPipeline | null;
73
+ readonly bloomBlurVPipeline: RhiRenderPipeline | null;
74
+ readonly bloomCompositePipeline: RhiRenderPipeline | null;
75
+ readonly bloomBrightBindGroupLayout: BindGroupLayout | null;
76
+ readonly bloomBlurBindGroupLayout: BindGroupLayout | null;
77
+ readonly bloomCompositeBindGroupLayout: BindGroupLayout | null;
78
+ readonly bloomSampler: Sampler | null;
79
+ readonly bloomBrightParamsBuffer: Buffer | null;
80
+ readonly bloomBlurHParamsBuffer: Buffer | null;
81
+ readonly bloomBlurVParamsBuffer: Buffer | null;
82
+ readonly bloomCompositeParamsBuffer: Buffer | null;
83
+ bloomBrightTexture: Texture | null;
84
+ bloomBrightView: TextureView | null;
85
+ bloomBrightWidth: number;
86
+ bloomBrightHeight: number;
87
+ bloomBlurHTexture: Texture | null;
88
+ bloomBlurHView: TextureView | null;
89
+ bloomBlurHWidth: number;
90
+ bloomBlurHHeight: number;
91
+ bloomBlurVTexture: Texture | null;
92
+ bloomBlurVView: TextureView | null;
93
+ bloomBlurVWidth: number;
94
+ bloomBlurVHeight: number;
95
+ ssaoCalcPipeline: RhiRenderPipeline | null;
96
+ ssaoBlurPipeline: RhiRenderPipeline | null;
97
+ ssaoBgl: BindGroupLayout | null;
98
+ ssaoFilteringSampler: Sampler | null;
99
+ ssaoDepthSampler: Sampler | null;
100
+ ssaoFallbackRawView: TextureView | null;
101
+ shadowTexture: Texture | null;
102
+ shadowMapSize: number;
103
+ shadowCascadeCount: number;
104
+ shadowSampler: Sampler | null;
105
+ shadowLightSpaceMatrix: Float32Array | null;
106
+ shadowCsmLightViewProj: Float32Array | null;
107
+ shadowCsmSelection: {
108
+ readonly viewMatrix: Float32Array;
109
+ readonly splitPlanes: Float32Array;
110
+ } | null;
111
+ }
112
+ export interface PipelineState {
113
+ readonly meshes: ReadonlyMap<number, MeshGpuHandles>;
114
+ readonly format: TextureFormat;
115
+ readonly colorAttachmentFormat: TextureFormat;
116
+ readonly viewBindGroupLayout: BindGroupLayout;
117
+ readonly materialBindGroupLayout: BindGroupLayout;
118
+ readonly meshBindGroupLayout: BindGroupLayout;
119
+ readonly viewUniformBuffer: Buffer;
120
+ readonly shadowCasterCascadeBuffer: Buffer;
121
+ readonly materialUniformBuffer: {
122
+ readonly buffer: Buffer;
123
+ readonly sizeInBytes: number;
124
+ };
125
+ readonly meshStorageBuffer: {
126
+ readonly buffer: Buffer;
127
+ readonly sizeInBytes: number;
128
+ };
129
+ readonly pointLightsBuffer: Buffer;
130
+ readonly spotLightsBuffer: Buffer;
131
+ readonly instancesBindGroupLayout: BindGroupLayout;
132
+ readonly identityInstanceBuffer: Buffer;
133
+ readonly defaultSampler: Sampler;
134
+ readonly nearestSampler: Sampler;
135
+ readonly fallbackTextureView: TextureView;
136
+ readonly unlitPipeline: RhiRenderPipeline | null;
137
+ readonly standardPipeline: RhiRenderPipeline | null;
138
+ readonly unlitPipelineMsaa: RhiRenderPipeline | null;
139
+ readonly unlitPipelineHdrMsaa: RhiRenderPipeline | null;
140
+ readonly pbrPipelineLayout: PipelineLayout | null;
141
+ readonly hdrpPbrPipelineLayout: PipelineLayout | null;
142
+ readonly hdrpClusterMembershipPipeline: ComputePipeline | null;
143
+ readonly hdrpClusterMembershipBindGroupLayout: BindGroupLayout | null;
144
+ readonly pbrSkinPipelineLayout: PipelineLayout | null;
145
+ readonly pbrSkinMeshBindGroupLayout: BindGroupLayout | null;
146
+ readonly skinPaletteAllocator: SkinPaletteAllocator | null;
147
+ readonly defaultWhiteTextureView: TextureView;
148
+ readonly defaultNormalTextureView: TextureView;
149
+ readonly unlitPipelineHdr: RhiRenderPipeline | null;
150
+ readonly shadowFallbackTextureView: TextureView;
151
+ readonly shadowAtlasFallbackTextureView: TextureView;
152
+ readonly shadowParamsBuffer: Buffer;
153
+ readonly skylightFallback: SkylightFallback | null;
154
+ readonly perPassResources: PerPassResources;
155
+ }
156
+ export interface RenderSystemInternals extends RenderSystemRuntime {
157
+ readonly canvas: HTMLCanvasElement | OffscreenCanvas;
158
+ readonly standardProfile?: StandardProfile | undefined;
159
+ readonly standardPipeline: RenderFrameState['activePipeline'];
160
+ readonly featureHost?: RenderFeatureHost | undefined;
161
+ readonly shaderModuleFactory?: PipelineBuilderShaderModuleFactory;
162
+ readonly profiler?: Profiler | undefined;
163
+ readonly context: RhiCanvasContext | null;
164
+ readonly getPipelineState: () => PipelineState | null;
165
+ readonly assets: AssetRegistry;
166
+ readonly gpuStore: import('../device/gpu-residency').GpuResidencyCache;
167
+ readonly growMeshSsbo?: ((neededSlots: number) => {
168
+ readonly ok: true;
169
+ } | {
170
+ readonly ok: false;
171
+ readonly code: 'mesh-ssbo-ceiling-reached' | 'mesh-ssbo-capacity-exceeded';
172
+ readonly degradedToSlotCount: number;
173
+ }) | undefined;
174
+ readonly meshSsboState?: {
175
+ readonly slotCount: number;
176
+ } | undefined;
177
+ readonly buildPostProcessPipeline?: ((entry: import('../fullscreen-post-process-pass').PostProcessShaderEntry, bgl: BindGroupLayout, colorFormat: GPUTextureFormat, label: string) => RhiRenderPipeline | null) | undefined;
178
+ }
179
+ export interface _StandardForwardSceneView {
180
+ readonly assets: AssetRegistry;
181
+ readonly store: import('../device/gpu-residency').GpuResidencyCache;
182
+ readonly pipelineState: PipelineState;
183
+ readonly runtime: RenderSystemRuntime;
184
+ readonly validated: readonly ValidatedRenderable[];
185
+ readonly validatedOrdered: readonly ValidatedRenderable[];
186
+ readonly viewBindGroup: BindGroup | null;
187
+ readonly meshBindGroup: BindGroup | null;
188
+ readonly frameState: RenderFrameState;
189
+ readonly dispatchCounts: DispatchCounts;
190
+ readonly bindGroupCounts: BindGroupCounts;
191
+ readonly skylight: SkylightSnapshot | undefined;
192
+ readonly skylightCount: number;
193
+ readonly skybox: SkyboxSnapshot | undefined;
194
+ readonly profilePhase?: <T>(phase: RenderRecordPhase, action: () => T) => T;
195
+ readonly directionalShadowCacheReuse: boolean;
196
+ readonly world: World;
197
+ readonly gpuDrivenEntityKeys: ReadonlySet<number>;
198
+ readonly tonemapActive: boolean;
199
+ readonly geometryColorView: TextureView | null;
200
+ readonly geometryDepthView: TextureView | null;
201
+ readonly geometryDepthKey: string | null;
202
+ readonly skyboxActive: boolean;
203
+ readonly splitLdrSprite: boolean;
204
+ readonly ldrSpritePassView: TextureView | null;
205
+ readonly transparentColorFormat?: GPUTextureFormat;
206
+ readonly dispatch: readonly DispatchEntry[];
207
+ readonly hdrpClusterBindGroup: BindGroup | null;
208
+ readonly hdrpClusterMembershipBindGroup: BindGroup | null;
209
+ readonly foldDispatchPlan: FoldDispatchPlan | null;
210
+ readonly materialSlotIndices: readonly (readonly number[])[];
211
+ readonly materialSlots: readonly MaterialSnapshot[];
212
+ readonly materialSlotOwners: readonly number[];
213
+ readonly materialSlotCount: number;
214
+ readonly materialBgAssemblyCache: Map<string, MaterialBgAssemblyCacheEntry>;
215
+ materialUboPayloadCache?: {
216
+ readonly materialSlots: readonly MaterialSnapshot[];
217
+ readonly materialSlotCount: number;
218
+ readonly payload: Uint8Array;
219
+ };
220
+ hdrpSsaoBlurredView?: TextureView;
221
+ }
222
+ export type _InternalRenderPipelineContext = RenderPipelineContext & _StandardForwardSceneView;
223
+ export type RecordProfileRunner = <T>(phase: RenderRecordPhase, action: () => T) => T;
224
+ export declare const STANDARD_PBR_UBO_SIZE = 304;
225
+ export declare const MATERIAL_PER_ENTITY_STRIDE = 512;
226
+ export type SwapChainFormatPair = {
227
+ readonly storage: GPUTextureFormat;
228
+ readonly view: GPUTextureFormat;
229
+ readonly fallbackReason?: 'preferred-canvas-format-missing';
230
+ };
231
+ export type SurfaceBackendKind = 'webgpu' | 'wgpu-native' | 'wgpu-webgl2' | 'null';
232
+ export declare function resolveSurfaceFormatPair(backendKind: SurfaceBackendKind, storage: GPUTextureFormat, view: GPUTextureFormat): SwapChainFormatPair;
233
+ export declare function configureSurface(context: RhiCanvasContext, device: RhiDevice, format: TextureFormat, colorAttachmentFormat: TextureFormat): Result<void, RhiError>;
234
+ export declare function selectSwapChainFormat(storageBufferCapable: boolean): SwapChainFormatPair;
235
+ //# sourceMappingURL=render-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../../src/record/render-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,MAAM,EACN,eAAe,EACf,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,cAAc,IAAI,iBAAiB,EACnC,OAAO,EACP,OAAO,EACP,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,uBAAuB,GAAG,SAAS,CAAC;IAClG,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACnC,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,mBAAmB,EACjC,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,EACjC,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,kBAAkB,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,gBAAgB,EACtC,gBAAgB,CAAC,EAAE,MAAM,EACzB,mBAAmB,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAC7C,YAAY,CAAC,EAAE,MAAM,EACrB,sBAAsB,CAAC,EAAE,sBAAsB,KAC5C,iBAAiB,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAC1C,gBAAgB,EAAE,MAAM,KACrB,SAAS,GAAG,kBAAkB,GAAG,WAAW,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;IAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,EAAE,EAAE,MAAM,KACP,OAAO,iCAAiC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAClF,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAChC,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,gBAAgB,KAC1B,iBAAiB,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,eAAe,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,eAAe,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,0BAA0B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,wBAAwB,EAAE,eAAe,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,6BAA6B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,sBAAsB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,sBAAsB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,kBAAkB,EAAE;QAClB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;QAClC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;KACpC,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,EAAE,eAAe,CAAC;IAClD,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC;IACnD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,qBAAqB,EAAE,cAAc,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,6BAA6B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,oCAAoC,EAAE,eAAe,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,qBAAqB,EAAE,cAAc,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,0BAA0B,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,uBAAuB,EAAE,WAAW,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,WAAW,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,yBAAyB,EAAE,WAAW,CAAC;IAChD,QAAQ,CAAC,8BAA8B,EAAE,WAAW,CAAC;IACrD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,CAAC;IACvE,QAAQ,CAAC,YAAY,CAAC,EAClB,CAAC,CAAC,WAAW,EAAE,MAAM,KACjB;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GACrB;QACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QACnB,QAAQ,CAAC,IAAI,EAAE,2BAA2B,GAAG,6BAA6B,CAAC;QAC3E,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;KACtC,CAAC,GACN,SAAS,CAAC;IACd,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,wBAAwB,CAAC,EAC9B,CAAC,CACC,KAAK,EAAE,OAAO,iCAAiC,EAAE,sBAAsB,EACvE,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,gBAAgB,EAC7B,KAAK,EAAE,MAAM,KACV,iBAAiB,GAAG,IAAI,CAAC,GAC9B,SAAS,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,8BAA8B,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IAC5E,uBAAuB,CAAC,EAAE;QACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KAC9B,CAAC;IACF,mBAAmB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,MAAM,8BAA8B,GAAG,qBAAqB,GAAG,yBAAyB,CAAC;AAE/F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAEtF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,iCAAiC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEnF,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,gBAAgB,GACrB,mBAAmB,CAErB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,qBAAqB,EAAE,aAAa,GACnC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAmBxB;AAED,wBAAgB,qBAAqB,CAAC,oBAAoB,EAAE,OAAO,GAAG,mBAAmB,CAsBxF"}
@@ -1,17 +1,17 @@
1
- import type { GraphResourceResolver } from '@forgeax/engine-render-graph';
2
- import { type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
1
+ import { type Buffer, type RhiQueue, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
3
2
  import type { PassSelector } from '@forgeax/engine-types';
4
- import type { RenderPipelineGpuDrivenShadowProjection } from '../render-pipeline';
5
- import type { _InternalRenderPipelineContext } from '../render-pipeline-context';
6
- import type { DispatchEntry } from '../render-system-extract';
3
+ import type { DispatchEntry, ExtractedLights } from '../render-system-extract';
4
+ import type { _InternalRenderPipelineContext } from './render-context';
5
+ export declare const SHADOW_CASTER_SLOT_STRIDE = 256;
6
+ export declare const SHADOW_CASTER_BUFFER_SIZE: number;
7
+ export declare function directionalShadowCasterOffset(cascadeIndex: number): number;
8
+ export declare function spotShadowCasterOffset(tile: number): number;
9
+ export declare function writeShadowCasterUniforms(queue: RhiQueue, buffer: Buffer, lights: ExtractedLights): void;
7
10
  export declare function encodeDirectionalShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, cascadeIndex: number, viewport: {
8
11
  readonly x: number;
9
12
  readonly y: number;
10
13
  readonly w: number;
11
14
  readonly h: number;
12
- }, gpuDriven?: {
13
- readonly projection: RenderPipelineGpuDrivenShadowProjection;
14
- readonly resources: GraphResourceResolver;
15
15
  }): void;
16
16
  export declare function encodePointShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, snapshotIndex: number, face: number): void;
17
17
  export declare function encodeSpotShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, snapshotIndex: number): void;
@@ -40,86 +40,13 @@ export declare function filterDispatchBySelector(dispatch: readonly DispatchEntr
40
40
  */
41
41
  export declare function buildMatchedRenderableIndices(dispatch: readonly DispatchEntry[], selector: PassSelector): Set<number> | null;
42
42
  /**
43
- * feat-20260529-rendergraph-pass-abstraction M4 / w13b: shadow depth pass
44
- * recording, extracted verbatim from recordFrame. Renders shadow casters
45
- * into the shadow depth RT using an INDEPENDENT command encoder + its own
46
- * queue.submit (RD-4: this independent-encoder boundary is the runtime-side
47
- * manual barrier that synchronizes the depth-texture write with the
48
- * subsequent sample in the main pass). Driven by the render-graph 'shadow'
49
- * pass execute closure.
50
- */
51
- export declare function recordShadowPass(c: _InternalRenderPipelineContext, selector?: PassSelector, viewport?: {
52
- readonly x: number;
53
- readonly y: number;
54
- readonly w: number;
55
- readonly h: number;
56
- }, cascadeIndex?: number): void;
57
- /**
58
- * feat-20260612-point-light-shadows-urp-hdrp M3 / T-M3-2 (plan-strategy §D-1
59
- * + §D-3 + AC-04). Records the 6 x N point-shadow caster passes — one render
60
- * pass per (shadow-casting point light, cube face) pair — that write per-light
61
- * cube_array atlas depth. Driven by the URP `addPointShadowPass` graph closure;
62
- * gated upstream on `frameState.pointShadowSnapshots.length > 0` (AC-09 zero-
63
- * shadow zero-pass).
64
- *
65
- * Pass count = 6 * N where N = `frameState.pointShadowSnapshots.length`. Each
66
- * pass opens an INDEPENDENT command encoder + queue.submit so Dawn / WebGPU
67
- * synchronizes the depth-write boundary with the subsequent atlas sample in
68
- * the forward pass (RD-4 manual barrier; same pattern as `recordShadowPass`).
69
- *
70
- * Round-2 F-3 fix-up: actual geometry walk + draw landed. Per face we
71
- * (1) write the face VP mat4 into `viewUniformBuffer` at offset 112 (the
72
- * `lightSpaceMatrix` slot) — `forgeax::default-shadow-caster` reads
73
- * `view.lightSpaceMatrix * worldPos` and the encoder boundary serializes
74
- * the queue.writeBuffer with the subsequent draw, so each face sees its own
75
- * VP without needing a per-face UBO bind. (2) Reuse the directional shadow
76
- * caster PSO + cached `shadow-view-bg` / `shadow-material-singleton` /
77
- * `shadow-mesh-bg` already built by `recordShadowPass`. (3) After all
78
- * (snapshot, face) passes complete, restore `viewUniformBuffer.lightSpaceMatrix`
79
- * to the directional value the main forward pass needs (the queue.submit
80
- * ordering guarantees the restore lands before the main encoder runs).
81
- *
82
- * Caveat: the cached `view-shadow` BG binds `shadowAtlasFallbackTextureView`
83
- * at binding 5 (NOT the real ShadowAtlas atlas view) so the BG is valid even
84
- * while the real atlas faces are being written through the depth attachment;
85
- * the shadow_caster.wgsl shader never samples binding 5 anyway (vertex-only
86
- * pipeline).
87
- *
88
- * No new shader / no new PSO / no new BGL is required for this round; the
89
- * change is purely runtime wiring. A dedicated `forgeax::default-point-
90
- * shadow-caster` PSO with a per-face VP UBO + dynamic offset would let the
91
- * pass run without touching `viewUniformBuffer.lightSpaceMatrix` and could
92
- * be considered for a follow-on optimization milestone (`OOS-future`).
93
- */
94
- export declare function recordPointShadowPass(c: _InternalRenderPipelineContext): void;
95
- /**
96
- * feat-20260625-spot-light-shadow-mapping M2 / w11 (D-1 + D-2). Records the
97
- * spot-light shadow caster passes — one render pass per castShadow spot (cap 4)
98
- * — that write each spot's perspective depth into its `spotShadowDepth` atlas
99
- * tile. Driven by the URP `addSpotShadowPass` graph closure; reads
100
- * `frameState.spotShadowSnapshots`.
101
- *
102
- * Per spot with `shadowAtlasTile >= 0` (castShadow + non-degenerate dir + not
103
- * clipped) and a valid `lightViewProj`:
104
- * (1) Write the spot perspective matrix into `shadowCasterCascadeBuffer`
105
- * (D-1: spotLightViewProj lane at byte 16) and set `isSpot = 1` so the
106
- * shadow_caster vertex shader routes through the spot matrix instead of
107
- * the directional `view.lightViewProj_A..D` slots. The per-pass
108
- * independent command encoder + queue.submit serialize each host write
109
- * against that pass's GPU read.
110
- * (2) Open an INDEPENDENT command encoder targeting the spotShadowDepth view
111
- * with `depthLoadOp = (first valid tile ? clear : load)` — independent
112
- * clear counting decoupled from the directional cascadeIndex (D-2). Set a
113
- * per-tile viewport (col = tile % 2, row = tile / 2).
114
- * (3) Reuse the vertex-only `forgeax::default-shadow-caster` PSO + the cached
115
- * `view-shadow` BG + `shadow-material-singleton` + meshBindGroup built by
116
- * recordShadowPass (or built on-demand here when no directional shadow
117
- * ran this frame).
43
+ * Build the material handles whose dispatch entries match a graph pass.
118
44
  *
119
- * AC-03 zero-shadow zero-pass: early-returns when no spot has a valid tile, so
120
- * castShadow:false scenes (all tile=-1) record zero spot passes. After the
121
- * loop, `isSpot` is reset to 0 so the next directional cascade pass (or next
122
- * frame) sees the directional routing.
45
+ * A renderable can own more than one material pass, so renderable-level
46
+ * filtering is insufficient for geometry recording: a Deferred graph pass
47
+ * must not draw the same renderable's Forward-only material. Keep the
48
+ * renderable key in the result so mixed-material meshes retain their
49
+ * per-submesh routing.
123
50
  */
124
- export declare function recordSpotShadowPass(c: _InternalRenderPipelineContext): void;
51
+ export declare function buildMatchedMaterialHandlesByRenderable(dispatch: readonly DispatchEntry[], selector: PassSelector): ReadonlyMap<number, ReadonlySet<number>> | null;
125
52
  //# sourceMappingURL=shadow-pass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-pass.d.ts","sourceRoot":"","sources":["../../src/record/shadow-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAoB1D,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,0BAA0B,CAAC;AAqejF,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5F,SAAS,CAAC,EAAE;IACV,QAAQ,CAAC,UAAU,EAAE,uCAAuC,CAAC;IAC7D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C,GACA,IAAI,CAsDN;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,IAAI,CAuBN;AAED,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,MAAM,GACpB,IAAI,CAkDN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,SAAS,aAAa,EAAE,CAG1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAmBpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,QAAQ,CAAC,EAAE,YAAY,EACvB,QAAQ,CAAC,EAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7F,YAAY,GAAE,MAAU,GACvB,IAAI,CA6YN;AAyYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,8BAA8B,GAAG,IAAI,CA6Y7E;AAuLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,8BAA8B,GAAG,IAAI,CAsD5E"}
1
+ {"version":3,"file":"shadow-pass.d.ts","sourceRoot":"","sources":["../../src/record/shadow-pass.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EAGX,KAAK,QAAQ,EACb,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAU1D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAU/E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAIvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AAEvE,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,GACtB,IAAI,CAkBN;AA4HD,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3F,IAAI,CAwBN;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,IAAI,CAuBN;AAED,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,EAAE,MAAM,GACpB,IAAI,CA8CN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,SAAS,aAAa,EAAE,CAG1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAmBpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,YAAY,GACrB,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAajD"}
@@ -1,6 +1,6 @@
1
1
  import type { ResolveContext } from '@forgeax/engine-render-graph';
2
2
  import type { RhiRenderPassEncoder } from '@forgeax/engine-rhi';
3
- import type { _InternalRenderPipelineContext } from '../render-pipeline-context';
3
+ import type { _InternalRenderPipelineContext } from './render-context';
4
4
  /**
5
5
  * feat-20260531-skybox-env-background M2 / w8: skybox pass recording stub.
6
6
  * Renders a fullscreen triangle that samples a cubemap using the camera's
@@ -1 +1 @@
1
- {"version":3,"file":"skybox-post-pass.d.ts","sourceRoot":"","sources":["../../src/record/skybox-post-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAGjF;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAoIN;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAEN;AAED;;;;;;;;;GASG;AASH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAsEN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAgFN;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,8BAA8B,EACjC,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA6EN"}
1
+ {"version":3,"file":"skybox-post-pass.d.ts","sourceRoot":"","sources":["../../src/record/skybox-post-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,qBAAqB,CAAC;AAI7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAiIN;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAEN;AAED;;;;;;;;;GASG;AASH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAsEN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA+EN;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,8BAA8B,EAClC,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CAgFN;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,8BAA8B,EACjC,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,IAAI,CA6EN"}
@@ -1,13 +1,35 @@
1
1
  import { type CompiledRenderGraph } from '@forgeax/engine-render-graph';
2
2
  import type { RhiCommandEncoder } from '@forgeax/engine-rhi';
3
- import { type EnvironmentTransactionAttempt } from '../environment/graph';
3
+ import { type RenderError } from '../errors/render';
4
+ import { type RenderFeaturePlannedFrame } from '../features/plan';
4
5
  import type { PreparedGpuDrivenFrame } from '../gpu-driven/production-raster';
6
+ import type { CameraSnapshot } from '../render-contract';
5
7
  import type { RenderPipelineFrame } from '../render-pipeline';
6
- import type { PipelineState, RenderSystemInternals } from '../render-system';
7
- import type { CameraSnapshot, ExtractedLights } from '../render-system-extract';
8
- import type { TemporalFrameAttempt, TemporalFrameTransaction } from '../temporal-frame-transaction';
8
+ import type { ExtractedLights } from '../render-system-extract';
9
9
  import type { RenderFrameState } from './frame-snapshot';
10
- export declare function ensureCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState, camera: CameraSnapshot, lights: ExtractedLights, width: number, height: number, shadowMapSize: number | undefined, gpuDriven?: PreparedGpuDrivenFrame, temporalTransaction?: TemporalFrameTransaction): CompiledRenderGraph<RenderPipelineFrame> | null;
11
- export declare function retireCompiledFrameGraph(frameState: RenderFrameState, historyStore?: TemporalFrameTransaction['historyStore']): void;
12
- export declare function executeCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, frame: RenderPipelineFrame, encoder: RhiCommandEncoder, runPass?: import('@forgeax/engine-render-graph').RenderGraphPassRunner, temporalFrame?: TemporalFrameAttempt, environmentAttempt?: EnvironmentTransactionAttempt): boolean;
10
+ import type { PipelineState, RenderSystemInternals } from './render-context';
11
+ export interface RenderFeatureGraphRuntimeState {
12
+ plans: readonly RenderFeaturePlannedFrame[];
13
+ fullscreenEffects: ReadonlyMap<string, import('../fullscreen-post-process-pass').PostProcessShaderEntry>;
14
+ }
15
+ /** A frame-local graph candidate that is committed only after compilation. */
16
+ export interface RenderFeatureGraphCandidate {
17
+ readonly plans: readonly RenderFeaturePlannedFrame[];
18
+ readonly fullscreenEffects: ReadonlyMap<string, import('../fullscreen-post-process-pass').PostProcessShaderEntry>;
19
+ /**
20
+ * Physical prepared resources are imported into the compiled graph. A new
21
+ * prepared batch therefore needs a new graph even when the declarative plan
22
+ * signature is unchanged; otherwise queue retirement can destroy the buffer
23
+ * still referenced by the memoized graph.
24
+ */
25
+ readonly preparedResourceKey?: string;
26
+ /** Release candidate-owned prepared resources when graph promotion fails. */
27
+ readonly onRejected?: () => void;
28
+ }
29
+ export declare function getRenderFeatureGraphState(internals: RenderSystemInternals): RenderFeatureGraphRuntimeState;
30
+ export declare function resetRenderFeatureGraphState(internals: RenderSystemInternals): void;
31
+ export declare function reportRenderFeatureGraphError(internals: RenderSystemInternals, error: RenderError): void;
32
+ export declare function renderFeatureGraphPlanSignature(plans: readonly RenderFeaturePlannedFrame[]): string;
33
+ export declare function ensureCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState, camera: CameraSnapshot, lights: ExtractedLights, width: number, height: number, shadowMapSize: number | undefined, gpuDriven?: PreparedGpuDrivenFrame, featureGraphCandidate?: RenderFeatureGraphCandidate): CompiledRenderGraph<RenderPipelineFrame> | null;
34
+ export declare function executeCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, frame: RenderPipelineFrame, encoder: RhiCommandEncoder, runPass?: import('@forgeax/engine-render-graph').RenderGraphPassRunner): boolean;
13
35
  //# sourceMappingURL=typed-frame-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-frame-graph.d.ts","sourceRoot":"","sources":["../../src/record/typed-frame-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAKV,iBAAiB,EAGlB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,KAAK,6BAA6B,EAEnC,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA6LzD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,CAAC,EAAE,sBAAsB,EAClC,mBAAmB,CAAC,EAAE,wBAAwB,GAC7C,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CA2KjD;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,gBAAgB,EAC5B,YAAY,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,GACtD,IAAI,CAMN;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,OAAO,8BAA8B,EAAE,qBAAqB,EACtE,aAAa,CAAC,EAAE,oBAAoB,EACpC,kBAAkB,CAAC,EAAE,6BAA6B,GACjD,OAAO,CAiET"}
1
+ {"version":3,"file":"typed-frame-graph.d.ts","sourceRoot":"","sources":["../../src/record/typed-frame-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAKV,iBAAiB,EAGlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,kBAAkB,CAAC;AAKnF,OAAO,EAAE,KAAK,yBAAyB,EAA8B,MAAM,kBAAkB,CAAC;AAI9F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG7E,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,WAAW,CAC5B,MAAM,EACN,OAAO,iCAAiC,EAAE,sBAAsB,CACjE,CAAC;CACH;AAED,8EAA8E;AAC9E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACrD,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CACrC,MAAM,EACN,OAAO,iCAAiC,EAAE,sBAAsB,CACjE,CAAC;IACF;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAID,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,qBAAqB,GAC/B,8BAA8B,CAShC;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAInF;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,qBAAqB,EAChC,KAAK,EAAE,WAAW,GACjB,IAAI,CAUN;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,SAAS,yBAAyB,EAAE,GAC1C,MAAM,CAIR;AA2OD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,CAAC,EAAE,sBAAsB,EAClC,qBAAqB,CAAC,EAAE,2BAA2B,GAClD,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CA+EjD;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,OAAO,8BAA8B,EAAE,qBAAqB,GACrE,OAAO,CAoBT"}
@@ -1,6 +1,6 @@
1
1
  import type { Buffer, RhiQueue } from '@forgeax/engine-rhi';
2
- import type { CameraSnapshot, DirectionalLightSnapshot, ExtractedLights, FogSnapshot, SpotLightSnapshot } from '../render-system-extract';
3
- import type { TemporalView } from '../temporal-view';
2
+ import type { CameraSnapshot } from '../render-contract';
3
+ import type { DirectionalLightSnapshot, ExtractedLights, SpotLightSnapshot } from '../render-system-extract';
4
4
  export declare const VIEW_UNIFORM_BYTES = 960;
5
5
  export declare const VIEW_UNIFORM_SLOT_STRIDE = 1024;
6
6
  export declare const POINT_SHADOW_VIEW_SLOT_COUNT = 24;
@@ -35,5 +35,5 @@ export declare function pointShadowViewOffset(layer: number, face: number): numb
35
35
  *
36
36
  * @internal
37
37
  */
38
- export declare function writeViewUbo(queue: RhiQueue, viewUniformBuffer: Buffer, camera: CameraSnapshot, light: DirectionalLightSnapshot, lights: ExtractedLights, spotShadowSnapshots: readonly SpotLightSnapshot[], temporalView?: TemporalView, fog?: FogSnapshot): void;
38
+ export declare function writeViewUbo(queue: RhiQueue, viewUniformBuffer: Buffer, camera: CameraSnapshot, light: DirectionalLightSnapshot, lights: ExtractedLights, spotShadowSnapshots: readonly SpotLightSnapshot[]): void;
39
39
  //# sourceMappingURL=view-ubo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-ubo.d.ts","sourceRoot":"","sources":["../../src/record/view-ubo.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,wBAAwB,QAC0B,CAAC;AAEhE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,EACf,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,SAAS,iBAAiB,EAAE,EACjD,YAAY,CAAC,EAAE,YAAY,EAC3B,GAAG,CAAC,EAAE,WAAW,GAChB,IAAI,CAwIN"}
1
+ {"version":3,"file":"view-ubo.d.ts","sourceRoot":"","sources":["../../src/record/view-ubo.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,wBAAwB,QAC0B,CAAC;AAEhE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,EACf,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,SAAS,iBAAiB,EAAE,GAChD,IAAI,CA6GN"}