@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,67 @@
|
|
|
1
|
+
import type { MeshAsset } from '@forgeax/engine-types';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { PointsLinesPrepareFailedError } from '../errors/render';
|
|
4
|
+
import type { PointsLinesExpandedGeometry, PointsLinesExpansionCache } from './expansion-cache';
|
|
5
|
+
import { type PointsLinesBackend, type PointsLinesLane, type PointsLinesLaneContract } from './record';
|
|
6
|
+
import type { PointsLinesRetainedSnapshot } from './snapshot';
|
|
7
|
+
export interface PointsLinesGpuResourceAdapter<Resource> {
|
|
8
|
+
create(geometry: PointsLinesExpandedGeometry): Result<Resource, Error>;
|
|
9
|
+
upload(resource: Resource, geometry: PointsLinesExpandedGeometry): Result<number, Error>;
|
|
10
|
+
validate(resource: Resource, geometry: PointsLinesExpandedGeometry): Result<void, Error>;
|
|
11
|
+
destroy(resource: Resource): void;
|
|
12
|
+
}
|
|
13
|
+
export interface PointsLinesPreparedResource<Resource> {
|
|
14
|
+
readonly resource: Resource;
|
|
15
|
+
readonly geometry: PointsLinesExpandedGeometry;
|
|
16
|
+
readonly snapshot: PointsLinesRetainedSnapshot;
|
|
17
|
+
readonly uploadedBytes: number;
|
|
18
|
+
readonly lastKnownGood: true;
|
|
19
|
+
}
|
|
20
|
+
export interface PointsLinesPreparationOptions<Resource> {
|
|
21
|
+
readonly cache: PointsLinesExpansionCache;
|
|
22
|
+
readonly adapter: PointsLinesGpuResourceAdapter<Resource>;
|
|
23
|
+
}
|
|
24
|
+
export interface PointsLinesLanePreparationAdapter<Resource> {
|
|
25
|
+
readonly contract: PointsLinesLaneContract;
|
|
26
|
+
prepare(snapshot: PointsLinesRetainedSnapshot, mesh: MeshAsset): Result<PointsLinesPreparedResource<Resource>, PointsLinesPrepareFailedError>;
|
|
27
|
+
resetForDeviceLoss(): void;
|
|
28
|
+
lastKnownGood(): PointsLinesPreparedResource<Resource> | undefined;
|
|
29
|
+
inspect(): PointsLinesPreparationInspection<Resource>;
|
|
30
|
+
}
|
|
31
|
+
export interface PointsLinesPreparationInspection<Resource> {
|
|
32
|
+
readonly status: 'empty' | 'resident' | 'rebuild-pending';
|
|
33
|
+
readonly lastKnownGood: boolean;
|
|
34
|
+
readonly liveResource: Resource | undefined;
|
|
35
|
+
readonly liveBytes: number;
|
|
36
|
+
readonly candidateBytes: number;
|
|
37
|
+
readonly cacheEntries: number;
|
|
38
|
+
readonly uploads: number;
|
|
39
|
+
readonly rebuilds: number;
|
|
40
|
+
readonly failures: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Owns one atomic candidate/LKG pair for a Points/Lines render projection.
|
|
44
|
+
* GPU resources are supplied by the existing DeviceScope adapter; this class
|
|
45
|
+
* keeps no backend handle or second resource ledger.
|
|
46
|
+
*/
|
|
47
|
+
export declare class PointsLinesPreparation<Resource> {
|
|
48
|
+
private readonly options;
|
|
49
|
+
private live;
|
|
50
|
+
private pendingCandidateBytes;
|
|
51
|
+
private status;
|
|
52
|
+
private uploads;
|
|
53
|
+
private rebuilds;
|
|
54
|
+
private failures;
|
|
55
|
+
constructor(options: PointsLinesPreparationOptions<Resource>);
|
|
56
|
+
prepare(snapshot: PointsLinesRetainedSnapshot, mesh: MeshAsset): Result<PointsLinesPreparedResource<Resource>, PointsLinesPrepareFailedError>;
|
|
57
|
+
resetForDeviceLoss(): void;
|
|
58
|
+
lastKnownGood(): PointsLinesPreparedResource<Resource> | undefined;
|
|
59
|
+
inspect(): PointsLinesPreparationInspection<Resource>;
|
|
60
|
+
private fail;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Binds the existing atomic preparation owner to a lane contract. It carries
|
|
64
|
+
* no RHI handle and does not add a second cache or recovery owner.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createPointsLinesLanePreparationAdapter<Resource>(lane: PointsLinesLane, backend: PointsLinesBackend, options: PointsLinesPreparationOptions<Resource>): PointsLinesLanePreparationAdapter<Resource>;
|
|
67
|
+
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/points-lines/prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { PointsLinesExpandedGeometry } from './expansion-cache';
|
|
2
|
+
import type { PointsLinesRetainedSnapshot } from './snapshot';
|
|
3
|
+
export declare const POINTS_LINES_MATERIAL_SHADER_ID = "forgeax::points-lines";
|
|
4
|
+
export type PointsLinesLane = 'direct' | 'clustered' | 'cpu-webgl2';
|
|
5
|
+
export type PointsLinesBackend = 'webgpu' | 'wgpu-webgl2' | 'null';
|
|
6
|
+
export interface PointsLinesLaneContract {
|
|
7
|
+
readonly lane: PointsLinesLane;
|
|
8
|
+
readonly backend: PointsLinesBackend;
|
|
9
|
+
readonly authoring: 'shared';
|
|
10
|
+
readonly evidence: 'runtime' | 'structural-only';
|
|
11
|
+
readonly material: {
|
|
12
|
+
readonly source: 'MaterialAsset';
|
|
13
|
+
readonly shaderId: typeof POINTS_LINES_MATERIAL_SHADER_ID;
|
|
14
|
+
readonly shadingModel: 'unlit';
|
|
15
|
+
readonly clusteredLighting: false;
|
|
16
|
+
readonly lit: false;
|
|
17
|
+
};
|
|
18
|
+
readonly graph: {
|
|
19
|
+
readonly additionalAttachments: 0;
|
|
20
|
+
readonly additionalPasses: 0;
|
|
21
|
+
};
|
|
22
|
+
readonly shadowDrawCount: 0;
|
|
23
|
+
readonly capabilities: {
|
|
24
|
+
readonly compute: false;
|
|
25
|
+
readonly storage: false;
|
|
26
|
+
readonly indirect: false;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface PointsLinesRecordPlan {
|
|
30
|
+
readonly lane: PointsLinesLane;
|
|
31
|
+
readonly backend: PointsLinesBackend;
|
|
32
|
+
readonly materialShaderId: typeof POINTS_LINES_MATERIAL_SHADER_ID;
|
|
33
|
+
readonly component: 'Points' | 'Lines';
|
|
34
|
+
readonly meshGeneration: number;
|
|
35
|
+
readonly materialGeneration: number;
|
|
36
|
+
readonly vertexCount: number;
|
|
37
|
+
readonly indexCount: number;
|
|
38
|
+
readonly drawCount: 0 | 1;
|
|
39
|
+
readonly shadowDrawCount: 0;
|
|
40
|
+
readonly conservativeMarginPx: number;
|
|
41
|
+
readonly graph: PointsLinesLaneContract['graph'];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Describes the shared lane boundary without selecting a backend in authoring.
|
|
45
|
+
* Every lane uses CPU-uploaded triangle expansion; capability flags therefore
|
|
46
|
+
* stay false, including on WebGPU, and the graph remains the existing pass.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createPointsLinesLaneContract(lane: PointsLinesLane, backend: PointsLinesBackend): PointsLinesLaneContract;
|
|
49
|
+
/**
|
|
50
|
+
* Turns one retained expansion into the bounded draw facts consumed by the
|
|
51
|
+
* existing record pass. The shader expands one quad per point or segment,
|
|
52
|
+
* so the limits are exactly four vertices and six indices per primitive.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createPointsLinesRecordPlan(snapshot: PointsLinesRetainedSnapshot, geometry: PointsLinesExpandedGeometry, contract: PointsLinesLaneContract): PointsLinesRecordPlan;
|
|
55
|
+
export interface PointsLinesLaneAdapter {
|
|
56
|
+
readonly contract: PointsLinesLaneContract;
|
|
57
|
+
createRecordPlan(snapshot: PointsLinesRetainedSnapshot, geometry: PointsLinesExpandedGeometry): PointsLinesRecordPlan;
|
|
58
|
+
}
|
|
59
|
+
export declare function createPointsLinesLaneAdapter(lane: PointsLinesLane, backend: PointsLinesBackend): PointsLinesLaneAdapter;
|
|
60
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/points-lines/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,+BAA+B,0BAA0B,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,iBAAiB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;QACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,+BAA+B,CAAC;QAC1D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;QAClC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,+BAA+B,CAAC;IAClE,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,CAiBzB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,uBAAuB,GAChC,qBAAqB,CAqBvB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,gBAAgB,CACd,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,2BAA2B,GACpC,qBAAqB,CAAC;CAC1B;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB,GAC1B,sBAAsB,CAOxB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { PointShape } from '../components/points';
|
|
2
|
+
export interface PointsLinesViewport {
|
|
3
|
+
readonly width: number;
|
|
4
|
+
readonly height: number;
|
|
5
|
+
readonly dpr: number;
|
|
6
|
+
}
|
|
7
|
+
export type PointsLinesStyle = {
|
|
8
|
+
readonly kind: 'points';
|
|
9
|
+
readonly sizePx: number;
|
|
10
|
+
readonly shape: PointShape;
|
|
11
|
+
} | {
|
|
12
|
+
readonly kind: 'lines';
|
|
13
|
+
readonly widthPx: number;
|
|
14
|
+
};
|
|
15
|
+
export type PointsLinesInvalidation = 'none' | 'mesh' | 'material' | 'style' | 'view' | 'scene';
|
|
16
|
+
/**
|
|
17
|
+
* Detached facts retained between frames for the Points/Lines owner.
|
|
18
|
+
*
|
|
19
|
+
* The snapshot deliberately contains no World, ECS row, AssetRegistry, GPU
|
|
20
|
+
* handle, or derived triangle data. Mesh and material generations are the
|
|
21
|
+
* producer-owned fences used by prepare; viewport and projection are the
|
|
22
|
+
* only camera-owned facts in this projection.
|
|
23
|
+
*/
|
|
24
|
+
export interface PointsLinesRetainedSnapshot {
|
|
25
|
+
readonly worldId: number;
|
|
26
|
+
readonly entityKey: number;
|
|
27
|
+
readonly component: 'Points' | 'Lines' | undefined;
|
|
28
|
+
readonly meshHandle: number;
|
|
29
|
+
readonly meshGeneration: number;
|
|
30
|
+
readonly materialHandle: number;
|
|
31
|
+
readonly materialGeneration: number;
|
|
32
|
+
readonly style: PointsLinesStyle | undefined;
|
|
33
|
+
readonly layer: number;
|
|
34
|
+
readonly sortKey: number | undefined;
|
|
35
|
+
readonly visible: boolean;
|
|
36
|
+
readonly sourceBounds: Float32Array;
|
|
37
|
+
readonly viewport: PointsLinesViewport;
|
|
38
|
+
readonly projection: Float32Array;
|
|
39
|
+
readonly dedicatedResourceBytes?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface PointsLinesSnapshotInput extends Omit<PointsLinesRetainedSnapshot, 'sourceBounds' | 'viewport' | 'projection' | 'sortKey'> {
|
|
42
|
+
readonly sortKey?: number | undefined;
|
|
43
|
+
readonly sourceBounds: ArrayLike<number>;
|
|
44
|
+
readonly viewport: PointsLinesViewport;
|
|
45
|
+
readonly projection: ArrayLike<number>;
|
|
46
|
+
}
|
|
47
|
+
export declare function createPointsLinesSnapshot(input: PointsLinesSnapshotInput): PointsLinesRetainedSnapshot;
|
|
48
|
+
export declare function comparePointsLinesSnapshots(previous: PointsLinesRetainedSnapshot, next: PointsLinesRetainedSnapshot): PointsLinesInvalidation;
|
|
49
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/points-lines/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhG;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,wBACf,SAAQ,IAAI,CACV,2BAA2B,EAC3B,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CACvD;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,wBAAwB,GAC9B,2BAA2B,CAkB7B;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,2BAA2B,EACrC,IAAI,EAAE,2BAA2B,GAChC,uBAAuB,CAiCzB"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Closed union of fullscreen post-process error codes.
|
|
3
|
+
*
|
|
4
|
+
* Exactly 7 members; AI users perform exhaustive `switch (err.code)` without a default
|
|
5
|
+
* and TS guards completeness (AC-08).
|
|
6
|
+
*
|
|
7
|
+
* | code | channel | trigger |
|
|
8
|
+
* |:--|:--|:--|
|
|
9
|
+
* | `'post-process-already-registered'` | throw | a second fullscreen effect registration under an already-registered `id` |
|
|
10
|
+
* | `'post-process-not-found'` | throw / `Result.err` | a typed fullscreen plan whose `shader` id resolves to no registered post-process |
|
|
11
|
+
* | `'fullscreen-input-not-found'` | throw | a typed fullscreen plan whose `reads` key is not a graph-declared color target, or a depth key missing TEXTURE_BINDING (D-4) |
|
|
12
|
+
* | `'ssao-radius-non-positive'` | throw | SSAO `radius <= 0` |
|
|
13
|
+
* | `'ssao-bias-negative'` | throw | SSAO `bias < 0` |
|
|
14
|
+
* | `'params-size-mismatch'` | throw | a fullscreen effect declaration with `params.byteSize < 16` or `defaultValue.length !== byteSize` (feat-20260621 M-A4 / D-4) |
|
|
15
|
+
* | `'params-update-size-mismatch'` | throw | per-frame data-driven write where `PostProcessParams.data` byteLength !== registered `params.byteSize` (feat-20260621 M-A4 / D-4) |
|
|
16
|
+
*/
|
|
17
|
+
export type PostProcessErrorCode = keyof typeof POST_PROCESS_POLICY;
|
|
18
|
+
/**
|
|
19
|
+
* Detail for `'post-process-already-registered'`: the post-process id that was already taken.
|
|
20
|
+
* AI consumers read `.detail.id` by property access (charter P4), no message parsing.
|
|
21
|
+
*/
|
|
22
|
+
export interface PostProcessPreviouslyRegisteredDetail {
|
|
23
|
+
readonly id: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Detail for `'post-process-not-found'`: the post-process id that resolved to no
|
|
27
|
+
* registered entry. Read via `.detail.id` after the code guard.
|
|
28
|
+
*/
|
|
29
|
+
export interface PostProcessNotFoundDetail {
|
|
30
|
+
readonly id: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Detail for `'fullscreen-input-not-found'`: the graph resource key that the
|
|
34
|
+
* per-pass resolve context could not resolve, plus the pass name that referenced
|
|
35
|
+
* it. Both fields are read via property access after `if (err.code === 'fullscreen-input-not-found')`
|
|
36
|
+
* (charter P4); the AI user immediately knows WHICH key to declare and WHICH
|
|
37
|
+
* pass needs wiring.
|
|
38
|
+
*/
|
|
39
|
+
export interface FullscreenInputNotFoundDetail {
|
|
40
|
+
/** The reads[0] key that resolved to undefined (e.g. 'offscreenColor' / 'hdrColor'). */
|
|
41
|
+
readonly readsKey: string;
|
|
42
|
+
/** The name assigned to the typed fullscreen pass (e.g. 'pp' / 'post'). */
|
|
43
|
+
readonly passName: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Detail for `'ssao-radius-non-positive'`: the SSAO radius parameter was zero or negative.
|
|
47
|
+
* AI consumers read `.detail.paramName` / `.detail.value` by property access (charter P4).
|
|
48
|
+
*/
|
|
49
|
+
export interface SsaoRadiusNonPositiveDetail {
|
|
50
|
+
readonly paramName: string;
|
|
51
|
+
readonly value: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Detail for `'ssao-bias-negative'`: the SSAO bias parameter was negative.
|
|
55
|
+
* AI consumers read `.detail.paramName` / `.detail.value` by property access.
|
|
56
|
+
*/
|
|
57
|
+
export interface SsaoBiasNegativeDetail {
|
|
58
|
+
readonly paramName: string;
|
|
59
|
+
readonly value: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Detail for `'params-size-mismatch'`: the register call's byteSize / defaultValue.length
|
|
63
|
+
* is invalid. Carries `byteSize` (the declared size) and `actualLength` (defaultValue.length).
|
|
64
|
+
* AI consumers read `.detail.byteSize` / `.detail.actualLength` after the code guard.
|
|
65
|
+
*/
|
|
66
|
+
export interface PostProcessParamsSizeMismatchDetail {
|
|
67
|
+
readonly byteSize: number;
|
|
68
|
+
readonly actualLength: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Detail for `'params-update-size-mismatch'`: the per-frame data-driven write
|
|
72
|
+
* (PostProcessParams.data) had a byteLength that did not equal the registered
|
|
73
|
+
* `params.byteSize`. Carries `byteSize` (registered) + `actualLength` (the
|
|
74
|
+
* supplied data byteLength). AI consumers read `.detail.byteSize` /
|
|
75
|
+
* `.detail.actualLength` after the code guard.
|
|
76
|
+
*
|
|
77
|
+
* NOTE (feat-20260621 M-A2): this code is wired here so dispatchFullscreenPass
|
|
78
|
+
* can fail-fast on a mismatched per-frame write; the full error-model
|
|
79
|
+
* formalization (expected/hint refinement, JSDoc member count, public
|
|
80
|
+
* PostProcessError union variant) is finished in M-A4.
|
|
81
|
+
*/
|
|
82
|
+
export interface PostProcessParamsUpdateSizeMismatchDetail {
|
|
83
|
+
readonly byteSize: number;
|
|
84
|
+
readonly actualLength: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Conditional resolver from `PostProcessErrorCode` to its detail payload type. Used by the
|
|
88
|
+
* constructor signature so `new PostProcessError({ code: 'X', detail })` narrows the
|
|
89
|
+
* `detail` parameter to the variant payload at compile time.
|
|
90
|
+
*/
|
|
91
|
+
export type PostProcessErrorDetailFor<C extends PostProcessErrorCode> = C extends 'post-process-already-registered' ? PostProcessPreviouslyRegisteredDetail : C extends 'post-process-not-found' ? PostProcessNotFoundDetail : C extends 'fullscreen-input-not-found' ? FullscreenInputNotFoundDetail : C extends 'ssao-radius-non-positive' ? SsaoRadiusNonPositiveDetail : C extends 'ssao-bias-negative' ? SsaoBiasNegativeDetail : C extends 'params-size-mismatch' ? PostProcessParamsSizeMismatchDetail : C extends 'params-update-size-mismatch' ? PostProcessParamsUpdateSizeMismatchDetail : never;
|
|
92
|
+
/**
|
|
93
|
+
* Tagged union of `.detail` payloads. The variants are unique by structural fields
|
|
94
|
+
* (`{ id }` for the two id-by-string variants vs `{ readsKey, passName }` for the
|
|
95
|
+
* graph-resource-miss variant); the code discriminator narrows the intent across
|
|
96
|
+
* the two id-shaped variants.
|
|
97
|
+
*/
|
|
98
|
+
export type PostProcessErrorDetail = PostProcessErrorDetailFor<PostProcessErrorCode>;
|
|
99
|
+
declare const POST_PROCESS_POLICY: {
|
|
100
|
+
'post-process-already-registered': {
|
|
101
|
+
expected: string;
|
|
102
|
+
hint: (detail: unknown) => string;
|
|
103
|
+
};
|
|
104
|
+
'post-process-not-found': {
|
|
105
|
+
expected: string;
|
|
106
|
+
hint: (detail: unknown) => string;
|
|
107
|
+
};
|
|
108
|
+
'fullscreen-input-not-found': {
|
|
109
|
+
expected: string;
|
|
110
|
+
hint: (detail: unknown) => string;
|
|
111
|
+
};
|
|
112
|
+
'ssao-radius-non-positive': {
|
|
113
|
+
expected: string;
|
|
114
|
+
hint: (detail: unknown) => string;
|
|
115
|
+
};
|
|
116
|
+
'ssao-bias-negative': {
|
|
117
|
+
expected: string;
|
|
118
|
+
hint: (detail: unknown) => string;
|
|
119
|
+
};
|
|
120
|
+
'params-size-mismatch': {
|
|
121
|
+
expected: string;
|
|
122
|
+
hint: (detail: unknown) => string;
|
|
123
|
+
};
|
|
124
|
+
'params-update-size-mismatch': {
|
|
125
|
+
expected: string;
|
|
126
|
+
hint: (detail: unknown) => string;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
declare class PostProcessErrorClass<C extends PostProcessErrorCode> extends Error {
|
|
130
|
+
readonly code: C;
|
|
131
|
+
readonly expected: string;
|
|
132
|
+
readonly hint: string;
|
|
133
|
+
readonly detail: PostProcessErrorDetailFor<C>;
|
|
134
|
+
constructor(args: {
|
|
135
|
+
code: C;
|
|
136
|
+
detail: PostProcessErrorDetailFor<C>;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Variant intersection: a `PostProcessErrorClass` instance whose `code` literal narrows to
|
|
141
|
+
* `C` and whose `detail` narrows to `PostProcessErrorDetailFor<C>`, so `if (err.code === 'X')`
|
|
142
|
+
* simultaneously narrows `err.detail` (charter P3 + P4 discriminated union).
|
|
143
|
+
*/
|
|
144
|
+
type PostProcessErrorVariant<C extends PostProcessErrorCode> = PostProcessErrorClass<C> & {
|
|
145
|
+
readonly code: C;
|
|
146
|
+
readonly detail: PostProcessErrorDetailFor<C>;
|
|
147
|
+
};
|
|
148
|
+
interface PostProcessErrorConstructor {
|
|
149
|
+
new <C extends PostProcessErrorCode>(args: {
|
|
150
|
+
code: C;
|
|
151
|
+
detail: PostProcessErrorDetailFor<C>;
|
|
152
|
+
}): PostProcessErrorVariant<C>;
|
|
153
|
+
readonly prototype: PostProcessErrorClass<PostProcessErrorCode>;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Public PostProcessError type - mapped from the authoritative code union.
|
|
157
|
+
*
|
|
158
|
+
* ```ts
|
|
159
|
+
* function recover(err: PostProcessError): string {
|
|
160
|
+
* switch (err.code) {
|
|
161
|
+
* case 'post-process-already-registered': return `id taken: ${err.detail.id}`;
|
|
162
|
+
* case 'post-process-not-found': return `bad id: ${err.detail.id}`;
|
|
163
|
+
* case 'fullscreen-input-not-found': return `bad reads key: ${err.detail.readsKey} on pass ${err.detail.passName}`;
|
|
164
|
+
* }
|
|
165
|
+
* }
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export type PostProcessError = {
|
|
169
|
+
[C in PostProcessErrorCode]: PostProcessErrorVariant<C>;
|
|
170
|
+
}[PostProcessErrorCode];
|
|
171
|
+
/**
|
|
172
|
+
* PostProcessError constructor - `new PostProcessError({ code, detail })`.
|
|
173
|
+
*
|
|
174
|
+
* The generic `C` is inferred from the literal `code` argument, which narrows `detail` to
|
|
175
|
+
* the per-code payload (`PostProcessErrorDetailFor<C>`) and narrows the return type to the
|
|
176
|
+
* corresponding `PostProcessErrorVariant<C>` so the call site walks the discriminated union
|
|
177
|
+
* without manual cast (AppError pattern; TS class declarations cannot directly express
|
|
178
|
+
* `<C> ... PostProcessErrorVariant<C>` polymorphism, hence the typed-cast affordance).
|
|
179
|
+
*/
|
|
180
|
+
export declare const PostProcessError: PostProcessErrorConstructor;
|
|
181
|
+
export {};
|
|
182
|
+
//# sourceMappingURL=post-process-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-process-errors.d.ts","sourceRoot":"","sources":["../src/post-process-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { BindGroup, Buffer, RenderPipeline, RhiDevice } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { type RenderError } from '../errors/render';
|
|
4
|
+
import type { PreparedGraphicsResourceLease, RenderFeatureResolvedGpuBuffer } from '../features/prepared-gpu-work';
|
|
5
|
+
import type { RenderFeatureBindingsDescriptor, RenderFeaturePreparedRef } from '../features/prepared-graphics';
|
|
6
|
+
import type { PreparedGraphicsItem, PreparedGraphicsKind, PreparedGraphicsNormalizedDescriptor } from '../features/prepared-graphics-store';
|
|
7
|
+
type PreparedBufferKind = Exclude<PreparedGraphicsKind, 'pipeline' | 'bindings'>;
|
|
8
|
+
export type PreparedGraphicsReference = RenderFeaturePreparedRef<'pipeline'> | RenderFeaturePreparedRef<'bindings'> | RenderFeaturePreparedRef<'vertex-data'> | RenderFeaturePreparedRef<'index-data'>;
|
|
9
|
+
export type PreparedGraphicsResolvedResource = {
|
|
10
|
+
readonly kind: 'pipeline';
|
|
11
|
+
readonly reference: RenderFeaturePreparedRef;
|
|
12
|
+
readonly handle: RenderPipeline;
|
|
13
|
+
} | {
|
|
14
|
+
readonly kind: 'bindings';
|
|
15
|
+
readonly reference: RenderFeaturePreparedRef;
|
|
16
|
+
readonly handle: BindGroup | undefined;
|
|
17
|
+
readonly pipeline?: RenderPipeline;
|
|
18
|
+
readonly descriptor?: RenderFeatureBindingsDescriptor;
|
|
19
|
+
readonly dynamicOffsets?: readonly number[];
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: PreparedBufferKind;
|
|
22
|
+
readonly reference: RenderFeaturePreparedRef;
|
|
23
|
+
readonly handle: Buffer;
|
|
24
|
+
readonly size: number;
|
|
25
|
+
readonly physicalUsage: number;
|
|
26
|
+
};
|
|
27
|
+
export interface PreparedGraphicsResolverInput {
|
|
28
|
+
readonly device: RhiDevice;
|
|
29
|
+
/** Owning feature identity survives lookup failures for feature-local diagnostics. */
|
|
30
|
+
readonly featureIdentity?: string;
|
|
31
|
+
readonly generation: number;
|
|
32
|
+
readonly capabilityAvailable: boolean;
|
|
33
|
+
readonly lookup: (reference: RenderFeaturePreparedRef) => PreparedGraphicsItem | undefined;
|
|
34
|
+
readonly resolvePipeline: (descriptor: PreparedGraphicsNormalizedDescriptor & {
|
|
35
|
+
readonly kind: 'pipeline';
|
|
36
|
+
}) => Result<RenderPipeline, unknown>;
|
|
37
|
+
readonly resolveBindings: (descriptor: RenderFeatureBindingsDescriptor, pipeline: RenderPipeline) => Result<undefined | BindGroup | {
|
|
38
|
+
readonly handle: BindGroup;
|
|
39
|
+
readonly dynamicOffsets?: readonly number[];
|
|
40
|
+
readonly release: () => Result<void, unknown>;
|
|
41
|
+
}, unknown>;
|
|
42
|
+
readonly resolveGpuBuffer?: (reference: import('../features/prepared-gpu-work').RenderFeatureGpuBufferRef) => RenderFeatureResolvedGpuBuffer | undefined;
|
|
43
|
+
readonly featureOrder?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface PreparedGraphicsResolver {
|
|
46
|
+
resolve(reference: PreparedGraphicsReference): Result<PreparedGraphicsResolvedResource, RenderError>;
|
|
47
|
+
readonly leases: readonly PreparedGraphicsResourceLease[];
|
|
48
|
+
readonly resolveGpuBuffer?: PreparedGraphicsResolverInput['resolveGpuBuffer'];
|
|
49
|
+
release(): Result<void, RenderError>;
|
|
50
|
+
}
|
|
51
|
+
export type { PreparedGraphicsResourceLease } from '../features/prepared-gpu-work';
|
|
52
|
+
export interface PreparedGraphicsResolvedSnapshot {
|
|
53
|
+
readonly generation: number;
|
|
54
|
+
readonly leases?: readonly PreparedGraphicsResourceLease[];
|
|
55
|
+
readonly resolve: (reference: RenderFeaturePreparedRef) => PreparedGraphicsResolvedResource | undefined;
|
|
56
|
+
readonly resolveGpuBuffer?: (reference: import('../features/prepared-gpu-work').RenderFeatureGpuBufferRef) => RenderFeatureResolvedGpuBuffer | undefined;
|
|
57
|
+
}
|
|
58
|
+
export declare function createPreparedGraphicsResolver(input: PreparedGraphicsResolverInput): PreparedGraphicsResolver;
|
|
59
|
+
//# sourceMappingURL=prepared-graphics-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-graphics-resolver.d.ts","sourceRoot":"","sources":["../../src/prepare/prepared-graphics-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-bg-cache.unit.test.d.ts","sourceRoot":"","sources":["../../../src/record/__tests__/material-bg-cache.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-slot-plan.unit.test.d.ts","sourceRoot":"","sources":["../../../src/record/__tests__/material-slot-plan.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-frame-graph-plan.unit.test.d.ts","sourceRoot":"","sources":["../../../src/record/__tests__/typed-frame-graph-plan.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-texture-view.unit.test.d.ts","sourceRoot":"","sources":["../../../src/record/__tests__/video-texture-view.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { type BindGroup, type BindGroupLayout, type TextureView } from '@forgeax/engine-rhi';
|
|
2
|
+
import type { CameraSnapshot } from '../render-contract';
|
|
3
|
+
import type { DirectionalLightSnapshot, ExtractedLights, RenderableSnapshot, SkyboxSnapshot, SkylightSnapshot } from '../render-system-extract';
|
|
4
|
+
import type { BindGroupCounts, RenderFrameState } from './frame-snapshot';
|
|
5
|
+
import type { PipelineState, RecordProfileRunner, RenderSystemInternals } from './render-context';
|
|
6
|
+
/**
|
|
7
|
+
* feat-20260704 M3/w18: per-frame bind-group cache resolution, extracted
|
|
8
|
+
* verbatim from `recordFrame`. Walks the handle-identity WeakMap caches
|
|
9
|
+
* (feat-20260531 M2 + feat-20260622 M3) to resolve or lazily create the view
|
|
10
|
+
* (@group 0), mesh (@group 2), and — when HDRP is active — HDRP-unified cluster
|
|
11
|
+
* bind groups. Returns all three (null when `hasValidated` is false, the Case E
|
|
12
|
+
* clear-pass-only path). No new mutable state: `bindGroupCounts` accounting +
|
|
13
|
+
* cache maps are threaded through explicitly.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildPerFrameBindGroups(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState, hasValidated: boolean, bindGroupCounts: BindGroupCounts, graphTargets?: {
|
|
18
|
+
readonly directionalShadow?: TextureView | undefined;
|
|
19
|
+
readonly spotShadow?: TextureView | undefined;
|
|
20
|
+
}, includeView?: boolean): {
|
|
21
|
+
viewBindGroup: BindGroup | null;
|
|
22
|
+
meshBindGroup: BindGroup | null;
|
|
23
|
+
hdrpClusterBindGroup: BindGroup | null;
|
|
24
|
+
hdrpClusterMembershipBindGroup: BindGroup | null;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* feat-20260704 M3/w18: per-frame lighting preparation, extracted verbatim from
|
|
28
|
+
* `recordFrame`. (1) URP-only multi-light warn-once (directional / point / spot
|
|
29
|
+
* over `LIGHT_ARRAY_MAX_SLOTS`; HDRP gated off — 256 SSBO lights). (2) pin the
|
|
30
|
+
* point + spot shadow snapshot lists onto frameState for the URP shadow caster
|
|
31
|
+
* pass closures + lazy-allocate the point-shadow cube_array atlas on first
|
|
32
|
+
* non-empty frame (AC-09 zero-shadow zero-alloc). (3) destructure ExtractedLights
|
|
33
|
+
* into the directional-fallback `light` (zero-intensity Case C default), point /
|
|
34
|
+
* spot arrays, and totalLightCount.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare function prepareFrameLighting(internals: RenderSystemInternals, frameState: RenderFrameState, lights: ExtractedLights): {
|
|
39
|
+
light: DirectionalLightSnapshot;
|
|
40
|
+
pointLights: ExtractedLights['point'];
|
|
41
|
+
spotLights: ExtractedLights['spot'];
|
|
42
|
+
totalLightCount: number;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* feat-20260704 M3/w18: per-frame full rewrite of the PointLight + SpotLight
|
|
46
|
+
* std430 storage buffers, extracted verbatim from `recordFrame`.
|
|
47
|
+
*
|
|
48
|
+
* feat-20260519-light-casters-point-spot-pbr M3 / w20 (D-S1 + D-S2 + D-S6):
|
|
49
|
+
* header (16 B count u32 + 12 B pad) at offset 0 + first-slice cap N=4 slots
|
|
50
|
+
* packed sequentially. The N>4 fail-fast upstream ensures the counts are <= 4
|
|
51
|
+
* when the listener registry consumed the structured error; the slice keeps
|
|
52
|
+
* the buffer write bounded even if downstream listeners ignore the RhiError
|
|
53
|
+
* (charter P9 graceful degradation: surplus entities dropped, frame records).
|
|
54
|
+
*
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare function writePointSpotLightBuffers(internals: RenderSystemInternals, pipelineState: PipelineState, lights: ExtractedLights): void;
|
|
58
|
+
/**
|
|
59
|
+
* feat-20260704 M3/w18: write the point-shadow params UBO (bound at viewBg
|
|
60
|
+
* binding 6), extracted verbatim from `recordFrame`.
|
|
61
|
+
*
|
|
62
|
+
* feat-20260612-point-light-shadows-urp-hdrp Round-2 F-1: 4 lanes x vec4<f32>;
|
|
63
|
+
* lane[shadowAtlasLayer] = (near, far, 1/(far-near), 0). Lanes for non-shadow
|
|
64
|
+
* slots stay zero (the WGSL sample path is gated by PointLight.shadowAtlasLayer
|
|
65
|
+
* >= 0). Always writes the full 64 B so stale non-zero lanes from a previous
|
|
66
|
+
* frame's allocation cannot poison the current frame.
|
|
67
|
+
*
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
export declare function writeShadowParamsBuffer(internals: RenderSystemInternals, frameState: RenderFrameState, pipelineState: PipelineState): void;
|
|
71
|
+
/**
|
|
72
|
+
* feat-20260704 M3/w18: zero-light standard-material once-warn, extracted
|
|
73
|
+
* verbatim from `recordFrame`.
|
|
74
|
+
*
|
|
75
|
+
* feat-20260520-skylight-ibl-cubemap M4 / t27 (AC-10): fires once per
|
|
76
|
+
* RenderSystem lifetime when the 0-light three-condition conjunction holds — no
|
|
77
|
+
* Skylight, 0 direct light (totalLightCount === 0), AND at least one builtin
|
|
78
|
+
* standard/PBR material (which renders black with no light). Custom shaders
|
|
79
|
+
* own their lighting contract and cannot be classified by this generic
|
|
80
|
+
* diagnostic. Suppressed under NODE_ENV=production.
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
export declare function warnZeroLightStandard(frameState: RenderFrameState, renderables: readonly RenderableSnapshot[], skylight: SkylightSnapshot | undefined, totalLightCount: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* feat-20260704 M3/w18: HDRP per-frame CPU cluster binning + light-data /
|
|
87
|
+
* cluster-grid / light-index-list / cluster-uniform / SSAO uniform buffer
|
|
88
|
+
* uploads. Extracted verbatim from `recordFrame`. Runs only when the HDRP
|
|
89
|
+
* pipeline is active. A zero-punctual frame explicitly clears the persistent
|
|
90
|
+
* cluster buffers so stale membership cannot leak across frames; direct and
|
|
91
|
+
* non-clustered paths remain untouched.
|
|
92
|
+
*
|
|
93
|
+
* feat-20260608-cluster-lighting M5 / w21 + M6 / w23 + r2 fix-up: fail-soft
|
|
94
|
+
* semantics preserved verbatim — index-list-overflow and light-budget-exceeded
|
|
95
|
+
* fire once per frame (via `frameState.hdrpOncePerFrameFired`) and continue
|
|
96
|
+
* rendering.
|
|
97
|
+
*
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
export declare function writeHdrpClusterAndSsaoBuffers(internals: RenderSystemInternals, frameState: RenderFrameState, camera: CameraSnapshot, pointLights: ExtractedLights['point'], spotLights: ExtractedLights['spot'], profilePhase?: RecordProfileRunner, useGpuMembership?: boolean, membershipBindGroupLayout?: BindGroupLayout | null): void;
|
|
101
|
+
/**
|
|
102
|
+
* feat-20260704 M3/w18: resolve `tonemapActive` + `skyboxActive` for this
|
|
103
|
+
* frame, extracted verbatim from `recordFrame`.
|
|
104
|
+
*
|
|
105
|
+
* feat-20260519-tonemap-reinhard-mvp: tonemap is active when the camera carries
|
|
106
|
+
* `tonemap !== 'none'` (routes geometry into the HDR offscreen target + a
|
|
107
|
+
* fullscreen tonemap pass). feat-20260531-skybox-env-background M2 / w9: skybox
|
|
108
|
+
* is active only when a SkyboxBackground entity is present AND tonemap is active
|
|
109
|
+
* (hdrColor is only allocated on the tonemap path). M3 / w20: once-warn when
|
|
110
|
+
* tonemap is 'none' but a skybox exists (config issue, not resource-timing —
|
|
111
|
+
* no structured error). M3 / w18: skybox degrades to clear-colour for a frame
|
|
112
|
+
* while its cubemap view is not yet resident (lazy equirect projection pending
|
|
113
|
+
* / failed; the lazy trigger owns the fire-once-on-failed error).
|
|
114
|
+
*
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
export declare function resolveSkyboxActive(internals: RenderSystemInternals, frameState: RenderFrameState, camera: CameraSnapshot, skybox: SkyboxSnapshot | undefined): {
|
|
118
|
+
tonemapActive: boolean;
|
|
119
|
+
skyboxActive: boolean;
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=frame-lighting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-lighting.d.ts","sourceRoot":"","sources":["../../src/record/frame-lighting.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AA2B7B,OAAO,KAAK,EAAE,cAAc,EAA0B,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAU1E,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAWlG;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,eAAe,EAChC,YAAY,CAAC,EAAE;IACb,QAAQ,CAAC,iBAAiB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC/C,EACD,WAAW,UAAO,GACjB;IACD,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,8BAA8B,EAAE,SAAS,GAAG,IAAI,CAAC;CAClD,CA0QA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,eAAe,GACtB;IACD,KAAK,EAAE,wBAAwB,CAAC;IAChC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;CACzB,CAyFA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,qBAAqB,EAChC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,eAAe,GACtB,IAAI,CA+CN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,aAAa,GAC3B,IAAI,CA4BN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,SAAS,kBAAkB,EAAE,EAC1C,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,eAAe,EAAE,MAAM,GACtB,IAAI,CAgBN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,EACrC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,EACnC,YAAY,CAAC,EAAE,mBAAmB,EAClC,gBAAgB,UAAQ,EACxB,yBAAyB,GAAE,eAAe,GAAG,IAAW,GACvD,IAAI,CA6WN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GAAG,SAAS,GACjC;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAqCnD"}
|