@forgeax/engine-render 0.1.20 → 0.1.23

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 (645) hide show
  1. package/README.md +365 -29
  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/device-feature-admission.d.ts +18 -0
  5. package/dist/assembly/device-feature-admission.d.ts.map +1 -0
  6. package/dist/assembly/directional-shadow-inspection.d.ts +38 -0
  7. package/dist/assembly/directional-shadow-inspection.d.ts.map +1 -0
  8. package/dist/assembly/factory.d.ts +30 -19
  9. package/dist/assembly/factory.d.ts.map +1 -1
  10. package/dist/assembly/host-contract.d.ts +19 -0
  11. package/dist/assembly/host-contract.d.ts.map +1 -1
  12. package/dist/assembly/render-target-host.d.ts +46 -0
  13. package/dist/assembly/render-target-host.d.ts.map +1 -0
  14. package/dist/assets/render-asset-port.d.ts.map +1 -1
  15. package/dist/authoring.mjs +4 -1
  16. package/dist/authoring.mjs.map +1 -1
  17. package/dist/capture/cube-views.d.ts +21 -0
  18. package/dist/capture/cube-views.d.ts.map +1 -0
  19. package/dist/capture/scheduler.d.ts +54 -0
  20. package/dist/capture/scheduler.d.ts.map +1 -0
  21. package/dist/{chunk-PCHBPYML.mjs → chunk-4L3P6DT5.mjs} +2 -2
  22. package/dist/chunk-4L3P6DT5.mjs.map +1 -0
  23. package/dist/{chunk-VFPLTKCU.mjs → chunk-4NPUASZR.mjs} +15 -4
  24. package/dist/chunk-4NPUASZR.mjs.map +1 -0
  25. package/dist/chunk-DIYW3M5D.mjs +5085 -0
  26. package/dist/chunk-DIYW3M5D.mjs.map +1 -0
  27. package/dist/chunk-FBC4R44J.mjs +1003 -0
  28. package/dist/chunk-FBC4R44J.mjs.map +1 -0
  29. package/dist/{chunk-CDTWTHZR.mjs → chunk-FF7K3FSO.mjs} +474 -168
  30. package/dist/chunk-FF7K3FSO.mjs.map +1 -0
  31. package/dist/chunk-HZUPSYW7.mjs +1104 -0
  32. package/dist/chunk-HZUPSYW7.mjs.map +1 -0
  33. package/dist/{chunk-TBQJOK2L.mjs → chunk-QODA5UKU.mjs} +321 -269
  34. package/dist/chunk-QODA5UKU.mjs.map +1 -0
  35. package/dist/chunk-YALPS44A.mjs +296 -0
  36. package/dist/chunk-YALPS44A.mjs.map +1 -0
  37. package/dist/{chunk-4XINDLAY.mjs → chunk-ZUWKAZ2I.mjs} +1963 -2178
  38. package/dist/chunk-ZUWKAZ2I.mjs.map +1 -0
  39. package/dist/cluster-binner.d.ts +5 -0
  40. package/dist/cluster-binner.d.ts.map +1 -1
  41. package/dist/components/camera.d.ts +1 -0
  42. package/dist/components/camera.d.ts.map +1 -1
  43. package/dist/components/cube-camera.d.ts +20 -0
  44. package/dist/components/cube-camera.d.ts.map +1 -0
  45. package/dist/components/directional-light.d.ts +11 -2
  46. package/dist/components/directional-light.d.ts.map +1 -1
  47. package/dist/components/directional-shadow-filter.d.ts +25 -0
  48. package/dist/components/directional-shadow-filter.d.ts.map +1 -0
  49. package/dist/components/index.d.ts +5 -0
  50. package/dist/components/index.d.ts.map +1 -1
  51. package/dist/components/light-helpers.d.ts +4 -0
  52. package/dist/components/light-helpers.d.ts.map +1 -1
  53. package/dist/components/light-probe.d.ts +9 -0
  54. package/dist/components/light-probe.d.ts.map +1 -0
  55. package/dist/components/rect-area-light.d.ts +12 -0
  56. package/dist/components/rect-area-light.d.ts.map +1 -0
  57. package/dist/components/reflection-probe.d.ts +17 -0
  58. package/dist/components/reflection-probe.d.ts.map +1 -0
  59. package/dist/components/scene-instance.d.ts +4 -0
  60. package/dist/components/scene-instance.d.ts.map +1 -1
  61. package/dist/components/spot-light.d.ts +3 -0
  62. package/dist/components/spot-light.d.ts.map +1 -1
  63. package/dist/construct-renderer.mjs +14836 -9620
  64. package/dist/construct-renderer.mjs.map +1 -1
  65. package/dist/device/gpu-residency.d.ts +8 -1
  66. package/dist/device/gpu-residency.d.ts.map +1 -1
  67. package/dist/device/lifecycle-transaction.d.ts +2 -0
  68. package/dist/device/lifecycle-transaction.d.ts.map +1 -0
  69. package/dist/environment/frame.d.ts.map +1 -1
  70. package/dist/environment/lifecycle.d.ts +5 -0
  71. package/dist/environment/lifecycle.d.ts.map +1 -1
  72. package/dist/errors/gpu-driven.d.ts +26 -0
  73. package/dist/errors/gpu-driven.d.ts.map +1 -0
  74. package/dist/errors/index.d.ts +1 -0
  75. package/dist/errors/index.d.ts.map +1 -1
  76. package/dist/errors/recover.d.ts +9 -1
  77. package/dist/errors/recover.d.ts.map +1 -1
  78. package/dist/errors/render.d.ts +166 -93
  79. package/dist/errors/render.d.ts.map +1 -1
  80. package/dist/extract/directional-shadow-projection.d.ts +23 -0
  81. package/dist/extract/directional-shadow-projection.d.ts.map +1 -0
  82. package/dist/extract/environment.d.ts +14 -0
  83. package/dist/extract/environment.d.ts.map +1 -1
  84. package/dist/extract/gpu-driven.d.ts +50 -0
  85. package/dist/extract/gpu-driven.d.ts.map +1 -0
  86. package/dist/extract/visibility.d.ts.map +1 -1
  87. package/dist/features/fullscreen.d.ts.map +1 -1
  88. package/dist/features/targets.d.ts.map +1 -1
  89. package/dist/features/types.d.ts +10 -0
  90. package/dist/features/types.d.ts.map +1 -1
  91. package/dist/fullscreen-post-process-pass.d.ts +13 -2
  92. package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
  93. package/dist/gpu-driven/batch-topology.d.ts +34 -0
  94. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  95. package/dist/gpu-driven/prepared-draw.d.ts +63 -0
  96. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -0
  97. package/dist/gpu-driven/production-raster.d.ts +97 -2
  98. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  99. package/dist/gpu-driven/view-gpu.d.ts +64 -1
  100. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  101. package/dist/gpu-scene-schema.d.ts +14 -0
  102. package/dist/gpu-scene-schema.d.ts.map +1 -1
  103. package/dist/gpu-scene.d.ts +8 -1
  104. package/dist/gpu-scene.d.ts.map +1 -1
  105. package/dist/gpu-usage.d.ts +0 -1
  106. package/dist/gpu-usage.d.ts.map +1 -1
  107. package/dist/hdrp-buffers.d.ts +21 -19
  108. package/dist/hdrp-buffers.d.ts.map +1 -1
  109. package/dist/ibl/IblPipelineCache.d.ts +4 -0
  110. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  111. package/dist/ibl/kernel-cache.d.ts +36 -0
  112. package/dist/ibl/kernel-cache.d.ts.map +1 -0
  113. package/dist/index.d.ts +39 -3
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.mjs +91 -6
  116. package/dist/index.mjs.map +1 -1
  117. package/dist/inspection-types.d.ts +214 -1
  118. package/dist/inspection-types.d.ts.map +1 -1
  119. package/dist/instances-derived-bounds.d.ts +50 -0
  120. package/dist/instances-derived-bounds.d.ts.map +1 -0
  121. package/dist/internal.d.ts +9 -0
  122. package/dist/internal.d.ts.map +1 -1
  123. package/dist/internal.mjs +23 -2
  124. package/dist/internal.mjs.map +1 -1
  125. package/dist/light-buffer-layout.d.ts +58 -140
  126. package/dist/light-buffer-layout.d.ts.map +1 -1
  127. package/dist/materials.d.ts.map +1 -1
  128. package/dist/mesh-material-bindings.d.ts +54 -0
  129. package/dist/mesh-material-bindings.d.ts.map +1 -1
  130. package/dist/pbr-pipeline.d.ts +38 -14
  131. package/dist/pbr-pipeline.d.ts.map +1 -1
  132. package/dist/pipeline/standard-forward-lane.d.ts +2 -1
  133. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  134. package/dist/pipeline/standard-lighting/errors.d.ts +4 -0
  135. package/dist/pipeline/standard-lighting/errors.d.ts.map +1 -0
  136. package/dist/pipeline/standard-lighting/graph.d.ts +24 -0
  137. package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -0
  138. package/dist/pipeline/standard-lighting/inspection.d.ts +38 -0
  139. package/dist/pipeline/standard-lighting/inspection.d.ts.map +1 -0
  140. package/dist/pipeline/standard-lighting/layout.d.ts +28 -0
  141. package/dist/pipeline/standard-lighting/layout.d.ts.map +1 -0
  142. package/dist/pipeline/standard-lighting/light-frame.d.ts +33 -0
  143. package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -0
  144. package/dist/pipeline/standard-lighting/membership.d.ts +14 -0
  145. package/dist/pipeline/standard-lighting/membership.d.ts.map +1 -0
  146. package/dist/pipeline/standard-lighting/prepare.d.ts +16 -0
  147. package/dist/pipeline/standard-lighting/prepare.d.ts.map +1 -0
  148. package/dist/pipeline/standard-lighting/topology.d.ts +45 -0
  149. package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -0
  150. package/dist/pipeline/standard-lighting/transport.d.ts +36 -0
  151. package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -0
  152. package/dist/pipeline/standard-pipeline.d.ts +4 -13
  153. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  154. package/dist/pipeline/standard-post.d.ts.map +1 -1
  155. package/dist/pipeline/standard-profile.d.ts +5 -26
  156. package/dist/pipeline/standard-profile.d.ts.map +1 -1
  157. package/dist/pipeline-builder.d.ts +2 -0
  158. package/dist/pipeline-builder.d.ts.map +1 -1
  159. package/dist/pipeline-spec.d.ts +40 -7
  160. package/dist/pipeline-spec.d.ts.map +1 -1
  161. package/dist/plugin.d.ts.map +1 -1
  162. package/dist/point-shadow-inspection.d.ts +21 -0
  163. package/dist/point-shadow-inspection.d.ts.map +1 -0
  164. package/dist/prepare/extended-lighting/ltc-resources.d.ts +31 -0
  165. package/dist/prepare/extended-lighting/ltc-resources.d.ts.map +1 -0
  166. package/dist/prepare/extended-lighting/resources.d.ts +72 -0
  167. package/dist/prepare/extended-lighting/resources.d.ts.map +1 -0
  168. package/dist/prepare/extended-lighting/spot-modifiers.d.ts +42 -0
  169. package/dist/prepare/extended-lighting/spot-modifiers.d.ts.map +1 -0
  170. package/dist/prepare/extended-lighting/state.d.ts +24 -0
  171. package/dist/prepare/extended-lighting/state.d.ts.map +1 -0
  172. package/dist/record/frame-lighting.d.ts +33 -36
  173. package/dist/record/frame-lighting.d.ts.map +1 -1
  174. package/dist/record/frame-snapshot.d.ts +78 -24
  175. package/dist/record/frame-snapshot.d.ts.map +1 -1
  176. package/dist/record/frame-targets.d.ts +5 -0
  177. package/dist/record/frame-targets.d.ts.map +1 -1
  178. package/dist/record/frame.d.ts +16 -6
  179. package/dist/record/frame.d.ts.map +1 -1
  180. package/dist/record/gpu-pass-timing/contract.d.ts +96 -0
  181. package/dist/record/gpu-pass-timing/contract.d.ts.map +1 -0
  182. package/dist/record/gpu-pass-timing/errors.d.ts +18 -0
  183. package/dist/record/gpu-pass-timing/errors.d.ts.map +1 -0
  184. package/dist/record/gpu-pass-timing/index.d.ts +8 -0
  185. package/dist/record/gpu-pass-timing/index.d.ts.map +1 -0
  186. package/dist/record/gpu-pass-timing/parser.d.ts +11 -0
  187. package/dist/record/gpu-pass-timing/parser.d.ts.map +1 -0
  188. package/dist/record/gpu-pass-timing/session.d.ts +43 -0
  189. package/dist/record/gpu-pass-timing/session.d.ts.map +1 -0
  190. package/dist/record/gpu-timing.d.ts +20 -3
  191. package/dist/record/gpu-timing.d.ts.map +1 -1
  192. package/dist/record/helpers.d.ts +0 -20
  193. package/dist/record/helpers.d.ts.map +1 -1
  194. package/dist/record/main-pass-geometry.d.ts +6 -1
  195. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  196. package/dist/record/main-pass-material.d.ts +25 -2
  197. package/dist/record/main-pass-material.d.ts.map +1 -1
  198. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  199. package/dist/record/main-pass.d.ts +2 -0
  200. package/dist/record/main-pass.d.ts.map +1 -1
  201. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  202. package/dist/record/render-context.d.ts +98 -6
  203. package/dist/record/render-context.d.ts.map +1 -1
  204. package/dist/record/shadow-pass.d.ts.map +1 -1
  205. package/dist/record/skybox-post-pass.d.ts.map +1 -1
  206. package/dist/record/typed-frame-graph.d.ts +119 -4
  207. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  208. package/dist/record/view-ubo.d.ts +7 -5
  209. package/dist/record/view-ubo.d.ts.map +1 -1
  210. package/dist/reflection/filter.d.ts +22 -0
  211. package/dist/reflection/filter.d.ts.map +1 -0
  212. package/dist/reflection/gpu-table.d.ts +25 -0
  213. package/dist/reflection/gpu-table.d.ts.map +1 -0
  214. package/dist/reflection/inspection.d.ts +10 -0
  215. package/dist/reflection/inspection.d.ts.map +1 -0
  216. package/dist/reflection/projection.d.ts +140 -0
  217. package/dist/reflection/projection.d.ts.map +1 -0
  218. package/dist/reflection/record-owner.d.ts +60 -0
  219. package/dist/reflection/record-owner.d.ts.map +1 -0
  220. package/dist/render-contract.d.ts +62 -14
  221. package/dist/render-contract.d.ts.map +1 -1
  222. package/dist/render-graph-primitives.d.ts +1 -0
  223. package/dist/render-graph-primitives.d.ts.map +1 -1
  224. package/dist/render-pipeline.d.ts +49 -2
  225. package/dist/render-pipeline.d.ts.map +1 -1
  226. package/dist/render-system-extract.d.ts +160 -31
  227. package/dist/render-system-extract.d.ts.map +1 -1
  228. package/dist/render-system.d.ts +28 -2
  229. package/dist/render-system.d.ts.map +1 -1
  230. package/dist/renderer.d.ts +43 -0
  231. package/dist/renderer.d.ts.map +1 -0
  232. package/dist/scene/probe-blend-record.d.ts +22 -0
  233. package/dist/scene/probe-blend-record.d.ts.map +1 -0
  234. package/dist/scene/probe-blend.d.ts +142 -0
  235. package/dist/scene/probe-blend.d.ts.map +1 -0
  236. package/dist/scene/render-scene-types.d.ts +0 -6
  237. package/dist/scene/render-scene-types.d.ts.map +1 -1
  238. package/dist/scene/render-scene.d.ts +117 -9
  239. package/dist/scene/render-scene.d.ts.map +1 -1
  240. package/dist/scene/visibility/bounds.d.ts +20 -0
  241. package/dist/scene/visibility/bounds.d.ts.map +1 -0
  242. package/dist/scene/visibility/budget.d.ts +16 -0
  243. package/dist/scene/visibility/budget.d.ts.map +1 -0
  244. package/dist/scene/visibility/facet.d.ts +73 -0
  245. package/dist/scene/visibility/facet.d.ts.map +1 -0
  246. package/dist/scene/visibility/gpu-frame-timing.d.ts +41 -0
  247. package/dist/scene/visibility/gpu-frame-timing.d.ts.map +1 -0
  248. package/dist/scene/visibility/gpu-lod.d.ts +46 -0
  249. package/dist/scene/visibility/gpu-lod.d.ts.map +1 -0
  250. package/dist/scene/visibility/inspection.d.ts +132 -0
  251. package/dist/scene/visibility/inspection.d.ts.map +1 -0
  252. package/dist/scene/visibility/lod-selector.d.ts +25 -0
  253. package/dist/scene/visibility/lod-selector.d.ts.map +1 -0
  254. package/dist/scene/visibility/occlusion-confidence.d.ts +81 -0
  255. package/dist/scene/visibility/occlusion-confidence.d.ts.map +1 -0
  256. package/dist/scene/visibility/occlusion-pass.d.ts +57 -0
  257. package/dist/scene/visibility/occlusion-pass.d.ts.map +1 -0
  258. package/dist/scene/visibility/occlusion-query-pool.d.ts +57 -0
  259. package/dist/scene/visibility/occlusion-query-pool.d.ts.map +1 -0
  260. package/dist/scene/visibility/occlusion-runtime.d.ts +96 -0
  261. package/dist/scene/visibility/occlusion-runtime.d.ts.map +1 -0
  262. package/dist/scene/visibility/types.d.ts +34 -0
  263. package/dist/scene/visibility/types.d.ts.map +1 -0
  264. package/dist/shadow-atlas.d.ts +3 -3
  265. package/dist/shadow-atlas.d.ts.map +1 -1
  266. package/dist/ssao-buffers.d.ts +3 -0
  267. package/dist/ssao-buffers.d.ts.map +1 -1
  268. package/dist/ssr/admission.d.ts +122 -0
  269. package/dist/ssr/admission.d.ts.map +1 -0
  270. package/dist/ssr/composition.d.ts +32 -0
  271. package/dist/ssr/composition.d.ts.map +1 -0
  272. package/dist/ssr/errors.d.ts +39 -0
  273. package/dist/ssr/errors.d.ts.map +1 -0
  274. package/dist/ssr/identity.d.ts +13 -0
  275. package/dist/ssr/identity.d.ts.map +1 -0
  276. package/dist/systems/skin-palette-allocator.d.ts +1 -1
  277. package/dist/targets/contracts.d.ts +66 -0
  278. package/dist/targets/contracts.d.ts.map +1 -0
  279. package/dist/targets/graph-projection.d.ts +29 -0
  280. package/dist/targets/graph-projection.d.ts.map +1 -0
  281. package/dist/targets/material-source.d.ts +34 -0
  282. package/dist/targets/material-source.d.ts.map +1 -0
  283. package/dist/targets/owner.d.ts +32 -0
  284. package/dist/targets/owner.d.ts.map +1 -0
  285. package/dist/targets/physical.d.ts +18 -0
  286. package/dist/targets/physical.d.ts.map +1 -0
  287. package/dist/targets/readback.d.ts +39 -0
  288. package/dist/targets/readback.d.ts.map +1 -0
  289. package/dist/temporal/frame-coordinator.d.ts +13 -0
  290. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  291. package/dist/temporal/frame.d.ts +2 -0
  292. package/dist/temporal/frame.d.ts.map +1 -1
  293. package/dist/temporal/index.mjs +6 -5
  294. package/dist/temporal/view.d.ts +7 -0
  295. package/dist/temporal/view.d.ts.map +1 -1
  296. package/dist/tilemap-chunk-extract-system.d.ts +1 -1
  297. package/dist/typed-render-graph-primitives.d.ts +5 -1
  298. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  299. package/dist/typed-shadow-passes.d.ts +1 -1
  300. package/dist/typed-shadow-passes.d.ts.map +1 -1
  301. package/dist/volume/passes.d.ts +9 -5
  302. package/dist/volume/passes.d.ts.map +1 -1
  303. package/package.json +20 -20
  304. package/src/__tests__/bloom-exact-zero.unit.test.ts +48 -19
  305. package/src/__tests__/bloom-lifecycle.integration.test.ts +41 -13
  306. package/src/__tests__/camera-target-consumption.unit.test.ts +53 -0
  307. package/src/__tests__/cluster-binner.unit.test.ts +35 -0
  308. package/src/__tests__/cluster-grid-default-surface.unit.test.ts +12 -2
  309. package/src/__tests__/cube-camera-scheduler.unit.test.ts +70 -0
  310. package/src/__tests__/cube-camera-single-submit.perf.test.ts +75 -0
  311. package/src/__tests__/cube-camera-view-matrices.unit.test.ts +41 -0
  312. package/src/__tests__/cube-camera-vocabulary.unit.test.ts +47 -0
  313. package/src/__tests__/cube-camera.integration.test.ts +42 -0
  314. package/src/__tests__/detached-inspection.integration.test.ts +6 -0
  315. package/src/__tests__/device-feature-admission.unit.test.ts +85 -0
  316. package/src/__tests__/direct-light-snapshot.unit.test.ts +62 -6
  317. package/src/__tests__/docs-gate-green.unit.test.ts +38 -0
  318. package/src/__tests__/environment-generation.integration.test.ts +16 -0
  319. package/src/__tests__/evidence-identity.ts +13 -0
  320. package/src/__tests__/evidence-identity.unit.test.ts +24 -0
  321. package/src/__tests__/extended-lighting-recovery.browser.test.ts +14 -0
  322. package/src/__tests__/extended-lighting-recovery.dawn.test.ts +14 -0
  323. package/src/__tests__/extended-lighting-recovery.integration.test.ts +81 -0
  324. package/src/__tests__/extended-lighting-resources.unit.test.ts +51 -0
  325. package/src/__tests__/extended-lighting-zero-feature.integration.test.ts +52 -0
  326. package/src/__tests__/factory-contract.integration.test.ts +288 -29
  327. package/src/__tests__/fog-component.unit.test.ts +67 -0
  328. package/src/__tests__/fog.integration.test.ts +86 -0
  329. package/src/__tests__/frame-observation.contract.test.ts +15 -0
  330. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +37 -0
  331. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +146 -0
  332. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +10 -8
  333. package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +18 -1
  334. package/src/__tests__/gpu-driven-production.integration.test.ts +579 -17
  335. package/src/__tests__/gpu-driven-scaling.unit.test.ts +66 -2
  336. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +26 -1
  337. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +101 -6
  338. package/src/__tests__/gpu-driven-view.browser.test.ts +3 -3
  339. package/src/__tests__/gpu-driven-view.dawn.test.ts +3 -3
  340. package/src/__tests__/gpu-driven-view.unit.test.ts +50 -0
  341. package/src/__tests__/gpu-lod-evidence.ts +188 -0
  342. package/src/__tests__/gpu-lod-fallback.integration.test.ts +10 -0
  343. package/src/__tests__/gpu-lod-indirect.integration.test.ts +40 -0
  344. package/src/__tests__/gpu-lod-parity.dawn.test.ts +29 -0
  345. package/src/__tests__/gpu-lod-readiness.integration.test.ts +52 -0
  346. package/src/__tests__/gpu-lod-schema.unit.test.ts +66 -0
  347. package/src/__tests__/gpu-lod-selector.unit.test.ts +28 -0
  348. package/src/__tests__/gpu-lod-silhouette.browser.test.ts +13 -0
  349. package/src/__tests__/gpu-pass-timing-browser-runner.ts +281 -0
  350. package/src/__tests__/gpu-pass-timing-coexistence.integration.test.ts +80 -0
  351. package/src/__tests__/gpu-pass-timing-contract.unit.test.ts +243 -0
  352. package/src/__tests__/gpu-pass-timing-exact-zero.unit.test.ts +131 -0
  353. package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +230 -0
  354. package/src/__tests__/gpu-pass-timing-observation.unit.test.ts +233 -0
  355. package/src/__tests__/gpu-pass-timing-session.unit.test.ts +438 -0
  356. package/src/__tests__/gpu-pass-timing.browser.test.ts +26 -0
  357. package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +125 -0
  358. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +66 -1
  359. package/src/__tests__/gpu-scene.dawn.test.ts +8 -1
  360. package/src/__tests__/gpu-scene.unit.test.ts +49 -3
  361. package/src/__tests__/hdrp-group2-visibility.unit.test.ts +24 -0
  362. package/src/__tests__/instances-culling.integration.test.ts +94 -0
  363. package/src/__tests__/instances-derived-bounds.unit.test.ts +118 -0
  364. package/src/__tests__/light-buffer-layout.unit.test.ts +113 -3
  365. package/src/__tests__/light-inspection.unit.test.ts +55 -0
  366. package/src/__tests__/light-resource-error.unit.test.ts +43 -0
  367. package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +109 -0
  368. package/src/__tests__/lod-bounds.unit.test.ts +42 -0
  369. package/src/__tests__/lod-cpu-lane.integration.test.ts +55 -0
  370. package/src/__tests__/lod-cpu-no-change.perf.test.ts +19 -0
  371. package/src/__tests__/lod-gpu-frame-timing.unit.test.ts +49 -0
  372. package/src/__tests__/lod-multi-view.integration.test.ts +63 -0
  373. package/src/__tests__/lod-occlusion-device-loss.integration.test.ts +27 -0
  374. package/src/__tests__/lod-occlusion-final-decision.integration.test.ts +47 -0
  375. package/src/__tests__/lod-occlusion-inspection.integration.test.ts +217 -0
  376. package/src/__tests__/lod-occlusion-inspection.schema.test-d.ts +14 -0
  377. package/src/__tests__/lod-occlusion-inspection.unit.test.ts +72 -0
  378. package/src/__tests__/lod-occlusion-visual-evidence.ts +91 -0
  379. package/src/__tests__/lod-occlusion.browser.test.ts +15 -0
  380. package/src/__tests__/lod-occlusion.dawn.test.ts +20 -0
  381. package/src/__tests__/lod-selector.profile.test.ts +35 -0
  382. package/src/__tests__/lod-selector.unit.test.ts +68 -0
  383. package/src/__tests__/lod-visibility-identity.unit.test.ts +198 -0
  384. package/src/__tests__/lod-visibility-lifecycle.integration.test.ts +132 -0
  385. package/src/__tests__/ltc-resources.unit.test.ts +32 -0
  386. package/src/__tests__/material-contract-inventory.unit.test.ts +17 -0
  387. package/src/__tests__/material-observation.integration.test.ts +101 -0
  388. package/src/__tests__/occlusion-confidence.unit.test.ts +168 -0
  389. package/src/__tests__/occlusion-invalidation.integration.test.ts +37 -0
  390. package/src/__tests__/occlusion-pass-routing.unit.test.ts +16 -0
  391. package/src/__tests__/occlusion-pass.dawn.test.ts +20 -0
  392. package/src/__tests__/occlusion-pass.integration.test.ts +43 -0
  393. package/src/__tests__/occlusion-pass.rhi-null.test.ts +22 -0
  394. package/src/__tests__/occlusion-query-pool.rhi-null.test.ts +21 -0
  395. package/src/__tests__/occlusion-query-pool.unit.test.ts +95 -0
  396. package/src/__tests__/occlusion-query-ticket.integration.test.ts +47 -0
  397. package/src/__tests__/occlusion-query.dawn.test.ts +16 -0
  398. package/src/__tests__/occlusion-query.evidence.ts +178 -0
  399. package/src/__tests__/occlusion-query.rhi-null.test.ts +31 -0
  400. package/src/__tests__/occlusion-runtime.unit.test.ts +120 -0
  401. package/src/__tests__/pbr-view-layout.unit.test.ts +16 -0
  402. package/src/__tests__/point-shadow-inspection.unit.test.ts +60 -0
  403. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +196 -0
  404. package/src/__tests__/probe-bindings.unit.test.ts +200 -0
  405. package/src/__tests__/probe-blend-numeric.unit.test.ts +67 -0
  406. package/src/__tests__/probe-blend-oracle.unit.test.ts +136 -0
  407. package/src/__tests__/probe-capacity.integration.test.ts +97 -0
  408. package/src/__tests__/probe-recovery.integration.test.ts +104 -0
  409. package/src/__tests__/probe-scene-dirty.integration.test.ts +211 -0
  410. package/src/__tests__/profiler-phase-catalog.test.ts +4 -1
  411. package/src/__tests__/profiler-phase-token.test.ts +1 -0
  412. package/src/__tests__/public-surface.test-d.ts +10 -0
  413. package/src/__tests__/rect-area-boundary.unit.test.ts +24 -0
  414. package/src/__tests__/reflection-fallback-graph.unit.test.ts +67 -0
  415. package/src/__tests__/reflection-fallback-inspection.unit.test.ts +77 -0
  416. package/src/__tests__/reflection-fallback-lifecycle.integration.test.ts +21 -0
  417. package/src/__tests__/reflection-fallback-projection.unit.test.ts +90 -0
  418. package/src/__tests__/reflection-fallback-source.unit.test.ts +32 -0
  419. package/src/__tests__/reflection-probe-authoring.unit.test.ts +71 -0
  420. package/src/__tests__/reflection-probe-filter.unit.test.ts +54 -0
  421. package/src/__tests__/reflection-probe-ibl-topology.unit.test.ts +45 -0
  422. package/src/__tests__/reflection-probe-owner-placement.unit.test.ts +39 -0
  423. package/src/__tests__/reflection-probe-pass-encode.integration.test.ts +101 -0
  424. package/src/__tests__/reflection-probe-performance.perf.test.ts +60 -0
  425. package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +120 -0
  426. package/src/__tests__/reflection-probe-recovery.integration.test.ts +55 -0
  427. package/src/__tests__/reflection-probe-selection.unit.test.ts +46 -0
  428. package/src/__tests__/render-error-code-owner.test-d.ts +19 -3
  429. package/src/__tests__/render-feature-docs.unit.test.ts +12 -7
  430. package/src/__tests__/render-graph-fallback.integration.test.ts +24 -0
  431. package/src/__tests__/render-perf/extended-lighting.bench.test.ts +66 -0
  432. package/src/__tests__/render-scene-projection.unit.test.ts +447 -18
  433. package/src/__tests__/render-target-admission.unit.test.ts +80 -0
  434. package/src/__tests__/render-target-graph-projection.unit.test.ts +102 -0
  435. package/src/__tests__/render-target-inspection.unit.test.ts +52 -0
  436. package/src/__tests__/render-target-material-source.test-d.ts +30 -0
  437. package/src/__tests__/render-target-material-source.unit.test.ts +97 -0
  438. package/src/__tests__/render-target-owner-placement.unit.test.ts +203 -0
  439. package/src/__tests__/render-target-owner.unit.test.ts +122 -0
  440. package/src/__tests__/render-target-probe-soak.perf.test.ts +94 -0
  441. package/src/__tests__/render-target-public-schema.json +107 -0
  442. package/src/__tests__/render-target-public-schema.unit.test.ts +91 -0
  443. package/src/__tests__/render-target-public-surface.test-d.ts +83 -0
  444. package/src/__tests__/render-target-readback.integration.test.ts +90 -0
  445. package/src/__tests__/render-target-recovery.integration.test.ts +85 -0
  446. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +124 -0
  447. package/src/__tests__/renderer-lifecycle.integration.test.ts +14 -0
  448. package/src/__tests__/shader-stage-surface.unit.test.ts +19 -4
  449. package/src/__tests__/skin-motion-regression.unit.test.ts +154 -0
  450. package/src/__tests__/skinned-shadow-caster.test.ts +13 -4
  451. package/src/__tests__/spot-modifier-projection.unit.test.ts +70 -0
  452. package/src/__tests__/ssr-admission-matrix.integration.test.ts +206 -0
  453. package/src/__tests__/ssr-composition.unit.test.ts +46 -0
  454. package/src/__tests__/ssr-fallback-zero-work.bench.test.ts +94 -0
  455. package/src/__tests__/ssr-recovery-errors.unit.test.ts +58 -0
  456. package/src/__tests__/standard-cluster-capability.integration.test.ts +63 -0
  457. package/src/__tests__/standard-cluster-transport.unit.test.ts +121 -0
  458. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +299 -0
  459. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +15 -5
  460. package/src/__tests__/standard-lighting-inspection.integration.test.ts +138 -0
  461. package/src/__tests__/standard-lighting-ssot.unit.test.ts +18 -0
  462. package/src/__tests__/standard-lighting-write.unit.test.ts +441 -0
  463. package/src/__tests__/standard-lighting.integration.test.ts +67 -0
  464. package/src/__tests__/standard-pipeline.dawn.test.ts +206 -5
  465. package/src/__tests__/standard-pipeline.integration.test.ts +181 -150
  466. package/src/__tests__/standard-probe-binding.unit.test.ts +25 -0
  467. package/src/__tests__/standard-profile-oracle.unit.test.ts +23 -38
  468. package/src/__tests__/temporal-fallback-generation.integration.test.ts +16 -0
  469. package/src/__tests__/temporal-view.unit.test.ts +3 -3
  470. package/src/__tests__/transmission-prewarm.unit.test.ts +69 -0
  471. package/src/__tests__/typed-pipeline-topology.unit.test.ts +395 -14
  472. package/src/__tests__/urp-pipeline-targets.unit.test.ts +2 -2
  473. package/src/__tests__/visibility-budget.integration.test.ts +140 -0
  474. package/src/__tests__/visibility-budget.unit.test.ts +70 -0
  475. package/src/__tests__/visibility-extract.integration.test.ts +11 -6
  476. package/src/__tests__/visibility-resolver.unit.test.ts +15 -0
  477. package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +6 -3
  478. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +31 -28
  479. package/src/assembly/backend-contract.ts +13 -0
  480. package/src/assembly/device-feature-admission.ts +80 -0
  481. package/src/assembly/directional-shadow-inspection.ts +122 -0
  482. package/src/assembly/factory.ts +1411 -366
  483. package/src/assembly/host-contract.ts +35 -0
  484. package/src/assembly/render-target-host.ts +847 -0
  485. package/src/assets/asset-decoders.ts +1 -1
  486. package/src/assets/render-asset-port.ts +7 -1
  487. package/src/capture/cube-views.ts +69 -0
  488. package/src/capture/scheduler.ts +265 -0
  489. package/src/cluster-binner.ts +31 -0
  490. package/src/components/__tests__/lighting-authoring.unit.test.ts +39 -0
  491. package/src/components/__tests__/rect-area-light.unit.test.ts +33 -0
  492. package/src/components/__tests__/schema-contract.unit.test.ts +12 -0
  493. package/src/components/__tests__/schema-parity.unit.test.ts +9 -0
  494. package/src/components/camera.ts +4 -0
  495. package/src/components/cube-camera.ts +52 -0
  496. package/src/components/directional-light.ts +22 -2
  497. package/src/components/directional-shadow-filter.ts +57 -0
  498. package/src/components/index.ts +5 -0
  499. package/src/components/light-helpers.ts +133 -8
  500. package/src/components/light-probe.ts +13 -0
  501. package/src/components/rect-area-light.ts +15 -0
  502. package/src/components/reflection-probe.ts +49 -0
  503. package/src/components/scene-instance.ts +6 -0
  504. package/src/components/spot-light.ts +3 -0
  505. package/src/device/__tests__/extended-lighting-recovery.unit.test.ts +24 -0
  506. package/src/device/gpu-residency.ts +140 -9
  507. package/src/device/lifecycle-transaction.ts +12 -0
  508. package/src/environment/frame.ts +6 -24
  509. package/src/environment/lifecycle.ts +20 -1
  510. package/src/errors/gpu-driven.ts +92 -0
  511. package/src/errors/index.ts +1 -0
  512. package/src/errors/recover.ts +32 -0
  513. package/src/errors/render.ts +341 -143
  514. package/src/extract/camera.ts +3 -3
  515. package/src/extract/directional-shadow-projection.ts +61 -0
  516. package/src/extract/environment.ts +57 -0
  517. package/src/extract/gpu-driven.ts +108 -0
  518. package/src/extract/visibility.ts +2 -1
  519. package/src/features/fullscreen.ts +3 -0
  520. package/src/features/targets.ts +4 -1
  521. package/src/features/types.ts +10 -0
  522. package/src/fullscreen-post-process-pass.ts +43 -2
  523. package/src/gpu-driven/batch-topology.ts +207 -28
  524. package/src/gpu-driven/prepared-draw.ts +208 -0
  525. package/src/gpu-driven/production-raster.ts +953 -43
  526. package/src/gpu-driven/view-gpu.ts +411 -29
  527. package/src/gpu-scene-schema.ts +13 -0
  528. package/src/gpu-scene.ts +140 -64
  529. package/src/gpu-usage.ts +0 -1
  530. package/src/hdrp-buffers.ts +169 -63
  531. package/src/ibl/IblPipelineCache.ts +11 -0
  532. package/src/ibl/kernel-cache.ts +88 -0
  533. package/src/index.ts +222 -0
  534. package/src/inspection-types.ts +276 -1
  535. package/src/instances-derived-bounds.ts +171 -0
  536. package/src/internal.ts +38 -0
  537. package/src/light-buffer-layout.ts +155 -310
  538. package/src/materials.ts +16 -2
  539. package/src/mesh-material-bindings.ts +132 -0
  540. package/src/pbr-pipeline.ts +255 -60
  541. package/src/pipeline/standard-forward-lane.ts +93 -16
  542. package/src/pipeline/standard-lighting/errors.ts +6 -0
  543. package/src/pipeline/standard-lighting/graph.ts +158 -0
  544. package/src/pipeline/standard-lighting/inspection.ts +88 -0
  545. package/src/pipeline/standard-lighting/layout.ts +31 -0
  546. package/src/pipeline/standard-lighting/light-frame.ts +35 -0
  547. package/src/pipeline/standard-lighting/membership.ts +43 -0
  548. package/src/pipeline/standard-lighting/prepare.ts +37 -0
  549. package/src/pipeline/standard-lighting/topology.ts +120 -0
  550. package/src/pipeline/standard-lighting/transport.ts +78 -0
  551. package/src/pipeline/standard-pipeline.ts +124 -193
  552. package/src/pipeline/standard-post.ts +26 -7
  553. package/src/pipeline/standard-profile.ts +17 -47
  554. package/src/pipeline-builder.ts +5 -2
  555. package/src/pipeline-spec.ts +95 -21
  556. package/src/plugin.ts +4 -0
  557. package/src/point-shadow-inspection.ts +55 -0
  558. package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +56 -0
  559. package/src/prepare/extended-lighting/ltc-resources.ts +136 -0
  560. package/src/prepare/extended-lighting/resources.ts +389 -0
  561. package/src/prepare/extended-lighting/spot-modifiers.ts +194 -0
  562. package/src/prepare/extended-lighting/state.ts +92 -0
  563. package/src/record/__tests__/gpu-timing.unit.test.ts +177 -0
  564. package/src/record/__tests__/temporal-payload.unit.test.ts +64 -1
  565. package/src/record/__tests__/transparent-group2-selection.unit.test.ts +73 -0
  566. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +20 -1
  567. package/src/record/__tests__/view-ubo-layout.unit.test.ts +40 -0
  568. package/src/record/frame-lighting.ts +591 -452
  569. package/src/record/frame-snapshot.ts +92 -39
  570. package/src/record/frame-targets.ts +17 -0
  571. package/src/record/frame.ts +662 -158
  572. package/src/record/gpu-pass-timing/contract.ts +180 -0
  573. package/src/record/gpu-pass-timing/errors.ts +34 -0
  574. package/src/record/gpu-pass-timing/index.ts +37 -0
  575. package/src/record/gpu-pass-timing/parser.ts +97 -0
  576. package/src/record/gpu-pass-timing/session.ts +938 -0
  577. package/src/record/gpu-timing.ts +112 -39
  578. package/src/record/helpers.ts +0 -58
  579. package/src/record/main-pass-geometry.ts +324 -119
  580. package/src/record/main-pass-material.ts +103 -10
  581. package/src/record/main-pass-sprite-draws.ts +99 -103
  582. package/src/record/main-pass.ts +71 -15
  583. package/src/record/mesh-ssbo.ts +47 -36
  584. package/src/record/render-context.ts +136 -3
  585. package/src/record/shadow-pass.ts +83 -68
  586. package/src/record/skybox-post-pass.ts +20 -4
  587. package/src/record/typed-frame-graph.ts +1034 -43
  588. package/src/record/view-ubo.ts +72 -47
  589. package/src/reflection/filter.ts +81 -0
  590. package/src/reflection/gpu-table.ts +44 -0
  591. package/src/reflection/inspection.ts +67 -0
  592. package/src/reflection/projection.ts +476 -0
  593. package/src/reflection/record-owner.ts +1283 -0
  594. package/src/render-contract.ts +93 -10
  595. package/src/render-graph-primitives.ts +9 -4
  596. package/src/render-pipeline.ts +122 -2
  597. package/src/render-system-extract.ts +1041 -225
  598. package/src/render-system.ts +1310 -85
  599. package/src/renderer.ts +222 -0
  600. package/src/scene/__tests__/changed-block-summary.candidate.test.ts +36 -0
  601. package/src/scene/probe-blend-record.ts +54 -0
  602. package/src/scene/probe-blend.ts +813 -0
  603. package/src/scene/render-scene-types.ts +0 -7
  604. package/src/scene/render-scene.ts +942 -171
  605. package/src/scene/visibility/bounds.ts +57 -0
  606. package/src/scene/visibility/budget.ts +40 -0
  607. package/src/scene/visibility/facet.ts +400 -0
  608. package/src/scene/visibility/gpu-frame-timing.ts +101 -0
  609. package/src/scene/visibility/gpu-lod.ts +119 -0
  610. package/src/scene/visibility/inspection.ts +313 -0
  611. package/src/scene/visibility/lod-selector.ts +84 -0
  612. package/src/scene/visibility/occlusion-confidence.ts +478 -0
  613. package/src/scene/visibility/occlusion-pass.ts +165 -0
  614. package/src/scene/visibility/occlusion-query-pool.ts +178 -0
  615. package/src/scene/visibility/occlusion-runtime.ts +672 -0
  616. package/src/scene/visibility/types.ts +50 -0
  617. package/src/shadow-atlas.ts +5 -5
  618. package/src/ssao-buffers.ts +9 -2
  619. package/src/ssr/admission.ts +451 -0
  620. package/src/ssr/composition.ts +73 -0
  621. package/src/ssr/errors.ts +76 -0
  622. package/src/ssr/identity.ts +12 -0
  623. package/src/systems/skin-palette-allocator.ts +1 -1
  624. package/src/targets/contracts.ts +182 -0
  625. package/src/targets/graph-projection.ts +169 -0
  626. package/src/targets/material-source.ts +143 -0
  627. package/src/targets/owner.ts +214 -0
  628. package/src/targets/physical.ts +18 -0
  629. package/src/targets/readback.ts +153 -0
  630. package/src/temporal/frame-coordinator.ts +26 -0
  631. package/src/temporal/frame.ts +14 -1
  632. package/src/temporal/view.ts +11 -0
  633. package/src/tilemap-chunk-extract-system.ts +4 -4
  634. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +59 -20
  635. package/src/typed-render-graph-primitives.ts +53 -3
  636. package/src/typed-shadow-passes.ts +46 -40
  637. package/src/volume/passes.ts +61 -58
  638. package/dist/.tsbuildinfo +0 -1
  639. package/dist/chunk-4XINDLAY.mjs.map +0 -1
  640. package/dist/chunk-CDTWTHZR.mjs.map +0 -1
  641. package/dist/chunk-M2MP4ZOU.mjs +0 -73
  642. package/dist/chunk-M2MP4ZOU.mjs.map +0 -1
  643. package/dist/chunk-PCHBPYML.mjs.map +0 -1
  644. package/dist/chunk-TBQJOK2L.mjs.map +0 -1
  645. package/dist/chunk-VFPLTKCU.mjs.map +0 -1
@@ -87,6 +87,13 @@ export interface MeshGpuHandles {
87
87
  * For single-submesh meshes this is a 1-element array (byte-identical to pre-M4).
88
88
  */
89
89
  readonly submeshes: readonly import('@forgeax/engine-types').Submesh[];
90
+ /** Packed root + lower-detail geometry ranges in the shared mesh buffers. */
91
+ readonly lodRanges?: readonly (readonly MeshGpuRange[])[];
92
+ }
93
+ export interface MeshGpuRange {
94
+ readonly first: number;
95
+ readonly count: number;
96
+ readonly baseVertex: number;
90
97
  }
91
98
  /**
92
99
  * GPU residency store. Owns the per-handle GPU caches and the upload
@@ -287,7 +294,7 @@ export declare class GpuResidencyCache {
287
294
  * (`_uploadCubemapFromEquirect`). Builtin meshes are NOT routed here either
288
295
  * (createRenderer step-3 owns them; D-1).
289
296
  */
290
- ensureResident(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number): Result<MeshGpuHandles, RhiError | AssetError | ImageError>;
297
+ ensureResident(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number, lodMeshes?: readonly TypesMeshAsset[]): Result<MeshGpuHandles, RhiError | AssetError | ImageError>;
291
298
  ensureResident(handle: Handle<'TextureAsset', 'shared'>, pod: TextureAsset, worldId?: World | number): Result<TextureGpuEntry, RhiError | AssetError | ImageError>;
292
299
  /**
293
300
  * Eager public surface: upload decoded image bytes into a GPU texture and
@@ -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 +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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"}
@@ -24,6 +24,11 @@ export declare class EnvironmentLifecycle {
24
24
  isActive(generation: EnvironmentGeneration): boolean;
25
25
  discard(generation: EnvironmentGeneration): void;
26
26
  recordCandidateFailure(error: EnvironmentGenerationFailedError): void;
27
+ /** Retain a structured authoring failure while the active/LKG frame stays live. */
28
+ recordSelectionFailure(error: {
29
+ readonly code: string;
30
+ readonly detail: Readonly<Record<string, unknown>>;
31
+ }): void;
27
32
  recordStageFailure(stage: EnvironmentInspectionFailure['stage'], generation: EnvironmentGeneration): void;
28
33
  ensure(frame: EnvironmentFrame, laneOrFailure?: 'direct' | 'clustered' | EnvironmentGenerationFailure): Result<EnvironmentGeneration, EnvironmentGenerationFailedError>;
29
34
  publish(generation: EnvironmentGeneration): void;
@@ -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,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":"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;IAQpD,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;IAmDlE,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"}
@@ -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,13 @@
1
1
  import type { DeviceScopeReceipt } from '../device/resource-types';
2
+ import type { ReflectionFallbackRecoveryAction } from '../inspection-types';
3
+ import type { SsrAdmissionError, SsrOwnerRecoveryAction } from '../ssr/errors';
4
+ export type { ReflectionFallbackRecoveryAction } from '../inspection-types';
5
+ export declare function reflectionFallbackRecoveryAction(source: 'probe' | 'skylight' | 'neutral', hasLastKnownGood: boolean): ReflectionFallbackRecoveryAction;
6
+ /**
7
+ * Maps a detached admission failure to the owning producer action. This is
8
+ * an instruction projection only; SSR never performs the recovery itself.
9
+ */
10
+ export declare function ssrAdmissionRecoveryAction(error: SsrAdmissionError): SsrOwnerRecoveryAction;
2
11
  /**
3
12
  * Closed union of recover() error codes.
4
13
  *
@@ -101,5 +110,4 @@ export declare class IblCapabilityLossError extends Error {
101
110
  readonly detail: IblCapabilityLossDetail;
102
111
  constructor(lastKnownGood: string);
103
112
  }
104
- export {};
105
113
  //# 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":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE/E,YAAY,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,EACxC,gBAAgB,EAAE,OAAO,GACxB,gCAAgC,CAIlC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB,CAa3F;AAID;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -36,6 +36,31 @@ export type RenderSurfaceExpectedError = {
36
36
  }[SurfaceFailureCode];
37
37
  /** Construct the closed surface error from its failure-stage discriminant. */
38
38
  export declare function createRenderSurfaceError(kind: SurfaceFailureKind, detail: RenderSurfaceFailureDetail): RenderSurfaceExpectedError;
39
+ export type LightResourceFailureReason = 'asset' | 'format' | 'capability' | 'capacity';
40
+ export interface LightResourceUnavailableDetail {
41
+ readonly entity: number;
42
+ readonly feature: 'ies' | 'cookie' | 'probe';
43
+ readonly generation: number;
44
+ readonly sourceKey: string;
45
+ readonly reason: LightResourceFailureReason;
46
+ }
47
+ export declare class LightResourceUnavailableError extends Error {
48
+ readonly code: "light-resource-unavailable";
49
+ readonly expected: string;
50
+ readonly hint: string;
51
+ readonly detail: LightResourceUnavailableDetail;
52
+ constructor(detail: LightResourceUnavailableDetail, expected: string, actual: string, hint: string);
53
+ }
54
+ export declare function createLightResourceUnavailable(input: {
55
+ readonly entity: number;
56
+ readonly feature: LightResourceUnavailableDetail['feature'];
57
+ readonly generation: number;
58
+ readonly sourceKey: string;
59
+ readonly reason: LightResourceFailureReason;
60
+ readonly expected: string;
61
+ readonly actual: string;
62
+ readonly hint: string;
63
+ }): LightResourceUnavailableError;
39
64
  export interface TemporalFrameSubmitDetail {
40
65
  readonly reason: 'queue-submit-failed';
41
66
  }
@@ -49,55 +74,46 @@ export declare class TemporalFrameSubmitError extends Error {
49
74
  /**
50
75
  * Detail for `RuntimeErrorCode 'shadow-invalid-config'`.
51
76
  *
52
- * Emitted by `DirectionalLight.validate` shadow-field path when a field value violates
53
- * runtime constraints (e.g. mapSize < 1, cascadeCount not in {1..4}).
54
- * AI users access `.detail.field` / `.detail.value` / `.detail.min` /
55
- * `.detail.max` via property access — no string parsing.
56
- *
57
- * `max` is `undefined` for lower-bound-only validations (e.g. mapSize < 1).
58
- * feat-20260613-csm: max added for upper-bound cascade validations
59
- * (cascadeCount max=4, splitLambda max=1, cascadeBlend max=0.5).
77
+ * The four fields are the only recovery surface: AI users read the invalid
78
+ * field, actual value, structured bound, and reason without parsing prose.
60
79
  */
80
+ export type ShadowInvalidConfigBound = {
81
+ readonly kind: 'range';
82
+ readonly min: number;
83
+ readonly max: number;
84
+ } | {
85
+ readonly kind: 'lower-bound';
86
+ readonly operator: '>' | '>=';
87
+ readonly value: number;
88
+ } | {
89
+ readonly kind: 'allowed-values';
90
+ readonly values: readonly number[];
91
+ };
61
92
  export interface ShadowInvalidConfigDetail {
62
93
  readonly field: string;
63
- readonly value: number;
64
- readonly min: number;
65
- readonly max?: number;
94
+ readonly actual: number;
95
+ readonly bound: ShadowInvalidConfigBound;
96
+ readonly reason: string;
66
97
  }
67
98
  /**
68
99
  * Structured error for shadow component config validation failures.
69
100
  *
70
- * Emitted by `DirectionalLight.validate()` shadow-field path (mapSize / cascadeCount /
71
- * splitLambda / cascadeBlend / shadowDistance) and `PointLightShadow.validate()`
72
- * (mapSize / farPlane > nearPlane / pcfKernelSize); both shadow component
73
- * types share this single error class so `switch (err.code)` on
74
- * `RuntimeErrorCode` only needs one branch (charter P4 — closed-union SSOT).
75
- * Four-field surface per AGENTS.md error model:
101
+ * Emitted by Directional, Point, and Spot shadow validation. All three
102
+ * component owners share this error class so `switch (err.code)` on
103
+ * `RuntimeErrorCode` needs one branch (charter P4 closed-union SSOT).
104
+ * Four-field surface:
76
105
  * - `.code = 'shadow-invalid-config'` (closed RuntimeErrorCode)
77
106
  * - `.expected` — expected-state description (programmatic predicate form)
78
107
  * - `.hint` — actionable recovery guidance (imperative; AI users paste into
79
- * spawn calls). Integer-typed fields (e.g. `cascadeCount`, `pcfKernelSize`)
80
- * get an "integer in [min, max]" hint; otherwise "[min, max]" range or
81
- * "<comparator> min".
82
- * - `.detail = { field, value, min, max? }` — structured values (charter P4)
83
- *
84
- * 4th constructor parameter is a union over the two range shapes:
85
- * - `number` — `max` for a closed `[min, max]` range (CSM cascadeCount /
86
- * splitLambda / cascadeBlend). hint uses "in [min, max]"; integer-typed
87
- * fields get "integer in [min, max]".
88
- * - `'>' | '>='` — comparator for an open lower-bound predicate. `'>'` is
89
- * used when `min` carries dynamic context (e.g. `farPlane > nearPlane` —
90
- * the surfaced hint reads "must be > nearPlane" so AI users setting
91
- * farPlane=nearPlane don't re-fail the spawn loop with the wrong cue).
92
- * - `undefined` — defaults to `'>='`. Callsites for mapSize < 1 validation
93
- * stay backward-compatible (3-arg form).
108
+ * spawn calls).
109
+ * - `.detail = { field, actual, bound, reason }` structured values.
94
110
  */
95
111
  export declare class ShadowInvalidConfigError extends Error {
96
112
  readonly code: "shadow-invalid-config";
97
113
  readonly expected: string;
98
114
  readonly hint: string;
99
115
  readonly detail: ShadowInvalidConfigDetail;
100
- constructor(field: string, value: number, min: number, maxOrComparator?: number | '>' | '>=');
116
+ constructor(field: string, actual: number, minOrBound: number | ShadowInvalidConfigBound, maxOrComparator?: number | '>' | '>=', reason?: string);
101
117
  }
102
118
  /**
103
119
  * Detail for `RuntimeErrorCode 'equirect-projection-failed'`.
@@ -133,87 +149,67 @@ export declare class EquirectProjectionFailedError extends Error {
133
149
  readonly detail: EquirectProjectionFailedDetail;
134
150
  constructor(handle: number);
135
151
  }
136
- /**
137
- * Detail for `RuntimeErrorCode 'hdrp-light-budget-exceeded'`.
138
- *
139
- * Emitted per-frame (once-per-frame fire) when light count exceeds HDRP budget.
140
- */
141
- export interface HdrpLightBudgetExceededDetail {
152
+ /** The finite local-light budget that a Standard frame agreed to admit. */
153
+ export interface StandardLightBudgetExceededDetail {
142
154
  readonly actual: number;
143
155
  readonly budget: number;
144
156
  }
145
157
  /**
146
- * Structured error for HDRP light budget exceeded (AC-06/AC-07).
147
- *
148
- * Emitted per-frame in recordFrame when the total punctual light count
149
- * exceeds the HDRP budget (256). Fail-soft: fire once per frame, truncate to 256.
150
- * - `.code = 'hdrp-light-budget-exceeded'` (closed RuntimeErrorCode)
151
- * - `.expected` — 'light count <= 256'
152
- * - `.hint` — 'reduce world light count or increase budget (OOS-hdrp-larger-budget)'
153
- * - `.detail = { actual, budget }`
158
+ * Structured refusal for a Standard frame whose finite local-light set is
159
+ * outside the selected profile budget. The frame is rejected as a whole; the
160
+ * record owner must not slice the input or submit a partial membership set.
154
161
  */
155
- export declare class HdrpLightBudgetExceededError extends Error {
156
- readonly code: "hdrp-light-budget-exceeded";
162
+ export declare class StandardLightBudgetExceededError extends Error {
163
+ readonly code: "standard-light-budget-exceeded";
157
164
  readonly expected: string;
158
165
  readonly hint: string;
159
- readonly detail: HdrpLightBudgetExceededDetail;
166
+ readonly detail: StandardLightBudgetExceededDetail;
160
167
  constructor(actual: number, budget: number);
161
168
  }
162
- /**
163
- * Detail for `RuntimeErrorCode 'hdrp-index-list-overflow'`.
164
- *
165
- * Emitted per-frame (once-per-frame fire) when the cluster binner overflows
166
- * the light index list capacity (65536). Upgraded from ClusterBinError.
167
- */
168
- export interface HdrpIndexListOverflowDetail {
169
+ /** Cluster membership entries that could not fit the single shared index list. */
170
+ export interface StandardClusterIndexOverflowDetail {
169
171
  readonly actual: number;
170
172
  readonly capacity: number;
171
173
  }
172
174
  /**
173
- * Structured error for HDRP cluster binner index list overflow (AC-24).
174
- *
175
- * Emitted per-frame in recordFrame when the CPU binner returns
176
- * `ClusterBinError('index-overflow')`. Fail-soft: fire once per frame,
177
- * continue rendering with what fit.
178
- * - `.code = 'hdrp-index-list-overflow'` (closed RuntimeErrorCode)
179
- * - `.expected` — 'light index list entries <= 65536'
180
- * - `.hint` — 'reduce lights, shrink cluster grid, or increase capacity'
181
- * - `.detail = { actual, capacity }`
175
+ * Structured refusal for a membership producer that exceeded the shared
176
+ * Cluster index-list capacity. No truncated list is uploaded and no graph is
177
+ * submitted for the rejected frame.
182
178
  */
183
- export declare class HdrpIndexListOverflowError extends Error {
184
- readonly code: "hdrp-index-list-overflow";
179
+ export declare class StandardClusterIndexOverflowError extends Error {
180
+ readonly code: "standard-cluster-index-overflow";
185
181
  readonly expected: string;
186
182
  readonly hint: string;
187
- readonly detail: HdrpIndexListOverflowDetail;
183
+ readonly detail: StandardClusterIndexOverflowDetail;
188
184
  constructor(actual: number, capacity: number);
189
185
  }
190
- /**
191
- * Detail for `RuntimeErrorCode 'hdrp-deferred-caps-insufficient'`.
192
- *
193
- * Emitted when the Standard clustered lane has fewer than 4 color attachments,
194
- * meaning the deferred path cannot allocate 3 g-buffer color targets + depth.
195
- */
196
- export interface HdrpDeferredCapsInsufficientDetail {
197
- readonly actual: number;
198
- readonly expected: number;
186
+ export interface StandardClusterTransportUnavailableDetail {
187
+ readonly requested: number;
188
+ readonly admitted: 0;
199
189
  }
200
190
  /**
201
- * Structured error for deferred-path capability gate failure.
202
- *
203
- * Emitted during Standard clustered lane validation synchronous throw.
204
- * - `.code = 'hdrp-deferred-caps-insufficient'` (closed RuntimeErrorCode)
205
- * - `.expected` — 'maxColorAttachments >= 4'
206
- * - `.hint` — actionable guidance to upgrade browser or select URP
207
- * - `.detail = { actual, expected }`
208
- *
209
- * @see plan-strategy D-5 (capability validation, no silent fallback)
191
+ * Structured capability refusal. Standard never turns an unproven transport
192
+ * into a smaller direct-light lane; the caller receives the exact requested
193
+ * local-light count and an admitted count of zero.
210
194
  */
211
- export declare class HdrpDeferredCapsInsufficientError extends Error {
212
- readonly code: "hdrp-deferred-caps-insufficient";
195
+ export declare class StandardClusterTransportUnavailableError extends Error {
196
+ readonly code: "standard-cluster-transport-unavailable";
197
+ readonly expected = "all requested local lights have a proven Cluster transport";
198
+ readonly hint: string;
199
+ readonly detail: StandardClusterTransportUnavailableDetail;
200
+ constructor(requested: number, hint?: string);
201
+ }
202
+ export interface StandardProfileInvalidDetail {
203
+ readonly field: string;
204
+ readonly actual: unknown;
205
+ }
206
+ /** Structured validation failure for the single Standard profile surface. */
207
+ export declare class StandardProfileInvalidError extends Error {
208
+ readonly code: "standard-profile-invalid";
213
209
  readonly expected: string;
214
210
  readonly hint: string;
215
- readonly detail: HdrpDeferredCapsInsufficientDetail;
216
- constructor(actual: number);
211
+ readonly detail: StandardProfileInvalidDetail;
212
+ constructor(message: string, detail?: StandardProfileInvalidDetail);
217
213
  }
218
214
  /**
219
215
  * Structured error for `ShadowAtlas.faceView` called before `ensure()`
@@ -252,7 +248,7 @@ export interface PointShadowAtlasBoundsViolationDetail {
252
248
  * - `.code = 'point-shadow-atlas-bounds-violation'`
253
249
  * - `.expected` — `0 <= layer < layers && 0 <= face < 6`
254
250
  * - `.hint` — clamp `shadowAtlasLayer` or face index before calling
255
- * `faceView`; the cap on layers is `PointLightShadow` cardinality (4)
251
+ * `faceView`; the layer cap is the renderer-owned ShadowAtlas capacity
256
252
  * - `.detail = { axis, value, max }` — discriminates layer vs face
257
253
  */
258
254
  export declare class PointShadowAtlasBoundsViolationError extends Error {
@@ -837,6 +833,83 @@ export declare class PointsLinesPrepareFailedError extends Error {
837
833
  readonly detail: PointsLinesPrepareFailedDetail;
838
834
  constructor(detail: PointsLinesPrepareFailedDetail);
839
835
  }
836
+ export interface RenderTargetDescriptorInvalidDetail {
837
+ readonly field: string;
838
+ readonly value: unknown;
839
+ readonly expected: string;
840
+ }
841
+ export declare class RenderTargetDescriptorInvalidError extends Error {
842
+ readonly code: "render-target-descriptor-invalid";
843
+ readonly expected: string;
844
+ readonly hint: string;
845
+ readonly detail: RenderTargetDescriptorInvalidDetail;
846
+ constructor(detail: RenderTargetDescriptorInvalidDetail);
847
+ }
848
+ export interface RenderTargetCapabilityMissingDetail {
849
+ readonly operation: 'create' | 'resize' | 'source' | 'readback';
850
+ readonly requested: string;
851
+ readonly capability: string;
852
+ readonly actual: string;
853
+ }
854
+ export declare class RenderTargetCapabilityMissingError extends Error {
855
+ readonly code: "render-target-capability-missing";
856
+ readonly expected: string;
857
+ readonly hint: string;
858
+ readonly detail: RenderTargetCapabilityMissingDetail;
859
+ constructor(detail: RenderTargetCapabilityMissingDetail);
860
+ }
861
+ export type RenderTargetStateInvalidReason = 'foreign-renderer' | 'destroyed' | 'uninitialized' | 'generation-mismatch' | 'readback-without-intent';
862
+ export interface RenderTargetStateInvalidDetail {
863
+ readonly operation: 'inspect' | 'resize' | 'source' | 'readback' | 'destroy';
864
+ readonly reason: RenderTargetStateInvalidReason;
865
+ readonly state: 'uninitialized' | 'candidate' | 'active' | 'rebuilding' | 'destroyed';
866
+ readonly generation: number;
867
+ }
868
+ export declare class RenderTargetStateInvalidError extends Error {
869
+ readonly code: "render-target-state-invalid";
870
+ readonly expected: string;
871
+ readonly hint: string;
872
+ readonly detail: RenderTargetStateInvalidDetail;
873
+ constructor(detail: RenderTargetStateInvalidDetail);
874
+ }
875
+ export interface RenderTargetOperationFailedDetail {
876
+ readonly operation: 'create' | 'resize' | 'source' | 'readback' | 'destroy' | 'recover';
877
+ readonly stage: 'allocation' | 'compile' | 'write' | 'submit' | 'copy' | 'retire';
878
+ readonly generation: number;
879
+ readonly cause: unknown;
880
+ readonly recovery: 'retry' | 'recover' | 'retain-last-known-good';
881
+ }
882
+ export declare class RenderTargetOperationFailedError extends Error {
883
+ readonly code: "render-target-operation-failed";
884
+ readonly expected: string;
885
+ readonly hint: string;
886
+ readonly detail: RenderTargetOperationFailedDetail;
887
+ constructor(detail: RenderTargetOperationFailedDetail);
888
+ }
889
+ export interface ReflectionProbeBudgetExceededDetail {
890
+ readonly actual: number;
891
+ readonly budget: number;
892
+ }
893
+ export declare class ReflectionProbeBudgetExceededError extends Error {
894
+ readonly code: "reflection-probe-budget-exceeded";
895
+ readonly expected: string;
896
+ readonly hint: string;
897
+ readonly detail: ReflectionProbeBudgetExceededDetail;
898
+ constructor(actual: number, budget: number);
899
+ }
900
+ export interface RenderIntentInvalidDetail {
901
+ readonly component: 'CubeCamera' | 'ReflectionProbe';
902
+ readonly field: 'updateIntent';
903
+ readonly value: number;
904
+ readonly allowed: readonly [0, 1, 2];
905
+ }
906
+ export declare class RenderIntentInvalidError extends Error {
907
+ readonly code: "render-intent-invalid";
908
+ readonly expected: string;
909
+ readonly hint: string;
910
+ readonly detail: RenderIntentInvalidDetail;
911
+ constructor(component: RenderIntentInvalidDetail['component'], value: number);
912
+ }
840
913
  export interface VolumeOwnerConflictDetail {
841
914
  readonly ownerCount: number;
842
915
  }
@@ -904,5 +977,5 @@ export type RenderErrorCode = RenderError['code'];
904
977
  * Closed union of the render-cluster structured error classes, each carrying a
905
978
  * `RenderErrorCode` discriminant on `.code`.
906
979
  */
907
- export type RenderError = LifecycleConstructionError | RendererExpectedOperationError | FrameReceiptStaleError | RendererContractFailureError | ObservationUnavailableError | SceneDataUnavailableError | TaaUnavailableError | ShadowInvalidConfigError | EquirectProjectionFailedError | HdrpLightBudgetExceededError | HdrpIndexListOverflowError | HdrpDeferredCapsInsufficientError | 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 | ProjectorBindingError | VolumeError;
980
+ 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;
908
981
  //# sourceMappingURL=render.d.ts.map