@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
|
@@ -1,4 +1,118 @@
|
|
|
1
1
|
import { cubeArrayDepthDescriptor, comparisonSamplerDescriptor, cubeArrayDepthFaceView } from '@forgeax/engine-rhi';
|
|
2
|
+
import { err, ok } from '@forgeax/engine-types';
|
|
3
|
+
|
|
4
|
+
// src/pipeline/standard-output/auto-exposure/inspection.ts
|
|
5
|
+
var AutoExposureInvalidParameterError = class extends Error {
|
|
6
|
+
constructor(detail) {
|
|
7
|
+
super(`auto-exposure-invalid-parameter: ${detail.field}`);
|
|
8
|
+
this.detail = detail;
|
|
9
|
+
this.name = "AutoExposureInvalidParameterError";
|
|
10
|
+
}
|
|
11
|
+
detail;
|
|
12
|
+
code = "auto-exposure-invalid-parameter";
|
|
13
|
+
expected = ERROR_POLICY[this.code].expected;
|
|
14
|
+
hint = ERROR_POLICY[this.code].hint;
|
|
15
|
+
};
|
|
16
|
+
var AutoExposureCapabilityUnavailableError = class extends Error {
|
|
17
|
+
constructor(detail) {
|
|
18
|
+
super(`auto-exposure-capability-unavailable: ${detail.capability}`);
|
|
19
|
+
this.detail = detail;
|
|
20
|
+
this.name = "AutoExposureCapabilityUnavailableError";
|
|
21
|
+
}
|
|
22
|
+
detail;
|
|
23
|
+
code = "auto-exposure-capability-unavailable";
|
|
24
|
+
expected = ERROR_POLICY[this.code].expected;
|
|
25
|
+
hint = ERROR_POLICY[this.code].hint;
|
|
26
|
+
};
|
|
27
|
+
var AutoExposureStaleGenerationError = class extends Error {
|
|
28
|
+
constructor(detail) {
|
|
29
|
+
super(
|
|
30
|
+
`auto-exposure-stale-generation: ${detail.actualGeneration} != ${detail.expectedGeneration}`
|
|
31
|
+
);
|
|
32
|
+
this.detail = detail;
|
|
33
|
+
this.name = "AutoExposureStaleGenerationError";
|
|
34
|
+
}
|
|
35
|
+
detail;
|
|
36
|
+
code = "auto-exposure-stale-generation";
|
|
37
|
+
expected = ERROR_POLICY[this.code].expected;
|
|
38
|
+
hint = ERROR_POLICY[this.code].hint;
|
|
39
|
+
};
|
|
40
|
+
var AutoExposureStageFailedError = class extends Error {
|
|
41
|
+
constructor(detail) {
|
|
42
|
+
super(`auto-exposure-stage-failed: ${detail.operation}`);
|
|
43
|
+
this.detail = detail;
|
|
44
|
+
this.name = "AutoExposureStageFailedError";
|
|
45
|
+
}
|
|
46
|
+
detail;
|
|
47
|
+
code = "auto-exposure-stage-failed";
|
|
48
|
+
expected = ERROR_POLICY[this.code].expected;
|
|
49
|
+
hint = ERROR_POLICY[this.code].hint;
|
|
50
|
+
};
|
|
51
|
+
var ERROR_POLICY = {
|
|
52
|
+
"auto-exposure-invalid-parameter": {
|
|
53
|
+
expected: "camera auto-exposure parameters are finite and within their declared ranges",
|
|
54
|
+
hint: "inspect the field and provide a finite value before rebuilding the camera output"
|
|
55
|
+
},
|
|
56
|
+
"auto-exposure-capability-unavailable": {
|
|
57
|
+
expected: "the auto-exposure stage has the required device capability",
|
|
58
|
+
hint: "inspect live capabilities and retry the same camera generation"
|
|
59
|
+
},
|
|
60
|
+
"auto-exposure-stale-generation": {
|
|
61
|
+
expected: "the prepared auto-exposure state matches the camera target generation",
|
|
62
|
+
hint: "discard stale prepared state and rebuild from the latest camera snapshot"
|
|
63
|
+
},
|
|
64
|
+
"auto-exposure-stage-failed": {
|
|
65
|
+
expected: "the auto-exposure stage completes its declared operation",
|
|
66
|
+
hint: "inspect the structured cause, preserve lastKnownGood, and retry the stage"
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
function createAutoExposureError(input) {
|
|
70
|
+
if (input instanceof AutoExposureInvalidParameterError || input instanceof AutoExposureCapabilityUnavailableError || input instanceof AutoExposureStaleGenerationError || input instanceof AutoExposureStageFailedError) {
|
|
71
|
+
return input;
|
|
72
|
+
}
|
|
73
|
+
switch (input.code) {
|
|
74
|
+
case "auto-exposure-invalid-parameter":
|
|
75
|
+
return new AutoExposureInvalidParameterError(input.detail);
|
|
76
|
+
case "auto-exposure-capability-unavailable":
|
|
77
|
+
return new AutoExposureCapabilityUnavailableError(input.detail);
|
|
78
|
+
case "auto-exposure-stale-generation":
|
|
79
|
+
return new AutoExposureStaleGenerationError(input.detail);
|
|
80
|
+
case "auto-exposure-stage-failed":
|
|
81
|
+
return new AutoExposureStageFailedError(input.detail);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function cloneExposure(exposure) {
|
|
85
|
+
if (exposure.kind === "manual") return { ...exposure };
|
|
86
|
+
return {
|
|
87
|
+
...exposure,
|
|
88
|
+
rangeEv: [exposure.rangeEv[0], exposure.rangeEv[1]],
|
|
89
|
+
rates: [exposure.rates[0], exposure.rates[1]]
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function cloneFailure(error) {
|
|
93
|
+
if (error === void 0) return void 0;
|
|
94
|
+
return Object.freeze({
|
|
95
|
+
...error,
|
|
96
|
+
detail: Object.freeze({ ...error.detail })
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function createAutoExposureInspection(input) {
|
|
100
|
+
const base = {
|
|
101
|
+
requested: cloneExposure(input.requested),
|
|
102
|
+
actual: input.actual,
|
|
103
|
+
actualState: input.actualState ?? (input.actual === null ? "gpu-resident" : "accepted"),
|
|
104
|
+
fallback: input.fallback,
|
|
105
|
+
lastKnownGood: input.lastKnownGood,
|
|
106
|
+
targetGeneration: input.targetGeneration,
|
|
107
|
+
reset: Object.freeze([...input.reset]),
|
|
108
|
+
cost: Object.freeze({ ...input.cost }),
|
|
109
|
+
receipt: Object.freeze({ ...input.receipt })
|
|
110
|
+
};
|
|
111
|
+
if (input.recentFailure === void 0) return Object.freeze(base);
|
|
112
|
+
const recentFailure = cloneFailure(createAutoExposureError(input.recentFailure));
|
|
113
|
+
if (recentFailure === void 0) return Object.freeze(base);
|
|
114
|
+
return Object.freeze({ ...base, recentFailure });
|
|
115
|
+
}
|
|
2
116
|
|
|
3
117
|
// src/errors/render.ts
|
|
4
118
|
var LifecycleConstructionError = class extends Error {
|
|
@@ -259,16 +373,16 @@ var MaterialSkinAttrMissingError = class extends Error {
|
|
|
259
373
|
expected;
|
|
260
374
|
hint;
|
|
261
375
|
detail;
|
|
262
|
-
constructor(entity,
|
|
376
|
+
constructor(entity, missing2) {
|
|
263
377
|
const expected = "pbr-skin material requires mesh.attributes.skinIndex + skinWeight";
|
|
264
|
-
const hint = `entity ${entity} uses forgeax::pbr-skin but its MeshAsset is missing ${
|
|
378
|
+
const hint = `entity ${entity} uses forgeax::pbr-skin but its MeshAsset is missing ${missing2}; switch the entity to a skinned glTF mesh authored with JOINTS_0 + WEIGHTS_0, or change the material to a non-skin shader via Materials.standard / Materials.unlit`;
|
|
265
379
|
super(
|
|
266
|
-
`material/skin attribute mismatch on entity ${entity}: pbr-skin material with mesh missing ${
|
|
380
|
+
`material/skin attribute mismatch on entity ${entity}: pbr-skin material with mesh missing ${missing2}`
|
|
267
381
|
);
|
|
268
382
|
this.name = "MaterialSkinAttrMissingError";
|
|
269
383
|
this.expected = expected;
|
|
270
384
|
this.hint = hint;
|
|
271
|
-
this.detail = { entity, missing };
|
|
385
|
+
this.detail = { entity, missing: missing2 };
|
|
272
386
|
}
|
|
273
387
|
};
|
|
274
388
|
var TransmissionCapabilityMissingError = class extends Error {
|
|
@@ -512,6 +626,41 @@ var AtmosphereInvalidParameterError = class extends Error {
|
|
|
512
626
|
this.hint = `set Atmosphere.${field} to a finite value ${rangeText}`;
|
|
513
627
|
}
|
|
514
628
|
};
|
|
629
|
+
var DynamicResolutionInvalidParameterError = class extends Error {
|
|
630
|
+
code = "dynamic-resolution-invalid-parameter";
|
|
631
|
+
expected;
|
|
632
|
+
hint;
|
|
633
|
+
detail;
|
|
634
|
+
constructor(detail) {
|
|
635
|
+
super(`DynamicResolution.${detail.field} is invalid`);
|
|
636
|
+
this.name = "DynamicResolutionInvalidParameterError";
|
|
637
|
+
this.expected = `DynamicResolution.${detail.field} must be ${detail.expected}`;
|
|
638
|
+
this.hint = `set DynamicResolution.${detail.field} to a value that is ${detail.expected}`;
|
|
639
|
+
this.detail = detail;
|
|
640
|
+
}
|
|
641
|
+
};
|
|
642
|
+
var DynamicResolutionRequiresTaaError = class extends Error {
|
|
643
|
+
code = "dynamic-resolution-requires-taa";
|
|
644
|
+
expected = "DynamicResolution requires Camera.antialias to be 'taa'";
|
|
645
|
+
hint = "set Camera.antialias to 'taa' or remove DynamicResolution before retrying";
|
|
646
|
+
detail;
|
|
647
|
+
constructor(detail) {
|
|
648
|
+
super("DynamicResolution requires TAA");
|
|
649
|
+
this.name = "DynamicResolutionRequiresTaaError";
|
|
650
|
+
this.detail = detail;
|
|
651
|
+
}
|
|
652
|
+
};
|
|
653
|
+
var DynamicResolutionTimingUnavailableError = class extends Error {
|
|
654
|
+
code = "dynamic-resolution-timing-unavailable";
|
|
655
|
+
expected = "adaptive resolution receives a completed GPU timing sample";
|
|
656
|
+
hint = "use fixed minScale=maxScale or retry after timestamp support is available";
|
|
657
|
+
detail;
|
|
658
|
+
constructor(detail) {
|
|
659
|
+
super(`DynamicResolution timing is unavailable for generation ${detail.generation}`);
|
|
660
|
+
this.name = "DynamicResolutionTimingUnavailableError";
|
|
661
|
+
this.detail = detail;
|
|
662
|
+
}
|
|
663
|
+
};
|
|
515
664
|
var OwnerStageFailedError = class extends Error {
|
|
516
665
|
code = "owner-stage-failed";
|
|
517
666
|
expected = "the owner completes its current frame stage";
|
|
@@ -778,6 +927,7 @@ var VolumeInvalidParametersError = class extends Error {
|
|
|
778
927
|
var GPU_TEXTURE_USAGE_COPY_SRC = 1;
|
|
779
928
|
var GPU_TEXTURE_USAGE_COPY_DST = 2;
|
|
780
929
|
var GPU_TEXTURE_USAGE_TEXTURE_BINDING = 4;
|
|
930
|
+
var GPU_TEXTURE_USAGE_STORAGE_BINDING = 8;
|
|
781
931
|
var GPU_TEXTURE_USAGE_RENDER_ATTACHMENT = 16;
|
|
782
932
|
var GPU_TEXTURE_USAGE_RENDER_ATTACHMENT_AND_TEXTURE_BINDING = GPU_TEXTURE_USAGE_RENDER_ATTACHMENT | GPU_TEXTURE_USAGE_TEXTURE_BINDING;
|
|
783
933
|
|
|
@@ -929,6 +1079,461 @@ var ShadowAtlas = class {
|
|
|
929
1079
|
}
|
|
930
1080
|
};
|
|
931
1081
|
|
|
1082
|
+
// src/errors/gpu-driven.ts
|
|
1083
|
+
var ERROR_POLICY2 = {
|
|
1084
|
+
"missing-material-receipt": {
|
|
1085
|
+
expected: "a producer-owned material program receipt is present",
|
|
1086
|
+
hint: "cook and load the selected material program artifact, then retry preparation",
|
|
1087
|
+
recovery: "rebuild-producer"
|
|
1088
|
+
},
|
|
1089
|
+
"material-abi-not-executable": {
|
|
1090
|
+
expected: "the published material ABI fits the GPU Scene submission layout",
|
|
1091
|
+
hint: "recook the material with a scene-index ABI supported by the GPU-driven owner or keep it on its authored lane",
|
|
1092
|
+
recovery: "route-cpu-lane"
|
|
1093
|
+
},
|
|
1094
|
+
"missing-uv": {
|
|
1095
|
+
expected: "the geometry exposes every UV set named by the material receipt",
|
|
1096
|
+
hint: "repair the geometry UV semantic or route the draw to the CPU semantic lane",
|
|
1097
|
+
recovery: "route-cpu-lane"
|
|
1098
|
+
},
|
|
1099
|
+
"reflection-mismatch": {
|
|
1100
|
+
expected: "the loaded reflection receipt matches the artifact layout identity",
|
|
1101
|
+
hint: "rebuild the material artifact and reflection from one source, then retry",
|
|
1102
|
+
recovery: "rebuild-producer"
|
|
1103
|
+
},
|
|
1104
|
+
"vertex-input-mismatch": {
|
|
1105
|
+
expected: "geometry vertex semantics match the material reflection receipt",
|
|
1106
|
+
hint: "repair the geometry vertex semantic layout or route the draw to the CPU lane",
|
|
1107
|
+
recovery: "route-cpu-lane"
|
|
1108
|
+
},
|
|
1109
|
+
"alpha-mask-mismatch": {
|
|
1110
|
+
expected: "the Alpha Mask cutoff is present in the material receipt",
|
|
1111
|
+
hint: "declare the pass coverage cutoff in the material schema and recook it",
|
|
1112
|
+
recovery: "rebuild-producer"
|
|
1113
|
+
},
|
|
1114
|
+
"resource-not-ready": {
|
|
1115
|
+
expected: "all material resource slots have resolved handles",
|
|
1116
|
+
hint: "resolve the declared texture and sampler resources before recording",
|
|
1117
|
+
recovery: "retry-same-draw"
|
|
1118
|
+
},
|
|
1119
|
+
"stale-generation": {
|
|
1120
|
+
expected: "receipt and prepared inputs belong to the requested generation",
|
|
1121
|
+
hint: "discard stale GPU facts, rebuild the producer receipt, and retry the same draw",
|
|
1122
|
+
recovery: "rebuild-generation"
|
|
1123
|
+
},
|
|
1124
|
+
"skin-receipt-mismatch": {
|
|
1125
|
+
expected: "skinned geometry has a current palette address receipt",
|
|
1126
|
+
hint: "rebuild the Skin palette receipt for this generation before recording",
|
|
1127
|
+
recovery: "rebuild-producer"
|
|
1128
|
+
},
|
|
1129
|
+
"shadow-ownership": {
|
|
1130
|
+
expected: "every declared ShadowCaster pass has one GPU-compatible draw-item owner",
|
|
1131
|
+
hint: "repair the ShadowCaster producer membership or keep the residual on its explicit CPU lane",
|
|
1132
|
+
recovery: "route-cpu-lane"
|
|
1133
|
+
}
|
|
1134
|
+
};
|
|
1135
|
+
var GpuDrivenPreparationError = class extends Error {
|
|
1136
|
+
code;
|
|
1137
|
+
expected;
|
|
1138
|
+
hint;
|
|
1139
|
+
detail;
|
|
1140
|
+
constructor(code, detail) {
|
|
1141
|
+
const policy = ERROR_POLICY2[code];
|
|
1142
|
+
super(`[GpuDrivenPreparationError ${code}] ${policy.expected}`);
|
|
1143
|
+
this.name = "GpuDrivenPreparationError";
|
|
1144
|
+
this.code = code;
|
|
1145
|
+
this.expected = policy.expected;
|
|
1146
|
+
this.hint = policy.hint;
|
|
1147
|
+
this.detail = Object.freeze({
|
|
1148
|
+
...detail,
|
|
1149
|
+
recovery: detail.recovery ?? policy.recovery
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
};
|
|
1153
|
+
var MATRIX_STRIDE = 16;
|
|
1154
|
+
var INITIAL_CAPACITY = 1;
|
|
1155
|
+
function instanceUploadRangesForResident(activeIsNew, dirtyRanges, fullRange) {
|
|
1156
|
+
return activeIsNew ? [fullRange] : dirtyRanges;
|
|
1157
|
+
}
|
|
1158
|
+
function instanceCollectionFailureFacts(cause, recovery, requestedBytes = 0, supportedBytes = void 0, backend = "unknown") {
|
|
1159
|
+
return {
|
|
1160
|
+
requestedBytes,
|
|
1161
|
+
supportedBytes,
|
|
1162
|
+
backend,
|
|
1163
|
+
owner: "renderer.instances",
|
|
1164
|
+
cause,
|
|
1165
|
+
recovery
|
|
1166
|
+
};
|
|
1167
|
+
}
|
|
1168
|
+
var InstanceCollectionError = class extends Error {
|
|
1169
|
+
code;
|
|
1170
|
+
expected;
|
|
1171
|
+
hint;
|
|
1172
|
+
detail;
|
|
1173
|
+
owner = "renderer.instances";
|
|
1174
|
+
recovery;
|
|
1175
|
+
facts;
|
|
1176
|
+
constructor(code, expected, hint, detail, facts) {
|
|
1177
|
+
super(`${code}: ${expected}`);
|
|
1178
|
+
this.name = "InstanceCollectionError";
|
|
1179
|
+
this.code = code;
|
|
1180
|
+
this.expected = expected;
|
|
1181
|
+
this.hint = hint;
|
|
1182
|
+
this.detail = detail;
|
|
1183
|
+
this.facts = facts ?? instanceCollectionFailureFacts(
|
|
1184
|
+
code,
|
|
1185
|
+
hint,
|
|
1186
|
+
detail?.operation === "create" || detail?.operation === "replace" ? typeof detail.actual === "number" && Number.isFinite(detail.actual) ? detail.actual * Float32Array.BYTES_PER_ELEMENT : 0 : 0
|
|
1187
|
+
);
|
|
1188
|
+
this.recovery = this.facts.recovery;
|
|
1189
|
+
}
|
|
1190
|
+
};
|
|
1191
|
+
function nextCapacity(required) {
|
|
1192
|
+
let capacity = INITIAL_CAPACITY;
|
|
1193
|
+
while (capacity < required) capacity *= 2;
|
|
1194
|
+
return capacity;
|
|
1195
|
+
}
|
|
1196
|
+
function invalid(operation, expected, actual, collectionId, context) {
|
|
1197
|
+
const hint = "repair the collection payload and retry the same authoring operation";
|
|
1198
|
+
return new InstanceCollectionError(
|
|
1199
|
+
"instance-collection-invalid",
|
|
1200
|
+
expected,
|
|
1201
|
+
hint,
|
|
1202
|
+
{ operation, expected, actual, ...collectionId === void 0 ? {} : { collectionId } },
|
|
1203
|
+
instanceCollectionFailureFacts(
|
|
1204
|
+
context?.cause ?? `invalid-${operation}-authoring`,
|
|
1205
|
+
context?.recovery ?? hint,
|
|
1206
|
+
context?.requestedBytes ?? 0,
|
|
1207
|
+
context?.supportedBytes
|
|
1208
|
+
)
|
|
1209
|
+
);
|
|
1210
|
+
}
|
|
1211
|
+
function validateTransforms(operation, transforms, collectionId) {
|
|
1212
|
+
if (!(transforms instanceof Float32Array)) {
|
|
1213
|
+
return invalid(operation, "transforms is a Float32Array", typeof transforms, collectionId, {
|
|
1214
|
+
cause: "invalid-transform-type"
|
|
1215
|
+
});
|
|
1216
|
+
}
|
|
1217
|
+
if (transforms.length % MATRIX_STRIDE !== 0) {
|
|
1218
|
+
return invalid(
|
|
1219
|
+
operation,
|
|
1220
|
+
`transforms.length is a multiple of ${MATRIX_STRIDE}`,
|
|
1221
|
+
transforms.length,
|
|
1222
|
+
collectionId,
|
|
1223
|
+
{
|
|
1224
|
+
requestedBytes: transforms.byteLength,
|
|
1225
|
+
cause: "invalid-transform-stride"
|
|
1226
|
+
}
|
|
1227
|
+
);
|
|
1228
|
+
}
|
|
1229
|
+
for (const value of transforms) {
|
|
1230
|
+
if (!Number.isFinite(value)) {
|
|
1231
|
+
return invalid(operation, "every transform value is finite", value, collectionId, {
|
|
1232
|
+
requestedBytes: transforms.byteLength,
|
|
1233
|
+
cause: "invalid-transform-value"
|
|
1234
|
+
});
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
return void 0;
|
|
1238
|
+
}
|
|
1239
|
+
function appendRange(ranges, start, end) {
|
|
1240
|
+
if (start >= end) return;
|
|
1241
|
+
let index = 0;
|
|
1242
|
+
while (index < ranges.length) {
|
|
1243
|
+
const existing = ranges[index];
|
|
1244
|
+
if (existing === void 0 || existing.end >= start) break;
|
|
1245
|
+
index += 1;
|
|
1246
|
+
}
|
|
1247
|
+
while (index < ranges.length) {
|
|
1248
|
+
const existing = ranges[index];
|
|
1249
|
+
if (existing === void 0 || existing.start > end) break;
|
|
1250
|
+
start = Math.min(start, existing.start);
|
|
1251
|
+
end = Math.max(end, existing.end);
|
|
1252
|
+
ranges.splice(index, 1);
|
|
1253
|
+
}
|
|
1254
|
+
ranges.splice(index, 0, { start, end });
|
|
1255
|
+
}
|
|
1256
|
+
function appendDirtyRange(record, start, end) {
|
|
1257
|
+
appendRange(record.dirtyRanges, start, end);
|
|
1258
|
+
}
|
|
1259
|
+
function missing(operation, id) {
|
|
1260
|
+
return new InstanceCollectionError(
|
|
1261
|
+
"instance-collection-not-found",
|
|
1262
|
+
`instance collection ${Number(id)} is live and owned by this Renderer`,
|
|
1263
|
+
"create a collection with renderer.instances.create or retain the original collection id",
|
|
1264
|
+
{ operation, expected: "a live instance collection id", actual: Number(id), collectionId: id }
|
|
1265
|
+
);
|
|
1266
|
+
}
|
|
1267
|
+
var InstanceCollectionStore = class {
|
|
1268
|
+
nextId = 1;
|
|
1269
|
+
epochValue = 0;
|
|
1270
|
+
disposed = false;
|
|
1271
|
+
records = /* @__PURE__ */ new Map();
|
|
1272
|
+
residency = /* @__PURE__ */ new Map();
|
|
1273
|
+
get epoch() {
|
|
1274
|
+
return this.epochValue;
|
|
1275
|
+
}
|
|
1276
|
+
create(input) {
|
|
1277
|
+
if (this.disposed) {
|
|
1278
|
+
return err(
|
|
1279
|
+
new InstanceCollectionError(
|
|
1280
|
+
"instance-collection-released",
|
|
1281
|
+
"the Renderer-owned instance collection store is live",
|
|
1282
|
+
"create a new Renderer before authoring instance collections"
|
|
1283
|
+
)
|
|
1284
|
+
);
|
|
1285
|
+
}
|
|
1286
|
+
const invalidPayload = validateTransforms("create", input.transforms);
|
|
1287
|
+
if (invalidPayload !== void 0) return err(invalidPayload);
|
|
1288
|
+
const id = this.nextId++;
|
|
1289
|
+
const count = input.transforms.length / MATRIX_STRIDE;
|
|
1290
|
+
const record = {
|
|
1291
|
+
id,
|
|
1292
|
+
transforms: new Float32Array(input.transforms),
|
|
1293
|
+
count,
|
|
1294
|
+
capacity: nextCapacity(Math.max(INITIAL_CAPACITY, count)),
|
|
1295
|
+
revision: 1,
|
|
1296
|
+
dirtyRanges: count === 0 ? [] : [{ start: 0, end: count }],
|
|
1297
|
+
lastSnapshotRevision: 0,
|
|
1298
|
+
released: false
|
|
1299
|
+
};
|
|
1300
|
+
this.records.set(id, record);
|
|
1301
|
+
this.epochValue += 1;
|
|
1302
|
+
return ok(this.info(record));
|
|
1303
|
+
}
|
|
1304
|
+
replace(id, transforms) {
|
|
1305
|
+
const record = this.live("replace", id);
|
|
1306
|
+
if (!record.ok) return record;
|
|
1307
|
+
const invalidPayload = validateTransforms("replace", transforms, id);
|
|
1308
|
+
if (invalidPayload !== void 0) return err(invalidPayload);
|
|
1309
|
+
const count = transforms.length / MATRIX_STRIDE;
|
|
1310
|
+
record.value.transforms = new Float32Array(transforms);
|
|
1311
|
+
record.value.count = count;
|
|
1312
|
+
record.value.capacity = Math.max(record.value.capacity, nextCapacity(Math.max(1, count)));
|
|
1313
|
+
record.value.revision += 1;
|
|
1314
|
+
record.value.dirtyRanges = count === 0 ? [] : [{ start: 0, end: count }];
|
|
1315
|
+
record.value.lastSnapshotRevision = record.value.revision - 1;
|
|
1316
|
+
this.epochValue += 1;
|
|
1317
|
+
return ok(this.info(record.value));
|
|
1318
|
+
}
|
|
1319
|
+
update(id, input) {
|
|
1320
|
+
const record = this.live("update", id);
|
|
1321
|
+
if (!record.ok) return record;
|
|
1322
|
+
const invalidPayload = validateTransforms("update", input.transforms, id);
|
|
1323
|
+
if (invalidPayload !== void 0) return err(invalidPayload);
|
|
1324
|
+
if (!Number.isInteger(input.start) || input.start < 0) {
|
|
1325
|
+
return err(
|
|
1326
|
+
invalid("update", "start is a non-negative matrix ordinal", input.start, id, {
|
|
1327
|
+
requestedBytes: input.transforms.byteLength,
|
|
1328
|
+
supportedBytes: record.value.capacity * MATRIX_STRIDE * Float32Array.BYTES_PER_ELEMENT,
|
|
1329
|
+
cause: "invalid-update-range-start"
|
|
1330
|
+
})
|
|
1331
|
+
);
|
|
1332
|
+
}
|
|
1333
|
+
const span = input.transforms.length / MATRIX_STRIDE;
|
|
1334
|
+
const attemptedEnd = input.start + span;
|
|
1335
|
+
if (attemptedEnd > record.value.count) {
|
|
1336
|
+
return err(
|
|
1337
|
+
invalid(
|
|
1338
|
+
"update",
|
|
1339
|
+
`start + matrix count is <= collection count (${record.value.count})`,
|
|
1340
|
+
attemptedEnd,
|
|
1341
|
+
id,
|
|
1342
|
+
{
|
|
1343
|
+
requestedBytes: attemptedEnd * MATRIX_STRIDE * Float32Array.BYTES_PER_ELEMENT,
|
|
1344
|
+
supportedBytes: record.value.count * MATRIX_STRIDE * Float32Array.BYTES_PER_ELEMENT,
|
|
1345
|
+
cause: "invalid-update-range-end"
|
|
1346
|
+
}
|
|
1347
|
+
)
|
|
1348
|
+
);
|
|
1349
|
+
}
|
|
1350
|
+
if (record.value.lastSnapshotRevision === record.value.revision) {
|
|
1351
|
+
record.value.dirtyRanges = [];
|
|
1352
|
+
}
|
|
1353
|
+
record.value.transforms.set(input.transforms, input.start * MATRIX_STRIDE);
|
|
1354
|
+
record.value.revision += 1;
|
|
1355
|
+
appendDirtyRange(record.value, input.start, input.start + span);
|
|
1356
|
+
this.epochValue += 1;
|
|
1357
|
+
return ok(this.info(record.value));
|
|
1358
|
+
}
|
|
1359
|
+
inspect(id) {
|
|
1360
|
+
const record = this.live("inspect", id);
|
|
1361
|
+
return record.ok ? ok(this.info(record.value)) : record;
|
|
1362
|
+
}
|
|
1363
|
+
/**
|
|
1364
|
+
* Return detached residency facts for every live collection.
|
|
1365
|
+
*
|
|
1366
|
+
* @internal Record-stage evidence is reported through the two methods below;
|
|
1367
|
+
* callers only receive immutable PODs and never GPU handles.
|
|
1368
|
+
*/
|
|
1369
|
+
_inspections() {
|
|
1370
|
+
return Object.freeze(
|
|
1371
|
+
[...this.records.values()].map((record) => this.projectInspection(record))
|
|
1372
|
+
);
|
|
1373
|
+
}
|
|
1374
|
+
/** @internal Renderer record owner reports the accepted collection lane. */
|
|
1375
|
+
_reportResidency(input) {
|
|
1376
|
+
if (!this.records.has(input.collectionId)) return;
|
|
1377
|
+
const previous = this.residency.get(input.collectionId);
|
|
1378
|
+
const sameFrame = previous !== void 0 && previous.frameNumber === input.frameNumber && previous.error === void 0;
|
|
1379
|
+
const uploadRanges = sameFrame ? [...previous.uploadRanges].reduce(
|
|
1380
|
+
(ranges, range) => {
|
|
1381
|
+
appendRange(ranges, range.start, range.end);
|
|
1382
|
+
return ranges;
|
|
1383
|
+
},
|
|
1384
|
+
input.uploadRanges.map((range) => ({ ...range }))
|
|
1385
|
+
) : input.uploadRanges.map((range) => ({ ...range }));
|
|
1386
|
+
this.residency.set(input.collectionId, {
|
|
1387
|
+
frameNumber: input.frameNumber,
|
|
1388
|
+
residentGeneration: input.residentGeneration,
|
|
1389
|
+
lane: input.lane,
|
|
1390
|
+
uploadRanges,
|
|
1391
|
+
uploadedBytes: sameFrame ? previous.uploadedBytes + input.uploadedBytes : input.uploadedBytes,
|
|
1392
|
+
requestedBytes: input.requestedBytes,
|
|
1393
|
+
supportedBytes: input.supportedBytes,
|
|
1394
|
+
backend: input.backend,
|
|
1395
|
+
error: void 0
|
|
1396
|
+
});
|
|
1397
|
+
}
|
|
1398
|
+
/** @internal Renderer record owner reports a typed admission failure. */
|
|
1399
|
+
_reportFailure(input) {
|
|
1400
|
+
if (!this.records.has(input.collectionId)) return;
|
|
1401
|
+
this.residency.set(input.collectionId, {
|
|
1402
|
+
frameNumber: -1,
|
|
1403
|
+
residentGeneration: void 0,
|
|
1404
|
+
lane: "unavailable",
|
|
1405
|
+
uploadRanges: [],
|
|
1406
|
+
uploadedBytes: 0,
|
|
1407
|
+
requestedBytes: input.facts.requestedBytes,
|
|
1408
|
+
supportedBytes: input.facts.supportedBytes,
|
|
1409
|
+
backend: input.facts.backend,
|
|
1410
|
+
error: {
|
|
1411
|
+
code: input.code,
|
|
1412
|
+
expected: input.expected,
|
|
1413
|
+
hint: input.hint,
|
|
1414
|
+
detail: { ...input.facts }
|
|
1415
|
+
}
|
|
1416
|
+
});
|
|
1417
|
+
}
|
|
1418
|
+
/** @internal A lost device invalidates every renderer-owned GPU resident. */
|
|
1419
|
+
_resetResidency() {
|
|
1420
|
+
this.residency.clear();
|
|
1421
|
+
}
|
|
1422
|
+
snapshot(id) {
|
|
1423
|
+
const record = this.live("inspect", id);
|
|
1424
|
+
if (!record.ok) return record;
|
|
1425
|
+
const value = record.value;
|
|
1426
|
+
value.lastSnapshotRevision = value.revision;
|
|
1427
|
+
const result = {
|
|
1428
|
+
...this.info(value),
|
|
1429
|
+
transforms: new Float32Array(value.transforms),
|
|
1430
|
+
dirtyRanges: value.dirtyRanges.map((range) => ({ ...range }))
|
|
1431
|
+
};
|
|
1432
|
+
return ok(result);
|
|
1433
|
+
}
|
|
1434
|
+
release(id) {
|
|
1435
|
+
const record = this.records.get(id);
|
|
1436
|
+
if (record === void 0) return err(missing("release", id));
|
|
1437
|
+
if (record.released) {
|
|
1438
|
+
return err(
|
|
1439
|
+
new InstanceCollectionError(
|
|
1440
|
+
"instance-collection-released",
|
|
1441
|
+
`instance collection ${Number(id)} has not already been released`,
|
|
1442
|
+
"do not reuse a released collection id; create a new collection",
|
|
1443
|
+
{
|
|
1444
|
+
operation: "release",
|
|
1445
|
+
expected: "a live instance collection id",
|
|
1446
|
+
actual: Number(id),
|
|
1447
|
+
collectionId: id
|
|
1448
|
+
}
|
|
1449
|
+
)
|
|
1450
|
+
);
|
|
1451
|
+
}
|
|
1452
|
+
record.released = true;
|
|
1453
|
+
this.records.delete(id);
|
|
1454
|
+
this.residency.delete(id);
|
|
1455
|
+
this.epochValue += 1;
|
|
1456
|
+
return ok(void 0);
|
|
1457
|
+
}
|
|
1458
|
+
/** Drop all canonical matrices during Renderer disposal. */
|
|
1459
|
+
dispose() {
|
|
1460
|
+
if (this.disposed) return;
|
|
1461
|
+
this.disposed = true;
|
|
1462
|
+
for (const record of this.records.values()) record.released = true;
|
|
1463
|
+
this.records.clear();
|
|
1464
|
+
this.residency.clear();
|
|
1465
|
+
this.epochValue += 1;
|
|
1466
|
+
}
|
|
1467
|
+
live(operation, id) {
|
|
1468
|
+
if (!Number.isInteger(id) || id <= 0) {
|
|
1469
|
+
return err(invalid(operation, "collectionId is a positive integer", id, id));
|
|
1470
|
+
}
|
|
1471
|
+
if (this.disposed) {
|
|
1472
|
+
return err(
|
|
1473
|
+
new InstanceCollectionError(
|
|
1474
|
+
"instance-collection-released",
|
|
1475
|
+
"the Renderer-owned instance collection store is live",
|
|
1476
|
+
"create a new Renderer before using instance collections",
|
|
1477
|
+
{ operation, expected: "a live collection store", actual: "disposed", collectionId: id }
|
|
1478
|
+
)
|
|
1479
|
+
);
|
|
1480
|
+
}
|
|
1481
|
+
const record = this.records.get(id);
|
|
1482
|
+
return record === void 0 ? err(missing(operation, id)) : ok(record);
|
|
1483
|
+
}
|
|
1484
|
+
info(record) {
|
|
1485
|
+
return Object.freeze({
|
|
1486
|
+
collectionId: record.id,
|
|
1487
|
+
count: record.count,
|
|
1488
|
+
capacity: record.capacity,
|
|
1489
|
+
revision: record.revision
|
|
1490
|
+
});
|
|
1491
|
+
}
|
|
1492
|
+
projectInspection(record) {
|
|
1493
|
+
const residency = this.residency.get(record.id);
|
|
1494
|
+
return Object.freeze({
|
|
1495
|
+
...this.info(record),
|
|
1496
|
+
residentGeneration: residency?.residentGeneration,
|
|
1497
|
+
lane: residency?.lane ?? "unresident",
|
|
1498
|
+
dirtyRanges: Object.freeze(record.dirtyRanges.map((range) => ({ ...range }))),
|
|
1499
|
+
uploadRanges: Object.freeze(residency?.uploadRanges.map((range) => ({ ...range })) ?? []),
|
|
1500
|
+
uploadedBytes: residency?.uploadedBytes ?? 0,
|
|
1501
|
+
requestedBytes: residency?.requestedBytes ?? record.count * MATRIX_STRIDE * 4,
|
|
1502
|
+
supportedBytes: residency?.supportedBytes,
|
|
1503
|
+
backend: residency?.backend ?? "unknown",
|
|
1504
|
+
owner: "renderer.instances",
|
|
1505
|
+
error: residency?.error
|
|
1506
|
+
});
|
|
1507
|
+
}
|
|
1508
|
+
};
|
|
1509
|
+
|
|
1510
|
+
// src/scene/visibility/budget.ts
|
|
1511
|
+
var DEFAULT_CONFIGURED_QUERY_BUDGET = 2048;
|
|
1512
|
+
var MAX_QUERY_BUDGET = 4096;
|
|
1513
|
+
var VISIBILITY_CANDIDATE_COUNT = 1e5;
|
|
1514
|
+
var VISIBILITY_OCCLUDED_COUNT = 9e4;
|
|
1515
|
+
function createVisibilityBudget(configuredQueryBudget = DEFAULT_CONFIGURED_QUERY_BUDGET) {
|
|
1516
|
+
if (!Number.isSafeInteger(configuredQueryBudget) || configuredQueryBudget <= 0) {
|
|
1517
|
+
throw new RangeError("configuredQueryBudget must be a positive safe integer");
|
|
1518
|
+
}
|
|
1519
|
+
const effectiveQueryBudget = Math.min(configuredQueryBudget, MAX_QUERY_BUDGET);
|
|
1520
|
+
const oneSweepCandidates = oneSweep(VISIBILITY_CANDIDATE_COUNT, effectiveQueryBudget);
|
|
1521
|
+
const oneSweepOccluded = oneSweep(VISIBILITY_OCCLUDED_COUNT, effectiveQueryBudget);
|
|
1522
|
+
const retestSubmits = Math.max(6, oneSweepOccluded);
|
|
1523
|
+
return Object.freeze({
|
|
1524
|
+
configuredQueryBudget,
|
|
1525
|
+
effectiveQueryBudget,
|
|
1526
|
+
oneSweepCandidates,
|
|
1527
|
+
oneSweepOccluded,
|
|
1528
|
+
settleSubmits: 2 * oneSweepCandidates,
|
|
1529
|
+
retestSubmits,
|
|
1530
|
+
expirySubmits: Math.max(8, retestSubmits + oneSweepOccluded)
|
|
1531
|
+
});
|
|
1532
|
+
}
|
|
1533
|
+
function oneSweep(candidateCount, effectiveQueryBudget) {
|
|
1534
|
+
return Math.ceil(candidateCount / effectiveQueryBudget);
|
|
1535
|
+
}
|
|
1536
|
+
|
|
932
1537
|
// src/render-contract.ts
|
|
933
1538
|
var STANDARD_OUTPUT_TRANSFORM_FEATURE_ID = "forgeax::standard::output-transform";
|
|
934
1539
|
var FXAA_POST_PROCESS_ID = "forgeax::post::fxaa";
|
|
@@ -960,6 +1565,11 @@ var RENDER_GRAPH_EXECUTION_PHASE_CATALOG = [
|
|
|
960
1565
|
"record/graph-execute/bloom-blur-h",
|
|
961
1566
|
"record/graph-execute/bloom-blur-v",
|
|
962
1567
|
"record/graph-execute/bloom-composite",
|
|
1568
|
+
"record/graph-execute/ssr-hiz",
|
|
1569
|
+
"record/graph-execute/ssr-trace",
|
|
1570
|
+
"record/graph-execute/ssr-temporal",
|
|
1571
|
+
"record/graph-execute/ssr-reflection-mip",
|
|
1572
|
+
"record/graph-execute/ssr-compose",
|
|
963
1573
|
"record/graph-execute/other"
|
|
964
1574
|
];
|
|
965
1575
|
var RENDER_HDRP_BINNER_PHASE_CATALOG = [
|
|
@@ -1012,6 +1622,6 @@ var RENDER_PHASE_CATALOG = [
|
|
|
1012
1622
|
...RENDER_RECORD_PHASE_CATALOG
|
|
1013
1623
|
];
|
|
1014
1624
|
|
|
1015
|
-
export { AtmosphereInvalidParameterError, EnvironmentGenerationFailedError, EnvironmentSourceConflictError, EquirectProjectionFailedError, FXAA_POST_PROCESS_ID, FogCardinalityError, FrameReceiptStaleError, GPU_TEXTURE_USAGE_COPY_DST, GPU_TEXTURE_USAGE_COPY_SRC, GPU_TEXTURE_USAGE_RENDER_ATTACHMENT, GPU_TEXTURE_USAGE_RENDER_ATTACHMENT_AND_TEXTURE_BINDING, GPU_TEXTURE_USAGE_TEXTURE_BINDING, LifecycleConstructionError, MaterialSkinAttrMissingError, ObservationUnavailableError, OwnerStageFailedError, PointShadowAtlasBoundsViolationError, PointShadowAtlasUninitializedError, PointsLinesBudgetExceededError, PointsLinesInvalidStyleError, PointsLinesMaterialUnsupportedError, PointsLinesPrepareFailedError, PointsLinesStyleUnsupportedError, PointsLinesTopologyMismatchError, RENDER_PHASE_CATALOG, RenderFeatureCapabilityMissingError, RenderFeatureDrawRecordingFailedError, RenderFeaturePreparationFailedError, RenderFeaturePreparedStateMismatchError, RenderFeatureRegistrationConflictError, RenderFeatureStageFailedError, RenderIntentInvalidError, RenderTargetCapabilityMissingError, RenderTargetDescriptorInvalidError, RenderTargetOperationFailedError, RenderTargetStateInvalidError, RendererContractFailureError, RendererOperationError, SHADOW_ATLAS_DEFAULT_FACE_SIZE, SHADOW_ATLAS_DEFAULT_LAYERS, STANDARD_OUTPUT_TRANSFORM_FEATURE_ID, SceneDataUnavailableError, ShadowAtlas, ShadowInvalidConfigError, SkinMaterialMismatchError, SkinPaletteOverflowError, StandardClusterIndexOverflowError, StandardClusterTransportUnavailableError, StandardLightBudgetExceededError, StandardProfileInvalidError, TaaCapsInsufficientError, TemporalFrameSubmitError, TransmissionCapabilityMissingError, VertexColorVariantConflictError, VideoUploadUnsupportedError, VolumeDensityShapeMismatchError, VolumeInvalidBoundsError, VolumeInvalidParametersError, VolumeOwnerConflictError, createLightResourceUnavailable };
|
|
1016
|
-
//# sourceMappingURL=chunk-
|
|
1017
|
-
//# sourceMappingURL=chunk-
|
|
1625
|
+
export { AtmosphereInvalidParameterError, AutoExposureCapabilityUnavailableError, AutoExposureInvalidParameterError, AutoExposureStageFailedError, AutoExposureStaleGenerationError, DynamicResolutionInvalidParameterError, DynamicResolutionRequiresTaaError, DynamicResolutionTimingUnavailableError, EnvironmentGenerationFailedError, EnvironmentSourceConflictError, EquirectProjectionFailedError, FXAA_POST_PROCESS_ID, FogCardinalityError, FrameReceiptStaleError, GPU_TEXTURE_USAGE_COPY_DST, GPU_TEXTURE_USAGE_COPY_SRC, GPU_TEXTURE_USAGE_RENDER_ATTACHMENT, GPU_TEXTURE_USAGE_RENDER_ATTACHMENT_AND_TEXTURE_BINDING, GPU_TEXTURE_USAGE_STORAGE_BINDING, GPU_TEXTURE_USAGE_TEXTURE_BINDING, GpuDrivenPreparationError, InstanceCollectionError, InstanceCollectionStore, LifecycleConstructionError, MaterialSkinAttrMissingError, ObservationUnavailableError, OwnerStageFailedError, PointShadowAtlasBoundsViolationError, PointShadowAtlasUninitializedError, PointsLinesBudgetExceededError, PointsLinesInvalidStyleError, PointsLinesMaterialUnsupportedError, PointsLinesPrepareFailedError, PointsLinesStyleUnsupportedError, PointsLinesTopologyMismatchError, RENDER_PHASE_CATALOG, RenderFeatureCapabilityMissingError, RenderFeatureDrawRecordingFailedError, RenderFeaturePreparationFailedError, RenderFeaturePreparedStateMismatchError, RenderFeatureRegistrationConflictError, RenderFeatureStageFailedError, RenderIntentInvalidError, RenderTargetCapabilityMissingError, RenderTargetDescriptorInvalidError, RenderTargetOperationFailedError, RenderTargetStateInvalidError, RendererContractFailureError, RendererOperationError, SHADOW_ATLAS_DEFAULT_FACE_SIZE, SHADOW_ATLAS_DEFAULT_LAYERS, STANDARD_OUTPUT_TRANSFORM_FEATURE_ID, SceneDataUnavailableError, ShadowAtlas, ShadowInvalidConfigError, SkinMaterialMismatchError, SkinPaletteOverflowError, StandardClusterIndexOverflowError, StandardClusterTransportUnavailableError, StandardLightBudgetExceededError, StandardProfileInvalidError, TaaCapsInsufficientError, TemporalFrameSubmitError, TransmissionCapabilityMissingError, VertexColorVariantConflictError, VideoUploadUnsupportedError, VolumeDensityShapeMismatchError, VolumeInvalidBoundsError, VolumeInvalidParametersError, VolumeOwnerConflictError, createAutoExposureError, createAutoExposureInspection, createLightResourceUnavailable, createVisibilityBudget, instanceUploadRangesForResident };
|
|
1626
|
+
//# sourceMappingURL=chunk-JRBDO2KB.mjs.map
|
|
1627
|
+
//# sourceMappingURL=chunk-JRBDO2KB.mjs.map
|