@forgeax/engine-render 0.1.4 → 0.1.6
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 +130 -641
- 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 +207 -0
- package/dist/assembly/factory.d.ts.map +1 -0
- package/dist/assembly/host-contract.d.ts +84 -0
- package/dist/assembly/host-contract.d.ts.map +1 -0
- package/dist/{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 +10 -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-QC4VW3XJ.mjs +79 -0
- package/dist/chunk-QC4VW3XJ.mjs.map +1 -0
- package/dist/chunk-SCRSAK5B.mjs +480 -0
- package/dist/chunk-SCRSAK5B.mjs.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 +2 -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/mesh-filter.d.ts +7 -7
- package/dist/components/mesh-filter.d.ts.map +1 -1
- 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 +27008 -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 +249 -258
- 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 +2 -2
- 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 +13 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +165 -3
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +69 -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 +75 -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/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 +5 -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 +235 -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 +3 -3
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/render-contract.d.ts +416 -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 +107 -338
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +21 -713
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/render-scene-types.d.ts +58 -0
- package/dist/scene/render-scene-types.d.ts.map +1 -0
- package/dist/scene/render-scene.d.ts +105 -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__/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 +9 -16
- 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 +2 -51
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +10 -15
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +4 -23
- 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 +18 -23
- package/src/__tests__/render-error-detail-ssot.test-d.ts +0 -95
- package/src/__tests__/render-error-exhaustive.test-d.ts +8 -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 +44 -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} +1663 -2690
- package/src/assembly/host-contract.ts +101 -0
- package/src/{renderer → assembly}/material/assembly.ts +0 -2
- package/src/assembly/material/pipeline-projection.ts +63 -0
- package/src/authoring.ts +14 -22
- package/src/components/__tests__/schema-contract.unit.test.ts +10 -0
- package/src/components/glyph-text.ts +3 -2
- package/src/components/index.ts +7 -9
- package/src/components/instances.ts +4 -5
- package/src/components/light-helpers.ts +1 -1
- package/src/components/mesh-filter.ts +11 -10
- 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 +357 -460
- 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 +11 -6
- 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 +93 -1108
- 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 +58 -217
- package/src/inspection-types.ts +76 -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 +434 -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 +3 -75
- 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 +74 -195
- package/src/record/frame-snapshot.ts +45 -60
- package/src/record/frame-targets.ts +8 -243
- package/src/record/frame.ts +509 -796
- package/src/record/helpers.ts +6 -11
- package/src/record/main-pass-geometry.ts +106 -147
- package/src/record/main-pass-material.ts +517 -190
- package/src/record/main-pass-sprite-draws.ts +198 -117
- package/src/record/main-pass.ts +162 -143
- package/src/record/mesh-ssbo.ts +517 -38
- package/src/record/render-context.ts +364 -0
- package/src/record/shadow-pass.ts +138 -1838
- package/src/record/skybox-post-pass.ts +12 -14
- package/src/record/typed-frame-graph.ts +215 -254
- package/src/record/view-ubo.ts +6 -37
- package/src/render-contract.ts +571 -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 +1048 -1729
- package/src/render-system.ts +330 -1957
- package/src/scene/render-scene-types.ts +64 -0
- package/src/scene/render-scene.ts +1032 -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
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
import type { Buffer, PipelineLayout, Result, RhiCanvasContext, RhiDevice, RhiInstance, ShaderModule } from '@forgeax/engine-rhi';
|
|
2
|
-
import { RhiError } from '@forgeax/engine-rhi';
|
|
3
|
-
import { type MaterialShaderManifestEntry, type MaterialShaderManifestVariant } from '@forgeax/engine-shader';
|
|
4
|
-
import type { ImportTransport } from '@forgeax/engine-types';
|
|
5
|
-
import { type RenderAssetResolver } from '../assets/render-asset-port';
|
|
6
|
-
import { MeshSsboCapacityExceededError, MeshSsboCeilingReachedError } from '../errors/render';
|
|
7
|
-
import type { Renderer, RendererOptions } from '../renderer';
|
|
8
|
-
import { type RhiBackendInstrumentation } from './backend-selection';
|
|
9
|
-
export { createMaterialAssetService } from './asset-service';
|
|
10
|
-
export { assembleMaterialProjection } from './material/assembly';
|
|
11
|
-
export { projectMaterialPipeline, routeMaterialPipeline, updateMaterialRuntimeValues, } from './material/pipeline-projection';
|
|
12
|
-
/**
|
|
13
|
-
* Bundler-layer injection accepted by `createRenderer` (and proxied by
|
|
14
|
-
* `createApp`) as the optional third argument.
|
|
15
|
-
*
|
|
16
|
-
* feat-20260608-create-app-param-surface-trim / M2 / D-3: aggregates the two
|
|
17
|
-
* host-injected build-tool channels:
|
|
18
|
-
*
|
|
19
|
-
* - shaderManifestUrl: the URL the host's vite-plugin-shader emit step
|
|
20
|
-
* wrote `manifest.json` to. When this field is omitted (or `bundler`
|
|
21
|
-
* itself is omitted), createRenderer falls back to
|
|
22
|
-
* '/shaders/manifest.json' (D-2 q5-A) so the LO 1.1 zero-config takeoff
|
|
23
|
-
* path keeps working without explicit injection. Tests can inject via a
|
|
24
|
-
* `data:application/json,...` URL to bypass fetch.
|
|
25
|
-
*
|
|
26
|
-
* - importTransport: dev-only ImportTransport forwarded verbatim to the
|
|
27
|
-
* AssetRegistry third ctor slot so DDC-miss assets can lazy-import.
|
|
28
|
-
* Absent => shipped form (a DDC miss fails fast with `asset-not-imported`).
|
|
29
|
-
*
|
|
30
|
-
* The interface is duplicated structurally in `@forgeax/engine-app`
|
|
31
|
-
* (BundlerOptions exported from packages/app); demos consume through the app
|
|
32
|
-
* package, the engine accepts via this local minimal shape so packages/runtime
|
|
33
|
-
* does NOT depend on packages/app (charter P4 + reverse-coupling deny-list).
|
|
34
|
-
* TypeScript structural typing makes the two interchangeable at every call
|
|
35
|
-
* site (M3 forgeaxBundlerAdapter() returns the same shape).
|
|
36
|
-
*/
|
|
37
|
-
export interface BundlerOptions {
|
|
38
|
-
readonly importTransport?: ImportTransport | undefined;
|
|
39
|
-
readonly shaderManifestUrl?: string | undefined;
|
|
40
|
-
/** Render-only projection resolver owned by the active asset owner. */
|
|
41
|
-
readonly assetResolver?: RenderAssetResolver | undefined;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Internal "backend pack" carries the two dynamic-import-loaded entries the
|
|
45
|
-
* engine consumes (rhi singleton + the optional top-level async
|
|
46
|
-
* `createShaderModule`). Defining this interface in the engine layer keeps
|
|
47
|
-
* the rhi-webgpu / rhi-wgpu shim surfaces structurally aligned without
|
|
48
|
-
* forcing both shims to grow an identical top-level factory — when the
|
|
49
|
-
* wgpu-wasm path does not expose a top-level `createShaderModule`, the
|
|
50
|
-
* facade falls back to the synchronous `device.createShaderModule` path
|
|
51
|
-
* inside `makeShaderDeviceAdapter` (charter proposition 9 graceful
|
|
52
|
-
* degradation).
|
|
53
|
-
*/
|
|
54
|
-
interface RhiBackendPack {
|
|
55
|
-
readonly rhi: RhiInstance & {
|
|
56
|
-
readonly acquireCanvasContext: (canvas: HTMLCanvasElement | OffscreenCanvas) => Result<RhiCanvasContext, RhiError>;
|
|
57
|
-
};
|
|
58
|
-
/** Async top-level shader module factory; rhi-webgpu exposes this; rhi-wgpu falls back to device.createShaderModule. */
|
|
59
|
-
readonly createShaderModule?: ((device: RhiDevice, desc: {
|
|
60
|
-
code: string;
|
|
61
|
-
label?: string | undefined;
|
|
62
|
-
}) => Promise<Result<ShaderModule, RhiError>>) | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* D-VD2 dispatch translator (feat-20260511-rhi-spec-realign-aggressive
|
|
65
|
-
* Round 2): translates spec `GPUUncapturedErrorEvent` / `GPUDeviceLostInfo`
|
|
66
|
-
* shapes into the 17-member `RhiErrorCode` union. rhi-webgpu provides this;
|
|
67
|
-
* other backends (rhi-wgpu, explicit escape hatch) may omit — when undefined
|
|
68
|
-
* the engine falls back to a minimal device-lost-only translator inline so
|
|
69
|
-
* the AGENTS.md break-point #4 fan-out promise still holds on the lost path
|
|
70
|
-
* (charter proposition 5 consistent abstraction — both `Renderer.onError`
|
|
71
|
-
* channel members fire across all three load channels).
|
|
72
|
-
*/
|
|
73
|
-
readonly translateErrorEventToRhiError?: ((event: unknown) => {
|
|
74
|
-
readonly ok: false;
|
|
75
|
-
readonly error: RhiError;
|
|
76
|
-
}) | undefined;
|
|
77
|
-
/**
|
|
78
|
-
* D-VD2 raw GPUDevice escape hatch (feat-20260511-rhi-spec-realign-aggressive
|
|
79
|
-
* Round 2): given a forgeax `RhiDevice`, returns the underlying raw
|
|
80
|
-
* `GPUDevice` so the engine can register `onuncapturederror` listener on
|
|
81
|
-
* the spec event target. Only the rhi-webgpu pack exposes this entry; the
|
|
82
|
-
* rhi-wgpu wasm pack and explicit escape hatch skip the listener
|
|
83
|
-
* registration (graceful degradation — device.lost dual-channel still
|
|
84
|
-
* fires through the forgeax RhiDevice.lost Promise on every path).
|
|
85
|
-
* @internal
|
|
86
|
-
*/
|
|
87
|
-
readonly _internal_getRawDevice?: ((device: RhiDevice) => unknown | undefined) | undefined;
|
|
88
|
-
readonly instrumentation?: RhiBackendInstrumentation;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Fold a raw module object (from a static import, dynamic import, or explicit
|
|
92
|
-
* escape-hatch wrapper) into a typed `RhiBackendPack` by probing for known
|
|
93
|
-
* optional fields via the `'x' in mod` pattern (existing convention).
|
|
94
|
-
*
|
|
95
|
-
* For the explicit escape hatch (Channel 1) where the instance IS the rhi
|
|
96
|
-
* singleton, wrap it as `{ rhi: instance, ...extras }` before calling this
|
|
97
|
-
* helper — the function always reads `mod.rhi` for the singleton.
|
|
98
|
-
*
|
|
99
|
-
* @param mod Raw module object with at least `rhi: RhiInstance & { acquireCanvasContext }`
|
|
100
|
-
* @returns Typed RhiBackendPack with optional fields populated when present on mod
|
|
101
|
-
* @internal — exported for unit test access (w20)
|
|
102
|
-
*/
|
|
103
|
-
export declare function loadRhiPack(mod: Record<string, unknown>): RhiBackendPack;
|
|
104
|
-
/**
|
|
105
|
-
* Async factory: probes WebGPU (channel 2: rhi-webgpu, channel 3: rhi-wgpu);
|
|
106
|
-
* returns a fully-initialized Renderer or throws `EngineEnvironmentError`.
|
|
107
|
-
*
|
|
108
|
-
* Channel priority (bug-20260526-channel2-adapter-fail-no-channel3-fallback):
|
|
109
|
-
* 1. `options.rhi` → escape hatch (D-R5), verbatim use.
|
|
110
|
-
* 2. `navigator.gpu` present → static `rhiWebgpu` namespace.
|
|
111
|
-
* If adapter/device/context fails → falls back to channel 3.
|
|
112
|
-
* 3. Dynamic `import('@forgeax/engine-rhi-wgpu')` + wasm load.
|
|
113
|
-
* 4. All fail → throw `EngineEnvironmentError` with `detail.webgpuError`
|
|
114
|
-
* + `detail.wgpuError`.
|
|
115
|
-
*
|
|
116
|
-
* @param canvas HTMLCanvasElement | OffscreenCanvas — render surface.
|
|
117
|
-
* @param options RendererOptions — clear color / shader manifest URL /
|
|
118
|
-
* D-S1 raw-device single-point exemption / M3 `rhi` escape hatch.
|
|
119
|
-
*
|
|
120
|
-
* **Error propagation — three channels (D-P4 RK-04):**
|
|
121
|
-
* (a) Construction-time: this Promise rejects with `EngineEnvironmentError`
|
|
122
|
-
* whose `detail.webgpuError` is the Channel 2 `RhiError` and
|
|
123
|
-
* `detail.wgpuError` is the Channel 3 failure (when both fail).
|
|
124
|
-
* (b) Run-time pipeline build: `renderer.ready` rejects with a
|
|
125
|
-
* structured `RhiError` once the dynamic-import path is past.
|
|
126
|
-
* (c) Fan-out observability: `renderer.onError(listener)` captures the
|
|
127
|
-
* same errors as a fallback channel.
|
|
128
|
-
*
|
|
129
|
-
* @throws {EngineEnvironmentError} when no backend is usable.
|
|
130
|
-
*/
|
|
131
|
-
/**
|
|
132
|
-
* Per-variant PipelineLayout selector (M4.5 / D-10 option A).
|
|
133
|
-
*
|
|
134
|
-
* The HDRP variant (`CLUSTER_FORWARD_AVAILABLE=true` or canonical `''`
|
|
135
|
-
* all-true when the shader declares the cluster axis) needs the 7-slot
|
|
136
|
-
* group(2) BGL chain (`hdrpPbrPipelineLayout`); URP variants
|
|
137
|
-
* (`CLUSTER_FORWARD_AVAILABLE=false` / undefined / no axis) keep the
|
|
138
|
-
* 1-slot mesh-array BGL chain (`pbrPipelineLayout`).
|
|
139
|
-
*
|
|
140
|
-
* Returns `null` only when the URP fallback layout itself is null
|
|
141
|
-
* (Camera-only / empty-manifest path). When the HDRP layout is null but
|
|
142
|
-
* URP exists, the HDRP variant gracefully falls back to URP — the WGSL
|
|
143
|
-
* resolved upstream by `findVariantByKey` is the URP variant in that
|
|
144
|
-
* case (manifest entry with all-true definesKey === '' was registered
|
|
145
|
-
* with isHdrpActive=false at boot when storage-buffer caps are absent).
|
|
146
|
-
*
|
|
147
|
-
* Pure function — exported for unit-test access (M4.5 / w35).
|
|
148
|
-
*/
|
|
149
|
-
/**
|
|
150
|
-
* Closed enum of pipeline-layout kinds the selector can dispatch to.
|
|
151
|
-
*
|
|
152
|
-
* `pbr` — standard PBR (1-entry mesh-array BGL).
|
|
153
|
-
* `pbr-skin` — bug-20260611-skin-pipeline-layout: 3-entry mesh-array BGL
|
|
154
|
-
* (binding 0 meshes + bindings 1/2 current/previous palettes) for the `forgeax::pbr-skin`
|
|
155
|
-
* material shader.
|
|
156
|
-
* `hdrp-pbr` — feat-20260609 HDRP cluster-forward variant (7-slot group(2)
|
|
157
|
-
* BGL substituted at slot 2).
|
|
158
|
-
* `sprite-urp` — bug-20260708 M2 (c): sprite / sprite-lit shaders reuse
|
|
159
|
-
* the URP 1-slot mesh-array BGL (they don't declare
|
|
160
|
-
* CLUSTER_FORWARD_AVAILABLE) but their canonical all-true variant key
|
|
161
|
-
* `''` (`SPRITE_PASS_PER_INSTANCE_REGION_VARIANT_SET`) MUST NOT trigger
|
|
162
|
-
* the `variantSet===''` → HDRP branch of the selector. Callers
|
|
163
|
-
* (`buildPipelineContext`) resolve `sprite-urp` from the sprite
|
|
164
|
-
* `materialShaderId` and pass it through; the selector short-circuits
|
|
165
|
-
* to `pbrPipelineLayout` before the HDRP check.
|
|
166
|
-
*
|
|
167
|
-
* AC-09 grep gate: the selector body (`selectPipelineLayoutForVariant`)
|
|
168
|
-
* **MUST NOT** contain literal `'forgeax::pbr-skin'` (or any other
|
|
169
|
-
* shader-id literal). The caller resolves `LayoutKind` upstream and passes
|
|
170
|
-
* the structured value through (charter P4 consistent abstraction). New
|
|
171
|
-
* material-shader layouts add a `LayoutKind` member + a PipelineState slot
|
|
172
|
-
* + a switch arm here in one cut (charter P3 extensibility).
|
|
173
|
-
*/
|
|
174
|
-
export type LayoutKind = 'pbr' | 'pbr-skin' | 'hdrp-pbr' | 'sprite-urp' | 'unlit-urp';
|
|
175
|
-
/**
|
|
176
|
-
* Return every device-capability HDRP PBR variant that needs a lazy module
|
|
177
|
-
* label seeded during renderer boot. Color availability is intentionally not
|
|
178
|
-
* filtered: colored and no-color meshes use distinct composed WGSL modules.
|
|
179
|
-
*/
|
|
180
|
-
export declare function selectHdrpPbrPrewarmVariants(manifestEntry: MaterialShaderManifestEntry | undefined, storageBufferCapable: boolean): readonly MaterialShaderManifestVariant[];
|
|
181
|
-
/**
|
|
182
|
-
* Select the PBR variant that matches a fallback mesh with no COLOR_0 input.
|
|
183
|
-
* Unknown/custom material IDs may still use the legacy PBR fallback, so that
|
|
184
|
-
* path must obey the same geometry-owned vertex-color axis as registered PBR.
|
|
185
|
-
*/
|
|
186
|
-
export declare function selectNoColorPbrVariant(manifestEntry: MaterialShaderManifestEntry | undefined, storageBufferCapable: boolean, variantSet: string | undefined): MaterialShaderManifestVariant | undefined;
|
|
187
|
-
export type MaterialShaderBindingContract = 'group-0' | 'group-0-resource' | 'view-only' | 'view-with-resource' | 'render-material';
|
|
188
|
-
export type MaterialShaderVertexInputContract = 'none' | 'render-material';
|
|
189
|
-
export declare function resolveMaterialShaderBindingContract(source: string): MaterialShaderBindingContract;
|
|
190
|
-
export declare function resolveMaterialShaderVertexInputContract(source: string): MaterialShaderVertexInputContract;
|
|
191
|
-
export declare function selectPipelineLayoutForVariant(state: {
|
|
192
|
-
readonly pbrPipelineLayout: PipelineLayout | null;
|
|
193
|
-
readonly hdrpPbrPipelineLayout: PipelineLayout | null;
|
|
194
|
-
readonly pbrSkinPipelineLayout: PipelineLayout | null;
|
|
195
|
-
} | null, variantSet: string | undefined, layoutKind?: LayoutKind): PipelineLayout | null;
|
|
196
|
-
/**
|
|
197
|
-
* Resolve a requested material variant against the actual backend capabilities.
|
|
198
|
-
* Record callers use the native-capability request; the backend-owned axes
|
|
199
|
-
* must be rewritten before the request reaches shader lookup and PSO layout
|
|
200
|
-
* selection.
|
|
201
|
-
*/
|
|
202
|
-
export declare function resolveMaterialShaderVariantSet(requestedVariantSet: string | undefined, variants: ReadonlyArray<{
|
|
203
|
-
readonly defines: Readonly<Record<string, boolean>>;
|
|
204
|
-
}>, backendKind: RhiDevice['caps']['backendKind'], storageBuffer: boolean): string | undefined;
|
|
205
|
-
export declare function createRenderer(canvas: unknown, options?: RendererOptions, bundler?: BundlerOptions): Promise<Renderer>;
|
|
206
|
-
/** @internal Exact producer-owned probe shader, exported for Dawn falsifiers. */
|
|
207
|
-
export declare const SHADOW_PROBE_WGSL = "\nstruct CsmLsm {\n m0 : mat4x4<f32>,\n m1 : mat4x4<f32>,\n m2 : mat4x4<f32>,\n m3 : mat4x4<f32>,\n view : mat4x4<f32>,\n splitPlanes : vec4<f32>,\n cascadeCount : u32,\n pcfKernelSize : u32,\n cascadeBlend : f32,\n probePadC : u32,\n};\nstruct WorldPositions { p : array<vec4<f32>, 64> };\n\n@group(0) @binding(0) var<uniform> lsm : CsmLsm;\n@group(0) @binding(1) var<storage, read> worldPositions : WorldPositions;\n@group(0) @binding(2) var shadowMap : texture_depth_2d;\n@group(0) @binding(3) var shadowSampler : sampler_comparison;\n\nstruct VsOut {\n @builtin(position) clip : vec4<f32>,\n @location(0) @interpolate(flat) probeIdx : u32,\n};\n\n@vertex fn vs_main(@builtin(vertex_index) v : u32, @builtin(instance_index) i : u32) -> VsOut {\n let n = f32(64);\n let xL = (f32(i) / n) * 2.0 - 1.0;\n let xR = (f32(i + 1u) / n) * 2.0 - 1.0;\n var x : f32 = xL;\n var y : f32 = -1.0;\n switch (v) {\n case 0u: { x = xL; y = -1.0; }\n case 1u: { x = xR; y = -1.0; }\n case 2u: { x = xR; y = 1.0; }\n case 3u: { x = xL; y = -1.0; }\n case 4u: { x = xR; y = 1.0; }\n default: { x = xL; y = 1.0; }\n }\n var out : VsOut;\n out.clip = vec4<f32>(x, y, 0.0, 1.0);\n out.probeIdx = i;\n return out;\n}\n\nfn _probeCascadeMatrix(layer : u32) -> mat4x4<f32> {\n switch (layer) {\n case 0u: { return lsm.m0; }\n case 1u: { return lsm.m1; }\n case 2u: { return lsm.m2; }\n default: { return lsm.m3; }\n }\n}\n\nfn _pickCascadeLayer(viewDepth : f32, count : u32) -> u32 {\n var layer : u32 = count - 1u;\n for (var i : u32 = 0u; i < count - 1u; i = i + 1u) {\n if (viewDepth < lsm.splitPlanes[i]) {\n layer = i;\n break;\n }\n }\n return layer;\n}\n\nfn _sampleProbeCascade(\n worldPosition : vec3<f32>,\n layer : u32,\n count : u32,\n bias : f32,\n) -> vec3<f32> {\n let columns : u32 = select(2u, 1u, count <= 1u);\n let rows : u32 = (count + columns - 1u) / columns;\n let grid = vec2<u32>(columns, rows);\n let tileScale = vec2<f32>(1.0) / vec2<f32>(grid);\n let m = _probeCascadeMatrix(layer);\n let lightClip = m * vec4<f32>(worldPosition, 1.0);\n let projCoords = lightClip.xyz / lightClip.w;\n let tileUv = vec2<f32>(projCoords.x * 0.5 + 0.5, -projCoords.y * 0.5 + 0.5);\n let tile = vec2<u32>(layer % grid.x, layer / grid.x);\n let tileOrigin = vec2<f32>(tile) / vec2<f32>(grid);\n let uv = tileUv * tileScale + tileOrigin;\n let currentDepth = projCoords.z;\n var sampledDepth : f32 = 1.0;\n var shadow : f32 = 1.0;\n // The host computes max(normalBias * (1 - N.L), depthBias) from the same\n // DirectionalLight snapshot and puts it in the input w lane. This keeps\n // the probe's receiver comparison tied to the exact surface normal used by\n // the evidence caller instead of inventing a fixed floor bias.\n let adjustedDepth : f32 = currentDepth - bias;\n // Keep this check in cascade-local coordinates. An atlas-space check would\n // accept an out-of-cascade receiver that still lands inside the atlas,\n // clamp it to a tile edge, and report a false shadow. The production\n // receiver uses the same local tileUv contract.\n if (tileUv.x >= 0.0 && tileUv.x <= 1.0 && tileUv.y >= 0.0 && tileUv.y <= 1.0 && currentDepth <= 1.0) {\n let texelDims = vec2<f32>(textureDimensions(shadowMap, 0));\n let texel = vec2<f32>(1.0 / texelDims.x, 1.0 / texelDims.y);\n let tileLo = tileOrigin + texel;\n let tileHi = tileOrigin + tileScale - texel;\n let baseCoord = vec2<i32>(uv * texelDims);\n let maxCoord = vec2<i32>(texelDims) - vec2<i32>(1, 1);\n let centerCoord = clamp(baseCoord, vec2<i32>(0, 0), maxCoord);\n sampledDepth = textureLoad(shadowMap, centerCoord, 0);\n let requestedKernel = clamp(lsm.pcfKernelSize, 1u, 5u);\n let kernel = select(select(5u, 3u, requestedKernel <= 4u), 1u, requestedKernel == 1u);\n if (kernel == 1u) {\n shadow = textureSampleCompareLevel(shadowMap, shadowSampler, clamp(uv, tileLo, tileHi), adjustedDepth);\n } else if (kernel == 3u) {\n // Keep the same bilinear 3x3 optimization as lighting-directional.wgsl.\n // The edge path deliberately falls back to clamped nine-tap comparisons.\n let interior = all(uv >= tileLo + texel) && all(uv <= tileHi - texel);\n if (interior) {\n let pcfFraction = fract(uv / texel - vec2<f32>(0.5));\n let loWeight = vec2<f32>(2.0) - pcfFraction;\n let hiWeight = vec2<f32>(1.0) + pcfFraction;\n let loOffset = vec2<f32>(-1.0) - pcfFraction + vec2<f32>(1.0) / loWeight;\n let hiOffset = vec2<f32>(1.0) - pcfFraction + pcfFraction / hiWeight;\n let litLoLo = textureSampleCompareLevel(\n shadowMap, shadowSampler, uv + vec2<f32>(loOffset.x, loOffset.y) * texel, adjustedDepth,\n );\n let litHiLo = textureSampleCompareLevel(\n shadowMap, shadowSampler, uv + vec2<f32>(hiOffset.x, loOffset.y) * texel, adjustedDepth,\n );\n let litLoHi = textureSampleCompareLevel(\n shadowMap, shadowSampler, uv + vec2<f32>(loOffset.x, hiOffset.y) * texel, adjustedDepth,\n );\n let litHiHi = textureSampleCompareLevel(\n shadowMap, shadowSampler, uv + vec2<f32>(hiOffset.x, hiOffset.y) * texel, adjustedDepth,\n );\n shadow = (\n litLoLo * loWeight.x * loWeight.y +\n litHiLo * hiWeight.x * loWeight.y +\n litLoHi * loWeight.x * hiWeight.y +\n litHiHi * hiWeight.x * hiWeight.y\n ) / 9.0;\n } else {\n var blocked : f32 = 0.0;\n for (var x = -1; x <= 1; x++) {\n for (var y = -1; y <= 1; y++) {\n let offsetUv = clamp(uv + vec2<f32>(f32(x), f32(y)) * texel, tileLo, tileHi);\n let lit = textureSampleCompareLevel(shadowMap, shadowSampler, offsetUv, adjustedDepth);\n blocked = blocked + (1.0 - lit);\n }\n }\n shadow = 1.0 - blocked / 9.0;\n }\n } else {\n var blocked : f32 = 0.0;\n for (var x = -2; x <= 2; x++) {\n for (var y = -2; y <= 2; y++) {\n let offsetUv = clamp(uv + vec2<f32>(f32(x), f32(y)) * texel, tileLo, tileHi);\n let lit = textureSampleCompareLevel(shadowMap, shadowSampler, offsetUv, adjustedDepth);\n blocked = blocked + (1.0 - lit);\n }\n }\n shadow = 1.0 - blocked / 25.0;\n }\n }\n return vec3<f32>(shadow, sampledDepth, currentDepth);\n}\n\n@fragment fn fs_main(in : VsOut) -> @location(0) vec4<f32> {\n let p4 = worldPositions.p[in.probeIdx];\n let count = max(lsm.cascadeCount, 1u);\n let viewPosition = lsm.view * vec4<f32>(p4.xyz, 1.0);\n let viewDepth = -viewPosition.z;\n // Match the production shadowDistance early-out. A receiver past the last\n // split is fully lit instead of being assigned to the last atlas tile.\n if (viewDepth > lsm.splitPlanes[count - 1u]) {\n return vec4<f32>(1.0, 1.0, -1.0, 1.0);\n }\n let selectedLayer = _pickCascadeLayer(viewDepth, count);\n let current = _sampleProbeCascade(p4.xyz, selectedLayer, count, p4.w);\n var shadow = current.x;\n if (lsm.cascadeBlend > 0.0 && selectedLayer + 1u < count) {\n let split = lsm.splitPlanes[selectedLayer];\n let blendWidth = split * lsm.cascadeBlend;\n if (blendWidth > 0.0) {\n let distanceToSplit = split - viewDepth;\n let t = clamp(1.0 - distanceToSplit / blendWidth, 0.0, 1.0);\n if (t > 0.0) {\n let next = _sampleProbeCascade(p4.xyz, selectedLayer + 1u, count, p4.w);\n shadow = mix(current.x, next.x, t);\n }\n }\n }\n return vec4<f32>(shadow, current.y, f32(selectedLayer), current.z);\n}\n";
|
|
208
|
-
/**
|
|
209
|
-
* Derive a usable storage-buffer ceiling from device limits.
|
|
210
|
-
*
|
|
211
|
-
* Mirrors the `SKIN_PALETTE_MAX_BINDING_BYTES` 0/undefined floor pattern
|
|
212
|
-
* (createRenderer.ts:4070-4073): when `maxStorageBufferBindingSize` is 0 or
|
|
213
|
-
* undefined (WebKit `downlevel_webgl2_defaults`), climb the fallback chain —
|
|
214
|
-
* `maxBufferSize` → `maxUniformBufferBindingSize` → WebGPU spec floor
|
|
215
|
-
* 134217728 (128 MiB).
|
|
216
|
-
*
|
|
217
|
-
* Pure helper — no device dependency, directly testable in node.
|
|
218
|
-
*/
|
|
219
|
-
export declare function deriveStorageBufferCeiling(limits: Readonly<{
|
|
220
|
-
maxStorageBufferBindingSize?: number;
|
|
221
|
-
maxBufferSize?: number;
|
|
222
|
-
maxUniformBufferBindingSize?: number;
|
|
223
|
-
}>): number;
|
|
224
|
-
/**
|
|
225
|
-
* Mesh + material buffer wrapper carrying the inner `Buffer` handle plus
|
|
226
|
-
* the byte-size at the time of allocation. The wrapper-object identity is
|
|
227
|
-
* stable across grow events — only `.buffer` and `.sizeInBytes` are mutated
|
|
228
|
-
* in place — so `PipelineState.meshStorageBuffer` / `materialUniformBuffer`
|
|
229
|
-
* fields capture the wrapper once and survive grow events without a re-bind
|
|
230
|
-
* cycle through the public Renderer surface (research §F8 R1).
|
|
231
|
-
*/
|
|
232
|
-
export interface MeshSsboBufferWrapper {
|
|
233
|
-
buffer: Buffer;
|
|
234
|
-
sizeInBytes: number;
|
|
235
|
-
}
|
|
236
|
-
/** Closure-local grow state surfaced for spy assertions in unit tests. */
|
|
237
|
-
export interface MeshSsboState {
|
|
238
|
-
slotCount: number;
|
|
239
|
-
mesh: MeshSsboBufferWrapper;
|
|
240
|
-
material: MeshSsboBufferWrapper;
|
|
241
|
-
}
|
|
242
|
-
/** `growMeshSsbo` return shape (D-5: Result-like, never throws). */
|
|
243
|
-
export type MeshSsboGrowResult = {
|
|
244
|
-
readonly ok: true;
|
|
245
|
-
} | {
|
|
246
|
-
readonly ok: false;
|
|
247
|
-
readonly code: 'mesh-ssbo-ceiling-reached' | 'mesh-ssbo-capacity-exceeded';
|
|
248
|
-
/** Pre-grow slotCount — the caller can render up to this many slots (degraded subset). */
|
|
249
|
-
readonly degradedToSlotCount: number;
|
|
250
|
-
};
|
|
251
|
-
/** Minimal device surface the grow controller needs (mocked in unit tests). */
|
|
252
|
-
export interface MeshSsboGrowDevice {
|
|
253
|
-
readonly limits: {
|
|
254
|
-
readonly maxStorageBufferBindingSize: number;
|
|
255
|
-
};
|
|
256
|
-
readonly createBuffer: (descriptor: {
|
|
257
|
-
readonly label?: string;
|
|
258
|
-
readonly size: number;
|
|
259
|
-
readonly usage: number;
|
|
260
|
-
readonly mappedAtCreation?: boolean;
|
|
261
|
-
}) => Buffer;
|
|
262
|
-
}
|
|
263
|
-
/** Minimal error-registry surface (just `fire` — `RhiErrorListenerRegistry` matches). */
|
|
264
|
-
export interface MeshSsboGrowErrorRegistry {
|
|
265
|
-
fire: (e: MeshSsboCeilingReachedError | MeshSsboCapacityExceededError) => void;
|
|
266
|
-
}
|
|
267
|
-
export interface MeshSsboGrowControllerInit {
|
|
268
|
-
readonly device: MeshSsboGrowDevice;
|
|
269
|
-
readonly errorRegistry: MeshSsboGrowErrorRegistry;
|
|
270
|
-
readonly initialSlotCount: number;
|
|
271
|
-
readonly perEntityStride: number;
|
|
272
|
-
readonly meshUsage: number;
|
|
273
|
-
readonly materialUsage: number;
|
|
274
|
-
}
|
|
275
|
-
export interface MeshSsboGrowController {
|
|
276
|
-
readonly state: MeshSsboState;
|
|
277
|
-
/** Allocate the initial mesh + material buffer pair at `initialSlotCount`. */
|
|
278
|
-
readonly initialBuild: () => void;
|
|
279
|
-
/** Grow to satisfy `neededSlots`; idempotent + ceiling-aware. */
|
|
280
|
-
readonly growMeshSsbo: (neededSlots: number) => MeshSsboGrowResult;
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Build a closure-scoped mesh-SSBO grow controller. Module-scope so unit
|
|
284
|
-
* tests (`__tests__/mesh-ssbo-grow.test.ts`) can construct it with a fake
|
|
285
|
-
* device + spy errorRegistry without spinning up the full WebGPU renderer
|
|
286
|
-
* (charter F2 minimal surface — the controller is the testable seam).
|
|
287
|
-
*/
|
|
288
|
-
export declare function createMeshSsboGrowController(init: MeshSsboGrowControllerInit): MeshSsboGrowController;
|
|
289
|
-
//# sourceMappingURL=renderer-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-factory.d.ts","sourceRoot":"","sources":["../../src/renderer/renderer-factory.ts"],"names":[],"mappings":"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"}
|