@forgeax/engine-render 0.0.0-dev.8d955ade1c79
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 +647 -0
- package/dist/.tsbuildinfo +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__/callback-inference.test-d.d.ts +2 -0
- package/dist/__tests__/callback-inference.test-d.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__/device-scope-lifecycle.unit.test.d.ts +2 -0
- package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts.map +1 -0
- package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts +2 -0
- package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts.map +1 -0
- package/dist/__tests__/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__/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__/frame-observation.contract.test.d.ts +2 -0
- package/dist/__tests__/frame-observation.contract.test.d.ts.map +1 -0
- package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts +2 -0
- package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts.map +1 -0
- package/dist/__tests__/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 +18 -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-reference.d.ts +15 -0
- package/dist/__tests__/gpu-driven-view-reference.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-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__/ibl/face-uniforms.unit.test.d.ts +2 -0
- package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts.map +1 -0
- package/dist/__tests__/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-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__/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-feature-plan.unit.test.d.ts +2 -0
- package/dist/__tests__/morph-feature-plan.unit.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__/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-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.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-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-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-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-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-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-plan.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-plan.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-plan.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-plan.unit.test.d.ts.map +1 -0
- package/dist/__tests__/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.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-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__/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__/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-config.unit.test.d.ts +2 -0
- package/dist/__tests__/ssao-config.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__/standard-clustered-pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/standard-descriptors.test-d.d.ts +2 -0
- package/dist/__tests__/standard-descriptors.test-d.d.ts.map +1 -0
- package/dist/__tests__/standard-pipeline.dawn.test.d.ts +2 -0
- package/dist/__tests__/standard-pipeline.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/standard-pipeline.integration.test.d.ts +2 -0
- package/dist/__tests__/standard-pipeline.integration.test.d.ts.map +1 -0
- package/dist/__tests__/standard-profile-oracle.unit.test.d.ts +2 -0
- package/dist/__tests__/standard-profile-oracle.unit.test.d.ts.map +1 -0
- package/dist/__tests__/surface-configuration.unit.test.d.ts +2 -0
- package/dist/__tests__/surface-configuration.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-resource-short-circuit.unit.test.d.ts +2 -0
- package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts.map +1 -0
- package/dist/__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/assembly/backend-contract.d.ts +37 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +207 -0
- package/dist/assembly/factory.d.ts.map +1 -0
- package/dist/assembly/host-contract.d.ts +84 -0
- package/dist/assembly/host-contract.d.ts.map +1 -0
- package/dist/assembly/material/assembly.d.ts +21 -0
- package/dist/assembly/material/assembly.d.ts.map +1 -0
- package/dist/assembly/material/pipeline-projection.d.ts +30 -0
- package/dist/assembly/material/pipeline-projection.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 +27 -0
- package/dist/authoring.mjs.map +1 -0
- package/dist/chunk-CQXZC5XI.mjs +182 -0
- package/dist/chunk-CQXZC5XI.mjs.map +1 -0
- package/dist/chunk-HCOGPHKS.mjs +93 -0
- package/dist/chunk-HCOGPHKS.mjs.map +1 -0
- package/dist/chunk-YEJIUW7D.mjs +1152 -0
- package/dist/chunk-YEJIUW7D.mjs.map +1 -0
- package/dist/cluster-binner.d.ts +152 -0
- package/dist/cluster-binner.d.ts.map +1 -0
- package/dist/components/__tests__/points-lines-admission.unit.test.d.ts +2 -0
- package/dist/components/__tests__/points-lines-admission.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/points-lines-schema.unit.test.d.ts +2 -0
- package/dist/components/__tests__/points-lines-schema.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/schema-contract.unit.test.d.ts +2 -0
- package/dist/components/__tests__/schema-contract.unit.test.d.ts.map +1 -0
- package/dist/components/__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/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/glyph-text.d.ts +26 -0
- package/dist/components/glyph-text.d.ts.map +1 -0
- package/dist/components/index.d.ts +24 -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/lines.d.ts +5 -0
- package/dist/components/lines.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/points.d.ts +15 -0
- package/dist/components/points.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/skybox-background.d.ts +56 -0
- package/dist/components/skybox-background.d.ts.map +1 -0
- package/dist/components/skylight.d.ts +55 -0
- package/dist/components/skylight.d.ts.map +1 -0
- package/dist/components/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 +74 -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 +42 -0
- package/dist/components/sprite-playback-mode.d.ts.map +1 -0
- package/dist/components/sprite-region-override.d.ts +46 -0
- package/dist/components/sprite-region-override.d.ts.map +1 -0
- package/dist/components/tile-layer.d.ts +106 -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 +19 -0
- package/dist/construct-renderer.d.ts.map +1 -0
- package/dist/construct-renderer.mjs +27462 -0
- package/dist/construct-renderer.mjs.map +1 -0
- package/dist/debug-draw-glue.d.ts +5 -0
- package/dist/debug-draw-glue.d.ts.map +1 -0
- package/dist/device/device-scope.d.ts +83 -0
- package/dist/device/device-scope.d.ts.map +1 -0
- package/dist/device/gpu-residency.d.ts +337 -0
- package/dist/device/gpu-residency.d.ts.map +1 -0
- package/dist/device/resource-types.d.ts +8 -0
- package/dist/device/resource-types.d.ts.map +1 -0
- package/dist/engine-metrics.d.ts +23 -0
- package/dist/engine-metrics.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 +105 -0
- package/dist/errors/recover.d.ts.map +1 -0
- package/dist/errors/render.d.ts +705 -0
- package/dist/errors/render.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/fullscreen.d.ts +19 -0
- package/dist/features/fullscreen.d.ts.map +1 -0
- package/dist/features/host.d.ts +106 -0
- package/dist/features/host.d.ts.map +1 -0
- package/dist/features/morph/morph-feature.d.ts +79 -0
- package/dist/features/morph/morph-feature.d.ts.map +1 -0
- package/dist/features/plan.d.ts +182 -0
- package/dist/features/plan.d.ts.map +1 -0
- package/dist/features/prepared-gpu-work.d.ts +117 -0
- package/dist/features/prepared-gpu-work.d.ts.map +1 -0
- package/dist/features/prepared-graphics-store.d.ts +66 -0
- package/dist/features/prepared-graphics-store.d.ts.map +1 -0
- package/dist/features/prepared-graphics.d.ts +215 -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 +12 -0
- package/dist/features/render-graph-contribution.d.ts.map +1 -0
- package/dist/features/render-graph-raster.d.ts +38 -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/targets.d.ts +32 -0
- package/dist/features/targets.d.ts.map +1 -0
- package/dist/features/types.d.ts +68 -0
- package/dist/features/types.d.ts.map +1 -0
- package/dist/features/vocabulary.d.ts +14 -0
- package/dist/features/vocabulary.d.ts.map +1 -0
- package/dist/fullscreen-post-process-pass.d.ts +157 -0
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -0
- package/dist/glyph-text-layout-system.d.ts +19 -0
- package/dist/glyph-text-layout-system.d.ts.map +1 -0
- package/dist/gpu-driven/batch-topology.d.ts +55 -0
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -0
- package/dist/gpu-driven/production-raster.d.ts +51 -0
- package/dist/gpu-driven/production-raster.d.ts.map +1 -0
- package/dist/gpu-driven/view-gpu.d.ts +85 -0
- package/dist/gpu-driven/view-gpu.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 +78 -0
- package/dist/gpu-scene-schema.d.ts.map +1 -0
- package/dist/gpu-scene.d.ts +55 -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 +163 -0
- package/dist/hdrp-buffers.d.ts.map +1 -0
- package/dist/ibl/IblPipelineCache.d.ts +168 -0
- package/dist/ibl/IblPipelineCache.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 +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +169 -0
- package/dist/index.mjs.map +1 -0
- package/dist/inspection-types.d.ts +72 -0
- package/dist/inspection-types.d.ts.map +1 -0
- package/dist/instance-buffer-cache.d.ts +56 -0
- package/dist/instance-buffer-cache.d.ts.map +1 -0
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.mjs +3 -0
- package/dist/internal.mjs.map +1 -0
- package/dist/lifecycle.d.ts +62 -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 +47 -0
- package/dist/materials.d.ts.map +1 -0
- package/dist/mesh-material-bindings.d.ts +43 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -0
- package/dist/pbr-pipeline.d.ts +301 -0
- package/dist/pbr-pipeline.d.ts.map +1 -0
- package/dist/pipeline/standard-forward-lane.d.ts +5 -0
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -0
- package/dist/pipeline/standard-pipeline.d.ts +31 -0
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -0
- package/dist/pipeline/standard-profile.d.ts +40 -0
- package/dist/pipeline/standard-profile.d.ts.map +1 -0
- package/dist/pipeline-builder.d.ts +122 -0
- package/dist/pipeline-builder.d.ts.map +1 -0
- package/dist/pipeline-spec-types.d.ts +24 -0
- package/dist/pipeline-spec-types.d.ts.map +1 -0
- package/dist/pipeline-spec.d.ts +367 -0
- package/dist/pipeline-spec.d.ts.map +1 -0
- package/dist/plugin.d.ts +4 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/points-lines/__tests__/bounds.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/bounds.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts +2 -0
- package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/inspection.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/inspection.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts +2 -0
- package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/points-lines.bench.d.ts +2 -0
- package/dist/points-lines/__tests__/points-lines.bench.d.ts.map +1 -0
- package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts +2 -0
- package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/snapshot.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/snapshot.unit.test.d.ts.map +1 -0
- package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts +2 -0
- package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts.map +1 -0
- package/dist/points-lines/admission.d.ts +36 -0
- package/dist/points-lines/admission.d.ts.map +1 -0
- package/dist/points-lines/bounds.d.ts +8 -0
- package/dist/points-lines/bounds.d.ts.map +1 -0
- package/dist/points-lines/expansion-cache.d.ts +28 -0
- package/dist/points-lines/expansion-cache.d.ts.map +1 -0
- package/dist/points-lines/inspection.d.ts +53 -0
- package/dist/points-lines/inspection.d.ts.map +1 -0
- package/dist/points-lines/prepare.d.ts +67 -0
- package/dist/points-lines/prepare.d.ts.map +1 -0
- package/dist/points-lines/record.d.ts +60 -0
- package/dist/points-lines/record.d.ts.map +1 -0
- package/dist/points-lines/snapshot.d.ts +49 -0
- package/dist/points-lines/snapshot.d.ts.map +1 -0
- package/dist/post-process-errors.d.ts +182 -0
- package/dist/post-process-errors.d.ts.map +1 -0
- package/dist/prepare/prepared-graphics-resolver.d.ts +59 -0
- package/dist/prepare/prepared-graphics-resolver.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__/typed-frame-graph-plan.unit.test.d.ts +2 -0
- package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts.map +1 -0
- package/dist/record/__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/frame-lighting.d.ts +121 -0
- package/dist/record/frame-lighting.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 +20 -0
- package/dist/record/frame-targets.d.ts.map +1 -0
- package/dist/record/frame.d.ts +71 -0
- package/dist/record/frame.d.ts.map +1 -0
- package/dist/record/helpers.d.ts +102 -0
- package/dist/record/helpers.d.ts.map +1 -0
- package/dist/record/main-pass-geometry.d.ts +28 -0
- package/dist/record/main-pass-geometry.d.ts.map +1 -0
- package/dist/record/main-pass-material.d.ts +204 -0
- package/dist/record/main-pass-material.d.ts.map +1 -0
- package/dist/record/main-pass-sprite-draws.d.ts +43 -0
- package/dist/record/main-pass-sprite-draws.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/mesh-ssbo.d.ts +446 -0
- package/dist/record/mesh-ssbo.d.ts.map +1 -0
- package/dist/record/render-context.d.ts +252 -0
- package/dist/record/render-context.d.ts.map +1 -0
- package/dist/record/shadow-pass.d.ts +52 -0
- package/dist/record/shadow-pass.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 +35 -0
- package/dist/record/typed-frame-graph.d.ts.map +1 -0
- package/dist/record/view-ubo.d.ts +45 -0
- package/dist/record/view-ubo.d.ts.map +1 -0
- package/dist/render-contract.d.ts +424 -0
- package/dist/render-contract.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-graph-primitives.d.ts +76 -0
- package/dist/render-graph-primitives.d.ts.map +1 -0
- package/dist/render-pipeline.d.ts +110 -0
- package/dist/render-pipeline.d.ts.map +1 -0
- package/dist/render-system-extract.d.ts +868 -0
- package/dist/render-system-extract.d.ts.map +1 -0
- package/dist/render-system.d.ts +125 -0
- package/dist/render-system.d.ts.map +1 -0
- package/dist/scene/render-scene-types.d.ts +61 -0
- package/dist/scene/render-scene-types.d.ts.map +1 -0
- package/dist/scene/render-scene.d.ts +112 -0
- package/dist/scene/render-scene.d.ts.map +1 -0
- package/dist/scene-instances/post-spawn-resolve-joints.d.ts +30 -0
- package/dist/scene-instances/post-spawn-resolve-joints.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 +50 -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/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 +49 -0
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -0
- package/dist/systems/skin-palette-types.d.ts +14 -0
- package/dist/systems/skin-palette-types.d.ts.map +1 -0
- package/dist/systems/transparent-sort-config.d.ts +112 -0
- package/dist/systems/transparent-sort-config.d.ts.map +1 -0
- package/dist/tilemap-chunk-extract-system.d.ts +143 -0
- package/dist/tilemap-chunk-extract-system.d.ts.map +1 -0
- package/dist/typed-render-graph-primitives.d.ts +57 -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/package.json +94 -0
- package/src/__tests__/authoring-path.unit.test.ts +23 -0
- package/src/__tests__/backend-selection-rhi-capture.test-d.ts +21 -0
- package/src/__tests__/callback-inference.test-d.ts +8 -0
- package/src/__tests__/cluster-binner.test.ts +272 -0
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +20 -0
- package/src/__tests__/construct-renderer-identity.unit.test.ts +23 -0
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +151 -0
- package/src/__tests__/device-scope-stale-matrix.unit.test.ts +42 -0
- package/src/__tests__/direct-extract-consumer-contract.test-d.ts +23 -0
- package/src/__tests__/direct-light-snapshot.unit.test.ts +61 -0
- package/src/__tests__/factory-contract.integration.test.ts +280 -0
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +15 -0
- package/src/__tests__/frame-observation.contract.test.ts +112 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +32 -0
- package/src/__tests__/glyph-text-layout-recovery.unit.test.ts +167 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +350 -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 +436 -0
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +87 -0
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +271 -0
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +290 -0
- package/src/__tests__/gpu-driven-view-reference.ts +111 -0
- package/src/__tests__/gpu-driven-view.browser.test.ts +30 -0
- package/src/__tests__/gpu-driven-view.dawn.test.ts +28 -0
- package/src/__tests__/gpu-driven-view.unit.test.ts +199 -0
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +59 -0
- package/src/__tests__/gpu-scene-render-graph-gpu.ts +308 -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 +205 -0
- package/src/__tests__/gpu-scene.unit.test.ts +147 -0
- package/src/__tests__/ibl/face-uniforms.unit.test.ts +46 -0
- package/src/__tests__/infinite-grid-no-vertex-probe.unit.test.ts +92 -0
- package/src/__tests__/injection-kind-owner.test-d.ts +14 -0
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +728 -0
- package/src/__tests__/light-buffer-layout.unit.test.ts +40 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +24 -0
- package/src/__tests__/material-cooked-projection.unit.test.ts +150 -0
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +53 -0
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +94 -0
- package/src/__tests__/material-stride-surface.unit.test.ts +32 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +106 -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 +157 -0
- package/src/__tests__/morph-feature-gpu-work.integration.test.ts +80 -0
- package/src/__tests__/morph-feature-plan.unit.test.ts +53 -0
- package/src/__tests__/morph-visual-evidence.integration.test.ts +80 -0
- package/src/__tests__/nineslice-handle-surface.unit.test.ts +19 -0
- package/src/__tests__/post-process-error-policy-owner.unit.test.ts +201 -0
- package/src/__tests__/prepared-buffer-kind-owner.test-d.ts +29 -0
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +65 -0
- package/src/__tests__/prepared-graphics-generation.unit.test.ts +161 -0
- package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +138 -0
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +29 -0
- package/src/__tests__/prepared-graphics-resolver.unit.test.ts +285 -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 +62 -0
- package/src/__tests__/profiler-phase-token.test.ts +79 -0
- package/src/__tests__/public-surface.test-d.ts +94 -0
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +107 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +116 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +139 -0
- package/src/__tests__/render-error-exhaustive.test-d.ts +110 -0
- package/src/__tests__/render-feature-assembly.test-d.ts +43 -0
- package/src/__tests__/render-feature-context.test-d.ts +57 -0
- package/src/__tests__/render-feature-contract.test-d.ts +49 -0
- package/src/__tests__/render-feature-diagnostics.unit.test.ts +149 -0
- package/src/__tests__/render-feature-docs.unit.test.ts +89 -0
- package/src/__tests__/render-feature-errors.unit.test.ts +47 -0
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +316 -0
- package/src/__tests__/render-feature-plan.test-d.ts +161 -0
- package/src/__tests__/render-feature-plan.unit.test.ts +170 -0
- package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +90 -0
- package/src/__tests__/render-feature-prepared-errors.test-d.ts +79 -0
- package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +80 -0
- package/src/__tests__/render-feature-prepared-graphics-isolation.unit.test.ts +72 -0
- package/src/__tests__/render-feature-prepared-graphics-negative.test-d.ts +36 -0
- package/src/__tests__/render-feature-prepared-graphics.test-d.ts +74 -0
- package/src/__tests__/render-feature-prepared-graphics.unit.test.ts +121 -0
- package/src/__tests__/render-feature-public-surface.test-d.ts +57 -0
- package/src/__tests__/render-feature-retry.unit.test.ts +87 -0
- package/src/__tests__/render-feature-scheduling.unit.test.ts +110 -0
- package/src/__tests__/render-feature-stage-failed-policy-owner.unit.test.ts +137 -0
- package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +146 -0
- package/src/__tests__/render-feature-visibility-context.test-d.ts +33 -0
- package/src/__tests__/render-feature-visibility-context.unit.test.ts +37 -0
- package/src/__tests__/render-feature-zero-work.unit.test.ts +76 -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 +168 -0
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +121 -0
- package/src/__tests__/renderer-lifecycle.integration.test.ts +58 -0
- package/src/__tests__/rhi-backend-package-boundary.unit.test.ts +11 -0
- package/src/__tests__/scriptable-pack-consumer.test-d.ts +14 -0
- package/src/__tests__/shader-stage-surface.unit.test.ts +43 -0
- package/src/__tests__/ssao-config.unit.test.ts +36 -0
- package/src/__tests__/ssao-kernel-surface.unit.test.ts +14 -0
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +28 -0
- package/src/__tests__/standard-descriptors.test-d.ts +22 -0
- package/src/__tests__/standard-pipeline.dawn.test.ts +61 -0
- package/src/__tests__/standard-pipeline.integration.test.ts +124 -0
- package/src/__tests__/standard-profile-oracle.unit.test.ts +62 -0
- package/src/__tests__/surface-configuration.unit.test.ts +91 -0
- package/src/__tests__/texture-usage-surface.unit.test.ts +58 -0
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +223 -0
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +42 -0
- package/src/__tests__/urp-pipeline.unit.test.ts +14 -0
- package/src/__tests__/vertex-color-pipeline.unit.test.ts +132 -0
- package/src/__tests__/vertex-layout-consumer.unit.test.ts +25 -0
- package/src/__tests__/visibility-diagnostics.integration.test.ts +62 -0
- package/src/__tests__/visibility-extract.integration.test.ts +98 -0
- package/src/__tests__/visibility-extract.perf.test.ts +130 -0
- package/src/__tests__/visibility-feature-dedup.integration.test.ts +55 -0
- package/src/__tests__/visibility-hidden-report.unit.test.ts +36 -0
- package/src/__tests__/visibility-instances.integration.test.ts +46 -0
- package/src/__tests__/visibility-multi-world.integration.test.ts +86 -0
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +168 -0
- package/src/__tests__/visibility-producer-matrix.unit.test.ts +96 -0
- package/src/__tests__/visibility-public-surface.test-d.ts +27 -0
- package/src/__tests__/visibility-resolver.unit.test.ts +85 -0
- package/src/__tests__/visibility-resource-short-circuit.unit.test.ts +80 -0
- package/src/__tests__/visibility-snapshot-contract.unit.test.ts +60 -0
- package/src/__tests__/vocabulary.unit.test.ts +21 -0
- package/src/assembly/backend-contract.ts +57 -0
- package/src/assembly/factory.ts +8130 -0
- package/src/assembly/host-contract.ts +101 -0
- package/src/assembly/material/assembly.ts +48 -0
- package/src/assembly/material/pipeline-projection.ts +63 -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 +17 -0
- package/src/cluster-binner.ts +700 -0
- package/src/components/__tests__/points-lines-admission.unit.test.ts +219 -0
- package/src/components/__tests__/points-lines-schema.unit.test.ts +56 -0
- package/src/components/__tests__/schema-contract.unit.test.ts +10 -0
- package/src/components/__tests__/schema-parity.unit.test.ts +25 -0
- package/src/components/__tests__/visibility-schema.unit.test.ts +35 -0
- package/src/components/camera.ts +512 -0
- package/src/components/directional-light.ts +120 -0
- package/src/components/glyph-text.ts +64 -0
- package/src/components/index.ts +54 -0
- package/src/components/instances.ts +206 -0
- package/src/components/layer.ts +69 -0
- package/src/components/light-helpers.ts +188 -0
- package/src/components/lines.ts +18 -0
- package/src/components/mesh-filter.ts +60 -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/points.ts +40 -0
- package/src/components/post-process-params.ts +35 -0
- package/src/components/scene-instance.ts +193 -0
- package/src/components/skybox-background.ts +103 -0
- package/src/components/skylight.ts +97 -0
- package/src/components/sort-key.ts +75 -0
- package/src/components/spot-light.ts +124 -0
- package/src/components/sprite-animation.ts +168 -0
- package/src/components/sprite-instances.ts +179 -0
- package/src/components/sprite-playback-mode.ts +79 -0
- package/src/components/sprite-region-override.ts +105 -0
- package/src/components/tile-layer.ts +167 -0
- package/src/components/tilemap.ts +48 -0
- package/src/components/visibility.ts +53 -0
- package/src/construct-renderer.ts +67 -0
- package/src/debug-draw-glue.ts +48 -0
- package/src/device/device-scope.ts +306 -0
- package/src/device/gpu-residency.ts +1822 -0
- package/src/device/resource-types.ts +20 -0
- package/src/engine-metrics.ts +82 -0
- package/src/errors/ecs-validation.ts +16 -0
- package/src/errors/index.ts +3 -0
- package/src/errors/recover.ts +161 -0
- package/src/errors/render.ts +1284 -0
- package/src/extract/visibility.ts +120 -0
- package/src/features/fullscreen.ts +46 -0
- package/src/features/host.ts +1363 -0
- package/src/features/morph/morph-feature.ts +377 -0
- package/src/features/plan.ts +447 -0
- package/src/features/prepared-gpu-work.ts +959 -0
- package/src/features/prepared-graphics-store.ts +449 -0
- package/src/features/prepared-graphics.ts +420 -0
- package/src/features/render-graph-compute.ts +69 -0
- package/src/features/render-graph-contribution.ts +75 -0
- package/src/features/render-graph-raster.ts +332 -0
- package/src/features/render-graph-resources.ts +38 -0
- package/src/features/targets.ts +70 -0
- package/src/features/types.ts +103 -0
- package/src/features/vocabulary.ts +24 -0
- package/src/fullscreen-post-process-pass.ts +363 -0
- package/src/glyph-text-layout-system.ts +421 -0
- package/src/gpu-driven/batch-topology.ts +245 -0
- package/src/gpu-driven/production-raster.ts +695 -0
- package/src/gpu-driven/view-gpu.ts +703 -0
- package/src/gpu-resource.ts +159 -0
- package/src/gpu-scene-schema.ts +136 -0
- package/src/gpu-scene.ts +722 -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 +480 -0
- package/src/ibl/IblPipelineCache.ts +1006 -0
- package/src/ibl/skylight-bind-group.ts +513 -0
- package/src/index.ts +129 -0
- package/src/inspection-types.ts +80 -0
- package/src/instance-buffer-cache.ts +95 -0
- package/src/internal.ts +9 -0
- package/src/lifecycle.ts +168 -0
- package/src/light-buffer-layout.ts +346 -0
- package/src/materials.ts +214 -0
- package/src/mesh-material-bindings.ts +103 -0
- package/src/pbr-pipeline.ts +1137 -0
- package/src/pipeline/standard-forward-lane.ts +229 -0
- package/src/pipeline/standard-pipeline.ts +555 -0
- package/src/pipeline/standard-profile.ts +65 -0
- package/src/pipeline-builder.ts +382 -0
- package/src/pipeline-spec-types.ts +28 -0
- package/src/pipeline-spec.ts +1231 -0
- package/src/plugin.ts +69 -0
- package/src/points-lines/__tests__/bounds.unit.test.ts +21 -0
- package/src/points-lines/__tests__/cache-recovery.unit.test.ts +157 -0
- package/src/points-lines/__tests__/inspection-lanes.integration.test.ts +146 -0
- package/src/points-lines/__tests__/inspection.unit.test.ts +173 -0
- package/src/points-lines/__tests__/lane-structural.integration.test.ts +122 -0
- package/src/points-lines/__tests__/points-lines.bench.ts +400 -0
- package/src/points-lines/__tests__/raster-lane.integration.test.ts +44 -0
- package/src/points-lines/__tests__/snapshot.unit.test.ts +101 -0
- package/src/points-lines/__tests__/view-ubo.unit.test.ts +73 -0
- package/src/points-lines/admission.ts +238 -0
- package/src/points-lines/bounds.ts +23 -0
- package/src/points-lines/expansion-cache.ts +215 -0
- package/src/points-lines/inspection.ts +97 -0
- package/src/points-lines/prepare.ts +177 -0
- package/src/points-lines/record.ts +125 -0
- package/src/points-lines/snapshot.ts +130 -0
- package/src/post-process-errors.ts +302 -0
- package/src/prepare/prepared-graphics-resolver.ts +456 -0
- package/src/record/__tests__/material-bg-cache.unit.test.ts +41 -0
- package/src/record/__tests__/material-slot-plan.unit.test.ts +44 -0
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +41 -0
- package/src/record/__tests__/video-texture-view.unit.test.ts +90 -0
- package/src/record/frame-lighting.ts +1074 -0
- package/src/record/frame-snapshot.ts +500 -0
- package/src/record/frame-targets.ts +137 -0
- package/src/record/frame.ts +1598 -0
- package/src/record/helpers.ts +284 -0
- package/src/record/main-pass-geometry.ts +1065 -0
- package/src/record/main-pass-material.ts +1043 -0
- package/src/record/main-pass-sprite-draws.ts +1137 -0
- package/src/record/main-pass.ts +610 -0
- package/src/record/mesh-ssbo.ts +885 -0
- package/src/record/render-context.ts +384 -0
- package/src/record/shadow-pass.ts +698 -0
- package/src/record/skybox-post-pass.ts +593 -0
- package/src/record/typed-frame-graph.ts +461 -0
- package/src/record/view-ubo.ts +222 -0
- package/src/render-contract.ts +582 -0
- package/src/render-data.ts +385 -0
- package/src/render-graph-primitives.ts +811 -0
- package/src/render-pipeline.ts +259 -0
- package/src/render-system-extract.ts +4585 -0
- package/src/render-system.ts +1933 -0
- package/src/scene/render-scene-types.ts +67 -0
- package/src/scene/render-scene.ts +1087 -0
- package/src/scene-instances/post-spawn-resolve-joints.ts +165 -0
- package/src/shadow-atlas.ts +244 -0
- package/src/ssao-buffers.ts +334 -0
- package/src/ssao-config.ts +61 -0
- package/src/systems/active-camera.ts +116 -0
- package/src/systems/pass-selector.ts +49 -0
- package/src/systems/skin-palette-allocator.ts +251 -0
- package/src/systems/skin-palette-types.ts +14 -0
- package/src/systems/transparent-sort-config.ts +233 -0
- package/src/tilemap-chunk-extract-system.ts +1290 -0
- package/src/typed-render-graph-primitives.ts +541 -0
- package/src/typed-shadow-passes.ts +165 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { TextureFormat } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { type RenderError } from '../errors/render';
|
|
4
|
+
import type { PreparedKind, RenderFeatureBindingsDescriptor, RenderFeatureIndexDataDescriptor, RenderFeaturePipelineDescriptor, RenderFeaturePreparedGraphicsState, RenderFeaturePreparedRef, RenderFeatureVertexDataDescriptor } from './prepared-graphics';
|
|
5
|
+
import type { RenderFeatureTargetHandle } from './targets';
|
|
6
|
+
export type PreparedGraphicsKind = Exclude<PreparedKind, 'attachment'>;
|
|
7
|
+
export type PreparedGraphicsRequestByKind = {
|
|
8
|
+
pipeline: RenderFeaturePipelineDescriptor;
|
|
9
|
+
bindings: RenderFeatureBindingsDescriptor;
|
|
10
|
+
'vertex-data': RenderFeatureVertexDataDescriptor;
|
|
11
|
+
'index-data': RenderFeatureIndexDataDescriptor;
|
|
12
|
+
};
|
|
13
|
+
type PreparedGraphicsSignature = {
|
|
14
|
+
readonly signature: string;
|
|
15
|
+
};
|
|
16
|
+
export type PreparedGraphicsNormalizedDescriptor = (RenderFeaturePipelineDescriptor & {
|
|
17
|
+
readonly kind: 'pipeline';
|
|
18
|
+
}) | (RenderFeatureBindingsDescriptor & {
|
|
19
|
+
readonly kind: 'bindings';
|
|
20
|
+
}) | {
|
|
21
|
+
readonly kind: 'vertex-data';
|
|
22
|
+
readonly layout: string;
|
|
23
|
+
readonly data?: readonly number[];
|
|
24
|
+
readonly buffer?: import('./prepared-gpu-work').RenderFeatureGpuBufferRef;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: 'index-data';
|
|
27
|
+
readonly format: 'uint16' | 'uint32';
|
|
28
|
+
readonly data?: readonly number[];
|
|
29
|
+
readonly buffer?: import('./prepared-gpu-work').RenderFeatureGpuBufferRef;
|
|
30
|
+
};
|
|
31
|
+
export interface PreparedGraphicsItem<Kind extends PreparedGraphicsKind = PreparedGraphicsKind> {
|
|
32
|
+
readonly featureIdentity: string;
|
|
33
|
+
readonly generation: number;
|
|
34
|
+
readonly kind: Kind;
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly signature: string;
|
|
37
|
+
readonly reference: RenderFeaturePreparedRef<Kind>;
|
|
38
|
+
readonly descriptor?: PreparedGraphicsNormalizedDescriptor;
|
|
39
|
+
readonly uploadBytes?: readonly number[];
|
|
40
|
+
}
|
|
41
|
+
export interface PreparedGraphicsStoreSnapshot {
|
|
42
|
+
readonly generation: number;
|
|
43
|
+
readonly items: readonly PreparedGraphicsItem[];
|
|
44
|
+
}
|
|
45
|
+
export interface PreparedGraphicsTransaction {
|
|
46
|
+
readonly featureIdentity: string;
|
|
47
|
+
readonly generation: number;
|
|
48
|
+
prepare<Kind extends PreparedGraphicsKind>(kind: Kind, name: string, descriptor: PreparedGraphicsRequestByKind[Kind] | PreparedGraphicsSignature): Result<RenderFeaturePreparedRef<Kind>, RenderError>;
|
|
49
|
+
committedItems(): readonly PreparedGraphicsItem[];
|
|
50
|
+
overlayItems(): readonly PreparedGraphicsItem[];
|
|
51
|
+
owns(reference: RenderFeaturePreparedRef): boolean;
|
|
52
|
+
graphicsState(capabilityAvailable: boolean, attachments: readonly {
|
|
53
|
+
readonly resource: string | RenderFeatureTargetHandle;
|
|
54
|
+
readonly format: TextureFormat;
|
|
55
|
+
}[]): RenderFeaturePreparedGraphicsState;
|
|
56
|
+
commit(): Result<PreparedGraphicsStoreSnapshot, RenderError>;
|
|
57
|
+
abort(): void;
|
|
58
|
+
}
|
|
59
|
+
export interface PreparedGraphicsStore {
|
|
60
|
+
beginFrame(featureIdentity: string, generation: number): PreparedGraphicsTransaction;
|
|
61
|
+
snapshot(featureIdentity: string): PreparedGraphicsStoreSnapshot;
|
|
62
|
+
invalidate(featureIdentity: string, generation: number): void;
|
|
63
|
+
}
|
|
64
|
+
export declare function createPreparedGraphicsStore(): PreparedGraphicsStore;
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=prepared-graphics-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-graphics-store.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public prepared-graphics vocabulary for producer-owned RenderFeatures.
|
|
3
|
+
*
|
|
4
|
+
* The five prepared kinds are declarative references only: the render owner
|
|
5
|
+
* retains device, resource, graph, recording, and submission ownership.
|
|
6
|
+
*/
|
|
7
|
+
import type { TextureFormat } from '@forgeax/engine-rhi';
|
|
8
|
+
import { type MaterialRenderState, type PrimitiveTopology, type Result } from '@forgeax/engine-types';
|
|
9
|
+
import { type RenderError } from '../errors/render';
|
|
10
|
+
import type { RenderFeatureGpuBufferRef } from './prepared-gpu-work';
|
|
11
|
+
import type { RenderFeatureTargetHandle } from './targets';
|
|
12
|
+
import type { PreparedKind } from './vocabulary';
|
|
13
|
+
/** Closed prepared kinds: pipeline, bindings, vertex/index data, and attachment. */
|
|
14
|
+
export type { PreparedKind } from './vocabulary';
|
|
15
|
+
/** Canonical vertex layouts owned by the prepared-graphics host. */
|
|
16
|
+
export declare const RENDER_FEATURE_VERTEX_LAYOUTS: Readonly<{
|
|
17
|
+
readonly positionSizeColorInstance: "position-size-color-instance";
|
|
18
|
+
readonly billboardMaterialInstance: "billboard-material-instance";
|
|
19
|
+
readonly topologySegmentInstance: "topology-segment-instance";
|
|
20
|
+
readonly meshGeometryMaterialInstance: "mesh-geometry-material-instance";
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Opaque render-owned state identified by its prepared kind and device generation.
|
|
24
|
+
* A generation change invalidates old references after device recovery or
|
|
25
|
+
* pipeline replacement; features never construct or inspect backend handles.
|
|
26
|
+
* Features may pass this reference back to the render owner but do not receive a
|
|
27
|
+
* device, encoder, backend handle, or submit authority.
|
|
28
|
+
*/
|
|
29
|
+
export interface RenderFeaturePreparedRef<Kind extends PreparedKind = PreparedKind> {
|
|
30
|
+
readonly kind: Kind;
|
|
31
|
+
readonly generation: number;
|
|
32
|
+
}
|
|
33
|
+
/** Declarative request for a registered graphics pipeline. */
|
|
34
|
+
export interface RenderFeaturePipelineDescriptor {
|
|
35
|
+
readonly shader: string;
|
|
36
|
+
readonly vertexLayout: string;
|
|
37
|
+
readonly colorFormats: readonly TextureFormat[];
|
|
38
|
+
readonly depthFormat?: TextureFormat;
|
|
39
|
+
/** Sample count of the target this pipeline will draw into. */
|
|
40
|
+
readonly sampleCount?: 1 | 4;
|
|
41
|
+
/** Primitive topology consumed by the prepared draw. */
|
|
42
|
+
readonly topology?: PrimitiveTopology;
|
|
43
|
+
/** Index scalar format when the topology consumes an index buffer. */
|
|
44
|
+
readonly indexFormat?: 'uint16' | 'uint32';
|
|
45
|
+
/**
|
|
46
|
+
* Declarative raster/depth/blend overrides for this pipeline. The render
|
|
47
|
+
* owner maps this portable material state onto the backend pipeline; a
|
|
48
|
+
* feature never receives a backend pipeline descriptor or device handle.
|
|
49
|
+
*/
|
|
50
|
+
readonly renderState?: MaterialRenderState;
|
|
51
|
+
}
|
|
52
|
+
/** Declarative request for values bound through a prepared pipeline. */
|
|
53
|
+
export interface RenderFeatureBindingsDescriptor {
|
|
54
|
+
readonly pipeline: RenderFeaturePreparedRef<'pipeline'>;
|
|
55
|
+
readonly values: Readonly<Record<string, unknown>> & {
|
|
56
|
+
readonly group?: number;
|
|
57
|
+
readonly sceneDepth?: RenderFeatureTargetHandle;
|
|
58
|
+
/** Binding slot for a view-plus-scene-depth group (0 keeps legacy behavior). */
|
|
59
|
+
readonly sceneDepthBinding?: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** CPU-owned vertex data and its canonical layout identity. */
|
|
63
|
+
export type RenderFeatureVertexDataDescriptor = {
|
|
64
|
+
readonly layout: string;
|
|
65
|
+
readonly data: ArrayBufferView | readonly number[];
|
|
66
|
+
readonly buffer?: never;
|
|
67
|
+
} | {
|
|
68
|
+
readonly layout: string;
|
|
69
|
+
readonly buffer: RenderFeatureGpuBufferRef;
|
|
70
|
+
readonly data?: never;
|
|
71
|
+
};
|
|
72
|
+
/** CPU-owned or persistent GPU-owned index data and its scalar format. */
|
|
73
|
+
export type RenderFeatureIndexDataDescriptor = {
|
|
74
|
+
readonly format: 'uint16' | 'uint32';
|
|
75
|
+
readonly data: Uint16Array | Uint32Array;
|
|
76
|
+
readonly buffer?: never;
|
|
77
|
+
} | {
|
|
78
|
+
readonly format: 'uint16' | 'uint32';
|
|
79
|
+
readonly buffer: RenderFeatureGpuBufferRef;
|
|
80
|
+
readonly data?: never;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Feature-facing preparation facade. Call these methods during `prepare`, then
|
|
84
|
+
* pass the returned references to `addGraphicsPass` during `contribute`; the
|
|
85
|
+
* render owner retains resource, graph, recording, and submission ownership.
|
|
86
|
+
*/
|
|
87
|
+
export interface RenderFeatureGraphicsPrepare {
|
|
88
|
+
/** Prepare a registered graphics pipeline without exposing backend state. */
|
|
89
|
+
preparePipeline(name: string, descriptor: RenderFeaturePipelineDescriptor): Result<RenderFeaturePreparedRef<'pipeline'>, RenderError>;
|
|
90
|
+
/** Prepare bindings compatible with a prepared pipeline. */
|
|
91
|
+
prepareBindings(name: string, descriptor: RenderFeatureBindingsDescriptor): Result<RenderFeaturePreparedRef<'bindings'>, RenderError>;
|
|
92
|
+
/** Prepare vertex data using a canonical layout identity. */
|
|
93
|
+
prepareVertexData(name: string, descriptor: RenderFeatureVertexDataDescriptor): Result<RenderFeaturePreparedRef<'vertex-data'>, RenderError>;
|
|
94
|
+
/** Prepare index data for an indexed draw record. */
|
|
95
|
+
prepareIndexData(name: string, descriptor: RenderFeatureIndexDataDescriptor): Result<RenderFeaturePreparedRef<'index-data'>, RenderError>;
|
|
96
|
+
}
|
|
97
|
+
/** A color target declared by a graphics pass. */
|
|
98
|
+
export interface RenderFeatureColorAttachment {
|
|
99
|
+
readonly resource: string | RenderFeatureTargetHandle;
|
|
100
|
+
readonly format: TextureFormat;
|
|
101
|
+
readonly loadOp: 'load' | 'clear';
|
|
102
|
+
readonly storeOp: 'store' | 'discard';
|
|
103
|
+
}
|
|
104
|
+
/** A depth/stencil target declared by a graphics pass. */
|
|
105
|
+
export interface RenderFeatureDepthStencilAttachment {
|
|
106
|
+
readonly resource: string | RenderFeatureTargetHandle;
|
|
107
|
+
readonly format: TextureFormat;
|
|
108
|
+
readonly depthLoadOp: 'load' | 'clear';
|
|
109
|
+
readonly depthStoreOp: 'store' | 'discard';
|
|
110
|
+
}
|
|
111
|
+
/** The attachments a graphics pass requires from the render owner. */
|
|
112
|
+
export interface RenderFeatureGraphicsPassAttachments {
|
|
113
|
+
readonly colors: readonly RenderFeatureColorAttachment[];
|
|
114
|
+
readonly depthStencil?: RenderFeatureDepthStencilAttachment;
|
|
115
|
+
}
|
|
116
|
+
/** One vertex slot consumed by a declarative draw record. */
|
|
117
|
+
export interface RenderFeatureVertexDataBinding {
|
|
118
|
+
readonly slot: number;
|
|
119
|
+
readonly resource: RenderFeaturePreparedRef<'vertex-data'>;
|
|
120
|
+
}
|
|
121
|
+
/** Non-indexed draw command. */
|
|
122
|
+
export interface RenderFeatureDrawCommand {
|
|
123
|
+
readonly vertexCount: number;
|
|
124
|
+
readonly instanceCount: number;
|
|
125
|
+
readonly firstVertex?: number;
|
|
126
|
+
readonly firstInstance?: number;
|
|
127
|
+
}
|
|
128
|
+
/** Indexed draw command. */
|
|
129
|
+
export interface RenderFeatureIndexedDrawCommand {
|
|
130
|
+
readonly indexCount: number;
|
|
131
|
+
readonly instanceCount: number;
|
|
132
|
+
readonly firstIndex?: number;
|
|
133
|
+
readonly baseVertex?: number;
|
|
134
|
+
readonly firstInstance?: number;
|
|
135
|
+
}
|
|
136
|
+
export interface RenderFeatureIndirectDrawCommand {
|
|
137
|
+
readonly buffer: RenderFeatureGpuBufferRef;
|
|
138
|
+
readonly offset?: number;
|
|
139
|
+
}
|
|
140
|
+
/** Index state attached to an indexed draw record. */
|
|
141
|
+
export interface RenderFeatureIndexDataBinding {
|
|
142
|
+
readonly resource: RenderFeaturePreparedRef<'index-data'>;
|
|
143
|
+
readonly format: 'uint16' | 'uint32';
|
|
144
|
+
}
|
|
145
|
+
/** The two supported graphics draw record shapes: vertex-only and indexed. */
|
|
146
|
+
export type RenderFeatureDrawRecord = {
|
|
147
|
+
readonly kind: 'draw';
|
|
148
|
+
readonly pipeline: RenderFeaturePreparedRef<'pipeline'>;
|
|
149
|
+
readonly bindings: readonly RenderFeaturePreparedRef<'bindings'>[];
|
|
150
|
+
readonly vertexData: readonly RenderFeatureVertexDataBinding[];
|
|
151
|
+
/** Explicit fullscreen contract: the vertex shader owns vertex_index. */
|
|
152
|
+
readonly vertexLayout?: 'none';
|
|
153
|
+
readonly indexData?: RenderFeatureIndexDataBinding;
|
|
154
|
+
readonly command: RenderFeatureDrawCommand;
|
|
155
|
+
} | {
|
|
156
|
+
readonly kind: 'draw-indirect';
|
|
157
|
+
readonly pipeline: RenderFeaturePreparedRef<'pipeline'>;
|
|
158
|
+
readonly bindings: readonly RenderFeaturePreparedRef<'bindings'>[];
|
|
159
|
+
readonly vertexData: readonly RenderFeatureVertexDataBinding[];
|
|
160
|
+
readonly vertexLayout?: 'none';
|
|
161
|
+
readonly indexData?: RenderFeatureIndexDataBinding;
|
|
162
|
+
readonly command: RenderFeatureIndirectDrawCommand;
|
|
163
|
+
} | {
|
|
164
|
+
readonly kind: 'draw-indexed';
|
|
165
|
+
readonly pipeline: RenderFeaturePreparedRef<'pipeline'>;
|
|
166
|
+
readonly bindings: readonly RenderFeaturePreparedRef<'bindings'>[];
|
|
167
|
+
readonly vertexData: readonly RenderFeatureVertexDataBinding[];
|
|
168
|
+
readonly vertexLayout?: 'none';
|
|
169
|
+
readonly indexData: RenderFeatureIndexDataBinding | undefined;
|
|
170
|
+
readonly command: RenderFeatureIndexedDrawCommand;
|
|
171
|
+
} | {
|
|
172
|
+
readonly kind: 'draw-indexed-indirect';
|
|
173
|
+
readonly pipeline: RenderFeaturePreparedRef<'pipeline'>;
|
|
174
|
+
readonly bindings: readonly RenderFeaturePreparedRef<'bindings'>[];
|
|
175
|
+
readonly vertexData: readonly RenderFeatureVertexDataBinding[];
|
|
176
|
+
readonly vertexLayout?: 'none';
|
|
177
|
+
readonly indexData: RenderFeatureIndexDataBinding | undefined;
|
|
178
|
+
readonly command: RenderFeatureIndirectDrawCommand;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Declaration submitted to the existing graph-owned contribution staging.
|
|
182
|
+
* This is a graphics extension of graph-only `addPass`, not a second graph.
|
|
183
|
+
*/
|
|
184
|
+
export interface RenderFeatureGraphicsPassDescriptor {
|
|
185
|
+
readonly attachments: RenderFeatureGraphicsPassAttachments;
|
|
186
|
+
/** Targets sampled by shaders but not attached for writing in this pass. */
|
|
187
|
+
readonly sampledTargets?: readonly RenderFeatureTargetHandle[];
|
|
188
|
+
readonly draws: readonly RenderFeatureDrawRecord[];
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Prepared state projected by the render owner for pure descriptor validation.
|
|
192
|
+
* The generation and opaque references are host facts, not producer-owned GPU
|
|
193
|
+
* state.
|
|
194
|
+
*/
|
|
195
|
+
export interface RenderFeaturePreparedGraphicsState {
|
|
196
|
+
readonly capabilityAvailable: boolean;
|
|
197
|
+
readonly generation: number;
|
|
198
|
+
readonly attachments: readonly {
|
|
199
|
+
readonly resource: string | RenderFeatureTargetHandle;
|
|
200
|
+
readonly format: TextureFormat;
|
|
201
|
+
}[];
|
|
202
|
+
readonly pipeline: RenderFeaturePreparedRef | undefined;
|
|
203
|
+
/** All prepared pipelines available to the current graphics pass. */
|
|
204
|
+
readonly pipelines?: readonly RenderFeaturePreparedRef[];
|
|
205
|
+
readonly bindings: readonly RenderFeaturePreparedRef[];
|
|
206
|
+
readonly vertexData: readonly RenderFeaturePreparedRef[];
|
|
207
|
+
readonly indexData: readonly RenderFeaturePreparedRef[];
|
|
208
|
+
}
|
|
209
|
+
/** Successful validation result consumed by the render host projector. */
|
|
210
|
+
export interface RenderFeatureValidatedGraphicsPass {
|
|
211
|
+
readonly acceptedDrawCount: number;
|
|
212
|
+
}
|
|
213
|
+
/** Validate a graphics declaration without touching an RHI backend. */
|
|
214
|
+
export declare function validateRenderFeatureGraphicsPass(featureIdentity: string, descriptor: RenderFeatureGraphicsPassDescriptor, state: RenderFeaturePreparedGraphicsState): Result<RenderFeatureValidatedGraphicsPass, RenderError>;
|
|
215
|
+
//# sourceMappingURL=prepared-graphics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-graphics.d.ts","sourceRoot":"","sources":["../../src/features/prepared-graphics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,oFAAoF;AACpF,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,oEAAoE;AACpE,eAAO,MAAM,6BAA6B;;;;;EAK/B,CAAC;AAEZ;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY;IAChF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,8DAA8D;AAC9D,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAED,wEAAwE;AACxE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;QACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC;QAChD,gFAAgF;QAChF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KACrC,CAAC;CACH;AAED,+DAA+D;AAC/D,MAAM,MAAM,iCAAiC,GACzC;IACE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEN,0EAA0E;AAC1E,MAAM,MAAM,gCAAgC,GACxC;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6EAA6E;IAC7E,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,+BAA+B,GAC1C,MAAM,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7D,4DAA4D;IAC5D,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,+BAA+B,GAC1C,MAAM,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7D,6DAA6D;IAC7D,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,iCAAiC,GAC5C,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,qDAAqD;IACrD,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,gCAAgC,GAC3C,MAAM,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC;CAChE;AAED,kDAAkD;AAClD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED,0DAA0D;AAC1D,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C;AAED,sEAAsE;AACtE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,mCAAmC,CAAC;CAC7D;AAED,6DAA6D;AAC7D,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;CAC5D;AAED,gCAAgC;AAChC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,4BAA4B;AAC5B,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,sDAAsD;AACtD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACtC;AAED,8EAA8E;AAC9E,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAC/D,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC;CACpD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;CACnD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC;CACpD,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,WAAW,EAAE,oCAAoC,CAAC;IAC3D,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS;QAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAAC;QACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;KAChC,EAAE,CAAC;IACJ,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxD,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD,QAAQ,CAAC,SAAS,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACzD;AAED,0EAA0E;AAC1E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AA6FD,uEAAuE;AACvE,wBAAgB,iCAAiC,CAC/C,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,mCAAmC,EAC/C,KAAK,EAAE,kCAAkC,GACxC,MAAM,CAAC,kCAAkC,EAAE,WAAW,CAAC,CA0DzD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
+
import type { Result } from '@forgeax/engine-types';
|
|
3
|
+
import { type RenderError } from '../errors/render';
|
|
4
|
+
import { type RenderFeatureResolvedGpuComputePass } from './prepared-gpu-work';
|
|
5
|
+
import { type RenderFeatureGraphBufferState } from './render-graph-resources';
|
|
6
|
+
export declare class RenderFeatureComputeGraphProjection<FrameCtx extends RenderGraphFrame> {
|
|
7
|
+
private readonly builder;
|
|
8
|
+
private readonly reportError?;
|
|
9
|
+
private readonly resources;
|
|
10
|
+
constructor(builder: RenderGraphBuilder<FrameCtx>, resources?: RenderFeatureGraphBufferState, reportError?: ((error: RenderError) => void) | undefined);
|
|
11
|
+
addPass(name: string, featureIdentity: string, order: number, work: RenderFeatureResolvedGpuComputePass): Result<void, RenderGraphError>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=render-graph-compute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-graph-compute.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-compute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAyC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAElC,qBAAa,mCAAmC,CAAC,QAAQ,SAAS,gBAAgB;IAI9E,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAL/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;gBAGvC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACtD,SAAS,CAAC,EAAE,6BAA6B,EACxB,WAAW,CAAC,GAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,aAAA;IAK7D,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mCAAmC,GACxC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;CAmClC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { type RenderError } from '../errors/render';
|
|
4
|
+
import type { RenderFeaturePlanExecution } from './host';
|
|
5
|
+
import { type RenderFeatureGraphBindingsResolver, type RenderFeatureGraphTargetResolver } from './render-graph-raster';
|
|
6
|
+
/** Project the host-owned plan execution directly into the one typed graph. */
|
|
7
|
+
export declare function projectRenderFeaturePlans<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, executions: readonly RenderFeaturePlanExecution[], options: {
|
|
8
|
+
readonly resolveTarget: RenderFeatureGraphTargetResolver;
|
|
9
|
+
readonly resolveBindings?: RenderFeatureGraphBindingsResolver<FrameCtx> | undefined;
|
|
10
|
+
readonly reportError?: ((error: RenderError) => void) | undefined;
|
|
11
|
+
}): Result<void, RenderGraphError | RenderError>;
|
|
12
|
+
//# sourceMappingURL=render-graph-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-graph-contribution.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EAEtC,MAAM,uBAAuB,CAAC;AAG/B,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,gBAAgB,EACzE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACrC,UAAU,EAAE,SAAS,0BAA0B,EAAE,EACjD,OAAO,EAAE;IACP,QAAQ,CAAC,aAAa,EAAE,gCAAgC,CAAC;IACzD,QAAQ,CAAC,eAAe,CAAC,EAAE,kCAAkC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACnE,GACA,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAiD9C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { GraphResourceResolver, GraphTexture, GraphTextureView, RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
+
import type { BindGroup } from '@forgeax/engine-rhi';
|
|
3
|
+
import { type Result } from '@forgeax/engine-types';
|
|
4
|
+
import { type RenderError } from '../errors/render';
|
|
5
|
+
import type { PreparedGraphicsResolvedResource, PreparedGraphicsResolvedSnapshot } from '../prepare/prepared-graphics-resolver';
|
|
6
|
+
import type { RenderFeatureGraphicsPassDescriptor, RenderFeaturePreparedGraphicsState } from './prepared-graphics';
|
|
7
|
+
import { type RenderFeatureGraphBufferState } from './render-graph-resources';
|
|
8
|
+
import type { RenderFeatureTargetHandle } from './targets';
|
|
9
|
+
export interface RenderFeatureGraphTarget {
|
|
10
|
+
readonly texture: GraphTexture;
|
|
11
|
+
readonly view: GraphTextureView;
|
|
12
|
+
readonly resolveTarget?: GraphTextureView | undefined;
|
|
13
|
+
}
|
|
14
|
+
export type RenderFeatureGraphTargetResolver = (resource: string | RenderFeatureTargetHandle) => RenderFeatureGraphTarget | undefined;
|
|
15
|
+
export type RenderFeatureGraphBindingsResolution = BindGroup | {
|
|
16
|
+
readonly handle: BindGroup;
|
|
17
|
+
readonly dynamicOffsets?: readonly number[];
|
|
18
|
+
};
|
|
19
|
+
export type RenderFeatureGraphBindingsResolver<FrameCtx extends RenderGraphFrame> = (input: {
|
|
20
|
+
readonly frame: FrameCtx;
|
|
21
|
+
readonly binding: Extract<PreparedGraphicsResolvedResource, {
|
|
22
|
+
readonly kind: 'bindings';
|
|
23
|
+
}>;
|
|
24
|
+
readonly resources: GraphResourceResolver;
|
|
25
|
+
readonly resolveTarget: RenderFeatureGraphTargetResolver;
|
|
26
|
+
}) => RenderFeatureGraphBindingsResolution | undefined;
|
|
27
|
+
export declare class RenderFeatureRasterGraphProjection<FrameCtx extends RenderGraphFrame> {
|
|
28
|
+
private readonly builder;
|
|
29
|
+
private readonly resolveTarget;
|
|
30
|
+
private readonly resolveBindings?;
|
|
31
|
+
private readonly reportError?;
|
|
32
|
+
private readonly buffers;
|
|
33
|
+
constructor(builder: RenderGraphBuilder<FrameCtx>, resolveTarget: RenderFeatureGraphTargetResolver, resolveBindings?: RenderFeatureGraphBindingsResolver<FrameCtx> | undefined, buffers?: RenderFeatureGraphBufferState, reportError?: ((error: RenderError) => void) | undefined);
|
|
34
|
+
addPass(name: string, featureIdentity: string, order: number, descriptor: RenderFeatureGraphicsPassDescriptor, state: RenderFeaturePreparedGraphicsState, snapshot: PreparedGraphicsResolvedSnapshot): Result<void, RenderGraphError | RenderError>;
|
|
35
|
+
private importDrawBuffers;
|
|
36
|
+
private encode;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=render-graph-raster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-graph-raster.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-raster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EACV,mCAAmC,EACnC,kCAAkC,EAEnC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,MAAM,gCAAgC,GAAG,CAC7C,QAAQ,EAAE,MAAM,GAAG,yBAAyB,KACzC,wBAAwB,GAAG,SAAS,CAAC;AAE1C,MAAM,MAAM,oCAAoC,GAC5C,SAAS,GACT;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEN,MAAM,MAAM,kCAAkC,CAAC,QAAQ,SAAS,gBAAgB,IAAI,CAAC,KAAK,EAAE;IAC1F,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,gCAAgC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gCAAgC,CAAC;CAC1D,KAAK,oCAAoC,GAAG,SAAS,CAAC;AAmBvD,qBAAa,kCAAkC,CAAC,QAAQ,SAAS,gBAAgB;IAI7E,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAP/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;gBAGrC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAE,gCAAgC,EAC/C,eAAe,CAAC,EAAE,kCAAkC,CAAC,QAAQ,CAAC,YAAA,EAC/E,OAAO,CAAC,EAAE,6BAA6B,EACtB,WAAW,CAAC,GAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,aAAA;IAK7D,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,mCAAmC,EAC/C,KAAK,EAAE,kCAAkC,EACzC,QAAQ,EAAE,gCAAgC,GACzC,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAAC;IAkG/C,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,MAAM;CAoFf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GraphBuffer, RenderGraphBuilder, RenderGraphError, RenderGraphFrame } from '@forgeax/engine-render-graph';
|
|
2
|
+
import type { Buffer } from '@forgeax/engine-rhi';
|
|
3
|
+
import { type Result } from '@forgeax/engine-types';
|
|
4
|
+
import type { RenderFeatureResolvedGpuBuffer } from './prepared-gpu-work';
|
|
5
|
+
export interface RenderFeatureGraphBufferState {
|
|
6
|
+
readonly handles: Map<Buffer, GraphBuffer>;
|
|
7
|
+
readonly labelCounts: Map<string, number>;
|
|
8
|
+
}
|
|
9
|
+
export declare function createRenderFeatureGraphBufferState(): RenderFeatureGraphBufferState;
|
|
10
|
+
export declare function importRenderFeatureGraphBuffer<FrameCtx extends RenderGraphFrame>(builder: RenderGraphBuilder<FrameCtx>, state: RenderFeatureGraphBufferState, label: string, resource: RenderFeatureResolvedGpuBuffer): Result<GraphBuffer, RenderGraphError>;
|
|
11
|
+
//# sourceMappingURL=render-graph-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-graph-resources.d.ts","sourceRoot":"","sources":["../../src/features/render-graph-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,wBAAgB,mCAAmC,IAAI,6BAA6B,CAEnF;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,SAAS,gBAAgB,EAC9E,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACrC,KAAK,EAAE,6BAA6B,EACpC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,8BAA8B,GACvC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAavC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { TextureFormat } from '@forgeax/engine-rhi';
|
|
2
|
+
/** Render-owned logical targets exposed to producer-owned RenderFeatures. */
|
|
3
|
+
export type RenderFeatureTargetKind = 'scene-color' | 'scene-depth';
|
|
4
|
+
/**
|
|
5
|
+
* A logical attachment supplied by the active RenderPipeline.
|
|
6
|
+
*
|
|
7
|
+
* The semantic kind plus attachment facts identify the target. The active
|
|
8
|
+
* pipeline supplies the graph resource, so feature authors never name an
|
|
9
|
+
* internal graph key.
|
|
10
|
+
*/
|
|
11
|
+
export interface RenderFeatureTargetHandle {
|
|
12
|
+
readonly kind: RenderFeatureTargetKind;
|
|
13
|
+
readonly format: TextureFormat;
|
|
14
|
+
readonly sampleCount: 1 | 4;
|
|
15
|
+
readonly __renderFeatureTarget: unique symbol;
|
|
16
|
+
}
|
|
17
|
+
export interface RenderFeatureTargetInput {
|
|
18
|
+
readonly kind: RenderFeatureTargetKind;
|
|
19
|
+
readonly format: TextureFormat;
|
|
20
|
+
readonly sampleCount: 1 | 4;
|
|
21
|
+
}
|
|
22
|
+
export declare function createRenderFeatureTarget(input: RenderFeatureTargetInput): RenderFeatureTargetHandle;
|
|
23
|
+
export declare function isRenderFeatureTargetHandle(value: unknown): value is RenderFeatureTargetHandle;
|
|
24
|
+
export declare function renderFeatureAttachmentResource(resource: string | RenderFeatureTargetHandle): string;
|
|
25
|
+
export declare function resolveStandardRenderFeatureTargets(input: {
|
|
26
|
+
readonly tonemap: string;
|
|
27
|
+
readonly antialias: string;
|
|
28
|
+
readonly storageBuffer: boolean;
|
|
29
|
+
readonly multisample: boolean;
|
|
30
|
+
readonly colorAttachmentFormat: TextureFormat;
|
|
31
|
+
}): readonly RenderFeatureTargetHandle[];
|
|
32
|
+
//# sourceMappingURL=targets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/features/targets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,6EAA6E;AAE7E,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,aAAa,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,qBAAqB,EAAE,OAAO,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,wBAAwB,GAC9B,yBAAyB,CAE3B;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAQ9F;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAC3C,MAAM,CAER;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC;CAC/C,GAAG,SAAS,yBAAyB,EAAE,CAevC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** Public RenderFeature lifecycle, diagnostics, and host-context declarations. */
|
|
2
|
+
import type { EntityHandle, World } from '@forgeax/engine-ecs';
|
|
3
|
+
import type { RhiCaps } from '@forgeax/engine-rhi';
|
|
4
|
+
import type { Result } from '@forgeax/engine-types';
|
|
5
|
+
import type { RenderError, RenderFeatureErrorDescriptor } from '../errors/render';
|
|
6
|
+
import type { VisibilitySnapshot } from '../extract/visibility';
|
|
7
|
+
import type { RenderFeaturePlan, RenderFeaturePlanContext } from './plan';
|
|
8
|
+
import type { RenderFeatureCapabilityKey } from './vocabulary';
|
|
9
|
+
export type { RenderFeatureCapabilityMissingDetail, RenderFeatureCleanupFailure, RenderFeatureDrawRecordingFailedDetail, RenderFeatureErrorCode, RenderFeatureErrorDescriptor, RenderFeaturePassOrderConflictDetail, RenderFeaturePreparationFailedDetail, RenderFeaturePreparedStateMismatchDetail, RenderFeatureRegistrationConflictDetail, RenderFeatureStageFailedDetail, } from '../errors/render';
|
|
10
|
+
export type { RenderFeatureDispatch, RenderFeatureDraw, RenderFeatureDrawDeclaration, RenderFeatureFullscreenProgramDeclaration, RenderFeatureLogicalTarget, RenderFeaturePassDeclaration, RenderFeaturePlan, RenderFeaturePlanContext, RenderFeatureResourceDeclaration, RenderFeatureResourceUsage, } from './plan';
|
|
11
|
+
export type { RenderFeatureTargetHandle } from './targets';
|
|
12
|
+
export type { PreparedKind, RenderFeatureCapabilityKey, RenderFeatureRecovery, RenderFeatureStage, } from './vocabulary';
|
|
13
|
+
/** Closed lifecycle states exposed by the feature host. */
|
|
14
|
+
export type RenderFeatureStatus = 'active' | 'failed' | 'disabled' | 'disposed';
|
|
15
|
+
export interface RenderFeatureResourceHandle {
|
|
16
|
+
readonly __renderFeatureResource: unique symbol;
|
|
17
|
+
}
|
|
18
|
+
/** One World-local visibility snapshot prepared for the current frame batch. */
|
|
19
|
+
export interface RenderFeatureWorldVisibilitySnapshot {
|
|
20
|
+
readonly world: World;
|
|
21
|
+
readonly snapshot: VisibilitySnapshot;
|
|
22
|
+
}
|
|
23
|
+
/** A producer's structured report for one hidden render candidate. */
|
|
24
|
+
export interface RenderFeatureHiddenEntityReport {
|
|
25
|
+
readonly world: World;
|
|
26
|
+
readonly entity: EntityHandle;
|
|
27
|
+
}
|
|
28
|
+
export interface RenderFeatureExtractContext {
|
|
29
|
+
readonly worlds: readonly World[];
|
|
30
|
+
readonly owner: number;
|
|
31
|
+
readonly frameNumber: number;
|
|
32
|
+
/** Same-batch World snapshots; absent for synthetic direct feature probes. */
|
|
33
|
+
readonly visibilitySnapshots?: readonly RenderFeatureWorldVisibilitySnapshot[];
|
|
34
|
+
/** Host-owned report sink; feature code never owns the merged diagnostic. */
|
|
35
|
+
readonly reportHiddenEntity?: (report: RenderFeatureHiddenEntityReport) => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Producer-owned extension seam for one render frame.
|
|
39
|
+
*
|
|
40
|
+
* `FrameData` is the single value that crosses extract into the mandatory
|
|
41
|
+
* declarative plan. The host derives preparation, graph access, recording,
|
|
42
|
+
* recovery, and retirement from that plan; no producer callback receives GPU
|
|
43
|
+
* authority or maintains a parallel lifecycle.
|
|
44
|
+
*/
|
|
45
|
+
export interface RenderFeature<FrameData> {
|
|
46
|
+
readonly identity: string;
|
|
47
|
+
readonly requiredCapabilities?: readonly RenderFeatureCapabilityKey[];
|
|
48
|
+
/**
|
|
49
|
+
* Material shader identifiers whose modules must be ready before the first
|
|
50
|
+
* frame. The renderer resolves these against the loaded manifest and seeds
|
|
51
|
+
* the same lazy module cache used by prepared graphics.
|
|
52
|
+
*/
|
|
53
|
+
readonly requiredMaterialShaders?: readonly string[];
|
|
54
|
+
extract(context: RenderFeatureExtractContext): Result<FrameData, RenderError>;
|
|
55
|
+
plan(data: FrameData, context: RenderFeaturePlanContext): Result<RenderFeaturePlan, RenderError>;
|
|
56
|
+
}
|
|
57
|
+
export interface RenderFeatureRecoverInput {
|
|
58
|
+
readonly caps: Readonly<RhiCaps>;
|
|
59
|
+
readonly frameNumber: number;
|
|
60
|
+
}
|
|
61
|
+
/** Read-only, machine-readable lifecycle state for one registered feature. */
|
|
62
|
+
export interface RenderFeatureDiagnostics {
|
|
63
|
+
readonly identity: string;
|
|
64
|
+
readonly order: number;
|
|
65
|
+
readonly status: RenderFeatureStatus;
|
|
66
|
+
readonly latestError: RenderFeatureErrorDescriptor | undefined;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,YAAY,EACV,oCAAoC,EACpC,2BAA2B,EAC3B,sCAAsC,EACtC,sBAAsB,EACtB,4BAA4B,EAC5B,oCAAoC,EACpC,oCAAoC,EACpC,wCAAwC,EACxC,uCAAuC,EACvC,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,yCAAyC,EACzC,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,YAAY,EACZ,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,MAAM,CAAC;CACjD;AAED,gFAAgF;AAChF,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,sEAAsE;AACtE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,oCAAoC,EAAE,CAAC;IAC/E,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACjF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACtE;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;CAClG;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,8EAA8E;AAC9E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,4BAA4B,GAAG,SAAS,CAAC;CAChE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RhiCaps } from '@forgeax/engine-rhi';
|
|
2
|
+
/** Closed prepared-resource kinds owned by the RenderFeature vocabulary. */
|
|
3
|
+
export type PreparedKind = 'pipeline' | 'bindings' | 'vertex-data' | 'index-data' | 'attachment';
|
|
4
|
+
/** Closed stages that can attribute a feature failure. */
|
|
5
|
+
export type RenderFeatureStage = 'extract' | 'plan' | 'prepare' | 'contribute' | 'record' | 'recover' | 'dispose';
|
|
6
|
+
/** Recovery action attached to a structured feature failure. */
|
|
7
|
+
export type RenderFeatureRecovery = 'next-frame' | 'renderer-recover' | 'registration';
|
|
8
|
+
/** Boolean capability names are derived from the RHI capability source. */
|
|
9
|
+
type BooleanCapabilityKey = {
|
|
10
|
+
[Key in keyof RhiCaps]-?: RhiCaps[Key] extends boolean ? Key : never;
|
|
11
|
+
}[keyof RhiCaps];
|
|
12
|
+
export type RenderFeatureCapabilityKey = BooleanCapabilityKey;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=vocabulary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../../src/features/vocabulary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;AAEjG,0DAA0D;AAC1D,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd,gEAAgE;AAChE,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAEvF,2EAA2E;AAC3E,KAAK,oBAAoB,GAAG;KACzB,GAAG,IAAI,MAAM,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,GAAG,GAAG,GAAG,KAAK;CACrE,CAAC,MAAM,OAAO,CAAC,CAAC;AAEjB,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,CAAC"}
|