@forgeax/engine-render 0.1.19 → 0.1.21
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 +215 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/assembly/device-feature-admission.d.ts +18 -0
- package/dist/assembly/device-feature-admission.d.ts.map +1 -0
- package/dist/assembly/directional-shadow-inspection.d.ts +38 -0
- package/dist/assembly/directional-shadow-inspection.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +34 -20
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +9 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/render-target-host.d.ts +46 -0
- package/dist/assembly/render-target-host.d.ts.map +1 -0
- package/dist/assets/render-asset-port.d.ts.map +1 -1
- package/dist/authoring.mjs +3 -0
- package/dist/authoring.mjs.map +1 -1
- package/dist/capture/cube-views.d.ts +21 -0
- package/dist/capture/cube-views.d.ts.map +1 -0
- package/dist/capture/scheduler.d.ts +54 -0
- package/dist/capture/scheduler.d.ts.map +1 -0
- package/dist/{chunk-RJRUS55L.mjs → chunk-5YADUCA7.mjs} +1896 -1624
- package/dist/chunk-5YADUCA7.mjs.map +1 -0
- package/dist/{chunk-LOSO4CTV.mjs → chunk-6OPXDQ2E.mjs} +423 -46
- package/dist/chunk-6OPXDQ2E.mjs.map +1 -0
- package/dist/{chunk-IPXCABEP.mjs → chunk-BXBQQKFQ.mjs} +3 -9
- package/dist/chunk-BXBQQKFQ.mjs.map +1 -0
- package/dist/chunk-FS2KNUQH.mjs +1294 -0
- package/dist/chunk-FS2KNUQH.mjs.map +1 -0
- package/dist/components/camera.d.ts +1 -0
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/cube-camera.d.ts +20 -0
- package/dist/components/cube-camera.d.ts.map +1 -0
- package/dist/components/directional-light.d.ts +11 -2
- package/dist/components/directional-light.d.ts.map +1 -1
- package/dist/components/directional-shadow-filter.d.ts +25 -0
- package/dist/components/directional-shadow-filter.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/reflection-probe.d.ts +17 -0
- package/dist/components/reflection-probe.d.ts.map +1 -0
- package/dist/components/spot-light.d.ts +12 -0
- package/dist/components/spot-light.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +8552 -1612
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +19 -2
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/environment/frame.d.ts.map +1 -1
- package/dist/environment/lifecycle.d.ts +5 -0
- package/dist/environment/lifecycle.d.ts.map +1 -1
- package/dist/errors/render.d.ts +209 -93
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/directional-shadow-projection.d.ts +23 -0
- package/dist/extract/directional-shadow-projection.d.ts.map +1 -0
- package/dist/extract/environment.d.ts +14 -0
- package/dist/extract/environment.d.ts.map +1 -1
- package/dist/extract/visibility.d.ts.map +1 -1
- package/dist/features/fullscreen.d.ts.map +1 -1
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +10 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +13 -2
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +0 -1
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/gpu-usage.d.ts +2 -0
- package/dist/gpu-usage.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +19 -17
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +4 -0
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/kernel-cache.d.ts +36 -0
- package/dist/ibl/kernel-cache.d.ts.map +1 -0
- package/dist/index.d.ts +35 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +51 -0
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/instances-derived-bounds.d.ts +50 -0
- package/dist/instances-derived-bounds.d.ts.map +1 -0
- package/dist/internal.mjs +1 -1
- package/dist/light-buffer-layout.d.ts +30 -13
- package/dist/light-buffer-layout.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +54 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +20 -7
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts +2 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/errors.d.ts +4 -0
- package/dist/pipeline/standard-lighting/errors.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/graph.d.ts +24 -0
- package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/inspection.d.ts +38 -0
- package/dist/pipeline/standard-lighting/inspection.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/layout.d.ts +28 -0
- package/dist/pipeline/standard-lighting/layout.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/light-frame.d.ts +33 -0
- package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/membership.d.ts +14 -0
- package/dist/pipeline/standard-lighting/membership.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/prepare.d.ts +16 -0
- package/dist/pipeline/standard-lighting/prepare.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/topology.d.ts +45 -0
- package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -0
- package/dist/pipeline/standard-lighting/transport.d.ts +36 -0
- package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -0
- package/dist/pipeline/standard-pipeline.d.ts +4 -13
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline/standard-profile.d.ts +12 -20
- package/dist/pipeline/standard-profile.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts +40 -7
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/point-shadow-inspection.d.ts +21 -0
- package/dist/point-shadow-inspection.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +29 -32
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +65 -15
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts +5 -0
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +12 -5
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-pass-timing/contract.d.ts +96 -0
- package/dist/record/gpu-pass-timing/contract.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/errors.d.ts +18 -0
- package/dist/record/gpu-pass-timing/errors.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/index.d.ts +8 -0
- package/dist/record/gpu-pass-timing/index.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/parser.d.ts +11 -0
- package/dist/record/gpu-pass-timing/parser.d.ts.map +1 -0
- package/dist/record/gpu-pass-timing/session.d.ts +43 -0
- package/dist/record/gpu-pass-timing/session.d.ts.map +1 -0
- package/dist/record/gpu-timing.d.ts +37 -0
- package/dist/record/gpu-timing.d.ts.map +1 -0
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +23 -2
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +2 -0
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +48 -3
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +81 -5
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +7 -4
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/reflection/filter.d.ts +22 -0
- package/dist/reflection/filter.d.ts.map +1 -0
- package/dist/reflection/gpu-table.d.ts +25 -0
- package/dist/reflection/gpu-table.d.ts.map +1 -0
- package/dist/reflection/projection.d.ts +91 -0
- package/dist/reflection/projection.d.ts.map +1 -0
- package/dist/render-contract.d.ts +114 -7
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-data.d.ts +10 -6
- package/dist/render-data.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts +1 -0
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +78 -2
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +113 -20
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +24 -3
- package/dist/render-system.d.ts.map +1 -1
- package/dist/renderer-inspect.d.ts +29 -0
- package/dist/renderer-inspect.d.ts.map +1 -0
- package/dist/renderer.d.ts +43 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/scene/render-scene.d.ts +14 -0
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/shadow-atlas.d.ts +3 -3
- package/dist/shadow-atlas.d.ts.map +1 -1
- package/dist/ssao-buffers.d.ts +3 -0
- package/dist/ssao-buffers.d.ts.map +1 -1
- package/dist/targets/contracts.d.ts +66 -0
- package/dist/targets/contracts.d.ts.map +1 -0
- package/dist/targets/graph-projection.d.ts +29 -0
- package/dist/targets/graph-projection.d.ts.map +1 -0
- package/dist/targets/material-source.d.ts +34 -0
- package/dist/targets/material-source.d.ts.map +1 -0
- package/dist/targets/owner.d.ts +32 -0
- package/dist/targets/owner.d.ts.map +1 -0
- package/dist/targets/physical.d.ts +18 -0
- package/dist/targets/physical.d.ts.map +1 -0
- package/dist/targets/readback.d.ts +39 -0
- package/dist/targets/readback.d.ts.map +1 -0
- package/dist/temporal/frame.d.ts +44 -0
- package/dist/temporal/frame.d.ts.map +1 -0
- package/dist/temporal/index.mjs +3 -3
- package/dist/typed-render-graph-primitives.d.ts +6 -1
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-atlas.d.ts +10 -0
- package/dist/typed-shadow-atlas.d.ts.map +1 -0
- package/dist/typed-shadow-passes.d.ts +1 -1
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/dist/volume/capability.d.ts +57 -0
- package/dist/volume/capability.d.ts.map +1 -0
- package/dist/volume/component.d.ts +61 -0
- package/dist/volume/component.d.ts.map +1 -0
- package/dist/volume/extract.d.ts +11 -0
- package/dist/volume/extract.d.ts.map +1 -0
- package/dist/volume/inspection.d.ts +38 -0
- package/dist/volume/inspection.d.ts.map +1 -0
- package/dist/volume/passes.d.ts +38 -0
- package/dist/volume/passes.d.ts.map +1 -0
- package/dist/volume/recovery.d.ts +38 -0
- package/dist/volume/recovery.d.ts.map +1 -0
- package/dist/volume/resources.d.ts +57 -0
- package/dist/volume/resources.d.ts.map +1 -0
- package/dist/volume/temporal.d.ts +35 -0
- package/dist/volume/temporal.d.ts.map +1 -0
- package/package.json +20 -20
- package/src/__tests__/bloom-exact-zero.unit.test.ts +48 -19
- package/src/__tests__/bloom-lifecycle.integration.test.ts +41 -13
- package/src/__tests__/camera-target-consumption.unit.test.ts +53 -0
- package/src/__tests__/cluster-binner.unit.test.ts +35 -0
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +7 -2
- package/src/__tests__/cube-camera-scheduler.unit.test.ts +70 -0
- package/src/__tests__/cube-camera-single-submit.perf.test.ts +75 -0
- package/src/__tests__/cube-camera-view-matrices.unit.test.ts +41 -0
- package/src/__tests__/cube-camera-vocabulary.unit.test.ts +47 -0
- package/src/__tests__/cube-camera.integration.test.ts +42 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +73 -0
- package/src/__tests__/direct-light-snapshot.unit.test.ts +3 -3
- package/src/__tests__/docs-gate-green.unit.test.ts +38 -0
- package/src/__tests__/factory-contract.integration.test.ts +255 -29
- package/src/__tests__/fog-component.unit.test.ts +67 -0
- package/src/__tests__/fog.integration.test.ts +86 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +37 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +10 -9
- package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +17 -1
- package/src/__tests__/gpu-driven-production.integration.test.ts +16 -17
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +12 -4
- package/src/__tests__/gpu-pass-timing-browser-runner.ts +281 -0
- package/src/__tests__/gpu-pass-timing-coexistence.integration.test.ts +80 -0
- package/src/__tests__/gpu-pass-timing-contract.unit.test.ts +243 -0
- package/src/__tests__/gpu-pass-timing-exact-zero.unit.test.ts +131 -0
- package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +230 -0
- package/src/__tests__/gpu-pass-timing-observation.unit.test.ts +233 -0
- package/src/__tests__/gpu-pass-timing-session.unit.test.ts +438 -0
- package/src/__tests__/gpu-pass-timing.browser.test.ts +26 -0
- package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +125 -0
- package/src/__tests__/hdrp-group2-visibility.unit.test.ts +24 -0
- package/src/__tests__/instances-culling.integration.test.ts +94 -0
- package/src/__tests__/instances-derived-bounds.unit.test.ts +118 -0
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +14 -14
- package/src/__tests__/material-observation.integration.test.ts +101 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -1
- package/src/__tests__/pbr-view-layout.unit.test.ts +16 -0
- package/src/__tests__/point-shadow-inspection.unit.test.ts +60 -0
- package/src/__tests__/public-surface.test-d.ts +10 -0
- package/src/__tests__/reflection-probe-authoring.unit.test.ts +71 -0
- package/src/__tests__/reflection-probe-filter.unit.test.ts +54 -0
- package/src/__tests__/reflection-probe-ibl-topology.unit.test.ts +45 -0
- package/src/__tests__/reflection-probe-pass-encode.integration.test.ts +101 -0
- package/src/__tests__/reflection-probe-performance.perf.test.ts +60 -0
- package/src/__tests__/reflection-probe-recovery.integration.test.ts +55 -0
- package/src/__tests__/reflection-probe-selection.unit.test.ts +46 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +23 -3
- package/src/__tests__/render-feature-docs.unit.test.ts +1 -1
- package/src/__tests__/render-target-admission.unit.test.ts +80 -0
- package/src/__tests__/render-target-graph-projection.unit.test.ts +102 -0
- package/src/__tests__/render-target-inspection.unit.test.ts +52 -0
- package/src/__tests__/render-target-material-source.test-d.ts +30 -0
- package/src/__tests__/render-target-material-source.unit.test.ts +97 -0
- package/src/__tests__/render-target-owner-placement.unit.test.ts +203 -0
- package/src/__tests__/render-target-owner.unit.test.ts +122 -0
- package/src/__tests__/render-target-probe-soak.perf.test.ts +94 -0
- package/src/__tests__/render-target-public-schema.json +107 -0
- package/src/__tests__/render-target-public-schema.unit.test.ts +91 -0
- package/src/__tests__/render-target-public-surface.test-d.ts +83 -0
- package/src/__tests__/render-target-readback.integration.test.ts +90 -0
- package/src/__tests__/render-target-recovery.integration.test.ts +85 -0
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +76 -0
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +1 -1
- package/src/__tests__/renderer-lifecycle.integration.test.ts +14 -0
- package/src/__tests__/shader-stage-surface.unit.test.ts +19 -4
- package/src/__tests__/skin-motion-regression.unit.test.ts +132 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +32 -2
- package/src/__tests__/standard-cluster-capability.integration.test.ts +63 -0
- package/src/__tests__/standard-cluster-transport.unit.test.ts +121 -0
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +232 -0
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +8 -5
- package/src/__tests__/standard-lighting-inspection.integration.test.ts +138 -0
- package/src/__tests__/standard-lighting-ssot.unit.test.ts +18 -0
- package/src/__tests__/standard-lighting-write.unit.test.ts +377 -0
- package/src/__tests__/standard-lighting.integration.test.ts +67 -0
- package/src/__tests__/standard-pipeline.dawn.test.ts +206 -5
- package/src/__tests__/standard-pipeline.integration.test.ts +181 -150
- package/src/__tests__/standard-probe-binding.unit.test.ts +25 -0
- package/src/__tests__/standard-profile-oracle.unit.test.ts +23 -36
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +395 -14
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +2 -2
- package/src/__tests__/visibility-resolver.unit.test.ts +15 -0
- package/src/__tests__/volume-optics-oracle.unit.test.ts +85 -0
- package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +655 -0
- package/src/__tests__/volumetric-fog-component.unit.test.ts +71 -0
- package/src/__tests__/volumetric-fog-composite-stage-readback.dawn.test.ts +376 -0
- package/src/__tests__/volumetric-fog-errors.unit.test.ts +51 -0
- package/src/__tests__/volumetric-fog-inspection.unit.test.ts +77 -0
- package/src/__tests__/volumetric-fog-light-capability.unit.test.ts +19 -0
- package/src/__tests__/volumetric-fog-light-consumers.integration.test.ts +18 -0
- package/src/__tests__/volumetric-fog-light-errors.unit.test.ts +17 -0
- package/src/__tests__/volumetric-fog-light-topology.unit.test.ts +21 -0
- package/src/__tests__/volumetric-fog-light-transaction.integration.test.ts +53 -0
- package/src/__tests__/volumetric-fog-m9-watcher.integration.test.ts +27 -0
- package/src/__tests__/volumetric-fog-point-light-owner.integration.test.ts +44 -0
- package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +49 -0
- package/src/__tests__/volumetric-fog-point-spot-contract.unit.test.ts +28 -0
- package/src/__tests__/volumetric-fog-point-spot-lkg.integration.test.ts +65 -0
- package/src/__tests__/volumetric-fog-point-spot-selection.integration.test.ts +49 -0
- package/src/__tests__/volumetric-fog-point-spot-temporal.unit.test.ts +55 -0
- package/src/__tests__/volumetric-fog-projector-contract.unit.test.ts +22 -0
- package/src/__tests__/volumetric-fog-projector-inspection.unit.test.ts +12 -0
- package/src/__tests__/volumetric-fog-projector-surface-volume.integration.test.ts +11 -0
- package/src/__tests__/volumetric-fog-projector-transaction.integration.test.ts +26 -0
- package/src/__tests__/volumetric-fog-recovery.integration.test.ts +47 -0
- package/src/__tests__/volumetric-fog-selected-light-resolution.integration.test.ts +63 -0
- package/src/__tests__/volumetric-fog-spot-closure.integration.test.ts +26 -0
- package/src/__tests__/volumetric-fog-spot-contract.test-d.ts +21 -0
- package/src/__tests__/volumetric-fog-spot-contract.unit.test.ts +27 -0
- package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +14 -0
- package/src/__tests__/volumetric-fog-spot-optics.integration.test.ts +29 -0
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +550 -0
- package/src/__tests__/volumetric-fog-temporal-selected-light.unit.test.ts +33 -0
- package/src/__tests__/volumetric-fog-temporal.unit.test.ts +45 -0
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +237 -0
- package/src/__tests__/volumetric-fog-transparent.integration.test.ts +27 -0
- package/src/assembly/device-feature-admission.ts +73 -0
- package/src/assembly/directional-shadow-inspection.ts +122 -0
- package/src/assembly/factory.ts +1093 -246
- package/src/assembly/host-contract.ts +25 -0
- package/src/assembly/render-target-host.ts +847 -0
- package/src/assets/asset-decoders.ts +1 -1
- package/src/assets/render-asset-port.ts +7 -1
- package/src/capture/cube-views.ts +69 -0
- package/src/capture/scheduler.ts +265 -0
- package/src/components/__tests__/schema-contract.unit.test.ts +12 -0
- package/src/components/__tests__/schema-parity.unit.test.ts +9 -0
- package/src/components/camera.ts +4 -0
- package/src/components/cube-camera.ts +52 -0
- package/src/components/directional-light.ts +22 -2
- package/src/components/directional-shadow-filter.ts +57 -0
- package/src/components/index.ts +2 -0
- package/src/components/light-helpers.ts +85 -7
- package/src/components/reflection-probe.ts +49 -0
- package/src/components/spot-light.ts +22 -3
- package/src/device/gpu-residency.ts +168 -58
- package/src/environment/frame.ts +6 -24
- package/src/environment/lifecycle.ts +12 -0
- package/src/errors/render.ts +405 -143
- package/src/extract/directional-shadow-projection.ts +61 -0
- package/src/extract/environment.ts +57 -0
- package/src/extract/visibility.ts +25 -1
- package/src/features/fullscreen.ts +3 -0
- package/src/features/targets.ts +4 -1
- package/src/features/types.ts +10 -0
- package/src/fullscreen-post-process-pass.ts +43 -2
- package/src/gpu-driven/batch-topology.ts +1 -0
- package/src/gpu-driven/production-raster.ts +1 -3
- package/src/gpu-scene.ts +8 -1
- package/src/gpu-usage.ts +2 -0
- package/src/hdrp-buffers.ts +165 -59
- package/src/ibl/IblPipelineCache.ts +11 -0
- package/src/ibl/kernel-cache.ts +88 -0
- package/src/index.ts +186 -1
- package/src/inspection-types.ts +56 -0
- package/src/instances-derived-bounds.ts +171 -0
- package/src/light-buffer-layout.ts +74 -26
- package/src/mesh-material-bindings.ts +132 -0
- package/src/pbr-pipeline.ts +139 -27
- package/src/pipeline/standard-forward-lane.ts +65 -15
- package/src/pipeline/standard-lighting/errors.ts +6 -0
- package/src/pipeline/standard-lighting/graph.ts +157 -0
- package/src/pipeline/standard-lighting/inspection.ts +88 -0
- package/src/pipeline/standard-lighting/layout.ts +31 -0
- package/src/pipeline/standard-lighting/light-frame.ts +34 -0
- package/src/pipeline/standard-lighting/membership.ts +43 -0
- package/src/pipeline/standard-lighting/prepare.ts +37 -0
- package/src/pipeline/standard-lighting/topology.ts +120 -0
- package/src/pipeline/standard-lighting/transport.ts +77 -0
- package/src/pipeline/standard-pipeline.ts +141 -192
- package/src/pipeline/standard-post.ts +26 -7
- package/src/pipeline/standard-profile.ts +23 -30
- package/src/pipeline-spec.ts +84 -21
- package/src/point-shadow-inspection.ts +55 -0
- package/src/record/__tests__/temporal-payload.unit.test.ts +42 -1
- package/src/record/__tests__/transparent-group2-selection.unit.test.ts +73 -0
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +40 -0
- package/src/record/frame-lighting.ts +470 -516
- package/src/record/frame-snapshot.ts +76 -28
- package/src/record/frame-targets.ts +23 -2
- package/src/record/frame.ts +1169 -79
- package/src/record/gpu-pass-timing/contract.ts +180 -0
- package/src/record/gpu-pass-timing/errors.ts +34 -0
- package/src/record/gpu-pass-timing/index.ts +37 -0
- package/src/record/gpu-pass-timing/parser.ts +97 -0
- package/src/record/gpu-pass-timing/session.ts +938 -0
- package/src/record/gpu-timing.ts +233 -0
- package/src/record/main-pass-geometry.ts +120 -80
- package/src/record/main-pass-material.ts +101 -11
- package/src/record/main-pass-sprite-draws.ts +54 -25
- package/src/record/main-pass.ts +71 -15
- package/src/record/render-context.ts +77 -0
- package/src/record/shadow-pass.ts +104 -66
- package/src/record/skybox-post-pass.ts +20 -4
- package/src/record/typed-frame-graph.ts +1016 -32
- package/src/record/view-ubo.ts +63 -28
- package/src/reflection/filter.ts +81 -0
- package/src/reflection/gpu-table.ts +44 -0
- package/src/reflection/projection.ts +281 -0
- package/src/render-contract.ts +147 -4
- package/src/render-data.ts +50 -22
- package/src/render-graph-primitives.ts +9 -4
- package/src/render-pipeline.ts +161 -2
- package/src/render-system-extract.ts +886 -103
- package/src/render-system.ts +1174 -66
- package/src/renderer-inspect.ts +66 -0
- package/src/renderer.ts +222 -0
- package/src/scene/render-scene.ts +117 -9
- package/src/shadow-atlas.ts +5 -5
- package/src/ssao-buffers.ts +9 -2
- package/src/targets/contracts.ts +182 -0
- package/src/targets/graph-projection.ts +169 -0
- package/src/targets/material-source.ts +143 -0
- package/src/targets/owner.ts +214 -0
- package/src/targets/physical.ts +18 -0
- package/src/targets/readback.ts +153 -0
- package/src/temporal/frame.ts +128 -0
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +61 -23
- package/src/typed-render-graph-primitives.ts +34 -2
- package/src/typed-shadow-atlas.ts +17 -0
- package/src/typed-shadow-passes.ts +47 -40
- package/src/volume/capability.ts +173 -0
- package/src/volume/component.ts +110 -0
- package/src/volume/extract.ts +21 -0
- package/src/volume/inspection.ts +78 -0
- package/src/volume/passes.ts +686 -0
- package/src/volume/recovery.ts +86 -0
- package/src/volume/resources.ts +236 -0
- package/src/volume/temporal.ts +89 -0
- package/dist/chunk-IPXCABEP.mjs.map +0 -1
- package/dist/chunk-LOSO4CTV.mjs.map +0 -1
- package/dist/chunk-RJRUS55L.mjs.map +0 -1
- package/dist/chunk-YTQ5C7YQ.mjs +0 -584
- package/dist/chunk-YTQ5C7YQ.mjs.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { ReflectionProbeUpdateIntent } from '../components/reflection-probe';
|
|
2
|
+
export declare const REFLECTION_PROBE_BYTES_PER_TEXEL = 8;
|
|
3
|
+
export declare const DEFAULT_REFLECTION_PROBE_LIMITS: Readonly<{
|
|
4
|
+
maxProbes: 16;
|
|
5
|
+
maxResolution: 256;
|
|
6
|
+
maxBytes: number;
|
|
7
|
+
}>;
|
|
8
|
+
export interface ReflectionProbeInput {
|
|
9
|
+
readonly halfExtents: readonly [number, number, number];
|
|
10
|
+
readonly priority: number;
|
|
11
|
+
readonly intensity: number;
|
|
12
|
+
readonly resolution: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ReflectionProbeFact extends ReflectionProbeInput {
|
|
15
|
+
readonly worldId: number;
|
|
16
|
+
readonly entityKey: number;
|
|
17
|
+
readonly center: readonly [number, number, number];
|
|
18
|
+
readonly revision: number;
|
|
19
|
+
readonly updateIntent?: ReflectionProbeUpdateIntent;
|
|
20
|
+
readonly invalidationVersion?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ReflectionProbeAdmissionLimits {
|
|
23
|
+
readonly maxProbes?: number;
|
|
24
|
+
readonly maxResolution?: number;
|
|
25
|
+
readonly maxBytes?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ReflectionProbeInvalidInput {
|
|
28
|
+
readonly code: 'reflection-probe-input-invalid';
|
|
29
|
+
readonly field: string;
|
|
30
|
+
readonly value: unknown;
|
|
31
|
+
readonly expected: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ReflectionProbeBudgetFailure {
|
|
34
|
+
readonly code: 'reflection-probe-budget-exceeded';
|
|
35
|
+
readonly requested: number;
|
|
36
|
+
readonly activeCount: number;
|
|
37
|
+
readonly activeBytes: number;
|
|
38
|
+
readonly maxProbes: number;
|
|
39
|
+
readonly maxBytes: number;
|
|
40
|
+
}
|
|
41
|
+
export type ReflectionProbeAdmission = {
|
|
42
|
+
readonly ok: true;
|
|
43
|
+
readonly acceptedBytes: number;
|
|
44
|
+
} | {
|
|
45
|
+
readonly ok: false;
|
|
46
|
+
readonly error: ReflectionProbeBudgetFailure;
|
|
47
|
+
};
|
|
48
|
+
export declare function validateReflectionProbeInput(input: ReflectionProbeInput): {
|
|
49
|
+
readonly ok: true;
|
|
50
|
+
} | {
|
|
51
|
+
readonly ok: false;
|
|
52
|
+
readonly error: ReflectionProbeInvalidInput;
|
|
53
|
+
};
|
|
54
|
+
export declare function estimateReflectionProbeBytes(resolution: number, limits?: ReflectionProbeAdmissionLimits): number;
|
|
55
|
+
export declare function admitReflectionProbe(input: ReflectionProbeInput, current: {
|
|
56
|
+
readonly acceptedCount: number;
|
|
57
|
+
readonly acceptedBytes: number;
|
|
58
|
+
}, limits?: ReflectionProbeAdmissionLimits): ReflectionProbeAdmission;
|
|
59
|
+
export interface ReflectionProbeSelection {
|
|
60
|
+
readonly kind: 'probe';
|
|
61
|
+
readonly worldId: number;
|
|
62
|
+
readonly entityKey: number;
|
|
63
|
+
readonly normalizedDistance: number;
|
|
64
|
+
}
|
|
65
|
+
export interface SkylightSelection {
|
|
66
|
+
readonly kind: 'skylight';
|
|
67
|
+
}
|
|
68
|
+
export type ReflectionProbeSelectionResult = ReflectionProbeSelection | SkylightSelection;
|
|
69
|
+
export declare function selectReflectionProbe(facts: readonly ReflectionProbeFact[], primitiveCenter: readonly [number, number, number]): ReflectionProbeSelectionResult;
|
|
70
|
+
export interface ReflectionProbePrimitive {
|
|
71
|
+
readonly worldId: number;
|
|
72
|
+
readonly entityKey: number;
|
|
73
|
+
readonly center: readonly [number, number, number];
|
|
74
|
+
}
|
|
75
|
+
export interface ReflectionProbeProjectionSnapshot {
|
|
76
|
+
readonly revision: number;
|
|
77
|
+
readonly facts: readonly ReflectionProbeFact[];
|
|
78
|
+
readonly selected: ReadonlyMap<string, ReflectionProbeSelectionResult>;
|
|
79
|
+
readonly scannedPrimitives: number;
|
|
80
|
+
}
|
|
81
|
+
export declare class ReflectionProbeProjection {
|
|
82
|
+
private revision;
|
|
83
|
+
private facts;
|
|
84
|
+
private selected;
|
|
85
|
+
private signature;
|
|
86
|
+
private scannedPrimitives;
|
|
87
|
+
update(facts: readonly ReflectionProbeFact[], primitives: readonly ReflectionProbePrimitive[]): ReflectionProbeProjectionSnapshot;
|
|
88
|
+
snapshot(): ReflectionProbeProjectionSnapshot;
|
|
89
|
+
selection(worldId: number, entityKey: number): ReflectionProbeSelectionResult;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/reflection/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAElF,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,+BAA+B;;;;EAI1C,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,kCAAkC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAA;CAAE,CAAC;AAEzE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,oBAAoB,GAC1B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAA;CAAE,CAiD7F;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,8BAAgE,GACvE,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAC3E,MAAM,GAAE,8BAAgE,GACvE,wBAAwB,CAuB1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG,iBAAiB,CAAC;AA8C1F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACjD,8BAA8B,CAahC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACvE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAMD,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,QAAQ,CAAqD;IACrE,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,iBAAiB,CAAK;IAE9B,MAAM,CACJ,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,UAAU,EAAE,SAAS,wBAAwB,EAAE,GAC9C,iCAAiC;IAoBpC,QAAQ,IAAI,iCAAiC;IAS7C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,8BAA8B;CAG9E"}
|
|
@@ -4,7 +4,7 @@ import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
|
|
|
4
4
|
import type { Vec3 } from '@forgeax/engine-math';
|
|
5
5
|
import type { ProfileFrameToken, Profiler } from '@forgeax/engine-profiler';
|
|
6
6
|
import type { ColorValueDomain, RenderGraphError } from '@forgeax/engine-render-graph';
|
|
7
|
-
import type { BindGroupLayout, Buffer, Result, RhiCanvasSurfacePresentationProof, RhiCaps, RhiCommandEncoder, RhiDevice, RhiError, RhiInstance, RhiRenderPassEncoder, RenderPipeline as RhiRenderPipeline, Texture, TextureFormat, TextureView } from '@forgeax/engine-rhi';
|
|
7
|
+
import type { BindGroupLayout, Buffer, Result, RhiCanvasSurfacePresentationProof, RhiCaps, RhiCommandEncoder, RhiDevice, RhiError, RhiInstance, RhiRenderPassEncoder, RenderPipeline as RhiRenderPipeline, Sampler, Texture, TextureFormat, TextureView } from '@forgeax/engine-rhi';
|
|
8
8
|
import type { SkinError } from '@forgeax/engine-skinning';
|
|
9
9
|
import type { ImageError } from '@forgeax/engine-types';
|
|
10
10
|
import type { RhiBackendInstrumentation } from './assembly/backend-contract';
|
|
@@ -13,14 +13,31 @@ import type { EnvironmentInspection } from './environment/inspection';
|
|
|
13
13
|
import type { RenderError } from './errors/render';
|
|
14
14
|
import type { RenderFeature, RenderFeatureDiagnostics } from './features/types';
|
|
15
15
|
import type { PostProcessShaderEntry } from './fullscreen-post-process-pass';
|
|
16
|
-
import type { BloomInspection, MotionBlurInspection, RenderSceneInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
|
|
16
|
+
import type { BloomInspection, DirectionalShadowInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
|
|
17
|
+
import type { RenderTarget, RenderTargetDescriptor, RenderTargetReadbackData, RenderTargetReadbackRequest, RenderTargetReadbackTicket, RenderTargetTextureSource, RenderTargetTextureSourceOptions } from './targets/contracts';
|
|
17
18
|
import type { TemporalInspection } from './temporal/inspection';
|
|
18
19
|
export type { TransmissionInspection } from './inspection-types';
|
|
19
20
|
export type { PointsLinesInspection } from './points-lines/inspection';
|
|
20
21
|
import type { MeshMaterialBindingObservation } from './mesh-material-bindings';
|
|
22
|
+
import type { StandardLightingInspection } from './pipeline/standard-lighting/inspection';
|
|
21
23
|
import type { StandardProfile } from './pipeline/standard-profile';
|
|
24
|
+
import type { PointShadowInspection } from './point-shadow-inspection';
|
|
22
25
|
import type { PostProcessError } from './post-process-errors';
|
|
26
|
+
import type { GpuPassTimingObservation, GpuPassTimingOptions } from './record/gpu-pass-timing/index.js';
|
|
27
|
+
import type { VolumeTimingObservation } from './record/gpu-timing';
|
|
23
28
|
import type { TemporalView } from './temporal/view';
|
|
29
|
+
import type { VolumetricFogInspection } from './volume/inspection';
|
|
30
|
+
export type { CubeCameraFace, CubeCameraUpdateIntent, } from './components/cube-camera';
|
|
31
|
+
export interface CubeCameraSnapshot {
|
|
32
|
+
readonly entityKey?: number;
|
|
33
|
+
readonly target: RenderTarget;
|
|
34
|
+
readonly position: readonly [number, number, number];
|
|
35
|
+
readonly near: number;
|
|
36
|
+
readonly far: number;
|
|
37
|
+
readonly updateIntent: import('./components/cube-camera').CubeCameraUpdateIntent;
|
|
38
|
+
readonly requestVersion: number;
|
|
39
|
+
readonly faceBudget: number;
|
|
40
|
+
}
|
|
24
41
|
export type RenderResult<T, E> = {
|
|
25
42
|
readonly ok: true;
|
|
26
43
|
readonly value: T;
|
|
@@ -40,6 +57,8 @@ export type RenderWorldLease = RenderReadLease;
|
|
|
40
57
|
export interface CameraSnapshot {
|
|
41
58
|
/** Stable ECS identity used by the frame plan's camera authority fact. */
|
|
42
59
|
readonly entityKey?: number;
|
|
60
|
+
/** Auxiliary logical target; physical views remain renderer-owned. */
|
|
61
|
+
readonly target?: RenderTarget;
|
|
43
62
|
/** World index supplied by the multi-world extract merge. */
|
|
44
63
|
readonly worldId?: number;
|
|
45
64
|
/** Camera-owned history generation forwarded into the frame plan. */
|
|
@@ -78,6 +97,8 @@ export interface CameraSnapshot {
|
|
|
78
97
|
}
|
|
79
98
|
/** Stable identity owned by the Standard feature host for output transform. */
|
|
80
99
|
export declare const STANDARD_OUTPUT_TRANSFORM_FEATURE_ID = "forgeax::standard::output-transform";
|
|
100
|
+
/** Stable identity for the special FXAA pass' per-frame output policy UBO. */
|
|
101
|
+
export declare const FXAA_POST_PROCESS_ID = "forgeax::post::fxaa";
|
|
81
102
|
export type { EnvironmentFrame, EnvironmentSource, FogFrame, FramePlan, } from './extract/environment';
|
|
82
103
|
export type { TemporalView } from './temporal/view';
|
|
83
104
|
/**
|
|
@@ -88,6 +109,14 @@ export type { TemporalView } from './temporal/view';
|
|
|
88
109
|
interface RenderPipelineStateView {
|
|
89
110
|
readonly format: TextureFormat;
|
|
90
111
|
readonly colorAttachmentFormat: TextureFormat;
|
|
112
|
+
/** Renderer-owned View UBO shared by Standard lighting, shadows, and fog. */
|
|
113
|
+
readonly viewUniformBuffer: Buffer;
|
|
114
|
+
/** Renderer-owned SpotLight std430 buffer shared by Standard and volume. */
|
|
115
|
+
readonly pointLightsBuffer: Buffer;
|
|
116
|
+
readonly spotLightsBuffer: Buffer;
|
|
117
|
+
/** Fallback resources keep the shared view layout valid when no projector is authored. */
|
|
118
|
+
readonly defaultWhiteTextureView: TextureView;
|
|
119
|
+
readonly defaultSampler: Sampler;
|
|
91
120
|
}
|
|
92
121
|
/**
|
|
93
122
|
* Narrow runtime capability consumed by typed graph primitives. The concrete
|
|
@@ -96,13 +125,20 @@ interface RenderPipelineStateView {
|
|
|
96
125
|
*/
|
|
97
126
|
interface RenderPipelineRuntime {
|
|
98
127
|
readonly device: RhiDevice;
|
|
128
|
+
/** Runtime-owned shader module factory used by built-in graph producers. */
|
|
129
|
+
readonly shaderModuleFactory?: {
|
|
130
|
+
createShaderModule(input: {
|
|
131
|
+
readonly code: string;
|
|
132
|
+
readonly label?: string | undefined;
|
|
133
|
+
}): import('@forgeax/engine-types').Result<import('@forgeax/engine-rhi').ShaderModule, RhiError>;
|
|
134
|
+
};
|
|
99
135
|
readonly errorRegistry: {
|
|
100
136
|
fire(error: RendererError): void;
|
|
101
137
|
};
|
|
102
138
|
readonly debugOverlay?: RenderDebugOverlay | undefined;
|
|
103
139
|
readonly lookupPostProcess?: (id: string) => PostProcessShaderEntry | undefined;
|
|
104
140
|
readonly getPostProcessParamsBuffer?: (id: string) => Buffer | undefined;
|
|
105
|
-
readonly getPostProcessPipeline?: (id: string, bgl: BindGroupLayout, colorFormat: GPUTextureFormat) => RhiRenderPipeline | null;
|
|
141
|
+
readonly getPostProcessPipeline?: (id: string, bgl: BindGroupLayout, colorFormat: GPUTextureFormat, entry?: PostProcessShaderEntry) => RhiRenderPipeline | null;
|
|
106
142
|
}
|
|
107
143
|
/**
|
|
108
144
|
* Render-owned declaration for an app-provided debug overlay. App owns the
|
|
@@ -132,6 +168,53 @@ export interface RenderPipelineContext {
|
|
|
132
168
|
readonly msaaActive: boolean;
|
|
133
169
|
readonly geometryColorResolveView: TextureView | null;
|
|
134
170
|
readonly ldrSpriteColorView: TextureView | null;
|
|
171
|
+
/** Renderer-owned volume resources prepared from the authored ECS snapshot. */
|
|
172
|
+
readonly volumetricFog?: VolumetricFogFrameContext;
|
|
173
|
+
/** Renderer-owned SpotLight projector resources, independent of fog. */
|
|
174
|
+
readonly spotLightProjector?: SpotLightProjectorFrameContext;
|
|
175
|
+
/** Build-time composed utility sources for the renderer-owned volume passes. */
|
|
176
|
+
readonly volumetricFogShaders?: VolumetricFogShaderSources;
|
|
177
|
+
}
|
|
178
|
+
/** Stable utility entry-point sources emitted by the shader manifest. */
|
|
179
|
+
export interface VolumetricFogShaderSources {
|
|
180
|
+
readonly inject: string;
|
|
181
|
+
readonly temporal: string;
|
|
182
|
+
readonly integrate: string;
|
|
183
|
+
readonly composite: string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* GPU resources for one validated volumetric-fog candidate. The record stage
|
|
187
|
+
* owns residency and parameter uploads; graph passes consume this narrow view
|
|
188
|
+
* and never reach into AssetRegistry or World.
|
|
189
|
+
*/
|
|
190
|
+
export interface VolumetricFogFrameContext {
|
|
191
|
+
readonly densityTexture: Texture;
|
|
192
|
+
readonly densityView: TextureView;
|
|
193
|
+
readonly paramsBuffer: Buffer;
|
|
194
|
+
readonly densityGeneration: number;
|
|
195
|
+
/** Accepted graph-owned history slot; null means first frame/reset. */
|
|
196
|
+
readonly historyReadSlot: 0 | 1 | null;
|
|
197
|
+
/** Pending graph-owned history slot; promoted only after queue.submit succeeds. */
|
|
198
|
+
readonly historyWriteSlot: 0 | 1;
|
|
199
|
+
readonly historyValid: boolean;
|
|
200
|
+
/** Accepted SpotLight projector resources resolved by the GPU residency owner. */
|
|
201
|
+
readonly projectorTexture?: Texture;
|
|
202
|
+
readonly projectorView?: TextureView;
|
|
203
|
+
readonly projectorSampler?: Sampler;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* GPU resources for the single surface SpotLight projector binding. The
|
|
207
|
+
* projector is a SpotLight-owned cookie and therefore remains available when
|
|
208
|
+
* volumetric fog is disabled; volume integration may reuse the same tuple.
|
|
209
|
+
*/
|
|
210
|
+
export interface SpotLightProjectorFrameContext {
|
|
211
|
+
readonly texture: Texture;
|
|
212
|
+
readonly view: TextureView;
|
|
213
|
+
readonly sampler: Sampler;
|
|
214
|
+
/** Spot-light index in ExtractedLights.spot for the accepted texture. */
|
|
215
|
+
readonly spotIndex?: number;
|
|
216
|
+
/** Unified Standard Cluster slot index (points precede spots). */
|
|
217
|
+
readonly lightSlotIndex?: number;
|
|
135
218
|
}
|
|
136
219
|
/**
|
|
137
220
|
* The sole public renderer contract. Concrete assembly stays behind the host;
|
|
@@ -140,6 +223,11 @@ export interface RenderPipelineContext {
|
|
|
140
223
|
export interface Renderer {
|
|
141
224
|
attach(world: World): RenderResult<RenderWorldLease, RenderError>;
|
|
142
225
|
draw(input: RenderFrameInput): RenderResult<FrameReceipt, RenderError>;
|
|
226
|
+
createRenderTarget(descriptor: RenderTargetDescriptor): RenderResult<RenderTarget, RenderError>;
|
|
227
|
+
resizeRenderTarget(target: RenderTarget, descriptor: RenderTargetDescriptor): RenderResult<void, RenderError>;
|
|
228
|
+
createRenderTargetTextureSource(target: RenderTarget, options: RenderTargetTextureSourceOptions): RenderResult<RenderTargetTextureSource, RenderError>;
|
|
229
|
+
requestTargetReadback(target: RenderTarget, request: RenderTargetReadbackRequest): RenderResult<RenderTargetReadbackTicket, RenderError>;
|
|
230
|
+
destroyRenderTarget(target: RenderTarget): RenderResult<void, RenderError>;
|
|
143
231
|
setProfile(profile: RenderProfile): RenderResult<void, RenderError>;
|
|
144
232
|
state(): RendererState;
|
|
145
233
|
inspect(): RenderInspection;
|
|
@@ -147,6 +235,7 @@ export interface Renderer {
|
|
|
147
235
|
subscribe(listener: (event: RendererEvent) => void): () => void;
|
|
148
236
|
releaseSurface(): RenderResult<void, RenderError>;
|
|
149
237
|
restoreSurface(): RenderResult<void, RenderError>;
|
|
238
|
+
/** Recover only from device-lost; a healthy renderer returns a guard error. */
|
|
150
239
|
recover(): Promise<RenderResult<void, RenderError>>;
|
|
151
240
|
dispose(): Promise<RenderResult<void, RenderError>>;
|
|
152
241
|
}
|
|
@@ -190,11 +279,12 @@ export interface FrameEnvironment {
|
|
|
190
279
|
}
|
|
191
280
|
/**
|
|
192
281
|
* Receipt-bound observation selection. The request is consumed by `observe`
|
|
193
|
-
* only with the matching FrameReceipt and returns a
|
|
194
|
-
* when the generation or frame identity is stale.
|
|
282
|
+
* only with the matching FrameReceipt after `receipt.completed` and returns a
|
|
283
|
+
* structured Result error when the generation or frame identity is stale.
|
|
195
284
|
*/
|
|
196
285
|
export interface FrameObservationRequest {
|
|
197
|
-
readonly include: readonly ('timings' | 'draws' | 'bindings')[];
|
|
286
|
+
readonly include: readonly ('timings' | 'draws' | 'bindings' | 'target-readbacks')[];
|
|
287
|
+
readonly targetReadbacks?: readonly RenderTargetReadbackTicket[];
|
|
198
288
|
}
|
|
199
289
|
/**
|
|
200
290
|
* Immutable synchronous proof that the sole host-owned submit reached the
|
|
@@ -222,7 +312,12 @@ export interface RenderFrameInput {
|
|
|
222
312
|
export interface FrameReceiptObservation {
|
|
223
313
|
readonly frameId: number;
|
|
224
314
|
readonly deviceGeneration: number;
|
|
225
|
-
readonly include: readonly ('timings' | 'draws' | 'bindings')[];
|
|
315
|
+
readonly include: readonly ('timings' | 'draws' | 'bindings' | 'target-readbacks')[];
|
|
316
|
+
/** Receipt-bound Render-owned GPU pass facts; absent when not requested. */
|
|
317
|
+
readonly timings?: GpuPassTimingObservation | undefined;
|
|
318
|
+
/** Receipt-bound volume GPU timing facts; absent when not requested. */
|
|
319
|
+
readonly volumeTimings?: VolumeTimingObservation | undefined;
|
|
320
|
+
readonly targetReadbacks?: readonly RenderTargetReadbackData[];
|
|
226
321
|
}
|
|
227
322
|
/** Stable backend facts for the Standard output transform projection. */
|
|
228
323
|
export interface RenderOutputInspection {
|
|
@@ -285,6 +380,8 @@ export interface RenderInspection {
|
|
|
285
380
|
readonly frameId: number;
|
|
286
381
|
readonly deviceGeneration: number;
|
|
287
382
|
};
|
|
383
|
+
/** Renderer-owned authored volume projection and submit/LKG state. */
|
|
384
|
+
readonly volumetricFog?: VolumetricFogInspection;
|
|
288
385
|
readonly features: readonly string[];
|
|
289
386
|
/** Truthful lifecycle facts for every registered declarative feature. */
|
|
290
387
|
readonly featureDiagnostics: readonly RenderFeatureDiagnostics[];
|
|
@@ -296,8 +393,13 @@ export interface RenderInspection {
|
|
|
296
393
|
readonly explicitlyHidden: number;
|
|
297
394
|
};
|
|
298
395
|
readonly renderScene: RenderSceneInspection;
|
|
396
|
+
readonly reflectionProbes: ReflectionProbeInspection;
|
|
299
397
|
/** Last completed transmission candidate facts, detached from GPU handles. */
|
|
300
398
|
readonly transmission?: TransmissionInspection;
|
|
399
|
+
/** Last prepared Standard transport facts, detached from GPU handles. */
|
|
400
|
+
readonly standardLighting?: StandardLightingInspection;
|
|
401
|
+
/** Renderer-owned point-shadow atlas budget facts from the last frame. */
|
|
402
|
+
readonly pointShadow?: PointShadowInspection;
|
|
301
403
|
readonly meshMaterialBindings: readonly MeshMaterialBindingObservation[];
|
|
302
404
|
readonly perFramePassNames: readonly string[];
|
|
303
405
|
readonly bindGroupCounts: {
|
|
@@ -318,6 +420,7 @@ export interface RenderInspection {
|
|
|
318
420
|
readonly environment: EnvironmentInspection;
|
|
319
421
|
readonly temporal: TemporalInspection;
|
|
320
422
|
readonly bloom: BloomInspection;
|
|
423
|
+
readonly directionalShadow: DirectionalShadowInspection;
|
|
321
424
|
/** Semantic Standard temporal target metadata; no graph or RHI handles. */
|
|
322
425
|
readonly temporalTarget?: TemporalTargetInspection;
|
|
323
426
|
/** Renderer-owned Motion Blur facts; absent when no component is active. */
|
|
@@ -427,8 +530,12 @@ export interface RendererOptions {
|
|
|
427
530
|
readonly standardProfile?: RenderProfile | undefined;
|
|
428
531
|
/** Explicit profiler capability shared by App and Render. */
|
|
429
532
|
readonly profiler?: Profiler | undefined;
|
|
533
|
+
/** Explicitly request timestamp-query for receipt-bound GPU profiling. */
|
|
534
|
+
readonly captureGpuTimings?: boolean | undefined;
|
|
430
535
|
/** Optional host-owned RHI lifecycle instrumentation, such as recording. */
|
|
431
536
|
readonly rhiInstrumentation?: RhiBackendInstrumentation | undefined;
|
|
537
|
+
/** Optional bounded GPU pass timing facts; this is not frame latency. */
|
|
538
|
+
readonly gpuPassTiming?: GpuPassTimingOptions | undefined;
|
|
432
539
|
/**
|
|
433
540
|
* M3 D-P4 escape hatch (feat-20260511-rhi-wgpu-impl): explicit
|
|
434
541
|
* `RhiInstance` injection bypasses the dynamic-import auto-select
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-contract.d.ts","sourceRoot":"","sources":["../src/render-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-contract.d.ts","sourceRoot":"","sources":["../src/render-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/render-data.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type VertexLayoutProjection } from '@forgeax/engine-geometry';
|
|
2
2
|
import { type Result } from '@forgeax/engine-rhi';
|
|
3
|
-
import { type AssetError, type MeshAsset, type Submesh, type TextureAsset } from '@forgeax/engine-types';
|
|
3
|
+
import { type AssetError, type MeshAsset, type Submesh, type TextureAsset, type TextureShape } from '@forgeax/engine-types';
|
|
4
4
|
/** Descriptor for a mesh's GPU vertex + index buffers (projected from POD). */
|
|
5
5
|
export interface MeshRenderData {
|
|
6
6
|
readonly vertexByteLength: number;
|
|
@@ -19,12 +19,16 @@ export interface MeshRenderData {
|
|
|
19
19
|
*/
|
|
20
20
|
readonly submeshes: readonly Submesh[];
|
|
21
21
|
}
|
|
22
|
-
/** Descriptor for a
|
|
22
|
+
/** Descriptor for a sampled texture's GPU resource (projected from POD). */
|
|
23
23
|
export interface TextureRenderData {
|
|
24
24
|
/** Logical width retained for existing projection consumers. */
|
|
25
25
|
readonly width: number;
|
|
26
26
|
/** Logical height retained for existing projection consumers. */
|
|
27
27
|
readonly height: number;
|
|
28
|
+
/** Authored shape; the residency layer must preserve this view dimension. */
|
|
29
|
+
readonly shape: TextureShape;
|
|
30
|
+
/** Array layers for `2d-array`, depth slices for `3d`, otherwise one. */
|
|
31
|
+
readonly depthOrArrayLayers: number;
|
|
28
32
|
/** Authored content extent; TextureAsset remains the logical asset SSOT. */
|
|
29
33
|
readonly logicalExtent: TextureExtent;
|
|
30
34
|
/** GPU allocation extent, derived from format + logicalExtent. */
|
|
@@ -36,10 +40,10 @@ export interface TextureRenderData {
|
|
|
36
40
|
readonly usage: number;
|
|
37
41
|
/**
|
|
38
42
|
* Row pitch for the BASE mip (level 0) the store passes to `writeTexture`.
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* The per-mip layout for a multi-level compressed
|
|
42
|
-
* {@link deriveMipUploadLayout}.
|
|
43
|
+
* Derived from the canonical texture layout, so format-specific uncompressed
|
|
44
|
+
* widths (for example R8 density) and block-compressed widths stay aligned
|
|
45
|
+
* with the upload contract. The per-mip layout for a multi-level compressed
|
|
46
|
+
* upload comes from {@link deriveMipUploadLayout}.
|
|
43
47
|
*/
|
|
44
48
|
readonly bytesPerRow: number;
|
|
45
49
|
/** True iff `format` is a block-compressed format (drives the store's upload arm). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-data.d.ts","sourceRoot":"","sources":["../src/render-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-data.d.ts","sourceRoot":"","sources":["../src/render-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,7 @@ export declare function encodeFullscreenPass(ctx: RenderPipelineContext, pass: R
|
|
|
71
71
|
readonly outputFormat: GPUTextureFormat;
|
|
72
72
|
readonly rawSwapchainOutput?: boolean | undefined;
|
|
73
73
|
readonly depthView?: TextureView | undefined;
|
|
74
|
+
readonly paramsOverride?: Uint8Array | undefined;
|
|
74
75
|
}): void;
|
|
75
76
|
export {};
|
|
76
77
|
//# sourceMappingURL=render-graph-primitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-graph-primitives.d.ts","sourceRoot":"","sources":["../src/render-graph-primitives.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAEV,oBAAoB,EAEpB,OAAO,EAEP,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAU7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI/D,KAAK,sBAAsB,GAAG,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG;IAC9E,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,aAAa,CAAC,EAAE;YACvB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;SACtE,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAqBF;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,sBAAsB,EACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,WAAW,GAAG,IAAI,CAuBpB;AAuHD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;CACrC;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,8BAA8B,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,oBAAoB,EAChC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,IAAI,CAiHN;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,8BAA8B,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,oBAAoB,EAChC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,IAAI,CA6GN;
|
|
1
|
+
{"version":3,"file":"render-graph-primitives.d.ts","sourceRoot":"","sources":["../src/render-graph-primitives.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAEV,oBAAoB,EAEpB,OAAO,EAEP,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAU7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI/D,KAAK,sBAAsB,GAAG,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG;IAC9E,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,aAAa,CAAC,EAAE;YACvB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;SACtE,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAqBF;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,sBAAsB,EACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,WAAW,GAAG,IAAI,CAuBpB;AAuHD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;CACrC;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,8BAA8B,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,oBAAoB,EAChC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,IAAI,CAiHN;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,8BAA8B,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,oBAAoB,EAChC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,IAAI,CA6GN;AAgTD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,qBAAqB,EAC1B,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE;IACL,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAClD,GACA,IAAI,CAeN"}
|
|
@@ -2,14 +2,39 @@ import type { ColorValueDomain, GraphAccess, GraphResourceResolver, GraphTexture
|
|
|
2
2
|
import type { BindGroup, RhiCaps, RhiError, RhiRenderPassEncoder, TextureFormat } from '@forgeax/engine-rhi';
|
|
3
3
|
import { type Result } from '@forgeax/engine-types';
|
|
4
4
|
import type { Tonemap } from './components/camera';
|
|
5
|
+
import type { DirectionalShadowFilterLabel } from './components/directional-shadow-filter';
|
|
5
6
|
import type { RenderError } from './errors/render';
|
|
6
7
|
import type { RenderFeatureTargetKind } from './features/targets';
|
|
8
|
+
import type { StandardTopologyInputValue } from './pipeline/standard-lighting/topology';
|
|
7
9
|
import { STANDARD_POST_STAGE_NAMES, type StandardProfile } from './pipeline/standard-profile';
|
|
8
10
|
import type { SurfaceProfile } from './record/render-context';
|
|
9
11
|
import type { RenderPipelineContext } from './render-contract';
|
|
10
12
|
import type { TransmissionDemand } from './transmission/projection';
|
|
11
13
|
export type { RenderPipelineContext } from './render-contract';
|
|
12
14
|
export type RenderColorDomain = 'linearHdr' | 'linearLdr' | 'displayEncoded';
|
|
15
|
+
/** Backend admission inputs used by the existing Render candidate owner. */
|
|
16
|
+
export interface DirectionalShadowBackendAdmissionInput {
|
|
17
|
+
readonly backendKind: 'webgpu' | 'wgpu-webgl2' | 'null';
|
|
18
|
+
readonly requested: 'off' | DirectionalShadowFilterLabel;
|
|
19
|
+
readonly candidate: 'accepted' | 'failed';
|
|
20
|
+
readonly lastKnownGood?: DirectionalShadowFilterLabel | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** Bounded, truthful Directional effective-profile projection. */
|
|
23
|
+
export interface DirectionalShadowBackendAdmission {
|
|
24
|
+
readonly requested: 'off' | DirectionalShadowFilterLabel;
|
|
25
|
+
readonly effective: 'off' | DirectionalShadowFilterLabel | 'rhi-null-structural';
|
|
26
|
+
readonly status: 'accepted' | 'fallback' | 'rejected';
|
|
27
|
+
readonly fallbackReason?: 'webgl2-unsupported' | 'rhi-null-structural' | 'candidate-failed';
|
|
28
|
+
readonly lastKnownGood: boolean;
|
|
29
|
+
readonly pixelEvidence: 'available' | 'not-available';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Resolve a Directional profile only after the selected production candidate
|
|
33
|
+
* has been admitted. WebGL2 and RhiNull are the sole declared fallbacks;
|
|
34
|
+
* capable candidate failure retains a compatible LKG and never silently maps
|
|
35
|
+
* a failed PCSS request to PCF.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveDirectionalShadowBackendAdmission(input: DirectionalShadowBackendAdmissionInput): DirectionalShadowBackendAdmission;
|
|
13
38
|
export interface ToneOutputContract {
|
|
14
39
|
readonly input: RenderColorDomain;
|
|
15
40
|
readonly toneMapped: boolean;
|
|
@@ -60,12 +85,49 @@ export interface RenderPipelineTopology {
|
|
|
60
85
|
readonly motionBlur: boolean;
|
|
61
86
|
};
|
|
62
87
|
readonly shadow: {
|
|
63
|
-
readonly
|
|
64
|
-
|
|
88
|
+
readonly directional: 'disabled' | {
|
|
89
|
+
readonly mapSize: number;
|
|
90
|
+
readonly cascadeCount: 1 | 2 | 3 | 4;
|
|
91
|
+
};
|
|
92
|
+
readonly spotMapSize: number;
|
|
65
93
|
readonly pointCount: number;
|
|
66
94
|
readonly pointFaceSize: number;
|
|
67
95
|
readonly spotCount: number;
|
|
68
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* Authored volume topology facts. Identity/generation/digest are runtime
|
|
99
|
+
* residency facts and deliberately do not participate in graph topology.
|
|
100
|
+
*/
|
|
101
|
+
readonly volumetricFog?: {
|
|
102
|
+
readonly enabled: boolean;
|
|
103
|
+
readonly lightKind?: 'directional' | 'point' | 'spot' | undefined;
|
|
104
|
+
readonly lightEntity?: number | undefined;
|
|
105
|
+
readonly pointLightEntity?: number | undefined;
|
|
106
|
+
readonly spotLightEntity?: number | undefined;
|
|
107
|
+
readonly projector?: {
|
|
108
|
+
readonly guid: string;
|
|
109
|
+
readonly generation: number;
|
|
110
|
+
readonly revision: number;
|
|
111
|
+
} | undefined;
|
|
112
|
+
readonly format?: TextureFormat | undefined;
|
|
113
|
+
readonly extent?: {
|
|
114
|
+
readonly width: number;
|
|
115
|
+
readonly height: number;
|
|
116
|
+
readonly depth: number;
|
|
117
|
+
} | undefined;
|
|
118
|
+
/** Renderer-owned froxel grid derived from the compiled surface extent. */
|
|
119
|
+
readonly froxelExtent?: {
|
|
120
|
+
readonly width: number;
|
|
121
|
+
readonly height: number;
|
|
122
|
+
readonly depth: number;
|
|
123
|
+
} | undefined;
|
|
124
|
+
/** Renderer-owned 2D resolve/history extent derived from the same profile. */
|
|
125
|
+
readonly resolvedExtent?: {
|
|
126
|
+
readonly width: number;
|
|
127
|
+
readonly height: number;
|
|
128
|
+
readonly depth: number;
|
|
129
|
+
} | undefined;
|
|
130
|
+
};
|
|
69
131
|
readonly lane: {
|
|
70
132
|
readonly compute: boolean;
|
|
71
133
|
readonly storageBuffer: boolean;
|
|
@@ -74,9 +136,13 @@ export interface RenderPipelineTopology {
|
|
|
74
136
|
};
|
|
75
137
|
readonly featureTopologySignature: string;
|
|
76
138
|
readonly gpuDrivenTopologySignature: string;
|
|
139
|
+
/** Stable Cluster transport/layout facts; excludes per-frame light payloads. */
|
|
140
|
+
readonly standardLightingTopologySignature?: string | undefined;
|
|
77
141
|
/** Internal graph fact; renderer callers do not configure transmission demand. */
|
|
78
142
|
readonly transmissionDemand?: TransmissionDemand | undefined;
|
|
79
143
|
}
|
|
144
|
+
/** Resolve the built-in final-output dither policy from the pipeline asset. */
|
|
145
|
+
export declare function resolveOutputDither(config: import('@forgeax/engine-types').RenderPipelineAsset['config']): boolean;
|
|
80
146
|
export interface RenderPipelineFrame extends RenderPipelineContext, RenderGraphFrame {
|
|
81
147
|
}
|
|
82
148
|
export interface RenderPipelineTarget {
|
|
@@ -93,6 +159,8 @@ export declare function importRenderPipelineSurface(graph: RenderGraphBuilder<Re
|
|
|
93
159
|
readonly storage: RenderPipelineTarget;
|
|
94
160
|
}, RenderGraphError>;
|
|
95
161
|
export interface RenderPipelineFeatureTarget {
|
|
162
|
+
/** Optional semantic alias when a pipeline exposes multiple color roles. */
|
|
163
|
+
readonly name?: string;
|
|
96
164
|
readonly kind: RenderFeatureTargetKind;
|
|
97
165
|
readonly texture: GraphTexture;
|
|
98
166
|
readonly view: GraphTextureView;
|
|
@@ -106,6 +174,12 @@ export interface RenderPipelineGpuDrivenProjection {
|
|
|
106
174
|
}
|
|
107
175
|
export interface RenderPipelineBuildContext<FrameCtx extends RenderPipelineFrame> {
|
|
108
176
|
readonly graph: RenderGraphBuilder<FrameCtx>;
|
|
177
|
+
/**
|
|
178
|
+
* The single prepared Standard lighting projection for this frame. The
|
|
179
|
+
* Forward and Deferred adapters consume this value; they never inspect raw
|
|
180
|
+
* light snapshots, cluster config, or capability facts themselves.
|
|
181
|
+
*/
|
|
182
|
+
readonly standardLighting?: StandardTopologyInputValue;
|
|
109
183
|
/**
|
|
110
184
|
* Renderer-owned capability facts needed for admission decisions. The
|
|
111
185
|
* Standard temporal producer must use the live device probe rather than
|
|
@@ -136,6 +210,8 @@ export interface RenderPipelineBuildContext<FrameCtx extends RenderPipelineFrame
|
|
|
136
210
|
readonly sampleCount: 1 | 4;
|
|
137
211
|
}): Result<RenderPipelineGpuDrivenProjection | undefined, RenderPipelineBuildError>;
|
|
138
212
|
contributeFeatures(targets: readonly RenderPipelineFeatureTarget[], semanticTargets?: readonly RenderPipelineTarget[], namedTargets?: Readonly<Record<string, RenderPipelineTarget>>): Result<void, RenderPipelineBuildError>;
|
|
213
|
+
/** Add renderer-owned cube capture work to the active pipeline graph. */
|
|
214
|
+
contributeCubeCaptures?(): Result<void, RenderPipelineBuildError>;
|
|
139
215
|
/** Whether a producer-owned feature is installed for this graph build. */
|
|
140
216
|
hasFeature?(identity: string): boolean;
|
|
141
217
|
}
|