@forgeax/engine-render 0.1.2
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/LICENSE +202 -0
- package/README.md +1019 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/__tests__/analytic-sky-contract.test.d.ts +2 -0
- package/dist/__tests__/analytic-sky-contract.test.d.ts.map +1 -0
- package/dist/__tests__/analytic-sky-falsify.test.d.ts +2 -0
- package/dist/__tests__/analytic-sky-falsify.test.d.ts.map +1 -0
- package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts +2 -0
- package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts.map +1 -0
- package/dist/__tests__/authoring-path.unit.test.d.ts +2 -0
- package/dist/__tests__/authoring-path.unit.test.d.ts.map +1 -0
- package/dist/__tests__/backend-selection-rhi-capture.test-d.d.ts +2 -0
- package/dist/__tests__/backend-selection-rhi-capture.test-d.d.ts.map +1 -0
- package/dist/__tests__/backend-selection.integration.test.d.ts +2 -0
- package/dist/__tests__/backend-selection.integration.test.d.ts.map +1 -0
- package/dist/__tests__/callback-inference.test-d.d.ts +2 -0
- package/dist/__tests__/callback-inference.test-d.d.ts.map +1 -0
- package/dist/__tests__/camera-temporal.test-d.d.ts +2 -0
- package/dist/__tests__/camera-temporal.test-d.d.ts.map +1 -0
- package/dist/__tests__/camera-temporal.test.d.ts +2 -0
- package/dist/__tests__/camera-temporal.test.d.ts.map +1 -0
- package/dist/__tests__/cluster-binner.test.d.ts +2 -0
- package/dist/__tests__/cluster-binner.test.d.ts.map +1 -0
- package/dist/__tests__/cluster-grid-default-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/cluster-grid-default-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/construct-renderer-identity.unit.test.d.ts +2 -0
- package/dist/__tests__/construct-renderer-identity.unit.test.d.ts.map +1 -0
- package/dist/__tests__/direct-extract-consumer-contract.test-d.d.ts +2 -0
- package/dist/__tests__/direct-extract-consumer-contract.test-d.d.ts.map +1 -0
- package/dist/__tests__/direct-light-snapshot.unit.test.d.ts +2 -0
- package/dist/__tests__/direct-light-snapshot.unit.test.d.ts.map +1 -0
- package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts +2 -0
- package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts.map +1 -0
- package/dist/__tests__/environment-inspection.test.d.ts +2 -0
- package/dist/__tests__/environment-inspection.test.d.ts.map +1 -0
- package/dist/__tests__/factory-contract.integration.test.d.ts +2 -0
- package/dist/__tests__/factory-contract.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fallback-row-stride-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/fallback-row-stride-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/fog-ai-user.fixture.d.ts +2 -0
- package/dist/__tests__/fog-ai-user.fixture.d.ts.map +1 -0
- package/dist/__tests__/fog-custom-render-feature.fixture.d.ts +16 -0
- package/dist/__tests__/fog-custom-render-feature.fixture.d.ts.map +1 -0
- package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-inspection.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-inspection.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-owner-state.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-owner-state.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-public-surface.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-public-surface.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-ray-contract.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-ray-contract.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-source-absence.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-source-absence.integration.test.d.ts.map +1 -0
- package/dist/__tests__/fog-temporal.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-temporal.integration.test.d.ts.map +1 -0
- package/dist/__tests__/frame-chain.unit.test.d.ts +2 -0
- package/dist/__tests__/frame-chain.unit.test.d.ts.map +1 -0
- package/dist/__tests__/frame-observation.contract.test.d.ts +2 -0
- package/dist/__tests__/frame-observation.contract.test.d.ts.map +1 -0
- package/dist/__tests__/glyph-text-layout-recovery.unit.test.d.ts +2 -0
- package/dist/__tests__/glyph-text-layout-recovery.unit.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts +6 -0
- package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-indirect-raster.browser.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-indirect-raster.browser.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-indirect-raster.dawn.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-indirect-raster.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-production.integration.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-production.integration.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-scaling.unit.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-scaling.unit.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts +12 -0
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-view-graph.integration.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-view-graph.integration.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-view.browser.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-view.browser.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-view.dawn.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-view.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-driven-view.unit.test.d.ts +2 -0
- package/dist/__tests__/gpu-driven-view.unit.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-resource-store-stride.unit.test.d.ts +2 -0
- package/dist/__tests__/gpu-resource-store-stride.unit.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts +2 -0
- package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts +7 -0
- package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-render-graph.browser.test.d.ts +2 -0
- package/dist/__tests__/gpu-scene-render-graph.browser.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-render-graph.dawn.test.d.ts +2 -0
- package/dist/__tests__/gpu-scene-render-graph.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-schema.unit.test.d.ts +2 -0
- package/dist/__tests__/gpu-scene-schema.unit.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene.dawn.test.d.ts +2 -0
- package/dist/__tests__/gpu-scene.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene.unit.test.d.ts +2 -0
- package/dist/__tests__/gpu-scene.unit.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/hdrp-pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts +2 -0
- package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts.map +1 -0
- package/dist/__tests__/infinite-grid-no-vertex-probe.unit.test.d.ts +2 -0
- package/dist/__tests__/infinite-grid-no-vertex-probe.unit.test.d.ts.map +1 -0
- package/dist/__tests__/injection-kind-owner.test-d.d.ts +2 -0
- package/dist/__tests__/injection-kind-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/ktx2-basis-gpu-consumer.dawn.test.d.ts +2 -0
- package/dist/__tests__/ktx2-basis-gpu-consumer.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/light-buffer-layout.unit.test.d.ts +2 -0
- package/dist/__tests__/light-buffer-layout.unit.test.d.ts.map +1 -0
- package/dist/__tests__/material-contract-inventory.unit.test.d.ts +2 -0
- package/dist/__tests__/material-contract-inventory.unit.test.d.ts.map +1 -0
- package/dist/__tests__/material-cooked-projection.unit.test.d.ts +2 -0
- package/dist/__tests__/material-cooked-projection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts +2 -0
- package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts.map +1 -0
- package/dist/__tests__/material-derived-payload.integration.test.d.ts +2 -0
- package/dist/__tests__/material-derived-payload.integration.test.d.ts.map +1 -0
- package/dist/__tests__/material-snapshot-mutation.integration.test.d.ts +2 -0
- package/dist/__tests__/material-snapshot-mutation.integration.test.d.ts.map +1 -0
- package/dist/__tests__/material-static-dynamic-route.unit.test.d.ts +2 -0
- package/dist/__tests__/material-static-dynamic-route.unit.test.d.ts.map +1 -0
- package/dist/__tests__/material-stride-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/material-stride-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/materials.unit.test.d.ts +2 -0
- package/dist/__tests__/materials.unit.test.d.ts.map +1 -0
- package/dist/__tests__/mesh-buffer-usage-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/mesh-buffer-usage-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/mesh-material-bindings.unit.test.d.ts +2 -0
- package/dist/__tests__/mesh-material-bindings.unit.test.d.ts.map +1 -0
- package/dist/__tests__/mesh-stride-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/mesh-stride-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/morph-culling-reentry.dawn.test.d.ts +2 -0
- package/dist/__tests__/morph-culling-reentry.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/morph-feature-gpu-work.integration.test.d.ts +2 -0
- package/dist/__tests__/morph-feature-gpu-work.integration.test.d.ts.map +1 -0
- package/dist/__tests__/morph-visual-evidence.integration.test.d.ts +2 -0
- package/dist/__tests__/morph-visual-evidence.integration.test.d.ts.map +1 -0
- package/dist/__tests__/nineslice-handle-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/nineslice-handle-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/param-schema-projection-census.unit.test.d.ts +2 -0
- package/dist/__tests__/param-schema-projection-census.unit.test.d.ts.map +1 -0
- package/dist/__tests__/persistent-render-scene.unit.test.d.ts +2 -0
- package/dist/__tests__/persistent-render-scene.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts +2 -0
- package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-pass-trace.test.d.ts +2 -0
- package/dist/__tests__/pipeline-pass-trace.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-stage-owner.test-d.d.ts +2 -0
- package/dist/__tests__/pipeline-stage-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/plugin.test.d.ts +2 -0
- package/dist/__tests__/plugin.test.d.ts.map +1 -0
- package/dist/__tests__/post-process-error-policy-owner.unit.test.d.ts +2 -0
- package/dist/__tests__/post-process-error-policy-owner.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-buffer-kind-owner.test-d.d.ts +2 -0
- package/dist/__tests__/prepared-buffer-kind-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-capability.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-capability.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-generation.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-generation.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-lifecycle.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-lifecycle.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-pipeline-warmup.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-pipeline-warmup.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-resolver.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-resolver.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-snapshot.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-snapshot.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-store.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-store.unit.test.d.ts.map +1 -0
- package/dist/__tests__/prepared-graphics-validation.unit.test.d.ts +2 -0
- package/dist/__tests__/prepared-graphics-validation.unit.test.d.ts.map +1 -0
- package/dist/__tests__/profiler-default-off.test.d.ts +2 -0
- package/dist/__tests__/profiler-default-off.test.d.ts.map +1 -0
- package/dist/__tests__/profiler-phase-catalog.test.d.ts +2 -0
- package/dist/__tests__/profiler-phase-catalog.test.d.ts.map +1 -0
- package/dist/__tests__/profiler-phase-integration.test.d.ts +2 -0
- package/dist/__tests__/profiler-phase-integration.test.d.ts.map +1 -0
- package/dist/__tests__/profiler-phase-token.test.d.ts +2 -0
- package/dist/__tests__/profiler-phase-token.test.d.ts.map +1 -0
- package/dist/__tests__/public-pipeline-id.test-d.d.ts +2 -0
- package/dist/__tests__/public-pipeline-id.test-d.d.ts.map +1 -0
- package/dist/__tests__/public-surface.test-d.d.ts +2 -0
- package/dist/__tests__/public-surface.test-d.d.ts.map +1 -0
- package/dist/__tests__/recover-error-policy-owner.unit.test.d.ts +2 -0
- package/dist/__tests__/recover-error-policy-owner.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-dispatch-membership.unit.test.d.ts +2 -0
- package/dist/__tests__/render-dispatch-membership.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-error-code-owner.test-d.d.ts +2 -0
- package/dist/__tests__/render-error-code-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-error-detail-ssot.test-d.d.ts +2 -0
- package/dist/__tests__/render-error-detail-ssot.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-error-exhaustive.test-d.d.ts +2 -0
- package/dist/__tests__/render-error-exhaustive.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-assembly.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-assembly.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-construction.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-construction.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-context.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-context.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-contract.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-contract.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-diagnostics.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-diagnostics.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-docs.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-docs.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-errors.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-errors.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-gpu-work.integration.test.d.ts +2 -0
- package/dist/__tests__/render-feature-gpu-work.integration.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-graph.integration.test.d.ts +2 -0
- package/dist/__tests__/render-feature-graph.integration.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-order.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-order.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-diagnostics.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-diagnostics.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-errors.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-errors.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics-isolation.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics-isolation.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics-negative.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics-negative.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-public-surface.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-public-surface.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-retry.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-retry.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-scheduling.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-scheduling.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-stage-failed-policy-owner.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-stage-failed-policy-owner.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-stage-fault-recovery.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-stage-fault-recovery.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-staging.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-staging.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-visibility-context.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-visibility-context.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-visibility-context.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-visibility-context.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-zero-work.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-zero-work.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-compute-raster-gpu.d.ts +7 -0
- package/dist/__tests__/render-graph-compute-raster-gpu.d.ts.map +1 -0
- package/dist/__tests__/render-graph-compute-raster.browser.test.d.ts +2 -0
- package/dist/__tests__/render-graph-compute-raster.browser.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-compute-raster.dawn.test.d.ts +2 -0
- package/dist/__tests__/render-graph-compute-raster.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-hzb-gpu.d.ts +7 -0
- package/dist/__tests__/render-graph-hzb-gpu.d.ts.map +1 -0
- package/dist/__tests__/render-graph-hzb.browser.test.d.ts +2 -0
- package/dist/__tests__/render-graph-hzb.browser.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-hzb.dawn.test.d.ts +2 -0
- package/dist/__tests__/render-graph-hzb.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-primitives.unit.test.d.ts +2 -0
- package/dist/__tests__/render-graph-primitives.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-storage-indirect-gpu.d.ts +12 -0
- package/dist/__tests__/render-graph-storage-indirect-gpu.d.ts.map +1 -0
- package/dist/__tests__/render-graph-storage-indirect.browser.test.d.ts +2 -0
- package/dist/__tests__/render-graph-storage-indirect.browser.test.d.ts.map +1 -0
- package/dist/__tests__/render-graph-storage-indirect.dawn.test.d.ts +2 -0
- package/dist/__tests__/render-graph-storage-indirect.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/render-scene-projection.unit.test.d.ts +2 -0
- package/dist/__tests__/render-scene-projection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-factory-material-contract.unit.test.d.ts +2 -0
- package/dist/__tests__/renderer-factory-material-contract.unit.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-lifecycle.integration.test.d.ts +2 -0
- package/dist/__tests__/renderer-lifecycle.integration.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-render-scene-public.test-d.d.ts +2 -0
- package/dist/__tests__/renderer-render-scene-public.test-d.d.ts.map +1 -0
- package/dist/__tests__/rhi-backend-package-boundary.unit.test.d.ts +2 -0
- package/dist/__tests__/rhi-backend-package-boundary.unit.test.d.ts.map +1 -0
- package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts +2 -0
- package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts.map +1 -0
- package/dist/__tests__/scriptable-pack-consumer.test-d.d.ts +2 -0
- package/dist/__tests__/scriptable-pack-consumer.test-d.d.ts.map +1 -0
- package/dist/__tests__/shader-stage-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/shader-stage-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-kernel-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/ssao-kernel-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/sun-snapshot-consumers.test.d.ts +2 -0
- package/dist/__tests__/sun-snapshot-consumers.test.d.ts.map +1 -0
- package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts +2 -0
- package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts.map +1 -0
- package/dist/__tests__/surface-configuration.unit.test.d.ts +2 -0
- package/dist/__tests__/surface-configuration.unit.test.d.ts.map +1 -0
- package/dist/__tests__/taa-history-store.unit.test.d.ts +2 -0
- package/dist/__tests__/taa-history-store.unit.test.d.ts.map +1 -0
- package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts +2 -0
- package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts.map +1 -0
- package/dist/__tests__/temporal-inspection.unit.test.d.ts +2 -0
- package/dist/__tests__/temporal-inspection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/texture-usage-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/texture-usage-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/typed-pipeline-topology.unit.test.d.ts +2 -0
- package/dist/__tests__/typed-pipeline-topology.unit.test.d.ts.map +1 -0
- package/dist/__tests__/urp-pipeline-targets.unit.test.d.ts +2 -0
- package/dist/__tests__/urp-pipeline-targets.unit.test.d.ts.map +1 -0
- package/dist/__tests__/urp-pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/urp-pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/vertex-color-pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/vertex-color-pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/vertex-layout-consumer.unit.test.d.ts +2 -0
- package/dist/__tests__/vertex-layout-consumer.unit.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-diagnostics.integration.test.d.ts +2 -0
- package/dist/__tests__/visibility-diagnostics.integration.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-extract.integration.test.d.ts +2 -0
- package/dist/__tests__/visibility-extract.integration.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-extract.perf.test.d.ts +2 -0
- package/dist/__tests__/visibility-extract.perf.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-feature-dedup.integration.test.d.ts +2 -0
- package/dist/__tests__/visibility-feature-dedup.integration.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-hidden-report.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-hidden-report.unit.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-instances.integration.test.d.ts +2 -0
- package/dist/__tests__/visibility-instances.integration.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-multi-world.integration.test.d.ts +2 -0
- package/dist/__tests__/visibility-multi-world.integration.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-producer-matrix.integration.test.d.ts +2 -0
- package/dist/__tests__/visibility-producer-matrix.integration.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-producer-matrix.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-producer-matrix.unit.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-public-surface.test-d.d.ts +2 -0
- package/dist/__tests__/visibility-public-surface.test-d.d.ts.map +1 -0
- package/dist/__tests__/visibility-resolver.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-resolver.unit.test.d.ts.map +1 -0
- package/dist/__tests__/visibility-snapshot-contract.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-snapshot-contract.unit.test.d.ts.map +1 -0
- package/dist/__tests__/vocabulary.unit.test.d.ts +2 -0
- package/dist/__tests__/vocabulary.unit.test.d.ts.map +1 -0
- package/dist/assets/__tests__/asset-decoders.unit.test.d.ts +2 -0
- package/dist/assets/__tests__/asset-decoders.unit.test.d.ts.map +1 -0
- package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts +2 -0
- package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts.map +1 -0
- package/dist/assets/__tests__/render-asset-port.unit.test.d.ts +2 -0
- package/dist/assets/__tests__/render-asset-port.unit.test.d.ts.map +1 -0
- package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts +2 -0
- package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts.map +1 -0
- package/dist/assets/asset-decoders.d.ts +5 -0
- package/dist/assets/asset-decoders.d.ts.map +1 -0
- package/dist/assets/render-asset-port.d.ts +17 -0
- package/dist/assets/render-asset-port.d.ts.map +1 -0
- package/dist/assets/resolve-render-asset.d.ts +6 -0
- package/dist/assets/resolve-render-asset.d.ts.map +1 -0
- package/dist/authoring.d.ts +12 -0
- package/dist/authoring.d.ts.map +1 -0
- package/dist/authoring.mjs +5 -0
- package/dist/authoring.mjs.map +1 -0
- package/dist/chunk-33UF5SAO.mjs +7397 -0
- package/dist/chunk-33UF5SAO.mjs.map +1 -0
- package/dist/chunk-A5QCJSNL.mjs +29913 -0
- package/dist/chunk-A5QCJSNL.mjs.map +1 -0
- package/dist/chunk-JMSB7AR4.mjs +3 -0
- package/dist/chunk-JMSB7AR4.mjs.map +1 -0
- package/dist/chunk-LXNGO6AO.mjs +569 -0
- package/dist/chunk-LXNGO6AO.mjs.map +1 -0
- package/dist/chunk-QRXPSX4X.mjs +659 -0
- package/dist/chunk-QRXPSX4X.mjs.map +1 -0
- package/dist/chunk-YAKEQPWO.mjs +1439 -0
- package/dist/chunk-YAKEQPWO.mjs.map +1 -0
- package/dist/cluster-binner.d.ts +152 -0
- package/dist/cluster-binner.d.ts.map +1 -0
- package/dist/components/__tests__/atmosphere-red.test.d.ts +2 -0
- package/dist/components/__tests__/atmosphere-red.test.d.ts.map +1 -0
- package/dist/components/__tests__/atmosphere.test.d.ts +2 -0
- package/dist/components/__tests__/atmosphere.test.d.ts.map +1 -0
- package/dist/components/__tests__/fog.test-d.d.ts +2 -0
- package/dist/components/__tests__/fog.test-d.d.ts.map +1 -0
- package/dist/components/__tests__/fog.test.d.ts +2 -0
- package/dist/components/__tests__/fog.test.d.ts.map +1 -0
- package/dist/components/__tests__/schema-parity.unit.test.d.ts +2 -0
- package/dist/components/__tests__/schema-parity.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/visibility-schema.unit.test.d.ts +2 -0
- package/dist/components/__tests__/visibility-schema.unit.test.d.ts.map +1 -0
- package/dist/components/atmosphere.d.ts +18 -0
- package/dist/components/atmosphere.d.ts.map +1 -0
- package/dist/components/camera.d.ts +311 -0
- package/dist/components/camera.d.ts.map +1 -0
- package/dist/components/directional-light.d.ts +76 -0
- package/dist/components/directional-light.d.ts.map +1 -0
- package/dist/components/environment.d.ts +116 -0
- package/dist/components/environment.d.ts.map +1 -0
- package/dist/components/glyph-text.d.ts +26 -0
- package/dist/components/glyph-text.d.ts.map +1 -0
- package/dist/components/index.d.ts +22 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/instances.d.ts +41 -0
- package/dist/components/instances.d.ts.map +1 -0
- package/dist/components/layer.d.ts +34 -0
- package/dist/components/layer.d.ts.map +1 -0
- package/dist/components/light-helpers.d.ts +53 -0
- package/dist/components/light-helpers.d.ts.map +1 -0
- package/dist/components/mesh-filter.d.ts +24 -0
- package/dist/components/mesh-filter.d.ts.map +1 -0
- package/dist/components/mesh-renderer.d.ts +33 -0
- package/dist/components/mesh-renderer.d.ts.map +1 -0
- package/dist/components/point-light-shadow.d.ts +27 -0
- package/dist/components/point-light-shadow.d.ts.map +1 -0
- package/dist/components/point-light.d.ts +35 -0
- package/dist/components/point-light.d.ts.map +1 -0
- package/dist/components/post-process-params.d.ts +5 -0
- package/dist/components/post-process-params.d.ts.map +1 -0
- package/dist/components/scene-instance.d.ts +140 -0
- package/dist/components/scene-instance.d.ts.map +1 -0
- package/dist/components/sort-key.d.ts +44 -0
- package/dist/components/sort-key.d.ts.map +1 -0
- package/dist/components/spot-light.d.ts +81 -0
- package/dist/components/spot-light.d.ts.map +1 -0
- package/dist/components/sprite-animation.d.ts +75 -0
- package/dist/components/sprite-animation.d.ts.map +1 -0
- package/dist/components/sprite-instances.d.ts +51 -0
- package/dist/components/sprite-instances.d.ts.map +1 -0
- package/dist/components/sprite-playback-mode.d.ts +37 -0
- package/dist/components/sprite-playback-mode.d.ts.map +1 -0
- package/dist/components/sprite-region-override.d.ts +47 -0
- package/dist/components/sprite-region-override.d.ts.map +1 -0
- package/dist/components/tile-layer.d.ts +101 -0
- package/dist/components/tile-layer.d.ts.map +1 -0
- package/dist/components/tilemap.d.ts +25 -0
- package/dist/components/tilemap.d.ts.map +1 -0
- package/dist/components/visibility.d.ts +22 -0
- package/dist/components/visibility.d.ts.map +1 -0
- package/dist/construct-renderer.d.ts +2 -0
- package/dist/construct-renderer.d.ts.map +1 -0
- package/dist/construct-renderer.mjs +6 -0
- package/dist/construct-renderer.mjs.map +1 -0
- package/dist/debug-draw-glue.d.ts +56 -0
- package/dist/debug-draw-glue.d.ts.map +1 -0
- package/dist/deferred-lighting.d.ts +13 -0
- package/dist/deferred-lighting.d.ts.map +1 -0
- package/dist/dynamic-texture-store.d.ts +42 -0
- package/dist/dynamic-texture-store.d.ts.map +1 -0
- package/dist/engine-metrics.d.ts +23 -0
- package/dist/engine-metrics.d.ts.map +1 -0
- package/dist/environment/__tests__/failure-injection.test.d.ts +2 -0
- package/dist/environment/__tests__/failure-injection.test.d.ts.map +1 -0
- package/dist/environment/__tests__/generation-red.test.d.ts +2 -0
- package/dist/environment/__tests__/generation-red.test.d.ts.map +1 -0
- package/dist/environment/__tests__/generation.test.d.ts +2 -0
- package/dist/environment/__tests__/generation.test.d.ts.map +1 -0
- package/dist/environment/__tests__/graph-transaction.test.d.ts +2 -0
- package/dist/environment/__tests__/graph-transaction.test.d.ts.map +1 -0
- package/dist/environment/__tests__/inspection-red.test.d.ts +2 -0
- package/dist/environment/__tests__/inspection-red.test.d.ts.map +1 -0
- package/dist/environment/__tests__/lifecycle-evidence.test.d.ts +2 -0
- package/dist/environment/__tests__/lifecycle-evidence.test.d.ts.map +1 -0
- package/dist/environment/__tests__/pipeline-topology.test.d.ts +2 -0
- package/dist/environment/__tests__/pipeline-topology.test.d.ts.map +1 -0
- package/dist/environment/__tests__/readiness.test.d.ts +2 -0
- package/dist/environment/__tests__/readiness.test.d.ts.map +1 -0
- package/dist/environment/__tests__/recovery.test.d.ts +2 -0
- package/dist/environment/__tests__/recovery.test.d.ts.map +1 -0
- package/dist/environment/__tests__/resize-dispose.test.d.ts +2 -0
- package/dist/environment/__tests__/resize-dispose.test.d.ts.map +1 -0
- package/dist/environment/__tests__/signature-red.test.d.ts +2 -0
- package/dist/environment/__tests__/signature-red.test.d.ts.map +1 -0
- package/dist/environment/__tests__/signature.test.d.ts +2 -0
- package/dist/environment/__tests__/signature.test.d.ts.map +1 -0
- package/dist/environment/descriptors.d.ts +2 -0
- package/dist/environment/descriptors.d.ts.map +1 -0
- package/dist/environment/extracted-environment.d.ts +53 -0
- package/dist/environment/extracted-environment.d.ts.map +1 -0
- package/dist/environment/generation.d.ts +62 -0
- package/dist/environment/generation.d.ts.map +1 -0
- package/dist/environment/gpu-bundle.d.ts +23 -0
- package/dist/environment/gpu-bundle.d.ts.map +1 -0
- package/dist/environment/graph.d.ts +108 -0
- package/dist/environment/graph.d.ts.map +1 -0
- package/dist/environment/inspection.d.ts +48 -0
- package/dist/environment/inspection.d.ts.map +1 -0
- package/dist/environment/lifecycle.d.ts +22 -0
- package/dist/environment/lifecycle.d.ts.map +1 -0
- package/dist/environment/readiness.d.ts +29 -0
- package/dist/environment/readiness.d.ts.map +1 -0
- package/dist/environment/signature.d.ts +70 -0
- package/dist/environment/signature.d.ts.map +1 -0
- package/dist/errors/ecs-validation.d.ts +3 -0
- package/dist/errors/ecs-validation.d.ts.map +1 -0
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/recover.d.ts +78 -0
- package/dist/errors/recover.d.ts.map +1 -0
- package/dist/errors/render.d.ts +633 -0
- package/dist/errors/render.d.ts.map +1 -0
- package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts +2 -0
- package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts.map +1 -0
- package/dist/extract/__tests__/environment-source.test.d.ts +2 -0
- package/dist/extract/__tests__/environment-source.test.d.ts.map +1 -0
- package/dist/extract/__tests__/schema-readers.unit.test.d.ts +2 -0
- package/dist/extract/__tests__/schema-readers.unit.test.d.ts.map +1 -0
- package/dist/extract/directional-csm.d.ts +129 -0
- package/dist/extract/directional-csm.d.ts.map +1 -0
- package/dist/extract/index.d.ts +5 -0
- package/dist/extract/index.d.ts.map +1 -0
- package/dist/extract/material-interface.d.ts +56 -0
- package/dist/extract/material-interface.d.ts.map +1 -0
- package/dist/extract/schema-readers.d.ts +20 -0
- package/dist/extract/schema-readers.d.ts.map +1 -0
- package/dist/extract/visibility.d.ts +26 -0
- package/dist/extract/visibility.d.ts.map +1 -0
- package/dist/features/graph-contribution.d.ts +64 -0
- package/dist/features/graph-contribution.d.ts.map +1 -0
- package/dist/features/host.d.ts +100 -0
- package/dist/features/host.d.ts.map +1 -0
- package/dist/features/index.d.ts +21 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/morph/index.d.ts +3 -0
- package/dist/features/morph/index.d.ts.map +1 -0
- package/dist/features/morph/morph-bounds.d.ts +42 -0
- package/dist/features/morph/morph-bounds.d.ts.map +1 -0
- package/dist/features/morph/morph-feature.d.ts +45 -0
- package/dist/features/morph/morph-feature.d.ts.map +1 -0
- package/dist/features/prepared-gpu-work.d.ts +113 -0
- package/dist/features/prepared-gpu-work.d.ts.map +1 -0
- package/dist/features/prepared-graphics-store.d.ts +65 -0
- package/dist/features/prepared-graphics-store.d.ts.map +1 -0
- package/dist/features/prepared-graphics.d.ts +225 -0
- package/dist/features/prepared-graphics.d.ts.map +1 -0
- package/dist/features/render-graph-compute.d.ts +13 -0
- package/dist/features/render-graph-compute.d.ts.map +1 -0
- package/dist/features/render-graph-contribution.d.ts +15 -0
- package/dist/features/render-graph-contribution.d.ts.map +1 -0
- package/dist/features/render-graph-raster.d.ts +34 -0
- package/dist/features/render-graph-raster.d.ts.map +1 -0
- package/dist/features/render-graph-resources.d.ts +11 -0
- package/dist/features/render-graph-resources.d.ts.map +1 -0
- package/dist/features/scene-temporal.d.ts +45 -0
- package/dist/features/scene-temporal.d.ts.map +1 -0
- package/dist/features/taa-resolve.d.ts +21 -0
- package/dist/features/taa-resolve.d.ts.map +1 -0
- package/dist/features/targets.d.ts +32 -0
- package/dist/features/targets.d.ts.map +1 -0
- package/dist/features/types.d.ts +247 -0
- package/dist/features/types.d.ts.map +1 -0
- package/dist/frame-chain.d.ts +14 -0
- package/dist/frame-chain.d.ts.map +1 -0
- package/dist/fullscreen-post-process-pass.d.ts +178 -0
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -0
- package/dist/glyph-text-layout-system.d.ts +18 -0
- package/dist/glyph-text-layout-system.d.ts.map +1 -0
- package/dist/gpu-driven/batch-topology.d.ts +124 -0
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -0
- package/dist/gpu-driven/production-raster.d.ts +150 -0
- package/dist/gpu-driven/production-raster.d.ts.map +1 -0
- package/dist/gpu-driven/view-gpu.d.ts +141 -0
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -0
- package/dist/gpu-driven/view-reference.d.ts +15 -0
- package/dist/gpu-driven/view-reference.d.ts.map +1 -0
- package/dist/gpu-resource-store.d.ts +294 -0
- package/dist/gpu-resource-store.d.ts.map +1 -0
- package/dist/gpu-resource.d.ts +73 -0
- package/dist/gpu-resource.d.ts.map +1 -0
- package/dist/gpu-scene-schema.d.ts +171 -0
- package/dist/gpu-scene-schema.d.ts.map +1 -0
- package/dist/gpu-scene.d.ts +81 -0
- package/dist/gpu-scene.d.ts.map +1 -0
- package/dist/gpu-stage.d.ts +4 -0
- package/dist/gpu-stage.d.ts.map +1 -0
- package/dist/gpu-texture-usage.d.ts +6 -0
- package/dist/gpu-texture-usage.d.ts.map +1 -0
- package/dist/gpu-usage.d.ts +9 -0
- package/dist/gpu-usage.d.ts.map +1 -0
- package/dist/hdrp-buffers.d.ts +213 -0
- package/dist/hdrp-buffers.d.ts.map +1 -0
- package/dist/hdrp-cluster-membership.d.ts +2 -0
- package/dist/hdrp-cluster-membership.d.ts.map +1 -0
- package/dist/hdrp-pipeline.d.ts +36 -0
- package/dist/hdrp-pipeline.d.ts.map +1 -0
- package/dist/ibl/IblPipelineCache.d.ts +274 -0
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -0
- package/dist/ibl/cubemap-projection.d.ts +23 -0
- package/dist/ibl/cubemap-projection.d.ts.map +1 -0
- package/dist/ibl/face-uniforms.d.ts +65 -0
- package/dist/ibl/face-uniforms.d.ts.map +1 -0
- package/dist/ibl/skylight-bind-group.d.ts +130 -0
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +5 -0
- package/dist/index.mjs.map +1 -0
- package/dist/instance-buffer-cache.d.ts +59 -0
- package/dist/instance-buffer-cache.d.ts.map +1 -0
- package/dist/internal.d.ts +74 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.mjs +45 -0
- package/dist/internal.mjs.map +1 -0
- package/dist/lifecycle.d.ts +28 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/light-buffer-layout.d.ts +164 -0
- package/dist/light-buffer-layout.d.ts.map +1 -0
- package/dist/materials.d.ts +50 -0
- package/dist/materials.d.ts.map +1 -0
- package/dist/mesh-material-bindings.d.ts +44 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -0
- package/dist/mesh-update-errors.d.ts +71 -0
- package/dist/mesh-update-errors.d.ts.map +1 -0
- package/dist/mipmap-generator.d.ts +39 -0
- package/dist/mipmap-generator.d.ts.map +1 -0
- package/dist/param-schema-projection-census.d.ts +18 -0
- package/dist/param-schema-projection-census.d.ts.map +1 -0
- package/dist/pbr-pipeline.d.ts +253 -0
- package/dist/pbr-pipeline.d.ts.map +1 -0
- package/dist/persistent-render-scene.d.ts +158 -0
- package/dist/persistent-render-scene.d.ts.map +1 -0
- package/dist/pipeline/index.d.ts +11 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline-builder.d.ts +122 -0
- package/dist/pipeline-builder.d.ts.map +1 -0
- package/dist/pipeline-errors.d.ts +110 -0
- package/dist/pipeline-errors.d.ts.map +1 -0
- package/dist/pipeline-spec.d.ts +506 -0
- package/dist/pipeline-spec.d.ts.map +1 -0
- package/dist/plugin.d.ts +17 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/post-process-errors.d.ts +182 -0
- package/dist/post-process-errors.d.ts.map +1 -0
- package/dist/prepare/__tests__/schema-readers.unit.test.d.ts +2 -0
- package/dist/prepare/__tests__/schema-readers.unit.test.d.ts.map +1 -0
- package/dist/prepare/index.d.ts +4 -0
- package/dist/prepare/index.d.ts.map +1 -0
- package/dist/prepare/prepared-graphics-resolver.d.ts +62 -0
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -0
- package/dist/prepare/schema-readers.d.ts +11 -0
- package/dist/prepare/schema-readers.d.ts.map +1 -0
- package/dist/record/__tests__/environment-record.test.d.ts +2 -0
- package/dist/record/__tests__/environment-record.test.d.ts.map +1 -0
- package/dist/record/__tests__/frame-targets.unit.test.d.ts +2 -0
- package/dist/record/__tests__/frame-targets.unit.test.d.ts.map +1 -0
- package/dist/record/__tests__/material-bg-cache.unit.test.d.ts +2 -0
- package/dist/record/__tests__/material-bg-cache.unit.test.d.ts.map +1 -0
- package/dist/record/__tests__/material-slot-plan.unit.test.d.ts +2 -0
- package/dist/record/__tests__/material-slot-plan.unit.test.d.ts.map +1 -0
- package/dist/record/__tests__/membership-timing.unit.test.d.ts +2 -0
- package/dist/record/__tests__/membership-timing.unit.test.d.ts.map +1 -0
- package/dist/record/__tests__/render-submission.integration.test.d.ts +2 -0
- package/dist/record/__tests__/render-submission.integration.test.d.ts.map +1 -0
- package/dist/record/__tests__/render-submission.perf.test.d.ts +2 -0
- package/dist/record/__tests__/render-submission.perf.test.d.ts.map +1 -0
- package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts +2 -0
- package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts.map +1 -0
- package/dist/record/__tests__/video-texture-view.unit.test.d.ts +2 -0
- package/dist/record/__tests__/video-texture-view.unit.test.d.ts.map +1 -0
- package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts +2 -0
- package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +187 -0
- package/dist/record/frame-lighting.d.ts.map +1 -0
- package/dist/record/frame-observation.d.ts +38 -0
- package/dist/record/frame-observation.d.ts.map +1 -0
- package/dist/record/frame-snapshot.d.ts +429 -0
- package/dist/record/frame-snapshot.d.ts.map +1 -0
- package/dist/record/frame-targets.d.ts +53 -0
- package/dist/record/frame-targets.d.ts.map +1 -0
- package/dist/record/frame.d.ts +59 -0
- package/dist/record/frame.d.ts.map +1 -0
- package/dist/record/helpers.d.ts +101 -0
- package/dist/record/helpers.d.ts.map +1 -0
- package/dist/record/index.d.ts +15 -0
- package/dist/record/index.d.ts.map +1 -0
- package/dist/record/main-pass-geometry.d.ts +20 -0
- package/dist/record/main-pass-geometry.d.ts.map +1 -0
- package/dist/record/main-pass-material.d.ts +173 -0
- package/dist/record/main-pass-material.d.ts.map +1 -0
- package/dist/record/main-pass-skin.d.ts +46 -0
- package/dist/record/main-pass-skin.d.ts.map +1 -0
- package/dist/record/main-pass-sprite-draws.d.ts +18 -0
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -0
- package/dist/record/main-pass-sprite.d.ts +69 -0
- package/dist/record/main-pass-sprite.d.ts.map +1 -0
- package/dist/record/main-pass.d.ts +20 -0
- package/dist/record/main-pass.d.ts.map +1 -0
- package/dist/record/material-payload.d.ts +43 -0
- package/dist/record/material-payload.d.ts.map +1 -0
- package/dist/record/material-slot-plan.d.ts +26 -0
- package/dist/record/material-slot-plan.d.ts.map +1 -0
- package/dist/record/membership-timing.d.ts +232 -0
- package/dist/record/membership-timing.d.ts.map +1 -0
- package/dist/record/mesh-ssbo.d.ts +173 -0
- package/dist/record/mesh-ssbo.d.ts.map +1 -0
- package/dist/record/shadow-caster-uniform.d.ts +8 -0
- package/dist/record/shadow-caster-uniform.d.ts.map +1 -0
- package/dist/record/shadow-pass.d.ts +125 -0
- package/dist/record/shadow-pass.d.ts.map +1 -0
- package/dist/record/shadow-submit-mode.d.ts +66 -0
- package/dist/record/shadow-submit-mode.d.ts.map +1 -0
- package/dist/record/skybox-post-pass.d.ts +33 -0
- package/dist/record/skybox-post-pass.d.ts.map +1 -0
- package/dist/record/typed-frame-graph.d.ts +13 -0
- package/dist/record/typed-frame-graph.d.ts.map +1 -0
- package/dist/record/view-ubo.d.ts +39 -0
- package/dist/record/view-ubo.d.ts.map +1 -0
- package/dist/render-data.d.ts +143 -0
- package/dist/render-data.d.ts.map +1 -0
- package/dist/render-dispatch-membership.d.ts +47 -0
- package/dist/render-dispatch-membership.d.ts.map +1 -0
- package/dist/render-graph-primitives.d.ts +424 -0
- package/dist/render-graph-primitives.d.ts.map +1 -0
- package/dist/render-pipeline-context.d.ts +289 -0
- package/dist/render-pipeline-context.d.ts.map +1 -0
- package/dist/render-pipeline-target.d.ts +16 -0
- package/dist/render-pipeline-target.d.ts.map +1 -0
- package/dist/render-pipeline.d.ts +149 -0
- package/dist/render-pipeline.d.ts.map +1 -0
- package/dist/render-scene-projection.d.ts +174 -0
- package/dist/render-scene-projection.d.ts.map +1 -0
- package/dist/render-system-extract.d.ts +1096 -0
- package/dist/render-system-extract.d.ts.map +1 -0
- package/dist/render-system-fold.d.ts +266 -0
- package/dist/render-system-fold.d.ts.map +1 -0
- package/dist/render-system.d.ts +814 -0
- package/dist/render-system.d.ts.map +1 -0
- package/dist/renderer/asset-service.d.ts +10 -0
- package/dist/renderer/asset-service.d.ts.map +1 -0
- package/dist/renderer/backend-selection.d.ts +26 -0
- package/dist/renderer/backend-selection.d.ts.map +1 -0
- package/dist/renderer/environment-classify.d.ts +6 -0
- package/dist/renderer/environment-classify.d.ts.map +1 -0
- package/dist/renderer/environment-error.d.ts +13 -0
- package/dist/renderer/environment-error.d.ts.map +1 -0
- package/dist/renderer/material/assembly.d.ts +22 -0
- package/dist/renderer/material/assembly.d.ts.map +1 -0
- package/dist/renderer/material/pipeline-projection.d.ts +91 -0
- package/dist/renderer/material/pipeline-projection.d.ts.map +1 -0
- package/dist/renderer/renderer-factory.d.ts +283 -0
- package/dist/renderer/renderer-factory.d.ts.map +1 -0
- package/dist/renderer.d.ts +771 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/scene-instances/post-spawn-resolve-joints.d.ts +33 -0
- package/dist/scene-instances/post-spawn-resolve-joints.d.ts.map +1 -0
- package/dist/scene-utils/collect-subtree.d.ts +11 -0
- package/dist/scene-utils/collect-subtree.d.ts.map +1 -0
- package/dist/shadow-atlas.d.ts +117 -0
- package/dist/shadow-atlas.d.ts.map +1 -0
- package/dist/ssao-buffers.d.ts +31 -0
- package/dist/ssao-buffers.d.ts.map +1 -0
- package/dist/ssao-config.d.ts +28 -0
- package/dist/ssao-config.d.ts.map +1 -0
- package/dist/ssao-data.d.ts +34 -0
- package/dist/ssao-data.d.ts.map +1 -0
- package/dist/surface-format.d.ts +10 -0
- package/dist/surface-format.d.ts.map +1 -0
- package/dist/systems/active-camera.d.ts +53 -0
- package/dist/systems/active-camera.d.ts.map +1 -0
- package/dist/systems/pass-selector.d.ts +24 -0
- package/dist/systems/pass-selector.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts +51 -0
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -0
- package/dist/systems/transparent-sort-config.d.ts +91 -0
- package/dist/systems/transparent-sort-config.d.ts.map +1 -0
- package/dist/taa-history-store.d.ts +88 -0
- package/dist/taa-history-store.d.ts.map +1 -0
- package/dist/temporal-coverage.d.ts +35 -0
- package/dist/temporal-coverage.d.ts.map +1 -0
- package/dist/temporal-frame-transaction.d.ts +92 -0
- package/dist/temporal-frame-transaction.d.ts.map +1 -0
- package/dist/temporal-inspection.d.ts +57 -0
- package/dist/temporal-inspection.d.ts.map +1 -0
- package/dist/temporal-view.d.ts +43 -0
- package/dist/temporal-view.d.ts.map +1 -0
- package/dist/tilemap/resolve-tileset-runtime.d.ts +23 -0
- package/dist/tilemap/resolve-tileset-runtime.d.ts.map +1 -0
- package/dist/tilemap-chunk-extract-system.d.ts +142 -0
- package/dist/tilemap-chunk-extract-system.d.ts.map +1 -0
- package/dist/typed-render-graph-primitives.d.ts +59 -0
- package/dist/typed-render-graph-primitives.d.ts.map +1 -0
- package/dist/typed-shadow-passes.d.ts +11 -0
- package/dist/typed-shadow-passes.d.ts.map +1 -0
- package/dist/urp-pipeline.d.ts +4 -0
- package/dist/urp-pipeline.d.ts.map +1 -0
- package/package.json +94 -0
- package/src/__tests__/analytic-sky-contract.test.ts +27 -0
- package/src/__tests__/analytic-sky-falsify-carriers.mjs +43 -0
- package/src/__tests__/analytic-sky-falsify.test.ts +94 -0
- package/src/__tests__/assets-runtime-handoff.integration.test.ts +36 -0
- package/src/__tests__/authoring-path.unit.test.ts +14 -0
- package/src/__tests__/backend-selection-rhi-capture.test-d.ts +21 -0
- package/src/__tests__/backend-selection.integration.test.ts +11 -0
- package/src/__tests__/callback-inference.test-d.ts +5 -0
- package/src/__tests__/camera-temporal.test-d.ts +8 -0
- package/src/__tests__/camera-temporal.test.ts +188 -0
- package/src/__tests__/cluster-binner.test.ts +272 -0
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +17 -0
- package/src/__tests__/construct-renderer-identity.unit.test.ts +10 -0
- package/src/__tests__/direct-extract-consumer-contract.test-d.ts +34 -0
- package/src/__tests__/direct-light-snapshot.unit.test.ts +71 -0
- package/src/__tests__/directional-shadow-probe-atlas-layout.unit.test.ts +18 -0
- package/src/__tests__/environment-inspection.test.ts +45 -0
- package/src/__tests__/factory-contract.integration.test.ts +331 -0
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +18 -0
- package/src/__tests__/fog-ai-user.fixture.ts +350 -0
- package/src/__tests__/fog-custom-render-feature.fixture.ts +33 -0
- package/src/__tests__/fog-custom-render-feature.integration.test.ts +76 -0
- package/src/__tests__/fog-inspection.integration.test.ts +127 -0
- package/src/__tests__/fog-owner-state.integration.test.ts +112 -0
- package/src/__tests__/fog-pipeline-topology.integration.test.ts +93 -0
- package/src/__tests__/fog-public-surface.integration.test.ts +60 -0
- package/src/__tests__/fog-ray-contract.integration.test.ts +73 -0
- package/src/__tests__/fog-source-absence.integration.test.ts +51 -0
- package/src/__tests__/fog-temporal.integration.test.ts +115 -0
- package/src/__tests__/frame-chain.unit.test.ts +26 -0
- package/src/__tests__/frame-observation.contract.test.ts +103 -0
- package/src/__tests__/glyph-text-layout-recovery.unit.test.ts +172 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +347 -0
- package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +12 -0
- package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +16 -0
- package/src/__tests__/gpu-driven-production.integration.test.ts +609 -0
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +90 -0
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +192 -0
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +128 -0
- package/src/__tests__/gpu-driven-view.browser.test.ts +19 -0
- package/src/__tests__/gpu-driven-view.dawn.test.ts +17 -0
- package/src/__tests__/gpu-driven-view.unit.test.ts +455 -0
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +59 -0
- package/src/__tests__/gpu-scene-field-type-owner.test-d.ts +27 -0
- package/src/__tests__/gpu-scene-render-graph-gpu.ts +309 -0
- package/src/__tests__/gpu-scene-render-graph.browser.test.ts +19 -0
- package/src/__tests__/gpu-scene-render-graph.dawn.test.ts +19 -0
- package/src/__tests__/gpu-scene-schema.unit.test.ts +16 -0
- package/src/__tests__/gpu-scene.dawn.test.ts +209 -0
- package/src/__tests__/gpu-scene.unit.test.ts +161 -0
- package/src/__tests__/hdrp-pipeline.unit.test.ts +100 -0
- package/src/__tests__/ibl/ibl-fallback.unit.test.ts +23 -0
- package/src/__tests__/infinite-grid-no-vertex-probe.unit.test.ts +124 -0
- package/src/__tests__/injection-kind-owner.test-d.ts +14 -0
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +719 -0
- package/src/__tests__/light-buffer-layout.unit.test.ts +85 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +24 -0
- package/src/__tests__/material-cooked-projection.unit.test.ts +177 -0
- package/src/__tests__/material-derived-error-stop-draw.integration.test.ts +69 -0
- package/src/__tests__/material-derived-payload.integration.test.ts +164 -0
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +58 -0
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +113 -0
- package/src/__tests__/material-stride-surface.unit.test.ts +32 -0
- package/src/__tests__/materials.unit.test.ts +25 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +107 -0
- package/src/__tests__/mesh-material-bindings.unit.test.ts +89 -0
- package/src/__tests__/mesh-stride-surface.unit.test.ts +16 -0
- package/src/__tests__/morph-culling-reentry.dawn.test.ts +166 -0
- package/src/__tests__/morph-feature-gpu-work.integration.test.ts +78 -0
- package/src/__tests__/morph-visual-evidence.integration.test.ts +66 -0
- package/src/__tests__/nineslice-handle-surface.unit.test.ts +14 -0
- package/src/__tests__/param-schema-projection-census.unit.test.ts +40 -0
- package/src/__tests__/persistent-render-scene.unit.test.ts +1311 -0
- package/src/__tests__/pipeline-error-policy-owner.unit.test.ts +167 -0
- package/src/__tests__/pipeline-pass-trace.test.ts +92 -0
- package/src/__tests__/pipeline-stage-owner.test-d.ts +13 -0
- package/src/__tests__/plugin.test.ts +25 -0
- package/src/__tests__/post-process-error-policy-owner.unit.test.ts +208 -0
- package/src/__tests__/prepared-buffer-kind-owner.test-d.ts +29 -0
- package/src/__tests__/prepared-graphics-backend-matrix.unit.test.ts +129 -0
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +140 -0
- package/src/__tests__/prepared-graphics-generation.unit.test.ts +175 -0
- package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +206 -0
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +29 -0
- package/src/__tests__/prepared-graphics-resolver-recording.unit.test.ts +180 -0
- package/src/__tests__/prepared-graphics-resolver.unit.test.ts +287 -0
- package/src/__tests__/prepared-graphics-snapshot.unit.test.ts +105 -0
- package/src/__tests__/prepared-graphics-store.unit.test.ts +154 -0
- package/src/__tests__/prepared-graphics-validation.unit.test.ts +176 -0
- package/src/__tests__/profiler-default-off.test.ts +22 -0
- package/src/__tests__/profiler-phase-catalog.test.ts +66 -0
- package/src/__tests__/profiler-phase-integration.test.ts +70 -0
- package/src/__tests__/profiler-phase-token.test.ts +84 -0
- package/src/__tests__/public-pipeline-id.test-d.ts +6 -0
- package/src/__tests__/public-surface.test-d.ts +32 -0
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +127 -0
- package/src/__tests__/render-dispatch-membership.unit.test.ts +117 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +115 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +234 -0
- package/src/__tests__/render-error-exhaustive.test-d.ts +84 -0
- package/src/__tests__/render-feature-assembly.test-d.ts +51 -0
- package/src/__tests__/render-feature-construction.unit.test.ts +124 -0
- package/src/__tests__/render-feature-context.test-d.ts +81 -0
- package/src/__tests__/render-feature-contract.test-d.ts +58 -0
- package/src/__tests__/render-feature-diagnostics.unit.test.ts +151 -0
- package/src/__tests__/render-feature-docs.unit.test.ts +88 -0
- package/src/__tests__/render-feature-error-code-owner.test-d.ts +27 -0
- package/src/__tests__/render-feature-errors.unit.test.ts +47 -0
- package/src/__tests__/render-feature-gpu-buffer-usage-owner.test-d.ts +46 -0
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +377 -0
- package/src/__tests__/render-feature-graph.integration.test.ts +205 -0
- package/src/__tests__/render-feature-graphics-staging.unit.test.ts +200 -0
- package/src/__tests__/render-feature-order.unit.test.ts +66 -0
- package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +101 -0
- package/src/__tests__/render-feature-prepared-errors.test-d.ts +82 -0
- package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +141 -0
- package/src/__tests__/render-feature-prepared-graphics-isolation.unit.test.ts +122 -0
- package/src/__tests__/render-feature-prepared-graphics-negative.test-d.ts +59 -0
- package/src/__tests__/render-feature-prepared-graphics-recording.unit.test.ts +107 -0
- package/src/__tests__/render-feature-prepared-graphics.test-d.ts +96 -0
- package/src/__tests__/render-feature-prepared-graphics.unit.test.ts +121 -0
- package/src/__tests__/render-feature-public-surface.test-d.ts +75 -0
- package/src/__tests__/render-feature-retry.unit.test.ts +128 -0
- package/src/__tests__/render-feature-scheduling.unit.test.ts +122 -0
- package/src/__tests__/render-feature-stage-failed-policy-owner.unit.test.ts +146 -0
- package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +236 -0
- package/src/__tests__/render-feature-staging.unit.test.ts +94 -0
- package/src/__tests__/render-feature-visibility-context.test-d.ts +38 -0
- package/src/__tests__/render-feature-visibility-context.unit.test.ts +38 -0
- package/src/__tests__/render-feature-zero-work.unit.test.ts +82 -0
- package/src/__tests__/render-graph-compute-raster-gpu.ts +342 -0
- package/src/__tests__/render-graph-compute-raster.browser.test.ts +16 -0
- package/src/__tests__/render-graph-compute-raster.dawn.test.ts +22 -0
- package/src/__tests__/render-graph-hzb-gpu.ts +239 -0
- package/src/__tests__/render-graph-hzb.browser.test.ts +16 -0
- package/src/__tests__/render-graph-hzb.dawn.test.ts +23 -0
- package/src/__tests__/render-graph-primitives.unit.test.ts +22 -0
- package/src/__tests__/render-graph-storage-indirect-gpu.ts +162 -0
- package/src/__tests__/render-graph-storage-indirect.browser.test.ts +21 -0
- package/src/__tests__/render-graph-storage-indirect.dawn.test.ts +28 -0
- package/src/__tests__/render-scene-projection.unit.test.ts +206 -0
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +125 -0
- package/src/__tests__/renderer-lifecycle.integration.test.ts +10 -0
- package/src/__tests__/renderer-render-scene-public.test-d.ts +27 -0
- package/src/__tests__/rhi-backend-package-boundary.unit.test.ts +11 -0
- package/src/__tests__/scene-temporal-coverage.unit.test.ts +259 -0
- package/src/__tests__/scriptable-pack-consumer.test-d.ts +14 -0
- package/src/__tests__/shader-stage-surface.unit.test.ts +38 -0
- package/src/__tests__/ssao-kernel-surface.unit.test.ts +15 -0
- package/src/__tests__/sun-snapshot-consumers.test.ts +35 -0
- package/src/__tests__/surface-backend-kind-owner.test-d.ts +42 -0
- package/src/__tests__/surface-configuration.unit.test.ts +92 -0
- package/src/__tests__/taa-history-store.unit.test.ts +196 -0
- package/src/__tests__/temporal-frame-transaction.integration.test.ts +537 -0
- package/src/__tests__/temporal-inspection.unit.test.ts +138 -0
- package/src/__tests__/texture-usage-surface.unit.test.ts +61 -0
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +389 -0
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +52 -0
- package/src/__tests__/urp-pipeline.unit.test.ts +14 -0
- package/src/__tests__/vertex-color-pipeline.unit.test.ts +124 -0
- package/src/__tests__/vertex-layout-consumer.unit.test.ts +25 -0
- package/src/__tests__/visibility-diagnostics.integration.test.ts +66 -0
- package/src/__tests__/visibility-extract.integration.test.ts +89 -0
- package/src/__tests__/visibility-extract.perf.test.ts +96 -0
- package/src/__tests__/visibility-feature-dedup.integration.test.ts +57 -0
- package/src/__tests__/visibility-hidden-report.unit.test.ts +37 -0
- package/src/__tests__/visibility-instances.integration.test.ts +50 -0
- package/src/__tests__/visibility-multi-world.integration.test.ts +54 -0
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +191 -0
- package/src/__tests__/visibility-producer-matrix.unit.test.ts +96 -0
- package/src/__tests__/visibility-public-surface.test-d.ts +26 -0
- package/src/__tests__/visibility-resolver.unit.test.ts +84 -0
- package/src/__tests__/visibility-snapshot-contract.unit.test.ts +59 -0
- package/src/__tests__/vocabulary.unit.test.ts +21 -0
- package/src/assets/__tests__/asset-decoders.unit.test.ts +92 -0
- package/src/assets/__tests__/mipmap-generator.unit.test.ts +52 -0
- package/src/assets/__tests__/render-asset-port.unit.test.ts +54 -0
- package/src/assets/__tests__/resolve-render-asset.unit.test.ts +47 -0
- package/src/assets/asset-decoders.ts +158 -0
- package/src/assets/render-asset-port.ts +44 -0
- package/src/assets/resolve-render-asset.ts +13 -0
- package/src/authoring.ts +24 -0
- package/src/cluster-binner.ts +700 -0
- package/src/components/__tests__/atmosphere-red.test.ts +51 -0
- package/src/components/__tests__/atmosphere.test.ts +79 -0
- package/src/components/__tests__/fog.test-d.ts +49 -0
- package/src/components/__tests__/fog.test.ts +60 -0
- package/src/components/__tests__/schema-parity.unit.test.ts +25 -0
- package/src/components/__tests__/visibility-schema.unit.test.ts +35 -0
- package/src/components/atmosphere.ts +64 -0
- package/src/components/camera.ts +512 -0
- package/src/components/directional-light.ts +120 -0
- package/src/components/environment.ts +206 -0
- package/src/components/glyph-text.ts +63 -0
- package/src/components/index.ts +49 -0
- package/src/components/instances.ts +207 -0
- package/src/components/layer.ts +69 -0
- package/src/components/light-helpers.ts +188 -0
- package/src/components/mesh-filter.ts +59 -0
- package/src/components/mesh-renderer.ts +61 -0
- package/src/components/point-light-shadow.ts +43 -0
- package/src/components/point-light.ts +65 -0
- package/src/components/post-process-params.ts +35 -0
- package/src/components/scene-instance.ts +193 -0
- package/src/components/sort-key.ts +75 -0
- package/src/components/spot-light.ts +124 -0
- package/src/components/sprite-animation.ts +169 -0
- package/src/components/sprite-instances.ts +179 -0
- package/src/components/sprite-playback-mode.ts +73 -0
- package/src/components/sprite-region-override.ts +106 -0
- package/src/components/tile-layer.ts +161 -0
- package/src/components/tilemap.ts +48 -0
- package/src/components/visibility.ts +53 -0
- package/src/construct-renderer.ts +4 -0
- package/src/debug-draw-glue.ts +169 -0
- package/src/deferred-lighting.ts +92 -0
- package/src/dynamic-texture-store.ts +111 -0
- package/src/engine-metrics.ts +89 -0
- package/src/environment/README.md +76 -0
- package/src/environment/__tests__/failure-injection.test.ts +50 -0
- package/src/environment/__tests__/generation-red.test.ts +64 -0
- package/src/environment/__tests__/generation.test.ts +37 -0
- package/src/environment/__tests__/graph-transaction.test.ts +85 -0
- package/src/environment/__tests__/inspection-red.test.ts +53 -0
- package/src/environment/__tests__/lifecycle-evidence.test.ts +40 -0
- package/src/environment/__tests__/pipeline-topology.test.ts +33 -0
- package/src/environment/__tests__/readiness.test.ts +42 -0
- package/src/environment/__tests__/recovery.test.ts +62 -0
- package/src/environment/__tests__/resize-dispose.test.ts +30 -0
- package/src/environment/__tests__/signature-red.test.ts +45 -0
- package/src/environment/__tests__/signature.test.ts +60 -0
- package/src/environment/descriptors.ts +7 -0
- package/src/environment/extracted-environment.ts +239 -0
- package/src/environment/generation.ts +158 -0
- package/src/environment/gpu-bundle.ts +144 -0
- package/src/environment/graph.ts +588 -0
- package/src/environment/inspection.ts +107 -0
- package/src/environment/lifecycle.ts +124 -0
- package/src/environment/readiness.ts +76 -0
- package/src/environment/signature.ts +185 -0
- package/src/errors/ecs-validation.ts +16 -0
- package/src/errors/index.ts +3 -0
- package/src/errors/recover.ts +119 -0
- package/src/errors/render.ts +1244 -0
- package/src/extract/__tests__/directional-csm-domain.unit.test.ts +391 -0
- package/src/extract/__tests__/environment-source.test.ts +105 -0
- package/src/extract/__tests__/schema-readers.unit.test.ts +16 -0
- package/src/extract/directional-csm.ts +959 -0
- package/src/extract/index.ts +10 -0
- package/src/extract/material-interface.ts +604 -0
- package/src/extract/schema-readers.ts +27 -0
- package/src/extract/visibility.ts +120 -0
- package/src/features/graph-contribution.ts +577 -0
- package/src/features/host.ts +1097 -0
- package/src/features/index.ts +100 -0
- package/src/features/morph/index.ts +24 -0
- package/src/features/morph/morph-bounds.ts +123 -0
- package/src/features/morph/morph-feature.ts +287 -0
- package/src/features/prepared-gpu-work.ts +902 -0
- package/src/features/prepared-graphics-store.ts +435 -0
- package/src/features/prepared-graphics.ts +479 -0
- package/src/features/render-graph-compute.ts +60 -0
- package/src/features/render-graph-contribution.ts +95 -0
- package/src/features/render-graph-raster.ts +308 -0
- package/src/features/render-graph-resources.ts +36 -0
- package/src/features/scene-temporal.ts +274 -0
- package/src/features/taa-resolve.ts +244 -0
- package/src/features/targets.ts +83 -0
- package/src/features/types.ts +291 -0
- package/src/frame-chain.ts +21 -0
- package/src/fullscreen-post-process-pass.ts +406 -0
- package/src/glyph-text-layout-system.ts +447 -0
- package/src/gpu-driven/batch-topology.ts +423 -0
- package/src/gpu-driven/production-raster.ts +1705 -0
- package/src/gpu-driven/view-gpu.ts +849 -0
- package/src/gpu-driven/view-reference.ts +110 -0
- package/src/gpu-resource-store.ts +1921 -0
- package/src/gpu-resource.ts +159 -0
- package/src/gpu-scene-schema.ts +224 -0
- package/src/gpu-scene.ts +855 -0
- package/src/gpu-stage.ts +9 -0
- package/src/gpu-texture-usage.ts +12 -0
- package/src/gpu-usage.ts +14 -0
- package/src/hdrp-buffers.ts +689 -0
- package/src/hdrp-cluster-membership.ts +70 -0
- package/src/hdrp-pipeline.ts +525 -0
- package/src/ibl/IblPipelineCache.ts +1246 -0
- package/src/ibl/cubemap-projection.ts +60 -0
- package/src/ibl/face-uniforms.ts +150 -0
- package/src/ibl/skylight-bind-group.ts +513 -0
- package/src/index.ts +271 -0
- package/src/instance-buffer-cache.ts +123 -0
- package/src/internal.ts +88 -0
- package/src/lifecycle.ts +123 -0
- package/src/light-buffer-layout.ts +346 -0
- package/src/materials.ts +236 -0
- package/src/mesh-material-bindings.ts +104 -0
- package/src/mesh-update-errors.ts +113 -0
- package/src/mipmap-generator.ts +244 -0
- package/src/param-schema-projection-census.ts +73 -0
- package/src/pbr-pipeline.ts +749 -0
- package/src/persistent-render-scene.ts +1752 -0
- package/src/pipeline/index.ts +40 -0
- package/src/pipeline-builder.ts +386 -0
- package/src/pipeline-errors.ts +172 -0
- package/src/pipeline-spec.ts +1768 -0
- package/src/plugin.ts +137 -0
- package/src/post-process-errors.ts +304 -0
- package/src/prepare/__tests__/schema-readers.unit.test.ts +16 -0
- package/src/prepare/index.ts +8 -0
- package/src/prepare/prepared-graphics-resolver.ts +455 -0
- package/src/prepare/schema-readers.ts +20 -0
- package/src/record/__tests__/environment-record.test.ts +35 -0
- package/src/record/__tests__/frame-targets.unit.test.ts +54 -0
- package/src/record/__tests__/material-bg-cache.unit.test.ts +41 -0
- package/src/record/__tests__/material-slot-plan.unit.test.ts +76 -0
- package/src/record/__tests__/membership-timing.unit.test.ts +524 -0
- package/src/record/__tests__/render-submission.integration.test.ts +76 -0
- package/src/record/__tests__/render-submission.perf.test.ts +141 -0
- package/src/record/__tests__/shadow-submit-mode.unit.test.ts +88 -0
- package/src/record/__tests__/video-texture-view.unit.test.ts +90 -0
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +101 -0
- package/src/record/frame-lighting.ts +1183 -0
- package/src/record/frame-observation.ts +122 -0
- package/src/record/frame-snapshot.ts +515 -0
- package/src/record/frame-targets.ts +372 -0
- package/src/record/frame.ts +1874 -0
- package/src/record/helpers.ts +289 -0
- package/src/record/index.ts +15 -0
- package/src/record/main-pass-geometry.ts +1014 -0
- package/src/record/main-pass-material.ts +716 -0
- package/src/record/main-pass-skin.ts +51 -0
- package/src/record/main-pass-sprite-draws.ts +1056 -0
- package/src/record/main-pass-sprite.ts +166 -0
- package/src/record/main-pass.ts +588 -0
- package/src/record/material-payload.ts +292 -0
- package/src/record/material-slot-plan.ts +68 -0
- package/src/record/membership-timing.ts +1012 -0
- package/src/record/mesh-ssbo.ts +406 -0
- package/src/record/shadow-caster-uniform.ts +37 -0
- package/src/record/shadow-pass.ts +2387 -0
- package/src/record/shadow-submit-mode.ts +277 -0
- package/src/record/skybox-post-pass.ts +594 -0
- package/src/record/typed-frame-graph.ts +499 -0
- package/src/record/view-ubo.ts +206 -0
- package/src/render-data.ts +385 -0
- package/src/render-dispatch-membership.ts +155 -0
- package/src/render-graph-primitives.ts +1586 -0
- package/src/render-pipeline-context.ts +332 -0
- package/src/render-pipeline-target.ts +96 -0
- package/src/render-pipeline.ts +343 -0
- package/src/render-scene-projection.ts +1738 -0
- package/src/render-system-extract.ts +5203 -0
- package/src/render-system-fold.ts +531 -0
- package/src/render-system.ts +3258 -0
- package/src/renderer/asset-service.ts +32 -0
- package/src/renderer/backend-selection.ts +121 -0
- package/src/renderer/environment-classify.ts +30 -0
- package/src/renderer/environment-error.ts +19 -0
- package/src/renderer/material/assembly.ts +53 -0
- package/src/renderer/material/pipeline-projection.ts +140 -0
- package/src/renderer/renderer-factory.ts +9062 -0
- package/src/renderer.ts +940 -0
- package/src/scene-instances/post-spawn-resolve-joints.ts +168 -0
- package/src/scene-utils/collect-subtree.ts +40 -0
- package/src/shadow-atlas.ts +244 -0
- package/src/ssao-buffers.ts +175 -0
- package/src/ssao-config.ts +61 -0
- package/src/ssao-data.ts +106 -0
- package/src/surface-format.ts +37 -0
- package/src/systems/active-camera.ts +116 -0
- package/src/systems/pass-selector.ts +49 -0
- package/src/systems/skin-palette-allocator.ts +294 -0
- package/src/systems/transparent-sort-config.ts +211 -0
- package/src/taa-history-store.ts +429 -0
- package/src/temporal-coverage.ts +106 -0
- package/src/temporal-frame-transaction.ts +301 -0
- package/src/temporal-inspection.ts +194 -0
- package/src/temporal-view.ts +174 -0
- package/src/tilemap/resolve-tileset-runtime.ts +72 -0
- package/src/tilemap-chunk-extract-system.ts +1307 -0
- package/src/typed-render-graph-primitives.ts +530 -0
- package/src/typed-shadow-passes.ts +195 -0
- package/src/urp-pipeline.ts +340 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Closed union of render-pipeline error codes.
|
|
3
|
+
*
|
|
4
|
+
* AI users perform exhaustive `switch (err.code)` without a default and TS guards
|
|
5
|
+
* completeness (AC-05).
|
|
6
|
+
*
|
|
7
|
+
* | code | channel | trigger |
|
|
8
|
+
* |:--|:--|:--|
|
|
9
|
+
* | `'pipeline-already-registered'` | throw | a second `registerPipeline(id, impl)` under an already-registered `id` |
|
|
10
|
+
* | `'pipeline-not-found'` | `Result.err` | `installPipeline(handle)` where the handle resolves to no registered pipeline |
|
|
11
|
+
*/
|
|
12
|
+
export type PipelineErrorCode = keyof typeof PIPELINE_POLICY;
|
|
13
|
+
/**
|
|
14
|
+
* Detail for `'pipeline-already-registered'`: the pipeline id that was already taken.
|
|
15
|
+
* AI consumers read `.detail.id` by property access (charter P4), no message parsing.
|
|
16
|
+
*/
|
|
17
|
+
export interface PipelinePreviouslyRegisteredDetail {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Detail for `'pipeline-not-found'`: the raw u32 handle value that resolved to no
|
|
22
|
+
* registered pipeline. Read via `.detail.handle` after the code guard.
|
|
23
|
+
*/
|
|
24
|
+
export interface PipelineNotFoundDetail {
|
|
25
|
+
readonly handle: number;
|
|
26
|
+
}
|
|
27
|
+
export interface VertexColorVariantConflictDetail {
|
|
28
|
+
readonly authored: boolean;
|
|
29
|
+
readonly authoredValue: string;
|
|
30
|
+
readonly projected: boolean;
|
|
31
|
+
readonly variantSet: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Conditional resolver from `PipelineErrorCode` to its detail payload type. Used by the
|
|
35
|
+
* constructor signature so `new PipelineError({ code: 'X', detail })` narrows the
|
|
36
|
+
* `detail` parameter to the variant payload at compile time.
|
|
37
|
+
*/
|
|
38
|
+
export type PipelineErrorDetailFor<C extends PipelineErrorCode> = C extends 'pipeline-already-registered' ? PipelinePreviouslyRegisteredDetail : C extends 'pipeline-not-found' ? PipelineNotFoundDetail : C extends 'vertex-color-variant-conflict' ? VertexColorVariantConflictDetail : never;
|
|
39
|
+
/**
|
|
40
|
+
* Tagged union of `.detail` payloads. The variants are unique by structural fields
|
|
41
|
+
* (`{ id }` vs `{ handle }`).
|
|
42
|
+
*/
|
|
43
|
+
export type PipelineErrorDetail = PipelineErrorDetailFor<PipelineErrorCode>;
|
|
44
|
+
declare const PIPELINE_POLICY: {
|
|
45
|
+
'pipeline-already-registered': {
|
|
46
|
+
expected: string;
|
|
47
|
+
hint: (detail: unknown) => string;
|
|
48
|
+
};
|
|
49
|
+
'pipeline-not-found': {
|
|
50
|
+
expected: string;
|
|
51
|
+
hint: (detail: unknown) => string;
|
|
52
|
+
};
|
|
53
|
+
'vertex-color-variant-conflict': {
|
|
54
|
+
expected: string;
|
|
55
|
+
hint: (detail: unknown) => string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
declare class PipelineErrorClass extends Error {
|
|
59
|
+
readonly code: PipelineErrorCode;
|
|
60
|
+
readonly expected: string;
|
|
61
|
+
readonly hint: string;
|
|
62
|
+
readonly detail: PipelineErrorDetail;
|
|
63
|
+
constructor(args: {
|
|
64
|
+
code: PipelineErrorCode;
|
|
65
|
+
detail: PipelineErrorDetail;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Variant intersection: a `PipelineErrorClass` instance whose `code` literal narrows to
|
|
70
|
+
* `C` and whose `detail` narrows to `PipelineErrorDetailFor<C>`, so `if (err.code === 'X')`
|
|
71
|
+
* simultaneously narrows `err.detail` (charter P3 + P4 discriminated union).
|
|
72
|
+
*/
|
|
73
|
+
type PipelineErrorVariant<C extends PipelineErrorCode> = PipelineErrorClass & {
|
|
74
|
+
readonly code: C;
|
|
75
|
+
readonly detail: PipelineErrorDetailFor<C>;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Public PipelineError type - discriminated union of the 2 variants.
|
|
79
|
+
*
|
|
80
|
+
* ```ts
|
|
81
|
+
* function recover(err: PipelineError): string {
|
|
82
|
+
* switch (err.code) {
|
|
83
|
+
* case 'pipeline-already-registered': return `id taken: ${err.detail.id}`;
|
|
84
|
+
* case 'pipeline-not-found': return `bad handle: ${err.detail.handle}`;
|
|
85
|
+
* }
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export type PipelineError = {
|
|
90
|
+
[C in PipelineErrorCode]: PipelineErrorVariant<C>;
|
|
91
|
+
}[PipelineErrorCode];
|
|
92
|
+
interface PipelineErrorConstructor {
|
|
93
|
+
new <C extends PipelineErrorCode>(args: {
|
|
94
|
+
code: C;
|
|
95
|
+
detail: PipelineErrorDetailFor<C>;
|
|
96
|
+
}): PipelineErrorVariant<C>;
|
|
97
|
+
readonly prototype: PipelineErrorClass;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* PipelineError constructor - `new PipelineError({ code, detail })`.
|
|
101
|
+
*
|
|
102
|
+
* The generic `C` is inferred from the literal `code` argument, which narrows `detail` to
|
|
103
|
+
* the per-code payload (`PipelineErrorDetailFor<C>`) and narrows the return type to the
|
|
104
|
+
* corresponding `PipelineErrorVariant<C>` so the call site walks the discriminated union
|
|
105
|
+
* without manual cast (AppError pattern; TS class declarations cannot directly express
|
|
106
|
+
* `<C> ... PipelineErrorVariant<C>` polymorphism, hence the typed-cast affordance).
|
|
107
|
+
*/
|
|
108
|
+
export declare const PipelineError: PipelineErrorConstructor;
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=pipeline-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-errors.d.ts","sourceRoot":"","sources":["../src/pipeline-errors.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,eAAe,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,IAC5D,CAAC,SAAS,6BAA6B,GACnC,kCAAkC,GAClC,CAAC,SAAS,oBAAoB,GAC5B,sBAAsB,GACtB,CAAC,SAAS,+BAA+B,GACvC,gCAAgC,GAChC,KAAK,CAAC;AAEhB;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;AAE5E,QAAA,MAAM,eAAe;;;;;;;;;;;;;CA4BpB,CAAC;AAEF,cAAM,kBAAmB,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;gBAEzB,IAAI,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE;CAU3E;AAED;;;;GAIG;AACH,KAAK,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,IAAI,kBAAkB,GAAG;IAC5E,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAClD,CAAC,iBAAiB,CAAC,CAAC;AAErB,UAAU,wBAAwB;IAChC,KAAK,CAAC,SAAS,iBAAiB,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;KACnC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,wBAC+B,CAAC"}
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
import { type VertexLayoutProjection } from '@forgeax/engine-geometry';
|
|
2
|
+
import { type RegisteredMaterialShaderEntry, type ShaderRegistry } from '@forgeax/engine-shader';
|
|
3
|
+
import { type BindGroupLayoutEntry, KNOWN_PASS_KINDS, type MaterialRenderState, type ParamSchemaEntry, type PrimitiveTopology, type VertexAttributeMap } from '@forgeax/engine-types';
|
|
4
|
+
import { type PbrCaps } from './pbr-pipeline';
|
|
5
|
+
export { KNOWN_PASS_KINDS };
|
|
6
|
+
/**
|
|
7
|
+
* The engine-owned deferred material target layout. `fs_gbuffer` returns
|
|
8
|
+
* normal+roughness, albedo+metallic, and emissive+AO in this order.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DEFERRED_COLOR_FORMATS: readonly GPUTextureFormat[];
|
|
11
|
+
/** Derive the color attachment shape for a material pass kind. */
|
|
12
|
+
export declare function colorFormatsForPassKind(passKind: string, defaultColorFormat: GPUTextureFormat): readonly GPUTextureFormat[];
|
|
13
|
+
/**
|
|
14
|
+
* Pipeline specification — immutable 4-axis data that completely determines
|
|
15
|
+
* what `device.createRenderPipeline(...)` does for a material shader pass.
|
|
16
|
+
*
|
|
17
|
+
* The 4 axes are:
|
|
18
|
+
* - `shader`: which WGSL source + material param schema + pass kind + variant set
|
|
19
|
+
* - `attachments`: color/depth/stencil formats + sample count (MSAA)
|
|
20
|
+
* - `geometry`: primitive topology + vertex attribute layout + index format
|
|
21
|
+
* - `renderState`: optional per-material render-state overrides (blend/cull/depth/stencil)
|
|
22
|
+
*
|
|
23
|
+
* Business-agnostic: no `'pbr'` / `'sprite'` / `'skybox'` strings pollute this
|
|
24
|
+
* type. BGL shape taxonomy is derived from `ShaderRegistry` internal reflection
|
|
25
|
+
* and never appears on the spec surface (plan-strategy D-7).
|
|
26
|
+
*
|
|
27
|
+
* @see plan-strategy §1 (4-axis) · D-7 (business-agnostic) · requirements §3.1
|
|
28
|
+
*/
|
|
29
|
+
export interface PipelineSpec {
|
|
30
|
+
/** Shader identity + routing axis. */
|
|
31
|
+
readonly shader: {
|
|
32
|
+
/** Registered shader identifier (e.g. `'forgeax::default-standard-pbr'`). */
|
|
33
|
+
readonly id: string;
|
|
34
|
+
/** Pass kind for attachment shape selection. Must be in {@link KNOWN_PASS_KINDS} or registered. */
|
|
35
|
+
readonly passKind: string;
|
|
36
|
+
/** Shader variant set string (e.g. `'SKIN_AVAILABLE=1'`). `undefined` for no variant. */
|
|
37
|
+
readonly variantSet: string | undefined;
|
|
38
|
+
/** Fragment entry point; omitted means the shader's standard `fs_main`. */
|
|
39
|
+
readonly fragmentEntry?: string | undefined;
|
|
40
|
+
};
|
|
41
|
+
/** Attachment format + sample-count axis. */
|
|
42
|
+
readonly attachments: {
|
|
43
|
+
/** Colour attachment formats in draw order. Empty for depth-only passes (shadow-caster). */
|
|
44
|
+
readonly colorFormats: readonly GPUTextureFormat[];
|
|
45
|
+
/** Depth-stencil format, or `undefined` when no depth target is bound. */
|
|
46
|
+
readonly depthFormat: GPUTextureFormat | undefined;
|
|
47
|
+
/** Sample count: 1 (no MSAA) or 4 (4x MSAA). */
|
|
48
|
+
readonly sampleCount: 1 | 4;
|
|
49
|
+
};
|
|
50
|
+
/** Geometry layout axis. */
|
|
51
|
+
readonly geometry: {
|
|
52
|
+
/** Primitive topology baked into the PSO. */
|
|
53
|
+
readonly topology: PrimitiveTopology;
|
|
54
|
+
/** Strip index format (uint16 / uint32), only meaningful for strip topologies. */
|
|
55
|
+
readonly stripIndexFormat?: 'uint16' | 'uint32' | undefined;
|
|
56
|
+
/** Per-vertex attribute layout (position / normal / uv / tangent / skinIndex / skinWeight). */
|
|
57
|
+
readonly vertexLayout: VertexAttributeMap;
|
|
58
|
+
/** Canonical geometry-owned projection; derived when omitted for legacy callers. */
|
|
59
|
+
readonly vertexLayoutProjection?: VertexLayoutProjection | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Number of UV sets declared by the shader (derived from @location reflection).
|
|
62
|
+
* Forwarded to deriveVertexBufferLayout for clamp-to-last alias (D-1 / D-4).
|
|
63
|
+
* Undefined = fallback to mesh-provided UV count (no clamping).
|
|
64
|
+
* feat-20260629-multi-uv-set-support m3-w5: plumbed placeholder.
|
|
65
|
+
* TODO(M4/m4-w3): fill from naga reflection JSON when available.
|
|
66
|
+
*/
|
|
67
|
+
readonly shaderUvSetCount?: number | undefined;
|
|
68
|
+
};
|
|
69
|
+
/** Per-material render-state overrides (optional — engine defaults applied when absent). */
|
|
70
|
+
readonly renderState: MaterialRenderState | undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Closed union of PipelineSpec error codes.
|
|
74
|
+
*
|
|
75
|
+
* 5 business codes:
|
|
76
|
+
* - `'spec-inconsistent'`: axis mutual exclusion violated
|
|
77
|
+
* - `'unknown-pass-kind'`: passKind not in KNOWN_PASS_KINDS or registered
|
|
78
|
+
* - `'shader-bgl-reflection-mismatch'`: reflected BGL shape != shader declaration
|
|
79
|
+
* - `'attachment-format-incompatible'`: depth/stencil format vs PSO mismatch
|
|
80
|
+
* - `'unsupported-vertex-layout'`: vertex attributes don't match shader vs_main
|
|
81
|
+
*
|
|
82
|
+
* 2 transit codes:
|
|
83
|
+
* - `'pipeline-build-failed'`: wraps RhiError from device.createRenderPipeline
|
|
84
|
+
* - `'shader-not-registered'`: ShaderRegistry.lookup returned undefined
|
|
85
|
+
*
|
|
86
|
+
* @see requirements §3.4 · AC-10 · charter P3
|
|
87
|
+
*/
|
|
88
|
+
export type PipelineSpecErrorCode = 'spec-inconsistent' | 'unknown-pass-kind' | 'shader-bgl-reflection-mismatch' | 'attachment-format-incompatible' | 'unsupported-vertex-layout' | 'pipeline-build-failed' | 'shader-not-registered';
|
|
89
|
+
/**
|
|
90
|
+
* Structured pipeline-spec error — carries `.code` (discriminated union) +
|
|
91
|
+
* `.detail` (narrowed per code) + `.hint` (AI-user actionable prose).
|
|
92
|
+
*
|
|
93
|
+
* Inherits from `Error` so it integrates with existing catch blocks; the
|
|
94
|
+
* `.code` field enables exhaustive `switch` narrowing without string parsing
|
|
95
|
+
* (charter P3).
|
|
96
|
+
*/
|
|
97
|
+
export declare class PipelineSpecError extends Error {
|
|
98
|
+
readonly code: PipelineSpecErrorCode;
|
|
99
|
+
/**
|
|
100
|
+
* Narrowed detail payload — shape depends on `code`.
|
|
101
|
+
*
|
|
102
|
+
* - `'spec-inconsistent'`: `{ reason: string }`
|
|
103
|
+
* - `'unknown-pass-kind'`: `{ expected: readonly string[]; actual: string; hint?: string }`
|
|
104
|
+
* - `'shader-bgl-reflection-mismatch'`: `{ reflected: unknown; declared: unknown }`
|
|
105
|
+
* - `'attachment-format-incompatible'`: `{ reason: string; expected?: string; actual?: string }`
|
|
106
|
+
* - `'unsupported-vertex-layout'`: `{ specAttrs: string[]; shaderAttrs: string[] }`
|
|
107
|
+
* - `'pipeline-build-failed'`: `{ gpuMessage?: string; cause?: unknown }`
|
|
108
|
+
* - `'shader-not-registered'`: `{ shaderId: string; hint?: string }`
|
|
109
|
+
*/
|
|
110
|
+
readonly detail: Record<string, unknown>;
|
|
111
|
+
constructor(args: {
|
|
112
|
+
code: PipelineSpecErrorCode;
|
|
113
|
+
detail: Record<string, unknown>;
|
|
114
|
+
hint?: string;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Bind group layout shape derived from ShaderRegistry reflection.
|
|
119
|
+
*
|
|
120
|
+
* `entries` mirrors `GPUBindGroupLayoutDescriptor.entries` — the binding
|
|
121
|
+
* slot layout the shader expects for a given variantSet.
|
|
122
|
+
*/
|
|
123
|
+
export interface BindGroupLayoutShape {
|
|
124
|
+
readonly entries: readonly BindGroupLayoutEntry[];
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Derive BGL shape from a registered shader entry's paramSchema.
|
|
128
|
+
*
|
|
129
|
+
* Pure function: same `entry` always yields the same shape (no variant-set
|
|
130
|
+
* dispatch — that role moved into `BglKind` after D-13's closed-union
|
|
131
|
+
* dispatch landed; see plan-decisions.md). The `_variantSet` parameter is
|
|
132
|
+
* preserved for backward signature compat but ignored — variant routing is
|
|
133
|
+
* now explicit at the BglKind level (see `buildBindGroupLayoutDescriptor`
|
|
134
|
+
* arms `pbr-skin-mesh-array` vs `hdrp-7-slot` vs `pbr-mesh-array`).
|
|
135
|
+
*
|
|
136
|
+
* This helper lives in `pipeline-spec.ts` (not ShaderRegistry) per D-1:
|
|
137
|
+
* it wraps the existing `derive(paramSchema).bglEntries` from
|
|
138
|
+
* `@forgeax/engine-types` so cacheKeyOf can hash BGL shape deterministically
|
|
139
|
+
* without expanding the ShaderRegistry public interface.
|
|
140
|
+
*
|
|
141
|
+
* @param entry - material shader entry from ShaderRegistry.findMaterialArtifact
|
|
142
|
+
* @param _variantSet - unused (post D-13); kept for backward signature compat
|
|
143
|
+
* @returns the BGL shape for the given entry
|
|
144
|
+
* @see plan-decisions.md D-13
|
|
145
|
+
*/
|
|
146
|
+
export declare function deriveBglShapeFromShader(entry: RegisteredMaterialShaderEntry, _variantSet?: string | undefined): BindGroupLayoutShape;
|
|
147
|
+
/**
|
|
148
|
+
* Deterministic hash suffix for MaterialRenderState (sorted keys, JSON.stringify).
|
|
149
|
+
*
|
|
150
|
+
* Returns `''` when `renderState` is `undefined` or has zero entries,
|
|
151
|
+
* preserving cache-key byte-compatibility with the pre-M1 shape.
|
|
152
|
+
*/
|
|
153
|
+
export declare function renderStateHash(renderState: MaterialRenderState | undefined): string;
|
|
154
|
+
/**
|
|
155
|
+
* Compute a deterministic cache key from a PipelineSpec.
|
|
156
|
+
*
|
|
157
|
+
* The key covers all 4 axes + BGL shape hash (derived from ShaderRegistry
|
|
158
|
+
* reflection via {@link deriveBglShapeFromShader}). Two specs that produce
|
|
159
|
+
* the same cache key MUST produce byte-identical PSO descriptors.
|
|
160
|
+
*
|
|
161
|
+
* Algorithm: concatenate each axis segment with `:` separators, hash the
|
|
162
|
+
* BGL shape for compactness, and emit a single cache-key string.
|
|
163
|
+
*
|
|
164
|
+
* @see plan-strategy §3.1 · requirements AC-02
|
|
165
|
+
*/
|
|
166
|
+
export declare function cacheKeyOf(spec: PipelineSpec): string;
|
|
167
|
+
/**
|
|
168
|
+
* Build a `GPURenderPipelineDescriptor` from a PipelineSpec + shader modules.
|
|
169
|
+
*
|
|
170
|
+
* Pure derivation: same (spec, modules) always produces the same descriptor.
|
|
171
|
+
* Consumed by `getOrBuildPipeline` on cache miss; also available as a public
|
|
172
|
+
* helper for AI users who want the descriptor shape without going through the
|
|
173
|
+
* cache entrypoint.
|
|
174
|
+
*
|
|
175
|
+
* @param spec - the pipeline spec (4 axes)
|
|
176
|
+
* @param modules - `{ vertex: GPUShaderModule; fragment: GPUShaderModule }`
|
|
177
|
+
* @returns a complete WebGPU render-pipeline descriptor
|
|
178
|
+
* @see plan-strategy §3.2 · requirements AC-02
|
|
179
|
+
*/
|
|
180
|
+
export declare function buildPipelineDescriptor(spec: PipelineSpec, modules: {
|
|
181
|
+
vertex: unknown;
|
|
182
|
+
fragment: unknown;
|
|
183
|
+
vertexEntryPoint?: string;
|
|
184
|
+
fragmentEntryPoint?: string;
|
|
185
|
+
layout?: unknown;
|
|
186
|
+
}): Record<string, unknown>;
|
|
187
|
+
/**
|
|
188
|
+
* Closed union of bind-group-layout shapes the runtime constructs.
|
|
189
|
+
*
|
|
190
|
+
* Each kind names one physically distinct BGL the runtime has historically
|
|
191
|
+
* built by hand. {@link buildBindGroupLayoutDescriptor} dispatches on this
|
|
192
|
+
* union so every `device.createBindGroupLayout(...)` call site shares one
|
|
193
|
+
* SSOT for entries / labels (plan-strategy §3.2; D-13 round-2 decision).
|
|
194
|
+
*
|
|
195
|
+
* Three groups by derivation source:
|
|
196
|
+
* 1. Shader-derived (paramSchema reflection + injection chain):
|
|
197
|
+
* - `'pbr-material-merged'` — derived user region + Skylight 7 + lightmap 4
|
|
198
|
+
* - `'unlit-material'` — 7 entries: base PBR material only (no inject)
|
|
199
|
+
* - `'hdrp-7-slot'` — 7 entries (binding 0 + 3..8): HDRP cluster + SSAO group(2) BGL
|
|
200
|
+
* 2. Caps-driven literal shapes (no shader):
|
|
201
|
+
* - `'pbr-view'` — 10 entries: view UBO + lights + 6 shadow bindings
|
|
202
|
+
* (directional 3/4, point 5/6, cascade 7, spot atlas 8, spot
|
|
203
|
+
* lightViewProj matrices 9 — feat-20260625)
|
|
204
|
+
* - `'pbr-mesh-array'` — 1 entry: per-entity mesh SSBO (dynamic-offset)
|
|
205
|
+
* - `'pbr-instances'` — 1 entry: per-instance SSBO (no dynamic-offset)
|
|
206
|
+
* - `'pbr-skin-mesh-array'` — 3 entries: meshes + current/previous skin palettes
|
|
207
|
+
* 3. Attachment-driven (fullscreen post-process):
|
|
208
|
+
* - `'fullscreen-post'` — 2 entries: input texture + sampler. The texture
|
|
209
|
+
* `sampleType` is derived from `spec.attachments` (plan §R3 fix):
|
|
210
|
+
* `'depth32float'` → `'depth'`; `'r32float'` → `'unfilterable-float'`;
|
|
211
|
+
* else → `'float'`.
|
|
212
|
+
* - `'fullscreen-post-with-params'` — 3 entries: the same texture@0 +
|
|
213
|
+
* sampler@1 as `'fullscreen-post'`, plus a `buffer@2` uniform for the
|
|
214
|
+
* per-frame params UBO (feat-20260621 D-2: `entry.params !== undefined`
|
|
215
|
+
* passes route here; the layout stays group(1), q3=B). `'fullscreen-post'`
|
|
216
|
+
* stays byte-identical so param-less consumers degrade with no change.
|
|
217
|
+
* - `'fullscreen-post-with-scene-depth-msaa'` — the depth-read layout with
|
|
218
|
+
* `texture.multisampled=true`, selected for a 4-sample scene depth target.
|
|
219
|
+
*/
|
|
220
|
+
export type BglKind = 'pbr-view' | 'pbr-material-merged' | 'pbr-mesh-array' | 'pbr-instances' | 'pbr-skin-mesh-array' | 'unlit-material' | 'hdrp-7-slot' | 'fullscreen-post' | 'fullscreen-post-with-params' | 'fullscreen-post-with-scene-depth' | 'fullscreen-post-with-scene-depth-msaa' | 'fullscreen-post-with-gbuffer-depth';
|
|
221
|
+
/**
|
|
222
|
+
* Output shape of {@link buildBindGroupLayoutDescriptor}: matches the RHI
|
|
223
|
+
* `BindGroupLayoutDescriptor` (label + entries with `ExplicitUndefined`) so
|
|
224
|
+
* the result can be passed directly to `device.createBindGroupLayout(...)`.
|
|
225
|
+
*
|
|
226
|
+
* `entries` is a mutable `Array` to match `GPUBindGroupLayoutDescriptor`
|
|
227
|
+
* (WebGPU types declare it mutable). Callers MUST treat the array as
|
|
228
|
+
* read-only — the dispatcher freezes neither the array nor its entries
|
|
229
|
+
* for hot-path performance.
|
|
230
|
+
*/
|
|
231
|
+
export interface BindGroupLayoutDescriptorOutput {
|
|
232
|
+
readonly label: string | undefined;
|
|
233
|
+
readonly entries: GPUBindGroupLayoutEntry[];
|
|
234
|
+
}
|
|
235
|
+
export declare function buildBindGroupLayoutDescriptor(spec: PipelineSpec, options: {
|
|
236
|
+
kind: BglKind;
|
|
237
|
+
registry?: ShaderRegistry;
|
|
238
|
+
caps?: PbrCaps;
|
|
239
|
+
/**
|
|
240
|
+
* Material paramSchema for the per-shader user-region derivation
|
|
241
|
+
* (`'pbr-material-merged'` / `'unlit-material'`). When supplied it is the
|
|
242
|
+
* authoritative source for the user-region BGL shape (D-1); when omitted,
|
|
243
|
+
* `buildPbrMaterialUserRegionEntries` falls back to the built-in
|
|
244
|
+
* standard-PBR 4-texture schema (user region is 9 entries), so
|
|
245
|
+
* the caps-driven `buildPbrPipelineLayouts` seam keeps working unchanged.
|
|
246
|
+
* A registry + resolvable shader id takes precedence over this field.
|
|
247
|
+
*/
|
|
248
|
+
materialParamSchema?: readonly ParamSchemaEntry[];
|
|
249
|
+
}): BindGroupLayoutDescriptorOutput;
|
|
250
|
+
/**
|
|
251
|
+
* Default colour-attachment ops carried by a passKind policy.
|
|
252
|
+
*
|
|
253
|
+
* `clearValue` is `undefined` for `loadOp='load'` policies (no clear value
|
|
254
|
+
* is emitted into the descriptor when the prior contents are loaded).
|
|
255
|
+
*/
|
|
256
|
+
export interface AttachmentColorOps {
|
|
257
|
+
readonly loadOp: 'clear' | 'load';
|
|
258
|
+
readonly storeOp: 'store' | 'discard';
|
|
259
|
+
readonly clearValue: GPUColor | undefined;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Default depth-attachment ops carried by a passKind policy.
|
|
263
|
+
*
|
|
264
|
+
* `stencilLoadOp` / `stencilStoreOp` are absent on the policy itself — the
|
|
265
|
+
* stencil-op gate is auto-derived from `specAttachments.depthFormat` at call
|
|
266
|
+
* time (`'depth24plus-stencil8'` → `'clear'+'discard'`; everything else
|
|
267
|
+
* elides stencil ops). This collapses the R3/R5 stencil-op duplicates that
|
|
268
|
+
* previously lived inline at every forward-pass beginRenderPass call site.
|
|
269
|
+
*/
|
|
270
|
+
export interface AttachmentDepthOps {
|
|
271
|
+
readonly loadOp: 'clear' | 'load';
|
|
272
|
+
readonly storeOp: 'store' | 'discard';
|
|
273
|
+
readonly clearValue: number;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Attachment policy for a single passKind — declares the colour / depth shape
|
|
277
|
+
* the pass produces and the default load/store ops. Per-call-site overrides
|
|
278
|
+
* (skybox vs main forward differing on `colorLoadOp`, sprite-split forward
|
|
279
|
+
* differing on both `colorLoadOp` and `depthLoadOp`) flow through the
|
|
280
|
+
* `options` parameter of {@link buildBeginRenderPassDescriptor}.
|
|
281
|
+
*
|
|
282
|
+
* `shape` discriminator drives which attachment slots the descriptor emits:
|
|
283
|
+
* - `'depth-only'` → empty `colorAttachments[]`, `depthStencilAttachment` set
|
|
284
|
+
* - `'color-only'` → populated `colorAttachments[]`, no `depthStencilAttachment`
|
|
285
|
+
* - `'color-and-depth'` → both
|
|
286
|
+
*/
|
|
287
|
+
export interface PassKindAttachmentPolicy {
|
|
288
|
+
readonly shape: 'depth-only' | 'color-only' | 'color-and-depth';
|
|
289
|
+
readonly defaultColorOps: AttachmentColorOps | undefined;
|
|
290
|
+
readonly defaultDepthOps: AttachmentDepthOps | undefined;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Closed map of passKind → attachment policy. Covers the 10 attachment shapes
|
|
294
|
+
* the runtime ships (per plan-strategy M4):
|
|
295
|
+
*
|
|
296
|
+
* 1. `'forward'` — main geometry pass: color+depth(+stencil-gated)
|
|
297
|
+
* 2. `'deferred'` — HDRP G-Buffer geometry pass: MRT color+depth
|
|
298
|
+
* 3. `'shadow-caster'` — directional shadow caster: depth-only
|
|
299
|
+
* 4. `'point-shadow-caster'` — HDRP point-shadow caster: depth-only
|
|
300
|
+
* 5. `'skybox'` — fullscreen skybox: color-only clear/store
|
|
301
|
+
* 6. `'tonemap'` — HDR→LDR tonemap fullscreen: color-only clear/store
|
|
302
|
+
* 7. `'bloom-bright'` / `'bloom-blur'` — bloom downsample/blur: color-only
|
|
303
|
+
* clear/store
|
|
304
|
+
* 8. `'bloom-composite'` — bloom add-back: color-only load/store (NOT clear)
|
|
305
|
+
* 9. `'fxaa'` — fullscreen FXAA: color-only clear/store
|
|
306
|
+
* 10. `'post-process'` — generic fullscreen primitive (SSAO, render-graph
|
|
307
|
+
* fullscreen-post-process-pass dispatcher, M2 tonemap pre-warm slot):
|
|
308
|
+
* color-only clear/store
|
|
309
|
+
*
|
|
310
|
+
* Sprite-split forward sub-pass reuses the `'forward'` policy with
|
|
311
|
+
* `options.colorLoadOp='load'` + `options.depthLoadOp='load'`.
|
|
312
|
+
*
|
|
313
|
+
* Stencil-op gate is NOT in this table — it is derived from
|
|
314
|
+
* `specAttachments.depthFormat` inside the helper (depth24plus-stencil8
|
|
315
|
+
* → emit `stencilLoadOp:'clear' / stencilStoreOp:'discard'`).
|
|
316
|
+
*/
|
|
317
|
+
export declare const passKindPolicyTable: Readonly<Record<string, PassKindAttachmentPolicy>>;
|
|
318
|
+
/**
|
|
319
|
+
* Build a `GPURenderPassDescriptor` from spec attachments + resolved views +
|
|
320
|
+
* a passKind policy lookup.
|
|
321
|
+
*
|
|
322
|
+
* The helper is the single SSOT for `device.beginRenderPass(...)` descriptor
|
|
323
|
+
* shape — every record-stage call site routes through it (plan-strategy M4
|
|
324
|
+
* AC-06). It dispatches on `passKindPolicyTable[passKind]` to pick the
|
|
325
|
+
* attachment shape (depth-only / color-only / color-and-depth) and applies
|
|
326
|
+
* default color/depth load+store ops; per-call overrides (sprite-split's
|
|
327
|
+
* `loadOp:'load'`, main pass's dynamic `mainColorLoadOp`, skybox's specific
|
|
328
|
+
* clearColor) flow through `options`.
|
|
329
|
+
*
|
|
330
|
+
* Stencil-op gate is auto-derived from `specAttachments.depthFormat`:
|
|
331
|
+
* - `'depth24plus-stencil8'` → emits `stencilLoadOp:'clear', stencilStoreOp:'discard'`
|
|
332
|
+
* - any other depth format → omits stencil ops entirely
|
|
333
|
+
*
|
|
334
|
+
* This collapses the R3/R5 stencil-op duplicates that previously lived inline
|
|
335
|
+
* at every forward-pass beginRenderPass site.
|
|
336
|
+
*
|
|
337
|
+
* @param specAttachments - the attachments axis from a PipelineSpec
|
|
338
|
+
* @param viewBindings - resolved texture views: `{ colorViews, depthView?, resolveTargets? }`
|
|
339
|
+
* @param passKind - one of the keys in {@link passKindPolicyTable}
|
|
340
|
+
* @param options - per-call ops overrides (loadOp / clearValue / label)
|
|
341
|
+
* @returns a WebGPU render-pass descriptor
|
|
342
|
+
* @throws PipelineSpecError(`'unknown-pass-kind'`) when passKind is not registered
|
|
343
|
+
* @see plan-strategy M4 · requirements AC-06
|
|
344
|
+
*/
|
|
345
|
+
export declare function buildBeginRenderPassDescriptor(specAttachments: PipelineSpec['attachments'], viewBindings: {
|
|
346
|
+
readonly colorViews: readonly unknown[];
|
|
347
|
+
readonly resolveTargets?: readonly (unknown | undefined)[];
|
|
348
|
+
readonly depthView?: unknown;
|
|
349
|
+
}, passKind: string, options?: {
|
|
350
|
+
readonly colorLoadOp?: 'clear' | 'load';
|
|
351
|
+
readonly colorStoreOp?: 'store' | 'discard';
|
|
352
|
+
readonly clearColor?: GPUColor;
|
|
353
|
+
readonly depthLoadOp?: 'clear' | 'load';
|
|
354
|
+
readonly depthStoreOp?: 'store' | 'discard';
|
|
355
|
+
readonly label?: string;
|
|
356
|
+
}): Record<string, unknown>;
|
|
357
|
+
/**
|
|
358
|
+
* Dev-mode equality check: two PipelineSpec instances are structurally equal
|
|
359
|
+
* when every axis field is `===` (shallow compare).
|
|
360
|
+
*
|
|
361
|
+
* Not intended for runtime hot paths — use `cacheKeyOf(a) === cacheKeyOf(b)`
|
|
362
|
+
* for cache-hit checks. This function exists for dev-time assertions
|
|
363
|
+
* (`assert(specsEqual(specA, specB))`) and unit-test round-trip verification.
|
|
364
|
+
*
|
|
365
|
+
* @see plan-strategy §3.2 · requirements AC-02
|
|
366
|
+
*/
|
|
367
|
+
export declare function specsEqual(a: PipelineSpec, b: PipelineSpec): boolean;
|
|
368
|
+
/**
|
|
369
|
+
* Validate a PipelineSpec before attempting to build.
|
|
370
|
+
*
|
|
371
|
+
* Fail-fast checks (charter P5) covering axis mutual-exclusion rules.
|
|
372
|
+
* Returns `Result<void, PipelineSpecError>` — ok for valid specs,
|
|
373
|
+
* err with structured code + detail for invalid ones.
|
|
374
|
+
*
|
|
375
|
+
* Checks:
|
|
376
|
+
* 1. `sampleCount=4` with empty `colorFormats` → `'spec-inconsistent'`
|
|
377
|
+
* 2. Pass kind not in `KNOWN_PASS_KINDS` → `'unknown-pass-kind'`
|
|
378
|
+
* 3. `depthFormat` undefined but `renderState` implies depth testing →
|
|
379
|
+
* `'attachment-format-incompatible'`
|
|
380
|
+
*
|
|
381
|
+
* @see plan-strategy §3.2 · requirements AC-02 · charter P5
|
|
382
|
+
*/
|
|
383
|
+
export declare function validateSpec(spec: PipelineSpec): {
|
|
384
|
+
ok: true;
|
|
385
|
+
} | {
|
|
386
|
+
ok: false;
|
|
387
|
+
code: PipelineSpecErrorCode;
|
|
388
|
+
detail: Record<string, unknown>;
|
|
389
|
+
hint?: string;
|
|
390
|
+
};
|
|
391
|
+
/**
|
|
392
|
+
* Pipeline cache — Map from cacheKeyOf(spec) to opaque RenderPipeline handle.
|
|
393
|
+
*
|
|
394
|
+
* Constructed once at createRenderer boot time; shared across all call sites.
|
|
395
|
+
* Consumers call `getOrBuildPipeline(spec, deviceProvider, cache)` — the
|
|
396
|
+
* entrypoint does cache lookup internally; consumers never touch the Map
|
|
397
|
+
* directly.
|
|
398
|
+
*
|
|
399
|
+
* @see plan-strategy D-12 · requirements §3.2
|
|
400
|
+
*/
|
|
401
|
+
export type PipelineCache = Map<string, unknown>;
|
|
402
|
+
/**
|
|
403
|
+
* Device factory interface consumed by {@link getOrBuildPipeline}.
|
|
404
|
+
*
|
|
405
|
+
* Slim abstraction: only `createRenderPipeline` is needed; the entrypoint
|
|
406
|
+
* does not depend on the full `RhiDevice` interface so it can be tested
|
|
407
|
+
* with a mock.
|
|
408
|
+
*/
|
|
409
|
+
export interface PipelineDeviceProvider {
|
|
410
|
+
createRenderPipeline(descriptor: Record<string, unknown>): {
|
|
411
|
+
ok: true;
|
|
412
|
+
value: unknown;
|
|
413
|
+
} | {
|
|
414
|
+
ok: false;
|
|
415
|
+
error: unknown;
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Single entrypoint for obtaining a render pipeline from a spec.
|
|
420
|
+
*
|
|
421
|
+
* Cache-hit path: key = cacheKeyOf(spec), returns cached handle immediately.
|
|
422
|
+
* Cache-miss path: validates spec → builds descriptor → calls device.createRenderPipeline
|
|
423
|
+
* → caches result → returns handle.
|
|
424
|
+
* Build failure: throws PipelineSpecError (charter P3 fail-fast, no silent fallback).
|
|
425
|
+
*
|
|
426
|
+
* Pure function: same (spec, deviceProvider, cache) always produces the same result.
|
|
427
|
+
* Boot-time call site: createRenderer wires the real device; record-stage call site
|
|
428
|
+
* uses ctx.runtime.device (same entrypoint, same signature).
|
|
429
|
+
*
|
|
430
|
+
* @param spec - immutable 4-axis pipeline specification
|
|
431
|
+
* @param deviceProvider - factory with createRenderPipeline method
|
|
432
|
+
* @param cache - the PipelineCache (shared across boot + record stage)
|
|
433
|
+
* @returns a RenderPipeline handle (opaque, typed as unknown for M1)
|
|
434
|
+
* @throws PipelineSpecError on validation failure or build failure
|
|
435
|
+
* @see plan-strategy D-12 · requirements AC-03 · charter F1
|
|
436
|
+
*/
|
|
437
|
+
export declare function getOrBuildPipeline(spec: PipelineSpec, deviceProvider: PipelineDeviceProvider, cache: PipelineCache, modules?: {
|
|
438
|
+
vertex: unknown;
|
|
439
|
+
fragment: unknown;
|
|
440
|
+
vertexEntryPoint?: string;
|
|
441
|
+
fragmentEntryPoint?: string;
|
|
442
|
+
layout?: unknown;
|
|
443
|
+
}): unknown;
|
|
444
|
+
/**
|
|
445
|
+
* Build the boot-time pre-warm table: 15 standard PipelineSpec variants.
|
|
446
|
+
*
|
|
447
|
+
* feat-20260625-refactor-sprite-as-transparent-mesh M3 / w14 (AC-12): the
|
|
448
|
+
* four `forgeax::default-sprite` entries (LDR S1 + LDR S4 + HDR S1 + HDR S4)
|
|
449
|
+
* are gone — sprite PSO lands lazily through the generic
|
|
450
|
+
* per-MaterialShader pipeline cache. Pre-feat count was 19; post-feat 15.
|
|
451
|
+
*
|
|
452
|
+
* Matrix:
|
|
453
|
+
* - 8 base material variants — {unlit, standard-pbr} x {LDR, HDR} x {S1, S4}
|
|
454
|
+
* - 4 URP-variant standard-pbr — standard-pbr (variantSet=URP_PBR_VARIANT_SET)
|
|
455
|
+
* x {LDR, HDR} x {S1, S4}; URP record path requests these specs by
|
|
456
|
+
* `getMaterialShaderPipeline` keying off `cacheKeyOf` so the boot-time
|
|
457
|
+
* prewarm seeds `materialShaderPipelineCache` and avoids a 1-frame
|
|
458
|
+
* async-compile skip-draw (M6 fix-up; see render-system-record.ts §URP)
|
|
459
|
+
* - 3 fullscreen-post — tonemap (LDR S1) + skybox (HDR S1, HDR S4)
|
|
460
|
+
*
|
|
461
|
+
* Total: 15. The URP variant is PBR-only because:
|
|
462
|
+
* - unlit URP record path passes `variantSet=undefined` (the no-variant
|
|
463
|
+
* boot-default entries already cover it; createRenderer.ts §unlitRsp)
|
|
464
|
+
* - sprite goes through `getMaterialShaderPipeline('forgeax::sprite', ...)`
|
|
465
|
+
* lazily at first transparent-LDR-split draw — no boot-time pre-warm.
|
|
466
|
+
* - HDRP variant (`variantSet=''` or compound `=true` form) is registered
|
|
467
|
+
* lazily on `installPipeline(hdrpAsset)`, not at boot — adding HDRP
|
|
468
|
+
* prewarm here would build PSOs against the URP layout (the boot-time
|
|
469
|
+
* `pbrModule` is the URP variant when `isHdrpActive=false`)
|
|
470
|
+
*
|
|
471
|
+
* `ldrViewFormat` parameterises the LDR color attachment format. Callers
|
|
472
|
+
* pass the runtime-resolved swap-chain view format (Channel 2 typically
|
|
473
|
+
* `bgra8unorm-srgb`; Channel 3 wgpu-wasm and dawn-node typically
|
|
474
|
+
* `rgba8unorm-srgb`). Hard-coding `bgra8unorm-srgb` at module load made
|
|
475
|
+
* the pre-warmed PSOs incompatible with the actual RenderPass color
|
|
476
|
+
* attachment on Channel 3 / dawn-node, producing whole-commandBuffer
|
|
477
|
+
* invalid errors on every frame (bug-20260615 fix-up — see
|
|
478
|
+
* `createRenderer` boot-time pre-warm site).
|
|
479
|
+
*
|
|
480
|
+
* Fullscreen passes (fxaa / bloom x 3 / SSAO x 2) are lazy-build — they
|
|
481
|
+
* use the same getOrBuildPipeline entrypoint but are not in this table.
|
|
482
|
+
*
|
|
483
|
+
* @see plan-strategy D-4 · research R-D4 · requirements AC-16
|
|
484
|
+
* @see bug-20260612-webgpu-canvas-format-prefer-bgra-shipped (same trap shape)
|
|
485
|
+
*/
|
|
486
|
+
export declare function buildSpecConstTable(ldrViewFormat: GPUTextureFormat): readonly Readonly<PipelineSpec>[];
|
|
487
|
+
/**
|
|
488
|
+
* Derive the material-only pre-warm table for a native linear-LDR target.
|
|
489
|
+
*
|
|
490
|
+
* The regular SPEC_CONST table targets the swap-chain view, while the
|
|
491
|
+
* tonemap=none path records geometry directly into the graph-owned
|
|
492
|
+
* `rgba16float` target. Keep that second attachment matrix derived from the
|
|
493
|
+
* same material specs so the first frame does not depend on an asynchronous
|
|
494
|
+
* lazy PSO build.
|
|
495
|
+
*/
|
|
496
|
+
export declare function buildLinearLdrMaterialSpecTable(ldrViewFormat: GPUTextureFormat): readonly Readonly<PipelineSpec>[];
|
|
497
|
+
/**
|
|
498
|
+
* Backward-compatible SPEC_CONST_TABLE — the table built with the default
|
|
499
|
+
* LDR view format (`bgra8unorm-srgb`). Unit tests that exercise the
|
|
500
|
+
* spec/cache-keying layer in isolation import this directly. Runtime
|
|
501
|
+
* callers MUST call `buildSpecConstTable(swapChainFormats.view)` instead
|
|
502
|
+
* so the pre-warmed PSO color format matches the actual RenderPass color
|
|
503
|
+
* attachment on every backend (bug-20260615 fix-up).
|
|
504
|
+
*/
|
|
505
|
+
export declare const SPEC_CONST_TABLE: readonly Readonly<PipelineSpec>[];
|
|
506
|
+
//# sourceMappingURL=pipeline-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-spec.d.ts","sourceRoot":"","sources":["../src/pipeline-spec.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Plugin } from '@forgeax/engine-plugin';
|
|
2
|
+
import type { RenderFeature } from './features';
|
|
3
|
+
import type { Renderer } from './renderer';
|
|
4
|
+
declare module '@forgeax/engine-plugin' {
|
|
5
|
+
interface EngineContextServices {
|
|
6
|
+
renderer?: Renderer;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/** Install the built-in render and authoring component vocabulary in one World. */
|
|
10
|
+
export declare function renderComponentsPlugin(): Plugin;
|
|
11
|
+
/** Provide the renderer without transferring its host-owned lifetime. */
|
|
12
|
+
export declare function rendererPlugin(renderer: Renderer): Plugin;
|
|
13
|
+
/** Provide an App/Worker-owned Renderer and release it after dependent Fibers. */
|
|
14
|
+
export declare function ownedRendererPlugin(renderer: Renderer): Plugin;
|
|
15
|
+
/** Install a producer at Renderer safe points and remove it with the owning Fiber. */
|
|
16
|
+
export declare function renderFeaturePlugin(feature: RenderFeature<unknown>): Plugin;
|
|
17
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA2BrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiD3C,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,qBAAqB;QAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;CACF;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,IAAI,MAAM,CAS/C;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAQzD;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS9D;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAgB3E"}
|