@forgeax/engine-render 0.1.21 → 0.1.24
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 +281 -38
- package/dist/assembly/backend-contract.d.ts +13 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -1
- package/dist/assembly/bundler-contract.d.ts +9 -0
- package/dist/assembly/bundler-contract.d.ts.map +1 -0
- package/dist/assembly/device-feature-admission.d.ts +8 -0
- package/dist/assembly/device-feature-admission.d.ts.map +1 -1
- package/dist/assembly/extended-lighting-fallback.d.ts +13 -0
- package/dist/assembly/extended-lighting-fallback.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +7 -235
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +10 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +3 -2
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/standard-layer-projection.d.ts +10 -0
- package/dist/assembly/material/standard-layer-projection.d.ts.map +1 -0
- package/dist/assembly/material-shader-policy.d.ts +168 -0
- package/dist/assembly/material-shader-policy.d.ts.map +1 -0
- package/dist/assembly/material-shader-prewarm.d.ts +21 -0
- package/dist/assembly/material-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/mesh-ssbo-grow.d.ts +88 -0
- package/dist/assembly/mesh-ssbo-grow.d.ts.map +1 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts +14 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -0
- package/dist/assembly/recovery/generation.d.ts +46 -0
- package/dist/assembly/recovery/generation.d.ts.map +1 -0
- package/dist/assembly/recovery/recovery-attempt.d.ts +63 -0
- package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -0
- package/dist/assembly/recovery/renderer-recover.d.ts +115 -0
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -0
- package/dist/assembly/renderer-facade.d.ts +10 -0
- package/dist/assembly/renderer-facade.d.ts.map +1 -0
- package/dist/assembly/renderer-frame-transaction.d.ts +17 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-helpers.d.ts +19 -0
- package/dist/assembly/renderer-helpers.d.ts.map +1 -0
- package/dist/assembly/renderer-lifecycle.d.ts +34 -0
- package/dist/assembly/renderer-lifecycle.d.ts.map +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts +15 -0
- package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready-contract.d.ts +9 -0
- package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +55 -0
- package/dist/assembly/webgpu-ready.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +152 -0
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -0
- package/dist/authoring.mjs +1 -1
- package/dist/{chunk-PCHBPYML.mjs → chunk-GE3SDD72.mjs} +37 -5
- package/dist/chunk-GE3SDD72.mjs.map +1 -0
- package/dist/chunk-KZFTK6DO.mjs +1191 -0
- package/dist/chunk-KZFTK6DO.mjs.map +1 -0
- package/dist/{chunk-FS2KNUQH.mjs → chunk-Q752SHI5.mjs} +332 -568
- package/dist/chunk-Q752SHI5.mjs.map +1 -0
- package/dist/{chunk-6OPXDQ2E.mjs → chunk-RR5L4SRS.mjs} +33 -294
- package/dist/chunk-RR5L4SRS.mjs.map +1 -0
- package/dist/chunk-TFH5I7JJ.mjs +296 -0
- package/dist/chunk-TFH5I7JJ.mjs.map +1 -0
- package/dist/chunk-UQYS7FRM.mjs +1003 -0
- package/dist/chunk-UQYS7FRM.mjs.map +1 -0
- package/dist/chunk-YKB5DQV7.mjs +345 -0
- package/dist/chunk-YKB5DQV7.mjs.map +1 -0
- package/dist/{chunk-5YADUCA7.mjs → chunk-YRUYGA4A.mjs} +1189 -1217
- package/dist/chunk-YRUYGA4A.mjs.map +1 -0
- package/dist/chunk-Z3YYH2MB.mjs +5082 -0
- package/dist/chunk-Z3YYH2MB.mjs.map +1 -0
- package/dist/cluster-binner.d.ts +5 -0
- package/dist/cluster-binner.d.ts.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts +4 -0
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/light-probe.d.ts +9 -0
- package/dist/components/light-probe.d.ts.map +1 -0
- package/dist/components/rect-area-light.d.ts +12 -0
- package/dist/components/rect-area-light.d.ts.map +1 -0
- package/dist/components/scene-instance.d.ts +4 -0
- package/dist/components/scene-instance.d.ts.map +1 -1
- package/dist/components/spot-light.d.ts +3 -0
- package/dist/components/spot-light.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +27276 -23232
- 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 +32 -5
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/device/lifecycle-transaction.d.ts +2 -0
- package/dist/device/lifecycle-transaction.d.ts.map +1 -0
- package/dist/environment/frame.d.ts +5 -0
- package/dist/environment/frame.d.ts.map +1 -1
- package/dist/environment/inspection.d.ts +7 -0
- package/dist/environment/inspection.d.ts.map +1 -1
- package/dist/environment/lifecycle.d.ts +20 -2
- package/dist/environment/lifecycle.d.ts.map +1 -1
- package/dist/errors/gpu-driven.d.ts +26 -0
- package/dist/errors/gpu-driven.d.ts.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/recover.d.ts +67 -3
- package/dist/errors/recover.d.ts.map +1 -1
- package/dist/errors/render.d.ts +39 -1
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +899 -0
- package/dist/extract/contracts.d.ts.map +1 -0
- package/dist/extract/gpu-driven.d.ts +50 -0
- package/dist/extract/gpu-driven.d.ts.map +1 -0
- package/dist/extract/visibility.d.ts.map +1 -1
- package/dist/features/host.d.ts +2 -0
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +3 -0
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts +2 -0
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts +34 -0
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/prepared-draw.d.ts +63 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -0
- package/dist/gpu-driven/production-raster.d.ts +126 -2
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/view-gpu.d.ts +64 -1
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-scene-schema.d.ts +14 -0
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +9 -1
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/gpu-usage.d.ts +0 -1
- package/dist/gpu-usage.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +3 -3
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +7 -6
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +7 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +90 -5
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +163 -1
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/internal.d.ts +9 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +23 -2
- package/dist/internal.mjs.map +1 -1
- package/dist/light-buffer-layout.d.ts +60 -148
- package/dist/light-buffer-layout.d.ts.map +1 -1
- package/dist/materials.d.ts +34 -10
- package/dist/materials.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +56 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/occlusion-proxy.d.ts +4 -0
- package/dist/occlusion-proxy.d.ts.map +1 -0
- package/dist/pbr-pipeline.d.ts +58 -21
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/graph.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/light-frame.d.ts +3 -3
- package/dist/pipeline/standard-lighting/light-frame.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/topology.d.ts +1 -1
- package/dist/pipeline/standard-lighting/topology.d.ts.map +1 -1
- package/dist/pipeline/standard-lighting/transport.d.ts.map +1 -1
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +2 -0
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts +1 -1
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/points-lines/prepare.d.ts +3 -0
- package/dist/points-lines/prepare.d.ts.map +1 -1
- package/dist/points-lines/standard-owner.d.ts +33 -0
- package/dist/points-lines/standard-owner.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/ltc-resources.d.ts +31 -0
- package/dist/prepare/extended-lighting/ltc-resources.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/resources.d.ts +72 -0
- package/dist/prepare/extended-lighting/resources.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/spot-modifiers.d.ts +42 -0
- package/dist/prepare/extended-lighting/spot-modifiers.d.ts.map +1 -0
- package/dist/prepare/extended-lighting/state.d.ts +24 -0
- package/dist/prepare/extended-lighting/state.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +8 -6
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +55 -10
- 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 +21 -5
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-timing.d.ts +19 -7
- package/dist/record/gpu-timing.d.ts.map +1 -1
- package/dist/record/helpers.d.ts +0 -20
- package/dist/record/helpers.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +20 -2
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +10 -18
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +11 -3
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/recovery-pipeline.d.ts +30 -0
- package/dist/record/recovery-pipeline.d.ts.map +1 -0
- package/dist/record/render-context.d.ts +82 -9
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +49 -2
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +1 -2
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/recovery/render-system-candidate.d.ts +65 -0
- package/dist/recovery/render-system-candidate.d.ts.map +1 -0
- package/dist/reflection/inspection.d.ts +10 -0
- package/dist/reflection/inspection.d.ts.map +1 -0
- package/dist/reflection/projection.d.ts +49 -0
- package/dist/reflection/projection.d.ts.map +1 -1
- package/dist/reflection/record-owner.d.ts +60 -0
- package/dist/reflection/record-owner.d.ts.map +1 -0
- package/dist/render-contract.d.ts +78 -15
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +7 -0
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +12 -0
- package/dist/render-system-extract-tail.d.ts.map +1 -0
- package/dist/render-system-extract.d.ts +252 -30
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +140 -5
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/probe-blend-record.d.ts +22 -0
- package/dist/scene/probe-blend-record.d.ts.map +1 -0
- package/dist/scene/probe-blend.d.ts +142 -0
- package/dist/scene/probe-blend.d.ts.map +1 -0
- package/dist/scene/render-scene-types.d.ts +0 -6
- package/dist/scene/render-scene-types.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +122 -9
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/scene/visibility/bounds.d.ts +20 -0
- package/dist/scene/visibility/bounds.d.ts.map +1 -0
- package/dist/scene/visibility/budget.d.ts +16 -0
- package/dist/scene/visibility/budget.d.ts.map +1 -0
- package/dist/scene/visibility/facet.d.ts +73 -0
- package/dist/scene/visibility/facet.d.ts.map +1 -0
- package/dist/scene/visibility/gpu-frame-timing.d.ts +41 -0
- package/dist/scene/visibility/gpu-frame-timing.d.ts.map +1 -0
- package/dist/scene/visibility/gpu-lod.d.ts +46 -0
- package/dist/scene/visibility/gpu-lod.d.ts.map +1 -0
- package/dist/scene/visibility/inspection.d.ts +132 -0
- package/dist/scene/visibility/inspection.d.ts.map +1 -0
- package/dist/scene/visibility/lod-selector.d.ts +25 -0
- package/dist/scene/visibility/lod-selector.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-confidence.d.ts +81 -0
- package/dist/scene/visibility/occlusion-confidence.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-pass.d.ts +57 -0
- package/dist/scene/visibility/occlusion-pass.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-query-pool.d.ts +57 -0
- package/dist/scene/visibility/occlusion-query-pool.d.ts.map +1 -0
- package/dist/scene/visibility/occlusion-runtime.d.ts +96 -0
- package/dist/scene/visibility/occlusion-runtime.d.ts.map +1 -0
- package/dist/scene/visibility/types.d.ts +34 -0
- package/dist/scene/visibility/types.d.ts.map +1 -0
- package/dist/ssr/admission.d.ts +122 -0
- package/dist/ssr/admission.d.ts.map +1 -0
- package/dist/ssr/composition.d.ts +32 -0
- package/dist/ssr/composition.d.ts.map +1 -0
- package/dist/ssr/errors.d.ts +39 -0
- package/dist/ssr/errors.d.ts.map +1 -0
- package/dist/ssr/identity.d.ts +13 -0
- package/dist/ssr/identity.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts +1 -1
- package/dist/temporal/frame-coordinator.d.ts +13 -0
- package/dist/temporal/frame-coordinator.d.ts.map +1 -1
- package/dist/temporal/frame.d.ts +2 -0
- package/dist/temporal/frame.d.ts.map +1 -1
- package/dist/temporal/index.mjs +6 -5
- package/dist/temporal/taa-history-store.d.ts +15 -1
- package/dist/temporal/taa-history-store.d.ts.map +1 -1
- package/dist/temporal/transaction.d.ts +5 -0
- package/dist/temporal/transaction.d.ts.map +1 -1
- package/dist/temporal/view.d.ts +7 -0
- package/dist/temporal/view.d.ts.map +1 -1
- package/dist/tilemap-chunk-extract-system.d.ts +1 -1
- package/dist/typed-render-graph-primitives.d.ts +4 -0
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/volume/passes.d.ts +8 -4
- package/dist/volume/passes.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +5 -0
- package/src/__tests__/detached-inspection.integration.test.ts +6 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +19 -1
- package/src/__tests__/device-loss-fanout.unit.test.ts +107 -0
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +21 -0
- package/src/__tests__/direct-light-snapshot.unit.test.ts +59 -3
- package/src/__tests__/environment-generation.integration.test.ts +39 -0
- package/src/__tests__/evidence-identity.ts +13 -0
- package/src/__tests__/evidence-identity.unit.test.ts +24 -0
- package/src/__tests__/expose-renderer-errors.unit.test.ts +34 -0
- package/src/__tests__/extended-lighting-recovery.browser.test.ts +14 -0
- package/src/__tests__/extended-lighting-recovery.dawn.test.ts +14 -0
- package/src/__tests__/extended-lighting-recovery.integration.test.ts +81 -0
- package/src/__tests__/extended-lighting-resources.unit.test.ts +51 -0
- package/src/__tests__/extended-lighting-zero-feature.integration.test.ts +52 -0
- package/src/__tests__/factory-contract.integration.test.ts +154 -6
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +4 -1
- package/src/__tests__/frame-observation.contract.test.ts +15 -0
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +146 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +1 -0
- package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +1 -0
- package/src/__tests__/gpu-driven-production.integration.test.ts +572 -9
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +66 -2
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +26 -1
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +89 -2
- package/src/__tests__/gpu-driven-view.browser.test.ts +3 -3
- package/src/__tests__/gpu-driven-view.dawn.test.ts +3 -3
- package/src/__tests__/gpu-driven-view.unit.test.ts +50 -0
- package/src/__tests__/gpu-lod-evidence.ts +188 -0
- package/src/__tests__/gpu-lod-fallback.integration.test.ts +10 -0
- package/src/__tests__/gpu-lod-indirect.integration.test.ts +40 -0
- package/src/__tests__/gpu-lod-parity.dawn.test.ts +29 -0
- package/src/__tests__/gpu-lod-readiness.integration.test.ts +52 -0
- package/src/__tests__/gpu-lod-schema.unit.test.ts +66 -0
- package/src/__tests__/gpu-lod-selector.unit.test.ts +28 -0
- package/src/__tests__/gpu-lod-silhouette.browser.test.ts +13 -0
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +66 -1
- package/src/__tests__/gpu-scene.dawn.test.ts +8 -1
- package/src/__tests__/gpu-scene.unit.test.ts +49 -3
- package/src/__tests__/ibl/face-uniforms.unit.test.ts +2 -0
- package/src/__tests__/ibl-residency-publication.unit.test.ts +113 -0
- package/src/__tests__/light-buffer-layout.unit.test.ts +113 -3
- package/src/__tests__/light-inspection.unit.test.ts +55 -0
- package/src/__tests__/light-resource-error.unit.test.ts +43 -0
- package/src/__tests__/lighting-scene-roundtrip.integration.test.ts +109 -0
- package/src/__tests__/lod-bounds.unit.test.ts +42 -0
- package/src/__tests__/lod-cpu-lane.integration.test.ts +55 -0
- package/src/__tests__/lod-cpu-no-change.perf.test.ts +19 -0
- package/src/__tests__/lod-gpu-frame-timing.unit.test.ts +49 -0
- package/src/__tests__/lod-multi-view.integration.test.ts +63 -0
- package/src/__tests__/lod-occlusion-device-loss.integration.test.ts +27 -0
- package/src/__tests__/lod-occlusion-final-decision.integration.test.ts +47 -0
- package/src/__tests__/lod-occlusion-inspection.integration.test.ts +217 -0
- package/src/__tests__/lod-occlusion-inspection.schema.test-d.ts +14 -0
- package/src/__tests__/lod-occlusion-inspection.unit.test.ts +72 -0
- package/src/__tests__/lod-occlusion-visual-evidence.ts +91 -0
- package/src/__tests__/lod-occlusion.browser.test.ts +15 -0
- package/src/__tests__/lod-occlusion.dawn.test.ts +20 -0
- package/src/__tests__/lod-selector.profile.test.ts +35 -0
- package/src/__tests__/lod-selector.unit.test.ts +68 -0
- package/src/__tests__/lod-visibility-identity.unit.test.ts +198 -0
- package/src/__tests__/lod-visibility-lifecycle.integration.test.ts +132 -0
- package/src/__tests__/ltc-resources.unit.test.ts +32 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +41 -9
- package/src/__tests__/material-cooked-projection.unit.test.ts +19 -1
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +29 -0
- package/src/__tests__/material-stride-surface.unit.test.ts +7 -3
- package/src/__tests__/materials-standard-contract.unit.test.ts +104 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -1
- package/src/__tests__/occlusion-confidence.unit.test.ts +168 -0
- package/src/__tests__/occlusion-invalidation.integration.test.ts +37 -0
- package/src/__tests__/occlusion-pass-routing.unit.test.ts +16 -0
- package/src/__tests__/occlusion-pass.dawn.test.ts +20 -0
- package/src/__tests__/occlusion-pass.integration.test.ts +43 -0
- package/src/__tests__/occlusion-pass.rhi-null.test.ts +22 -0
- package/src/__tests__/occlusion-query-pool.rhi-null.test.ts +21 -0
- package/src/__tests__/occlusion-query-pool.unit.test.ts +95 -0
- package/src/__tests__/occlusion-query-ticket.integration.test.ts +47 -0
- package/src/__tests__/occlusion-query.dawn.test.ts +16 -0
- package/src/__tests__/occlusion-query.evidence.ts +178 -0
- package/src/__tests__/occlusion-query.rhi-null.test.ts +31 -0
- package/src/__tests__/occlusion-runtime.unit.test.ts +120 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +89 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +196 -0
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +1 -1
- package/src/__tests__/probe-bindings.unit.test.ts +200 -0
- package/src/__tests__/probe-blend-numeric.unit.test.ts +67 -0
- package/src/__tests__/probe-blend-oracle.unit.test.ts +136 -0
- package/src/__tests__/probe-capacity.integration.test.ts +97 -0
- package/src/__tests__/probe-recovery.integration.test.ts +104 -0
- package/src/__tests__/probe-scene-dirty.integration.test.ts +211 -0
- package/src/__tests__/profiler-phase-catalog.test.ts +4 -1
- package/src/__tests__/profiler-phase-token.test.ts +1 -0
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +6 -3
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +140 -0
- package/src/__tests__/rect-area-boundary.unit.test.ts +24 -0
- package/src/__tests__/reflection-fallback-graph.unit.test.ts +67 -0
- package/src/__tests__/reflection-fallback-inspection.unit.test.ts +77 -0
- package/src/__tests__/reflection-fallback-lifecycle.integration.test.ts +21 -0
- package/src/__tests__/reflection-fallback-projection.unit.test.ts +90 -0
- package/src/__tests__/reflection-fallback-source.unit.test.ts +32 -0
- package/src/__tests__/reflection-probe-owner-placement.unit.test.ts +39 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +120 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +1 -0
- package/src/__tests__/render-feature-docs.unit.test.ts +12 -7
- package/src/__tests__/render-graph-fallback.integration.test.ts +24 -0
- package/src/__tests__/render-perf/extended-lighting.bench.test.ts +66 -0
- package/src/__tests__/render-scene-projection.unit.test.ts +447 -18
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +160 -17
- package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +47 -0
- package/src/__tests__/renderer-generation-assembly.unit.test.ts +77 -0
- package/src/__tests__/renderer-generation-failure.unit.test.ts +108 -0
- package/src/__tests__/renderer-producer-root-matrix.integration.test.ts +33 -0
- package/src/__tests__/renderer-recovery-capability-matrix.unit.test.ts +59 -0
- package/src/__tests__/renderer-recovery-contract.unit.test.ts +73 -0
- package/src/__tests__/renderer-recovery-lifecycle.unit.test.ts +216 -0
- package/src/__tests__/renderer-target-history-recovery.integration.test.ts +80 -0
- package/src/__tests__/shader-manifest-fixture.ts +13 -16
- package/src/__tests__/shader-stage-surface.unit.test.ts +1 -1
- package/src/__tests__/skin-motion-regression.unit.test.ts +22 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +2 -2
- package/src/__tests__/spot-modifier-projection.unit.test.ts +70 -0
- package/src/__tests__/ssr-admission-matrix.integration.test.ts +206 -0
- package/src/__tests__/ssr-composition.unit.test.ts +46 -0
- package/src/__tests__/ssr-fallback-zero-work.bench.test.ts +94 -0
- package/src/__tests__/ssr-recovery-errors.unit.test.ts +58 -0
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +67 -0
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +7 -0
- package/src/__tests__/standard-layer-projection.unit.test.ts +23 -0
- package/src/__tests__/standard-lighting-inspection.integration.test.ts +1 -1
- package/src/__tests__/standard-lighting-write.unit.test.ts +66 -2
- package/src/__tests__/temporal-fallback-generation.integration.test.ts +16 -0
- package/src/__tests__/temporal-view.unit.test.ts +3 -3
- package/src/__tests__/transmission-prewarm.unit.test.ts +111 -32
- package/src/__tests__/visibility-budget.integration.test.ts +140 -0
- package/src/__tests__/visibility-budget.unit.test.ts +70 -0
- package/src/__tests__/visibility-extract.integration.test.ts +11 -6
- package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +6 -3
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +31 -28
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +3 -1
- package/src/assembly/backend-contract.ts +13 -0
- package/src/assembly/bundler-contract.ts +9 -0
- package/src/assembly/device-feature-admission.ts +26 -9
- package/src/assembly/extended-lighting-fallback.ts +216 -0
- package/src/assembly/factory.ts +81 -9634
- package/src/assembly/host-contract.ts +10 -0
- package/src/assembly/material/assembly.ts +18 -2
- package/src/assembly/material/standard-layer-projection.ts +16 -0
- package/src/assembly/material-shader-policy.ts +854 -0
- package/src/assembly/material-shader-prewarm.ts +88 -0
- package/src/assembly/mesh-ssbo-grow.ts +270 -0
- package/src/assembly/recovery/device-loss-fanout.ts +89 -0
- package/src/assembly/recovery/generation.ts +141 -0
- package/src/assembly/recovery/recovery-attempt.ts +800 -0
- package/src/assembly/recovery/renderer-recover.ts +906 -0
- package/src/assembly/renderer-facade.ts +342 -0
- package/src/assembly/renderer-frame-transaction.ts +45 -0
- package/src/assembly/renderer-helpers.ts +99 -0
- package/src/assembly/renderer-lifecycle.ts +159 -0
- package/src/assembly/shader-prewarm-policy.ts +157 -0
- package/src/assembly/webgpu-ready-contract.ts +14 -0
- package/src/assembly/webgpu-ready.ts +4079 -0
- package/src/assembly/webgpu-renderer.ts +4095 -0
- package/src/cluster-binner.ts +31 -0
- package/src/components/__tests__/lighting-authoring.unit.test.ts +39 -0
- package/src/components/__tests__/rect-area-light.unit.test.ts +33 -0
- package/src/components/camera.ts +1 -1
- package/src/components/index.ts +3 -0
- package/src/components/light-helpers.ts +52 -1
- package/src/components/light-probe.ts +13 -0
- package/src/components/rect-area-light.ts +15 -0
- package/src/components/scene-instance.ts +6 -0
- package/src/components/spot-light.ts +3 -0
- package/src/debug-draw-glue.ts +1 -1
- package/src/device/__tests__/extended-lighting-recovery.unit.test.ts +24 -0
- package/src/device/device-scope.ts +35 -6
- package/src/device/gpu-residency.ts +334 -35
- package/src/device/lifecycle-transaction.ts +12 -0
- package/src/environment/frame.ts +6 -0
- package/src/environment/inspection.ts +10 -0
- package/src/environment/lifecycle.ts +122 -9
- package/src/errors/gpu-driven.ts +92 -0
- package/src/errors/index.ts +1 -0
- package/src/errors/recover.ts +108 -5
- package/src/errors/render.ts +72 -1
- package/src/extract/camera.ts +3 -3
- package/src/extract/contracts.ts +974 -0
- package/src/extract/gpu-driven.ts +108 -0
- package/src/extract/visibility.ts +0 -23
- package/src/features/host.ts +16 -0
- package/src/features/prepared-gpu-work.ts +20 -2
- package/src/features/prepared-graphics-store.ts +17 -0
- package/src/gpu-driven/batch-topology.ts +206 -28
- package/src/gpu-driven/prepared-draw.ts +208 -0
- package/src/gpu-driven/production-raster.ts +1046 -39
- package/src/gpu-driven/view-gpu.ts +411 -29
- package/src/gpu-scene-schema.ts +13 -0
- package/src/gpu-scene.ts +137 -67
- package/src/gpu-usage.ts +0 -1
- package/src/hdrp-buffers.ts +6 -6
- package/src/ibl/IblPipelineCache.ts +134 -50
- package/src/ibl/skylight-bind-group.ts +26 -0
- package/src/index.ts +83 -1
- package/src/inspection-types.ts +220 -1
- package/src/internal.ts +38 -0
- package/src/light-buffer-layout.ts +157 -324
- package/src/materials.ts +278 -47
- package/src/mesh-material-bindings.ts +59 -0
- package/src/occlusion-proxy.ts +64 -0
- package/src/pbr-pipeline.ts +290 -60
- package/src/pipeline/standard-forward-lane.ts +47 -0
- package/src/pipeline/standard-lighting/graph.ts +2 -1
- package/src/pipeline/standard-lighting/light-frame.ts +3 -2
- package/src/pipeline/standard-lighting/topology.ts +1 -1
- package/src/pipeline/standard-lighting/transport.ts +2 -1
- package/src/pipeline/standard-pipeline.ts +2 -0
- package/src/pipeline-builder.ts +5 -2
- package/src/pipeline-spec.ts +12 -1
- package/src/plugin.ts +4 -0
- package/src/points-lines/__tests__/cache-recovery.unit.test.ts +22 -0
- package/src/points-lines/prepare.ts +9 -0
- package/src/points-lines/standard-owner.ts +403 -0
- package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +56 -0
- package/src/prepare/extended-lighting/ltc-resources.ts +136 -0
- package/src/prepare/extended-lighting/resources.ts +389 -0
- package/src/prepare/extended-lighting/spot-modifiers.ts +194 -0
- package/src/prepare/extended-lighting/state.ts +92 -0
- package/src/record/__tests__/frame-targets-recovery.unit.test.ts +60 -0
- package/src/record/__tests__/gpu-timing.unit.test.ts +177 -0
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +26 -1
- package/src/record/__tests__/mesh-ssbo.unit.test.ts +38 -0
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +124 -0
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +28 -13
- package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +47 -4
- package/src/record/__tests__/temporal-payload.unit.test.ts +29 -28
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +21 -2
- package/src/record/frame-lighting.ts +252 -53
- package/src/record/frame-snapshot.ts +72 -12
- package/src/record/frame-targets.ts +11 -1
- package/src/record/frame.ts +416 -95
- package/src/record/gpu-timing.ts +108 -44
- package/src/record/helpers.ts +1 -59
- package/src/record/main-pass-geometry.ts +434 -44
- package/src/record/main-pass-material.ts +324 -210
- package/src/record/main-pass-sprite-draws.ts +58 -92
- package/src/record/main-pass.ts +94 -6
- package/src/record/mesh-ssbo.ts +79 -46
- package/src/record/recovery-pipeline.ts +695 -0
- package/src/record/render-context.ts +99 -7
- package/src/record/shadow-pass.ts +66 -40
- package/src/record/typed-frame-graph.ts +270 -84
- package/src/record/view-ubo.ts +17 -27
- package/src/recovery/render-system-candidate.ts +839 -0
- package/src/reflection/inspection.ts +67 -0
- package/src/reflection/projection.ts +196 -1
- package/src/reflection/record-owner.ts +1283 -0
- package/src/render-contract.ts +82 -12
- package/src/render-pipeline.ts +5 -0
- package/src/render-system-extract-tail.ts +2983 -0
- package/src/render-system-extract.ts +290 -2784
- package/src/render-system.ts +1597 -1192
- package/src/scene/__tests__/changed-block-summary.candidate.test.ts +36 -0
- package/src/scene/probe-blend-record.ts +54 -0
- package/src/scene/probe-blend.ts +813 -0
- package/src/scene/render-scene-types.ts +0 -7
- package/src/scene/render-scene.ts +972 -184
- package/src/scene/visibility/bounds.ts +57 -0
- package/src/scene/visibility/budget.ts +40 -0
- package/src/scene/visibility/facet.ts +400 -0
- package/src/scene/visibility/gpu-frame-timing.ts +101 -0
- package/src/scene/visibility/gpu-lod.ts +119 -0
- package/src/scene/visibility/inspection.ts +313 -0
- package/src/scene/visibility/lod-selector.ts +84 -0
- package/src/scene/visibility/occlusion-confidence.ts +478 -0
- package/src/scene/visibility/occlusion-pass.ts +165 -0
- package/src/scene/visibility/occlusion-query-pool.ts +178 -0
- package/src/scene/visibility/occlusion-runtime.ts +672 -0
- package/src/scene/visibility/types.ts +50 -0
- package/src/ssr/admission.ts +451 -0
- package/src/ssr/composition.ts +73 -0
- package/src/ssr/errors.ts +76 -0
- package/src/ssr/identity.ts +12 -0
- package/src/systems/skin-palette-allocator.ts +1 -1
- package/src/temporal/frame-coordinator.ts +30 -1
- package/src/temporal/frame.ts +14 -1
- package/src/temporal/taa-history-store.ts +46 -2
- package/src/temporal/temporal-view.ts +1 -1
- package/src/temporal/transaction.ts +9 -0
- package/src/temporal/view.ts +11 -0
- package/src/tilemap-chunk-extract-system.ts +5 -5
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +19 -12
- package/src/typed-render-graph-primitives.ts +48 -0
- package/src/volume/passes.ts +46 -49
- package/dist/.tsbuildinfo +0 -1
- package/dist/chunk-5YADUCA7.mjs.map +0 -1
- package/dist/chunk-6OPXDQ2E.mjs.map +0 -1
- package/dist/chunk-BXBQQKFQ.mjs +0 -67
- package/dist/chunk-BXBQQKFQ.mjs.map +0 -1
- package/dist/chunk-FS2KNUQH.mjs.map +0 -1
- package/dist/chunk-PCHBPYML.mjs.map +0 -1
- package/dist/chunk-VFPLTKCU.mjs +0 -192
- package/dist/chunk-VFPLTKCU.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/extract/contracts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;CACvC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACtD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;IAC5D;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,sBAAsB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAClE;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACrD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,uBAAuB,EAAE,IAAI,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAG/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAK7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3D;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACtE,kEAAkE;IAClE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/E;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IAC/C,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,6BAA6B,EAAE,gBAAgB,CAAC;CACpF;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,cAAc,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAChC,UAAU,GACV,kBAAkB,GAClB,WAAW,GACX,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CAAC;AACxB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,YAAY,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;CACL;AAED,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,uBAAuB;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACtE;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1F,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACvE,mEAAmE;IACnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,0BAA0B,CAAC,GAAG,SAAS,CAAC;IAC1F;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,CAAC;IACrF;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9F,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACzE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACjF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACtE,iFAAiF;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACzE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;AAC5E,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;AAUlF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACzF;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE;QAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,CAAC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,0BAA0B,EAAE,SAAS,oCAAoC,EAAE,CAAC;IACrF,iFAAiF;IACjF,QAAQ,CAAC,mBAAmB,EAAE,SAAS,+BAA+B,EAAE,CAAC;CAC1E;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,cAAc,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;CAC7D;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClE;iFAC6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { MaterialShaderArtifact } from '@forgeax/engine-shader';
|
|
2
|
+
import type { MeshAsset } from '@forgeax/engine-types';
|
|
3
|
+
import { type GpuDrivenDrawRange, type PreparedGpuDrivenDraw, type PrepareGpuDrivenDrawInput } from '../gpu-driven/prepared-draw';
|
|
4
|
+
import type { MaterialSnapshot } from '../render-system-extract';
|
|
5
|
+
export { GpuDrivenPreparationError, type GpuDrivenPreparationErrorCode, type GpuDrivenPreparationErrorDetail, type GpuDrivenPreparationReason, } from '../errors/gpu-driven';
|
|
6
|
+
export { type GpuDrivenDrawRange, type GpuDrivenGeometryReceipt, type GpuDrivenSkinReceipt, type PreparedGpuDrivenDraw, type PrepareGpuDrivenDrawInput, prepareGpuDrivenDraw, } from '../gpu-driven/prepared-draw';
|
|
7
|
+
export interface GpuDrivenDrawSnapshot {
|
|
8
|
+
readonly kind: GpuDrivenDrawRange['kind'];
|
|
9
|
+
readonly first: GpuDrivenDrawRange['first'];
|
|
10
|
+
readonly count: GpuDrivenDrawRange['count'];
|
|
11
|
+
readonly baseVertex: GpuDrivenDrawRange['baseVertex'];
|
|
12
|
+
readonly materialSlot: number;
|
|
13
|
+
readonly topology: GpuDrivenDrawRange['topology'];
|
|
14
|
+
readonly pipelineClass: string;
|
|
15
|
+
readonly materialResourceClass: string;
|
|
16
|
+
/** Producer-owned prepared ABI facts used by the PBR GPU lane. */
|
|
17
|
+
readonly prepared?: PreparedGpuDrivenDraw;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolves prepared facts once at extract time; record never re-reads assets.
|
|
21
|
+
* The resolver surfaces UV, reflection, vertex, alpha, resource, and
|
|
22
|
+
* generation failures as GpuDrivenPreparationError before recording.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolvePreparedGpuDrivenDraw(input: PrepareGpuDrivenDrawInput): {
|
|
25
|
+
readonly ok: true;
|
|
26
|
+
readonly value: PreparedGpuDrivenDraw;
|
|
27
|
+
} | {
|
|
28
|
+
readonly ok: false;
|
|
29
|
+
readonly error: import('../errors/gpu-driven').GpuDrivenPreparationError;
|
|
30
|
+
};
|
|
31
|
+
/** Keeps the artifact type visible at this owner boundary for contract checks. */
|
|
32
|
+
export type PreparedGpuDrivenArtifact = MaterialShaderArtifact;
|
|
33
|
+
/**
|
|
34
|
+
* Derives the resource identity consumed by the existing GPU-driven batch
|
|
35
|
+
* owner. The extract stage is the only place that resolves material values;
|
|
36
|
+
* this helper keeps the batch adapter from re-reading assets later.
|
|
37
|
+
*/
|
|
38
|
+
export declare function gpuDrivenMaterialResourceClass(material: MaterialSnapshot): string;
|
|
39
|
+
/**
|
|
40
|
+
* Projects already-resolved mesh facts into the existing GPU-driven draw
|
|
41
|
+
* snapshot. No World or AssetRegistry access is permitted at this boundary.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildGpuDrivenDraws(input: {
|
|
44
|
+
readonly submeshes: readonly MeshAsset['submeshes'][number][];
|
|
45
|
+
readonly indexed: boolean;
|
|
46
|
+
readonly materials: readonly MaterialSnapshot[];
|
|
47
|
+
readonly fallbackMaterial: MaterialSnapshot;
|
|
48
|
+
readonly prepare?: (draw: GpuDrivenDrawSnapshot, material: MaterialSnapshot) => PreparedGpuDrivenDraw | undefined;
|
|
49
|
+
}): GpuDrivenDrawSnapshot[];
|
|
50
|
+
//# sourceMappingURL=gpu-driven.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-driven.d.ts","sourceRoot":"","sources":["../../src/extract/gpu-driven.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAE/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EACL,yBAAyB,EACzB,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,GACzE;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,GAC5D;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,OAAO,sBAAsB,EAAE,yBAAyB,CAAC;CAC1E,CAEJ;AAED,kFAAkF;AAClF,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAYjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjB,IAAI,EAAE,qBAAqB,EAC3B,QAAQ,EAAE,gBAAgB,KACvB,qBAAqB,GAAG,SAAS,CAAC;CACxC,GAAG,qBAAqB,EAAE,CAoB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../src/extract/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../src/extract/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC5D,yFAAyF;IACzF,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvD;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,sBAAgD,GAC1D,kBAAkB,CA6FpB"}
|
package/dist/features/host.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RhiCaps } from '@forgeax/engine-rhi';
|
|
2
2
|
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
3
4
|
import { type RenderError } from '../errors/render';
|
|
4
5
|
import type { PostProcessShaderEntry } from '../fullscreen-post-process-pass';
|
|
5
6
|
import type { PreparedGraphicsResolvedSnapshot, PreparedGraphicsResolver, PreparedGraphicsResourceLease } from '../prepare/prepared-graphics-resolver';
|
|
@@ -89,6 +90,7 @@ export interface RenderFeatureHost {
|
|
|
89
90
|
/** Release submitted batches when queue completion rejects and cannot prove completion. */
|
|
90
91
|
recoverPreparedGraphics(batches: readonly RenderFeaturePreparedResourceBatch[]): Result<void, RenderError>;
|
|
91
92
|
recover(input: RenderFeatureRecoverInput): Result<void, RenderError>;
|
|
93
|
+
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
92
94
|
diagnostics(): readonly RenderFeatureDiagnostics[];
|
|
93
95
|
/** Subscribe to lifecycle projection changes; unchanged active frames are silent. */
|
|
94
96
|
subscribeDiagnostics(listener: () => void): () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/features/host.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/features/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GraphBufferAccess } from '@forgeax/engine-render-graph';
|
|
2
2
|
import type { BindGroup, Buffer, ComputePipeline, RhiComputePassEncoder, RhiDevice } from '@forgeax/engine-rhi';
|
|
3
3
|
import { type BindGroupLayoutDescriptor, type Result } from '@forgeax/engine-types';
|
|
4
|
+
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
4
5
|
import { type RenderError } from '../errors/render';
|
|
5
6
|
import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
|
|
6
7
|
import type { RenderFeatureShaderModuleMode } from './types';
|
|
@@ -106,6 +107,8 @@ export interface PreparedGraphicsResourceLease {
|
|
|
106
107
|
* retains the per-feature prepared GPU state and recreates it after recovery.
|
|
107
108
|
*/
|
|
108
109
|
export interface RenderFeatureGpuWorkOwner {
|
|
110
|
+
/** Candidate root carries this detached GPU-work owner itself. */
|
|
111
|
+
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
109
112
|
beginFeature(featureIdentity: string, generation: number, shaderModuleMode?: RenderFeatureShaderModuleMode): RenderFeatureGpuPrepareSession;
|
|
110
113
|
resolveBuffer(featureIdentity: string, reference: RenderFeatureGpuBufferRef): RenderFeatureResolvedGpuBuffer | undefined;
|
|
111
114
|
dispose(): Result<void, RenderError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-gpu-work.d.ts","sourceRoot":"","sources":["../../src/features/prepared-gpu-work.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prepared-gpu-work.d.ts","sourceRoot":"","sources":["../../src/features/prepared-gpu-work.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TextureFormat } from '@forgeax/engine-rhi';
|
|
2
2
|
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
3
4
|
import { type RenderError } from '../errors/render';
|
|
4
5
|
import type { PreparedKind, RenderFeatureBindingsDescriptor, RenderFeatureIndexDataDescriptor, RenderFeaturePipelineDescriptor, RenderFeaturePreparedGraphicsState, RenderFeaturePreparedRef, RenderFeatureVertexDataDescriptor } from './prepared-graphics';
|
|
5
6
|
import type { RenderFeatureTargetHandle } from './targets';
|
|
@@ -60,6 +61,7 @@ export interface PreparedGraphicsStore {
|
|
|
60
61
|
beginFrame(featureIdentity: string, generation: number): PreparedGraphicsTransaction;
|
|
61
62
|
snapshot(featureIdentity: string): PreparedGraphicsStoreSnapshot;
|
|
62
63
|
invalidate(featureIdentity: string, generation: number): void;
|
|
64
|
+
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
63
65
|
}
|
|
64
66
|
export declare function createPreparedGraphicsStore(): PreparedGraphicsStore;
|
|
65
67
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepared-graphics-store.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prepared-graphics-store.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { PrimitiveTopology } from '@forgeax/engine-types';
|
|
2
2
|
import type { BatchTopologyInspection } from '../inspection-types';
|
|
3
|
+
import type { CameraSnapshot } from '../render-contract';
|
|
3
4
|
import type { RenderSceneApplyResult, RenderSceneSlot } from '../scene/render-scene-types';
|
|
5
|
+
import { type GpuLodRow } from '../scene/visibility/gpu-lod';
|
|
6
|
+
import type { PreparedGpuDrivenDraw } from './prepared-draw';
|
|
4
7
|
export type { BatchTopologyInspection } from '../inspection-types';
|
|
5
8
|
export interface GpuDrivenBatchKey {
|
|
6
9
|
readonly assetHandle: number;
|
|
@@ -12,12 +15,28 @@ export interface GpuDrivenBatchKey {
|
|
|
12
15
|
readonly topology: PrimitiveTopology;
|
|
13
16
|
readonly pipelineClass: string;
|
|
14
17
|
readonly materialResourceClass: string;
|
|
18
|
+
/** Stable producer-owned identity; topology never derives this from a shader name. */
|
|
19
|
+
readonly preparedIdentity?: string;
|
|
20
|
+
/** Resource identity projected by the prepared material contract. */
|
|
21
|
+
readonly resourceIdentity?: string;
|
|
22
|
+
/** Closed admission lane for the prepared Standard PBR draw. */
|
|
23
|
+
readonly admission?: 'opaque' | 'alpha-mask';
|
|
15
24
|
}
|
|
16
25
|
export interface GpuDrivenCandidate {
|
|
17
26
|
readonly primitiveIndex: number;
|
|
18
27
|
readonly generation: number;
|
|
19
28
|
readonly drawItemIndex: number;
|
|
20
29
|
readonly instanceOrdinal: number;
|
|
30
|
+
/** Absolute coverage rows uploaded to the GPU selector; root is implicit. */
|
|
31
|
+
readonly lodCoverages?: readonly number[];
|
|
32
|
+
readonly lodHysteresis?: number;
|
|
33
|
+
readonly projectedHeight?: number;
|
|
34
|
+
readonly lodRanges?: readonly {
|
|
35
|
+
readonly first: number;
|
|
36
|
+
readonly count: number;
|
|
37
|
+
readonly baseVertex: number;
|
|
38
|
+
}[];
|
|
39
|
+
readonly prepared?: PreparedGpuDrivenDraw;
|
|
21
40
|
}
|
|
22
41
|
export interface GpuDrivenBatch {
|
|
23
42
|
readonly batchId: number;
|
|
@@ -34,6 +53,21 @@ export interface SubmissionPlan {
|
|
|
34
53
|
readonly candidateCount: number;
|
|
35
54
|
readonly visibleCapacity: number;
|
|
36
55
|
}
|
|
56
|
+
export interface GpuLodCandidateInput {
|
|
57
|
+
readonly candidate: GpuDrivenCandidate;
|
|
58
|
+
readonly rows: readonly GpuLodRow[];
|
|
59
|
+
readonly projectedHeight: number;
|
|
60
|
+
readonly previousLevel: number;
|
|
61
|
+
readonly historyValid: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface GpuLodCompactCandidate {
|
|
64
|
+
readonly candidate: GpuDrivenCandidate;
|
|
65
|
+
readonly level: number;
|
|
66
|
+
readonly confidence: number;
|
|
67
|
+
}
|
|
68
|
+
/** Selects one level per stable topology candidate without mutating membership. */
|
|
69
|
+
export declare function compactGpuLodCandidates(inputs: readonly GpuLodCandidateInput[]): readonly GpuLodCompactCandidate[];
|
|
70
|
+
export declare function projectedHeightForCandidate(slot: RenderSceneSlot, camera: CameraSnapshot): number;
|
|
37
71
|
/** Stable compatibility grouping; per-view visibility never mutates this owner. */
|
|
38
72
|
export declare class BatchTopology {
|
|
39
73
|
private readonly batches;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-topology.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/batch-topology.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-topology.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/batch-topology.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { MaterialShaderArtifact, MaterialShaderArtifactReceipt, MaterialShaderVertexInput } from '@forgeax/engine-shader';
|
|
2
|
+
import type { PrimitiveTopology } from '@forgeax/engine-types';
|
|
3
|
+
import { GpuDrivenPreparationError } from '../errors/gpu-driven';
|
|
4
|
+
import type { RenderableSnapshot } from '../render-system-extract';
|
|
5
|
+
export interface GpuDrivenGeometryReceipt {
|
|
6
|
+
readonly identity: string;
|
|
7
|
+
readonly vertexInputs: readonly MaterialShaderVertexInput[];
|
|
8
|
+
readonly topology: PrimitiveTopology;
|
|
9
|
+
readonly indexed: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface GpuDrivenSkinReceipt {
|
|
12
|
+
readonly identity: string;
|
|
13
|
+
readonly generation: number;
|
|
14
|
+
readonly group: number;
|
|
15
|
+
readonly binding: number;
|
|
16
|
+
readonly byteOffset: number;
|
|
17
|
+
}
|
|
18
|
+
export interface PreparedGpuDrivenDraw {
|
|
19
|
+
readonly identity: {
|
|
20
|
+
readonly material: string;
|
|
21
|
+
readonly geometry: string;
|
|
22
|
+
readonly deformation: 'rigid' | 'skin';
|
|
23
|
+
};
|
|
24
|
+
readonly receiptGeneration: number;
|
|
25
|
+
readonly directEntry: string;
|
|
26
|
+
readonly sceneIndexEntry: string;
|
|
27
|
+
readonly materialRow: MaterialShaderArtifactReceipt['materialRow'];
|
|
28
|
+
readonly resourceSlots: MaterialShaderArtifactReceipt['resourceSlots'];
|
|
29
|
+
readonly uvSets: MaterialShaderArtifactReceipt['uvSets'];
|
|
30
|
+
readonly vertexInputs: MaterialShaderArtifactReceipt['vertexInputs'];
|
|
31
|
+
readonly alphaMask: MaterialShaderArtifactReceipt['alphaMask'];
|
|
32
|
+
readonly skinPaletteAddress: MaterialShaderArtifactReceipt['skinPaletteAddress'];
|
|
33
|
+
readonly topology: PrimitiveTopology;
|
|
34
|
+
readonly indexed: boolean;
|
|
35
|
+
readonly first: number;
|
|
36
|
+
readonly count: number;
|
|
37
|
+
readonly baseVertex: number;
|
|
38
|
+
}
|
|
39
|
+
/** Exact extracted draw range consumed by the preparation owner. */
|
|
40
|
+
export interface GpuDrivenDrawRange {
|
|
41
|
+
readonly kind: 'indexed' | 'non-indexed';
|
|
42
|
+
readonly first: number;
|
|
43
|
+
readonly count: number;
|
|
44
|
+
readonly baseVertex: number;
|
|
45
|
+
readonly topology: PrimitiveTopology;
|
|
46
|
+
}
|
|
47
|
+
export interface PrepareGpuDrivenDrawInput {
|
|
48
|
+
readonly snapshot: RenderableSnapshot;
|
|
49
|
+
readonly artifact: MaterialShaderArtifact;
|
|
50
|
+
readonly geometry: GpuDrivenGeometryReceipt;
|
|
51
|
+
readonly generation: number;
|
|
52
|
+
/** The submesh draw currently being prepared; never infer draw zero. */
|
|
53
|
+
readonly draw: GpuDrivenDrawRange;
|
|
54
|
+
readonly skinReceipt?: GpuDrivenSkinReceipt;
|
|
55
|
+
}
|
|
56
|
+
export declare function prepareGpuDrivenDraw(input: PrepareGpuDrivenDrawInput): {
|
|
57
|
+
readonly ok: true;
|
|
58
|
+
readonly value: PreparedGpuDrivenDraw;
|
|
59
|
+
} | {
|
|
60
|
+
readonly ok: false;
|
|
61
|
+
readonly error: GpuDrivenPreparationError;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=prepared-draw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-draw.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/prepared-draw.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,127 @@
|
|
|
1
1
|
import type { RenderGraphBuilder, RenderGraphError } from '@forgeax/engine-render-graph';
|
|
2
|
-
import type { BindGroupLayout, Result, RhiDevice, TextureFormat } from '@forgeax/engine-rhi';
|
|
2
|
+
import type { BindGroup, BindGroupLayout, Result, RhiDevice, TextureFormat } from '@forgeax/engine-rhi';
|
|
3
3
|
import { RhiError } from '@forgeax/engine-rhi';
|
|
4
|
+
import type { MaterialShaderArtifact } from '@forgeax/engine-shader';
|
|
5
|
+
import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
|
|
4
6
|
import type { MeshGpuHandles } from '../device/gpu-residency';
|
|
5
7
|
import type { GpuDrivenProductionInspection } from '../inspection-types';
|
|
6
8
|
import type { PipelineBuilderShaderModuleFactory } from '../pipeline-builder';
|
|
9
|
+
import type { PipelineState } from '../record/render-context';
|
|
7
10
|
import type { CameraSnapshot } from '../render-contract';
|
|
8
11
|
import type { RenderPipelineFrame, RenderPipelineGpuDrivenProjection } from '../render-pipeline';
|
|
9
12
|
import type { RenderableSnapshot } from '../render-system-extract';
|
|
10
13
|
import type { PersistentGpuDrivenState } from '../scene/render-scene';
|
|
14
|
+
import type { OcclusionFrameProjection } from '../scene/visibility/occlusion-runtime';
|
|
15
|
+
import { type GpuDrivenLodSelectionInspection } from './view-gpu';
|
|
16
|
+
export interface StandardPbrSceneCandidate {
|
|
17
|
+
readonly primitiveIndex: number;
|
|
18
|
+
readonly world: Float32Array;
|
|
19
|
+
}
|
|
20
|
+
export interface StandardPbrSceneProjection {
|
|
21
|
+
readonly entryPoint: string;
|
|
22
|
+
readonly layoutIdentity: string;
|
|
23
|
+
readonly receiptGeneration: number;
|
|
24
|
+
/** Packed Mesh rows: mat4 + padded mat3 + previous mat4 + temporal vec4. */
|
|
25
|
+
readonly rows: Float32Array;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build the producer-owned Standard PBR scene-index projection. The receipt is
|
|
29
|
+
* the only source of the vertex entry and layout identity; callers cannot
|
|
30
|
+
* silently fall back to the legacy GPU-driven shader ABI.
|
|
31
|
+
*/
|
|
32
|
+
export declare function projectStandardPbrScene(input: {
|
|
33
|
+
readonly artifact: MaterialShaderArtifact;
|
|
34
|
+
readonly candidates: readonly StandardPbrSceneCandidate[];
|
|
35
|
+
}): {
|
|
36
|
+
readonly ok: true;
|
|
37
|
+
readonly value: StandardPbrSceneProjection;
|
|
38
|
+
} | {
|
|
39
|
+
readonly ok: false;
|
|
40
|
+
readonly error: {
|
|
41
|
+
readonly code: 'missing-material-receipt' | 'invalid-material-receipt';
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export interface StandardPbrFrameResourceBinding {
|
|
45
|
+
readonly entryPoint: string;
|
|
46
|
+
readonly layoutIdentity: string;
|
|
47
|
+
readonly receiptGeneration: number;
|
|
48
|
+
readonly bindGroups: readonly [BindGroup, BindGroup, BindGroup, BindGroup];
|
|
49
|
+
readonly resourceSlots: NonNullable<MaterialShaderArtifact['receipt']>['resourceSlots'];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Adapt the frame's already-created Standard PBR groups to the GPU-driven
|
|
53
|
+
* scene-index draw. This deliberately accepts group handles rather than
|
|
54
|
+
* rebuilding layouts or shader artifacts; the receipt remains the binding
|
|
55
|
+
* contract and the regular frame producers remain the resource owners.
|
|
56
|
+
*/
|
|
57
|
+
export declare function adaptStandardPbrFrameResources(input: {
|
|
58
|
+
readonly artifact: MaterialShaderArtifact;
|
|
59
|
+
readonly view: BindGroup;
|
|
60
|
+
readonly material: BindGroup;
|
|
61
|
+
readonly mesh: BindGroup;
|
|
62
|
+
readonly instances: BindGroup;
|
|
63
|
+
}): {
|
|
64
|
+
readonly ok: true;
|
|
65
|
+
readonly value: StandardPbrFrameResourceBinding;
|
|
66
|
+
} | {
|
|
67
|
+
readonly ok: false;
|
|
68
|
+
readonly error: {
|
|
69
|
+
readonly code: 'missing-material-receipt' | 'invalid-material-receipt';
|
|
70
|
+
};
|
|
71
|
+
};
|
|
11
72
|
export declare const GPU_DRIVEN_RIGID_UNLIT_WGSL: string;
|
|
73
|
+
export interface GpuDrivenWorldLodSelectionInspection {
|
|
74
|
+
readonly worldKey: number;
|
|
75
|
+
readonly primitiveSlot: number;
|
|
76
|
+
readonly slotGeneration: number;
|
|
77
|
+
readonly candidateCount: number;
|
|
78
|
+
readonly visible: number;
|
|
79
|
+
readonly occluded: number;
|
|
80
|
+
readonly lodHistogram: readonly {
|
|
81
|
+
readonly level: number;
|
|
82
|
+
readonly count: number;
|
|
83
|
+
}[];
|
|
84
|
+
}
|
|
12
85
|
export interface PreparedGpuDrivenFrame {
|
|
13
86
|
readonly topologySignature: string;
|
|
14
87
|
readonly entityKeys: ReadonlySet<number>;
|
|
15
88
|
readonly ownsAllRenderables: boolean;
|
|
89
|
+
readonly occlusion?: OcclusionFrameProjection;
|
|
16
90
|
/** @internal Commits a replacement generation only after graph promotion. */
|
|
17
91
|
readonly _commitResourceReplacement: () => void;
|
|
18
92
|
project(graph: RenderGraphBuilder<RenderPipelineFrame>, format: TextureFormat, sampleCount: 1 | 4): Result<RenderPipelineGpuDrivenProjection, RenderGraphError | RhiError>;
|
|
19
93
|
}
|
|
94
|
+
export interface RecoveryCapabilityFacts {
|
|
95
|
+
readonly generation: number;
|
|
96
|
+
readonly shaderCompilation: boolean;
|
|
97
|
+
readonly compute: boolean;
|
|
98
|
+
readonly storageBuffer: boolean;
|
|
99
|
+
readonly indirectDrawing: boolean;
|
|
100
|
+
readonly multisample: boolean;
|
|
101
|
+
}
|
|
102
|
+
export type RecoveryCapabilityOutcome = {
|
|
103
|
+
readonly status: 'ready' | 'fallback';
|
|
104
|
+
readonly generation: number;
|
|
105
|
+
readonly disabled: readonly string[];
|
|
106
|
+
} | {
|
|
107
|
+
readonly status: 'disabled';
|
|
108
|
+
readonly generation: number;
|
|
109
|
+
readonly disabled: readonly string[];
|
|
110
|
+
readonly allocations: 0;
|
|
111
|
+
} | {
|
|
112
|
+
readonly status: 'refused';
|
|
113
|
+
readonly generation: number;
|
|
114
|
+
readonly failedOwner: 'shader-material-pipeline';
|
|
115
|
+
readonly resourceKind: 'pipeline';
|
|
116
|
+
};
|
|
117
|
+
export declare function classifyRecoveryCapability(facts: RecoveryCapabilityFacts): RecoveryCapabilityOutcome;
|
|
20
118
|
export declare class GpuDrivenProduction {
|
|
21
119
|
private readonly device;
|
|
22
120
|
private readonly shaderModuleFactory;
|
|
121
|
+
private disposed;
|
|
23
122
|
private view;
|
|
24
123
|
private raster;
|
|
124
|
+
private standardRaster;
|
|
25
125
|
private readonly sceneIdentities;
|
|
26
126
|
private nextSceneIdentity;
|
|
27
127
|
private filteredCache;
|
|
@@ -31,20 +131,44 @@ export declare class GpuDrivenProduction {
|
|
|
31
131
|
private batchBindGroupCreates;
|
|
32
132
|
private validatedGpuOwnedRows;
|
|
33
133
|
private cpuFallbackDrawItems;
|
|
134
|
+
private telemetryPrepared;
|
|
135
|
+
private telemetryCandidateCount;
|
|
136
|
+
private telemetryGeometryWork;
|
|
137
|
+
private telemetryRootGeometryWork;
|
|
138
|
+
private indirectDrawCount;
|
|
139
|
+
private sceneRowsRequired;
|
|
140
|
+
private standardPbrProjection;
|
|
34
141
|
private signatureCache;
|
|
35
142
|
constructor(device: RhiDevice, shaderModuleFactory: PipelineBuilderShaderModuleFactory);
|
|
143
|
+
static forDevice(device: RhiDevice, shaderModuleFactory: PipelineBuilderShaderModuleFactory): GpuDrivenProduction;
|
|
144
|
+
createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
|
|
36
145
|
prepare(input: {
|
|
37
146
|
readonly scene: PersistentGpuDrivenState | undefined;
|
|
38
147
|
readonly camera: CameraSnapshot;
|
|
39
148
|
readonly meshes: ReadonlyMap<number, MeshGpuHandles>;
|
|
40
149
|
readonly viewBindGroupLayout: BindGroupLayout;
|
|
41
150
|
readonly meshResidencyEpoch: number;
|
|
151
|
+
readonly hdrp: boolean;
|
|
152
|
+
/** Entity keys admitted by the persistent visibility facet for this view. */
|
|
153
|
+
readonly activeEntityKeys?: ReadonlySet<number>;
|
|
154
|
+
/** Collision-free renderer-owned revision for the active visibility set. */
|
|
155
|
+
readonly activeEntityRevision?: number;
|
|
156
|
+
/** Total extracted candidates, including facet-suppressed rows. */
|
|
157
|
+
readonly telemetryCandidateCount?: number;
|
|
158
|
+
readonly occlusion?: OcclusionFrameProjection;
|
|
159
|
+
/** Cooked producer artifact selected from the frame material catalog. */
|
|
160
|
+
readonly standardPbrArtifact?: MaterialShaderArtifact;
|
|
161
|
+
readonly standardPbrPipelineState?: PipelineState;
|
|
42
162
|
}): Result<PreparedGpuDrivenFrame | undefined, RhiError>;
|
|
43
163
|
dispose(): void;
|
|
164
|
+
/** Whether the current production topology can consume GPU Scene row updates. */
|
|
165
|
+
requiresSceneRows(): boolean;
|
|
44
166
|
inspect(): GpuDrivenProductionInspection;
|
|
167
|
+
/** Read renderer-owned LOD counters copied by the last GPU submission. */
|
|
168
|
+
readLodSelection(): Promise<GpuDrivenLodSelectionInspection | undefined>;
|
|
45
169
|
recordCpuValidation(validated: readonly {
|
|
46
170
|
readonly source: RenderableSnapshot;
|
|
47
|
-
}[], gpuOwned: ReadonlySet<number
|
|
171
|
+
}[], gpuOwned: ReadonlySet<number>, worldKeys?: readonly number[]): void;
|
|
48
172
|
private sceneIdentity;
|
|
49
173
|
}
|
|
50
174
|
//# sourceMappingURL=production-raster.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-raster.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/production-raster.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"production-raster.d.ts","sourceRoot":"","sources":["../../src/gpu-driven/production-raster.ts"],"names":[],"mappings":"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"}
|