@forgeax/engine-render 0.1.28 → 0.1.30
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 +856 -126
- package/dist/assembly/atmosphere-shader-prewarm.d.ts +6 -0
- package/dist/assembly/atmosphere-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/device-feature-admission.d.ts +4 -3
- package/dist/assembly/device-feature-admission.d.ts.map +1 -1
- package/dist/assembly/dynamic-geometry-host.d.ts +27 -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 +14 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +31 -1
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/pipeline-helpers.d.ts +24 -0
- package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -0
- 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/device-loss-fanout.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/recovery-attempt.d.ts +1 -6
- package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -1
- package/dist/assembly/recovery/renderer-recover.d.ts +7 -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 +7 -1
- 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/capture/scene-projection.d.ts +41 -0
- package/dist/capture/scene-projection.d.ts.map +1 -0
- package/dist/{chunk-J52NMQKR.mjs → chunk-7MQ3XBSP.mjs} +1098 -844
- package/dist/chunk-7MQ3XBSP.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-VSL23LZE.mjs → chunk-C3DDSXYK.mjs} +1188 -463
- package/dist/chunk-C3DDSXYK.mjs.map +1 -0
- package/dist/{chunk-IQMKJLNU.mjs → chunk-FUUO4UND.mjs} +443 -30
- package/dist/chunk-FUUO4UND.mjs.map +1 -0
- package/dist/{chunk-J6KACNOH.mjs → chunk-JRBDO2KB.mjs} +617 -7
- package/dist/chunk-JRBDO2KB.mjs.map +1 -0
- package/dist/{chunk-GE3SDD72.mjs → chunk-MDQJPY3T.mjs} +20 -40
- package/dist/chunk-MDQJPY3T.mjs.map +1 -0
- package/dist/{chunk-MYJ5RPJO.mjs → chunk-NO4WZCAH.mjs} +3 -3
- package/dist/chunk-NO4WZCAH.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-MBU4ZVE7.mjs → chunk-PSEQ6QPH.mjs} +4655 -892
- package/dist/chunk-PSEQ6QPH.mjs.map +1 -0
- package/dist/{chunk-JAASCMXA.mjs → chunk-S5UE2T5P.mjs} +289 -41
- package/dist/chunk-S5UE2T5P.mjs.map +1 -0
- package/dist/components/camera.d.ts +62 -2
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/directional-light.d.ts +2 -2
- package/dist/components/dynamic-resolution.d.ts +15 -0
- package/dist/components/dynamic-resolution.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +6 -20
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/reflection-probe.d.ts +1 -0
- package/dist/components/reflection-probe.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/components/skylight.d.ts +4 -1
- package/dist/components/skylight.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +14809 -7570
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/device-scope.d.ts +2 -0
- package/dist/device/device-scope.d.ts.map +1 -1
- package/dist/device/gpu-residency.d.ts +3 -14
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/dynamic-geometry.d.ts.map +1 -1
- package/dist/environment/background.d.ts +7 -0
- package/dist/environment/background.d.ts.map +1 -0
- package/dist/environment/ibl.d.ts +11 -0
- package/dist/environment/ibl.d.ts.map +1 -0
- package/dist/environment/storage.d.ts +14 -0
- package/dist/environment/storage.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 +41 -4
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/camera.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +7 -0
- package/dist/extract/contracts.d.ts.map +1 -1
- package/dist/extract/gpu-driven.d.ts +50 -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/material-artifacts.d.ts +24 -0
- package/dist/gpu-driven/material-artifacts.d.ts.map +1 -0
- package/dist/gpu-driven/material-bindings.d.ts +7 -0
- package/dist/gpu-driven/material-bindings.d.ts.map +1 -0
- 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 +2 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +169 -27
- 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-resource.d.ts +5 -2
- package/dist/gpu-resource.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 +9 -0
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +2 -0
- package/dist/ibl/IblPipelineCache.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 +3 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +87 -75
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +10 -8
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +180 -1
- 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 +15 -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 +23 -5
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/render-extent.d.ts +51 -0
- package/dist/pipeline/render-extent.d.ts.map +1 -0
- package/dist/pipeline/standard-build-context.d.ts +7 -0
- package/dist/pipeline/standard-build-context.d.ts.map +1 -0
- package/dist/pipeline/standard-forward-lane.d.ts +3 -2
- 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/standard-profile.d.ts +2 -1
- package/dist/pipeline/standard-profile.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +5 -2
- 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/plugin.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/post-process-errors.d.ts +9 -2
- package/dist/post-process-errors.d.ts.map +1 -1
- package/dist/prepare/extended-lighting/resources.d.ts +3 -3
- 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 +109 -13
- 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 +41 -5
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +13 -9
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +43 -3
- 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 +14 -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 +1 -0
- package/dist/record/recovery-pipeline.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +101 -22
- 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 +39 -8
- 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/background.d.ts +14 -0
- package/dist/reflection/background.d.ts.map +1 -0
- package/dist/reflection/filter.d.ts.map +1 -1
- package/dist/reflection/projection.d.ts +1 -0
- package/dist/reflection/projection.d.ts.map +1 -1
- package/dist/reflection/record-owner.d.ts +4 -4
- package/dist/reflection/record-owner.d.ts.map +1 -1
- package/dist/render-contract.d.ts +211 -53
- 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 +81 -6
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +15 -6
- package/dist/render-system-extract-tail.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +128 -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 +31 -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/ssao-config.d.ts +8 -6
- package/dist/ssao-config.d.ts.map +1 -1
- 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 +4 -2
- package/dist/temporal/standard-scene-data.d.ts.map +1 -1
- package/dist/temporal/target-coverage-attachment.d.ts +15 -0
- package/dist/temporal/target-coverage-attachment.d.ts.map +1 -0
- package/dist/temporal/temporal-view.d.ts +6 -0
- package/dist/temporal/temporal-view.d.ts.map +1 -1
- package/dist/temporal/view.d.ts +6 -0
- package/dist/temporal/view.d.ts.map +1 -1
- package/dist/typed-render-graph-primitives.d.ts +41 -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/component.d.ts +1 -0
- package/dist/volume/component.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__/capture-scene-projection.unit.test.ts +24 -0
- package/src/__tests__/detached-inspection.integration.test.ts +5 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +15 -24
- package/src/__tests__/device-loss-fanout.unit.test.ts +43 -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-batch.unit.test.ts +157 -0
- package/src/__tests__/dynamic-geometry.unit.test.ts +36 -0
- package/src/__tests__/dynamic-resolution-plugin.integration.test.ts +81 -0
- package/src/__tests__/factory-contract.integration.test.ts +231 -9
- 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-observation.contract.test.ts +21 -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 +307 -7
- 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 +261 -0
- package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +346 -0
- package/src/__tests__/gpu-driven-pbr.dawn.test.ts +1422 -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 +1076 -106
- 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 +160 -52
- package/src/__tests__/gpu-pass-timing-browser-runner.ts +15 -0
- package/src/__tests__/gpu-pass-timing.browser.test.ts +20 -2
- package/src/__tests__/gpu-resource-scope.unit.test.ts +71 -0
- 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 +613 -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 +57 -3
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +4 -0
- package/src/__tests__/mesh-submission-lifetime.unit.test.ts +8 -0
- package/src/__tests__/morph-neutral-admission.unit.test.ts +19 -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 +42 -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__/post-process-error-policy-owner.unit.test.ts +6 -5
- 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 +251 -9
- 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 +171 -0
- package/src/__tests__/reflection-probe-authoring.unit.test.ts +12 -10
- package/src/__tests__/reflection-probe-box.dawn.test.ts +71 -0
- package/src/__tests__/reflection-probe-filter.unit.test.ts +9 -0
- package/src/__tests__/reflection-probe-orientation.dawn.test.ts +294 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +5 -14
- package/src/__tests__/reflection-probe-updates.unit.test.ts +129 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +7 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +27 -1
- package/src/__tests__/render-error-exhaustive.test-d.ts +15 -0
- package/src/__tests__/render-extent.unit.test.ts +63 -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 +915 -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 +233 -9
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +923 -5
- package/src/__tests__/shader-manifest-fixture.ts +45 -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 +125 -14
- package/src/__tests__/specular-environment-scale.dawn.test.ts +158 -0
- package/src/__tests__/ssao-config.unit.test.ts +7 -0
- package/src/__tests__/ssao-surface.dawn.test.ts +252 -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-cube-silhouette.dawn.test.ts +270 -0
- package/src/__tests__/ssr-format-probe-gating.integration.test.ts +82 -0
- package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +99 -0
- package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +116 -0
- package/src/__tests__/ssr-gpu-dispatch.ts +951 -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 +84 -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 +275 -0
- package/src/__tests__/standard-pipeline.integration.test.ts +320 -3
- package/src/__tests__/standard-profile-oracle.unit.test.ts +49 -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 +199 -0
- package/src/__tests__/taa-history-clipping.dawn.test.ts +328 -0
- package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +782 -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 +342 -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__/temporal-view.unit.test.ts +17 -0
- package/src/__tests__/texture-usage-surface.unit.test.ts +4 -2
- package/src/__tests__/transmission-prewarm.unit.test.ts +57 -0
- 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/__tests__/volumetric-fog-stage-readback.dawn.test.ts +62 -13
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +7 -7
- package/src/assembly/atmosphere-shader-prewarm.ts +39 -0
- package/src/assembly/device-feature-admission.ts +9 -4
- package/src/assembly/dynamic-geometry-host.ts +284 -163
- 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 +19 -0
- package/src/assembly/material/assembly.ts +383 -1
- package/src/assembly/material/pipeline-helpers.ts +100 -0
- package/src/assembly/material-shader-policy.ts +110 -46
- package/src/assembly/recovery/device-loss-fanout.ts +5 -0
- package/src/assembly/recovery/failure-location.ts +62 -0
- package/src/assembly/recovery/recovery-attempt.ts +2 -29
- package/src/assembly/recovery/renderer-recover.ts +16 -17
- package/src/assembly/renderer-facade.ts +34 -1
- 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 +46 -1
- 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 +161 -131
- 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 +744 -730
- package/src/assembly/webgpu-vertex-layouts.ts +233 -87
- package/src/capture/scene-projection.ts +37 -0
- package/src/components/__tests__/camera-exposure.contract.unit.test.ts +153 -0
- package/src/components/__tests__/dynamic-resolution-schema.unit.test.ts +65 -0
- package/src/components/__tests__/light-radius.integration.test.ts +59 -0
- package/src/components/camera.ts +287 -7
- package/src/components/directional-light.ts +3 -3
- package/src/components/dynamic-resolution.ts +67 -0
- package/src/components/index.ts +2 -0
- package/src/components/instances.ts +45 -18
- package/src/components/light-helpers.ts +6 -1
- package/src/components/reflection-probe.ts +1 -0
- package/src/components/scene-instance.ts +2 -1
- package/src/components/screen-space-reflection.ts +21 -0
- package/src/components/skylight.ts +4 -1
- package/src/components/sprite-animation.ts +2 -2
- package/src/components/sprite-instances.ts +1 -1
- package/src/device/device-scope.ts +13 -7
- package/src/device/gpu-residency.ts +45 -42
- package/src/dynamic-geometry.ts +13 -8
- package/src/environment/background.ts +281 -0
- package/src/environment/ibl.ts +211 -0
- package/src/environment/storage.ts +63 -0
- package/src/errors/gpu-driven.ts +49 -8
- package/src/errors/render.ts +91 -3
- package/src/extract/camera.ts +37 -1
- package/src/extract/contracts.ts +10 -0
- package/src/extract/gpu-driven.ts +240 -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 +452 -108
- package/src/gpu-driven/material-artifacts.ts +179 -0
- package/src/gpu-driven/material-bindings.ts +41 -0
- package/src/gpu-driven/pbr-program.ts +31 -0
- package/src/gpu-driven/prepared-draw.ts +42 -6
- package/src/gpu-driven/production-raster.ts +2806 -716
- package/src/gpu-driven/shadow-views.ts +539 -0
- package/src/gpu-driven/view-gpu.ts +188 -41
- package/src/gpu-resource.ts +21 -2
- package/src/gpu-scene-schema.ts +61 -11
- package/src/gpu-scene.ts +197 -99
- package/src/gpu-texture-usage.ts +1 -0
- package/src/hdrp-buffers.ts +141 -36
- package/src/ibl/IblPipelineCache.ts +5 -0
- package/src/ibl/frame-resources.ts +38 -0
- package/src/ibl/skylight-bind-group.ts +32 -21
- package/src/index.ts +194 -75
- package/src/inspection-types.ts +207 -1
- 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 +194 -0
- package/src/materials.ts +44 -8
- package/src/pbr-pipeline.ts +172 -19
- package/src/pipeline/render-extent.ts +111 -0
- package/src/pipeline/standard-build-context.ts +7 -0
- package/src/pipeline/standard-forward-lane.ts +74 -29
- 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 +232 -70
- package/src/pipeline/standard-post.ts +190 -27
- package/src/pipeline/standard-profile.ts +2 -1
- package/src/pipeline-builder.ts +28 -9
- package/src/pipeline-spec-types.ts +4 -0
- package/src/pipeline-spec.ts +37 -29
- package/src/plugin.ts +4 -0
- package/src/points-lines/standard-owner.ts +6 -14
- package/src/post-process-errors.ts +26 -18
- package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +2 -2
- package/src/prepare/extended-lighting/resources.ts +3 -3
- package/src/prepare/prepared-graphics-resolver.ts +9 -2
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +68 -0
- package/src/record/__tests__/material-bg-cache.unit.test.ts +45 -0
- package/src/record/__tests__/material-slot-plan.unit.test.ts +57 -0
- package/src/record/__tests__/mesh-ssbo.unit.test.ts +40 -1
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +20 -1
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +41 -6
- package/src/record/__tests__/temporal-payload.unit.test.ts +2 -0
- 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 +15 -12
- package/src/record/frame-snapshot.ts +146 -34
- package/src/record/frame-targets.ts +9 -0
- package/src/record/frame.ts +838 -170
- package/src/record/main-pass-geometry.ts +209 -103
- package/src/record/main-pass-material.ts +157 -40
- package/src/record/main-pass-sprite-draws.ts +16 -107
- package/src/record/main-pass.ts +141 -12
- package/src/record/material-uniforms.ts +1 -1
- package/src/record/mesh-ssbo.ts +59 -15
- package/src/record/prepared-material-bindings.ts +238 -0
- package/src/record/recovery-pipeline.ts +69 -90
- package/src/record/render-context.ts +123 -24
- package/src/record/shadow-pass.ts +1389 -230
- package/src/record/skybox-post-pass.ts +14 -3
- package/src/record/typed-frame-graph.ts +1064 -47
- package/src/record/view-ubo.ts +12 -1
- package/src/recovery/render-system-candidate.ts +135 -68
- package/src/recovery/render-system-roots.ts +113 -0
- package/src/recovery/types.ts +77 -0
- package/src/reflection/background.ts +151 -0
- package/src/reflection/filter.ts +3 -0
- package/src/reflection/projection.ts +16 -6
- package/src/reflection/record-owner.ts +308 -140
- package/src/render-contract.ts +237 -49
- package/src/render-graph-primitives.ts +34 -5
- package/src/render-pipeline.ts +90 -2
- package/src/render-system-extract-tail.ts +431 -162
- package/src/render-system-extract.ts +478 -119
- package/src/render-system-projections.ts +241 -0
- package/src/render-system.ts +715 -828
- package/src/scene/render-scene-types.ts +13 -4
- package/src/scene/render-scene.ts +577 -355
- package/src/scene/shadow-visibility.ts +21 -0
- package/src/ssao-config.ts +25 -8
- 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 +797 -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 +79 -12
- package/src/temporal/history.ts +3 -1
- package/src/temporal/inspection.ts +2 -1
- package/src/temporal/standard-scene-data.ts +10 -2
- package/src/temporal/target-coverage-attachment.ts +72 -0
- package/src/temporal/temporal-view.ts +11 -2
- package/src/temporal/view.ts +12 -2
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +219 -139
- package/src/typed-render-graph-primitives.ts +304 -74
- package/src/typed-shadow-passes.ts +122 -12
- package/src/volume/component.ts +1 -0
- package/src/volume/passes.ts +3 -3
- 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-MYJ5RPJO.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/record/frame.d.ts
CHANGED
|
@@ -2,14 +2,18 @@ import type { World } from '@forgeax/engine-ecs';
|
|
|
2
2
|
import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
|
|
3
3
|
import { type CurrentFrameObservationLease } from '@forgeax/engine-render-graph';
|
|
4
4
|
import { type Result, type TextureFormat } from '@forgeax/engine-rhi';
|
|
5
|
+
import type { MeshGpuHandles } from '../device/gpu-residency';
|
|
5
6
|
import { ObservationUnavailableError } from '../errors/render';
|
|
6
7
|
import type { GpuDrivenProduction } from '../gpu-driven/production-raster';
|
|
7
8
|
import type { CameraSnapshot, CubeCameraSnapshot, RenderRecordPhase } from '../render-contract';
|
|
8
|
-
import type { DispatchEntry, ExtractedLights, ExtractedVolumetricFog, RenderableSnapshot, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
|
|
9
|
-
import type { PersistentGpuDrivenState } from '../scene/render-scene';
|
|
9
|
+
import type { DispatchEntry, ExtractedLights, ExtractedVolumetricFog, MaterialSnapshot, RenderableSnapshot, ShadowCasterMembership, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
|
|
10
|
+
import type { PersistentGpuDrivenState, PersistentShadowCasterProjection } from '../scene/render-scene';
|
|
10
11
|
import type { OcclusionFrameProjection } from '../scene/visibility/occlusion-runtime';
|
|
12
|
+
import { type SsrDependenciesInspection } from '../ssr/admission';
|
|
11
13
|
import type { TransmissionDemand } from '../transmission/projection';
|
|
14
|
+
import { prepareFrameLighting } from './frame-lighting';
|
|
12
15
|
import { type BindGroupCounts, type DispatchCounts, type FrameObservationSource, type RenderFrameState, type ValidatedRenderable } from './frame-snapshot';
|
|
16
|
+
import { type FoldBucket, type FoldDispatchPlan } from './mesh-ssbo';
|
|
13
17
|
import type { PipelineState, RenderSystemInternals } from './render-context';
|
|
14
18
|
export type { FrameObservationSource } from './frame-snapshot';
|
|
15
19
|
export type FrameObservationReadback = (lease: CurrentFrameObservationLease) => Promise<Result<Uint8Array, Error>>;
|
|
@@ -40,6 +44,16 @@ export interface FrameObservation {
|
|
|
40
44
|
export declare function observeCurrentFrame(options: FrameObservationOptions, source: FrameObservationSource | undefined, currentFrameId: number): Promise<Result<FrameObservation, ObservationUnavailableError>>;
|
|
41
45
|
import type { GpuTimingCapture } from './gpu-timing';
|
|
42
46
|
import { type CubeCaptureGraphState, type RenderFeatureGraphCandidate } from './typed-frame-graph';
|
|
47
|
+
/**
|
|
48
|
+
* Resolve the GPU mesh view used by the optional production raster before its
|
|
49
|
+
* filtering pass runs. The result is keyed by the retained RenderScene slot,
|
|
50
|
+
* which preserves the World namespace already used by gpuStore. User meshes
|
|
51
|
+
* are pull-resident during record; relying only on the boot-time builtin map
|
|
52
|
+
* would make the first frame classify every imported mesh as a CPU fallback
|
|
53
|
+
* and would hide its LOD ranges from the GPU cull. Builtins are the only
|
|
54
|
+
* process-static entries and may be read from PipelineState.meshes.
|
|
55
|
+
*/
|
|
56
|
+
export declare function gpuDrivenMeshesForFrame(internals: RenderSystemInternals, pipelineState: PipelineState, worlds: readonly World[], scene: PersistentGpuDrivenState | undefined): ReadonlyMap<number, MeshGpuHandles>;
|
|
43
57
|
/**
|
|
44
58
|
* A frame-local material table. Repeated snapshot objects share one UBO slot;
|
|
45
59
|
* each renderable keeps only the slot index used by each authored material.
|
|
@@ -56,7 +70,7 @@ export interface MaterialSlotPlan<T extends object> {
|
|
|
56
70
|
* the same correctness boundary while avoiding duplicate payload assembly and
|
|
57
71
|
* upload for repeated scene instances.
|
|
58
72
|
*/
|
|
59
|
-
export declare function buildMaterialSlotPlan<T extends object>(materialGroups: readonly (readonly T[])[]): MaterialSlotPlan<T>;
|
|
73
|
+
export declare function buildMaterialSlotPlan<T extends object>(materialGroups: readonly (readonly T[])[], bindingClass?: (material: T, owner: number) => string): MaterialSlotPlan<T>;
|
|
60
74
|
/**
|
|
61
75
|
* Return the largest complete renderable prefix supported by a shared
|
|
62
76
|
* mesh/material capacity. Mesh rows consume one slot per renderable; material
|
|
@@ -67,12 +81,13 @@ export declare function findRenderablePrefixForSlotCapacity(materialSlotIndices:
|
|
|
67
81
|
export declare function materialSlotCountForPrefix(materialSlotIndices: readonly (readonly number[])[], renderableCount: number): number;
|
|
68
82
|
export type RecordProfileRunner = <T>(phase: RenderRecordPhase, action: () => T) => T;
|
|
69
83
|
export interface CubeCaptureFrameInput {
|
|
84
|
+
readonly captureDispatch?: readonly DispatchEntry[];
|
|
70
85
|
readonly snapshots: readonly CubeCameraSnapshot[];
|
|
71
86
|
readonly scheduler: import('../capture/scheduler').CubeCaptureScheduler;
|
|
72
87
|
readonly state: CubeCaptureGraphState;
|
|
73
88
|
readonly reflectionProbes?: import('./render-context').ReflectionProbeRecordState;
|
|
74
89
|
}
|
|
75
|
-
export declare function recordFrame(internals: RenderSystemInternals, world: World, cameras: CameraSnapshot[], lights: ExtractedLights, renderables: RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], frameState: RenderFrameState, dispatchCounts: DispatchCounts, bindGroupCounts: BindGroupCounts, skylight: SkylightSnapshot | undefined, skylightCount: number, skybox: SkyboxSnapshot | undefined, skyboxCount: number, postProcessParams: ReadonlyMap<string, Uint8Array>, worlds?: readonly World[], profilePhase?: RecordProfileRunner, gpuDriven?: {
|
|
90
|
+
export declare function recordFrame(internals: RenderSystemInternals, world: World, cameras: CameraSnapshot[], lights: ExtractedLights, renderables: readonly RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], frameState: RenderFrameState, dispatchCounts: DispatchCounts, bindGroupCounts: BindGroupCounts, skylight: SkylightSnapshot | undefined, skylightCount: number, skybox: SkyboxSnapshot | undefined, skyboxCount: number, postProcessParams: ReadonlyMap<string, Uint8Array>, worlds?: readonly World[], profilePhase?: RecordProfileRunner, gpuDriven?: {
|
|
76
91
|
readonly owner: GpuDrivenProduction;
|
|
77
92
|
readonly scene: PersistentGpuDrivenState | undefined;
|
|
78
93
|
readonly onSceneDemand: (sceneRowsRequired: boolean) => void;
|
|
@@ -80,7 +95,7 @@ export declare function recordFrame(internals: RenderSystemInternals, world: Wor
|
|
|
80
95
|
readonly activeEntityRevision?: number;
|
|
81
96
|
readonly telemetryCandidateCount?: number;
|
|
82
97
|
readonly occlusion?: OcclusionFrameProjection;
|
|
83
|
-
}, renderReadLeases?: readonly RenderReadLease[], featureGraphCandidate?: RenderFeatureGraphCandidate, pointsLinesOwner?: import('./render-context').PointsLinesRecordOwner, cubeCapture?: CubeCaptureFrameInput, environmentSignature?: string, fogSignature?: string, environmentReady?: boolean, transmissionDemand?: TransmissionDemand, volumetricFog?: ExtractedVolumetricFog, timingCapture?: GpuTimingCapture, onRenderableDraw?: (entry: ValidatedRenderable) => void): boolean;
|
|
98
|
+
}, renderReadLeases?: readonly RenderReadLease[], featureGraphCandidate?: RenderFeatureGraphCandidate, pointsLinesOwner?: import('./render-context').PointsLinesRecordOwner, cubeCapture?: CubeCaptureFrameInput, environmentSignature?: string, fogSignature?: string, environmentReady?: boolean, transmissionDemand?: TransmissionDemand, shadowCasterEntityKeys?: ReadonlySet<number>, shadowCasterDrawKeys?: ReadonlySet<string> | undefined, volumetricFog?: ExtractedVolumetricFog, timingCapture?: GpuTimingCapture, shadowCasterMembership?: readonly ShadowCasterMembership[], shadowCasterProjection?: PersistentShadowCasterProjection, shadowCasterWorldKeys?: readonly number[], preparedLighting?: ReturnType<typeof prepareFrameLighting>, ssrDependencies?: SsrDependenciesInspection, onRenderableDraw?: (entry: ValidatedRenderable) => void): boolean;
|
|
84
99
|
/**
|
|
85
100
|
* feat-20260704 M3/w18: validate renderable handles + collect the render plan,
|
|
86
101
|
* extracted verbatim from `recordFrame`. Empty `renderables` input or all-
|
|
@@ -93,4 +108,25 @@ export declare function recordFrame(internals: RenderSystemInternals, world: Wor
|
|
|
93
108
|
* @internal
|
|
94
109
|
*/
|
|
95
110
|
export declare function validateRenderables(internals: RenderSystemInternals, world: World, worlds: readonly World[], pipelineState: PipelineState, frameState: RenderFrameState, renderables: readonly RenderableSnapshot[], transparentDispatch: readonly DispatchEntry[], excludedEntityKeys?: ReadonlySet<number>, worldKeys?: readonly number[]): ValidatedRenderable[];
|
|
111
|
+
/**
|
|
112
|
+
* feat-20260704 M3/w18: build the dispatch-ordered render plan, extracted
|
|
113
|
+
* verbatim from `recordFrame`. (1) M3/w26 dispatch-ordered reorder: reorder
|
|
114
|
+
* `validated` to follow the transparent-dispatch order (extract-order fallback
|
|
115
|
+
* for unmatched entries). (2) feat-20260608 mesh-SSBO capacity gate: size the
|
|
116
|
+
* mesh-SSBO + material-UBO pair to the larger of entity vs cumulative
|
|
117
|
+
* material-slot count, truncating on ceiling (graceful degradation). (3)
|
|
118
|
+
* feat-20260622 fold dispatch plan: build + apply the WebGL2 uniform-cap
|
|
119
|
+
* fallback + bump the folded-draws metric.
|
|
120
|
+
*
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
export declare function buildDispatchPlan(internals: RenderSystemInternals, validated: readonly ValidatedRenderable[], transparentDispatch: readonly DispatchEntry[], foldBuckets: readonly FoldBucket[], shadowValidated?: readonly ValidatedRenderable[], materialBindingClasses?: ReadonlyMap<string, string>): {
|
|
124
|
+
validatedOrdered: readonly ValidatedRenderable[];
|
|
125
|
+
shadowValidatedOrdered: readonly ValidatedRenderable[];
|
|
126
|
+
foldDispatchPlan: FoldDispatchPlan | null;
|
|
127
|
+
materialSlotIndices: readonly (readonly number[])[];
|
|
128
|
+
materialSlots: readonly MaterialSnapshot[];
|
|
129
|
+
materialSlotOwners: readonly ValidatedRenderable[];
|
|
130
|
+
materialSlotCount: number;
|
|
131
|
+
};
|
|
96
132
|
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/record/frame.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/record/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import type { PointsLinesRecordPlan } from '../points-lines/record';
|
|
|
5
5
|
import type { DispatchEntry, MaterialSnapshot, RenderableSnapshot } from '../render-system-extract';
|
|
6
6
|
import { geometryRenderStateForTopology } from './main-pass-material';
|
|
7
7
|
import type { _InternalRenderPipelineContext } from './render-context';
|
|
8
|
+
/** Temporal ignores authored color entry points; opaque duplicates are idempotent. */
|
|
9
|
+
export declare function sameOpaqueTemporalDraw(a: DispatchEntry, b: DispatchEntry): boolean;
|
|
8
10
|
type GeometryInstanceDraw = {
|
|
9
11
|
readonly instanceBuffer: Buffer;
|
|
10
12
|
readonly instanceBindGroup: BindGroup;
|
|
@@ -13,6 +15,9 @@ type GeometryInstanceDraw = {
|
|
|
13
15
|
readonly instanceCount: number;
|
|
14
16
|
};
|
|
15
17
|
type GeometryRenderState = ReturnType<typeof geometryRenderStateForTopology>;
|
|
18
|
+
/** Coverage is a dedicated temporal material variant, not a color/alpha tap. */
|
|
19
|
+
export declare function variantSetForCoveragePass(variantSet: string | undefined, coverageOnly: boolean): string | undefined;
|
|
20
|
+
export declare function isHdrGeometryTarget(tonemapActive: boolean, colorFormatOverride: GPUTextureFormat | undefined): boolean;
|
|
16
21
|
/**
|
|
17
22
|
* Select the transmission shader axis from authored material data, not the
|
|
18
23
|
* canonical boot schema. The latter reserves transmission fields for the
|
|
@@ -29,11 +34,11 @@ export declare function effectiveMaterialLayoutIdentity(materialShaderId: string
|
|
|
29
34
|
/**
|
|
30
35
|
* Resolve the depth contract for a geometry pass without changing the base
|
|
31
36
|
* material state. Temporal scene-data shares the main pass depth attachment:
|
|
32
|
-
* it is read-only and accepts the equal depth produced by the
|
|
33
|
-
*
|
|
37
|
+
* it is read-only and accepts the equal depth produced by the shared raster
|
|
38
|
+
* projection, while motion varyings remain unjittered. It rejects fragments behind the visible
|
|
34
39
|
* surface.
|
|
35
40
|
*/
|
|
36
|
-
export declare function geometryRenderStateForPass(base: GeometryRenderState, passKind: PassKind): GeometryRenderState;
|
|
41
|
+
export declare function geometryRenderStateForPass(base: GeometryRenderState, passKind: PassKind, coverageOnly?: boolean): GeometryRenderState;
|
|
37
42
|
/**
|
|
38
43
|
* Issues a prepared Points/Lines draw into the already-open geometry pass.
|
|
39
44
|
* Pass lifetime, attachments, bind groups, and submission remain owned by the
|
|
@@ -54,8 +59,8 @@ export declare function recordPointsLinesDraw(pass: RhiRenderPassEncoder, plan:
|
|
|
54
59
|
*
|
|
55
60
|
* @internal
|
|
56
61
|
*/
|
|
57
|
-
export declare function recordGeometryDraws(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedMaterials: ReadonlyMap<number, ReadonlySet<number>> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, meshGroup2: BindGroup | null, meshBindGroup: BindGroup | null, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World, materialShaderId?: string) => BindGroup, passKind?: PassKind, selectedDispatch?: readonly DispatchEntry[]): void;
|
|
58
|
-
export declare function reportInstanceResidency(c:
|
|
62
|
+
export declare function recordGeometryDraws(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedMaterials: ReadonlyMap<number, ReadonlySet<number>> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, meshGroup2: BindGroup | null, meshBindGroup: BindGroup | null, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World, materialShaderId?: string) => BindGroup, passKind?: PassKind, selectedDispatch?: readonly DispatchEntry[], colorFormats?: readonly GPUTextureFormat[], coverageOnly?: boolean): void;
|
|
63
|
+
export declare function reportInstanceResidency(c: _InternalRenderPipelineContext, inst: NonNullable<RenderableSnapshot['instances']>, input: {
|
|
59
64
|
readonly lane: 'direct-storage' | 'chunked-storage' | 'direct-uniform' | 'chunked-uniform';
|
|
60
65
|
readonly requestedBytes: number;
|
|
61
66
|
readonly supportedBytes: number | undefined;
|
|
@@ -65,12 +70,11 @@ export declare function reportInstanceResidency(c: Pick<_InternalRenderPipelineC
|
|
|
65
70
|
}[];
|
|
66
71
|
readonly uploadedBytes: number;
|
|
67
72
|
}): void;
|
|
68
|
-
export declare function resolveStorageInstanceChunks(c:
|
|
69
|
-
export declare function
|
|
70
|
-
export declare function resolveProbeBlendBuffer(c: Pick<_InternalRenderPipelineContext, 'runtime' | 'pipelineState' | 'frameState' | 'bindGroupCounts'>, record: import('../scene/probe-blend-record').ProbeBlendRecord | undefined, entityKey?: number): {
|
|
73
|
+
export declare function resolveStorageInstanceChunks(c: _InternalRenderPipelineContext, entry: _InternalRenderPipelineContext['validatedOrdered'][number], inst: NonNullable<RenderableSnapshot['instances']>, cap: number, probeBuffer: Buffer | undefined, probeOffset: number): readonly GeometryInstanceDraw[] | null;
|
|
74
|
+
export declare function resolveProbeBlendBuffer(c: _InternalRenderPipelineContext, record: import('../scene/probe-blend-record').ProbeBlendRecord | undefined, entityKey?: number): {
|
|
71
75
|
readonly buffer: Buffer;
|
|
72
76
|
readonly offset: number;
|
|
73
77
|
};
|
|
74
|
-
export declare function resolveGeometryInstancesBindGroup(c:
|
|
78
|
+
export declare function resolveGeometryInstancesBindGroup(c: _InternalRenderPipelineContext, instanceBuffer: Buffer, probeBuffer?: Buffer): BindGroup;
|
|
75
79
|
export {};
|
|
76
80
|
//# sourceMappingURL=main-pass-geometry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-pass-geometry.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,MAAM,EAGX,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"main-pass-geometry.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-geometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { derive } from '@forgeax/engine-types';
|
|
|
6
6
|
import type { GpuResidencyCache } from '../device/gpu-residency';
|
|
7
7
|
import { type SkylightBindGroupResources } from '../ibl/skylight-bind-group';
|
|
8
8
|
import type { PipelineGroup2Contract } from '../pbr-pipeline';
|
|
9
|
-
import type { MaterialSnapshot } from '../render-system-extract';
|
|
9
|
+
import type { MaterialSnapshot, SkylightSnapshot } from '../render-system-extract';
|
|
10
10
|
import { type RenderTargetMaterialSourceBinding } from '../targets/material-source';
|
|
11
11
|
import type { StandardReflectionProbeBinding } from './frame-lighting';
|
|
12
12
|
import type { BindGroupCounts, MaterialBgAssemblyCacheEntry, RenderFrameState } from './frame-snapshot';
|
|
@@ -179,6 +179,16 @@ export declare function writePbrMaterialUboPayload(buf: Uint8Array | Float32Arra
|
|
|
179
179
|
* record.test.ts; not part of the package's public surface).
|
|
180
180
|
*/
|
|
181
181
|
export declare function applyParamSnapshotToUbo(payload: MaterialUboPayload, paramSchema: readonly ParamSchemaEntry[] | undefined, paramSnapshot: Readonly<Record<string, number | readonly number[] | string | undefined>> | undefined): void;
|
|
182
|
+
/**
|
|
183
|
+
* Seed a schema-driven UBO with the defaults declared by its numeric contract.
|
|
184
|
+
*
|
|
185
|
+
* Prepared graphics (VFX and other feature-owned materials) do not pass
|
|
186
|
+
* through the extracted `MaterialSnapshot` writer, so their payload starts as
|
|
187
|
+
* zeroed storage. Applying the schema defaults first keeps that path
|
|
188
|
+
* byte-compatible with the ordinary material writer while preserving the
|
|
189
|
+
* snapshot writer's intentional overlay semantics.
|
|
190
|
+
*/
|
|
191
|
+
export declare function applyParamSchemaDefaultsToUbo(payload: MaterialUboPayload, paramSchema: readonly ParamSchemaEntry[] | undefined): void;
|
|
182
192
|
/**
|
|
183
193
|
* feat-20260704 M3/w19: shared per-submesh material bind-group assembly, hoisted
|
|
184
194
|
* from the `buildPerSubmeshMaterialBg` closure inside recordMainPass so both the
|
|
@@ -205,19 +215,49 @@ export interface PerSubmeshMaterialBgDeps {
|
|
|
205
215
|
readonly videoHighPerfAvailable: boolean;
|
|
206
216
|
readonly skylightResources: SkylightBindGroupResources;
|
|
207
217
|
readonly resolveRenderTargetTextureSource?: RenderSystemRuntime['resolveRenderTargetTextureSource'];
|
|
208
|
-
readonly resolveReflectionProbeResources?: (materialWorld: World, entityKey: number) =>
|
|
218
|
+
readonly resolveReflectionProbeResources?: (materialWorld: World, entityKey: number) => {
|
|
219
|
+
readonly resources: SkylightBindGroupResources;
|
|
220
|
+
readonly probeIndex: number;
|
|
221
|
+
} | undefined;
|
|
209
222
|
readonly materialBgShared: Map<string, WeakMap<object, unknown>>;
|
|
210
223
|
/** Cross-frame final BG reuse keyed by the stable source material handle. */
|
|
211
224
|
readonly materialBgAssemblyCache: Map<string, MaterialBgAssemblyCacheEntry>;
|
|
225
|
+
/** Producer-owned numeric scene rows consumed by scene-index PBR draws. */
|
|
226
|
+
readonly sceneMaterialBuffer?: Buffer;
|
|
212
227
|
/** Active transmission backdrop; undefined/null means layout placeholder. */
|
|
213
228
|
readonly transmissionBackdropView?: TextureView | null;
|
|
214
229
|
readonly bindGroupCounts: BindGroupCounts;
|
|
215
230
|
readonly frameState: RenderFrameState;
|
|
216
231
|
}
|
|
217
232
|
/** @internal Exported only so buffer-generation invalidation stays regression-tested. */
|
|
218
|
-
export declare function isMaterialBgAssemblyCacheHit(cached: MaterialBgAssemblyCacheEntry | undefined, material: MaterialSnapshot, materialBgl: BindGroupLayout, materialBuffer: Buffer, skylightResources: SkylightBindGroupResources, materialResourceEpoch: number, transmissionBackdropView?: TextureView | null): cached is MaterialBgAssemblyCacheEntry;
|
|
233
|
+
export declare function isMaterialBgAssemblyCacheHit(cached: MaterialBgAssemblyCacheEntry | undefined, material: MaterialSnapshot, materialBgl: BindGroupLayout, materialBuffer: Buffer, skylightResources: SkylightBindGroupResources, materialResourceEpoch: number, transmissionBackdropView?: TextureView | null, sceneMaterialBuffer?: Buffer): cached is MaterialBgAssemblyCacheEntry;
|
|
219
234
|
export declare function buildPerSubmeshMaterialBg(deps: PerSubmeshMaterialBgDeps, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld?: World, materialShaderId?: string | undefined): BindGroup;
|
|
220
235
|
/** The same scene resources back material bindings in depth and color passes. */
|
|
236
|
+
/**
|
|
237
|
+
* Resolve the renderer-owned Skylight bundle for both ordinary geometry and
|
|
238
|
+
* prepared RenderFeature materials. Feature preparation runs before the
|
|
239
|
+
* main pass is encoded, so it cannot rely on the geometry pass to initialize
|
|
240
|
+
* the intensity buffer or to select the current IBL views. Keeping this
|
|
241
|
+
* small argument-based helper as the single resolver makes the two paths use
|
|
242
|
+
* identical resources while retaining the existing frame-local write.
|
|
243
|
+
*/
|
|
244
|
+
export declare function resolveMaterialSkylight(runtime: Pick<RenderSystemRuntime, 'device' | 'deviceScope'>, pipelineState: Pick<PipelineState, 'skylightFallback'>, skylight: SkylightSnapshot | undefined, skylightCount: number, environmentIbl?: _InternalRenderPipelineContext['environmentIbl']): {
|
|
245
|
+
skylightResources: {
|
|
246
|
+
irradianceView: TextureView;
|
|
247
|
+
irradianceSampler: Sampler;
|
|
248
|
+
prefilterView: TextureView;
|
|
249
|
+
prefilterSampler: Sampler;
|
|
250
|
+
brdfLutView: TextureView;
|
|
251
|
+
brdfLutSampler: Sampler;
|
|
252
|
+
intensityBuffer: Buffer;
|
|
253
|
+
};
|
|
254
|
+
activeViews: {
|
|
255
|
+
irr: TextureView;
|
|
256
|
+
pref: TextureView;
|
|
257
|
+
brdf: TextureView;
|
|
258
|
+
} | undefined;
|
|
259
|
+
};
|
|
260
|
+
/** The same scene resources back material bindings in depth and color passes. */
|
|
221
261
|
export declare function prepareMaterialSkylight(c: _InternalRenderPipelineContext): {
|
|
222
262
|
skylightResources: {
|
|
223
263
|
irradianceView: TextureView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-pass-material.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-material.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main-pass-material.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-material.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import type { World } from '@forgeax/engine-ecs';
|
|
2
|
-
import { type BindGroup, type
|
|
3
|
-
import { type SkylightBindGroupResources } from '../ibl/skylight-bind-group';
|
|
2
|
+
import { type BindGroup, type RhiRenderPassEncoder } from '@forgeax/engine-rhi';
|
|
4
3
|
import type { InstanceBufferCacheEntry } from '../instance-buffer-cache';
|
|
5
4
|
import type { DispatchEntry, MaterialSnapshot, SpriteInstancesSnapshot } from '../render-system-extract';
|
|
6
5
|
import type { _InternalRenderPipelineContext } from './render-context';
|
|
7
6
|
export type { SpriteInstancesSnapshot };
|
|
8
|
-
/**
|
|
9
|
-
* Build the sprite material's Standard user-region from the shared field-order
|
|
10
|
-
* owner. The sprite shader uses the same Standard material bind-group layout;
|
|
11
|
-
* keeping this projection derived from the shared list prevents IBL injection
|
|
12
|
-
* from moving ahead of newly added material texture pairs.
|
|
13
|
-
*/
|
|
14
|
-
export declare function buildSpritePassBaseMaterialEntries(pipelineState: _InternalRenderPipelineContext['pipelineState'], spriteTexView: TextureView): BindGroupEntry[];
|
|
15
7
|
/**
|
|
16
8
|
* Build the interleaved sprite instance payload consumed by this record owner.
|
|
17
9
|
* The extract stage validates the two packed arrays before they reach this
|
|
@@ -46,5 +38,5 @@ export declare function computeSplitLdrSprite(validatedOrdered: readonly ({
|
|
|
46
38
|
*
|
|
47
39
|
* @internal
|
|
48
40
|
*/
|
|
49
|
-
export declare function recordSpritePass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedIndices: Set<number> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World, materialShaderId?: string) => BindGroup,
|
|
41
|
+
export declare function recordSpritePass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, matchedIndices: Set<number> | null, materialSlotIndices: readonly (readonly number[])[], sampleCount: number, resolveMaterialBindGroup: (materialSlot: number, submeshMaterial: MaterialSnapshot, entityKey: number, materialWorld: World, materialShaderId?: string) => BindGroup, graphPass?: RhiRenderPassEncoder, selectedDispatch?: readonly DispatchEntry[]): boolean;
|
|
50
42
|
//# sourceMappingURL=main-pass-sprite-draws.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-pass-sprite-draws.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-sprite-draws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"main-pass-sprite-draws.d.ts","sourceRoot":"","sources":["../../src/record/main-pass-sprite-draws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,SAAS,EAId,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAIzE,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAGvE,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,YAAY,EACxB,OAAO,EAAE,YAAY,EACrB,eAAe,UAAQ,GACtB,YAAY,CAoBd;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAC3C,QAAQ,EAAE,uBAAuB,EACjC,cAAc,EAAE,MAAM,GACrB,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,SAAS,CACvB;IACE,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;KAClD,CAAC;CACH,GACD,SAAS,CACZ,EAAE,EACH,aAAa,EAAE,OAAO,EACtB,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,GAClC,OAAO,CAiBT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAClC,mBAAmB,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACnD,WAAW,EAAE,MAAM,EACnB,wBAAwB,EAAE,CACxB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,KAAK,EACpB,gBAAgB,CAAC,EAAE,MAAM,KACtB,SAAS,EACd,SAAS,CAAC,EAAE,oBAAoB,EAChC,gBAAgB,CAAC,EAAE,SAAS,aAAa,EAAE,GAC1C,OAAO,CA4NT"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { GraphResourceResolver } from '@forgeax/engine-render-graph';
|
|
1
2
|
import { type RhiRenderPassEncoder, type TextureView } from '@forgeax/engine-rhi';
|
|
2
3
|
import type { PassKind, PassSelector } from '@forgeax/engine-types';
|
|
3
4
|
import type { ReflectionProbeSelectionResult } from '../reflection/projection';
|
|
5
|
+
import type { GpuDrivenStandardPbrFrameResources, RenderPipelineGpuDrivenProjection } from '../render-pipeline';
|
|
4
6
|
import type { _InternalRenderPipelineContext } from './render-context';
|
|
5
7
|
export declare function standardReflectionProbeIndex(selection: ReflectionProbeSelectionResult): number | undefined;
|
|
6
8
|
export type MainPassOptions = {
|
|
@@ -10,7 +12,17 @@ export type MainPassOptions = {
|
|
|
10
12
|
readonly passKind?: PassKind;
|
|
11
13
|
readonly clearColor?: readonly [number, number, number, number];
|
|
12
14
|
readonly recordMode?: 'opaque' | 'transmission' | 'transparent';
|
|
15
|
+
/** Exclude material/pass pairs already consumed by an earlier graph lane. */
|
|
16
|
+
readonly excludeSelector?: PassSelector;
|
|
17
|
+
/** Require the same material to contribute to another graph lane. */
|
|
18
|
+
readonly includeSelector?: PassSelector;
|
|
13
19
|
readonly transmissionBackdropView?: TextureView | null;
|
|
20
|
+
/** Select the material temporal entry's binary coverage output. */
|
|
21
|
+
readonly coverageOnly?: boolean;
|
|
22
|
+
readonly gpuDriven?: {
|
|
23
|
+
readonly projection: RenderPipelineGpuDrivenProjection;
|
|
24
|
+
readonly resources: GraphResourceResolver;
|
|
25
|
+
};
|
|
14
26
|
};
|
|
15
27
|
/**
|
|
16
28
|
* feat-20260529-rendergraph-pass-abstraction M4 / w13b: main forward
|
|
@@ -19,6 +31,6 @@ export type MainPassOptions = {
|
|
|
19
31
|
* sub-pass write into geometryColorView (HDR target or swap-chain view).
|
|
20
32
|
* Driven by the render-graph 'main' pass execute closure.
|
|
21
33
|
*/
|
|
22
|
-
export declare function recordMainPass(c: _InternalRenderPipelineContext, selector?: PassSelector, options?: MainPassOptions, graphPass?: RhiRenderPassEncoder):
|
|
23
|
-
export declare function encodeMainPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, selector?: PassSelector, options?: MainPassOptions):
|
|
34
|
+
export declare function recordMainPass(c: _InternalRenderPipelineContext, selector?: PassSelector, options?: MainPassOptions, graphPass?: RhiRenderPassEncoder): GpuDrivenStandardPbrFrameResources | undefined;
|
|
35
|
+
export declare function encodeMainPass(c: _InternalRenderPipelineContext, pass: RhiRenderPassEncoder, selector?: PassSelector, options?: MainPassOptions): GpuDrivenStandardPbrFrameResources | undefined;
|
|
24
36
|
//# sourceMappingURL=main-pass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-pass.d.ts","sourceRoot":"","sources":["../../src/record/main-pass.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"main-pass.d.ts","sourceRoot":"","sources":["../../src/record/main-pass.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAUpE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,KAAK,EACV,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,oBAAoB,CAAC;AAW5B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAQvE,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,8BAA8B,GACxC,MAAM,GAAG,SAAS,CAEpB;AAcD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;IAChE,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACvD,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAC;QACvD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;KAC3C,CAAC;CACH,CAAC;AA+CF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,8BAA8B,EACjC,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,eAAe,EACzB,SAAS,CAAC,EAAE,oBAAoB,GAC/B,kCAAkC,GAAG,SAAS,CA0kBhD;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,8BAA8B,EACjC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,kCAAkC,GAAG,SAAS,CAEhD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type BindGroup, type Buffer, RhiError, type RhiQueue } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
2
3
|
import type { DispatchEntry } from '../render-system-extract';
|
|
3
4
|
import { type TransparentSortConfig } from '../systems/transparent-sort-config';
|
|
4
5
|
import type { ValidatedRenderable } from './frame-snapshot';
|
|
@@ -53,6 +54,15 @@ export declare function getOrCreateFromChain(root: WeakMap<object, unknown>, han
|
|
|
53
54
|
createBindGroup: number;
|
|
54
55
|
keys: string[];
|
|
55
56
|
}): BindGroup;
|
|
57
|
+
/**
|
|
58
|
+
* Result-preserving sibling of `getOrCreateFromChain`. RHI creation can fail
|
|
59
|
+
* transiently during recovery or capability probing; a failed attempt must
|
|
60
|
+
* not enter the cache and must remain a structured Result for the caller.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getOrCreateFromChainResult<E>(root: WeakMap<object, unknown>, handles: readonly object[], variant: string, factory: () => Result<BindGroup, E>, counts: {
|
|
63
|
+
createBindGroup: number;
|
|
64
|
+
keys: string[];
|
|
65
|
+
}): Result<BindGroup, E>;
|
|
56
66
|
/**
|
|
57
67
|
* Read a cached bind group using the same variable-depth chain contract as
|
|
58
68
|
* `getOrCreateFromChain`. Readers must traverse the terminal marker instead
|
|
@@ -188,7 +198,7 @@ export declare function isMeshSsboDevMode(): boolean;
|
|
|
188
198
|
*/
|
|
189
199
|
export declare function uploadMeshSsboBatch(queue: RhiQueue, meshStorageBuffer: {
|
|
190
200
|
readonly buffer: Buffer;
|
|
191
|
-
}, validatedOrdered: readonly ValidatedRenderable[], foldDispatchPlan: FoldDispatchPlan | null): void;
|
|
201
|
+
}, validatedOrdered: readonly ValidatedRenderable[], foldDispatchPlan: FoldDispatchPlan | null, startSlot?: number): void;
|
|
192
202
|
/**
|
|
193
203
|
* Per-bucket descriptor produced by {@link foldDispatchBuckets}.
|
|
194
204
|
*
|
|
@@ -240,11 +250,10 @@ export interface FoldBucket {
|
|
|
240
250
|
* minimal shape. The gate read inside the helper uses `=== true` /
|
|
241
251
|
* `!== true` so both `false` and `undefined` enter the singleton branch.
|
|
242
252
|
*
|
|
243
|
-
* feat-20260625-refactor-sprite-as-transparent-mesh R2 fix-up:
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
* `splitLdrSprite` filter at render-system-record.ts:4826/5612 uses).
|
|
253
|
+
* feat-20260625-refactor-sprite-as-transparent-mesh R2 fix-up: the
|
|
254
|
+
* transparent flag identifies the LDR split sub-pass, while the shader id
|
|
255
|
+
* identifies the sprite owner that is safe to fold. Standard PBR Alpha Blend
|
|
256
|
+
* remains singleton so its geometry pass keeps one projection row per draw.
|
|
248
257
|
*/
|
|
249
258
|
export interface FoldRenderableLike {
|
|
250
259
|
readonly transform: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-ssbo.d.ts","sourceRoot":"","sources":["../../src/record/mesh-ssbo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mesh-ssbo.d.ts","sourceRoot":"","sources":["../../src/record/mesh-ssbo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { World } from '@forgeax/engine-ecs';
|
|
2
|
+
import type { BindGroupLayout } from '@forgeax/engine-rhi';
|
|
3
|
+
import type { SkylightBindGroupResources } from '../ibl/skylight-bind-group';
|
|
4
|
+
import type { RenderSystemInternals } from './render-context';
|
|
5
|
+
export type PreparedResolverCaches = {
|
|
6
|
+
readonly preparedPipelineIds: WeakMap<object, string>;
|
|
7
|
+
readonly preparedMaterialPipelineShaders: WeakMap<object, string>;
|
|
8
|
+
readonly preparedGroup0Pipelines: WeakSet<object>;
|
|
9
|
+
readonly preparedViewOnlyPipelines: WeakSet<object>;
|
|
10
|
+
readonly preparedRenderMaterialPipelines: WeakSet<object>;
|
|
11
|
+
readonly preparedAssetHandles: WeakMap<World, Map<string, number>>;
|
|
12
|
+
};
|
|
13
|
+
export declare function createPreparedResolverCaches(): PreparedResolverCaches;
|
|
14
|
+
export declare function preparedMaterialBindings(runtime: RenderSystemInternals, caches: PreparedResolverCaches, worlds: readonly World[], materialShaderId: string, worldIndex: number, materialGuid: string, layout: BindGroupLayout, skylightResources?: SkylightBindGroupResources): import("@forgeax/engine-types").ResultOk<import("@forgeax/engine-rhi").BindGroup> | import("@forgeax/engine-types").ResultErr<Error> | import("@forgeax/engine-types").ResultOk<{
|
|
15
|
+
handle: import("@forgeax/engine-rhi").BindGroup;
|
|
16
|
+
dynamicOffsets: number[];
|
|
17
|
+
release: () => import("@forgeax/engine-types").Result<void, import("@forgeax/engine-rhi").RhiError>;
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=prepared-material-bindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-material-bindings.d.ts","sourceRoot":"","sources":["../../src/record/prepared-material-bindings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAkB,eAAe,EAAU,MAAM,qBAAqB,CAAC;AAYnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAQ7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpE,CAAC;AAEF,wBAAgB,4BAA4B,IAAI,sBAAsB,CASrE;AAwBD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,eAAe,EACvB,iBAAiB,CAAC,EAAE,0BAA0B;;;;GAmK/C"}
|
|
@@ -7,6 +7,7 @@ import type { PipelineState, RecoveryColdWorkGuard, RenderSystemInternals } from
|
|
|
7
7
|
export interface RecoveryPipelineReadiness {
|
|
8
8
|
readonly pipelineSpecs: readonly PipelineSpec[];
|
|
9
9
|
/** Re-resolve every candidate request and assert a stable cache hit. */
|
|
10
|
+
readonly assertPreparedCache: () => void;
|
|
10
11
|
readonly assertFirstRecoveryFrame: () => void;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-pipeline.d.ts","sourceRoot":"","sources":["../../src/record/recovery-pipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recovery-pipeline.d.ts","sourceRoot":"","sources":["../../src/record/recovery-pipeline.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAGL,KAAK,YAAY,EAKlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,KAAK,EAEV,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IACzC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,IAAI,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CA6CnE;AA6eD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;CAC/C,GAAG,yBAAyB,CA2E5B"}
|