@forgeax/engine-render 0.1.20 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +365 -29
- package/dist/assembly/backend-contract.d.ts +13 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -1
- package/dist/assembly/device-feature-admission.d.ts +18 -0
- package/dist/assembly/device-feature-admission.d.ts.map +1 -0
- package/dist/assembly/directional-shadow-inspection.d.ts +38 -0
- package/dist/assembly/directional-shadow-inspection.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +30 -19
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +19 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/render-target-host.d.ts +46 -0
- package/dist/assembly/render-target-host.d.ts.map +1 -0
- package/dist/assets/render-asset-port.d.ts.map +1 -1
- package/dist/authoring.mjs +4 -1
- package/dist/authoring.mjs.map +1 -1
- package/dist/capture/cube-views.d.ts +21 -0
- package/dist/capture/cube-views.d.ts.map +1 -0
- package/dist/capture/scheduler.d.ts +54 -0
- package/dist/capture/scheduler.d.ts.map +1 -0
- package/dist/{chunk-PCHBPYML.mjs → chunk-4L3P6DT5.mjs} +2 -2
- package/dist/chunk-4L3P6DT5.mjs.map +1 -0
- package/dist/{chunk-VFPLTKCU.mjs → chunk-4NPUASZR.mjs} +15 -4
- package/dist/chunk-4NPUASZR.mjs.map +1 -0
- package/dist/chunk-DIYW3M5D.mjs +5085 -0
- package/dist/chunk-DIYW3M5D.mjs.map +1 -0
- package/dist/chunk-FBC4R44J.mjs +1003 -0
- package/dist/chunk-FBC4R44J.mjs.map +1 -0
- package/dist/{chunk-CDTWTHZR.mjs → chunk-FF7K3FSO.mjs} +474 -168
- package/dist/chunk-FF7K3FSO.mjs.map +1 -0
- package/dist/chunk-HZUPSYW7.mjs +1104 -0
- package/dist/chunk-HZUPSYW7.mjs.map +1 -0
- package/dist/{chunk-TBQJOK2L.mjs → chunk-QODA5UKU.mjs} +321 -269
- package/dist/chunk-QODA5UKU.mjs.map +1 -0
- package/dist/chunk-YALPS44A.mjs +296 -0
- package/dist/chunk-YALPS44A.mjs.map +1 -0
- package/dist/{chunk-4XINDLAY.mjs → chunk-ZUWKAZ2I.mjs} +1963 -2178
- package/dist/chunk-ZUWKAZ2I.mjs.map +1 -0
- package/dist/cluster-binner.d.ts +5 -0
- package/dist/cluster-binner.d.ts.map +1 -1
- package/dist/components/camera.d.ts +1 -0
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/cube-camera.d.ts +20 -0
- package/dist/components/cube-camera.d.ts.map +1 -0
- package/dist/components/directional-light.d.ts +11 -2
- package/dist/components/directional-light.d.ts.map +1 -1
- package/dist/components/directional-shadow-filter.d.ts +25 -0
- package/dist/components/directional-shadow-filter.d.ts.map +1 -0
- package/dist/components/index.d.ts +5 -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/reflection-probe.d.ts +17 -0
- package/dist/components/reflection-probe.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 +14836 -9620
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +8 -1
- 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.map +1 -1
- package/dist/environment/lifecycle.d.ts +5 -0
- 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 +9 -1
- package/dist/errors/recover.d.ts.map +1 -1
- package/dist/errors/render.d.ts +166 -93
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/directional-shadow-projection.d.ts +23 -0
- package/dist/extract/directional-shadow-projection.d.ts.map +1 -0
- package/dist/extract/environment.d.ts +14 -0
- package/dist/extract/environment.d.ts.map +1 -1
- 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/fullscreen.d.ts.map +1 -1
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +10 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +13 -2
- package/dist/fullscreen-post-process-pass.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 +97 -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 +8 -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 +21 -19
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +4 -0
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/kernel-cache.d.ts +36 -0
- package/dist/ibl/kernel-cache.d.ts.map +1 -0
- package/dist/index.d.ts +39 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +91 -6
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +214 -1
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/instances-derived-bounds.d.ts +50 -0
- package/dist/instances-derived-bounds.d.ts.map +1 -0
- 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 +58 -140
- package/dist/light-buffer-layout.d.ts.map +1 -1
- package/dist/materials.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +54 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +38 -14
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts +2 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/errors.d.ts +4 -0
- package/dist/pipeline/standard-lighting/errors.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/graph.d.ts +24 -0
- package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/inspection.d.ts +38 -0
- package/dist/pipeline/standard-lighting/inspection.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/layout.d.ts +28 -0
- package/dist/pipeline/standard-lighting/layout.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/light-frame.d.ts +33 -0
- package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/membership.d.ts +14 -0
- package/dist/pipeline/standard-lighting/membership.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/prepare.d.ts +16 -0
- package/dist/pipeline/standard-lighting/prepare.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/topology.d.ts +45 -0
- package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/transport.d.ts +36 -0
- package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -0
- package/dist/pipeline/standard-pipeline.d.ts +4 -13
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline/standard-profile.d.ts +5 -26
- package/dist/pipeline/standard-profile.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 +40 -7
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/point-shadow-inspection.d.ts +21 -0
- package/dist/point-shadow-inspection.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 +33 -36
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +78 -24
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts +5 -0
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +16 -6
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-pass-timing/contract.d.ts +96 -0
- package/dist/record/gpu-pass-timing/contract.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/errors.d.ts +18 -0
- package/dist/record/gpu-pass-timing/errors.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/index.d.ts +8 -0
- package/dist/record/gpu-pass-timing/index.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/parser.d.ts +11 -0
- package/dist/record/gpu-pass-timing/parser.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/session.d.ts +43 -0
- package/dist/record/gpu-pass-timing/session.d.ts.map +1 -0
- package/dist/record/gpu-timing.d.ts +20 -3
- 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 +6 -1
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +25 -2
- 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 +2 -0
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +98 -6
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +119 -4
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +7 -5
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/reflection/filter.d.ts +22 -0
- package/dist/reflection/filter.d.ts.map +1 -0
- package/dist/reflection/gpu-table.d.ts +25 -0
- package/dist/reflection/gpu-table.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 +140 -0
- package/dist/reflection/projection.d.ts.map +1 -0
- 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 +62 -14
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts +1 -0
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +49 -2
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +160 -31
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +28 -2
- package/dist/render-system.d.ts.map +1 -1
- package/dist/renderer.d.ts +43 -0
- package/dist/renderer.d.ts.map +1 -0
- 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 +117 -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/shadow-atlas.d.ts +3 -3
- package/dist/shadow-atlas.d.ts.map +1 -1
- package/dist/ssao-buffers.d.ts +3 -0
- package/dist/ssao-buffers.d.ts.map +1 -1
- 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/targets/contracts.d.ts +66 -0
- package/dist/targets/contracts.d.ts.map +1 -0
- package/dist/targets/graph-projection.d.ts +29 -0
- package/dist/targets/graph-projection.d.ts.map +1 -0
- package/dist/targets/material-source.d.ts +34 -0
- package/dist/targets/material-source.d.ts.map +1 -0
- package/dist/targets/owner.d.ts +32 -0
- package/dist/targets/owner.d.ts.map +1 -0
- package/dist/targets/physical.d.ts +18 -0
- package/dist/targets/physical.d.ts.map +1 -0
- package/dist/targets/readback.d.ts +39 -0
- package/dist/targets/readback.d.ts.map +1 -0
- 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/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 +5 -1
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-passes.d.ts +1 -1
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/dist/volume/passes.d.ts +9 -5
- package/dist/volume/passes.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/__tests__/bloom-exact-zero.unit.test.ts +48 -19
- package/src/__tests__/bloom-lifecycle.integration.test.ts +41 -13
- package/src/__tests__/camera-target-consumption.unit.test.ts +53 -0
- package/src/__tests__/cluster-binner.unit.test.ts +35 -0
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +12 -2
- package/src/__tests__/cube-camera-scheduler.unit.test.ts +70 -0
- package/src/__tests__/cube-camera-single-submit.perf.test.ts +75 -0
- package/src/__tests__/cube-camera-view-matrices.unit.test.ts +41 -0
- package/src/__tests__/cube-camera-vocabulary.unit.test.ts +47 -0
- package/src/__tests__/cube-camera.integration.test.ts +42 -0
- package/src/__tests__/detached-inspection.integration.test.ts +6 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +85 -0
- package/src/__tests__/direct-light-snapshot.unit.test.ts +62 -6
- package/src/__tests__/docs-gate-green.unit.test.ts +38 -0
- package/src/__tests__/environment-generation.integration.test.ts +16 -0
- package/src/__tests__/evidence-identity.ts +13 -0
- package/src/__tests__/evidence-identity.unit.test.ts +24 -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 +288 -29
- package/src/__tests__/fog-component.unit.test.ts +67 -0
- package/src/__tests__/fog.integration.test.ts +86 -0
- package/src/__tests__/frame-observation.contract.test.ts +15 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +37 -0
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +146 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +10 -8
- package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +18 -1
- package/src/__tests__/gpu-driven-production.integration.test.ts +579 -17
- 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 +101 -6
- 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-pass-timing-browser-runner.ts +281 -0
- package/src/__tests__/gpu-pass-timing-coexistence.integration.test.ts +80 -0
- package/src/__tests__/gpu-pass-timing-contract.unit.test.ts +243 -0
- package/src/__tests__/gpu-pass-timing-exact-zero.unit.test.ts +131 -0
- package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +230 -0
- package/src/__tests__/gpu-pass-timing-observation.unit.test.ts +233 -0
- package/src/__tests__/gpu-pass-timing-session.unit.test.ts +438 -0
- package/src/__tests__/gpu-pass-timing.browser.test.ts +26 -0
- package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +125 -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__/hdrp-group2-visibility.unit.test.ts +24 -0
- package/src/__tests__/instances-culling.integration.test.ts +94 -0
- package/src/__tests__/instances-derived-bounds.unit.test.ts +118 -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 +17 -0
- package/src/__tests__/material-observation.integration.test.ts +101 -0
- 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__/pbr-view-layout.unit.test.ts +16 -0
- package/src/__tests__/point-shadow-inspection.unit.test.ts +60 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +196 -0
- 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__/public-surface.test-d.ts +10 -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-authoring.unit.test.ts +71 -0
- package/src/__tests__/reflection-probe-filter.unit.test.ts +54 -0
- package/src/__tests__/reflection-probe-ibl-topology.unit.test.ts +45 -0
- package/src/__tests__/reflection-probe-owner-placement.unit.test.ts +39 -0
- package/src/__tests__/reflection-probe-pass-encode.integration.test.ts +101 -0
- package/src/__tests__/reflection-probe-performance.perf.test.ts +60 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +120 -0
- package/src/__tests__/reflection-probe-recovery.integration.test.ts +55 -0
- package/src/__tests__/reflection-probe-selection.unit.test.ts +46 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +19 -3
- 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__/render-target-admission.unit.test.ts +80 -0
- package/src/__tests__/render-target-graph-projection.unit.test.ts +102 -0
- package/src/__tests__/render-target-inspection.unit.test.ts +52 -0
- package/src/__tests__/render-target-material-source.test-d.ts +30 -0
- package/src/__tests__/render-target-material-source.unit.test.ts +97 -0
- package/src/__tests__/render-target-owner-placement.unit.test.ts +203 -0
- package/src/__tests__/render-target-owner.unit.test.ts +122 -0
- package/src/__tests__/render-target-probe-soak.perf.test.ts +94 -0
- package/src/__tests__/render-target-public-schema.json +107 -0
- package/src/__tests__/render-target-public-schema.unit.test.ts +91 -0
- package/src/__tests__/render-target-public-surface.test-d.ts +83 -0
- package/src/__tests__/render-target-readback.integration.test.ts +90 -0
- package/src/__tests__/render-target-recovery.integration.test.ts +85 -0
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +124 -0
- package/src/__tests__/renderer-lifecycle.integration.test.ts +14 -0
- package/src/__tests__/shader-stage-surface.unit.test.ts +19 -4
- package/src/__tests__/skin-motion-regression.unit.test.ts +154 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +13 -4
- 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-capability.integration.test.ts +63 -0
- package/src/__tests__/standard-cluster-transport.unit.test.ts +121 -0
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +299 -0
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +15 -5
- package/src/__tests__/standard-lighting-inspection.integration.test.ts +138 -0
- package/src/__tests__/standard-lighting-ssot.unit.test.ts +18 -0
- package/src/__tests__/standard-lighting-write.unit.test.ts +441 -0
- package/src/__tests__/standard-lighting.integration.test.ts +67 -0
- package/src/__tests__/standard-pipeline.dawn.test.ts +206 -5
- package/src/__tests__/standard-pipeline.integration.test.ts +181 -150
- package/src/__tests__/standard-probe-binding.unit.test.ts +25 -0
- package/src/__tests__/standard-profile-oracle.unit.test.ts +23 -38
- 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 +69 -0
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +395 -14
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +2 -2
- 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__/visibility-resolver.unit.test.ts +15 -0
- 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/assembly/backend-contract.ts +13 -0
- package/src/assembly/device-feature-admission.ts +80 -0
- package/src/assembly/directional-shadow-inspection.ts +122 -0
- package/src/assembly/factory.ts +1411 -366
- package/src/assembly/host-contract.ts +35 -0
- package/src/assembly/render-target-host.ts +847 -0
- package/src/assets/asset-decoders.ts +1 -1
- package/src/assets/render-asset-port.ts +7 -1
- package/src/capture/cube-views.ts +69 -0
- package/src/capture/scheduler.ts +265 -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/__tests__/schema-contract.unit.test.ts +12 -0
- package/src/components/__tests__/schema-parity.unit.test.ts +9 -0
- package/src/components/camera.ts +4 -0
- package/src/components/cube-camera.ts +52 -0
- package/src/components/directional-light.ts +22 -2
- package/src/components/directional-shadow-filter.ts +57 -0
- package/src/components/index.ts +5 -0
- package/src/components/light-helpers.ts +133 -8
- package/src/components/light-probe.ts +13 -0
- package/src/components/rect-area-light.ts +15 -0
- package/src/components/reflection-probe.ts +49 -0
- package/src/components/scene-instance.ts +6 -0
- package/src/components/spot-light.ts +3 -0
- package/src/device/__tests__/extended-lighting-recovery.unit.test.ts +24 -0
- package/src/device/gpu-residency.ts +140 -9
- package/src/device/lifecycle-transaction.ts +12 -0
- package/src/environment/frame.ts +6 -24
- package/src/environment/lifecycle.ts +20 -1
- package/src/errors/gpu-driven.ts +92 -0
- package/src/errors/index.ts +1 -0
- package/src/errors/recover.ts +32 -0
- package/src/errors/render.ts +341 -143
- package/src/extract/camera.ts +3 -3
- package/src/extract/directional-shadow-projection.ts +61 -0
- package/src/extract/environment.ts +57 -0
- package/src/extract/gpu-driven.ts +108 -0
- package/src/extract/visibility.ts +2 -1
- package/src/features/fullscreen.ts +3 -0
- package/src/features/targets.ts +4 -1
- package/src/features/types.ts +10 -0
- package/src/fullscreen-post-process-pass.ts +43 -2
- package/src/gpu-driven/batch-topology.ts +207 -28
- package/src/gpu-driven/prepared-draw.ts +208 -0
- package/src/gpu-driven/production-raster.ts +953 -43
- package/src/gpu-driven/view-gpu.ts +411 -29
- package/src/gpu-scene-schema.ts +13 -0
- package/src/gpu-scene.ts +140 -64
- package/src/gpu-usage.ts +0 -1
- package/src/hdrp-buffers.ts +169 -63
- package/src/ibl/IblPipelineCache.ts +11 -0
- package/src/ibl/kernel-cache.ts +88 -0
- package/src/index.ts +222 -0
- package/src/inspection-types.ts +276 -1
- package/src/instances-derived-bounds.ts +171 -0
- package/src/internal.ts +38 -0
- package/src/light-buffer-layout.ts +155 -310
- package/src/materials.ts +16 -2
- package/src/mesh-material-bindings.ts +132 -0
- package/src/pbr-pipeline.ts +255 -60
- package/src/pipeline/standard-forward-lane.ts +93 -16
- package/src/pipeline/standard-lighting/errors.ts +6 -0
- package/src/pipeline/standard-lighting/graph.ts +158 -0
- package/src/pipeline/standard-lighting/inspection.ts +88 -0
- package/src/pipeline/standard-lighting/layout.ts +31 -0
- package/src/pipeline/standard-lighting/light-frame.ts +35 -0
- package/src/pipeline/standard-lighting/membership.ts +43 -0
- package/src/pipeline/standard-lighting/prepare.ts +37 -0
- package/src/pipeline/standard-lighting/topology.ts +120 -0
- package/src/pipeline/standard-lighting/transport.ts +78 -0
- package/src/pipeline/standard-pipeline.ts +124 -193
- package/src/pipeline/standard-post.ts +26 -7
- package/src/pipeline/standard-profile.ts +17 -47
- package/src/pipeline-builder.ts +5 -2
- package/src/pipeline-spec.ts +95 -21
- package/src/plugin.ts +4 -0
- package/src/point-shadow-inspection.ts +55 -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__/gpu-timing.unit.test.ts +177 -0
- package/src/record/__tests__/temporal-payload.unit.test.ts +64 -1
- package/src/record/__tests__/transparent-group2-selection.unit.test.ts +73 -0
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +20 -1
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +40 -0
- package/src/record/frame-lighting.ts +591 -452
- package/src/record/frame-snapshot.ts +92 -39
- package/src/record/frame-targets.ts +17 -0
- package/src/record/frame.ts +662 -158
- package/src/record/gpu-pass-timing/contract.ts +180 -0
- package/src/record/gpu-pass-timing/errors.ts +34 -0
- package/src/record/gpu-pass-timing/index.ts +37 -0
- package/src/record/gpu-pass-timing/parser.ts +97 -0
- package/src/record/gpu-pass-timing/session.ts +938 -0
- package/src/record/gpu-timing.ts +112 -39
- package/src/record/helpers.ts +0 -58
- package/src/record/main-pass-geometry.ts +324 -119
- package/src/record/main-pass-material.ts +103 -10
- package/src/record/main-pass-sprite-draws.ts +99 -103
- package/src/record/main-pass.ts +71 -15
- package/src/record/mesh-ssbo.ts +47 -36
- package/src/record/render-context.ts +136 -3
- package/src/record/shadow-pass.ts +83 -68
- package/src/record/skybox-post-pass.ts +20 -4
- package/src/record/typed-frame-graph.ts +1034 -43
- package/src/record/view-ubo.ts +72 -47
- package/src/reflection/filter.ts +81 -0
- package/src/reflection/gpu-table.ts +44 -0
- package/src/reflection/inspection.ts +67 -0
- package/src/reflection/projection.ts +476 -0
- package/src/reflection/record-owner.ts +1283 -0
- package/src/render-contract.ts +93 -10
- package/src/render-graph-primitives.ts +9 -4
- package/src/render-pipeline.ts +122 -2
- package/src/render-system-extract.ts +1041 -225
- package/src/render-system.ts +1310 -85
- package/src/renderer.ts +222 -0
- 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 +942 -171
- 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/shadow-atlas.ts +5 -5
- package/src/ssao-buffers.ts +9 -2
- 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/targets/contracts.ts +182 -0
- package/src/targets/graph-projection.ts +169 -0
- package/src/targets/material-source.ts +143 -0
- package/src/targets/owner.ts +214 -0
- package/src/targets/physical.ts +18 -0
- package/src/targets/readback.ts +153 -0
- package/src/temporal/frame-coordinator.ts +26 -0
- package/src/temporal/frame.ts +14 -1
- package/src/temporal/view.ts +11 -0
- package/src/tilemap-chunk-extract-system.ts +4 -4
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +59 -20
- package/src/typed-render-graph-primitives.ts +53 -3
- package/src/typed-shadow-passes.ts +46 -40
- package/src/volume/passes.ts +61 -58
- package/dist/.tsbuildinfo +0 -1
- package/dist/chunk-4XINDLAY.mjs.map +0 -1
- package/dist/chunk-CDTWTHZR.mjs.map +0 -1
- package/dist/chunk-M2MP4ZOU.mjs +0 -73
- package/dist/chunk-M2MP4ZOU.mjs.map +0 -1
- package/dist/chunk-PCHBPYML.mjs.map +0 -1
- package/dist/chunk-TBQJOK2L.mjs.map +0 -1
- package/dist/chunk-VFPLTKCU.mjs.map +0 -1
package/src/index.ts
CHANGED
|
@@ -11,6 +11,13 @@ export {
|
|
|
11
11
|
renderPipelineContribution,
|
|
12
12
|
samplerContribution,
|
|
13
13
|
} from './assets/asset-decoders';
|
|
14
|
+
// Runtime contract: leases, frame receipts, detached inspection, profile,
|
|
15
|
+
// lifecycle state, and the single renderer event stream.
|
|
16
|
+
export type {
|
|
17
|
+
CubeCameraFaceView,
|
|
18
|
+
CubeCameraFaceViewInput,
|
|
19
|
+
} from './capture/cube-views';
|
|
20
|
+
export { buildCubeCameraFaceViews } from './capture/cube-views';
|
|
14
21
|
export { Atmosphere } from './components/atmosphere';
|
|
15
22
|
// ECS render vocabulary and grouped closed values.
|
|
16
23
|
export type {
|
|
@@ -42,10 +49,24 @@ export {
|
|
|
42
49
|
TONEMAP_REINHARD,
|
|
43
50
|
TONEMAP_REINHARD_EXTENDED,
|
|
44
51
|
} from './components/camera';
|
|
52
|
+
export {
|
|
53
|
+
CUBE_CAMERA_FACE_ORDER,
|
|
54
|
+
CUBE_CAMERA_UPDATE_CONTINUOUS,
|
|
55
|
+
CUBE_CAMERA_UPDATE_ON_DEMAND,
|
|
56
|
+
CUBE_CAMERA_UPDATE_ONCE,
|
|
57
|
+
CubeCamera,
|
|
58
|
+
type CubeCameraData,
|
|
59
|
+
type CubeCameraFace,
|
|
60
|
+
type CubeCameraUpdateIntent,
|
|
61
|
+
cubeCameraUpdateIntentFromF32,
|
|
62
|
+
cubeCameraUpdateIntentToF32,
|
|
63
|
+
} from './components/cube-camera';
|
|
45
64
|
export * from './components/directional-light';
|
|
46
65
|
export { Fog } from './components/fog';
|
|
47
66
|
export { Instances, type InstancesData } from './components/instances';
|
|
48
67
|
export { Layer } from './components/layer';
|
|
68
|
+
export * from './components/light-helpers';
|
|
69
|
+
export { LightProbe } from './components/light-probe';
|
|
49
70
|
export { Lines } from './components/lines';
|
|
50
71
|
export * from './components/mesh-filter';
|
|
51
72
|
export * from './components/mesh-renderer';
|
|
@@ -59,6 +80,17 @@ export {
|
|
|
59
80
|
pointShapeFromU32,
|
|
60
81
|
} from './components/points';
|
|
61
82
|
export { PostProcessParams } from './components/post-process-params';
|
|
83
|
+
export { RectAreaLight } from './components/rect-area-light';
|
|
84
|
+
export {
|
|
85
|
+
REFLECTION_PROBE_UPDATE_CONTINUOUS,
|
|
86
|
+
REFLECTION_PROBE_UPDATE_ON_CHANGE,
|
|
87
|
+
REFLECTION_PROBE_UPDATE_ONCE,
|
|
88
|
+
ReflectionProbe,
|
|
89
|
+
type ReflectionProbeData,
|
|
90
|
+
type ReflectionProbeUpdateIntent,
|
|
91
|
+
reflectionProbeUpdateIntentFromF32,
|
|
92
|
+
reflectionProbeUpdateIntentToF32,
|
|
93
|
+
} from './components/reflection-probe';
|
|
62
94
|
export { SceneInstance } from './components/scene-instance';
|
|
63
95
|
export {
|
|
64
96
|
SKYBOX_MODE_CUBEMAP,
|
|
@@ -84,8 +116,14 @@ export type {
|
|
|
84
116
|
// Public structured operation failure union. Concrete error classes stay
|
|
85
117
|
// behind the Renderer Result/event boundary.
|
|
86
118
|
export type {
|
|
119
|
+
ReflectionProbeBudgetExceededDetail,
|
|
87
120
|
RenderError,
|
|
88
121
|
RenderErrorCode,
|
|
122
|
+
RenderIntentInvalidDetail,
|
|
123
|
+
RenderTargetCapabilityMissingDetail,
|
|
124
|
+
RenderTargetDescriptorInvalidDetail,
|
|
125
|
+
RenderTargetOperationFailedDetail,
|
|
126
|
+
RenderTargetStateInvalidDetail,
|
|
89
127
|
SceneDataUnavailableDetail,
|
|
90
128
|
SceneDataUnavailableReason,
|
|
91
129
|
} from './errors/render';
|
|
@@ -131,13 +169,50 @@ export type {
|
|
|
131
169
|
RenderFeatureStatus,
|
|
132
170
|
RenderFeatureWorldVisibilitySnapshot,
|
|
133
171
|
} from './features/types';
|
|
172
|
+
export {
|
|
173
|
+
beginProbeIblUpdate,
|
|
174
|
+
createIblKernelCache,
|
|
175
|
+
createProbeIblOutput,
|
|
176
|
+
type IblKernelCache,
|
|
177
|
+
type ProbeIblOutput,
|
|
178
|
+
type ProbeIblUpdate,
|
|
179
|
+
publishProbeIblOutput,
|
|
180
|
+
REFLECTION_PROBE_IBL_STAGES,
|
|
181
|
+
type ReflectionProbeIblStage,
|
|
182
|
+
resetIblKernelCaches,
|
|
183
|
+
} from './ibl/kernel-cache';
|
|
134
184
|
export type {
|
|
135
185
|
BloomInspection,
|
|
186
|
+
LightInspection,
|
|
187
|
+
LodOcclusionInspection,
|
|
136
188
|
MotionBlurInspection,
|
|
137
189
|
MotionBlurInspectionStatus,
|
|
190
|
+
ReflectionFallbackFailureStage,
|
|
191
|
+
ReflectionFallbackInspection,
|
|
192
|
+
ReflectionFallbackReadbackReceipt,
|
|
193
|
+
ReflectionFallbackReceipt,
|
|
194
|
+
ReflectionFallbackRecoveryAction,
|
|
195
|
+
ReflectionProbeInspection,
|
|
196
|
+
ReflectionProbeSelectionInspection,
|
|
138
197
|
TransmissionInspection,
|
|
139
198
|
} from './inspection-types';
|
|
140
199
|
export { Materials, MaterialTransmissionContractError } from './materials';
|
|
200
|
+
export {
|
|
201
|
+
type MeshMaterialBindingObservation,
|
|
202
|
+
type MeshMaterialBindingPreparationFailure,
|
|
203
|
+
type MeshMaterialBindingReadiness,
|
|
204
|
+
type MeshMaterialBindingResidency,
|
|
205
|
+
type MeshMaterialBindingSamplerObservation,
|
|
206
|
+
type MeshMaterialBindingSummary,
|
|
207
|
+
type MeshMaterialBindingTextureObservation,
|
|
208
|
+
projectMeshMaterialBindingObservation,
|
|
209
|
+
summarizeMeshMaterialBindings,
|
|
210
|
+
} from './mesh-material-bindings';
|
|
211
|
+
export type {
|
|
212
|
+
StandardClusterTransportInspection,
|
|
213
|
+
StandardLightingInspection,
|
|
214
|
+
StandardNoLocalLightingInspection,
|
|
215
|
+
} from './pipeline/standard-lighting/inspection';
|
|
141
216
|
// The host-facing default is a stable profile value; implementation-only
|
|
142
217
|
// pipeline helpers remain behind the package boundary.
|
|
143
218
|
export {
|
|
@@ -146,6 +221,10 @@ export {
|
|
|
146
221
|
type StandardVolumetricFogQuality,
|
|
147
222
|
} from './pipeline/standard-profile';
|
|
148
223
|
export { renderComponentsPlugin } from './plugin';
|
|
224
|
+
export {
|
|
225
|
+
inspectPointShadow,
|
|
226
|
+
type PointShadowInspection,
|
|
227
|
+
} from './point-shadow-inspection';
|
|
149
228
|
export {
|
|
150
229
|
admitPointsLines,
|
|
151
230
|
type LinesStyleInput,
|
|
@@ -156,9 +235,71 @@ export {
|
|
|
156
235
|
type PointsStyleInput,
|
|
157
236
|
} from './points-lines/admission';
|
|
158
237
|
export type { PointsLinesInspection } from './points-lines/inspection';
|
|
238
|
+
/**
|
|
239
|
+
* Public bounded GPU pass facts. Use the single `gpuPassTiming` opt-in,
|
|
240
|
+
* `draw()` receipt, and `observe(receipt, { include: ['timings'] })` route.
|
|
241
|
+
* Branch on the closed statuses `complete`, `partial`, `unavailable`, and
|
|
242
|
+
* `failed`; each reason/error exposes `code`, `expected`, `hint`, and `detail`.
|
|
243
|
+
* `latestKnownGood` is separate from current status and completeness. These
|
|
244
|
+
* facts describe pass durations, never frame latency. The bounded contract is
|
|
245
|
+
* in `record/gpu-pass-timing/contract.ts`; benchmark acceptance is fail-closed
|
|
246
|
+
* in `bench/gpu-pass-timing/validator.ts`, and recovery follows the producer's
|
|
247
|
+
* structured hint rather than a second timing API.
|
|
248
|
+
*/
|
|
249
|
+
export type {
|
|
250
|
+
GpuPassTimingCapability,
|
|
251
|
+
GpuPassTimingEntry,
|
|
252
|
+
GpuPassTimingError,
|
|
253
|
+
GpuPassTimingErrorCode,
|
|
254
|
+
GpuPassTimingFrame,
|
|
255
|
+
GpuPassTimingMeasuredEntry,
|
|
256
|
+
GpuPassTimingMeasurementSource,
|
|
257
|
+
GpuPassTimingObservation,
|
|
258
|
+
GpuPassTimingOptions,
|
|
259
|
+
GpuPassTimingPassIdentity,
|
|
260
|
+
GpuPassTimingReason,
|
|
261
|
+
GpuPassTimingReasonCode,
|
|
262
|
+
GpuPassTimingRef,
|
|
263
|
+
GpuPassTimingUnmeasuredEntry,
|
|
264
|
+
} from './record/gpu-pass-timing/index.js';
|
|
159
265
|
// Runtime contract: leases, frame receipts, detached inspection, profile,
|
|
160
266
|
// lifecycle state, and the single renderer event stream.
|
|
267
|
+
export {
|
|
268
|
+
advanceProbeFilter,
|
|
269
|
+
boxProjectReflectionDirection,
|
|
270
|
+
commitProbeFilterStep,
|
|
271
|
+
createProbeFilterState,
|
|
272
|
+
type ProbeFilterState,
|
|
273
|
+
probeFilterIsSteady,
|
|
274
|
+
} from './reflection/filter';
|
|
275
|
+
export {
|
|
276
|
+
buildReflectionProbeTable,
|
|
277
|
+
type ReflectionProbeTable,
|
|
278
|
+
type ReflectionProbeTableRow,
|
|
279
|
+
reflectionProbeTableBytes,
|
|
280
|
+
} from './reflection/gpu-table';
|
|
281
|
+
export {
|
|
282
|
+
inspectReflectionFallback,
|
|
283
|
+
type ReflectionFallbackFailureInput,
|
|
284
|
+
} from './reflection/inspection';
|
|
285
|
+
export {
|
|
286
|
+
admitReflectionProbe,
|
|
287
|
+
DEFAULT_REFLECTION_PROBE_LIMITS,
|
|
288
|
+
estimateReflectionProbeBytes,
|
|
289
|
+
type ReflectionProbeAdmission,
|
|
290
|
+
type ReflectionProbeAdmissionLimits,
|
|
291
|
+
type ReflectionProbeFact,
|
|
292
|
+
type ReflectionProbeInput,
|
|
293
|
+
ReflectionProbeProjection,
|
|
294
|
+
type ReflectionProbeProjectionSnapshot,
|
|
295
|
+
type ReflectionProbeSelection,
|
|
296
|
+
type ReflectionProbeSelectionResult,
|
|
297
|
+
type SkylightSelection,
|
|
298
|
+
selectReflectionProbe,
|
|
299
|
+
validateReflectionProbeInput,
|
|
300
|
+
} from './reflection/projection';
|
|
161
301
|
export type {
|
|
302
|
+
CubeCameraSnapshot,
|
|
162
303
|
FrameCamera,
|
|
163
304
|
FrameEnvironment,
|
|
164
305
|
FrameObservationRequest,
|
|
@@ -179,6 +320,87 @@ export type {
|
|
|
179
320
|
TemporalInspectionInput,
|
|
180
321
|
TemporalInspectionStatus,
|
|
181
322
|
} from './renderer-inspect';
|
|
323
|
+
export type {
|
|
324
|
+
GpuFrameTiming,
|
|
325
|
+
GpuFrameTimingProtocol,
|
|
326
|
+
GpuFrameTimingRecord,
|
|
327
|
+
GpuFrameTimingSample,
|
|
328
|
+
GpuFrameTimingSummary,
|
|
329
|
+
} from './scene/visibility/gpu-frame-timing';
|
|
330
|
+
export {
|
|
331
|
+
createGpuFrameTiming,
|
|
332
|
+
recordGpuFrameTiming,
|
|
333
|
+
summarizeGpuFrameTiming,
|
|
334
|
+
} from './scene/visibility/gpu-frame-timing';
|
|
335
|
+
export type {
|
|
336
|
+
LodOcclusionDegradation,
|
|
337
|
+
LodOcclusionFallback,
|
|
338
|
+
LodOcclusionInspectionAction,
|
|
339
|
+
LodOcclusionInspectionBudget,
|
|
340
|
+
LodOcclusionInspectionError,
|
|
341
|
+
LodOcclusionInspectionInput,
|
|
342
|
+
LodOcclusionInspectionRow,
|
|
343
|
+
LodOcclusionInspectionSample,
|
|
344
|
+
LodOcclusionInspectionSubmit,
|
|
345
|
+
LodOcclusionWorldAttribution,
|
|
346
|
+
LodOcclusionWorldInspection,
|
|
347
|
+
LodOcclusionWorldInspectionInput,
|
|
348
|
+
} from './scene/visibility/inspection';
|
|
349
|
+
export {
|
|
350
|
+
consumeLodOcclusionInspection,
|
|
351
|
+
inspectLodOcclusion,
|
|
352
|
+
LOD_OCCLUSION_INSPECTION_MAX_BYTES,
|
|
353
|
+
LOD_OCCLUSION_INSPECTION_SCHEMA,
|
|
354
|
+
serializeLodOcclusionInspection,
|
|
355
|
+
} from './scene/visibility/inspection';
|
|
356
|
+
export {
|
|
357
|
+
SHADOW_ATLAS_DEFAULT_FACE_SIZE,
|
|
358
|
+
SHADOW_ATLAS_DEFAULT_LAYERS,
|
|
359
|
+
ShadowAtlas,
|
|
360
|
+
} from './shadow-atlas';
|
|
361
|
+
export type {
|
|
362
|
+
SsrAdmissionBudget,
|
|
363
|
+
SsrAdmissionFailure,
|
|
364
|
+
SsrAdmissionIdentity,
|
|
365
|
+
SsrAdmissionInput,
|
|
366
|
+
SsrAdmissionResult,
|
|
367
|
+
SsrAdmissionWork,
|
|
368
|
+
SsrDependenciesInspection,
|
|
369
|
+
SsrFormatReceipt,
|
|
370
|
+
SsrReflectionFallbackReceipt,
|
|
371
|
+
SsrTemporalReceipt,
|
|
372
|
+
} from './ssr/admission';
|
|
373
|
+
export {
|
|
374
|
+
admitSsrM0,
|
|
375
|
+
projectSsrDependencies,
|
|
376
|
+
resolveSsrAdmissionGeneration,
|
|
377
|
+
SSR_FORMAT_PROFILE,
|
|
378
|
+
SSR_FORMAT_STAGES,
|
|
379
|
+
zeroSsrAdmissionWork,
|
|
380
|
+
} from './ssr/admission';
|
|
381
|
+
export {
|
|
382
|
+
composeSsrReflection,
|
|
383
|
+
type SsrCompositionInput,
|
|
384
|
+
type SsrCompositionInputError,
|
|
385
|
+
type SsrCompositionResult,
|
|
386
|
+
type SsrReflectionColor,
|
|
387
|
+
} from './ssr/composition';
|
|
388
|
+
export type {
|
|
389
|
+
RenderTarget,
|
|
390
|
+
RenderTargetAdmissionLimits,
|
|
391
|
+
RenderTargetDepthFormat,
|
|
392
|
+
RenderTargetDescriptor,
|
|
393
|
+
RenderTargetFormat,
|
|
394
|
+
RenderTargetMipLevels,
|
|
395
|
+
RenderTargetReadbackData,
|
|
396
|
+
RenderTargetReadbackRequest,
|
|
397
|
+
RenderTargetReadbackTicket,
|
|
398
|
+
RenderTargetSampleCount,
|
|
399
|
+
RenderTargetShape,
|
|
400
|
+
RenderTargetTextureAspect,
|
|
401
|
+
RenderTargetTextureSource,
|
|
402
|
+
RenderTargetTextureSourceOptions,
|
|
403
|
+
} from './targets/contracts';
|
|
182
404
|
export type { TemporalInspection, TemporalResourceInspection } from './temporal/inspection';
|
|
183
405
|
export {
|
|
184
406
|
SCENE_DATA_TEMPORAL_V1_DESCRIPTOR,
|
package/src/inspection-types.ts
CHANGED
|
@@ -4,7 +4,77 @@
|
|
|
4
4
|
* extract/record dependency graph.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import type { DirectionalShadowFilterLabel } from './components/directional-shadow-filter';
|
|
7
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
|
+
}
|
|
8
78
|
|
|
9
79
|
export type BloomGraphStatus = 'empty' | 'valid' | 'invalid';
|
|
10
80
|
|
|
@@ -33,6 +103,62 @@ export interface BatchTopologyInspection {
|
|
|
33
103
|
readonly ineligible: number;
|
|
34
104
|
}
|
|
35
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
|
+
|
|
36
162
|
export interface GpuSceneTableInspection {
|
|
37
163
|
readonly capacity: number;
|
|
38
164
|
readonly bytes: number;
|
|
@@ -63,6 +189,154 @@ export interface GpuDrivenProductionInspection {
|
|
|
63
189
|
readonly topologyRevision: number | undefined;
|
|
64
190
|
readonly validatedGpuOwnedRows: number;
|
|
65
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;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export type DirectionalShadowEffectiveProfile =
|
|
205
|
+
| 'off'
|
|
206
|
+
| DirectionalShadowFilterLabel
|
|
207
|
+
| 'rhi-null-structural';
|
|
208
|
+
|
|
209
|
+
export type DirectionalShadowProfile = 'off' | DirectionalShadowFilterLabel;
|
|
210
|
+
|
|
211
|
+
export interface DirectionalShadowInspectionError {
|
|
212
|
+
readonly code: string;
|
|
213
|
+
readonly expected: string;
|
|
214
|
+
readonly hint: string;
|
|
215
|
+
readonly detail?: unknown;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/** Bounded, detached Directional shadow facts for AI-readable inspection. */
|
|
219
|
+
export interface DirectionalShadowInspection {
|
|
220
|
+
readonly requested: DirectionalShadowProfile;
|
|
221
|
+
readonly effective: DirectionalShadowEffectiveProfile;
|
|
222
|
+
readonly status: 'accepted' | 'fallback' | 'rejected';
|
|
223
|
+
readonly fallbackReason?: 'webgl2-unsupported' | 'rhi-null-structural' | 'candidate-failed';
|
|
224
|
+
readonly lastKnownGood: boolean;
|
|
225
|
+
readonly pixelEvidence: 'available' | 'not-available';
|
|
226
|
+
readonly cascadeCount: number;
|
|
227
|
+
readonly mapSize: number;
|
|
228
|
+
readonly atlasBytes: number;
|
|
229
|
+
readonly writerPasses: number;
|
|
230
|
+
readonly blockerTaps: number;
|
|
231
|
+
readonly filterTapUpperBound: number;
|
|
232
|
+
readonly seamTapUpperBound: number;
|
|
233
|
+
readonly shadowAngularRadius: number | undefined;
|
|
234
|
+
readonly maxPenumbraTexels: number | undefined;
|
|
235
|
+
readonly deviceGeneration: number;
|
|
236
|
+
readonly graphGeneration: number;
|
|
237
|
+
readonly error?: DirectionalShadowInspectionError;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export type ReflectionProbeSelectionInspection =
|
|
241
|
+
| { readonly kind: 'probe'; readonly worldId: number; readonly entityKey: number }
|
|
242
|
+
| { readonly kind: 'skylight' };
|
|
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
|
+
|
|
320
|
+
export interface ReflectionProbeInspection {
|
|
321
|
+
readonly selection: ReflectionProbeSelectionInspection;
|
|
322
|
+
readonly factCount: number;
|
|
323
|
+
readonly acceptedCount: number;
|
|
324
|
+
readonly activeCount: number;
|
|
325
|
+
readonly rawFacesCaptured: number;
|
|
326
|
+
readonly filteredStepsCompleted: number;
|
|
327
|
+
readonly filteredMipLevels: readonly number[];
|
|
328
|
+
readonly scheduledRawFaces: number;
|
|
329
|
+
readonly scheduledFilteredSteps: number;
|
|
330
|
+
readonly pipelineReady: boolean;
|
|
331
|
+
readonly pipelineWarmupAttempts: number;
|
|
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;
|
|
66
340
|
}
|
|
67
341
|
|
|
68
342
|
/** Detached semantic descriptor for the Standard scene-temporal producer. */
|
|
@@ -99,7 +373,6 @@ export type RenderSceneResyncReason =
|
|
|
99
373
|
| 'attach'
|
|
100
374
|
| 'asset-catalog-changed'
|
|
101
375
|
| 'shared-ref-changed'
|
|
102
|
-
| 'journal-overflow'
|
|
103
376
|
| 'unsupported-change'
|
|
104
377
|
| 'non-rigid-lane'
|
|
105
378
|
| 'explicit-invalidate';
|
|
@@ -112,6 +385,8 @@ export interface PersistentRenderSceneInspection {
|
|
|
112
385
|
readonly transformUpdates: number;
|
|
113
386
|
readonly lastResyncReason: RenderSceneResyncReason | undefined;
|
|
114
387
|
readonly projectionRecords: number;
|
|
388
|
+
/** Numeric probe ownership facts; no GPU handles or object graph references. */
|
|
389
|
+
readonly probeBlend?: ProbeBlendInspection;
|
|
115
390
|
readonly topology: BatchTopologyInspection;
|
|
116
391
|
readonly gpu:
|
|
117
392
|
| { readonly status: 'inactive' }
|