@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 @@
|
|
|
1
|
+
{"version":3,"file":"environment-source.test.d.ts","sourceRoot":"","sources":["../../../src/extract/__tests__/environment-source.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-readers.unit.test.d.ts","sourceRoot":"","sources":["../../../src/extract/__tests__/schema-readers.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { type Vec3 } from '@forgeax/engine-math';
|
|
2
|
+
export interface CsmCameraData {
|
|
3
|
+
readonly world: Float32Array;
|
|
4
|
+
readonly fov: number;
|
|
5
|
+
readonly aspect: number;
|
|
6
|
+
readonly near: number;
|
|
7
|
+
readonly far: number;
|
|
8
|
+
readonly projection: 'perspective' | 'orthographic';
|
|
9
|
+
readonly orthoLeft: number;
|
|
10
|
+
readonly orthoRight: number;
|
|
11
|
+
readonly orthoBottom: number;
|
|
12
|
+
readonly orthoTop: number;
|
|
13
|
+
}
|
|
14
|
+
export interface DirectionalCsmConfig {
|
|
15
|
+
readonly cascadeCount: number;
|
|
16
|
+
readonly splitLambda: number;
|
|
17
|
+
readonly cascadeBlend: number;
|
|
18
|
+
readonly mapSize: number;
|
|
19
|
+
readonly shadowDistance: number;
|
|
20
|
+
/** Optional only for old internal callers; DirectionalLight supplies it. */
|
|
21
|
+
readonly pcfKernelSize?: number;
|
|
22
|
+
/** @internal Collect producer-owned per-candidate decisions for RHI evidence. */
|
|
23
|
+
readonly collectCandidateDecisions?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface CascadeRasterViewport {
|
|
26
|
+
readonly x: number;
|
|
27
|
+
readonly y: number;
|
|
28
|
+
readonly w: number;
|
|
29
|
+
readonly h: number;
|
|
30
|
+
}
|
|
31
|
+
export interface CascadeVolume {
|
|
32
|
+
readonly cascadeIndex: number;
|
|
33
|
+
readonly revision: number;
|
|
34
|
+
readonly lightViewProj: Float32Array;
|
|
35
|
+
readonly receiverViewDepth: readonly [number, number];
|
|
36
|
+
readonly receiverLightBounds: Float32Array;
|
|
37
|
+
readonly clipLightBounds: Float32Array;
|
|
38
|
+
/** Raster bounds are the exact clip array consumed by the matrix fit. */
|
|
39
|
+
readonly rasterLightBounds: Float32Array;
|
|
40
|
+
readonly depthLightRange: readonly [number, number];
|
|
41
|
+
/** Conservative world-space AABB used by static and dynamic broadphase owners. */
|
|
42
|
+
readonly casterBroadphaseWorldAabb: Float32Array;
|
|
43
|
+
readonly rasterViewport: CascadeRasterViewport;
|
|
44
|
+
/** Stable X/Y extent; casters never enlarge this receiver-driven domain. */
|
|
45
|
+
readonly stableExtent: number;
|
|
46
|
+
/** Receiver sphere center before texel-grid snapping. */
|
|
47
|
+
readonly unsnappedCenter: readonly [number, number];
|
|
48
|
+
readonly snappedCenter: readonly [number, number];
|
|
49
|
+
readonly halfExtent: number;
|
|
50
|
+
readonly worldUnitsPerTexel: number;
|
|
51
|
+
readonly guardBandTexels: number;
|
|
52
|
+
/** Candidate indices are stable before main-view culling. */
|
|
53
|
+
readonly casterRenderableIndices: Uint32Array;
|
|
54
|
+
/** Optional complete CPU decision stream, enabled only for debug capture. */
|
|
55
|
+
readonly candidateDecisions?: readonly DirectionalCsmCandidateDecision[];
|
|
56
|
+
readonly unboundedFallback: readonly DirectionalCsmFallback[];
|
|
57
|
+
readonly unboundedFallbackCount: number;
|
|
58
|
+
/** Historical whole-frustum away-light extent retained for fallback casters. */
|
|
59
|
+
readonly lightSpaceMinZFull: number;
|
|
60
|
+
/** Historical whole-frustum toward-light reach retained for fallback casters. */
|
|
61
|
+
readonly lightSpaceMaxZFull: number;
|
|
62
|
+
}
|
|
63
|
+
/** Compatibility name for existing record and debug consumers. */
|
|
64
|
+
export type DirectionalCsmCascadePlan = CascadeVolume;
|
|
65
|
+
export interface DirectionalCsmFallback {
|
|
66
|
+
readonly renderableIndex: number;
|
|
67
|
+
readonly reason: string;
|
|
68
|
+
}
|
|
69
|
+
export interface DirectionalCsmCasterCandidate {
|
|
70
|
+
readonly renderableIndex: number;
|
|
71
|
+
readonly worldId: number;
|
|
72
|
+
readonly entityKey: number;
|
|
73
|
+
readonly worldAabb: Float32Array | null;
|
|
74
|
+
readonly bounded: boolean;
|
|
75
|
+
readonly shadowCaster: boolean;
|
|
76
|
+
readonly fallbackReason?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface DirectionalCsmCandidateSource {
|
|
79
|
+
readonly renderableIndex: number;
|
|
80
|
+
readonly worldId: number;
|
|
81
|
+
readonly entityKey: number;
|
|
82
|
+
readonly localAabb?: Float32Array | undefined;
|
|
83
|
+
readonly transformWorld: Float32Array;
|
|
84
|
+
readonly instanceTransforms?: Float32Array | undefined;
|
|
85
|
+
/** Skin/morph bounds are feature-owned; do not infer them from a static mesh AABB. */
|
|
86
|
+
readonly featureOwnedBoundsUnavailable?: boolean;
|
|
87
|
+
readonly shadowCaster: boolean;
|
|
88
|
+
}
|
|
89
|
+
export interface DirectionalCsmCandidateDecision {
|
|
90
|
+
readonly renderableIndex: number;
|
|
91
|
+
readonly worldId: number;
|
|
92
|
+
readonly entityKey: number;
|
|
93
|
+
readonly selected: boolean;
|
|
94
|
+
readonly reason: string;
|
|
95
|
+
readonly lightSpaceBounds?: Float32Array;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Optional persistent-scene broadphase owner. Returned indices address the
|
|
99
|
+
* stable candidate domain supplied to the CSM builder; the builder still owns
|
|
100
|
+
* the exact light-space membership test.
|
|
101
|
+
*/
|
|
102
|
+
export type DirectionalCsmCandidateBroadphase = (worldAabb: Float32Array) => readonly number[];
|
|
103
|
+
export interface CascadeVolumeSet {
|
|
104
|
+
readonly revision: number;
|
|
105
|
+
readonly volumes: readonly CascadeVolume[];
|
|
106
|
+
}
|
|
107
|
+
export interface DirectionalCsmResult extends CascadeVolumeSet {
|
|
108
|
+
readonly lightViewProj: Float32Array[];
|
|
109
|
+
readonly splitPlanes: Float32Array;
|
|
110
|
+
readonly cascadeCount: number;
|
|
111
|
+
readonly cascadeBlend: number;
|
|
112
|
+
readonly shadowMapSize: number;
|
|
113
|
+
readonly cascades: readonly DirectionalCsmCascadePlan[];
|
|
114
|
+
}
|
|
115
|
+
export declare function directionalCascadeRasterViewport(cascadeIndex: number, cascadeCount: number, mapSize: number): CascadeRasterViewport;
|
|
116
|
+
/** Exact depth-atlas dimensions for the raster viewport layout. */
|
|
117
|
+
export declare function directionalCascadeAtlasSize(cascadeCount: number, mapSize: number): {
|
|
118
|
+
readonly width: number;
|
|
119
|
+
readonly height: number;
|
|
120
|
+
};
|
|
121
|
+
export declare function buildDirectionalCsmCasterCandidates(sources: readonly DirectionalCsmCandidateSource[]): DirectionalCsmCasterCandidate[];
|
|
122
|
+
export declare function pssmSplit(nearPlane: number, farPlane: number, cascadeCount: number, splitLambda: number): Float32Array;
|
|
123
|
+
/** Sole producer for directional cascade matrices, bounds, raster, depth, and membership. */
|
|
124
|
+
export declare class CascadeVolumeSetBuilder {
|
|
125
|
+
build(direction: Vec3, config: DirectionalCsmConfig, cameraData: CsmCameraData | undefined, casterCandidates?: readonly DirectionalCsmCasterCandidate[], candidateBroadphase?: DirectionalCsmCandidateBroadphase | undefined): DirectionalCsmResult | null;
|
|
126
|
+
}
|
|
127
|
+
/** Compatibility entry backed by the canonical CascadeVolumeSet producer. */
|
|
128
|
+
export declare function computeDirectionalCsm(direction: Vec3, config: DirectionalCsmConfig, cameraData: CsmCameraData | undefined, casterCandidates?: readonly DirectionalCsmCasterCandidate[], candidateBroadphase?: DirectionalCsmCandidateBroadphase | undefined): DirectionalCsmResult | null;
|
|
129
|
+
//# sourceMappingURL=directional-csm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directional-csm.d.ts","sourceRoot":"","sources":["../../src/extract/directional-csm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { ExtractedFrame, PreparedExtractContext } from '../render-system-extract';
|
|
2
|
+
export { extractFrame, prepareExtractContext } from '../render-system-extract';
|
|
3
|
+
export { createMaterialInterfaceOwner, type DerivedMaterialCoordinateProjection, type DerivedMaterialSlotProjection, type DerivedMaterialSlotProjectionInput, deriveMaterialSlotProjection, } from './material-interface';
|
|
4
|
+
export * from './visibility';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extract/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { World } from '@forgeax/engine-ecs';
|
|
2
|
+
import type { DerivedMaterialInterface, Handle, MaterialAsset, MaterialColorParameterSchema, MaterialParameter, MaterialPass, MaterialRenderState, MaterialTextureCoordinates, ParamSchemaEntry } from '@forgeax/engine-types';
|
|
3
|
+
import { type MaterialError, type Result } from '@forgeax/engine-types';
|
|
4
|
+
import type { RenderAssetPort } from '../assets/render-asset-port';
|
|
5
|
+
import type { GpuResourceStore } from '../gpu-resource-store';
|
|
6
|
+
import { type ParamSchemaProjectionCensus } from '../param-schema-projection-census';
|
|
7
|
+
import type { MaterialSnapshot, MaterialSnapshotCache, MaterialSnapshotCacheEntry } from '../render-system-extract';
|
|
8
|
+
export interface DerivedMaterialCoordinateProjection extends MaterialTextureCoordinates {
|
|
9
|
+
readonly physicalUvScale: readonly [number, number];
|
|
10
|
+
}
|
|
11
|
+
export interface DerivedMaterialSlotProjection {
|
|
12
|
+
readonly material: string;
|
|
13
|
+
readonly derivedInterface: DerivedMaterialInterface;
|
|
14
|
+
readonly layoutIdentity: string;
|
|
15
|
+
readonly numericValues: Readonly<Record<string, number | readonly number[]>>;
|
|
16
|
+
readonly coordinates: ReadonlyMap<string, DerivedMaterialCoordinateProjection>;
|
|
17
|
+
}
|
|
18
|
+
export interface DerivedMaterialSlotProjectionInput {
|
|
19
|
+
readonly material: string;
|
|
20
|
+
readonly schema: readonly ParamSchemaEntry[];
|
|
21
|
+
readonly derivedInterface?: DerivedMaterialInterface;
|
|
22
|
+
readonly values: Readonly<Record<string, unknown>>;
|
|
23
|
+
readonly coordinates: ReadonlyMap<string, MaterialTextureCoordinates>;
|
|
24
|
+
readonly textures?: ReadonlyMap<string, {
|
|
25
|
+
readonly format: GPUTextureFormat;
|
|
26
|
+
readonly width: number;
|
|
27
|
+
readonly height: number;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
/** The material pass list is the single source of truth for caster eligibility. */
|
|
31
|
+
export declare function hasShadowCasterPass(passes: readonly MaterialPass[]): boolean;
|
|
32
|
+
export declare function defaultMaterialTextureCoordinates(schemaOrProjection: readonly ParamSchemaEntry[] | DerivedMaterialInterface): Map<string, MaterialTextureCoordinates>;
|
|
33
|
+
export declare function deriveMaterialSlotProjection(input: DerivedMaterialSlotProjectionInput): Result<DerivedMaterialSlotProjection, MaterialError>;
|
|
34
|
+
export interface MaterialInterfaceDependencies {
|
|
35
|
+
readonly defaultMaterialSnapshot: (materialHandle?: number) => MaterialSnapshot;
|
|
36
|
+
readonly readStablePersistentMaterialSnapshot: (cache: MaterialSnapshotCache | undefined, handleRaw: number, assets: RenderAssetPort) => MaterialSnapshotCacheEntry | undefined;
|
|
37
|
+
readonly readPersistentMaterialSnapshot: (cache: MaterialSnapshotCache | undefined, handleRaw: number, assets: RenderAssetPort) => MaterialSnapshotCacheEntry | undefined;
|
|
38
|
+
readonly storeMaterialSnapshot: (cache: MaterialSnapshotCache, handleRaw: number, snapshot: MaterialSnapshot, passes: readonly MaterialPass[], root: MaterialAsset, assets: RenderAssetPort) => MaterialSnapshotCacheEntry;
|
|
39
|
+
readonly runtimeMaterialShaderId: (module: string | undefined, passName?: string) => string | undefined;
|
|
40
|
+
readonly pipelineRenderState: (renderState: MaterialRenderState | undefined) => MaterialRenderState | undefined;
|
|
41
|
+
readonly materialColorParameterSchema: (parameters: readonly MaterialParameter[], shaderId: string | undefined, assets: RenderAssetPort) => readonly MaterialColorParameterSchema[];
|
|
42
|
+
readonly materialNormalScale: (values: Readonly<Record<string, unknown>>) => number;
|
|
43
|
+
readonly materialParametersToParamSchema: (parameters: readonly MaterialParameter[], shaderId: string | undefined, assets: RenderAssetPort) => readonly ParamSchemaEntry[];
|
|
44
|
+
readonly collectUserRegionTextureHandles: (values: Readonly<Record<string, unknown>>, shaderId: string | undefined, paramSchema: readonly ParamSchemaEntry[] | undefined, derivedInterface: DerivedMaterialInterface | undefined, assets: RenderAssetPort, world: World, resolveTexture: (value: unknown, brand: 'TextureAsset') => Handle<'TextureAsset', 'shared'> | undefined, videoOut: Map<string, Handle<'VideoAsset', 'shared'>>, paramSchemaProjectionCensus?: ParamSchemaProjectionCensus) => Map<string, Handle<'TextureAsset', 'shared'>>;
|
|
45
|
+
readonly collectMaterialTextureSamplers: (values: Readonly<Record<string, unknown>>, resolveSampler: (value: unknown) => Handle<'SamplerAsset', 'shared'> | undefined) => Map<string, Handle<'SamplerAsset', 'shared'>>;
|
|
46
|
+
readonly materialTextureRef: (value: unknown) => unknown;
|
|
47
|
+
readonly collectMaterialTextureCoordinates: (values: Readonly<Record<string, unknown>>, schema: readonly ParamSchemaEntry[], derivedInterface?: DerivedMaterialInterface, paramSchemaProjectionCensus?: ParamSchemaProjectionCensus) => Map<string, import('@forgeax/engine-types').MaterialTextureCoordinates>;
|
|
48
|
+
readonly internSharedRefFromGuid: <B extends string>(world: World, assets: RenderAssetPort, guid: string, brand: B) => Handle<B, 'shared'> | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface MaterialInterfaceOwner {
|
|
51
|
+
readonly resolveMaterialSnapshot: (handleRaw: number, world: World, assets: RenderAssetPort, gpuStore?: GpuResourceStore, materialSnapshotCache?: MaterialSnapshotCache, persistentMaterialSnapshotCache?: MaterialSnapshotCache, paramSchemaProjectionCensus?: ParamSchemaProjectionCensus) => MaterialSnapshot;
|
|
52
|
+
}
|
|
53
|
+
export declare function resolveMaterialFromPort(root: MaterialAsset, assets: RenderAssetPort, runtimeShaderId?: (module: string | undefined, passName?: string) => string | undefined): Result<MaterialAsset, MaterialError>;
|
|
54
|
+
export declare function materialParametersToParamSchema(parameters: readonly MaterialParameter[]): readonly ParamSchemaEntry[];
|
|
55
|
+
export declare function createMaterialInterfaceOwner(deps: MaterialInterfaceDependencies): MaterialInterfaceOwner;
|
|
56
|
+
//# sourceMappingURL=material-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-interface.d.ts","sourceRoot":"","sources":["../../src/extract/material-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Camera, DirectionalLight } from '../components';
|
|
2
|
+
export interface RenderExtract {
|
|
3
|
+
readonly mesh: {
|
|
4
|
+
readonly assetHandle: unknown;
|
|
5
|
+
};
|
|
6
|
+
readonly light: {
|
|
7
|
+
readonly direction: unknown;
|
|
8
|
+
readonly intensity: number;
|
|
9
|
+
};
|
|
10
|
+
readonly camera: {
|
|
11
|
+
readonly projection: number;
|
|
12
|
+
readonly near: number;
|
|
13
|
+
readonly far: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/** Project the canonical render component rows without copying or adapting their shape. */
|
|
17
|
+
export declare function readRenderSchemas(mesh: Record<string, unknown>, light: Record<string, unknown>, camera: Record<string, unknown>): RenderExtract;
|
|
18
|
+
export type RenderCameraSchema = typeof Camera;
|
|
19
|
+
export type RenderDirectionalLightSchema = typeof DirectionalLight;
|
|
20
|
+
//# sourceMappingURL=schema-readers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-readers.d.ts","sourceRoot":"","sources":["../../src/extract/schema-readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/F;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAUf;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,MAAM,CAAC;AAC/C,MAAM,MAAM,4BAA4B,GAAG,OAAO,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type EntityHandle, type World } from '@forgeax/engine-ecs';
|
|
2
|
+
import { type SceneHierarchyDiagnostic, type SceneHierarchySnapshot } from '@forgeax/engine-scene';
|
|
3
|
+
import { type VisibilityState } from '../components/visibility';
|
|
4
|
+
export type VisibilitySource = 'default' | 'self' | 'parent';
|
|
5
|
+
export interface VisibilityResolution {
|
|
6
|
+
/** The component value authored on this entity before inheritance. */
|
|
7
|
+
readonly intent: VisibilityState;
|
|
8
|
+
/** The state consumed by render candidates after parent resolution. */
|
|
9
|
+
readonly effective: 'hidden' | 'visible';
|
|
10
|
+
/** Explains whether the effective state came from self, parent, or default. */
|
|
11
|
+
readonly source: VisibilitySource;
|
|
12
|
+
}
|
|
13
|
+
export interface VisibilitySnapshot {
|
|
14
|
+
readonly diagnostics: readonly SceneHierarchyDiagnostic[];
|
|
15
|
+
readonly hasAnyIntent: boolean;
|
|
16
|
+
readonly hasAnyHiddenIntent: boolean;
|
|
17
|
+
get(entity: EntityHandle): VisibilityResolution | undefined;
|
|
18
|
+
/** Resolve effective visibility for a render candidate, including inherited defaults. */
|
|
19
|
+
effective(entity: EntityHandle): 'hidden' | 'visible';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve author intent against the scene-owned valid parent projection.
|
|
23
|
+
* Diagnostics are preserved for callers to repair hierarchy input before retry.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveVisibility(world: World, hierarchy?: SceneHierarchySnapshot): VisibilitySnapshot;
|
|
26
|
+
//# sourceMappingURL=visibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../src/extract/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAC5D,yFAAyF;IACzF,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvD;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,sBAAgD,GAC1D,kBAAkB,CAyEpB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { PassDescriptor, RenderGraph, ResolveContext, ResourceDescriptor } from '@forgeax/engine-render-graph';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { type RenderError } from '../errors/render';
|
|
4
|
+
import type { PreparedGraphicsResolvedSnapshot } from '../prepare/prepared-graphics-resolver';
|
|
5
|
+
import type { RenderFeatureGpuComputePassDescriptor, RenderFeatureResolvedGpuComputePass } from './prepared-gpu-work';
|
|
6
|
+
import type { RenderFeatureGraphicsContributionStaging, RenderFeatureGraphicsPassDescriptor, RenderFeaturePreparedGraphicsState } from './prepared-graphics';
|
|
7
|
+
import type { RenderFeaturePassContext } from './types';
|
|
8
|
+
export interface RenderFeaturePassDependency {
|
|
9
|
+
readonly featureIdentity: string;
|
|
10
|
+
readonly passIdentity: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RenderFeaturePassOptions {
|
|
13
|
+
readonly dependsOn?: readonly RenderFeaturePassDependency[];
|
|
14
|
+
}
|
|
15
|
+
export interface RenderFeatureContributionResource {
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly descriptor: ResourceDescriptor;
|
|
18
|
+
}
|
|
19
|
+
export interface RenderFeatureContributionPass<Ctx = RenderFeaturePassContext> {
|
|
20
|
+
readonly featureIdentity: string;
|
|
21
|
+
readonly order: number;
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly descriptor: PassDescriptor<Ctx>;
|
|
24
|
+
readonly dependsOn: readonly string[];
|
|
25
|
+
readonly graphics?: RenderFeatureGraphicsPassDescriptor;
|
|
26
|
+
readonly graphicsState?: RenderFeaturePreparedGraphicsState;
|
|
27
|
+
readonly resolvedGraphics?: PreparedGraphicsResolvedSnapshot;
|
|
28
|
+
readonly gpuCompute?: RenderFeatureGpuComputePassDescriptor;
|
|
29
|
+
readonly resolvedGpuCompute?: RenderFeatureResolvedGpuComputePass;
|
|
30
|
+
}
|
|
31
|
+
export interface RenderFeatureGraphContribution<Ctx = RenderFeaturePassContext> {
|
|
32
|
+
readonly featureIdentity: string;
|
|
33
|
+
readonly order: number;
|
|
34
|
+
readonly resources: readonly RenderFeatureContributionResource[];
|
|
35
|
+
readonly passes: readonly RenderFeatureContributionPass<Ctx>[];
|
|
36
|
+
readonly topologySignature: string;
|
|
37
|
+
}
|
|
38
|
+
export interface RenderFeatureContributionStaging<Ctx = RenderFeaturePassContext> extends RenderFeatureGraphicsContributionStaging {
|
|
39
|
+
readonly resources: readonly RenderFeatureContributionResource[];
|
|
40
|
+
readonly passes: readonly RenderFeatureContributionPass<Ctx>[];
|
|
41
|
+
addResource(name: string, descriptor: ResourceDescriptor): Result<void, RenderError>;
|
|
42
|
+
addPass(name: string, descriptor: PassDescriptor<Ctx>, options?: RenderFeaturePassOptions): Result<void, RenderError>;
|
|
43
|
+
addComputePass(name: string, descriptor: RenderFeatureGpuComputePassDescriptor, options?: RenderFeaturePassOptions): Result<void, RenderError>;
|
|
44
|
+
commit(): Result<RenderFeatureGraphContribution<Ctx>, RenderError>;
|
|
45
|
+
abort(): void;
|
|
46
|
+
}
|
|
47
|
+
export type RenderFeatureGraphicsValidator = (descriptor: RenderFeatureGraphicsPassDescriptor, resources: readonly RenderFeatureContributionResource[]) => Result<RenderFeaturePreparedGraphicsState, RenderError>;
|
|
48
|
+
export type RenderFeatureGraphicsResolver = (descriptor: RenderFeatureGraphicsPassDescriptor) => Result<PreparedGraphicsResolvedSnapshot, RenderError>;
|
|
49
|
+
export type RenderFeatureGpuComputeResolver = (descriptor: RenderFeatureGpuComputePassDescriptor) => Result<RenderFeatureResolvedGpuComputePass, RenderError>;
|
|
50
|
+
export declare function createRenderFeatureContributionStaging<Ctx = RenderFeaturePassContext>(featureIdentity: string, order: number, validateGraphics?: RenderFeatureGraphicsValidator, resolveGraphics?: RenderFeatureGraphicsResolver, resolveGpuCompute?: RenderFeatureGpuComputeResolver): RenderFeatureContributionStaging<Ctx>;
|
|
51
|
+
export declare function mergeRenderFeatureContributions<Ctx>(contributions: readonly RenderFeatureGraphContribution<Ctx>[]): Result<RenderFeatureGraphContribution<Ctx>, RenderError>;
|
|
52
|
+
export interface RenderFeatureGraphComposition<GraphCtx = unknown, FeatureCtx = RenderFeaturePassContext> {
|
|
53
|
+
readonly graph: RenderGraph<GraphCtx>;
|
|
54
|
+
readonly topologySignature: string;
|
|
55
|
+
readonly passNames: readonly string[];
|
|
56
|
+
readonly executeCount: number;
|
|
57
|
+
update(contributions: readonly RenderFeatureGraphContribution<FeatureCtx>[]): {
|
|
58
|
+
readonly topologyChanged: boolean;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export type RenderFeatureGraphPassProjector<GraphCtx, FeatureCtx> = (context: GraphCtx, pass: RenderFeatureContributionPass<FeatureCtx>, resolveContext: ResolveContext, execute: (context: FeatureCtx) => void) => void;
|
|
62
|
+
export type RenderFeatureGraphErrorReporter = (featureIdentity: string, order: number, failure: unknown) => void;
|
|
63
|
+
export declare function composeRenderFeatureGraph<GraphCtx, FeatureCtx = RenderFeaturePassContext>(graph: RenderGraph<GraphCtx>, contributions: readonly RenderFeatureGraphContribution<FeatureCtx>[], project?: RenderFeatureGraphPassProjector<GraphCtx, FeatureCtx>, reportError?: RenderFeatureGraphErrorReporter): Result<RenderFeatureGraphComposition<GraphCtx, FeatureCtx>, RenderError>;
|
|
64
|
+
//# sourceMappingURL=graph-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-contribution.d.ts","sourceRoot":"","sources":["../../src/features/graph-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { RhiCaps } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type MaterialAsset, type MaterialError, type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { type RenderError } from '../errors/render';
|
|
4
|
+
import type { PreparedGraphicsResolver, PreparedGraphicsResourceLease } from '../prepare/prepared-graphics-resolver';
|
|
5
|
+
import type { RenderFeatureContributionStaging, RenderFeatureGpuComputeResolver, RenderFeatureGraphContribution, RenderFeatureGraphicsValidator } from './graph-contribution';
|
|
6
|
+
import type { RenderFeatureGpuWorkResolver } from './prepared-gpu-work';
|
|
7
|
+
import { type RenderFeatureGraphicsContributionStaging, type RenderFeatureMaterialShaderBindingContract } from './prepared-graphics';
|
|
8
|
+
import { type PreparedGraphicsTransaction } from './prepared-graphics-store';
|
|
9
|
+
import type { RenderFeature, RenderFeatureDiagnostics, RenderFeatureErrorDescriptor, RenderFeatureHiddenEntityReport, RenderFeatureRecoverInput, RenderFeatureResourceHandle, RenderFeatureStatus, RenderFeatureTargetHandle, RenderFeatureWorldVisibilitySnapshot } from './types';
|
|
10
|
+
export interface RenderFeatureStageEvent {
|
|
11
|
+
readonly featureIdentity: string;
|
|
12
|
+
readonly order: number;
|
|
13
|
+
readonly stage: 'extract' | 'prepare' | 'contribute';
|
|
14
|
+
}
|
|
15
|
+
export interface RenderFeatureFrameInput {
|
|
16
|
+
readonly worlds: readonly import('@forgeax/engine-ecs').World[];
|
|
17
|
+
readonly owner: number;
|
|
18
|
+
readonly frameNumber: number;
|
|
19
|
+
readonly visibilitySnapshots?: readonly RenderFeatureWorldVisibilitySnapshot[];
|
|
20
|
+
readonly hiddenEntityReports?: readonly RenderFeatureHiddenEntityReport[];
|
|
21
|
+
/** Active-pipeline logical targets available to producer-owned features. */
|
|
22
|
+
readonly targets?: readonly RenderFeatureTargetHandle[];
|
|
23
|
+
readonly generation?: number;
|
|
24
|
+
readonly caps: Readonly<RhiCaps>;
|
|
25
|
+
readonly createContributionStaging?: (featureIdentity: string, order: number, validateGraphics?: RenderFeatureGraphicsValidator, resolveGraphics?: import('./graph-contribution').RenderFeatureGraphicsResolver, resolveGpuCompute?: RenderFeatureGpuComputeResolver) => RenderFeatureContributionStaging & RenderFeatureGraphicsContributionStaging;
|
|
26
|
+
readonly createPreparedGraphicsResolver?: (input: RenderFeaturePreparedGraphicsResolverInput) => PreparedGraphicsResolver;
|
|
27
|
+
readonly getMaterialShaderBindingContract?: (materialShaderId: string) => RenderFeatureMaterialShaderBindingContract;
|
|
28
|
+
/** Render-owned cooked material projection used by prepared graphics. */
|
|
29
|
+
readonly resolveMaterialAsset?: (material: MaterialAsset) => Result<MaterialAsset, MaterialError>;
|
|
30
|
+
readonly getGpuWorkResolver?: (featureIdentity: string) => RenderFeatureGpuWorkResolver;
|
|
31
|
+
}
|
|
32
|
+
export interface RenderFeaturePreparedGraphicsResolverInput {
|
|
33
|
+
readonly featureIdentity: string;
|
|
34
|
+
readonly order: number;
|
|
35
|
+
readonly generation: number;
|
|
36
|
+
readonly transaction: PreparedGraphicsTransaction;
|
|
37
|
+
readonly lookup: (reference: import('./prepared-graphics').RenderFeaturePreparedRef) => import('./prepared-graphics-store').PreparedGraphicsItem | undefined;
|
|
38
|
+
}
|
|
39
|
+
export interface RenderFeatureFrameResult {
|
|
40
|
+
readonly events: readonly string[];
|
|
41
|
+
readonly stageEvents: readonly RenderFeatureStageEvent[];
|
|
42
|
+
readonly errors: readonly RenderError[];
|
|
43
|
+
readonly contributions: readonly RenderFeatureGraphContribution[];
|
|
44
|
+
readonly preparedResourceBatches: readonly RenderFeaturePreparedResourceBatch[];
|
|
45
|
+
readonly hiddenEntityReports: readonly RenderFeatureHiddenEntityReport[];
|
|
46
|
+
}
|
|
47
|
+
export interface RenderFeatureOwnedResource {
|
|
48
|
+
readonly handle: RenderFeatureResourceHandle;
|
|
49
|
+
readonly release: () => Result<void, RenderError>;
|
|
50
|
+
}
|
|
51
|
+
export interface RenderFeatureHost {
|
|
52
|
+
readonly size: number;
|
|
53
|
+
readonly features: readonly RenderFeature<unknown>[];
|
|
54
|
+
readonly preparedGeneration: number;
|
|
55
|
+
/** Install a producer after renderer creation; same object identity is idempotent. */
|
|
56
|
+
install(feature: RenderFeature<unknown>): Result<void, RenderError>;
|
|
57
|
+
/** Remove one installed producer and release every resource it owns. */
|
|
58
|
+
uninstall(feature: RenderFeature<unknown>): Result<void, RenderError>;
|
|
59
|
+
advancePreparedGeneration(): number;
|
|
60
|
+
registerResource(identity: string, resource: RenderFeatureOwnedResource): Result<void, RenderError>;
|
|
61
|
+
setStatus(identity: string, status: RenderFeatureStatus, latestError?: RenderFeatureErrorDescriptor): Result<void, RenderError>;
|
|
62
|
+
/** Record a failure from active-graph execution against its owning slot. */
|
|
63
|
+
recordError(identity: string, error: RenderError): RenderError;
|
|
64
|
+
beginPreparedFrame(identity: string, generation: number): PreparedGraphicsTransaction | undefined;
|
|
65
|
+
retainPreparedGraphics(identity: string, leases: readonly PreparedGraphicsResourceLease[]): Result<RenderFeaturePreparedResourceBatch, RenderError>;
|
|
66
|
+
/** Mark batches used by the just-recorded frame as protected by queue work. */
|
|
67
|
+
markPreparedGraphicsSubmitted(batches: readonly RenderFeaturePreparedResourceBatch[]): void;
|
|
68
|
+
/** Release completed batches, or all batches that were never submitted. */
|
|
69
|
+
retirePreparedGraphics(batches?: readonly RenderFeaturePreparedResourceBatch[]): Result<void, RenderError>;
|
|
70
|
+
/** Release submitted batches when queue completion rejects and cannot prove completion. */
|
|
71
|
+
recoverPreparedGraphics(batches: readonly RenderFeaturePreparedResourceBatch[]): Result<void, RenderError>;
|
|
72
|
+
recover(input: RenderFeatureRecoverInput): Result<void, RenderError>;
|
|
73
|
+
diagnostics(): readonly RenderFeatureDiagnostics[];
|
|
74
|
+
/** Subscribe to lifecycle projection changes; unchanged active frames are silent. */
|
|
75
|
+
subscribeDiagnostics(listener: () => void): () => void;
|
|
76
|
+
dispose(): Result<void, RenderError>;
|
|
77
|
+
}
|
|
78
|
+
export interface RenderFeaturePreparedResourceBatch {
|
|
79
|
+
release(): Result<void, RenderError>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Resolve a submitted batch from queue completion without conflating promise
|
|
83
|
+
* rejection with retirement failures. Rejection is treated as lost completion
|
|
84
|
+
* evidence, so the host releases only batches still marked submitted.
|
|
85
|
+
*/
|
|
86
|
+
export declare function settlePreparedGraphicsCompletion(host: RenderFeatureHost, batches: readonly RenderFeaturePreparedResourceBatch[], completion: PromiseLike<unknown>, onError: (error: unknown) => void): void;
|
|
87
|
+
/**
|
|
88
|
+
* Run the three typed stages once for every active feature.
|
|
89
|
+
*
|
|
90
|
+
* The feature value is kept in the slot closure: no heterogeneous FrameData
|
|
91
|
+
* ledger or assertion is needed between callbacks. A failure ends only the
|
|
92
|
+
* current slot and is retained in the host diagnostics projection.
|
|
93
|
+
*/
|
|
94
|
+
export declare function runRenderFeatureFrame(host: RenderFeatureHost, input: RenderFeatureFrameInput): RenderFeatureFrameResult;
|
|
95
|
+
/**
|
|
96
|
+
* Validate identities before creating typed slots or accepting resources.
|
|
97
|
+
* Registration order is the input order and is never sorted by feature kind.
|
|
98
|
+
*/
|
|
99
|
+
export declare function createRenderFeatureHost(features: readonly RenderFeature<unknown>[], _caps?: Readonly<RhiCaps>): Result<RenderFeatureHost, RenderError>;
|
|
100
|
+
//# sourceMappingURL=host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/features/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public RenderFeature index. The three modules are the machine-readable
|
|
3
|
+
* declaration route: graph contribution, prepared graphics, and lifecycle
|
|
4
|
+
* types. Host construction remains outside this barrel.
|
|
5
|
+
*/
|
|
6
|
+
export type { RenderFeatureContributionPass, RenderFeatureContributionResource, RenderFeatureContributionStaging, RenderFeatureGraphComposition, RenderFeatureGraphContribution, RenderFeaturePassDependency, RenderFeaturePassOptions, } from './graph-contribution';
|
|
7
|
+
export { createRenderFeatureContributionStaging } from './graph-contribution';
|
|
8
|
+
export * from './morph';
|
|
9
|
+
export type { RenderFeatureGpuBindingsDescriptor, RenderFeatureGpuBindingsRef, RenderFeatureGpuBufferDescriptor, RenderFeatureGpuBufferRef, RenderFeatureGpuBufferUsage, RenderFeatureGpuComputePassDescriptor, RenderFeatureGpuDispatch, RenderFeatureGpuPrepare, RenderFeatureGpuProgramDescriptor, RenderFeatureGpuProgramRef, } from './prepared-gpu-work';
|
|
10
|
+
export { createRenderFeatureGpuWorkResolver } from './prepared-gpu-work';
|
|
11
|
+
export type { PreparedKind, RenderFeatureBindingsDescriptor, RenderFeatureColorAttachment, RenderFeatureDepthStencilAttachment, RenderFeatureDrawCommand, RenderFeatureDrawRecord, RenderFeatureGraphicsContributionStaging, RenderFeatureGraphicsPassAttachments, RenderFeatureGraphicsPassDescriptor, RenderFeatureGraphicsPrepare, RenderFeatureIndexDataBinding, RenderFeatureIndexDataDescriptor, RenderFeatureIndexedDrawCommand, RenderFeatureMaterialShaderBindingContract, RenderFeaturePipelineDescriptor, RenderFeaturePreparedGraphicsState, RenderFeaturePreparedRef, RenderFeatureValidatedGraphicsPass, RenderFeatureVertexDataBinding, RenderFeatureVertexDataDescriptor, } from './prepared-graphics';
|
|
12
|
+
export { RENDER_FEATURE_VERTEX_LAYOUTS } from './prepared-graphics';
|
|
13
|
+
export { RenderFeatureComputeGraphProjection } from './render-graph-compute';
|
|
14
|
+
export { projectRenderFeatureContributions, type RenderFeatureTypedGraphProjection, } from './render-graph-contribution';
|
|
15
|
+
export { type RenderFeatureGraphBindingsResolver, type RenderFeatureGraphTarget, type RenderFeatureGraphTargetResolver, RenderFeatureRasterGraphProjection, } from './render-graph-raster';
|
|
16
|
+
export { RenderFeatureGraphBufferRegistry } from './render-graph-resources';
|
|
17
|
+
export { SCENE_TEMPORAL_CLEAR_VALUE, SCENE_TEMPORAL_PACKED_ABI, SCENE_TEMPORAL_TARGET_FORMAT, SCENE_TEMPORAL_TARGET_SAMPLE_COUNT, } from './scene-temporal';
|
|
18
|
+
export type { RenderFeatureTargetHandle, RenderFeatureTargetInput, RenderFeatureTargetKind, } from './targets';
|
|
19
|
+
export { createRenderFeatureTarget, isRenderFeatureTargetHandle, renderFeatureAttachmentResource, } from './targets';
|
|
20
|
+
export type { RenderFeature, RenderFeatureCapabilityKey, RenderFeatureContributeContext, RenderFeatureDiagnostics, RenderFeatureErrorCode, RenderFeatureErrorDescriptor, RenderFeatureErrorSink, RenderFeatureExtractContext, RenderFeatureFrameIdentity, RenderFeatureHiddenEntityReport, RenderFeaturePassContext, RenderFeaturePrepareContext, RenderFeatureRecoverInput, RenderFeatureRecovery, RenderFeatureResourceHandle, RenderFeatureStage, RenderFeatureStatus, RenderFeatureWorldVisibilitySnapshot, } from './types';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACV,6BAA6B,EAC7B,iCAAiC,EACjC,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sCAAsC,EAAE,MAAM,sBAAsB,CAAC;AAC9E,cAAc,SAAS,CAAC;AACxB,YAAY,EACV,kCAAkC,EAClC,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,2BAA2B,EAC3B,qCAAqC,EACrC,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EACV,YAAY,EACZ,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,EACvB,wCAAwC,EACxC,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,0CAA0C,EAC1C,+BAA+B,EAC/B,kCAAkC,EAClC,wBAAwB,EACxB,kCAAkC,EAClC,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,mCAAmC,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,KAAK,iCAAiC,GACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,oCAAoC,GACrC,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createMorphReentryState, deriveMorphBounds, MORPH_MAX_TARGETS, type MorphBounds, type MorphCullDecision, type MorphCullInput, type MorphReentryInput, type MorphReentryResult, type MorphReentryState, type MorphTargetBounds, type MorphVec3, morphCullDecision, stepMorphReentry, } from './morph-bounds';
|
|
2
|
+
export { createMorphFeature, MORPH_COMPUTE_WGSL, type MorphFeatureCollectContext, type MorphFeatureDraw, type MorphFeatureFrame, type MorphFeatureOptions, type MorphFeatureRenderable, } from './morph-feature';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/morph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare const MORPH_MAX_TARGETS = 8;
|
|
2
|
+
export type MorphVec3 = readonly [number, number, number];
|
|
3
|
+
export interface MorphBounds {
|
|
4
|
+
readonly min: MorphVec3;
|
|
5
|
+
readonly max: MorphVec3;
|
|
6
|
+
}
|
|
7
|
+
export interface MorphTargetBounds {
|
|
8
|
+
readonly min: MorphVec3;
|
|
9
|
+
readonly max: MorphVec3;
|
|
10
|
+
}
|
|
11
|
+
export interface MorphCullInput {
|
|
12
|
+
readonly weights?: ArrayLike<number>;
|
|
13
|
+
readonly expectedWeightCount: number;
|
|
14
|
+
readonly baseAabbIntersectsFrustum: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type MorphCullDecision = 'draw' | 'cull';
|
|
17
|
+
/** Compute a conservative AABB from base bounds and target delta bounds. */
|
|
18
|
+
export declare function deriveMorphBounds(base: MorphBounds, targets: readonly MorphTargetBounds[], weights: ArrayLike<number>): MorphBounds;
|
|
19
|
+
/** Keep non-zero valid morphs drawable even when their base AABB is outside. */
|
|
20
|
+
export declare function morphCullDecision(input: MorphCullInput): MorphCullDecision;
|
|
21
|
+
export interface MorphReentryState {
|
|
22
|
+
seen: boolean;
|
|
23
|
+
visible: boolean;
|
|
24
|
+
generation: number;
|
|
25
|
+
weights: Float32Array | undefined;
|
|
26
|
+
}
|
|
27
|
+
export interface MorphReentryInput {
|
|
28
|
+
readonly frameNumber: number;
|
|
29
|
+
readonly visible: boolean;
|
|
30
|
+
readonly generation: number;
|
|
31
|
+
readonly weights: ArrayLike<number>;
|
|
32
|
+
}
|
|
33
|
+
export interface MorphReentryResult {
|
|
34
|
+
readonly frameNumber: number;
|
|
35
|
+
readonly reentered: boolean;
|
|
36
|
+
readonly clearStale: boolean;
|
|
37
|
+
readonly weights: readonly number[];
|
|
38
|
+
}
|
|
39
|
+
export declare function createMorphReentryState(): MorphReentryState;
|
|
40
|
+
/** Track visibility transitions so a re-entry always rewrites the current weights. */
|
|
41
|
+
export declare function stepMorphReentry(state: MorphReentryState, input: MorphReentryInput): MorphReentryResult;
|
|
42
|
+
//# sourceMappingURL=morph-bounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"morph-bounds.d.ts","sourceRoot":"","sources":["../../../src/features/morph/morph-bounds.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAchD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,GACzB,WAAW,CA2Bb;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,CAS1E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAapB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { World } from '@forgeax/engine-ecs';
|
|
2
|
+
import type { RenderFeatureGpuBufferRef } from '../prepared-gpu-work';
|
|
3
|
+
import type { RenderFeature } from '../types';
|
|
4
|
+
import { type MorphBounds, type MorphTargetBounds } from './morph-bounds';
|
|
5
|
+
export declare const MORPH_COMPUTE_WGSL = "\nstruct MorphWeights { values: array<f32, 8> };\n@group(0) @binding(0) var<storage, read> source: array<vec4<f32>>;\n@group(0) @binding(1) var<storage, read_write> output: array<vec4<f32>>;\n@group(0) @binding(2) var<uniform> weights: MorphWeights;\n\n@compute @workgroup_size(64)\nfn morph_main(@builtin(global_invocation_id) id: vec3<u32>) {\n let vertex = id.x;\n let vertex_count = arrayLength(&output);\n if (vertex >= vertex_count) { return; }\n var position = source[vertex];\n for (var target_index = 0u; target_index < 8u; target_index = target_index + 1u) {\n position = position + source[(target_index + 1u) * vertex_count + vertex] * weights.values[target_index];\n }\n output[vertex] = position;\n}\n";
|
|
6
|
+
export interface MorphFeatureRenderable {
|
|
7
|
+
readonly identity: string;
|
|
8
|
+
readonly vertexCount: number;
|
|
9
|
+
readonly baseBounds: MorphBounds;
|
|
10
|
+
readonly targetBounds: readonly MorphTargetBounds[];
|
|
11
|
+
readonly weights: ArrayLike<number>;
|
|
12
|
+
readonly baseAabbIntersectsFrustum: boolean;
|
|
13
|
+
readonly basePositions?: ArrayLike<number>;
|
|
14
|
+
readonly targetDeltas?: ArrayLike<number>;
|
|
15
|
+
}
|
|
16
|
+
export interface MorphFeatureCollectContext {
|
|
17
|
+
readonly worlds: readonly World[];
|
|
18
|
+
readonly frameNumber: number;
|
|
19
|
+
}
|
|
20
|
+
export interface MorphFeatureOptions {
|
|
21
|
+
readonly collect: (context: MorphFeatureCollectContext) => readonly MorphFeatureRenderable[];
|
|
22
|
+
}
|
|
23
|
+
export interface MorphFeatureDraw {
|
|
24
|
+
readonly identity: string;
|
|
25
|
+
readonly vertexCount: number;
|
|
26
|
+
readonly targetCount: number;
|
|
27
|
+
readonly bounds: MorphBounds;
|
|
28
|
+
readonly weights: Float32Array;
|
|
29
|
+
readonly reentered: boolean;
|
|
30
|
+
readonly clearStale: boolean;
|
|
31
|
+
readonly source: Float32Array;
|
|
32
|
+
}
|
|
33
|
+
export interface MorphFeatureFrame {
|
|
34
|
+
readonly frameNumber: number;
|
|
35
|
+
readonly draws: readonly MorphFeatureDraw[];
|
|
36
|
+
readonly culledCount: number;
|
|
37
|
+
readonly zeroWeightCount: number;
|
|
38
|
+
readonly reentryCount: number;
|
|
39
|
+
}
|
|
40
|
+
export interface MorphFeature extends RenderFeature<MorphFeatureFrame> {
|
|
41
|
+
/** Resolve the current output buffer for an evidence readback or downstream draw. */
|
|
42
|
+
preparedOutput(identity: string): RenderFeatureGpuBufferRef | undefined;
|
|
43
|
+
}
|
|
44
|
+
export declare function createMorphFeature(options: MorphFeatureOptions): MorphFeature;
|
|
45
|
+
//# sourceMappingURL=morph-feature.d.ts.map
|