@forgeax/engine-render 0.1.28 → 0.1.29
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 +627 -124
- package/dist/assembly/atmosphere-shader-prewarm.d.ts +6 -0
- package/dist/assembly/atmosphere-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/dynamic-geometry-host.d.ts +21 -0
- package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
- package/dist/assembly/dynamic-geometry-runtime.d.ts +20 -0
- package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +3 -1
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/gpu-driven-owner.d.ts +10 -0
- package/dist/assembly/gpu-driven-owner.d.ts.map +1 -0
- package/dist/assembly/host-contract.d.ts +8 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +7 -0
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material-shader-policy.d.ts +3 -1
- package/dist/assembly/material-shader-policy.d.ts.map +1 -1
- package/dist/assembly/recovery/failure-location.d.ts +12 -0
- package/dist/assembly/recovery/failure-location.d.ts.map +1 -0
- package/dist/assembly/recovery/renderer-recover.d.ts +6 -4
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
- package/dist/assembly/renderer-facade.d.ts.map +1 -1
- package/dist/assembly/renderer-feature-inspection.d.ts +5 -0
- package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -0
- package/dist/assembly/renderer-frame-transaction.d.ts +19 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-helpers.d.ts +3 -0
- package/dist/assembly/renderer-helpers.d.ts.map +1 -1
- package/dist/assembly/renderer-inspection.d.ts +4 -0
- package/dist/assembly/renderer-inspection.d.ts.map +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts +6 -0
- package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -1
- package/dist/assembly/skin-palette-owner.d.ts +8 -0
- package/dist/assembly/skin-palette-owner.d.ts.map +1 -0
- package/dist/assembly/ssr-shader-prewarm.d.ts +6 -0
- package/dist/assembly/ssr-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/webgpu-device-loss.d.ts +15 -0
- package/dist/assembly/webgpu-device-loss.d.ts.map +1 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts +38 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready-mipmap.d.ts +11 -0
- package/dist/assembly/webgpu-ready-mipmap.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +7 -3
- package/dist/assembly/webgpu-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer-bootstrap.d.ts +10 -0
- package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-contract.d.ts +62 -0
- package/dist/assembly/webgpu-renderer-contract.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-guards.d.ts +9 -0
- package/dist/assembly/webgpu-renderer-guards.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-observation.d.ts +6 -0
- package/dist/assembly/webgpu-renderer-observation.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-recovery-failure.d.ts +12 -0
- package/dist/assembly/webgpu-renderer-recovery-failure.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +7 -141
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
- package/dist/assembly/webgpu-vertex-layouts.d.ts +28 -84
- package/dist/assembly/webgpu-vertex-layouts.d.ts.map +1 -1
- package/dist/authoring.mjs +2 -2
- package/dist/{chunk-JAASCMXA.mjs → chunk-33XZFTQU.mjs} +245 -39
- package/dist/chunk-33XZFTQU.mjs.map +1 -0
- package/dist/{chunk-GF523LHF.mjs → chunk-BLXGONR2.mjs} +30 -12
- package/dist/chunk-BLXGONR2.mjs.map +1 -0
- package/dist/{chunk-J52NMQKR.mjs → chunk-BQVQOQJH.mjs} +1086 -838
- package/dist/chunk-BQVQOQJH.mjs.map +1 -0
- package/dist/{chunk-IQMKJLNU.mjs → chunk-BTWH7BP4.mjs} +386 -17
- package/dist/chunk-BTWH7BP4.mjs.map +1 -0
- package/dist/{chunk-MBU4ZVE7.mjs → chunk-FUODTTIA.mjs} +3921 -671
- package/dist/chunk-FUODTTIA.mjs.map +1 -0
- package/dist/{chunk-MYJ5RPJO.mjs → chunk-JQTSEI3Z.mjs} +3 -3
- package/dist/{chunk-MYJ5RPJO.mjs.map → chunk-JQTSEI3Z.mjs.map} +1 -1
- package/dist/{chunk-GE3SDD72.mjs → chunk-NICXSHAT.mjs} +16 -38
- package/dist/chunk-NICXSHAT.mjs.map +1 -0
- package/dist/{chunk-J6KACNOH.mjs → chunk-NRNXBLIJ.mjs} +577 -7
- package/dist/chunk-NRNXBLIJ.mjs.map +1 -0
- package/dist/{chunk-RBDBZ5R7.mjs → chunk-PA5DRJNI.mjs} +2 -2
- package/dist/chunk-PA5DRJNI.mjs.map +1 -0
- package/dist/{chunk-VSL23LZE.mjs → chunk-S4DNKQYQ.mjs} +1117 -445
- package/dist/chunk-S4DNKQYQ.mjs.map +1 -0
- package/dist/components/camera.d.ts +62 -2
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +6 -20
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/components/scene-instance.d.ts +2 -1
- package/dist/components/scene-instance.d.ts.map +1 -1
- package/dist/components/screen-space-reflection.d.ts +14 -0
- package/dist/components/screen-space-reflection.d.ts.map +1 -0
- package/dist/construct-renderer.mjs +12888 -7025
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +1 -12
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/environment/background.d.ts +6 -0
- package/dist/environment/background.d.ts.map +1 -0
- package/dist/errors/gpu-driven.d.ts +6 -3
- package/dist/errors/gpu-driven.d.ts.map +1 -1
- package/dist/errors/render.d.ts +7 -4
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/camera.d.ts.map +1 -1
- package/dist/extract/gpu-driven.d.ts +33 -3
- package/dist/extract/gpu-driven.d.ts.map +1 -1
- package/dist/features/host.d.ts +23 -1
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/noise-texture.d.ts +17 -0
- package/dist/features/noise-texture.d.ts.map +1 -0
- package/dist/features/plan.d.ts +83 -2
- package/dist/features/plan.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +37 -4
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/features/prepared-graphics.d.ts +5 -0
- package/dist/features/prepared-graphics.d.ts.map +1 -1
- package/dist/features/render-graph-compute.d.ts +5 -3
- package/dist/features/render-graph-compute.d.ts.map +1 -1
- package/dist/features/render-graph-contribution.d.ts +11 -3
- package/dist/features/render-graph-contribution.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +19 -3
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/types.d.ts +11 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +2 -0
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts +34 -1
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/pbr-program.d.ts +10 -0
- package/dist/gpu-driven/pbr-program.d.ts.map +1 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +144 -23
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/shadow-views.d.ts +126 -0
- package/dist/gpu-driven/shadow-views.d.ts.map +1 -0
- package/dist/gpu-driven/view-gpu.d.ts +18 -2
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-scene-schema.d.ts +2 -8
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +14 -0
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/gpu-texture-usage.d.ts +1 -0
- package/dist/gpu-texture-usage.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +6 -0
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/frame-resources.d.ts +8 -0
- package/dist/ibl/frame-resources.d.ts.map +1 -0
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +18 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +8 -8
- package/dist/inspection-types.d.ts +164 -0
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/instances-derived-bounds.d.ts +11 -0
- package/dist/instances-derived-bounds.d.ts.map +1 -1
- package/dist/instances.d.ts +89 -44
- package/dist/instances.d.ts.map +1 -1
- package/dist/internal.d.ts +3 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +117 -9
- package/dist/internal.mjs.map +1 -1
- package/dist/lifecycle.d.ts +2 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/material-row.d.ts +5 -0
- package/dist/material-row.d.ts.map +1 -0
- package/dist/materials.d.ts +15 -0
- package/dist/materials.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +21 -5
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-output/auto-exposure/capability.d.ts +12 -0
- package/dist/pipeline/standard-output/auto-exposure/capability.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts +70 -0
- package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/graph.d.ts +75 -0
- package/dist/pipeline/standard-output/auto-exposure/graph.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts +111 -0
- package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts +16 -0
- package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/preset.d.ts +14 -0
- package/dist/pipeline/standard-output/auto-exposure/preset.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/state.d.ts +46 -0
- package/dist/pipeline/standard-output/auto-exposure/state.d.ts.map +1 -0
- package/dist/pipeline/standard-output/color-transform.d.ts +27 -0
- package/dist/pipeline/standard-output/color-transform.d.ts.map +1 -0
- package/dist/pipeline/standard-output/graph.d.ts +15 -0
- package/dist/pipeline/standard-output/graph.d.ts.map +1 -0
- package/dist/pipeline/standard-output/lut-admission.d.ts +29 -0
- package/dist/pipeline/standard-output/lut-admission.d.ts.map +1 -0
- package/dist/pipeline/standard-output/lut-gpu.d.ts +48 -0
- package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -0
- package/dist/pipeline/standard-output/lut-state.d.ts +68 -0
- package/dist/pipeline/standard-output/lut-state.d.ts.map +1 -0
- package/dist/pipeline/standard-output/resources.d.ts +10 -0
- package/dist/pipeline/standard-output/resources.d.ts.map +1 -0
- package/dist/pipeline/standard-output/types.d.ts +39 -0
- package/dist/pipeline/standard-output/types.d.ts.map +1 -0
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts +2 -2
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +2 -1
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec-types.d.ts +4 -0
- package/dist/pipeline-spec-types.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts +1 -9
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/points-lines/standard-owner.d.ts +1 -1
- package/dist/points-lines/standard-owner.d.ts.map +1 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts +6 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
- package/dist/record/dynamic-geometry-consumption.d.ts +15 -0
- package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +3 -3
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +106 -5
- 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 +39 -4
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +7 -8
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +38 -1
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts +2 -10
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +12 -2
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +15 -6
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/prepared-material-bindings.d.ts +19 -0
- package/dist/record/prepared-material-bindings.d.ts.map +1 -0
- package/dist/record/recovery-pipeline.d.ts +2 -9
- package/dist/record/recovery-pipeline.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +74 -26
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts +62 -7
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts +1 -1
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +35 -7
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +1 -0
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/recovery/render-system-candidate.d.ts +10 -2
- package/dist/recovery/render-system-candidate.d.ts.map +1 -1
- package/dist/recovery/render-system-roots.d.ts +11 -0
- package/dist/recovery/render-system-roots.d.ts.map +1 -0
- package/dist/recovery/types.d.ts +76 -0
- package/dist/recovery/types.d.ts.map +1 -0
- package/dist/reflection/record-owner.d.ts +0 -2
- package/dist/reflection/record-owner.d.ts.map +1 -1
- package/dist/render-contract.d.ts +173 -30
- 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 +64 -5
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +7 -5
- package/dist/render-system-extract-tail.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +101 -41
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system-projections.d.ts +22 -0
- package/dist/render-system-projections.d.ts.map +1 -0
- package/dist/render-system.d.ts +27 -77
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/render-scene-types.d.ts +14 -7
- package/dist/scene/render-scene-types.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +29 -11
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/scene/shadow-visibility.d.ts +5 -0
- package/dist/scene/shadow-visibility.d.ts.map +1 -0
- package/dist/ssr/admission.d.ts +70 -1
- package/dist/ssr/admission.d.ts.map +1 -1
- package/dist/ssr/compose.d.ts +13 -0
- package/dist/ssr/compose.d.ts.map +1 -0
- package/dist/ssr/errors.d.ts +35 -0
- package/dist/ssr/errors.d.ts.map +1 -1
- package/dist/ssr/graph.d.ts +60 -0
- package/dist/ssr/graph.d.ts.map +1 -0
- package/dist/ssr/history.d.ts +97 -0
- package/dist/ssr/history.d.ts.map +1 -0
- package/dist/ssr/hiz.d.ts +37 -0
- package/dist/ssr/hiz.d.ts.map +1 -0
- package/dist/ssr/inspection.d.ts +42 -0
- package/dist/ssr/inspection.d.ts.map +1 -0
- package/dist/ssr/resources.d.ts +58 -0
- package/dist/ssr/resources.d.ts.map +1 -0
- package/dist/ssr/temporal.d.ts +38 -0
- package/dist/ssr/temporal.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts +32 -10
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
- package/dist/systems/skin-palette-types.d.ts +15 -0
- package/dist/systems/skin-palette-types.d.ts.map +1 -1
- package/dist/systems/transparent-dispatch.d.ts +9 -0
- package/dist/systems/transparent-dispatch.d.ts.map +1 -0
- package/dist/targets/material-source.d.ts +7 -0
- package/dist/targets/material-source.d.ts.map +1 -1
- package/dist/temporal/frame-coordinator.d.ts +7 -0
- package/dist/temporal/frame-coordinator.d.ts.map +1 -1
- package/dist/temporal/gpu.d.ts +8 -0
- package/dist/temporal/gpu.d.ts.map +1 -1
- package/dist/temporal/history.d.ts.map +1 -1
- package/dist/temporal/index.mjs +6 -6
- package/dist/temporal/inspection.d.ts.map +1 -1
- package/dist/temporal/standard-scene-data.d.ts +2 -1
- package/dist/temporal/standard-scene-data.d.ts.map +1 -1
- package/dist/temporal/temporal-view.d.ts +2 -0
- package/dist/temporal/temporal-view.d.ts.map +1 -1
- package/dist/typed-render-graph-primitives.d.ts +35 -1
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-passes.d.ts +3 -1
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/dist/volume/temporal.d.ts +6 -0
- package/dist/volume/temporal.d.ts.map +1 -1
- package/package.json +21 -20
- package/src/__tests__/auto-exposure-gpu-evidence.ts +291 -0
- package/src/__tests__/auto-exposure-inspection.unit.test.ts +80 -0
- package/src/__tests__/auto-exposure-transaction.integration.test.ts +99 -0
- package/src/__tests__/auto-exposure.browser.test.ts +33 -0
- package/src/__tests__/auto-exposure.dawn.test.ts +33 -0
- package/src/__tests__/detached-inspection.integration.test.ts +5 -0
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +18 -0
- package/src/__tests__/device-scope-stale-matrix.unit.test.ts +18 -0
- package/src/__tests__/docs-gate-green.unit.test.ts +3 -3
- package/src/__tests__/factory-contract.integration.test.ts +67 -8
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +19 -0
- package/src/__tests__/feature-depth-input.dawn.test.ts +121 -0
- package/src/__tests__/feature-noise.unit.test.ts +38 -0
- package/src/__tests__/fixtures/taa-resolve-pinned-baseline.wgsl +301 -0
- package/src/__tests__/frame-camera-selection.unit.test.ts +131 -0
- package/src/__tests__/frame-plan-contract.unit.test.ts +24 -0
- package/src/__tests__/frame-targets.unit.test.ts +24 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +3 -0
- package/src/__tests__/gpu-driven-baseline.characterization.test.ts +79 -0
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +287 -6
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +122 -142
- package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +10 -1
- package/src/__tests__/gpu-driven-lod-cache.unit.test.ts +264 -0
- package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +349 -0
- package/src/__tests__/gpu-driven-pbr.dawn.test.ts +1417 -0
- package/src/__tests__/gpu-driven-pbr.integration.test.ts +21 -0
- package/src/__tests__/gpu-driven-production-fixture.ts +96 -0
- package/src/__tests__/gpu-driven-production.integration.test.ts +1075 -93
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +1 -3
- package/src/__tests__/gpu-driven-shadow-views.browser.test.ts +63 -0
- package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +294 -0
- package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +97 -0
- package/src/__tests__/gpu-driven-shadow-views.unit.test.ts +168 -0
- package/src/__tests__/gpu-driven-skin-contract.test-d.ts +11 -0
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +72 -20
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +30 -9
- package/src/__tests__/gpu-driven-view.unit.test.ts +159 -52
- package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -1
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +42 -0
- package/src/__tests__/gpu-scene-render-graph-gpu.ts +19 -5
- package/src/__tests__/gpu-scene.dawn.test.ts +40 -13
- package/src/__tests__/gpu-scene.unit.test.ts +559 -33
- package/src/__tests__/instances-culling.integration.test.ts +36 -10
- package/src/__tests__/instances-derived-bounds.unit.test.ts +54 -0
- package/src/__tests__/instances-store.unit.test.ts +242 -39
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +6 -0
- package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +13 -16
- package/src/__tests__/lut-lkg-transaction.integration.test.ts +122 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +5 -6
- package/src/__tests__/material-dispatch-shader-id.unit.test.ts +51 -0
- package/src/__tests__/material-lane-selection.unit.test.ts +60 -0
- package/src/__tests__/material-numeric-upload.unit.test.ts +53 -0
- package/src/__tests__/material-texture-handles.unit.test.ts +18 -0
- package/src/__tests__/material-texture-source.unit.test.ts +87 -0
- package/src/__tests__/materials-authoring-validation.unit.test.ts +41 -0
- package/src/__tests__/materials-standard-contract.unit.test.ts +52 -2
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +4 -0
- package/src/__tests__/normal-fallback.dawn.test.ts +122 -0
- package/src/__tests__/particle-material-input-layout.unit.test.ts +104 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +37 -3
- package/src/__tests__/pipeline-texture-specialization.unit.test.ts +138 -0
- package/src/__tests__/point-shadow-inspection.unit.test.ts +2 -0
- package/src/__tests__/prepared-gpu-driven-pbr-contract.test-d.ts +31 -0
- package/src/__tests__/prepared-gpu-driven-pbr-contract.unit.test.ts +39 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +35 -4
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +21 -0
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +6 -2
- package/src/__tests__/profiler-phase-catalog.test.ts +5 -0
- package/src/__tests__/public-surface.test-d.ts +3 -0
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +30 -12
- package/src/__tests__/reflection-fallback-async-publication.unit.test.ts +104 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +2 -1
- package/src/__tests__/render-error-code-owner.test-d.ts +4 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +22 -0
- package/src/__tests__/render-error-exhaustive.test-d.ts +15 -0
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +285 -2
- package/src/__tests__/render-feature-plan.unit.test.ts +245 -0
- package/src/__tests__/render-feature-shadow-order.unit.test.ts +228 -0
- package/src/__tests__/render-feature-zero-work.unit.test.ts +35 -1
- package/src/__tests__/render-graph-fallback.integration.test.ts +2 -2
- package/src/__tests__/render-owner-cohesion.unit.test.ts +55 -0
- package/src/__tests__/render-scene-mixed-updates.integration.test.ts +426 -0
- package/src/__tests__/render-scene-projection.unit.test.ts +914 -23
- package/src/__tests__/render-scene-resource-updates.integration.test.ts +214 -0
- package/src/__tests__/render-scene-skin-lifecycle.integration.test.ts +173 -0
- package/src/__tests__/render-scene-temporal-retry.unit.test.ts +133 -0
- package/src/__tests__/render-target-material-source.test-d.ts +27 -3
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +60 -0
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +923 -5
- package/src/__tests__/shader-manifest-fixture.ts +39 -0
- package/src/__tests__/skin-motion-regression.unit.test.ts +0 -33
- package/src/__tests__/skin-palette-persistent.integration.test.ts +28 -0
- package/src/__tests__/skin-palette-persistent.unit.test.ts +247 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +118 -14
- package/src/__tests__/specular-environment-scale.dawn.test.ts +156 -0
- package/src/__tests__/ssr-admission-matrix.integration.test.ts +7 -1
- package/src/__tests__/ssr-confidence-compose.unit.test.ts +84 -0
- package/src/__tests__/ssr-coordinate-oracle.unit.test.ts +28 -0
- package/src/__tests__/ssr-format-probe-gating.integration.test.ts +82 -0
- package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +91 -0
- package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +112 -0
- package/src/__tests__/ssr-gpu-dispatch.ts +946 -0
- package/src/__tests__/ssr-graph-topology.unit.test.ts +104 -0
- package/src/__tests__/ssr-history-filter.dawn.test.ts +198 -0
- package/src/__tests__/ssr-hit-color.dawn.test.ts +273 -0
- package/src/__tests__/ssr-hiz-odd-reduction.dawn.test.ts +569 -0
- package/src/__tests__/ssr-hiz-rescue.dawn.test.ts +279 -0
- package/src/__tests__/ssr-hiz.browser.test.ts +150 -0
- package/src/__tests__/ssr-hiz.dawn.test.ts +150 -0
- package/src/__tests__/ssr-hiz.unit.test.ts +56 -0
- package/src/__tests__/ssr-inspection.unit.test.ts +105 -0
- package/src/__tests__/ssr-memory-budget.unit.test.ts +45 -0
- package/src/__tests__/ssr-performance-sequence-aggregation.unit.test.ts +15 -0
- package/src/__tests__/ssr-public-surface.test-d.ts +37 -0
- package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +387 -0
- package/src/__tests__/ssr-reflection-mip-reducer.dawn.test.ts +309 -0
- package/src/__tests__/ssr-reprojection-probe.ts +90 -0
- package/src/__tests__/ssr-roughness-mip.dawn.test.ts +163 -0
- package/src/__tests__/ssr-shader-prewarm.unit.test.ts +59 -0
- package/src/__tests__/ssr-spatial.integration.test.ts +141 -0
- package/src/__tests__/ssr-stable-lattice.dawn.test.ts +475 -0
- package/src/__tests__/ssr-temporal-history.unit.test.ts +202 -0
- package/src/__tests__/ssr-texel-crossing.dawn.test.ts +448 -0
- package/src/__tests__/ssr-zero-work.integration.test.ts +87 -0
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +44 -12
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +29 -0
- package/src/__tests__/standard-output-chain-contract.unit.test.ts +99 -0
- package/src/__tests__/standard-output-chain.integration.test.ts +73 -0
- package/src/__tests__/standard-output-gpu-evidence.ts +205 -0
- package/src/__tests__/standard-output.browser.test.ts +15 -0
- package/src/__tests__/standard-output.dawn.test.ts +15 -0
- package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +38 -0
- package/src/__tests__/standard-pipeline.integration.test.ts +320 -3
- package/src/__tests__/standard-profile-oracle.unit.test.ts +22 -0
- package/src/__tests__/standard-surface-lighting.unit.test.ts +41 -0
- package/src/__tests__/standard-texture-specialization.dawn.test.ts +141 -0
- package/src/__tests__/surface-adjacent-regressions.integration.test.ts +6 -3
- package/src/__tests__/taa-coverage-edge.dawn.test.ts +193 -0
- package/src/__tests__/taa-history-clipping.dawn.test.ts +328 -0
- package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +778 -0
- package/src/__tests__/taa-stability-feedback.browser.test.ts +23 -0
- package/src/__tests__/taa-stability-feedback.dawn.test.ts +68 -0
- package/src/__tests__/taa-stability-feedback.ts +341 -0
- package/src/__tests__/temporal-history-lifecycle.unit.test.ts +49 -7
- package/src/__tests__/temporal-reset-matrix.unit.test.ts +9 -0
- package/src/__tests__/temporal-transaction.integration.test.ts +28 -0
- package/src/__tests__/texture-usage-surface.unit.test.ts +4 -2
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +109 -4
- package/src/__tests__/typed-scene-pass-material-cache.integration.test.ts +126 -0
- package/src/__tests__/vertex-layouts-ssot.unit.test.ts +47 -0
- package/src/__tests__/visibility-extract.perf.test.ts +20 -8
- package/src/__tests__/visibility-instances.integration.test.ts +19 -7
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +20 -9
- package/src/assembly/atmosphere-shader-prewarm.ts +38 -0
- package/src/assembly/dynamic-geometry-host.ts +48 -0
- package/src/assembly/dynamic-geometry-runtime.ts +71 -0
- package/src/assembly/factory.ts +4 -0
- package/src/assembly/gpu-driven-owner.ts +29 -0
- package/src/assembly/host-contract.ts +10 -0
- package/src/assembly/material/assembly.ts +38 -0
- package/src/assembly/material-shader-policy.ts +71 -28
- package/src/assembly/recovery/failure-location.ts +62 -0
- package/src/assembly/recovery/renderer-recover.ts +19 -17
- package/src/assembly/renderer-facade.ts +12 -0
- package/src/assembly/renderer-feature-inspection.ts +13 -0
- package/src/assembly/renderer-frame-transaction.ts +63 -0
- package/src/assembly/renderer-helpers.ts +26 -0
- package/src/assembly/renderer-inspection.ts +6 -0
- package/src/assembly/shader-prewarm-policy.ts +32 -0
- package/src/assembly/skin-palette-owner.ts +21 -0
- package/src/assembly/ssr-shader-prewarm.ts +41 -0
- package/src/assembly/webgpu-device-loss.ts +75 -0
- package/src/assembly/webgpu-pbr-ready.ts +232 -0
- package/src/assembly/webgpu-ready-mipmap.ts +26 -0
- package/src/assembly/webgpu-ready.ts +142 -121
- package/src/assembly/webgpu-renderer-bootstrap.ts +85 -0
- package/src/assembly/webgpu-renderer-contract.ts +69 -0
- package/src/assembly/webgpu-renderer-guards.ts +32 -0
- package/src/assembly/webgpu-renderer-observation.ts +43 -0
- package/src/assembly/webgpu-renderer-recovery-failure.ts +62 -0
- package/src/assembly/webgpu-renderer.ts +666 -652
- package/src/assembly/webgpu-vertex-layouts.ts +233 -87
- package/src/components/__tests__/camera-exposure.contract.unit.test.ts +153 -0
- package/src/components/camera.ts +287 -7
- package/src/components/index.ts +1 -0
- package/src/components/instances.ts +45 -18
- package/src/components/scene-instance.ts +2 -1
- package/src/components/screen-space-reflection.ts +21 -0
- package/src/components/sprite-animation.ts +2 -2
- package/src/components/sprite-instances.ts +1 -1
- package/src/device/gpu-residency.ts +34 -31
- package/src/environment/background.ts +263 -0
- package/src/errors/gpu-driven.ts +39 -5
- package/src/errors/render.ts +27 -3
- package/src/extract/camera.ts +26 -1
- package/src/extract/gpu-driven.ts +185 -10
- package/src/features/host.ts +237 -19
- package/src/features/noise-texture.ts +91 -0
- package/src/features/plan.ts +553 -24
- package/src/features/prepared-gpu-work.ts +631 -49
- package/src/features/prepared-graphics-store.ts +31 -0
- package/src/features/prepared-graphics.ts +5 -0
- package/src/features/render-graph-compute.ts +41 -8
- package/src/features/render-graph-contribution.ts +141 -3
- package/src/features/render-graph-raster.ts +143 -30
- package/src/features/types.ts +11 -0
- package/src/fullscreen-post-process-pass.ts +3 -0
- package/src/gpu-driven/batch-topology.ts +424 -102
- package/src/gpu-driven/pbr-program.ts +31 -0
- package/src/gpu-driven/prepared-draw.ts +29 -4
- package/src/gpu-driven/production-raster.ts +2267 -694
- package/src/gpu-driven/shadow-views.ts +539 -0
- package/src/gpu-driven/view-gpu.ts +188 -41
- package/src/gpu-scene-schema.ts +52 -11
- package/src/gpu-scene.ts +186 -99
- package/src/gpu-texture-usage.ts +1 -0
- package/src/hdrp-buffers.ts +72 -36
- package/src/ibl/frame-resources.ts +38 -0
- package/src/ibl/skylight-bind-group.ts +5 -4
- package/src/index.ts +109 -1
- package/src/inspection-types.ts +191 -0
- package/src/instances-derived-bounds.ts +258 -34
- package/src/instances.ts +459 -150
- package/src/internal.ts +22 -0
- package/src/lifecycle.ts +2 -0
- package/src/material-row.ts +145 -0
- package/src/materials.ts +44 -8
- package/src/pbr-pipeline.ts +159 -17
- package/src/pipeline/standard-forward-lane.ts +52 -24
- package/src/pipeline/standard-output/__tests__/lut-admission.unit.test.ts +103 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/capability.unit.test.ts +40 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/gpu.contract.unit.test.ts +125 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/graph.contract.unit.test.ts +94 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/oracle.test.ts +108 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/preset.test.ts +26 -0
- package/src/pipeline/standard-output/auto-exposure/capability.ts +38 -0
- package/src/pipeline/standard-output/auto-exposure/gpu.ts +567 -0
- package/src/pipeline/standard-output/auto-exposure/graph.ts +221 -0
- package/src/pipeline/standard-output/auto-exposure/inspection.ts +231 -0
- package/src/pipeline/standard-output/auto-exposure/oracle.ts +291 -0
- package/src/pipeline/standard-output/auto-exposure/preset.ts +28 -0
- package/src/pipeline/standard-output/auto-exposure/state.ts +156 -0
- package/src/pipeline/standard-output/color-transform.ts +124 -0
- package/src/pipeline/standard-output/graph.ts +139 -0
- package/src/pipeline/standard-output/lut-admission.ts +121 -0
- package/src/pipeline/standard-output/lut-gpu.ts +399 -0
- package/src/pipeline/standard-output/lut-state.ts +176 -0
- package/src/pipeline/standard-output/resources.ts +121 -0
- package/src/pipeline/standard-output/types.ts +58 -0
- package/src/pipeline/standard-pipeline.ts +192 -59
- package/src/pipeline/standard-post.ts +186 -27
- package/src/pipeline-builder.ts +16 -6
- package/src/pipeline-spec-types.ts +4 -0
- package/src/pipeline-spec.ts +37 -29
- package/src/points-lines/standard-owner.ts +6 -14
- package/src/prepare/prepared-graphics-resolver.ts +9 -2
- package/src/record/__tests__/material-slot-plan.unit.test.ts +48 -0
- package/src/record/__tests__/mesh-ssbo.unit.test.ts +40 -1
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +2 -29
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +36 -5
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +45 -0
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +5 -0
- package/src/record/dynamic-geometry-consumption.ts +59 -0
- package/src/record/frame-lighting.ts +12 -11
- package/src/record/frame-snapshot.ts +133 -23
- package/src/record/frame-targets.ts +9 -0
- package/src/record/frame.ts +725 -133
- package/src/record/main-pass-geometry.ts +149 -94
- package/src/record/main-pass-material.ts +115 -26
- package/src/record/main-pass-sprite-draws.ts +16 -107
- package/src/record/main-pass.ts +78 -8
- package/src/record/material-uniforms.ts +1 -1
- package/src/record/mesh-ssbo.ts +59 -15
- package/src/record/prepared-material-bindings.ts +234 -0
- package/src/record/recovery-pipeline.ts +59 -136
- package/src/record/render-context.ts +90 -22
- package/src/record/shadow-pass.ts +1231 -209
- package/src/record/skybox-post-pass.ts +14 -3
- package/src/record/typed-frame-graph.ts +1004 -44
- package/src/record/view-ubo.ts +11 -0
- package/src/recovery/render-system-candidate.ts +90 -66
- package/src/recovery/render-system-roots.ts +113 -0
- package/src/recovery/types.ts +77 -0
- package/src/reflection/record-owner.ts +26 -54
- package/src/render-contract.ts +195 -25
- package/src/render-graph-primitives.ts +6 -2
- package/src/render-pipeline.ts +70 -1
- package/src/render-system-extract-tail.ts +409 -160
- package/src/render-system-extract.ts +376 -102
- package/src/render-system-projections.ts +241 -0
- package/src/render-system.ts +681 -822
- package/src/scene/render-scene-types.ts +13 -4
- package/src/scene/render-scene.ts +569 -355
- package/src/scene/shadow-visibility.ts +21 -0
- package/src/ssr/admission.ts +380 -14
- package/src/ssr/compose.ts +144 -0
- package/src/ssr/errors.ts +48 -0
- package/src/ssr/graph.ts +777 -0
- package/src/ssr/history.ts +436 -0
- package/src/ssr/hiz.ts +124 -0
- package/src/ssr/inspection.ts +124 -0
- package/src/ssr/resources.ts +202 -0
- package/src/ssr/temporal.ts +164 -0
- package/src/systems/skin-palette-allocator.ts +495 -148
- package/src/systems/skin-palette-types.ts +17 -0
- package/src/systems/transparent-dispatch.ts +90 -0
- package/src/targets/material-source.ts +34 -0
- package/src/temporal/coverage.ts +1 -1
- package/src/temporal/frame-coordinator.ts +23 -2
- package/src/temporal/gpu.ts +74 -12
- package/src/temporal/history.ts +3 -1
- package/src/temporal/inspection.ts +2 -1
- package/src/temporal/standard-scene-data.ts +3 -1
- package/src/temporal/temporal-view.ts +3 -0
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +204 -139
- package/src/typed-render-graph-primitives.ts +266 -74
- package/src/typed-shadow-passes.ts +122 -12
- package/src/volume/temporal.ts +10 -0
- package/dist/chunk-GE3SDD72.mjs.map +0 -1
- package/dist/chunk-GF523LHF.mjs.map +0 -1
- package/dist/chunk-IQMKJLNU.mjs.map +0 -1
- package/dist/chunk-J52NMQKR.mjs.map +0 -1
- package/dist/chunk-J6KACNOH.mjs.map +0 -1
- package/dist/chunk-JAASCMXA.mjs.map +0 -1
- package/dist/chunk-MBU4ZVE7.mjs.map +0 -1
- package/dist/chunk-RBDBZ5R7.mjs.map +0 -1
- package/dist/chunk-VSL23LZE.mjs.map +0 -1
- package/src/__tests__/instances-world-ownership.integration.test.ts +0 -62
- package/src/scene/__tests__/changed-block-summary.candidate.test.ts +0 -36
package/dist/render-system.d.ts
CHANGED
|
@@ -1,34 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
1
|
+
import type { RenderSceneBounds } from './scene/render-scene-types';
|
|
2
|
+
import { type World } from '@forgeax/engine-ecs';
|
|
3
3
|
import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
|
|
4
4
|
import type { CompiledRenderGraphInfo } from '@forgeax/engine-render-graph';
|
|
5
|
-
import type {
|
|
5
|
+
import type { RhiDevice } from '@forgeax/engine-rhi';
|
|
6
6
|
import { type Result, RhiError } from '@forgeax/engine-rhi';
|
|
7
7
|
import { type RenderPipelineAsset } from '@forgeax/engine-types';
|
|
8
|
-
import type { DeviceScope, LifecycleResourceSpec } from './device/device-scope';
|
|
9
8
|
import { type ObservationUnavailableError } from './errors/render';
|
|
10
|
-
import { type RenderFeatureHost } from './features/host';
|
|
11
|
-
import { type RenderFeatureGpuWorkOwner } from './features/prepared-gpu-work';
|
|
12
9
|
import { type PostProcessShaderEntry } from './fullscreen-post-process-pass';
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
10
|
+
import type { BloomInspection, DirectionalShadowInspection, GpuDrivenProductionInspection, LodOcclusionInspection, MaterialTextureSourceInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, SsrDependenciesInspection, SsrSpatialInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
|
|
11
|
+
import { type AutoExposureInspection } from './pipeline/standard-output/auto-exposure/inspection';
|
|
12
|
+
import { type StandardLutInspection } from './pipeline/standard-output/lut-state';
|
|
15
13
|
import type { PointsLinesRetainedSnapshot } from './points-lines/snapshot';
|
|
14
|
+
export { materialTextureHandlesForResidency } from './recovery/render-system-candidate';
|
|
15
|
+
import type { RecoveryGraphCandidate, RecoveryGraphCandidatePreparation, RecoveryGraphCandidateRuntime, RecoveryGraphSetupSubmission, RecoveryPostProcessResources, RecoveryRootBundle, RecoveryRootRuntime } from './recovery/types';
|
|
16
|
+
export type { RecoveryGraphCandidate, RecoveryGraphCandidatePreparation, RecoveryGraphCandidateRuntime, RecoveryGraphSetupSubmission, RecoveryPointsLinesCandidate, RecoveryPostProcessResources, RecoveryRootBundle, RecoveryRootRuntime, } from './recovery/types';
|
|
16
17
|
export type { RenderSceneInspection } from './inspection-types';
|
|
17
|
-
import type { GpuResidencyCache } from './device/gpu-residency';
|
|
18
18
|
import type { EnvironmentInspection } from './environment/inspection';
|
|
19
19
|
import type { InstanceCollectionInspection } from './instances';
|
|
20
|
+
import { InstanceCollectionStore } from './instances';
|
|
20
21
|
import { type MeshMaterialBindingObservation } from './mesh-material-bindings';
|
|
21
22
|
import type { StandardLightingInspection } from './pipeline/standard-lighting/inspection';
|
|
22
23
|
import type { PointShadowInspection } from './point-shadow-inspection';
|
|
23
24
|
import { type FrameObservation, type FrameObservationOptions } from './record/frame';
|
|
24
|
-
import type { CurrentGraphTarget, GraphTargetCaptureRequest
|
|
25
|
+
import type { CurrentGraphTarget, GraphTargetCaptureRequest } from './record/frame-snapshot';
|
|
25
26
|
import type { GpuPassTimingSession } from './record/gpu-pass-timing/session';
|
|
26
27
|
import type { GpuTimingCapture } from './record/gpu-timing';
|
|
27
|
-
import type { RecoveryPipelineReadiness } from './record/recovery-pipeline';
|
|
28
28
|
import type { PipelineState, RenderSystemInternals } from './record/render-context';
|
|
29
|
-
import { type RenderFeatureGraphCandidate } from './record/typed-frame-graph';
|
|
30
29
|
import { type CameraSnapshot, type DrawOwnerOptions } from './render-contract';
|
|
31
|
-
import { type PersistentGpuDrivenCandidate } from './scene/render-scene';
|
|
32
30
|
import type { RenderTarget } from './targets/contracts';
|
|
33
31
|
import { type TemporalFrame } from './temporal/frame';
|
|
34
32
|
import { type TemporalInspection } from './temporal/inspection';
|
|
@@ -44,11 +42,6 @@ export interface RendererProducerRoot {
|
|
|
44
42
|
readonly visibility: 'visible-workset' | 'non-visible-lazy';
|
|
45
43
|
readonly disabledWork: 'zero' | 'lazy';
|
|
46
44
|
}
|
|
47
|
-
/** Device-bound post-process resources prepared off to the side of the active renderer. */
|
|
48
|
-
export interface RecoveryPostProcessResources {
|
|
49
|
-
readonly device: RhiDevice;
|
|
50
|
-
readonly paramsBuffers: Map<string, Buffer>;
|
|
51
|
-
}
|
|
52
45
|
export declare function createRendererProducerRootMatrix(): readonly RendererProducerRoot[];
|
|
53
46
|
/**
|
|
54
47
|
* Production-owned recovery facts. These values are projections of the live
|
|
@@ -87,6 +80,9 @@ export interface RecoveryProductionEvidence {
|
|
|
87
80
|
* whose shader identity is `forgeax::default-standard-pbr`).
|
|
88
81
|
*/
|
|
89
82
|
export interface RenderSystem {
|
|
83
|
+
bounds(world: World, entity: number): RenderSceneBounds | undefined;
|
|
84
|
+
/** Complete explicit SSR capability preparation before drawing a device generation. */
|
|
85
|
+
initializeSsr(device?: RhiDevice): Promise<void>;
|
|
90
86
|
/** Returns true only when this invocation reached queue submission. */
|
|
91
87
|
draw(worlds: readonly World[], opts: DrawOwnerOptions, renderReadLeases?: readonly RenderReadLease[], timingCapture?: GpuTimingCapture): boolean;
|
|
92
88
|
/**
|
|
@@ -97,7 +93,7 @@ export interface RenderSystem {
|
|
|
97
93
|
isDynamicGeometryConsumed(world: World, entity: number, meshHandle: number | undefined): boolean;
|
|
98
94
|
invalidateGeometryHistory(): void;
|
|
99
95
|
/** Prepare a detached graph candidate without entering the frame record path. */
|
|
100
|
-
prepareRecoveryGraphCandidate(runtime: RecoveryGraphCandidateRuntime):
|
|
96
|
+
prepareRecoveryGraphCandidate(runtime: RecoveryGraphCandidateRuntime): RecoveryGraphCandidatePreparation;
|
|
101
97
|
/** Finish and submit detached candidate setup, never a frame receipt. */
|
|
102
98
|
submitCandidateSetup(candidate: RecoveryGraphCandidate, isValid: () => boolean): Result<RecoveryGraphSetupSubmission, RhiError>;
|
|
103
99
|
/** Publish a detached graph candidate at the generation publication boundary. */
|
|
@@ -118,6 +114,8 @@ export interface RenderSystem {
|
|
|
118
114
|
readonly pipelineDispatchCounts: {
|
|
119
115
|
readonly unlit: number;
|
|
120
116
|
};
|
|
117
|
+
/** Renderer-owned source for explicit large instance collections. */
|
|
118
|
+
readonly instances: InstanceCollectionStore;
|
|
121
119
|
/** Detached residency and upload facts for explicit instance collections. */
|
|
122
120
|
readonly instanceCollectionsInspection: readonly InstanceCollectionInspection[];
|
|
123
121
|
/**
|
|
@@ -137,11 +135,17 @@ export interface RenderSystem {
|
|
|
137
135
|
readonly reflectionProbes: ReflectionProbeInspection;
|
|
138
136
|
/** Live producer/RHI/temporal receipts projected through SSR admission. */
|
|
139
137
|
readonly ssrDependencies: SsrDependenciesInspection;
|
|
138
|
+
/** Live SSR spatial admission and bounded graph/history projection. */
|
|
139
|
+
readonly ssr: SsrSpatialInspection;
|
|
140
140
|
/** Producer completion fence included in the public FrameReceipt. */
|
|
141
141
|
readonly reflectionFallbackCompletion: Promise<void> | undefined;
|
|
142
142
|
/** True while a progressive CubeCamera candidate still owns unfinished faces. */
|
|
143
143
|
isCubeCapturePending(target: RenderTarget): boolean;
|
|
144
144
|
readonly environment: EnvironmentInspection;
|
|
145
|
+
/** Detached auto-exposure state published after a successful frame submit. */
|
|
146
|
+
readonly autoExposure: AutoExposureInspection | undefined;
|
|
147
|
+
/** Detached Standard LUT state published after a successful frame submit. */
|
|
148
|
+
readonly standardLut: StandardLutInspection;
|
|
145
149
|
readonly temporal: TemporalInspection;
|
|
146
150
|
readonly bloom: BloomInspection;
|
|
147
151
|
readonly motionBlurInspection: MotionBlurInspection | undefined;
|
|
@@ -176,6 +180,10 @@ export interface RenderSystem {
|
|
|
176
180
|
readonly lastSuccessfulCameraAntialias: CameraSnapshot['antialias'] | undefined;
|
|
177
181
|
/** Detached compiled-graph facts used by the renderer inspection owner. */
|
|
178
182
|
readonly perFrameGraphInfo: CompiledRenderGraphInfo | undefined;
|
|
183
|
+
/** Detached feature signature/compile/lifetime counters. */
|
|
184
|
+
readonly featureGraphInspection: import('./inspection-types').RenderFeatureGraphInspection;
|
|
185
|
+
/** Detached material texture-source probe counters from the last extract. */
|
|
186
|
+
readonly materialTextureSources: MaterialTextureSourceInspection;
|
|
179
187
|
/** Production-owner recovery facts used by Renderer.inspect(). */
|
|
180
188
|
readonly recoveryEvidence: RecoveryProductionEvidence;
|
|
181
189
|
/**
|
|
@@ -241,64 +249,6 @@ export interface RenderSystem {
|
|
|
241
249
|
/** Build candidate roots from explicit candidate-owned device state. */
|
|
242
250
|
prepareRecoveryRoots(runtime: RecoveryRootRuntime): RecoveryRootBundle;
|
|
243
251
|
}
|
|
244
|
-
/** The single Points/Lines owner’s staged device-generation handoff. */
|
|
245
|
-
export interface RecoveryPointsLinesCandidate {
|
|
246
|
-
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
247
|
-
publish(): void;
|
|
248
|
-
release(): void;
|
|
249
|
-
}
|
|
250
|
-
/** Candidate-only device/runtime inputs used by the recovery prepare seam. */
|
|
251
|
-
export interface RecoveryGraphCandidateRuntime {
|
|
252
|
-
readonly internals: RenderSystemInternals;
|
|
253
|
-
readonly pipelineState: PipelineState;
|
|
254
|
-
}
|
|
255
|
-
/** Detached graph state prepared on a replacement device, before publication. */
|
|
256
|
-
export interface RecoveryGraphCandidate {
|
|
257
|
-
readonly frameState: RenderFrameState;
|
|
258
|
-
readonly setupWorks: readonly MipmapEncoderWork[];
|
|
259
|
-
readonly device: RhiDevice;
|
|
260
|
-
readonly generation: number;
|
|
261
|
-
readonly gpuDrivenProduction?: GpuDrivenProduction;
|
|
262
|
-
readonly gpuDrivenScene?: PersistentGpuDrivenCandidate;
|
|
263
|
-
/** Staged CPU-expanded Points/Lines buffers owned by the same RenderSystem. */
|
|
264
|
-
readonly pointsLines?: RecoveryPointsLinesCandidate;
|
|
265
|
-
readonly featureHost?: RenderFeatureHost;
|
|
266
|
-
readonly featureGpuWork?: RenderFeatureGpuWorkOwner;
|
|
267
|
-
readonly featureGraphCandidate?: RenderFeatureGraphCandidate;
|
|
268
|
-
readonly postProcessPipelines?: ReadonlyMap<string, RenderPipeline>;
|
|
269
|
-
readonly recoveryReadiness: RecoveryPipelineReadiness;
|
|
270
|
-
/** Release all candidate roots before publication; safe to call repeatedly. */
|
|
271
|
-
readonly release: () => void;
|
|
272
|
-
/** Transfer candidate-root ownership to the published RenderSystem. */
|
|
273
|
-
readonly markPublished: () => void;
|
|
274
|
-
}
|
|
275
|
-
/** Candidate setup completion; completion is bounded by the recovery owner. */
|
|
276
|
-
export interface RecoveryGraphSetupSubmission {
|
|
277
|
-
readonly completion?: PromiseLike<unknown>;
|
|
278
|
-
}
|
|
279
|
-
export type RecoveryGraphCandidatePreparation = {
|
|
280
|
-
readonly kind: 'no-seed';
|
|
281
|
-
} | {
|
|
282
|
-
readonly kind: 'ready';
|
|
283
|
-
readonly candidate: RecoveryGraphCandidate;
|
|
284
|
-
} | {
|
|
285
|
-
readonly kind: 'failed';
|
|
286
|
-
readonly reason: string;
|
|
287
|
-
readonly cause?: unknown;
|
|
288
|
-
};
|
|
289
|
-
/** Explicit candidate-owned inputs for lifecycle-root preparation. */
|
|
290
|
-
export interface RecoveryRootRuntime {
|
|
291
|
-
readonly scope: DeviceScope;
|
|
292
|
-
readonly device: RhiDevice;
|
|
293
|
-
readonly gpuStore: GpuResidencyCache;
|
|
294
|
-
readonly graphCandidate?: RecoveryGraphCandidate | undefined;
|
|
295
|
-
}
|
|
296
|
-
/** Candidate roots plus the one synchronous owner switch at publication. */
|
|
297
|
-
export interface RecoveryRootBundle {
|
|
298
|
-
readonly roots: readonly LifecycleResourceSpec<unknown>[];
|
|
299
|
-
publish(): void;
|
|
300
|
-
discard(): void;
|
|
301
|
-
}
|
|
302
252
|
export declare function createRenderSystem(internals: RenderSystemInternals): RenderSystem;
|
|
303
253
|
/** Resolve the build identity used by every inspection submit. */
|
|
304
254
|
export declare function resolveInspectionBuild(internals: Pick<RenderSystemInternals, 'build'>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-system.d.ts","sourceRoot":"","sources":["../src/render-system.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-system.d.ts","sourceRoot":"","sources":["../src/render-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAoBpE,OAAO,EAAQ,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAA2C,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAW,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAGL,KAAK,mBAAmB,EAIzB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EAIL,KAAK,sBAAsB,EAI5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,+BAA+B,EAC/B,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,qDAAqD,CAAC;AAK7D,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAQ3E,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAMxF,OAAO,KAAK,EACV,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAW1B,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAUtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,KAAK,8BAA8B,EAIpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAI1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAMvE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAI7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AASpF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAKtB,MAAM,mBAAmB,CAAC;AAwB3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAuFjF,2FAA2F;AAC3F,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,IAAI,CAEN;AAED,YAAY,EACV,8BAA8B,EAC9B,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,wBAAwB,GAChC,iBAAiB,GACjB,0BAA0B,GAC1B,sBAAsB,GACtB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAC5D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AA2ED,wBAAgB,gCAAgC,IAAI,SAAS,oBAAoB,EAAE,CAElF;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7C,CAAC;CACH;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpE,uFAAuF;IACvF,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,uEAAuE;IACvE,IAAI,CACF,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,EAC7C,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC;IACX;;;;OAIG;IACH,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACjG,yBAAyB,IAAI,IAAI,CAAC;IAClC,iFAAiF;IACjF,6BAA6B,CAC3B,OAAO,EAAE,6BAA6B,GACrC,iCAAiC,CAAC;IACrC,yEAAyE;IACzE,oBAAoB,CAClB,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,MAAM,OAAO,GACrB,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAClD,iFAAiF;IACjF,6BAA6B,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvE,yEAAyE;IACzE,6BAA6B,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvE,sEAAsE;IACtE,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAChC,4EAA4E;IAC5E,sBAAsB,IAAI,IAAI,CAAC;IAC/B,mBAAmB,CACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAClE,gFAAgF;IAChF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,uEAAuE;IACvE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACpE,uEAAuE;IACvE,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpE,QAAQ,CAAC,sBAAsB,EAAE;QAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,6EAA6E;IAC7E,QAAQ,CAAC,6BAA6B,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAChF;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;IACrD,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC;IACnC,qEAAqE;IACrE,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACjE,iFAAiF;IACjF,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1D,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACpE,oFAAoF;IACpF,QAAQ,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;IAC5D,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1D,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;IACxD,yEAAyE;IACzE,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAC5E,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClE,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACtE,+EAA+E;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,SAAS,8BAA8B,EAAE,CAAC;IACzE,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,OAAO,0BAA0B,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACzF;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,6BAA6B,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAChF,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAChE,4DAA4D;IAC5D,QAAQ,CAAC,sBAAsB,EAAE,OAAO,oBAAoB,EAAE,4BAA4B,CAAC;IAC3F,6EAA6E;IAC7E,QAAQ,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;IACjE,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;IACtD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;KAClC,CAAC;IACF,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAClD,iEAAiE;IACjE,QAAQ,CAAC,aAAa,EAAE,OAAO,qBAAqB,EAAE,uBAAuB,CAAC;IAC9E,sEAAsE;IACtE,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC/D,+EAA+E;IAC/E,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAAC;IAClF,qFAAqF;IACrF,QAAQ,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAC;IAC/E;;;;;;;;;OASG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,eAAe,CAAC,qBAAqB,CAAC,EAAE,aAAa,EAAE,iBAAiB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5F,+EAA+E;IAC/E,mCAAmC,CACjC,MAAM,EAAE,SAAS,GAChB,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;IAClD,kFAAkF;IAClF,mCAAmC,CAAC,SAAS,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACnF,2DAA2D;IAC3D,mCAAmC,CAAC,SAAS,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACnF,4EAA4E;IAC5E,2BAA2B,IAAI,IAAI,CAAC;IACpC,wEAAwE;IACxE,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;CACxE;AAsMD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,YAAY,CAo4FjF;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,MAAM,CAE9F;AAOD;;;;GAIG"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RenderSceneResyncReason } from '../inspection-types';
|
|
2
|
+
import type { InstanceBoundsCacheInspection } from '../instances-derived-bounds';
|
|
2
3
|
import type { PointsLinesRetainedSnapshot } from '../points-lines/snapshot';
|
|
3
4
|
import type { RenderableSnapshot } from '../render-system-extract';
|
|
4
5
|
export type { RenderSceneResyncReason } from '../inspection-types';
|
|
@@ -6,12 +7,14 @@ export interface RenderSceneIdentity {
|
|
|
6
7
|
readonly worldId: number;
|
|
7
8
|
readonly entityKey: number;
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
readonly
|
|
12
|
-
|
|
13
|
-
readonly
|
|
14
|
-
|
|
10
|
+
/** One entity update merges the changed producer fields before publication. */
|
|
11
|
+
export type RenderSceneOperation = (RenderSceneIdentity & {
|
|
12
|
+
readonly kind: 'update';
|
|
13
|
+
/** Complete source projection for membership, geometry or material edits. */
|
|
14
|
+
readonly snapshot?: RenderableSnapshot;
|
|
15
|
+
/** Detached instance payload; can accompany a root-transform update. */
|
|
16
|
+
readonly instances?: NonNullable<RenderableSnapshot['instances']>;
|
|
17
|
+
readonly world?: Float32Array;
|
|
15
18
|
}) | (RenderSceneIdentity & {
|
|
16
19
|
readonly kind: 'remove';
|
|
17
20
|
});
|
|
@@ -33,7 +36,9 @@ export interface RenderSceneApplyResult {
|
|
|
33
36
|
readonly createdSlots: readonly RenderSceneSlot[];
|
|
34
37
|
readonly updatedSlots: readonly RenderSceneSlot[];
|
|
35
38
|
/** Full retained-snapshot updates; transform spans stay in updatedSlots only. */
|
|
36
|
-
readonly contentUpdatedSlots
|
|
39
|
+
readonly contentUpdatedSlots: readonly RenderSceneSlot[];
|
|
40
|
+
/** Retained snapshots with changed instance payloads; root transforms may change too. */
|
|
41
|
+
readonly instanceUpdatedSlots: readonly RenderSceneSlot[];
|
|
37
42
|
readonly removedSlots: readonly RenderSceneRecord[];
|
|
38
43
|
readonly recreatedSlots: readonly RenderSceneSlot[];
|
|
39
44
|
readonly resynced: number;
|
|
@@ -49,6 +54,8 @@ export interface RenderSceneInspection {
|
|
|
49
54
|
readonly fullRebuilds: number;
|
|
50
55
|
readonly resyncs: number;
|
|
51
56
|
readonly lastResyncReason: RenderSceneResyncReason | undefined;
|
|
57
|
+
/** Allocation/cache evidence for instance bounds derivation. */
|
|
58
|
+
readonly instanceBoundsCache?: InstanceBoundsCacheInspection;
|
|
52
59
|
}
|
|
53
60
|
export interface RenderSceneBounds {
|
|
54
61
|
readonly min: readonly [number, number, number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-scene-types.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAC5B;
|
|
1
|
+
{"version":3,"file":"render-scene-types.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,13 @@ import { type Result } from '@forgeax/engine-types';
|
|
|
5
5
|
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
6
6
|
import { type SubmissionPlan } from '../gpu-driven/batch-topology';
|
|
7
7
|
import { GpuScene } from '../gpu-scene';
|
|
8
|
-
import type { PersistentRenderSceneInspection } from '../inspection-types';
|
|
9
|
-
import type {
|
|
8
|
+
import type { GpuDrivenStructureMetrics, PersistentRenderSceneInspection } from '../inspection-types';
|
|
9
|
+
import type { InstanceCollectionStore } from '../instances';
|
|
10
10
|
import type { PointsLinesInspection } from '../points-lines/inspection';
|
|
11
11
|
import type { PointsLinesRetainedSnapshot } from '../points-lines/snapshot';
|
|
12
12
|
import { type ReflectionProbeFact, ReflectionProbeProjection, type ReflectionProbeSelectionResult } from '../reflection/projection';
|
|
13
13
|
import type { CameraSnapshot } from '../render-contract';
|
|
14
14
|
import type { DispatchEntry, ExtractedFrame, MaterialSnapshotCachesByWorld, RenderableSnapshot, RenderableTemporalSnapshot } from '../render-system-extract';
|
|
15
|
-
import type { SkinPaletteAllocator } from '../systems/skin-palette-allocator';
|
|
16
15
|
import { type TransmissionDemand } from '../transmission/projection';
|
|
17
16
|
import type { RenderSceneApplyResult, RenderSceneBounds, RenderSceneInspection, RenderSceneOperation, RenderSceneSlot } from './render-scene-types';
|
|
18
17
|
import { type VisibilityBudget } from './visibility/budget';
|
|
@@ -42,6 +41,15 @@ export interface RenderSceneSubmissionDelta {
|
|
|
42
41
|
readonly epoch: number;
|
|
43
42
|
readonly slots: readonly number[];
|
|
44
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Complete ShadowCaster producer projection retained beside the camera-cull
|
|
46
|
+
* submission frame. The persistent scene owns this sequence; record consumes
|
|
47
|
+
* it for the CPU residual lane without rebuilding a second scene projection.
|
|
48
|
+
*/
|
|
49
|
+
export interface PersistentShadowCasterProjection {
|
|
50
|
+
readonly renderables: readonly RenderableSnapshot[];
|
|
51
|
+
readonly dispatch: readonly DispatchEntry[];
|
|
52
|
+
}
|
|
45
53
|
/**
|
|
46
54
|
* The renderer's single rebuildable CPU scene authority.
|
|
47
55
|
*
|
|
@@ -57,8 +65,8 @@ export declare class RenderScene {
|
|
|
57
65
|
private readonly freeSlots;
|
|
58
66
|
private readonly slotsByWorld;
|
|
59
67
|
private readonly slotsByMaterial;
|
|
68
|
+
private readonly slotsByAsset;
|
|
60
69
|
private readonly dirtySinceSubmitted;
|
|
61
|
-
private readonly transformUpdatedSlots;
|
|
62
70
|
private temporalTracking;
|
|
63
71
|
private lastSubmittedVisible;
|
|
64
72
|
private submittedEpoch;
|
|
@@ -76,9 +84,9 @@ export declare class RenderScene {
|
|
|
76
84
|
private lastResyncReason;
|
|
77
85
|
/** Bounded current-scene facts for the Standard temporal producer. */
|
|
78
86
|
temporalContributorCount(): number;
|
|
79
|
-
apply(operations: readonly RenderSceneOperation[]): RenderSceneApplyResult;
|
|
80
|
-
/**
|
|
81
|
-
|
|
87
|
+
apply(operations: readonly RenderSceneOperation[], spans?: readonly WorldTransformSpan[]): RenderSceneApplyResult;
|
|
88
|
+
/** Rebind positional World indices while retaining stable slot and submission history. */
|
|
89
|
+
remapWorlds(indices: readonly number[]): void;
|
|
82
90
|
/** Reconcile the current identity set while retaining slots for survivors. */
|
|
83
91
|
reset(snapshots: readonly RenderableSnapshot[], countAsRebuild?: boolean): void;
|
|
84
92
|
rebuild(snapshots: readonly RenderableSnapshot[]): void;
|
|
@@ -103,6 +111,7 @@ export declare class RenderScene {
|
|
|
103
111
|
private lookup;
|
|
104
112
|
private allocate;
|
|
105
113
|
private release;
|
|
114
|
+
addSharedRefConsumers(worldId: number, handle: number, target: Set<number>): void;
|
|
106
115
|
private indexMaterials;
|
|
107
116
|
private unindexMaterials;
|
|
108
117
|
private temporalSnapshot;
|
|
@@ -121,9 +130,8 @@ export interface PersistentRenderSceneOptions {
|
|
|
121
130
|
readonly onGpuError?: ((error: RhiError) => void) | undefined;
|
|
122
131
|
readonly onSharedRefMutation?: ((worldId: number, handle: number) => void) | undefined;
|
|
123
132
|
readonly configuredQueryBudget?: number | undefined;
|
|
124
|
-
/**
|
|
125
|
-
readonly instanceCollections?:
|
|
126
|
-
readonly getSkinPaletteAllocator?: (() => SkinPaletteAllocator | null) | undefined;
|
|
133
|
+
/** Producer-owned instance collections consumed by the same source update flow. */
|
|
134
|
+
readonly instanceCollections?: InstanceCollectionStore | undefined;
|
|
127
135
|
}
|
|
128
136
|
export interface PersistentGpuDrivenState {
|
|
129
137
|
readonly scene: GpuScene;
|
|
@@ -131,6 +139,7 @@ export interface PersistentGpuDrivenState {
|
|
|
131
139
|
readonly slots: readonly RenderSceneSlot[];
|
|
132
140
|
/** Stable renderer-local World keys aligned with RenderSceneSlot.worldId. */
|
|
133
141
|
readonly worldKeys?: readonly number[];
|
|
142
|
+
readonly structureMetrics?: GpuDrivenStructureMetrics;
|
|
134
143
|
}
|
|
135
144
|
export interface CpuDirectViewInput {
|
|
136
145
|
readonly view: ViewKey;
|
|
@@ -186,12 +195,15 @@ export declare class PersistentRenderScene {
|
|
|
186
195
|
private readonly materialSnapshotCaches;
|
|
187
196
|
private fullRebuilds;
|
|
188
197
|
private worldEntitiesScanned;
|
|
198
|
+
private sceneTableUploadBytes;
|
|
189
199
|
private noChangeFrames;
|
|
190
200
|
private deltaFrames;
|
|
191
201
|
private transformUpdates;
|
|
192
202
|
private lastResyncReason;
|
|
193
203
|
private composition;
|
|
194
204
|
private gpuScene;
|
|
205
|
+
private readonly retiredGpuScenes;
|
|
206
|
+
private shadowProjection;
|
|
195
207
|
private gpuOwner;
|
|
196
208
|
private gpuDevice;
|
|
197
209
|
private gpuStatus;
|
|
@@ -201,6 +213,7 @@ export declare class PersistentRenderScene {
|
|
|
201
213
|
private visibilityFacetFrame;
|
|
202
214
|
private visibilityProjectionCache;
|
|
203
215
|
private visibilityProjectionRevision;
|
|
216
|
+
private projectedIndexScratch;
|
|
204
217
|
private lastActiveEntityKeys;
|
|
205
218
|
/** Stable renderer-world/entity lookup; rebuilt only with composition topology. */
|
|
206
219
|
private readonly stableSlotByEntity;
|
|
@@ -218,6 +231,7 @@ export declare class PersistentRenderScene {
|
|
|
218
231
|
visibilityWorldKeysFor(worlds: readonly World[]): readonly number[];
|
|
219
232
|
/** Current retained slots, available to CPU query transport as well as GPU. */
|
|
220
233
|
compositionSlots(): readonly RenderSceneSlot[];
|
|
234
|
+
shadowCasterProjection(): PersistentShadowCasterProjection | undefined;
|
|
221
235
|
/** Stable renderer-world/entity lookup shared by query and final projection paths. */
|
|
222
236
|
compositionSlotByStableEntity(): ReadonlyMap<number, RenderSceneSlot>;
|
|
223
237
|
private stableEntityKey;
|
|
@@ -260,6 +274,9 @@ export declare class PersistentRenderScene {
|
|
|
260
274
|
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
261
275
|
setPointsLinesInspections(inspections: readonly PointsLinesInspection[]): void;
|
|
262
276
|
dispose(): void;
|
|
277
|
+
private retireGpuScene;
|
|
278
|
+
/** Read existing culling bounds; never expose cached mutable arrays. */
|
|
279
|
+
bounds(world: World, entity: number): RenderSceneBounds | undefined;
|
|
263
280
|
inspect(): PersistentRenderSceneInspection;
|
|
264
281
|
compositionGpuDrivenState(): PersistentGpuDrivenState | undefined;
|
|
265
282
|
/** Publish renderer-owned previous transforms after queue submission. */
|
|
@@ -268,7 +285,7 @@ export declare class PersistentRenderScene {
|
|
|
268
285
|
prepareTemporalFrame(visible: readonly Pick<RenderableSnapshot, 'worldId' | 'entityKey'>[]): void;
|
|
269
286
|
pointsLinesSnapshots(): readonly PointsLinesRetainedSnapshot[];
|
|
270
287
|
private inspectGpu;
|
|
271
|
-
private
|
|
288
|
+
private reconcileComposition;
|
|
272
289
|
/** Internal topology fact; the renderer does not expose demand as public API. */
|
|
273
290
|
transmissionTopologyDemand(): TransmissionDemand;
|
|
274
291
|
/**
|
|
@@ -276,6 +293,7 @@ export declare class PersistentRenderScene {
|
|
|
276
293
|
* retains identity/topology/read versions; no prior frame object is an authority.
|
|
277
294
|
*/
|
|
278
295
|
private deriveFramePlan;
|
|
296
|
+
private projectShadowOwnership;
|
|
279
297
|
private projectProbes;
|
|
280
298
|
private syncGpuOwner;
|
|
281
299
|
private acquireGpuScene;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-scene.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"render-scene.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { frustum } from '@forgeax/engine-math';
|
|
2
|
+
import type { ExtractedLights } from '../render-system-extract';
|
|
3
|
+
/** Light visibility is independent of camera visibility, including across Worlds. */
|
|
4
|
+
export declare function buildShadowFrusta(lights: ExtractedLights): frustum.Frustum[];
|
|
5
|
+
//# sourceMappingURL=shadow-visibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-visibility.d.ts","sourceRoot":"","sources":["../../src/scene/shadow-visibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAgB5E"}
|
package/dist/ssr/admission.d.ts
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* producer. A complete receipt set is the only route to an admitted result.
|
|
7
7
|
*/
|
|
8
8
|
import { type RhiTextureFormatCapabilityReceipt } from '@forgeax/engine-rhi';
|
|
9
|
+
import { type Result } from '@forgeax/engine-types';
|
|
10
|
+
import type { ScreenSpaceReflectionData } from '../components/screen-space-reflection';
|
|
9
11
|
import type { ReflectionFallbackReceipt } from '../inspection-types';
|
|
10
|
-
import type { SsrOwnerRecoveryAction } from './errors';
|
|
12
|
+
import type { SsrConfigInvalidError, SsrOwnerRecoveryAction, SsrUnavailableError } from './errors';
|
|
11
13
|
import type { SsrAdmissionIdentity } from './identity';
|
|
12
14
|
export declare const SSR_FORMAT_PROFILE: "r32float-mip-sampled-storage";
|
|
13
15
|
export declare const SSR_FORMAT_STAGES: readonly ["texture-create", "mip-view", "sampled-storage-bind-group", "pipeline-bind", "finish", "submit", "completion", "readback"];
|
|
@@ -119,4 +121,71 @@ export declare function resolveSsrAdmissionGeneration(previousGeneration: number
|
|
|
119
121
|
readonly changed: boolean;
|
|
120
122
|
readonly generation: number | undefined;
|
|
121
123
|
};
|
|
124
|
+
/** Standard spatial lanes that may consume an SSR candidate. */
|
|
125
|
+
export type SsrSpatialLane = 'clustered' | 'deferred' | 'direct' | 'cpu-webgl2' | 'forward';
|
|
126
|
+
/** Capability facts required by the M1 spatial path. */
|
|
127
|
+
export interface SsrSpatialCapabilities {
|
|
128
|
+
readonly compute: boolean;
|
|
129
|
+
readonly storageTexture: boolean;
|
|
130
|
+
readonly rgba16floatRenderable: boolean;
|
|
131
|
+
readonly r32floatSampledStorage: boolean;
|
|
132
|
+
}
|
|
133
|
+
/** Detached owner facts consumed by spatial admission. */
|
|
134
|
+
export interface SsrSpatialEnvironment {
|
|
135
|
+
readonly lane: SsrSpatialLane;
|
|
136
|
+
readonly m0: Pick<SsrAdmissionResult, 'status'>;
|
|
137
|
+
readonly sceneInputs: boolean;
|
|
138
|
+
/** Current-frame motion/coverage producer, not reusable previous-frame history. */
|
|
139
|
+
readonly temporal: boolean;
|
|
140
|
+
readonly reflectionFallback: boolean;
|
|
141
|
+
readonly capabilities: SsrSpatialCapabilities;
|
|
142
|
+
/** Recovery readiness is optional for callers that have no recovery fault. */
|
|
143
|
+
readonly recovery?: boolean;
|
|
144
|
+
}
|
|
145
|
+
/** The only camera fields used by the spatial admission owner. */
|
|
146
|
+
export interface SsrSpatialCamera {
|
|
147
|
+
readonly projection: 'perspective' | 'orthographic';
|
|
148
|
+
readonly near: number;
|
|
149
|
+
readonly far: number;
|
|
150
|
+
readonly screenSpaceReflection?: ScreenSpaceReflectionData;
|
|
151
|
+
}
|
|
152
|
+
export interface SsrSpatialWork {
|
|
153
|
+
readonly attachmentCount: number;
|
|
154
|
+
readonly passCount: number;
|
|
155
|
+
readonly bindingCount: number;
|
|
156
|
+
readonly resourceCount: number;
|
|
157
|
+
readonly historyCount: 0;
|
|
158
|
+
readonly temporalDemand: 0;
|
|
159
|
+
}
|
|
160
|
+
export type SsrSpatialStatus = 'not-requested' | 'requested' | 'admitted' | 'fallback-only' | 'structural-only';
|
|
161
|
+
export interface SsrSpatialAdmissionBase {
|
|
162
|
+
readonly status: SsrSpatialStatus;
|
|
163
|
+
readonly lane: SsrSpatialLane;
|
|
164
|
+
readonly config: ScreenSpaceReflectionData | undefined;
|
|
165
|
+
readonly viewRange: number;
|
|
166
|
+
readonly work: SsrSpatialWork;
|
|
167
|
+
}
|
|
168
|
+
export type SsrSpatialAdmission = (SsrSpatialAdmissionBase & {
|
|
169
|
+
readonly status: 'not-requested' | 'requested';
|
|
170
|
+
readonly failure?: undefined;
|
|
171
|
+
}) | (SsrSpatialAdmissionBase & {
|
|
172
|
+
readonly status: 'admitted';
|
|
173
|
+
readonly config: ScreenSpaceReflectionData;
|
|
174
|
+
readonly failure?: undefined;
|
|
175
|
+
}) | (SsrSpatialAdmissionBase & {
|
|
176
|
+
readonly status: 'fallback-only' | 'structural-only';
|
|
177
|
+
readonly failure: SsrConfigInvalidError | SsrUnavailableError;
|
|
178
|
+
});
|
|
179
|
+
/** Validate one schema-derived component value against the active view. */
|
|
180
|
+
export declare function validateScreenSpaceReflection(config: ScreenSpaceReflectionData, input: {
|
|
181
|
+
readonly viewRange: number;
|
|
182
|
+
}): Result<ScreenSpaceReflectionData, SsrConfigInvalidError>;
|
|
183
|
+
/**
|
|
184
|
+
* Admit the active camera's schema-derived component into the M1 spatial
|
|
185
|
+
* path. No graph/resource handle crosses this boundary.
|
|
186
|
+
*/
|
|
187
|
+
export declare function admitSsrSpatial(input: {
|
|
188
|
+
readonly camera: SsrSpatialCamera;
|
|
189
|
+
readonly environment: SsrSpatialEnvironment;
|
|
190
|
+
}): SsrSpatialAdmission;
|
|
122
191
|
//# sourceMappingURL=admission.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../src/ssr/admission.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,iCAAiC,EAEvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../src/ssr/admission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GraphBuffer, GraphTextureView, RenderGraphBuilder } from '@forgeax/engine-render-graph';
|
|
2
|
+
import type { RenderPipelineFrame, RenderPipelineTarget } from '../render-pipeline';
|
|
3
|
+
/** Material response is produced with the visible surface; composition never
|
|
4
|
+
* redraws that surface, so equal-depth overlaps cannot apply the delta twice. */
|
|
5
|
+
export declare function addSsrCompositionPass(graph: RenderGraphBuilder<RenderPipelineFrame>, input: {
|
|
6
|
+
readonly scene: RenderPipelineTarget;
|
|
7
|
+
readonly radiance: GraphTextureView;
|
|
8
|
+
readonly fallback: GraphTextureView;
|
|
9
|
+
readonly response: GraphTextureView;
|
|
10
|
+
readonly normal: GraphTextureView;
|
|
11
|
+
readonly view: GraphBuffer;
|
|
12
|
+
}): import("@forgeax/engine-types").Result<void, import("@forgeax/engine-render-graph").RenderGraphError>;
|
|
13
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/ssr/compose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpF;iFACiF;AACjF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,EAC9C,KAAK,EAAE;IACL,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B,yGAwHF"}
|