@forgeax/engine-render 0.1.21 → 0.1.24

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 (584) hide show
  1. package/README.md +281 -38
  2. package/dist/assembly/backend-contract.d.ts +13 -0
  3. package/dist/assembly/backend-contract.d.ts.map +1 -1
  4. package/dist/assembly/bundler-contract.d.ts +9 -0
  5. package/dist/assembly/bundler-contract.d.ts.map +1 -0
  6. package/dist/assembly/device-feature-admission.d.ts +8 -0
  7. package/dist/assembly/device-feature-admission.d.ts.map +1 -1
  8. package/dist/assembly/extended-lighting-fallback.d.ts +13 -0
  9. package/dist/assembly/extended-lighting-fallback.d.ts.map +1 -0
  10. package/dist/assembly/factory.d.ts +7 -235
  11. package/dist/assembly/factory.d.ts.map +1 -1
  12. package/dist/assembly/host-contract.d.ts +10 -0
  13. package/dist/assembly/host-contract.d.ts.map +1 -1
  14. package/dist/assembly/material/assembly.d.ts +3 -2
  15. package/dist/assembly/material/assembly.d.ts.map +1 -1
  16. package/dist/assembly/material/standard-layer-projection.d.ts +10 -0
  17. package/dist/assembly/material/standard-layer-projection.d.ts.map +1 -0
  18. package/dist/assembly/material-shader-policy.d.ts +168 -0
  19. package/dist/assembly/material-shader-policy.d.ts.map +1 -0
  20. package/dist/assembly/material-shader-prewarm.d.ts +21 -0
  21. package/dist/assembly/material-shader-prewarm.d.ts.map +1 -0
  22. package/dist/assembly/mesh-ssbo-grow.d.ts +88 -0
  23. package/dist/assembly/mesh-ssbo-grow.d.ts.map +1 -0
  24. package/dist/assembly/recovery/device-loss-fanout.d.ts +14 -0
  25. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -0
  26. package/dist/assembly/recovery/generation.d.ts +46 -0
  27. package/dist/assembly/recovery/generation.d.ts.map +1 -0
  28. package/dist/assembly/recovery/recovery-attempt.d.ts +63 -0
  29. package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -0
  30. package/dist/assembly/recovery/renderer-recover.d.ts +115 -0
  31. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -0
  32. package/dist/assembly/renderer-facade.d.ts +10 -0
  33. package/dist/assembly/renderer-facade.d.ts.map +1 -0
  34. package/dist/assembly/renderer-frame-transaction.d.ts +17 -0
  35. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  36. package/dist/assembly/renderer-helpers.d.ts +19 -0
  37. package/dist/assembly/renderer-helpers.d.ts.map +1 -0
  38. package/dist/assembly/renderer-lifecycle.d.ts +34 -0
  39. package/dist/assembly/renderer-lifecycle.d.ts.map +1 -1
  40. package/dist/assembly/shader-prewarm-policy.d.ts +15 -0
  41. package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -0
  42. package/dist/assembly/webgpu-ready-contract.d.ts +9 -0
  43. package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -0
  44. package/dist/assembly/webgpu-ready.d.ts +55 -0
  45. package/dist/assembly/webgpu-ready.d.ts.map +1 -0
  46. package/dist/assembly/webgpu-renderer.d.ts +152 -0
  47. package/dist/assembly/webgpu-renderer.d.ts.map +1 -0
  48. package/dist/authoring.mjs +1 -1
  49. package/dist/{chunk-PCHBPYML.mjs → chunk-GE3SDD72.mjs} +37 -5
  50. package/dist/chunk-GE3SDD72.mjs.map +1 -0
  51. package/dist/chunk-KZFTK6DO.mjs +1191 -0
  52. package/dist/chunk-KZFTK6DO.mjs.map +1 -0
  53. package/dist/{chunk-FS2KNUQH.mjs → chunk-Q752SHI5.mjs} +332 -568
  54. package/dist/chunk-Q752SHI5.mjs.map +1 -0
  55. package/dist/{chunk-6OPXDQ2E.mjs → chunk-RR5L4SRS.mjs} +33 -294
  56. package/dist/chunk-RR5L4SRS.mjs.map +1 -0
  57. package/dist/chunk-TFH5I7JJ.mjs +296 -0
  58. package/dist/chunk-TFH5I7JJ.mjs.map +1 -0
  59. package/dist/chunk-UQYS7FRM.mjs +1003 -0
  60. package/dist/chunk-UQYS7FRM.mjs.map +1 -0
  61. package/dist/chunk-YKB5DQV7.mjs +345 -0
  62. package/dist/chunk-YKB5DQV7.mjs.map +1 -0
  63. package/dist/{chunk-5YADUCA7.mjs → chunk-YRUYGA4A.mjs} +1189 -1217
  64. package/dist/chunk-YRUYGA4A.mjs.map +1 -0
  65. package/dist/chunk-Z3YYH2MB.mjs +5082 -0
  66. package/dist/chunk-Z3YYH2MB.mjs.map +1 -0
  67. package/dist/cluster-binner.d.ts +5 -0
  68. package/dist/cluster-binner.d.ts.map +1 -1
  69. package/dist/components/index.d.ts +3 -0
  70. package/dist/components/index.d.ts.map +1 -1
  71. package/dist/components/light-helpers.d.ts +4 -0
  72. package/dist/components/light-helpers.d.ts.map +1 -1
  73. package/dist/components/light-probe.d.ts +9 -0
  74. package/dist/components/light-probe.d.ts.map +1 -0
  75. package/dist/components/rect-area-light.d.ts +12 -0
  76. package/dist/components/rect-area-light.d.ts.map +1 -0
  77. package/dist/components/scene-instance.d.ts +4 -0
  78. package/dist/components/scene-instance.d.ts.map +1 -1
  79. package/dist/components/spot-light.d.ts +3 -0
  80. package/dist/components/spot-light.d.ts.map +1 -1
  81. package/dist/construct-renderer.mjs +27276 -23232
  82. package/dist/construct-renderer.mjs.map +1 -1
  83. package/dist/device/device-scope.d.ts +2 -0
  84. package/dist/device/device-scope.d.ts.map +1 -1
  85. package/dist/device/gpu-residency.d.ts +32 -5
  86. package/dist/device/gpu-residency.d.ts.map +1 -1
  87. package/dist/device/lifecycle-transaction.d.ts +2 -0
  88. package/dist/device/lifecycle-transaction.d.ts.map +1 -0
  89. package/dist/environment/frame.d.ts +5 -0
  90. package/dist/environment/frame.d.ts.map +1 -1
  91. package/dist/environment/inspection.d.ts +7 -0
  92. package/dist/environment/inspection.d.ts.map +1 -1
  93. package/dist/environment/lifecycle.d.ts +20 -2
  94. package/dist/environment/lifecycle.d.ts.map +1 -1
  95. package/dist/errors/gpu-driven.d.ts +26 -0
  96. package/dist/errors/gpu-driven.d.ts.map +1 -0
  97. package/dist/errors/index.d.ts +1 -0
  98. package/dist/errors/index.d.ts.map +1 -1
  99. package/dist/errors/recover.d.ts +67 -3
  100. package/dist/errors/recover.d.ts.map +1 -1
  101. package/dist/errors/render.d.ts +39 -1
  102. package/dist/errors/render.d.ts.map +1 -1
  103. package/dist/extract/contracts.d.ts +899 -0
  104. package/dist/extract/contracts.d.ts.map +1 -0
  105. package/dist/extract/gpu-driven.d.ts +50 -0
  106. package/dist/extract/gpu-driven.d.ts.map +1 -0
  107. package/dist/extract/visibility.d.ts.map +1 -1
  108. package/dist/features/host.d.ts +2 -0
  109. package/dist/features/host.d.ts.map +1 -1
  110. package/dist/features/prepared-gpu-work.d.ts +3 -0
  111. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  112. package/dist/features/prepared-graphics-store.d.ts +2 -0
  113. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  114. package/dist/gpu-driven/batch-topology.d.ts +34 -0
  115. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  116. package/dist/gpu-driven/prepared-draw.d.ts +63 -0
  117. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -0
  118. package/dist/gpu-driven/production-raster.d.ts +126 -2
  119. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  120. package/dist/gpu-driven/view-gpu.d.ts +64 -1
  121. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  122. package/dist/gpu-scene-schema.d.ts +14 -0
  123. package/dist/gpu-scene-schema.d.ts.map +1 -1
  124. package/dist/gpu-scene.d.ts +9 -1
  125. package/dist/gpu-scene.d.ts.map +1 -1
  126. package/dist/gpu-usage.d.ts +0 -1
  127. package/dist/gpu-usage.d.ts.map +1 -1
  128. package/dist/hdrp-buffers.d.ts +3 -3
  129. package/dist/hdrp-buffers.d.ts.map +1 -1
  130. package/dist/ibl/IblPipelineCache.d.ts +7 -6
  131. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  132. package/dist/ibl/skylight-bind-group.d.ts +7 -1
  133. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  134. package/dist/index.d.ts +13 -2
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.mjs +90 -5
  137. package/dist/index.mjs.map +1 -1
  138. package/dist/inspection-types.d.ts +163 -1
  139. package/dist/inspection-types.d.ts.map +1 -1
  140. package/dist/internal.d.ts +9 -0
  141. package/dist/internal.d.ts.map +1 -1
  142. package/dist/internal.mjs +23 -2
  143. package/dist/internal.mjs.map +1 -1
  144. package/dist/light-buffer-layout.d.ts +60 -148
  145. package/dist/light-buffer-layout.d.ts.map +1 -1
  146. package/dist/materials.d.ts +34 -10
  147. package/dist/materials.d.ts.map +1 -1
  148. package/dist/mesh-material-bindings.d.ts +56 -0
  149. package/dist/mesh-material-bindings.d.ts.map +1 -1
  150. package/dist/occlusion-proxy.d.ts +4 -0
  151. package/dist/occlusion-proxy.d.ts.map +1 -0
  152. package/dist/pbr-pipeline.d.ts +58 -21
  153. package/dist/pbr-pipeline.d.ts.map +1 -1
  154. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  155. package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -1
  156. package/dist/pipeline/standard-lighting/light-frame.d.ts +3 -3
  157. package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -1
  158. package/dist/pipeline/standard-lighting/topology.d.ts +1 -1
  159. package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -1
  160. package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -1
  161. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  162. package/dist/pipeline-builder.d.ts +2 -0
  163. package/dist/pipeline-builder.d.ts.map +1 -1
  164. package/dist/pipeline-spec.d.ts +1 -1
  165. package/dist/pipeline-spec.d.ts.map +1 -1
  166. package/dist/plugin.d.ts.map +1 -1
  167. package/dist/points-lines/prepare.d.ts +3 -0
  168. package/dist/points-lines/prepare.d.ts.map +1 -1
  169. package/dist/points-lines/standard-owner.d.ts +33 -0
  170. package/dist/points-lines/standard-owner.d.ts.map +1 -0
  171. package/dist/prepare/extended-lighting/ltc-resources.d.ts +31 -0
  172. package/dist/prepare/extended-lighting/ltc-resources.d.ts.map +1 -0
  173. package/dist/prepare/extended-lighting/resources.d.ts +72 -0
  174. package/dist/prepare/extended-lighting/resources.d.ts.map +1 -0
  175. package/dist/prepare/extended-lighting/spot-modifiers.d.ts +42 -0
  176. package/dist/prepare/extended-lighting/spot-modifiers.d.ts.map +1 -0
  177. package/dist/prepare/extended-lighting/state.d.ts +24 -0
  178. package/dist/prepare/extended-lighting/state.d.ts.map +1 -0
  179. package/dist/record/frame-lighting.d.ts +8 -6
  180. package/dist/record/frame-lighting.d.ts.map +1 -1
  181. package/dist/record/frame-snapshot.d.ts +55 -10
  182. package/dist/record/frame-snapshot.d.ts.map +1 -1
  183. package/dist/record/frame-targets.d.ts.map +1 -1
  184. package/dist/record/frame.d.ts +21 -5
  185. package/dist/record/frame.d.ts.map +1 -1
  186. package/dist/record/gpu-timing.d.ts +19 -7
  187. package/dist/record/gpu-timing.d.ts.map +1 -1
  188. package/dist/record/helpers.d.ts +0 -20
  189. package/dist/record/helpers.d.ts.map +1 -1
  190. package/dist/record/main-pass-geometry.d.ts +20 -2
  191. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  192. package/dist/record/main-pass-material.d.ts +10 -18
  193. package/dist/record/main-pass-material.d.ts.map +1 -1
  194. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  195. package/dist/record/main-pass.d.ts.map +1 -1
  196. package/dist/record/mesh-ssbo.d.ts +11 -3
  197. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  198. package/dist/record/recovery-pipeline.d.ts +30 -0
  199. package/dist/record/recovery-pipeline.d.ts.map +1 -0
  200. package/dist/record/render-context.d.ts +82 -9
  201. package/dist/record/render-context.d.ts.map +1 -1
  202. package/dist/record/shadow-pass.d.ts.map +1 -1
  203. package/dist/record/typed-frame-graph.d.ts +49 -2
  204. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  205. package/dist/record/view-ubo.d.ts +1 -2
  206. package/dist/record/view-ubo.d.ts.map +1 -1
  207. package/dist/recovery/render-system-candidate.d.ts +65 -0
  208. package/dist/recovery/render-system-candidate.d.ts.map +1 -0
  209. package/dist/reflection/inspection.d.ts +10 -0
  210. package/dist/reflection/inspection.d.ts.map +1 -0
  211. package/dist/reflection/projection.d.ts +49 -0
  212. package/dist/reflection/projection.d.ts.map +1 -1
  213. package/dist/reflection/record-owner.d.ts +60 -0
  214. package/dist/reflection/record-owner.d.ts.map +1 -0
  215. package/dist/render-contract.d.ts +78 -15
  216. package/dist/render-contract.d.ts.map +1 -1
  217. package/dist/render-pipeline.d.ts +7 -0
  218. package/dist/render-pipeline.d.ts.map +1 -1
  219. package/dist/render-system-extract-tail.d.ts +12 -0
  220. package/dist/render-system-extract-tail.d.ts.map +1 -0
  221. package/dist/render-system-extract.d.ts +252 -30
  222. package/dist/render-system-extract.d.ts.map +1 -1
  223. package/dist/render-system.d.ts +140 -5
  224. package/dist/render-system.d.ts.map +1 -1
  225. package/dist/scene/probe-blend-record.d.ts +22 -0
  226. package/dist/scene/probe-blend-record.d.ts.map +1 -0
  227. package/dist/scene/probe-blend.d.ts +142 -0
  228. package/dist/scene/probe-blend.d.ts.map +1 -0
  229. package/dist/scene/render-scene-types.d.ts +0 -6
  230. package/dist/scene/render-scene-types.d.ts.map +1 -1
  231. package/dist/scene/render-scene.d.ts +122 -9
  232. package/dist/scene/render-scene.d.ts.map +1 -1
  233. package/dist/scene/visibility/bounds.d.ts +20 -0
  234. package/dist/scene/visibility/bounds.d.ts.map +1 -0
  235. package/dist/scene/visibility/budget.d.ts +16 -0
  236. package/dist/scene/visibility/budget.d.ts.map +1 -0
  237. package/dist/scene/visibility/facet.d.ts +73 -0
  238. package/dist/scene/visibility/facet.d.ts.map +1 -0
  239. package/dist/scene/visibility/gpu-frame-timing.d.ts +41 -0
  240. package/dist/scene/visibility/gpu-frame-timing.d.ts.map +1 -0
  241. package/dist/scene/visibility/gpu-lod.d.ts +46 -0
  242. package/dist/scene/visibility/gpu-lod.d.ts.map +1 -0
  243. package/dist/scene/visibility/inspection.d.ts +132 -0
  244. package/dist/scene/visibility/inspection.d.ts.map +1 -0
  245. package/dist/scene/visibility/lod-selector.d.ts +25 -0
  246. package/dist/scene/visibility/lod-selector.d.ts.map +1 -0
  247. package/dist/scene/visibility/occlusion-confidence.d.ts +81 -0
  248. package/dist/scene/visibility/occlusion-confidence.d.ts.map +1 -0
  249. package/dist/scene/visibility/occlusion-pass.d.ts +57 -0
  250. package/dist/scene/visibility/occlusion-pass.d.ts.map +1 -0
  251. package/dist/scene/visibility/occlusion-query-pool.d.ts +57 -0
  252. package/dist/scene/visibility/occlusion-query-pool.d.ts.map +1 -0
  253. package/dist/scene/visibility/occlusion-runtime.d.ts +96 -0
  254. package/dist/scene/visibility/occlusion-runtime.d.ts.map +1 -0
  255. package/dist/scene/visibility/types.d.ts +34 -0
  256. package/dist/scene/visibility/types.d.ts.map +1 -0
  257. package/dist/ssr/admission.d.ts +122 -0
  258. package/dist/ssr/admission.d.ts.map +1 -0
  259. package/dist/ssr/composition.d.ts +32 -0
  260. package/dist/ssr/composition.d.ts.map +1 -0
  261. package/dist/ssr/errors.d.ts +39 -0
  262. package/dist/ssr/errors.d.ts.map +1 -0
  263. package/dist/ssr/identity.d.ts +13 -0
  264. package/dist/ssr/identity.d.ts.map +1 -0
  265. package/dist/systems/skin-palette-allocator.d.ts +1 -1
  266. package/dist/temporal/frame-coordinator.d.ts +13 -0
  267. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  268. package/dist/temporal/frame.d.ts +2 -0
  269. package/dist/temporal/frame.d.ts.map +1 -1
  270. package/dist/temporal/index.mjs +6 -5
  271. package/dist/temporal/taa-history-store.d.ts +15 -1
  272. package/dist/temporal/taa-history-store.d.ts.map +1 -1
  273. package/dist/temporal/transaction.d.ts +5 -0
  274. package/dist/temporal/transaction.d.ts.map +1 -1
  275. package/dist/temporal/view.d.ts +7 -0
  276. package/dist/temporal/view.d.ts.map +1 -1
  277. package/dist/tilemap-chunk-extract-system.d.ts +1 -1
  278. package/dist/typed-render-graph-primitives.d.ts +4 -0
  279. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  280. package/dist/volume/passes.d.ts +8 -4
  281. package/dist/volume/passes.d.ts.map +1 -1
  282. package/package.json +20 -20
  283. package/src/__tests__/cluster-grid-default-surface.unit.test.ts +5 -0
  284. package/src/__tests__/detached-inspection.integration.test.ts +6 -0
  285. package/src/__tests__/device-feature-admission.unit.test.ts +19 -1
  286. package/src/__tests__/device-loss-fanout.unit.test.ts +107 -0
  287. package/src/__tests__/device-scope-lifecycle.unit.test.ts +21 -0
  288. package/src/__tests__/direct-light-snapshot.unit.test.ts +59 -3
  289. package/src/__tests__/environment-generation.integration.test.ts +39 -0
  290. package/src/__tests__/evidence-identity.ts +13 -0
  291. package/src/__tests__/evidence-identity.unit.test.ts +24 -0
  292. package/src/__tests__/expose-renderer-errors.unit.test.ts +34 -0
  293. package/src/__tests__/extended-lighting-recovery.browser.test.ts +14 -0
  294. package/src/__tests__/extended-lighting-recovery.dawn.test.ts +14 -0
  295. package/src/__tests__/extended-lighting-recovery.integration.test.ts +81 -0
  296. package/src/__tests__/extended-lighting-resources.unit.test.ts +51 -0
  297. package/src/__tests__/extended-lighting-zero-feature.integration.test.ts +52 -0
  298. package/src/__tests__/factory-contract.integration.test.ts +154 -6
  299. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +4 -1
  300. package/src/__tests__/frame-observation.contract.test.ts +15 -0
  301. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +146 -0
  302. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +1 -0
  303. package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +1 -0
  304. package/src/__tests__/gpu-driven-production.integration.test.ts +572 -9
  305. package/src/__tests__/gpu-driven-scaling.unit.test.ts +66 -2
  306. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +26 -1
  307. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +89 -2
  308. package/src/__tests__/gpu-driven-view.browser.test.ts +3 -3
  309. package/src/__tests__/gpu-driven-view.dawn.test.ts +3 -3
  310. package/src/__tests__/gpu-driven-view.unit.test.ts +50 -0
  311. package/src/__tests__/gpu-lod-evidence.ts +188 -0
  312. package/src/__tests__/gpu-lod-fallback.integration.test.ts +10 -0
  313. package/src/__tests__/gpu-lod-indirect.integration.test.ts +40 -0
  314. package/src/__tests__/gpu-lod-parity.dawn.test.ts +29 -0
  315. package/src/__tests__/gpu-lod-readiness.integration.test.ts +52 -0
  316. package/src/__tests__/gpu-lod-schema.unit.test.ts +66 -0
  317. package/src/__tests__/gpu-lod-selector.unit.test.ts +28 -0
  318. package/src/__tests__/gpu-lod-silhouette.browser.test.ts +13 -0
  319. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +66 -1
  320. package/src/__tests__/gpu-scene.dawn.test.ts +8 -1
  321. package/src/__tests__/gpu-scene.unit.test.ts +49 -3
  322. package/src/__tests__/ibl/face-uniforms.unit.test.ts +2 -0
  323. package/src/__tests__/ibl-residency-publication.unit.test.ts +113 -0
  324. package/src/__tests__/light-buffer-layout.unit.test.ts +113 -3
  325. package/src/__tests__/light-inspection.unit.test.ts +55 -0
  326. package/src/__tests__/light-resource-error.unit.test.ts +43 -0
  327. package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +109 -0
  328. package/src/__tests__/lod-bounds.unit.test.ts +42 -0
  329. package/src/__tests__/lod-cpu-lane.integration.test.ts +55 -0
  330. package/src/__tests__/lod-cpu-no-change.perf.test.ts +19 -0
  331. package/src/__tests__/lod-gpu-frame-timing.unit.test.ts +49 -0
  332. package/src/__tests__/lod-multi-view.integration.test.ts +63 -0
  333. package/src/__tests__/lod-occlusion-device-loss.integration.test.ts +27 -0
  334. package/src/__tests__/lod-occlusion-final-decision.integration.test.ts +47 -0
  335. package/src/__tests__/lod-occlusion-inspection.integration.test.ts +217 -0
  336. package/src/__tests__/lod-occlusion-inspection.schema.test-d.ts +14 -0
  337. package/src/__tests__/lod-occlusion-inspection.unit.test.ts +72 -0
  338. package/src/__tests__/lod-occlusion-visual-evidence.ts +91 -0
  339. package/src/__tests__/lod-occlusion.browser.test.ts +15 -0
  340. package/src/__tests__/lod-occlusion.dawn.test.ts +20 -0
  341. package/src/__tests__/lod-selector.profile.test.ts +35 -0
  342. package/src/__tests__/lod-selector.unit.test.ts +68 -0
  343. package/src/__tests__/lod-visibility-identity.unit.test.ts +198 -0
  344. package/src/__tests__/lod-visibility-lifecycle.integration.test.ts +132 -0
  345. package/src/__tests__/ltc-resources.unit.test.ts +32 -0
  346. package/src/__tests__/material-contract-inventory.unit.test.ts +41 -9
  347. package/src/__tests__/material-cooked-projection.unit.test.ts +19 -1
  348. package/src/__tests__/material-static-dynamic-route.unit.test.ts +29 -0
  349. package/src/__tests__/material-stride-surface.unit.test.ts +7 -3
  350. package/src/__tests__/materials-standard-contract.unit.test.ts +104 -0
  351. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -1
  352. package/src/__tests__/occlusion-confidence.unit.test.ts +168 -0
  353. package/src/__tests__/occlusion-invalidation.integration.test.ts +37 -0
  354. package/src/__tests__/occlusion-pass-routing.unit.test.ts +16 -0
  355. package/src/__tests__/occlusion-pass.dawn.test.ts +20 -0
  356. package/src/__tests__/occlusion-pass.integration.test.ts +43 -0
  357. package/src/__tests__/occlusion-pass.rhi-null.test.ts +22 -0
  358. package/src/__tests__/occlusion-query-pool.rhi-null.test.ts +21 -0
  359. package/src/__tests__/occlusion-query-pool.unit.test.ts +95 -0
  360. package/src/__tests__/occlusion-query-ticket.integration.test.ts +47 -0
  361. package/src/__tests__/occlusion-query.dawn.test.ts +16 -0
  362. package/src/__tests__/occlusion-query.evidence.ts +178 -0
  363. package/src/__tests__/occlusion-query.rhi-null.test.ts +31 -0
  364. package/src/__tests__/occlusion-runtime.unit.test.ts +120 -0
  365. package/src/__tests__/physical-clearcoat.integration.test.ts +89 -0
  366. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +196 -0
  367. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +1 -1
  368. package/src/__tests__/probe-bindings.unit.test.ts +200 -0
  369. package/src/__tests__/probe-blend-numeric.unit.test.ts +67 -0
  370. package/src/__tests__/probe-blend-oracle.unit.test.ts +136 -0
  371. package/src/__tests__/probe-capacity.integration.test.ts +97 -0
  372. package/src/__tests__/probe-recovery.integration.test.ts +104 -0
  373. package/src/__tests__/probe-scene-dirty.integration.test.ts +211 -0
  374. package/src/__tests__/profiler-phase-catalog.test.ts +4 -1
  375. package/src/__tests__/profiler-phase-token.test.ts +1 -0
  376. package/src/__tests__/recover-error-policy-owner.unit.test.ts +6 -3
  377. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +140 -0
  378. package/src/__tests__/rect-area-boundary.unit.test.ts +24 -0
  379. package/src/__tests__/reflection-fallback-graph.unit.test.ts +67 -0
  380. package/src/__tests__/reflection-fallback-inspection.unit.test.ts +77 -0
  381. package/src/__tests__/reflection-fallback-lifecycle.integration.test.ts +21 -0
  382. package/src/__tests__/reflection-fallback-projection.unit.test.ts +90 -0
  383. package/src/__tests__/reflection-fallback-source.unit.test.ts +32 -0
  384. package/src/__tests__/reflection-probe-owner-placement.unit.test.ts +39 -0
  385. package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +120 -0
  386. package/src/__tests__/render-error-code-owner.test-d.ts +1 -0
  387. package/src/__tests__/render-feature-docs.unit.test.ts +12 -7
  388. package/src/__tests__/render-graph-fallback.integration.test.ts +24 -0
  389. package/src/__tests__/render-perf/extended-lighting.bench.test.ts +66 -0
  390. package/src/__tests__/render-scene-projection.unit.test.ts +447 -18
  391. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +160 -17
  392. package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +47 -0
  393. package/src/__tests__/renderer-generation-assembly.unit.test.ts +77 -0
  394. package/src/__tests__/renderer-generation-failure.unit.test.ts +108 -0
  395. package/src/__tests__/renderer-producer-root-matrix.integration.test.ts +33 -0
  396. package/src/__tests__/renderer-recovery-capability-matrix.unit.test.ts +59 -0
  397. package/src/__tests__/renderer-recovery-contract.unit.test.ts +73 -0
  398. package/src/__tests__/renderer-recovery-lifecycle.unit.test.ts +216 -0
  399. package/src/__tests__/renderer-target-history-recovery.integration.test.ts +80 -0
  400. package/src/__tests__/shader-manifest-fixture.ts +13 -16
  401. package/src/__tests__/shader-stage-surface.unit.test.ts +1 -1
  402. package/src/__tests__/skin-motion-regression.unit.test.ts +22 -0
  403. package/src/__tests__/skinned-shadow-caster.test.ts +2 -2
  404. package/src/__tests__/spot-modifier-projection.unit.test.ts +70 -0
  405. package/src/__tests__/ssr-admission-matrix.integration.test.ts +206 -0
  406. package/src/__tests__/ssr-composition.unit.test.ts +46 -0
  407. package/src/__tests__/ssr-fallback-zero-work.bench.test.ts +94 -0
  408. package/src/__tests__/ssr-recovery-errors.unit.test.ts +58 -0
  409. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +67 -0
  410. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +7 -0
  411. package/src/__tests__/standard-layer-projection.unit.test.ts +23 -0
  412. package/src/__tests__/standard-lighting-inspection.integration.test.ts +1 -1
  413. package/src/__tests__/standard-lighting-write.unit.test.ts +66 -2
  414. package/src/__tests__/temporal-fallback-generation.integration.test.ts +16 -0
  415. package/src/__tests__/temporal-view.unit.test.ts +3 -3
  416. package/src/__tests__/transmission-prewarm.unit.test.ts +111 -32
  417. package/src/__tests__/visibility-budget.integration.test.ts +140 -0
  418. package/src/__tests__/visibility-budget.unit.test.ts +70 -0
  419. package/src/__tests__/visibility-extract.integration.test.ts +11 -6
  420. package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +6 -3
  421. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +31 -28
  422. package/src/__tests__/volumetric-fog-topology.unit.test.ts +3 -1
  423. package/src/assembly/backend-contract.ts +13 -0
  424. package/src/assembly/bundler-contract.ts +9 -0
  425. package/src/assembly/device-feature-admission.ts +26 -9
  426. package/src/assembly/extended-lighting-fallback.ts +216 -0
  427. package/src/assembly/factory.ts +81 -9634
  428. package/src/assembly/host-contract.ts +10 -0
  429. package/src/assembly/material/assembly.ts +18 -2
  430. package/src/assembly/material/standard-layer-projection.ts +16 -0
  431. package/src/assembly/material-shader-policy.ts +854 -0
  432. package/src/assembly/material-shader-prewarm.ts +88 -0
  433. package/src/assembly/mesh-ssbo-grow.ts +270 -0
  434. package/src/assembly/recovery/device-loss-fanout.ts +89 -0
  435. package/src/assembly/recovery/generation.ts +141 -0
  436. package/src/assembly/recovery/recovery-attempt.ts +800 -0
  437. package/src/assembly/recovery/renderer-recover.ts +906 -0
  438. package/src/assembly/renderer-facade.ts +342 -0
  439. package/src/assembly/renderer-frame-transaction.ts +45 -0
  440. package/src/assembly/renderer-helpers.ts +99 -0
  441. package/src/assembly/renderer-lifecycle.ts +159 -0
  442. package/src/assembly/shader-prewarm-policy.ts +157 -0
  443. package/src/assembly/webgpu-ready-contract.ts +14 -0
  444. package/src/assembly/webgpu-ready.ts +4079 -0
  445. package/src/assembly/webgpu-renderer.ts +4095 -0
  446. package/src/cluster-binner.ts +31 -0
  447. package/src/components/__tests__/lighting-authoring.unit.test.ts +39 -0
  448. package/src/components/__tests__/rect-area-light.unit.test.ts +33 -0
  449. package/src/components/camera.ts +1 -1
  450. package/src/components/index.ts +3 -0
  451. package/src/components/light-helpers.ts +52 -1
  452. package/src/components/light-probe.ts +13 -0
  453. package/src/components/rect-area-light.ts +15 -0
  454. package/src/components/scene-instance.ts +6 -0
  455. package/src/components/spot-light.ts +3 -0
  456. package/src/debug-draw-glue.ts +1 -1
  457. package/src/device/__tests__/extended-lighting-recovery.unit.test.ts +24 -0
  458. package/src/device/device-scope.ts +35 -6
  459. package/src/device/gpu-residency.ts +334 -35
  460. package/src/device/lifecycle-transaction.ts +12 -0
  461. package/src/environment/frame.ts +6 -0
  462. package/src/environment/inspection.ts +10 -0
  463. package/src/environment/lifecycle.ts +122 -9
  464. package/src/errors/gpu-driven.ts +92 -0
  465. package/src/errors/index.ts +1 -0
  466. package/src/errors/recover.ts +108 -5
  467. package/src/errors/render.ts +72 -1
  468. package/src/extract/camera.ts +3 -3
  469. package/src/extract/contracts.ts +974 -0
  470. package/src/extract/gpu-driven.ts +108 -0
  471. package/src/extract/visibility.ts +0 -23
  472. package/src/features/host.ts +16 -0
  473. package/src/features/prepared-gpu-work.ts +20 -2
  474. package/src/features/prepared-graphics-store.ts +17 -0
  475. package/src/gpu-driven/batch-topology.ts +206 -28
  476. package/src/gpu-driven/prepared-draw.ts +208 -0
  477. package/src/gpu-driven/production-raster.ts +1046 -39
  478. package/src/gpu-driven/view-gpu.ts +411 -29
  479. package/src/gpu-scene-schema.ts +13 -0
  480. package/src/gpu-scene.ts +137 -67
  481. package/src/gpu-usage.ts +0 -1
  482. package/src/hdrp-buffers.ts +6 -6
  483. package/src/ibl/IblPipelineCache.ts +134 -50
  484. package/src/ibl/skylight-bind-group.ts +26 -0
  485. package/src/index.ts +83 -1
  486. package/src/inspection-types.ts +220 -1
  487. package/src/internal.ts +38 -0
  488. package/src/light-buffer-layout.ts +157 -324
  489. package/src/materials.ts +278 -47
  490. package/src/mesh-material-bindings.ts +59 -0
  491. package/src/occlusion-proxy.ts +64 -0
  492. package/src/pbr-pipeline.ts +290 -60
  493. package/src/pipeline/standard-forward-lane.ts +47 -0
  494. package/src/pipeline/standard-lighting/graph.ts +2 -1
  495. package/src/pipeline/standard-lighting/light-frame.ts +3 -2
  496. package/src/pipeline/standard-lighting/topology.ts +1 -1
  497. package/src/pipeline/standard-lighting/transport.ts +2 -1
  498. package/src/pipeline/standard-pipeline.ts +2 -0
  499. package/src/pipeline-builder.ts +5 -2
  500. package/src/pipeline-spec.ts +12 -1
  501. package/src/plugin.ts +4 -0
  502. package/src/points-lines/__tests__/cache-recovery.unit.test.ts +22 -0
  503. package/src/points-lines/prepare.ts +9 -0
  504. package/src/points-lines/standard-owner.ts +403 -0
  505. package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +56 -0
  506. package/src/prepare/extended-lighting/ltc-resources.ts +136 -0
  507. package/src/prepare/extended-lighting/resources.ts +389 -0
  508. package/src/prepare/extended-lighting/spot-modifiers.ts +194 -0
  509. package/src/prepare/extended-lighting/state.ts +92 -0
  510. package/src/record/__tests__/frame-targets-recovery.unit.test.ts +60 -0
  511. package/src/record/__tests__/gpu-timing.unit.test.ts +177 -0
  512. package/src/record/__tests__/main-pass-geometry.unit.test.ts +26 -1
  513. package/src/record/__tests__/mesh-ssbo.unit.test.ts +38 -0
  514. package/src/record/__tests__/recovery-pipeline.unit.test.ts +124 -0
  515. package/src/record/__tests__/sprite-material-abi.unit.test.ts +28 -13
  516. package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +47 -4
  517. package/src/record/__tests__/temporal-payload.unit.test.ts +29 -28
  518. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +21 -2
  519. package/src/record/frame-lighting.ts +252 -53
  520. package/src/record/frame-snapshot.ts +72 -12
  521. package/src/record/frame-targets.ts +11 -1
  522. package/src/record/frame.ts +416 -95
  523. package/src/record/gpu-timing.ts +108 -44
  524. package/src/record/helpers.ts +1 -59
  525. package/src/record/main-pass-geometry.ts +434 -44
  526. package/src/record/main-pass-material.ts +324 -210
  527. package/src/record/main-pass-sprite-draws.ts +58 -92
  528. package/src/record/main-pass.ts +94 -6
  529. package/src/record/mesh-ssbo.ts +79 -46
  530. package/src/record/recovery-pipeline.ts +695 -0
  531. package/src/record/render-context.ts +99 -7
  532. package/src/record/shadow-pass.ts +66 -40
  533. package/src/record/typed-frame-graph.ts +270 -84
  534. package/src/record/view-ubo.ts +17 -27
  535. package/src/recovery/render-system-candidate.ts +839 -0
  536. package/src/reflection/inspection.ts +67 -0
  537. package/src/reflection/projection.ts +196 -1
  538. package/src/reflection/record-owner.ts +1283 -0
  539. package/src/render-contract.ts +82 -12
  540. package/src/render-pipeline.ts +5 -0
  541. package/src/render-system-extract-tail.ts +2983 -0
  542. package/src/render-system-extract.ts +290 -2784
  543. package/src/render-system.ts +1597 -1192
  544. package/src/scene/__tests__/changed-block-summary.candidate.test.ts +36 -0
  545. package/src/scene/probe-blend-record.ts +54 -0
  546. package/src/scene/probe-blend.ts +813 -0
  547. package/src/scene/render-scene-types.ts +0 -7
  548. package/src/scene/render-scene.ts +972 -184
  549. package/src/scene/visibility/bounds.ts +57 -0
  550. package/src/scene/visibility/budget.ts +40 -0
  551. package/src/scene/visibility/facet.ts +400 -0
  552. package/src/scene/visibility/gpu-frame-timing.ts +101 -0
  553. package/src/scene/visibility/gpu-lod.ts +119 -0
  554. package/src/scene/visibility/inspection.ts +313 -0
  555. package/src/scene/visibility/lod-selector.ts +84 -0
  556. package/src/scene/visibility/occlusion-confidence.ts +478 -0
  557. package/src/scene/visibility/occlusion-pass.ts +165 -0
  558. package/src/scene/visibility/occlusion-query-pool.ts +178 -0
  559. package/src/scene/visibility/occlusion-runtime.ts +672 -0
  560. package/src/scene/visibility/types.ts +50 -0
  561. package/src/ssr/admission.ts +451 -0
  562. package/src/ssr/composition.ts +73 -0
  563. package/src/ssr/errors.ts +76 -0
  564. package/src/ssr/identity.ts +12 -0
  565. package/src/systems/skin-palette-allocator.ts +1 -1
  566. package/src/temporal/frame-coordinator.ts +30 -1
  567. package/src/temporal/frame.ts +14 -1
  568. package/src/temporal/taa-history-store.ts +46 -2
  569. package/src/temporal/temporal-view.ts +1 -1
  570. package/src/temporal/transaction.ts +9 -0
  571. package/src/temporal/view.ts +11 -0
  572. package/src/tilemap-chunk-extract-system.ts +5 -5
  573. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +19 -12
  574. package/src/typed-render-graph-primitives.ts +48 -0
  575. package/src/volume/passes.ts +46 -49
  576. package/dist/.tsbuildinfo +0 -1
  577. package/dist/chunk-5YADUCA7.mjs.map +0 -1
  578. package/dist/chunk-6OPXDQ2E.mjs.map +0 -1
  579. package/dist/chunk-BXBQQKFQ.mjs +0 -67
  580. package/dist/chunk-BXBQQKFQ.mjs.map +0 -1
  581. package/dist/chunk-FS2KNUQH.mjs.map +0 -1
  582. package/dist/chunk-PCHBPYML.mjs.map +0 -1
  583. package/dist/chunk-VFPLTKCU.mjs +0 -192
  584. package/dist/chunk-VFPLTKCU.mjs.map +0 -1
@@ -47,6 +47,8 @@ export declare class DeviceScope {
47
47
  _clearResources(): OwnedResource[];
48
48
  /** Mark an active child as retiring without releasing in-flight resources. */
49
49
  beginRetire(): void;
50
+ private clearChildren;
51
+ private detachChild;
50
52
  retire(): void;
51
53
  abandon(): void;
52
54
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"device-scope.d.ts","sourceRoot":"","sources":["../../src/device/device-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-scope.d.ts","sourceRoot":"","sources":["../../src/device/device-scope.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type MipmapShaderModuleFactory } from '@forgeax/engine-assets-runtime';
1
+ import { type MipmapEncoderWork, type MipmapShaderModuleFactory } from '@forgeax/engine-assets-runtime';
2
2
  import type { World } from '@forgeax/engine-ecs';
3
3
  import { type VertexLayoutProjection } from '@forgeax/engine-geometry';
4
4
  import { type Buffer, type Result, type RhiCaps, type RhiDevice, RhiError, type RhiQueue, type Sampler, type TextureFormat, type TextureView } from '@forgeax/engine-rhi';
@@ -6,7 +6,8 @@ import { type AssetError, type DecodedImage, type EquirectAsset, type Handle, ty
6
6
  import { GpuBuffer, GpuTexture } from '../gpu-resource';
7
7
  import { type IblShaderModuleFactory } from '../ibl/IblPipelineCache';
8
8
  import type { RhiErrorListenerRegistry } from '../lifecycle';
9
- import type { DeviceScope } from './device-scope';
9
+ import type { RecoveryColdWorkGuard } from '../record/render-context';
10
+ import type { DeviceScope, LifecycleResourceSpec } from './device-scope';
10
11
  export type FaceUniformsDevice = Pick<RhiDevice, 'createBuffer'> & {
11
12
  readonly queue: Pick<RhiQueue, 'writeBuffer'>;
12
13
  };
@@ -14,8 +15,8 @@ export declare function createFaceUniformsBuffer(device: FaceUniformsDevice): Re
14
15
  export declare function createPrefilterUniformsBuffer(device: FaceUniformsDevice): Result<Buffer, RhiError>;
15
16
  export declare function writeFaceUniforms(device: FaceUniformsDevice, buffer: Buffer, faceIdx: number, viewProj: Float32Array): Result<void, RhiError>;
16
17
  export declare function writeAllFaceUniforms(device: FaceUniformsDevice, buffer: Buffer): Result<void, RhiError>;
17
- export declare function writePrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer, subPassIdx: number, roughness: number, mipFaceSize: number): Result<void, RhiError>;
18
- export declare function writeAllPrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer): Result<void, RhiError>;
18
+ export declare function writePrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer, subPassIdx: number, roughness: number, mipFaceSize: number, sourceMipLevelCount?: number): Result<void, RhiError>;
19
+ export declare function writeAllPrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer, sourceMipLevelCount?: number): Result<void, RhiError>;
19
20
  /** Cube-POD register-relay injected by the wire layer (D-3). */
20
21
  type RegisterCube = (world: World, pod: EquirectAsset) => Result<Handle<'EquirectAsset', 'shared'>, AssetError>;
21
22
  export interface TextureResidencyReceipt {
@@ -37,6 +38,10 @@ export interface TextureGpuEntry {
37
38
  readonly view: TextureView;
38
39
  readonly receipt: TextureResidencyReceipt;
39
40
  }
41
+ /** Candidate-only residency work; no queue submission is hidden here. */
42
+ export interface RecoveryResidencyPreparation {
43
+ readonly mipmapWork?: MipmapEncoderWork;
44
+ }
40
45
  export interface MeshGpuHandles {
41
46
  readonly vertexBuffer: GpuBuffer;
42
47
  /**
@@ -87,6 +92,13 @@ export interface MeshGpuHandles {
87
92
  * For single-submesh meshes this is a 1-element array (byte-identical to pre-M4).
88
93
  */
89
94
  readonly submeshes: readonly import('@forgeax/engine-types').Submesh[];
95
+ /** Packed root + lower-detail geometry ranges in the shared mesh buffers. */
96
+ readonly lodRanges?: readonly (readonly MeshGpuRange[])[];
97
+ }
98
+ export interface MeshGpuRange {
99
+ readonly first: number;
100
+ readonly count: number;
101
+ readonly baseVertex: number;
90
102
  }
91
103
  /**
92
104
  * GPU residency store. Owns the per-handle GPU caches and the upload
@@ -108,6 +120,7 @@ export declare class GpuResidencyCache {
108
120
  private registerCube;
109
121
  private errorRegistry;
110
122
  private caps;
123
+ private recoveryColdWorkGuard;
111
124
  private deviceEpoch;
112
125
  private textureGeneration;
113
126
  private readonly textureGpuHandles;
@@ -141,6 +154,8 @@ export declare class GpuResidencyCache {
141
154
  configureIblDevice(device: RhiDevice, shaderModuleFactory: IblShaderModuleFactory | undefined): void;
142
155
  /** Bind residency ownership to the renderer's single DeviceScope tree. */
143
156
  bindDeviceScope(scope: DeviceScope): void;
157
+ /** Arm the first-published-frame assertion on this generation's store. */
158
+ setRecoveryColdWorkGuard(guard: RecoveryColdWorkGuard | undefined): void;
144
159
  /**
145
160
  * Wrap a raw RHI Buffer handle into a GpuBuffer. The wrapper holds a
146
161
  * reference to the device so `.destroy()` forwards to
@@ -171,6 +186,10 @@ export declare class GpuResidencyCache {
171
186
  * make progress (plan-strategy D-3 / D-8).
172
187
  */
173
188
  destroyAll(): void;
189
+ /** Number of candidate-owned GPU resources currently held by this cache. */
190
+ recoveryResourceCount(): number;
191
+ /** Candidate root for the cache owner, not a scalar readiness marker. */
192
+ createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
174
193
  /**
175
194
  * Set the error registry channel (wired by createRenderer). evict /
176
195
  * releaseUnreferenced fire structured errors here instead of throwing -
@@ -287,8 +306,16 @@ export declare class GpuResidencyCache {
287
306
  * (`_uploadCubemapFromEquirect`). Builtin meshes are NOT routed here either
288
307
  * (createRenderer step-3 owns them; D-1).
289
308
  */
290
- ensureResident(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number): Result<MeshGpuHandles, RhiError | AssetError | ImageError>;
309
+ ensureResident(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number, lodMeshes?: readonly TypesMeshAsset[]): Result<MeshGpuHandles, RhiError | AssetError | ImageError>;
291
310
  ensureResident(handle: Handle<'TextureAsset', 'shared'>, pod: TextureAsset, worldId?: World | number): Result<TextureGpuEntry, RhiError | AssetError | ImageError>;
311
+ /**
312
+ * Prepare one candidate-visible resource without the normal draw-time mip
313
+ * submission. Base writes and resource creation stay owned by this cache;
314
+ * generated mip passes are returned to the recovery transaction for one
315
+ * explicit finish/submit before publication.
316
+ */
317
+ prepareResidentForRecovery(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number): Result<RecoveryResidencyPreparation, RhiError | AssetError | ImageError>;
318
+ prepareResidentForRecovery(handle: Handle<'TextureAsset', 'shared'>, pod: TextureAsset, worldId?: World | number): Result<RecoveryResidencyPreparation, RhiError | AssetError | ImageError>;
292
319
  /**
293
320
  * Eager public surface: upload decoded image bytes into a GPU texture and
294
321
  * cache (texture + view) under the handle. The TextureAsset POD supplies the
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-residency.d.ts","sourceRoot":"","sources":["../../src/device/gpu-residency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gpu-residency.d.ts","sourceRoot":"","sources":["../../src/device/gpu-residency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { type DeviceResourceKind, DeviceResourceRef, DeviceScope, type DeviceScopeReceipt, type DeviceScopeState, type LifecycleFailure, type LifecycleResourceSpec, type LifecycleResult, LifecycleTransaction, type ResourceRef, } from './device-scope';
2
+ //# sourceMappingURL=lifecycle-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-transaction.d.ts","sourceRoot":"","sources":["../../src/device/lifecycle-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,oBAAoB,EACpB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import { type Result } from '@forgeax/engine-types';
2
2
  import type { EnvironmentCandidate, EnvironmentFrame, EnvironmentSource, FogCandidate, FogFrame } from '../extract/environment';
3
3
  export type { EnvironmentCandidate, EnvironmentFrame, EnvironmentSource, FogCandidate, FogFrame };
4
+ /** Producer-local fallback while replacement environment storage is uninitialized. */
5
+ export declare const SKYLIGHT_RECOVERY_FALLBACK: Readonly<{
6
+ readonly kind: "skylight";
7
+ readonly active: false;
8
+ }>;
4
9
  export interface SunCandidate {
5
10
  readonly entityKey: number;
6
11
  readonly direction: readonly [number, number, number];
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/environment/frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/environment/frame.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,12 @@ export interface EnvironmentInspection {
34
34
  readonly residentBytes: number;
35
35
  readonly retiringBytes: number;
36
36
  readonly lastCandidateFailure: EnvironmentInspectionFailure | undefined;
37
+ readonly recovery: {
38
+ readonly token: number;
39
+ readonly deviceGeneration: number;
40
+ readonly status: 'uninitialized';
41
+ readonly fallback: 'skylight';
42
+ } | undefined;
37
43
  }
38
44
  export declare function inspectEnvironment(generation: EnvironmentGeneration | undefined, details?: {
39
45
  readonly source?: 'none' | 'image' | 'atmosphere';
@@ -43,6 +49,7 @@ export declare function inspectEnvironment(generation: EnvironmentGeneration | u
43
49
  readonly lkg?: EnvironmentInspectionGeneration;
44
50
  readonly candidate?: EnvironmentInspectionGeneration;
45
51
  readonly lastCandidateFailure?: EnvironmentInspectionFailure;
52
+ readonly recovery?: EnvironmentInspection['recovery'];
46
53
  readonly retiringBytes?: number;
47
54
  }): EnvironmentInspection;
48
55
  //# sourceMappingURL=inspection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/environment/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,GAAG,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,GAAG,SAAS,CAAC;CACzE;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,qBAAqB,GAAG,SAAS,EAC7C,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IAClD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAC5B,GACL,qBAAqB,CAgCvB"}
1
+ {"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/environment/inspection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type Result } from '@forgeax/engine-types';
2
- import type { DeviceScope } from '../device/device-scope';
2
+ import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
3
3
  import { EnvironmentGenerationFailedError } from '../errors/render';
4
- import type { EnvironmentFrame } from './frame';
4
+ import { type EnvironmentFrame } from './frame';
5
5
  import type { EnvironmentGeneration, EnvironmentGenerationFailure } from './generation';
6
6
  import { type EnvironmentInspection, type EnvironmentInspectionFailure } from './inspection';
7
7
  export interface EnvironmentLease {
@@ -10,6 +10,7 @@ export interface EnvironmentLease {
10
10
  }
11
11
  /** Owns candidate, active, LKG, and DeviceScope generation transitions. */
12
12
  export declare class EnvironmentLifecycle {
13
+ private readonly token;
13
14
  private currentScope;
14
15
  private nextGeneration;
15
16
  private active;
@@ -19,10 +20,23 @@ export declare class EnvironmentLifecycle {
19
20
  private readonly retired;
20
21
  private readonly leaseCounts;
21
22
  private lastCandidateFailure;
23
+ private recovery;
22
24
  constructor(scope: DeviceScope);
23
25
  bindScope(scope: DeviceScope): void;
26
+ resetForRecover(deviceGeneration: number): void;
27
+ /**
28
+ * Create an environment owner for a recovery candidate without moving the
29
+ * active owner's scope or generation maps. Only the selected CPU frame and
30
+ * its lane are shared; every candidate generation/frame map starts empty.
31
+ */
32
+ createRecoveryCandidate(scope: DeviceScope): EnvironmentLifecycle;
33
+ /** True when a CPU environment frame is available for candidate recovery. */
34
+ hasRecoveryFrame(): boolean;
35
+ createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
24
36
  isActive(generation: EnvironmentGeneration): boolean;
25
37
  discard(generation: EnvironmentGeneration): void;
38
+ /** Drop every uncommitted generation owned by an abandoned candidate. */
39
+ discardRecoveryCandidates(): void;
26
40
  recordCandidateFailure(error: EnvironmentGenerationFailedError): void;
27
41
  /** Retain a structured authoring failure while the active/LKG frame stays live. */
28
42
  recordSelectionFailure(error: {
@@ -32,6 +46,10 @@ export declare class EnvironmentLifecycle {
32
46
  recordStageFailure(stage: EnvironmentInspectionFailure['stage'], generation: EnvironmentGeneration): void;
33
47
  ensure(frame: EnvironmentFrame, laneOrFailure?: 'direct' | 'clustered' | EnvironmentGenerationFailure): Result<EnvironmentGeneration, EnvironmentGenerationFailedError>;
34
48
  publish(generation: EnvironmentGeneration): void;
49
+ /** Close the old active generation before a replacement owner is installed. */
50
+ retireActiveForReplacement(): void;
51
+ /** Close an already-published generation when its owning scope retires. */
52
+ retirePublishedGeneration(generation: EnvironmentGeneration): void;
35
53
  acquire(): EnvironmentLease;
36
54
  collectRetired(): void;
37
55
  inspect(): EnvironmentInspection & {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/environment/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAGlC,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;CACjB;AAMD,2EAA2E;AAC3E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,GAAG,CAAoC;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAA2C;gBAE3D,KAAK,EAAE,WAAW;IAK9B,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAInC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO;IAIpD,OAAO,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IAShD,sBAAsB,CAAC,KAAK,EAAE,gCAAgC,GAAG,IAAI;IAQrE,mFAAmF;IACnF,sBAAsB,CAAC,KAAK,EAAE;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACpD,GAAG,IAAI;IAQR,kBAAkB,CAChB,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAC5C,UAAU,EAAE,qBAAqB,GAChC,IAAI;IAeP,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,aAAa,GAAE,QAAQ,GAAG,WAAW,GAAG,4BAAuC,GAC9E,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;IAgDlE,OAAO,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IAShD,OAAO,IAAI,gBAAgB;IAgB3B,cAAc,IAAI,IAAI;IAgBtB,OAAO,IAAI,qBAAqB,GAAG;QACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3C;IA8CK,OAAO,CACX,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,CAAC;IAkB3E,OAAO,CAAC,QAAQ;CAMjB"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/environment/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { MaterialShaderArtifactReceipt } from '@forgeax/engine-shader';
2
+ export type GpuDrivenPreparationErrorCode = 'missing-material-receipt' | 'missing-uv' | 'reflection-mismatch' | 'vertex-input-mismatch' | 'alpha-mask-mismatch' | 'resource-not-ready' | 'stale-generation' | 'skin-receipt-mismatch';
3
+ export type GpuDrivenPreparationReason = 'material-receipt-missing' | 'uv-set-missing' | 'reflection-receipt-mismatch' | 'vertex-semantic-mismatch' | 'alpha-mask-receipt-missing' | 'material-resource-missing' | 'generation-stale' | 'skin-address-missing';
4
+ export interface GpuDrivenPreparationErrorDetail {
5
+ readonly reason: GpuDrivenPreparationReason;
6
+ readonly owner: 'material' | 'geometry' | 'skin' | 'generation';
7
+ readonly expected?: string;
8
+ readonly actual?: string;
9
+ readonly expectedGeneration?: number;
10
+ readonly actualGeneration?: number;
11
+ }
12
+ export declare class GpuDrivenPreparationError extends Error {
13
+ readonly code: GpuDrivenPreparationErrorCode;
14
+ readonly expected: string;
15
+ readonly hint: string;
16
+ readonly detail: GpuDrivenPreparationErrorDetail;
17
+ constructor(code: GpuDrivenPreparationErrorCode, detail: GpuDrivenPreparationErrorDetail);
18
+ }
19
+ export interface GpuDrivenPreparedMaterial {
20
+ readonly receipt: MaterialShaderArtifactReceipt;
21
+ readonly resourceSlots: MaterialShaderArtifactReceipt['resourceSlots'];
22
+ readonly uvSets: MaterialShaderArtifactReceipt['uvSets'];
23
+ readonly vertexInputs: MaterialShaderArtifactReceipt['vertexInputs'];
24
+ readonly alphaMask: MaterialShaderArtifactReceipt['alphaMask'];
25
+ }
26
+ //# sourceMappingURL=gpu-driven.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu-driven.d.ts","sourceRoot":"","sources":["../../src/errors/gpu-driven.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,MAAM,6BAA6B,GACrC,0BAA0B,GAC1B,YAAY,GACZ,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,0BAA0B,GAClC,0BAA0B,GAC1B,gBAAgB,GAChB,6BAA6B,GAC7B,0BAA0B,GAC1B,4BAA4B,GAC5B,2BAA2B,GAC3B,kBAAkB,GAClB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAuCD,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;gBAErC,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,+BAA+B;CASzF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC,WAAW,CAAC,CAAC;CAChE"}
@@ -1,4 +1,5 @@
1
1
  export * from './ecs-validation';
2
+ export * from './gpu-driven';
2
3
  export * from './recover';
3
4
  export * from './render';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -1,4 +1,23 @@
1
- import type { DeviceScopeReceipt } from '../device/resource-types';
1
+ import type { RecoveryGuidance, RecoveryPhase } from '../assembly/renderer-lifecycle';
2
+ import type { DeviceResourceKind, DeviceScopeReceipt } from '../device/resource-types';
3
+ import type { ReflectionFallbackRecoveryAction } from '../inspection-types';
4
+ import type { SsrAdmissionError, SsrOwnerRecoveryAction } from '../ssr/errors';
5
+ export type { RecoveryGuidance, RecoveryPhase } from '../assembly/renderer-lifecycle';
6
+ export { RECOVERY_PHASES } from '../assembly/renderer-lifecycle';
7
+ export type { ReflectionFallbackRecoveryAction } from '../inspection-types';
8
+ export declare function reflectionFallbackRecoveryAction(source: 'probe' | 'skylight' | 'neutral', hasLastKnownGood: boolean): ReflectionFallbackRecoveryAction;
9
+ /**
10
+ * Maps a detached admission failure to the owning producer action. This is
11
+ * an instruction projection only; SSR never performs the recovery itself.
12
+ */
13
+ export declare function ssrAdmissionRecoveryAction(error: SsrAdmissionError): SsrOwnerRecoveryAction;
14
+ /** Closed outcome vocabulary shared by recovery inspection and errors. */
15
+ export type RecoveryOutcome = 'none' | 'succeeded' | 'failed' | 'disposed';
16
+ /**
17
+ * `RecoveryPhase` is the stable lower-case hyphenated phase union used by
18
+ * inspect/recovery detail. `RecoveryGuidance` is the closed next-action union:
19
+ * retry the attempt, repair its owner, or rebuild the Renderer.
20
+ */
2
21
  /**
3
22
  * Closed union of recover() error codes.
4
23
  *
@@ -62,6 +81,47 @@ export declare class RecoverError extends Error {
62
81
  readonly hint: string;
63
82
  constructor(code: RecoverErrorCode);
64
83
  }
84
+ export interface RecoveryFailureDetail {
85
+ /** The bounded phase that produced this failure. */
86
+ readonly phase: RecoveryPhase;
87
+ /** Active generation before the attempt; it changes only on publish. */
88
+ readonly oldGeneration: number;
89
+ /** Candidate generation; it changes only on publish. */
90
+ readonly candidateGeneration: number;
91
+ /** Monotonic explicit recovery attempt number. */
92
+ readonly attempt: number;
93
+ /** Wall-clock duration of this bounded attempt. */
94
+ readonly elapsedMs: number;
95
+ /** Whether the caller may explicitly retry without recreating the Renderer. */
96
+ readonly retryable: boolean;
97
+ /** Next action selected by the recovery owner. */
98
+ readonly guidance: RecoveryGuidance;
99
+ /** Producer or lifecycle owner that must be inspected first. */
100
+ readonly owner: string;
101
+ /** Structured resource category, never a raw GPU handle. */
102
+ readonly resourceKind: DeviceResourceKind;
103
+ /** Terminal outcome of this attempt. */
104
+ readonly lastOutcome: Exclude<RecoveryOutcome, 'none' | 'succeeded'>;
105
+ /** Number of candidate roots committed before publication. */
106
+ readonly rehydratedRoots: number;
107
+ /** Number of late notifications ignored from retired generations. */
108
+ readonly staleLossEvents: number;
109
+ /** Original structured cause retained for diagnostics. */
110
+ readonly cause: unknown;
111
+ /** Cleanup failures that prevented a complete candidate publication. */
112
+ readonly cleanupFailures: readonly unknown[];
113
+ /** Detached lifecycle receipt for the failed candidate. */
114
+ readonly receipt: DeviceScopeReceipt;
115
+ }
116
+ /** Stable structured failure returned by one bounded recovery attempt. */
117
+ export declare class RecoveryFailedError extends Error {
118
+ readonly code: "recovery-failed";
119
+ readonly expected = "one recovery attempt publishes a complete replacement device generation";
120
+ readonly hint = "inspect detail and follow its guidance";
121
+ readonly detail: RecoveryFailureDetail;
122
+ constructor(detail: RecoveryFailureDetail);
123
+ }
124
+ export declare function createRecoveryFailedError(detail: RecoveryFailureDetail): RecoveryFailedError;
65
125
  declare const RENDER_RECOVERY_ERROR_POLICY: {
66
126
  readonly 'recover-lifecycle-failed': {
67
127
  readonly expected: "the replacement DeviceScope must publish only after lifecycle cleanup succeeds";
@@ -74,10 +134,15 @@ declare const RENDER_RECOVERY_ERROR_POLICY: {
74
134
  };
75
135
  export type RenderRecoveryErrorCode = keyof typeof RENDER_RECOVERY_ERROR_POLICY;
76
136
  export interface RenderRecoveryFailureDetail {
137
+ /** Producer/lifecycle owner whose recovery operation failed. */
77
138
  readonly owner: string;
139
+ /** Device generation associated with the failed recovery operation. */
78
140
  readonly generation: number;
141
+ /** Closed operation kind; no implicit background retry is represented. */
79
142
  readonly recovery: 'recover' | 'rebuild' | 'stop';
143
+ /** Lifecycle receipt retained as structured evidence, not a live handle. */
80
144
  readonly receipt: DeviceScopeReceipt;
145
+ /** Original structured cause for the failed operation. */
81
146
  readonly cause: unknown;
82
147
  }
83
148
  export declare class RenderRecoveryError extends Error {
@@ -87,7 +152,7 @@ export declare class RenderRecoveryError extends Error {
87
152
  readonly detail: RenderRecoveryFailureDetail;
88
153
  constructor(code: RenderRecoveryErrorCode, detail: RenderRecoveryFailureDetail);
89
154
  }
90
- export type RecoverFailure = RecoverError | RenderRecoveryError;
155
+ export type RecoverFailure = RecoverError | RenderRecoveryError | RecoveryFailedError;
91
156
  export type IblCapabilityLossCode = 'ibl-hdr-capability-loss';
92
157
  export interface IblCapabilityLossDetail {
93
158
  readonly fallbackArtifact: 'white-cube';
@@ -101,5 +166,4 @@ export declare class IblCapabilityLossError extends Error {
101
166
  readonly detail: IblCapabilityLossDetail;
102
167
  constructor(lastKnownGood: string);
103
168
  }
104
- export {};
105
169
  //# sourceMappingURL=recover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recover.d.ts","sourceRoot":"","sources":["../../src/errors/recover.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAInE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAEjE,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CA+BzB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,gBAAgB;CAQnC;AAED,QAAA,MAAM,4BAA4B;;;;;;;;;CASxB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,4BAA4B,CAAC;AAEhF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;gBAEjC,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,2BAA2B;CAS/E;AAED,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAA6B;IACjE,QAAQ,CAAC,QAAQ,oEAAoE;IACrF,QAAQ,CAAC,IAAI,6EAA6E;IAC1F,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBAE7B,aAAa,EAAE,MAAM;CASlC"}
1
+ {"version":3,"file":"recover.d.ts","sourceRoot":"","sources":["../../src/errors/recover.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { DeviceResourceKind, DeviceScopeReceipt } from '../device/resource-
3
3
  import type { PreparedKind, RenderFeatureCapabilityKey, RenderFeatureRecovery, RenderFeatureStage } from '../features/vocabulary';
4
4
  import type { SceneDataLane, SceneDataSchemaId } from '../temporal/scene-data';
5
5
  import type { TransmissionCapabilityFact } from '../transmission/backdrop';
6
+ import type { RecoveryOutcome, RecoveryPhase } from './recover';
6
7
  export interface LifecycleConstructionFailureDetail {
7
8
  readonly owner: string;
8
9
  readonly generation: number;
@@ -36,6 +37,31 @@ export type RenderSurfaceExpectedError = {
36
37
  }[SurfaceFailureCode];
37
38
  /** Construct the closed surface error from its failure-stage discriminant. */
38
39
  export declare function createRenderSurfaceError(kind: SurfaceFailureKind, detail: RenderSurfaceFailureDetail): RenderSurfaceExpectedError;
40
+ export type LightResourceFailureReason = 'asset' | 'format' | 'capability' | 'capacity';
41
+ export interface LightResourceUnavailableDetail {
42
+ readonly entity: number;
43
+ readonly feature: 'ies' | 'cookie' | 'probe';
44
+ readonly generation: number;
45
+ readonly sourceKey: string;
46
+ readonly reason: LightResourceFailureReason;
47
+ }
48
+ export declare class LightResourceUnavailableError extends Error {
49
+ readonly code: "light-resource-unavailable";
50
+ readonly expected: string;
51
+ readonly hint: string;
52
+ readonly detail: LightResourceUnavailableDetail;
53
+ constructor(detail: LightResourceUnavailableDetail, expected: string, actual: string, hint: string);
54
+ }
55
+ export declare function createLightResourceUnavailable(input: {
56
+ readonly entity: number;
57
+ readonly feature: LightResourceUnavailableDetail['feature'];
58
+ readonly generation: number;
59
+ readonly sourceKey: string;
60
+ readonly reason: LightResourceFailureReason;
61
+ readonly expected: string;
62
+ readonly actual: string;
63
+ readonly hint: string;
64
+ }): LightResourceUnavailableError;
39
65
  export interface TemporalFrameSubmitDetail {
40
66
  readonly reason: 'queue-submit-failed';
41
67
  }
@@ -707,7 +733,19 @@ export interface RendererOperationDetailByCode {
707
733
  };
708
734
  readonly 'recovery-failed': {
709
735
  readonly operation: 'recover';
736
+ readonly phase: RecoveryPhase;
710
737
  readonly oldGeneration: number;
738
+ readonly candidateGeneration: number;
739
+ readonly attempt: number;
740
+ readonly elapsedMs: number;
741
+ readonly retryable: boolean;
742
+ readonly guidance: 'retry' | 'repair-owner' | 'rebuild-renderer';
743
+ readonly owner: string;
744
+ readonly resourceKind: string;
745
+ readonly lastOutcome: RecoveryOutcome;
746
+ readonly rehydratedRoots: number;
747
+ readonly staleLossEvents: number;
748
+ readonly cleanupFailures: readonly RendererOperationCause[];
711
749
  readonly cause: RendererOperationCause;
712
750
  };
713
751
  readonly 'cleanup-failed': {
@@ -952,5 +990,5 @@ export type RenderErrorCode = RenderError['code'];
952
990
  * Closed union of the render-cluster structured error classes, each carrying a
953
991
  * `RenderErrorCode` discriminant on `.code`.
954
992
  */
955
- export type RenderError = LifecycleConstructionError | RendererExpectedOperationError | FrameReceiptStaleError | RendererContractFailureError | ObservationUnavailableError | SceneDataUnavailableError | TaaUnavailableError | ShadowInvalidConfigError | EquirectProjectionFailedError | StandardLightBudgetExceededError | StandardClusterIndexOverflowError | StandardClusterTransportUnavailableError | StandardProfileInvalidError | PointShadowAtlasUninitializedError | PointShadowAtlasBoundsViolationError | VideoUploadUnsupportedError | VertexStorageBufferUnavailableError | VertexColorVariantConflictError | SkinPaletteOverflowError | SkinMaterialMismatchError | MaterialSkinAttrMissingError | TransmissionCapabilityMissingError | RenderFeatureRegistrationConflictError | RenderFeatureStageFailedError | RenderFeatureCapabilityMissingError | RenderFeaturePassOrderConflictError | RenderFeaturePreparationFailedError | RenderFeaturePreparedStateMismatchError | RenderFeatureDrawRecordingFailedError | EnvironmentSourceConflictError | FogCardinalityError | TaaCapsInsufficientError | EnvironmentGenerationFailedError | AtmosphereInvalidParameterError | OwnerStageFailedError | PointsLinesInvalidStyleError | PointsLinesTopologyMismatchError | PointsLinesStyleUnsupportedError | PointsLinesMaterialUnsupportedError | PointsLinesBudgetExceededError | PointsLinesPrepareFailedError | RenderTargetDescriptorInvalidError | RenderTargetCapabilityMissingError | RenderTargetStateInvalidError | RenderTargetOperationFailedError | ReflectionProbeBudgetExceededError | RenderIntentInvalidError | ProjectorBindingError | VolumeError;
993
+ export type RenderError = LifecycleConstructionError | RendererExpectedOperationError | FrameReceiptStaleError | RendererContractFailureError | ObservationUnavailableError | SceneDataUnavailableError | TaaUnavailableError | ShadowInvalidConfigError | EquirectProjectionFailedError | StandardLightBudgetExceededError | StandardClusterIndexOverflowError | StandardClusterTransportUnavailableError | StandardProfileInvalidError | PointShadowAtlasUninitializedError | PointShadowAtlasBoundsViolationError | VideoUploadUnsupportedError | VertexStorageBufferUnavailableError | VertexColorVariantConflictError | SkinPaletteOverflowError | SkinMaterialMismatchError | MaterialSkinAttrMissingError | TransmissionCapabilityMissingError | RenderFeatureRegistrationConflictError | RenderFeatureStageFailedError | RenderFeatureCapabilityMissingError | RenderFeaturePassOrderConflictError | RenderFeaturePreparationFailedError | RenderFeaturePreparedStateMismatchError | RenderFeatureDrawRecordingFailedError | EnvironmentSourceConflictError | FogCardinalityError | TaaCapsInsufficientError | EnvironmentGenerationFailedError | AtmosphereInvalidParameterError | OwnerStageFailedError | PointsLinesInvalidStyleError | PointsLinesTopologyMismatchError | PointsLinesStyleUnsupportedError | PointsLinesMaterialUnsupportedError | PointsLinesBudgetExceededError | PointsLinesPrepareFailedError | LightResourceUnavailableError | RenderTargetDescriptorInvalidError | RenderTargetCapabilityMissingError | RenderTargetStateInvalidError | RenderTargetOperationFailedError | ReflectionProbeBudgetExceededError | RenderIntentInvalidError | ProjectorBindingError | VolumeError;
956
994
  //# sourceMappingURL=render.d.ts.map