@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,446 @@
|
|
|
1
|
+
import { type BindGroup, type Buffer, RhiError, type RhiQueue } from '@forgeax/engine-rhi';
|
|
2
|
+
import type { DispatchEntry } from '../render-system-extract';
|
|
3
|
+
import { type TransparentSortConfig } from '../systems/transparent-sort-config';
|
|
4
|
+
import type { ValidatedRenderable } from './frame-snapshot';
|
|
5
|
+
/**
|
|
6
|
+
* Stride between per-renderable `entity_world` mat4 slots inside the
|
|
7
|
+
* shared `pipelineState.meshStorageBuffer`. The 256-byte alignment is
|
|
8
|
+
* required because the storage buffer is bound with
|
|
9
|
+
* `hasDynamicOffset: true` and WebGPU spec
|
|
10
|
+
* `minStorageBufferOffsetAlignment` defaults to 256.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MESH_PER_ENTITY_STRIDE = 256;
|
|
13
|
+
export declare const MESH_SSBO_BYTES = 192;
|
|
14
|
+
export declare const MESH_UBO_FULL_ARRAY_BYTES: number;
|
|
15
|
+
export declare const INSTANCE_UBO_FULL_ARRAY_BYTES: number;
|
|
16
|
+
export declare const MAX_UNIFORM_INSTANCES = 128;
|
|
17
|
+
/** The storage-backed InstanceData layout is current + previous mat4. */
|
|
18
|
+
export declare const INSTANCE_STORAGE_STRIDE_FLOATS = 32;
|
|
19
|
+
/**
|
|
20
|
+
* Project the ECS transform snapshot into the storage-backed InstanceData
|
|
21
|
+
* layout. The extract contract carries one current mat4 per instance; until
|
|
22
|
+
* the ECS snapshot owns a previous-instance column, current is the honest
|
|
23
|
+
* previous value as well. Uniform-backed variants keep the compact 16-float
|
|
24
|
+
* payload and do not use this projection.
|
|
25
|
+
*/
|
|
26
|
+
export declare function packInstanceStorageBuffer(transforms: Float32Array): Float32Array;
|
|
27
|
+
/**
|
|
28
|
+
* M3 / w12: extracts the underlying GPU resource object from a bind
|
|
29
|
+
* group entry descriptor. Returns the raw object reference (Buffer,
|
|
30
|
+
* TextureView, or Sampler) usable as a WeakMap chain key.
|
|
31
|
+
*/
|
|
32
|
+
export declare function extractEntryResourceHandle(entry: {
|
|
33
|
+
resource: {
|
|
34
|
+
kind: string;
|
|
35
|
+
value: unknown;
|
|
36
|
+
};
|
|
37
|
+
}): object;
|
|
38
|
+
/**
|
|
39
|
+
* feat-20260622-handle-to-id-allocator-elimination M2 / w7: walks a nested
|
|
40
|
+
* WeakMap chain to find or create a BindGroup leaf. Each handle in the
|
|
41
|
+
* `handles` array is a chain node; the final leaf is a Map<string, BindGroup>
|
|
42
|
+
* keyed by `variant` (D-2). Chain keys are always object references, never
|
|
43
|
+
* numeric ids — GC reclaims entries for dead handles automatically.
|
|
44
|
+
*
|
|
45
|
+
* On cache hit returns the cached BindGroup. On miss calls `factory`,
|
|
46
|
+
* bumps `bindGroupCounts.createBindGroup`, stores the result at the leaf,
|
|
47
|
+
* and returns it. Hit/miss accounting is observable via `bindGroupCounts`
|
|
48
|
+
* (D-8: the skin probe reads `counts.createBindGroup` delta).
|
|
49
|
+
*/
|
|
50
|
+
export declare function getOrCreateFromChain(root: WeakMap<object, unknown>, handles: readonly object[], variant: string, factory: () => BindGroup, counts: {
|
|
51
|
+
createBindGroup: number;
|
|
52
|
+
keys: string[];
|
|
53
|
+
}): BindGroup;
|
|
54
|
+
/**
|
|
55
|
+
* feat-20260622-handle-to-id-allocator-elimination M2 / w8: per-entity bind
|
|
56
|
+
* group lookup-or-create helper (D-2). Two-step lookup: outer Map.get(outerKey)
|
|
57
|
+
* finds or lazily creates an inner WeakMap chain, then delegates to
|
|
58
|
+
* `getOrCreateFromChain` for the chain walk. outerKey is `string | number`
|
|
59
|
+
* to cover both per-entity (number entityKey) and material-shared
|
|
60
|
+
* (string shaderId) caches (D-1 / OQ-1).
|
|
61
|
+
*/
|
|
62
|
+
export declare function getOrCreatePerEntity(outerMap: Map<string | number, WeakMap<object, unknown>>, outerKey: string | number, handles: readonly object[], variant: string, factory: () => BindGroup, counts: {
|
|
63
|
+
createBindGroup: number;
|
|
64
|
+
keys: string[];
|
|
65
|
+
}): BindGroup;
|
|
66
|
+
/**
|
|
67
|
+
* feat-20260622-handle-to-id-allocator-elimination M2 / w8: evicts per-entity
|
|
68
|
+
* cache entries whose entityKey is not in the validated set. Works on
|
|
69
|
+
* Map<entityKey, WeakMap<handle, BindGroup>> by iterating the outer Map keys
|
|
70
|
+
* and deleting entries for which validatedEntityKeys.has(ek) is false.
|
|
71
|
+
* No string parsing, no Number / Number.isNaN — the entityKey is already a
|
|
72
|
+
* number (D-1 / RD4).
|
|
73
|
+
*
|
|
74
|
+
* @internal — exported for unit test access (AC-08)
|
|
75
|
+
*/
|
|
76
|
+
export declare function cleanPerEntityCache(cache: Map<number, WeakMap<object, unknown>>, validatedEntityKeys: Set<number>): void;
|
|
77
|
+
/**
|
|
78
|
+
* feat-20260608-mesh-ssbo-dynamic-grow-l1-lift-1024-entity-cap M3 / T-M3-04:
|
|
79
|
+
* record-stage entry-point hook to the closure-scoped mesh-SSBO grow
|
|
80
|
+
* controller (createRenderer.ts). Called once per frame, after
|
|
81
|
+
* `validatedOrdered` has been finalised and BEFORE the first per-entity
|
|
82
|
+
* `queue.writeBuffer`. Returns Result-like (never throws — D-5):
|
|
83
|
+
*
|
|
84
|
+
* - `{ ok: true }` — slotCount already covers `neededSlots` (idempotent
|
|
85
|
+
* short-circuit), or the controller successfully grew
|
|
86
|
+
* in this call. Caller proceeds with the frame.
|
|
87
|
+
* - `{ ok: false, code, degradedToSlotCount }` — controller hit ceiling /
|
|
88
|
+
* capacity and ALREADY fired the structured error
|
|
89
|
+
* via errorRegistry. Caller truncates the draw
|
|
90
|
+
* list to the largest complete entity prefix that
|
|
91
|
+
* fits within `degradedToSlotCount` slots (graceful
|
|
92
|
+
* degradation per plan-strategy D-2): renders the
|
|
93
|
+
* subset that fits, discards overflow, no black
|
|
94
|
+
* frame.
|
|
95
|
+
*
|
|
96
|
+
* This helper does NOT re-fire on `ok:false` — the controller is the single
|
|
97
|
+
* fire site (createRenderer.ts grow factory), so callers see exactly one
|
|
98
|
+
* structured error per ceiling event (charter P3 explicit failure: no
|
|
99
|
+
* double-fire).
|
|
100
|
+
*
|
|
101
|
+
* Dev-mode visibility: when grow actually grew (slotCount transition) AND
|
|
102
|
+
* `import.meta.env?.DEV` is truthy, a single `console.info('[mesh-ssbo] ...')`
|
|
103
|
+
* line reports the before / after / requested counts. The optional-chain
|
|
104
|
+
* keeps non-vite envs (dawn-node smoke, plain tsup tests) silent —
|
|
105
|
+
* `import.meta.env` is undefined there, the chain short-circuits to
|
|
106
|
+
* undefined, the if-guard is falsy (AC-11 + plan-strategy §2.D-3).
|
|
107
|
+
*
|
|
108
|
+
* Bind-group cache invalidation is automatic: on grow, the controller
|
|
109
|
+
* mutates `meshSsboState.mesh.buffer` / `.material.buffer` in place
|
|
110
|
+
* (wrapper-object identity preserved, inner buffer replaced — research §F8).
|
|
111
|
+
* Downstream the fresh inner buffer object is a new WeakMap chain key, so
|
|
112
|
+
* `getOrCreateFromChain` misses and rebuilds the BindGroup on the next frame
|
|
113
|
+
* (AC-07; T-M3-03 (a) test).
|
|
114
|
+
*
|
|
115
|
+
* @internal — exported for unit-test access (`mesh-ssbo-grow.test.ts`
|
|
116
|
+
* T-M3-01 / T-M3-02 / T-M3-03 cover idempotency, ceiling, dev info).
|
|
117
|
+
*/
|
|
118
|
+
export declare function ensureMeshSsboCapacity(internals: {
|
|
119
|
+
readonly growMeshSsbo?: ((neededSlots: number) => {
|
|
120
|
+
readonly ok: true;
|
|
121
|
+
} | {
|
|
122
|
+
readonly ok: false;
|
|
123
|
+
readonly code: 'mesh-ssbo-ceiling-reached' | 'mesh-ssbo-capacity-exceeded';
|
|
124
|
+
readonly degradedToSlotCount: number;
|
|
125
|
+
}) | undefined;
|
|
126
|
+
readonly meshSsboState?: {
|
|
127
|
+
readonly slotCount: number;
|
|
128
|
+
} | undefined;
|
|
129
|
+
}, neededSlots: number): {
|
|
130
|
+
readonly ok: true;
|
|
131
|
+
} | {
|
|
132
|
+
readonly ok: false;
|
|
133
|
+
readonly code: 'mesh-ssbo-ceiling-reached' | 'mesh-ssbo-capacity-exceeded';
|
|
134
|
+
readonly degradedToSlotCount: number;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* @internal — test-only injection seam for `ensureMeshSsboCapacity`'s
|
|
138
|
+
* dev-mode gate. Pass `undefined` to restore the production probe
|
|
139
|
+
* (`isMeshSsboDevMode`). Production code paths NEVER call this.
|
|
140
|
+
*/
|
|
141
|
+
export declare function setMeshSsboDevModeProbeForTests(probe: (() => boolean) | undefined): void;
|
|
142
|
+
/**
|
|
143
|
+
* Dev-mode probe for `ensureMeshSsboCapacity`'s console.info gate
|
|
144
|
+
* (plan-strategy §2.D-3 + AC-11). True when the build is in dev mode:
|
|
145
|
+
* - `import.meta.env?.DEV` is truthy (vite dev / vitest), OR
|
|
146
|
+
* - `process.env.NODE_ENV !== 'production'` (esbuild / tsup / dawn-node).
|
|
147
|
+
* Optional-chain keeps it safe in non-vite ESM envs that never inject
|
|
148
|
+
* `import.meta.env` (the chain short-circuits to undefined → falsy).
|
|
149
|
+
*
|
|
150
|
+
* Vite's `import.meta.env.DEV` is constant-folded at build time, so the
|
|
151
|
+
* production bundle dead-code-strips the entire branch even though the
|
|
152
|
+
* test fall-through reads `process.env.NODE_ENV`.
|
|
153
|
+
*
|
|
154
|
+
* @internal — exported as a function (not a const) so unit tests can
|
|
155
|
+
* `vi.spyOn(...).mockReturnValue(false)` to exercise the dev=false path
|
|
156
|
+
* (vitest 4.x cannot toggle `import.meta.env.DEV` at runtime — it is
|
|
157
|
+
* compile-time-frozen by the vite transform).
|
|
158
|
+
*/
|
|
159
|
+
export declare function isMeshSsboDevMode(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* feat-20260704 M3/w21: per-renderable `entity_world` upload (batched). All N
|
|
162
|
+
* mat4+normalMatrix slots are assembled into a single contiguous scratch
|
|
163
|
+
* buffer, then flushed as one `writeBuffer` call instead of N individual
|
|
164
|
+
* calls. Extracted verbatim from `recordFrame` (frame.ts) — the module-scoped
|
|
165
|
+
* `_meshSsboScratch` let and its only reassignment site now co-locate in this
|
|
166
|
+
* file so the two mesh-SSBO module lets live together (AC-06).
|
|
167
|
+
*
|
|
168
|
+
* feat-20260518 M3 / w14 (AC-08): each 256-byte slot carries a 16-float mat4
|
|
169
|
+
* at [0..64B) and a 48-byte mat3 normalMatrix at [64..112B) (3 vec4 columns;
|
|
170
|
+
* padding at indices 19/23/27 stays 0). The mat3 =
|
|
171
|
+
* transpose(invert(mat3(worldFromLocal))) for correct normal transform under
|
|
172
|
+
* non-uniform scale.
|
|
173
|
+
*
|
|
174
|
+
* feat-20260622-chunk-gpu-instancing-sprite-tilemap M1 / w4-record-swap (D-1):
|
|
175
|
+
* fold-bucket heads write identity into their slot; the fold path assembles
|
|
176
|
+
* per-instance world matrices into the @group(3) instances buffer instead
|
|
177
|
+
* (sprite/unlit shaders ignore normals; AC-01/AC-02).
|
|
178
|
+
*
|
|
179
|
+
* @internal
|
|
180
|
+
*/
|
|
181
|
+
export declare function uploadMeshSsboBatch(queue: RhiQueue, meshStorageBuffer: {
|
|
182
|
+
readonly buffer: Buffer;
|
|
183
|
+
}, validatedOrdered: readonly ValidatedRenderable[], foldDispatchPlan: FoldDispatchPlan | null): void;
|
|
184
|
+
/**
|
|
185
|
+
* Per-bucket descriptor produced by {@link foldDispatchBuckets}.
|
|
186
|
+
*
|
|
187
|
+
* One bucket = one fold-eligible run of consecutive DispatchEntry whose
|
|
188
|
+
* `(layer, sortKey, materialHandle)` triple is equal. Singleton buckets
|
|
189
|
+
* (bucketSize=1) appear when the mode bypasses fold (D-5 mode 2/3) or
|
|
190
|
+
* when consecutive entries differ in one of the three keys.
|
|
191
|
+
*
|
|
192
|
+
* Fields:
|
|
193
|
+
* - `entries` — original DispatchEntry slice for this bucket (preserves
|
|
194
|
+
* the input ordering); the consumer uses these to look up per-entity
|
|
195
|
+
* material BG handles, mesh handles (which are bucket-uniform by
|
|
196
|
+
* construction since materialHandle key is included), etc.
|
|
197
|
+
* - `bucketSize` — `entries.length`. Surfaced as a top-level field so
|
|
198
|
+
* the consumer can pass it directly as `instanceCount` to
|
|
199
|
+
* `drawIndexed`.
|
|
200
|
+
* - `transforms` — assembled Float32Array of bucketSize world mat4s,
|
|
201
|
+
* stride=16 floats per instance, column-major. Suitable for direct
|
|
202
|
+
* `device.queue.writeBuffer` into an instance buffer used at @group(3).
|
|
203
|
+
* - `materialHandle` / `layer` / `sortKey` — the three-tuple key for this
|
|
204
|
+
* bucket. `sortKey` is mode-dependent: posZ (world[14]) for mode 0
|
|
205
|
+
* (LAYER_Z), posY (world[13]) for mode 1 (LAYER_Y). Consumed by the
|
|
206
|
+
* dispatch loop for bind-group selection / sort-stability invariants.
|
|
207
|
+
*/
|
|
208
|
+
export interface FoldBucket {
|
|
209
|
+
readonly entries: readonly DispatchEntry[];
|
|
210
|
+
readonly bucketSize: number;
|
|
211
|
+
readonly transforms: Float32Array;
|
|
212
|
+
readonly materialHandle: number;
|
|
213
|
+
readonly layer: number;
|
|
214
|
+
readonly sortKey: number;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Minimal renderable shape consumed by the helper. The real
|
|
218
|
+
* `RenderableSnapshot` carries many more fields; the helper only reads
|
|
219
|
+
* `transform.world` (a Float32Array of 16 column-major floats) and
|
|
220
|
+
* `material.transparent` (the LDR-split-sub-pass fold gate, see PR #502
|
|
221
|
+
* fix + feat-20260625 R2 fix-up: geometry-pass entities — non-transparent
|
|
222
|
+
* materials — MUST stay singleton because the sprite-pass dispatch path
|
|
223
|
+
* that consumes `headBuckets` does not run for them; folding them would
|
|
224
|
+
* overwrite their mesh-SSBO slot with identity and collapse 3D geometry
|
|
225
|
+
* to origin).
|
|
226
|
+
*
|
|
227
|
+
* Production callers pass `RenderableSnapshot[]` straight through —
|
|
228
|
+
* `RenderableSnapshot.material.transparent` is `boolean | undefined`
|
|
229
|
+
* (derived by the extract stage from `passes[0].renderState.blend !==
|
|
230
|
+
* undefined`, the post-feat-20260626-collapse SSOT; see
|
|
231
|
+
* `MaterialSnapshot.transparent`), structurally compatible with this
|
|
232
|
+
* minimal shape. The gate read inside the helper uses `=== true` /
|
|
233
|
+
* `!== true` so both `false` and `undefined` enter the singleton branch.
|
|
234
|
+
*
|
|
235
|
+
* feat-20260625-refactor-sprite-as-transparent-mesh R2 fix-up: gate
|
|
236
|
+
* migrated from `shadingModel === 'sprite'` (the union member was
|
|
237
|
+
* removed in M3 / w15) to `transparent === true` (the new SSOT for
|
|
238
|
+
* "routes through the LDR split sub-pass" — same predicate the
|
|
239
|
+
* `splitLdrSprite` filter at render-system-record.ts:4826/5612 uses).
|
|
240
|
+
*/
|
|
241
|
+
export interface FoldRenderableLike {
|
|
242
|
+
readonly transform: {
|
|
243
|
+
readonly world: Float32Array;
|
|
244
|
+
};
|
|
245
|
+
readonly material: {
|
|
246
|
+
readonly transparent?: boolean | undefined;
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Linear-scan fold operator (plan-strategy D-1).
|
|
251
|
+
*
|
|
252
|
+
* Walks `orderedEntries` (must be transparent-sort-ordered when mode=0;
|
|
253
|
+
* the helper trusts the input ordering and only checks adjacent equality
|
|
254
|
+
* — non-consecutive entries with equal keys are NOT merged, preserving
|
|
255
|
+
* stable-sort semantics).
|
|
256
|
+
*
|
|
257
|
+
* @param orderedEntries — DispatchEntry[] in transparent-sort order. Empty
|
|
258
|
+
* array yields zero buckets (defensive empty-bucket suppression).
|
|
259
|
+
* @param mode — current `TransparentSortConfig.mode`. Modes 0 (LAYER_Z)
|
|
260
|
+
* and 1 (LAYER_Y) enable fold using the appropriate sort-axis coordinate
|
|
261
|
+
* (posZ / posY respectively). Modes 2 and 3 produce singleton buckets
|
|
262
|
+
* per entry (D-5 bypass).
|
|
263
|
+
* @param renderables — parallel snapshot array indexed by
|
|
264
|
+
* `DispatchEntry.renderableIndex`. The helper reads `transform.world`
|
|
265
|
+
* to (a) extract the sort-axis coordinate for the bucket key (posZ
|
|
266
|
+
* world[14] for mode 0, posY world[13] for mode 1), and (b) copy 16
|
|
267
|
+
* floats per entry into the assembled transforms buffer. Out-of-range /
|
|
268
|
+
* missing renderables defensively contribute a zero mat4 slot.
|
|
269
|
+
* @returns Array of FoldBucket descriptors in input order.
|
|
270
|
+
*/
|
|
271
|
+
export declare function foldDispatchBuckets(orderedEntries: readonly DispatchEntry[], mode: TransparentSortConfig['mode'], renderables: readonly FoldRenderableLike[]): readonly FoldBucket[];
|
|
272
|
+
/**
|
|
273
|
+
* Per-validatedOrdered-index fold metadata consumed by the record-stage
|
|
274
|
+
* dispatch loops. Built from {@link foldDispatchBuckets} output by
|
|
275
|
+
* {@link buildFoldDispatchPlan}; see plan-strategy §3.2 sequence diagram.
|
|
276
|
+
*
|
|
277
|
+
* Field semantics (consumer contract, w4-record-swap):
|
|
278
|
+
* - `headBuckets[i]` is non-null when validatedOrdered index `i` is the
|
|
279
|
+
* **bucket head** of a non-singleton (bucketSize > 1) fold bucket. The
|
|
280
|
+
* dispatch loop overrides @group(3) instances BG to a transient buffer
|
|
281
|
+
* holding `bucket.transforms` and emits `drawIndexed(idxCount,
|
|
282
|
+
* bucket.bucketSize)` instead of per-entity drawIndexed.
|
|
283
|
+
* - `skipIndices.has(i)` is true when index `i` is a non-head member of
|
|
284
|
+
* a non-singleton fold bucket; the dispatch loop emits `continue`.
|
|
285
|
+
* - Singleton buckets (bucketSize === 1) leave both arrays empty for
|
|
286
|
+
* that index — dispatch falls through to the existing per-entity path
|
|
287
|
+
* byte-identically (mode-bypass / non-foldable head / fold-disabled).
|
|
288
|
+
*
|
|
289
|
+
* Note: the maps are keyed on `validatedOrderedIndex`, NOT
|
|
290
|
+
* `renderableIndex`. The dispatch loops iterate `validatedOrdered` by
|
|
291
|
+
* positional index `i`, and that index drives mesh SSBO slot offset
|
|
292
|
+
* (`i * MESH_PER_ENTITY_STRIDE`), material UBO slot, and per-entity bind
|
|
293
|
+
* group cache keys, all of which the swap must coordinate with.
|
|
294
|
+
*/
|
|
295
|
+
export interface FoldDispatchPlan {
|
|
296
|
+
readonly headBuckets: ReadonlyMap<number, FoldBucket>;
|
|
297
|
+
readonly skipIndices: ReadonlySet<number>;
|
|
298
|
+
readonly foldedBucketCount: number;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Build the per-validatedOrdered-index fold metadata from a
|
|
302
|
+
* {@link foldDispatchBuckets} output.
|
|
303
|
+
*
|
|
304
|
+
* @param buckets — output of {@link foldDispatchBuckets}; ordered by
|
|
305
|
+
* transparent-sort scan order.
|
|
306
|
+
* @param renderableIndexToValidatedIndex — map from `DispatchEntry.renderableIndex`
|
|
307
|
+
* to the validated-ordered index `i` (the loop counter the dispatch
|
|
308
|
+
* loops use). Caller builds this once per frame from `validatedOrdered`.
|
|
309
|
+
* @returns FoldDispatchPlan keyed by validated-ordered index.
|
|
310
|
+
*
|
|
311
|
+
* Empty / all-singleton input yields empty maps + `foldedBucketCount=0`,
|
|
312
|
+
* which the dispatch loops treat as "no fold this frame" — byte-identical
|
|
313
|
+
* to pre-feat behavior.
|
|
314
|
+
*/
|
|
315
|
+
export declare function buildFoldDispatchPlan(buckets: readonly FoldBucket[], renderableIndexToValidatedIndex: ReadonlyMap<number, number>): FoldDispatchPlan;
|
|
316
|
+
/**
|
|
317
|
+
* WebGL2 uniform-fallback per-bucket instance-count ceiling
|
|
318
|
+
* (feat-20260622-chunk-gpu-instancing-sprite-tilemap M2 / D-2 +
|
|
319
|
+
* research N-1).
|
|
320
|
+
*
|
|
321
|
+
* 128 instances * 64 B/mat4 stride = 8192 B, comfortably below the WebGL2
|
|
322
|
+
* minimum 16384 B UBO size, leaving headroom for the per-frame material
|
|
323
|
+
* UBO slice. Locked at the type level via `RhiInstancingExceedsUniformCapDetail.limit`
|
|
324
|
+
* (literal 128) — a future cap change would be a major evolution, not a
|
|
325
|
+
* runtime knob.
|
|
326
|
+
*/
|
|
327
|
+
export declare const FOLD_UNIFORM_INSTANCE_CAP = 128;
|
|
328
|
+
/**
|
|
329
|
+
* Minimal `RhiCapabilities` shape consumed by the cap-fallback helper.
|
|
330
|
+
*
|
|
331
|
+
* The real `RhiDevice.caps` carries many feature flags; the helper only
|
|
332
|
+
* reads `storageBuffer` (the WebGL2 / WebGPU split signal — true on
|
|
333
|
+
* WebGPU + dawn / wgpu native paths, false on the WebGL2 uniform-only
|
|
334
|
+
* fallback path). Mirrors the field name on the production `RhiCaps`
|
|
335
|
+
* type so the dispatch site can pass `runtime.device.caps` straight in.
|
|
336
|
+
*/
|
|
337
|
+
export interface FoldCapsLike {
|
|
338
|
+
readonly storageBuffer: boolean;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Decision POD returned by {@link evaluateFoldBucketUniformCap}.
|
|
342
|
+
*
|
|
343
|
+
* Fields:
|
|
344
|
+
* - `fallback` — `true` when the bucket must NOT fold and the dispatch
|
|
345
|
+
* site must route it through the per-entity drawIndexed exit (the
|
|
346
|
+
* same exit the mode-gate bypass uses, plan-strategy D-9 "shared
|
|
347
|
+
* fallback exit"). `false` when the bucket can fold normally.
|
|
348
|
+
* - `error` — the structured RhiError to fire alongside the fallback.
|
|
349
|
+
* Always populated when `fallback === true`; always `undefined` when
|
|
350
|
+
* `fallback === false` (charter proposition 4: explicit failure on
|
|
351
|
+
* the failure path; silent success on the success path).
|
|
352
|
+
*
|
|
353
|
+
* Caller contract: when `fallback === true`, fire the error via the
|
|
354
|
+
* runtime error registry AND draw the bucket's entries individually
|
|
355
|
+
* (each as a 1-instance drawIndexed). Skipping the fallback while still
|
|
356
|
+
* firing the error would leave the frame visually wrong (uniform buffer
|
|
357
|
+
* write would clip at 128 entries).
|
|
358
|
+
*/
|
|
359
|
+
export interface FoldBucketCapDecision {
|
|
360
|
+
readonly fallback: boolean;
|
|
361
|
+
readonly error: RhiError | undefined;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Decide whether a fold bucket fits the WebGL2 uniform-fallback per-bucket
|
|
365
|
+
* instance-count ceiling, returning the structured RhiError + fallback
|
|
366
|
+
* intent the dispatch site needs to act on
|
|
367
|
+
* (feat-20260622-chunk-gpu-instancing-sprite-tilemap M2 / w11 +
|
|
368
|
+
* plan-strategy D-2 + D-9 + AC-05).
|
|
369
|
+
*
|
|
370
|
+
* Decision matrix:
|
|
371
|
+
*
|
|
372
|
+
* | caps.storageBuffer | bucketSize | fallback | error |
|
|
373
|
+
* |:--|:--|:--|:--|
|
|
374
|
+
* | `true` | every | `false` | `undefined` (WebGPU has no per-binding instance cap inside the storage buffer's `maxStorageBufferBindingSize`; the byte-cap path emits `'limit-exceeded'` separately) |
|
|
375
|
+
* | `false` | `<= 128` | `false` | `undefined` (fits inside the WebGL2 minimum 16384 B UBO with headroom) |
|
|
376
|
+
* | `false` | `> 128` | `true` | `RhiError({ code: 'instancing-exceeds-uniform-cap', detail: { requested, limit: 128, scope } })` |
|
|
377
|
+
*
|
|
378
|
+
* Singleton buckets (`bucketSize === 1`) always pass — they are the
|
|
379
|
+
* mode-gate bypass output and never need the cap check (the cap is
|
|
380
|
+
* about *folded* bucket arity, not about per-entity per-frame work).
|
|
381
|
+
*
|
|
382
|
+
* @param bucket — the FoldBucket whose `bucketSize` is the sole input
|
|
383
|
+
* (instance count = bucketSize); other fields are not consulted.
|
|
384
|
+
* @param caps — the runtime's RHI capability flags
|
|
385
|
+
* (`runtime.device.caps`); only `storageBuffer` is read.
|
|
386
|
+
* @param scope — closed `'sprite' | 'tilemap-chunk'` discriminator the
|
|
387
|
+
* dispatch site picks based on the call site (sprite-pass primary
|
|
388
|
+
* sprite entry vs tilemap-chunk-derived entry). Surfaced verbatim on
|
|
389
|
+
* the error's `.detail.scope` so AI users can branch their recovery
|
|
390
|
+
* on which dispatch site overflowed.
|
|
391
|
+
* @returns a {@link FoldBucketCapDecision} POD; never throws.
|
|
392
|
+
*/
|
|
393
|
+
export declare function evaluateFoldBucketUniformCap(bucket: FoldBucket, caps: FoldCapsLike, scope: 'sprite' | 'tilemap-chunk'): FoldBucketCapDecision;
|
|
394
|
+
/**
|
|
395
|
+
* Closed metric key for the AC-06 fold counter
|
|
396
|
+
* (feat-20260622-chunk-gpu-instancing-sprite-tilemap M3 / D-3).
|
|
397
|
+
*
|
|
398
|
+
* Semantics — count of instanced `drawIndexed` calls the fold operator
|
|
399
|
+
* emits this frame; one increment per non-singleton head bucket retained
|
|
400
|
+
* after the M2 / w11 cap-fallback filter. NOT entity count, NOT pre-
|
|
401
|
+
* filter bucket count — cap-overrun buckets that the dispatch site
|
|
402
|
+
* routed through the per-entity fallback exit do not count.
|
|
403
|
+
*
|
|
404
|
+
* Naming follows the EngineMetrics dot-namespace convention
|
|
405
|
+
* (`<feature>.<event>`); `render.instancing.*` covers both sprite and
|
|
406
|
+
* tilemap-chunk dispatch sites without scope ambiguity (research F-5,
|
|
407
|
+
* plan-strategy §8.2). The owning host evidence reads
|
|
408
|
+
* `ownerMetrics.snapshot()['render.instancing.foldedDraws']`.
|
|
409
|
+
*/
|
|
410
|
+
export declare const FOLDED_DRAWS_METRIC_KEY = "render.instancing.foldedDraws";
|
|
411
|
+
/**
|
|
412
|
+
* Minimal `EngineMetrics` shape consumed by {@link incrementFoldedDrawsMetric}.
|
|
413
|
+
*
|
|
414
|
+
* The real `EngineMetrics` carries `snapshot()` + `reset()` too; the
|
|
415
|
+
* helper only writes, so the consumed surface narrows to a single
|
|
416
|
+
* method. Lets the unit test inject a `vi.fn()` mock without faking the
|
|
417
|
+
* read APIs.
|
|
418
|
+
*/
|
|
419
|
+
export interface FoldMetricsLike {
|
|
420
|
+
increment(name: string): void;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Bump the AC-06 `render.instancing.foldedDraws` counter once per fold-
|
|
424
|
+
* eligible head bucket in `plan` (M3 / w13, plan-strategy D-3).
|
|
425
|
+
*
|
|
426
|
+
* Single counter-write site for the metric — the record-stage consumer
|
|
427
|
+
* calls this once per `recordFrame` after the cap-fallback filter
|
|
428
|
+
* (M2 / w11) so cap-overrun buckets do not contribute (their members
|
|
429
|
+
* fall through to per-entity drawIndexed, which is not an instanced
|
|
430
|
+
* draw). `plan.foldedBucketCount` is the SSOT for "how many instanced
|
|
431
|
+
* drawIndexed will this frame emit"; passing the same plan to this
|
|
432
|
+
* helper keeps the metric and the actual dispatch in lockstep.
|
|
433
|
+
*
|
|
434
|
+
* Mode-bypass plans (D-5: mode != 0 yields singleton-only buckets which
|
|
435
|
+
* `buildFoldDispatchPlan` filters out) carry `foldedBucketCount === 0`
|
|
436
|
+
* and produce no increments — per-entity drawIndexed is not folded so
|
|
437
|
+
* the metric correctly stays at 0.
|
|
438
|
+
*
|
|
439
|
+
* @param plan — output of {@link buildFoldDispatchPlan} after possible
|
|
440
|
+
* cap-fallback filtering by the record-stage consumer.
|
|
441
|
+
* @param metrics — the owner-provided EngineMetrics counter; only
|
|
442
|
+
* `increment(name)` is called. Empty `plan.foldedBucketCount === 0`
|
|
443
|
+
* produces zero calls (no metric churn for fold-disabled frames).
|
|
444
|
+
*/
|
|
445
|
+
export declare function incrementFoldedDrawsMetric(plan: FoldDispatchPlan, metrics: FoldMetricsLike): void;
|
|
446
|
+
//# sourceMappingURL=mesh-ssbo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh-ssbo.d.ts","sourceRoot":"","sources":["../../src/record/mesh-ssbo.ts"],"names":[],"mappings":"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"}
|