@forgeax/engine-render 0.1.4 → 0.1.7
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/README.md +268 -640
- package/dist/.tsbuildinfo +1 -1
- 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__/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__/gpu-driven-indirect-raster-evidence.d.ts.map +1 -1
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts +6 -0
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts.map +1 -1
- package/dist/{gpu-driven/view-reference.d.ts → __tests__/gpu-driven-view-reference.d.ts} +4 -4
- package/dist/__tests__/gpu-driven-view-reference.d.ts.map +1 -0
- package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts.map +1 -1
- 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__/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__/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__/ssao-config.unit.test.d.ts +2 -0
- package/dist/__tests__/ssao-config.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__/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/{renderer/backend-selection.d.ts → assembly/backend-contract.d.ts} +15 -4
- package/dist/assembly/backend-contract.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +214 -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/{renderer → assembly}/material/assembly.d.ts +0 -1
- package/dist/{renderer → assembly}/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/pipeline-projection.d.ts +30 -0
- package/dist/assembly/material/pipeline-projection.d.ts.map +1 -0
- package/dist/authoring.d.ts +11 -11
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.mjs +25 -3
- package/dist/authoring.mjs.map +1 -1
- 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/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/glyph-text.d.ts +1 -1
- package/dist/components/glyph-text.d.ts.map +1 -1
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +1 -1
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts +1 -1
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/lines.d.ts +5 -0
- package/dist/components/lines.d.ts.map +1 -0
- package/dist/components/mesh-filter.d.ts +7 -7
- package/dist/components/mesh-filter.d.ts.map +1 -1
- package/dist/components/points.d.ts +15 -0
- package/dist/components/points.d.ts.map +1 -0
- package/dist/components/scene-instance.d.ts +11 -11
- 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/sprite-animation.d.ts +2 -3
- package/dist/components/sprite-animation.d.ts.map +1 -1
- package/dist/components/sprite-instances.d.ts +1 -1
- package/dist/components/sprite-playback-mode.d.ts +6 -1
- package/dist/components/sprite-playback-mode.d.ts.map +1 -1
- package/dist/components/sprite-region-override.d.ts +2 -3
- package/dist/components/sprite-region-override.d.ts.map +1 -1
- package/dist/components/tile-layer.d.ts +5 -0
- package/dist/components/tile-layer.d.ts.map +1 -1
- package/dist/construct-renderer.d.ts +18 -1
- package/dist/construct-renderer.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +27463 -4
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/debug-draw-glue.d.ts +2 -53
- package/dist/debug-draw-glue.d.ts.map +1 -1
- package/dist/device/device-scope.d.ts +83 -0
- package/dist/device/device-scope.d.ts.map +1 -0
- package/dist/{gpu-resource-store.d.ts → device/gpu-residency.d.ts} +91 -48
- 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 +2 -2
- package/dist/engine-metrics.d.ts.map +1 -1
- package/dist/errors/recover.d.ts +28 -1
- package/dist/errors/recover.d.ts.map +1 -1
- package/dist/errors/render.d.ts +320 -248
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/features/fullscreen.d.ts +19 -0
- package/dist/features/fullscreen.d.ts.map +1 -0
- package/dist/features/host.d.ts +32 -26
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/morph/morph-feature.d.ts +39 -5
- package/dist/features/morph/morph-feature.d.ts.map +1 -1
- 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 +21 -17
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts +2 -1
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/features/prepared-graphics.d.ts +11 -21
- package/dist/features/prepared-graphics.d.ts.map +1 -1
- package/dist/features/render-graph-compute.d.ts +2 -2
- package/dist/features/render-graph-compute.d.ts.map +1 -1
- package/dist/features/render-graph-contribution.d.ts +4 -7
- package/dist/features/render-graph-contribution.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +7 -3
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/render-graph-resources.d.ts +6 -6
- package/dist/features/render-graph-resources.d.ts.map +1 -1
- package/dist/features/targets.d.ts +5 -5
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +11 -190
- package/dist/features/types.d.ts.map +1 -1
- 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 +4 -25
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/glyph-text-layout-system.d.ts +3 -2
- package/dist/glyph-text-layout-system.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts +6 -75
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +13 -112
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/view-gpu.d.ts +10 -66
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-resource.d.ts +3 -3
- package/dist/gpu-scene-schema.d.ts +1 -94
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +7 -33
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +3 -53
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +74 -180
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +1 -1
- package/dist/index.d.ts +17 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +167 -3
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +72 -0
- package/dist/inspection-types.d.ts.map +1 -0
- package/dist/instance-buffer-cache.d.ts +1 -4
- package/dist/instance-buffer-cache.d.ts.map +1 -1
- package/dist/internal.d.ts +1 -73
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +1 -43
- package/dist/internal.mjs.map +1 -1
- package/dist/lifecycle.d.ts +36 -2
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/materials.d.ts +0 -3
- package/dist/materials.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +0 -1
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +77 -29
- package/dist/pbr-pipeline.d.ts.map +1 -1
- 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 +3 -3
- package/dist/pipeline-builder.d.ts.map +1 -1
- 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 +16 -155
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/plugin.d.ts +1 -14
- package/dist/plugin.d.ts.map +1 -1
- 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 +18 -18
- package/dist/post-process-errors.d.ts.map +1 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts +2 -5
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
- 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/frame-lighting.d.ts +7 -73
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +44 -44
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts +5 -38
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +64 -52
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/helpers.d.ts +3 -2
- package/dist/record/helpers.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +12 -4
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +90 -59
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts +28 -3
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +1 -1
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +276 -3
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- 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 +15 -88
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts +1 -1
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +29 -7
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +9 -3
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/render-contract.d.ts +424 -0
- package/dist/render-contract.d.ts.map +1 -0
- package/dist/render-data.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts +14 -362
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +25 -64
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +110 -338
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +24 -713
- package/dist/render-system.d.ts.map +1 -1
- 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 +2 -5
- package/dist/scene-instances/post-spawn-resolve-joints.d.ts.map +1 -1
- package/dist/ssao-buffers.d.ts +22 -3
- package/dist/ssao-buffers.d.ts.map +1 -1
- package/dist/systems/skin-palette-allocator.d.ts +2 -4
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
- 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 +23 -2
- package/dist/systems/transparent-sort-config.d.ts.map +1 -1
- package/dist/tilemap-chunk-extract-system.d.ts +4 -3
- package/dist/tilemap-chunk-extract-system.d.ts.map +1 -1
- package/dist/typed-render-graph-primitives.d.ts +2 -4
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-passes.d.ts +3 -3
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/package.json +23 -23
- package/src/__tests__/authoring-path.unit.test.ts +9 -0
- package/src/__tests__/backend-selection-rhi-capture.test-d.ts +1 -1
- package/src/__tests__/callback-inference.test-d.ts +6 -3
- package/src/__tests__/cluster-grid-default-surface.unit.test.ts +7 -4
- package/src/__tests__/construct-renderer-identity.unit.test.ts +15 -2
- 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 +8 -19
- package/src/__tests__/direct-light-snapshot.unit.test.ts +3 -13
- package/src/__tests__/factory-contract.integration.test.ts +158 -209
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +1 -4
- package/src/__tests__/frame-observation.contract.test.ts +17 -8
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +32 -0
- package/src/__tests__/glyph-text-layout-recovery.unit.test.ts +6 -11
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +21 -18
- package/src/__tests__/gpu-driven-production.integration.test.ts +32 -205
- package/src/__tests__/gpu-driven-scaling.unit.test.ts +4 -7
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +87 -8
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +170 -8
- package/src/{gpu-driven/view-reference.ts → __tests__/gpu-driven-view-reference.ts} +4 -3
- package/src/__tests__/gpu-driven-view.browser.test.ts +12 -1
- package/src/__tests__/gpu-driven-view.dawn.test.ts +12 -1
- package/src/__tests__/gpu-driven-view.unit.test.ts +11 -267
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +3 -3
- package/src/__tests__/gpu-scene-render-graph-gpu.ts +2 -3
- package/src/__tests__/gpu-scene.dawn.test.ts +2 -6
- package/src/__tests__/gpu-scene.unit.test.ts +10 -24
- package/src/__tests__/ibl/face-uniforms.unit.test.ts +46 -0
- package/src/__tests__/infinite-grid-no-vertex-probe.unit.test.ts +34 -66
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +14 -5
- package/src/__tests__/light-buffer-layout.unit.test.ts +4 -49
- package/src/__tests__/material-cooked-projection.unit.test.ts +31 -58
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +10 -15
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +31 -50
- package/src/__tests__/material-stride-surface.unit.test.ts +2 -2
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +7 -8
- package/src/__tests__/morph-culling-reentry.dawn.test.ts +29 -38
- package/src/__tests__/morph-feature-gpu-work.integration.test.ts +45 -43
- package/src/__tests__/morph-feature-plan.unit.test.ts +53 -0
- package/src/__tests__/morph-visual-evidence.integration.test.ts +47 -33
- package/src/__tests__/nineslice-handle-surface.unit.test.ts +11 -6
- package/src/__tests__/post-process-error-policy-owner.unit.test.ts +6 -13
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +6 -81
- package/src/__tests__/prepared-graphics-generation.unit.test.ts +3 -17
- package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +6 -74
- package/src/__tests__/prepared-graphics-resolver.unit.test.ts +1 -3
- package/src/__tests__/prepared-graphics-snapshot.unit.test.ts +2 -2
- package/src/__tests__/profiler-default-off.test.ts +1 -1
- package/src/__tests__/profiler-phase-catalog.test.ts +2 -2
- package/src/__tests__/profiler-phase-integration.test.ts +5 -13
- package/src/__tests__/profiler-phase-token.test.ts +3 -8
- package/src/__tests__/public-surface.test-d.ts +65 -3
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +1 -21
- package/src/__tests__/render-error-code-owner.test-d.ts +24 -23
- package/src/__tests__/render-error-detail-ssot.test-d.ts +0 -95
- package/src/__tests__/render-error-exhaustive.test-d.ts +27 -1
- package/src/__tests__/render-feature-assembly.test-d.ts +8 -16
- package/src/__tests__/render-feature-context.test-d.ts +16 -40
- package/src/__tests__/render-feature-contract.test-d.ts +9 -18
- package/src/__tests__/render-feature-diagnostics.unit.test.ts +6 -8
- package/src/__tests__/render-feature-docs.unit.test.ts +8 -7
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +14 -75
- 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 +8 -19
- package/src/__tests__/render-feature-prepared-errors.test-d.ts +3 -6
- package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +10 -71
- package/src/__tests__/render-feature-prepared-graphics-isolation.unit.test.ts +11 -61
- package/src/__tests__/render-feature-prepared-graphics-negative.test-d.ts +20 -43
- package/src/__tests__/render-feature-prepared-graphics.test-d.ts +56 -78
- package/src/__tests__/render-feature-public-surface.test-d.ts +6 -24
- package/src/__tests__/render-feature-retry.unit.test.ts +7 -48
- package/src/__tests__/render-feature-scheduling.unit.test.ts +15 -27
- package/src/__tests__/render-feature-stage-failed-policy-owner.unit.test.ts +0 -9
- package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +19 -109
- package/src/__tests__/render-feature-visibility-context.test-d.ts +1 -6
- package/src/__tests__/render-feature-visibility-context.unit.test.ts +1 -2
- package/src/__tests__/render-feature-zero-work.unit.test.ts +14 -20
- package/src/__tests__/render-scene-projection.unit.test.ts +73 -111
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +82 -95
- package/src/__tests__/renderer-lifecycle.integration.test.ts +49 -1
- package/src/__tests__/shader-stage-surface.unit.test.ts +14 -9
- package/src/__tests__/ssao-config.unit.test.ts +36 -0
- package/src/__tests__/ssao-kernel-surface.unit.test.ts +4 -5
- 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 +1 -2
- package/src/__tests__/texture-usage-surface.unit.test.ts +3 -6
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +40 -206
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +1 -11
- package/src/__tests__/urp-pipeline.unit.test.ts +2 -2
- package/src/__tests__/vertex-color-pipeline.unit.test.ts +10 -2
- package/src/__tests__/vertex-layout-consumer.unit.test.ts +1 -1
- package/src/__tests__/visibility-diagnostics.integration.test.ts +7 -11
- package/src/__tests__/visibility-extract.integration.test.ts +20 -11
- package/src/__tests__/visibility-extract.perf.test.ts +66 -32
- package/src/__tests__/visibility-feature-dedup.integration.test.ts +2 -4
- package/src/__tests__/visibility-hidden-report.unit.test.ts +1 -2
- package/src/__tests__/visibility-instances.integration.test.ts +7 -11
- package/src/__tests__/visibility-multi-world.integration.test.ts +38 -6
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +18 -41
- package/src/__tests__/visibility-public-surface.test-d.ts +10 -9
- package/src/__tests__/visibility-resolver.unit.test.ts +2 -1
- package/src/__tests__/visibility-resource-short-circuit.unit.test.ts +80 -0
- package/src/__tests__/visibility-snapshot-contract.unit.test.ts +2 -1
- package/src/__tests__/vocabulary.unit.test.ts +1 -1
- package/src/assembly/backend-contract.ts +57 -0
- package/src/{renderer/renderer-factory.ts → assembly/factory.ts} +1741 -2699
- package/src/assembly/host-contract.ts +101 -0
- package/src/{renderer → assembly}/material/assembly.ts +2 -7
- package/src/assembly/material/pipeline-projection.ts +63 -0
- package/src/authoring.ts +15 -22
- 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/glyph-text.ts +3 -2
- package/src/components/index.ts +14 -9
- package/src/components/instances.ts +4 -5
- package/src/components/light-helpers.ts +1 -1
- package/src/components/lines.ts +18 -0
- package/src/components/mesh-filter.ts +11 -10
- package/src/components/points.ts +40 -0
- package/src/components/post-process-params.ts +3 -3
- package/src/components/scene-instance.ts +12 -12
- package/src/components/skybox-background.ts +103 -0
- package/src/components/{environment.ts → skylight.ts} +2 -110
- package/src/components/sprite-animation.ts +3 -4
- package/src/components/sprite-instances.ts +2 -2
- package/src/components/sprite-playback-mode.ts +7 -1
- package/src/components/sprite-region-override.ts +2 -3
- package/src/components/tile-layer.ts +8 -2
- package/src/construct-renderer.ts +67 -4
- package/src/debug-draw-glue.ts +8 -129
- package/src/device/device-scope.ts +306 -0
- package/src/{gpu-resource-store.ts → device/gpu-residency.ts} +540 -639
- package/src/device/resource-types.ts +20 -0
- package/src/engine-metrics.ts +12 -19
- package/src/errors/recover.ts +45 -3
- package/src/errors/render.ts +469 -429
- package/src/features/fullscreen.ts +46 -0
- package/src/features/host.ts +575 -309
- package/src/features/morph/morph-feature.ts +195 -105
- package/src/features/plan.ts +447 -0
- package/src/features/prepared-gpu-work.ts +72 -15
- package/src/features/prepared-graphics-store.ts +20 -6
- package/src/features/prepared-graphics.ts +12 -71
- package/src/features/render-graph-compute.ts +14 -5
- package/src/features/render-graph-contribution.ts +43 -63
- package/src/features/render-graph-raster.ts +32 -8
- package/src/features/render-graph-resources.ts +25 -23
- package/src/features/targets.ts +8 -21
- package/src/features/types.ts +39 -227
- package/src/features/vocabulary.ts +24 -0
- package/src/fullscreen-post-process-pass.ts +14 -57
- package/src/glyph-text-layout-system.ts +70 -96
- package/src/gpu-driven/batch-topology.ts +24 -202
- package/src/gpu-driven/production-raster.ts +99 -1109
- package/src/gpu-driven/view-gpu.ts +46 -192
- package/src/gpu-resource.ts +4 -4
- package/src/gpu-scene-schema.ts +11 -99
- package/src/gpu-scene.ts +231 -364
- package/src/hdrp-buffers.ts +12 -221
- package/src/ibl/IblPipelineCache.ts +471 -711
- package/src/ibl/skylight-bind-group.ts +4 -4
- package/src/index.ts +75 -217
- package/src/inspection-types.ts +80 -0
- package/src/instance-buffer-cache.ts +1 -29
- package/src/internal.ts +6 -85
- package/src/lifecycle.ts +64 -19
- package/src/materials.ts +7 -29
- package/src/mesh-material-bindings.ts +0 -1
- package/src/pbr-pipeline.ts +441 -53
- package/src/{urp-pipeline.ts → pipeline/standard-forward-lane.ts} +38 -149
- package/src/{hdrp-pipeline.ts → pipeline/standard-pipeline.ts} +221 -191
- package/src/pipeline/standard-profile.ts +65 -0
- package/src/pipeline-builder.ts +60 -64
- package/src/pipeline-spec-types.ts +28 -0
- package/src/pipeline-spec.ts +72 -609
- package/src/plugin.ts +7 -75
- 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 +31 -33
- package/src/prepare/prepared-graphics-resolver.ts +5 -4
- package/src/record/__tests__/material-slot-plan.unit.test.ts +1 -33
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +41 -0
- package/src/record/__tests__/video-texture-view.unit.test.ts +1 -1
- package/src/record/frame-lighting.ts +88 -197
- package/src/record/frame-snapshot.ts +45 -60
- package/src/record/frame-targets.ts +8 -243
- package/src/record/frame.ts +521 -797
- package/src/record/helpers.ts +6 -11
- package/src/record/main-pass-geometry.ts +198 -147
- package/src/record/main-pass-material.ts +517 -190
- package/src/record/main-pass-sprite-draws.ts +199 -118
- package/src/record/main-pass.ts +166 -144
- package/src/record/mesh-ssbo.ts +517 -38
- package/src/record/render-context.ts +384 -0
- package/src/record/shadow-pass.ts +154 -1843
- package/src/record/skybox-post-pass.ts +14 -15
- package/src/record/typed-frame-graph.ts +224 -262
- package/src/record/view-ubo.ts +53 -37
- package/src/render-contract.ts +582 -0
- package/src/render-data.ts +3 -3
- package/src/render-graph-primitives.ts +76 -851
- package/src/render-pipeline.ts +104 -188
- package/src/render-system-extract.ts +1114 -1732
- package/src/render-system.ts +614 -1939
- 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 +4 -7
- package/src/ssao-buffers.ts +167 -8
- package/src/systems/skin-palette-allocator.ts +21 -64
- package/src/systems/skin-palette-types.ts +14 -0
- package/src/systems/transparent-sort-config.ts +25 -3
- package/src/tilemap-chunk-extract-system.ts +53 -70
- package/src/typed-render-graph-primitives.ts +35 -24
- package/src/typed-shadow-passes.ts +26 -56
- package/dist/__tests__/analytic-sky-contract.test.d.ts +0 -2
- package/dist/__tests__/analytic-sky-contract.test.d.ts.map +0 -1
- package/dist/__tests__/analytic-sky-falsify.test.d.ts +0 -2
- package/dist/__tests__/analytic-sky-falsify.test.d.ts.map +0 -1
- package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts +0 -2
- package/dist/__tests__/assets-runtime-handoff.integration.test.d.ts.map +0 -1
- package/dist/__tests__/backend-selection.integration.test.d.ts +0 -2
- package/dist/__tests__/backend-selection.integration.test.d.ts.map +0 -1
- package/dist/__tests__/camera-temporal.test-d.d.ts +0 -2
- package/dist/__tests__/camera-temporal.test-d.d.ts.map +0 -1
- package/dist/__tests__/camera-temporal.test.d.ts +0 -2
- package/dist/__tests__/camera-temporal.test.d.ts.map +0 -1
- package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts +0 -2
- package/dist/__tests__/directional-shadow-probe-atlas-layout.unit.test.d.ts.map +0 -1
- package/dist/__tests__/environment-inspection.test.d.ts +0 -2
- package/dist/__tests__/environment-inspection.test.d.ts.map +0 -1
- package/dist/__tests__/fog-ai-user.fixture.d.ts +0 -2
- package/dist/__tests__/fog-ai-user.fixture.d.ts.map +0 -1
- package/dist/__tests__/fog-custom-render-feature.fixture.d.ts +0 -16
- package/dist/__tests__/fog-custom-render-feature.fixture.d.ts.map +0 -1
- package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-custom-render-feature.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-inspection.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-inspection.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-owner-state.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-owner-state.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-pipeline-topology.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-public-surface.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-public-surface.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-ray-contract.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-ray-contract.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-source-absence.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-source-absence.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fog-temporal.integration.test.d.ts +0 -2
- package/dist/__tests__/fog-temporal.integration.test.d.ts.map +0 -1
- package/dist/__tests__/frame-chain.unit.test.d.ts +0 -2
- package/dist/__tests__/frame-chain.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts +0 -2
- package/dist/__tests__/gpu-scene-field-type-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/hdrp-pipeline.unit.test.d.ts +0 -2
- package/dist/__tests__/hdrp-pipeline.unit.test.d.ts.map +0 -1
- package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts +0 -2
- package/dist/__tests__/ibl/ibl-fallback.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts +0 -2
- package/dist/__tests__/material-derived-error-stop-draw.integration.test.d.ts.map +0 -1
- package/dist/__tests__/material-derived-payload.integration.test.d.ts +0 -2
- package/dist/__tests__/material-derived-payload.integration.test.d.ts.map +0 -1
- package/dist/__tests__/materials.unit.test.d.ts +0 -2
- package/dist/__tests__/materials.unit.test.d.ts.map +0 -1
- package/dist/__tests__/param-schema-projection-census.unit.test.d.ts +0 -2
- package/dist/__tests__/param-schema-projection-census.unit.test.d.ts.map +0 -1
- package/dist/__tests__/persistent-render-scene.unit.test.d.ts +0 -2
- package/dist/__tests__/persistent-render-scene.unit.test.d.ts.map +0 -1
- package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts +0 -2
- package/dist/__tests__/pipeline-error-policy-owner.unit.test.d.ts.map +0 -1
- package/dist/__tests__/pipeline-pass-trace.test.d.ts +0 -2
- package/dist/__tests__/pipeline-pass-trace.test.d.ts.map +0 -1
- package/dist/__tests__/pipeline-stage-owner.test-d.d.ts +0 -2
- package/dist/__tests__/pipeline-stage-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/plugin.test.d.ts +0 -2
- package/dist/__tests__/plugin.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-backend-matrix.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-resolver-recording.unit.test.d.ts.map +0 -1
- package/dist/__tests__/public-pipeline-id.test-d.d.ts +0 -2
- package/dist/__tests__/public-pipeline-id.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-dispatch-membership.unit.test.d.ts +0 -2
- package/dist/__tests__/render-dispatch-membership.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-construction.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-construction.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-error-code-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-gpu-buffer-usage-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-graph.integration.test.d.ts +0 -2
- package/dist/__tests__/render-feature-graph.integration.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-graphics-staging.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-order.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-order.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics-recording.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-staging.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-staging.unit.test.d.ts.map +0 -1
- package/dist/__tests__/renderer-render-scene-public.test-d.d.ts +0 -2
- package/dist/__tests__/renderer-render-scene-public.test-d.d.ts.map +0 -1
- package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts +0 -2
- package/dist/__tests__/scene-temporal-coverage.unit.test.d.ts.map +0 -1
- package/dist/__tests__/sun-snapshot-consumers.test.d.ts +0 -2
- package/dist/__tests__/sun-snapshot-consumers.test.d.ts.map +0 -1
- package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts +0 -2
- package/dist/__tests__/surface-backend-kind-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/taa-history-store.unit.test.d.ts +0 -2
- package/dist/__tests__/taa-history-store.unit.test.d.ts.map +0 -1
- package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts +0 -2
- package/dist/__tests__/temporal-frame-transaction.integration.test.d.ts.map +0 -1
- package/dist/__tests__/temporal-inspection.unit.test.d.ts +0 -2
- package/dist/__tests__/temporal-inspection.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/asset-decoders.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/asset-decoders.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/mipmap-generator.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/render-asset-port.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/render-asset-port.unit.test.d.ts.map +0 -1
- package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts +0 -2
- package/dist/assets/__tests__/resolve-render-asset.unit.test.d.ts.map +0 -1
- package/dist/chunk-DJIMFYX6.mjs +0 -1439
- package/dist/chunk-DJIMFYX6.mjs.map +0 -1
- package/dist/chunk-F2SIOCRM.mjs +0 -7423
- package/dist/chunk-F2SIOCRM.mjs.map +0 -1
- package/dist/chunk-JMSB7AR4.mjs +0 -3
- package/dist/chunk-JMSB7AR4.mjs.map +0 -1
- package/dist/chunk-KHI6K4C6.mjs +0 -659
- package/dist/chunk-KHI6K4C6.mjs.map +0 -1
- package/dist/chunk-PORZOL2V.mjs +0 -569
- package/dist/chunk-PORZOL2V.mjs.map +0 -1
- package/dist/chunk-UOJGMDGP.mjs +0 -29913
- package/dist/chunk-UOJGMDGP.mjs.map +0 -1
- package/dist/components/__tests__/atmosphere-red.test.d.ts +0 -2
- package/dist/components/__tests__/atmosphere-red.test.d.ts.map +0 -1
- package/dist/components/__tests__/atmosphere.test.d.ts +0 -2
- package/dist/components/__tests__/atmosphere.test.d.ts.map +0 -1
- package/dist/components/__tests__/fog.test-d.d.ts +0 -2
- package/dist/components/__tests__/fog.test-d.d.ts.map +0 -1
- package/dist/components/__tests__/fog.test.d.ts +0 -2
- package/dist/components/__tests__/fog.test.d.ts.map +0 -1
- package/dist/components/atmosphere.d.ts +0 -18
- package/dist/components/atmosphere.d.ts.map +0 -1
- package/dist/components/environment.d.ts +0 -115
- package/dist/components/environment.d.ts.map +0 -1
- package/dist/deferred-lighting.d.ts +0 -13
- package/dist/deferred-lighting.d.ts.map +0 -1
- package/dist/dynamic-texture-store.d.ts +0 -42
- package/dist/dynamic-texture-store.d.ts.map +0 -1
- package/dist/environment/__tests__/failure-injection.test.d.ts +0 -2
- package/dist/environment/__tests__/failure-injection.test.d.ts.map +0 -1
- package/dist/environment/__tests__/generation-red.test.d.ts +0 -2
- package/dist/environment/__tests__/generation-red.test.d.ts.map +0 -1
- package/dist/environment/__tests__/generation.test.d.ts +0 -2
- package/dist/environment/__tests__/generation.test.d.ts.map +0 -1
- package/dist/environment/__tests__/graph-transaction.test.d.ts +0 -2
- package/dist/environment/__tests__/graph-transaction.test.d.ts.map +0 -1
- package/dist/environment/__tests__/inspection-red.test.d.ts +0 -2
- package/dist/environment/__tests__/inspection-red.test.d.ts.map +0 -1
- package/dist/environment/__tests__/lifecycle-evidence.test.d.ts +0 -2
- package/dist/environment/__tests__/lifecycle-evidence.test.d.ts.map +0 -1
- package/dist/environment/__tests__/pipeline-topology.test.d.ts +0 -2
- package/dist/environment/__tests__/pipeline-topology.test.d.ts.map +0 -1
- package/dist/environment/__tests__/readiness.test.d.ts +0 -2
- package/dist/environment/__tests__/readiness.test.d.ts.map +0 -1
- package/dist/environment/__tests__/recovery.test.d.ts +0 -2
- package/dist/environment/__tests__/recovery.test.d.ts.map +0 -1
- package/dist/environment/__tests__/resize-dispose.test.d.ts +0 -2
- package/dist/environment/__tests__/resize-dispose.test.d.ts.map +0 -1
- package/dist/environment/__tests__/signature-red.test.d.ts +0 -2
- package/dist/environment/__tests__/signature-red.test.d.ts.map +0 -1
- package/dist/environment/__tests__/signature.test.d.ts +0 -2
- package/dist/environment/__tests__/signature.test.d.ts.map +0 -1
- package/dist/environment/descriptors.d.ts +0 -2
- package/dist/environment/descriptors.d.ts.map +0 -1
- package/dist/environment/extracted-environment.d.ts +0 -53
- package/dist/environment/extracted-environment.d.ts.map +0 -1
- package/dist/environment/generation.d.ts +0 -62
- package/dist/environment/generation.d.ts.map +0 -1
- package/dist/environment/gpu-bundle.d.ts +0 -23
- package/dist/environment/gpu-bundle.d.ts.map +0 -1
- package/dist/environment/graph.d.ts +0 -108
- package/dist/environment/graph.d.ts.map +0 -1
- package/dist/environment/inspection.d.ts +0 -48
- package/dist/environment/inspection.d.ts.map +0 -1
- package/dist/environment/lifecycle.d.ts +0 -22
- package/dist/environment/lifecycle.d.ts.map +0 -1
- package/dist/environment/readiness.d.ts +0 -29
- package/dist/environment/readiness.d.ts.map +0 -1
- package/dist/environment/signature.d.ts +0 -70
- package/dist/environment/signature.d.ts.map +0 -1
- package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts +0 -2
- package/dist/extract/__tests__/directional-csm-domain.unit.test.d.ts.map +0 -1
- package/dist/extract/__tests__/environment-source.test.d.ts +0 -2
- package/dist/extract/__tests__/environment-source.test.d.ts.map +0 -1
- package/dist/extract/__tests__/schema-readers.unit.test.d.ts +0 -2
- package/dist/extract/__tests__/schema-readers.unit.test.d.ts.map +0 -1
- package/dist/extract/directional-csm.d.ts +0 -129
- package/dist/extract/directional-csm.d.ts.map +0 -1
- package/dist/extract/index.d.ts +0 -5
- package/dist/extract/index.d.ts.map +0 -1
- package/dist/extract/material-interface.d.ts +0 -56
- package/dist/extract/material-interface.d.ts.map +0 -1
- package/dist/extract/schema-readers.d.ts +0 -20
- package/dist/extract/schema-readers.d.ts.map +0 -1
- package/dist/features/graph-contribution.d.ts +0 -64
- package/dist/features/graph-contribution.d.ts.map +0 -1
- package/dist/features/index.d.ts +0 -21
- package/dist/features/index.d.ts.map +0 -1
- package/dist/features/morph/index.d.ts +0 -3
- package/dist/features/morph/index.d.ts.map +0 -1
- package/dist/features/morph/morph-bounds.d.ts +0 -42
- package/dist/features/morph/morph-bounds.d.ts.map +0 -1
- package/dist/features/scene-temporal.d.ts +0 -45
- package/dist/features/scene-temporal.d.ts.map +0 -1
- package/dist/features/taa-resolve.d.ts +0 -21
- package/dist/features/taa-resolve.d.ts.map +0 -1
- package/dist/frame-chain.d.ts +0 -14
- package/dist/frame-chain.d.ts.map +0 -1
- package/dist/gpu-driven/view-reference.d.ts.map +0 -1
- package/dist/gpu-resource-store.d.ts.map +0 -1
- package/dist/hdrp-cluster-membership.d.ts +0 -2
- package/dist/hdrp-cluster-membership.d.ts.map +0 -1
- package/dist/hdrp-pipeline.d.ts +0 -36
- package/dist/hdrp-pipeline.d.ts.map +0 -1
- package/dist/ibl/cubemap-projection.d.ts +0 -23
- package/dist/ibl/cubemap-projection.d.ts.map +0 -1
- package/dist/ibl/face-uniforms.d.ts +0 -65
- package/dist/ibl/face-uniforms.d.ts.map +0 -1
- package/dist/mesh-update-errors.d.ts +0 -71
- package/dist/mesh-update-errors.d.ts.map +0 -1
- package/dist/mipmap-generator.d.ts +0 -39
- package/dist/mipmap-generator.d.ts.map +0 -1
- package/dist/param-schema-projection-census.d.ts +0 -18
- package/dist/param-schema-projection-census.d.ts.map +0 -1
- package/dist/persistent-render-scene.d.ts +0 -158
- package/dist/persistent-render-scene.d.ts.map +0 -1
- package/dist/pipeline/index.d.ts +0 -11
- package/dist/pipeline/index.d.ts.map +0 -1
- package/dist/pipeline-errors.d.ts +0 -110
- package/dist/pipeline-errors.d.ts.map +0 -1
- package/dist/prepare/__tests__/schema-readers.unit.test.d.ts +0 -2
- package/dist/prepare/__tests__/schema-readers.unit.test.d.ts.map +0 -1
- package/dist/prepare/index.d.ts +0 -4
- package/dist/prepare/index.d.ts.map +0 -1
- package/dist/prepare/schema-readers.d.ts +0 -11
- package/dist/prepare/schema-readers.d.ts.map +0 -1
- package/dist/record/__tests__/environment-record.test.d.ts +0 -2
- package/dist/record/__tests__/environment-record.test.d.ts.map +0 -1
- package/dist/record/__tests__/frame-targets.unit.test.d.ts +0 -2
- package/dist/record/__tests__/frame-targets.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/membership-timing.unit.test.d.ts +0 -2
- package/dist/record/__tests__/membership-timing.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/render-submission.integration.test.d.ts +0 -2
- package/dist/record/__tests__/render-submission.integration.test.d.ts.map +0 -1
- package/dist/record/__tests__/render-submission.perf.test.d.ts +0 -2
- package/dist/record/__tests__/render-submission.perf.test.d.ts.map +0 -1
- package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts +0 -2
- package/dist/record/__tests__/shadow-submit-mode.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts +0 -2
- package/dist/record/__tests__/view-ubo-layout.unit.test.d.ts.map +0 -1
- package/dist/record/frame-observation.d.ts +0 -38
- package/dist/record/frame-observation.d.ts.map +0 -1
- package/dist/record/index.d.ts +0 -15
- package/dist/record/index.d.ts.map +0 -1
- package/dist/record/main-pass-skin.d.ts +0 -46
- package/dist/record/main-pass-skin.d.ts.map +0 -1
- package/dist/record/main-pass-sprite.d.ts +0 -69
- package/dist/record/main-pass-sprite.d.ts.map +0 -1
- package/dist/record/material-payload.d.ts +0 -43
- package/dist/record/material-payload.d.ts.map +0 -1
- package/dist/record/material-slot-plan.d.ts +0 -26
- package/dist/record/material-slot-plan.d.ts.map +0 -1
- package/dist/record/membership-timing.d.ts +0 -232
- package/dist/record/membership-timing.d.ts.map +0 -1
- package/dist/record/shadow-caster-uniform.d.ts +0 -8
- package/dist/record/shadow-caster-uniform.d.ts.map +0 -1
- package/dist/record/shadow-submit-mode.d.ts +0 -66
- package/dist/record/shadow-submit-mode.d.ts.map +0 -1
- package/dist/render-dispatch-membership.d.ts +0 -47
- package/dist/render-dispatch-membership.d.ts.map +0 -1
- package/dist/render-pipeline-context.d.ts +0 -289
- package/dist/render-pipeline-context.d.ts.map +0 -1
- package/dist/render-pipeline-target.d.ts +0 -16
- package/dist/render-pipeline-target.d.ts.map +0 -1
- package/dist/render-scene-projection.d.ts +0 -174
- package/dist/render-scene-projection.d.ts.map +0 -1
- package/dist/render-system-fold.d.ts +0 -266
- package/dist/render-system-fold.d.ts.map +0 -1
- package/dist/renderer/asset-service.d.ts +0 -10
- package/dist/renderer/asset-service.d.ts.map +0 -1
- package/dist/renderer/backend-selection.d.ts.map +0 -1
- package/dist/renderer/environment-classify.d.ts +0 -6
- package/dist/renderer/environment-classify.d.ts.map +0 -1
- package/dist/renderer/environment-error.d.ts +0 -13
- package/dist/renderer/environment-error.d.ts.map +0 -1
- package/dist/renderer/material/pipeline-projection.d.ts +0 -91
- package/dist/renderer/material/pipeline-projection.d.ts.map +0 -1
- package/dist/renderer/renderer-factory.d.ts +0 -289
- package/dist/renderer/renderer-factory.d.ts.map +0 -1
- package/dist/renderer.d.ts +0 -771
- package/dist/renderer.d.ts.map +0 -1
- package/dist/scene-utils/collect-subtree.d.ts +0 -11
- package/dist/scene-utils/collect-subtree.d.ts.map +0 -1
- package/dist/ssao-data.d.ts +0 -34
- package/dist/ssao-data.d.ts.map +0 -1
- package/dist/surface-format.d.ts +0 -10
- package/dist/surface-format.d.ts.map +0 -1
- package/dist/taa-history-store.d.ts +0 -88
- package/dist/taa-history-store.d.ts.map +0 -1
- package/dist/temporal-coverage.d.ts +0 -35
- package/dist/temporal-coverage.d.ts.map +0 -1
- package/dist/temporal-frame-transaction.d.ts +0 -92
- package/dist/temporal-frame-transaction.d.ts.map +0 -1
- package/dist/temporal-inspection.d.ts +0 -57
- package/dist/temporal-inspection.d.ts.map +0 -1
- package/dist/temporal-view.d.ts +0 -43
- package/dist/temporal-view.d.ts.map +0 -1
- package/dist/tilemap/resolve-tileset-runtime.d.ts +0 -23
- package/dist/tilemap/resolve-tileset-runtime.d.ts.map +0 -1
- package/dist/urp-pipeline.d.ts +0 -4
- package/dist/urp-pipeline.d.ts.map +0 -1
- package/src/__tests__/analytic-sky-contract.test.ts +0 -27
- package/src/__tests__/analytic-sky-falsify-carriers.mjs +0 -43
- package/src/__tests__/analytic-sky-falsify.test.ts +0 -94
- package/src/__tests__/assets-runtime-handoff.integration.test.ts +0 -36
- package/src/__tests__/backend-selection.integration.test.ts +0 -11
- package/src/__tests__/camera-temporal.test-d.ts +0 -8
- package/src/__tests__/camera-temporal.test.ts +0 -188
- package/src/__tests__/directional-shadow-probe-atlas-layout.unit.test.ts +0 -18
- package/src/__tests__/environment-inspection.test.ts +0 -45
- package/src/__tests__/fog-ai-user.fixture.ts +0 -350
- package/src/__tests__/fog-custom-render-feature.fixture.ts +0 -33
- package/src/__tests__/fog-custom-render-feature.integration.test.ts +0 -76
- package/src/__tests__/fog-inspection.integration.test.ts +0 -127
- package/src/__tests__/fog-owner-state.integration.test.ts +0 -112
- package/src/__tests__/fog-pipeline-topology.integration.test.ts +0 -93
- package/src/__tests__/fog-public-surface.integration.test.ts +0 -60
- package/src/__tests__/fog-ray-contract.integration.test.ts +0 -73
- package/src/__tests__/fog-source-absence.integration.test.ts +0 -51
- package/src/__tests__/fog-temporal.integration.test.ts +0 -115
- package/src/__tests__/frame-chain.unit.test.ts +0 -26
- package/src/__tests__/gpu-scene-field-type-owner.test-d.ts +0 -27
- package/src/__tests__/hdrp-pipeline.unit.test.ts +0 -100
- package/src/__tests__/ibl/ibl-fallback.unit.test.ts +0 -23
- package/src/__tests__/material-derived-error-stop-draw.integration.test.ts +0 -69
- package/src/__tests__/material-derived-payload.integration.test.ts +0 -164
- package/src/__tests__/materials.unit.test.ts +0 -25
- package/src/__tests__/param-schema-projection-census.unit.test.ts +0 -40
- package/src/__tests__/persistent-render-scene.unit.test.ts +0 -1311
- package/src/__tests__/pipeline-error-policy-owner.unit.test.ts +0 -167
- package/src/__tests__/pipeline-pass-trace.test.ts +0 -92
- package/src/__tests__/pipeline-stage-owner.test-d.ts +0 -13
- package/src/__tests__/plugin.test.ts +0 -25
- package/src/__tests__/prepared-graphics-backend-matrix.unit.test.ts +0 -129
- package/src/__tests__/prepared-graphics-resolver-recording.unit.test.ts +0 -180
- package/src/__tests__/public-pipeline-id.test-d.ts +0 -6
- package/src/__tests__/render-dispatch-membership.unit.test.ts +0 -117
- package/src/__tests__/render-feature-construction.unit.test.ts +0 -124
- package/src/__tests__/render-feature-error-code-owner.test-d.ts +0 -27
- package/src/__tests__/render-feature-gpu-buffer-usage-owner.test-d.ts +0 -46
- package/src/__tests__/render-feature-graph.integration.test.ts +0 -205
- package/src/__tests__/render-feature-graphics-staging.unit.test.ts +0 -200
- package/src/__tests__/render-feature-order.unit.test.ts +0 -66
- package/src/__tests__/render-feature-prepared-graphics-recording.unit.test.ts +0 -107
- package/src/__tests__/render-feature-staging.unit.test.ts +0 -94
- package/src/__tests__/renderer-render-scene-public.test-d.ts +0 -27
- package/src/__tests__/scene-temporal-coverage.unit.test.ts +0 -259
- package/src/__tests__/sun-snapshot-consumers.test.ts +0 -35
- package/src/__tests__/surface-backend-kind-owner.test-d.ts +0 -42
- package/src/__tests__/taa-history-store.unit.test.ts +0 -196
- package/src/__tests__/temporal-frame-transaction.integration.test.ts +0 -537
- package/src/__tests__/temporal-inspection.unit.test.ts +0 -138
- package/src/assets/__tests__/asset-decoders.unit.test.ts +0 -92
- package/src/assets/__tests__/mipmap-generator.unit.test.ts +0 -52
- package/src/assets/__tests__/render-asset-port.unit.test.ts +0 -54
- package/src/assets/__tests__/resolve-render-asset.unit.test.ts +0 -47
- package/src/components/__tests__/atmosphere-red.test.ts +0 -51
- package/src/components/__tests__/atmosphere.test.ts +0 -79
- package/src/components/__tests__/fog.test-d.ts +0 -49
- package/src/components/__tests__/fog.test.ts +0 -60
- package/src/components/atmosphere.ts +0 -64
- package/src/deferred-lighting.ts +0 -92
- package/src/dynamic-texture-store.ts +0 -111
- package/src/environment/README.md +0 -76
- package/src/environment/__tests__/failure-injection.test.ts +0 -50
- package/src/environment/__tests__/generation-red.test.ts +0 -64
- package/src/environment/__tests__/generation.test.ts +0 -37
- package/src/environment/__tests__/graph-transaction.test.ts +0 -85
- package/src/environment/__tests__/inspection-red.test.ts +0 -53
- package/src/environment/__tests__/lifecycle-evidence.test.ts +0 -40
- package/src/environment/__tests__/pipeline-topology.test.ts +0 -33
- package/src/environment/__tests__/readiness.test.ts +0 -42
- package/src/environment/__tests__/recovery.test.ts +0 -62
- package/src/environment/__tests__/resize-dispose.test.ts +0 -30
- package/src/environment/__tests__/signature-red.test.ts +0 -45
- package/src/environment/__tests__/signature.test.ts +0 -60
- package/src/environment/descriptors.ts +0 -7
- package/src/environment/extracted-environment.ts +0 -239
- package/src/environment/generation.ts +0 -158
- package/src/environment/gpu-bundle.ts +0 -144
- package/src/environment/graph.ts +0 -588
- package/src/environment/inspection.ts +0 -107
- package/src/environment/lifecycle.ts +0 -124
- package/src/environment/readiness.ts +0 -76
- package/src/environment/signature.ts +0 -185
- package/src/extract/__tests__/directional-csm-domain.unit.test.ts +0 -391
- package/src/extract/__tests__/environment-source.test.ts +0 -105
- package/src/extract/__tests__/schema-readers.unit.test.ts +0 -16
- package/src/extract/directional-csm.ts +0 -959
- package/src/extract/index.ts +0 -10
- package/src/extract/material-interface.ts +0 -604
- package/src/extract/schema-readers.ts +0 -27
- package/src/features/graph-contribution.ts +0 -577
- package/src/features/index.ts +0 -100
- package/src/features/morph/index.ts +0 -24
- package/src/features/morph/morph-bounds.ts +0 -123
- package/src/features/scene-temporal.ts +0 -274
- package/src/features/taa-resolve.ts +0 -244
- package/src/frame-chain.ts +0 -21
- package/src/hdrp-cluster-membership.ts +0 -70
- package/src/ibl/cubemap-projection.ts +0 -60
- package/src/ibl/face-uniforms.ts +0 -150
- package/src/mesh-update-errors.ts +0 -113
- package/src/mipmap-generator.ts +0 -244
- package/src/param-schema-projection-census.ts +0 -73
- package/src/persistent-render-scene.ts +0 -1752
- package/src/pipeline/index.ts +0 -40
- package/src/pipeline-errors.ts +0 -172
- package/src/prepare/__tests__/schema-readers.unit.test.ts +0 -16
- package/src/prepare/index.ts +0 -8
- package/src/prepare/schema-readers.ts +0 -20
- package/src/record/__tests__/environment-record.test.ts +0 -35
- package/src/record/__tests__/frame-targets.unit.test.ts +0 -54
- package/src/record/__tests__/membership-timing.unit.test.ts +0 -524
- package/src/record/__tests__/render-submission.integration.test.ts +0 -76
- package/src/record/__tests__/render-submission.perf.test.ts +0 -141
- package/src/record/__tests__/shadow-submit-mode.unit.test.ts +0 -88
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +0 -101
- package/src/record/frame-observation.ts +0 -122
- package/src/record/index.ts +0 -15
- package/src/record/main-pass-skin.ts +0 -51
- package/src/record/main-pass-sprite.ts +0 -166
- package/src/record/material-payload.ts +0 -292
- package/src/record/material-slot-plan.ts +0 -68
- package/src/record/membership-timing.ts +0 -1012
- package/src/record/shadow-caster-uniform.ts +0 -37
- package/src/record/shadow-submit-mode.ts +0 -277
- package/src/render-dispatch-membership.ts +0 -155
- package/src/render-pipeline-context.ts +0 -332
- package/src/render-pipeline-target.ts +0 -96
- package/src/render-scene-projection.ts +0 -1738
- package/src/render-system-fold.ts +0 -531
- package/src/renderer/asset-service.ts +0 -32
- package/src/renderer/backend-selection.ts +0 -121
- package/src/renderer/environment-classify.ts +0 -30
- package/src/renderer/environment-error.ts +0 -19
- package/src/renderer/material/pipeline-projection.ts +0 -140
- package/src/renderer.ts +0 -940
- package/src/scene-utils/collect-subtree.ts +0 -40
- package/src/ssao-data.ts +0 -106
- package/src/surface-format.ts +0 -37
- package/src/taa-history-store.ts +0 -429
- package/src/temporal-coverage.ts +0 -106
- package/src/temporal-frame-transaction.ts +0 -301
- package/src/temporal-inspection.ts +0 -194
- package/src/temporal-view.ts +0 -174
- package/src/tilemap/resolve-tileset-runtime.ts +0 -72
package/dist/pipeline-spec.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VertexLayoutProjection } from '@forgeax/engine-geometry';
|
|
2
|
-
import { type
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { KNOWN_PASS_KINDS, type MaterialRenderState, type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { VertexColorVariantConflictError } from './errors/render';
|
|
4
|
+
export { type BglKind, type BindGroupLayoutDescriptorOutput, buildBindGroupLayoutDescriptor, createHdrpBindGroupLayoutDescriptor, } from './pbr-pipeline';
|
|
5
5
|
export { KNOWN_PASS_KINDS };
|
|
6
6
|
/**
|
|
7
7
|
* The engine-owned deferred material target layout. `fs_gbuffer` returns
|
|
@@ -21,54 +21,13 @@ export declare function colorFormatsForPassKind(passKind: string, defaultColorFo
|
|
|
21
21
|
* - `renderState`: optional per-material render-state overrides (blend/cull/depth/stencil)
|
|
22
22
|
*
|
|
23
23
|
* Business-agnostic: no `'pbr'` / `'sprite'` / `'skybox'` strings pollute this
|
|
24
|
-
* type. BGL shape taxonomy is derived from `
|
|
24
|
+
* type. BGL shape taxonomy is derived from `ShaderCatalog` internal reflection
|
|
25
25
|
* and never appears on the spec surface (plan-strategy D-7).
|
|
26
26
|
*
|
|
27
27
|
* @see plan-strategy §1 (4-axis) · D-7 (business-agnostic) · requirements §3.1
|
|
28
28
|
*/
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
readonly shader: {
|
|
32
|
-
/** Registered shader identifier (e.g. `'forgeax::default-standard-pbr'`). */
|
|
33
|
-
readonly id: string;
|
|
34
|
-
/** Pass kind for attachment shape selection. Must be in {@link KNOWN_PASS_KINDS} or registered. */
|
|
35
|
-
readonly passKind: string;
|
|
36
|
-
/** Shader variant set string (e.g. `'SKIN_AVAILABLE=1'`). `undefined` for no variant. */
|
|
37
|
-
readonly variantSet: string | undefined;
|
|
38
|
-
/** Fragment entry point; omitted means the shader's standard `fs_main`. */
|
|
39
|
-
readonly fragmentEntry?: string | undefined;
|
|
40
|
-
};
|
|
41
|
-
/** Attachment format + sample-count axis. */
|
|
42
|
-
readonly attachments: {
|
|
43
|
-
/** Colour attachment formats in draw order. Empty for depth-only passes (shadow-caster). */
|
|
44
|
-
readonly colorFormats: readonly GPUTextureFormat[];
|
|
45
|
-
/** Depth-stencil format, or `undefined` when no depth target is bound. */
|
|
46
|
-
readonly depthFormat: GPUTextureFormat | undefined;
|
|
47
|
-
/** Sample count: 1 (no MSAA) or 4 (4x MSAA). */
|
|
48
|
-
readonly sampleCount: 1 | 4;
|
|
49
|
-
};
|
|
50
|
-
/** Geometry layout axis. */
|
|
51
|
-
readonly geometry: {
|
|
52
|
-
/** Primitive topology baked into the PSO. */
|
|
53
|
-
readonly topology: PrimitiveTopology;
|
|
54
|
-
/** Strip index format (uint16 / uint32), only meaningful for strip topologies. */
|
|
55
|
-
readonly stripIndexFormat?: 'uint16' | 'uint32' | undefined;
|
|
56
|
-
/** Per-vertex attribute layout (position / normal / uv / tangent / skinIndex / skinWeight). */
|
|
57
|
-
readonly vertexLayout: VertexAttributeMap;
|
|
58
|
-
/** Canonical geometry-owned projection; derived when omitted for legacy callers. */
|
|
59
|
-
readonly vertexLayoutProjection?: VertexLayoutProjection | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* Number of UV sets declared by the shader (derived from @location reflection).
|
|
62
|
-
* Forwarded to deriveVertexBufferLayout for clamp-to-last alias (D-1 / D-4).
|
|
63
|
-
* Undefined = fallback to mesh-provided UV count (no clamping).
|
|
64
|
-
* feat-20260629-multi-uv-set-support m3-w5: plumbed placeholder.
|
|
65
|
-
* TODO(M4/m4-w3): fill from naga reflection JSON when available.
|
|
66
|
-
*/
|
|
67
|
-
readonly shaderUvSetCount?: number | undefined;
|
|
68
|
-
};
|
|
69
|
-
/** Per-material render-state overrides (optional — engine defaults applied when absent). */
|
|
70
|
-
readonly renderState: MaterialRenderState | undefined;
|
|
71
|
-
}
|
|
29
|
+
export type { PipelineSpec } from './pipeline-spec-types';
|
|
30
|
+
import type { PipelineSpec } from './pipeline-spec-types';
|
|
72
31
|
/**
|
|
73
32
|
* Closed union of PipelineSpec error codes.
|
|
74
33
|
*
|
|
@@ -81,7 +40,7 @@ export interface PipelineSpec {
|
|
|
81
40
|
*
|
|
82
41
|
* 2 transit codes:
|
|
83
42
|
* - `'pipeline-build-failed'`: wraps RhiError from device.createRenderPipeline
|
|
84
|
-
* - `'shader-not-registered'`:
|
|
43
|
+
* - `'shader-not-registered'`: ShaderCatalog lookup returned undefined
|
|
85
44
|
*
|
|
86
45
|
* @see requirements §3.4 · AC-10 · charter P3
|
|
87
46
|
*/
|
|
@@ -114,36 +73,6 @@ export declare class PipelineSpecError extends Error {
|
|
|
114
73
|
hint?: string;
|
|
115
74
|
});
|
|
116
75
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Bind group layout shape derived from ShaderRegistry reflection.
|
|
119
|
-
*
|
|
120
|
-
* `entries` mirrors `GPUBindGroupLayoutDescriptor.entries` — the binding
|
|
121
|
-
* slot layout the shader expects for a given variantSet.
|
|
122
|
-
*/
|
|
123
|
-
export interface BindGroupLayoutShape {
|
|
124
|
-
readonly entries: readonly BindGroupLayoutEntry[];
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Derive BGL shape from a registered shader entry's paramSchema.
|
|
128
|
-
*
|
|
129
|
-
* Pure function: same `entry` always yields the same shape (no variant-set
|
|
130
|
-
* dispatch — that role moved into `BglKind` after D-13's closed-union
|
|
131
|
-
* dispatch landed; see plan-decisions.md). The `_variantSet` parameter is
|
|
132
|
-
* preserved for backward signature compat but ignored — variant routing is
|
|
133
|
-
* now explicit at the BglKind level (see `buildBindGroupLayoutDescriptor`
|
|
134
|
-
* arms `pbr-skin-mesh-array` vs `hdrp-7-slot` vs `pbr-mesh-array`).
|
|
135
|
-
*
|
|
136
|
-
* This helper lives in `pipeline-spec.ts` (not ShaderRegistry) per D-1:
|
|
137
|
-
* it wraps the existing `derive(paramSchema).bglEntries` from
|
|
138
|
-
* `@forgeax/engine-types` so cacheKeyOf can hash BGL shape deterministically
|
|
139
|
-
* without expanding the ShaderRegistry public interface.
|
|
140
|
-
*
|
|
141
|
-
* @param entry - material shader entry from ShaderRegistry.findMaterialArtifact
|
|
142
|
-
* @param _variantSet - unused (post D-13); kept for backward signature compat
|
|
143
|
-
* @returns the BGL shape for the given entry
|
|
144
|
-
* @see plan-decisions.md D-13
|
|
145
|
-
*/
|
|
146
|
-
export declare function deriveBglShapeFromShader(entry: RegisteredMaterialShaderEntry, _variantSet?: string | undefined): BindGroupLayoutShape;
|
|
147
76
|
/**
|
|
148
77
|
* Deterministic hash suffix for MaterialRenderState (sorted keys, JSON.stringify).
|
|
149
78
|
*
|
|
@@ -154,7 +83,7 @@ export declare function renderStateHash(renderState: MaterialRenderState | undef
|
|
|
154
83
|
/**
|
|
155
84
|
* Compute a deterministic cache key from a PipelineSpec.
|
|
156
85
|
*
|
|
157
|
-
* The key covers all 4 axes + BGL shape hash (derived from
|
|
86
|
+
* The key covers all 4 axes + BGL shape hash (derived from ShaderCatalog
|
|
158
87
|
* reflection via {@link deriveBglShapeFromShader}). Two specs that produce
|
|
159
88
|
* the same cache key MUST produce byte-identical PSO descriptors.
|
|
160
89
|
*
|
|
@@ -164,6 +93,12 @@ export declare function renderStateHash(renderState: MaterialRenderState | undef
|
|
|
164
93
|
* @see plan-strategy §3.1 · requirements AC-02
|
|
165
94
|
*/
|
|
166
95
|
export declare function cacheKeyOf(spec: PipelineSpec): string;
|
|
96
|
+
/**
|
|
97
|
+
* Reconcile the authored vertex-color shader axis with the geometry-owned
|
|
98
|
+
* projection. COLOR_0 is a geometry fact and cannot be selected independently
|
|
99
|
+
* by a material variant.
|
|
100
|
+
*/
|
|
101
|
+
export declare function variantSetFromVertexLayoutProjection(projection: VertexLayoutProjection, authoredVariantSet: string | undefined): Result<string, VertexColorVariantConflictError>;
|
|
167
102
|
/**
|
|
168
103
|
* Build a `GPURenderPipelineDescriptor` from a PipelineSpec + shader modules.
|
|
169
104
|
*
|
|
@@ -184,69 +119,6 @@ export declare function buildPipelineDescriptor(spec: PipelineSpec, modules: {
|
|
|
184
119
|
fragmentEntryPoint?: string;
|
|
185
120
|
layout?: unknown;
|
|
186
121
|
}): Record<string, unknown>;
|
|
187
|
-
/**
|
|
188
|
-
* Closed union of bind-group-layout shapes the runtime constructs.
|
|
189
|
-
*
|
|
190
|
-
* Each kind names one physically distinct BGL the runtime has historically
|
|
191
|
-
* built by hand. {@link buildBindGroupLayoutDescriptor} dispatches on this
|
|
192
|
-
* union so every `device.createBindGroupLayout(...)` call site shares one
|
|
193
|
-
* SSOT for entries / labels (plan-strategy §3.2; D-13 round-2 decision).
|
|
194
|
-
*
|
|
195
|
-
* Three groups by derivation source:
|
|
196
|
-
* 1. Shader-derived (paramSchema reflection + injection chain):
|
|
197
|
-
* - `'pbr-material-merged'` — derived user region + Skylight 7 + lightmap 4
|
|
198
|
-
* - `'unlit-material'` — 7 entries: base PBR material only (no inject)
|
|
199
|
-
* - `'hdrp-7-slot'` — 7 entries (binding 0 + 3..8): HDRP cluster + SSAO group(2) BGL
|
|
200
|
-
* 2. Caps-driven literal shapes (no shader):
|
|
201
|
-
* - `'pbr-view'` — 10 entries: view UBO + lights + 6 shadow bindings
|
|
202
|
-
* (directional 3/4, point 5/6, cascade 7, spot atlas 8, spot
|
|
203
|
-
* lightViewProj matrices 9 — feat-20260625)
|
|
204
|
-
* - `'pbr-mesh-array'` — 1 entry: per-entity mesh SSBO (dynamic-offset)
|
|
205
|
-
* - `'pbr-instances'` — 1 entry: per-instance SSBO (no dynamic-offset)
|
|
206
|
-
* - `'pbr-skin-mesh-array'` — 3 entries: meshes + current/previous skin palettes
|
|
207
|
-
* 3. Attachment-driven (fullscreen post-process):
|
|
208
|
-
* - `'fullscreen-post'` — 2 entries: input texture + sampler. The texture
|
|
209
|
-
* `sampleType` is derived from `spec.attachments` (plan §R3 fix):
|
|
210
|
-
* `'depth32float'` → `'depth'`; `'r32float'` → `'unfilterable-float'`;
|
|
211
|
-
* else → `'float'`.
|
|
212
|
-
* - `'fullscreen-post-with-params'` — 3 entries: the same texture@0 +
|
|
213
|
-
* sampler@1 as `'fullscreen-post'`, plus a `buffer@2` uniform for the
|
|
214
|
-
* per-frame params UBO (feat-20260621 D-2: `entry.params !== undefined`
|
|
215
|
-
* passes route here; the layout stays group(1), q3=B). `'fullscreen-post'`
|
|
216
|
-
* stays byte-identical so param-less consumers degrade with no change.
|
|
217
|
-
* - `'fullscreen-post-with-scene-depth-msaa'` — the depth-read layout with
|
|
218
|
-
* `texture.multisampled=true`, selected for a 4-sample scene depth target.
|
|
219
|
-
*/
|
|
220
|
-
export type BglKind = 'pbr-view' | 'pbr-material-merged' | 'pbr-mesh-array' | 'pbr-instances' | 'pbr-skin-mesh-array' | 'unlit-material' | 'hdrp-7-slot' | 'fullscreen-post' | 'fullscreen-post-with-params' | 'fullscreen-post-with-scene-depth' | 'fullscreen-post-with-scene-depth-msaa' | 'fullscreen-post-with-gbuffer-depth';
|
|
221
|
-
/**
|
|
222
|
-
* Output shape of {@link buildBindGroupLayoutDescriptor}: matches the RHI
|
|
223
|
-
* `BindGroupLayoutDescriptor` (label + entries with `ExplicitUndefined`) so
|
|
224
|
-
* the result can be passed directly to `device.createBindGroupLayout(...)`.
|
|
225
|
-
*
|
|
226
|
-
* `entries` is a mutable `Array` to match `GPUBindGroupLayoutDescriptor`
|
|
227
|
-
* (WebGPU types declare it mutable). Callers MUST treat the array as
|
|
228
|
-
* read-only — the dispatcher freezes neither the array nor its entries
|
|
229
|
-
* for hot-path performance.
|
|
230
|
-
*/
|
|
231
|
-
export interface BindGroupLayoutDescriptorOutput {
|
|
232
|
-
readonly label: string | undefined;
|
|
233
|
-
readonly entries: GPUBindGroupLayoutEntry[];
|
|
234
|
-
}
|
|
235
|
-
export declare function buildBindGroupLayoutDescriptor(spec: PipelineSpec, options: {
|
|
236
|
-
kind: BglKind;
|
|
237
|
-
registry?: ShaderRegistry;
|
|
238
|
-
caps?: PbrCaps;
|
|
239
|
-
/**
|
|
240
|
-
* Material paramSchema for the per-shader user-region derivation
|
|
241
|
-
* (`'pbr-material-merged'` / `'unlit-material'`). When supplied it is the
|
|
242
|
-
* authoritative source for the user-region BGL shape (D-1); when omitted,
|
|
243
|
-
* `buildPbrMaterialUserRegionEntries` falls back to the built-in
|
|
244
|
-
* standard-PBR 4-texture schema (user region is 9 entries), so
|
|
245
|
-
* the caps-driven `buildPbrPipelineLayouts` seam keeps working unchanged.
|
|
246
|
-
* A registry + resolvable shader id takes precedence over this field.
|
|
247
|
-
*/
|
|
248
|
-
materialParamSchema?: readonly ParamSchemaEntry[];
|
|
249
|
-
}): BindGroupLayoutDescriptorOutput;
|
|
250
122
|
/**
|
|
251
123
|
* Default colour-attachment ops carried by a passKind policy.
|
|
252
124
|
*
|
|
@@ -329,7 +201,7 @@ export declare const passKindPolicyTable: Readonly<Record<string, PassKindAttach
|
|
|
329
201
|
*
|
|
330
202
|
* Stencil-op gate is auto-derived from `specAttachments.depthFormat`:
|
|
331
203
|
* - `'depth24plus-stencil8'` → emits `stencilLoadOp:'clear', stencilStoreOp:'discard'`
|
|
332
|
-
* -
|
|
204
|
+
* - every other depth format → omits stencil ops entirely
|
|
333
205
|
*
|
|
334
206
|
* This collapses the R3/R5 stencil-op duplicates that previously lived inline
|
|
335
207
|
* at every forward-pass beginRenderPass site.
|
|
@@ -354,17 +226,6 @@ export declare function buildBeginRenderPassDescriptor(specAttachments: Pipeline
|
|
|
354
226
|
readonly depthStoreOp?: 'store' | 'discard';
|
|
355
227
|
readonly label?: string;
|
|
356
228
|
}): Record<string, unknown>;
|
|
357
|
-
/**
|
|
358
|
-
* Dev-mode equality check: two PipelineSpec instances are structurally equal
|
|
359
|
-
* when every axis field is `===` (shallow compare).
|
|
360
|
-
*
|
|
361
|
-
* Not intended for runtime hot paths — use `cacheKeyOf(a) === cacheKeyOf(b)`
|
|
362
|
-
* for cache-hit checks. This function exists for dev-time assertions
|
|
363
|
-
* (`assert(specsEqual(specA, specB))`) and unit-test round-trip verification.
|
|
364
|
-
*
|
|
365
|
-
* @see plan-strategy §3.2 · requirements AC-02
|
|
366
|
-
*/
|
|
367
|
-
export declare function specsEqual(a: PipelineSpec, b: PipelineSpec): boolean;
|
|
368
229
|
/**
|
|
369
230
|
* Validate a PipelineSpec before attempting to build.
|
|
370
231
|
*
|
|
@@ -464,7 +325,7 @@ export declare function getOrBuildPipeline(spec: PipelineSpec, deviceProvider: P
|
|
|
464
325
|
* - sprite goes through `getMaterialShaderPipeline('forgeax::sprite', ...)`
|
|
465
326
|
* lazily at first transparent-LDR-split draw — no boot-time pre-warm.
|
|
466
327
|
* - HDRP variant (`variantSet=''` or compound `=true` form) is registered
|
|
467
|
-
* lazily
|
|
328
|
+
* lazily when the clustered Standard profile activates, not at boot — adding clustered
|
|
468
329
|
* prewarm here would build PSOs against the URP layout (the boot-time
|
|
469
330
|
* `pbrModule` is the URP variant when `isHdrpActive=false`)
|
|
470
331
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-spec.d.ts","sourceRoot":"","sources":["../src/pipeline-spec.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"pipeline-spec.d.ts","sourceRoot":"","sources":["../src/pipeline-spec.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
import type { Plugin } from '@forgeax/engine-plugin';
|
|
2
|
-
|
|
3
|
-
import type { Renderer } from './renderer';
|
|
4
|
-
declare module '@forgeax/engine-plugin' {
|
|
5
|
-
interface EngineContextServices {
|
|
6
|
-
renderer?: Renderer;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
/** Install the built-in render and authoring component vocabulary in one World. */
|
|
2
|
+
/** Install the built-in render ECS vocabulary in one World. */
|
|
10
3
|
export declare function renderComponentsPlugin(): Plugin;
|
|
11
|
-
/** Provide the renderer without transferring its host-owned lifetime. */
|
|
12
|
-
export declare function rendererPlugin(renderer: Renderer): Plugin;
|
|
13
|
-
/** Provide an App/Worker-owned Renderer and release it after dependent Fibers. */
|
|
14
|
-
export declare function ownedRendererPlugin(renderer: Renderer): Plugin;
|
|
15
|
-
/** Install a producer at Renderer safe points and remove it with the owning Fiber. */
|
|
16
|
-
export declare function renderFeaturePlugin(feature: RenderFeature<unknown>): Plugin;
|
|
17
4
|
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA0DrD,+DAA+D;AAC/D,wBAAgB,sBAAsB,IAAI,MAAM,CAQ/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounds.unit.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/bounds.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-recovery.unit.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/cache-recovery.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection-lanes.integration.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/inspection-lanes.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection.unit.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/inspection.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lane-structural.integration.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/lane-structural.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"points-lines.bench.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/points-lines.bench.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raster-lane.integration.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/raster-lane.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.unit.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/snapshot.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-ubo.unit.test.d.ts","sourceRoot":"","sources":["../../../src/points-lines/__tests__/view-ubo.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type MaterialAsset, type MeshAsset, type Result } from '@forgeax/engine-types';
|
|
2
|
+
import { type PointShape } from '../components/points';
|
|
3
|
+
import type { PointsLinesBudgetExceededError, PointsLinesInvalidStyleError, PointsLinesMaterialUnsupportedError, PointsLinesStyleUnsupportedError, PointsLinesTopologyMismatchError } from '../errors/render';
|
|
4
|
+
export interface PointsStyleInput {
|
|
5
|
+
readonly sizePx?: number;
|
|
6
|
+
readonly shape?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface LinesStyleInput {
|
|
9
|
+
readonly widthPx?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface PointsLinesAdmissionLimits {
|
|
12
|
+
readonly maxPoints?: number;
|
|
13
|
+
readonly maxSegments?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface PointsLinesAdmissionInput {
|
|
16
|
+
readonly entity: number;
|
|
17
|
+
readonly points?: PointsStyleInput;
|
|
18
|
+
readonly lines?: LinesStyleInput;
|
|
19
|
+
readonly mesh: MeshAsset;
|
|
20
|
+
readonly material: MaterialAsset;
|
|
21
|
+
readonly limits?: PointsLinesAdmissionLimits;
|
|
22
|
+
readonly materialId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface PointsLinesAdmission {
|
|
25
|
+
readonly component: 'Points' | 'Lines';
|
|
26
|
+
readonly shape?: PointShape;
|
|
27
|
+
readonly sizePx?: number;
|
|
28
|
+
readonly widthPx?: number;
|
|
29
|
+
readonly pointCount: number;
|
|
30
|
+
readonly segmentCount: number;
|
|
31
|
+
readonly submeshes: readonly number[];
|
|
32
|
+
}
|
|
33
|
+
export type PointsLinesAdmissionError = PointsLinesInvalidStyleError | PointsLinesTopologyMismatchError | PointsLinesStyleUnsupportedError | PointsLinesMaterialUnsupportedError | PointsLinesBudgetExceededError;
|
|
34
|
+
/** Validate one complete Points/Lines candidate before any renderer publication. */
|
|
35
|
+
export declare function admitPointsLines(input: PointsLinesAdmissionInput): Result<PointsLinesAdmission, PointsLinesAdmissionError>;
|
|
36
|
+
//# sourceMappingURL=admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../src/points-lines/admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,aAAa,EAAE,KAAK,SAAS,EAAM,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,KAAK,UAAU,EAAsC,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EACV,8BAA8B,EAC9B,4BAA4B,EAC5B,mCAAmC,EACnC,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,kBAAkB,CAAC;AAS1B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,yBAAyB,GACjC,4BAA4B,GAC5B,gCAAgC,GAChC,gCAAgC,GAChC,mCAAmC,GACnC,8BAA8B,CAAC;AAgJnC,oFAAoF;AACpF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,yBAAyB,GAC/B,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAkCzD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PointsLinesStyle } from './snapshot';
|
|
2
|
+
/**
|
|
3
|
+
* Expands the local culling envelope by the maximum screen-space raster
|
|
4
|
+
* radius. The shader applies the exact physical-pixel offset; this envelope
|
|
5
|
+
* is deliberately conservative so transformed edge primitives are retained.
|
|
6
|
+
*/
|
|
7
|
+
export declare function expandPointsLinesBounds(bounds: ArrayLike<number>, style: PointsLinesStyle | undefined): Float32Array;
|
|
8
|
+
//# sourceMappingURL=bounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounds.d.ts","sourceRoot":"","sources":["../../src/points-lines/bounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAClC,YAAY,CAYd"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { MeshAsset } from '@forgeax/engine-types';
|
|
2
|
+
import type { PointsLinesRetainedSnapshot } from './snapshot';
|
|
3
|
+
export interface PointsLinesExpandedGeometry {
|
|
4
|
+
readonly key: string;
|
|
5
|
+
readonly component: 'Points' | 'Lines';
|
|
6
|
+
/** Source endpoints retained for the M3 triangle-expansion consumer. */
|
|
7
|
+
readonly positions: Float32Array;
|
|
8
|
+
/** Interleaved position/otherPosition/corner stream for WGSL. */
|
|
9
|
+
readonly vertices: Float32Array;
|
|
10
|
+
/** Six indices per expanded quad. */
|
|
11
|
+
readonly indices: Uint32Array;
|
|
12
|
+
readonly sourceVertexCount: number;
|
|
13
|
+
readonly pointCount: number;
|
|
14
|
+
readonly segmentCount: number;
|
|
15
|
+
readonly expandedVertexCount: number;
|
|
16
|
+
readonly expandedIndexCount: number;
|
|
17
|
+
readonly sourceBytes: number;
|
|
18
|
+
readonly derivedBytes: number;
|
|
19
|
+
readonly bounds: Float32Array;
|
|
20
|
+
}
|
|
21
|
+
/** Shared CPU expansion cache. Material generations are not geometry key data. */
|
|
22
|
+
export declare class PointsLinesExpansionCache {
|
|
23
|
+
private readonly entries;
|
|
24
|
+
getOrCreate(snapshot: PointsLinesRetainedSnapshot, mesh: MeshAsset): PointsLinesExpandedGeometry;
|
|
25
|
+
clear(): void;
|
|
26
|
+
get size(): number;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=expansion-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expansion-cache.d.ts","sourceRoot":"","sources":["../../src/points-lines/expansion-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,kFAAkF;AAClF,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAE1E,WAAW,CAAC,QAAQ,EAAE,2BAA2B,EAAE,IAAI,EAAE,SAAS,GAAG,2BAA2B;IAYhG,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { RenderError } from '../errors/render';
|
|
2
|
+
import type { PointsLinesRetainedSnapshot, PointsLinesStyle } from './snapshot';
|
|
3
|
+
export type PointsLinesSourceError = Extract<RenderError, {
|
|
4
|
+
readonly code: `points-lines-${string}`;
|
|
5
|
+
}>;
|
|
6
|
+
export type PointsLinesInspectionLane = 'pending' | 'refused' | 'direct' | 'clustered' | 'cpu-webgl2';
|
|
7
|
+
export interface PointsLinesInspectionCache {
|
|
8
|
+
readonly hit: boolean;
|
|
9
|
+
readonly rebuilds: number;
|
|
10
|
+
readonly evictions: number;
|
|
11
|
+
}
|
|
12
|
+
export type PointsLinesInspectionRefusal = Pick<PointsLinesSourceError, 'code' | 'expected' | 'hint' | 'detail'> & {
|
|
13
|
+
readonly generation: number;
|
|
14
|
+
readonly lastKnownGood: boolean;
|
|
15
|
+
};
|
|
16
|
+
export interface PointsLinesInspection {
|
|
17
|
+
readonly entityKey: number;
|
|
18
|
+
readonly worldId: number;
|
|
19
|
+
readonly component: 'Points' | 'Lines';
|
|
20
|
+
readonly meshHandle: number;
|
|
21
|
+
readonly meshGeneration: number;
|
|
22
|
+
readonly materialHandle: number;
|
|
23
|
+
readonly materialGeneration: number;
|
|
24
|
+
readonly style: PointsLinesStyle;
|
|
25
|
+
readonly topology: 'point-list' | 'line-list';
|
|
26
|
+
readonly lane: PointsLinesInspectionLane;
|
|
27
|
+
readonly pointCount: number;
|
|
28
|
+
readonly segmentCount: number;
|
|
29
|
+
readonly sourceBytes: number;
|
|
30
|
+
readonly derivedBytes: number;
|
|
31
|
+
readonly cache: PointsLinesInspectionCache;
|
|
32
|
+
readonly drawCount: number;
|
|
33
|
+
readonly uploadBytes: number;
|
|
34
|
+
readonly lastKnownGood: boolean;
|
|
35
|
+
readonly refusal?: PointsLinesInspectionRefusal;
|
|
36
|
+
}
|
|
37
|
+
export interface PointsLinesInspectionInput {
|
|
38
|
+
readonly snapshot: PointsLinesRetainedSnapshot;
|
|
39
|
+
readonly topology: 'point-list' | 'line-list';
|
|
40
|
+
readonly lane: PointsLinesInspectionLane;
|
|
41
|
+
readonly pointCount: number;
|
|
42
|
+
readonly segmentCount: number;
|
|
43
|
+
readonly sourceBytes: number;
|
|
44
|
+
readonly derivedBytes: number;
|
|
45
|
+
readonly cache: PointsLinesInspectionCache;
|
|
46
|
+
readonly drawCount: number;
|
|
47
|
+
readonly uploadBytes: number;
|
|
48
|
+
readonly lastKnownGood: boolean;
|
|
49
|
+
readonly refusal?: PointsLinesInspectionRefusal;
|
|
50
|
+
}
|
|
51
|
+
export declare function inspectPointsLines(input: PointsLinesInspectionInput): PointsLinesInspection;
|
|
52
|
+
export declare function pointsLinesInspectionToJson(inspection: PointsLinesInspection): string;
|
|
53
|
+
//# sourceMappingURL=inspection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/points-lines/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,WAAW,EACX;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,MAAM,EAAE,CAAA;CAAE,CAC5C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,sBAAsB,EACtB,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CACxC,GAAG;IACF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACjD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,GAAG,qBAAqB,CA0B3F;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAErF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { MeshAsset } from '@forgeax/engine-types';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { PointsLinesPrepareFailedError } from '../errors/render';
|
|
4
|
+
import type { PointsLinesExpandedGeometry, PointsLinesExpansionCache } from './expansion-cache';
|
|
5
|
+
import { type PointsLinesBackend, type PointsLinesLane, type PointsLinesLaneContract } from './record';
|
|
6
|
+
import type { PointsLinesRetainedSnapshot } from './snapshot';
|
|
7
|
+
export interface PointsLinesGpuResourceAdapter<Resource> {
|
|
8
|
+
create(geometry: PointsLinesExpandedGeometry): Result<Resource, Error>;
|
|
9
|
+
upload(resource: Resource, geometry: PointsLinesExpandedGeometry): Result<number, Error>;
|
|
10
|
+
validate(resource: Resource, geometry: PointsLinesExpandedGeometry): Result<void, Error>;
|
|
11
|
+
destroy(resource: Resource): void;
|
|
12
|
+
}
|
|
13
|
+
export interface PointsLinesPreparedResource<Resource> {
|
|
14
|
+
readonly resource: Resource;
|
|
15
|
+
readonly geometry: PointsLinesExpandedGeometry;
|
|
16
|
+
readonly snapshot: PointsLinesRetainedSnapshot;
|
|
17
|
+
readonly uploadedBytes: number;
|
|
18
|
+
readonly lastKnownGood: true;
|
|
19
|
+
}
|
|
20
|
+
export interface PointsLinesPreparationOptions<Resource> {
|
|
21
|
+
readonly cache: PointsLinesExpansionCache;
|
|
22
|
+
readonly adapter: PointsLinesGpuResourceAdapter<Resource>;
|
|
23
|
+
}
|
|
24
|
+
export interface PointsLinesLanePreparationAdapter<Resource> {
|
|
25
|
+
readonly contract: PointsLinesLaneContract;
|
|
26
|
+
prepare(snapshot: PointsLinesRetainedSnapshot, mesh: MeshAsset): Result<PointsLinesPreparedResource<Resource>, PointsLinesPrepareFailedError>;
|
|
27
|
+
resetForDeviceLoss(): void;
|
|
28
|
+
lastKnownGood(): PointsLinesPreparedResource<Resource> | undefined;
|
|
29
|
+
inspect(): PointsLinesPreparationInspection<Resource>;
|
|
30
|
+
}
|
|
31
|
+
export interface PointsLinesPreparationInspection<Resource> {
|
|
32
|
+
readonly status: 'empty' | 'resident' | 'rebuild-pending';
|
|
33
|
+
readonly lastKnownGood: boolean;
|
|
34
|
+
readonly liveResource: Resource | undefined;
|
|
35
|
+
readonly liveBytes: number;
|
|
36
|
+
readonly candidateBytes: number;
|
|
37
|
+
readonly cacheEntries: number;
|
|
38
|
+
readonly uploads: number;
|
|
39
|
+
readonly rebuilds: number;
|
|
40
|
+
readonly failures: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Owns one atomic candidate/LKG pair for a Points/Lines render projection.
|
|
44
|
+
* GPU resources are supplied by the existing DeviceScope adapter; this class
|
|
45
|
+
* keeps no backend handle or second resource ledger.
|
|
46
|
+
*/
|
|
47
|
+
export declare class PointsLinesPreparation<Resource> {
|
|
48
|
+
private readonly options;
|
|
49
|
+
private live;
|
|
50
|
+
private pendingCandidateBytes;
|
|
51
|
+
private status;
|
|
52
|
+
private uploads;
|
|
53
|
+
private rebuilds;
|
|
54
|
+
private failures;
|
|
55
|
+
constructor(options: PointsLinesPreparationOptions<Resource>);
|
|
56
|
+
prepare(snapshot: PointsLinesRetainedSnapshot, mesh: MeshAsset): Result<PointsLinesPreparedResource<Resource>, PointsLinesPrepareFailedError>;
|
|
57
|
+
resetForDeviceLoss(): void;
|
|
58
|
+
lastKnownGood(): PointsLinesPreparedResource<Resource> | undefined;
|
|
59
|
+
inspect(): PointsLinesPreparationInspection<Resource>;
|
|
60
|
+
private fail;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Binds the existing atomic preparation owner to a lane contract. It carries
|
|
64
|
+
* no RHI handle and does not add a second cache or recovery owner.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createPointsLinesLanePreparationAdapter<Resource>(lane: PointsLinesLane, backend: PointsLinesBackend, options: PointsLinesPreparationOptions<Resource>): PointsLinesLanePreparationAdapter<Resource>;
|
|
67
|
+
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/points-lines/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,6BAA6B,CAAC,QAAQ;IACrD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,2BAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,2BAA2B,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzF,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B,CAAC,QAAQ;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B,CAAC,QAAQ;IACrD,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC,QAAQ,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,iCAAiC,CAAC,QAAQ;IACzD,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,OAAO,CACL,QAAQ,EAAE,2BAA2B,EACrC,IAAI,EAAE,SAAS,GACd,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAChF,kBAAkB,IAAI,IAAI,CAAC;IAC3B,aAAa,IAAI,2BAA2B,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACnE,OAAO,IAAI,gCAAgC,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,gCAAgC,CAAC,QAAQ;IACxD,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBAAa,sBAAsB,CAAC,QAAQ;IAQ9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,IAAI,CAAoD;IAChE,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;gBAEQ,OAAO,EAAE,6BAA6B,CAAC,QAAQ,CAAC;IAE7E,OAAO,CACL,QAAQ,EAAE,2BAA2B,EACrC,IAAI,EAAE,SAAS,GACd,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IA2C/E,kBAAkB,IAAI,IAAI;IAO1B,aAAa,IAAI,2BAA2B,CAAC,QAAQ,CAAC,GAAG,SAAS;IAIlE,OAAO,IAAI,gCAAgC,CAAC,QAAQ,CAAC;IAcrD,OAAO,CAAC,IAAI;CAgBb;AAED;;;GAGG;AACH,wBAAgB,uCAAuC,CAAC,QAAQ,EAC9D,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,6BAA6B,CAAC,QAAQ,CAAC,GAC/C,iCAAiC,CAAC,QAAQ,CAAC,CAS7C"}
|