@forgeax/engine-render 0.1.21 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +281 -38
- package/dist/assembly/backend-contract.d.ts +13 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -1
- package/dist/assembly/bundler-contract.d.ts +9 -0
- package/dist/assembly/bundler-contract.d.ts.map +1 -0
- package/dist/assembly/device-feature-admission.d.ts +8 -0
- package/dist/assembly/device-feature-admission.d.ts.map +1 -1
- package/dist/assembly/extended-lighting-fallback.d.ts +13 -0
- package/dist/assembly/extended-lighting-fallback.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +7 -235
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +10 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +3 -2
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/standard-layer-projection.d.ts +10 -0
- package/dist/assembly/material/standard-layer-projection.d.ts.map +1 -0
- package/dist/assembly/material-shader-policy.d.ts +168 -0
- package/dist/assembly/material-shader-policy.d.ts.map +1 -0
- package/dist/assembly/material-shader-prewarm.d.ts +21 -0
- package/dist/assembly/material-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/mesh-ssbo-grow.d.ts +88 -0
- package/dist/assembly/mesh-ssbo-grow.d.ts.map +1 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts +14 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -0
- package/dist/assembly/recovery/generation.d.ts +46 -0
- package/dist/assembly/recovery/generation.d.ts.map +1 -0
- package/dist/assembly/recovery/recovery-attempt.d.ts +63 -0
- package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -0
- package/dist/assembly/recovery/renderer-recover.d.ts +115 -0
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -0
- package/dist/assembly/renderer-facade.d.ts +10 -0
- package/dist/assembly/renderer-facade.d.ts.map +1 -0
- package/dist/assembly/renderer-frame-transaction.d.ts +17 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-helpers.d.ts +19 -0
- package/dist/assembly/renderer-helpers.d.ts.map +1 -0
- package/dist/assembly/renderer-lifecycle.d.ts +34 -0
- package/dist/assembly/renderer-lifecycle.d.ts.map +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts +15 -0
- package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready-contract.d.ts +9 -0
- package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +55 -0
- package/dist/assembly/webgpu-ready.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +152 -0
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -0
- package/dist/authoring.mjs +1 -1
- package/dist/{chunk-PCHBPYML.mjs → chunk-GE3SDD72.mjs} +37 -5
- package/dist/chunk-GE3SDD72.mjs.map +1 -0
- package/dist/chunk-KZFTK6DO.mjs +1191 -0
- package/dist/chunk-KZFTK6DO.mjs.map +1 -0
- package/dist/{chunk-FS2KNUQH.mjs → chunk-Q752SHI5.mjs} +332 -568
- package/dist/chunk-Q752SHI5.mjs.map +1 -0
- package/dist/{chunk-6OPXDQ2E.mjs → chunk-RR5L4SRS.mjs} +33 -294
- package/dist/chunk-RR5L4SRS.mjs.map +1 -0
- package/dist/chunk-TFH5I7JJ.mjs +296 -0
- package/dist/chunk-TFH5I7JJ.mjs.map +1 -0
- package/dist/chunk-UQYS7FRM.mjs +1003 -0
- package/dist/chunk-UQYS7FRM.mjs.map +1 -0
- package/dist/chunk-YKB5DQV7.mjs +345 -0
- package/dist/chunk-YKB5DQV7.mjs.map +1 -0
- package/dist/{chunk-5YADUCA7.mjs → chunk-YRUYGA4A.mjs} +1189 -1217
- package/dist/chunk-YRUYGA4A.mjs.map +1 -0
- package/dist/chunk-Z3YYH2MB.mjs +5082 -0
- package/dist/chunk-Z3YYH2MB.mjs.map +1 -0
- package/dist/cluster-binner.d.ts +5 -0
- package/dist/cluster-binner.d.ts.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts +4 -0
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/light-probe.d.ts +9 -0
- package/dist/components/light-probe.d.ts.map +1 -0
- package/dist/components/rect-area-light.d.ts +12 -0
- package/dist/components/rect-area-light.d.ts.map +1 -0
- package/dist/components/scene-instance.d.ts +4 -0
- package/dist/components/scene-instance.d.ts.map +1 -1
- package/dist/components/spot-light.d.ts +3 -0
- package/dist/components/spot-light.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +27276 -23232
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/device-scope.d.ts +2 -0
- package/dist/device/device-scope.d.ts.map +1 -1
- package/dist/device/gpu-residency.d.ts +32 -5
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/device/lifecycle-transaction.d.ts +2 -0
- package/dist/device/lifecycle-transaction.d.ts.map +1 -0
- package/dist/environment/frame.d.ts +5 -0
- package/dist/environment/frame.d.ts.map +1 -1
- package/dist/environment/inspection.d.ts +7 -0
- package/dist/environment/inspection.d.ts.map +1 -1
- package/dist/environment/lifecycle.d.ts +20 -2
- package/dist/environment/lifecycle.d.ts.map +1 -1
- package/dist/errors/gpu-driven.d.ts +26 -0
- package/dist/errors/gpu-driven.d.ts.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/recover.d.ts +67 -3
- package/dist/errors/recover.d.ts.map +1 -1
- package/dist/errors/render.d.ts +39 -1
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +899 -0
- package/dist/extract/contracts.d.ts.map +1 -0
- package/dist/extract/gpu-driven.d.ts +50 -0
- package/dist/extract/gpu-driven.d.ts.map +1 -0
- package/dist/extract/visibility.d.ts.map +1 -1
- package/dist/features/host.d.ts +2 -0
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +3 -0
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts +2 -0
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts +34 -0
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/prepared-draw.d.ts +63 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -0
- package/dist/gpu-driven/production-raster.d.ts +126 -2
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/view-gpu.d.ts +64 -1
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-scene-schema.d.ts +14 -0
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +9 -1
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/gpu-usage.d.ts +0 -1
- package/dist/gpu-usage.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +3 -3
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +7 -6
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +7 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +90 -5
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +163 -1
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/internal.d.ts +9 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +23 -2
- package/dist/internal.mjs.map +1 -1
- package/dist/light-buffer-layout.d.ts +60 -148
- package/dist/light-buffer-layout.d.ts.map +1 -1
- package/dist/materials.d.ts +34 -10
- package/dist/materials.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +56 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/occlusion-proxy.d.ts +4 -0
- package/dist/occlusion-proxy.d.ts.map +1 -0
- package/dist/pbr-pipeline.d.ts +58 -21
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/light-frame.d.ts +3 -3
- package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/topology.d.ts +1 -1
- package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -1
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +2 -0
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts +1 -1
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/points-lines/prepare.d.ts +3 -0
- package/dist/points-lines/prepare.d.ts.map +1 -1
- package/dist/points-lines/standard-owner.d.ts +33 -0
- package/dist/points-lines/standard-owner.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/ltc-resources.d.ts +31 -0
- package/dist/prepare/extended-lighting/ltc-resources.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/resources.d.ts +72 -0
- package/dist/prepare/extended-lighting/resources.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/spot-modifiers.d.ts +42 -0
- package/dist/prepare/extended-lighting/spot-modifiers.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/state.d.ts +24 -0
- package/dist/prepare/extended-lighting/state.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +8 -6
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +55 -10
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +21 -5
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-timing.d.ts +19 -7
- package/dist/record/gpu-timing.d.ts.map +1 -1
- package/dist/record/helpers.d.ts +0 -20
- package/dist/record/helpers.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +20 -2
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +10 -18
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +11 -3
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/recovery-pipeline.d.ts +30 -0
- package/dist/record/recovery-pipeline.d.ts.map +1 -0
- package/dist/record/render-context.d.ts +82 -9
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +49 -2
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +1 -2
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/recovery/render-system-candidate.d.ts +65 -0
- package/dist/recovery/render-system-candidate.d.ts.map +1 -0
- package/dist/reflection/inspection.d.ts +10 -0
- package/dist/reflection/inspection.d.ts.map +1 -0
- package/dist/reflection/projection.d.ts +49 -0
- package/dist/reflection/projection.d.ts.map +1 -1
- package/dist/reflection/record-owner.d.ts +60 -0
- package/dist/reflection/record-owner.d.ts.map +1 -0
- package/dist/render-contract.d.ts +78 -15
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +7 -0
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +12 -0
- package/dist/render-system-extract-tail.d.ts.map +1 -0
- package/dist/render-system-extract.d.ts +252 -30
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +140 -5
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/probe-blend-record.d.ts +22 -0
- package/dist/scene/probe-blend-record.d.ts.map +1 -0
- package/dist/scene/probe-blend.d.ts +142 -0
- package/dist/scene/probe-blend.d.ts.map +1 -0
- package/dist/scene/render-scene-types.d.ts +0 -6
- package/dist/scene/render-scene-types.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +122 -9
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/scene/visibility/bounds.d.ts +20 -0
- package/dist/scene/visibility/bounds.d.ts.map +1 -0
- package/dist/scene/visibility/budget.d.ts +16 -0
- package/dist/scene/visibility/budget.d.ts.map +1 -0
- package/dist/scene/visibility/facet.d.ts +73 -0
- package/dist/scene/visibility/facet.d.ts.map +1 -0
- package/dist/scene/visibility/gpu-frame-timing.d.ts +41 -0
- package/dist/scene/visibility/gpu-frame-timing.d.ts.map +1 -0
- package/dist/scene/visibility/gpu-lod.d.ts +46 -0
- package/dist/scene/visibility/gpu-lod.d.ts.map +1 -0
- package/dist/scene/visibility/inspection.d.ts +132 -0
- package/dist/scene/visibility/inspection.d.ts.map +1 -0
- package/dist/scene/visibility/lod-selector.d.ts +25 -0
- package/dist/scene/visibility/lod-selector.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-confidence.d.ts +81 -0
- package/dist/scene/visibility/occlusion-confidence.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-pass.d.ts +57 -0
- package/dist/scene/visibility/occlusion-pass.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-query-pool.d.ts +57 -0
- package/dist/scene/visibility/occlusion-query-pool.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-runtime.d.ts +96 -0
- package/dist/scene/visibility/occlusion-runtime.d.ts.map +1 -0
- package/dist/scene/visibility/types.d.ts +34 -0
- package/dist/scene/visibility/types.d.ts.map +1 -0
- package/dist/ssr/admission.d.ts +122 -0
- package/dist/ssr/admission.d.ts.map +1 -0
- package/dist/ssr/composition.d.ts +32 -0
- package/dist/ssr/composition.d.ts.map +1 -0
- package/dist/ssr/errors.d.ts +39 -0
- package/dist/ssr/errors.d.ts.map +1 -0
- package/dist/ssr/identity.d.ts +13 -0
- package/dist/ssr/identity.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts +1 -1
- package/dist/temporal/frame-coordinator.d.ts +13 -0
- package/dist/temporal/frame-coordinator.d.ts.map +1 -1
- package/dist/temporal/frame.d.ts +2 -0
- package/dist/temporal/frame.d.ts.map +1 -1
- package/dist/temporal/index.mjs +6 -5
- package/dist/temporal/taa-history-store.d.ts +15 -1
- package/dist/temporal/taa-history-store.d.ts.map +1 -1
- package/dist/temporal/transaction.d.ts +5 -0
- package/dist/temporal/transaction.d.ts.map +1 -1
- package/dist/temporal/view.d.ts +7 -0
- package/dist/temporal/view.d.ts.map +1 -1
- package/dist/tilemap-chunk-extract-system.d.ts +1 -1
- package/dist/typed-render-graph-primitives.d.ts +4 -0
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/volume/passes.d.ts +8 -4
- package/dist/volume/passes.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +5 -0
- package/src/__tests__/detached-inspection.integration.test.ts +6 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +19 -1
- package/src/__tests__/device-loss-fanout.unit.test.ts +107 -0
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +21 -0
- package/src/__tests__/direct-light-snapshot.unit.test.ts +59 -3
- package/src/__tests__/environment-generation.integration.test.ts +39 -0
- package/src/__tests__/evidence-identity.ts +13 -0
- package/src/__tests__/evidence-identity.unit.test.ts +24 -0
- package/src/__tests__/expose-renderer-errors.unit.test.ts +34 -0
- package/src/__tests__/extended-lighting-recovery.browser.test.ts +14 -0
- package/src/__tests__/extended-lighting-recovery.dawn.test.ts +14 -0
- package/src/__tests__/extended-lighting-recovery.integration.test.ts +81 -0
- package/src/__tests__/extended-lighting-resources.unit.test.ts +51 -0
- package/src/__tests__/extended-lighting-zero-feature.integration.test.ts +52 -0
- package/src/__tests__/factory-contract.integration.test.ts +154 -6
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +4 -1
- package/src/__tests__/frame-observation.contract.test.ts +15 -0
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +146 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +1 -0
- package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +1 -0
- package/src/__tests__/gpu-driven-production.integration.test.ts +572 -9
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +66 -2
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +26 -1
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +89 -2
- package/src/__tests__/gpu-driven-view.browser.test.ts +3 -3
- package/src/__tests__/gpu-driven-view.dawn.test.ts +3 -3
- package/src/__tests__/gpu-driven-view.unit.test.ts +50 -0
- package/src/__tests__/gpu-lod-evidence.ts +188 -0
- package/src/__tests__/gpu-lod-fallback.integration.test.ts +10 -0
- package/src/__tests__/gpu-lod-indirect.integration.test.ts +40 -0
- package/src/__tests__/gpu-lod-parity.dawn.test.ts +29 -0
- package/src/__tests__/gpu-lod-readiness.integration.test.ts +52 -0
- package/src/__tests__/gpu-lod-schema.unit.test.ts +66 -0
- package/src/__tests__/gpu-lod-selector.unit.test.ts +28 -0
- package/src/__tests__/gpu-lod-silhouette.browser.test.ts +13 -0
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +66 -1
- package/src/__tests__/gpu-scene.dawn.test.ts +8 -1
- package/src/__tests__/gpu-scene.unit.test.ts +49 -3
- package/src/__tests__/ibl/face-uniforms.unit.test.ts +2 -0
- package/src/__tests__/ibl-residency-publication.unit.test.ts +113 -0
- package/src/__tests__/light-buffer-layout.unit.test.ts +113 -3
- package/src/__tests__/light-inspection.unit.test.ts +55 -0
- package/src/__tests__/light-resource-error.unit.test.ts +43 -0
- package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +109 -0
- package/src/__tests__/lod-bounds.unit.test.ts +42 -0
- package/src/__tests__/lod-cpu-lane.integration.test.ts +55 -0
- package/src/__tests__/lod-cpu-no-change.perf.test.ts +19 -0
- package/src/__tests__/lod-gpu-frame-timing.unit.test.ts +49 -0
- package/src/__tests__/lod-multi-view.integration.test.ts +63 -0
- package/src/__tests__/lod-occlusion-device-loss.integration.test.ts +27 -0
- package/src/__tests__/lod-occlusion-final-decision.integration.test.ts +47 -0
- package/src/__tests__/lod-occlusion-inspection.integration.test.ts +217 -0
- package/src/__tests__/lod-occlusion-inspection.schema.test-d.ts +14 -0
- package/src/__tests__/lod-occlusion-inspection.unit.test.ts +72 -0
- package/src/__tests__/lod-occlusion-visual-evidence.ts +91 -0
- package/src/__tests__/lod-occlusion.browser.test.ts +15 -0
- package/src/__tests__/lod-occlusion.dawn.test.ts +20 -0
- package/src/__tests__/lod-selector.profile.test.ts +35 -0
- package/src/__tests__/lod-selector.unit.test.ts +68 -0
- package/src/__tests__/lod-visibility-identity.unit.test.ts +198 -0
- package/src/__tests__/lod-visibility-lifecycle.integration.test.ts +132 -0
- package/src/__tests__/ltc-resources.unit.test.ts +32 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +41 -9
- package/src/__tests__/material-cooked-projection.unit.test.ts +19 -1
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +29 -0
- package/src/__tests__/material-stride-surface.unit.test.ts +7 -3
- package/src/__tests__/materials-standard-contract.unit.test.ts +104 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -1
- package/src/__tests__/occlusion-confidence.unit.test.ts +168 -0
- package/src/__tests__/occlusion-invalidation.integration.test.ts +37 -0
- package/src/__tests__/occlusion-pass-routing.unit.test.ts +16 -0
- package/src/__tests__/occlusion-pass.dawn.test.ts +20 -0
- package/src/__tests__/occlusion-pass.integration.test.ts +43 -0
- package/src/__tests__/occlusion-pass.rhi-null.test.ts +22 -0
- package/src/__tests__/occlusion-query-pool.rhi-null.test.ts +21 -0
- package/src/__tests__/occlusion-query-pool.unit.test.ts +95 -0
- package/src/__tests__/occlusion-query-ticket.integration.test.ts +47 -0
- package/src/__tests__/occlusion-query.dawn.test.ts +16 -0
- package/src/__tests__/occlusion-query.evidence.ts +178 -0
- package/src/__tests__/occlusion-query.rhi-null.test.ts +31 -0
- package/src/__tests__/occlusion-runtime.unit.test.ts +120 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +89 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +196 -0
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +1 -1
- package/src/__tests__/probe-bindings.unit.test.ts +200 -0
- package/src/__tests__/probe-blend-numeric.unit.test.ts +67 -0
- package/src/__tests__/probe-blend-oracle.unit.test.ts +136 -0
- package/src/__tests__/probe-capacity.integration.test.ts +97 -0
- package/src/__tests__/probe-recovery.integration.test.ts +104 -0
- package/src/__tests__/probe-scene-dirty.integration.test.ts +211 -0
- package/src/__tests__/profiler-phase-catalog.test.ts +4 -1
- package/src/__tests__/profiler-phase-token.test.ts +1 -0
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +6 -3
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +140 -0
- package/src/__tests__/rect-area-boundary.unit.test.ts +24 -0
- package/src/__tests__/reflection-fallback-graph.unit.test.ts +67 -0
- package/src/__tests__/reflection-fallback-inspection.unit.test.ts +77 -0
- package/src/__tests__/reflection-fallback-lifecycle.integration.test.ts +21 -0
- package/src/__tests__/reflection-fallback-projection.unit.test.ts +90 -0
- package/src/__tests__/reflection-fallback-source.unit.test.ts +32 -0
- package/src/__tests__/reflection-probe-owner-placement.unit.test.ts +39 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +120 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +1 -0
- package/src/__tests__/render-feature-docs.unit.test.ts +12 -7
- package/src/__tests__/render-graph-fallback.integration.test.ts +24 -0
- package/src/__tests__/render-perf/extended-lighting.bench.test.ts +66 -0
- package/src/__tests__/render-scene-projection.unit.test.ts +447 -18
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +160 -17
- package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +47 -0
- package/src/__tests__/renderer-generation-assembly.unit.test.ts +77 -0
- package/src/__tests__/renderer-generation-failure.unit.test.ts +108 -0
- package/src/__tests__/renderer-producer-root-matrix.integration.test.ts +33 -0
- package/src/__tests__/renderer-recovery-capability-matrix.unit.test.ts +59 -0
- package/src/__tests__/renderer-recovery-contract.unit.test.ts +73 -0
- package/src/__tests__/renderer-recovery-lifecycle.unit.test.ts +216 -0
- package/src/__tests__/renderer-target-history-recovery.integration.test.ts +80 -0
- package/src/__tests__/shader-manifest-fixture.ts +13 -16
- package/src/__tests__/shader-stage-surface.unit.test.ts +1 -1
- package/src/__tests__/skin-motion-regression.unit.test.ts +22 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +2 -2
- package/src/__tests__/spot-modifier-projection.unit.test.ts +70 -0
- package/src/__tests__/ssr-admission-matrix.integration.test.ts +206 -0
- package/src/__tests__/ssr-composition.unit.test.ts +46 -0
- package/src/__tests__/ssr-fallback-zero-work.bench.test.ts +94 -0
- package/src/__tests__/ssr-recovery-errors.unit.test.ts +58 -0
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +67 -0
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +7 -0
- package/src/__tests__/standard-layer-projection.unit.test.ts +23 -0
- package/src/__tests__/standard-lighting-inspection.integration.test.ts +1 -1
- package/src/__tests__/standard-lighting-write.unit.test.ts +66 -2
- package/src/__tests__/temporal-fallback-generation.integration.test.ts +16 -0
- package/src/__tests__/temporal-view.unit.test.ts +3 -3
- package/src/__tests__/transmission-prewarm.unit.test.ts +111 -32
- package/src/__tests__/visibility-budget.integration.test.ts +140 -0
- package/src/__tests__/visibility-budget.unit.test.ts +70 -0
- package/src/__tests__/visibility-extract.integration.test.ts +11 -6
- package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +6 -3
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +31 -28
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +3 -1
- package/src/assembly/backend-contract.ts +13 -0
- package/src/assembly/bundler-contract.ts +9 -0
- package/src/assembly/device-feature-admission.ts +26 -9
- package/src/assembly/extended-lighting-fallback.ts +216 -0
- package/src/assembly/factory.ts +81 -9634
- package/src/assembly/host-contract.ts +10 -0
- package/src/assembly/material/assembly.ts +18 -2
- package/src/assembly/material/standard-layer-projection.ts +16 -0
- package/src/assembly/material-shader-policy.ts +854 -0
- package/src/assembly/material-shader-prewarm.ts +88 -0
- package/src/assembly/mesh-ssbo-grow.ts +270 -0
- package/src/assembly/recovery/device-loss-fanout.ts +89 -0
- package/src/assembly/recovery/generation.ts +141 -0
- package/src/assembly/recovery/recovery-attempt.ts +800 -0
- package/src/assembly/recovery/renderer-recover.ts +906 -0
- package/src/assembly/renderer-facade.ts +342 -0
- package/src/assembly/renderer-frame-transaction.ts +45 -0
- package/src/assembly/renderer-helpers.ts +99 -0
- package/src/assembly/renderer-lifecycle.ts +159 -0
- package/src/assembly/shader-prewarm-policy.ts +157 -0
- package/src/assembly/webgpu-ready-contract.ts +14 -0
- package/src/assembly/webgpu-ready.ts +4079 -0
- package/src/assembly/webgpu-renderer.ts +4095 -0
- package/src/cluster-binner.ts +31 -0
- package/src/components/__tests__/lighting-authoring.unit.test.ts +39 -0
- package/src/components/__tests__/rect-area-light.unit.test.ts +33 -0
- package/src/components/camera.ts +1 -1
- package/src/components/index.ts +3 -0
- package/src/components/light-helpers.ts +52 -1
- package/src/components/light-probe.ts +13 -0
- package/src/components/rect-area-light.ts +15 -0
- package/src/components/scene-instance.ts +6 -0
- package/src/components/spot-light.ts +3 -0
- package/src/debug-draw-glue.ts +1 -1
- package/src/device/__tests__/extended-lighting-recovery.unit.test.ts +24 -0
- package/src/device/device-scope.ts +35 -6
- package/src/device/gpu-residency.ts +334 -35
- package/src/device/lifecycle-transaction.ts +12 -0
- package/src/environment/frame.ts +6 -0
- package/src/environment/inspection.ts +10 -0
- package/src/environment/lifecycle.ts +122 -9
- package/src/errors/gpu-driven.ts +92 -0
- package/src/errors/index.ts +1 -0
- package/src/errors/recover.ts +108 -5
- package/src/errors/render.ts +72 -1
- package/src/extract/camera.ts +3 -3
- package/src/extract/contracts.ts +974 -0
- package/src/extract/gpu-driven.ts +108 -0
- package/src/extract/visibility.ts +0 -23
- package/src/features/host.ts +16 -0
- package/src/features/prepared-gpu-work.ts +20 -2
- package/src/features/prepared-graphics-store.ts +17 -0
- package/src/gpu-driven/batch-topology.ts +206 -28
- package/src/gpu-driven/prepared-draw.ts +208 -0
- package/src/gpu-driven/production-raster.ts +1046 -39
- package/src/gpu-driven/view-gpu.ts +411 -29
- package/src/gpu-scene-schema.ts +13 -0
- package/src/gpu-scene.ts +137 -67
- package/src/gpu-usage.ts +0 -1
- package/src/hdrp-buffers.ts +6 -6
- package/src/ibl/IblPipelineCache.ts +134 -50
- package/src/ibl/skylight-bind-group.ts +26 -0
- package/src/index.ts +83 -1
- package/src/inspection-types.ts +220 -1
- package/src/internal.ts +38 -0
- package/src/light-buffer-layout.ts +157 -324
- package/src/materials.ts +278 -47
- package/src/mesh-material-bindings.ts +59 -0
- package/src/occlusion-proxy.ts +64 -0
- package/src/pbr-pipeline.ts +290 -60
- package/src/pipeline/standard-forward-lane.ts +47 -0
- package/src/pipeline/standard-lighting/graph.ts +2 -1
- package/src/pipeline/standard-lighting/light-frame.ts +3 -2
- package/src/pipeline/standard-lighting/topology.ts +1 -1
- package/src/pipeline/standard-lighting/transport.ts +2 -1
- package/src/pipeline/standard-pipeline.ts +2 -0
- package/src/pipeline-builder.ts +5 -2
- package/src/pipeline-spec.ts +12 -1
- package/src/plugin.ts +4 -0
- package/src/points-lines/__tests__/cache-recovery.unit.test.ts +22 -0
- package/src/points-lines/prepare.ts +9 -0
- package/src/points-lines/standard-owner.ts +403 -0
- package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +56 -0
- package/src/prepare/extended-lighting/ltc-resources.ts +136 -0
- package/src/prepare/extended-lighting/resources.ts +389 -0
- package/src/prepare/extended-lighting/spot-modifiers.ts +194 -0
- package/src/prepare/extended-lighting/state.ts +92 -0
- package/src/record/__tests__/frame-targets-recovery.unit.test.ts +60 -0
- package/src/record/__tests__/gpu-timing.unit.test.ts +177 -0
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +26 -1
- package/src/record/__tests__/mesh-ssbo.unit.test.ts +38 -0
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +124 -0
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +28 -13
- package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +47 -4
- package/src/record/__tests__/temporal-payload.unit.test.ts +29 -28
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +21 -2
- package/src/record/frame-lighting.ts +252 -53
- package/src/record/frame-snapshot.ts +72 -12
- package/src/record/frame-targets.ts +11 -1
- package/src/record/frame.ts +416 -95
- package/src/record/gpu-timing.ts +108 -44
- package/src/record/helpers.ts +1 -59
- package/src/record/main-pass-geometry.ts +434 -44
- package/src/record/main-pass-material.ts +324 -210
- package/src/record/main-pass-sprite-draws.ts +58 -92
- package/src/record/main-pass.ts +94 -6
- package/src/record/mesh-ssbo.ts +79 -46
- package/src/record/recovery-pipeline.ts +695 -0
- package/src/record/render-context.ts +99 -7
- package/src/record/shadow-pass.ts +66 -40
- package/src/record/typed-frame-graph.ts +270 -84
- package/src/record/view-ubo.ts +17 -27
- package/src/recovery/render-system-candidate.ts +839 -0
- package/src/reflection/inspection.ts +67 -0
- package/src/reflection/projection.ts +196 -1
- package/src/reflection/record-owner.ts +1283 -0
- package/src/render-contract.ts +82 -12
- package/src/render-pipeline.ts +5 -0
- package/src/render-system-extract-tail.ts +2983 -0
- package/src/render-system-extract.ts +290 -2784
- package/src/render-system.ts +1597 -1192
- package/src/scene/__tests__/changed-block-summary.candidate.test.ts +36 -0
- package/src/scene/probe-blend-record.ts +54 -0
- package/src/scene/probe-blend.ts +813 -0
- package/src/scene/render-scene-types.ts +0 -7
- package/src/scene/render-scene.ts +972 -184
- package/src/scene/visibility/bounds.ts +57 -0
- package/src/scene/visibility/budget.ts +40 -0
- package/src/scene/visibility/facet.ts +400 -0
- package/src/scene/visibility/gpu-frame-timing.ts +101 -0
- package/src/scene/visibility/gpu-lod.ts +119 -0
- package/src/scene/visibility/inspection.ts +313 -0
- package/src/scene/visibility/lod-selector.ts +84 -0
- package/src/scene/visibility/occlusion-confidence.ts +478 -0
- package/src/scene/visibility/occlusion-pass.ts +165 -0
- package/src/scene/visibility/occlusion-query-pool.ts +178 -0
- package/src/scene/visibility/occlusion-runtime.ts +672 -0
- package/src/scene/visibility/types.ts +50 -0
- package/src/ssr/admission.ts +451 -0
- package/src/ssr/composition.ts +73 -0
- package/src/ssr/errors.ts +76 -0
- package/src/ssr/identity.ts +12 -0
- package/src/systems/skin-palette-allocator.ts +1 -1
- package/src/temporal/frame-coordinator.ts +30 -1
- package/src/temporal/frame.ts +14 -1
- package/src/temporal/taa-history-store.ts +46 -2
- package/src/temporal/temporal-view.ts +1 -1
- package/src/temporal/transaction.ts +9 -0
- package/src/temporal/view.ts +11 -0
- package/src/tilemap-chunk-extract-system.ts +5 -5
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +19 -12
- package/src/typed-render-graph-primitives.ts +48 -0
- package/src/volume/passes.ts +46 -49
- package/dist/.tsbuildinfo +0 -1
- package/dist/chunk-5YADUCA7.mjs.map +0 -1
- package/dist/chunk-6OPXDQ2E.mjs.map +0 -1
- package/dist/chunk-BXBQQKFQ.mjs +0 -67
- package/dist/chunk-BXBQQKFQ.mjs.map +0 -1
- package/dist/chunk-FS2KNUQH.mjs.map +0 -1
- package/dist/chunk-PCHBPYML.mjs.map +0 -1
- package/dist/chunk-VFPLTKCU.mjs +0 -192
- package/dist/chunk-VFPLTKCU.mjs.map +0 -1
package/src/inspection-types.ts
CHANGED
|
@@ -6,6 +6,75 @@
|
|
|
6
6
|
|
|
7
7
|
import type { DirectionalShadowFilterLabel } from './components/directional-shadow-filter';
|
|
8
8
|
import type { PointsLinesInspection } from './points-lines/inspection';
|
|
9
|
+
import type { LodOcclusionInspection } from './scene/visibility/inspection';
|
|
10
|
+
import type { SsrAdmissionIdentity } from './ssr/identity';
|
|
11
|
+
|
|
12
|
+
export type {
|
|
13
|
+
LodOcclusionInspection,
|
|
14
|
+
LodOcclusionInspectionRow,
|
|
15
|
+
LodOcclusionWorldAttribution,
|
|
16
|
+
LodOcclusionWorldInspection,
|
|
17
|
+
} from './scene/visibility/inspection';
|
|
18
|
+
|
|
19
|
+
export interface LodOcclusionInspectionSummary extends LodOcclusionInspection {
|
|
20
|
+
readonly timing?: {
|
|
21
|
+
readonly medianUs: number;
|
|
22
|
+
readonly p95Us: number;
|
|
23
|
+
readonly samples: number;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* SSR M0 inspection is a detached projection of the consumer admission
|
|
29
|
+
* result. The admission owner remains in `ssr/admission`; this re-export
|
|
30
|
+
* keeps inspection callers on the same typed identity and status vocabulary.
|
|
31
|
+
*/
|
|
32
|
+
export type {
|
|
33
|
+
SsrAdmissionBudget,
|
|
34
|
+
SsrAdmissionResult,
|
|
35
|
+
SsrAdmissionWork,
|
|
36
|
+
SsrDependenciesInspection,
|
|
37
|
+
SsrFormatReceipt,
|
|
38
|
+
SsrReflectionFallbackReceipt,
|
|
39
|
+
SsrTemporalReceipt,
|
|
40
|
+
} from './ssr/admission';
|
|
41
|
+
export type {
|
|
42
|
+
SsrAdmissionError,
|
|
43
|
+
SsrAdmissionErrorCode,
|
|
44
|
+
SsrAdmissionErrorDetail,
|
|
45
|
+
SsrOwnerRecoveryAction,
|
|
46
|
+
} from './ssr/errors';
|
|
47
|
+
export type { SsrAdmissionIdentity } from './ssr/identity';
|
|
48
|
+
|
|
49
|
+
export interface LightInspectionInput {
|
|
50
|
+
readonly generation: number;
|
|
51
|
+
readonly candidate: string | undefined;
|
|
52
|
+
readonly accepted: string | undefined;
|
|
53
|
+
readonly lastKnownGood: string | undefined;
|
|
54
|
+
readonly failure: string | undefined;
|
|
55
|
+
readonly failureKeys: readonly string[];
|
|
56
|
+
readonly resourceCount: number;
|
|
57
|
+
readonly uploadBytes: number;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type LightInspection = Readonly<LightInspectionInput>;
|
|
61
|
+
|
|
62
|
+
export function projectLightInspection(input: LightInspectionInput): LightInspection {
|
|
63
|
+
return Object.freeze({
|
|
64
|
+
generation: input.generation,
|
|
65
|
+
candidate: input.candidate,
|
|
66
|
+
accepted: input.accepted,
|
|
67
|
+
lastKnownGood: input.lastKnownGood,
|
|
68
|
+
failure: input.failure,
|
|
69
|
+
failureKeys: [...input.failureKeys],
|
|
70
|
+
resourceCount: input.resourceCount,
|
|
71
|
+
uploadBytes: input.uploadBytes,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function lightInspectionIdentity(topology: string, generation: number): string {
|
|
76
|
+
return `${topology}:generation-${generation}`;
|
|
77
|
+
}
|
|
9
78
|
|
|
10
79
|
export type BloomGraphStatus = 'empty' | 'valid' | 'invalid';
|
|
11
80
|
|
|
@@ -34,6 +103,62 @@ export interface BatchTopologyInspection {
|
|
|
34
103
|
readonly ineligible: number;
|
|
35
104
|
}
|
|
36
105
|
|
|
106
|
+
export interface ProbeBlendRecordInspection {
|
|
107
|
+
readonly objectKey: number;
|
|
108
|
+
readonly generation: number;
|
|
109
|
+
readonly localBlendFraction: number;
|
|
110
|
+
readonly shPreblend: readonly number[];
|
|
111
|
+
readonly byteLength: number;
|
|
112
|
+
readonly candidate: boolean;
|
|
113
|
+
readonly accepted: boolean;
|
|
114
|
+
readonly lastKnownGood: boolean;
|
|
115
|
+
readonly sentinel: string | undefined;
|
|
116
|
+
readonly probeBlendIndex: number;
|
|
117
|
+
readonly contributors: readonly {
|
|
118
|
+
readonly identity: string;
|
|
119
|
+
readonly distance: number;
|
|
120
|
+
readonly radius: number;
|
|
121
|
+
readonly coverage: number;
|
|
122
|
+
readonly q: number;
|
|
123
|
+
readonly qHat: number;
|
|
124
|
+
readonly alpha: number;
|
|
125
|
+
}[];
|
|
126
|
+
readonly qHatSum: number;
|
|
127
|
+
readonly rStar: number;
|
|
128
|
+
readonly fallbackReason: string | undefined;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface ProbeSkyInspection {
|
|
132
|
+
readonly available: boolean;
|
|
133
|
+
readonly identity: string | undefined;
|
|
134
|
+
readonly sourceKey: string | undefined;
|
|
135
|
+
readonly irradiance: readonly [number, number, number];
|
|
136
|
+
readonly fallbackReason: string | undefined;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface ProbeBlendInspection {
|
|
140
|
+
readonly activeContributorCount: number;
|
|
141
|
+
readonly admittedProbeCount: number;
|
|
142
|
+
readonly coverage: number;
|
|
143
|
+
readonly skyResidualFraction: number;
|
|
144
|
+
readonly finite: boolean;
|
|
145
|
+
readonly errorCode: 'capacity-exceeded' | 'invalid-admitted-prefix' | undefined;
|
|
146
|
+
readonly records: readonly ProbeBlendRecordInspection[];
|
|
147
|
+
readonly sky: ProbeSkyInspection;
|
|
148
|
+
readonly dirtyVisitCount: number;
|
|
149
|
+
readonly dirtyReasons: readonly string[];
|
|
150
|
+
readonly receipt: {
|
|
151
|
+
readonly activeIdentities: readonly string[];
|
|
152
|
+
readonly admittedIdentities: readonly string[];
|
|
153
|
+
readonly rejectedIdentities: readonly string[];
|
|
154
|
+
readonly stableOrder: readonly string[];
|
|
155
|
+
readonly capacity: number;
|
|
156
|
+
readonly scaleRadius: number;
|
|
157
|
+
readonly finite: boolean;
|
|
158
|
+
readonly overflowReason: 'active-count-exceeds-capacity' | undefined;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
37
162
|
export interface GpuSceneTableInspection {
|
|
38
163
|
readonly capacity: number;
|
|
39
164
|
readonly bytes: number;
|
|
@@ -64,6 +189,16 @@ export interface GpuDrivenProductionInspection {
|
|
|
64
189
|
readonly topologyRevision: number | undefined;
|
|
65
190
|
readonly validatedGpuOwnedRows: number;
|
|
66
191
|
readonly cpuFallbackDrawItems: number;
|
|
192
|
+
/** Index work accumulated by the real GPU LOD selector for the last submit. */
|
|
193
|
+
readonly geometryWork: number;
|
|
194
|
+
/** Level-0 index work for the same selected candidates. */
|
|
195
|
+
readonly rootGeometryWork: number;
|
|
196
|
+
/** `1 - geometryWork / rootGeometryWork` when the root denominator is non-zero. */
|
|
197
|
+
readonly geometryWorkReduction: number;
|
|
198
|
+
/** Number of selector batches in the last filtered production plan. */
|
|
199
|
+
readonly batchCount: number;
|
|
200
|
+
/** Number of non-zero-capacity indirect raster commands actually encoded. */
|
|
201
|
+
readonly indirectDrawCount: number;
|
|
67
202
|
}
|
|
68
203
|
|
|
69
204
|
export type DirectionalShadowEffectiveProfile =
|
|
@@ -106,6 +241,82 @@ export type ReflectionProbeSelectionInspection =
|
|
|
106
241
|
| { readonly kind: 'probe'; readonly worldId: number; readonly entityKey: number }
|
|
107
242
|
| { readonly kind: 'skylight' };
|
|
108
243
|
|
|
244
|
+
export type ReflectionFallbackSource = 'probe' | 'skylight' | 'neutral';
|
|
245
|
+
|
|
246
|
+
export type ReflectionFallbackState = 'candidate' | 'active' | 'lkg' | 'neutral' | 'unavailable';
|
|
247
|
+
|
|
248
|
+
/** Detached committed fallback facts; never exposes a live GPU handle. */
|
|
249
|
+
export interface ReflectionFallbackReceipt {
|
|
250
|
+
/** Device-scope owner that identifies the renderer transaction. */
|
|
251
|
+
readonly rendererId?: string;
|
|
252
|
+
/** Stable producer identity for this detached projection. */
|
|
253
|
+
readonly producerId?: string;
|
|
254
|
+
/** Stable main-pass renderable identity, when this is a per-renderable row. */
|
|
255
|
+
readonly renderableKey?: string;
|
|
256
|
+
/** Stable producer source identity, never a physical resource handle. */
|
|
257
|
+
readonly sourceKey?: string;
|
|
258
|
+
/** Frame number that produced this detached receipt. */
|
|
259
|
+
readonly frameId?: number;
|
|
260
|
+
readonly source: ReflectionFallbackSource;
|
|
261
|
+
readonly sourceGeneration: number;
|
|
262
|
+
readonly projectionGeneration: number;
|
|
263
|
+
readonly deviceGeneration: number;
|
|
264
|
+
readonly state: ReflectionFallbackState;
|
|
265
|
+
readonly candidateVisible: false;
|
|
266
|
+
readonly coverage: number;
|
|
267
|
+
readonly extent?: readonly [number, number, number];
|
|
268
|
+
readonly brdfSignature: string;
|
|
269
|
+
/** Exact host identity of the detached producer transaction, when bound. */
|
|
270
|
+
readonly identity?: SsrAdmissionIdentity;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* One completed readback for the frame-owned fallback attachment.
|
|
275
|
+
*
|
|
276
|
+
* This is an aggregate attachment fact, not a per-renderable row. Row
|
|
277
|
+
* receipts deliberately carry source/coverage identity only, so one pixel
|
|
278
|
+
* cannot be mistaken for every renderable's BRDF result.
|
|
279
|
+
*/
|
|
280
|
+
export interface ReflectionFallbackReadbackReceipt {
|
|
281
|
+
readonly rendererId: string;
|
|
282
|
+
readonly producerId: string;
|
|
283
|
+
readonly frameId: number;
|
|
284
|
+
readonly deviceGeneration: number;
|
|
285
|
+
readonly graphGeneration: number;
|
|
286
|
+
readonly textureIdentity: number;
|
|
287
|
+
readonly format: string;
|
|
288
|
+
readonly size: { readonly width: number; readonly height: number };
|
|
289
|
+
readonly linearHdr: readonly [number, number, number, number];
|
|
290
|
+
readonly readbackHash: string;
|
|
291
|
+
readonly readbackStatus: 'complete';
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export type ReflectionFallbackFailureStage =
|
|
295
|
+
| 'prepare'
|
|
296
|
+
| 'filter'
|
|
297
|
+
| 'build'
|
|
298
|
+
| 'encode'
|
|
299
|
+
| 'finish'
|
|
300
|
+
| 'submit'
|
|
301
|
+
| 'completion';
|
|
302
|
+
|
|
303
|
+
export type ReflectionFallbackRecoveryAction =
|
|
304
|
+
| 'use-LKG'
|
|
305
|
+
| 'use-Skylight'
|
|
306
|
+
| 'use-neutral'
|
|
307
|
+
| 'recapture'
|
|
308
|
+
| 'rebuild'
|
|
309
|
+
| 'retry';
|
|
310
|
+
|
|
311
|
+
export interface ReflectionFallbackInspection {
|
|
312
|
+
readonly receipt: ReflectionFallbackReceipt;
|
|
313
|
+
readonly failureStage?: ReflectionFallbackFailureStage;
|
|
314
|
+
readonly failureCode?: string;
|
|
315
|
+
readonly expected?: string;
|
|
316
|
+
readonly detail?: Readonly<Record<string, unknown>>;
|
|
317
|
+
readonly recoveryAction: ReflectionFallbackRecoveryAction;
|
|
318
|
+
}
|
|
319
|
+
|
|
109
320
|
export interface ReflectionProbeInspection {
|
|
110
321
|
readonly selection: ReflectionProbeSelectionInspection;
|
|
111
322
|
readonly factCount: number;
|
|
@@ -119,6 +330,13 @@ export interface ReflectionProbeInspection {
|
|
|
119
330
|
readonly pipelineReady: boolean;
|
|
120
331
|
readonly pipelineWarmupAttempts: number;
|
|
121
332
|
readonly pipelineWarmupFailure?: string;
|
|
333
|
+
readonly reflectionFallback: ReflectionFallbackReceipt;
|
|
334
|
+
/** Latest bounded fallback failure and owner-directed recovery action. */
|
|
335
|
+
readonly reflectionFallbackInspection: ReflectionFallbackInspection;
|
|
336
|
+
/** Bounded per-renderable projections; no live graph resources are included. */
|
|
337
|
+
readonly reflectionFallbacks?: readonly ReflectionFallbackReceipt[];
|
|
338
|
+
/** Completed frame attachment readback; separate from per-renderable rows. */
|
|
339
|
+
readonly reflectionFallbackReadback?: ReflectionFallbackReadbackReceipt;
|
|
122
340
|
}
|
|
123
341
|
|
|
124
342
|
/** Detached semantic descriptor for the Standard scene-temporal producer. */
|
|
@@ -155,7 +373,6 @@ export type RenderSceneResyncReason =
|
|
|
155
373
|
| 'attach'
|
|
156
374
|
| 'asset-catalog-changed'
|
|
157
375
|
| 'shared-ref-changed'
|
|
158
|
-
| 'journal-overflow'
|
|
159
376
|
| 'unsupported-change'
|
|
160
377
|
| 'non-rigid-lane'
|
|
161
378
|
| 'explicit-invalidate';
|
|
@@ -168,6 +385,8 @@ export interface PersistentRenderSceneInspection {
|
|
|
168
385
|
readonly transformUpdates: number;
|
|
169
386
|
readonly lastResyncReason: RenderSceneResyncReason | undefined;
|
|
170
387
|
readonly projectionRecords: number;
|
|
388
|
+
/** Numeric probe ownership facts; no GPU handles or object graph references. */
|
|
389
|
+
readonly probeBlend?: ProbeBlendInspection;
|
|
171
390
|
readonly topology: BatchTopologyInspection;
|
|
172
391
|
readonly gpu:
|
|
173
392
|
| { readonly status: 'inactive' }
|
package/src/internal.ts
CHANGED
|
@@ -7,8 +7,46 @@ export {
|
|
|
7
7
|
type TilesetRuntimeError,
|
|
8
8
|
type TilesetRuntimeErrorCode,
|
|
9
9
|
} from '@forgeax/engine-assets-runtime';
|
|
10
|
+
export { DeviceScope } from './device/device-scope';
|
|
11
|
+
export { createLightResourceUnavailable } from './errors/render';
|
|
12
|
+
export {
|
|
13
|
+
deriveLtcResourcePlan,
|
|
14
|
+
type LtcResourcePlan,
|
|
15
|
+
} from './prepare/extended-lighting/ltc-resources';
|
|
16
|
+
export {
|
|
17
|
+
deriveExtendedLightingCapability,
|
|
18
|
+
EXTENDED_LIGHTING_REQUIRED_SAMPLED_TEXTURES,
|
|
19
|
+
type ExtendedLightingCapabilityResult,
|
|
20
|
+
type ExtendedLightingResourceCandidate,
|
|
21
|
+
extendedLightingSampledTextureCapacityAvailable,
|
|
22
|
+
} from './prepare/extended-lighting/resources';
|
|
23
|
+
export {
|
|
24
|
+
createExtendedLightingState,
|
|
25
|
+
type ExtendedLightingState,
|
|
26
|
+
projectExtendedLightingInspection,
|
|
27
|
+
promoteExtendedLightingCandidate,
|
|
28
|
+
recordExtendedLightingFailure,
|
|
29
|
+
} from './prepare/extended-lighting/state';
|
|
10
30
|
export {
|
|
11
31
|
type GraphTargetCaptureReadbackValidation,
|
|
12
32
|
validateGraphTargetCaptureReadback,
|
|
13
33
|
} from './record/frame-snapshot';
|
|
34
|
+
export {
|
|
35
|
+
buildRectAreaWorldFrame,
|
|
36
|
+
rectAreaFacesPoint,
|
|
37
|
+
} from './render-system-extract';
|
|
38
|
+
export {
|
|
39
|
+
admitProbeContributors,
|
|
40
|
+
blendLightProbes,
|
|
41
|
+
PROBE_MAX_CONTRIBUTORS,
|
|
42
|
+
scaledProbeWeight,
|
|
43
|
+
} from './scene/probe-blend';
|
|
44
|
+
export {
|
|
45
|
+
createVisibilityBudget,
|
|
46
|
+
type VisibilityBudget,
|
|
47
|
+
} from './scene/visibility/budget';
|
|
48
|
+
export {
|
|
49
|
+
type OcclusionRuntimeTestHooks,
|
|
50
|
+
setOcclusionRuntimeTestHooks,
|
|
51
|
+
} from './scene/visibility/occlusion-runtime';
|
|
14
52
|
export { TemporalFrameCoordinator } from './temporal/frame-coordinator';
|