@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,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cone-restricted spot light (KHR_lights_punctual `spot` type). Casts shadows
|
|
3
|
+
* by default (castShadow defaults to true) — zero-config spawns project hard
|
|
4
|
+
* PCF shadows through an independent spot depth atlas.
|
|
5
|
+
*
|
|
6
|
+
* `direction` @semantics outgoing -- points FROM light source TO the
|
|
7
|
+
* scene (consistent with `DirectionalLight`; the shader internally negates
|
|
8
|
+
* this vector to obtain the L vector for BRDF evaluation:
|
|
9
|
+
* `let l = normalize(-light.direction)`). Extract owns the single
|
|
10
|
+
* normalization step for the snapshot; URP and HDRP consume that normalized
|
|
11
|
+
* value without re-normalizing. `position` source: the companion
|
|
12
|
+
* `Transform` component on the same entity.
|
|
13
|
+
*
|
|
14
|
+
* `innerConeDeg` is the half-angle of the saturated bright region (cone
|
|
15
|
+
* fully bright at the axis); `outerConeDeg` is the half-angle of the
|
|
16
|
+
* falloff edge (cone fully dark beyond). Unit is **degrees**;
|
|
17
|
+
* `outerConeDeg in (innerConeDeg, 90]` (KHR upper bound; spawn-time
|
|
18
|
+
* validation rejects `outer > 90` and `outer <= inner`). The host-side
|
|
19
|
+
* extract step converts both to `cos*` before GPU upload so the shader
|
|
20
|
+
* only sees pre-computed cosines (plan-strategy D-S2 byte freeze; charter
|
|
21
|
+
* P4 host pre-multiplication parity).
|
|
22
|
+
*
|
|
23
|
+
* `color` is linear-space rgb in `[0, 1]` per channel; `intensity` is candela;
|
|
24
|
+
* `range` is in meters and defaults to `10.0`. Exposure is a camera output
|
|
25
|
+
* operation and does not change the stored intensity.
|
|
26
|
+
*
|
|
27
|
+
* Shadow fields (embedded, aligned with DirectionalLight):
|
|
28
|
+
* castShadow ∈ {true, false} — shadow opt-out gate (default true)
|
|
29
|
+
* mapSize >= 1 — shadow map resolution per tile (default 2048)
|
|
30
|
+
* depthBias — shadow acne bias (default 0.005)
|
|
31
|
+
* normalBias — shadow acne normal offset (default 0.05)
|
|
32
|
+
* nearPlane — shadow-camera near (default 0.1)
|
|
33
|
+
* farPlane — shadow-camera far (default 50)
|
|
34
|
+
* pcfKernelSize odd >= 1 — PCF kernel width (default 3)
|
|
35
|
+
*
|
|
36
|
+
* Atlas capacity is capped at 4 castShadow spot lights by the extract stage;
|
|
37
|
+
* the 5th light onward keeps direct illumination but shadowAtlasTile = -1
|
|
38
|
+
* (AC-05: clip is programmatically detectable, light stays visible).
|
|
39
|
+
*
|
|
40
|
+
* @example Spawn a single spot light casting shadows (zero-config):
|
|
41
|
+
* world.spawn(
|
|
42
|
+
* { component: Transform, data: { pos: [0, 5, 0] } },
|
|
43
|
+
* { component: SpotLight, data: { direction: [0, -1, 0] } }, // [x, y, z]
|
|
44
|
+
* );
|
|
45
|
+
*
|
|
46
|
+
* @example Opt out of shadows:
|
|
47
|
+
* world.spawn(
|
|
48
|
+
* { component: Transform, data: { pos: [0, 5, 0] } },
|
|
49
|
+
* { component: SpotLight, data: { direction: [0, -1, 0], castShadow: false } },
|
|
50
|
+
* );
|
|
51
|
+
*
|
|
52
|
+
* @example Explicit shadow config:
|
|
53
|
+
* world.spawn(
|
|
54
|
+
* { component: Transform, data: { pos: [0, 5, 0] } },
|
|
55
|
+
* { component: SpotLight, data: { direction: [0, -1, 0], depthBias: 0.01, normalBias: 0.08, mapSize: 1024 } },
|
|
56
|
+
* );
|
|
57
|
+
*
|
|
58
|
+
* @example Minimal spawn -- defaults give neutral white at full strength, range 10m, KHR pi/4 cone:
|
|
59
|
+
* world.spawn(
|
|
60
|
+
* { component: Transform, data: { pos: [0, 5, 0] } },
|
|
61
|
+
* { component: SpotLight, data: { direction: [0, -1, 0] } }, // [x, y, z]
|
|
62
|
+
* );
|
|
63
|
+
* // resolves to color=[1,1,1], intensity=1, range=10.0,
|
|
64
|
+
* // innerConeDeg=0, outerConeDeg=45 (KHR pi/4 equivalent).
|
|
65
|
+
*/
|
|
66
|
+
export declare const SpotLight: import("@forgeax/engine-ecs").Component<"SpotLight", {
|
|
67
|
+
readonly direction: "array<f32, 3>";
|
|
68
|
+
readonly color: "array<f32, 3>";
|
|
69
|
+
readonly intensity: "f32";
|
|
70
|
+
readonly range: "f32";
|
|
71
|
+
readonly innerConeDeg: "f32";
|
|
72
|
+
readonly outerConeDeg: "f32";
|
|
73
|
+
readonly castShadow: "bool";
|
|
74
|
+
readonly mapSize: "f32";
|
|
75
|
+
readonly depthBias: "f32";
|
|
76
|
+
readonly normalBias: "f32";
|
|
77
|
+
readonly nearPlane: "f32";
|
|
78
|
+
readonly farPlane: "f32";
|
|
79
|
+
readonly pcfKernelSize: "f32";
|
|
80
|
+
}>;
|
|
81
|
+
//# sourceMappingURL=spot-light.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spot-light.d.ts","sourceRoot":"","sources":["../../src/components/spot-light.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;EAmBpB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-entity sprite frame-tick clock.
|
|
3
|
+
*
|
|
4
|
+
* Schema (6 fields, 1:1 with requirements section 2.3):
|
|
5
|
+
* - `frameCount: u32` — total frames (>= 1).
|
|
6
|
+
* - `frameDuration: f32` — seconds per frame (> 0).
|
|
7
|
+
* - `currentFrame: u32` — live frame index (0..frameCount). Layer-3
|
|
8
|
+
* default `0` when omitted at spawn.
|
|
9
|
+
* - `accumDt: f32` — dt residue carried across ticks. Layer-3 default
|
|
10
|
+
* `0` when omitted; lives on the component (not on a system-side
|
|
11
|
+
* resource) so the system stays stateless and AI-user setFrame paths
|
|
12
|
+
* can reset both `currentFrame` and `accumDt` atomically.
|
|
13
|
+
* - `regions: array<f32>` — flat per-frame UV rectangles
|
|
14
|
+
* `[uMin, vMin, uW, vH]`; runtime invariant
|
|
15
|
+
* `regions.length === frameCount * 4` (enforced by the M4 tick system).
|
|
16
|
+
* - `playbackMode: u32` — numeric encoding of `SpritePlaybackMode`;
|
|
17
|
+
* `SPRITE_PLAYBACK_MODE_LOOP = 0` (default) /
|
|
18
|
+
* `SPRITE_PLAYBACK_MODE_CLAMP = 1`.
|
|
19
|
+
*
|
|
20
|
+
* Pair with `SpriteRegionOverride` (T-11) — the tick system writes the
|
|
21
|
+
* per-frame UV slice into the override column, which `render-system-
|
|
22
|
+
* extract` then reads in the sprite bucket branch.
|
|
23
|
+
*
|
|
24
|
+
* @example Spawn a 4-frame walk cycle that loops:
|
|
25
|
+
* import { MeshFilter, MeshRenderer } from '@forgeax/engine-render';
|
|
26
|
+
* import {
|
|
27
|
+
* SpriteAnimation, SpriteRegionOverride, SPRITE_PLAYBACK_MODE_LOOP,
|
|
28
|
+
* } from '@forgeax/engine-render/authoring';
|
|
29
|
+
* import { Transform } from '@forgeax/engine-scene';
|
|
30
|
+
* import { HANDLE_QUAD } from '@forgeax/engine-assets-runtime';
|
|
31
|
+
*
|
|
32
|
+
* // 4 frames packed in an atlas, each 64x64 inside a 256x64 row:
|
|
33
|
+
* const regions = new Float32Array([
|
|
34
|
+
* 0.00, 0, 0.25, 1, // walk-0
|
|
35
|
+
* 0.25, 0, 0.25, 1, // walk-1
|
|
36
|
+
* 0.50, 0, 0.25, 1, // walk-2
|
|
37
|
+
* 0.75, 0, 0.25, 1, // walk-3
|
|
38
|
+
* ]);
|
|
39
|
+
* world.spawn(
|
|
40
|
+
* { component: Transform, data: { pos: [0, 0, 0],
|
|
41
|
+
* quat: [0, 0, 0, 1], scale: [1, 1, 1] } },
|
|
42
|
+
* { component: MeshFilter, data: { assetHandle: HANDLE_QUAD } },
|
|
43
|
+
* { component: MeshRenderer, data: { materials: [spriteMaterial] } },
|
|
44
|
+
* { component: SpriteAnimation,
|
|
45
|
+
* data: {
|
|
46
|
+
* frameCount: 4,
|
|
47
|
+
* frameDuration: 0.1,
|
|
48
|
+
* regions,
|
|
49
|
+
* playbackMode: SPRITE_PLAYBACK_MODE_LOOP,
|
|
50
|
+
* } },
|
|
51
|
+
* { component: SpriteRegionOverride,
|
|
52
|
+
* data: { region: new Float32Array([0, 0, 0.25, 1]) } },
|
|
53
|
+
* );
|
|
54
|
+
*
|
|
55
|
+
* @example Manual setFrame — jump to frame 2 atomically:
|
|
56
|
+
* world.set(entity, SpriteAnimation,
|
|
57
|
+
* { currentFrame: 2, accumDt: 0 }).unwrap();
|
|
58
|
+
*
|
|
59
|
+
* Error path (M4 T-23 routes through `SpriteAnimationInvalidError`,
|
|
60
|
+
* `EcsErrorCode === 'sprite-animation-invalid'`; charter P3):
|
|
61
|
+
* - `regions.length !== frameCount * 4` -> detail.field = 'regions-length',
|
|
62
|
+
* detail carries `regionsLength` + `frameCount`.
|
|
63
|
+
* - `frameDuration <= 0` -> detail.field = 'frame-duration', detail carries
|
|
64
|
+
* `frameDuration`.
|
|
65
|
+
*/
|
|
66
|
+
export declare const SpriteAnimation: import("@forgeax/engine-ecs").Component<"SpriteAnimation", {
|
|
67
|
+
readonly frameCount: "u32";
|
|
68
|
+
readonly frameDuration: "f32";
|
|
69
|
+
readonly currentFrame: "u32";
|
|
70
|
+
readonly accumDt: "f32";
|
|
71
|
+
readonly regions: "array<f32>";
|
|
72
|
+
readonly playbackMode: "u32";
|
|
73
|
+
}>;
|
|
74
|
+
//# sourceMappingURL=sprite-animation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite-animation.d.ts","sourceRoot":"","sources":["../../src/components/sprite-animation.ts"],"names":[],"mappings":"AA+FA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-entity 2D instanced-draw primitive (ECS component).
|
|
3
|
+
*
|
|
4
|
+
* Carries two variable-length `array<f32>` fields:
|
|
5
|
+
* - `transforms` — column-major mat4 per instance (16 f32, stride 16);
|
|
6
|
+
* - `regions` — UV vec4 per instance ([uMin, vMin, uW, vH], 4 f32,
|
|
7
|
+
* stride 4).
|
|
8
|
+
*
|
|
9
|
+
* The pair share the same instance count; the invariant
|
|
10
|
+
* `transforms.length / 16 === regions.length / 4` is enforced at the
|
|
11
|
+
* RenderSystem extract entry (NOT at ECS write paths). The runtime
|
|
12
|
+
* RenderSystem consumer materialises a fresh `Float32Array` snapshot on
|
|
13
|
+
* every `world.get(e, SpriteInstances)` access and uploads an interleaved
|
|
14
|
+
* 80B-per-instance buffer to the GPU in the record stage.
|
|
15
|
+
*
|
|
16
|
+
* @example Spawn an entity rendering 10000 instanced sprites:
|
|
17
|
+
* const transforms = new Float32Array(10000 * 16);
|
|
18
|
+
* const regions = new Float32Array(10000 * 4);
|
|
19
|
+
* // ... fill mat4 columns + [uMin, vMin, uW, vH] ...
|
|
20
|
+
* world.spawn(
|
|
21
|
+
* { component: MeshFilter, data: { assetHandle: HANDLE_QUAD } },
|
|
22
|
+
* { component: MeshRenderer, data: { ... } },
|
|
23
|
+
* { component: SpriteInstances, data: { transforms, regions } },
|
|
24
|
+
* );
|
|
25
|
+
*/
|
|
26
|
+
export declare const SpriteInstances: import("@forgeax/engine-ecs").Component<"SpriteInstances", {
|
|
27
|
+
readonly transforms: "array<f32>";
|
|
28
|
+
readonly regions: "array<f32>";
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Type-level hint for `data` at the `SpriteInstances` spawn site.
|
|
32
|
+
*
|
|
33
|
+
* The runtime ECS column shape for `array<f32>` accepts a `Float32Array`
|
|
34
|
+
* payload at spawn / set time (the bytes are copied into the BufferPool
|
|
35
|
+
* slot). Both fields are typed as `Float32Array` so AI-user IDE
|
|
36
|
+
* autocomplete picks up the typed-array shape and the AC-09 inference
|
|
37
|
+
* surfaces without `as` casts inside `world.get(e, SpriteInstances)` and
|
|
38
|
+
* QueryRow access paths.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* import type { SpriteInstancesData } from '@forgeax/engine-render/authoring';
|
|
42
|
+
* const data: SpriteInstancesData = {
|
|
43
|
+
* transforms: new Float32Array(N * 16),
|
|
44
|
+
* regions: new Float32Array(N * 4),
|
|
45
|
+
* };
|
|
46
|
+
*/
|
|
47
|
+
export type SpriteInstancesData = {
|
|
48
|
+
readonly transforms: Float32Array;
|
|
49
|
+
readonly regions: Float32Array;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=sprite-instances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite-instances.d.ts","sourceRoot":"","sources":["../../src/components/sprite-instances.ts"],"names":[],"mappings":"AAgIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe;;;EAG1B,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Playback mode discriminator literal union (requirements section AC-02 +
|
|
3
|
+
* section 2.3). Two members for the MVP:
|
|
4
|
+
*
|
|
5
|
+
* `'loop'` — `currentFrame = (currentFrame + 1) % frameCount`; the
|
|
6
|
+
* sprite-animation-tick system wraps the index when
|
|
7
|
+
* `accumDt >= frameDuration` (default for hello-sprite-
|
|
8
|
+
* atlas demo "100 sprites synchronised walk cycle").
|
|
9
|
+
* `'clamp'` — `currentFrame = min(currentFrame + 1, frameCount - 1)`;
|
|
10
|
+
* holds the last frame for death / terminator-animation
|
|
11
|
+
* style sequences (requirements section 2.5 q8 lock).
|
|
12
|
+
*
|
|
13
|
+
* Future modes (`'pingpong'`, reverse playback, arbitrary frame index
|
|
14
|
+
* jumps) are deferred per requirements OOS-03. The closed union shape
|
|
15
|
+
* leaves room for additive growth without breaking the u32 enum encoding
|
|
16
|
+
* (plan-strategy section 2 D-5).
|
|
17
|
+
*/
|
|
18
|
+
export type SpritePlaybackMode = 'loop' | 'clamp';
|
|
19
|
+
/** Numeric encoding of the loop playback mode (schema value for `playbackMode`). */
|
|
20
|
+
export declare const SPRITE_PLAYBACK_MODE_LOOP: 0;
|
|
21
|
+
/** Numeric encoding of the clamp playback mode (schema value for `playbackMode`). */
|
|
22
|
+
export declare const SPRITE_PLAYBACK_MODE_CLAMP: 1;
|
|
23
|
+
/** Grouped authoring values; the numeric ECS encoding stays owner-local. */
|
|
24
|
+
export declare const SpritePlayback: Readonly<{
|
|
25
|
+
readonly loop: 0;
|
|
26
|
+
readonly clamp: 1;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Map a `SpriteAnimation.playbackMode` numeric column value to the closed
|
|
30
|
+
* `SpritePlaybackMode` string-literal union. The defensive fallback mirrors
|
|
31
|
+
* `cameraProjectionFromF32` / `tonemapFromF32` precedent — a value other
|
|
32
|
+
* than `SPRITE_PLAYBACK_MODE_CLAMP` (1) maps to `'loop'`, so stale or
|
|
33
|
+
* uninitialised entities surface a predictable playback shape through the
|
|
34
|
+
* tick-system query (rather than throwing or returning `undefined`).
|
|
35
|
+
* Validation of `playbackMode` happens at schema-write time, not here.
|
|
36
|
+
*
|
|
37
|
+
* The tick-system in M4 T-23 (`spriteAnimationTickSystem`) consumes the
|
|
38
|
+
* return value via `switch (mode) { case 'loop': ...; case 'clamp': ... }`
|
|
39
|
+
* to pick the per-branch frame-advance arithmetic.
|
|
40
|
+
*/
|
|
41
|
+
export declare function spritePlaybackModeFromU32(value: number): SpritePlaybackMode;
|
|
42
|
+
//# sourceMappingURL=sprite-playback-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite-playback-mode.d.ts","sourceRoot":"","sources":["../../src/components/sprite-playback-mode.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,EAAG,CAAU,CAAC;AAEpD,qFAAqF;AACrF,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AAErD,4EAA4E;AAC5E,eAAO,MAAM,cAAc;;;EAGhB,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAE3E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-entity sprite UV region override (sprite-only).
|
|
3
|
+
*
|
|
4
|
+
* Carries a fixed-length `Float32Array(4)` of `[uMin, vMin, uW, vH]` that
|
|
5
|
+
* `render-system-extract` reads in the sprite bucket branch and writes
|
|
6
|
+
* into `paramSnapshot.region`, replacing the asset-side region for
|
|
7
|
+
* this entity only (feat-20260625 M3 ablation: the prior per-entity POD
|
|
8
|
+
* indirection collapsed into the generic paramSchema-driven snapshot).
|
|
9
|
+
* Opaque buckets ignore this component; the AC-11 grep gate keeps the
|
|
10
|
+
* producer / consumer separation structural (this file never names the
|
|
11
|
+
* asset-side sprite discriminant identifier).
|
|
12
|
+
*
|
|
13
|
+
* Pair with `SpriteAnimation` to drive the override per frame
|
|
14
|
+
* (sprite-animation-tick system, M4 T-23). Standalone use (manual region
|
|
15
|
+
* override without animation) is also supported — set the column once and
|
|
16
|
+
* the next extract picks up the new value.
|
|
17
|
+
*
|
|
18
|
+
* Schema-vocab keyword `'array<f32, 4>'` (D-6) — fixed-length 4 is the
|
|
19
|
+
* compile-time enforcement axis. `Float32Array` payloads with length !== 4
|
|
20
|
+
* round-trip fewer / more bytes per the underlying BufferPool slot, but
|
|
21
|
+
* the slot is sized at schema registration time; AI users keep the
|
|
22
|
+
* payload exactly four-floats wide.
|
|
23
|
+
*
|
|
24
|
+
* @example Spawn a sprite entity that displays the right half of an atlas:
|
|
25
|
+
* import { MeshFilter, MeshRenderer } from '@forgeax/engine-render';
|
|
26
|
+
* import { SpriteRegionOverride } from '@forgeax/engine-render/authoring';
|
|
27
|
+
* import { Transform } from '@forgeax/engine-scene';
|
|
28
|
+
* import { HANDLE_QUAD } from '@forgeax/engine-assets-runtime';
|
|
29
|
+
*
|
|
30
|
+
* world.spawn(
|
|
31
|
+
* { component: Transform, data: { pos: [0, 0, 0],
|
|
32
|
+
* quat: [0, 0, 0, 1], scale: [1, 1, 1] } },
|
|
33
|
+
* { component: MeshFilter, data: { assetHandle: HANDLE_QUAD } },
|
|
34
|
+
* { component: MeshRenderer, data: { materials: [spriteMaterial] } },
|
|
35
|
+
* { component: SpriteRegionOverride,
|
|
36
|
+
* data: { region: new Float32Array([0.5, 0, 0.5, 1]) } },
|
|
37
|
+
* );
|
|
38
|
+
*
|
|
39
|
+
* @example Update the override at runtime (e.g. flip-frame test):
|
|
40
|
+
* world.set(entity, SpriteRegionOverride,
|
|
41
|
+
* { region: new Float32Array([0, 0, 1, 1]) }).unwrap();
|
|
42
|
+
*/
|
|
43
|
+
export declare const SpriteRegionOverride: import("@forgeax/engine-ecs").Component<"SpriteRegionOverride", {
|
|
44
|
+
readonly region: "array<f32, 4>";
|
|
45
|
+
}>;
|
|
46
|
+
//# sourceMappingURL=sprite-region-override.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite-region-override.d.ts","sourceRoot":"","sources":["../../src/components/sprite-region-override.ts"],"names":[],"mappings":"AA4DA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,oBAAoB;;EAE/B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { type EcsError, type EntityHandle, type World } from '@forgeax/engine-ecs';
|
|
2
|
+
import type { Result } from '@forgeax/engine-types';
|
|
3
|
+
/**
|
|
4
|
+
* Closed string-literal union for the TileLayer.sortScope field. AI users
|
|
5
|
+
* grep `sortScope` and land on this single SSOT type alias; switch
|
|
6
|
+
* statements over this type are exhaustive without a default arm.
|
|
7
|
+
*
|
|
8
|
+
* - 'layer' - terrain semantics; whole layer shares one Layer.value
|
|
9
|
+
* bucket and Y-sorts together (chunkIndex is folded into 0).
|
|
10
|
+
* - 'per-cell' - object semantics; each derived entity gets its own
|
|
11
|
+
* chunkIndex tiebreak so it can Y-interleave with
|
|
12
|
+
* sprite entities carrying the same Layer.value (e.g. a
|
|
13
|
+
* player sprite riding the same SPRITE_LAYER_VALUE).
|
|
14
|
+
*/
|
|
15
|
+
export type SortScope = 'layer' | 'per-cell';
|
|
16
|
+
/** Compact authoring values for the stored u8 sort-scope field. */
|
|
17
|
+
export declare const TilemapSort: Readonly<{
|
|
18
|
+
layer: 0;
|
|
19
|
+
perCell: 1;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Bridge: `SortScope` -> on-disk u8. SSOT for the encoding (`'layer'` -> 0,
|
|
23
|
+
* `'per-cell'` -> 1). The compile-time exhaustive switch guards against
|
|
24
|
+
* silent drift if the union ever grows; adding a new literal here without
|
|
25
|
+
* adding its arm fails typecheck (charter P3 — closed unions never default).
|
|
26
|
+
*/
|
|
27
|
+
export declare function encodeSortScope(scope: SortScope): 0 | 1;
|
|
28
|
+
/**
|
|
29
|
+
* Bridge: on-disk u8 -> `SortScope`. Defaults to `'layer'` for any value
|
|
30
|
+
* outside `{0, 1}` (defensive — the column is typed `u8` so out-of-range
|
|
31
|
+
* values can only appear if a future schema migration loosens the bound;
|
|
32
|
+
* the default preserves terrain semantics which is the safer of the two).
|
|
33
|
+
*/
|
|
34
|
+
export declare function decodeSortScope(raw: number | undefined): SortScope;
|
|
35
|
+
/**
|
|
36
|
+
* Public TileLayer field shape (`world.spawn({ component: TileLayer, data:
|
|
37
|
+
* { ... } })` payload). `sortScope` is the closed string union surfaced to
|
|
38
|
+
* AI users; the runtime row encodes it as `u8` via `encodeSortScope` at
|
|
39
|
+
* spawn time so on-disk storage stays compact.
|
|
40
|
+
*
|
|
41
|
+
* Treat as the `TileLayer` data SSOT — `defineComponent` schema below
|
|
42
|
+
* mirrors it field-for-field with the bridge `sortScope: u8` in place of
|
|
43
|
+
* the union literal.
|
|
44
|
+
*/
|
|
45
|
+
export interface TileLayerData {
|
|
46
|
+
readonly tiles: Uint32Array;
|
|
47
|
+
readonly layerOrder?: number;
|
|
48
|
+
readonly dirty?: number;
|
|
49
|
+
readonly sortScope?: SortScope;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* TileLayer component (M0 baseline rebuild + round-2 sortScope rename).
|
|
53
|
+
*
|
|
54
|
+
* AI users typically spawn a TileLayer + ChildOf pair pointing at an
|
|
55
|
+
* existing Tilemap entity:
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* const tilesArray = new Uint32Array(cols * rows);
|
|
59
|
+
* tilesArray[5 * cols + 7] = 1; // tile id 1 at cell (7, 5)
|
|
60
|
+
* world.spawn(
|
|
61
|
+
* { component: TileLayer, data: { tiles: tilesArray, layerOrder: 0 } },
|
|
62
|
+
* { component: ChildOf, data: { parent: tilemapEntity } },
|
|
63
|
+
* );
|
|
64
|
+
*
|
|
65
|
+
* Object-layer variant (Y-interleave with sprite entities):
|
|
66
|
+
*
|
|
67
|
+
* > NOTE: schema storage is `u8` (ECS schema does not support
|
|
68
|
+
* > string-literal-union column constraints; see R-NEW-2). The
|
|
69
|
+
* > AI-user surface is the closed `SortScope` string union, but
|
|
70
|
+
* > `world.spawn` requires the numeric encoding — pass through
|
|
71
|
+
* > `encodeSortScope('per-cell')` rather than the literal string.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* world.spawn(
|
|
75
|
+
* { component: TileLayer, data: {
|
|
76
|
+
* tiles: objectTiles,
|
|
77
|
+
* layerOrder: 1000,
|
|
78
|
+
* sortScope: encodeSortScope('per-cell'),
|
|
79
|
+
* } },
|
|
80
|
+
* { component: ChildOf, data: { parent: tilemapEntity } },
|
|
81
|
+
* );
|
|
82
|
+
*
|
|
83
|
+
* Defaults: `layerOrder = 0`, `dirty = 0`, `sortScope = 'layer'` (stored
|
|
84
|
+
* as `u8 = 0`, i.e. `encodeSortScope('layer')`). `tiles` has no default -
|
|
85
|
+
* AI users supply the per-cell array at spawn time. To trigger a re-build
|
|
86
|
+
* after mutating tiles in place, call `markTileLayerDirty(world, layer)`.
|
|
87
|
+
*/
|
|
88
|
+
export declare const TileLayer: import("@forgeax/engine-ecs").Component<"TileLayer", {
|
|
89
|
+
readonly tiles: "array<u32>";
|
|
90
|
+
readonly layerOrder: "i32";
|
|
91
|
+
readonly dirty: "u8";
|
|
92
|
+
readonly sortScope: "u8";
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Mark a TileLayer entity dirty so the next `tilemapChunkExtractSystem`
|
|
96
|
+
* pass purges and re-spawns its derived per-cell entities. Use this after
|
|
97
|
+
* mutating `TileLayer.tiles` (e.g. an in-place patch via a column view).
|
|
98
|
+
*
|
|
99
|
+
* Returns the underlying ECS write result - on `err` branch the caller
|
|
100
|
+
* can read `.code` to recover (`'stale-entity'` if the layer was
|
|
101
|
+
* despawned, `'component-not-present'` if the entity is missing the
|
|
102
|
+
* TileLayer column; both kebab-case literals are members of the closed
|
|
103
|
+
* `EcsErrorCode` union).
|
|
104
|
+
*/
|
|
105
|
+
export declare function markTileLayerDirty(world: World, layerEntity: EntityHandle): Result<void, EcsError>;
|
|
106
|
+
//# sourceMappingURL=tile-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile-layer.d.ts","sourceRoot":"","sources":["../../src/components/tile-layer.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAmB,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7C,mEAAmE;AACnE,eAAO,MAAM,WAAW;;;EAGtB,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAElE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,SAAS;;;;;EAKpB,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,YAAY,GACxB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAExB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tilemap component (M0 baseline rebuild).
|
|
3
|
+
*
|
|
4
|
+
* A Tilemap entity carries grid metadata + a single durable `tileset` GUID. The
|
|
5
|
+
* actual per-cell tile id array lives on attached `TileLayer` entities
|
|
6
|
+
* (one per render layer; ChildOf points back to the Tilemap entity).
|
|
7
|
+
*
|
|
8
|
+
* Defaults:
|
|
9
|
+
* - `tileSize = [1, 1]` (unit-cell world coordinates).
|
|
10
|
+
* - `chunkSize = 16` (tilemap-chunk-extract-system chunks 16x16 cells).
|
|
11
|
+
*
|
|
12
|
+
* @example Spawn a 32x32 unit-cell Tilemap referencing a TilesetAsset:
|
|
13
|
+
* const tilemap = world.spawn(
|
|
14
|
+
* { component: Tilemap, data: { cols: 32, rows: 32, tileset } },
|
|
15
|
+
* { component: Transform, data: {} },
|
|
16
|
+
* ).unwrap();
|
|
17
|
+
*/
|
|
18
|
+
export declare const Tilemap: import("@forgeax/engine-ecs").Component<"Tilemap", {
|
|
19
|
+
readonly cols: "u32";
|
|
20
|
+
readonly rows: "u32";
|
|
21
|
+
readonly tileSize: "array<f32, 2>";
|
|
22
|
+
readonly chunkSize: "u32";
|
|
23
|
+
readonly tileset: "string";
|
|
24
|
+
}>;
|
|
25
|
+
//# sourceMappingURL=tilemap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tilemap.d.ts","sourceRoot":"","sources":["../../src/components/tilemap.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO;;;;;;EAQlB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Numeric labels stored by the public Visibility enum field. */
|
|
2
|
+
export declare const VisibilityStateValue: Readonly<{
|
|
3
|
+
readonly inherited: 0;
|
|
4
|
+
readonly hidden: 1;
|
|
5
|
+
readonly visible: 2;
|
|
6
|
+
}>;
|
|
7
|
+
/** Author visibility intent accepted by the Visibility component. */
|
|
8
|
+
export type VisibilityState = keyof typeof VisibilityStateValue;
|
|
9
|
+
/**
|
|
10
|
+
* Decode the stored u32 without treating an unknown value as a valid state.
|
|
11
|
+
* Invalid values are rejected at ECS write boundaries; undefined remains an
|
|
12
|
+
* explicit signal for readers that inspect externally corrupted columns.
|
|
13
|
+
*/
|
|
14
|
+
export declare function visibilityStateFromU32(value: number): VisibilityState | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Author intent for render participation. Omitted state is inherited and is
|
|
17
|
+
* therefore visible when no valid parent intent is available.
|
|
18
|
+
*/
|
|
19
|
+
export declare const Visibility: import("@forgeax/engine-ecs").Component<"Visibility", {
|
|
20
|
+
readonly state: "enum";
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=visibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../src/components/visibility.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,eAAO,MAAM,oBAAoB;;;;EAItB,CAAC;AAEZ,qEAAqE;AACrE,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAWjF;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU;;EAkBtB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
|
|
2
|
+
import type { RhiBackendPack } from './assembly/backend-contract';
|
|
3
|
+
import type { BundlerOptions } from './assembly/factory';
|
|
4
|
+
import type { RendererHostImplementation, RendererLegacyHostAdapter } from './assembly/host-contract';
|
|
5
|
+
import { type RenderError } from './errors/render';
|
|
6
|
+
import type { Renderer, RendererOptions, RenderResult } from './render-contract';
|
|
7
|
+
export type { EngineEnvironmentErrorDetail, RhiBackendInstrumentation, RhiBackendPack, } from './assembly/backend-contract';
|
|
8
|
+
export { EngineEnvironmentError } from './assembly/backend-contract';
|
|
9
|
+
export type { RendererLegacyHostAdapter } from './assembly/host-contract';
|
|
10
|
+
export type { BundlerOptions };
|
|
11
|
+
export type RendererFeatureAssemblyHost = Pick<RendererLegacyHostAdapter, 'installRenderFeature' | 'uninstallRenderFeature'>;
|
|
12
|
+
export interface RendererHostAssembly {
|
|
13
|
+
readonly renderer: Renderer;
|
|
14
|
+
readonly debugDrawHost: RendererHostImplementation;
|
|
15
|
+
readonly featureHost: RendererFeatureAssemblyHost;
|
|
16
|
+
readonly assets: AssetRegistry;
|
|
17
|
+
}
|
|
18
|
+
export declare function constructRendererHost(canvas: unknown, options?: RendererOptions, bundler?: BundlerOptions, backend?: RhiBackendPack): Promise<RenderResult<RendererHostAssembly, RenderError>>;
|
|
19
|
+
//# sourceMappingURL=construct-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"construct-renderer.d.ts","sourceRoot":"","sources":["../src/construct-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjF,YAAY,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,yBAAyB,EACzB,sBAAsB,GAAG,wBAAwB,CAClD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,CA6B1D"}
|