@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
|
@@ -47,6 +47,8 @@ export declare class DeviceScope {
|
|
|
47
47
|
_clearResources(): OwnedResource[];
|
|
48
48
|
/** Mark an active child as retiring without releasing in-flight resources. */
|
|
49
49
|
beginRetire(): void;
|
|
50
|
+
private clearChildren;
|
|
51
|
+
private detachChild;
|
|
50
52
|
retire(): void;
|
|
51
53
|
abandon(): void;
|
|
52
54
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-scope.d.ts","sourceRoot":"","sources":["../../src/device/device-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAE5F,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IACvC,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;CACtC;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEN,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAOjF,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAItC,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;CAGrC;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;
|
|
1
|
+
{"version":3,"file":"device-scope.d.ts","sourceRoot":"","sources":["../../src/device/device-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type MipmapShaderModuleFactory } from '@forgeax/engine-assets-runtime';
|
|
1
|
+
import { type MipmapEncoderWork, type MipmapShaderModuleFactory } from '@forgeax/engine-assets-runtime';
|
|
2
2
|
import type { World } from '@forgeax/engine-ecs';
|
|
3
3
|
import { type VertexLayoutProjection } from '@forgeax/engine-geometry';
|
|
4
4
|
import { type Buffer, type Result, type RhiCaps, type RhiDevice, RhiError, type RhiQueue, type Sampler, type TextureFormat, type TextureView } from '@forgeax/engine-rhi';
|
|
@@ -6,7 +6,8 @@ import { type AssetError, type DecodedImage, type EquirectAsset, type Handle, ty
|
|
|
6
6
|
import { GpuBuffer, GpuTexture } from '../gpu-resource';
|
|
7
7
|
import { type IblShaderModuleFactory } from '../ibl/IblPipelineCache';
|
|
8
8
|
import type { RhiErrorListenerRegistry } from '../lifecycle';
|
|
9
|
-
import type {
|
|
9
|
+
import type { RecoveryColdWorkGuard } from '../record/render-context';
|
|
10
|
+
import type { DeviceScope, LifecycleResourceSpec } from './device-scope';
|
|
10
11
|
export type FaceUniformsDevice = Pick<RhiDevice, 'createBuffer'> & {
|
|
11
12
|
readonly queue: Pick<RhiQueue, 'writeBuffer'>;
|
|
12
13
|
};
|
|
@@ -14,8 +15,8 @@ export declare function createFaceUniformsBuffer(device: FaceUniformsDevice): Re
|
|
|
14
15
|
export declare function createPrefilterUniformsBuffer(device: FaceUniformsDevice): Result<Buffer, RhiError>;
|
|
15
16
|
export declare function writeFaceUniforms(device: FaceUniformsDevice, buffer: Buffer, faceIdx: number, viewProj: Float32Array): Result<void, RhiError>;
|
|
16
17
|
export declare function writeAllFaceUniforms(device: FaceUniformsDevice, buffer: Buffer): Result<void, RhiError>;
|
|
17
|
-
export declare function writePrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer, subPassIdx: number, roughness: number, mipFaceSize: number): Result<void, RhiError>;
|
|
18
|
-
export declare function writeAllPrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer): Result<void, RhiError>;
|
|
18
|
+
export declare function writePrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer, subPassIdx: number, roughness: number, mipFaceSize: number, sourceMipLevelCount?: number): Result<void, RhiError>;
|
|
19
|
+
export declare function writeAllPrefilterUniforms(device: FaceUniformsDevice, buffer: Buffer, sourceMipLevelCount?: number): Result<void, RhiError>;
|
|
19
20
|
/** Cube-POD register-relay injected by the wire layer (D-3). */
|
|
20
21
|
type RegisterCube = (world: World, pod: EquirectAsset) => Result<Handle<'EquirectAsset', 'shared'>, AssetError>;
|
|
21
22
|
export interface TextureResidencyReceipt {
|
|
@@ -37,6 +38,10 @@ export interface TextureGpuEntry {
|
|
|
37
38
|
readonly view: TextureView;
|
|
38
39
|
readonly receipt: TextureResidencyReceipt;
|
|
39
40
|
}
|
|
41
|
+
/** Candidate-only residency work; no queue submission is hidden here. */
|
|
42
|
+
export interface RecoveryResidencyPreparation {
|
|
43
|
+
readonly mipmapWork?: MipmapEncoderWork;
|
|
44
|
+
}
|
|
40
45
|
export interface MeshGpuHandles {
|
|
41
46
|
readonly vertexBuffer: GpuBuffer;
|
|
42
47
|
/**
|
|
@@ -87,6 +92,13 @@ export interface MeshGpuHandles {
|
|
|
87
92
|
* For single-submesh meshes this is a 1-element array (byte-identical to pre-M4).
|
|
88
93
|
*/
|
|
89
94
|
readonly submeshes: readonly import('@forgeax/engine-types').Submesh[];
|
|
95
|
+
/** Packed root + lower-detail geometry ranges in the shared mesh buffers. */
|
|
96
|
+
readonly lodRanges?: readonly (readonly MeshGpuRange[])[];
|
|
97
|
+
}
|
|
98
|
+
export interface MeshGpuRange {
|
|
99
|
+
readonly first: number;
|
|
100
|
+
readonly count: number;
|
|
101
|
+
readonly baseVertex: number;
|
|
90
102
|
}
|
|
91
103
|
/**
|
|
92
104
|
* GPU residency store. Owns the per-handle GPU caches and the upload
|
|
@@ -108,6 +120,7 @@ export declare class GpuResidencyCache {
|
|
|
108
120
|
private registerCube;
|
|
109
121
|
private errorRegistry;
|
|
110
122
|
private caps;
|
|
123
|
+
private recoveryColdWorkGuard;
|
|
111
124
|
private deviceEpoch;
|
|
112
125
|
private textureGeneration;
|
|
113
126
|
private readonly textureGpuHandles;
|
|
@@ -141,6 +154,8 @@ export declare class GpuResidencyCache {
|
|
|
141
154
|
configureIblDevice(device: RhiDevice, shaderModuleFactory: IblShaderModuleFactory | undefined): void;
|
|
142
155
|
/** Bind residency ownership to the renderer's single DeviceScope tree. */
|
|
143
156
|
bindDeviceScope(scope: DeviceScope): void;
|
|
157
|
+
/** Arm the first-published-frame assertion on this generation's store. */
|
|
158
|
+
setRecoveryColdWorkGuard(guard: RecoveryColdWorkGuard | undefined): void;
|
|
144
159
|
/**
|
|
145
160
|
* Wrap a raw RHI Buffer handle into a GpuBuffer. The wrapper holds a
|
|
146
161
|
* reference to the device so `.destroy()` forwards to
|
|
@@ -171,6 +186,10 @@ export declare class GpuResidencyCache {
|
|
|
171
186
|
* make progress (plan-strategy D-3 / D-8).
|
|
172
187
|
*/
|
|
173
188
|
destroyAll(): void;
|
|
189
|
+
/** Number of candidate-owned GPU resources currently held by this cache. */
|
|
190
|
+
recoveryResourceCount(): number;
|
|
191
|
+
/** Candidate root for the cache owner, not a scalar readiness marker. */
|
|
192
|
+
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
174
193
|
/**
|
|
175
194
|
* Set the error registry channel (wired by createRenderer). evict /
|
|
176
195
|
* releaseUnreferenced fire structured errors here instead of throwing -
|
|
@@ -287,8 +306,16 @@ export declare class GpuResidencyCache {
|
|
|
287
306
|
* (`_uploadCubemapFromEquirect`). Builtin meshes are NOT routed here either
|
|
288
307
|
* (createRenderer step-3 owns them; D-1).
|
|
289
308
|
*/
|
|
290
|
-
ensureResident(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number): Result<MeshGpuHandles, RhiError | AssetError | ImageError>;
|
|
309
|
+
ensureResident(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number, lodMeshes?: readonly TypesMeshAsset[]): Result<MeshGpuHandles, RhiError | AssetError | ImageError>;
|
|
291
310
|
ensureResident(handle: Handle<'TextureAsset', 'shared'>, pod: TextureAsset, worldId?: World | number): Result<TextureGpuEntry, RhiError | AssetError | ImageError>;
|
|
311
|
+
/**
|
|
312
|
+
* Prepare one candidate-visible resource without the normal draw-time mip
|
|
313
|
+
* submission. Base writes and resource creation stay owned by this cache;
|
|
314
|
+
* generated mip passes are returned to the recovery transaction for one
|
|
315
|
+
* explicit finish/submit before publication.
|
|
316
|
+
*/
|
|
317
|
+
prepareResidentForRecovery(handle: Handle<'MeshAsset', 'shared'>, pod: TypesMeshAsset, worldId?: World | number): Result<RecoveryResidencyPreparation, RhiError | AssetError | ImageError>;
|
|
318
|
+
prepareResidentForRecovery(handle: Handle<'TextureAsset', 'shared'>, pod: TextureAsset, worldId?: World | number): Result<RecoveryResidencyPreparation, RhiError | AssetError | ImageError>;
|
|
292
319
|
/**
|
|
293
320
|
* Eager public surface: upload decoded image bytes into a GPU texture and
|
|
294
321
|
* cache (texture + view) under the handle. The TextureAsset POD supplies the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpu-residency.d.ts","sourceRoot":"","sources":["../../src/device/gpu-residency.ts"],"names":[],"mappings":"AA+BA,OAAO,EAGL,KAAK,yBAAyB,
|
|
1
|
+
{"version":3,"file":"gpu-residency.d.ts","sourceRoot":"","sources":["../../src/device/gpu-residency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { type DeviceResourceKind, DeviceResourceRef, DeviceScope, type DeviceScopeReceipt, type DeviceScopeState, type LifecycleFailure, type LifecycleResourceSpec, type LifecycleResult, LifecycleTransaction, type ResourceRef, } from './device-scope';
|
|
2
|
+
//# sourceMappingURL=lifecycle-transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-transaction.d.ts","sourceRoot":"","sources":["../../src/device/lifecycle-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,oBAAoB,EACpB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type Result } from '@forgeax/engine-types';
|
|
2
2
|
import type { EnvironmentCandidate, EnvironmentFrame, EnvironmentSource, FogCandidate, FogFrame } from '../extract/environment';
|
|
3
3
|
export type { EnvironmentCandidate, EnvironmentFrame, EnvironmentSource, FogCandidate, FogFrame };
|
|
4
|
+
/** Producer-local fallback while replacement environment storage is uninitialized. */
|
|
5
|
+
export declare const SKYLIGHT_RECOVERY_FALLBACK: Readonly<{
|
|
6
|
+
readonly kind: "skylight";
|
|
7
|
+
readonly active: false;
|
|
8
|
+
}>;
|
|
4
9
|
export interface SunCandidate {
|
|
5
10
|
readonly entityKey: number;
|
|
6
11
|
readonly direction: readonly [number, number, number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/environment/frame.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/environment/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,12 @@ export interface EnvironmentInspection {
|
|
|
34
34
|
readonly residentBytes: number;
|
|
35
35
|
readonly retiringBytes: number;
|
|
36
36
|
readonly lastCandidateFailure: EnvironmentInspectionFailure | undefined;
|
|
37
|
+
readonly recovery: {
|
|
38
|
+
readonly token: number;
|
|
39
|
+
readonly deviceGeneration: number;
|
|
40
|
+
readonly status: 'uninitialized';
|
|
41
|
+
readonly fallback: 'skylight';
|
|
42
|
+
} | undefined;
|
|
37
43
|
}
|
|
38
44
|
export declare function inspectEnvironment(generation: EnvironmentGeneration | undefined, details?: {
|
|
39
45
|
readonly source?: 'none' | 'image' | 'atmosphere';
|
|
@@ -43,6 +49,7 @@ export declare function inspectEnvironment(generation: EnvironmentGeneration | u
|
|
|
43
49
|
readonly lkg?: EnvironmentInspectionGeneration;
|
|
44
50
|
readonly candidate?: EnvironmentInspectionGeneration;
|
|
45
51
|
readonly lastCandidateFailure?: EnvironmentInspectionFailure;
|
|
52
|
+
readonly recovery?: EnvironmentInspection['recovery'];
|
|
46
53
|
readonly retiringBytes?: number;
|
|
47
54
|
}): EnvironmentInspection;
|
|
48
55
|
//# sourceMappingURL=inspection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/environment/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,GAAG,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/environment/inspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Result } from '@forgeax/engine-types';
|
|
2
|
-
import type { DeviceScope } from '../device/device-scope';
|
|
2
|
+
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
3
3
|
import { EnvironmentGenerationFailedError } from '../errors/render';
|
|
4
|
-
import type
|
|
4
|
+
import { type EnvironmentFrame } from './frame';
|
|
5
5
|
import type { EnvironmentGeneration, EnvironmentGenerationFailure } from './generation';
|
|
6
6
|
import { type EnvironmentInspection, type EnvironmentInspectionFailure } from './inspection';
|
|
7
7
|
export interface EnvironmentLease {
|
|
@@ -10,6 +10,7 @@ export interface EnvironmentLease {
|
|
|
10
10
|
}
|
|
11
11
|
/** Owns candidate, active, LKG, and DeviceScope generation transitions. */
|
|
12
12
|
export declare class EnvironmentLifecycle {
|
|
13
|
+
private readonly token;
|
|
13
14
|
private currentScope;
|
|
14
15
|
private nextGeneration;
|
|
15
16
|
private active;
|
|
@@ -19,10 +20,23 @@ export declare class EnvironmentLifecycle {
|
|
|
19
20
|
private readonly retired;
|
|
20
21
|
private readonly leaseCounts;
|
|
21
22
|
private lastCandidateFailure;
|
|
23
|
+
private recovery;
|
|
22
24
|
constructor(scope: DeviceScope);
|
|
23
25
|
bindScope(scope: DeviceScope): void;
|
|
26
|
+
resetForRecover(deviceGeneration: number): void;
|
|
27
|
+
/**
|
|
28
|
+
* Create an environment owner for a recovery candidate without moving the
|
|
29
|
+
* active owner's scope or generation maps. Only the selected CPU frame and
|
|
30
|
+
* its lane are shared; every candidate generation/frame map starts empty.
|
|
31
|
+
*/
|
|
32
|
+
createRecoveryCandidate(scope: DeviceScope): EnvironmentLifecycle;
|
|
33
|
+
/** True when a CPU environment frame is available for candidate recovery. */
|
|
34
|
+
hasRecoveryFrame(): boolean;
|
|
35
|
+
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
24
36
|
isActive(generation: EnvironmentGeneration): boolean;
|
|
25
37
|
discard(generation: EnvironmentGeneration): void;
|
|
38
|
+
/** Drop every uncommitted generation owned by an abandoned candidate. */
|
|
39
|
+
discardRecoveryCandidates(): void;
|
|
26
40
|
recordCandidateFailure(error: EnvironmentGenerationFailedError): void;
|
|
27
41
|
/** Retain a structured authoring failure while the active/LKG frame stays live. */
|
|
28
42
|
recordSelectionFailure(error: {
|
|
@@ -32,6 +46,10 @@ export declare class EnvironmentLifecycle {
|
|
|
32
46
|
recordStageFailure(stage: EnvironmentInspectionFailure['stage'], generation: EnvironmentGeneration): void;
|
|
33
47
|
ensure(frame: EnvironmentFrame, laneOrFailure?: 'direct' | 'clustered' | EnvironmentGenerationFailure): Result<EnvironmentGeneration, EnvironmentGenerationFailedError>;
|
|
34
48
|
publish(generation: EnvironmentGeneration): void;
|
|
49
|
+
/** Close the old active generation before a replacement owner is installed. */
|
|
50
|
+
retireActiveForReplacement(): void;
|
|
51
|
+
/** Close an already-published generation when its owning scope retires. */
|
|
52
|
+
retirePublishedGeneration(generation: EnvironmentGeneration): void;
|
|
35
53
|
acquire(): EnvironmentLease;
|
|
36
54
|
collectRetired(): void;
|
|
37
55
|
inspect(): EnvironmentInspection & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/environment/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/environment/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAA8B,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAGlC,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;CACjB;AAQD,2EAA2E;AAC3E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,GAAG,CAAoC;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,QAAQ,CAMF;gBAEF,KAAK,EAAE,WAAW;IAK9B,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAInC,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAc/C;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB;IAgBjE,6EAA6E;IAC7E,gBAAgB,IAAI,OAAO;IAO3B,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC;IActE,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO;IAQpD,OAAO,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IAWhD,yEAAyE;IACzE,yBAAyB,IAAI,IAAI;IAKjC,sBAAsB,CAAC,KAAK,EAAE,gCAAgC,GAAG,IAAI;IAQrE,mFAAmF;IACnF,sBAAsB,CAAC,KAAK,EAAE;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACpD,GAAG,IAAI;IAQR,kBAAkB,CAChB,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAC5C,UAAU,EAAE,qBAAqB,GAChC,IAAI;IAeP,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,aAAa,GAAE,QAAQ,GAAG,WAAW,GAAG,4BAAuC,GAC9E,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;IAmDlE,OAAO,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IAUhD,+EAA+E;IAC/E,0BAA0B,IAAI,IAAI;IAUlC,2EAA2E;IAC3E,yBAAyB,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IASlE,OAAO,IAAI,gBAAgB;IAgB3B,cAAc,IAAI,IAAI;IAgBtB,OAAO,IAAI,qBAAqB,GAAG;QACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3C;IAwDK,OAAO,CACX,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,CAAC;IAiB3E,OAAO,CAAC,QAAQ;CAMjB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { MaterialShaderArtifactReceipt } from '@forgeax/engine-shader';
|
|
2
|
+
export type GpuDrivenPreparationErrorCode = 'missing-material-receipt' | 'missing-uv' | 'reflection-mismatch' | 'vertex-input-mismatch' | 'alpha-mask-mismatch' | 'resource-not-ready' | 'stale-generation' | 'skin-receipt-mismatch';
|
|
3
|
+
export type GpuDrivenPreparationReason = 'material-receipt-missing' | 'uv-set-missing' | 'reflection-receipt-mismatch' | 'vertex-semantic-mismatch' | 'alpha-mask-receipt-missing' | 'material-resource-missing' | 'generation-stale' | 'skin-address-missing';
|
|
4
|
+
export interface GpuDrivenPreparationErrorDetail {
|
|
5
|
+
readonly reason: GpuDrivenPreparationReason;
|
|
6
|
+
readonly owner: 'material' | 'geometry' | 'skin' | 'generation';
|
|
7
|
+
readonly expected?: string;
|
|
8
|
+
readonly actual?: string;
|
|
9
|
+
readonly expectedGeneration?: number;
|
|
10
|
+
readonly actualGeneration?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class GpuDrivenPreparationError extends Error {
|
|
13
|
+
readonly code: GpuDrivenPreparationErrorCode;
|
|
14
|
+
readonly expected: string;
|
|
15
|
+
readonly hint: string;
|
|
16
|
+
readonly detail: GpuDrivenPreparationErrorDetail;
|
|
17
|
+
constructor(code: GpuDrivenPreparationErrorCode, detail: GpuDrivenPreparationErrorDetail);
|
|
18
|
+
}
|
|
19
|
+
export interface GpuDrivenPreparedMaterial {
|
|
20
|
+
readonly receipt: MaterialShaderArtifactReceipt;
|
|
21
|
+
readonly resourceSlots: MaterialShaderArtifactReceipt['resourceSlots'];
|
|
22
|
+
readonly uvSets: MaterialShaderArtifactReceipt['uvSets'];
|
|
23
|
+
readonly vertexInputs: MaterialShaderArtifactReceipt['vertexInputs'];
|
|
24
|
+
readonly alphaMask: MaterialShaderArtifactReceipt['alphaMask'];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=gpu-driven.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-driven.d.ts","sourceRoot":"","sources":["../../src/errors/gpu-driven.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,MAAM,6BAA6B,GACrC,0BAA0B,GAC1B,YAAY,GACZ,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,0BAA0B,GAClC,0BAA0B,GAC1B,gBAAgB,GAChB,6BAA6B,GAC7B,0BAA0B,GAC1B,4BAA4B,GAC5B,2BAA2B,GAC3B,kBAAkB,GAClB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAuCD,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;gBAErC,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,+BAA+B;CASzF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC,WAAW,CAAC,CAAC;CAChE"}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
package/dist/errors/recover.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RecoveryGuidance, RecoveryPhase } from '../assembly/renderer-lifecycle';
|
|
2
|
+
import type { DeviceResourceKind, DeviceScopeReceipt } from '../device/resource-types';
|
|
3
|
+
import type { ReflectionFallbackRecoveryAction } from '../inspection-types';
|
|
4
|
+
import type { SsrAdmissionError, SsrOwnerRecoveryAction } from '../ssr/errors';
|
|
5
|
+
export type { RecoveryGuidance, RecoveryPhase } from '../assembly/renderer-lifecycle';
|
|
6
|
+
export { RECOVERY_PHASES } from '../assembly/renderer-lifecycle';
|
|
7
|
+
export type { ReflectionFallbackRecoveryAction } from '../inspection-types';
|
|
8
|
+
export declare function reflectionFallbackRecoveryAction(source: 'probe' | 'skylight' | 'neutral', hasLastKnownGood: boolean): ReflectionFallbackRecoveryAction;
|
|
9
|
+
/**
|
|
10
|
+
* Maps a detached admission failure to the owning producer action. This is
|
|
11
|
+
* an instruction projection only; SSR never performs the recovery itself.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ssrAdmissionRecoveryAction(error: SsrAdmissionError): SsrOwnerRecoveryAction;
|
|
14
|
+
/** Closed outcome vocabulary shared by recovery inspection and errors. */
|
|
15
|
+
export type RecoveryOutcome = 'none' | 'succeeded' | 'failed' | 'disposed';
|
|
16
|
+
/**
|
|
17
|
+
* `RecoveryPhase` is the stable lower-case hyphenated phase union used by
|
|
18
|
+
* inspect/recovery detail. `RecoveryGuidance` is the closed next-action union:
|
|
19
|
+
* retry the attempt, repair its owner, or rebuild the Renderer.
|
|
20
|
+
*/
|
|
2
21
|
/**
|
|
3
22
|
* Closed union of recover() error codes.
|
|
4
23
|
*
|
|
@@ -62,6 +81,47 @@ export declare class RecoverError extends Error {
|
|
|
62
81
|
readonly hint: string;
|
|
63
82
|
constructor(code: RecoverErrorCode);
|
|
64
83
|
}
|
|
84
|
+
export interface RecoveryFailureDetail {
|
|
85
|
+
/** The bounded phase that produced this failure. */
|
|
86
|
+
readonly phase: RecoveryPhase;
|
|
87
|
+
/** Active generation before the attempt; it changes only on publish. */
|
|
88
|
+
readonly oldGeneration: number;
|
|
89
|
+
/** Candidate generation; it changes only on publish. */
|
|
90
|
+
readonly candidateGeneration: number;
|
|
91
|
+
/** Monotonic explicit recovery attempt number. */
|
|
92
|
+
readonly attempt: number;
|
|
93
|
+
/** Wall-clock duration of this bounded attempt. */
|
|
94
|
+
readonly elapsedMs: number;
|
|
95
|
+
/** Whether the caller may explicitly retry without recreating the Renderer. */
|
|
96
|
+
readonly retryable: boolean;
|
|
97
|
+
/** Next action selected by the recovery owner. */
|
|
98
|
+
readonly guidance: RecoveryGuidance;
|
|
99
|
+
/** Producer or lifecycle owner that must be inspected first. */
|
|
100
|
+
readonly owner: string;
|
|
101
|
+
/** Structured resource category, never a raw GPU handle. */
|
|
102
|
+
readonly resourceKind: DeviceResourceKind;
|
|
103
|
+
/** Terminal outcome of this attempt. */
|
|
104
|
+
readonly lastOutcome: Exclude<RecoveryOutcome, 'none' | 'succeeded'>;
|
|
105
|
+
/** Number of candidate roots committed before publication. */
|
|
106
|
+
readonly rehydratedRoots: number;
|
|
107
|
+
/** Number of late notifications ignored from retired generations. */
|
|
108
|
+
readonly staleLossEvents: number;
|
|
109
|
+
/** Original structured cause retained for diagnostics. */
|
|
110
|
+
readonly cause: unknown;
|
|
111
|
+
/** Cleanup failures that prevented a complete candidate publication. */
|
|
112
|
+
readonly cleanupFailures: readonly unknown[];
|
|
113
|
+
/** Detached lifecycle receipt for the failed candidate. */
|
|
114
|
+
readonly receipt: DeviceScopeReceipt;
|
|
115
|
+
}
|
|
116
|
+
/** Stable structured failure returned by one bounded recovery attempt. */
|
|
117
|
+
export declare class RecoveryFailedError extends Error {
|
|
118
|
+
readonly code: "recovery-failed";
|
|
119
|
+
readonly expected = "one recovery attempt publishes a complete replacement device generation";
|
|
120
|
+
readonly hint = "inspect detail and follow its guidance";
|
|
121
|
+
readonly detail: RecoveryFailureDetail;
|
|
122
|
+
constructor(detail: RecoveryFailureDetail);
|
|
123
|
+
}
|
|
124
|
+
export declare function createRecoveryFailedError(detail: RecoveryFailureDetail): RecoveryFailedError;
|
|
65
125
|
declare const RENDER_RECOVERY_ERROR_POLICY: {
|
|
66
126
|
readonly 'recover-lifecycle-failed': {
|
|
67
127
|
readonly expected: "the replacement DeviceScope must publish only after lifecycle cleanup succeeds";
|
|
@@ -74,10 +134,15 @@ declare const RENDER_RECOVERY_ERROR_POLICY: {
|
|
|
74
134
|
};
|
|
75
135
|
export type RenderRecoveryErrorCode = keyof typeof RENDER_RECOVERY_ERROR_POLICY;
|
|
76
136
|
export interface RenderRecoveryFailureDetail {
|
|
137
|
+
/** Producer/lifecycle owner whose recovery operation failed. */
|
|
77
138
|
readonly owner: string;
|
|
139
|
+
/** Device generation associated with the failed recovery operation. */
|
|
78
140
|
readonly generation: number;
|
|
141
|
+
/** Closed operation kind; no implicit background retry is represented. */
|
|
79
142
|
readonly recovery: 'recover' | 'rebuild' | 'stop';
|
|
143
|
+
/** Lifecycle receipt retained as structured evidence, not a live handle. */
|
|
80
144
|
readonly receipt: DeviceScopeReceipt;
|
|
145
|
+
/** Original structured cause for the failed operation. */
|
|
81
146
|
readonly cause: unknown;
|
|
82
147
|
}
|
|
83
148
|
export declare class RenderRecoveryError extends Error {
|
|
@@ -87,7 +152,7 @@ export declare class RenderRecoveryError extends Error {
|
|
|
87
152
|
readonly detail: RenderRecoveryFailureDetail;
|
|
88
153
|
constructor(code: RenderRecoveryErrorCode, detail: RenderRecoveryFailureDetail);
|
|
89
154
|
}
|
|
90
|
-
export type RecoverFailure = RecoverError | RenderRecoveryError;
|
|
155
|
+
export type RecoverFailure = RecoverError | RenderRecoveryError | RecoveryFailedError;
|
|
91
156
|
export type IblCapabilityLossCode = 'ibl-hdr-capability-loss';
|
|
92
157
|
export interface IblCapabilityLossDetail {
|
|
93
158
|
readonly fallbackArtifact: 'white-cube';
|
|
@@ -101,5 +166,4 @@ export declare class IblCapabilityLossError extends Error {
|
|
|
101
166
|
readonly detail: IblCapabilityLossDetail;
|
|
102
167
|
constructor(lastKnownGood: string);
|
|
103
168
|
}
|
|
104
|
-
export {};
|
|
105
169
|
//# sourceMappingURL=recover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recover.d.ts","sourceRoot":"","sources":["../../src/errors/recover.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"recover.d.ts","sourceRoot":"","sources":["../../src/errors/recover.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/render.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { DeviceResourceKind, DeviceScopeReceipt } from '../device/resource-
|
|
|
3
3
|
import type { PreparedKind, RenderFeatureCapabilityKey, RenderFeatureRecovery, RenderFeatureStage } from '../features/vocabulary';
|
|
4
4
|
import type { SceneDataLane, SceneDataSchemaId } from '../temporal/scene-data';
|
|
5
5
|
import type { TransmissionCapabilityFact } from '../transmission/backdrop';
|
|
6
|
+
import type { RecoveryOutcome, RecoveryPhase } from './recover';
|
|
6
7
|
export interface LifecycleConstructionFailureDetail {
|
|
7
8
|
readonly owner: string;
|
|
8
9
|
readonly generation: number;
|
|
@@ -36,6 +37,31 @@ export type RenderSurfaceExpectedError = {
|
|
|
36
37
|
}[SurfaceFailureCode];
|
|
37
38
|
/** Construct the closed surface error from its failure-stage discriminant. */
|
|
38
39
|
export declare function createRenderSurfaceError(kind: SurfaceFailureKind, detail: RenderSurfaceFailureDetail): RenderSurfaceExpectedError;
|
|
40
|
+
export type LightResourceFailureReason = 'asset' | 'format' | 'capability' | 'capacity';
|
|
41
|
+
export interface LightResourceUnavailableDetail {
|
|
42
|
+
readonly entity: number;
|
|
43
|
+
readonly feature: 'ies' | 'cookie' | 'probe';
|
|
44
|
+
readonly generation: number;
|
|
45
|
+
readonly sourceKey: string;
|
|
46
|
+
readonly reason: LightResourceFailureReason;
|
|
47
|
+
}
|
|
48
|
+
export declare class LightResourceUnavailableError extends Error {
|
|
49
|
+
readonly code: "light-resource-unavailable";
|
|
50
|
+
readonly expected: string;
|
|
51
|
+
readonly hint: string;
|
|
52
|
+
readonly detail: LightResourceUnavailableDetail;
|
|
53
|
+
constructor(detail: LightResourceUnavailableDetail, expected: string, actual: string, hint: string);
|
|
54
|
+
}
|
|
55
|
+
export declare function createLightResourceUnavailable(input: {
|
|
56
|
+
readonly entity: number;
|
|
57
|
+
readonly feature: LightResourceUnavailableDetail['feature'];
|
|
58
|
+
readonly generation: number;
|
|
59
|
+
readonly sourceKey: string;
|
|
60
|
+
readonly reason: LightResourceFailureReason;
|
|
61
|
+
readonly expected: string;
|
|
62
|
+
readonly actual: string;
|
|
63
|
+
readonly hint: string;
|
|
64
|
+
}): LightResourceUnavailableError;
|
|
39
65
|
export interface TemporalFrameSubmitDetail {
|
|
40
66
|
readonly reason: 'queue-submit-failed';
|
|
41
67
|
}
|
|
@@ -707,7 +733,19 @@ export interface RendererOperationDetailByCode {
|
|
|
707
733
|
};
|
|
708
734
|
readonly 'recovery-failed': {
|
|
709
735
|
readonly operation: 'recover';
|
|
736
|
+
readonly phase: RecoveryPhase;
|
|
710
737
|
readonly oldGeneration: number;
|
|
738
|
+
readonly candidateGeneration: number;
|
|
739
|
+
readonly attempt: number;
|
|
740
|
+
readonly elapsedMs: number;
|
|
741
|
+
readonly retryable: boolean;
|
|
742
|
+
readonly guidance: 'retry' | 'repair-owner' | 'rebuild-renderer';
|
|
743
|
+
readonly owner: string;
|
|
744
|
+
readonly resourceKind: string;
|
|
745
|
+
readonly lastOutcome: RecoveryOutcome;
|
|
746
|
+
readonly rehydratedRoots: number;
|
|
747
|
+
readonly staleLossEvents: number;
|
|
748
|
+
readonly cleanupFailures: readonly RendererOperationCause[];
|
|
711
749
|
readonly cause: RendererOperationCause;
|
|
712
750
|
};
|
|
713
751
|
readonly 'cleanup-failed': {
|
|
@@ -952,5 +990,5 @@ export type RenderErrorCode = RenderError['code'];
|
|
|
952
990
|
* Closed union of the render-cluster structured error classes, each carrying a
|
|
953
991
|
* `RenderErrorCode` discriminant on `.code`.
|
|
954
992
|
*/
|
|
955
|
-
export type RenderError = LifecycleConstructionError | RendererExpectedOperationError | FrameReceiptStaleError | RendererContractFailureError | ObservationUnavailableError | SceneDataUnavailableError | TaaUnavailableError | ShadowInvalidConfigError | EquirectProjectionFailedError | StandardLightBudgetExceededError | StandardClusterIndexOverflowError | StandardClusterTransportUnavailableError | StandardProfileInvalidError | PointShadowAtlasUninitializedError | PointShadowAtlasBoundsViolationError | VideoUploadUnsupportedError | VertexStorageBufferUnavailableError | VertexColorVariantConflictError | SkinPaletteOverflowError | SkinMaterialMismatchError | MaterialSkinAttrMissingError | TransmissionCapabilityMissingError | RenderFeatureRegistrationConflictError | RenderFeatureStageFailedError | RenderFeatureCapabilityMissingError | RenderFeaturePassOrderConflictError | RenderFeaturePreparationFailedError | RenderFeaturePreparedStateMismatchError | RenderFeatureDrawRecordingFailedError | EnvironmentSourceConflictError | FogCardinalityError | TaaCapsInsufficientError | EnvironmentGenerationFailedError | AtmosphereInvalidParameterError | OwnerStageFailedError | PointsLinesInvalidStyleError | PointsLinesTopologyMismatchError | PointsLinesStyleUnsupportedError | PointsLinesMaterialUnsupportedError | PointsLinesBudgetExceededError | PointsLinesPrepareFailedError | RenderTargetDescriptorInvalidError | RenderTargetCapabilityMissingError | RenderTargetStateInvalidError | RenderTargetOperationFailedError | ReflectionProbeBudgetExceededError | RenderIntentInvalidError | ProjectorBindingError | VolumeError;
|
|
993
|
+
export type RenderError = LifecycleConstructionError | RendererExpectedOperationError | FrameReceiptStaleError | RendererContractFailureError | ObservationUnavailableError | SceneDataUnavailableError | TaaUnavailableError | ShadowInvalidConfigError | EquirectProjectionFailedError | StandardLightBudgetExceededError | StandardClusterIndexOverflowError | StandardClusterTransportUnavailableError | StandardProfileInvalidError | PointShadowAtlasUninitializedError | PointShadowAtlasBoundsViolationError | VideoUploadUnsupportedError | VertexStorageBufferUnavailableError | VertexColorVariantConflictError | SkinPaletteOverflowError | SkinMaterialMismatchError | MaterialSkinAttrMissingError | TransmissionCapabilityMissingError | RenderFeatureRegistrationConflictError | RenderFeatureStageFailedError | RenderFeatureCapabilityMissingError | RenderFeaturePassOrderConflictError | RenderFeaturePreparationFailedError | RenderFeaturePreparedStateMismatchError | RenderFeatureDrawRecordingFailedError | EnvironmentSourceConflictError | FogCardinalityError | TaaCapsInsufficientError | EnvironmentGenerationFailedError | AtmosphereInvalidParameterError | OwnerStageFailedError | PointsLinesInvalidStyleError | PointsLinesTopologyMismatchError | PointsLinesStyleUnsupportedError | PointsLinesMaterialUnsupportedError | PointsLinesBudgetExceededError | PointsLinesPrepareFailedError | LightResourceUnavailableError | RenderTargetDescriptorInvalidError | RenderTargetCapabilityMissingError | RenderTargetStateInvalidError | RenderTargetOperationFailedError | ReflectionProbeBudgetExceededError | RenderIntentInvalidError | ProjectorBindingError | VolumeError;
|
|
956
994
|
//# sourceMappingURL=render.d.ts.map
|