@forgeax/engine-render 0.1.33 → 0.1.35
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 +1062 -127
- package/dist/assembly/backend-contract.d.ts +2 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -1
- package/dist/assembly/barrel-distortion-inspection.d.ts +3 -0
- package/dist/assembly/barrel-distortion-inspection.d.ts.map +1 -0
- package/dist/assembly/canvas-draw-guard.d.ts +3 -0
- package/dist/assembly/canvas-draw-guard.d.ts.map +1 -0
- package/dist/assembly/cloud-shadow-entry.d.ts +4 -0
- package/dist/assembly/cloud-shadow-entry.d.ts.map +1 -0
- package/dist/assembly/device-feature-admission.d.ts +2 -2
- package/dist/assembly/dynamic-geometry-host.d.ts +4 -1
- package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
- package/dist/assembly/dynamic-geometry-runtime.d.ts +1 -1
- package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -1
- package/dist/assembly/factory.d.ts +1 -1
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +6 -5
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/pipeline-helpers.d.ts +5 -0
- package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -1
- package/dist/assembly/material-shader-policy.d.ts +16 -2
- package/dist/assembly/material-shader-policy.d.ts.map +1 -1
- package/dist/assembly/material-shader-prewarm.d.ts.map +1 -1
- package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
- package/dist/assembly/recovery/renderer-recover.d.ts +2 -0
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
- package/dist/assembly/render-feature-post-processes.d.ts +6 -0
- package/dist/assembly/render-feature-post-processes.d.ts.map +1 -0
- package/dist/assembly/render-target-host.d.ts +5 -0
- package/dist/assembly/render-target-host.d.ts.map +1 -1
- package/dist/assembly/renderer-facade.d.ts.map +1 -1
- package/dist/assembly/renderer-feature-inspection.d.ts +1 -1
- package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -1
- package/dist/assembly/renderer-frame-transaction.d.ts +12 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-inspection.d.ts +11 -0
- package/dist/assembly/renderer-inspection.d.ts.map +1 -1
- package/dist/assembly/webgpu-pbr-ready.d.ts +1 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-ready-per-pass.d.ts +39 -0
- package/dist/assembly/webgpu-ready-per-pass.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +1 -1
- package/dist/assembly/webgpu-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer-observation-owner.d.ts +35 -0
- package/dist/assembly/webgpu-renderer-observation-owner.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +2 -1
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
- package/dist/authoring.mjs +2 -4
- package/dist/authoring.mjs.map +1 -1
- package/dist/barrel-distortion.d.ts +47 -0
- package/dist/barrel-distortion.d.ts.map +1 -0
- package/dist/chunk-3XUBWRY2.mjs +1842 -0
- package/dist/chunk-3XUBWRY2.mjs.map +1 -0
- package/dist/{chunk-OO3DRYK7.mjs → chunk-G6HDNGY7.mjs} +2400 -1767
- package/dist/chunk-G6HDNGY7.mjs.map +1 -0
- package/dist/{chunk-ZDQWGQW7.mjs → chunk-LM5IE7GF.mjs} +4 -4
- package/dist/{chunk-ZDQWGQW7.mjs.map → chunk-LM5IE7GF.mjs.map} +1 -1
- package/dist/{chunk-VOZWDM3L.mjs → chunk-LNIUIKQ7.mjs} +1514 -498
- package/dist/chunk-LNIUIKQ7.mjs.map +1 -0
- package/dist/chunk-MXTWKZO4.mjs +3268 -0
- package/dist/chunk-MXTWKZO4.mjs.map +1 -0
- package/dist/chunk-MZ4C7EHF.mjs +6942 -0
- package/dist/chunk-MZ4C7EHF.mjs.map +1 -0
- package/dist/chunk-RIPAEGI6.mjs +48 -0
- package/dist/chunk-RIPAEGI6.mjs.map +1 -0
- package/dist/{chunk-LEAXOMYJ.mjs → chunk-SGPUJW3F.mjs} +117 -5
- package/dist/chunk-SGPUJW3F.mjs.map +1 -0
- package/dist/{chunk-PA5DRJNI.mjs → chunk-X2KA6WHM.mjs} +29 -4
- package/dist/chunk-X2KA6WHM.mjs.map +1 -0
- package/dist/{chunk-BLXGONR2.mjs → chunk-XSFB7XXQ.mjs} +51 -4
- package/dist/chunk-XSFB7XXQ.mjs.map +1 -0
- package/dist/cloud/density.d.ts +55 -0
- package/dist/cloud/density.d.ts.map +1 -0
- package/dist/cloud/extract.d.ts +25 -0
- package/dist/cloud/extract.d.ts.map +1 -0
- package/dist/cloud/feature.d.ts +57 -0
- package/dist/cloud/feature.d.ts.map +1 -0
- package/dist/cloud/frame-context.d.ts +8 -0
- package/dist/cloud/frame-context.d.ts.map +1 -0
- package/dist/cloud/inspection.d.ts +59 -0
- package/dist/cloud/inspection.d.ts.map +1 -0
- package/dist/cloud/optics.d.ts +56 -0
- package/dist/cloud/optics.d.ts.map +1 -0
- package/dist/cloud/parameters.d.ts +73 -0
- package/dist/cloud/parameters.d.ts.map +1 -0
- package/dist/cloud/resources.d.ts +60 -0
- package/dist/cloud/resources.d.ts.map +1 -0
- package/dist/cloud/shadow.d.ts +42 -0
- package/dist/cloud/shadow.d.ts.map +1 -0
- package/dist/cloud/temporal.d.ts +74 -0
- package/dist/cloud/temporal.d.ts.map +1 -0
- package/dist/components/barrel-distortion.d.ts +13 -0
- package/dist/components/barrel-distortion.d.ts.map +1 -0
- package/dist/components/cloud-layer.d.ts +29 -0
- package/dist/components/cloud-layer.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +20 -6
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/construct-renderer.d.ts +1 -1
- package/dist/construct-renderer.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +8406 -5785
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +19 -19
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/dynamic-geometry.d.ts +5 -1
- package/dist/dynamic-geometry.d.ts.map +1 -1
- package/dist/errors/cloud.d.ts +59 -0
- package/dist/errors/cloud.d.ts.map +1 -0
- package/dist/errors/render.d.ts +20 -5
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/examples/single-layer-medium-surface.d.ts +47 -0
- package/dist/examples/single-layer-medium-surface.d.ts.map +1 -0
- package/dist/extract/camera.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +5 -1
- package/dist/extract/contracts.d.ts.map +1 -1
- package/dist/extract/material-context.d.ts +7 -0
- package/dist/extract/material-context.d.ts.map +1 -0
- package/dist/features/barrel-distortion.d.ts +29 -0
- package/dist/features/barrel-distortion.d.ts.map +1 -0
- package/dist/features/error-reporting.d.ts +6 -2
- package/dist/features/error-reporting.d.ts.map +1 -1
- package/dist/features/host.d.ts +15 -0
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/plan.d.ts +10 -0
- package/dist/features/plan.d.ts.map +1 -1
- package/dist/features/render-graph-contribution.d.ts +5 -0
- package/dist/features/render-graph-contribution.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +1 -0
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/targets.d.ts +2 -0
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +48 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +15 -7
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/glyph-text-layout-system.d.ts +1 -1
- package/dist/glyph-text-layout-system.d.ts.map +1 -1
- package/dist/gpu-dirty-ranges.d.ts +11 -0
- package/dist/gpu-dirty-ranges.d.ts.map +1 -0
- package/dist/gpu-driven/batch-topology.d.ts +17 -0
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/material-artifacts.d.ts +6 -0
- package/dist/gpu-driven/material-artifacts.d.ts.map +1 -1
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster-material.d.ts +178 -0
- package/dist/gpu-driven/production-raster-material.d.ts.map +1 -0
- package/dist/gpu-driven/production-raster.d.ts +47 -3
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/resource-allocation.d.ts +31 -0
- package/dist/gpu-driven/resource-allocation.d.ts.map +1 -0
- package/dist/gpu-driven/shadow-ownership.d.ts +14 -0
- package/dist/gpu-driven/shadow-ownership.d.ts.map +1 -0
- package/dist/gpu-driven/view-gpu.d.ts +26 -2
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +5 -0
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +2 -2
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/frame-resources.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +14 -5
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +30 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +780 -9
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +135 -1
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/instance-buffer-cache.d.ts +4 -4
- package/dist/instance-buffer-cache.d.ts.map +1 -1
- package/dist/instances.d.ts +47 -100
- package/dist/instances.d.ts.map +1 -1
- package/dist/internal.mjs +7 -8
- package/dist/internal.mjs.map +1 -1
- package/dist/pbr-pipeline.d.ts +22 -4
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/single-layer-medium-passes.d.ts +73 -0
- package/dist/pipeline/single-layer-medium-passes.d.ts.map +1 -0
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-output/graph.d.ts.map +1 -1
- package/dist/pipeline/standard-output/lut-gpu.d.ts +2 -2
- package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -1
- package/dist/pipeline/standard-output/resources.d.ts +2 -2
- package/dist/pipeline/standard-output/resources.d.ts.map +1 -1
- package/dist/pipeline/standard-output/types.d.ts +4 -2
- package/dist/pipeline/standard-output/types.d.ts.map +1 -1
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +1 -1
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts +2 -0
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
- package/dist/publication/contract.d.ts +77 -0
- package/dist/publication/contract.d.ts.map +1 -0
- package/dist/publication/dependencies.d.ts +7 -0
- package/dist/publication/dependencies.d.ts.map +1 -0
- package/dist/publication/prepare-geometry.d.ts +9 -0
- package/dist/publication/prepare-geometry.d.ts.map +1 -0
- package/dist/publication/programs.d.ts +5 -0
- package/dist/publication/programs.d.ts.map +1 -0
- package/dist/publication/publisher.d.ts +33 -0
- package/dist/publication/publisher.d.ts.map +1 -0
- package/dist/publication/receiver.d.ts +29 -0
- package/dist/publication/receiver.d.ts.map +1 -0
- package/dist/publication/resource-scope.d.ts +18 -0
- package/dist/publication/resource-scope.d.ts.map +1 -0
- package/dist/publication/targets.d.ts +33 -0
- package/dist/publication/targets.d.ts.map +1 -0
- package/dist/publication/video.d.ts +5 -0
- package/dist/publication/video.d.ts.map +1 -0
- package/dist/record/barrel-distortion-frame.d.ts +15 -0
- package/dist/record/barrel-distortion-frame.d.ts.map +1 -0
- package/dist/record/dynamic-geometry-consumption.d.ts +10 -2
- package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -1
- package/dist/record/fold-buckets.d.ts +95 -0
- package/dist/record/fold-buckets.d.ts.map +1 -0
- package/dist/record/fold-instance-buffer.d.ts +6 -0
- package/dist/record/fold-instance-buffer.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +1 -0
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +43 -9
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame.d.ts +15 -65
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-draw-receipts.d.ts +11 -0
- package/dist/record/gpu-draw-receipts.d.ts.map +1 -0
- package/dist/record/gpu-timing.d.ts +8 -0
- package/dist/record/gpu-timing.d.ts.map +1 -1
- package/dist/record/helpers.d.ts +2 -2
- package/dist/record/helpers.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +22 -6
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +14 -10
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts +3 -16
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +13 -2
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/motion-blur-receipt.d.ts +11 -0
- package/dist/record/motion-blur-receipt.d.ts.map +1 -0
- package/dist/record/prepared-material-bindings.d.ts +3 -3
- package/dist/record/prepared-material-bindings.d.ts.map +1 -1
- package/dist/record/probe-blend-buffer.d.ts +16 -0
- package/dist/record/probe-blend-buffer.d.ts.map +1 -0
- package/dist/record/recovery-pipeline.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +24 -5
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts +2 -0
- 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/sprite-instance-buffer.d.ts +31 -0
- package/dist/record/sprite-instance-buffer.d.ts.map +1 -0
- package/dist/record/target-capture-graph.d.ts +19 -0
- package/dist/record/target-capture-graph.d.ts.map +1 -0
- package/dist/record/typed-frame-graph.d.ts +24 -15
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +11 -3
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/record/volume-params.d.ts +9 -0
- package/dist/record/volume-params.d.ts.map +1 -0
- package/dist/recovery/render-system-candidate.d.ts +14 -4
- package/dist/recovery/render-system-candidate.d.ts.map +1 -1
- package/dist/reflection/record-owner.d.ts.map +1 -1
- package/dist/render-contract.d.ts +46 -5
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +103 -2
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +3 -2
- package/dist/render-system-extract-tail.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +18 -9
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system-presentation.d.ts +23 -0
- package/dist/render-system-presentation.d.ts.map +1 -0
- package/dist/render-system-producer-roots.d.ts +10 -0
- package/dist/render-system-producer-roots.d.ts.map +1 -0
- package/dist/render-system-projections.d.ts +3 -2
- package/dist/render-system-projections.d.ts.map +1 -1
- package/dist/render-system-residency.d.ts +12 -0
- package/dist/render-system-residency.d.ts.map +1 -0
- package/dist/render-system.d.ts +22 -21
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/probe-blend.d.ts +27 -0
- package/dist/scene/probe-blend.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +18 -7
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/scene/render-source.d.ts +42 -0
- package/dist/scene/render-source.d.ts.map +1 -0
- package/dist/scene/source-systems.d.ts +6 -0
- package/dist/scene/source-systems.d.ts.map +1 -0
- package/dist/ssao-buffers.d.ts +9 -0
- package/dist/ssao-buffers.d.ts.map +1 -1
- package/dist/surface/dynamic-input.d.ts +133 -0
- package/dist/surface/dynamic-input.d.ts.map +1 -0
- package/dist/surface/gpu-driven.d.ts +41 -0
- package/dist/surface/gpu-driven.d.ts.map +1 -0
- package/dist/surface/submission-observation.d.ts +136 -0
- package/dist/surface/submission-observation.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
- package/dist/systems/skin-palette-types.d.ts +10 -0
- package/dist/systems/skin-palette-types.d.ts.map +1 -1
- package/dist/systems/transparent-dispatch.d.ts +2 -2
- package/dist/systems/transparent-dispatch.d.ts.map +1 -1
- package/dist/systems/transparent-sort-config.d.ts +2 -1
- package/dist/systems/transparent-sort-config.d.ts.map +1 -1
- package/dist/temporal/gpu.d.ts +13 -1
- package/dist/temporal/gpu.d.ts.map +1 -1
- package/dist/temporal/index.mjs +6 -7
- package/dist/temporal/inspection.d.ts.map +1 -1
- package/dist/temporal/standard-scene-data.d.ts.map +1 -1
- package/dist/temporal/target-coverage-attachment.d.ts.map +1 -1
- package/dist/transmission/single-layer-medium.d.ts +89 -0
- package/dist/transmission/single-layer-medium.d.ts.map +1 -0
- package/dist/typed-render-graph-primitives.d.ts +14 -2
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/volume/component.d.ts +9 -4
- package/dist/volume/component.d.ts.map +1 -1
- package/dist/volume/extract.d.ts +1 -1
- package/dist/volume/extract.d.ts.map +1 -1
- package/dist/volume/inspection.d.ts +2 -0
- package/dist/volume/inspection.d.ts.map +1 -1
- package/dist/volume/passes.d.ts +4 -1
- package/dist/volume/passes.d.ts.map +1 -1
- package/dist/volume/resources.d.ts.map +1 -1
- package/package.json +22 -21
- package/src/__tests__/atmosphere-daylight.dawn.test.ts +72 -0
- package/src/__tests__/auto-exposure-transaction.integration.test.ts +4 -9
- package/src/__tests__/barrel-distortion-lkg.integration.test.ts +353 -0
- package/src/__tests__/barrel-distortion.dawn.test.ts +41 -0
- package/src/__tests__/barrel-distortion.unit.test.ts +364 -0
- package/src/__tests__/construct-renderer-identity.unit.test.ts +49 -0
- package/src/__tests__/detached-recovery-graph.unit.test.ts +277 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +3 -2
- package/src/__tests__/device-loss-fanout.unit.test.ts +36 -1
- package/src/__tests__/docs-gate-green.unit.test.ts +112 -1
- package/src/__tests__/factory-contract.integration.test.ts +295 -45
- package/src/__tests__/feature-depth-input.dawn.test.ts +129 -2
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +14 -3
- package/src/__tests__/gpu-dirty-ranges.unit.test.ts +22 -0
- package/src/__tests__/gpu-driven-baseline.characterization.test.ts +16 -3
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +12 -0
- package/src/__tests__/gpu-driven-material-artifacts.unit.test.ts +143 -0
- package/src/__tests__/gpu-driven-pbr.dawn.test.ts +5 -6
- package/src/__tests__/gpu-driven-production.integration.test.ts +482 -3
- package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +6 -5
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +94 -6
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +18 -2
- package/src/__tests__/gpu-driven-view.browser.test.ts +5 -8
- package/src/__tests__/gpu-driven-view.dawn.test.ts +6 -2
- package/src/__tests__/gpu-driven-view.unit.test.ts +1 -1
- package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +1 -0
- package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -4
- package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +1 -0
- package/src/__tests__/gpu-scene.unit.test.ts +119 -9
- package/src/__tests__/instance-allocation-failure.unit.test.ts +57 -0
- package/src/__tests__/instances-culling.integration.test.ts +10 -36
- package/src/__tests__/instances-store.unit.test.ts +97 -305
- package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +4 -1
- package/src/__tests__/main-pass-material-medium-selection.unit.test.ts +145 -0
- package/src/__tests__/material-shader-prewarm.unit.test.ts +59 -0
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +39 -1
- package/src/__tests__/materials-standard-contract.unit.test.ts +0 -1
- package/src/__tests__/morph-culling-reentry.dawn.test.ts +5 -5
- package/src/__tests__/morph-visual-evidence.integration.test.ts +8 -7
- package/src/__tests__/motion-blur-compute.dawn.test.ts +13 -7
- package/src/__tests__/motion-blur.pixel.integration.test.ts +2 -2
- package/src/__tests__/nineslice-handle-surface.unit.test.ts +4 -4
- package/src/__tests__/pbr-view-layout.unit.test.ts +9 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +66 -8
- package/src/__tests__/physical-material-budget.unit.test.ts +40 -0
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +66 -2
- package/src/__tests__/probe-bindings.unit.test.ts +582 -1
- package/src/__tests__/probe-scene-dirty.integration.test.ts +28 -1
- package/src/__tests__/receipt-observation-retirement.unit.test.ts +65 -0
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +69 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +8 -0
- package/src/__tests__/render-feature-diagnostics.unit.test.ts +15 -2
- package/src/__tests__/render-feature-error-reporting.unit.test.ts +21 -1
- package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +10 -1
- package/src/__tests__/render-feature-retry.unit.test.ts +12 -1
- package/src/__tests__/render-scene-mixed-updates.integration.test.ts +145 -19
- package/src/__tests__/render-scene-projection.unit.test.ts +36 -11
- package/src/__tests__/render-scene-temporal-retry.unit.test.ts +20 -20
- package/src/__tests__/render-target-probe-soak.perf.test.ts +2 -2
- package/src/__tests__/render-temporal-environment-consumer.browser.test.ts +3 -3
- package/src/__tests__/render-temporal-environment-consumer.dawn.test.ts +5 -2
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +42 -8
- package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +16 -0
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +26 -10
- package/src/__tests__/resource-allocation.unit.test.ts +123 -0
- package/src/__tests__/single-layer-medium-passes.unit.test.ts +275 -0
- package/src/__tests__/skin-motion-regression.unit.test.ts +70 -1
- package/src/__tests__/skin-palette-recycling.dawn.test.ts +97 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +15 -0
- package/src/__tests__/ssr-carrier-public-contract.unit.test.ts +21 -0
- package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +4 -4
- package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +2 -2
- package/src/__tests__/ssr-gpu-dispatch.ts +1 -1
- package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +6 -2
- package/src/__tests__/standard-output-chain-contract.unit.test.ts +28 -0
- package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +46 -1
- package/src/__tests__/standard-pipeline.integration.test.ts +182 -1
- package/src/__tests__/surface-dynamic-buffer-lifecycle.unit.test.ts +506 -0
- package/src/__tests__/surface-submission-observation.unit.test.ts +812 -0
- package/src/__tests__/temporal-history-lifecycle.unit.test.ts +32 -0
- package/src/__tests__/temporal-performance.integration.test.ts +3 -3
- package/src/__tests__/visibility-instances.integration.test.ts +7 -19
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +9 -20
- package/src/__tests__/volume-optics-oracle.unit.test.ts +4 -2
- package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +30 -20
- package/src/__tests__/volumetric-fog-errors.unit.test.ts +4 -3
- package/src/__tests__/volumetric-fog-multiple.unit.test.ts +55 -0
- package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +1 -1
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +113 -9
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +5 -3
- package/src/assembly/backend-contract.ts +30 -0
- package/src/assembly/barrel-distortion-inspection.ts +22 -0
- package/src/assembly/canvas-draw-guard.ts +11 -0
- package/src/assembly/cloud-shadow-entry.ts +22 -0
- package/src/assembly/device-feature-admission.ts +2 -2
- package/src/assembly/dynamic-geometry-host.ts +65 -37
- package/src/assembly/dynamic-geometry-runtime.ts +7 -1
- package/src/assembly/factory.ts +2 -30
- package/src/assembly/host-contract.ts +8 -5
- package/src/assembly/material/assembly.ts +25 -13
- package/src/assembly/material/pipeline-helpers.ts +53 -12
- package/src/assembly/material-shader-policy.ts +55 -0
- package/src/assembly/material-shader-prewarm.ts +21 -10
- package/src/assembly/recovery/device-loss-fanout.ts +13 -0
- package/src/assembly/recovery/renderer-recover.ts +50 -18
- package/src/assembly/render-feature-post-processes.ts +54 -0
- package/src/assembly/render-target-host.ts +57 -47
- package/src/assembly/renderer-facade.ts +7 -2
- package/src/assembly/renderer-feature-inspection.ts +8 -2
- package/src/assembly/renderer-frame-transaction.ts +23 -0
- package/src/assembly/renderer-inspection.ts +28 -0
- package/src/assembly/skin-palette-owner.ts +1 -1
- package/src/assembly/temporal-post-process-prewarm.ts +3 -3
- package/src/assembly/webgpu-pbr-ready.ts +9 -1
- package/src/assembly/webgpu-ready-per-pass.ts +104 -0
- package/src/assembly/webgpu-ready.ts +116 -62
- package/src/assembly/webgpu-renderer-bootstrap.ts +0 -12
- package/src/assembly/webgpu-renderer-observation-owner.ts +222 -0
- package/src/assembly/webgpu-renderer.ts +303 -313
- package/src/assembly/webgpu-vertex-layouts.ts +1 -1
- package/src/barrel-distortion.ts +247 -0
- package/src/cloud/__tests__/cloud-density-parity.dawn.test.ts +173 -0
- package/src/cloud/__tests__/cloud-layer-framebuffer-y.dawn.test.ts +265 -0
- package/src/cloud/__tests__/cloud-layer.browser.test.ts +432 -0
- package/src/cloud/__tests__/cloud-layer.unit.test.ts +634 -0
- package/src/cloud/density.ts +600 -0
- package/src/cloud/extract.ts +110 -0
- package/src/cloud/feature.ts +1810 -0
- package/src/cloud/frame-context.ts +42 -0
- package/src/cloud/inspection.ts +130 -0
- package/src/cloud/optics.ts +285 -0
- package/src/cloud/parameters.ts +255 -0
- package/src/cloud/resources.ts +122 -0
- package/src/cloud/shadow.ts +167 -0
- package/src/cloud/temporal.ts +226 -0
- package/src/components/barrel-distortion.ts +46 -0
- package/src/components/cloud-layer.ts +47 -0
- package/src/components/index.ts +2 -0
- package/src/components/instances.ts +18 -45
- package/src/components/sprite-instances.ts +1 -1
- package/src/construct-renderer.ts +1 -1
- package/src/device/gpu-residency.ts +26 -25
- package/src/dynamic-geometry.ts +12 -1
- package/src/errors/cloud.ts +103 -0
- package/src/errors/render.ts +47 -8
- package/src/examples/single-layer-medium-surface.ts +59 -0
- package/src/extract/camera.ts +15 -1
- package/src/extract/contracts.ts +5 -0
- package/src/extract/material-context.ts +21 -0
- package/src/features/barrel-distortion.ts +172 -0
- package/src/features/error-reporting.ts +26 -6
- package/src/features/host.ts +128 -19
- package/src/features/plan.ts +10 -0
- package/src/features/render-graph-contribution.ts +9 -0
- package/src/features/render-graph-raster.ts +45 -3
- package/src/features/targets.ts +66 -0
- package/src/features/types.ts +51 -0
- package/src/fullscreen-post-process-pass.ts +41 -9
- package/src/glyph-text-layout-system.ts +2 -2
- package/src/gpu-dirty-ranges.ts +48 -0
- package/src/gpu-driven/batch-topology.ts +53 -0
- package/src/gpu-driven/material-artifacts.ts +33 -25
- package/src/gpu-driven/prepared-draw.ts +12 -4
- package/src/gpu-driven/production-raster-material.ts +1894 -0
- package/src/gpu-driven/production-raster.ts +825 -784
- package/src/gpu-driven/resource-allocation.ts +142 -0
- package/src/gpu-driven/shadow-ownership.ts +71 -0
- package/src/gpu-driven/view-gpu.ts +164 -10
- package/src/gpu-scene.ts +75 -84
- package/src/hdrp-buffers.ts +4 -3
- package/src/ibl/frame-resources.ts +0 -1
- package/src/ibl/skylight-bind-group.ts +62 -32
- package/src/index.ts +205 -9
- package/src/inspection-types.ts +162 -0
- package/src/instance-buffer-cache.ts +4 -4
- package/src/instances.ts +152 -569
- package/src/pbr-pipeline.ts +230 -30
- package/src/pipeline/single-layer-medium-passes.ts +267 -0
- package/src/pipeline/standard-forward-lane.ts +313 -57
- package/src/pipeline/standard-output/graph.ts +8 -2
- package/src/pipeline/standard-output/lut-gpu.ts +3 -3
- package/src/pipeline/standard-output/resources.ts +2 -2
- package/src/pipeline/standard-output/types.ts +12 -1
- package/src/pipeline/standard-pipeline.ts +291 -18
- package/src/pipeline/standard-post.ts +90 -24
- package/src/pipeline-builder.ts +1 -1
- package/src/plugin.ts +4 -0
- package/src/points-lines/__tests__/points-lines.bench.ts +17 -8
- package/src/prepare/prepared-graphics-resolver.ts +2 -0
- package/src/publication/__tests__/derived-geometry.integration.test.ts +177 -0
- package/src/publication/__tests__/features.integration.test.ts +122 -0
- package/src/publication/__tests__/programs.unit.test.ts +25 -0
- package/src/publication/__tests__/publication.integration.test.ts +370 -0
- package/src/publication/__tests__/targets.integration.test.ts +120 -0
- package/src/publication/__tests__/video.browser.test.ts +50 -0
- package/src/publication/contract.ts +104 -0
- package/src/publication/dependencies.ts +54 -0
- package/src/publication/prepare-geometry.ts +94 -0
- package/src/publication/programs.ts +45 -0
- package/src/publication/publisher.ts +618 -0
- package/src/publication/receiver.ts +297 -0
- package/src/publication/resource-scope.ts +31 -0
- package/src/publication/targets.ts +182 -0
- package/src/publication/video.ts +33 -0
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +30 -0
- package/src/record/__tests__/material-bg-cache.unit.test.ts +15 -1
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +9 -11
- package/src/record/__tests__/temporal-payload.unit.test.ts +1 -1
- package/src/record/__tests__/transparent-group2-selection.unit.test.ts +11 -0
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -0
- package/src/record/__tests__/video-texture-view.unit.test.ts +9 -9
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +4 -3
- package/src/record/barrel-distortion-frame.ts +110 -0
- package/src/record/dynamic-geometry-consumption.ts +39 -9
- package/src/record/fold-buckets.ts +855 -0
- package/src/record/fold-instance-buffer.ts +51 -0
- package/src/record/frame-lighting.ts +36 -2
- package/src/record/frame-snapshot.ts +45 -9
- package/src/record/frame.ts +258 -1105
- package/src/record/gpu-draw-receipts.ts +38 -0
- package/src/record/gpu-timing.ts +48 -5
- package/src/record/helpers.ts +2 -2
- package/src/record/main-pass-geometry.ts +272 -84
- package/src/record/main-pass-material.ts +102 -36
- package/src/record/main-pass-sprite-draws.ts +13 -217
- package/src/record/main-pass.ts +164 -27
- package/src/record/motion-blur-receipt.ts +91 -0
- package/src/record/prepared-material-bindings.ts +11 -6
- package/src/record/probe-blend-buffer.ts +180 -0
- package/src/record/recovery-pipeline.ts +35 -3
- package/src/record/render-context.ts +41 -5
- package/src/record/shadow-pass.ts +30 -4
- package/src/record/skybox-post-pass.ts +28 -4
- package/src/record/sprite-instance-buffer.ts +155 -0
- package/src/record/target-capture-graph.ts +258 -0
- package/src/record/typed-frame-graph.ts +776 -340
- package/src/record/view-ubo.ts +27 -4
- package/src/record/volume-params.ts +225 -0
- package/src/recovery/render-system-candidate.ts +243 -50
- package/src/reflection/record-owner.ts +7 -3
- package/src/render-contract.ts +54 -5
- package/src/render-graph-primitives.ts +7 -1
- package/src/render-pipeline.ts +130 -0
- package/src/render-system-extract-tail.ts +90 -78
- package/src/render-system-extract.ts +76 -76
- package/src/render-system-presentation.ts +56 -0
- package/src/render-system-producer-roots.ts +96 -0
- package/src/render-system-projections.ts +3 -2
- package/src/render-system-residency.ts +159 -0
- package/src/render-system.ts +421 -408
- package/src/scene/probe-blend.ts +96 -4
- package/src/scene/render-scene.ts +416 -337
- package/src/scene/render-source.ts +90 -0
- package/src/scene/source-systems.ts +33 -0
- package/src/ssao-buffers.ts +95 -2
- package/src/surface/__tests__/dynamic-input.unit.test.ts +374 -0
- package/src/surface/__tests__/gpu-driven.unit.test.ts +87 -0
- package/src/surface/dynamic-input.ts +658 -0
- package/src/surface/gpu-driven.ts +147 -0
- package/src/surface/submission-observation.ts +517 -0
- package/src/systems/skin-palette-allocator.ts +5 -1
- package/src/systems/skin-palette-types.ts +11 -0
- package/src/systems/transparent-dispatch.ts +2 -2
- package/src/systems/transparent-sort-config.ts +3 -1
- package/src/temporal/gpu.ts +101 -17
- package/src/temporal/inspection.ts +7 -1
- package/src/temporal/standard-scene-data.ts +5 -0
- package/src/temporal/target-coverage-attachment.ts +4 -0
- package/src/transmission/__tests__/single-layer-medium.unit.test.ts +149 -0
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +12 -11
- package/src/transmission/single-layer-medium.ts +322 -0
- package/src/typed-render-graph-primitives.ts +70 -2
- package/src/volume/component.ts +10 -9
- package/src/volume/extract.ts +11 -5
- package/src/volume/inspection.ts +3 -0
- package/src/volume/passes.ts +87 -4
- package/src/volume/resources.ts +2 -1
- package/dist/chunk-3RTCJTH4.mjs +0 -1610
- package/dist/chunk-3RTCJTH4.mjs.map +0 -1
- package/dist/chunk-BLXGONR2.mjs.map +0 -1
- package/dist/chunk-ILQ5MEZF.mjs +0 -32
- package/dist/chunk-ILQ5MEZF.mjs.map +0 -1
- package/dist/chunk-LEAXOMYJ.mjs.map +0 -1
- package/dist/chunk-NB2S7ZRX.mjs +0 -1783
- package/dist/chunk-NB2S7ZRX.mjs.map +0 -1
- package/dist/chunk-NNQL7CB3.mjs +0 -1713
- package/dist/chunk-NNQL7CB3.mjs.map +0 -1
- package/dist/chunk-OO3DRYK7.mjs.map +0 -1
- package/dist/chunk-PA5DRJNI.mjs.map +0 -1
- package/dist/chunk-PLAXOOX5.mjs +0 -1907
- package/dist/chunk-PLAXOOX5.mjs.map +0 -1
- package/dist/chunk-RXZ3RGOU.mjs +0 -53
- package/dist/chunk-RXZ3RGOU.mjs.map +0 -1
- package/dist/chunk-VOZWDM3L.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-system-residency.d.ts","sourceRoot":"","sources":["../src/render-system-residency.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA6BhE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,qBAAqB,GAC/B,4BAA4B,CAwG9B"}
|
package/dist/render-system.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import type { PreparedRenderPublication } from './publication/receiver';
|
|
1
2
|
import type { RenderSceneBounds } from './scene/render-scene-types';
|
|
2
|
-
import {
|
|
3
|
+
import type { World } from '@forgeax/engine-ecs';
|
|
3
4
|
import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
|
|
4
5
|
import type { CompiledRenderGraphInfo } from '@forgeax/engine-render-graph';
|
|
5
6
|
import type { RhiDevice } from '@forgeax/engine-rhi';
|
|
6
7
|
import { type Result, RhiError } from '@forgeax/engine-rhi';
|
|
7
8
|
import { type RenderPipelineAsset } from '@forgeax/engine-types';
|
|
9
|
+
import type { DynamicGeometryRecordStageLane } from './dynamic-geometry';
|
|
8
10
|
import { type ObservationUnavailableError } from './errors/render';
|
|
9
11
|
import { MotionBlurValidationError } from './features/motion-blur/motion-blur-params';
|
|
10
12
|
import { type PostProcessShaderEntry } from './fullscreen-post-process-pass';
|
|
11
|
-
import type { BloomInspection, DepthOfFieldInspection, DirectionalShadowInspection, GpuDrivenProductionInspection, LodOcclusionInspection, MaterialTextureSourceInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, SsrDependenciesInspection, SsrSpatialInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
|
|
13
|
+
import type { BarrelDistortionInspection, BloomInspection, DepthOfFieldInspection, DirectionalShadowInspection, GpuDrivenProductionInspection, LodOcclusionInspection, MaterialTextureSourceInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, SsrDependenciesInspection, SsrSpatialInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
|
|
12
14
|
import { type AutoExposureInspection } from './pipeline/standard-output/auto-exposure/inspection';
|
|
13
15
|
import { type StandardLutInspection } from './pipeline/standard-output/lut-state';
|
|
14
16
|
import type { PointsLinesRetainedSnapshot } from './points-lines/snapshot';
|
|
@@ -16,9 +18,9 @@ export { materialTextureHandlesForResidency } from './recovery/render-system-can
|
|
|
16
18
|
import type { RecoveryGraphCandidate, RecoveryGraphCandidatePreparation, RecoveryGraphCandidateRuntime, RecoveryGraphSetupSubmission, RecoveryPostProcessResources, RecoveryRootBundle, RecoveryRootRuntime } from './recovery/types';
|
|
17
19
|
export type { RecoveryGraphCandidate, RecoveryGraphCandidatePreparation, RecoveryGraphCandidateRuntime, RecoveryGraphSetupSubmission, RecoveryPointsLinesCandidate, RecoveryPostProcessResources, RecoveryRootBundle, RecoveryRootRuntime, } from './recovery/types';
|
|
18
20
|
export type { RenderSceneInspection } from './inspection-types';
|
|
21
|
+
import type { BarrelDistortionMapping } from './barrel-distortion';
|
|
19
22
|
import type { EnvironmentInspection } from './environment/inspection';
|
|
20
23
|
import type { InstanceCollectionInspection } from './instances';
|
|
21
|
-
import { InstanceCollectionStore } from './instances';
|
|
22
24
|
import { type MeshMaterialBindingObservation } from './mesh-material-bindings';
|
|
23
25
|
import type { StandardLightingInspection } from './pipeline/standard-lighting/inspection';
|
|
24
26
|
import type { PointShadowInspection } from './point-shadow-inspection';
|
|
@@ -27,7 +29,9 @@ import type { CurrentGraphTarget, GraphTargetCaptureRequest } from './record/fra
|
|
|
27
29
|
import type { GpuPassTimingSession } from './record/gpu-pass-timing/session';
|
|
28
30
|
import type { GpuTimingCapture } from './record/gpu-timing';
|
|
29
31
|
import type { PipelineState, RenderSystemInternals } from './record/render-context';
|
|
30
|
-
import { type CameraSnapshot, type DrawOwnerOptions } from './render-contract';
|
|
32
|
+
import { type CameraSnapshot, type DrawOwnerOptions, type FramePresentation } from './render-contract';
|
|
33
|
+
import { type RendererProducerRoot } from './render-system-producer-roots';
|
|
34
|
+
import type { SurfaceDynamicInputFrame } from './surface/dynamic-input';
|
|
31
35
|
import type { RenderTarget } from './targets/contracts';
|
|
32
36
|
import { type TemporalFrame } from './temporal/frame';
|
|
33
37
|
import { type TemporalInspection } from './temporal/inspection';
|
|
@@ -35,15 +39,8 @@ import { type TemporalInspection } from './temporal/inspection';
|
|
|
35
39
|
export declare function attachGpuPassTimingSession(internals: object, session: GpuPassTimingSession | undefined): void;
|
|
36
40
|
export type { _InternalRenderPipelineContext, _StandardForwardSceneView, PerPassResources, PipelineState, RenderSystemInternals, RenderSystemRuntime, SurfaceBackendKind, SurfaceCapabilityFacts, SurfaceProfile, SwapChainFormatPair, } from './record/render-context';
|
|
37
41
|
export { configureSurface, MATERIAL_PER_ENTITY_STRIDE, resolveSurfaceFormatPair, resolveSurfaceProfile, STANDARD_PBR_UBO_SIZE, selectSwapChainFormat, } from './record/render-context';
|
|
38
|
-
export type
|
|
39
|
-
export
|
|
40
|
-
readonly kind: RendererProducerRootKind;
|
|
41
|
-
readonly owner: string;
|
|
42
|
-
readonly candidateScope: 'device-scope';
|
|
43
|
-
readonly visibility: 'visible-workset' | 'non-visible-lazy';
|
|
44
|
-
readonly disabledWork: 'zero' | 'lazy';
|
|
45
|
-
}
|
|
46
|
-
export declare function createRendererProducerRootMatrix(): readonly RendererProducerRoot[];
|
|
42
|
+
export type { RendererProducerRoot, RendererProducerRootKind, } from './render-system-producer-roots';
|
|
43
|
+
export { createRendererProducerRootMatrix } from './render-system-producer-roots';
|
|
47
44
|
/**
|
|
48
45
|
* Production-owned recovery facts. These values are projections of the live
|
|
49
46
|
* RenderSystem owners; they are not a test ledger or a second graph model.
|
|
@@ -82,16 +79,19 @@ export interface RecoveryProductionEvidence {
|
|
|
82
79
|
*/
|
|
83
80
|
export interface RenderSystem {
|
|
84
81
|
bounds(world: World, entity: number): RenderSceneBounds | undefined;
|
|
82
|
+
/** Publish one renderer-owned read-only Surface dynamic page for the next frame. */
|
|
83
|
+
setSurfaceDynamicInput(frame: SurfaceDynamicInputFrame | undefined): void;
|
|
85
84
|
/** Complete explicit SSR capability preparation before drawing a device generation. */
|
|
86
85
|
initializeSsr(device?: RhiDevice): Promise<void>;
|
|
87
86
|
/** Returns true only when this invocation reached queue submission. */
|
|
88
|
-
draw(worlds: readonly World[], opts: DrawOwnerOptions, renderReadLeases?: readonly RenderReadLease[], timingCapture?: GpuTimingCapture): boolean;
|
|
87
|
+
draw(worlds: readonly World[], opts: DrawOwnerOptions, renderReadLeases?: readonly RenderReadLease[], timingCapture?: GpuTimingCapture, publication?: PreparedRenderPublication): boolean;
|
|
89
88
|
/**
|
|
90
89
|
* Return the asset binding consumed by the last successful record pass.
|
|
91
90
|
* Dynamic geometry uses this renderer-owned frame fact as its publication
|
|
92
91
|
* barrier; ECS component presence alone is not a draw receipt.
|
|
93
92
|
*/
|
|
94
93
|
isDynamicGeometryConsumed(world: World, entity: number, meshHandle: number | undefined): boolean;
|
|
94
|
+
dynamicGeometryRecordStageLane(world: World, entity: number, meshHandle: number | undefined): DynamicGeometryRecordStageLane | undefined;
|
|
95
95
|
invalidateGeometryHistory(): void;
|
|
96
96
|
/** Prepare a detached graph candidate without entering the frame record path. */
|
|
97
97
|
prepareRecoveryGraphCandidate(runtime: RecoveryGraphCandidateRuntime): RecoveryGraphCandidatePreparation;
|
|
@@ -118,8 +118,6 @@ export interface RenderSystem {
|
|
|
118
118
|
readonly pipelineDispatchCounts: {
|
|
119
119
|
readonly unlit: number;
|
|
120
120
|
};
|
|
121
|
-
/** Renderer-owned source for explicit large instance collections. */
|
|
122
|
-
readonly instances: InstanceCollectionStore;
|
|
123
121
|
/** Detached residency and upload facts for explicit instance collections. */
|
|
124
122
|
readonly instanceCollectionsInspection: readonly InstanceCollectionInspection[];
|
|
125
123
|
/**
|
|
@@ -143,6 +141,8 @@ export interface RenderSystem {
|
|
|
143
141
|
readonly ssr: SsrSpatialInspection;
|
|
144
142
|
/** Producer completion fence included in the public FrameReceipt. */
|
|
145
143
|
readonly reflectionFallbackCompletion: Promise<void> | undefined;
|
|
144
|
+
/** Presentation readiness derived from the producer facts used by draw(). */
|
|
145
|
+
readonly presentation: FramePresentation;
|
|
146
146
|
/** True while a progressive CubeCamera candidate still owns unfinished faces. */
|
|
147
147
|
isCubeCapturePending(target: RenderTarget): boolean;
|
|
148
148
|
readonly environment: EnvironmentInspection;
|
|
@@ -185,8 +185,14 @@ export interface RenderSystem {
|
|
|
185
185
|
readonly perFramePassNames: readonly string[];
|
|
186
186
|
/** Camera antialias mode for the last successfully submitted frame. */
|
|
187
187
|
readonly lastSuccessfulCameraAntialias: CameraSnapshot['antialias'] | undefined;
|
|
188
|
+
/** Effective output mapping for the last successfully submitted camera. */
|
|
189
|
+
readonly lastSuccessfulBarrelDistortion: BarrelDistortionMapping | undefined;
|
|
190
|
+
/** Detached accepted/LKG projection for Renderer.inspect(). */
|
|
191
|
+
readonly barrelDistortionInspection: BarrelDistortionInspection;
|
|
188
192
|
/** Detached compiled-graph facts used by the renderer inspection owner. */
|
|
189
193
|
readonly perFrameGraphInfo: CompiledRenderGraphInfo | undefined;
|
|
194
|
+
/** Detached allocation facts across active, candidate, and retiring graphs. */
|
|
195
|
+
readonly renderGraphGenerationAllocation: import('@forgeax/engine-render-graph').RenderGraphGenerationAllocationInspection;
|
|
190
196
|
/** Detached feature signature/compile/lifetime counters. */
|
|
191
197
|
readonly featureGraphInspection: import('./inspection-types').RenderFeatureGraphInspection;
|
|
192
198
|
/** Detached material texture-source probe counters from the last extract. */
|
|
@@ -259,9 +265,4 @@ export interface RenderSystem {
|
|
|
259
265
|
export declare function createRenderSystem(internals: RenderSystemInternals): RenderSystem;
|
|
260
266
|
/** Resolve the build identity used by every inspection submit. */
|
|
261
267
|
export declare function resolveInspectionBuild(internals: Pick<RenderSystemInternals, 'build'>): string;
|
|
262
|
-
/**
|
|
263
|
-
* Package-private extension consumed by the built-in record closures only.
|
|
264
|
-
* Custom pipeline authors see the leaf RenderPipelineContext contract and
|
|
265
|
-
* never this surface.
|
|
266
|
-
*/
|
|
267
268
|
//# sourceMappingURL=render-system.d.ts.map
|
|
@@ -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":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,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,EAAe,KAAK,mBAAmB,EAAY,MAAM,uBAAuB,CAAC;AAUxF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,iBAAiB,CAAC;AAczB,OAAO,EACL,yBAAyB,EAE1B,MAAM,2CAA2C,CAAC;AAWnD,OAAO,EAIL,KAAK,sBAAsB,EAI5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,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;AAQ5B,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;AAI3E,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;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAUtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EACL,KAAK,8BAA8B,EAEpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAI1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAUvE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAI7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AAIjC,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;AAapF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAKvB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,gCAAgC,CAAC;AAiBxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,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;AAoBjF,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,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAElF;;;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,oFAAoF;IACpF,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1E,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,EAChC,WAAW,CAAC,EAAE,yBAAyB,GACtC,OAAO,CAAC;IACX;;;;OAIG;IACH,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACjG,8BAA8B,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,8BAA8B,GAAG,SAAS,CAAC;IAC9C,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,CAAC,OAAO,CAAC,EAAE;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,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,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,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,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,2EAA2E;IAC3E,QAAQ,CAAC,uBAAuB,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACpE,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,8BAA8B,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC7E,+DAA+D;IAC/D,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAChE,+EAA+E;IAC/E,QAAQ,CAAC,+BAA+B,EAAE,OAAO,8BAA8B,EAAE,yCAAyC,CAAC;IAC3H,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;AAgDD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,YAAY,CA65GjF;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,MAAM,CAE9F"}
|
|
@@ -20,6 +20,26 @@ export interface ProbeSceneObjectInput {
|
|
|
20
20
|
readonly generation: number;
|
|
21
21
|
readonly position: readonly [number, number, number];
|
|
22
22
|
}
|
|
23
|
+
export interface ProbeBlendBufferProjection {
|
|
24
|
+
/** Stable producer identity; dirty evidence is never portable across producers. */
|
|
25
|
+
readonly sourceIdentity: object;
|
|
26
|
+
readonly revision: number;
|
|
27
|
+
/** Exact accepted revision from which dirty/removed evidence was derived. */
|
|
28
|
+
readonly baseRevision: number;
|
|
29
|
+
/** Producer-computed lane capacity, including the slot-zero sentinel. */
|
|
30
|
+
readonly capacity: number;
|
|
31
|
+
readonly records: readonly {
|
|
32
|
+
readonly cacheKey: number;
|
|
33
|
+
readonly record: ProbeBlendRecord;
|
|
34
|
+
}[];
|
|
35
|
+
/** Records whose generation or payload changed at this revision. */
|
|
36
|
+
readonly dirtyRecords: readonly {
|
|
37
|
+
readonly cacheKey: number;
|
|
38
|
+
readonly record: ProbeBlendRecord;
|
|
39
|
+
}[];
|
|
40
|
+
/** Cache keys retired at this revision. */
|
|
41
|
+
readonly removedCacheKeys: readonly number[];
|
|
42
|
+
}
|
|
23
43
|
export interface ProbeSceneProbeInput {
|
|
24
44
|
readonly identity: string;
|
|
25
45
|
readonly position: readonly [number, number, number];
|
|
@@ -53,6 +73,8 @@ export interface ProbeAdmissionResult {
|
|
|
53
73
|
export interface ProbeSceneProjectionInput {
|
|
54
74
|
readonly objects: readonly ProbeSceneObjectInput[];
|
|
55
75
|
readonly probes: readonly ProbeSceneProbeInput[];
|
|
76
|
+
/** Keep explicit zero-local rows for consumers whose published ABI always reads this page. */
|
|
77
|
+
readonly retainSkyResidualRecords?: boolean;
|
|
56
78
|
/** Optional analytic oracle input; records never store or replace Sky. */
|
|
57
79
|
readonly skyIrradiance?: readonly [number, number, number];
|
|
58
80
|
readonly sky?: {
|
|
@@ -133,9 +155,14 @@ export declare class ProbeBlendSceneProjection {
|
|
|
133
155
|
private lastSky;
|
|
134
156
|
private lastDirtyVisitCount;
|
|
135
157
|
private lastDirtyReasons;
|
|
158
|
+
private readonly bufferProjectionSource;
|
|
159
|
+
private bufferProjection;
|
|
160
|
+
private resultRecords;
|
|
136
161
|
private recordFacts;
|
|
137
162
|
getRecord(objectKey: number): ProbeBlendRecord | undefined;
|
|
138
163
|
hasRecords(): boolean;
|
|
164
|
+
/** Stable upload projection; rebuilt only when probe/object facts change. */
|
|
165
|
+
recordBufferProjection(): ProbeBlendBufferProjection;
|
|
139
166
|
inspect(): ProbeBlendInspection;
|
|
140
167
|
apply(input: ProbeSceneProjectionInput): ProbeSceneProjectionResult;
|
|
141
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe-blend.d.ts","sourceRoot":"","sources":["../../src/scene/probe-blend.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"probe-blend.d.ts","sourceRoot":"","sources":["../../src/scene/probe-blend.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,16 @@ 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
8
|
import type { GpuDrivenStructureMetrics, PersistentRenderSceneInspection } from '../inspection-types';
|
|
9
|
-
import type {
|
|
9
|
+
import type { InstanceProjectionStore } from '../instances';
|
|
10
10
|
import type { PointsLinesInspection } from '../points-lines/inspection';
|
|
11
11
|
import type { PointsLinesRetainedSnapshot } from '../points-lines/snapshot';
|
|
12
|
+
import type { PreparedRenderPublication } from '../publication/receiver';
|
|
13
|
+
import type { RenderResourceScope } from '../publication/resource-scope';
|
|
12
14
|
import { type ReflectionProbeFact, ReflectionProbeProjection, type ReflectionProbeSelectionResult } from '../reflection/projection';
|
|
13
15
|
import type { CameraSnapshot } from '../render-contract';
|
|
14
16
|
import type { DispatchEntry, ExtractedFrame, MaterialSnapshotCachesByWorld, RenderableSnapshot, RenderableTemporalSnapshot } from '../render-system-extract';
|
|
15
17
|
import { type TransmissionDemand } from '../transmission/projection';
|
|
18
|
+
import { type ProbeBlendBufferProjection } from './probe-blend';
|
|
16
19
|
import type { RenderSceneApplyResult, RenderSceneBounds, RenderSceneInspection, RenderSceneOperation, RenderSceneSlot } from './render-scene-types';
|
|
17
20
|
import { type VisibilityBudget } from './visibility/budget';
|
|
18
21
|
import { VisibilityFacetStore } from './visibility/facet';
|
|
@@ -100,6 +103,8 @@ export declare class RenderScene {
|
|
|
100
103
|
captureSubmission(visible: readonly Pick<RenderableSnapshot, 'worldId' | 'entityKey'>[]): RenderSceneSubmissionCapture;
|
|
101
104
|
commitSubmission(capture: RenderSceneSubmissionCapture): RenderSceneSubmissionDelta;
|
|
102
105
|
slotsSnapshot(): readonly RenderSceneSlot[];
|
|
106
|
+
/** Cheap owner revision for retained derived projections. */
|
|
107
|
+
revisionValue(): number;
|
|
103
108
|
slot(worldId: number, entityKey: number): RenderSceneSlot | undefined;
|
|
104
109
|
has(worldId: number, entityKey: number): boolean;
|
|
105
110
|
snapshot(worldId: number, entityKey: number): RenderableSnapshot | undefined;
|
|
@@ -129,10 +134,10 @@ export declare class RenderScene {
|
|
|
129
134
|
export interface PersistentRenderSceneOptions {
|
|
130
135
|
readonly getDevice?: (() => RhiDevice) | undefined;
|
|
131
136
|
readonly onGpuError?: ((error: RhiError) => void) | undefined;
|
|
132
|
-
readonly
|
|
137
|
+
readonly onRuntimeAssetChange?: ((worldId: number, handle: number) => void) | undefined;
|
|
133
138
|
readonly configuredQueryBudget?: number | undefined;
|
|
134
|
-
/**
|
|
135
|
-
readonly instanceCollections?:
|
|
139
|
+
/** Instance projection accepted by the same World source update flow. */
|
|
140
|
+
readonly instanceCollections?: InstanceProjectionStore | undefined;
|
|
136
141
|
}
|
|
137
142
|
export interface PersistentGpuDrivenState {
|
|
138
143
|
readonly scene: GpuScene;
|
|
@@ -140,7 +145,11 @@ export interface PersistentGpuDrivenState {
|
|
|
140
145
|
readonly slots: readonly RenderSceneSlot[];
|
|
141
146
|
/** Stable renderer-local World keys aligned with RenderSceneSlot.worldId. */
|
|
142
147
|
readonly worldKeys?: readonly number[];
|
|
148
|
+
/** Public World identities aligned with RenderSceneSlot.worldId. */
|
|
149
|
+
readonly worldIdentities?: readonly string[];
|
|
143
150
|
readonly structureMetrics?: GpuDrivenStructureMetrics;
|
|
151
|
+
/** Stable retained ProbeBlend upload projection from the Scene owner. */
|
|
152
|
+
readonly probeBlend?: ProbeBlendBufferProjection;
|
|
144
153
|
}
|
|
145
154
|
export interface CpuDirectViewInput {
|
|
146
155
|
readonly view: ViewKey;
|
|
@@ -229,15 +238,16 @@ export declare class PersistentRenderScene {
|
|
|
229
238
|
private visibilityWorldKey;
|
|
230
239
|
private worldKeyAt;
|
|
231
240
|
/** Stable World routing keys for the current worlds[] frame projection. */
|
|
232
|
-
visibilityWorldKeysFor(worlds: readonly
|
|
241
|
+
visibilityWorldKeysFor(worlds: readonly RenderResourceScope[]): readonly number[];
|
|
233
242
|
/** Current retained slots, available to CPU query transport as well as GPU. */
|
|
234
243
|
compositionSlots(): readonly RenderSceneSlot[];
|
|
244
|
+
compositionSlot(worldId: number, entityKey: number): RenderSceneSlot | undefined;
|
|
235
245
|
shadowCasterProjection(): PersistentShadowCasterProjection | undefined;
|
|
236
246
|
/** Stable renderer-world/entity lookup shared by query and final projection paths. */
|
|
237
247
|
compositionSlotByStableEntity(): ReadonlyMap<number, RenderSceneSlot>;
|
|
238
248
|
private stableEntityKey;
|
|
239
249
|
/** Feed the facet from extracted renderables using persistent slot identity. */
|
|
240
|
-
updateVisibilityFacet(worlds: readonly
|
|
250
|
+
updateVisibilityFacet(worlds: readonly RenderResourceScope[], camera: CameraSnapshot | undefined, renderables: readonly RenderableSnapshot[]): void;
|
|
241
251
|
/**
|
|
242
252
|
* Project the current facet into the final primary-raster submission.
|
|
243
253
|
*
|
|
@@ -248,7 +258,7 @@ export declare class PersistentRenderScene {
|
|
|
248
258
|
* invalid bounds, and non-queryable confidence all remain conservatively
|
|
249
259
|
* visible through `decideVisibility`.
|
|
250
260
|
*/
|
|
251
|
-
projectVisibility(worlds: readonly
|
|
261
|
+
projectVisibility(worlds: readonly RenderResourceScope[], camera: CameraSnapshot | undefined, renderables: readonly RenderableSnapshot[], dispatch: readonly DispatchEntry[]): PersistentVisibilityProjection;
|
|
252
262
|
/**
|
|
253
263
|
* Advance the projection revision only when the active stable-entity set
|
|
254
264
|
* changes. Camera fingerprints and scene-plan identity cover view/topology
|
|
@@ -261,6 +271,7 @@ export declare class PersistentRenderScene {
|
|
|
261
271
|
projectReflectionProbes(probes: readonly ReflectionProbeFact[]): void;
|
|
262
272
|
reflectionProbeSelection(worldId: number, entityKey: number): ReflectionProbeSelectionResult;
|
|
263
273
|
reflectionProbeProjection(): ReturnType<ReflectionProbeProjection['snapshot']>;
|
|
274
|
+
consumePublication(input: PreparedRenderPublication): ExtractedFrame;
|
|
264
275
|
extractComposition(worlds: readonly World[], owner: {
|
|
265
276
|
readonly cameraOwner: number;
|
|
266
277
|
readonly resourceOwner: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-scene.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-scene.d.ts","sourceRoot":"","sources":["../../src/scene/render-scene.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Component, EntityHandle, Query, World } from '@forgeax/engine-ecs';
|
|
2
|
+
import { GlobalTransform } from '@forgeax/engine-scene';
|
|
3
|
+
export type GlobalTransformChangeQuery = Query<readonly [typeof GlobalTransform]>;
|
|
4
|
+
export declare const RENDERABLE_SOURCE_COMPONENTS: readonly [Component<"ChildOf", {
|
|
5
|
+
parent: "entity";
|
|
6
|
+
}>, Component<"MeshFilter", {
|
|
7
|
+
readonly assetHandle: "shared<MeshAsset>";
|
|
8
|
+
}>, Component<"MeshRenderer", {
|
|
9
|
+
readonly materials: "array<shared<MaterialAsset>>";
|
|
10
|
+
}>, Component<"Instances", {
|
|
11
|
+
readonly transforms: "array<f32>";
|
|
12
|
+
}>, Component<"SpriteInstances", {
|
|
13
|
+
readonly transforms: "array<f32>";
|
|
14
|
+
readonly regions: "array<f32>";
|
|
15
|
+
}>, Component<"SpriteRegionOverride", {
|
|
16
|
+
readonly region: "array<f32, 4>";
|
|
17
|
+
}>, Component<"Skin", {
|
|
18
|
+
readonly skeleton: "shared<SkeletonAsset>";
|
|
19
|
+
readonly joints: "array<entity>";
|
|
20
|
+
}>, Component<"Layer", {
|
|
21
|
+
readonly value: "i32";
|
|
22
|
+
}>, Component<"Visibility", {
|
|
23
|
+
readonly state: "enum";
|
|
24
|
+
}>, Component<"MorphWeights", {
|
|
25
|
+
readonly weights: "array<f32>";
|
|
26
|
+
}>, Component<"Points", {
|
|
27
|
+
readonly sizePx: "f32";
|
|
28
|
+
readonly shape: "enum";
|
|
29
|
+
}>, Component<"Lines", {
|
|
30
|
+
readonly widthPx: "f32";
|
|
31
|
+
}>, Component<"SortKey", {
|
|
32
|
+
readonly value: "f32";
|
|
33
|
+
}>];
|
|
34
|
+
export declare function createGlobalTransformChangeQuery(world: World): GlobalTransformChangeQuery;
|
|
35
|
+
export declare function createRenderSourceState(world: World, additional?: readonly Component[]): {
|
|
36
|
+
projection: import("@forgeax/engine-ecs/projection").StateProjection;
|
|
37
|
+
entities: Map<number, EntityHandle>;
|
|
38
|
+
contentHandles: Map<number, readonly number[]>;
|
|
39
|
+
batch: import("@forgeax/engine-ecs/projection").StateProjectionBatch;
|
|
40
|
+
};
|
|
41
|
+
export declare function isRenderableMember(world: World, entity: number): boolean;
|
|
42
|
+
//# sourceMappingURL=render-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-source.d.ts","sourceRoot":"","sources":["../../src/scene/render-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAW,eAAe,EAA2B,MAAM,uBAAuB,CAAC;AAc1F,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;AAKlF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAc/B,CAAC;AACX,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,KAAK,GAAG,0BAA0B,CAQzF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,GAAE,SAAS,SAAS,EAAO;;;;;EAkC1F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMxE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
|
|
2
|
+
import { type World } from '@forgeax/engine-ecs';
|
|
3
|
+
import type { GpuResidencyCache } from '../device/gpu-residency';
|
|
4
|
+
/** Derived authoring stays beside World; only completed mesh data reaches the Renderer. */
|
|
5
|
+
export declare function registerRenderSourceSystems(world: World, assets: AssetRegistry, meshes: Pick<GpuResidencyCache, 'updateMesh'>): () => void;
|
|
6
|
+
//# sourceMappingURL=source-systems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-systems.d.ts","sourceRoot":"","sources":["../../src/scene/source-systems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,2FAA2F;AAC3F,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAC5C,MAAM,IAAI,CAmBZ"}
|
package/dist/ssao-buffers.d.ts
CHANGED
|
@@ -38,6 +38,15 @@ export interface SsaoBuffers {
|
|
|
38
38
|
readonly uniformBuffer: Buffer;
|
|
39
39
|
readonly uniformBytes: number;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Release every persistent SSAO resource owned by one renderer runtime.
|
|
43
|
+
*
|
|
44
|
+
* The fallback texture and the enabled-path buffers are module caches keyed by
|
|
45
|
+
* the runtime object, so Renderer.dispose()/recover() must explicitly retire
|
|
46
|
+
* them. Cache eviction alone loses the only owner and leaves the backing RHI
|
|
47
|
+
* handles live until the device itself is collected.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resetSsaoResources(runtime: RenderSystemRuntime): void;
|
|
41
50
|
/**
|
|
42
51
|
* Lazily allocate the 3 SSAO GPU resources for `runtime`. Returns the
|
|
43
52
|
* same `SsaoBuffers` object on subsequent calls (per-RenderSystem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssao-buffers.d.ts","sourceRoot":"","sources":["../src/ssao-buffers.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAiB3C,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAU,GAAG,SAAS,YAAY,EAAE,CAuB5E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,MAAU,GAAG,YAAY,CAShE;AAiBD,eAAO,MAAM,6BAA6B,MAAiC,CAAC;AAC5E,eAAO,MAAM,kBAAkB,MAAgB,CAAC;AAYhD,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"ssao-buffers.d.ts","sourceRoot":"","sources":["../src/ssao-buffers.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAiB3C,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAU,GAAG,SAAS,YAAY,EAAE,CAuB5E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,MAAU,GAAG,YAAY,CAShE;AAiBD,eAAO,MAAM,6BAA6B,MAAiC,CAAC;AAC5E,eAAO,MAAM,kBAAkB,MAAgB,CAAC;AAYhD,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AA8CD;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,mBAAmB,GAC3B,qBAAqB,GAAG,IAAI,CAiF9B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAqBD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAWrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,IAAI,CAiHvF"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { MaterialDynamicInputLayout, MaterialDynamicInputSchema } from '@forgeax/engine-types';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
export type DynamicInputValue = number | readonly number[];
|
|
4
|
+
/** Stable public address of one admitted Surface draw member. */
|
|
5
|
+
export interface SurfaceDynamicInputMemberIdentity {
|
|
6
|
+
/** `World.identity`; stable across renderer-local World reordering. */
|
|
7
|
+
readonly worldIdentity: string;
|
|
8
|
+
readonly entityKey: number;
|
|
9
|
+
readonly drawItemIndex: number;
|
|
10
|
+
readonly instanceOrdinal: number;
|
|
11
|
+
}
|
|
12
|
+
export interface DynamicInputRange {
|
|
13
|
+
readonly pageId: number;
|
|
14
|
+
readonly sourceId: string;
|
|
15
|
+
/** Producer-owned domain identity retained across device regeneration. */
|
|
16
|
+
readonly domain: string;
|
|
17
|
+
readonly byteOffset: number;
|
|
18
|
+
readonly recordStart: number;
|
|
19
|
+
readonly recordCount: number;
|
|
20
|
+
readonly instanceIndex: number;
|
|
21
|
+
readonly member: SurfaceDynamicInputMemberIdentity;
|
|
22
|
+
readonly contentRevision: number;
|
|
23
|
+
readonly bufferGeneration: number;
|
|
24
|
+
readonly deviceGeneration: number;
|
|
25
|
+
}
|
|
26
|
+
export interface DynamicInputDirtyRange {
|
|
27
|
+
readonly byteStart: number;
|
|
28
|
+
readonly byteEnd: number;
|
|
29
|
+
}
|
|
30
|
+
export interface DynamicInputUploadReceipt {
|
|
31
|
+
readonly sourceId: string;
|
|
32
|
+
readonly pageId: number;
|
|
33
|
+
readonly contentRevision: number;
|
|
34
|
+
readonly bufferGeneration: number;
|
|
35
|
+
readonly deviceGeneration: number;
|
|
36
|
+
readonly ranges: readonly DynamicInputDirtyRange[];
|
|
37
|
+
readonly bytes: number;
|
|
38
|
+
}
|
|
39
|
+
export interface DynamicInputConsumptionReceipt extends DynamicInputRange {
|
|
40
|
+
readonly frameNumber: number;
|
|
41
|
+
readonly uploadedRevision: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Renderer input for one frame of a published Surface dynamic page.
|
|
45
|
+
*
|
|
46
|
+
* `ranges` join by their stable World/entity/draw/instance member identity.
|
|
47
|
+
* Producer order is irrelevant and cannot redirect one member's dynamic
|
|
48
|
+
* records to another member after culling or World reordering.
|
|
49
|
+
*/
|
|
50
|
+
export interface SurfaceDynamicInputFrame {
|
|
51
|
+
readonly page: ReadonlyDynamicInputPage;
|
|
52
|
+
readonly ranges?: readonly DynamicInputRange[];
|
|
53
|
+
/** Producer-owned membership/address revision; time and record values do not advance it. */
|
|
54
|
+
readonly projectionRevision: number;
|
|
55
|
+
readonly frameTime: number;
|
|
56
|
+
}
|
|
57
|
+
export type DynamicInputErrorCode = 'invalid-schema' | 'invalid-record' | 'range-overflow' | 'domain-overflow' | 'not-uploaded' | 'stale-generation' | 'released';
|
|
58
|
+
export interface DynamicInputErrorDetail {
|
|
59
|
+
readonly operation: 'create' | 'write' | 'reserve' | 'upload' | 'consume' | 'reconfigure' | 'release';
|
|
60
|
+
readonly field?: string;
|
|
61
|
+
readonly expected: string;
|
|
62
|
+
readonly actual?: unknown;
|
|
63
|
+
readonly sourceId?: string;
|
|
64
|
+
readonly pageId?: number;
|
|
65
|
+
}
|
|
66
|
+
export declare class DynamicInputError extends Error {
|
|
67
|
+
readonly code: DynamicInputErrorCode;
|
|
68
|
+
readonly expected: string;
|
|
69
|
+
readonly hint: string;
|
|
70
|
+
readonly detail: DynamicInputErrorDetail;
|
|
71
|
+
constructor(code: DynamicInputErrorCode, detail: DynamicInputErrorDetail);
|
|
72
|
+
}
|
|
73
|
+
export type DynamicInputResult<T> = Result<T, DynamicInputError>;
|
|
74
|
+
/**
|
|
75
|
+
* Generic Render-owned CPU side of a read-only dynamic input page. The page
|
|
76
|
+
* has no GPU handle: the renderer's existing resource owner can upload the
|
|
77
|
+
* detached bytes and attach the receipt to a prepared pass.
|
|
78
|
+
*/
|
|
79
|
+
export declare class ReadonlyDynamicInputPage {
|
|
80
|
+
readonly sourceId: string;
|
|
81
|
+
readonly pageId: number;
|
|
82
|
+
readonly schema: MaterialDynamicInputSchema;
|
|
83
|
+
readonly layout: MaterialDynamicInputLayout;
|
|
84
|
+
readonly bytes: Uint8Array;
|
|
85
|
+
private contentRevisionValue;
|
|
86
|
+
private bufferGenerationValue;
|
|
87
|
+
private deviceGenerationValue;
|
|
88
|
+
private uploadedRevisionValue;
|
|
89
|
+
private lastUploadedBytesValue;
|
|
90
|
+
private released;
|
|
91
|
+
private readonly ownedRanges;
|
|
92
|
+
private readonly ownedUploads;
|
|
93
|
+
private readonly dirty;
|
|
94
|
+
private readonly domains;
|
|
95
|
+
private constructor();
|
|
96
|
+
static create(input: {
|
|
97
|
+
readonly sourceId: string;
|
|
98
|
+
readonly pageId: number;
|
|
99
|
+
readonly schema: MaterialDynamicInputSchema;
|
|
100
|
+
}): DynamicInputResult<ReadonlyDynamicInputPage>;
|
|
101
|
+
get contentRevision(): number;
|
|
102
|
+
get bufferGeneration(): number;
|
|
103
|
+
get deviceGeneration(): number;
|
|
104
|
+
get uploadedRevision(): number;
|
|
105
|
+
get lastUploadedBytes(): number;
|
|
106
|
+
/** Write one complete record and mark only its byte interval dirty. */
|
|
107
|
+
writeRecord(index: number, values: Readonly<Record<string, DynamicInputValue>>): DynamicInputResult<number>;
|
|
108
|
+
/** Reserve one explicit instance range; no skin address field is involved. */
|
|
109
|
+
reserveRange(input: {
|
|
110
|
+
readonly domain: string;
|
|
111
|
+
readonly recordStart: number;
|
|
112
|
+
readonly recordCount: number;
|
|
113
|
+
readonly instanceIndex: number;
|
|
114
|
+
readonly member: SurfaceDynamicInputMemberIdentity;
|
|
115
|
+
}): DynamicInputResult<DynamicInputRange>;
|
|
116
|
+
/** Return detached dirty bytes for the existing resource owner to upload. */
|
|
117
|
+
beginUpload(): DynamicInputResult<DynamicInputUploadReceipt>;
|
|
118
|
+
/**
|
|
119
|
+
* Commit an upload only after the owning queue write has succeeded. A
|
|
120
|
+
* producer that changed the page while a write was in flight leaves the
|
|
121
|
+
* dirty bytes pending and must retry the new revision.
|
|
122
|
+
*/
|
|
123
|
+
commitUpload(receipt: DynamicInputUploadReceipt): DynamicInputResult<true>;
|
|
124
|
+
/** CPU-only convenience: begin and commit are still explicit in production. */
|
|
125
|
+
upload(): DynamicInputResult<DynamicInputUploadReceipt>;
|
|
126
|
+
/** Consume an uploaded range after graph submission has completed. */
|
|
127
|
+
consume(range: DynamicInputRange, frameNumber: number): DynamicInputResult<DynamicInputConsumptionReceipt>;
|
|
128
|
+
/** Device loss/rebuild changes physical generations while source identity stays stable. */
|
|
129
|
+
reconfigureDevice(deviceGeneration: number): DynamicInputResult<number>;
|
|
130
|
+
release(): DynamicInputResult<true>;
|
|
131
|
+
private assertLive;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=dynamic-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-input.d.ts","sourceRoot":"","sources":["../../src/surface/dynamic-input.ts"],"names":[],"mappings":"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"}
|