@forgeax/engine-render 0.1.27 → 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 +842 -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 +52 -0
- package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -0
- 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 +19 -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 +3 -3
- package/dist/{chunk-ADHHVYLW.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-KM2NOX2I.mjs → chunk-BQVQOQJH.mjs} +958 -254
- package/dist/chunk-BQVQOQJH.mjs.map +1 -0
- package/dist/{chunk-HKXTW355.mjs → chunk-BTWH7BP4.mjs} +386 -17
- package/dist/chunk-BTWH7BP4.mjs.map +1 -0
- package/dist/{chunk-TMIASV2N.mjs → chunk-FUODTTIA.mjs} +3934 -676
- package/dist/chunk-FUODTTIA.mjs.map +1 -0
- package/dist/{chunk-FJ6P52EE.mjs → chunk-ILQ5MEZF.mjs} +3 -17
- package/dist/chunk-ILQ5MEZF.mjs.map +1 -0
- package/dist/{chunk-E34VL5VI.mjs → chunk-JQTSEI3Z.mjs} +3 -3
- package/dist/{chunk-E34VL5VI.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-ZZ4YQ474.mjs → chunk-NRNXBLIJ.mjs} +577 -7
- package/dist/chunk-NRNXBLIJ.mjs.map +1 -0
- package/dist/{chunk-JDWARUOI.mjs → chunk-PA5DRJNI.mjs} +17 -3
- package/dist/chunk-PA5DRJNI.mjs.map +1 -0
- package/dist/{chunk-XDP6XE5V.mjs → chunk-S4DNKQYQ.mjs} +1118 -446
- 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 +13805 -7186
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +11 -17
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/device/mesh-residency-lifetime.d.ts +21 -0
- package/dist/device/mesh-residency-lifetime.d.ts.map +1 -0
- package/dist/dynamic-geometry.d.ts +125 -0
- package/dist/dynamic-geometry.d.ts.map +1 -0
- 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 +21 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +8 -7
- package/dist/index.mjs.map +1 -1
- 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 +118 -10
- 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 +76 -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 +185 -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 +34 -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__/dynamic-geometry-host.unit.test.ts +1123 -0
- package/src/__tests__/dynamic-geometry.unit.test.ts +233 -0
- package/src/__tests__/factory-contract.integration.test.ts +73 -22
- 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__/mesh-submission-lifetime.unit.test.ts +53 -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 +61 -1
- 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 +887 -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 +36 -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 +29 -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 +675 -614
- 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 +3 -3
- package/src/components/sprite-instances.ts +1 -1
- package/src/device/gpu-residency.ts +96 -93
- package/src/device/mesh-residency-lifetime.ts +73 -0
- package/src/dynamic-geometry.ts +736 -0
- 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 +125 -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 +727 -133
- package/src/record/main-pass-geometry.ts +162 -98
- package/src/record/main-pass-material.ts +115 -26
- package/src/record/main-pass-sprite-draws.ts +18 -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 +92 -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 +1006 -53
- 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 +219 -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 +692 -791
- 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-ADHHVYLW.mjs.map +0 -1
- package/dist/chunk-FJ6P52EE.mjs.map +0 -1
- package/dist/chunk-GE3SDD72.mjs.map +0 -1
- package/dist/chunk-GF523LHF.mjs.map +0 -1
- package/dist/chunk-HKXTW355.mjs.map +0 -1
- package/dist/chunk-JDWARUOI.mjs.map +0 -1
- package/dist/chunk-KM2NOX2I.mjs.map +0 -1
- package/dist/chunk-TMIASV2N.mjs.map +0 -1
- package/dist/chunk-XDP6XE5V.mjs.map +0 -1
- package/dist/chunk-ZZ4YQ474.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/host.d.ts
CHANGED
|
@@ -3,14 +3,20 @@ import { type Result } from '@forgeax/engine-types';
|
|
|
3
3
|
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
4
4
|
import { type RenderError } from '../errors/render';
|
|
5
5
|
import type { PostProcessShaderEntry } from '../fullscreen-post-process-pass';
|
|
6
|
+
import type { RenderFeatureHostInspection } from '../inspection-types';
|
|
6
7
|
import type { PreparedGraphicsResolvedSnapshot, PreparedGraphicsResolver, PreparedGraphicsResourceLease } from '../prepare/prepared-graphics-resolver';
|
|
7
8
|
import { type SceneDataCatalog } from '../temporal/scene-data-catalog';
|
|
8
|
-
import { type RenderFeatureMaterialShaderBindingContract, type RenderFeaturePlannedFrame } from './plan';
|
|
9
|
+
import { type RenderFeatureMaterialShaderBindingContract, type RenderFeaturePlan, type RenderFeaturePlanContext, type RenderFeaturePlannedFrame } from './plan';
|
|
9
10
|
import type { RenderFeatureGpuComputePassDescriptor, RenderFeatureGpuWorkOwner } from './prepared-gpu-work';
|
|
10
11
|
import { type RenderFeatureGraphicsPassDescriptor, type RenderFeaturePreparedGraphicsState } from './prepared-graphics';
|
|
11
12
|
import { type PreparedGraphicsTransaction } from './prepared-graphics-store';
|
|
12
13
|
import type { RenderFeature, RenderFeatureDiagnostics, RenderFeatureErrorDescriptor, RenderFeatureHiddenEntityReport, RenderFeatureRecoverInput, RenderFeatureShaderModuleMode, RenderFeatureStatus, RenderFeatureTargetHandle, RenderFeatureWorldVisibilitySnapshot } from './types';
|
|
14
|
+
/** A cached command graph must not replay a producer's already-consumed intents. */
|
|
15
|
+
export declare function hasSubmissionSensitiveFeatures(plans: readonly RenderFeaturePlannedFrame[]): boolean;
|
|
16
|
+
/** Acknowledge only plans in the submitted graph, once, including a retained graph. */
|
|
17
|
+
export declare function acknowledgeRenderFeatureSubmission(plans: readonly RenderFeaturePlannedFrame[]): void;
|
|
13
18
|
export interface RenderFeaturePlanExecutionPass {
|
|
19
|
+
readonly shadowCaster?: true;
|
|
14
20
|
readonly featureIdentity: string;
|
|
15
21
|
readonly order: number;
|
|
16
22
|
readonly name: string;
|
|
@@ -47,6 +53,8 @@ export interface RenderFeatureFrameInput {
|
|
|
47
53
|
readonly caps: Readonly<RhiCaps>;
|
|
48
54
|
/** Renderer-owned material binding contract projection for producer plans. */
|
|
49
55
|
readonly materialShaderBindingContract?: (materialShaderId: string) => RenderFeatureMaterialShaderBindingContract;
|
|
56
|
+
/** Renderer-owned prepared camera/depth/noise resources for feature plans. */
|
|
57
|
+
readonly preparedDataInterfaces?: RenderFeaturePlanContext['preparedDataInterfaces'];
|
|
50
58
|
readonly createPreparedGraphicsResolver?: (input: RenderFeaturePreparedGraphicsResolverInput) => PreparedGraphicsResolver;
|
|
51
59
|
/** Single renderer-owned GPU preparation owner for all feature sessions. */
|
|
52
60
|
readonly gpuWork?: RenderFeatureGpuWorkOwner;
|
|
@@ -67,7 +75,17 @@ export interface RenderFeatureFrameResult {
|
|
|
67
75
|
readonly plans: readonly RenderFeaturePlannedFrame[];
|
|
68
76
|
readonly fullscreenEffects: ReadonlyMap<string, PostProcessShaderEntry>;
|
|
69
77
|
readonly preparedResourceBatches: readonly RenderFeaturePreparedResourceBatch[];
|
|
78
|
+
/**
|
|
79
|
+
* True only when the current graph resolves a transient graphics lease.
|
|
80
|
+
* Retired GPU-work leases are kept alive until queue completion but are not
|
|
81
|
+
* referenced by this candidate and therefore do not require a new graph.
|
|
82
|
+
*/
|
|
83
|
+
readonly requiresPreparedResourceKey: boolean;
|
|
70
84
|
readonly hiddenEntityReports: readonly RenderFeatureHiddenEntityReport[];
|
|
85
|
+
/** Invoke producer consumption after the frame reaches queue submission. */
|
|
86
|
+
readonly onSubmitted: () => void;
|
|
87
|
+
/** Discard producer frame state after graph admission/submission failure. */
|
|
88
|
+
readonly onAborted: () => void;
|
|
71
89
|
}
|
|
72
90
|
export interface RenderFeatureHost {
|
|
73
91
|
readonly size: number;
|
|
@@ -94,6 +112,10 @@ export interface RenderFeatureHost {
|
|
|
94
112
|
diagnostics(): readonly RenderFeatureDiagnostics[];
|
|
95
113
|
/** Subscribe to lifecycle projection changes; unchanged active frames are silent. */
|
|
96
114
|
subscribeDiagnostics(listener: () => void): () => void;
|
|
115
|
+
/** Detached signature and prepared-resource accounting for diagnostics. */
|
|
116
|
+
readonly inspection?: () => RenderFeatureHostInspection;
|
|
117
|
+
/** Host-owned signature entry point so accounting remains per feature. */
|
|
118
|
+
readonly recordPlanSignature?: (identity: string, plan: RenderFeaturePlan) => string;
|
|
97
119
|
dispose(): Result<void, RenderError>;
|
|
98
120
|
}
|
|
99
121
|
export interface RenderFeaturePreparedResourceBatch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/features/host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/features/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RhiDevice, RhiError, Texture, TextureView } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import type { DeviceScope } from '../device/device-scope';
|
|
4
|
+
/** A reproducible, filterable RGBA noise field; each channel has an independent sample. */
|
|
5
|
+
export declare function createFeatureNoisePixels(): Uint8Array;
|
|
6
|
+
/** The caller's device scope owns the texture, like the other built-in material inputs. */
|
|
7
|
+
export declare function createFeatureNoiseTexture(device: RhiDevice): Result<{
|
|
8
|
+
readonly texture: Texture;
|
|
9
|
+
readonly view: TextureView;
|
|
10
|
+
}, RhiError>;
|
|
11
|
+
/** Lazily provisions one generation-owned noise view for feature preparation. */
|
|
12
|
+
export declare function createFeatureNoiseResolver(input: {
|
|
13
|
+
readonly scope: DeviceScope;
|
|
14
|
+
readonly getDevice: () => RhiDevice;
|
|
15
|
+
readonly onError: (error: RhiError) => void;
|
|
16
|
+
}): (frameNumber: number) => TextureView | undefined;
|
|
17
|
+
//# sourceMappingURL=noise-texture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noise-texture.d.ts","sourceRoot":"","sources":["../../src/features/noise-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAM1D,2FAA2F;AAC3F,wBAAgB,wBAAwB,IAAI,UAAU,CAUrD;AAED,2FAA2F;AAC3F,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,GAChB,MAAM,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,EAAE,QAAQ,CAAC,CA4B7E;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CA+BnD"}
|
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":"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
|
|
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>;
|