@forgeax/engine-render 0.1.33 → 0.1.34
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 +1010 -124
- 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/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 +3 -3
- 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/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 +1 -1
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
- package/dist/authoring.mjs +1 -1
- package/dist/barrel-distortion.d.ts +47 -0
- package/dist/barrel-distortion.d.ts.map +1 -0
- package/dist/{chunk-PA5DRJNI.mjs → chunk-ELJFJ2BU.mjs} +2 -2
- package/dist/chunk-ELJFJ2BU.mjs.map +1 -0
- package/dist/{chunk-ZDQWGQW7.mjs → chunk-HEB564WF.mjs} +4 -4
- package/dist/{chunk-ZDQWGQW7.mjs.map → chunk-HEB564WF.mjs.map} +1 -1
- package/dist/{chunk-VOZWDM3L.mjs → chunk-MKDIT2EM.mjs} +1307 -188
- package/dist/chunk-MKDIT2EM.mjs.map +1 -0
- package/dist/{chunk-LEAXOMYJ.mjs → chunk-OCDLEI6I.mjs} +3 -3
- package/dist/{chunk-LEAXOMYJ.mjs.map → chunk-OCDLEI6I.mjs.map} +1 -1
- package/dist/chunk-ODZWR6JQ.mjs +4927 -0
- package/dist/chunk-ODZWR6JQ.mjs.map +1 -0
- package/dist/{chunk-3RTCJTH4.mjs → chunk-SHFUFJ5N.mjs} +184 -13
- package/dist/chunk-SHFUFJ5N.mjs.map +1 -0
- package/dist/{chunk-OO3DRYK7.mjs → chunk-UI5SFODX.mjs} +176 -96
- package/dist/chunk-UI5SFODX.mjs.map +1 -0
- package/dist/{chunk-PLAXOOX5.mjs → chunk-UINHLCZA.mjs} +561 -79
- package/dist/chunk-UINHLCZA.mjs.map +1 -0
- package/dist/{chunk-NB2S7ZRX.mjs → chunk-WEX45HKH.mjs} +127 -386
- package/dist/chunk-WEX45HKH.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 +6759 -2875
- package/dist/construct-renderer.mjs.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 +18 -4
- 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/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 +10 -0
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/plan.d.ts +8 -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 +44 -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/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/skylight-bind-group.d.ts +10 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +27 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +258 -8
- 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 +48 -100
- package/dist/instances.d.ts.map +1 -1
- package/dist/internal.mjs +7 -7
- package/dist/pbr-pipeline.d.ts +19 -1
- 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/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/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 +37 -3
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame.d.ts +10 -61
- 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/main-pass-geometry.d.ts +21 -5
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +7 -1
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +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/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 +22 -3
- 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/typed-frame-graph.d.ts +22 -2
- 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 +10 -0
- 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 +42 -4
- 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 +16 -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-residency.d.ts +12 -0
- package/dist/render-system-residency.d.ts.map +1 -0
- package/dist/render-system.d.ts +19 -14
- 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 +12 -5
- package/dist/scene/render-scene.d.ts.map +1 -1
- 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/temporal/gpu.d.ts +13 -1
- package/dist/temporal/gpu.d.ts.map +1 -1
- package/dist/temporal/index.mjs +5 -5
- 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__/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-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 +2 -2
- 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__/main-pass-material-medium-selection.unit.test.ts +146 -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__/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 +58 -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 +7 -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 +41 -7
- 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/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 +3 -3
- 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 +41 -18
- package/src/assembly/render-feature-post-processes.ts +54 -0
- package/src/assembly/renderer-facade.ts +4 -1
- 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 +115 -61
- 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 +214 -252
- 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/dynamic-geometry.ts +12 -1
- package/src/errors/cloud.ts +103 -0
- package/src/errors/render.ts +44 -7
- 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/features/barrel-distortion.ts +172 -0
- package/src/features/error-reporting.ts +26 -6
- package/src/features/host.ts +115 -14
- package/src/features/plan.ts +8 -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 +47 -0
- package/src/fullscreen-post-process-pass.ts +41 -9
- 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/skylight-bind-group.ts +49 -7
- package/src/index.ts +196 -9
- package/src/inspection-types.ts +162 -0
- package/src/instance-buffer-cache.ts +4 -4
- package/src/instances.ts +149 -569
- package/src/pbr-pipeline.ts +219 -13
- 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/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/record/__tests__/main-pass-geometry.unit.test.ts +30 -0
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +1 -1
- 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__/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 +852 -0
- package/src/record/fold-instance-buffer.ts +51 -0
- package/src/record/frame-lighting.ts +36 -2
- package/src/record/frame-snapshot.ts +39 -3
- package/src/record/frame.ts +217 -1084
- package/src/record/gpu-draw-receipts.ts +38 -0
- package/src/record/gpu-timing.ts +48 -5
- package/src/record/main-pass-geometry.ts +251 -82
- package/src/record/main-pass-material.ts +66 -4
- package/src/record/main-pass-sprite-draws.ts +7 -65
- package/src/record/main-pass.ts +156 -20
- package/src/record/motion-blur-receipt.ts +91 -0
- package/src/record/probe-blend-buffer.ts +180 -0
- package/src/record/recovery-pipeline.ts +35 -3
- package/src/record/render-context.ts +39 -3
- package/src/record/shadow-pass.ts +30 -1
- package/src/record/skybox-post-pass.ts +28 -4
- package/src/record/typed-frame-graph.ts +770 -134
- package/src/record/view-ubo.ts +26 -3
- package/src/record/volume-params.ts +225 -0
- package/src/recovery/render-system-candidate.ts +235 -42
- package/src/reflection/record-owner.ts +7 -3
- package/src/render-contract.ts +48 -4
- package/src/render-graph-primitives.ts +7 -1
- package/src/render-pipeline.ts +130 -0
- package/src/render-system-extract-tail.ts +57 -61
- package/src/render-system-extract.ts +74 -76
- package/src/render-system-presentation.ts +56 -0
- package/src/render-system-producer-roots.ts +96 -0
- package/src/render-system-residency.ts +159 -0
- package/src/render-system.ts +347 -363
- package/src/scene/probe-blend.ts +96 -4
- package/src/scene/render-scene.ts +349 -280
- 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 +4 -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.map +0 -1
- 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.map +0 -1
- package/dist/chunk-VOZWDM3L.mjs.map +0 -1
package/src/index.ts
CHANGED
|
@@ -11,6 +11,18 @@ export {
|
|
|
11
11
|
renderPipelineContribution,
|
|
12
12
|
samplerContribution,
|
|
13
13
|
} from './assets/asset-decoders.js';
|
|
14
|
+
export {
|
|
15
|
+
attachBarrelDistortionCameraFrame,
|
|
16
|
+
type BarrelDistortionCameraFrame,
|
|
17
|
+
type BarrelDistortionMapping,
|
|
18
|
+
createBarrelDistortionMapping,
|
|
19
|
+
type DisplayPoint,
|
|
20
|
+
freezeBarrelDistortionMapping,
|
|
21
|
+
mapDisplayToScene,
|
|
22
|
+
mapDisplayUvToSceneUv,
|
|
23
|
+
mapSceneToDisplay,
|
|
24
|
+
mapSceneUvToDisplayUv,
|
|
25
|
+
} from './barrel-distortion.js';
|
|
14
26
|
// Runtime contract: leases, frame receipts, detached inspection, profile,
|
|
15
27
|
// lifecycle state, and the single renderer event stream.
|
|
16
28
|
export type {
|
|
@@ -18,7 +30,107 @@ export type {
|
|
|
18
30
|
CubeCameraFaceViewInput,
|
|
19
31
|
} from './capture/cube-views.js';
|
|
20
32
|
export { buildCubeCameraFaceViews } from './capture/cube-views.js';
|
|
33
|
+
export {
|
|
34
|
+
buildCloudDensityCache,
|
|
35
|
+
type CloudDensityCache,
|
|
36
|
+
type CloudDensityCacheSnapshot,
|
|
37
|
+
type CloudDensitySample,
|
|
38
|
+
evaluateCloudDensity,
|
|
39
|
+
reconstructCloudDensityCache,
|
|
40
|
+
sampleCloudDensity,
|
|
41
|
+
snapshotCloudDensityCache,
|
|
42
|
+
} from './cloud/density.js';
|
|
43
|
+
export {
|
|
44
|
+
type CloudLayerCandidate,
|
|
45
|
+
type ExtractedCloudLayer,
|
|
46
|
+
extractCloudLayer,
|
|
47
|
+
selectCloudLayerFrame,
|
|
48
|
+
} from './cloud/extract.js';
|
|
49
|
+
export {
|
|
50
|
+
CLOUD_DENSITY_COMPUTE_WGSL,
|
|
51
|
+
CLOUD_HISTORY_FULLSCREEN_WGSL,
|
|
52
|
+
CLOUD_LAYER_DENSITY_BINDINGS,
|
|
53
|
+
CLOUD_LAYER_DENSITY_CACHE,
|
|
54
|
+
CLOUD_LAYER_DENSITY_OUTPUT,
|
|
55
|
+
CLOUD_LAYER_DENSITY_PROGRAM,
|
|
56
|
+
CLOUD_LAYER_FEATURE_IDENTITY,
|
|
57
|
+
CLOUD_VIEW_FULLSCREEN_WGSL,
|
|
58
|
+
CLOUD_VIEW_PARAMS_BYTES,
|
|
59
|
+
type CloudLayerFeatureFrame,
|
|
60
|
+
type CloudLayerFeatureOptions,
|
|
61
|
+
createCloudLayerFeature,
|
|
62
|
+
} from './cloud/feature.js';
|
|
63
|
+
export {
|
|
64
|
+
type CloudLayerBudgetObservation,
|
|
65
|
+
type CloudLayerInspection,
|
|
66
|
+
type CloudLayerInspectionInput,
|
|
67
|
+
type CloudLayerInspectionStatus,
|
|
68
|
+
type CloudLayerResourceStage,
|
|
69
|
+
type CloudPhysicalGpuEvidence,
|
|
70
|
+
cloudCapabilitiesFromRhi,
|
|
71
|
+
inspectCloudLayer,
|
|
72
|
+
} from './cloud/inspection.js';
|
|
73
|
+
export {
|
|
74
|
+
applyCloudSolarTransmittance,
|
|
75
|
+
type CloudInteriorLighting,
|
|
76
|
+
type CloudOpticalPath,
|
|
77
|
+
type CloudOpticalResult,
|
|
78
|
+
type CloudOpticsInput,
|
|
79
|
+
type CloudRay,
|
|
80
|
+
compositeCloudRadiance,
|
|
81
|
+
integrateCloudCameraPath,
|
|
82
|
+
integrateCloudInterior,
|
|
83
|
+
integrateCloudPath,
|
|
84
|
+
integrateCloudSolarColumn,
|
|
85
|
+
intersectCloudLayer,
|
|
86
|
+
} from './cloud/optics.js';
|
|
87
|
+
export {
|
|
88
|
+
CLOUD_QUALITY_PROFILES,
|
|
89
|
+
type CloudLayerAuthoring,
|
|
90
|
+
type CloudQualityProfile,
|
|
91
|
+
cloudLayerSourceKey,
|
|
92
|
+
DEFAULT_CLOUD_LAYER,
|
|
93
|
+
type ValidatedCloudLayer,
|
|
94
|
+
validateCloudLayer,
|
|
95
|
+
} from './cloud/parameters.js';
|
|
96
|
+
export {
|
|
97
|
+
acceptCloudLayerGeneration,
|
|
98
|
+
CLOUD_HISTORY_SURFACE_COUNT,
|
|
99
|
+
CLOUD_RGBA16FLOAT_BYTES_PER_TEXEL,
|
|
100
|
+
type CloudGpuResourceEvidence,
|
|
101
|
+
type CloudLayerGeneration,
|
|
102
|
+
type CloudLayerResourceFacts,
|
|
103
|
+
type CloudLayerResourceInputs,
|
|
104
|
+
inspectCloudLayerResources,
|
|
105
|
+
retainCloudLayerAfterFailure,
|
|
106
|
+
} from './cloud/resources.js';
|
|
107
|
+
export {
|
|
108
|
+
type CloudShadowProjection,
|
|
109
|
+
type CloudShadowSample,
|
|
110
|
+
createCloudShadowProjection,
|
|
111
|
+
projectCloudShadowUv,
|
|
112
|
+
sampleCloudShadow,
|
|
113
|
+
} from './cloud/shadow.js';
|
|
114
|
+
export {
|
|
115
|
+
type CloudHistory,
|
|
116
|
+
type CloudHistoryReprojection,
|
|
117
|
+
type CloudHistoryReprojectionInput,
|
|
118
|
+
CloudHistoryStore,
|
|
119
|
+
type CloudTemporalDecision,
|
|
120
|
+
type CloudTemporalFrame,
|
|
121
|
+
type CloudTemporalResetReason,
|
|
122
|
+
type CloudTemporalSignature,
|
|
123
|
+
cloudTemporalResetReasons,
|
|
124
|
+
cloudTemporalSignature,
|
|
125
|
+
createCloudHistory,
|
|
126
|
+
reprojectCloudHistory,
|
|
127
|
+
} from './cloud/temporal.js';
|
|
21
128
|
export { Atmosphere } from './components/atmosphere.js';
|
|
129
|
+
export {
|
|
130
|
+
BarrelDistortion,
|
|
131
|
+
type BarrelDistortionData,
|
|
132
|
+
validateBarrelDistortionParameters,
|
|
133
|
+
} from './components/barrel-distortion.js';
|
|
22
134
|
// ECS render vocabulary and grouped closed values.
|
|
23
135
|
export type {
|
|
24
136
|
Antialias,
|
|
@@ -71,6 +183,13 @@ export {
|
|
|
71
183
|
validateCameraColorGrading,
|
|
72
184
|
validateCameraExposure,
|
|
73
185
|
} from './components/camera.js';
|
|
186
|
+
export {
|
|
187
|
+
CloudLayer,
|
|
188
|
+
type CloudLayerData,
|
|
189
|
+
type CloudQuality,
|
|
190
|
+
CloudQualityValue,
|
|
191
|
+
cloudQualityFromF32,
|
|
192
|
+
} from './components/cloud-layer.js';
|
|
74
193
|
export {
|
|
75
194
|
CUBE_CAMERA_FACE_ORDER,
|
|
76
195
|
CUBE_CAMERA_UPDATE_CONTINUOUS,
|
|
@@ -174,6 +293,22 @@ export type {
|
|
|
174
293
|
EnvironmentInspectionGeneration,
|
|
175
294
|
EnvironmentInspectionStatus,
|
|
176
295
|
} from './environment/inspection.js';
|
|
296
|
+
export type {
|
|
297
|
+
CloudLayerCacheInvalidDetail,
|
|
298
|
+
CloudLayerCapabilityMissingDetail,
|
|
299
|
+
CloudLayerError,
|
|
300
|
+
CloudLayerErrorCode,
|
|
301
|
+
CloudLayerInvalidParameterDetail,
|
|
302
|
+
CloudLayerOwnerConflictDetail,
|
|
303
|
+
CloudLayerResourceFailureDetail,
|
|
304
|
+
} from './errors/cloud.js';
|
|
305
|
+
export {
|
|
306
|
+
CloudLayerCacheInvalidError,
|
|
307
|
+
CloudLayerCapabilityMissingError,
|
|
308
|
+
CloudLayerInvalidParameterError,
|
|
309
|
+
CloudLayerOwnerConflictError,
|
|
310
|
+
CloudLayerResourceFailureError,
|
|
311
|
+
} from './errors/cloud.js';
|
|
177
312
|
// Public structured operation failure union. Concrete error classes stay
|
|
178
313
|
// behind the Renderer Result/event boundary.
|
|
179
314
|
export type {
|
|
@@ -184,6 +319,7 @@ export type {
|
|
|
184
319
|
} from './errors/gpu-driven';
|
|
185
320
|
export { GpuDrivenPreparationError } from './errors/gpu-driven';
|
|
186
321
|
export type {
|
|
322
|
+
BarrelDistortionInvalidParameterDetail,
|
|
187
323
|
DynamicResolutionError,
|
|
188
324
|
ReflectionProbeBudgetExceededDetail,
|
|
189
325
|
RenderError,
|
|
@@ -198,6 +334,7 @@ export type {
|
|
|
198
334
|
} from './errors/render.js';
|
|
199
335
|
export {
|
|
200
336
|
AtmosphereInvalidParameterError,
|
|
337
|
+
BarrelDistortionInvalidParameterError,
|
|
201
338
|
DynamicResolutionInvalidParameterError,
|
|
202
339
|
DynamicResolutionRequiresTaaError,
|
|
203
340
|
DynamicResolutionTimingUnavailableError,
|
|
@@ -205,9 +342,14 @@ export {
|
|
|
205
342
|
EnvironmentSourceConflictError,
|
|
206
343
|
FogCardinalityError,
|
|
207
344
|
OwnerStageFailedError,
|
|
345
|
+
RendererOperationError,
|
|
208
346
|
SceneDataUnavailableError,
|
|
209
347
|
TaaCapsInsufficientError,
|
|
210
348
|
} from './errors/render.js';
|
|
349
|
+
export {
|
|
350
|
+
SINGLE_LAYER_MEDIUM_SURFACE_EXAMPLE,
|
|
351
|
+
SINGLE_LAYER_MEDIUM_SURFACE_EXAMPLES,
|
|
352
|
+
} from './examples/single-layer-medium-surface.js';
|
|
211
353
|
export type {
|
|
212
354
|
EnvironmentFrame,
|
|
213
355
|
EnvironmentSource,
|
|
@@ -219,6 +361,14 @@ export {
|
|
|
219
361
|
type VisibilityResolution,
|
|
220
362
|
type VisibilitySnapshot,
|
|
221
363
|
} from './extract/visibility.js';
|
|
364
|
+
export {
|
|
365
|
+
BARREL_DISTORTION_FEATURE_IDENTITY,
|
|
366
|
+
BARREL_DISTORTION_POST_PROCESS_ID,
|
|
367
|
+
BARREL_DISTORTION_WGSL,
|
|
368
|
+
BARREL_DISTORTION_WGSL_COORDINATE,
|
|
369
|
+
type BarrelDistortionFeatureFrame,
|
|
370
|
+
createBarrelDistortionRenderFeature,
|
|
371
|
+
} from './features/barrel-distortion.js';
|
|
222
372
|
export {
|
|
223
373
|
DEFAULT_DEPTH_OF_FIELD_PARAMS,
|
|
224
374
|
DEPTH_OF_FIELD_PARAMS_BYTE_SIZE,
|
|
@@ -271,10 +421,13 @@ export type {
|
|
|
271
421
|
RenderFeatureDiagnostics,
|
|
272
422
|
RenderFeatureErrorDescriptor,
|
|
273
423
|
RenderFeatureExtractContext,
|
|
424
|
+
RenderFeatureFrameContext,
|
|
274
425
|
RenderFeatureHiddenEntityReport,
|
|
426
|
+
RenderFeaturePlacement,
|
|
275
427
|
RenderFeatureShaderModuleMode,
|
|
276
428
|
RenderFeatureStatus,
|
|
277
429
|
RenderFeatureSubmission,
|
|
430
|
+
RenderFeatureViewContext,
|
|
278
431
|
RenderFeatureWorldVisibilitySnapshot,
|
|
279
432
|
} from './features/types.js';
|
|
280
433
|
export {
|
|
@@ -290,6 +443,7 @@ export {
|
|
|
290
443
|
resetIblKernelCaches,
|
|
291
444
|
} from './ibl/kernel-cache.js';
|
|
292
445
|
export type {
|
|
446
|
+
BarrelDistortionInspection,
|
|
293
447
|
BloomInspection,
|
|
294
448
|
DepthOfFieldInspection,
|
|
295
449
|
DepthOfFieldInspectionStatus,
|
|
@@ -320,22 +474,14 @@ export type {
|
|
|
320
474
|
} from './inspection-types.js';
|
|
321
475
|
export {
|
|
322
476
|
type InstanceBackendKind,
|
|
323
|
-
type InstanceCollectionCreateInput,
|
|
324
|
-
type InstanceCollectionData,
|
|
325
|
-
InstanceCollectionError,
|
|
326
|
-
type InstanceCollectionErrorCode,
|
|
327
477
|
type InstanceCollectionFailureCode,
|
|
328
478
|
type InstanceCollectionFailureFacts,
|
|
329
479
|
type InstanceCollectionId,
|
|
330
480
|
type InstanceCollectionInfo,
|
|
331
481
|
type InstanceCollectionInspection,
|
|
332
|
-
type InstanceCollectionInvalidDetail,
|
|
333
|
-
type InstanceCollectionResult,
|
|
334
|
-
type InstanceCollectionSnapshot,
|
|
335
|
-
InstanceCollectionStore,
|
|
336
|
-
type InstanceCollectionUpdateInput,
|
|
337
482
|
type InstanceDirtyRange,
|
|
338
483
|
type InstanceSubmissionLane,
|
|
484
|
+
InstanceTransformsError,
|
|
339
485
|
} from './instances';
|
|
340
486
|
export {
|
|
341
487
|
MaterialAuthoringContractError,
|
|
@@ -483,6 +629,7 @@ export type {
|
|
|
483
629
|
FrameCamera,
|
|
484
630
|
FrameEnvironment,
|
|
485
631
|
FrameObservationRequest,
|
|
632
|
+
FramePresentation,
|
|
486
633
|
FrameReceipt,
|
|
487
634
|
FrameReceiptObservation,
|
|
488
635
|
Renderer,
|
|
@@ -592,6 +739,31 @@ export {
|
|
|
592
739
|
projectSsrSpatialInspection,
|
|
593
740
|
serializeSsrSpatialInspection,
|
|
594
741
|
} from './ssr/inspection.js';
|
|
742
|
+
export {
|
|
743
|
+
type DynamicInputConsumptionReceipt,
|
|
744
|
+
type DynamicInputDirtyRange,
|
|
745
|
+
DynamicInputError,
|
|
746
|
+
type DynamicInputErrorCode,
|
|
747
|
+
type DynamicInputErrorDetail,
|
|
748
|
+
type DynamicInputRange,
|
|
749
|
+
type DynamicInputResult,
|
|
750
|
+
type DynamicInputUploadReceipt,
|
|
751
|
+
type DynamicInputValue,
|
|
752
|
+
ReadonlyDynamicInputPage,
|
|
753
|
+
type SurfaceDynamicInputFrame,
|
|
754
|
+
type SurfaceDynamicInputMemberIdentity,
|
|
755
|
+
} from './surface/dynamic-input.js';
|
|
756
|
+
export {
|
|
757
|
+
admitSingleLayerMediumSubmission,
|
|
758
|
+
type SurfaceGpuCapability,
|
|
759
|
+
type SurfaceGpuFallbackReason,
|
|
760
|
+
type SurfaceGpuPassAdmission,
|
|
761
|
+
type SurfaceGpuSubmissionAdmission,
|
|
762
|
+
type SurfaceGpuSubmissionError,
|
|
763
|
+
type SurfaceGpuSubmissionErrorCode,
|
|
764
|
+
type SurfaceGpuSubmissionInput,
|
|
765
|
+
} from './surface/gpu-driven.js';
|
|
766
|
+
export type { SurfaceGpuIndirectParameters } from './surface/submission-observation.js';
|
|
595
767
|
export { getActiveCamera, setActiveCamera } from './systems/active-camera.js';
|
|
596
768
|
export type {
|
|
597
769
|
RenderTarget,
|
|
@@ -626,6 +798,19 @@ export {
|
|
|
626
798
|
type SceneDataInspection,
|
|
627
799
|
} from './temporal/scene-data-catalog.js';
|
|
628
800
|
export type { TemporalView } from './temporal/view.js';
|
|
801
|
+
export {
|
|
802
|
+
composeSingleLayerMediumColor,
|
|
803
|
+
estimateSingleLayerPathLength,
|
|
804
|
+
integrateSingleLayerMedium,
|
|
805
|
+
type MediumVector3,
|
|
806
|
+
resolveSingleLayerMediumBackground,
|
|
807
|
+
type SingleLayerMediumBackgroundCandidate,
|
|
808
|
+
type SingleLayerMediumBackgroundInput,
|
|
809
|
+
type SingleLayerMediumBackgroundReason,
|
|
810
|
+
type SingleLayerMediumBackgroundResolution,
|
|
811
|
+
type SingleLayerMediumCoefficients,
|
|
812
|
+
type SingleLayerMediumOptics,
|
|
813
|
+
} from './transmission/single-layer-medium.js';
|
|
629
814
|
export {
|
|
630
815
|
hasVolumetricFogCapability,
|
|
631
816
|
type IntegratedVolumeResource,
|
|
@@ -638,12 +823,14 @@ export {
|
|
|
638
823
|
type VolumetricFogLightResolution,
|
|
639
824
|
} from './volume/capability.js';
|
|
640
825
|
export {
|
|
826
|
+
MAX_VOLUMETRIC_FOG_OWNERS,
|
|
641
827
|
type ValidatedVolumetricFog,
|
|
642
828
|
type VolumeBounds,
|
|
643
829
|
type VolumeDensityBinding,
|
|
644
830
|
VolumetricFog,
|
|
645
831
|
type VolumetricFogAuthoring,
|
|
646
832
|
type VolumetricFogLightSelection,
|
|
833
|
+
VolumetricFogSamplingValue,
|
|
647
834
|
validateVolumetricFog,
|
|
648
835
|
} from './volume/component.js';
|
|
649
836
|
export { extractVolumetricFog, type VolumetricFogExtract } from './volume/extract.js';
|
package/src/inspection-types.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* extract/record dependency graph.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { type BarrelDistortionMapping, freezeBarrelDistortionMapping } from './barrel-distortion';
|
|
7
8
|
import type { DirectionalShadowFilterLabel } from './components/directional-shadow-filter';
|
|
8
9
|
import type {
|
|
9
10
|
GpuDrivenPreparationErrorCode,
|
|
@@ -13,6 +14,7 @@ import type { DepthOfFieldRequestFailure } from './features/depth-of-field/depth
|
|
|
13
14
|
import type { PointsLinesInspection } from './points-lines/inspection';
|
|
14
15
|
import type { LodOcclusionInspection } from './scene/visibility/inspection';
|
|
15
16
|
import type { SsrAdmissionIdentity } from './ssr/identity';
|
|
17
|
+
import type { SurfaceGpuIndirectParameters } from './surface/submission-observation';
|
|
16
18
|
|
|
17
19
|
export type {
|
|
18
20
|
LodOcclusionInspection,
|
|
@@ -144,6 +146,31 @@ export interface BatchTopologyInspection {
|
|
|
144
146
|
readonly membershipAllocations?: number;
|
|
145
147
|
readonly candidateAdds?: number;
|
|
146
148
|
readonly candidateRemoves?: number;
|
|
149
|
+
/** Distinct resource classes represented by this topology. */
|
|
150
|
+
readonly resourceClassCount?: number;
|
|
151
|
+
/** Resource-class groups; range/page changes do not create a new class. */
|
|
152
|
+
readonly resourceClassSplits?: readonly {
|
|
153
|
+
readonly resourceIdentity: string;
|
|
154
|
+
readonly batchIds: readonly number[];
|
|
155
|
+
readonly candidateCount: number;
|
|
156
|
+
}[];
|
|
157
|
+
/** Reasons emitted only when more than one resource class is present. */
|
|
158
|
+
readonly resourceClassSplitReasons?: readonly string[];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/** Logical Engine allocation facts; physical VRAM residency is intentionally unknown. */
|
|
162
|
+
export interface GpuResourceAllocationInspection {
|
|
163
|
+
readonly unit: 'engine-allocation-bytes';
|
|
164
|
+
readonly physicalResidency: 'unknown';
|
|
165
|
+
readonly liveBytes: number;
|
|
166
|
+
readonly pendingRetirementBytes: number;
|
|
167
|
+
readonly peakBytes: number;
|
|
168
|
+
readonly successfulAllocationCount: number;
|
|
169
|
+
readonly successfulAllocationBytes: number;
|
|
170
|
+
readonly pendingRetirementCount: number;
|
|
171
|
+
readonly retiredBytes: number;
|
|
172
|
+
readonly failedAllocationRollbacks: number;
|
|
173
|
+
readonly failedAllocationRollbackBytes: number;
|
|
147
174
|
}
|
|
148
175
|
|
|
149
176
|
/**
|
|
@@ -203,6 +230,49 @@ export interface RenderFeatureGraphInspection {
|
|
|
203
230
|
};
|
|
204
231
|
}
|
|
205
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Detached output-space barrel facts for the most recently accepted picture.
|
|
235
|
+
* The mapping, extent, and generation fields are one context; consumers must
|
|
236
|
+
* discard the whole projection when its device or frame is retired.
|
|
237
|
+
*/
|
|
238
|
+
export interface BarrelDistortionInspection {
|
|
239
|
+
readonly effectiveMapping: BarrelDistortionMapping | undefined;
|
|
240
|
+
readonly extent: { readonly width: number; readonly height: number } | undefined;
|
|
241
|
+
readonly frameId: number;
|
|
242
|
+
readonly deviceGeneration: number;
|
|
243
|
+
readonly graphGeneration: number;
|
|
244
|
+
readonly lastKnownGood: boolean;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export interface BarrelDistortionInspectionInput {
|
|
248
|
+
readonly effectiveMapping: BarrelDistortionMapping | undefined;
|
|
249
|
+
readonly frameId: number;
|
|
250
|
+
readonly deviceGeneration: number;
|
|
251
|
+
readonly graphGeneration: number;
|
|
252
|
+
readonly lastKnownGood: boolean;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/** Project one immutable, public barrel frame context. */
|
|
256
|
+
export function projectBarrelDistortionInspection(
|
|
257
|
+
input: BarrelDistortionInspectionInput,
|
|
258
|
+
): BarrelDistortionInspection {
|
|
259
|
+
const effectiveMapping =
|
|
260
|
+
input.effectiveMapping === undefined
|
|
261
|
+
? undefined
|
|
262
|
+
: freezeBarrelDistortionMapping(input.effectiveMapping);
|
|
263
|
+
return Object.freeze({
|
|
264
|
+
effectiveMapping,
|
|
265
|
+
extent:
|
|
266
|
+
effectiveMapping === undefined
|
|
267
|
+
? undefined
|
|
268
|
+
: Object.freeze({ width: effectiveMapping.width, height: effectiveMapping.height }),
|
|
269
|
+
frameId: input.frameId,
|
|
270
|
+
deviceGeneration: input.deviceGeneration,
|
|
271
|
+
graphGeneration: input.graphGeneration,
|
|
272
|
+
lastKnownGood: input.lastKnownGood,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
|
|
206
276
|
/** Detached material texture-source probe accounting for the last extract. */
|
|
207
277
|
export interface MaterialTextureSourceInspection {
|
|
208
278
|
readonly sourceFieldsVisited: number;
|
|
@@ -299,6 +369,7 @@ export type GpuDrivenLane = 'gpu' | 'cpu-semantic' | 'cpu-deformation' | 'blocke
|
|
|
299
369
|
/** Closed, machine-readable reasons for a lane decision or recovery state. */
|
|
300
370
|
export type GpuDrivenLaneReason =
|
|
301
371
|
| 'none'
|
|
372
|
+
| 'reflection-fallback-mrt'
|
|
302
373
|
| 'capability'
|
|
303
374
|
| 'unsupported'
|
|
304
375
|
| 'resource-not-ready'
|
|
@@ -354,6 +425,25 @@ export interface GpuDrivenStructureMetrics {
|
|
|
354
425
|
}
|
|
355
426
|
|
|
356
427
|
export interface GpuDrivenProductionInspection {
|
|
428
|
+
/** Exact producer-selected Surface artifact prepared for the last candidate. */
|
|
429
|
+
readonly surfaceArtifact?: {
|
|
430
|
+
readonly material: string;
|
|
431
|
+
readonly specializationKey: string | undefined;
|
|
432
|
+
readonly variantSet: string | undefined;
|
|
433
|
+
readonly layoutIdentity: string;
|
|
434
|
+
readonly receiptIdentity: string;
|
|
435
|
+
readonly receiptGeneration: number;
|
|
436
|
+
readonly directEntry: string;
|
|
437
|
+
readonly sceneIndexEntry: string;
|
|
438
|
+
};
|
|
439
|
+
/** Lifetime count of Surface member-to-frame projections rebuilt after a topology change. */
|
|
440
|
+
readonly surfaceFrameRangeBuilds: number;
|
|
441
|
+
/** Lifetime count of admitted Surface members visited while rebuilding that projection. */
|
|
442
|
+
readonly surfaceFrameMemberScans: number;
|
|
443
|
+
/** Lifetime count of 48-byte Surface frame rows materialized for an actual GPU write. */
|
|
444
|
+
readonly surfaceFrameRowAllocations: number;
|
|
445
|
+
/** Lifetime count of writes to the one renderer-owned shared Surface frame-time value. */
|
|
446
|
+
readonly surfaceFrameTimeWrites: number;
|
|
357
447
|
/** Lifetime count of successful producer-side residency validation scans. */
|
|
358
448
|
readonly residencyValidationScans: number;
|
|
359
449
|
/** Lifetime count of validation rows reused without a CPU residency walk. */
|
|
@@ -408,6 +498,22 @@ export interface GpuDrivenProductionInspection {
|
|
|
408
498
|
readonly retryCount: number;
|
|
409
499
|
/** Generation of the last fully submitted GPU candidate, if any. */
|
|
410
500
|
readonly lastKnownGoodGeneration: number | undefined;
|
|
501
|
+
/** Aggregate logical allocation facts from available GPU-driven owners. */
|
|
502
|
+
readonly resourceAllocation?: GpuResourceAllocationInspection;
|
|
503
|
+
/** Per-owner facts; absent owners remain unavailable rather than zero-filled. */
|
|
504
|
+
readonly resourceAllocationOwners?: {
|
|
505
|
+
readonly gpuDrivenView?: GpuResourceAllocationInspection;
|
|
506
|
+
readonly materialRaster?: GpuResourceAllocationInspection;
|
|
507
|
+
readonly skinRaster?: GpuResourceAllocationInspection;
|
|
508
|
+
};
|
|
509
|
+
/** Resource-class split facts derived from batch.key.resourceIdentity. */
|
|
510
|
+
readonly resourceClassCount?: number;
|
|
511
|
+
readonly resourceClassSplitReasons?: readonly string[];
|
|
512
|
+
readonly resourceClassSplits?: readonly {
|
|
513
|
+
readonly resourceIdentity: string;
|
|
514
|
+
readonly batchIds: readonly number[];
|
|
515
|
+
readonly candidateCount: number;
|
|
516
|
+
}[];
|
|
411
517
|
}
|
|
412
518
|
|
|
413
519
|
export type DirectionalShadowEffectiveProfile =
|
|
@@ -698,6 +804,62 @@ export interface PersistentRenderSceneInspection {
|
|
|
698
804
|
| { readonly status: 'error' };
|
|
699
805
|
/** Bounded retained authoring observations; no graph or backend handles. */
|
|
700
806
|
readonly pointsLines: readonly PointsLinesInspection[];
|
|
807
|
+
/** Last actually encoded Surface work, fenced by the renderer submission owner. */
|
|
808
|
+
readonly submission?: {
|
|
809
|
+
readonly sequence: number;
|
|
810
|
+
readonly frameId: number;
|
|
811
|
+
readonly requestedLane: 'direct' | 'gpu-driven';
|
|
812
|
+
readonly actualLane: 'direct' | 'gpu-driven';
|
|
813
|
+
/** Current-frame topology fact when a normal GPU lane was intentionally bypassed. */
|
|
814
|
+
readonly actualLaneReason?: GpuDrivenLaneReason;
|
|
815
|
+
readonly deviceGeneration: number;
|
|
816
|
+
readonly graphGeneration: number;
|
|
817
|
+
readonly viewIdentity: 'main:0';
|
|
818
|
+
readonly resourceGeneration: number | undefined;
|
|
819
|
+
readonly status: 'submitted' | 'completed';
|
|
820
|
+
readonly passes: readonly {
|
|
821
|
+
readonly pass: 'nearest-layer' | 'color';
|
|
822
|
+
/** Total commands actually encoded, including rows beyond the bounded sample. */
|
|
823
|
+
readonly commandCount: number;
|
|
824
|
+
readonly totalCommandCount: number;
|
|
825
|
+
readonly savedCommandCount: number;
|
|
826
|
+
readonly droppedCommandCount: number;
|
|
827
|
+
readonly truncated: boolean;
|
|
828
|
+
readonly memberEvidence:
|
|
829
|
+
| 'direct-command-members'
|
|
830
|
+
| 'direct-command-members-truncated'
|
|
831
|
+
| 'indirect-readback-required'
|
|
832
|
+
| 'indirect-visible-readback'
|
|
833
|
+
| 'indirect-visible-readback-truncated';
|
|
834
|
+
readonly memberIds?: readonly string[];
|
|
835
|
+
/** Decoded GPU command words bound to this submission/readback fence. */
|
|
836
|
+
readonly indirectParameters?: readonly SurfaceGpuIndirectParameters[];
|
|
837
|
+
readonly commands: readonly (
|
|
838
|
+
| {
|
|
839
|
+
readonly kind: 'draw' | 'draw-indexed';
|
|
840
|
+
readonly count: number;
|
|
841
|
+
readonly first: number;
|
|
842
|
+
readonly instanceCount: number;
|
|
843
|
+
readonly firstInstance: number;
|
|
844
|
+
readonly surfaceFrameBase: number;
|
|
845
|
+
readonly memberIds: readonly string[];
|
|
846
|
+
readonly pipelineIdentity: number;
|
|
847
|
+
readonly programEvidence: 'producer-receipt' | 'missing';
|
|
848
|
+
readonly receiptIdentity?: string;
|
|
849
|
+
readonly receiptGeneration?: number;
|
|
850
|
+
}
|
|
851
|
+
| {
|
|
852
|
+
readonly kind: 'draw-indirect' | 'draw-indexed-indirect';
|
|
853
|
+
readonly indirectBufferIdentity: number;
|
|
854
|
+
readonly indirectOffset: number;
|
|
855
|
+
readonly pipelineIdentity: number;
|
|
856
|
+
readonly programEvidence: 'producer-receipt' | 'missing';
|
|
857
|
+
readonly receiptIdentity?: string;
|
|
858
|
+
readonly receiptGeneration?: number;
|
|
859
|
+
}
|
|
860
|
+
)[];
|
|
861
|
+
}[];
|
|
862
|
+
};
|
|
701
863
|
}
|
|
702
864
|
|
|
703
865
|
export type RenderSceneInspection = PersistentRenderSceneInspection & {
|
|
@@ -23,15 +23,15 @@ import type { GpuBuffer } from './gpu-resource';
|
|
|
23
23
|
* and routes dispose through the RHI shim's destroy bookkeeping SSOT. The
|
|
24
24
|
* two `uploaded*` fields are the cache invalidation fingerprint -- when the
|
|
25
25
|
* archetype version bumps or the byte length changes, the record stage
|
|
26
|
-
* allocates a fresh GpuBuffer and replaces the entry.
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* allocates a fresh GpuBuffer and replaces the entry. World-authored Instances
|
|
27
|
+
* use renderer-private projection identity; sprite/fold snapshots use entity
|
|
28
|
+
* identity. Neither cache key is an authoring handle.
|
|
29
29
|
*/
|
|
30
30
|
export interface InstanceBufferCacheEntry {
|
|
31
31
|
readonly buffer: GpuBuffer;
|
|
32
32
|
readonly uploadedByteLength: number;
|
|
33
33
|
readonly uploadedArchVersion: number;
|
|
34
|
-
/**
|
|
34
|
+
/** Accepted instance-projection revision uploaded into this buffer. */
|
|
35
35
|
readonly uploadedRevision?: number;
|
|
36
36
|
}
|
|
37
37
|
|