@forgeax/engine-render 0.1.23 → 0.1.25

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 (322) hide show
  1. package/README.md +231 -10
  2. package/dist/assembly/bundler-contract.d.ts +9 -0
  3. package/dist/assembly/bundler-contract.d.ts.map +1 -0
  4. package/dist/assembly/device-feature-admission.d.ts +8 -0
  5. package/dist/assembly/device-feature-admission.d.ts.map +1 -1
  6. package/dist/assembly/extended-lighting-fallback.d.ts +13 -0
  7. package/dist/assembly/extended-lighting-fallback.d.ts.map +1 -0
  8. package/dist/assembly/factory.d.ts +7 -243
  9. package/dist/assembly/factory.d.ts.map +1 -1
  10. package/dist/assembly/material/assembly.d.ts +3 -2
  11. package/dist/assembly/material/assembly.d.ts.map +1 -1
  12. package/dist/assembly/material/standard-layer-projection.d.ts +10 -0
  13. package/dist/assembly/material/standard-layer-projection.d.ts.map +1 -0
  14. package/dist/assembly/material/surface-projection.d.ts +24 -0
  15. package/dist/assembly/material/surface-projection.d.ts.map +1 -0
  16. package/dist/assembly/material-shader-policy.d.ts +188 -0
  17. package/dist/assembly/material-shader-policy.d.ts.map +1 -0
  18. package/dist/assembly/material-shader-prewarm.d.ts +21 -0
  19. package/dist/assembly/material-shader-prewarm.d.ts.map +1 -0
  20. package/dist/assembly/mesh-ssbo-grow.d.ts +88 -0
  21. package/dist/assembly/mesh-ssbo-grow.d.ts.map +1 -0
  22. package/dist/assembly/recovery/device-loss-fanout.d.ts +14 -0
  23. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -0
  24. package/dist/assembly/recovery/generation.d.ts +46 -0
  25. package/dist/assembly/recovery/generation.d.ts.map +1 -0
  26. package/dist/assembly/recovery/recovery-attempt.d.ts +63 -0
  27. package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -0
  28. package/dist/assembly/recovery/renderer-recover.d.ts +115 -0
  29. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -0
  30. package/dist/assembly/renderer-facade.d.ts +10 -0
  31. package/dist/assembly/renderer-facade.d.ts.map +1 -0
  32. package/dist/assembly/renderer-frame-transaction.d.ts +17 -0
  33. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  34. package/dist/assembly/renderer-helpers.d.ts +19 -0
  35. package/dist/assembly/renderer-helpers.d.ts.map +1 -0
  36. package/dist/assembly/renderer-lifecycle.d.ts +34 -0
  37. package/dist/assembly/renderer-lifecycle.d.ts.map +1 -1
  38. package/dist/assembly/shader-prewarm-policy.d.ts +15 -0
  39. package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -0
  40. package/dist/assembly/webgpu-ready-contract.d.ts +9 -0
  41. package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -0
  42. package/dist/assembly/webgpu-ready.d.ts +55 -0
  43. package/dist/assembly/webgpu-ready.d.ts.map +1 -0
  44. package/dist/assembly/webgpu-renderer.d.ts +152 -0
  45. package/dist/assembly/webgpu-renderer.d.ts.map +1 -0
  46. package/dist/assembly/webgpu-vertex-layouts.d.ts +89 -0
  47. package/dist/assembly/webgpu-vertex-layouts.d.ts.map +1 -0
  48. package/dist/assets/asset-decoders.d.ts.map +1 -1
  49. package/dist/authoring.mjs +1 -1
  50. package/dist/{chunk-FF7K3FSO.mjs → chunk-ADHHVYLW.mjs} +89 -89
  51. package/dist/chunk-ADHHVYLW.mjs.map +1 -0
  52. package/dist/{chunk-YALPS44A.mjs → chunk-E34VL5VI.mjs} +47 -47
  53. package/dist/chunk-E34VL5VI.mjs.map +1 -0
  54. package/dist/{chunk-4L3P6DT5.mjs → chunk-GE3SDD72.mjs} +37 -5
  55. package/dist/chunk-GE3SDD72.mjs.map +1 -0
  56. package/dist/{chunk-HZUPSYW7.mjs → chunk-HKXTW355.mjs} +105 -15
  57. package/dist/chunk-HKXTW355.mjs.map +1 -0
  58. package/dist/chunk-JSEDTZYS.mjs +413 -0
  59. package/dist/chunk-JSEDTZYS.mjs.map +1 -0
  60. package/dist/{chunk-FBC4R44J.mjs → chunk-KM2NOX2I.mjs} +57 -57
  61. package/dist/chunk-KM2NOX2I.mjs.map +1 -0
  62. package/dist/{chunk-DIYW3M5D.mjs → chunk-N3RT2EUR.mjs} +2288 -2238
  63. package/dist/chunk-N3RT2EUR.mjs.map +1 -0
  64. package/dist/{chunk-ZUWKAZ2I.mjs → chunk-TCLDX7SZ.mjs} +1167 -368
  65. package/dist/chunk-TCLDX7SZ.mjs.map +1 -0
  66. package/dist/{chunk-QODA5UKU.mjs → chunk-ZZ4YQ474.mjs} +2 -2
  67. package/dist/chunk-ZZ4YQ474.mjs.map +1 -0
  68. package/dist/components/instances.d.ts +13 -31
  69. package/dist/components/instances.d.ts.map +1 -1
  70. package/dist/construct-renderer.mjs +20688 -16314
  71. package/dist/construct-renderer.mjs.map +1 -1
  72. package/dist/device/device-scope.d.ts +2 -0
  73. package/dist/device/device-scope.d.ts.map +1 -1
  74. package/dist/device/gpu-residency.d.ts +24 -4
  75. package/dist/device/gpu-residency.d.ts.map +1 -1
  76. package/dist/environment/frame.d.ts +5 -0
  77. package/dist/environment/frame.d.ts.map +1 -1
  78. package/dist/environment/inspection.d.ts +7 -0
  79. package/dist/environment/inspection.d.ts.map +1 -1
  80. package/dist/environment/lifecycle.d.ts +20 -2
  81. package/dist/environment/lifecycle.d.ts.map +1 -1
  82. package/dist/errors/recover.d.ts +58 -2
  83. package/dist/errors/recover.d.ts.map +1 -1
  84. package/dist/errors/render.d.ts +13 -0
  85. package/dist/errors/render.d.ts.map +1 -1
  86. package/dist/extract/contracts.d.ts +899 -0
  87. package/dist/extract/contracts.d.ts.map +1 -0
  88. package/dist/features/host.d.ts +2 -0
  89. package/dist/features/host.d.ts.map +1 -1
  90. package/dist/features/prepared-gpu-work.d.ts +3 -0
  91. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  92. package/dist/features/prepared-graphics-store.d.ts +2 -0
  93. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  94. package/dist/gpu-driven/production-raster.d.ts +34 -1
  95. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  96. package/dist/gpu-scene.d.ts +5 -0
  97. package/dist/gpu-scene.d.ts.map +1 -1
  98. package/dist/ibl/IblPipelineCache.d.ts +7 -6
  99. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  100. package/dist/ibl/skylight-bind-group.d.ts +7 -1
  101. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  102. package/dist/index.d.ts +2 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.mjs +27 -9
  105. package/dist/index.mjs.map +1 -1
  106. package/dist/instance-buffer-cache.d.ts +7 -1
  107. package/dist/instance-buffer-cache.d.ts.map +1 -1
  108. package/dist/instances.d.ts +101 -0
  109. package/dist/instances.d.ts.map +1 -0
  110. package/dist/internal.mjs +6 -6
  111. package/dist/light-buffer-layout.d.ts +3 -0
  112. package/dist/light-buffer-layout.d.ts.map +1 -1
  113. package/dist/materials.d.ts +96 -11
  114. package/dist/materials.d.ts.map +1 -1
  115. package/dist/mesh-material-bindings.d.ts +56 -0
  116. package/dist/mesh-material-bindings.d.ts.map +1 -1
  117. package/dist/occlusion-proxy.d.ts +4 -0
  118. package/dist/occlusion-proxy.d.ts.map +1 -0
  119. package/dist/pbr-pipeline.d.ts +32 -9
  120. package/dist/pbr-pipeline.d.ts.map +1 -1
  121. package/dist/pipeline-builder.d.ts.map +1 -1
  122. package/dist/pipeline-spec.d.ts.map +1 -1
  123. package/dist/points-lines/prepare.d.ts +3 -0
  124. package/dist/points-lines/prepare.d.ts.map +1 -1
  125. package/dist/points-lines/standard-owner.d.ts +33 -0
  126. package/dist/points-lines/standard-owner.d.ts.map +1 -0
  127. package/dist/record/frame-snapshot.d.ts +18 -2
  128. package/dist/record/frame-snapshot.d.ts.map +1 -1
  129. package/dist/record/frame-targets.d.ts.map +1 -1
  130. package/dist/record/frame.d.ts +14 -2
  131. package/dist/record/frame.d.ts.map +1 -1
  132. package/dist/record/main-pass-geometry.d.ts +36 -4
  133. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  134. package/dist/record/main-pass-material.d.ts +7 -17
  135. package/dist/record/main-pass-material.d.ts.map +1 -1
  136. package/dist/record/main-pass.d.ts.map +1 -1
  137. package/dist/record/mesh-ssbo.d.ts +11 -3
  138. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  139. package/dist/record/recovery-pipeline.d.ts +30 -0
  140. package/dist/record/recovery-pipeline.d.ts.map +1 -0
  141. package/dist/record/render-context.d.ts +28 -5
  142. package/dist/record/render-context.d.ts.map +1 -1
  143. package/dist/record/shadow-pass.d.ts +11 -1
  144. package/dist/record/shadow-pass.d.ts.map +1 -1
  145. package/dist/record/typed-frame-graph.d.ts +1 -1
  146. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  147. package/dist/recovery/render-system-candidate.d.ts +65 -0
  148. package/dist/recovery/render-system-candidate.d.ts.map +1 -0
  149. package/dist/render-contract.d.ts +68 -7
  150. package/dist/render-contract.d.ts.map +1 -1
  151. package/dist/render-system-extract-tail.d.ts +16 -0
  152. package/dist/render-system-extract-tail.d.ts.map +1 -0
  153. package/dist/render-system-extract.d.ts +180 -22
  154. package/dist/render-system-extract.d.ts.map +1 -1
  155. package/dist/render-system.d.ts +131 -4
  156. package/dist/render-system.d.ts.map +1 -1
  157. package/dist/scene/render-scene-types.d.ts +2 -0
  158. package/dist/scene/render-scene-types.d.ts.map +1 -1
  159. package/dist/scene/render-scene.d.ts +31 -1
  160. package/dist/scene/render-scene.d.ts.map +1 -1
  161. package/dist/systems/skin-palette-allocator.d.ts +6 -0
  162. package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
  163. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  164. package/dist/temporal/index.mjs +6 -6
  165. package/dist/temporal/taa-history-store.d.ts +15 -1
  166. package/dist/temporal/taa-history-store.d.ts.map +1 -1
  167. package/dist/temporal/transaction.d.ts +5 -0
  168. package/dist/temporal/transaction.d.ts.map +1 -1
  169. package/package.json +20 -20
  170. package/src/__tests__/device-feature-admission.unit.test.ts +6 -0
  171. package/src/__tests__/device-loss-fanout.unit.test.ts +107 -0
  172. package/src/__tests__/device-scope-lifecycle.unit.test.ts +21 -0
  173. package/src/__tests__/environment-generation.integration.test.ts +23 -0
  174. package/src/__tests__/expose-renderer-errors.unit.test.ts +34 -0
  175. package/src/__tests__/factory-contract.integration.test.ts +122 -7
  176. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +4 -1
  177. package/src/__tests__/gpu-scene.unit.test.ts +38 -2
  178. package/src/__tests__/ibl/face-uniforms.unit.test.ts +2 -0
  179. package/src/__tests__/ibl-residency-publication.unit.test.ts +113 -0
  180. package/src/__tests__/instances-store.unit.test.ts +46 -0
  181. package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
  182. package/src/__tests__/material-contract-inventory.unit.test.ts +29 -22
  183. package/src/__tests__/material-cooked-projection.unit.test.ts +19 -1
  184. package/src/__tests__/material-pass-policy.unit.test.ts +69 -0
  185. package/src/__tests__/material-snapshot-mutation.integration.test.ts +69 -0
  186. package/src/__tests__/material-static-dynamic-route.unit.test.ts +29 -0
  187. package/src/__tests__/material-stride-surface.unit.test.ts +7 -3
  188. package/src/__tests__/material-surface-authoring.test-d.ts +62 -0
  189. package/src/__tests__/materials-standard-contract.unit.test.ts +104 -0
  190. package/src/__tests__/materials-transmission-validation.unit.test.ts +24 -0
  191. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -5
  192. package/src/__tests__/physical-clearcoat.integration.test.ts +89 -0
  193. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +1 -1
  194. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +1 -1
  195. package/src/__tests__/recover-error-policy-owner.unit.test.ts +6 -3
  196. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +140 -0
  197. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +127 -18
  198. package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +47 -0
  199. package/src/__tests__/renderer-generation-assembly.unit.test.ts +77 -0
  200. package/src/__tests__/renderer-generation-failure.unit.test.ts +108 -0
  201. package/src/__tests__/renderer-producer-root-matrix.integration.test.ts +33 -0
  202. package/src/__tests__/renderer-recovery-capability-matrix.unit.test.ts +59 -0
  203. package/src/__tests__/renderer-recovery-contract.unit.test.ts +73 -0
  204. package/src/__tests__/renderer-recovery-lifecycle.unit.test.ts +216 -0
  205. package/src/__tests__/renderer-target-history-recovery.integration.test.ts +80 -0
  206. package/src/__tests__/shader-manifest-fixture.ts +13 -16
  207. package/src/__tests__/shader-stage-surface.unit.test.ts +1 -1
  208. package/src/__tests__/skin-motion-regression.unit.test.ts +33 -0
  209. package/src/__tests__/skinned-shadow-caster.test.ts +30 -2
  210. package/src/__tests__/standard-layer-projection.unit.test.ts +23 -0
  211. package/src/__tests__/surface-adjacent-regressions.integration.test.ts +60 -0
  212. package/src/__tests__/surface-standard-pipeline.browser.test.ts +20 -0
  213. package/src/__tests__/surface-standard-pipeline.dawn.test.ts +20 -0
  214. package/src/__tests__/surface-standard-pipeline.fixture.ts +132 -0
  215. package/src/__tests__/surface-variant-provenance.integration.test.ts +33 -0
  216. package/src/__tests__/transmission-prewarm.unit.test.ts +95 -85
  217. package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +1 -1
  218. package/src/__tests__/volumetric-fog-topology.unit.test.ts +3 -1
  219. package/src/assembly/bundler-contract.ts +9 -0
  220. package/src/assembly/device-feature-admission.ts +15 -5
  221. package/src/assembly/extended-lighting-fallback.ts +216 -0
  222. package/src/assembly/factory.ts +83 -10088
  223. package/src/assembly/material/__tests__/standard-layer-plan-projection.integration.test.ts +18 -0
  224. package/src/assembly/material/__tests__/surface-pass-projection.integration.test.ts +62 -0
  225. package/src/assembly/material/assembly.ts +18 -2
  226. package/src/assembly/material/standard-layer-projection.ts +16 -0
  227. package/src/assembly/material/surface-projection.ts +90 -0
  228. package/src/assembly/material-shader-policy.ts +932 -0
  229. package/src/assembly/material-shader-prewarm.ts +88 -0
  230. package/src/assembly/mesh-ssbo-grow.ts +270 -0
  231. package/src/assembly/recovery/device-loss-fanout.ts +89 -0
  232. package/src/assembly/recovery/generation.ts +141 -0
  233. package/src/assembly/recovery/recovery-attempt.ts +800 -0
  234. package/src/assembly/recovery/renderer-recover.ts +906 -0
  235. package/src/assembly/renderer-facade.ts +342 -0
  236. package/src/assembly/renderer-frame-transaction.ts +45 -0
  237. package/src/assembly/renderer-helpers.ts +99 -0
  238. package/src/assembly/renderer-lifecycle.ts +159 -0
  239. package/src/assembly/shader-prewarm-policy.ts +157 -0
  240. package/src/assembly/webgpu-ready-contract.ts +14 -0
  241. package/src/assembly/webgpu-ready.ts +4066 -0
  242. package/src/assembly/webgpu-renderer.ts +4027 -0
  243. package/src/assembly/webgpu-vertex-layouts.ts +132 -0
  244. package/src/assets/asset-decoders.ts +27 -4
  245. package/src/components/camera.ts +1 -1
  246. package/src/components/instances.ts +14 -197
  247. package/src/debug-draw-glue.ts +1 -1
  248. package/src/device/device-scope.ts +35 -6
  249. package/src/device/gpu-residency.ts +194 -26
  250. package/src/environment/frame.ts +6 -0
  251. package/src/environment/inspection.ts +10 -0
  252. package/src/environment/lifecycle.ts +114 -8
  253. package/src/errors/recover.ts +76 -5
  254. package/src/errors/render.ts +17 -0
  255. package/src/extract/contracts.ts +974 -0
  256. package/src/features/host.ts +16 -0
  257. package/src/features/prepared-gpu-work.ts +20 -2
  258. package/src/features/prepared-graphics-store.ts +17 -0
  259. package/src/gpu-driven/production-raster.ts +131 -3
  260. package/src/gpu-scene.ts +87 -31
  261. package/src/ibl/IblPipelineCache.ts +134 -50
  262. package/src/ibl/skylight-bind-group.ts +26 -0
  263. package/src/index.ts +10 -1
  264. package/src/instance-buffer-cache.ts +14 -1
  265. package/src/instances.ts +288 -0
  266. package/src/light-buffer-layout.ts +3 -0
  267. package/src/materials.ts +365 -53
  268. package/src/mesh-material-bindings.ts +59 -0
  269. package/src/occlusion-proxy.ts +64 -0
  270. package/src/pbr-pipeline.ts +139 -15
  271. package/src/pipeline-builder.ts +14 -10
  272. package/src/pipeline-spec.ts +6 -14
  273. package/src/points-lines/__tests__/cache-recovery.unit.test.ts +22 -0
  274. package/src/points-lines/prepare.ts +9 -0
  275. package/src/points-lines/standard-owner.ts +403 -0
  276. package/src/record/__tests__/frame-targets-recovery.unit.test.ts +60 -0
  277. package/src/record/__tests__/main-pass-geometry.unit.test.ts +26 -1
  278. package/src/record/__tests__/mesh-ssbo.unit.test.ts +38 -0
  279. package/src/record/__tests__/recovery-pipeline.unit.test.ts +124 -0
  280. package/src/record/__tests__/sprite-material-abi.unit.test.ts +28 -13
  281. package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +47 -4
  282. package/src/record/__tests__/temporal-payload.unit.test.ts +22 -43
  283. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -1
  284. package/src/record/frame-snapshot.ts +34 -2
  285. package/src/record/frame-targets.ts +11 -1
  286. package/src/record/frame.ts +37 -4
  287. package/src/record/helpers.ts +1 -1
  288. package/src/record/main-pass-geometry.ts +727 -63
  289. package/src/record/main-pass-material.ts +316 -209
  290. package/src/record/main-pass-sprite-draws.ts +7 -8
  291. package/src/record/main-pass.ts +94 -6
  292. package/src/record/mesh-ssbo.ts +32 -10
  293. package/src/record/recovery-pipeline.ts +695 -0
  294. package/src/record/render-context.ts +39 -4
  295. package/src/record/shadow-pass.ts +46 -99
  296. package/src/record/typed-frame-graph.ts +45 -1
  297. package/src/record/view-ubo.ts +3 -3
  298. package/src/recovery/render-system-candidate.ts +876 -0
  299. package/src/render-contract.ts +69 -7
  300. package/src/render-system-extract-tail.ts +3039 -0
  301. package/src/render-system-extract.ts +177 -3003
  302. package/src/render-system.ts +906 -662
  303. package/src/scene/render-scene-types.ts +2 -0
  304. package/src/scene/render-scene.ts +703 -37
  305. package/src/systems/skin-palette-allocator.ts +129 -7
  306. package/src/temporal/frame-coordinator.ts +4 -1
  307. package/src/temporal/taa-history-store.ts +46 -2
  308. package/src/temporal/temporal-view.ts +1 -1
  309. package/src/temporal/transaction.ts +9 -0
  310. package/src/tilemap-chunk-extract-system.ts +1 -1
  311. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +19 -12
  312. package/src/transmission/__tests__/surface-compatibility.integration.test.ts +32 -0
  313. package/dist/chunk-4L3P6DT5.mjs.map +0 -1
  314. package/dist/chunk-4NPUASZR.mjs +0 -203
  315. package/dist/chunk-4NPUASZR.mjs.map +0 -1
  316. package/dist/chunk-DIYW3M5D.mjs.map +0 -1
  317. package/dist/chunk-FBC4R44J.mjs.map +0 -1
  318. package/dist/chunk-FF7K3FSO.mjs.map +0 -1
  319. package/dist/chunk-HZUPSYW7.mjs.map +0 -1
  320. package/dist/chunk-QODA5UKU.mjs.map +0 -1
  321. package/dist/chunk-YALPS44A.mjs.map +0 -1
  322. package/dist/chunk-ZUWKAZ2I.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-ssbo.d.ts","sourceRoot":"","sources":["../../src/record/mesh-ssbo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh-ssbo.d.ts","sourceRoot":"","sources":["../../src/record/mesh-ssbo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { StandardTopologyInputValue } from '../pipeline/standard-lighting/topology';
2
+ import { type PipelineSpec } from '../pipeline-spec';
3
+ import type { CameraSnapshot } from '../render-contract';
4
+ import type { DispatchEntry } from '../render-system-extract';
5
+ import type { ValidatedRenderable } from './frame-snapshot';
6
+ import type { PipelineState, RecoveryColdWorkGuard, RenderSystemInternals } from './render-context';
7
+ export interface RecoveryPipelineReadiness {
8
+ readonly pipelineSpecs: readonly PipelineSpec[];
9
+ /** Re-resolve every candidate request and assert a stable cache hit. */
10
+ readonly assertFirstRecoveryFrame: () => void;
11
+ }
12
+ /**
13
+ * Create the one-shot assertion used by the first frame after publication.
14
+ * Recording a miss is a failure at the owner seam; the draw path never gets a
15
+ * chance to submit a frame that hides a shader/pipeline or static-residency
16
+ * cold build behind an apparently successful receipt.
17
+ */
18
+ export declare function createRecoveryColdWorkGuard(): RecoveryColdWorkGuard;
19
+ export declare function prepareRecoveryPipelineReadiness(input: {
20
+ readonly internals: RenderSystemInternals;
21
+ readonly pipelineState: PipelineState;
22
+ readonly camera: CameraSnapshot;
23
+ readonly standardLighting: StandardTopologyInputValue | undefined;
24
+ readonly validated: readonly ValidatedRenderable[];
25
+ readonly dispatch: readonly DispatchEntry[];
26
+ readonly shadowCastersActive: boolean;
27
+ readonly splitLdrSprite: boolean;
28
+ readonly reflectionFallbackAvailable: boolean;
29
+ }): RecoveryPipelineReadiness;
30
+ //# sourceMappingURL=recovery-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-pipeline.d.ts","sourceRoot":"","sources":["../../src/record/recovery-pipeline.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAGL,KAAK,YAAY,EAKlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,KAAK,EAEV,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,wEAAwE;IACxE,QAAQ,CAAC,wBAAwB,EAAE,MAAM,IAAI,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAsCnE;AAugBD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;CAC/C,GAAG,yBAAyB,CA0E5B"}
@@ -5,8 +5,8 @@ import type { Profiler } from '@forgeax/engine-profiler';
5
5
  import type { CompiledRenderGraphInfo } from '@forgeax/engine-render-graph';
6
6
  import type { BindGroup, BindGroupLayout, Buffer, ComputePipeline, PipelineLayout, Result, RhiCanvasContext, RhiCommandEncoder, RhiDevice, RenderPipeline as RhiRenderPipeline, Sampler, Texture, TextureFormat, TextureView } from '@forgeax/engine-rhi';
7
7
  import { RhiError } from '@forgeax/engine-rhi';
8
- import type { MaterialRuntimeArtifact, MaterialShaderArtifact } from '@forgeax/engine-shader';
9
- import type { MaterialRenderState, ParamSchemaEntry, PassKind, PrimitiveTopology, VertexAttributeMap } from '@forgeax/engine-types';
8
+ import { type MaterialRuntimeArtifact, type MaterialShaderArtifact } from '@forgeax/engine-shader';
9
+ import type { MaterialAsset, MaterialRenderState, ParamSchemaEntry, PassKind, PrimitiveTopology, VertexAttributeMap } from '@forgeax/engine-types';
10
10
  import type { MaterialRenderProjection } from '../assembly/material/assembly';
11
11
  import type { DeviceScope } from '../device/device-scope';
12
12
  import type { MeshGpuHandles } from '../device/gpu-residency';
@@ -64,6 +64,17 @@ export interface MaterialShaderPipelineEntry {
64
64
  readonly pipeline: RhiRenderPipeline;
65
65
  readonly group2Contract: PipelineGroup2Contract;
66
66
  }
67
+ /**
68
+ * Armed only for the first published recovery frame. Candidate preparation
69
+ * must make every pipeline and static residency lookup a cache hit before this
70
+ * guard is armed; a miss is a hard failure before queue submission.
71
+ */
72
+ export interface RecoveryColdWorkGuard {
73
+ arm(): void;
74
+ notePipelineColdWork(): void;
75
+ noteUploadColdWork(): void;
76
+ finish(): void;
77
+ }
67
78
  import type { RenderDebugOverlay, RenderPipelineContext, RenderRecordPhase, VolumetricFogShaderSources } from '../render-contract';
68
79
  import type { DispatchEntry, MaterialSnapshot, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
69
80
  import type { SkinPaletteAllocator } from '../systems/skin-palette-allocator';
@@ -76,22 +87,30 @@ export interface RenderSystemRuntime {
76
87
  /** Internal backend-fixture hook evaluated at the submit transaction edge. */
77
88
  readonly beforeSubmit?: ((device: RhiDevice) => RhiError | undefined) | undefined;
78
89
  readonly deviceScope: DeviceScope;
90
+ /** Resolve a recorder/backend wrapper before configuring the native surface. */
91
+ readonly resolveSurfaceDevice?: (device: RhiDevice) => Result<RhiDevice, RhiError>;
79
92
  readonly errorRegistry: RhiErrorListenerRegistry;
80
93
  readonly debugOverlay?: RenderDebugOverlay | undefined;
81
94
  readonly healthRegistry: HealthListenerRegistry;
95
+ readonly getMaterialProjectionForPayload?: (material: MaterialAsset) => MaterialRenderProjection | undefined;
82
96
  readonly getMaterialProjection?: (materialGuid: string) => MaterialRenderProjection | undefined;
83
97
  readonly getMaterialArtifact?: (specializationKey: string) => MaterialRuntimeArtifact | undefined;
84
98
  /** Producer-owned cooked Standard PBR artifact used by GPU-driven projection. */
85
99
  readonly getMaterialShaderArtifact?: (materialShaderId: string) => MaterialShaderArtifact | undefined;
86
100
  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, shaderModuleMode?: RenderFeatureShaderModuleMode, layoutKindOverride?: 'pbr' | 'pbr-skin', additionalColorFormats?: readonly GPUTextureFormat[]) => RhiRenderPipeline | null;
87
101
  readonly getMaterialShaderPipelineEntry?: (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, shaderModuleMode?: RenderFeatureShaderModuleMode, layoutKindOverride?: 'pbr' | 'pbr-skin', additionalColorFormats?: readonly GPUTextureFormat[]) => MaterialShaderPipelineEntry | null;
102
+ /** Reflection-derived UV count included in the material PipelineSpec cache key. */
103
+ readonly getMaterialShaderUvSetCount?: (materialShaderId: string) => number | undefined;
88
104
  readonly getMaterialShaderBindingContract?: (materialShaderId: string) => 'group-0' | 'group-0-resource' | 'view-only' | 'view-and-scene-depth' | 'render-material';
89
105
  readonly getParamSchema?: (materialShaderId: string) => readonly ParamSchemaEntry[] | undefined;
90
- readonly getMaterialBindGroupLayout?: (materialShaderId: string) => BindGroupLayout | undefined;
106
+ readonly getMaterialBindGroupLayout?: (materialShaderId: string, materialParamSchema?: readonly ParamSchemaEntry[]) => BindGroupLayout | undefined;
107
+ recoveryColdWorkGuard?: RecoveryColdWorkGuard | undefined;
91
108
  readonly metrics: EngineMetrics;
92
109
  readonly lookupPostProcess?: (id: string) => import('../fullscreen-post-process-pass').PostProcessShaderEntry | undefined;
93
110
  readonly getPostProcessParamsBuffer?: (id: string) => Buffer | undefined;
94
111
  readonly getPostProcessPipeline?: (id: string, bgl: BindGroupLayout, colorFormat: GPUTextureFormat, entry?: import('../fullscreen-post-process-pass').PostProcessShaderEntry) => RhiRenderPipeline | null;
112
+ /** Candidate-owned post-process pipelines transferred at publication. */
113
+ readonly getRecoveryPostProcessPipelines?: () => ReadonlyMap<string, RhiRenderPipeline>;
95
114
  readonly clearPostProcessPipelineCache?: (id: string) => void;
96
115
  readonly invalidateShaderModule?: (label: string) => void;
97
116
  readonly dynamicTextureStore?: DynamicTextureStore | undefined;
@@ -252,6 +271,8 @@ export interface PipelineState {
252
271
  readonly skinPaletteAllocator: SkinPaletteAllocator | null;
253
272
  readonly defaultWhiteTextureView: TextureView;
254
273
  readonly defaultNormalTextureView: TextureView;
274
+ /** Missing anisotropy maps encode a neutral direction and unit strength. */
275
+ readonly defaultAnisotropyTextureView?: TextureView;
255
276
  readonly unlitPipelineHdr: RhiRenderPipeline | null;
256
277
  readonly shadowFallbackTextureView: TextureView;
257
278
  readonly shadowAtlasFallbackTextureView: TextureView;
@@ -281,6 +302,8 @@ export interface RenderSystemInternals extends RenderSystemRuntime {
281
302
  readonly standardProfile?: StandardProfile | undefined;
282
303
  readonly standardPipeline: RenderFrameState['activePipeline'];
283
304
  readonly featureHost?: RenderFeatureHost | undefined;
305
+ /** Install a detached feature host only at the recovery publication boundary. */
306
+ readonly setFeatureHost?: ((host: RenderFeatureHost) => void) | undefined;
284
307
  readonly shaderModuleFactory?: PipelineBuilderShaderModuleFactory;
285
308
  readonly createShaderModule?: (device: import('@forgeax/engine-rhi').RhiDevice, descriptor: {
286
309
  readonly code: string;
@@ -371,8 +394,8 @@ export interface _StandardForwardSceneView {
371
394
  }
372
395
  export type _InternalRenderPipelineContext = RenderPipelineContext & _StandardForwardSceneView;
373
396
  export type RecordProfileRunner = <T>(phase: RenderRecordPhase, action: () => T) => T;
374
- export declare const STANDARD_PBR_UBO_SIZE = 384;
375
- export declare const MATERIAL_PER_ENTITY_STRIDE = 512;
397
+ export declare const STANDARD_PBR_UBO_SIZE: number;
398
+ export declare const MATERIAL_PER_ENTITY_STRIDE: number;
376
399
  export type SwapChainFormatPair = {
377
400
  readonly storage: GPUTextureFormat;
378
401
  readonly view: GPUTextureFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../../src/record/render-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../../src/record/render-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type Buffer, type RhiQueue, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
2
- import type { PassSelector } from '@forgeax/engine-types';
2
+ import type { MaterialRenderState, PassSelector } from '@forgeax/engine-types';
3
3
  import type { DispatchEntry, ExtractedLights } from '../render-system-extract';
4
4
  import type { _InternalRenderPipelineContext } from './render-context';
5
5
  export declare const SHADOW_CASTER_SLOT_STRIDE = 256;
@@ -7,6 +7,15 @@ export declare const SHADOW_CASTER_BUFFER_SIZE: number;
7
7
  export declare function directionalShadowCasterOffset(cascadeIndex: number): number;
8
8
  export declare function spotShadowCasterOffset(tile: number): number;
9
9
  export declare function writeShadowCasterUniforms(queue: RhiQueue, buffer: Buffer, lights: ExtractedLights): void;
10
+ interface ShadowDispatch {
11
+ readonly materialHandle: number;
12
+ readonly materialShaderId: string;
13
+ readonly renderState: MaterialRenderState | undefined;
14
+ readonly materialSlot: number | undefined;
15
+ readonly paramSnapshot: DispatchEntry['paramSnapshot'];
16
+ }
17
+ type ShadowDispatchMap = ReadonlyMap<number, ReadonlyMap<number, ShadowDispatch>>;
18
+ export declare function shadowShaderMap(c: _InternalRenderPipelineContext): ShadowDispatchMap;
10
19
  export declare function encodeDirectionalShadowPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, cascadeIndex: number, viewport: {
11
20
  readonly x: number;
12
21
  readonly y: number;
@@ -49,4 +58,5 @@ export declare function buildMatchedRenderableIndices(dispatch: readonly Dispatc
49
58
  * per-submesh routing.
50
59
  */
51
60
  export declare function buildMatchedMaterialHandlesByRenderable(dispatch: readonly DispatchEntry[], selector: PassSelector): ReadonlyMap<number, ReadonlySet<number>> | null;
61
+ export {};
52
62
  //# 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,EAGL,KAAK,MAAM,EAGX,KAAK,QAAQ,EACb,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiB/E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAY/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;AA2RD,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
+ {"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,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAW/E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAY/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;AAmLD,UAAU,cAAc;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACxD;AAED,KAAK,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAElF,wBAAgB,eAAe,CAAC,CAAC,EAAE,8BAA8B,GAAG,iBAAiB,CA2BpF;AAiFD,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"}
@@ -173,7 +173,7 @@ export declare function resolvePostProcessChainAdmission(effects: readonly strin
173
173
  * leave the renderer without a graph when this was the first attempt).
174
174
  */
175
175
  export declare function settleVolumetricFogGraphCandidate(frameState: RenderFrameState, submitted: boolean): void;
176
- 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, cubeCaptureState?: CubeCaptureGraphState, clearOnly?: boolean, transmissionDemand?: TransmissionDemand, occlusion?: import('../scene/visibility/occlusion-runtime').OcclusionFrameProjection, volumetricFog?: ExtractedVolumetricFog, volumeTopologyCandidate?: boolean, standardLighting?: StandardTopologyInputValue): CompiledRenderGraph<RenderPipelineFrame> | null;
176
+ 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, cubeCaptureState?: CubeCaptureGraphState, clearOnly?: boolean, transmissionDemand?: TransmissionDemand, occlusion?: import('../scene/visibility/occlusion-runtime').OcclusionFrameProjection, volumetricFog?: ExtractedVolumetricFog, volumeTopologyCandidate?: boolean, standardLighting?: StandardTopologyInputValue, onRecoveryError?: (error: unknown) => void): CompiledRenderGraph<RenderPipelineFrame> | null;
177
177
  export declare function executeCompiledFrameGraph(internals: RenderSystemInternals, frameState: RenderFrameState, frame: RenderPipelineFrame, encoder: RhiCommandEncoder, runPass?: import('@forgeax/engine-render-graph').RenderGraphPassRunner, frameHooks?: {
178
178
  readonly afterGraphExecute?: () => Result<void, RhiError>;
179
179
  readonly onSubmitted?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"typed-frame-graph.d.ts","sourceRoot":"","sources":["../../src/record/typed-frame-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-frame-graph.d.ts","sourceRoot":"","sources":["../../src/record/typed-frame-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { World } from '@forgeax/engine-ecs';
2
+ import { type RenderPipeline, type Result, RhiError } from '@forgeax/engine-rhi';
3
+ import type { Handle } from '@forgeax/engine-types';
4
+ import type { EnvironmentLifecycle } from '../environment/lifecycle';
5
+ import { type RenderFeaturePreparedGraphicsResolverInput } from '../features/host';
6
+ import type { RenderFeatureGpuWorkOwner } from '../features/prepared-gpu-work';
7
+ import { type PostProcessShaderEntry } from '../fullscreen-post-process-pass';
8
+ import { GpuDrivenProduction } from '../gpu-driven/production-raster';
9
+ import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
10
+ import type { PreparedGraphicsResolver } from '../prepare/prepared-graphics-resolver';
11
+ import type { RenderFrameState, ValidatedRenderable } from '../record/frame-snapshot';
12
+ import type { PointsLinesRecordOwner, RenderSystemInternals } from '../record/render-context';
13
+ import type { RecoveryGraphCandidate, RecoveryGraphCandidatePreparation, RecoveryGraphCandidateRuntime, RecoveryGraphSetupSubmission, RecoveryPointsLinesCandidate } from '../render-system';
14
+ import type { ExtractedFrame, MaterialSnapshot } from '../render-system-extract';
15
+ import type { PersistentRenderScene } from '../scene/render-scene';
16
+ export interface PreparedResolverCaches {
17
+ readonly preparedPipelineIds: WeakMap<object, string>;
18
+ readonly preparedMaterialPipelineShaders: WeakMap<object, string>;
19
+ readonly preparedGroup0Pipelines: WeakSet<object>;
20
+ readonly preparedViewOnlyPipelines: WeakSet<object>;
21
+ readonly preparedRenderMaterialPipelines: WeakSet<object>;
22
+ readonly preparedAssetHandles: WeakMap<World, Map<string, number>>;
23
+ }
24
+ export interface RecoveryFrameSeed {
25
+ readonly frame: ExtractedFrame;
26
+ readonly worlds: readonly World[];
27
+ readonly cameraOwner: number;
28
+ readonly resourceOwner: number;
29
+ readonly width: number;
30
+ readonly height: number;
31
+ }
32
+ export interface RenderSystemRecoveryDependencies {
33
+ readonly frameState: RenderFrameState;
34
+ readonly internals: RenderSystemInternals;
35
+ readonly getEnvironmentLifecycle: () => EnvironmentLifecycle;
36
+ readonly getGpuDrivenProduction: () => GpuDrivenProduction;
37
+ readonly setGpuDrivenProduction: (production: GpuDrivenProduction) => void;
38
+ readonly disposeFeatureGpuWork: () => void;
39
+ readonly setFeatureGpuWork: (owner: RenderFeatureGpuWorkOwner) => void;
40
+ readonly getActiveFeaturePostProcessEntries: () => ReadonlyMap<string, PostProcessShaderEntry>;
41
+ readonly setActiveFeaturePostProcessEntries: (entries: ReadonlyMap<string, PostProcessShaderEntry>) => void;
42
+ readonly postProcessPipelineCache: Map<string, RenderPipeline>;
43
+ readonly clearPostProcessPipelineCache: (id: string) => void;
44
+ readonly clearPostProcessPipelineEntry: (id: string, entry: PostProcessShaderEntry) => void;
45
+ readonly invalidatePostProcessModule: (id: string) => void;
46
+ readonly persistentRenderScene: PersistentRenderScene;
47
+ readonly gpuDrivenShaderFactory: PipelineBuilderShaderModuleFactory;
48
+ readonly createFeatureGpuWorkOwner: (runtime: RenderSystemInternals) => RenderFeatureGpuWorkOwner;
49
+ readonly pointsLinesOwner: PointsLinesRecordOwner & {
50
+ prepareRecoveryCandidate: (entries: readonly ValidatedRenderable[], clustered: boolean, runtime: RenderSystemInternals) => RecoveryPointsLinesCandidate | undefined;
51
+ };
52
+ readonly createPreparedResolverFactory: (runtime: RenderSystemInternals, gpuWork: RenderFeatureGpuWorkOwner, worlds: readonly World[], caches: PreparedResolverCaches) => (input: RenderFeaturePreparedGraphicsResolverInput) => PreparedGraphicsResolver;
53
+ readonly createPreparedResolverCaches: () => PreparedResolverCaches;
54
+ }
55
+ export interface RenderSystemRecoveryOwner {
56
+ setLastSuccessfulFrameSeed(seed: RecoveryFrameSeed): void;
57
+ prepareRecoveryGraphCandidate(runtime: RecoveryGraphCandidateRuntime): Promise<RecoveryGraphCandidatePreparation>;
58
+ submitCandidateSetup(candidate: RecoveryGraphCandidate, isValid: () => boolean): Result<RecoveryGraphSetupSubmission, RhiError>;
59
+ publishRecoveryGraphCandidate(candidate: RecoveryGraphCandidate): void;
60
+ discardRecoveryGraphCandidate(candidate: RecoveryGraphCandidate): void;
61
+ }
62
+ export declare function materialTextureHandles(material: MaterialSnapshot): readonly Handle<'TextureAsset', 'shared'>[];
63
+ export declare function materialSamplerHandles(material: MaterialSnapshot): readonly Handle<'SamplerAsset', 'shared'>[];
64
+ export declare function createRenderSystemRecovery(deps: RenderSystemRecoveryDependencies): RenderSystemRecoveryOwner;
65
+ //# sourceMappingURL=render-system-candidate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-system-candidate.d.ts","sourceRoot":"","sources":["../../src/recovery/render-system-candidate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAyC,MAAM,uBAAuB,CAAC;AAG3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAGL,KAAK,0CAA0C,EAEhD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAGL,KAAK,sBAAsB,EAE5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAO9F,OAAO,KAAK,EACV,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAgC,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AASjG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;IAC7D,QAAQ,CAAC,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;IAC3D,QAAQ,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3E,QAAQ,CAAC,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACvE,QAAQ,CAAC,kCAAkC,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC/F,QAAQ,CAAC,kCAAkC,EAAE,CAC3C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,KACjD,IAAI,CAAC;IACV,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/D,QAAQ,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC5F,QAAQ,CAAC,2BAA2B,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,kCAAkC,CAAC;IACpE,QAAQ,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,yBAAyB,CAAC;IAClG,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,GAAG;QAClD,wBAAwB,EAAE,CACxB,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,qBAAqB,KAC3B,4BAA4B,GAAG,SAAS,CAAC;KAC/C,CAAC;IACF,QAAQ,CAAC,6BAA6B,EAAE,CACtC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,yBAAyB,EAClC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,MAAM,EAAE,sBAAsB,KAC3B,CAAC,KAAK,EAAE,0CAA0C,KAAK,wBAAwB,CAAC;IACrF,QAAQ,CAAC,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;CACrE;AAED,MAAM,WAAW,yBAAyB;IACxC,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1D,6BAA6B,CAC3B,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,oBAAoB,CAClB,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,MAAM,OAAO,GACrB,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAClD,6BAA6B,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvE,6BAA6B,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACxE;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,GACzB,SAAS,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAY7C;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,GACzB,SAAS,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAM7C;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gCAAgC,GACrC,yBAAyB,CAysB3B"}
@@ -10,16 +10,18 @@ import type { ImageError } from '@forgeax/engine-types';
10
10
  import type { RhiBackendInstrumentation } from './assembly/backend-contract';
11
11
  import type { Antialias, BloomEnabled, Tonemap } from './components/camera';
12
12
  import type { EnvironmentInspection } from './environment/inspection';
13
+ import type { RecoveryOutcome, RecoveryPhase } from './errors/recover';
13
14
  import type { RenderError } from './errors/render';
14
15
  import type { RenderFeature, RenderFeatureDiagnostics } from './features/types';
15
16
  import type { PostProcessShaderEntry } from './fullscreen-post-process-pass';
16
17
  import type { BloomInspection, DirectionalShadowInspection, LightInspection, LodOcclusionInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, SsrDependenciesInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
18
+ import type { InstanceCollectionInspection } from './instances';
17
19
  import type { SsrAdmissionIdentity } from './ssr/identity';
18
20
  import type { RenderTarget, RenderTargetDescriptor, RenderTargetReadbackData, RenderTargetReadbackRequest, RenderTargetReadbackTicket, RenderTargetTextureSource, RenderTargetTextureSourceOptions } from './targets/contracts';
19
21
  import type { TemporalInspection } from './temporal/inspection';
20
22
  export type { TransmissionInspection } from './inspection-types';
21
23
  export type { PointsLinesInspection } from './points-lines/inspection';
22
- import type { MeshMaterialBindingObservation } from './mesh-material-bindings';
24
+ import type { IblBindingInspection, MeshMaterialBindingObservation } from './mesh-material-bindings';
23
25
  import type { StandardLightingInspection } from './pipeline/standard-lighting/inspection';
24
26
  import type { StandardProfile } from './pipeline/standard-profile';
25
27
  import type { PointShadowInspection } from './point-shadow-inspection';
@@ -215,10 +217,13 @@ export interface SpotLightProjectorFrameContext {
215
217
  readonly lightSlotIndex?: number;
216
218
  }
217
219
  /**
218
- * The sole public renderer contract. Concrete assembly stays behind the host;
219
- * callers retain only leases, receipts, inspection PODs, and recovery Result.
220
+ * The sole public renderer contract. Consume it in this order:
221
+ * `state()` -> `inspect()` -> `recover()` when degraded -> `draw()` and its
222
+ * `FrameReceipt`. Concrete assembly stays behind the host; callers retain only
223
+ * leases, receipts, inspection PODs, and recovery Result values.
220
224
  */
221
225
  export interface Renderer {
226
+ /** Renderer-owned authoring and update path for large instance collections. */
222
227
  attach(world: World): RenderResult<RenderWorldLease, RenderError>;
223
228
  draw(input: RenderFrameInput): RenderResult<FrameReceipt, RenderError>;
224
229
  createRenderTarget(descriptor: RenderTargetDescriptor): RenderResult<RenderTarget, RenderError>;
@@ -237,7 +242,12 @@ export interface Renderer {
237
242
  recover(): Promise<RenderResult<void, RenderError>>;
238
243
  dispose(): Promise<RenderResult<void, RenderError>>;
239
244
  }
240
- /** The single public renderer lifecycle authority. */
245
+ /**
246
+ * The single public renderer lifecycle authority. This closed union is the
247
+ * frame gate: only `alive` admits World update and draw; `device-lost` and
248
+ * `recovering` are explicit recovery states; `faulted` requires recreation;
249
+ * `disposed` is terminal.
250
+ */
241
251
  export type RendererState = 'alive' | 'device-lost' | 'recovering' | 'faulted' | 'disposed';
242
252
  /** Immutable, inspectable quality and budget policy for the Standard pipeline. */
243
253
  export type RenderProfile = StandardProfile;
@@ -286,8 +296,9 @@ export interface FrameObservationRequest {
286
296
  }
287
297
  /**
288
298
  * Immutable synchronous proof that the sole host-owned submit reached the
289
- * queue. It is the only successful synchronous draw signal and is required by
290
- * every observation request.
299
+ * queue. It is the only successful synchronous draw signal. Its
300
+ * `deviceGeneration` fences stale work, and every observation request must use
301
+ * this exact receipt; a recovery retry must obtain a new one.
291
302
  */
292
303
  export interface FrameReceipt {
293
304
  readonly frameId: number;
@@ -367,10 +378,26 @@ export interface RenderObservationInspection {
367
378
  * Detached renderer facts for host diagnostics and capability selection.
368
379
  *
369
380
  * The snapshot contains only POD values. It never exposes a device, queue,
370
- * registry, encoder, or live renderer-owned collection.
381
+ * registry, encoder, or live renderer-owned collection. Read `state` and the
382
+ * bounded `recovery` detail before choosing to wait, retry, repair an owner,
383
+ * or recreate the Renderer; this projection is not a proof of Browser/Dawn
384
+ * execution.
371
385
  */
372
386
  export interface RenderInspection {
373
387
  readonly state: RendererState;
388
+ /** Bounded detached facts for the current or last recovery attempt. */
389
+ readonly recovery: {
390
+ readonly phase: RecoveryPhase | null;
391
+ readonly fromGeneration: number;
392
+ readonly candidateGeneration: number;
393
+ readonly attempt: number;
394
+ readonly elapsedMs: number;
395
+ readonly lastOutcome: RecoveryOutcome;
396
+ readonly failedOwner?: string;
397
+ readonly failedResourceKind?: string;
398
+ readonly rehydratedRoots: number;
399
+ readonly staleLossEvents: number;
400
+ };
374
401
  readonly surface: 'available' | 'released';
375
402
  readonly profile: RenderProfile;
376
403
  readonly capabilities: Readonly<RhiCaps>;
@@ -390,6 +417,8 @@ export interface RenderInspection {
390
417
  readonly visibilityStats: {
391
418
  readonly explicitlyHidden: number;
392
419
  };
420
+ /** Renderer-owned large-instance residency and upload facts. */
421
+ readonly instanceCollections: readonly InstanceCollectionInspection[];
393
422
  readonly renderScene: RenderSceneInspection;
394
423
  readonly reflectionProbes: ReflectionProbeInspection;
395
424
  /** Renderer-owned SSR dependency seam; consumer facts are projected from live owners. */
@@ -401,11 +430,43 @@ export interface RenderInspection {
401
430
  /** Renderer-owned point-shadow atlas budget facts from the last frame. */
402
431
  readonly pointShadow?: PointShadowInspection;
403
432
  readonly meshMaterialBindings: readonly MeshMaterialBindingObservation[];
433
+ /** Final-submit Standard IBL binding-chain receipt, when diagnostics ran. */
434
+ readonly iblBinding?: IblBindingInspection;
404
435
  readonly perFramePassNames: readonly string[];
405
436
  readonly bindGroupCounts: {
406
437
  readonly createBindGroup: number;
407
438
  readonly keys: readonly string[];
408
439
  };
440
+ /**
441
+ * Recovery evidence projected from production owners. Graph, residency,
442
+ * submit, and receipt fields are observations, not recovery test fixtures.
443
+ */
444
+ readonly recoveryEvidence: {
445
+ readonly producerRoots: readonly {
446
+ readonly kind: string;
447
+ readonly owner: string;
448
+ readonly candidateScope: 'device-scope';
449
+ readonly visibility: 'visible-workset' | 'non-visible-lazy';
450
+ readonly disabledWork: 'zero' | 'lazy';
451
+ }[];
452
+ readonly graph: {
453
+ readonly ready: boolean;
454
+ readonly generation: number;
455
+ readonly passCount: number;
456
+ readonly resourceCount: number;
457
+ };
458
+ readonly residency: {
459
+ readonly meshResidencyEpoch: number;
460
+ };
461
+ readonly submissions: {
462
+ readonly count: number;
463
+ readonly lastGeneration: number | undefined;
464
+ };
465
+ readonly receipts: {
466
+ readonly count: number;
467
+ readonly lastGeneration: number | undefined;
468
+ };
469
+ };
409
470
  /** Output transform facts; never includes fixture metrics or pixel bytes. */
410
471
  readonly outputTransform?: typeof STANDARD_OUTPUT_TRANSFORM_FEATURE_ID;
411
472
  readonly displayEncoded: boolean;