@forgeax/engine-render 0.1.21 → 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 (426) hide show
  1. package/README.md +150 -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.map +1 -1
  5. package/dist/assembly/factory.d.ts +14 -6
  6. package/dist/assembly/factory.d.ts.map +1 -1
  7. package/dist/assembly/host-contract.d.ts +10 -0
  8. package/dist/assembly/host-contract.d.ts.map +1 -1
  9. package/dist/authoring.mjs +1 -1
  10. package/dist/{chunk-PCHBPYML.mjs → chunk-4L3P6DT5.mjs} +2 -2
  11. package/dist/chunk-4L3P6DT5.mjs.map +1 -0
  12. package/dist/{chunk-VFPLTKCU.mjs → chunk-4NPUASZR.mjs} +15 -4
  13. package/dist/chunk-4NPUASZR.mjs.map +1 -0
  14. package/dist/chunk-DIYW3M5D.mjs +5085 -0
  15. package/dist/chunk-DIYW3M5D.mjs.map +1 -0
  16. package/dist/chunk-FBC4R44J.mjs +1003 -0
  17. package/dist/chunk-FBC4R44J.mjs.map +1 -0
  18. package/dist/{chunk-FS2KNUQH.mjs → chunk-FF7K3FSO.mjs} +253 -489
  19. package/dist/chunk-FF7K3FSO.mjs.map +1 -0
  20. package/dist/chunk-HZUPSYW7.mjs +1104 -0
  21. package/dist/chunk-HZUPSYW7.mjs.map +1 -0
  22. package/dist/{chunk-6OPXDQ2E.mjs → chunk-QODA5UKU.mjs} +33 -294
  23. package/dist/chunk-QODA5UKU.mjs.map +1 -0
  24. package/dist/chunk-YALPS44A.mjs +296 -0
  25. package/dist/chunk-YALPS44A.mjs.map +1 -0
  26. package/dist/{chunk-5YADUCA7.mjs → chunk-ZUWKAZ2I.mjs} +585 -991
  27. package/dist/chunk-ZUWKAZ2I.mjs.map +1 -0
  28. package/dist/cluster-binner.d.ts +5 -0
  29. package/dist/cluster-binner.d.ts.map +1 -1
  30. package/dist/components/index.d.ts +3 -0
  31. package/dist/components/index.d.ts.map +1 -1
  32. package/dist/components/light-helpers.d.ts +4 -0
  33. package/dist/components/light-helpers.d.ts.map +1 -1
  34. package/dist/components/light-probe.d.ts +9 -0
  35. package/dist/components/light-probe.d.ts.map +1 -0
  36. package/dist/components/rect-area-light.d.ts +12 -0
  37. package/dist/components/rect-area-light.d.ts.map +1 -0
  38. package/dist/components/scene-instance.d.ts +4 -0
  39. package/dist/components/scene-instance.d.ts.map +1 -1
  40. package/dist/components/spot-light.d.ts +3 -0
  41. package/dist/components/spot-light.d.ts.map +1 -1
  42. package/dist/construct-renderer.mjs +10437 -10044
  43. package/dist/construct-renderer.mjs.map +1 -1
  44. package/dist/device/gpu-residency.d.ts +8 -1
  45. package/dist/device/gpu-residency.d.ts.map +1 -1
  46. package/dist/device/lifecycle-transaction.d.ts +2 -0
  47. package/dist/device/lifecycle-transaction.d.ts.map +1 -0
  48. package/dist/environment/lifecycle.d.ts.map +1 -1
  49. package/dist/errors/gpu-driven.d.ts +26 -0
  50. package/dist/errors/gpu-driven.d.ts.map +1 -0
  51. package/dist/errors/index.d.ts +1 -0
  52. package/dist/errors/index.d.ts.map +1 -1
  53. package/dist/errors/recover.d.ts +9 -1
  54. package/dist/errors/recover.d.ts.map +1 -1
  55. package/dist/errors/render.d.ts +26 -1
  56. package/dist/errors/render.d.ts.map +1 -1
  57. package/dist/extract/gpu-driven.d.ts +50 -0
  58. package/dist/extract/gpu-driven.d.ts.map +1 -0
  59. package/dist/extract/visibility.d.ts.map +1 -1
  60. package/dist/gpu-driven/batch-topology.d.ts +34 -0
  61. package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
  62. package/dist/gpu-driven/prepared-draw.d.ts +63 -0
  63. package/dist/gpu-driven/prepared-draw.d.ts.map +1 -0
  64. package/dist/gpu-driven/production-raster.d.ts +98 -2
  65. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  66. package/dist/gpu-driven/view-gpu.d.ts +64 -1
  67. package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
  68. package/dist/gpu-scene-schema.d.ts +14 -0
  69. package/dist/gpu-scene-schema.d.ts.map +1 -1
  70. package/dist/gpu-scene.d.ts +8 -1
  71. package/dist/gpu-scene.d.ts.map +1 -1
  72. package/dist/gpu-usage.d.ts +0 -1
  73. package/dist/gpu-usage.d.ts.map +1 -1
  74. package/dist/hdrp-buffers.d.ts +3 -3
  75. package/dist/hdrp-buffers.d.ts.map +1 -1
  76. package/dist/index.d.ts +12 -1
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.mjs +90 -5
  79. package/dist/index.mjs.map +1 -1
  80. package/dist/inspection-types.d.ts +163 -1
  81. package/dist/inspection-types.d.ts.map +1 -1
  82. package/dist/internal.d.ts +9 -0
  83. package/dist/internal.d.ts.map +1 -1
  84. package/dist/internal.mjs +23 -2
  85. package/dist/internal.mjs.map +1 -1
  86. package/dist/light-buffer-layout.d.ts +58 -149
  87. package/dist/light-buffer-layout.d.ts.map +1 -1
  88. package/dist/materials.d.ts.map +1 -1
  89. package/dist/pbr-pipeline.d.ts +26 -12
  90. package/dist/pbr-pipeline.d.ts.map +1 -1
  91. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
  92. package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -1
  93. package/dist/pipeline/standard-lighting/light-frame.d.ts +3 -3
  94. package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -1
  95. package/dist/pipeline/standard-lighting/topology.d.ts +1 -1
  96. package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -1
  97. package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -1
  98. package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
  99. package/dist/pipeline-builder.d.ts +2 -0
  100. package/dist/pipeline-builder.d.ts.map +1 -1
  101. package/dist/pipeline-spec.d.ts +1 -1
  102. package/dist/pipeline-spec.d.ts.map +1 -1
  103. package/dist/plugin.d.ts.map +1 -1
  104. package/dist/prepare/extended-lighting/ltc-resources.d.ts +31 -0
  105. package/dist/prepare/extended-lighting/ltc-resources.d.ts.map +1 -0
  106. package/dist/prepare/extended-lighting/resources.d.ts +72 -0
  107. package/dist/prepare/extended-lighting/resources.d.ts.map +1 -0
  108. package/dist/prepare/extended-lighting/spot-modifiers.d.ts +42 -0
  109. package/dist/prepare/extended-lighting/spot-modifiers.d.ts.map +1 -0
  110. package/dist/prepare/extended-lighting/state.d.ts +24 -0
  111. package/dist/prepare/extended-lighting/state.d.ts.map +1 -0
  112. package/dist/record/frame-lighting.d.ts +8 -6
  113. package/dist/record/frame-lighting.d.ts.map +1 -1
  114. package/dist/record/frame-snapshot.d.ts +50 -10
  115. package/dist/record/frame-snapshot.d.ts.map +1 -1
  116. package/dist/record/frame.d.ts +7 -3
  117. package/dist/record/frame.d.ts.map +1 -1
  118. package/dist/record/gpu-timing.d.ts +19 -7
  119. package/dist/record/gpu-timing.d.ts.map +1 -1
  120. package/dist/record/helpers.d.ts +0 -20
  121. package/dist/record/helpers.d.ts.map +1 -1
  122. package/dist/record/main-pass-geometry.d.ts +6 -1
  123. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  124. package/dist/record/main-pass-material.d.ts +3 -1
  125. package/dist/record/main-pass-material.d.ts.map +1 -1
  126. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
  127. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  128. package/dist/record/render-context.d.ts +57 -6
  129. package/dist/record/render-context.d.ts.map +1 -1
  130. package/dist/record/shadow-pass.d.ts.map +1 -1
  131. package/dist/record/typed-frame-graph.d.ts +49 -2
  132. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  133. package/dist/record/view-ubo.d.ts +1 -2
  134. package/dist/record/view-ubo.d.ts.map +1 -1
  135. package/dist/reflection/inspection.d.ts +10 -0
  136. package/dist/reflection/inspection.d.ts.map +1 -0
  137. package/dist/reflection/projection.d.ts +49 -0
  138. package/dist/reflection/projection.d.ts.map +1 -1
  139. package/dist/reflection/record-owner.d.ts +60 -0
  140. package/dist/reflection/record-owner.d.ts.map +1 -0
  141. package/dist/render-contract.d.ts +14 -8
  142. package/dist/render-contract.d.ts.map +1 -1
  143. package/dist/render-pipeline.d.ts +7 -0
  144. package/dist/render-pipeline.d.ts.map +1 -1
  145. package/dist/render-system-extract.d.ts +104 -16
  146. package/dist/render-system-extract.d.ts.map +1 -1
  147. package/dist/render-system.d.ts +12 -1
  148. package/dist/render-system.d.ts.map +1 -1
  149. package/dist/scene/probe-blend-record.d.ts +22 -0
  150. package/dist/scene/probe-blend-record.d.ts.map +1 -0
  151. package/dist/scene/probe-blend.d.ts +142 -0
  152. package/dist/scene/probe-blend.d.ts.map +1 -0
  153. package/dist/scene/render-scene-types.d.ts +0 -6
  154. package/dist/scene/render-scene-types.d.ts.map +1 -1
  155. package/dist/scene/render-scene.d.ts +103 -9
  156. package/dist/scene/render-scene.d.ts.map +1 -1
  157. package/dist/scene/visibility/bounds.d.ts +20 -0
  158. package/dist/scene/visibility/bounds.d.ts.map +1 -0
  159. package/dist/scene/visibility/budget.d.ts +16 -0
  160. package/dist/scene/visibility/budget.d.ts.map +1 -0
  161. package/dist/scene/visibility/facet.d.ts +73 -0
  162. package/dist/scene/visibility/facet.d.ts.map +1 -0
  163. package/dist/scene/visibility/gpu-frame-timing.d.ts +41 -0
  164. package/dist/scene/visibility/gpu-frame-timing.d.ts.map +1 -0
  165. package/dist/scene/visibility/gpu-lod.d.ts +46 -0
  166. package/dist/scene/visibility/gpu-lod.d.ts.map +1 -0
  167. package/dist/scene/visibility/inspection.d.ts +132 -0
  168. package/dist/scene/visibility/inspection.d.ts.map +1 -0
  169. package/dist/scene/visibility/lod-selector.d.ts +25 -0
  170. package/dist/scene/visibility/lod-selector.d.ts.map +1 -0
  171. package/dist/scene/visibility/occlusion-confidence.d.ts +81 -0
  172. package/dist/scene/visibility/occlusion-confidence.d.ts.map +1 -0
  173. package/dist/scene/visibility/occlusion-pass.d.ts +57 -0
  174. package/dist/scene/visibility/occlusion-pass.d.ts.map +1 -0
  175. package/dist/scene/visibility/occlusion-query-pool.d.ts +57 -0
  176. package/dist/scene/visibility/occlusion-query-pool.d.ts.map +1 -0
  177. package/dist/scene/visibility/occlusion-runtime.d.ts +96 -0
  178. package/dist/scene/visibility/occlusion-runtime.d.ts.map +1 -0
  179. package/dist/scene/visibility/types.d.ts +34 -0
  180. package/dist/scene/visibility/types.d.ts.map +1 -0
  181. package/dist/ssr/admission.d.ts +122 -0
  182. package/dist/ssr/admission.d.ts.map +1 -0
  183. package/dist/ssr/composition.d.ts +32 -0
  184. package/dist/ssr/composition.d.ts.map +1 -0
  185. package/dist/ssr/errors.d.ts +39 -0
  186. package/dist/ssr/errors.d.ts.map +1 -0
  187. package/dist/ssr/identity.d.ts +13 -0
  188. package/dist/ssr/identity.d.ts.map +1 -0
  189. package/dist/systems/skin-palette-allocator.d.ts +1 -1
  190. package/dist/temporal/frame-coordinator.d.ts +13 -0
  191. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  192. package/dist/temporal/frame.d.ts +2 -0
  193. package/dist/temporal/frame.d.ts.map +1 -1
  194. package/dist/temporal/index.mjs +6 -5
  195. package/dist/temporal/view.d.ts +7 -0
  196. package/dist/temporal/view.d.ts.map +1 -1
  197. package/dist/tilemap-chunk-extract-system.d.ts +1 -1
  198. package/dist/typed-render-graph-primitives.d.ts +4 -0
  199. package/dist/typed-render-graph-primitives.d.ts.map +1 -1
  200. package/dist/volume/passes.d.ts +8 -4
  201. package/dist/volume/passes.d.ts.map +1 -1
  202. package/package.json +20 -20
  203. package/src/__tests__/cluster-grid-default-surface.unit.test.ts +5 -0
  204. package/src/__tests__/detached-inspection.integration.test.ts +6 -0
  205. package/src/__tests__/device-feature-admission.unit.test.ts +13 -1
  206. package/src/__tests__/direct-light-snapshot.unit.test.ts +59 -3
  207. package/src/__tests__/environment-generation.integration.test.ts +16 -0
  208. package/src/__tests__/evidence-identity.ts +13 -0
  209. package/src/__tests__/evidence-identity.unit.test.ts +24 -0
  210. package/src/__tests__/extended-lighting-recovery.browser.test.ts +14 -0
  211. package/src/__tests__/extended-lighting-recovery.dawn.test.ts +14 -0
  212. package/src/__tests__/extended-lighting-recovery.integration.test.ts +81 -0
  213. package/src/__tests__/extended-lighting-resources.unit.test.ts +51 -0
  214. package/src/__tests__/extended-lighting-zero-feature.integration.test.ts +52 -0
  215. package/src/__tests__/factory-contract.integration.test.ts +33 -0
  216. package/src/__tests__/frame-observation.contract.test.ts +15 -0
  217. package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +146 -0
  218. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +1 -0
  219. package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +1 -0
  220. package/src/__tests__/gpu-driven-production.integration.test.ts +572 -9
  221. package/src/__tests__/gpu-driven-scaling.unit.test.ts +66 -2
  222. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +26 -1
  223. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +89 -2
  224. package/src/__tests__/gpu-driven-view.browser.test.ts +3 -3
  225. package/src/__tests__/gpu-driven-view.dawn.test.ts +3 -3
  226. package/src/__tests__/gpu-driven-view.unit.test.ts +50 -0
  227. package/src/__tests__/gpu-lod-evidence.ts +188 -0
  228. package/src/__tests__/gpu-lod-fallback.integration.test.ts +10 -0
  229. package/src/__tests__/gpu-lod-indirect.integration.test.ts +40 -0
  230. package/src/__tests__/gpu-lod-parity.dawn.test.ts +29 -0
  231. package/src/__tests__/gpu-lod-readiness.integration.test.ts +52 -0
  232. package/src/__tests__/gpu-lod-schema.unit.test.ts +66 -0
  233. package/src/__tests__/gpu-lod-selector.unit.test.ts +28 -0
  234. package/src/__tests__/gpu-lod-silhouette.browser.test.ts +13 -0
  235. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +66 -1
  236. package/src/__tests__/gpu-scene.dawn.test.ts +8 -1
  237. package/src/__tests__/gpu-scene.unit.test.ts +49 -3
  238. package/src/__tests__/light-buffer-layout.unit.test.ts +113 -3
  239. package/src/__tests__/light-inspection.unit.test.ts +55 -0
  240. package/src/__tests__/light-resource-error.unit.test.ts +43 -0
  241. package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +109 -0
  242. package/src/__tests__/lod-bounds.unit.test.ts +42 -0
  243. package/src/__tests__/lod-cpu-lane.integration.test.ts +55 -0
  244. package/src/__tests__/lod-cpu-no-change.perf.test.ts +19 -0
  245. package/src/__tests__/lod-gpu-frame-timing.unit.test.ts +49 -0
  246. package/src/__tests__/lod-multi-view.integration.test.ts +63 -0
  247. package/src/__tests__/lod-occlusion-device-loss.integration.test.ts +27 -0
  248. package/src/__tests__/lod-occlusion-final-decision.integration.test.ts +47 -0
  249. package/src/__tests__/lod-occlusion-inspection.integration.test.ts +217 -0
  250. package/src/__tests__/lod-occlusion-inspection.schema.test-d.ts +14 -0
  251. package/src/__tests__/lod-occlusion-inspection.unit.test.ts +72 -0
  252. package/src/__tests__/lod-occlusion-visual-evidence.ts +91 -0
  253. package/src/__tests__/lod-occlusion.browser.test.ts +15 -0
  254. package/src/__tests__/lod-occlusion.dawn.test.ts +20 -0
  255. package/src/__tests__/lod-selector.profile.test.ts +35 -0
  256. package/src/__tests__/lod-selector.unit.test.ts +68 -0
  257. package/src/__tests__/lod-visibility-identity.unit.test.ts +198 -0
  258. package/src/__tests__/lod-visibility-lifecycle.integration.test.ts +132 -0
  259. package/src/__tests__/ltc-resources.unit.test.ts +32 -0
  260. package/src/__tests__/material-contract-inventory.unit.test.ts +17 -0
  261. package/src/__tests__/occlusion-confidence.unit.test.ts +168 -0
  262. package/src/__tests__/occlusion-invalidation.integration.test.ts +37 -0
  263. package/src/__tests__/occlusion-pass-routing.unit.test.ts +16 -0
  264. package/src/__tests__/occlusion-pass.dawn.test.ts +20 -0
  265. package/src/__tests__/occlusion-pass.integration.test.ts +43 -0
  266. package/src/__tests__/occlusion-pass.rhi-null.test.ts +22 -0
  267. package/src/__tests__/occlusion-query-pool.rhi-null.test.ts +21 -0
  268. package/src/__tests__/occlusion-query-pool.unit.test.ts +95 -0
  269. package/src/__tests__/occlusion-query-ticket.integration.test.ts +47 -0
  270. package/src/__tests__/occlusion-query.dawn.test.ts +16 -0
  271. package/src/__tests__/occlusion-query.evidence.ts +178 -0
  272. package/src/__tests__/occlusion-query.rhi-null.test.ts +31 -0
  273. package/src/__tests__/occlusion-runtime.unit.test.ts +120 -0
  274. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +196 -0
  275. package/src/__tests__/probe-bindings.unit.test.ts +200 -0
  276. package/src/__tests__/probe-blend-numeric.unit.test.ts +67 -0
  277. package/src/__tests__/probe-blend-oracle.unit.test.ts +136 -0
  278. package/src/__tests__/probe-capacity.integration.test.ts +97 -0
  279. package/src/__tests__/probe-recovery.integration.test.ts +104 -0
  280. package/src/__tests__/probe-scene-dirty.integration.test.ts +211 -0
  281. package/src/__tests__/profiler-phase-catalog.test.ts +4 -1
  282. package/src/__tests__/profiler-phase-token.test.ts +1 -0
  283. package/src/__tests__/rect-area-boundary.unit.test.ts +24 -0
  284. package/src/__tests__/reflection-fallback-graph.unit.test.ts +67 -0
  285. package/src/__tests__/reflection-fallback-inspection.unit.test.ts +77 -0
  286. package/src/__tests__/reflection-fallback-lifecycle.integration.test.ts +21 -0
  287. package/src/__tests__/reflection-fallback-projection.unit.test.ts +90 -0
  288. package/src/__tests__/reflection-fallback-source.unit.test.ts +32 -0
  289. package/src/__tests__/reflection-probe-owner-placement.unit.test.ts +39 -0
  290. package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +120 -0
  291. package/src/__tests__/render-error-code-owner.test-d.ts +1 -0
  292. package/src/__tests__/render-feature-docs.unit.test.ts +12 -7
  293. package/src/__tests__/render-graph-fallback.integration.test.ts +24 -0
  294. package/src/__tests__/render-perf/extended-lighting.bench.test.ts +66 -0
  295. package/src/__tests__/render-scene-projection.unit.test.ts +447 -18
  296. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +76 -0
  297. package/src/__tests__/skin-motion-regression.unit.test.ts +22 -0
  298. package/src/__tests__/skinned-shadow-caster.test.ts +2 -2
  299. package/src/__tests__/spot-modifier-projection.unit.test.ts +70 -0
  300. package/src/__tests__/ssr-admission-matrix.integration.test.ts +206 -0
  301. package/src/__tests__/ssr-composition.unit.test.ts +46 -0
  302. package/src/__tests__/ssr-fallback-zero-work.bench.test.ts +94 -0
  303. package/src/__tests__/ssr-recovery-errors.unit.test.ts +58 -0
  304. package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +67 -0
  305. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +7 -0
  306. package/src/__tests__/standard-lighting-inspection.integration.test.ts +1 -1
  307. package/src/__tests__/standard-lighting-write.unit.test.ts +66 -2
  308. package/src/__tests__/temporal-fallback-generation.integration.test.ts +16 -0
  309. package/src/__tests__/temporal-view.unit.test.ts +3 -3
  310. package/src/__tests__/transmission-prewarm.unit.test.ts +69 -0
  311. package/src/__tests__/visibility-budget.integration.test.ts +140 -0
  312. package/src/__tests__/visibility-budget.unit.test.ts +70 -0
  313. package/src/__tests__/visibility-extract.integration.test.ts +11 -6
  314. package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +6 -3
  315. package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +31 -28
  316. package/src/assembly/backend-contract.ts +13 -0
  317. package/src/assembly/device-feature-admission.ts +16 -9
  318. package/src/assembly/factory.ts +547 -93
  319. package/src/assembly/host-contract.ts +10 -0
  320. package/src/cluster-binner.ts +31 -0
  321. package/src/components/__tests__/lighting-authoring.unit.test.ts +39 -0
  322. package/src/components/__tests__/rect-area-light.unit.test.ts +33 -0
  323. package/src/components/index.ts +3 -0
  324. package/src/components/light-helpers.ts +52 -1
  325. package/src/components/light-probe.ts +13 -0
  326. package/src/components/rect-area-light.ts +15 -0
  327. package/src/components/scene-instance.ts +6 -0
  328. package/src/components/spot-light.ts +3 -0
  329. package/src/device/__tests__/extended-lighting-recovery.unit.test.ts +24 -0
  330. package/src/device/gpu-residency.ts +140 -9
  331. package/src/device/lifecycle-transaction.ts +12 -0
  332. package/src/environment/lifecycle.ts +8 -1
  333. package/src/errors/gpu-driven.ts +92 -0
  334. package/src/errors/index.ts +1 -0
  335. package/src/errors/recover.ts +32 -0
  336. package/src/errors/render.ts +55 -1
  337. package/src/extract/camera.ts +3 -3
  338. package/src/extract/gpu-driven.ts +108 -0
  339. package/src/extract/visibility.ts +0 -23
  340. package/src/gpu-driven/batch-topology.ts +206 -28
  341. package/src/gpu-driven/prepared-draw.ts +208 -0
  342. package/src/gpu-driven/production-raster.ts +953 -41
  343. package/src/gpu-driven/view-gpu.ts +411 -29
  344. package/src/gpu-scene-schema.ts +13 -0
  345. package/src/gpu-scene.ts +134 -65
  346. package/src/gpu-usage.ts +0 -1
  347. package/src/hdrp-buffers.ts +6 -6
  348. package/src/index.ts +74 -0
  349. package/src/inspection-types.ts +220 -1
  350. package/src/internal.ts +38 -0
  351. package/src/light-buffer-layout.ts +154 -324
  352. package/src/materials.ts +16 -2
  353. package/src/pbr-pipeline.ts +151 -45
  354. package/src/pipeline/standard-forward-lane.ts +47 -0
  355. package/src/pipeline/standard-lighting/graph.ts +2 -1
  356. package/src/pipeline/standard-lighting/light-frame.ts +3 -2
  357. package/src/pipeline/standard-lighting/topology.ts +1 -1
  358. package/src/pipeline/standard-lighting/transport.ts +2 -1
  359. package/src/pipeline/standard-pipeline.ts +2 -0
  360. package/src/pipeline-builder.ts +5 -2
  361. package/src/pipeline-spec.ts +12 -1
  362. package/src/plugin.ts +4 -0
  363. package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +56 -0
  364. package/src/prepare/extended-lighting/ltc-resources.ts +136 -0
  365. package/src/prepare/extended-lighting/resources.ts +389 -0
  366. package/src/prepare/extended-lighting/spot-modifiers.ts +194 -0
  367. package/src/prepare/extended-lighting/state.ts +92 -0
  368. package/src/record/__tests__/gpu-timing.unit.test.ts +177 -0
  369. package/src/record/__tests__/temporal-payload.unit.test.ts +23 -1
  370. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +20 -1
  371. package/src/record/frame-lighting.ts +252 -53
  372. package/src/record/frame-snapshot.ts +57 -12
  373. package/src/record/frame.ts +410 -93
  374. package/src/record/gpu-timing.ts +108 -44
  375. package/src/record/helpers.ts +0 -58
  376. package/src/record/main-pass-geometry.ts +204 -39
  377. package/src/record/main-pass-material.ts +8 -1
  378. package/src/record/main-pass-sprite-draws.ts +52 -85
  379. package/src/record/mesh-ssbo.ts +47 -36
  380. package/src/record/render-context.ts +65 -4
  381. package/src/record/shadow-pass.ts +66 -40
  382. package/src/record/typed-frame-graph.ts +225 -83
  383. package/src/record/view-ubo.ts +14 -24
  384. package/src/reflection/inspection.ts +67 -0
  385. package/src/reflection/projection.ts +196 -1
  386. package/src/reflection/record-owner.ts +1283 -0
  387. package/src/render-contract.ts +17 -5
  388. package/src/render-pipeline.ts +5 -0
  389. package/src/render-system-extract.ts +493 -134
  390. package/src/render-system.ts +811 -615
  391. package/src/scene/__tests__/changed-block-summary.candidate.test.ts +36 -0
  392. package/src/scene/probe-blend-record.ts +54 -0
  393. package/src/scene/probe-blend.ts +813 -0
  394. package/src/scene/render-scene-types.ts +0 -7
  395. package/src/scene/render-scene.ts +848 -183
  396. package/src/scene/visibility/bounds.ts +57 -0
  397. package/src/scene/visibility/budget.ts +40 -0
  398. package/src/scene/visibility/facet.ts +400 -0
  399. package/src/scene/visibility/gpu-frame-timing.ts +101 -0
  400. package/src/scene/visibility/gpu-lod.ts +119 -0
  401. package/src/scene/visibility/inspection.ts +313 -0
  402. package/src/scene/visibility/lod-selector.ts +84 -0
  403. package/src/scene/visibility/occlusion-confidence.ts +478 -0
  404. package/src/scene/visibility/occlusion-pass.ts +165 -0
  405. package/src/scene/visibility/occlusion-query-pool.ts +178 -0
  406. package/src/scene/visibility/occlusion-runtime.ts +672 -0
  407. package/src/scene/visibility/types.ts +50 -0
  408. package/src/ssr/admission.ts +451 -0
  409. package/src/ssr/composition.ts +73 -0
  410. package/src/ssr/errors.ts +76 -0
  411. package/src/ssr/identity.ts +12 -0
  412. package/src/systems/skin-palette-allocator.ts +1 -1
  413. package/src/temporal/frame-coordinator.ts +26 -0
  414. package/src/temporal/frame.ts +14 -1
  415. package/src/temporal/view.ts +11 -0
  416. package/src/tilemap-chunk-extract-system.ts +4 -4
  417. package/src/typed-render-graph-primitives.ts +48 -0
  418. package/src/volume/passes.ts +46 -49
  419. package/dist/.tsbuildinfo +0 -1
  420. package/dist/chunk-5YADUCA7.mjs.map +0 -1
  421. package/dist/chunk-6OPXDQ2E.mjs.map +0 -1
  422. package/dist/chunk-BXBQQKFQ.mjs +0 -67
  423. package/dist/chunk-BXBQQKFQ.mjs.map +0 -1
  424. package/dist/chunk-FS2KNUQH.mjs.map +0 -1
  425. package/dist/chunk-PCHBPYML.mjs.map +0 -1
  426. package/dist/chunk-VFPLTKCU.mjs.map +0 -1
@@ -0,0 +1,72 @@
1
+ import type { Buffer, Result, RhiDevice, Sampler, Texture } from '@forgeax/engine-rhi';
2
+ import { RhiError } from '@forgeax/engine-rhi';
3
+ import type { DeviceScope } from '../../device/device-scope';
4
+ export declare const EXTENDED_LIGHTING_TOPOLOGY: "extendedLighting";
5
+ export declare const IES_SLICE_CAPACITY = 32;
6
+ export declare const COOKIE_SLICE_CAPACITY = 32;
7
+ export declare const PROBE_RECORD_CAPACITY = 64;
8
+ export declare const IES_SLICE_WIDTH = 256;
9
+ export declare const IES_SLICE_HEIGHT = 128;
10
+ export declare const COOKIE_SLICE_SIZE = 256;
11
+ export declare const COOKIE_MATRIX_BYTES: number;
12
+ /**
13
+ * Minimum per-stage sampled-texture limit for the shared PBR + extended-
14
+ * lighting pipeline-layout topology. The current BGL closure reserves 18
15
+ * sampled textures for the URP path and 20 for the HDRP/Probe path after the
16
+ * material IBL and transmission injections; WebGPU validates this pipeline-
17
+ * layout count even when a compiled shader variant does not read every
18
+ * optional entry.
19
+ */
20
+ export declare const EXTENDED_LIGHTING_REQUIRED_SAMPLED_TEXTURES = 20;
21
+ /**
22
+ * Keep shader-variant selection and resource admission on one capability fact.
23
+ * An omitted limit is treated as unavailable: a caller must not claim the
24
+ * extended topology without a numeric device limit proving it fits.
25
+ */
26
+ export declare function extendedLightingSampledTextureCapacityAvailable(maxSampledTexturesPerShaderStage: number | undefined): boolean;
27
+ export interface ExtendedLightingCapabilityResult {
28
+ readonly admitted: boolean;
29
+ readonly topology: typeof EXTENDED_LIGHTING_TOPOLOGY;
30
+ readonly reason: string | undefined;
31
+ }
32
+ export interface ExtendedLightingResourceInput {
33
+ readonly device: RhiDevice | undefined;
34
+ readonly scope: DeviceScope;
35
+ readonly iesSliceCount: number;
36
+ readonly cookieSliceCount: number;
37
+ readonly cookieMatrices: number;
38
+ readonly iesData?: Uint8Array | undefined;
39
+ readonly cookieData?: Uint8Array | undefined;
40
+ readonly cookieMatrixData?: Float32Array | undefined;
41
+ }
42
+ export interface ExtendedLightingResourceCandidate {
43
+ readonly topology: typeof EXTENDED_LIGHTING_TOPOLOGY;
44
+ readonly generation: number;
45
+ readonly scope: DeviceScope;
46
+ readonly iesSliceCount: number;
47
+ readonly cookieSliceCount: number;
48
+ readonly cookieMatrices: number;
49
+ readonly sampler: Sampler;
50
+ readonly iesTexture: Texture | undefined;
51
+ readonly cookieTexture: Texture | undefined;
52
+ readonly cookieMatrixBuffer: Buffer | undefined;
53
+ readonly descriptorBytes: number;
54
+ readonly uploadCount: number;
55
+ }
56
+ export interface ExtendedLightingResourceInspection {
57
+ readonly topology: typeof EXTENDED_LIGHTING_TOPOLOGY;
58
+ readonly generation: number;
59
+ readonly status: 'empty' | 'candidate' | 'accepted';
60
+ readonly accepted: boolean;
61
+ readonly resourceCount: number;
62
+ readonly descriptorBytes: number;
63
+ readonly uploadCount: number;
64
+ readonly blendInvalidations: number;
65
+ readonly passCount: number;
66
+ }
67
+ /** Derive admission from the RHI facts; no backend-kind policy is involved. */
68
+ export declare function deriveExtendedLightingCapability(device: Pick<RhiDevice, 'caps' | 'limits'>): ExtendedLightingCapabilityResult;
69
+ /** Build a complete candidate; nothing is adopted until the transaction commits. */
70
+ export declare function createExtendedLightingResourceCandidate(input: ExtendedLightingResourceInput): Promise<Result<ExtendedLightingResourceCandidate, RhiError>>;
71
+ export declare function inspectExtendedLightingResources(scope: DeviceScope): ExtendedLightingResourceInspection;
72
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/prepare/extended-lighting/resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { TextureAsset } from '@forgeax/engine-types';
2
+ export interface SpotModifierFactors {
3
+ readonly brdf: number;
4
+ readonly range: number;
5
+ readonly cone: number;
6
+ readonly ies?: number | undefined;
7
+ readonly cookie?: number | undefined;
8
+ readonly shadow: number;
9
+ }
10
+ export interface IesCoordinates {
11
+ readonly azimuth: number;
12
+ readonly elevation: number;
13
+ }
14
+ export interface CookieUv {
15
+ readonly u: number;
16
+ readonly v: number;
17
+ }
18
+ /**
19
+ * The fixed GPU representation consumed by the extended-lighting Cookie
20
+ * array. The matrix is deliberately keyed by Cookie slice rather than by
21
+ * light: it carries only the source texture aspect correction. The shader
22
+ * still owns the light-local basis, roll, and outer-cone projection, so one
23
+ * Cookie can be shared by Spots with different directions or cone angles.
24
+ */
25
+ export interface CookieProjection {
26
+ readonly data: Uint8Array;
27
+ readonly matrix: Float32Array;
28
+ readonly aspect: number;
29
+ }
30
+ /**
31
+ * Project a filterable 2D RGBA Cookie into the renderer's fixed linear
32
+ * 256x256 array slice. This is a producer-boundary operation and is cached by
33
+ * the immutable TextureAsset object, so the frame path never decodes or
34
+ * resamples the source repeatedly.
35
+ */
36
+ export declare function prepareCookieProjection(asset: TextureAsset): CookieProjection | undefined;
37
+ /** Create the deterministic identity payload used for unused Cookie slices. */
38
+ export declare function createCookieProjectionMatrixData(count: number): Float32Array;
39
+ export declare function spotModifierProduct(factors: SpotModifierFactors): number;
40
+ export declare function projectIesCoordinates(toPoint: ArrayLike<number>, rollDeg: number): IesCoordinates | undefined;
41
+ export declare function projectCookieUv(toPoint: ArrayLike<number>, rollDeg: number, aspect: number, outerConeDeg?: number): CookieUv | undefined;
42
+ //# sourceMappingURL=spot-modifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot-modifiers.d.ts","sourceRoot":"","sources":["../../../src/prepare/extended-lighting/spot-modifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAoCD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,gBAAgB,GAAG,SAAS,CAiDzF;AAED,+EAA+E;AAC/E,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAU5E;AAUD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CASxE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAC1B,OAAO,EAAE,MAAM,GACd,cAAc,GAAG,SAAS,CAU5B;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,YAAY,SAAK,GAChB,QAAQ,GAAG,SAAS,CAetB"}
@@ -0,0 +1,24 @@
1
+ import type { LightResourceUnavailableError } from '../../errors/render';
2
+ import { type LightInspection } from '../../inspection-types';
3
+ import type { ExtendedLightingResourceCandidate } from './resources';
4
+ export type ExtendedLightingResourceStatus = 'empty' | 'candidate' | 'accepted';
5
+ export interface ExtendedLightingState {
6
+ readonly enabled: boolean;
7
+ readonly generation: number;
8
+ readonly status: ExtendedLightingResourceStatus;
9
+ readonly candidate: ExtendedLightingResourceCandidate | undefined;
10
+ readonly accepted: ExtendedLightingResourceCandidate | undefined;
11
+ readonly lastKnownGood: ExtendedLightingResourceCandidate | undefined;
12
+ readonly resourceCount: number;
13
+ readonly descriptorBytes: number;
14
+ readonly uploadCount: number;
15
+ readonly passCount: number;
16
+ readonly bindGroupCount: number;
17
+ readonly failure: LightResourceUnavailableError | undefined;
18
+ readonly failureKeys: readonly string[];
19
+ }
20
+ export declare function createExtendedLightingState(generation: number): ExtendedLightingState;
21
+ export declare function promoteExtendedLightingCandidate(state: ExtendedLightingState, candidate: ExtendedLightingResourceCandidate | undefined): ExtendedLightingState;
22
+ export declare function recordExtendedLightingFailure(state: ExtendedLightingState, failure: LightResourceUnavailableError): ExtendedLightingState;
23
+ export declare function projectExtendedLightingInspection(state: ExtendedLightingState): LightInspection;
24
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/prepare/extended-lighting/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,MAAM,8BAA8B,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,iCAAiC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,aAAa,EAAE,iCAAiC,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,CAgBrF;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,iCAAiC,GAAG,SAAS,GACvD,qBAAqB,CAcvB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,6BAA6B,GACrC,qBAAqB,CAQvB;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,qBAAqB,GAAG,eAAe,CAe/F"}
@@ -44,12 +44,11 @@ export declare function buildPerFrameBindGroups(internals: RenderSystemInternals
44
44
  };
45
45
  /**
46
46
  * feat-20260704 M3/w18: per-frame lighting preparation, extracted verbatim from
47
- * `recordFrame`. (1) pin the
48
- * point + spot shadow snapshot lists onto frameState for the URP shadow caster
47
+ * `recordFrame`. (1) pin the point + spot shadow snapshot lists onto frameState
48
+ * for the shadow caster
49
49
  * pass closures + lazy-allocate the point-shadow cube_array atlas on first
50
- * non-empty frame (AC-09 zero-shadow zero-alloc). (3) destructure ExtractedLights
51
- * into the directional-fallback `light` (zero-intensity Case C default), point /
52
- * spot arrays, and totalLightCount.
50
+ * non-empty frame (AC-09 zero-shadow zero-alloc). (3) derive the directional
51
+ * fallback and the unified local-light corpus used by Standard Cluster.
53
52
  *
54
53
  * @internal
55
54
  */
@@ -57,9 +56,12 @@ export declare function prepareFrameLighting(internals: RenderSystemInternals, f
57
56
  light: DirectionalLightSnapshot;
58
57
  pointLights: ExtractedLights['point'];
59
58
  spotLights: ExtractedLights['spot'];
59
+ rectLights: ExtractedLights['rect'];
60
60
  totalLightCount: number;
61
61
  standard: StandardTopologyInputValue;
62
62
  }, RenderError>;
63
+ /** Upload authored Spot modifier payloads into the renderer-owned array lane. */
64
+ export declare function writeSpotModifierTextures(internals: RenderSystemInternals, pipelineState: PipelineState, spots: readonly ExtractedLights['spot'][number][]): void;
63
65
  /**
64
66
  * feat-20260704 M3/w18: write the point-shadow params UBO (bound at viewBg
65
67
  * binding 6), extracted verbatim from `recordFrame`.
@@ -94,7 +96,7 @@ export declare function warnZeroLightStandard(frameState: RenderFrameState, rend
94
96
  *
95
97
  * @internal
96
98
  */
97
- export declare function writeHdrpClusterAndSsaoBuffers(internals: RenderSystemInternals, frameState: RenderFrameState, camera: CameraSnapshot, prepared: PreparedStandardLighting, transport: StandardClusterTransport, profilePhase?: RecordProfileRunner, gpuMembershipPipelineReady?: boolean, membershipBindGroupLayout?: BindGroupLayout | null, projectorLightSlotIndex?: number): Result<void, RenderError>;
99
+ export declare function writeHdrpClusterAndSsaoBuffers(internals: RenderSystemInternals, frameState: RenderFrameState, camera: CameraSnapshot, prepared: PreparedStandardLighting, transport: StandardClusterTransport, profilePhase?: RecordProfileRunner, gpuMembershipPipelineReady?: boolean, membershipBindGroupLayout?: BindGroupLayout | null, projectorLightSlotIndex?: number, pipelineState?: PipelineState): Result<void, RenderError>;
98
100
  /**
99
101
  * feat-20260704 M3/w18: resolve `tonemapActive` + `skyboxActive` for this
100
102
  * frame, extracted verbatim from `recordFrame`.
@@ -1 +1 @@
1
- {"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { World } from '@forgeax/engine-ecs';
2
+ import type { RenderReadVersion } from '@forgeax/engine-ecs/projection';
2
3
  import type { ResolvedColorTargetDescriptor } from '@forgeax/engine-render-graph';
3
4
  import type { BindGroup, BindGroupLayout, Buffer, RhiDevice, Texture, TextureView } from '@forgeax/engine-rhi';
4
5
  import type { ClusterBinScratch } from '../cluster-binner';
@@ -63,10 +64,21 @@ import type { InstanceBufferCacheEntry } from '../instance-buffer-cache';
63
64
  import type { CameraSnapshot, VolumetricFogFrameContext } from '../render-contract';
64
65
  import type { RenderPipeline as RenderPipelineDef, RenderPipelineFrame } from '../render-pipeline';
65
66
  import type { MaterialSnapshot, PointShadowSnapshot, RenderableSnapshot, SpotLightSnapshot } from '../render-system-extract';
67
+ import type { ProbeBlendRecord } from '../scene/probe-blend-record';
66
68
  import type { ShadowAtlas } from '../shadow-atlas';
67
69
  import type { TemporalFrame, TemporalFrameInput, TemporalFrameTransaction } from '../temporal/frame';
68
70
  import type { VolumetricFogInspection } from '../volume/inspection';
69
71
  import type { VolumeTemporalSignature } from '../volume/temporal';
72
+ /** Retained probe record bytes carried with one extracted render frame. */
73
+ export interface ProbeBlendFrameSnapshot {
74
+ readonly records: readonly ProbeBlendRecord[];
75
+ readonly recordByteLength: 160;
76
+ }
77
+ /** Renderer-owned GPU cache entry for one object's 160B probe record. */
78
+ export interface ProbeBlendBufferCacheEntry {
79
+ readonly generation: number;
80
+ readonly bytes: Uint8Array;
81
+ }
70
82
  /**
71
83
  * feat-20260608-create-app-param-surface-trim / M1 / D-8 (q8 user lock):
72
84
  * fallback clear color when the world carries no Camera entity. Opaque
@@ -112,6 +124,7 @@ export declare function validateGraphTargetCaptureReadback(input: {
112
124
  readonly bytes: Uint8Array;
113
125
  readonly expectedByteLength: number;
114
126
  readonly sentinel?: Uint8Array;
127
+ readonly allowZero?: boolean;
115
128
  }): GraphTargetCaptureReadbackValidation;
116
129
  /** Internal readback request consumed by the record encoder in the same submit. */
117
130
  export interface GraphTargetCaptureRequest {
@@ -134,6 +147,24 @@ export interface GraphTargetCaptureRequest {
134
147
  };
135
148
  };
136
149
  }
150
+ /** Renderer-private readback request for the Standard fallback MRT. */
151
+ export interface ReflectionFallbackReadbackRequest {
152
+ readonly name: string;
153
+ readonly buffer: Buffer;
154
+ readonly bytesPerRow: number;
155
+ readonly width: number;
156
+ readonly height: number;
157
+ readonly expected: {
158
+ readonly format: ResolvedColorTargetDescriptor['format'];
159
+ readonly width: number;
160
+ readonly height: number;
161
+ readonly usage: number;
162
+ readonly graphGeneration: number;
163
+ readonly frameId: number;
164
+ readonly textureIdentity: number;
165
+ };
166
+ encoded: boolean;
167
+ }
137
168
  /**
138
169
  * Build a synthetic CameraSnapshot the record stage uses when the world
139
170
  * carries no Camera entity. Identity-shaped projection / view inputs
@@ -163,12 +194,14 @@ export declare function makeZeroCameraFallbackSnapshot(): CameraSnapshot;
163
194
  */
164
195
  export interface RenderFrameState {
165
196
  frameNumber: number;
197
+ /** Demand for the frame-local Standard fallback MRT. */
198
+ reflectionFallbackDemand?: boolean;
166
199
  /** Monotonic compiled-graph identity used by diagnostic readbacks. */
167
200
  graphGeneration: number;
168
201
  /** Number of successfully submitted TAA frames; failed attempts do not advance it. */
169
202
  successfulTemporalFrameIndex?: number;
170
203
  /** The renderer-owned accepted-submit temporal fact consumed by consumers. */
171
- temporalFrame?: TemporalFrame;
204
+ temporalFrame?: TemporalFrame | undefined;
172
205
  /** The sole transaction that advances temporal history after queue.submit. */
173
206
  readonly temporalFrameTransaction: TemporalFrameTransaction;
174
207
  /** Staged input is consumed only by the graph submit owner. */
@@ -181,6 +214,8 @@ export interface RenderFrameState {
181
214
  readonly graphGeneration: number;
182
215
  } | null;
183
216
  graphTargetCapture?: GraphTargetCaptureRequest | undefined;
217
+ /** One-frame producer-owned copy target for fallback MRT readback. */
218
+ reflectionFallbackReadback?: ReflectionFallbackReadbackRequest | undefined;
184
219
  /** Last successfully rendered static directional shadow atlas token. */
185
220
  directionalShadowCache: DirectionalShadowCache | null;
186
221
  /** Last successfully submitted camera post-process mode. */
@@ -224,6 +259,10 @@ export interface RenderFrameState {
224
259
  readonly retiredCompiledFrameGraphs: Set<CompiledRenderGraph<RenderPipelineFrame>>;
225
260
  /** Physical outputs projected by typed graph passes for downstream observers. */
226
261
  currentFrameObservationSource: FrameObservationSource | undefined;
262
+ /** Completed-frame source for the producer-owned fallback MRT. */
263
+ reflectionFallbackObservationSource?: FrameObservationSource | undefined;
264
+ /** Completion fence for the producer-owned fallback row/readback promotion. */
265
+ reflectionFallbackCompletion?: Promise<void> | undefined;
227
266
  /** Camera antialias mode for the last successfully submitted graph. */
228
267
  lastSuccessfulCameraAntialias: CameraSnapshot['antialias'] | undefined;
229
268
  /** Staged TAA GPU state is promoted only after queue.submit succeeds. */
@@ -241,6 +280,11 @@ export interface RenderFrameState {
241
280
  currentDirectionalShadowView: TextureView | null;
242
281
  currentSpotShadowView: TextureView | null;
243
282
  readonly instanceBuffers: Map<number, InstanceBufferCacheEntry>;
283
+ /** Per-object ProbeBlendRecord buffers; upload is one atomic 160B write. */
284
+ readonly probeBlendBuffers: Map<number, ProbeBlendBufferCacheEntry>;
285
+ /** One renderer-owned record array; each object selects its 256B-aligned lane. */
286
+ probeBlendRecordBuffer?: GpuBuffer;
287
+ probeBlendRecordBufferCapacity: number;
244
288
  /** Per-entity vertex buffers for the Standard CPU morph lane. */
245
289
  readonly morphBuffers?: Map<number, MorphBufferCacheEntry>;
246
290
  readonly hdrpClusterBinScratch: ClusterBinScratch;
@@ -268,15 +312,11 @@ export interface RenderFrameState {
268
312
  transientInstanceBuffers: InstanceBufferCacheEntry[];
269
313
  warnedZeroLightStandard: boolean;
270
314
  /**
271
- * feax-20260608-multi-light-warn-once M3: once-warn latch for multi-light
272
- * overrun per bucket (directional N>1 / point N>4 / spot N>4). Fires at
273
- * most once per RenderSystem lifetime per bucket so AI users see a single
274
- * actionable console.warn without per-frame flooding (charter P3 explicit
275
- * failure: warn-once preserves signal/noise floor).
315
+ * feat-20260608-multi-light-warn-once M3: once-warn latch for the
316
+ * single-directional authoring constraint. Standard local lights use the
317
+ * unified Cluster budget; there is no per-kind local-light cap.
276
318
  */
277
319
  warnedMultiLightDirectional: boolean;
278
- warnedMultiLightPoint: boolean;
279
- warnedMultiLightSpot: boolean;
280
320
  /**
281
321
  * feat-20260630-equirect-kind-internalized-ibl-declarative-skyligh M3 / w19:
282
322
  * once-warn latches for >1 Skylight / >1 SkyboxBackground entity. Fire at most
@@ -563,12 +603,12 @@ export interface DirectionalShadowCache {
563
603
  * ECS state that can change the contents of a directional shadow map.
564
604
  *
565
605
  * The ECS-owned RenderReadLease is the only render-facing mutation boundary.
566
- * Its cursor is intentionally conservative: any published World change
606
+ * Its version is intentionally conservative: any published World change
567
607
  * invalidates the cached atlas, while render never reaches through World for
568
608
  * component-clock storage.
569
609
  */
570
610
  export interface DirectionalShadowWorldState {
571
611
  readonly worldIdentity: string;
572
- readonly changeCursor: number;
612
+ readonly version: RenderReadVersion;
573
613
  }
574
614
  //# sourceMappingURL=frame-snapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frame-snapshot.d.ts","sourceRoot":"","sources":["../../src/record/frame-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-snapshot.d.ts","sourceRoot":"","sources":["../../src/record/frame-snapshot.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
3
3
  import { type CurrentFrameObservationLease } from '@forgeax/engine-render-graph';
4
4
  import { type Result, type TextureFormat } from '@forgeax/engine-rhi';
5
5
  import { ObservationUnavailableError } from '../errors/render';
6
- import type { FogFrame } from '../extract/environment';
7
6
  import type { GpuDrivenProduction } from '../gpu-driven/production-raster';
8
7
  import type { CameraSnapshot, CubeCameraSnapshot, RenderRecordPhase } from '../render-contract';
9
8
  import type { DispatchEntry, ExtractedLights, ExtractedVolumetricFog, RenderableSnapshot, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
10
9
  import type { PersistentGpuDrivenState } from '../scene/render-scene';
10
+ import type { OcclusionFrameProjection } from '../scene/visibility/occlusion-runtime';
11
11
  import type { TransmissionDemand } from '../transmission/projection';
12
12
  import { type BindGroupCounts, type DispatchCounts, type FrameObservationSource, type RenderFrameState } from './frame-snapshot';
13
13
  import type { RenderSystemInternals } from './render-context';
@@ -72,9 +72,13 @@ export interface CubeCaptureFrameInput {
72
72
  readonly state: CubeCaptureGraphState;
73
73
  readonly reflectionProbes?: import('./render-context').ReflectionProbeRecordState;
74
74
  }
75
- export declare function recordFrame(internals: RenderSystemInternals, world: World, cameras: CameraSnapshot[], lights: ExtractedLights, renderables: RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], frameState: RenderFrameState, dispatchCounts: DispatchCounts, bindGroupCounts: BindGroupCounts, skylight: SkylightSnapshot | undefined, skylightCount: number, skybox: SkyboxSnapshot | undefined, skyboxCount: number, postProcessParams: ReadonlyMap<string, Uint8Array>, fog: FogFrame | undefined, worlds?: readonly World[], profilePhase?: RecordProfileRunner, gpuDriven?: {
75
+ export declare function recordFrame(internals: RenderSystemInternals, world: World, cameras: CameraSnapshot[], lights: ExtractedLights, renderables: RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], frameState: RenderFrameState, dispatchCounts: DispatchCounts, bindGroupCounts: BindGroupCounts, skylight: SkylightSnapshot | undefined, skylightCount: number, skybox: SkyboxSnapshot | undefined, skyboxCount: number, postProcessParams: ReadonlyMap<string, Uint8Array>, worlds?: readonly World[], profilePhase?: RecordProfileRunner, gpuDriven?: {
76
76
  readonly owner: GpuDrivenProduction;
77
77
  readonly scene: PersistentGpuDrivenState | undefined;
78
- readonly onCoverage: (ownsAll: boolean, clusteredLighting: boolean) => void;
78
+ readonly onSceneDemand: (sceneRowsRequired: boolean) => void;
79
+ readonly activeEntityKeys?: ReadonlySet<number>;
80
+ readonly activeEntityRevision?: number;
81
+ readonly telemetryCandidateCount?: number;
82
+ readonly occlusion?: OcclusionFrameProjection;
79
83
  }, renderReadLeases?: readonly RenderReadLease[], featureGraphCandidate?: RenderFeatureGraphCandidate, pointsLinesOwner?: import('./render-context').PointsLinesRecordOwner, cubeCapture?: CubeCaptureFrameInput, environmentSignature?: string, fogSignature?: string, environmentReady?: boolean, transmissionDemand?: TransmissionDemand, volumetricFog?: ExtractedVolumetricFog, timingCapture?: GpuTimingCapture): boolean;
80
84
  //# sourceMappingURL=frame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/record/frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/record/frame.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
1
  import type { QuerySet, RhiCommandEncoder, RhiDevice, RhiError } from '@forgeax/engine-rhi';
2
2
  import { type Result } from '@forgeax/engine-types';
3
+ type TimedPassKind = 'raster' | 'compute';
4
+ export interface GpuTimingPassTimestampWrites {
5
+ readonly querySet: QuerySet;
6
+ readonly beginningOfPassWriteIndex: number;
7
+ readonly endOfPassWriteIndex: number;
8
+ }
3
9
  export type VolumeTimingObservation = {
4
10
  readonly status: 'ready';
5
11
  readonly unit: 'ms';
12
+ /** Time covered by authored volumetric passes only. */
6
13
  readonly totalMs: number;
14
+ /** Time from the first graph pass marker to the final graph marker. */
15
+ readonly frameMs: number;
7
16
  readonly passes: readonly {
8
17
  readonly name: string;
9
18
  readonly milliseconds: number;
@@ -12,11 +21,7 @@ export type VolumeTimingObservation = {
12
21
  readonly status: 'unavailable';
13
22
  readonly reason: string;
14
23
  };
15
- export interface VolumeTimingTimestampWrites {
16
- readonly querySet: QuerySet;
17
- readonly beginningOfPassWriteIndex: number;
18
- readonly endOfPassWriteIndex: number;
19
- }
24
+ export type VolumeTimingTimestampWrites = GpuTimingPassTimestampWrites;
20
25
  /**
21
26
  * Renderer-owned timestamp capture for the authored volume graph. Query
22
27
  * resources are private to one accepted submit and never cross the receipt
@@ -27,11 +32,18 @@ export declare class GpuTimingCapture {
27
32
  #private;
28
33
  private constructor();
29
34
  static create(device: RhiDevice): Result<GpuTimingCapture | undefined, RhiError>;
30
- recordPass(name: string): VolumeTimingTimestampWrites | undefined;
31
- skipPass(name: string): void;
35
+ /**
36
+ * Reserve a query pair for a real render/compute pass. The pair is later
37
+ * attached to that pass's descriptor by the render-graph instrumentation
38
+ * seam; no command-encoder timestamp method is used.
39
+ */
40
+ beginPass(name: string, kind: TimedPassKind, executionIndex: number): GpuTimingPassTimestampWrites | undefined;
41
+ /** An existing producer-owned timestamp pair cannot be overwritten. */
42
+ markOwnerConflict(name: string): void;
32
43
  resolve(encoder: RhiCommandEncoder): Result<void, RhiError>;
33
44
  markSubmitted(): void;
34
45
  discard(): void;
35
46
  observation(): Promise<VolumeTimingObservation>;
36
47
  }
48
+ export {};
37
49
  //# sourceMappingURL=gpu-timing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-timing.d.ts","sourceRoot":"","sources":["../../src/record/gpu-timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAmBxD,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtF,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAMN,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAc3B,OAAO;IAcP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,QAAQ,CAAC;IAyChF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAYjE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;IAkB3D,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;IAQf,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAoEhD"}
1
+ {"version":3,"file":"gpu-timing.d.ts","sourceRoot":"","sources":["../../src/record/gpu-timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAsBxD,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAS1C,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtF,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAMN,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAe3B,OAAO;IAcP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,QAAQ,CAAC;IAyChF;;;;OAIG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,cAAc,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAwB3C,uEAAuE;IACvE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMrC,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;IAkB3D,aAAa,IAAI,IAAI;IAIrB,OAAO,IAAI,IAAI;IAQf,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;CA2FhD"}
@@ -25,26 +25,6 @@ export declare function warnMultiLightDirectional(frameState: Pick<RenderFrameSt
25
25
  NODE_ENV?: string;
26
26
  };
27
27
  }): void;
28
- /**
29
- * feat-20260608-multi-light-warn-once M3: warn-once latch for point light
30
- * N>4 overrun (first-slice cap). Fires at most once per RenderSystem
31
- * lifetime.
32
- */
33
- export declare function warnMultiLightPoint(frameState: Pick<RenderFrameState, 'warnedMultiLightPoint'>, pointCount: number, envOverride?: {
34
- env?: {
35
- NODE_ENV?: string;
36
- };
37
- }): void;
38
- /**
39
- * feat-20260608-multi-light-warn-once M3: warn-once latch for spot light
40
- * N>4 overrun (first-slice cap). Fires at most once per RenderSystem
41
- * lifetime.
42
- */
43
- export declare function warnMultiLightSpot(frameState: Pick<RenderFrameState, 'warnedMultiLightSpot'>, spotCount: number, envOverride?: {
44
- env?: {
45
- NODE_ENV?: string;
46
- };
47
- }): void;
48
28
  /**
49
29
  * feat-20260630-equirect-kind-internalized-ibl-declarative-skyligh M3 / w19:
50
30
  * once-warn for >1 Skylight entity (first archetype hit wins). Fires at most
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/record/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,sBAAsB,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACpD,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,SAAS,EAC9D,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,SAAS,GACzD,MAAM,CAGR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,EACjE,gBAAgB,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5C,IAAI,CAkBN;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,EAC3D,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5C,IAAI,CAkBN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,EAC1D,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5C,IAAI,CAkBN;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,EACzD,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAUN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EACvD,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAUN;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,qBAAqB,EAChC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,sCAAsC,CAAC,EAC1E,cAAc,EAAE,MAAM,GACrB,IAAI,CAgCN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAO9D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAoBpE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/record/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,sBAAsB,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACpD,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,SAAS,EAC9D,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,SAAS,GACzD,MAAM,CAGR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,EACjE,gBAAgB,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5C,IAAI,CAkBN;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,EACzD,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAUN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EACvD,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAUN;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,qBAAqB,EAChC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,sCAAsC,CAAC,EAC1E,cAAc,EAAE,MAAM,GACrB,IAAI,CAgCN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAO9D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAoBpE"}
@@ -1,5 +1,5 @@
1
1
  import type { World } from '@forgeax/engine-ecs';
2
- import { type BindGroup, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
2
+ import { type BindGroup, type Buffer, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
3
3
  import type { PassKind } from '@forgeax/engine-types';
4
4
  import type { PointsLinesRecordPlan } from '../points-lines/record';
5
5
  import type { MaterialSnapshot } from '../render-system-extract';
@@ -35,5 +35,10 @@ export declare function recordPointsLinesDraw(pass: RhiRenderPassEncoder, plan:
35
35
  * @internal
36
36
  */
37
37
  export declare function recordGeometryDraws(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedMaterials: ReadonlyMap<number, ReadonlySet<number>> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, meshGroup2: BindGroup | null, meshBindGroup: BindGroup | null, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World) => BindGroup, passKind?: PassKind): void;
38
+ export declare function resolveProbeBlendBuffer(c: _InternalRenderPipelineContext, record: import('../scene/probe-blend-record').ProbeBlendRecord | undefined, entityKey?: number): {
39
+ readonly buffer: Buffer;
40
+ readonly offset: number;
41
+ };
42
+ export declare function resolveGeometryInstancesBindGroup(c: _InternalRenderPipelineContext, instanceBuffer: Buffer, probeBuffer?: Buffer): BindGroup;
38
43
  export {};
39
44
  //# sourceMappingURL=main-pass-geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main-pass-geometry.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,SAAS,EAId,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,uBAAuB,CAAC;AAqBzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EACL,8BAA8B,EAI/B,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EAAE,8BAA8B,EAA+B,MAAM,kBAAkB,CAAC;AA+BpG,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,QAAQ,GACjB,mBAAmB,CAOrB;AAiDD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,IAAI,CAON;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACjE,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACnD,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,SAAS,GAAG,IAAI,EAC5B,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,wBAAwB,EAAE,CACxB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,KAAK,KACjB,SAAS,EACd,QAAQ,GAAE,QAAoB,GAC7B,IAAI,CAmwBN"}
1
+ {"version":3,"file":"main-pass-geometry.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,MAAM,EAGX,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,uBAAuB,CAAC;AAsBzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOjE,OAAO,EACL,8BAA8B,EAI/B,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EAAE,8BAA8B,EAA+B,MAAM,kBAAkB,CAAC;AAmCpG,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,QAAQ,GACjB,mBAAmB,CAOrB;AAyDD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,IAAI,CAON;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACjE,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACnD,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,SAAS,GAAG,IAAI,EAC5B,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,wBAAwB,EAAE,CACxB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,KAAK,KACjB,SAAS,EACd,QAAQ,GAAE,QAAoB,GAC7B,IAAI,CAszBN;AAwLD,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,8BAA8B,EACjC,MAAM,EAAE,OAAO,6BAA6B,EAAE,gBAAgB,GAAG,SAAS,EAC1E,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0CtD;AAED,wBAAgB,iCAAiC,CAC/C,CAAC,EAAE,8BAA8B,EACjC,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,SAAS,CAyCX"}
@@ -75,6 +75,8 @@ export interface StandardReflectionProbeMaterialProjection {
75
75
  readonly probeIndex: number | undefined;
76
76
  readonly fallbackToSkylight: boolean;
77
77
  }
78
+ /** Keeps the fallback output as a same-pass, linear-HDR material projection. */
79
+ export declare function standardPbrFallbackDemand(projection: StandardReflectionProbeMaterialProjection): boolean;
78
80
  /** Projects the selected scene row into the Standard material lane. */
79
81
  export declare function projectReflectionProbeMaterialBinding(binding: StandardReflectionProbeBinding): StandardReflectionProbeMaterialProjection;
80
82
  /** Derives the logical-content UV scale for an uploaded material texture. */
@@ -118,7 +120,7 @@ export declare function defaultViewForUserRegionField(field: string, pipelineSta
118
120
  * `renderableIndex` per RenderSystem lifetime via the `seenIndices` Set
119
121
  * (the same warn-once anchor pattern used for missing-texture sprites).
120
122
  *
121
- * @param transformWorld The entity's resolved Transform.world mat4 (16 floats column-major).
123
+ * @param transformWorld The entity's resolved GlobalTransform.world mat4 (16 floats column-major).
122
124
  * @param slices The four anchor distances `[left, top, right, bottom]`
123
125
  * (sentinel `bottom < 0` for tile mode is consumed via abs()).
124
126
  * @param renderableIndex The entity index into the validated renderables list.