@forgeax/engine-render 0.1.4 → 0.1.7
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 +268 -640
- package/dist/.tsbuildinfo +1 -1
- package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts +2 -0
- package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts.map +1 -0
- package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts +2 -0
- package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts.map +1 -0
- package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts +2 -0
- package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts.map +1 -1
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts +6 -0
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts.map +1 -1
- package/dist/{gpu-driven/view-reference.d.ts → __tests__/gpu-driven-view-reference.d.ts} +4 -4
- package/dist/__tests__/gpu-driven-view-reference.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts.map +1 -1
- package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts +2 -0
- package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts.map +1 -0
- package/dist/__tests__/morph-feature-plan.unit.test.d.ts +2 -0
- package/dist/__tests__/morph-feature-plan.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-plan.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-plan.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-plan.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-plan.unit.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-config.unit.test.d.ts +2 -0
- package/dist/__tests__/ssao-config.unit.test.d.ts.map +1 -0
- package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/standard-descriptors.test-d.d.ts +2 -0
- package/dist/__tests__/standard-descriptors.test-d.d.ts.map +1 -0
- package/dist/__tests__/standard-pipeline.dawn.test.d.ts +2 -0
- package/dist/__tests__/standard-pipeline.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/standard-pipeline.integration.test.d.ts +2 -0
- package/dist/__tests__/standard-pipeline.integration.test.d.ts.map +1 -0
- package/dist/__tests__/standard-profile-oracle.unit.test.d.ts +2 -0
- package/dist/__tests__/standard-profile-oracle.unit.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts.map +1 -0
- package/dist/{renderer/backend-selection.d.ts → assembly/backend-contract.d.ts} +15 -4
- package/dist/assembly/backend-contract.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +214 -0
- package/dist/assembly/factory.d.ts.map +1 -0
- package/dist/assembly/host-contract.d.ts +84 -0
- package/dist/assembly/host-contract.d.ts.map +1 -0
- package/dist/{renderer → assembly}/material/assembly.d.ts +0 -1
- package/dist/{renderer → assembly}/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/pipeline-projection.d.ts +30 -0
- package/dist/assembly/material/pipeline-projection.d.ts.map +1 -0
- package/dist/authoring.d.ts +11 -11
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.mjs +25 -3
- package/dist/authoring.mjs.map +1 -1
- package/dist/chunk-CQXZC5XI.mjs +182 -0
- package/dist/chunk-CQXZC5XI.mjs.map +1 -0
- package/dist/chunk-HCOGPHKS.mjs +93 -0
- package/dist/chunk-HCOGPHKS.mjs.map +1 -0
- package/dist/chunk-YEJIUW7D.mjs +1152 -0
- package/dist/chunk-YEJIUW7D.mjs.map +1 -0
- package/dist/components/__tests__/points-lines-admission.unit.test.d.ts +2 -0
- package/dist/components/__tests__/points-lines-admission.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/points-lines-schema.unit.test.d.ts +2 -0
- package/dist/components/__tests__/points-lines-schema.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/schema-contract.unit.test.d.ts +2 -0
- package/dist/components/__tests__/schema-contract.unit.test.d.ts.map +1 -0
- package/dist/components/glyph-text.d.ts +1 -1
- package/dist/components/glyph-text.d.ts.map +1 -1
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +1 -1
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts +1 -1
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/lines.d.ts +5 -0
- package/dist/components/lines.d.ts.map +1 -0
- package/dist/components/mesh-filter.d.ts +7 -7
- package/dist/components/mesh-filter.d.ts.map +1 -1
- package/dist/components/points.d.ts +15 -0
- package/dist/components/points.d.ts.map +1 -0
- package/dist/components/scene-instance.d.ts +11 -11
- package/dist/components/skybox-background.d.ts +56 -0
- package/dist/components/skybox-background.d.ts.map +1 -0
- package/dist/components/skylight.d.ts +55 -0
- package/dist/components/skylight.d.ts.map +1 -0
- package/dist/components/sprite-animation.d.ts +2 -3
- package/dist/components/sprite-animation.d.ts.map +1 -1
- package/dist/components/sprite-instances.d.ts +1 -1
- package/dist/components/sprite-playback-mode.d.ts +6 -1
- package/dist/components/sprite-playback-mode.d.ts.map +1 -1
- package/dist/components/sprite-region-override.d.ts +2 -3
- package/dist/components/sprite-region-override.d.ts.map +1 -1
- package/dist/components/tile-layer.d.ts +5 -0
- package/dist/components/tile-layer.d.ts.map +1 -1
- package/dist/construct-renderer.d.ts +18 -1
- package/dist/construct-renderer.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +27463 -4
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/debug-draw-glue.d.ts +2 -53
- package/dist/debug-draw-glue.d.ts.map +1 -1
- package/dist/device/device-scope.d.ts +83 -0
- package/dist/device/device-scope.d.ts.map +1 -0
- package/dist/{gpu-resource-store.d.ts → device/gpu-residency.d.ts} +91 -48
- package/dist/device/gpu-residency.d.ts.map +1 -0
- package/dist/device/resource-types.d.ts +8 -0
- package/dist/device/resource-types.d.ts.map +1 -0
- package/dist/engine-metrics.d.ts +2 -2
- package/dist/engine-metrics.d.ts.map +1 -1
- package/dist/errors/recover.d.ts +28 -1
- package/dist/errors/recover.d.ts.map +1 -1
- package/dist/errors/render.d.ts +320 -248
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/features/fullscreen.d.ts +19 -0
- package/dist/features/fullscreen.d.ts.map +1 -0
- package/dist/features/host.d.ts +32 -26
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/morph/morph-feature.d.ts +39 -5
- package/dist/features/morph/morph-feature.d.ts.map +1 -1
- package/dist/features/plan.d.ts +182 -0
- package/dist/features/plan.d.ts.map +1 -0
- package/dist/features/prepared-gpu-work.d.ts +21 -17
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts +2 -1
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/features/prepared-graphics.d.ts +11 -21
- package/dist/features/prepared-graphics.d.ts.map +1 -1
- package/dist/features/render-graph-compute.d.ts +2 -2
- package/dist/features/render-graph-compute.d.ts.map +1 -1
- package/dist/features/render-graph-contribution.d.ts +4 -7
- package/dist/features/render-graph-contribution.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +7 -3
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/render-graph-resources.d.ts +6 -6
- package/dist/features/render-graph-resources.d.ts.map +1 -1
- package/dist/features/targets.d.ts +5 -5
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +11 -190
- package/dist/features/types.d.ts.map +1 -1
- package/dist/features/vocabulary.d.ts +14 -0
- package/dist/features/vocabulary.d.ts.map +1 -0
- package/dist/fullscreen-post-process-pass.d.ts +4 -25
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/glyph-text-layout-system.d.ts +3 -2
- package/dist/glyph-text-layout-system.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts +6 -75
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +13 -112
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/view-gpu.d.ts +10 -66
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-resource.d.ts +3 -3
- package/dist/gpu-scene-schema.d.ts +1 -94
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +7 -33
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +3 -53
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +74 -180
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +1 -1
- package/dist/index.d.ts +17 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +167 -3
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +72 -0
- package/dist/inspection-types.d.ts.map +1 -0
- package/dist/instance-buffer-cache.d.ts +1 -4
- package/dist/instance-buffer-cache.d.ts.map +1 -1
- package/dist/internal.d.ts +1 -73
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +1 -43
- package/dist/internal.mjs.map +1 -1
- package/dist/lifecycle.d.ts +36 -2
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/materials.d.ts +0 -3
- package/dist/materials.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +0 -1
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +77 -29
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts +5 -0
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -0
- package/dist/pipeline/standard-pipeline.d.ts +31 -0
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -0
- package/dist/pipeline/standard-profile.d.ts +40 -0
- package/dist/pipeline/standard-profile.d.ts.map +1 -0
- package/dist/pipeline-builder.d.ts +3 -3
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec-types.d.ts +24 -0
- package/dist/pipeline-spec-types.d.ts.map +1 -0
- package/dist/pipeline-spec.d.ts +16 -155
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/plugin.d.ts +1 -14
- package/dist/plugin.d.ts.map +1 -1
- package/dist/points-lines/__tests__/bounds.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/bounds.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts +2 -0
- package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/inspection.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/inspection.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts +2 -0
- package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/points-lines.bench.d.ts +2 -0
- package/dist/points-lines/__tests__/points-lines.bench.d.ts.map +1 -0
- package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts +2 -0
- package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/snapshot.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/snapshot.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts.map +1 -0
- package/dist/points-lines/admission.d.ts +36 -0
- package/dist/points-lines/admission.d.ts.map +1 -0
- package/dist/points-lines/bounds.d.ts +8 -0
- package/dist/points-lines/bounds.d.ts.map +1 -0
- package/dist/points-lines/expansion-cache.d.ts +28 -0
- package/dist/points-lines/expansion-cache.d.ts.map +1 -0
- package/dist/points-lines/inspection.d.ts +53 -0
- package/dist/points-lines/inspection.d.ts.map +1 -0
- package/dist/points-lines/prepare.d.ts +67 -0
- package/dist/points-lines/prepare.d.ts.map +1 -0
- package/dist/points-lines/record.d.ts +60 -0
- package/dist/points-lines/record.d.ts.map +1 -0
- package/dist/points-lines/snapshot.d.ts +49 -0
- package/dist/points-lines/snapshot.d.ts.map +1 -0
- package/dist/post-process-errors.d.ts +18 -18
- package/dist/post-process-errors.d.ts.map +1 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts +2 -5
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
- package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts +2 -0
- package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +7 -73
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +44 -44
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts +5 -38
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +64 -52
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/helpers.d.ts +3 -2
- package/dist/record/helpers.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +12 -4
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +90 -59
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts +28 -3
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +1 -1
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +276 -3
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +252 -0
- package/dist/record/render-context.d.ts.map +1 -0
- package/dist/record/shadow-pass.d.ts +15 -88
- 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 +29 -7
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +9 -3
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/render-contract.d.ts +424 -0
- package/dist/render-contract.d.ts.map +1 -0
- package/dist/render-data.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts +14 -362
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +25 -64
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +110 -338
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +24 -713
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/render-scene-types.d.ts +61 -0
- package/dist/scene/render-scene-types.d.ts.map +1 -0
- package/dist/scene/render-scene.d.ts +112 -0
- package/dist/scene/render-scene.d.ts.map +1 -0
- package/dist/scene-instances/post-spawn-resolve-joints.d.ts +2 -5
- package/dist/scene-instances/post-spawn-resolve-joints.d.ts.map +1 -1
- package/dist/ssao-buffers.d.ts +22 -3
- package/dist/ssao-buffers.d.ts.map +1 -1
- package/dist/systems/skin-palette-allocator.d.ts +2 -4
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
- package/dist/systems/skin-palette-types.d.ts +14 -0
- package/dist/systems/skin-palette-types.d.ts.map +1 -0
- package/dist/systems/transparent-sort-config.d.ts +23 -2
- package/dist/systems/transparent-sort-config.d.ts.map +1 -1
- package/dist/tilemap-chunk-extract-system.d.ts +4 -3
- package/dist/tilemap-chunk-extract-system.d.ts.map +1 -1
- package/dist/typed-render-graph-primitives.d.ts +2 -4
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-passes.d.ts +3 -3
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/package.json +23 -23
- package/src/__tests__/authoring-path.unit.test.ts +9 -0
- package/src/__tests__/backend-selection-rhi-capture.test-d.ts +1 -1
- package/src/__tests__/callback-inference.test-d.ts +6 -3
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +7 -4
- package/src/__tests__/construct-renderer-identity.unit.test.ts +15 -2
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +151 -0
- package/src/__tests__/device-scope-stale-matrix.unit.test.ts +42 -0
- package/src/__tests__/direct-extract-consumer-contract.test-d.ts +8 -19
- package/src/__tests__/direct-light-snapshot.unit.test.ts +3 -13
- package/src/__tests__/factory-contract.integration.test.ts +158 -209
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +1 -4
- package/src/__tests__/frame-observation.contract.test.ts +17 -8
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +32 -0
- package/src/__tests__/glyph-text-layout-recovery.unit.test.ts +6 -11
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +21 -18
- package/src/__tests__/gpu-driven-production.integration.test.ts +32 -205
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +4 -7
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +87 -8
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +170 -8
- package/src/{gpu-driven/view-reference.ts → __tests__/gpu-driven-view-reference.ts} +4 -3
- package/src/__tests__/gpu-driven-view.browser.test.ts +12 -1
- package/src/__tests__/gpu-driven-view.dawn.test.ts +12 -1
- package/src/__tests__/gpu-driven-view.unit.test.ts +11 -267
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +3 -3
- package/src/__tests__/gpu-scene-render-graph-gpu.ts +2 -3
- package/src/__tests__/gpu-scene.dawn.test.ts +2 -6
- package/src/__tests__/gpu-scene.unit.test.ts +10 -24
- package/src/__tests__/ibl/face-uniforms.unit.test.ts +46 -0
- package/src/__tests__/infinite-grid-no-vertex-probe.unit.test.ts +34 -66
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +14 -5
- package/src/__tests__/light-buffer-layout.unit.test.ts +4 -49
- package/src/__tests__/material-cooked-projection.unit.test.ts +31 -58
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +10 -15
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +31 -50
- package/src/__tests__/material-stride-surface.unit.test.ts +2 -2
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +7 -8
- package/src/__tests__/morph-culling-reentry.dawn.test.ts +29 -38
- package/src/__tests__/morph-feature-gpu-work.integration.test.ts +45 -43
- package/src/__tests__/morph-feature-plan.unit.test.ts +53 -0
- package/src/__tests__/morph-visual-evidence.integration.test.ts +47 -33
- package/src/__tests__/nineslice-handle-surface.unit.test.ts +11 -6
- package/src/__tests__/post-process-error-policy-owner.unit.test.ts +6 -13
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +6 -81
- package/src/__tests__/prepared-graphics-generation.unit.test.ts +3 -17
- package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +6 -74
- package/src/__tests__/prepared-graphics-resolver.unit.test.ts +1 -3
- package/src/__tests__/prepared-graphics-snapshot.unit.test.ts +2 -2
- package/src/__tests__/profiler-default-off.test.ts +1 -1
- package/src/__tests__/profiler-phase-catalog.test.ts +2 -2
- package/src/__tests__/profiler-phase-integration.test.ts +5 -13
- package/src/__tests__/profiler-phase-token.test.ts +3 -8
- package/src/__tests__/public-surface.test-d.ts +65 -3
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +1 -21
- package/src/__tests__/render-error-code-owner.test-d.ts +24 -23
- package/src/__tests__/render-error-detail-ssot.test-d.ts +0 -95
- package/src/__tests__/render-error-exhaustive.test-d.ts +27 -1
- package/src/__tests__/render-feature-assembly.test-d.ts +8 -16
- package/src/__tests__/render-feature-context.test-d.ts +16 -40
- package/src/__tests__/render-feature-contract.test-d.ts +9 -18
- package/src/__tests__/render-feature-diagnostics.unit.test.ts +6 -8
- package/src/__tests__/render-feature-docs.unit.test.ts +8 -7
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +14 -75
- package/src/__tests__/render-feature-plan.test-d.ts +161 -0
- package/src/__tests__/render-feature-plan.unit.test.ts +170 -0
- package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +8 -19
- package/src/__tests__/render-feature-prepared-errors.test-d.ts +3 -6
- package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +10 -71
- package/src/__tests__/render-feature-prepared-graphics-isolation.unit.test.ts +11 -61
- package/src/__tests__/render-feature-prepared-graphics-negative.test-d.ts +20 -43
- package/src/__tests__/render-feature-prepared-graphics.test-d.ts +56 -78
- package/src/__tests__/render-feature-public-surface.test-d.ts +6 -24
- package/src/__tests__/render-feature-retry.unit.test.ts +7 -48
- package/src/__tests__/render-feature-scheduling.unit.test.ts +15 -27
- package/src/__tests__/render-feature-stage-failed-policy-owner.unit.test.ts +0 -9
- package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +19 -109
- package/src/__tests__/render-feature-visibility-context.test-d.ts +1 -6
- package/src/__tests__/render-feature-visibility-context.unit.test.ts +1 -2
- package/src/__tests__/render-feature-zero-work.unit.test.ts +14 -20
- package/src/__tests__/render-scene-projection.unit.test.ts +73 -111
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +82 -95
- package/src/__tests__/renderer-lifecycle.integration.test.ts +49 -1
- package/src/__tests__/shader-stage-surface.unit.test.ts +14 -9
- package/src/__tests__/ssao-config.unit.test.ts +36 -0
- package/src/__tests__/ssao-kernel-surface.unit.test.ts +4 -5
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +28 -0
- package/src/__tests__/standard-descriptors.test-d.ts +22 -0
- package/src/__tests__/standard-pipeline.dawn.test.ts +61 -0
- package/src/__tests__/standard-pipeline.integration.test.ts +124 -0
- package/src/__tests__/standard-profile-oracle.unit.test.ts +62 -0
- package/src/__tests__/surface-configuration.unit.test.ts +1 -2
- package/src/__tests__/texture-usage-surface.unit.test.ts +3 -6
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +40 -206
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +1 -11
- package/src/__tests__/urp-pipeline.unit.test.ts +2 -2
- package/src/__tests__/vertex-color-pipeline.unit.test.ts +10 -2
- package/src/__tests__/vertex-layout-consumer.unit.test.ts +1 -1
- package/src/__tests__/visibility-diagnostics.integration.test.ts +7 -11
- package/src/__tests__/visibility-extract.integration.test.ts +20 -11
- package/src/__tests__/visibility-extract.perf.test.ts +66 -32
- package/src/__tests__/visibility-feature-dedup.integration.test.ts +2 -4
- package/src/__tests__/visibility-hidden-report.unit.test.ts +1 -2
- package/src/__tests__/visibility-instances.integration.test.ts +7 -11
- package/src/__tests__/visibility-multi-world.integration.test.ts +38 -6
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +18 -41
- package/src/__tests__/visibility-public-surface.test-d.ts +10 -9
- package/src/__tests__/visibility-resolver.unit.test.ts +2 -1
- package/src/__tests__/visibility-resource-short-circuit.unit.test.ts +80 -0
- package/src/__tests__/visibility-snapshot-contract.unit.test.ts +2 -1
- package/src/__tests__/vocabulary.unit.test.ts +1 -1
- package/src/assembly/backend-contract.ts +57 -0
- package/src/{renderer/renderer-factory.ts → assembly/factory.ts} +1741 -2699
- package/src/assembly/host-contract.ts +101 -0
- package/src/{renderer → assembly}/material/assembly.ts +2 -7
- package/src/assembly/material/pipeline-projection.ts +63 -0
- package/src/authoring.ts +15 -22
- package/src/components/__tests__/points-lines-admission.unit.test.ts +219 -0
- package/src/components/__tests__/points-lines-schema.unit.test.ts +56 -0
- package/src/components/__tests__/schema-contract.unit.test.ts +10 -0
- package/src/components/glyph-text.ts +3 -2
- package/src/components/index.ts +14 -9
- package/src/components/instances.ts +4 -5
- package/src/components/light-helpers.ts +1 -1
- package/src/components/lines.ts +18 -0
- package/src/components/mesh-filter.ts +11 -10
- package/src/components/points.ts +40 -0
- package/src/components/post-process-params.ts +3 -3
- package/src/components/scene-instance.ts +12 -12
- package/src/components/skybox-background.ts +103 -0
- package/src/components/{environment.ts → skylight.ts} +2 -110
- package/src/components/sprite-animation.ts +3 -4
- package/src/components/sprite-instances.ts +2 -2
- package/src/components/sprite-playback-mode.ts +7 -1
- package/src/components/sprite-region-override.ts +2 -3
- package/src/components/tile-layer.ts +8 -2
- package/src/construct-renderer.ts +67 -4
- package/src/debug-draw-glue.ts +8 -129
- package/src/device/device-scope.ts +306 -0
- package/src/{gpu-resource-store.ts → device/gpu-residency.ts} +540 -639
- package/src/device/resource-types.ts +20 -0
- package/src/engine-metrics.ts +12 -19
- package/src/errors/recover.ts +45 -3
- package/src/errors/render.ts +469 -429
- package/src/features/fullscreen.ts +46 -0
- package/src/features/host.ts +575 -309
- package/src/features/morph/morph-feature.ts +195 -105
- package/src/features/plan.ts +447 -0
- package/src/features/prepared-gpu-work.ts +72 -15
- package/src/features/prepared-graphics-store.ts +20 -6
- package/src/features/prepared-graphics.ts +12 -71
- package/src/features/render-graph-compute.ts +14 -5
- package/src/features/render-graph-contribution.ts +43 -63
- package/src/features/render-graph-raster.ts +32 -8
- package/src/features/render-graph-resources.ts +25 -23
- package/src/features/targets.ts +8 -21
- package/src/features/types.ts +39 -227
- package/src/features/vocabulary.ts +24 -0
- package/src/fullscreen-post-process-pass.ts +14 -57
- package/src/glyph-text-layout-system.ts +70 -96
- package/src/gpu-driven/batch-topology.ts +24 -202
- package/src/gpu-driven/production-raster.ts +99 -1109
- package/src/gpu-driven/view-gpu.ts +46 -192
- package/src/gpu-resource.ts +4 -4
- package/src/gpu-scene-schema.ts +11 -99
- package/src/gpu-scene.ts +231 -364
- package/src/hdrp-buffers.ts +12 -221
- package/src/ibl/IblPipelineCache.ts +471 -711
- package/src/ibl/skylight-bind-group.ts +4 -4
- package/src/index.ts +75 -217
- package/src/inspection-types.ts +80 -0
- package/src/instance-buffer-cache.ts +1 -29
- package/src/internal.ts +6 -85
- package/src/lifecycle.ts +64 -19
- package/src/materials.ts +7 -29
- package/src/mesh-material-bindings.ts +0 -1
- package/src/pbr-pipeline.ts +441 -53
- package/src/{urp-pipeline.ts → pipeline/standard-forward-lane.ts} +38 -149
- package/src/{hdrp-pipeline.ts → pipeline/standard-pipeline.ts} +221 -191
- package/src/pipeline/standard-profile.ts +65 -0
- package/src/pipeline-builder.ts +60 -64
- package/src/pipeline-spec-types.ts +28 -0
- package/src/pipeline-spec.ts +72 -609
- package/src/plugin.ts +7 -75
- package/src/points-lines/__tests__/bounds.unit.test.ts +21 -0
- package/src/points-lines/__tests__/cache-recovery.unit.test.ts +157 -0
- package/src/points-lines/__tests__/inspection-lanes.integration.test.ts +146 -0
- package/src/points-lines/__tests__/inspection.unit.test.ts +173 -0
- package/src/points-lines/__tests__/lane-structural.integration.test.ts +122 -0
- package/src/points-lines/__tests__/points-lines.bench.ts +400 -0
- package/src/points-lines/__tests__/raster-lane.integration.test.ts +44 -0
- package/src/points-lines/__tests__/snapshot.unit.test.ts +101 -0
- package/src/points-lines/__tests__/view-ubo.unit.test.ts +73 -0
- package/src/points-lines/admission.ts +238 -0
- package/src/points-lines/bounds.ts +23 -0
- package/src/points-lines/expansion-cache.ts +215 -0
- package/src/points-lines/inspection.ts +97 -0
- package/src/points-lines/prepare.ts +177 -0
- package/src/points-lines/record.ts +125 -0
- package/src/points-lines/snapshot.ts +130 -0
- package/src/post-process-errors.ts +31 -33
- package/src/prepare/prepared-graphics-resolver.ts +5 -4
- package/src/record/__tests__/material-slot-plan.unit.test.ts +1 -33
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +41 -0
- package/src/record/__tests__/video-texture-view.unit.test.ts +1 -1
- package/src/record/frame-lighting.ts +88 -197
- package/src/record/frame-snapshot.ts +45 -60
- package/src/record/frame-targets.ts +8 -243
- package/src/record/frame.ts +521 -797
- package/src/record/helpers.ts +6 -11
- package/src/record/main-pass-geometry.ts +198 -147
- package/src/record/main-pass-material.ts +517 -190
- package/src/record/main-pass-sprite-draws.ts +199 -118
- package/src/record/main-pass.ts +166 -144
- package/src/record/mesh-ssbo.ts +517 -38
- package/src/record/render-context.ts +384 -0
- package/src/record/shadow-pass.ts +154 -1843
- package/src/record/skybox-post-pass.ts +14 -15
- package/src/record/typed-frame-graph.ts +224 -262
- package/src/record/view-ubo.ts +53 -37
- package/src/render-contract.ts +582 -0
- package/src/render-data.ts +3 -3
- package/src/render-graph-primitives.ts +76 -851
- package/src/render-pipeline.ts +104 -188
- package/src/render-system-extract.ts +1114 -1732
- package/src/render-system.ts +614 -1939
- package/src/scene/render-scene-types.ts +67 -0
- package/src/scene/render-scene.ts +1087 -0
- package/src/scene-instances/post-spawn-resolve-joints.ts +4 -7
- package/src/ssao-buffers.ts +167 -8
- package/src/systems/skin-palette-allocator.ts +21 -64
- package/src/systems/skin-palette-types.ts +14 -0
- package/src/systems/transparent-sort-config.ts +25 -3
- package/src/tilemap-chunk-extract-system.ts +53 -70
- package/src/typed-render-graph-primitives.ts +35 -24
- package/src/typed-shadow-passes.ts +26 -56
- package/dist/__tests__/analytic-sky-contract.test.d.ts +0 -2
- package/dist/__tests__/analytic-sky-contract.test.d.ts.map +0 -1
- package/dist/__tests__/analytic-sky-falsify.test.d.ts +0 -2
- package/dist/__tests__/analytic-sky-falsify.test.d.ts.map +0 -1
- package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts +0 -2
- package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts.map +0 -1
- package/dist/__tests__/backend-selection.integration.test.d.ts +0 -2
- package/dist/__tests__/backend-selection.integration.test.d.ts.map +0 -1
- package/dist/__tests__/camera-temporal.test-d.d.ts +0 -2
- package/dist/__tests__/camera-temporal.test-d.d.ts.map +0 -1
- package/dist/__tests__/camera-temporal.test.d.ts +0 -2
- package/dist/__tests__/camera-temporal.test.d.ts.map +0 -1
- package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts +0 -2
- package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts.map +0 -1
- package/dist/__tests__/environment-inspection.test.d.ts +0 -2
- package/dist/__tests__/environment-inspection.test.d.ts.map +0 -1
- package/dist/__tests__/fog-ai-user.fixture.d.ts +0 -2
- package/dist/__tests__/fog-ai-user.fixture.d.ts.map +0 -1
- package/dist/__tests__/fog-custom-render-feature.fixture.d.ts +0 -16
- package/dist/__tests__/fog-custom-render-feature.fixture.d.ts.map +0 -1
- package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-inspection.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-inspection.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-owner-state.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-owner-state.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-public-surface.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-public-surface.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-ray-contract.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-ray-contract.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-source-absence.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-source-absence.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-temporal.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-temporal.integration.test.d.ts.map +0 -1
- package/dist/__tests__/frame-chain.unit.test.d.ts +0 -2
- package/dist/__tests__/frame-chain.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts +0 -2
- package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/hdrp-pipeline.unit.test.d.ts +0 -2
- package/dist/__tests__/hdrp-pipeline.unit.test.d.ts.map +0 -1
- package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts +0 -2
- package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts +0 -2
- package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts.map +0 -1
- package/dist/__tests__/material-derived-payload.integration.test.d.ts +0 -2
- package/dist/__tests__/material-derived-payload.integration.test.d.ts.map +0 -1
- package/dist/__tests__/materials.unit.test.d.ts +0 -2
- package/dist/__tests__/materials.unit.test.d.ts.map +0 -1
- package/dist/__tests__/param-schema-projection-census.unit.test.d.ts +0 -2
- package/dist/__tests__/param-schema-projection-census.unit.test.d.ts.map +0 -1
- package/dist/__tests__/persistent-render-scene.unit.test.d.ts +0 -2
- package/dist/__tests__/persistent-render-scene.unit.test.d.ts.map +0 -1
- package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts +0 -2
- package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts.map +0 -1
- package/dist/__tests__/pipeline-pass-trace.test.d.ts +0 -2
- package/dist/__tests__/pipeline-pass-trace.test.d.ts.map +0 -1
- package/dist/__tests__/pipeline-stage-owner.test-d.d.ts +0 -2
- package/dist/__tests__/pipeline-stage-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/plugin.test.d.ts +0 -2
- package/dist/__tests__/plugin.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts.map +0 -1
- package/dist/__tests__/public-pipeline-id.test-d.d.ts +0 -2
- package/dist/__tests__/public-pipeline-id.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-dispatch-membership.unit.test.d.ts +0 -2
- package/dist/__tests__/render-dispatch-membership.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-construction.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-construction.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-graph.integration.test.d.ts +0 -2
- package/dist/__tests__/render-feature-graph.integration.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-order.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-order.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-staging.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-staging.unit.test.d.ts.map +0 -1
- package/dist/__tests__/renderer-render-scene-public.test-d.d.ts +0 -2
- package/dist/__tests__/renderer-render-scene-public.test-d.d.ts.map +0 -1
- package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts +0 -2
- package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts.map +0 -1
- package/dist/__tests__/sun-snapshot-consumers.test.d.ts +0 -2
- package/dist/__tests__/sun-snapshot-consumers.test.d.ts.map +0 -1
- package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts +0 -2
- package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/taa-history-store.unit.test.d.ts +0 -2
- package/dist/__tests__/taa-history-store.unit.test.d.ts.map +0 -1
- package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts +0 -2
- package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts.map +0 -1
- package/dist/__tests__/temporal-inspection.unit.test.d.ts +0 -2
- package/dist/__tests__/temporal-inspection.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/asset-decoders.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/asset-decoders.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/render-asset-port.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/render-asset-port.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts.map +0 -1
- package/dist/chunk-DJIMFYX6.mjs +0 -1439
- package/dist/chunk-DJIMFYX6.mjs.map +0 -1
- package/dist/chunk-F2SIOCRM.mjs +0 -7423
- package/dist/chunk-F2SIOCRM.mjs.map +0 -1
- package/dist/chunk-JMSB7AR4.mjs +0 -3
- package/dist/chunk-JMSB7AR4.mjs.map +0 -1
- package/dist/chunk-KHI6K4C6.mjs +0 -659
- package/dist/chunk-KHI6K4C6.mjs.map +0 -1
- package/dist/chunk-PORZOL2V.mjs +0 -569
- package/dist/chunk-PORZOL2V.mjs.map +0 -1
- package/dist/chunk-UOJGMDGP.mjs +0 -29913
- package/dist/chunk-UOJGMDGP.mjs.map +0 -1
- package/dist/components/__tests__/atmosphere-red.test.d.ts +0 -2
- package/dist/components/__tests__/atmosphere-red.test.d.ts.map +0 -1
- package/dist/components/__tests__/atmosphere.test.d.ts +0 -2
- package/dist/components/__tests__/atmosphere.test.d.ts.map +0 -1
- package/dist/components/__tests__/fog.test-d.d.ts +0 -2
- package/dist/components/__tests__/fog.test-d.d.ts.map +0 -1
- package/dist/components/__tests__/fog.test.d.ts +0 -2
- package/dist/components/__tests__/fog.test.d.ts.map +0 -1
- package/dist/components/atmosphere.d.ts +0 -18
- package/dist/components/atmosphere.d.ts.map +0 -1
- package/dist/components/environment.d.ts +0 -115
- package/dist/components/environment.d.ts.map +0 -1
- package/dist/deferred-lighting.d.ts +0 -13
- package/dist/deferred-lighting.d.ts.map +0 -1
- package/dist/dynamic-texture-store.d.ts +0 -42
- package/dist/dynamic-texture-store.d.ts.map +0 -1
- package/dist/environment/__tests__/failure-injection.test.d.ts +0 -2
- package/dist/environment/__tests__/failure-injection.test.d.ts.map +0 -1
- package/dist/environment/__tests__/generation-red.test.d.ts +0 -2
- package/dist/environment/__tests__/generation-red.test.d.ts.map +0 -1
- package/dist/environment/__tests__/generation.test.d.ts +0 -2
- package/dist/environment/__tests__/generation.test.d.ts.map +0 -1
- package/dist/environment/__tests__/graph-transaction.test.d.ts +0 -2
- package/dist/environment/__tests__/graph-transaction.test.d.ts.map +0 -1
- package/dist/environment/__tests__/inspection-red.test.d.ts +0 -2
- package/dist/environment/__tests__/inspection-red.test.d.ts.map +0 -1
- package/dist/environment/__tests__/lifecycle-evidence.test.d.ts +0 -2
- package/dist/environment/__tests__/lifecycle-evidence.test.d.ts.map +0 -1
- package/dist/environment/__tests__/pipeline-topology.test.d.ts +0 -2
- package/dist/environment/__tests__/pipeline-topology.test.d.ts.map +0 -1
- package/dist/environment/__tests__/readiness.test.d.ts +0 -2
- package/dist/environment/__tests__/readiness.test.d.ts.map +0 -1
- package/dist/environment/__tests__/recovery.test.d.ts +0 -2
- package/dist/environment/__tests__/recovery.test.d.ts.map +0 -1
- package/dist/environment/__tests__/resize-dispose.test.d.ts +0 -2
- package/dist/environment/__tests__/resize-dispose.test.d.ts.map +0 -1
- package/dist/environment/__tests__/signature-red.test.d.ts +0 -2
- package/dist/environment/__tests__/signature-red.test.d.ts.map +0 -1
- package/dist/environment/__tests__/signature.test.d.ts +0 -2
- package/dist/environment/__tests__/signature.test.d.ts.map +0 -1
- package/dist/environment/descriptors.d.ts +0 -2
- package/dist/environment/descriptors.d.ts.map +0 -1
- package/dist/environment/extracted-environment.d.ts +0 -53
- package/dist/environment/extracted-environment.d.ts.map +0 -1
- package/dist/environment/generation.d.ts +0 -62
- package/dist/environment/generation.d.ts.map +0 -1
- package/dist/environment/gpu-bundle.d.ts +0 -23
- package/dist/environment/gpu-bundle.d.ts.map +0 -1
- package/dist/environment/graph.d.ts +0 -108
- package/dist/environment/graph.d.ts.map +0 -1
- package/dist/environment/inspection.d.ts +0 -48
- package/dist/environment/inspection.d.ts.map +0 -1
- package/dist/environment/lifecycle.d.ts +0 -22
- package/dist/environment/lifecycle.d.ts.map +0 -1
- package/dist/environment/readiness.d.ts +0 -29
- package/dist/environment/readiness.d.ts.map +0 -1
- package/dist/environment/signature.d.ts +0 -70
- package/dist/environment/signature.d.ts.map +0 -1
- package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts +0 -2
- package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts.map +0 -1
- package/dist/extract/__tests__/environment-source.test.d.ts +0 -2
- package/dist/extract/__tests__/environment-source.test.d.ts.map +0 -1
- package/dist/extract/__tests__/schema-readers.unit.test.d.ts +0 -2
- package/dist/extract/__tests__/schema-readers.unit.test.d.ts.map +0 -1
- package/dist/extract/directional-csm.d.ts +0 -129
- package/dist/extract/directional-csm.d.ts.map +0 -1
- package/dist/extract/index.d.ts +0 -5
- package/dist/extract/index.d.ts.map +0 -1
- package/dist/extract/material-interface.d.ts +0 -56
- package/dist/extract/material-interface.d.ts.map +0 -1
- package/dist/extract/schema-readers.d.ts +0 -20
- package/dist/extract/schema-readers.d.ts.map +0 -1
- package/dist/features/graph-contribution.d.ts +0 -64
- package/dist/features/graph-contribution.d.ts.map +0 -1
- package/dist/features/index.d.ts +0 -21
- package/dist/features/index.d.ts.map +0 -1
- package/dist/features/morph/index.d.ts +0 -3
- package/dist/features/morph/index.d.ts.map +0 -1
- package/dist/features/morph/morph-bounds.d.ts +0 -42
- package/dist/features/morph/morph-bounds.d.ts.map +0 -1
- package/dist/features/scene-temporal.d.ts +0 -45
- package/dist/features/scene-temporal.d.ts.map +0 -1
- package/dist/features/taa-resolve.d.ts +0 -21
- package/dist/features/taa-resolve.d.ts.map +0 -1
- package/dist/frame-chain.d.ts +0 -14
- package/dist/frame-chain.d.ts.map +0 -1
- package/dist/gpu-driven/view-reference.d.ts.map +0 -1
- package/dist/gpu-resource-store.d.ts.map +0 -1
- package/dist/hdrp-cluster-membership.d.ts +0 -2
- package/dist/hdrp-cluster-membership.d.ts.map +0 -1
- package/dist/hdrp-pipeline.d.ts +0 -36
- package/dist/hdrp-pipeline.d.ts.map +0 -1
- package/dist/ibl/cubemap-projection.d.ts +0 -23
- package/dist/ibl/cubemap-projection.d.ts.map +0 -1
- package/dist/ibl/face-uniforms.d.ts +0 -65
- package/dist/ibl/face-uniforms.d.ts.map +0 -1
- package/dist/mesh-update-errors.d.ts +0 -71
- package/dist/mesh-update-errors.d.ts.map +0 -1
- package/dist/mipmap-generator.d.ts +0 -39
- package/dist/mipmap-generator.d.ts.map +0 -1
- package/dist/param-schema-projection-census.d.ts +0 -18
- package/dist/param-schema-projection-census.d.ts.map +0 -1
- package/dist/persistent-render-scene.d.ts +0 -158
- package/dist/persistent-render-scene.d.ts.map +0 -1
- package/dist/pipeline/index.d.ts +0 -11
- package/dist/pipeline/index.d.ts.map +0 -1
- package/dist/pipeline-errors.d.ts +0 -110
- package/dist/pipeline-errors.d.ts.map +0 -1
- package/dist/prepare/__tests__/schema-readers.unit.test.d.ts +0 -2
- package/dist/prepare/__tests__/schema-readers.unit.test.d.ts.map +0 -1
- package/dist/prepare/index.d.ts +0 -4
- package/dist/prepare/index.d.ts.map +0 -1
- package/dist/prepare/schema-readers.d.ts +0 -11
- package/dist/prepare/schema-readers.d.ts.map +0 -1
- package/dist/record/__tests__/environment-record.test.d.ts +0 -2
- package/dist/record/__tests__/environment-record.test.d.ts.map +0 -1
- package/dist/record/__tests__/frame-targets.unit.test.d.ts +0 -2
- package/dist/record/__tests__/frame-targets.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/membership-timing.unit.test.d.ts +0 -2
- package/dist/record/__tests__/membership-timing.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/render-submission.integration.test.d.ts +0 -2
- package/dist/record/__tests__/render-submission.integration.test.d.ts.map +0 -1
- package/dist/record/__tests__/render-submission.perf.test.d.ts +0 -2
- package/dist/record/__tests__/render-submission.perf.test.d.ts.map +0 -1
- package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts +0 -2
- package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts +0 -2
- package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts.map +0 -1
- package/dist/record/frame-observation.d.ts +0 -38
- package/dist/record/frame-observation.d.ts.map +0 -1
- package/dist/record/index.d.ts +0 -15
- package/dist/record/index.d.ts.map +0 -1
- package/dist/record/main-pass-skin.d.ts +0 -46
- package/dist/record/main-pass-skin.d.ts.map +0 -1
- package/dist/record/main-pass-sprite.d.ts +0 -69
- package/dist/record/main-pass-sprite.d.ts.map +0 -1
- package/dist/record/material-payload.d.ts +0 -43
- package/dist/record/material-payload.d.ts.map +0 -1
- package/dist/record/material-slot-plan.d.ts +0 -26
- package/dist/record/material-slot-plan.d.ts.map +0 -1
- package/dist/record/membership-timing.d.ts +0 -232
- package/dist/record/membership-timing.d.ts.map +0 -1
- package/dist/record/shadow-caster-uniform.d.ts +0 -8
- package/dist/record/shadow-caster-uniform.d.ts.map +0 -1
- package/dist/record/shadow-submit-mode.d.ts +0 -66
- package/dist/record/shadow-submit-mode.d.ts.map +0 -1
- package/dist/render-dispatch-membership.d.ts +0 -47
- package/dist/render-dispatch-membership.d.ts.map +0 -1
- package/dist/render-pipeline-context.d.ts +0 -289
- package/dist/render-pipeline-context.d.ts.map +0 -1
- package/dist/render-pipeline-target.d.ts +0 -16
- package/dist/render-pipeline-target.d.ts.map +0 -1
- package/dist/render-scene-projection.d.ts +0 -174
- package/dist/render-scene-projection.d.ts.map +0 -1
- package/dist/render-system-fold.d.ts +0 -266
- package/dist/render-system-fold.d.ts.map +0 -1
- package/dist/renderer/asset-service.d.ts +0 -10
- package/dist/renderer/asset-service.d.ts.map +0 -1
- package/dist/renderer/backend-selection.d.ts.map +0 -1
- package/dist/renderer/environment-classify.d.ts +0 -6
- package/dist/renderer/environment-classify.d.ts.map +0 -1
- package/dist/renderer/environment-error.d.ts +0 -13
- package/dist/renderer/environment-error.d.ts.map +0 -1
- package/dist/renderer/material/pipeline-projection.d.ts +0 -91
- package/dist/renderer/material/pipeline-projection.d.ts.map +0 -1
- package/dist/renderer/renderer-factory.d.ts +0 -289
- package/dist/renderer/renderer-factory.d.ts.map +0 -1
- package/dist/renderer.d.ts +0 -771
- package/dist/renderer.d.ts.map +0 -1
- package/dist/scene-utils/collect-subtree.d.ts +0 -11
- package/dist/scene-utils/collect-subtree.d.ts.map +0 -1
- package/dist/ssao-data.d.ts +0 -34
- package/dist/ssao-data.d.ts.map +0 -1
- package/dist/surface-format.d.ts +0 -10
- package/dist/surface-format.d.ts.map +0 -1
- package/dist/taa-history-store.d.ts +0 -88
- package/dist/taa-history-store.d.ts.map +0 -1
- package/dist/temporal-coverage.d.ts +0 -35
- package/dist/temporal-coverage.d.ts.map +0 -1
- package/dist/temporal-frame-transaction.d.ts +0 -92
- package/dist/temporal-frame-transaction.d.ts.map +0 -1
- package/dist/temporal-inspection.d.ts +0 -57
- package/dist/temporal-inspection.d.ts.map +0 -1
- package/dist/temporal-view.d.ts +0 -43
- package/dist/temporal-view.d.ts.map +0 -1
- package/dist/tilemap/resolve-tileset-runtime.d.ts +0 -23
- package/dist/tilemap/resolve-tileset-runtime.d.ts.map +0 -1
- package/dist/urp-pipeline.d.ts +0 -4
- package/dist/urp-pipeline.d.ts.map +0 -1
- package/src/__tests__/analytic-sky-contract.test.ts +0 -27
- package/src/__tests__/analytic-sky-falsify-carriers.mjs +0 -43
- package/src/__tests__/analytic-sky-falsify.test.ts +0 -94
- package/src/__tests__/assets-runtime-handoff.integration.test.ts +0 -36
- package/src/__tests__/backend-selection.integration.test.ts +0 -11
- package/src/__tests__/camera-temporal.test-d.ts +0 -8
- package/src/__tests__/camera-temporal.test.ts +0 -188
- package/src/__tests__/directional-shadow-probe-atlas-layout.unit.test.ts +0 -18
- package/src/__tests__/environment-inspection.test.ts +0 -45
- package/src/__tests__/fog-ai-user.fixture.ts +0 -350
- package/src/__tests__/fog-custom-render-feature.fixture.ts +0 -33
- package/src/__tests__/fog-custom-render-feature.integration.test.ts +0 -76
- package/src/__tests__/fog-inspection.integration.test.ts +0 -127
- package/src/__tests__/fog-owner-state.integration.test.ts +0 -112
- package/src/__tests__/fog-pipeline-topology.integration.test.ts +0 -93
- package/src/__tests__/fog-public-surface.integration.test.ts +0 -60
- package/src/__tests__/fog-ray-contract.integration.test.ts +0 -73
- package/src/__tests__/fog-source-absence.integration.test.ts +0 -51
- package/src/__tests__/fog-temporal.integration.test.ts +0 -115
- package/src/__tests__/frame-chain.unit.test.ts +0 -26
- package/src/__tests__/gpu-scene-field-type-owner.test-d.ts +0 -27
- package/src/__tests__/hdrp-pipeline.unit.test.ts +0 -100
- package/src/__tests__/ibl/ibl-fallback.unit.test.ts +0 -23
- package/src/__tests__/material-derived-error-stop-draw.integration.test.ts +0 -69
- package/src/__tests__/material-derived-payload.integration.test.ts +0 -164
- package/src/__tests__/materials.unit.test.ts +0 -25
- package/src/__tests__/param-schema-projection-census.unit.test.ts +0 -40
- package/src/__tests__/persistent-render-scene.unit.test.ts +0 -1311
- package/src/__tests__/pipeline-error-policy-owner.unit.test.ts +0 -167
- package/src/__tests__/pipeline-pass-trace.test.ts +0 -92
- package/src/__tests__/pipeline-stage-owner.test-d.ts +0 -13
- package/src/__tests__/plugin.test.ts +0 -25
- package/src/__tests__/prepared-graphics-backend-matrix.unit.test.ts +0 -129
- package/src/__tests__/prepared-graphics-resolver-recording.unit.test.ts +0 -180
- package/src/__tests__/public-pipeline-id.test-d.ts +0 -6
- package/src/__tests__/render-dispatch-membership.unit.test.ts +0 -117
- package/src/__tests__/render-feature-construction.unit.test.ts +0 -124
- package/src/__tests__/render-feature-error-code-owner.test-d.ts +0 -27
- package/src/__tests__/render-feature-gpu-buffer-usage-owner.test-d.ts +0 -46
- package/src/__tests__/render-feature-graph.integration.test.ts +0 -205
- package/src/__tests__/render-feature-graphics-staging.unit.test.ts +0 -200
- package/src/__tests__/render-feature-order.unit.test.ts +0 -66
- package/src/__tests__/render-feature-prepared-graphics-recording.unit.test.ts +0 -107
- package/src/__tests__/render-feature-staging.unit.test.ts +0 -94
- package/src/__tests__/renderer-render-scene-public.test-d.ts +0 -27
- package/src/__tests__/scene-temporal-coverage.unit.test.ts +0 -259
- package/src/__tests__/sun-snapshot-consumers.test.ts +0 -35
- package/src/__tests__/surface-backend-kind-owner.test-d.ts +0 -42
- package/src/__tests__/taa-history-store.unit.test.ts +0 -196
- package/src/__tests__/temporal-frame-transaction.integration.test.ts +0 -537
- package/src/__tests__/temporal-inspection.unit.test.ts +0 -138
- package/src/assets/__tests__/asset-decoders.unit.test.ts +0 -92
- package/src/assets/__tests__/mipmap-generator.unit.test.ts +0 -52
- package/src/assets/__tests__/render-asset-port.unit.test.ts +0 -54
- package/src/assets/__tests__/resolve-render-asset.unit.test.ts +0 -47
- package/src/components/__tests__/atmosphere-red.test.ts +0 -51
- package/src/components/__tests__/atmosphere.test.ts +0 -79
- package/src/components/__tests__/fog.test-d.ts +0 -49
- package/src/components/__tests__/fog.test.ts +0 -60
- package/src/components/atmosphere.ts +0 -64
- package/src/deferred-lighting.ts +0 -92
- package/src/dynamic-texture-store.ts +0 -111
- package/src/environment/README.md +0 -76
- package/src/environment/__tests__/failure-injection.test.ts +0 -50
- package/src/environment/__tests__/generation-red.test.ts +0 -64
- package/src/environment/__tests__/generation.test.ts +0 -37
- package/src/environment/__tests__/graph-transaction.test.ts +0 -85
- package/src/environment/__tests__/inspection-red.test.ts +0 -53
- package/src/environment/__tests__/lifecycle-evidence.test.ts +0 -40
- package/src/environment/__tests__/pipeline-topology.test.ts +0 -33
- package/src/environment/__tests__/readiness.test.ts +0 -42
- package/src/environment/__tests__/recovery.test.ts +0 -62
- package/src/environment/__tests__/resize-dispose.test.ts +0 -30
- package/src/environment/__tests__/signature-red.test.ts +0 -45
- package/src/environment/__tests__/signature.test.ts +0 -60
- package/src/environment/descriptors.ts +0 -7
- package/src/environment/extracted-environment.ts +0 -239
- package/src/environment/generation.ts +0 -158
- package/src/environment/gpu-bundle.ts +0 -144
- package/src/environment/graph.ts +0 -588
- package/src/environment/inspection.ts +0 -107
- package/src/environment/lifecycle.ts +0 -124
- package/src/environment/readiness.ts +0 -76
- package/src/environment/signature.ts +0 -185
- package/src/extract/__tests__/directional-csm-domain.unit.test.ts +0 -391
- package/src/extract/__tests__/environment-source.test.ts +0 -105
- package/src/extract/__tests__/schema-readers.unit.test.ts +0 -16
- package/src/extract/directional-csm.ts +0 -959
- package/src/extract/index.ts +0 -10
- package/src/extract/material-interface.ts +0 -604
- package/src/extract/schema-readers.ts +0 -27
- package/src/features/graph-contribution.ts +0 -577
- package/src/features/index.ts +0 -100
- package/src/features/morph/index.ts +0 -24
- package/src/features/morph/morph-bounds.ts +0 -123
- package/src/features/scene-temporal.ts +0 -274
- package/src/features/taa-resolve.ts +0 -244
- package/src/frame-chain.ts +0 -21
- package/src/hdrp-cluster-membership.ts +0 -70
- package/src/ibl/cubemap-projection.ts +0 -60
- package/src/ibl/face-uniforms.ts +0 -150
- package/src/mesh-update-errors.ts +0 -113
- package/src/mipmap-generator.ts +0 -244
- package/src/param-schema-projection-census.ts +0 -73
- package/src/persistent-render-scene.ts +0 -1752
- package/src/pipeline/index.ts +0 -40
- package/src/pipeline-errors.ts +0 -172
- package/src/prepare/__tests__/schema-readers.unit.test.ts +0 -16
- package/src/prepare/index.ts +0 -8
- package/src/prepare/schema-readers.ts +0 -20
- package/src/record/__tests__/environment-record.test.ts +0 -35
- package/src/record/__tests__/frame-targets.unit.test.ts +0 -54
- package/src/record/__tests__/membership-timing.unit.test.ts +0 -524
- package/src/record/__tests__/render-submission.integration.test.ts +0 -76
- package/src/record/__tests__/render-submission.perf.test.ts +0 -141
- package/src/record/__tests__/shadow-submit-mode.unit.test.ts +0 -88
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +0 -101
- package/src/record/frame-observation.ts +0 -122
- package/src/record/index.ts +0 -15
- package/src/record/main-pass-skin.ts +0 -51
- package/src/record/main-pass-sprite.ts +0 -166
- package/src/record/material-payload.ts +0 -292
- package/src/record/material-slot-plan.ts +0 -68
- package/src/record/membership-timing.ts +0 -1012
- package/src/record/shadow-caster-uniform.ts +0 -37
- package/src/record/shadow-submit-mode.ts +0 -277
- package/src/render-dispatch-membership.ts +0 -155
- package/src/render-pipeline-context.ts +0 -332
- package/src/render-pipeline-target.ts +0 -96
- package/src/render-scene-projection.ts +0 -1738
- package/src/render-system-fold.ts +0 -531
- package/src/renderer/asset-service.ts +0 -32
- package/src/renderer/backend-selection.ts +0 -121
- package/src/renderer/environment-classify.ts +0 -30
- package/src/renderer/environment-error.ts +0 -19
- package/src/renderer/material/pipeline-projection.ts +0 -140
- package/src/renderer.ts +0 -940
- package/src/scene-utils/collect-subtree.ts +0 -40
- package/src/ssao-data.ts +0 -106
- package/src/surface-format.ts +0 -37
- package/src/taa-history-store.ts +0 -429
- package/src/temporal-coverage.ts +0 -106
- package/src/temporal-frame-transaction.ts +0 -301
- package/src/temporal-inspection.ts +0 -194
- package/src/temporal-view.ts +0 -174
- package/src/tilemap/resolve-tileset-runtime.ts +0 -72
package/src/errors/render.ts
CHANGED
|
@@ -13,70 +13,37 @@
|
|
|
13
13
|
// SpotLight / PointLightShadow component validators (forward cross-directory
|
|
14
14
|
// import, no cycle -- research Finding C2).
|
|
15
15
|
|
|
16
|
+
import type { DeviceResourceKind, DeviceScopeReceipt } from '../device/resource-types';
|
|
16
17
|
import type {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
RenderFeaturePassOrderConflictDetail,
|
|
20
|
-
RenderFeaturePreparationFailedDetail,
|
|
21
|
-
RenderFeaturePreparedStateMismatchDetail,
|
|
18
|
+
PreparedKind,
|
|
19
|
+
RenderFeatureCapabilityKey,
|
|
22
20
|
RenderFeatureRecovery,
|
|
23
|
-
RenderFeatureRegistrationConflictDetail,
|
|
24
21
|
RenderFeatureStage,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
readonly
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** The resource owner contains more than one Fog authoring entity. */
|
|
39
|
-
export class FogOwnerConflictError extends Error {
|
|
40
|
-
readonly code = 'fog-owner-conflict' as const;
|
|
41
|
-
readonly expected = 'resourceOwner contains zero or one Fog entity';
|
|
42
|
-
readonly hint =
|
|
43
|
-
'remove every Fog entity except one from the resourceOwner World, then retry draw';
|
|
44
|
-
readonly detail: FogOwnerConflictDetail;
|
|
45
|
-
|
|
46
|
-
constructor(resourceOwner: number, entities: readonly number[], omitted: number) {
|
|
47
|
-
super(
|
|
48
|
-
`Fog owner conflict in resourceOwner ${resourceOwner}: ${entities.length + omitted} entities`,
|
|
49
|
-
);
|
|
50
|
-
this.name = 'FogOwnerConflictError';
|
|
51
|
-
this.detail = {
|
|
52
|
-
resourceOwner,
|
|
53
|
-
entities: [...entities],
|
|
54
|
-
omitted,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** Structured detail for one invalid Fog field. */
|
|
60
|
-
export interface FogParametersInvalidDetail {
|
|
61
|
-
readonly entity: number;
|
|
62
|
-
readonly field: string;
|
|
63
|
-
readonly expected: string;
|
|
64
|
-
readonly actual: unknown;
|
|
22
|
+
} from '../features/vocabulary';
|
|
23
|
+
|
|
24
|
+
export interface LifecycleConstructionFailureDetail {
|
|
25
|
+
readonly owner: string;
|
|
26
|
+
readonly generation: number;
|
|
27
|
+
readonly operation: 'create' | 'dispose';
|
|
28
|
+
readonly resourceKind: DeviceResourceKind;
|
|
29
|
+
readonly cause: unknown;
|
|
30
|
+
readonly cleanupFailures: readonly {
|
|
31
|
+
readonly resourceKind: DeviceResourceKind;
|
|
32
|
+
readonly cause: unknown;
|
|
33
|
+
}[];
|
|
34
|
+
readonly receipt: DeviceScopeReceipt;
|
|
65
35
|
}
|
|
66
36
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
readonly
|
|
70
|
-
readonly
|
|
71
|
-
readonly
|
|
72
|
-
readonly detail: FogParametersInvalidDetail;
|
|
37
|
+
export class LifecycleConstructionError extends Error {
|
|
38
|
+
readonly code = 'lifecycle-construction-failed' as const;
|
|
39
|
+
readonly expected = 'all DeviceScope resources establish and terminate in order';
|
|
40
|
+
readonly hint = 'inspect detail and cleanupFailures, then recover or rebuild the DeviceScope';
|
|
41
|
+
readonly detail: LifecycleConstructionFailureDetail;
|
|
73
42
|
|
|
74
|
-
constructor(
|
|
75
|
-
super(`
|
|
76
|
-
this.name = '
|
|
77
|
-
this.
|
|
78
|
-
this.hint = `set Fog.${field} to ${expected} on entity ${entity}, then retry draw`;
|
|
79
|
-
this.detail = { entity, field, expected, actual };
|
|
43
|
+
constructor(detail: LifecycleConstructionFailureDetail) {
|
|
44
|
+
super(`lifecycle-construction-failed: ${detail.resourceKind} lifecycle transaction failed`);
|
|
45
|
+
this.name = 'LifecycleConstructionError';
|
|
46
|
+
this.detail = detail;
|
|
80
47
|
}
|
|
81
48
|
}
|
|
82
49
|
|
|
@@ -217,48 +184,6 @@ export class EquirectProjectionFailedError extends Error {
|
|
|
217
184
|
}
|
|
218
185
|
}
|
|
219
186
|
|
|
220
|
-
// ── HdrpCapsInsufficientError ──────────────────────────────────────────────
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* Detail for `RuntimeErrorCode 'hdrp-caps-insufficient'`.
|
|
224
|
-
*
|
|
225
|
-
* Emitted at install time when `device.caps.maxStorageBuffersPerShaderStage < 4`.
|
|
226
|
-
*/
|
|
227
|
-
export interface HdrpCapsInsufficientDetail {
|
|
228
|
-
readonly capName: string;
|
|
229
|
-
readonly actual: number;
|
|
230
|
-
readonly required: number;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Structured error for HDRP storage-buffer capability gate failure (AC-17/AC-18).
|
|
235
|
-
*
|
|
236
|
-
* Emitted at `installPipeline(hdrpAsset)` time — synchronous throw.
|
|
237
|
-
* - `.code = 'hdrp-caps-insufficient'` (closed RuntimeErrorCode)
|
|
238
|
-
* - `.expected` — describes the required capability
|
|
239
|
-
* - `.hint` — 'fall back to URP by not calling installPipeline'
|
|
240
|
-
* - `.detail = { capName, actual, required }`
|
|
241
|
-
*/
|
|
242
|
-
export class HdrpCapsInsufficientError extends Error {
|
|
243
|
-
readonly code = 'hdrp-caps-insufficient' as const;
|
|
244
|
-
readonly expected: string;
|
|
245
|
-
readonly hint: string;
|
|
246
|
-
readonly detail: HdrpCapsInsufficientDetail;
|
|
247
|
-
|
|
248
|
-
constructor(capName: string, actual: number, required: number) {
|
|
249
|
-
const expected = `${capName} >= ${required}`;
|
|
250
|
-
const hint =
|
|
251
|
-
`${capName} = ${actual} (need >= ${required}); ` +
|
|
252
|
-
'this device does not have enough storage buffer slots for HDRP cluster-forward rendering. ' +
|
|
253
|
-
'Fall back to URP by not calling installPipeline(hdrpAsset)';
|
|
254
|
-
super(`HDRP caps insufficient: ${capName} = ${actual} (need >= ${required})`);
|
|
255
|
-
this.name = 'HdrpCapsInsufficientError';
|
|
256
|
-
this.expected = expected;
|
|
257
|
-
this.hint = hint;
|
|
258
|
-
this.detail = { capName, actual, required };
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
187
|
// ── HdrpLightBudgetExceededError ───────────────────────────────────────────
|
|
263
188
|
|
|
264
189
|
/**
|
|
@@ -348,7 +273,7 @@ export class HdrpIndexListOverflowError extends Error {
|
|
|
348
273
|
/**
|
|
349
274
|
* Detail for `RuntimeErrorCode 'hdrp-deferred-caps-insufficient'`.
|
|
350
275
|
*
|
|
351
|
-
* Emitted
|
|
276
|
+
* Emitted when the Standard clustered lane has fewer than 4 color attachments,
|
|
352
277
|
* meaning the deferred path cannot allocate 3 g-buffer color targets + depth.
|
|
353
278
|
*/
|
|
354
279
|
export interface HdrpDeferredCapsInsufficientDetail {
|
|
@@ -359,13 +284,13 @@ export interface HdrpDeferredCapsInsufficientDetail {
|
|
|
359
284
|
/**
|
|
360
285
|
* Structured error for deferred-path capability gate failure.
|
|
361
286
|
*
|
|
362
|
-
* Emitted
|
|
287
|
+
* Emitted during Standard clustered lane validation — synchronous throw.
|
|
363
288
|
* - `.code = 'hdrp-deferred-caps-insufficient'` (closed RuntimeErrorCode)
|
|
364
289
|
* - `.expected` — 'maxColorAttachments >= 4'
|
|
365
290
|
* - `.hint` — actionable guidance to upgrade browser or select URP
|
|
366
291
|
* - `.detail = { actual, expected }`
|
|
367
292
|
*
|
|
368
|
-
* @see plan-strategy D-5 (
|
|
293
|
+
* @see plan-strategy D-5 (capability validation, no silent fallback)
|
|
369
294
|
*/
|
|
370
295
|
export class HdrpDeferredCapsInsufficientError extends Error {
|
|
371
296
|
readonly code = 'hdrp-deferred-caps-insufficient' as const;
|
|
@@ -389,97 +314,6 @@ export class HdrpDeferredCapsInsufficientError extends Error {
|
|
|
389
314
|
}
|
|
390
315
|
}
|
|
391
316
|
|
|
392
|
-
// ── GbufferRtAllocFailedError ──────────────────────────────────────────────
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Detail for `RuntimeErrorCode 'gbuffer-rt-alloc-failed'`.
|
|
396
|
-
*
|
|
397
|
-
* Emitted at runtime when a g-buffer color target pool allocation fails
|
|
398
|
-
* (OOM or backend resource limit). The attachmentIndex identifies which
|
|
399
|
-
* g-buffer slot failed.
|
|
400
|
-
*/
|
|
401
|
-
export interface GbufferRtAllocFailedDetail {
|
|
402
|
-
readonly attachmentIndex: number;
|
|
403
|
-
readonly requestedBytes: number;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
/**
|
|
407
|
-
* Structured error for g-buffer color-target pool allocation failure.
|
|
408
|
-
*
|
|
409
|
-
* Emitted at runtime during g-buffer pass setup.
|
|
410
|
-
* - `.code = 'gbuffer-rt-alloc-failed'` (closed RuntimeErrorCode)
|
|
411
|
-
* - `.expected` — 'g-buffer color target allocation succeeded'
|
|
412
|
-
* - `.hint` — actionable recovery steps (check GPU memory / reduce resolution)
|
|
413
|
-
* - `.detail = { attachmentIndex, requestedBytes }`
|
|
414
|
-
*
|
|
415
|
-
* @note This error is declared in M1 but only triggered in M2 (g-buffer RT
|
|
416
|
-
* allocation path). The union member exists for compile-time narrowing now.
|
|
417
|
-
*/
|
|
418
|
-
export class GbufferRtAllocFailedError extends Error {
|
|
419
|
-
readonly code = 'gbuffer-rt-alloc-failed' as const;
|
|
420
|
-
readonly expected: string;
|
|
421
|
-
readonly hint: string;
|
|
422
|
-
readonly detail: GbufferRtAllocFailedDetail;
|
|
423
|
-
|
|
424
|
-
constructor(attachmentIndex: number, requestedBytes: number) {
|
|
425
|
-
const expected = 'g-buffer color target allocation succeeded';
|
|
426
|
-
const hint =
|
|
427
|
-
`g-buffer color target (attachment ${attachmentIndex}, ${requestedBytes} bytes) allocation failed. ` +
|
|
428
|
-
'Common causes: (a) GPU memory pressure; (b) framebuffer resolution too large; ' +
|
|
429
|
-
'(c) RHI backend limits hit. Check device.limits and reduce frame resolution.';
|
|
430
|
-
super(`g-buffer RT alloc failed: attachment[${attachmentIndex}] = ${requestedBytes} bytes`);
|
|
431
|
-
this.name = 'GbufferRtAllocFailedError';
|
|
432
|
-
this.expected = expected;
|
|
433
|
-
this.hint = hint;
|
|
434
|
-
this.detail = { attachmentIndex, requestedBytes };
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
// ── GbufferAttachmentCountMismatchError ────────────────────────────────────
|
|
439
|
-
|
|
440
|
-
/**
|
|
441
|
-
* Detail for `RuntimeErrorCode 'gbuffer-attachment-count-mismatch'`.
|
|
442
|
-
*
|
|
443
|
-
* Emitted at install-time when the g-buffer attachment count declared
|
|
444
|
-
* in the pipeline schema does not equal 3.
|
|
445
|
-
*/
|
|
446
|
-
export interface GbufferAttachmentCountMismatchDetail {
|
|
447
|
-
readonly actual: number;
|
|
448
|
-
readonly expected: number;
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
/**
|
|
452
|
-
* Structured error for g-buffer attachment count mismatch.
|
|
453
|
-
*
|
|
454
|
-
* Emitted at `installPipeline(hdrpAsset)` time via topology validation.
|
|
455
|
-
* - `.code = 'gbuffer-attachment-count-mismatch'` (closed RuntimeErrorCode)
|
|
456
|
-
* - `.expected` — 'exactly 3 g-buffer color attachments'
|
|
457
|
-
* - `.hint` — check pipeline internal schema or custom g-buffer override
|
|
458
|
-
* - `.detail = { actual, expected }`
|
|
459
|
-
*
|
|
460
|
-
* @note This error is declared in M1 but only triggered in M2 (g-buffer
|
|
461
|
-
* topology validation). The union member exists for compile-time narrowing now.
|
|
462
|
-
*/
|
|
463
|
-
export class GbufferAttachmentCountMismatchError extends Error {
|
|
464
|
-
readonly code = 'gbuffer-attachment-count-mismatch' as const;
|
|
465
|
-
readonly expected: string;
|
|
466
|
-
readonly hint: string;
|
|
467
|
-
readonly detail: GbufferAttachmentCountMismatchDetail;
|
|
468
|
-
|
|
469
|
-
constructor(actual: number) {
|
|
470
|
-
const _expected = 3;
|
|
471
|
-
const _expectedStr = `exactly ${_expected} g-buffer color attachments`;
|
|
472
|
-
const hint =
|
|
473
|
-
`HDRP deferred expects ${_expected} g-buffer color attachments, got ${actual}. ` +
|
|
474
|
-
'Check hdrp-pipeline internal schema or custom g-buffer override.';
|
|
475
|
-
super(`g-buffer attachment count mismatch: got ${actual}, expected ${_expected}`);
|
|
476
|
-
this.name = 'GbufferAttachmentCountMismatchError';
|
|
477
|
-
this.expected = _expectedStr;
|
|
478
|
-
this.hint = hint;
|
|
479
|
-
this.detail = { actual, expected: _expected };
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
|
|
483
317
|
// ── PointShadowAtlasUninitializedError ─────────────────────────────────────
|
|
484
318
|
|
|
485
319
|
/**
|
|
@@ -618,6 +452,33 @@ export class VertexStorageBufferUnavailableError extends Error {
|
|
|
618
452
|
}
|
|
619
453
|
}
|
|
620
454
|
|
|
455
|
+
// ── VertexColorVariantConflictError ───────────────────────────────────────
|
|
456
|
+
|
|
457
|
+
export interface VertexColorVariantConflictDetail {
|
|
458
|
+
readonly authored: true;
|
|
459
|
+
readonly authoredValue: string;
|
|
460
|
+
readonly projected: boolean;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/** The authored color axis disagrees with the canonical geometry projection. */
|
|
464
|
+
export class VertexColorVariantConflictError extends Error {
|
|
465
|
+
readonly code = 'vertex-color-variant-conflict' as const;
|
|
466
|
+
readonly expected: string;
|
|
467
|
+
readonly hint: string;
|
|
468
|
+
readonly detail: VertexColorVariantConflictDetail;
|
|
469
|
+
|
|
470
|
+
constructor(authoredValue: string, projected: boolean) {
|
|
471
|
+
const expected = `VERTEX_COLOR_AVAILABLE=${projected ? 'true' : 'false'}`;
|
|
472
|
+
const hint =
|
|
473
|
+
'derive the shader variant from the mesh VertexLayoutProjection; COLOR_0 presence is a geometry fact';
|
|
474
|
+
super(`authored vertex-color variant ${authoredValue} disagrees with projected ${expected}`);
|
|
475
|
+
this.name = 'VertexColorVariantConflictError';
|
|
476
|
+
this.expected = expected;
|
|
477
|
+
this.hint = hint;
|
|
478
|
+
this.detail = { authored: true, authoredValue, projected };
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
|
|
621
482
|
// ── Skin palette/material validation errors ────────────────────────────────
|
|
622
483
|
|
|
623
484
|
/** Detail for a palette buffer that exceeds the device storage limit. */
|
|
@@ -704,6 +565,157 @@ export class MaterialSkinAttrMissingError extends Error {
|
|
|
704
565
|
|
|
705
566
|
// -- RenderFeature errors ---------------------------------------------------
|
|
706
567
|
|
|
568
|
+
export type RenderFeatureErrorCode =
|
|
569
|
+
| 'render-feature-registration-conflict'
|
|
570
|
+
| 'render-feature-stage-failed'
|
|
571
|
+
| 'render-feature-capability-missing'
|
|
572
|
+
| 'render-feature-pass-order-conflict'
|
|
573
|
+
| 'render-feature-preparation-failed'
|
|
574
|
+
| 'render-feature-prepared-state-mismatch'
|
|
575
|
+
| 'render-feature-draw-recording-failed';
|
|
576
|
+
|
|
577
|
+
export interface RenderFeatureRegistrationConflictDetail {
|
|
578
|
+
readonly featureIdentity: string;
|
|
579
|
+
readonly order: number;
|
|
580
|
+
readonly conflictingOrder: number;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
export interface RenderFeatureCleanupFailure {
|
|
584
|
+
readonly featureIdentity: string;
|
|
585
|
+
readonly order: number;
|
|
586
|
+
readonly code: string;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
export interface RenderFeatureStageFailedDetail {
|
|
590
|
+
readonly featureIdentity: string;
|
|
591
|
+
readonly order: number;
|
|
592
|
+
readonly stage: RenderFeatureStage;
|
|
593
|
+
readonly recovery: RenderFeatureRecovery;
|
|
594
|
+
readonly cleanupFailures?: readonly RenderFeatureCleanupFailure[];
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
export interface RenderFeatureCapabilityMissingDetail {
|
|
598
|
+
readonly featureIdentity: string;
|
|
599
|
+
readonly order: number;
|
|
600
|
+
readonly capability: RenderFeatureCapabilityKey;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
export interface RenderFeaturePassOrderConflictDetail {
|
|
604
|
+
readonly featureIdentity: string;
|
|
605
|
+
readonly order: number;
|
|
606
|
+
readonly passIdentity: string;
|
|
607
|
+
readonly dependencyIdentity: string;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
export interface RenderFeaturePreparationFailedDetail {
|
|
611
|
+
readonly featureIdentity: string;
|
|
612
|
+
readonly order: number;
|
|
613
|
+
readonly stage: 'prepare';
|
|
614
|
+
readonly operation: string;
|
|
615
|
+
readonly resourceKind: PreparedKind;
|
|
616
|
+
readonly resourceName: string;
|
|
617
|
+
readonly reason: string;
|
|
618
|
+
readonly recovery: RenderFeatureRecovery;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
export type RenderFeaturePreparedStateMismatchDetail =
|
|
622
|
+
| {
|
|
623
|
+
readonly featureIdentity: string;
|
|
624
|
+
readonly order: number;
|
|
625
|
+
readonly stage: 'contribute';
|
|
626
|
+
readonly operation: string;
|
|
627
|
+
readonly resourceKind: PreparedKind;
|
|
628
|
+
readonly reason: 'missing-prepared-state';
|
|
629
|
+
readonly missingResource: string;
|
|
630
|
+
readonly recovery: RenderFeatureRecovery;
|
|
631
|
+
}
|
|
632
|
+
| {
|
|
633
|
+
readonly featureIdentity: string;
|
|
634
|
+
readonly order: number;
|
|
635
|
+
readonly stage: 'contribute';
|
|
636
|
+
readonly operation: string;
|
|
637
|
+
readonly resourceKind: PreparedKind;
|
|
638
|
+
readonly reason: 'foreign-feature';
|
|
639
|
+
readonly expectedFeatureIdentity: string;
|
|
640
|
+
readonly actualFeatureIdentity: string;
|
|
641
|
+
readonly recovery: RenderFeatureRecovery;
|
|
642
|
+
}
|
|
643
|
+
| {
|
|
644
|
+
readonly featureIdentity: string;
|
|
645
|
+
readonly order: number;
|
|
646
|
+
readonly stage: 'contribute';
|
|
647
|
+
readonly operation: string;
|
|
648
|
+
readonly resourceKind: PreparedKind;
|
|
649
|
+
readonly reason: 'foreign-kind';
|
|
650
|
+
readonly expectedKind: PreparedKind;
|
|
651
|
+
readonly actualKind: PreparedKind;
|
|
652
|
+
readonly recovery: RenderFeatureRecovery;
|
|
653
|
+
}
|
|
654
|
+
| {
|
|
655
|
+
readonly featureIdentity: string;
|
|
656
|
+
readonly order: number;
|
|
657
|
+
readonly stage: 'contribute';
|
|
658
|
+
readonly operation: string;
|
|
659
|
+
readonly resourceKind: PreparedKind;
|
|
660
|
+
readonly reason: 'generation-mismatch';
|
|
661
|
+
readonly expectedGeneration: number;
|
|
662
|
+
readonly actualGeneration: number;
|
|
663
|
+
readonly recovery: RenderFeatureRecovery;
|
|
664
|
+
}
|
|
665
|
+
| {
|
|
666
|
+
readonly featureIdentity: string;
|
|
667
|
+
readonly order: number;
|
|
668
|
+
readonly stage: 'contribute';
|
|
669
|
+
readonly operation: string;
|
|
670
|
+
readonly resourceKind: PreparedKind;
|
|
671
|
+
readonly reason: 'layout-mismatch';
|
|
672
|
+
readonly expectedLayout: string;
|
|
673
|
+
readonly actualLayout: string;
|
|
674
|
+
readonly recovery: RenderFeatureRecovery;
|
|
675
|
+
}
|
|
676
|
+
| {
|
|
677
|
+
readonly featureIdentity: string;
|
|
678
|
+
readonly order: number;
|
|
679
|
+
readonly stage: 'contribute';
|
|
680
|
+
readonly operation: string;
|
|
681
|
+
readonly resourceKind: PreparedKind;
|
|
682
|
+
readonly reason: 'format-mismatch';
|
|
683
|
+
readonly expectedFormat: string;
|
|
684
|
+
readonly actualFormat: string;
|
|
685
|
+
readonly recovery: RenderFeatureRecovery;
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
export interface RenderFeatureDrawRecordingFailedDetail {
|
|
689
|
+
readonly featureIdentity: string;
|
|
690
|
+
readonly order: number;
|
|
691
|
+
readonly stage: 'record';
|
|
692
|
+
readonly operation: string;
|
|
693
|
+
readonly resourceKind: PreparedKind;
|
|
694
|
+
readonly reason: string;
|
|
695
|
+
readonly backendReason: string;
|
|
696
|
+
readonly recovery: RenderFeatureRecovery;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
export type RenderFeatureErrorDetailByCode = {
|
|
700
|
+
'render-feature-registration-conflict': RenderFeatureRegistrationConflictDetail;
|
|
701
|
+
'render-feature-stage-failed': RenderFeatureStageFailedDetail;
|
|
702
|
+
'render-feature-capability-missing': RenderFeatureCapabilityMissingDetail;
|
|
703
|
+
'render-feature-pass-order-conflict': RenderFeaturePassOrderConflictDetail;
|
|
704
|
+
'render-feature-preparation-failed': RenderFeaturePreparationFailedDetail;
|
|
705
|
+
'render-feature-prepared-state-mismatch': RenderFeaturePreparedStateMismatchDetail;
|
|
706
|
+
'render-feature-draw-recording-failed': RenderFeatureDrawRecordingFailedDetail;
|
|
707
|
+
};
|
|
708
|
+
|
|
709
|
+
/** Machine-readable four-field diagnostic exposed by every feature error. */
|
|
710
|
+
export type RenderFeatureErrorDescriptor = {
|
|
711
|
+
[Code in RenderFeatureErrorCode]: {
|
|
712
|
+
readonly code: Code;
|
|
713
|
+
readonly expected: string;
|
|
714
|
+
readonly hint: string;
|
|
715
|
+
readonly detail: RenderFeatureErrorDetailByCode[Code];
|
|
716
|
+
};
|
|
717
|
+
}[RenderFeatureErrorCode];
|
|
718
|
+
|
|
707
719
|
const renderFeatureRecoveryHintByRecovery = {
|
|
708
720
|
'next-frame': (featureIdentity: string, stage: RenderFeatureStage) =>
|
|
709
721
|
`correct '${featureIdentity}' ${stage} data and retry on the next frame`,
|
|
@@ -919,280 +931,310 @@ export class ObservationUnavailableError extends Error {
|
|
|
919
931
|
}
|
|
920
932
|
}
|
|
921
933
|
|
|
922
|
-
export interface
|
|
923
|
-
readonly
|
|
924
|
-
readonly
|
|
925
|
-
readonly
|
|
934
|
+
export interface FrameReceiptStaleDetail {
|
|
935
|
+
readonly frameId: number;
|
|
936
|
+
readonly receiptGeneration: number;
|
|
937
|
+
readonly currentGeneration: number;
|
|
926
938
|
}
|
|
927
939
|
|
|
928
|
-
/**
|
|
929
|
-
export class
|
|
930
|
-
readonly code = '
|
|
931
|
-
readonly expected = '
|
|
932
|
-
readonly hint =
|
|
933
|
-
|
|
934
|
-
readonly detail: TaaCapsInsufficientDetail;
|
|
940
|
+
/** Receipt-bound observation failed closed at a generation fence. */
|
|
941
|
+
export class FrameReceiptStaleError extends Error {
|
|
942
|
+
readonly code = 'frame-receipt-stale' as const;
|
|
943
|
+
readonly expected = 'the observation receipt belongs to the active device generation';
|
|
944
|
+
readonly hint = 'draw a new frame and call observe with its returned FrameReceipt';
|
|
945
|
+
readonly detail: FrameReceiptStaleDetail;
|
|
935
946
|
|
|
936
|
-
constructor(
|
|
937
|
-
super(
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
this.name = 'TaaCapsInsufficientError';
|
|
941
|
-
this.detail = {
|
|
942
|
-
rgba16floatRenderable,
|
|
943
|
-
maxColorAttachments,
|
|
944
|
-
recovery: 'enable-temporal-capabilities',
|
|
945
|
-
};
|
|
947
|
+
constructor(detail: FrameReceiptStaleDetail) {
|
|
948
|
+
super('frame receipt belongs to a retired device generation');
|
|
949
|
+
this.name = 'FrameReceiptStaleError';
|
|
950
|
+
this.detail = detail;
|
|
946
951
|
}
|
|
947
952
|
}
|
|
948
953
|
|
|
949
|
-
export
|
|
950
|
-
| '
|
|
951
|
-
|
|
952
|
-
| 'scene-color-sample-count'
|
|
953
|
-
| 'scene-depth-sample-count'
|
|
954
|
-
| 'temporal-attachment-missing'
|
|
955
|
-
| 'temporal-attachment-format'
|
|
956
|
-
| 'temporal-attachment-sample-count'
|
|
957
|
-
| 'resolve-resources-missing'
|
|
958
|
-
| 'resolve-frame-missing';
|
|
959
|
-
|
|
960
|
-
export interface TemporalUnsupportedDetail {
|
|
961
|
-
readonly reason: TemporalUnsupportedReason;
|
|
962
|
-
readonly actual: string;
|
|
963
|
-
readonly recovery: 'fix-temporal-pipeline-topology';
|
|
954
|
+
export interface RendererContractFailureDetail {
|
|
955
|
+
readonly operation: 'construct' | 'attach' | 'draw' | 'observe';
|
|
956
|
+
readonly cause: string;
|
|
964
957
|
}
|
|
965
958
|
|
|
966
|
-
/**
|
|
967
|
-
export class
|
|
968
|
-
readonly code = '
|
|
969
|
-
readonly expected
|
|
970
|
-
readonly hint =
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
this.
|
|
977
|
-
this.expected = expected;
|
|
978
|
-
this.detail = { reason, actual, recovery: 'fix-temporal-pipeline-topology' };
|
|
959
|
+
/** Structured boundary failure while adapting an owner contract. */
|
|
960
|
+
export class RendererContractFailureError extends Error {
|
|
961
|
+
readonly code = 'renderer-contract-failed' as const;
|
|
962
|
+
readonly expected = 'renderer owner contracts remain valid at the public boundary';
|
|
963
|
+
readonly hint = 'repair the owner contract and retry the operation';
|
|
964
|
+
readonly detail: RendererContractFailureDetail;
|
|
965
|
+
|
|
966
|
+
constructor(operation: RendererContractFailureDetail['operation'], cause: string) {
|
|
967
|
+
super(`renderer ${operation} contract failed: ${cause}`);
|
|
968
|
+
this.name = 'RendererContractFailureError';
|
|
969
|
+
this.detail = { operation, cause };
|
|
979
970
|
}
|
|
980
971
|
}
|
|
981
972
|
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
| 'mieDirectionalG'
|
|
989
|
-
| 'sunAngularRadius';
|
|
973
|
+
export interface RendererOperationCause {
|
|
974
|
+
readonly code: string;
|
|
975
|
+
readonly expected: string;
|
|
976
|
+
readonly hint: string;
|
|
977
|
+
readonly detail?: unknown;
|
|
978
|
+
}
|
|
990
979
|
|
|
991
|
-
export interface
|
|
992
|
-
readonly
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
readonly
|
|
980
|
+
export interface RendererOperationDetailByCode {
|
|
981
|
+
readonly 'world-lease-invalid': {
|
|
982
|
+
readonly operation: 'attach' | 'draw';
|
|
983
|
+
readonly cause: RendererOperationCause;
|
|
984
|
+
};
|
|
985
|
+
readonly 'frame-input-invalid': {
|
|
986
|
+
readonly operation: 'draw' | 'set-profile';
|
|
987
|
+
readonly cause: RendererOperationCause;
|
|
988
|
+
};
|
|
989
|
+
readonly 'scene-projection-failed': {
|
|
990
|
+
readonly operation: 'draw';
|
|
991
|
+
readonly cause: RendererOperationCause;
|
|
992
|
+
};
|
|
993
|
+
readonly 'asset-binding-failed': {
|
|
994
|
+
readonly operation: 'draw';
|
|
995
|
+
readonly cause: RendererOperationCause;
|
|
996
|
+
};
|
|
997
|
+
readonly 'feature-plan-failed': {
|
|
998
|
+
readonly operation: 'draw';
|
|
999
|
+
readonly cause: RendererOperationCause;
|
|
1000
|
+
};
|
|
1001
|
+
readonly 'graph-build-failed': {
|
|
1002
|
+
readonly operation: 'draw' | 'set-profile';
|
|
1003
|
+
readonly cause: RendererOperationCause;
|
|
1004
|
+
};
|
|
1005
|
+
readonly 'device-operation-failed': {
|
|
1006
|
+
readonly operation: 'draw' | 'complete-frame' | 'renderer-event';
|
|
1007
|
+
readonly frameId?: number;
|
|
1008
|
+
readonly deviceGeneration?: number;
|
|
1009
|
+
readonly cause: RendererOperationCause;
|
|
1010
|
+
};
|
|
1011
|
+
readonly 'surface-unavailable': {
|
|
1012
|
+
readonly operation: 'release-surface' | 'restore-surface';
|
|
1013
|
+
readonly cause: RendererOperationCause;
|
|
1014
|
+
};
|
|
1015
|
+
readonly 'renderer-state-invalid': {
|
|
1016
|
+
readonly operation: 'draw' | 'set-profile' | 'recover' | 'dispose';
|
|
1017
|
+
readonly state: string;
|
|
1018
|
+
readonly cause?: RendererOperationCause;
|
|
1019
|
+
};
|
|
1020
|
+
readonly 'recovery-failed': {
|
|
1021
|
+
readonly operation: 'recover';
|
|
1022
|
+
readonly oldGeneration: number;
|
|
1023
|
+
readonly cause: RendererOperationCause;
|
|
1024
|
+
};
|
|
1025
|
+
readonly 'cleanup-failed': {
|
|
1026
|
+
readonly operation: 'dispose';
|
|
1027
|
+
readonly causes: readonly RendererOperationCause[];
|
|
1028
|
+
};
|
|
997
1029
|
}
|
|
998
1030
|
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1031
|
+
export type RendererOperationErrorCode = keyof RendererOperationDetailByCode;
|
|
1032
|
+
|
|
1033
|
+
const RENDERER_OPERATION_ERROR_POLICY = {
|
|
1034
|
+
'world-lease-invalid': {
|
|
1035
|
+
expected: 'every render World is represented by a live lease owned by this Renderer',
|
|
1036
|
+
hint: 'attach the World to this Renderer and use the returned lease',
|
|
1037
|
+
},
|
|
1038
|
+
'frame-input-invalid': {
|
|
1039
|
+
expected: 'the frame input references attached leases and a valid immutable RenderProfile',
|
|
1040
|
+
hint: 'repair the frame input and retry draw or setProfile',
|
|
1041
|
+
},
|
|
1042
|
+
'scene-projection-failed': {
|
|
1043
|
+
expected: 'the attached World projects into the renderer-owned RenderScene',
|
|
1044
|
+
hint: 'inspect the structured cause, repair the World publication, and retry draw',
|
|
1045
|
+
},
|
|
1046
|
+
'asset-binding-failed': {
|
|
1047
|
+
expected: 'all frame assets resolve to valid renderer-owned bindings',
|
|
1048
|
+
hint: 'inspect the structured cause, rebuild or cold-cook the asset, and retry draw',
|
|
1049
|
+
},
|
|
1050
|
+
'feature-plan-failed': {
|
|
1051
|
+
expected: 'every installed RenderFeature produces a valid declarative plan',
|
|
1052
|
+
hint: 'inspect the feature cause, repair its plan, and retry draw',
|
|
1053
|
+
},
|
|
1054
|
+
'graph-build-failed': {
|
|
1055
|
+
expected: 'the Standard graph builds from the active profile and feature plans',
|
|
1056
|
+
hint: 'inspect the graph cause, repair the profile or plan, and retry',
|
|
1057
|
+
},
|
|
1058
|
+
'device-operation-failed': {
|
|
1059
|
+
expected: 'the active device generation completes the renderer-owned operation',
|
|
1060
|
+
hint: 'inspect renderer state and the structured cause, then retry or recover',
|
|
1061
|
+
},
|
|
1062
|
+
'surface-unavailable': {
|
|
1063
|
+
expected: 'the presentation surface accepts the requested lifecycle operation',
|
|
1064
|
+
hint: 'inspect renderer state, then restore the surface or create a new Renderer',
|
|
1065
|
+
},
|
|
1066
|
+
'renderer-state-invalid': {
|
|
1067
|
+
expected: 'the Renderer is in a state that accepts the requested operation',
|
|
1068
|
+
hint: 'inspect renderer state and choose retry, restoreSurface, recover, or stop',
|
|
1069
|
+
},
|
|
1070
|
+
'recovery-failed': {
|
|
1071
|
+
expected: 'one recovery attempt publishes a complete replacement device generation',
|
|
1072
|
+
hint: 'inspect the structured cause and retry recover after the host-selected delay',
|
|
1073
|
+
},
|
|
1074
|
+
'cleanup-failed': {
|
|
1075
|
+
expected: 'Renderer disposal completes every registered cleanup in reverse ownership order',
|
|
1076
|
+
hint: 'inspect the ordered cleanup causes; the Renderer remains disposed and must not be reused',
|
|
1077
|
+
},
|
|
1078
|
+
} as const satisfies Readonly<
|
|
1079
|
+
Record<RendererOperationErrorCode, { readonly expected: string; readonly hint: string }>
|
|
1080
|
+
>;
|
|
1081
|
+
|
|
1082
|
+
/** Public renderer-operation failure with a code-narrowed structured detail. */
|
|
1083
|
+
export class RendererOperationError<Code extends RendererOperationErrorCode> extends Error {
|
|
1084
|
+
readonly code: Code;
|
|
1002
1085
|
readonly expected: string;
|
|
1003
1086
|
readonly hint: string;
|
|
1004
|
-
readonly detail:
|
|
1005
|
-
|
|
1006
|
-
constructor(
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
super(`Atmosphere.${field} must be ${lower} and <=${max}; got ${value}`);
|
|
1015
|
-
this.name = 'AtmosphereParameterInvalidError';
|
|
1016
|
-
this.expected = `${field} ${lower} and <=${max}`;
|
|
1017
|
-
this.hint = `set Atmosphere.${field} to a finite value in the accepted range; got ${value}`;
|
|
1018
|
-
this.detail = { field, value, min, max, minExclusive };
|
|
1087
|
+
readonly detail: RendererOperationDetailByCode[Code];
|
|
1088
|
+
|
|
1089
|
+
constructor(code: Code, detail: RendererOperationDetailByCode[Code]) {
|
|
1090
|
+
const policy = RENDERER_OPERATION_ERROR_POLICY[code];
|
|
1091
|
+
super(`${code}: ${policy.expected}`);
|
|
1092
|
+
this.name = 'RendererOperationError';
|
|
1093
|
+
this.code = code;
|
|
1094
|
+
this.expected = policy.expected;
|
|
1095
|
+
this.hint = policy.hint;
|
|
1096
|
+
this.detail = detail;
|
|
1019
1097
|
}
|
|
1020
1098
|
}
|
|
1021
1099
|
|
|
1022
|
-
export
|
|
1023
|
-
readonly
|
|
1024
|
-
|
|
1025
|
-
readonly entities: readonly number[];
|
|
1026
|
-
}
|
|
1100
|
+
export type RendererExpectedOperationError = {
|
|
1101
|
+
readonly [Code in RendererOperationErrorCode]: RendererOperationError<Code>;
|
|
1102
|
+
}[RendererOperationErrorCode];
|
|
1027
1103
|
|
|
1028
|
-
|
|
1029
|
-
export class AtmosphereCardinalityInvalidError extends Error {
|
|
1030
|
-
readonly code = 'atmosphere-cardinality-invalid' as const;
|
|
1031
|
-
readonly expected = 'exactly one Atmosphere component in the resourceOwner World';
|
|
1032
|
-
readonly hint = 'remove extra Atmosphere entities and keep one analytic source';
|
|
1033
|
-
readonly detail: AtmosphereCardinalityInvalidDetail;
|
|
1034
|
-
|
|
1035
|
-
constructor(count: number, entities: readonly number[]) {
|
|
1036
|
-
super(`Atmosphere cardinality exceeded: ${count} entities (max 1)`);
|
|
1037
|
-
this.name = 'AtmosphereCardinalityInvalidError';
|
|
1038
|
-
this.detail = { count, max: 1, entities: [...entities] };
|
|
1039
|
-
}
|
|
1040
|
-
}
|
|
1104
|
+
// -- Points/Lines admission errors -------------------------------------------
|
|
1041
1105
|
|
|
1042
|
-
export interface
|
|
1043
|
-
readonly
|
|
1106
|
+
export interface PointsLinesInvalidStyleDetail {
|
|
1107
|
+
readonly entity: number;
|
|
1108
|
+
readonly component: 'Points' | 'Lines' | 'Points/Lines';
|
|
1109
|
+
readonly field: string;
|
|
1110
|
+
readonly value: number | string | undefined;
|
|
1111
|
+
readonly expected: string;
|
|
1044
1112
|
}
|
|
1045
1113
|
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
readonly
|
|
1049
|
-
readonly
|
|
1050
|
-
readonly
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
this.
|
|
1056
|
-
this.
|
|
1114
|
+
export class PointsLinesInvalidStyleError extends Error {
|
|
1115
|
+
readonly code = 'points-lines-invalid-style' as const;
|
|
1116
|
+
readonly expected: string;
|
|
1117
|
+
readonly hint: string;
|
|
1118
|
+
readonly detail: PointsLinesInvalidStyleDetail;
|
|
1119
|
+
|
|
1120
|
+
constructor(detail: PointsLinesInvalidStyleDetail) {
|
|
1121
|
+
super(`invalid ${detail.component} style at ${detail.field}`);
|
|
1122
|
+
this.name = 'PointsLinesInvalidStyleError';
|
|
1123
|
+
this.expected = detail.expected;
|
|
1124
|
+
this.hint = `repair entity ${detail.entity} ${detail.component}.${detail.field} and retry admission`;
|
|
1125
|
+
this.detail = detail;
|
|
1057
1126
|
}
|
|
1058
1127
|
}
|
|
1059
1128
|
|
|
1060
|
-
export interface
|
|
1061
|
-
readonly
|
|
1062
|
-
readonly
|
|
1129
|
+
export interface PointsLinesTopologyMismatchDetail {
|
|
1130
|
+
readonly entity: number;
|
|
1131
|
+
readonly submesh: number;
|
|
1132
|
+
readonly expected: string;
|
|
1133
|
+
readonly actual: string;
|
|
1063
1134
|
}
|
|
1064
1135
|
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
readonly
|
|
1068
|
-
readonly
|
|
1069
|
-
readonly
|
|
1070
|
-
readonly detail: EnvironmentSourceConflictDetail;
|
|
1136
|
+
export class PointsLinesTopologyMismatchError extends Error {
|
|
1137
|
+
readonly code = 'points-lines-topology-mismatch' as const;
|
|
1138
|
+
readonly expected: string;
|
|
1139
|
+
readonly hint: string;
|
|
1140
|
+
readonly detail: PointsLinesTopologyMismatchDetail;
|
|
1071
1141
|
|
|
1072
|
-
constructor(
|
|
1073
|
-
super(
|
|
1074
|
-
this.name = '
|
|
1075
|
-
this.
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
};
|
|
1142
|
+
constructor(detail: PointsLinesTopologyMismatchDetail) {
|
|
1143
|
+
super(`Points/Lines topology mismatch at submesh ${detail.submesh}`);
|
|
1144
|
+
this.name = 'PointsLinesTopologyMismatchError';
|
|
1145
|
+
this.expected = `submesh ${detail.submesh} topology is ${detail.expected}`;
|
|
1146
|
+
this.hint = `rebuild entity ${detail.entity} with ${detail.expected} geometry before retrying Points/Lines admission`;
|
|
1147
|
+
this.detail = detail;
|
|
1079
1148
|
}
|
|
1080
1149
|
}
|
|
1081
1150
|
|
|
1082
|
-
export interface
|
|
1083
|
-
readonly
|
|
1084
|
-
readonly
|
|
1085
|
-
readonly
|
|
1151
|
+
export interface PointsLinesStyleUnsupportedDetail {
|
|
1152
|
+
readonly lane: string;
|
|
1153
|
+
readonly field: string;
|
|
1154
|
+
readonly member: string;
|
|
1155
|
+
readonly supported: readonly string[];
|
|
1086
1156
|
}
|
|
1087
1157
|
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
readonly code = 'atmosphere-caps-insufficient' as const;
|
|
1158
|
+
export class PointsLinesStyleUnsupportedError extends Error {
|
|
1159
|
+
readonly code = 'points-lines-style-unsupported' as const;
|
|
1091
1160
|
readonly expected: string;
|
|
1092
|
-
readonly hint
|
|
1093
|
-
readonly detail:
|
|
1094
|
-
|
|
1095
|
-
constructor(
|
|
1096
|
-
super(`
|
|
1097
|
-
this.name = '
|
|
1098
|
-
this.expected = `${
|
|
1099
|
-
this.
|
|
1161
|
+
readonly hint: string;
|
|
1162
|
+
readonly detail: PointsLinesStyleUnsupportedDetail;
|
|
1163
|
+
|
|
1164
|
+
constructor(detail: PointsLinesStyleUnsupportedDetail) {
|
|
1165
|
+
super(`unsupported Points/Lines ${detail.field} member ${detail.member}`);
|
|
1166
|
+
this.name = 'PointsLinesStyleUnsupportedError';
|
|
1167
|
+
this.expected = `${detail.field} is one of ${detail.supported.join(', ')}`;
|
|
1168
|
+
this.hint = `use a supported Points/Lines ${detail.field} member or wait for a later milestone`;
|
|
1169
|
+
this.detail = detail;
|
|
1100
1170
|
}
|
|
1101
1171
|
}
|
|
1102
1172
|
|
|
1103
|
-
export interface
|
|
1104
|
-
readonly
|
|
1173
|
+
export interface PointsLinesMaterialUnsupportedDetail {
|
|
1174
|
+
readonly entity: number;
|
|
1175
|
+
readonly material: string;
|
|
1176
|
+
readonly pass: string;
|
|
1177
|
+
readonly module: string;
|
|
1105
1178
|
readonly reason: string;
|
|
1106
|
-
readonly generation?: number;
|
|
1107
|
-
}
|
|
1108
|
-
|
|
1109
|
-
/** The candidate atmosphere producer did not complete atomically. */
|
|
1110
|
-
export class AtmosphereProducerFailedError extends Error {
|
|
1111
|
-
readonly code = 'atmosphere-producer-failed' as const;
|
|
1112
|
-
readonly expected = 'candidate atmosphere generation builds, executes, and submits atomically';
|
|
1113
|
-
readonly hint =
|
|
1114
|
-
'retain the last-known-good generation, inspect the stage, and retry after repair';
|
|
1115
|
-
readonly detail: AtmosphereProducerFailedDetail;
|
|
1116
|
-
|
|
1117
|
-
constructor(stage: AtmosphereProducerFailedDetail['stage'], reason: string, generation?: number) {
|
|
1118
|
-
super(`Atmosphere producer ${stage} failed: ${reason}`);
|
|
1119
|
-
this.name = 'AtmosphereProducerFailedError';
|
|
1120
|
-
this.detail = { stage, reason, ...(generation === undefined ? {} : { generation }) };
|
|
1121
|
-
}
|
|
1122
1179
|
}
|
|
1123
1180
|
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
* The readiness owner supplies the structured fields; render adds only the
|
|
1128
|
-
* stable draw dedupe key. This is a diagnostic fact, not a second error or
|
|
1129
|
-
* material registry.
|
|
1130
|
-
*/
|
|
1131
|
-
export interface MaterialDrawDiagnostic {
|
|
1132
|
-
readonly key: string;
|
|
1133
|
-
readonly code: MaterialRenderError['error']['code'];
|
|
1134
|
-
readonly materialGuid: string;
|
|
1135
|
-
readonly specializationKey: string;
|
|
1136
|
-
readonly publicationGeneration?: number;
|
|
1137
|
-
readonly expected: string;
|
|
1138
|
-
readonly actual?: string;
|
|
1181
|
+
export class PointsLinesMaterialUnsupportedError extends Error {
|
|
1182
|
+
readonly code = 'points-lines-material-unsupported' as const;
|
|
1183
|
+
readonly expected = 'one engine-owned unlit forward MaterialAsset pass';
|
|
1139
1184
|
readonly hint: string;
|
|
1140
|
-
readonly
|
|
1141
|
-
|
|
1185
|
+
readonly detail: PointsLinesMaterialUnsupportedDetail;
|
|
1186
|
+
|
|
1187
|
+
constructor(detail: PointsLinesMaterialUnsupportedDetail) {
|
|
1188
|
+
super(`Points/Lines material is unsupported on entity ${detail.entity}`);
|
|
1189
|
+
this.name = 'PointsLinesMaterialUnsupportedError';
|
|
1190
|
+
this.hint = `use Materials.unlit without a shadow-caster pass for entity ${detail.entity}`;
|
|
1191
|
+
this.detail = detail;
|
|
1192
|
+
}
|
|
1142
1193
|
}
|
|
1143
1194
|
|
|
1144
|
-
export
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
code: error.error.code,
|
|
1150
|
-
materialGuid: detail.guid,
|
|
1151
|
-
specializationKey: detail.specializationKey,
|
|
1152
|
-
...(generation === undefined ? {} : { publicationGeneration: generation }),
|
|
1153
|
-
expected: error.error.expected,
|
|
1154
|
-
...(detail.actual === undefined ? {} : { actual: detail.actual }),
|
|
1155
|
-
hint: error.error.hint,
|
|
1156
|
-
retryable: error.error.retryable,
|
|
1157
|
-
recoveryActions: error.error.recoveryActions,
|
|
1158
|
-
};
|
|
1195
|
+
export interface PointsLinesBudgetExceededDetail {
|
|
1196
|
+
readonly lane: string;
|
|
1197
|
+
readonly requested: number;
|
|
1198
|
+
readonly limit: number;
|
|
1199
|
+
readonly unit: 'points' | 'segments' | 'vertices' | 'indices' | 'bytes' | 'draws';
|
|
1159
1200
|
}
|
|
1160
1201
|
|
|
1161
|
-
export class
|
|
1162
|
-
readonly code = '
|
|
1202
|
+
export class PointsLinesBudgetExceededError extends Error {
|
|
1203
|
+
readonly code = 'points-lines-budget-exceeded' as const;
|
|
1163
1204
|
readonly expected: string;
|
|
1164
1205
|
readonly hint: string;
|
|
1165
|
-
readonly detail:
|
|
1166
|
-
readonly requested: number;
|
|
1167
|
-
readonly capacity: number;
|
|
1168
|
-
readonly ceiling: number;
|
|
1169
|
-
};
|
|
1206
|
+
readonly detail: PointsLinesBudgetExceededDetail;
|
|
1170
1207
|
|
|
1171
|
-
constructor(
|
|
1172
|
-
super(`
|
|
1173
|
-
this.name = '
|
|
1174
|
-
this.expected =
|
|
1175
|
-
this.hint =
|
|
1176
|
-
this.detail =
|
|
1208
|
+
constructor(detail: PointsLinesBudgetExceededDetail) {
|
|
1209
|
+
super(`Points/Lines ${detail.unit} budget exceeded`);
|
|
1210
|
+
this.name = 'PointsLinesBudgetExceededError';
|
|
1211
|
+
this.expected = `${detail.unit} <= ${detail.limit}`;
|
|
1212
|
+
this.hint = `reduce Points/Lines ${detail.unit} or split the entity into bounded equivalent batches`;
|
|
1213
|
+
this.detail = detail;
|
|
1177
1214
|
}
|
|
1178
1215
|
}
|
|
1179
1216
|
|
|
1180
|
-
export
|
|
1181
|
-
readonly
|
|
1182
|
-
readonly
|
|
1183
|
-
readonly
|
|
1184
|
-
readonly
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
readonly ceiling: number;
|
|
1188
|
-
};
|
|
1217
|
+
export interface PointsLinesPrepareFailedDetail {
|
|
1218
|
+
readonly owner: string;
|
|
1219
|
+
readonly generation: number;
|
|
1220
|
+
readonly stage: 'prepare';
|
|
1221
|
+
readonly cause: string;
|
|
1222
|
+
readonly lastKnownGood: boolean;
|
|
1223
|
+
}
|
|
1189
1224
|
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1225
|
+
export class PointsLinesPrepareFailedError extends Error {
|
|
1226
|
+
readonly code = 'points-lines-prepare-failed' as const;
|
|
1227
|
+
readonly expected = 'the complete Points/Lines candidate validates before publication';
|
|
1228
|
+
readonly hint: string;
|
|
1229
|
+
readonly detail: PointsLinesPrepareFailedDetail;
|
|
1230
|
+
|
|
1231
|
+
constructor(detail: PointsLinesPrepareFailedDetail) {
|
|
1232
|
+
super(`Points/Lines prepare failed at generation ${detail.generation}`);
|
|
1233
|
+
this.name = 'PointsLinesPrepareFailedError';
|
|
1234
|
+
this.hint = detail.lastKnownGood
|
|
1235
|
+
? 'retain the last known good candidate, repair the producer, and retry prepare'
|
|
1236
|
+
: 'repair the producer and retry prepare; the failed first candidate produces zero draw';
|
|
1237
|
+
this.detail = detail;
|
|
1196
1238
|
}
|
|
1197
1239
|
}
|
|
1198
1240
|
|
|
@@ -1209,29 +1251,21 @@ export type RenderErrorCode = RenderError['code'];
|
|
|
1209
1251
|
* `RenderErrorCode` discriminant on `.code`.
|
|
1210
1252
|
*/
|
|
1211
1253
|
export type RenderError =
|
|
1212
|
-
|
|
|
1213
|
-
|
|
|
1254
|
+
| LifecycleConstructionError
|
|
1255
|
+
| RendererExpectedOperationError
|
|
1256
|
+
| FrameReceiptStaleError
|
|
1257
|
+
| RendererContractFailureError
|
|
1214
1258
|
| ObservationUnavailableError
|
|
1215
|
-
| TaaCapsInsufficientError
|
|
1216
|
-
| TemporalUnsupportedError
|
|
1217
|
-
| AtmosphereCardinalityInvalidError
|
|
1218
|
-
| AtmosphereSunMissingError
|
|
1219
|
-
| EnvironmentSourceConflictError
|
|
1220
|
-
| AtmosphereParameterInvalidError
|
|
1221
|
-
| AtmosphereCapsInsufficientError
|
|
1222
|
-
| AtmosphereProducerFailedError
|
|
1223
1259
|
| ShadowInvalidConfigError
|
|
1224
1260
|
| EquirectProjectionFailedError
|
|
1225
|
-
| HdrpCapsInsufficientError
|
|
1226
1261
|
| HdrpLightBudgetExceededError
|
|
1227
1262
|
| HdrpIndexListOverflowError
|
|
1228
1263
|
| HdrpDeferredCapsInsufficientError
|
|
1229
|
-
| GbufferRtAllocFailedError
|
|
1230
|
-
| GbufferAttachmentCountMismatchError
|
|
1231
1264
|
| PointShadowAtlasUninitializedError
|
|
1232
1265
|
| PointShadowAtlasBoundsViolationError
|
|
1233
1266
|
| VideoUploadUnsupportedError
|
|
1234
1267
|
| VertexStorageBufferUnavailableError
|
|
1268
|
+
| VertexColorVariantConflictError
|
|
1235
1269
|
| SkinPaletteOverflowError
|
|
1236
1270
|
| SkinMaterialMismatchError
|
|
1237
1271
|
| MaterialSkinAttrMissingError
|
|
@@ -1241,4 +1275,10 @@ export type RenderError =
|
|
|
1241
1275
|
| RenderFeaturePassOrderConflictError
|
|
1242
1276
|
| RenderFeaturePreparationFailedError
|
|
1243
1277
|
| RenderFeaturePreparedStateMismatchError
|
|
1244
|
-
| RenderFeatureDrawRecordingFailedError
|
|
1278
|
+
| RenderFeatureDrawRecordingFailedError
|
|
1279
|
+
| PointsLinesInvalidStyleError
|
|
1280
|
+
| PointsLinesTopologyMismatchError
|
|
1281
|
+
| PointsLinesStyleUnsupportedError
|
|
1282
|
+
| PointsLinesMaterialUnsupportedError
|
|
1283
|
+
| PointsLinesBudgetExceededError
|
|
1284
|
+
| PointsLinesPrepareFailedError;
|