@forgeax/engine-render 0.1.28 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +627 -124
- package/dist/assembly/atmosphere-shader-prewarm.d.ts +6 -0
- package/dist/assembly/atmosphere-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/dynamic-geometry-host.d.ts +21 -0
- package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
- package/dist/assembly/dynamic-geometry-runtime.d.ts +20 -0
- package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +3 -1
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/gpu-driven-owner.d.ts +10 -0
- package/dist/assembly/gpu-driven-owner.d.ts.map +1 -0
- package/dist/assembly/host-contract.d.ts +8 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +7 -0
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material-shader-policy.d.ts +3 -1
- package/dist/assembly/material-shader-policy.d.ts.map +1 -1
- package/dist/assembly/recovery/failure-location.d.ts +12 -0
- package/dist/assembly/recovery/failure-location.d.ts.map +1 -0
- package/dist/assembly/recovery/renderer-recover.d.ts +6 -4
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
- package/dist/assembly/renderer-facade.d.ts.map +1 -1
- package/dist/assembly/renderer-feature-inspection.d.ts +5 -0
- package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -0
- package/dist/assembly/renderer-frame-transaction.d.ts +19 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-helpers.d.ts +3 -0
- package/dist/assembly/renderer-helpers.d.ts.map +1 -1
- package/dist/assembly/renderer-inspection.d.ts +4 -0
- package/dist/assembly/renderer-inspection.d.ts.map +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts +6 -0
- package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -1
- package/dist/assembly/skin-palette-owner.d.ts +8 -0
- package/dist/assembly/skin-palette-owner.d.ts.map +1 -0
- package/dist/assembly/ssr-shader-prewarm.d.ts +6 -0
- package/dist/assembly/ssr-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/webgpu-device-loss.d.ts +15 -0
- package/dist/assembly/webgpu-device-loss.d.ts.map +1 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts +38 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready-mipmap.d.ts +11 -0
- package/dist/assembly/webgpu-ready-mipmap.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +7 -3
- package/dist/assembly/webgpu-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer-bootstrap.d.ts +10 -0
- package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-contract.d.ts +62 -0
- package/dist/assembly/webgpu-renderer-contract.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-guards.d.ts +9 -0
- package/dist/assembly/webgpu-renderer-guards.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-observation.d.ts +6 -0
- package/dist/assembly/webgpu-renderer-observation.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer-recovery-failure.d.ts +12 -0
- package/dist/assembly/webgpu-renderer-recovery-failure.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +7 -141
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
- package/dist/assembly/webgpu-vertex-layouts.d.ts +28 -84
- package/dist/assembly/webgpu-vertex-layouts.d.ts.map +1 -1
- package/dist/authoring.mjs +2 -2
- package/dist/{chunk-JAASCMXA.mjs → chunk-33XZFTQU.mjs} +245 -39
- package/dist/chunk-33XZFTQU.mjs.map +1 -0
- package/dist/{chunk-GF523LHF.mjs → chunk-BLXGONR2.mjs} +30 -12
- package/dist/chunk-BLXGONR2.mjs.map +1 -0
- package/dist/{chunk-J52NMQKR.mjs → chunk-BQVQOQJH.mjs} +1086 -838
- package/dist/chunk-BQVQOQJH.mjs.map +1 -0
- package/dist/{chunk-IQMKJLNU.mjs → chunk-BTWH7BP4.mjs} +386 -17
- package/dist/chunk-BTWH7BP4.mjs.map +1 -0
- package/dist/{chunk-MBU4ZVE7.mjs → chunk-FUODTTIA.mjs} +3921 -671
- package/dist/chunk-FUODTTIA.mjs.map +1 -0
- package/dist/{chunk-MYJ5RPJO.mjs → chunk-JQTSEI3Z.mjs} +3 -3
- package/dist/{chunk-MYJ5RPJO.mjs.map → chunk-JQTSEI3Z.mjs.map} +1 -1
- package/dist/{chunk-GE3SDD72.mjs → chunk-NICXSHAT.mjs} +16 -38
- package/dist/chunk-NICXSHAT.mjs.map +1 -0
- package/dist/{chunk-J6KACNOH.mjs → chunk-NRNXBLIJ.mjs} +577 -7
- package/dist/chunk-NRNXBLIJ.mjs.map +1 -0
- package/dist/{chunk-RBDBZ5R7.mjs → chunk-PA5DRJNI.mjs} +2 -2
- package/dist/chunk-PA5DRJNI.mjs.map +1 -0
- package/dist/{chunk-VSL23LZE.mjs → chunk-S4DNKQYQ.mjs} +1117 -445
- package/dist/chunk-S4DNKQYQ.mjs.map +1 -0
- package/dist/components/camera.d.ts +62 -2
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +6 -20
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/components/scene-instance.d.ts +2 -1
- package/dist/components/scene-instance.d.ts.map +1 -1
- package/dist/components/screen-space-reflection.d.ts +14 -0
- package/dist/components/screen-space-reflection.d.ts.map +1 -0
- package/dist/construct-renderer.mjs +12888 -7025
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +1 -12
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/environment/background.d.ts +6 -0
- package/dist/environment/background.d.ts.map +1 -0
- package/dist/errors/gpu-driven.d.ts +6 -3
- package/dist/errors/gpu-driven.d.ts.map +1 -1
- package/dist/errors/render.d.ts +7 -4
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/camera.d.ts.map +1 -1
- package/dist/extract/gpu-driven.d.ts +33 -3
- package/dist/extract/gpu-driven.d.ts.map +1 -1
- package/dist/features/host.d.ts +23 -1
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/noise-texture.d.ts +17 -0
- package/dist/features/noise-texture.d.ts.map +1 -0
- package/dist/features/plan.d.ts +83 -2
- package/dist/features/plan.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +37 -4
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/features/prepared-graphics.d.ts +5 -0
- package/dist/features/prepared-graphics.d.ts.map +1 -1
- package/dist/features/render-graph-compute.d.ts +5 -3
- package/dist/features/render-graph-compute.d.ts.map +1 -1
- package/dist/features/render-graph-contribution.d.ts +11 -3
- package/dist/features/render-graph-contribution.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +19 -3
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/types.d.ts +11 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +2 -0
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts +34 -1
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/pbr-program.d.ts +10 -0
- package/dist/gpu-driven/pbr-program.d.ts.map +1 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +144 -23
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/shadow-views.d.ts +126 -0
- package/dist/gpu-driven/shadow-views.d.ts.map +1 -0
- package/dist/gpu-driven/view-gpu.d.ts +18 -2
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-scene-schema.d.ts +2 -8
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +14 -0
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/gpu-texture-usage.d.ts +1 -0
- package/dist/gpu-texture-usage.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +6 -0
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/frame-resources.d.ts +8 -0
- package/dist/ibl/frame-resources.d.ts.map +1 -0
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +18 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +8 -8
- package/dist/inspection-types.d.ts +164 -0
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/instances-derived-bounds.d.ts +11 -0
- package/dist/instances-derived-bounds.d.ts.map +1 -1
- package/dist/instances.d.ts +89 -44
- package/dist/instances.d.ts.map +1 -1
- package/dist/internal.d.ts +3 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +117 -9
- package/dist/internal.mjs.map +1 -1
- package/dist/lifecycle.d.ts +2 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/material-row.d.ts +5 -0
- package/dist/material-row.d.ts.map +1 -0
- package/dist/materials.d.ts +15 -0
- package/dist/materials.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +21 -5
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-output/auto-exposure/capability.d.ts +12 -0
- package/dist/pipeline/standard-output/auto-exposure/capability.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts +70 -0
- package/dist/pipeline/standard-output/auto-exposure/gpu.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/graph.d.ts +75 -0
- package/dist/pipeline/standard-output/auto-exposure/graph.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts +111 -0
- package/dist/pipeline/standard-output/auto-exposure/inspection.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts +16 -0
- package/dist/pipeline/standard-output/auto-exposure/oracle.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/preset.d.ts +14 -0
- package/dist/pipeline/standard-output/auto-exposure/preset.d.ts.map +1 -0
- package/dist/pipeline/standard-output/auto-exposure/state.d.ts +46 -0
- package/dist/pipeline/standard-output/auto-exposure/state.d.ts.map +1 -0
- package/dist/pipeline/standard-output/color-transform.d.ts +27 -0
- package/dist/pipeline/standard-output/color-transform.d.ts.map +1 -0
- package/dist/pipeline/standard-output/graph.d.ts +15 -0
- package/dist/pipeline/standard-output/graph.d.ts.map +1 -0
- package/dist/pipeline/standard-output/lut-admission.d.ts +29 -0
- package/dist/pipeline/standard-output/lut-admission.d.ts.map +1 -0
- package/dist/pipeline/standard-output/lut-gpu.d.ts +48 -0
- package/dist/pipeline/standard-output/lut-gpu.d.ts.map +1 -0
- package/dist/pipeline/standard-output/lut-state.d.ts +68 -0
- package/dist/pipeline/standard-output/lut-state.d.ts.map +1 -0
- package/dist/pipeline/standard-output/resources.d.ts +10 -0
- package/dist/pipeline/standard-output/resources.d.ts.map +1 -0
- package/dist/pipeline/standard-output/types.d.ts +39 -0
- package/dist/pipeline/standard-output/types.d.ts.map +1 -0
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts +2 -2
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +2 -1
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec-types.d.ts +4 -0
- package/dist/pipeline-spec-types.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts +1 -9
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/points-lines/standard-owner.d.ts +1 -1
- package/dist/points-lines/standard-owner.d.ts.map +1 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts +6 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
- package/dist/record/dynamic-geometry-consumption.d.ts +15 -0
- package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +3 -3
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +106 -5
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +39 -4
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +7 -8
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +38 -1
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts +2 -10
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +12 -2
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +15 -6
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/prepared-material-bindings.d.ts +19 -0
- package/dist/record/prepared-material-bindings.d.ts.map +1 -0
- package/dist/record/recovery-pipeline.d.ts +2 -9
- package/dist/record/recovery-pipeline.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +74 -26
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts +62 -7
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts +1 -1
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +35 -7
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +1 -0
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/recovery/render-system-candidate.d.ts +10 -2
- package/dist/recovery/render-system-candidate.d.ts.map +1 -1
- package/dist/recovery/render-system-roots.d.ts +11 -0
- package/dist/recovery/render-system-roots.d.ts.map +1 -0
- package/dist/recovery/types.d.ts +76 -0
- package/dist/recovery/types.d.ts.map +1 -0
- package/dist/reflection/record-owner.d.ts +0 -2
- package/dist/reflection/record-owner.d.ts.map +1 -1
- package/dist/render-contract.d.ts +173 -30
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts +1 -0
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +64 -5
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +7 -5
- package/dist/render-system-extract-tail.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +101 -41
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system-projections.d.ts +22 -0
- package/dist/render-system-projections.d.ts.map +1 -0
- package/dist/render-system.d.ts +27 -77
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/render-scene-types.d.ts +14 -7
- package/dist/scene/render-scene-types.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +29 -11
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/scene/shadow-visibility.d.ts +5 -0
- package/dist/scene/shadow-visibility.d.ts.map +1 -0
- package/dist/ssr/admission.d.ts +70 -1
- package/dist/ssr/admission.d.ts.map +1 -1
- package/dist/ssr/compose.d.ts +13 -0
- package/dist/ssr/compose.d.ts.map +1 -0
- package/dist/ssr/errors.d.ts +35 -0
- package/dist/ssr/errors.d.ts.map +1 -1
- package/dist/ssr/graph.d.ts +60 -0
- package/dist/ssr/graph.d.ts.map +1 -0
- package/dist/ssr/history.d.ts +97 -0
- package/dist/ssr/history.d.ts.map +1 -0
- package/dist/ssr/hiz.d.ts +37 -0
- package/dist/ssr/hiz.d.ts.map +1 -0
- package/dist/ssr/inspection.d.ts +42 -0
- package/dist/ssr/inspection.d.ts.map +1 -0
- package/dist/ssr/resources.d.ts +58 -0
- package/dist/ssr/resources.d.ts.map +1 -0
- package/dist/ssr/temporal.d.ts +38 -0
- package/dist/ssr/temporal.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts +32 -10
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
- package/dist/systems/skin-palette-types.d.ts +15 -0
- package/dist/systems/skin-palette-types.d.ts.map +1 -1
- package/dist/systems/transparent-dispatch.d.ts +9 -0
- package/dist/systems/transparent-dispatch.d.ts.map +1 -0
- package/dist/targets/material-source.d.ts +7 -0
- package/dist/targets/material-source.d.ts.map +1 -1
- package/dist/temporal/frame-coordinator.d.ts +7 -0
- package/dist/temporal/frame-coordinator.d.ts.map +1 -1
- package/dist/temporal/gpu.d.ts +8 -0
- package/dist/temporal/gpu.d.ts.map +1 -1
- package/dist/temporal/history.d.ts.map +1 -1
- package/dist/temporal/index.mjs +6 -6
- package/dist/temporal/inspection.d.ts.map +1 -1
- package/dist/temporal/standard-scene-data.d.ts +2 -1
- package/dist/temporal/standard-scene-data.d.ts.map +1 -1
- package/dist/temporal/temporal-view.d.ts +2 -0
- package/dist/temporal/temporal-view.d.ts.map +1 -1
- package/dist/typed-render-graph-primitives.d.ts +35 -1
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-passes.d.ts +3 -1
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/dist/volume/temporal.d.ts +6 -0
- package/dist/volume/temporal.d.ts.map +1 -1
- package/package.json +21 -20
- package/src/__tests__/auto-exposure-gpu-evidence.ts +291 -0
- package/src/__tests__/auto-exposure-inspection.unit.test.ts +80 -0
- package/src/__tests__/auto-exposure-transaction.integration.test.ts +99 -0
- package/src/__tests__/auto-exposure.browser.test.ts +33 -0
- package/src/__tests__/auto-exposure.dawn.test.ts +33 -0
- package/src/__tests__/detached-inspection.integration.test.ts +5 -0
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +18 -0
- package/src/__tests__/device-scope-stale-matrix.unit.test.ts +18 -0
- package/src/__tests__/docs-gate-green.unit.test.ts +3 -3
- package/src/__tests__/factory-contract.integration.test.ts +67 -8
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +19 -0
- package/src/__tests__/feature-depth-input.dawn.test.ts +121 -0
- package/src/__tests__/feature-noise.unit.test.ts +38 -0
- package/src/__tests__/fixtures/taa-resolve-pinned-baseline.wgsl +301 -0
- package/src/__tests__/frame-camera-selection.unit.test.ts +131 -0
- package/src/__tests__/frame-plan-contract.unit.test.ts +24 -0
- package/src/__tests__/frame-targets.unit.test.ts +24 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +3 -0
- package/src/__tests__/gpu-driven-baseline.characterization.test.ts +79 -0
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +287 -6
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +122 -142
- package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +10 -1
- package/src/__tests__/gpu-driven-lod-cache.unit.test.ts +264 -0
- package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +349 -0
- package/src/__tests__/gpu-driven-pbr.dawn.test.ts +1417 -0
- package/src/__tests__/gpu-driven-pbr.integration.test.ts +21 -0
- package/src/__tests__/gpu-driven-production-fixture.ts +96 -0
- package/src/__tests__/gpu-driven-production.integration.test.ts +1075 -93
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +1 -3
- package/src/__tests__/gpu-driven-shadow-views.browser.test.ts +63 -0
- package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +294 -0
- package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +97 -0
- package/src/__tests__/gpu-driven-shadow-views.unit.test.ts +168 -0
- package/src/__tests__/gpu-driven-skin-contract.test-d.ts +11 -0
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +72 -20
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +30 -9
- package/src/__tests__/gpu-driven-view.unit.test.ts +159 -52
- package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -1
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +42 -0
- package/src/__tests__/gpu-scene-render-graph-gpu.ts +19 -5
- package/src/__tests__/gpu-scene.dawn.test.ts +40 -13
- package/src/__tests__/gpu-scene.unit.test.ts +559 -33
- package/src/__tests__/instances-culling.integration.test.ts +36 -10
- package/src/__tests__/instances-derived-bounds.unit.test.ts +54 -0
- package/src/__tests__/instances-store.unit.test.ts +242 -39
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +6 -0
- package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +13 -16
- package/src/__tests__/lut-lkg-transaction.integration.test.ts +122 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +5 -6
- package/src/__tests__/material-dispatch-shader-id.unit.test.ts +51 -0
- package/src/__tests__/material-lane-selection.unit.test.ts +60 -0
- package/src/__tests__/material-numeric-upload.unit.test.ts +53 -0
- package/src/__tests__/material-texture-handles.unit.test.ts +18 -0
- package/src/__tests__/material-texture-source.unit.test.ts +87 -0
- package/src/__tests__/materials-authoring-validation.unit.test.ts +41 -0
- package/src/__tests__/materials-standard-contract.unit.test.ts +52 -2
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +4 -0
- package/src/__tests__/normal-fallback.dawn.test.ts +122 -0
- package/src/__tests__/particle-material-input-layout.unit.test.ts +104 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +37 -3
- package/src/__tests__/pipeline-texture-specialization.unit.test.ts +138 -0
- package/src/__tests__/point-shadow-inspection.unit.test.ts +2 -0
- package/src/__tests__/prepared-gpu-driven-pbr-contract.test-d.ts +31 -0
- package/src/__tests__/prepared-gpu-driven-pbr-contract.unit.test.ts +39 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +35 -4
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +21 -0
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +6 -2
- package/src/__tests__/profiler-phase-catalog.test.ts +5 -0
- package/src/__tests__/public-surface.test-d.ts +3 -0
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +30 -12
- package/src/__tests__/reflection-fallback-async-publication.unit.test.ts +104 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +2 -1
- package/src/__tests__/render-error-code-owner.test-d.ts +4 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +22 -0
- package/src/__tests__/render-error-exhaustive.test-d.ts +15 -0
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +285 -2
- package/src/__tests__/render-feature-plan.unit.test.ts +245 -0
- package/src/__tests__/render-feature-shadow-order.unit.test.ts +228 -0
- package/src/__tests__/render-feature-zero-work.unit.test.ts +35 -1
- package/src/__tests__/render-graph-fallback.integration.test.ts +2 -2
- package/src/__tests__/render-owner-cohesion.unit.test.ts +55 -0
- package/src/__tests__/render-scene-mixed-updates.integration.test.ts +426 -0
- package/src/__tests__/render-scene-projection.unit.test.ts +914 -23
- package/src/__tests__/render-scene-resource-updates.integration.test.ts +214 -0
- package/src/__tests__/render-scene-skin-lifecycle.integration.test.ts +173 -0
- package/src/__tests__/render-scene-temporal-retry.unit.test.ts +133 -0
- package/src/__tests__/render-target-material-source.test-d.ts +27 -3
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +60 -0
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +923 -5
- package/src/__tests__/shader-manifest-fixture.ts +39 -0
- package/src/__tests__/skin-motion-regression.unit.test.ts +0 -33
- package/src/__tests__/skin-palette-persistent.integration.test.ts +28 -0
- package/src/__tests__/skin-palette-persistent.unit.test.ts +247 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +118 -14
- package/src/__tests__/specular-environment-scale.dawn.test.ts +156 -0
- package/src/__tests__/ssr-admission-matrix.integration.test.ts +7 -1
- package/src/__tests__/ssr-confidence-compose.unit.test.ts +84 -0
- package/src/__tests__/ssr-coordinate-oracle.unit.test.ts +28 -0
- package/src/__tests__/ssr-format-probe-gating.integration.test.ts +82 -0
- package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +91 -0
- package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +112 -0
- package/src/__tests__/ssr-gpu-dispatch.ts +946 -0
- package/src/__tests__/ssr-graph-topology.unit.test.ts +104 -0
- package/src/__tests__/ssr-history-filter.dawn.test.ts +198 -0
- package/src/__tests__/ssr-hit-color.dawn.test.ts +273 -0
- package/src/__tests__/ssr-hiz-odd-reduction.dawn.test.ts +569 -0
- package/src/__tests__/ssr-hiz-rescue.dawn.test.ts +279 -0
- package/src/__tests__/ssr-hiz.browser.test.ts +150 -0
- package/src/__tests__/ssr-hiz.dawn.test.ts +150 -0
- package/src/__tests__/ssr-hiz.unit.test.ts +56 -0
- package/src/__tests__/ssr-inspection.unit.test.ts +105 -0
- package/src/__tests__/ssr-memory-budget.unit.test.ts +45 -0
- package/src/__tests__/ssr-performance-sequence-aggregation.unit.test.ts +15 -0
- package/src/__tests__/ssr-public-surface.test-d.ts +37 -0
- package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +387 -0
- package/src/__tests__/ssr-reflection-mip-reducer.dawn.test.ts +309 -0
- package/src/__tests__/ssr-reprojection-probe.ts +90 -0
- package/src/__tests__/ssr-roughness-mip.dawn.test.ts +163 -0
- package/src/__tests__/ssr-shader-prewarm.unit.test.ts +59 -0
- package/src/__tests__/ssr-spatial.integration.test.ts +141 -0
- package/src/__tests__/ssr-stable-lattice.dawn.test.ts +475 -0
- package/src/__tests__/ssr-temporal-history.unit.test.ts +202 -0
- package/src/__tests__/ssr-texel-crossing.dawn.test.ts +448 -0
- package/src/__tests__/ssr-zero-work.integration.test.ts +87 -0
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +44 -12
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +29 -0
- package/src/__tests__/standard-output-chain-contract.unit.test.ts +99 -0
- package/src/__tests__/standard-output-chain.integration.test.ts +73 -0
- package/src/__tests__/standard-output-gpu-evidence.ts +205 -0
- package/src/__tests__/standard-output.browser.test.ts +15 -0
- package/src/__tests__/standard-output.dawn.test.ts +15 -0
- package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +38 -0
- package/src/__tests__/standard-pipeline.integration.test.ts +320 -3
- package/src/__tests__/standard-profile-oracle.unit.test.ts +22 -0
- package/src/__tests__/standard-surface-lighting.unit.test.ts +41 -0
- package/src/__tests__/standard-texture-specialization.dawn.test.ts +141 -0
- package/src/__tests__/surface-adjacent-regressions.integration.test.ts +6 -3
- package/src/__tests__/taa-coverage-edge.dawn.test.ts +193 -0
- package/src/__tests__/taa-history-clipping.dawn.test.ts +328 -0
- package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +778 -0
- package/src/__tests__/taa-stability-feedback.browser.test.ts +23 -0
- package/src/__tests__/taa-stability-feedback.dawn.test.ts +68 -0
- package/src/__tests__/taa-stability-feedback.ts +341 -0
- package/src/__tests__/temporal-history-lifecycle.unit.test.ts +49 -7
- package/src/__tests__/temporal-reset-matrix.unit.test.ts +9 -0
- package/src/__tests__/temporal-transaction.integration.test.ts +28 -0
- package/src/__tests__/texture-usage-surface.unit.test.ts +4 -2
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +109 -4
- package/src/__tests__/typed-scene-pass-material-cache.integration.test.ts +126 -0
- package/src/__tests__/vertex-layouts-ssot.unit.test.ts +47 -0
- package/src/__tests__/visibility-extract.perf.test.ts +20 -8
- package/src/__tests__/visibility-instances.integration.test.ts +19 -7
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +20 -9
- package/src/assembly/atmosphere-shader-prewarm.ts +38 -0
- package/src/assembly/dynamic-geometry-host.ts +48 -0
- package/src/assembly/dynamic-geometry-runtime.ts +71 -0
- package/src/assembly/factory.ts +4 -0
- package/src/assembly/gpu-driven-owner.ts +29 -0
- package/src/assembly/host-contract.ts +10 -0
- package/src/assembly/material/assembly.ts +38 -0
- package/src/assembly/material-shader-policy.ts +71 -28
- package/src/assembly/recovery/failure-location.ts +62 -0
- package/src/assembly/recovery/renderer-recover.ts +19 -17
- package/src/assembly/renderer-facade.ts +12 -0
- package/src/assembly/renderer-feature-inspection.ts +13 -0
- package/src/assembly/renderer-frame-transaction.ts +63 -0
- package/src/assembly/renderer-helpers.ts +26 -0
- package/src/assembly/renderer-inspection.ts +6 -0
- package/src/assembly/shader-prewarm-policy.ts +32 -0
- package/src/assembly/skin-palette-owner.ts +21 -0
- package/src/assembly/ssr-shader-prewarm.ts +41 -0
- package/src/assembly/webgpu-device-loss.ts +75 -0
- package/src/assembly/webgpu-pbr-ready.ts +232 -0
- package/src/assembly/webgpu-ready-mipmap.ts +26 -0
- package/src/assembly/webgpu-ready.ts +142 -121
- package/src/assembly/webgpu-renderer-bootstrap.ts +85 -0
- package/src/assembly/webgpu-renderer-contract.ts +69 -0
- package/src/assembly/webgpu-renderer-guards.ts +32 -0
- package/src/assembly/webgpu-renderer-observation.ts +43 -0
- package/src/assembly/webgpu-renderer-recovery-failure.ts +62 -0
- package/src/assembly/webgpu-renderer.ts +666 -652
- package/src/assembly/webgpu-vertex-layouts.ts +233 -87
- package/src/components/__tests__/camera-exposure.contract.unit.test.ts +153 -0
- package/src/components/camera.ts +287 -7
- package/src/components/index.ts +1 -0
- package/src/components/instances.ts +45 -18
- package/src/components/scene-instance.ts +2 -1
- package/src/components/screen-space-reflection.ts +21 -0
- package/src/components/sprite-animation.ts +2 -2
- package/src/components/sprite-instances.ts +1 -1
- package/src/device/gpu-residency.ts +34 -31
- package/src/environment/background.ts +263 -0
- package/src/errors/gpu-driven.ts +39 -5
- package/src/errors/render.ts +27 -3
- package/src/extract/camera.ts +26 -1
- package/src/extract/gpu-driven.ts +185 -10
- package/src/features/host.ts +237 -19
- package/src/features/noise-texture.ts +91 -0
- package/src/features/plan.ts +553 -24
- package/src/features/prepared-gpu-work.ts +631 -49
- package/src/features/prepared-graphics-store.ts +31 -0
- package/src/features/prepared-graphics.ts +5 -0
- package/src/features/render-graph-compute.ts +41 -8
- package/src/features/render-graph-contribution.ts +141 -3
- package/src/features/render-graph-raster.ts +143 -30
- package/src/features/types.ts +11 -0
- package/src/fullscreen-post-process-pass.ts +3 -0
- package/src/gpu-driven/batch-topology.ts +424 -102
- package/src/gpu-driven/pbr-program.ts +31 -0
- package/src/gpu-driven/prepared-draw.ts +29 -4
- package/src/gpu-driven/production-raster.ts +2267 -694
- package/src/gpu-driven/shadow-views.ts +539 -0
- package/src/gpu-driven/view-gpu.ts +188 -41
- package/src/gpu-scene-schema.ts +52 -11
- package/src/gpu-scene.ts +186 -99
- package/src/gpu-texture-usage.ts +1 -0
- package/src/hdrp-buffers.ts +72 -36
- package/src/ibl/frame-resources.ts +38 -0
- package/src/ibl/skylight-bind-group.ts +5 -4
- package/src/index.ts +109 -1
- package/src/inspection-types.ts +191 -0
- package/src/instances-derived-bounds.ts +258 -34
- package/src/instances.ts +459 -150
- package/src/internal.ts +22 -0
- package/src/lifecycle.ts +2 -0
- package/src/material-row.ts +145 -0
- package/src/materials.ts +44 -8
- package/src/pbr-pipeline.ts +159 -17
- package/src/pipeline/standard-forward-lane.ts +52 -24
- package/src/pipeline/standard-output/__tests__/lut-admission.unit.test.ts +103 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/capability.unit.test.ts +40 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/gpu.contract.unit.test.ts +125 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/graph.contract.unit.test.ts +94 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/oracle.test.ts +108 -0
- package/src/pipeline/standard-output/auto-exposure/__tests__/preset.test.ts +26 -0
- package/src/pipeline/standard-output/auto-exposure/capability.ts +38 -0
- package/src/pipeline/standard-output/auto-exposure/gpu.ts +567 -0
- package/src/pipeline/standard-output/auto-exposure/graph.ts +221 -0
- package/src/pipeline/standard-output/auto-exposure/inspection.ts +231 -0
- package/src/pipeline/standard-output/auto-exposure/oracle.ts +291 -0
- package/src/pipeline/standard-output/auto-exposure/preset.ts +28 -0
- package/src/pipeline/standard-output/auto-exposure/state.ts +156 -0
- package/src/pipeline/standard-output/color-transform.ts +124 -0
- package/src/pipeline/standard-output/graph.ts +139 -0
- package/src/pipeline/standard-output/lut-admission.ts +121 -0
- package/src/pipeline/standard-output/lut-gpu.ts +399 -0
- package/src/pipeline/standard-output/lut-state.ts +176 -0
- package/src/pipeline/standard-output/resources.ts +121 -0
- package/src/pipeline/standard-output/types.ts +58 -0
- package/src/pipeline/standard-pipeline.ts +192 -59
- package/src/pipeline/standard-post.ts +186 -27
- package/src/pipeline-builder.ts +16 -6
- package/src/pipeline-spec-types.ts +4 -0
- package/src/pipeline-spec.ts +37 -29
- package/src/points-lines/standard-owner.ts +6 -14
- package/src/prepare/prepared-graphics-resolver.ts +9 -2
- package/src/record/__tests__/material-slot-plan.unit.test.ts +48 -0
- package/src/record/__tests__/mesh-ssbo.unit.test.ts +40 -1
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +2 -29
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +36 -5
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +45 -0
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +5 -0
- package/src/record/dynamic-geometry-consumption.ts +59 -0
- package/src/record/frame-lighting.ts +12 -11
- package/src/record/frame-snapshot.ts +133 -23
- package/src/record/frame-targets.ts +9 -0
- package/src/record/frame.ts +725 -133
- package/src/record/main-pass-geometry.ts +149 -94
- package/src/record/main-pass-material.ts +115 -26
- package/src/record/main-pass-sprite-draws.ts +16 -107
- package/src/record/main-pass.ts +78 -8
- package/src/record/material-uniforms.ts +1 -1
- package/src/record/mesh-ssbo.ts +59 -15
- package/src/record/prepared-material-bindings.ts +234 -0
- package/src/record/recovery-pipeline.ts +59 -136
- package/src/record/render-context.ts +90 -22
- package/src/record/shadow-pass.ts +1231 -209
- package/src/record/skybox-post-pass.ts +14 -3
- package/src/record/typed-frame-graph.ts +1004 -44
- package/src/record/view-ubo.ts +11 -0
- package/src/recovery/render-system-candidate.ts +90 -66
- package/src/recovery/render-system-roots.ts +113 -0
- package/src/recovery/types.ts +77 -0
- package/src/reflection/record-owner.ts +26 -54
- package/src/render-contract.ts +195 -25
- package/src/render-graph-primitives.ts +6 -2
- package/src/render-pipeline.ts +70 -1
- package/src/render-system-extract-tail.ts +409 -160
- package/src/render-system-extract.ts +376 -102
- package/src/render-system-projections.ts +241 -0
- package/src/render-system.ts +681 -822
- package/src/scene/render-scene-types.ts +13 -4
- package/src/scene/render-scene.ts +569 -355
- package/src/scene/shadow-visibility.ts +21 -0
- package/src/ssr/admission.ts +380 -14
- package/src/ssr/compose.ts +144 -0
- package/src/ssr/errors.ts +48 -0
- package/src/ssr/graph.ts +777 -0
- package/src/ssr/history.ts +436 -0
- package/src/ssr/hiz.ts +124 -0
- package/src/ssr/inspection.ts +124 -0
- package/src/ssr/resources.ts +202 -0
- package/src/ssr/temporal.ts +164 -0
- package/src/systems/skin-palette-allocator.ts +495 -148
- package/src/systems/skin-palette-types.ts +17 -0
- package/src/systems/transparent-dispatch.ts +90 -0
- package/src/targets/material-source.ts +34 -0
- package/src/temporal/coverage.ts +1 -1
- package/src/temporal/frame-coordinator.ts +23 -2
- package/src/temporal/gpu.ts +74 -12
- package/src/temporal/history.ts +3 -1
- package/src/temporal/inspection.ts +2 -1
- package/src/temporal/standard-scene-data.ts +3 -1
- package/src/temporal/temporal-view.ts +3 -0
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +204 -139
- package/src/typed-render-graph-primitives.ts +266 -74
- package/src/typed-shadow-passes.ts +122 -12
- package/src/volume/temporal.ts +10 -0
- package/dist/chunk-GE3SDD72.mjs.map +0 -1
- package/dist/chunk-GF523LHF.mjs.map +0 -1
- package/dist/chunk-IQMKJLNU.mjs.map +0 -1
- package/dist/chunk-J52NMQKR.mjs.map +0 -1
- package/dist/chunk-J6KACNOH.mjs.map +0 -1
- package/dist/chunk-JAASCMXA.mjs.map +0 -1
- package/dist/chunk-MBU4ZVE7.mjs.map +0 -1
- package/dist/chunk-RBDBZ5R7.mjs.map +0 -1
- package/dist/chunk-VSL23LZE.mjs.map +0 -1
- package/src/__tests__/instances-world-ownership.integration.test.ts +0 -62
- package/src/scene/__tests__/changed-block-summary.candidate.test.ts +0 -36
package/dist/features/plan.d.ts
CHANGED
|
@@ -13,7 +13,18 @@ export type RenderFeatureResourceUsage = GraphBufferAccess | GraphTextureAccess;
|
|
|
13
13
|
* scene resources a custom material consumes. The render owner remains the
|
|
14
14
|
* source of truth for the shader source and its pipeline layout.
|
|
15
15
|
*/
|
|
16
|
-
export type RenderFeatureMaterialShaderBindingContract = 'group-0' | 'group-0-resource' | 'view-only' | 'view-and-scene-depth' | 'render-material';
|
|
16
|
+
export type RenderFeatureMaterialShaderBindingContract = 'group-0' | 'group-0-resource' | 'view-only' | 'view-and-scene-depth' | 'render-material-with-scene-depth' | 'render-material-and-scene-depth' | 'render-material';
|
|
17
|
+
/**
|
|
18
|
+
* Renderer-owned prepared resources that a closed RenderFeature data
|
|
19
|
+
* interface may consume for the current generation. The feature receives
|
|
20
|
+
* opaque references only; device creation and lifetime remain in Render.
|
|
21
|
+
*/
|
|
22
|
+
export interface RenderFeaturePreparedDataInterfaceResource {
|
|
23
|
+
readonly kind: 'buffer' | 'texture-view' | 'sampler';
|
|
24
|
+
readonly value: unknown;
|
|
25
|
+
readonly size?: number;
|
|
26
|
+
readonly usage?: 'uniform' | 'storage';
|
|
27
|
+
}
|
|
17
28
|
export type RenderFeatureFullscreenRead = string | {
|
|
18
29
|
readonly key: string;
|
|
19
30
|
readonly sampleType?: 'depth';
|
|
@@ -48,6 +59,24 @@ export type RenderFeatureResourceDeclaration = RenderFeatureFullscreenProgramDec
|
|
|
48
59
|
readonly size: number;
|
|
49
60
|
readonly usage: readonly RenderFeatureGpuBufferUsage[];
|
|
50
61
|
readonly data?: ArrayBufferView;
|
|
62
|
+
} | {
|
|
63
|
+
/** A resident generation-owned resource supplied by a render-owned provider. */
|
|
64
|
+
readonly kind: 'prepared-gpu-resource';
|
|
65
|
+
readonly name: string;
|
|
66
|
+
readonly resource: {
|
|
67
|
+
readonly kind: 'buffer';
|
|
68
|
+
readonly value: unknown;
|
|
69
|
+
readonly size: number;
|
|
70
|
+
readonly usage?: readonly RenderFeatureGpuBufferUsage[];
|
|
71
|
+
} | {
|
|
72
|
+
readonly kind: 'texture-view';
|
|
73
|
+
readonly value: unknown;
|
|
74
|
+
} | {
|
|
75
|
+
readonly kind: 'sampler';
|
|
76
|
+
readonly value: unknown;
|
|
77
|
+
};
|
|
78
|
+
/** Optional graph target that backs a resident sampled resource. */
|
|
79
|
+
readonly logicalTarget?: string;
|
|
51
80
|
} | {
|
|
52
81
|
readonly kind: 'compute-bindings';
|
|
53
82
|
readonly name: string;
|
|
@@ -130,6 +159,10 @@ export interface RenderFeatureDrawDeclaration {
|
|
|
130
159
|
readonly draw: RenderFeatureDraw;
|
|
131
160
|
}
|
|
132
161
|
export type RenderFeaturePassDeclaration = {
|
|
162
|
+
readonly kind: 'shadow-caster';
|
|
163
|
+
readonly name: string;
|
|
164
|
+
readonly draws: readonly RenderFeatureDrawDeclaration[];
|
|
165
|
+
} | {
|
|
133
166
|
readonly kind: 'compute';
|
|
134
167
|
readonly name: string;
|
|
135
168
|
readonly program: string;
|
|
@@ -177,6 +210,8 @@ export interface RenderFeaturePlanContext {
|
|
|
177
210
|
readonly sceneData: import('../temporal/scene-data-catalog').SceneDataCatalog;
|
|
178
211
|
/** Resolve a material shader's renderer-owned binding contract. */
|
|
179
212
|
readonly materialShaderBindingContract?: (materialShaderId: string) => RenderFeatureMaterialShaderBindingContract;
|
|
213
|
+
/** Renderer-owned camera/depth/noise resources for the current generation; undefined means unavailable this frame. */
|
|
214
|
+
readonly preparedDataInterfaces?: Readonly<Partial<Record<'camera' | 'scene-depth' | 'noise', RenderFeaturePreparedDataInterfaceResource | undefined>>>;
|
|
180
215
|
}
|
|
181
216
|
/** Frozen declaration produced for one feature in one frame. */
|
|
182
217
|
export interface RenderFeaturePlannedFrame {
|
|
@@ -189,8 +224,54 @@ export interface RenderFeatureDerivedAccess {
|
|
|
189
224
|
readonly resource: string;
|
|
190
225
|
readonly usage: RenderFeatureResourceUsage;
|
|
191
226
|
}
|
|
227
|
+
/** Detached accounting for the canonical plan signature path. */
|
|
228
|
+
export interface RenderFeaturePlanSignatureMetrics {
|
|
229
|
+
calls: number;
|
|
230
|
+
typedArrayBytes: number;
|
|
231
|
+
outputChars: number;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Detached structural evidence for one plan signature.
|
|
235
|
+
*
|
|
236
|
+
* The renderer validates a plan twice: once while the feature host records
|
|
237
|
+
* the candidate signature and again while the typed graph admits that
|
|
238
|
+
* candidate. Keeping a detached structural snapshot lets the second check
|
|
239
|
+
* avoid rebuilding a large string while still detecting mutations to the
|
|
240
|
+
* shallow-frozen plan. This is intentionally a structural cache, not an
|
|
241
|
+
* object-identity shortcut.
|
|
242
|
+
*/
|
|
243
|
+
export type RenderFeaturePlanSignatureNode = {
|
|
244
|
+
readonly kind: 'bytes';
|
|
245
|
+
readonly bytes: Uint8Array;
|
|
246
|
+
} | {
|
|
247
|
+
readonly kind: 'array';
|
|
248
|
+
readonly values: readonly (RenderFeaturePlanSignatureNode | undefined)[];
|
|
249
|
+
} | {
|
|
250
|
+
readonly kind: 'object';
|
|
251
|
+
readonly keys: readonly string[];
|
|
252
|
+
readonly values: readonly RenderFeaturePlanSignatureNode[];
|
|
253
|
+
} | {
|
|
254
|
+
readonly kind: 'primitive';
|
|
255
|
+
readonly token: string;
|
|
256
|
+
};
|
|
257
|
+
export interface RenderFeaturePlanSignatureSnapshot {
|
|
258
|
+
readonly resources: readonly RenderFeaturePlanSignatureNode[];
|
|
259
|
+
readonly passes: RenderFeaturePlanSignatureNode;
|
|
260
|
+
}
|
|
261
|
+
/** Build a detached, mutation-resistant topology snapshot for one plan. */
|
|
262
|
+
export declare function cloneRenderFeaturePlanSignatureSnapshot(plan: RenderFeaturePlan, previous?: RenderFeaturePlanSignatureSnapshot): RenderFeaturePlanSignatureSnapshot;
|
|
263
|
+
/** Exact structural equality against a detached signature snapshot. */
|
|
264
|
+
export declare function renderFeaturePlanSignatureSnapshotEquals(plan: RenderFeaturePlan, snapshot: RenderFeaturePlanSignatureSnapshot): boolean;
|
|
265
|
+
/** Associate a freshly produced plan with detached evidence for later validation. */
|
|
266
|
+
export declare function rememberRenderFeaturePlanSignature(plan: RenderFeaturePlan, signature: string, snapshot: RenderFeaturePlanSignatureSnapshot): void;
|
|
267
|
+
/**
|
|
268
|
+
* Validate an existing signature without serializing the plan again. A false
|
|
269
|
+
* result means the plan has no evidence or its nested data no longer matches;
|
|
270
|
+
* callers must then run the canonical serializer as the recovery path.
|
|
271
|
+
*/
|
|
272
|
+
export declare function renderFeaturePlanSignatureEvidenceMatches(plan: RenderFeaturePlan, signature: string): boolean;
|
|
192
273
|
/** Canonical signature used by typed-graph topology and last-known-good swap. */
|
|
193
|
-
export declare function renderFeaturePlanSignature(plan: RenderFeaturePlan): string;
|
|
274
|
+
export declare function renderFeaturePlanSignature(plan: RenderFeaturePlan, metrics?: RenderFeaturePlanSignatureMetrics): string;
|
|
194
275
|
/** Derive graph access from descriptor roles; producers never author a parallel ledger. */
|
|
195
276
|
export declare function deriveRenderFeaturePassAccess(plan: RenderFeaturePlan, pass: RenderFeaturePassDeclaration): readonly RenderFeatureDerivedAccess[];
|
|
196
277
|
export declare function freezeRenderFeaturePlan(identity: string, plan: RenderFeaturePlan, logicalTargets?: readonly RenderFeatureLogicalTarget[]): Result<RenderFeaturePlan, RenderError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/features/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,2BAA2B,EAC3B,iCAAiC,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,MAAM,0CAA0C,GAClD,SAAS,GACT,kBAAkB,GAClB,WAAW,GACX,sBAAsB,GACtB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5D,0EAA0E;AAC1E,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,eAAe,CAAC;AAElE,4EAA4E;AAC5E,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KACnC,CAAC;CACH;AAED,MAAM,MAAM,yBAAyB,GACjC,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,eAAe,GACf,eAAe,GACf,SAAS,yBAAyB,EAAE,GACpC;IAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,gCAAgC,GACxC,yCAAyC,GACzC;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;CACrD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;CACnD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;CACL,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5D,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1D,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,uBAAuB,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACvD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;KACvC,EAAE,CAAC;IACJ,QAAQ,CAAC,sBAAsB,CAAC,EAAE;QAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;KAC5C,CAAC;IACF,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACzD,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,SAAS,4BAA4B,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACxD,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,CAAC;IAC9E,mEAAmE;IACnE,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CACvC,gBAAgB,EAAE,MAAM,KACrB,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/features/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { GraphBufferAccess } from '@forgeax/engine-render-graph';
|
|
2
|
-
import type { BindGroup, Buffer, ComputePipeline, RhiComputePassEncoder, RhiDevice } from '@forgeax/engine-rhi';
|
|
2
|
+
import type { BindGroup, Buffer, ComputePipeline, RhiComputePassEncoder, RhiDevice, Sampler, TextureView } from '@forgeax/engine-rhi';
|
|
3
3
|
import { type BindGroupLayoutDescriptor, type Result } from '@forgeax/engine-types';
|
|
4
4
|
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
5
5
|
import { type RenderError } from '../errors/render';
|
|
6
6
|
import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
|
|
7
|
+
import type { RenderFeatureTargetHandle } from './targets';
|
|
7
8
|
import type { RenderFeatureShaderModuleMode } from './types';
|
|
8
9
|
declare const RenderFeatureGpuProgramBrand: unique symbol;
|
|
9
10
|
export interface RenderFeatureGpuProgramRef {
|
|
@@ -16,6 +17,28 @@ export interface RenderFeatureGpuBufferRef {
|
|
|
16
17
|
readonly name: string;
|
|
17
18
|
readonly generation: number;
|
|
18
19
|
}
|
|
20
|
+
declare const RenderFeatureGpuTextureViewBrand: unique symbol;
|
|
21
|
+
export interface RenderFeatureGpuTextureViewRef {
|
|
22
|
+
readonly [RenderFeatureGpuTextureViewBrand]: void;
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly generation: number;
|
|
25
|
+
}
|
|
26
|
+
declare const RenderFeatureGpuSamplerBrand: unique symbol;
|
|
27
|
+
export interface RenderFeatureGpuSamplerRef {
|
|
28
|
+
readonly [RenderFeatureGpuSamplerBrand]: void;
|
|
29
|
+
readonly name: string;
|
|
30
|
+
readonly generation: number;
|
|
31
|
+
}
|
|
32
|
+
export type RenderFeatureGpuPreparedResourceRef = {
|
|
33
|
+
readonly kind: 'buffer';
|
|
34
|
+
readonly reference: RenderFeatureGpuBufferRef;
|
|
35
|
+
} | {
|
|
36
|
+
readonly kind: 'texture-view';
|
|
37
|
+
readonly reference: RenderFeatureGpuTextureViewRef;
|
|
38
|
+
} | {
|
|
39
|
+
readonly kind: 'sampler';
|
|
40
|
+
readonly reference: RenderFeatureGpuSamplerRef;
|
|
41
|
+
};
|
|
19
42
|
declare const RenderFeatureGpuBindingsBrand: unique symbol;
|
|
20
43
|
export interface RenderFeatureGpuBindingsRef {
|
|
21
44
|
readonly [RenderFeatureGpuBindingsBrand]: void;
|
|
@@ -34,15 +57,22 @@ export interface RenderFeatureGpuBufferDescriptor {
|
|
|
34
57
|
}
|
|
35
58
|
export interface RenderFeatureGpuBindingsDescriptor {
|
|
36
59
|
readonly program: RenderFeatureGpuProgramRef;
|
|
37
|
-
readonly entries: readonly {
|
|
60
|
+
readonly entries: readonly ({
|
|
38
61
|
readonly binding: number;
|
|
39
62
|
readonly buffer: RenderFeatureGpuBufferRef;
|
|
40
|
-
}
|
|
63
|
+
} | {
|
|
64
|
+
readonly binding: number;
|
|
65
|
+
readonly resource: RenderFeatureGpuPreparedResourceRef;
|
|
66
|
+
})[];
|
|
41
67
|
}
|
|
42
68
|
export interface RenderFeatureGpuPrepare {
|
|
43
69
|
retainBindings(references: readonly RenderFeatureGpuBindingsRef[]): Result<void, RenderError>;
|
|
44
70
|
prepareProgram(name: string, descriptor: RenderFeatureGpuProgramDescriptor): Result<RenderFeatureGpuProgramRef, RenderError>;
|
|
45
71
|
prepareBuffer(name: string, descriptor: RenderFeatureGpuBufferDescriptor): Result<RenderFeatureGpuBufferRef, RenderError>;
|
|
72
|
+
/** Adopt a provider-owned resident buffer without taking destruction ownership. */
|
|
73
|
+
prepareBufferResource(name: string, resource: Buffer, descriptor: Pick<RenderFeatureGpuBufferDescriptor, 'size' | 'usage'>): Result<RenderFeatureGpuBufferRef, RenderError>;
|
|
74
|
+
prepareTextureView(name: string, resource: TextureView, logicalTarget?: RenderFeatureTargetHandle): Result<RenderFeatureGpuTextureViewRef, RenderError>;
|
|
75
|
+
prepareSampler(name: string, resource: Sampler): Result<RenderFeatureGpuSamplerRef, RenderError>;
|
|
46
76
|
prepareBindings(name: string, descriptor: RenderFeatureGpuBindingsDescriptor): Result<RenderFeatureGpuBindingsRef, RenderError>;
|
|
47
77
|
}
|
|
48
78
|
interface RenderFeatureGpuDispatchBase {
|
|
@@ -65,6 +95,7 @@ export interface RenderFeatureGpuComputePassDescriptor {
|
|
|
65
95
|
readonly dispatches: readonly RenderFeatureGpuDispatch[];
|
|
66
96
|
}
|
|
67
97
|
export interface RenderFeatureResolvedGpuComputePass {
|
|
98
|
+
readonly sampledTargets?: readonly RenderFeatureTargetHandle[];
|
|
68
99
|
readonly buffers: readonly {
|
|
69
100
|
readonly name: string;
|
|
70
101
|
readonly buffer: Buffer;
|
|
@@ -75,10 +106,12 @@ export interface RenderFeatureResolvedGpuComputePass {
|
|
|
75
106
|
readonly dispatches: readonly ({
|
|
76
107
|
readonly pipeline: ComputePipeline;
|
|
77
108
|
readonly bindGroup: BindGroup;
|
|
109
|
+
readonly resolveBindGroup?: (resolve: (target: RenderFeatureTargetHandle) => TextureView) => BindGroup;
|
|
78
110
|
readonly workgroups: readonly [number, number, number];
|
|
79
111
|
} | {
|
|
80
112
|
readonly pipeline: ComputePipeline;
|
|
81
113
|
readonly bindGroup: BindGroup;
|
|
114
|
+
readonly resolveBindGroup?: (resolve: (target: RenderFeatureTargetHandle) => TextureView) => BindGroup;
|
|
82
115
|
readonly indirectBuffer: Buffer;
|
|
83
116
|
readonly indirectOffset: number;
|
|
84
117
|
})[];
|
|
@@ -88,7 +121,7 @@ export interface RenderFeatureResolvedGpuBuffer {
|
|
|
88
121
|
readonly size: number;
|
|
89
122
|
readonly physicalUsage: number;
|
|
90
123
|
}
|
|
91
|
-
export declare function encodeRenderFeatureGpuComputePass(pass: RhiComputePassEncoder, work: RenderFeatureResolvedGpuComputePass): void;
|
|
124
|
+
export declare function encodeRenderFeatureGpuComputePass(pass: RhiComputePassEncoder, work: RenderFeatureResolvedGpuComputePass, resolveTarget?: (target: RenderFeatureTargetHandle) => TextureView): void;
|
|
92
125
|
export interface RenderFeatureGpuPrepareSession extends RenderFeatureGpuPrepare {
|
|
93
126
|
beginFrame(): void;
|
|
94
127
|
resolveComputePass(featureIdentity: string, descriptor: RenderFeatureGpuComputePassDescriptor): Result<RenderFeatureResolvedGpuComputePass, RenderError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-gpu-work.d.ts","sourceRoot":"","sources":["../../src/features/prepared-gpu-work.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EACV,SAAS,EAET,MAAM,EACN,eAAe,
|
|
1
|
+
{"version":3,"file":"prepared-gpu-work.d.ts","sourceRoot":"","sources":["../../src/features/prepared-gpu-work.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-graphics-store.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAuC,MAAM,kBAAkB,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,kCAAkC,EAClC,wBAAwB,EACxB,iCAAiC,EAClC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepared-graphics-store.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,11 @@ export type { PreparedKind } from './vocabulary';
|
|
|
17
17
|
export declare const RENDER_FEATURE_VERTEX_LAYOUTS: Readonly<{
|
|
18
18
|
readonly positionSizeColorInstance: "position-size-color-instance";
|
|
19
19
|
readonly billboardMaterialInstance: "billboard-material-instance";
|
|
20
|
+
readonly billboardMaterialInputInstance: "billboard-material-input-instance";
|
|
20
21
|
readonly topologySegmentInstance: "topology-segment-instance";
|
|
22
|
+
readonly topologySegmentMaterialInputInstance: "topology-segment-material-input-instance";
|
|
21
23
|
readonly meshGeometryMaterialInstance: "mesh-geometry-material-instance";
|
|
24
|
+
readonly meshGeometryMaterialInputInstance: "mesh-geometry-material-input-instance";
|
|
22
25
|
}>;
|
|
23
26
|
/**
|
|
24
27
|
* Opaque render-owned state identified by its prepared kind and device generation.
|
|
@@ -35,6 +38,8 @@ export interface RenderFeaturePreparedRef<Kind extends PreparedKind = PreparedKi
|
|
|
35
38
|
export interface RenderFeaturePipelineDescriptor {
|
|
36
39
|
readonly shader: string;
|
|
37
40
|
readonly vertexLayout: string;
|
|
41
|
+
/** Number of vec4 lanes in the material-input instance layout (1 through 4). */
|
|
42
|
+
readonly particleInputLanes?: number;
|
|
38
43
|
readonly colorFormats: readonly TextureFormat[];
|
|
39
44
|
readonly depthFormat?: TextureFormat;
|
|
40
45
|
/** Sample count of the target this pipeline will draw into. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-graphics.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,oFAAoF;AACpF,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,oEAAoE;AACpE,eAAO,MAAM,6BAA6B
|
|
1
|
+
{"version":3,"file":"prepared-graphics.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
-
import type
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
3
|
import { type RenderError } from '../errors/render';
|
|
4
4
|
import { type RenderFeatureResolvedGpuComputePass } from './prepared-gpu-work';
|
|
5
|
+
import type { RenderFeatureGraphTargetResolver } from './render-graph-raster';
|
|
5
6
|
import { type RenderFeatureGraphBufferState } from './render-graph-resources';
|
|
6
7
|
export declare class RenderFeatureComputeGraphProjection<FrameCtx extends RenderGraphFrame> {
|
|
7
8
|
private readonly builder;
|
|
8
9
|
private readonly reportError?;
|
|
10
|
+
private readonly resolveTarget?;
|
|
9
11
|
private readonly resources;
|
|
10
|
-
constructor(builder: RenderGraphBuilder<FrameCtx>, resources?: RenderFeatureGraphBufferState, reportError?: ((error: RenderError) => void) | undefined);
|
|
11
|
-
addPass(name: string, featureIdentity: string, order: number, work: RenderFeatureResolvedGpuComputePass): Result<void, RenderGraphError>;
|
|
12
|
+
constructor(builder: RenderGraphBuilder<FrameCtx>, resources?: RenderFeatureGraphBufferState, reportError?: ((error: RenderError) => void) | undefined, resolveTarget?: RenderFeatureGraphTargetResolver | undefined);
|
|
13
|
+
addPass(name: string, featureIdentity: string, order: number, work: RenderFeatureResolvedGpuComputePass): Result<void, RenderGraphError | RenderError>;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=render-graph-compute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-graph-compute.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-compute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"render-graph-compute.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-compute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAGlC,qBAAa,mCAAmC,CAAC,QAAQ,SAAS,gBAAgB;IAI9E,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IANjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;gBAGvC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACtD,SAAS,CAAC,EAAE,6BAA6B,EACxB,WAAW,CAAC,GAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,aAAA,EAC1C,aAAa,CAAC,EAAE,gCAAgC,YAAA;IAKnE,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mCAAmC,GACxC,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAAC;CA6DhD"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import type { RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
1
|
+
import type { GraphAccess, RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
2
|
import { type Result } from '@forgeax/engine-types';
|
|
3
3
|
import { type RenderError } from '../errors/render';
|
|
4
|
-
import type { RenderFeaturePlanExecution } from './host';
|
|
5
|
-
import { type RenderFeatureGraphBindingsResolver, type RenderFeatureGraphTargetResolver } from './render-graph-raster';
|
|
4
|
+
import type { RenderFeaturePlanExecution, RenderFeaturePlanExecutionPass } from './host';
|
|
5
|
+
import { type RenderFeatureGraphBindingsResolver, type RenderFeatureGraphTargetResolver, type RenderFeatureLightingResolver, type RenderFeatureShadowDraws } from './render-graph-raster';
|
|
6
|
+
export declare function createRenderFeatureProjectionState(): {
|
|
7
|
+
buffers: import("./render-graph-resources").RenderFeatureGraphBufferState;
|
|
8
|
+
projected: Set<RenderFeaturePlanExecutionPass>;
|
|
9
|
+
};
|
|
10
|
+
export declare function projectRenderFeatureShadows<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, executions: readonly RenderFeaturePlanExecution[], state: ReturnType<typeof createRenderFeatureProjectionState>): Result<RenderFeatureShadowDraws<FrameCtx> | undefined, RenderGraphError | RenderError>;
|
|
6
11
|
/** Project the host-owned plan execution directly into the one typed graph. */
|
|
7
12
|
export declare function projectRenderFeaturePlans<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, executions: readonly RenderFeaturePlanExecution[], options: {
|
|
8
13
|
readonly resolveTarget: RenderFeatureGraphTargetResolver;
|
|
9
14
|
readonly resolveBindings?: RenderFeatureGraphBindingsResolver<FrameCtx> | undefined;
|
|
10
15
|
readonly reportError?: ((error: RenderError) => void) | undefined;
|
|
16
|
+
readonly resolveStandardLighting?: RenderFeatureLightingResolver<FrameCtx> | undefined;
|
|
17
|
+
readonly standardSurfaceAccesses?: readonly GraphAccess[] | undefined;
|
|
18
|
+
readonly state?: ReturnType<typeof createRenderFeatureProjectionState>;
|
|
11
19
|
}): Result<void, RenderGraphError | RenderError>;
|
|
12
20
|
//# sourceMappingURL=render-graph-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-graph-contribution.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"render-graph-contribution.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAC;AAEzF,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAElC,KAAK,wBAAwB,EAE9B,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,kCAAkC;;;EAKjD;AAkBD,wBAAgB,2BAA2B,CAAC,QAAQ,SAAS,gBAAgB,EAC3E,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACrC,UAAU,EAAE,SAAS,0BAA0B,EAAE,EACjD,KAAK,EAAE,UAAU,CAAC,OAAO,kCAAkC,CAAC,GAC3D,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAkFxF;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,gBAAgB,EACzE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACrC,UAAU,EAAE,SAAS,0BAA0B,EAAE,EACjD,OAAO,EAAE;IACP,QAAQ,CAAC,aAAa,EAAE,gCAAgC,CAAC;IACzD,QAAQ,CAAC,eAAe,CAAC,EAAE,kCAAkC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,6BAA6B,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACvF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,kCAAkC,CAAC,CAAC;CACxE,GACA,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAmE9C"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { GraphResourceResolver, GraphTexture, GraphTextureView, RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
-
import type { BindGroup } from '@forgeax/engine-rhi';
|
|
1
|
+
import type { GraphAccess, GraphResourceResolver, GraphTexture, GraphTextureView, RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
+
import type { BindGroup, RenderPipeline, RhiRenderPassEncoder } from '@forgeax/engine-rhi';
|
|
3
3
|
import { type Result } from '@forgeax/engine-types';
|
|
4
4
|
import { type RenderError } from '../errors/render';
|
|
5
5
|
import type { PreparedGraphicsResolvedResource, PreparedGraphicsResolvedSnapshot } from '../prepare/prepared-graphics-resolver';
|
|
6
6
|
import type { SceneDataTarget } from '../temporal/scene-data';
|
|
7
|
+
import type { RenderFeatureResolvedGpuBuffer } from './prepared-gpu-work';
|
|
7
8
|
import type { RenderFeatureGraphicsPassDescriptor, RenderFeaturePreparedGraphicsState } from './prepared-graphics';
|
|
8
9
|
import { type RenderFeatureGraphBufferState } from './render-graph-resources';
|
|
9
10
|
import type { RenderFeatureTargetHandle } from './targets';
|
|
@@ -25,13 +26,28 @@ export type RenderFeatureGraphBindingsResolver<FrameCtx extends RenderGraphFrame
|
|
|
25
26
|
readonly resources: GraphResourceResolver;
|
|
26
27
|
readonly resolveTarget: RenderFeatureGraphTargetResolver;
|
|
27
28
|
}) => RenderFeatureGraphBindingsResolution | undefined;
|
|
29
|
+
export type RenderFeatureLightingResolver<FrameCtx extends RenderGraphFrame> = (frame: FrameCtx, pipeline: RenderPipeline) => BindGroup | undefined;
|
|
30
|
+
/** Prepared draws embedded by the owning pipeline into its light-view passes. */
|
|
31
|
+
export interface RenderFeatureShadowDraws<FrameCtx extends RenderGraphFrame> {
|
|
32
|
+
readonly accesses: readonly GraphAccess[];
|
|
33
|
+
encode(pass: RhiRenderPassEncoder, frame: FrameCtx, resources: GraphResourceResolver, view: BindGroup): void;
|
|
34
|
+
}
|
|
35
|
+
/** Physical draw inputs shared by readiness ordering and graph imports. */
|
|
36
|
+
export declare function resolveRenderFeatureDrawBuffers(featureIdentity: string, order: number, descriptor: RenderFeatureGraphicsPassDescriptor, snapshot: PreparedGraphicsResolvedSnapshot): Result<{
|
|
37
|
+
vertex: Map<object, RenderFeatureResolvedGpuBuffer>;
|
|
38
|
+
index: Map<object, RenderFeatureResolvedGpuBuffer>;
|
|
39
|
+
indirect: Map<object, RenderFeatureResolvedGpuBuffer>;
|
|
40
|
+
}, RenderError>;
|
|
28
41
|
export declare class RenderFeatureRasterGraphProjection<FrameCtx extends RenderGraphFrame> {
|
|
29
42
|
private readonly builder;
|
|
30
43
|
private readonly resolveTarget;
|
|
31
44
|
private readonly resolveBindings?;
|
|
32
45
|
private readonly reportError?;
|
|
46
|
+
private readonly resolveStandardLighting?;
|
|
47
|
+
private readonly standardSurfaceAccesses;
|
|
33
48
|
private readonly buffers;
|
|
34
|
-
constructor(builder: RenderGraphBuilder<FrameCtx>, resolveTarget: RenderFeatureGraphTargetResolver, resolveBindings?: RenderFeatureGraphBindingsResolver<FrameCtx> | undefined, buffers?: RenderFeatureGraphBufferState, reportError?: ((error: RenderError) => void) | undefined);
|
|
49
|
+
constructor(builder: RenderGraphBuilder<FrameCtx>, resolveTarget: RenderFeatureGraphTargetResolver, resolveBindings?: RenderFeatureGraphBindingsResolver<FrameCtx> | undefined, buffers?: RenderFeatureGraphBufferState, reportError?: ((error: RenderError) => void) | undefined, resolveStandardLighting?: RenderFeatureLightingResolver<FrameCtx> | undefined, standardSurfaceAccesses?: readonly GraphAccess[]);
|
|
50
|
+
prepareShadowDraws(name: string, featureIdentity: string, order: number, descriptor: RenderFeatureGraphicsPassDescriptor, state: RenderFeaturePreparedGraphicsState, snapshot: PreparedGraphicsResolvedSnapshot): Result<RenderFeatureShadowDraws<FrameCtx>, RenderGraphError | RenderError>;
|
|
35
51
|
addPass(name: string, featureIdentity: string, order: number, descriptor: RenderFeatureGraphicsPassDescriptor, state: RenderFeaturePreparedGraphicsState, snapshot: PreparedGraphicsResolvedSnapshot): Result<void, RenderGraphError | RenderError>;
|
|
36
52
|
private importDrawBuffers;
|
|
37
53
|
private encode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-graph-raster.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-raster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"render-graph-raster.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-raster.ts"],"names":[],"mappings":"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"}
|
package/dist/features/types.d.ts
CHANGED
|
@@ -75,6 +75,17 @@ export interface RenderFeature<FrameData> {
|
|
|
75
75
|
}[];
|
|
76
76
|
extract(context: RenderFeatureExtractContext): Result<FrameData, RenderError>;
|
|
77
77
|
plan(data: FrameData, context: RenderFeaturePlanContext): Result<RenderFeaturePlan, RenderError>;
|
|
78
|
+
/**
|
|
79
|
+
* Consume frame-owned producer state only after the compiled graph reached
|
|
80
|
+
* queue submission. The host invokes this callback at most once for the
|
|
81
|
+
* extracted frame and never during declarative planning.
|
|
82
|
+
*/
|
|
83
|
+
onFrameSubmitted?(data: FrameData): void;
|
|
84
|
+
/**
|
|
85
|
+
* Discard frame-owned producer state when graph admission or submission is
|
|
86
|
+
* rejected. This is the symmetric recovery path for onFrameSubmitted.
|
|
87
|
+
*/
|
|
88
|
+
onFrameAborted?(data: FrameData): void;
|
|
78
89
|
}
|
|
79
90
|
export interface RenderFeatureRecoverInput {
|
|
80
91
|
readonly caps: Readonly<RhiCaps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,YAAY,EACV,oCAAoC,EACpC,2BAA2B,EAC3B,sCAAsC,EACtC,sBAAsB,EACtB,4BAA4B,EAC5B,oCAAoC,EACpC,oCAAoC,EACpC,wCAAwC,EACxC,uCAAuC,EACvC,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,yCAAyC,EACzC,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,YAAY,EACZ,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG,WAAW,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,MAAM,CAAC;CACjD;AAED,gFAAgF;AAChF,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,sEAAsE;AACtE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,oCAAoC,EAAE,CAAC;IAC/E,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACjF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACtE,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,+BAA+B,CAAC,EAAE,SAAS;QAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;IACJ,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,8 @@ export type PostProcessReadSampleType = 'depth';
|
|
|
32
32
|
export interface PostProcessShaderEntry {
|
|
33
33
|
/** Composed WGSL source for the fragment stage (post-naga_oil). */
|
|
34
34
|
readonly source: string;
|
|
35
|
+
/** Fragment entry point selected by the typed graph; defaults to `fs_main`. */
|
|
36
|
+
readonly fragmentEntryPoint?: string | undefined;
|
|
35
37
|
/**
|
|
36
38
|
* Params UBO schema. When undefined, the generic shader has no uniform buffer
|
|
37
39
|
* and the BGL degrades to 2 entries (texture@0 + sampler@1). When present, the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullscreen-post-process-pass.d.ts","sourceRoot":"","sources":["../src/fullscreen-post-process-pass.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,MAAM,EACN,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,OAAO,EACP,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAuB7B;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAIhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACtD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,GAAG,SAAS,CAAC;CACzE;AAaD,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"fullscreen-post-process-pass.d.ts","sourceRoot":"","sources":["../src/fullscreen-post-process-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import type { RenderSceneApplyResult, RenderSceneSlot } from '../scene/render-sc
|
|
|
5
5
|
import { type GpuLodRow } from '../scene/visibility/gpu-lod';
|
|
6
6
|
import type { PreparedGpuDrivenDraw } from './prepared-draw';
|
|
7
7
|
export type { BatchTopologyInspection } from '../inspection-types';
|
|
8
|
+
/** High bit in the compact candidate material lane marks a skin palette row. */
|
|
9
|
+
export declare const GPU_DRIVEN_SKIN_FLAG = 2147483648;
|
|
8
10
|
export interface GpuDrivenBatchKey {
|
|
9
11
|
readonly assetHandle: number;
|
|
10
12
|
readonly drawKind: 'indexed' | 'non-indexed';
|
|
@@ -27,6 +29,7 @@ export interface GpuDrivenCandidate {
|
|
|
27
29
|
readonly generation: number;
|
|
28
30
|
readonly drawItemIndex: number;
|
|
29
31
|
readonly instanceOrdinal: number;
|
|
32
|
+
readonly prepared?: PreparedGpuDrivenDraw;
|
|
30
33
|
/** Absolute coverage rows uploaded to the GPU selector; root is implicit. */
|
|
31
34
|
readonly lodCoverages?: readonly number[];
|
|
32
35
|
readonly lodHysteresis?: number;
|
|
@@ -36,7 +39,6 @@ export interface GpuDrivenCandidate {
|
|
|
36
39
|
readonly count: number;
|
|
37
40
|
readonly baseVertex: number;
|
|
38
41
|
}[];
|
|
39
|
-
readonly prepared?: PreparedGpuDrivenDraw;
|
|
40
42
|
}
|
|
41
43
|
export interface GpuDrivenBatch {
|
|
42
44
|
readonly batchId: number;
|
|
@@ -49,6 +51,8 @@ export interface GpuDrivenBatch {
|
|
|
49
51
|
}
|
|
50
52
|
export interface SubmissionPlan {
|
|
51
53
|
readonly revision: number;
|
|
54
|
+
/** Payload-only updates keep topology revision stable but still invalidate the plan snapshot. */
|
|
55
|
+
readonly payloadRevision: number;
|
|
52
56
|
readonly batches: readonly GpuDrivenBatch[];
|
|
53
57
|
readonly candidateCount: number;
|
|
54
58
|
readonly visibleCapacity: number;
|
|
@@ -67,6 +71,28 @@ export interface GpuLodCompactCandidate {
|
|
|
67
71
|
}
|
|
68
72
|
/** Selects one level per stable topology candidate without mutating membership. */
|
|
69
73
|
export declare function compactGpuLodCandidates(inputs: readonly GpuLodCandidateInput[]): readonly GpuLodCompactCandidate[];
|
|
74
|
+
export interface SubmissionCandidateMembershipEntry {
|
|
75
|
+
readonly batchId: number;
|
|
76
|
+
readonly candidate: GpuDrivenCandidate;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Immutable reverse membership for one submission topology.
|
|
80
|
+
*
|
|
81
|
+
* Shadow views query the same candidate domain as the main view. Keeping the
|
|
82
|
+
* primitive-to-batch join beside the immutable plan makes that lookup once per
|
|
83
|
+
* topology instead of rescanning every batch for every view.
|
|
84
|
+
*/
|
|
85
|
+
export interface SubmissionCandidateMembership {
|
|
86
|
+
readonly source: SubmissionPlan;
|
|
87
|
+
readonly byPrimitiveIndex: ReadonlyMap<number, readonly SubmissionCandidateMembershipEntry[]>;
|
|
88
|
+
}
|
|
89
|
+
export declare function buildSubmissionCandidateMembership(source: SubmissionPlan): SubmissionCandidateMembership;
|
|
90
|
+
/**
|
|
91
|
+
* Re-project one source topology for a view without changing batch identity.
|
|
92
|
+
* The returned plan only changes candidate windows and keeps batch ids,
|
|
93
|
+
* generations, draw ranges, and indirect offsets from the source plan.
|
|
94
|
+
*/
|
|
95
|
+
export declare function buildBatchAlignedSubmission(source: SubmissionPlan, candidatesByBatch: ReadonlyMap<number, readonly GpuDrivenCandidate[]>): SubmissionPlan;
|
|
70
96
|
export declare function projectedHeightForCandidate(slot: RenderSceneSlot, camera: CameraSnapshot): number;
|
|
71
97
|
/** Stable compatibility grouping; per-view visibility never mutates this owner. */
|
|
72
98
|
export declare class BatchTopology {
|
|
@@ -76,8 +102,14 @@ export declare class BatchTopology {
|
|
|
76
102
|
private readonly generationByBatchId;
|
|
77
103
|
private readonly freeBatchIds;
|
|
78
104
|
private revision;
|
|
105
|
+
private payloadRevision;
|
|
79
106
|
private rebuilds;
|
|
80
107
|
private patches;
|
|
108
|
+
private payloadPatches;
|
|
109
|
+
private membershipChecks;
|
|
110
|
+
private membershipAllocations;
|
|
111
|
+
private candidateAdds;
|
|
112
|
+
private candidateRemoves;
|
|
81
113
|
private cachedPlan;
|
|
82
114
|
rebuild(slots: readonly RenderSceneSlot[]): void;
|
|
83
115
|
apply(delta: RenderSceneApplyResult): boolean;
|
|
@@ -85,5 +117,6 @@ export declare class BatchTopology {
|
|
|
85
117
|
inspect(): BatchTopologyInspection;
|
|
86
118
|
private add;
|
|
87
119
|
private remove;
|
|
120
|
+
private candidateFromEligible;
|
|
88
121
|
}
|
|
89
122
|
//# sourceMappingURL=batch-topology.d.ts.map
|