@forgeax/engine-render 0.1.7 → 0.1.20
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 +140 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/assembly/backend-contract.d.ts +12 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -1
- package/dist/assembly/factory.d.ts +26 -5
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +4 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/renderer-frame-transaction.d.ts +39 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -0
- package/dist/assembly/renderer-inspection.d.ts +22 -0
- package/dist/assembly/renderer-inspection.d.ts.map +1 -0
- package/dist/assembly/renderer-lifecycle.d.ts +4 -0
- package/dist/assembly/renderer-lifecycle.d.ts.map +1 -0
- package/dist/authoring.mjs +4 -2
- package/dist/authoring.mjs.map +1 -1
- package/dist/chunk-4XINDLAY.mjs +9404 -0
- package/dist/chunk-4XINDLAY.mjs.map +1 -0
- package/dist/chunk-CDTWTHZR.mjs +752 -0
- package/dist/chunk-CDTWTHZR.mjs.map +1 -0
- package/dist/chunk-FJ6P52EE.mjs +46 -0
- package/dist/chunk-FJ6P52EE.mjs.map +1 -0
- package/dist/chunk-JDWARUOI.mjs +44 -0
- package/dist/chunk-JDWARUOI.mjs.map +1 -0
- package/dist/chunk-M2MP4ZOU.mjs +73 -0
- package/dist/chunk-M2MP4ZOU.mjs.map +1 -0
- package/dist/chunk-PCHBPYML.mjs +385 -0
- package/dist/chunk-PCHBPYML.mjs.map +1 -0
- package/dist/chunk-RXZ3RGOU.mjs +53 -0
- package/dist/chunk-RXZ3RGOU.mjs.map +1 -0
- package/dist/{chunk-YEJIUW7D.mjs → chunk-TBQJOK2L.mjs} +356 -543
- package/dist/chunk-TBQJOK2L.mjs.map +1 -0
- package/dist/{chunk-CQXZC5XI.mjs → chunk-VFPLTKCU.mjs} +79 -69
- package/dist/chunk-VFPLTKCU.mjs.map +1 -0
- package/dist/components/atmosphere.d.ts +9 -0
- package/dist/components/atmosphere.d.ts.map +1 -0
- package/dist/components/camera.d.ts +2 -1
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/fog.d.ts +8 -0
- package/dist/components/fog.d.ts.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/motion-blur.d.ts +7 -0
- package/dist/components/motion-blur.d.ts.map +1 -0
- package/dist/components/spot-light.d.ts +12 -0
- package/dist/components/spot-light.d.ts.map +1 -1
- package/dist/construct-renderer.d.ts +2 -2
- package/dist/construct-renderer.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +11146 -14507
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/device-scope.d.ts +4 -0
- package/dist/device/device-scope.d.ts.map +1 -1
- package/dist/device/gpu-residency.d.ts +19 -2
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/environment/frame.d.ts +60 -0
- package/dist/environment/frame.d.ts.map +1 -0
- package/dist/environment/generation.d.ts +21 -0
- package/dist/environment/generation.d.ts.map +1 -0
- package/dist/environment/graph.d.ts +4 -0
- package/dist/environment/graph.d.ts.map +1 -0
- package/dist/environment/inspection.d.ts +48 -0
- package/dist/environment/inspection.d.ts.map +1 -0
- package/dist/environment/lifecycle.d.ts +39 -0
- package/dist/environment/lifecycle.d.ts.map +1 -0
- package/dist/environment/signature.d.ts +25 -0
- package/dist/environment/signature.d.ts.map +1 -0
- package/dist/errors/render.d.ts +204 -1
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/camera.d.ts +5 -0
- package/dist/extract/camera.d.ts.map +1 -0
- package/dist/extract/environment.d.ts +74 -0
- package/dist/extract/environment.d.ts.map +1 -0
- package/dist/extract/visibility.d.ts +1 -1
- package/dist/extract/visibility.d.ts.map +1 -1
- package/dist/features/host.d.ts +9 -2
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/motion-blur/motion-blur-feature.d.ts +16 -0
- package/dist/features/motion-blur/motion-blur-feature.d.ts.map +1 -0
- package/dist/features/motion-blur/motion-blur-params.d.ts +25 -0
- package/dist/features/motion-blur/motion-blur-params.d.ts.map +1 -0
- package/dist/features/plan.d.ts +17 -2
- package/dist/features/plan.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +3 -1
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics.d.ts +2 -1
- package/dist/features/prepared-graphics.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +2 -1
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/targets.d.ts +3 -0
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +12 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +7 -1
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +2 -0
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/gpu-usage.d.ts +2 -0
- package/dist/gpu-usage.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +5 -6
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +24 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +6 -4
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +43 -1
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.mjs +2 -0
- package/dist/light-buffer-layout.d.ts +20 -12
- package/dist/light-buffer-layout.d.ts.map +1 -1
- package/dist/materials.d.ts +22 -0
- package/dist/materials.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +16 -9
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-pipeline.d.ts +3 -0
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts +48 -0
- package/dist/pipeline/standard-post.d.ts.map +1 -0
- package/dist/pipeline/standard-profile.d.ts +12 -2
- package/dist/pipeline/standard-profile.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +18 -0
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/record/frame-lighting.d.ts +2 -0
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +137 -6
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame-targets.d.ts.map +1 -1
- package/dist/record/frame.d.ts +6 -3
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-timing.d.ts +32 -0
- package/dist/record/gpu-timing.d.ts.map +1 -0
- package/dist/record/main-pass-geometry.d.ts +11 -0
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +9 -6
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts +8 -1
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +2 -0
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +81 -19
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts +1 -11
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +36 -4
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +4 -1
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/render-contract.d.ts +157 -8
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-data.d.ts +10 -6
- package/dist/render-data.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +86 -6
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +84 -8
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +30 -5
- package/dist/render-system.d.ts.map +1 -1
- package/dist/renderer-inspect.d.ts +29 -0
- package/dist/renderer-inspect.d.ts.map +1 -0
- package/dist/scene/render-scene.d.ts +36 -2
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/temporal/coverage.d.ts +42 -0
- package/dist/temporal/coverage.d.ts.map +1 -0
- package/dist/temporal/frame-coordinator.d.ts +99 -0
- package/dist/temporal/frame-coordinator.d.ts.map +1 -0
- package/dist/temporal/frame.d.ts +44 -0
- package/dist/temporal/frame.d.ts.map +1 -0
- package/dist/temporal/gpu.d.ts +39 -0
- package/dist/temporal/gpu.d.ts.map +1 -0
- package/dist/temporal/history.d.ts +37 -0
- package/dist/temporal/history.d.ts.map +1 -0
- package/dist/temporal/index.d.ts +7 -0
- package/dist/temporal/index.d.ts.map +1 -0
- package/dist/temporal/index.mjs +8 -0
- package/dist/temporal/index.mjs.map +1 -0
- package/dist/temporal/inspection.d.ts +36 -0
- package/dist/temporal/inspection.d.ts.map +1 -0
- package/dist/temporal/scene-data-catalog.d.ts +48 -0
- package/dist/temporal/scene-data-catalog.d.ts.map +1 -0
- package/dist/temporal/scene-data.d.ts +43 -0
- package/dist/temporal/scene-data.d.ts.map +1 -0
- package/dist/temporal/standard-scene-data.d.ts +61 -0
- package/dist/temporal/standard-scene-data.d.ts.map +1 -0
- package/dist/temporal/taa-history-resources.d.ts +22 -0
- package/dist/temporal/taa-history-resources.d.ts.map +1 -0
- package/dist/temporal/taa-history-store.d.ts +27 -0
- package/dist/temporal/taa-history-store.d.ts.map +1 -0
- package/dist/temporal/taa-resolve.d.ts +15 -0
- package/dist/temporal/taa-resolve.d.ts.map +1 -0
- package/dist/temporal/temporal-view.d.ts +40 -0
- package/dist/temporal/temporal-view.d.ts.map +1 -0
- package/dist/temporal/transaction.d.ts +9 -0
- package/dist/temporal/transaction.d.ts.map +1 -0
- package/dist/temporal/view.d.ts +56 -0
- package/dist/temporal/view.d.ts.map +1 -0
- package/dist/transmission/backdrop.d.ts +147 -0
- package/dist/transmission/backdrop.d.ts.map +1 -0
- package/dist/transmission/inspection.d.ts +57 -0
- package/dist/transmission/inspection.d.ts.map +1 -0
- package/dist/transmission/oracle.d.ts +42 -0
- package/dist/transmission/oracle.d.ts.map +1 -0
- package/dist/transmission/projection.d.ts +37 -0
- package/dist/transmission/projection.d.ts.map +1 -0
- package/dist/typed-render-graph-primitives.d.ts +30 -2
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/typed-shadow-atlas.d.ts +10 -0
- package/dist/typed-shadow-atlas.d.ts.map +1 -0
- package/dist/typed-shadow-passes.d.ts.map +1 -1
- package/dist/volume/capability.d.ts +57 -0
- package/dist/volume/capability.d.ts.map +1 -0
- package/dist/volume/component.d.ts +61 -0
- package/dist/volume/component.d.ts.map +1 -0
- package/dist/volume/extract.d.ts +11 -0
- package/dist/volume/extract.d.ts.map +1 -0
- package/dist/volume/inspection.d.ts +38 -0
- package/dist/volume/inspection.d.ts.map +1 -0
- package/dist/volume/passes.d.ts +38 -0
- package/dist/volume/passes.d.ts.map +1 -0
- package/dist/volume/recovery.d.ts +38 -0
- package/dist/volume/recovery.d.ts.map +1 -0
- package/dist/volume/resources.d.ts +57 -0
- package/dist/volume/resources.d.ts.map +1 -0
- package/dist/volume/temporal.d.ts +35 -0
- package/dist/volume/temporal.d.ts.map +1 -0
- package/package.json +24 -19
- package/src/__tests__/ai-user-cold-start.integration.test.ts +59 -0
- package/src/__tests__/ai-user-public-surface.test-d.ts +45 -0
- package/src/__tests__/bloom-exact-zero.unit.test.ts +202 -0
- package/src/__tests__/bloom-lifecycle.integration.test.ts +125 -0
- package/src/__tests__/construct-renderer-identity.unit.test.ts +4 -3
- package/src/__tests__/detached-inspection.integration.test.ts +177 -0
- package/src/__tests__/environment-fog-lanes.integration.test.ts +219 -0
- package/src/__tests__/environment-generation.integration.test.ts +141 -0
- package/src/__tests__/environment-selection.unit.test.ts +245 -0
- package/src/__tests__/factory-contract.integration.test.ts +1380 -9
- package/src/__tests__/frame-plan-contract.unit.test.ts +90 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +7 -0
- package/src/__tests__/gpu-driven-production.integration.test.ts +74 -22
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +37 -0
- package/src/__tests__/gpu-scene.unit.test.ts +10 -0
- package/src/__tests__/injection-kind-owner.test-d.ts +2 -1
- package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +14 -14
- package/src/__tests__/material-contract-inventory.unit.test.ts +62 -0
- package/src/__tests__/material-cooked-projection.unit.test.ts +18 -146
- package/src/__tests__/materials-transmission-validation.unit.test.ts +36 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -1
- package/src/__tests__/morph-feature-plan.unit.test.ts +7 -0
- package/src/__tests__/motion-blur.pixel.integration.test.ts +121 -0
- package/src/__tests__/public-surface.test-d.ts +15 -1
- package/src/__tests__/render-error-code-owner.test-d.ts +14 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +11 -2
- package/src/__tests__/render-error-exhaustive.test-d.ts +3 -0
- package/src/__tests__/render-feature-errors.unit.test.ts +33 -3
- package/src/__tests__/render-feature-gpu-work.integration.test.ts +44 -0
- package/src/__tests__/render-feature-plan.test-d.ts +22 -89
- package/src/__tests__/render-scene-projection.unit.test.ts +28 -0
- package/src/__tests__/render-temporal-environment-consumer.browser.test.ts +26 -0
- package/src/__tests__/render-temporal-environment-consumer.dawn.test.ts +21 -0
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +423 -1
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +405 -0
- package/src/__tests__/renderer-lifecycle.integration.test.ts +22 -0
- package/src/__tests__/scene-data-catalog.unit.test.ts +59 -0
- package/src/__tests__/scene-data-consumer.integration.test.ts +67 -0
- package/src/__tests__/scene-data-contract.test-d.ts +35 -0
- package/src/__tests__/scene-data-inspection.unit.test.ts +41 -0
- package/src/__tests__/scene-data-public-surface.test-d.ts +34 -0
- package/src/__tests__/shader-manifest-fixture.ts +111 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +123 -0
- package/src/__tests__/standard-clustered-pipeline.unit.test.ts +24 -3
- package/src/__tests__/standard-pipeline.dawn.test.ts +15 -0
- package/src/__tests__/standard-pipeline.integration.test.ts +543 -1
- package/src/__tests__/standard-profile-oracle.unit.test.ts +12 -2
- package/src/__tests__/standard-temporal-producer.integration.test.ts +35 -0
- package/src/__tests__/surface-configuration.unit.test.ts +211 -12
- package/src/__tests__/taa-transaction.integration.test.ts +30 -0
- package/src/__tests__/temporal-admission.integration.test.ts +40 -0
- package/src/__tests__/temporal-coverage.unit.test.ts +35 -0
- package/src/__tests__/temporal-demand.unit.test.ts +44 -0
- package/src/__tests__/temporal-frame-coordinator.unit.test.ts +64 -0
- package/src/__tests__/temporal-graph-topology.unit.test.ts +51 -0
- package/src/__tests__/temporal-history-lifecycle.unit.test.ts +170 -0
- package/src/__tests__/temporal-performance.integration.test.ts +615 -0
- package/src/__tests__/temporal-reset-matrix.unit.test.ts +97 -0
- package/src/__tests__/temporal-transaction.integration.test.ts +60 -0
- package/src/__tests__/temporal-view.unit.test.ts +152 -0
- package/src/__tests__/transmission-prewarm.unit.test.ts +93 -0
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +230 -1
- package/src/__tests__/urp-pipeline-targets.unit.test.ts +25 -1
- package/src/__tests__/urp-pipeline.unit.test.ts +4 -3
- package/src/__tests__/visibility-extract.integration.test.ts +27 -1
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +10 -0
- package/src/__tests__/volume-optics-oracle.unit.test.ts +85 -0
- package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +655 -0
- package/src/__tests__/volumetric-fog-component.unit.test.ts +71 -0
- package/src/__tests__/volumetric-fog-composite-stage-readback.dawn.test.ts +376 -0
- package/src/__tests__/volumetric-fog-errors.unit.test.ts +51 -0
- package/src/__tests__/volumetric-fog-inspection.unit.test.ts +77 -0
- package/src/__tests__/volumetric-fog-light-capability.unit.test.ts +19 -0
- package/src/__tests__/volumetric-fog-light-consumers.integration.test.ts +18 -0
- package/src/__tests__/volumetric-fog-light-errors.unit.test.ts +17 -0
- package/src/__tests__/volumetric-fog-light-topology.unit.test.ts +21 -0
- package/src/__tests__/volumetric-fog-light-transaction.integration.test.ts +53 -0
- package/src/__tests__/volumetric-fog-m9-watcher.integration.test.ts +27 -0
- package/src/__tests__/volumetric-fog-point-light-owner.integration.test.ts +44 -0
- package/src/__tests__/volumetric-fog-point-spot-accumulation.integration.test.ts +49 -0
- package/src/__tests__/volumetric-fog-point-spot-contract.unit.test.ts +28 -0
- package/src/__tests__/volumetric-fog-point-spot-lkg.integration.test.ts +65 -0
- package/src/__tests__/volumetric-fog-point-spot-selection.integration.test.ts +49 -0
- package/src/__tests__/volumetric-fog-point-spot-temporal.unit.test.ts +55 -0
- package/src/__tests__/volumetric-fog-projector-contract.unit.test.ts +22 -0
- package/src/__tests__/volumetric-fog-projector-inspection.unit.test.ts +12 -0
- package/src/__tests__/volumetric-fog-projector-surface-volume.integration.test.ts +11 -0
- package/src/__tests__/volumetric-fog-projector-transaction.integration.test.ts +26 -0
- package/src/__tests__/volumetric-fog-recovery.integration.test.ts +47 -0
- package/src/__tests__/volumetric-fog-selected-light-resolution.integration.test.ts +63 -0
- package/src/__tests__/volumetric-fog-spot-closure.integration.test.ts +26 -0
- package/src/__tests__/volumetric-fog-spot-contract.test-d.ts +21 -0
- package/src/__tests__/volumetric-fog-spot-contract.unit.test.ts +27 -0
- package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +14 -0
- package/src/__tests__/volumetric-fog-spot-optics.integration.test.ts +29 -0
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +550 -0
- package/src/__tests__/volumetric-fog-temporal-selected-light.unit.test.ts +33 -0
- package/src/__tests__/volumetric-fog-temporal.unit.test.ts +45 -0
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +237 -0
- package/src/__tests__/volumetric-fog-transparent.integration.test.ts +27 -0
- package/src/assembly/backend-contract.ts +47 -1
- package/src/assembly/factory.ts +1480 -505
- package/src/assembly/host-contract.ts +4 -0
- package/src/assembly/renderer-frame-transaction.ts +75 -0
- package/src/assembly/renderer-inspection.ts +112 -0
- package/src/assembly/renderer-lifecycle.ts +6 -0
- package/src/components/__tests__/motion-blur.unit.test.ts +14 -0
- package/src/components/__tests__/schema-contract.unit.test.ts +6 -1
- package/src/components/atmosphere.ts +10 -0
- package/src/components/camera.ts +2 -1
- package/src/components/fog.ts +9 -0
- package/src/components/index.ts +3 -0
- package/src/components/light-helpers.ts +4 -0
- package/src/components/motion-blur.ts +8 -0
- package/src/components/spot-light.ts +22 -3
- package/src/construct-renderer.ts +40 -3
- package/src/device/device-scope.ts +15 -1
- package/src/device/gpu-residency.ts +168 -58
- package/src/environment/frame.ts +185 -0
- package/src/environment/generation.ts +23 -0
- package/src/environment/graph.ts +9 -0
- package/src/environment/inspection.ts +87 -0
- package/src/environment/lifecycle.ts +250 -0
- package/src/environment/signature.ts +55 -0
- package/src/errors/render.ts +404 -1
- package/src/extract/camera.ts +78 -0
- package/src/extract/environment.ts +171 -0
- package/src/extract/visibility.ts +38 -19
- package/src/features/host.ts +36 -5
- package/src/features/motion-blur/__tests__/motion-blur-feature.unit.test.ts +67 -0
- package/src/features/motion-blur/__tests__/motion-blur-params.unit.test.ts +53 -0
- package/src/features/motion-blur/motion-blur-feature.ts +119 -0
- package/src/features/motion-blur/motion-blur-params.ts +89 -0
- package/src/features/plan.ts +32 -3
- package/src/features/prepared-gpu-work.ts +21 -6
- package/src/features/prepared-graphics.ts +2 -1
- package/src/features/render-graph-raster.ts +2 -1
- package/src/features/targets.ts +24 -2
- package/src/features/types.ts +13 -0
- package/src/fullscreen-post-process-pass.ts +34 -4
- package/src/gpu-scene.ts +24 -0
- package/src/gpu-usage.ts +2 -0
- package/src/ibl/skylight-bind-group.ts +30 -38
- package/src/index.ts +104 -7
- package/src/inspection-types.ts +48 -0
- package/src/internal.ts +5 -0
- package/src/light-buffer-layout.ts +59 -26
- package/src/materials.ts +119 -24
- package/src/pbr-pipeline.ts +91 -29
- package/src/pipeline/standard-forward-lane.ts +178 -101
- package/src/pipeline/standard-pipeline.ts +176 -105
- package/src/pipeline/standard-post.ts +373 -0
- package/src/pipeline/standard-profile.ts +26 -3
- package/src/pipeline-builder.ts +102 -12
- package/src/pipeline-spec.ts +9 -0
- package/src/plugin.ts +2 -0
- package/src/record/__tests__/fullscreen-temporal-routing.unit.test.ts +25 -0
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +47 -0
- package/src/record/__tests__/material-bg-cache.unit.test.ts +12 -1
- package/src/record/__tests__/material-pipeline-pending-cache.unit.test.ts +22 -0
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +75 -0
- package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +67 -0
- package/src/record/__tests__/temporal-payload.unit.test.ts +164 -0
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +127 -0
- package/src/record/frame-lighting.ts +103 -89
- package/src/record/frame-snapshot.ts +170 -6
- package/src/record/frame-targets.ts +21 -8
- package/src/record/frame.ts +1014 -7
- package/src/record/gpu-timing.ts +224 -0
- package/src/record/main-pass-geometry.ts +86 -40
- package/src/record/main-pass-material.ts +120 -68
- package/src/record/main-pass-sprite-draws.ts +78 -101
- package/src/record/main-pass.ts +77 -4
- package/src/record/mesh-ssbo.ts +22 -3
- package/src/record/render-context.ts +194 -23
- package/src/record/shadow-pass.ts +197 -58
- package/src/record/skybox-post-pass.ts +97 -41
- package/src/record/typed-frame-graph.ts +704 -30
- package/src/record/view-ubo.ts +52 -4
- package/src/render-contract.ts +181 -6
- package/src/render-data.ts +50 -22
- package/src/render-graph-primitives.ts +18 -1
- package/src/render-pipeline.ts +144 -27
- package/src/render-system-extract.ts +522 -72
- package/src/render-system.ts +561 -41
- package/src/renderer-inspect.ts +66 -0
- package/src/scene/render-scene.ts +252 -7
- package/src/temporal/__tests__/taa-history-resources.unit.test.ts +45 -0
- package/src/temporal/coverage.ts +76 -0
- package/src/temporal/frame-coordinator.ts +311 -0
- package/src/temporal/frame.ts +128 -0
- package/src/temporal/gpu.ts +287 -0
- package/src/temporal/history.ts +92 -0
- package/src/temporal/index.ts +6 -0
- package/src/temporal/inspection.ts +97 -0
- package/src/temporal/scene-data-catalog.ts +200 -0
- package/src/temporal/scene-data.ts +149 -0
- package/src/temporal/standard-scene-data.ts +182 -0
- package/src/temporal/taa-history-resources.ts +128 -0
- package/src/temporal/taa-history-store.ts +79 -0
- package/src/temporal/taa-resolve.ts +34 -0
- package/src/temporal/temporal-view.ts +169 -0
- package/src/temporal/transaction.ts +17 -0
- package/src/temporal/view.ts +161 -0
- package/src/transmission/__tests__/capability.unit.test.ts +83 -0
- package/src/transmission/__tests__/composition.integration.test.ts +161 -0
- package/src/transmission/__tests__/inspection.unit.test.ts +241 -0
- package/src/transmission/__tests__/lifecycle.integration.test.ts +96 -0
- package/src/transmission/__tests__/oracle.unit.test.ts +131 -0
- package/src/transmission/__tests__/projection.unit.test.ts +71 -0
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +437 -0
- package/src/transmission/__tests__/transmission-backdrop-topology.unit.test.ts +109 -0
- package/src/transmission/__tests__/transmission-backdrop.dawn.test.ts +105 -0
- package/src/transmission/backdrop.ts +572 -0
- package/src/transmission/inspection.ts +190 -0
- package/src/transmission/oracle.ts +141 -0
- package/src/transmission/projection.ts +83 -0
- package/src/typed-render-graph-primitives.ts +194 -11
- package/src/typed-shadow-atlas.ts +17 -0
- package/src/typed-shadow-passes.ts +6 -5
- package/src/volume/capability.ts +173 -0
- package/src/volume/component.ts +110 -0
- package/src/volume/extract.ts +21 -0
- package/src/volume/inspection.ts +78 -0
- package/src/volume/passes.ts +680 -0
- package/src/volume/recovery.ts +86 -0
- package/src/volume/resources.ts +236 -0
- package/src/volume/temporal.ts +89 -0
- package/dist/__tests__/authoring-path.unit.test.d.ts +0 -2
- package/dist/__tests__/authoring-path.unit.test.d.ts.map +0 -1
- package/dist/__tests__/backend-selection-rhi-capture.test-d.d.ts +0 -2
- package/dist/__tests__/backend-selection-rhi-capture.test-d.d.ts.map +0 -1
- package/dist/__tests__/callback-inference.test-d.d.ts +0 -2
- package/dist/__tests__/callback-inference.test-d.d.ts.map +0 -1
- package/dist/__tests__/cluster-binner.test.d.ts +0 -2
- package/dist/__tests__/cluster-binner.test.d.ts.map +0 -1
- package/dist/__tests__/cluster-grid-default-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/cluster-grid-default-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/construct-renderer-identity.unit.test.d.ts +0 -2
- package/dist/__tests__/construct-renderer-identity.unit.test.d.ts.map +0 -1
- package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts +0 -2
- package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts.map +0 -1
- package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts +0 -2
- package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts.map +0 -1
- package/dist/__tests__/direct-extract-consumer-contract.test-d.d.ts +0 -2
- package/dist/__tests__/direct-extract-consumer-contract.test-d.d.ts.map +0 -1
- package/dist/__tests__/direct-light-snapshot.unit.test.d.ts +0 -2
- package/dist/__tests__/direct-light-snapshot.unit.test.d.ts.map +0 -1
- package/dist/__tests__/factory-contract.integration.test.d.ts +0 -2
- package/dist/__tests__/factory-contract.integration.test.d.ts.map +0 -1
- package/dist/__tests__/fallback-row-stride-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/fallback-row-stride-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/frame-observation.contract.test.d.ts +0 -2
- package/dist/__tests__/frame-observation.contract.test.d.ts.map +0 -1
- package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts +0 -2
- package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts.map +0 -1
- package/dist/__tests__/glyph-text-layout-recovery.unit.test.d.ts +0 -2
- package/dist/__tests__/glyph-text-layout-recovery.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts +0 -6
- package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-indirect-raster.browser.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-indirect-raster.browser.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-indirect-raster.dawn.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-indirect-raster.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-production.integration.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-production.integration.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-scaling.unit.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-scaling.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts +0 -18
- package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-view-graph.integration.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-view-graph.integration.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-view-reference.d.ts +0 -15
- package/dist/__tests__/gpu-driven-view-reference.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-view.browser.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-view.browser.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-view.dawn.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-view.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-driven-view.unit.test.d.ts +0 -2
- package/dist/__tests__/gpu-driven-view.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-resource-store-stride.unit.test.d.ts +0 -2
- package/dist/__tests__/gpu-resource-store-stride.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts +0 -7
- package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene-render-graph.browser.test.d.ts +0 -2
- package/dist/__tests__/gpu-scene-render-graph.browser.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene-render-graph.dawn.test.d.ts +0 -2
- package/dist/__tests__/gpu-scene-render-graph.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene-schema.unit.test.d.ts +0 -2
- package/dist/__tests__/gpu-scene-schema.unit.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene.dawn.test.d.ts +0 -2
- package/dist/__tests__/gpu-scene.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/gpu-scene.unit.test.d.ts +0 -2
- package/dist/__tests__/gpu-scene.unit.test.d.ts.map +0 -1
- package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts +0 -2
- package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts.map +0 -1
- package/dist/__tests__/infinite-grid-no-vertex-probe.unit.test.d.ts +0 -2
- package/dist/__tests__/infinite-grid-no-vertex-probe.unit.test.d.ts.map +0 -1
- package/dist/__tests__/injection-kind-owner.test-d.d.ts +0 -2
- package/dist/__tests__/injection-kind-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/ktx2-basis-gpu-consumer.dawn.test.d.ts +0 -2
- package/dist/__tests__/ktx2-basis-gpu-consumer.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/light-buffer-layout.unit.test.d.ts +0 -2
- package/dist/__tests__/light-buffer-layout.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-contract-inventory.unit.test.d.ts +0 -2
- package/dist/__tests__/material-contract-inventory.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-cooked-projection.unit.test.d.ts +0 -2
- package/dist/__tests__/material-cooked-projection.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-snapshot-mutation.integration.test.d.ts +0 -2
- package/dist/__tests__/material-snapshot-mutation.integration.test.d.ts.map +0 -1
- package/dist/__tests__/material-static-dynamic-route.unit.test.d.ts +0 -2
- package/dist/__tests__/material-static-dynamic-route.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-stride-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/material-stride-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/mesh-buffer-usage-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/mesh-buffer-usage-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/mesh-material-bindings.unit.test.d.ts +0 -2
- package/dist/__tests__/mesh-material-bindings.unit.test.d.ts.map +0 -1
- package/dist/__tests__/mesh-stride-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/mesh-stride-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/morph-culling-reentry.dawn.test.d.ts +0 -2
- package/dist/__tests__/morph-culling-reentry.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/morph-feature-gpu-work.integration.test.d.ts +0 -2
- package/dist/__tests__/morph-feature-gpu-work.integration.test.d.ts.map +0 -1
- package/dist/__tests__/morph-feature-plan.unit.test.d.ts +0 -2
- package/dist/__tests__/morph-feature-plan.unit.test.d.ts.map +0 -1
- package/dist/__tests__/morph-visual-evidence.integration.test.d.ts +0 -2
- package/dist/__tests__/morph-visual-evidence.integration.test.d.ts.map +0 -1
- package/dist/__tests__/nineslice-handle-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/nineslice-handle-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/post-process-error-policy-owner.unit.test.d.ts +0 -2
- package/dist/__tests__/post-process-error-policy-owner.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-buffer-kind-owner.test-d.d.ts +0 -2
- package/dist/__tests__/prepared-buffer-kind-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-capability.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-capability.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-generation.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-generation.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-lifecycle.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-lifecycle.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-pipeline-warmup.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-pipeline-warmup.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-resolver.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-resolver.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-snapshot.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-snapshot.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-store.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-store.unit.test.d.ts.map +0 -1
- package/dist/__tests__/prepared-graphics-validation.unit.test.d.ts +0 -2
- package/dist/__tests__/prepared-graphics-validation.unit.test.d.ts.map +0 -1
- package/dist/__tests__/profiler-default-off.test.d.ts +0 -2
- package/dist/__tests__/profiler-default-off.test.d.ts.map +0 -1
- package/dist/__tests__/profiler-phase-catalog.test.d.ts +0 -2
- package/dist/__tests__/profiler-phase-catalog.test.d.ts.map +0 -1
- package/dist/__tests__/profiler-phase-integration.test.d.ts +0 -2
- package/dist/__tests__/profiler-phase-integration.test.d.ts.map +0 -1
- package/dist/__tests__/profiler-phase-token.test.d.ts +0 -2
- package/dist/__tests__/profiler-phase-token.test.d.ts.map +0 -1
- package/dist/__tests__/public-surface.test-d.d.ts +0 -2
- package/dist/__tests__/public-surface.test-d.d.ts.map +0 -1
- package/dist/__tests__/recover-error-policy-owner.unit.test.d.ts +0 -2
- package/dist/__tests__/recover-error-policy-owner.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-error-code-owner.test-d.d.ts +0 -2
- package/dist/__tests__/render-error-code-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-error-detail-ssot.test-d.d.ts +0 -2
- package/dist/__tests__/render-error-detail-ssot.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-error-exhaustive.test-d.d.ts +0 -2
- package/dist/__tests__/render-error-exhaustive.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-assembly.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-assembly.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-context.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-context.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-contract.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-contract.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-diagnostics.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-diagnostics.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-docs.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-docs.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-errors.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-errors.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-gpu-work.integration.test.d.ts +0 -2
- package/dist/__tests__/render-feature-gpu-work.integration.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-plan.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-plan.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-plan.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-plan.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-diagnostics.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-diagnostics.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-errors.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-errors.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics-isolation.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics-isolation.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics-negative.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics-negative.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-prepared-graphics.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-prepared-graphics.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-public-surface.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-public-surface.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-retry.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-retry.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-scheduling.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-scheduling.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-stage-failed-policy-owner.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-stage-failed-policy-owner.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-stage-fault-recovery.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-stage-fault-recovery.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-visibility-context.test-d.d.ts +0 -2
- package/dist/__tests__/render-feature-visibility-context.test-d.d.ts.map +0 -1
- package/dist/__tests__/render-feature-visibility-context.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-visibility-context.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-feature-zero-work.unit.test.d.ts +0 -2
- package/dist/__tests__/render-feature-zero-work.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-compute-raster-gpu.d.ts +0 -7
- package/dist/__tests__/render-graph-compute-raster-gpu.d.ts.map +0 -1
- package/dist/__tests__/render-graph-compute-raster.browser.test.d.ts +0 -2
- package/dist/__tests__/render-graph-compute-raster.browser.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-compute-raster.dawn.test.d.ts +0 -2
- package/dist/__tests__/render-graph-compute-raster.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-hzb-gpu.d.ts +0 -7
- package/dist/__tests__/render-graph-hzb-gpu.d.ts.map +0 -1
- package/dist/__tests__/render-graph-hzb.browser.test.d.ts +0 -2
- package/dist/__tests__/render-graph-hzb.browser.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-hzb.dawn.test.d.ts +0 -2
- package/dist/__tests__/render-graph-hzb.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-primitives.unit.test.d.ts +0 -2
- package/dist/__tests__/render-graph-primitives.unit.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-storage-indirect-gpu.d.ts +0 -12
- package/dist/__tests__/render-graph-storage-indirect-gpu.d.ts.map +0 -1
- package/dist/__tests__/render-graph-storage-indirect.browser.test.d.ts +0 -2
- package/dist/__tests__/render-graph-storage-indirect.browser.test.d.ts.map +0 -1
- package/dist/__tests__/render-graph-storage-indirect.dawn.test.d.ts +0 -2
- package/dist/__tests__/render-graph-storage-indirect.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/render-scene-projection.unit.test.d.ts +0 -2
- package/dist/__tests__/render-scene-projection.unit.test.d.ts.map +0 -1
- package/dist/__tests__/renderer-factory-material-contract.unit.test.d.ts +0 -2
- package/dist/__tests__/renderer-factory-material-contract.unit.test.d.ts.map +0 -1
- package/dist/__tests__/renderer-lifecycle.integration.test.d.ts +0 -2
- package/dist/__tests__/renderer-lifecycle.integration.test.d.ts.map +0 -1
- package/dist/__tests__/rhi-backend-package-boundary.unit.test.d.ts +0 -2
- package/dist/__tests__/rhi-backend-package-boundary.unit.test.d.ts.map +0 -1
- package/dist/__tests__/scriptable-pack-consumer.test-d.d.ts +0 -2
- package/dist/__tests__/scriptable-pack-consumer.test-d.d.ts.map +0 -1
- package/dist/__tests__/shader-stage-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/shader-stage-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/ssao-config.unit.test.d.ts +0 -2
- package/dist/__tests__/ssao-config.unit.test.d.ts.map +0 -1
- package/dist/__tests__/ssao-kernel-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/ssao-kernel-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts +0 -2
- package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts.map +0 -1
- package/dist/__tests__/standard-descriptors.test-d.d.ts +0 -2
- package/dist/__tests__/standard-descriptors.test-d.d.ts.map +0 -1
- package/dist/__tests__/standard-pipeline.dawn.test.d.ts +0 -2
- package/dist/__tests__/standard-pipeline.dawn.test.d.ts.map +0 -1
- package/dist/__tests__/standard-pipeline.integration.test.d.ts +0 -2
- package/dist/__tests__/standard-pipeline.integration.test.d.ts.map +0 -1
- package/dist/__tests__/standard-profile-oracle.unit.test.d.ts +0 -2
- package/dist/__tests__/standard-profile-oracle.unit.test.d.ts.map +0 -1
- package/dist/__tests__/surface-configuration.unit.test.d.ts +0 -2
- package/dist/__tests__/surface-configuration.unit.test.d.ts.map +0 -1
- package/dist/__tests__/texture-usage-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/texture-usage-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/typed-pipeline-topology.unit.test.d.ts +0 -2
- package/dist/__tests__/typed-pipeline-topology.unit.test.d.ts.map +0 -1
- package/dist/__tests__/urp-pipeline-targets.unit.test.d.ts +0 -2
- package/dist/__tests__/urp-pipeline-targets.unit.test.d.ts.map +0 -1
- package/dist/__tests__/urp-pipeline.unit.test.d.ts +0 -2
- package/dist/__tests__/urp-pipeline.unit.test.d.ts.map +0 -1
- package/dist/__tests__/vertex-color-pipeline.unit.test.d.ts +0 -2
- package/dist/__tests__/vertex-color-pipeline.unit.test.d.ts.map +0 -1
- package/dist/__tests__/vertex-layout-consumer.unit.test.d.ts +0 -2
- package/dist/__tests__/vertex-layout-consumer.unit.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-diagnostics.integration.test.d.ts +0 -2
- package/dist/__tests__/visibility-diagnostics.integration.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-extract.integration.test.d.ts +0 -2
- package/dist/__tests__/visibility-extract.integration.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-extract.perf.test.d.ts +0 -2
- package/dist/__tests__/visibility-extract.perf.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-feature-dedup.integration.test.d.ts +0 -2
- package/dist/__tests__/visibility-feature-dedup.integration.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-hidden-report.unit.test.d.ts +0 -2
- package/dist/__tests__/visibility-hidden-report.unit.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-instances.integration.test.d.ts +0 -2
- package/dist/__tests__/visibility-instances.integration.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-multi-world.integration.test.d.ts +0 -2
- package/dist/__tests__/visibility-multi-world.integration.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-producer-matrix.integration.test.d.ts +0 -2
- package/dist/__tests__/visibility-producer-matrix.integration.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-producer-matrix.unit.test.d.ts +0 -2
- package/dist/__tests__/visibility-producer-matrix.unit.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-public-surface.test-d.d.ts +0 -2
- package/dist/__tests__/visibility-public-surface.test-d.d.ts.map +0 -1
- package/dist/__tests__/visibility-resolver.unit.test.d.ts +0 -2
- package/dist/__tests__/visibility-resolver.unit.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts +0 -2
- package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts.map +0 -1
- package/dist/__tests__/visibility-snapshot-contract.unit.test.d.ts +0 -2
- package/dist/__tests__/visibility-snapshot-contract.unit.test.d.ts.map +0 -1
- package/dist/__tests__/vocabulary.unit.test.d.ts +0 -2
- package/dist/__tests__/vocabulary.unit.test.d.ts.map +0 -1
- package/dist/chunk-CQXZC5XI.mjs.map +0 -1
- package/dist/chunk-HCOGPHKS.mjs +0 -93
- package/dist/chunk-HCOGPHKS.mjs.map +0 -1
- package/dist/chunk-YEJIUW7D.mjs.map +0 -1
- package/dist/components/__tests__/points-lines-admission.unit.test.d.ts +0 -2
- package/dist/components/__tests__/points-lines-admission.unit.test.d.ts.map +0 -1
- package/dist/components/__tests__/points-lines-schema.unit.test.d.ts +0 -2
- package/dist/components/__tests__/points-lines-schema.unit.test.d.ts.map +0 -1
- package/dist/components/__tests__/schema-contract.unit.test.d.ts +0 -2
- package/dist/components/__tests__/schema-contract.unit.test.d.ts.map +0 -1
- package/dist/components/__tests__/schema-parity.unit.test.d.ts +0 -2
- package/dist/components/__tests__/schema-parity.unit.test.d.ts.map +0 -1
- package/dist/components/__tests__/visibility-schema.unit.test.d.ts +0 -2
- package/dist/components/__tests__/visibility-schema.unit.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/bounds.unit.test.d.ts +0 -2
- package/dist/points-lines/__tests__/bounds.unit.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts +0 -2
- package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts +0 -2
- package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/inspection.unit.test.d.ts +0 -2
- package/dist/points-lines/__tests__/inspection.unit.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts +0 -2
- package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/points-lines.bench.d.ts +0 -2
- package/dist/points-lines/__tests__/points-lines.bench.d.ts.map +0 -1
- package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts +0 -2
- package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/snapshot.unit.test.d.ts +0 -2
- package/dist/points-lines/__tests__/snapshot.unit.test.d.ts.map +0 -1
- package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts +0 -2
- package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/material-bg-cache.unit.test.d.ts +0 -2
- package/dist/record/__tests__/material-bg-cache.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/material-slot-plan.unit.test.d.ts +0 -2
- package/dist/record/__tests__/material-slot-plan.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts +0 -2
- package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts.map +0 -1
- package/dist/record/__tests__/video-texture-view.unit.test.d.ts +0 -2
- package/dist/record/__tests__/video-texture-view.unit.test.d.ts.map +0 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type Result } from '@forgeax/engine-types';
|
|
2
|
+
import type { CameraSnapshot } from '../render-contract';
|
|
3
|
+
import { type SceneDataContributor } from './coverage';
|
|
4
|
+
import { TaaHistoryStore } from './taa-history-store';
|
|
5
|
+
import { type TemporalView } from './temporal-view';
|
|
6
|
+
/** The only stages that may publish a temporal frame. */
|
|
7
|
+
export type TemporalFrameStage = 'build' | 'encode' | 'finish' | 'submit';
|
|
8
|
+
export type TemporalFrameErrorCode = 'taa-unavailable' | 'temporal-active' | 'temporal-not-active';
|
|
9
|
+
export interface TemporalFrameError {
|
|
10
|
+
readonly code: TemporalFrameErrorCode;
|
|
11
|
+
readonly expected: string;
|
|
12
|
+
readonly hint: string;
|
|
13
|
+
readonly detail?: Readonly<Record<string, unknown>>;
|
|
14
|
+
}
|
|
15
|
+
export interface TemporalFrameSnapshot<T = unknown> {
|
|
16
|
+
readonly epoch: number;
|
|
17
|
+
readonly previous: T | undefined;
|
|
18
|
+
readonly historyAttempt: 'none' | 'active' | 'committed' | 'aborted';
|
|
19
|
+
readonly attempt: 'none' | 'active' | 'committed' | 'aborted';
|
|
20
|
+
readonly lastFailure: TemporalFrameStage | undefined;
|
|
21
|
+
readonly coverage: {
|
|
22
|
+
readonly exactContributorIds: readonly string[];
|
|
23
|
+
readonly reactiveContributorIds: readonly string[];
|
|
24
|
+
readonly missingContributorIds: readonly string[];
|
|
25
|
+
readonly omittedMissingContributorCount: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface TemporalFrameBeginInput<T = unknown> {
|
|
29
|
+
readonly current: T;
|
|
30
|
+
readonly antialias: 'none' | 'fxaa' | 'msaa' | 'taa';
|
|
31
|
+
/** Enables the shared transaction for a temporal feature without TAA. */
|
|
32
|
+
readonly temporalDemand?: boolean;
|
|
33
|
+
readonly available?: boolean;
|
|
34
|
+
readonly contributors?: readonly SceneDataContributor[];
|
|
35
|
+
readonly requiredContributorIds?: readonly string[];
|
|
36
|
+
/** Projection produced before record uploads; it commits with the frame. */
|
|
37
|
+
readonly temporalView?: TemporalView;
|
|
38
|
+
}
|
|
39
|
+
export interface TemporalFrameCandidate<T = unknown> {
|
|
40
|
+
readonly epoch: number;
|
|
41
|
+
readonly current: T;
|
|
42
|
+
readonly previous: T | undefined;
|
|
43
|
+
readonly history: {
|
|
44
|
+
readonly direction: 'a-to-b' | 'b-to-a';
|
|
45
|
+
readonly valid: boolean;
|
|
46
|
+
};
|
|
47
|
+
readonly contributors: readonly SceneDataContributor[];
|
|
48
|
+
readonly requiredContributorIds: readonly string[];
|
|
49
|
+
readonly temporalView?: TemporalView;
|
|
50
|
+
}
|
|
51
|
+
export interface TemporalFramePhases<T = unknown> {
|
|
52
|
+
readonly build: () => T;
|
|
53
|
+
readonly encode: (built: T) => void;
|
|
54
|
+
readonly finish: () => void;
|
|
55
|
+
readonly submit: () => void;
|
|
56
|
+
}
|
|
57
|
+
export interface TemporalFrameReceipt<T = unknown> {
|
|
58
|
+
readonly epoch: number;
|
|
59
|
+
readonly previous: T;
|
|
60
|
+
readonly historyDirection: 'a-to-b' | 'b-to-a';
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Renderer-owned temporal transaction. It has no graph or backend dependency:
|
|
64
|
+
* graph assembly supplies the four phase callbacks and only submit publishes
|
|
65
|
+
* the candidate snapshot.
|
|
66
|
+
*/
|
|
67
|
+
export declare class TemporalFrameCoordinator<T = unknown> {
|
|
68
|
+
readonly historyStore: TaaHistoryStore;
|
|
69
|
+
private epoch;
|
|
70
|
+
private previous;
|
|
71
|
+
private active;
|
|
72
|
+
private attempt;
|
|
73
|
+
private historyAttempt;
|
|
74
|
+
private lastFailure;
|
|
75
|
+
private historyDirection;
|
|
76
|
+
private temporalFrameIndex;
|
|
77
|
+
private lastSubmittedView;
|
|
78
|
+
private coverage;
|
|
79
|
+
private readonly historyAttempts;
|
|
80
|
+
constructor(initial?: {
|
|
81
|
+
readonly epoch?: number;
|
|
82
|
+
readonly previous?: T;
|
|
83
|
+
readonly historyStore?: TaaHistoryStore;
|
|
84
|
+
});
|
|
85
|
+
begin(input: TemporalFrameBeginInput<T>): Result<TemporalFrameCandidate<T>, TemporalFrameError>;
|
|
86
|
+
commit(candidate: TemporalFrameCandidate<T>): Result<TemporalFrameReceipt<T>, TemporalFrameError>;
|
|
87
|
+
abort(candidate: TemporalFrameCandidate<T>, stage?: TemporalFrameStage): void;
|
|
88
|
+
run(input: TemporalFrameBeginInput<T>, phases: TemporalFramePhases<T>): Result<TemporalFrameReceipt<T> | undefined, TemporalFrameError>;
|
|
89
|
+
inspect(): TemporalFrameSnapshot<T>;
|
|
90
|
+
/**
|
|
91
|
+
* Derive the current/previous camera matrices without mutating history.
|
|
92
|
+
* `commit()` is the only operation that publishes the returned view, so a
|
|
93
|
+
* graph/finish/submit failure leaves the last successful view intact.
|
|
94
|
+
*/
|
|
95
|
+
prepareTemporalView(camera: CameraSnapshot, surfaceWidth: number, surfaceHeight: number): TemporalView | undefined;
|
|
96
|
+
reset(reason?: 'cut' | 'resize' | 'camera-switch' | 'detach' | 'recover' | 'device-loss' | 'device-generation'): void;
|
|
97
|
+
private stageFromError;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=frame-coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-coordinator.d.ts","sourceRoot":"","sources":["../../src/temporal/frame-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type Result } from '@forgeax/engine-types';
|
|
2
|
+
import { TemporalFrameSubmitError } from '../errors/render';
|
|
3
|
+
export type TemporalResetReason = 'none' | 'camera-cut' | 'resize' | 'signature-change' | 'depth-discontinuity' | 'out-of-screen' | 'queue-submit-failed' | 'device-recovery';
|
|
4
|
+
export interface TemporalFrameInput {
|
|
5
|
+
readonly frameId: number;
|
|
6
|
+
readonly currentViewProjection: Float32Array;
|
|
7
|
+
readonly jitter: readonly [number, number];
|
|
8
|
+
readonly viewport: {
|
|
9
|
+
readonly width: number;
|
|
10
|
+
readonly height: number;
|
|
11
|
+
};
|
|
12
|
+
/** Current camera origin, retained only as accepted temporal history. */
|
|
13
|
+
readonly cameraPosition?: readonly [number, number, number];
|
|
14
|
+
readonly resetReason?: Exclude<TemporalResetReason, 'none' | 'queue-submit-failed'>;
|
|
15
|
+
}
|
|
16
|
+
export interface TemporalFrame {
|
|
17
|
+
readonly frameId: number;
|
|
18
|
+
readonly currentViewProjection: Float32Array;
|
|
19
|
+
readonly previousViewProjection: Float32Array | undefined;
|
|
20
|
+
readonly jitter: readonly [number, number];
|
|
21
|
+
readonly viewport: {
|
|
22
|
+
readonly width: number;
|
|
23
|
+
readonly height: number;
|
|
24
|
+
};
|
|
25
|
+
readonly currentCameraPosition: readonly [number, number, number];
|
|
26
|
+
readonly previousCameraPosition: readonly [number, number, number] | undefined;
|
|
27
|
+
readonly resetReason: TemporalResetReason;
|
|
28
|
+
readonly historyEpoch: number;
|
|
29
|
+
readonly deviceEpoch: number;
|
|
30
|
+
}
|
|
31
|
+
export interface TemporalSubmitResult {
|
|
32
|
+
readonly accepted: boolean;
|
|
33
|
+
readonly reason?: 'queue-submit-failed';
|
|
34
|
+
readonly resetReason?: Exclude<TemporalResetReason, 'none' | 'queue-submit-failed'>;
|
|
35
|
+
}
|
|
36
|
+
export interface TemporalFrameTransaction {
|
|
37
|
+
stage(input: TemporalFrameInput): void;
|
|
38
|
+
commit(submit: TemporalSubmitResult): Result<TemporalFrame, TemporalFrameSubmitError>;
|
|
39
|
+
snapshot(): TemporalFrame;
|
|
40
|
+
}
|
|
41
|
+
export declare function createTemporalFrameTransaction(options: {
|
|
42
|
+
readonly deviceEpoch: number;
|
|
43
|
+
}): TemporalFrameTransaction;
|
|
44
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/temporal/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,YAAY,GACZ,QAAQ,GACR,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,qBAAqB,GACrB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAC7C,QAAQ,CAAC,sBAAsB,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,qBAAqB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/E,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;IACtF,QAAQ,IAAI,aAAa,CAAC;CAC3B;AAgCD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,wBAAwB,CA+C3B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { BindGroupLayout, Buffer, RhiDevice, RhiQueue, Sampler, Texture, TextureView } from '@forgeax/engine-rhi';
|
|
2
|
+
import type { DeviceScope } from '../device/device-scope';
|
|
3
|
+
import type { RenderFrameState } from '../record/frame-snapshot';
|
|
4
|
+
interface TemporalSurface {
|
|
5
|
+
readonly texture: Texture;
|
|
6
|
+
readonly view: TextureView;
|
|
7
|
+
}
|
|
8
|
+
export interface TemporalGpuState {
|
|
9
|
+
readonly device: RhiDevice;
|
|
10
|
+
readonly scope: DeviceScope;
|
|
11
|
+
readonly childScope: DeviceScope;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
valid: boolean;
|
|
15
|
+
readIndex: 0 | 1;
|
|
16
|
+
pendingIndex: 0 | 1 | undefined;
|
|
17
|
+
readonly color: [TemporalSurface, TemporalSurface];
|
|
18
|
+
readonly temporal: [TemporalSurface, TemporalSurface];
|
|
19
|
+
bindGroupLayout: BindGroupLayout | undefined;
|
|
20
|
+
sampler: Sampler | undefined;
|
|
21
|
+
paramsBuffer: Buffer | undefined;
|
|
22
|
+
committed: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function getTemporalParamsBuffer(state: TemporalGpuState): Buffer;
|
|
25
|
+
export declare function getTemporalGpuState(frameState: RenderFrameState, device: RhiDevice, scope: DeviceScope, width: number, height: number): TemporalGpuState;
|
|
26
|
+
export declare function getTemporalBindGroupResources(state: TemporalGpuState): {
|
|
27
|
+
readonly layout: BindGroupLayout;
|
|
28
|
+
readonly sampler: Sampler | null;
|
|
29
|
+
};
|
|
30
|
+
export declare function temporalReadIndex(state: TemporalGpuState): 0 | 1;
|
|
31
|
+
export declare function temporalWriteIndex(state: TemporalGpuState): 0 | 1;
|
|
32
|
+
export declare function stageTemporalGpuSubmit(state: TemporalGpuState): void;
|
|
33
|
+
export declare function hasPendingTemporalGpuSubmit(state: TemporalGpuState): boolean;
|
|
34
|
+
export declare function commitTemporalGpuSubmit(state: TemporalGpuState): boolean;
|
|
35
|
+
export declare function abortTemporalGpuSubmit(state: TemporalGpuState): void;
|
|
36
|
+
export declare function retireTemporalGpuState(state: TemporalGpuState): void;
|
|
37
|
+
export declare function retireTemporalGpuStateAfterFence(state: TemporalGpuState, queue: RhiQueue, retiring: Set<TemporalGpuState>, onFailure: (cause: unknown) => void): void;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=gpu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../../src/temporal/gpu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,UAAU,eAAe;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACtD,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAuED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAsBvE;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,gBAAgB,CAsBlB;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,gBAAgB,GAAG;IACtE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC,CA2DA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAEjE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE5E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAOxE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAQpE;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAC/B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAClC,IAAI,CAeN"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { DeviceScope, ResourceRef } from '../device/device-scope';
|
|
2
|
+
import { type TemporalCoverage } from './coverage';
|
|
3
|
+
import type { TemporalView } from './view';
|
|
4
|
+
export type TemporalProducer = 'rigid' | 'instance' | 'skin' | 'morph' | 'transparent' | 'vfx';
|
|
5
|
+
export type TemporalProducerState = Partial<Record<TemporalProducer, string>>;
|
|
6
|
+
export interface TemporalHistorySnapshot {
|
|
7
|
+
readonly historyValid: boolean;
|
|
8
|
+
readonly frameIndex: number;
|
|
9
|
+
readonly previous: TemporalProducerState;
|
|
10
|
+
readonly coverage: TemporalCoverage;
|
|
11
|
+
readonly resetReason: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
interface HistoryOptions {
|
|
14
|
+
readonly width: number;
|
|
15
|
+
readonly height: number;
|
|
16
|
+
readonly mode: 'off' | 'taa';
|
|
17
|
+
}
|
|
18
|
+
export declare class TemporalHistory {
|
|
19
|
+
readonly childScope: DeviceScope | undefined;
|
|
20
|
+
readonly coverage: TemporalCoverage;
|
|
21
|
+
readonly historyCount: number;
|
|
22
|
+
readonly historyBytes: number;
|
|
23
|
+
private readonly resources;
|
|
24
|
+
private current;
|
|
25
|
+
private pending;
|
|
26
|
+
private valid;
|
|
27
|
+
private index;
|
|
28
|
+
private resetReason;
|
|
29
|
+
constructor(scope: DeviceScope, options: HistoryOptions);
|
|
30
|
+
stage(view: TemporalView, producers: TemporalProducerState): void;
|
|
31
|
+
commit(): void;
|
|
32
|
+
abort(reason?: string): void;
|
|
33
|
+
snapshot(): TemporalHistorySnapshot;
|
|
34
|
+
get resourceRefs(): readonly ResourceRef<object>[];
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/temporal/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,KAAK,CAAC;AAC/F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;CAC9B;AAED,qBAAa,eAAe;IAC1B,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,WAAW,CAAqB;gBAE5B,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc;IA0BvD,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAMjE,MAAM,IAAI,IAAI;IAQd,KAAK,CAAC,MAAM,GAAE,MAAyB,GAAG,IAAI;IAK9C,QAAQ,IAAI,uBAAuB;IAUnC,IAAI,YAAY,IAAI,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,CAEjD;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './coverage';
|
|
2
|
+
export { TemporalFrameCoordinator } from './frame-coordinator';
|
|
3
|
+
export * from './scene-data';
|
|
4
|
+
export * from './scene-data-catalog';
|
|
5
|
+
export * from './standard-scene-data';
|
|
6
|
+
export * from './temporal-view';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/temporal/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { addStandardSceneDataPass, addTaaResolvePass, aggregateTemporalDemand, createStandardSceneDataTarget, describeTemporalDemand, standardTemporalLaneAdmission, standardTemporalPostOrder } from '../chunk-4XINDLAY.mjs';
|
|
2
|
+
import '../chunk-RXZ3RGOU.mjs';
|
|
3
|
+
export { SCENE_DATA_TEMPORAL_V1_DESCRIPTOR, SCENE_DATA_TEMPORAL_V1_SCHEMA, createSceneDataCatalog, isSceneDataTarget, registerSceneDataTarget, sceneDataError, sceneDataTargetAsAttachment, sceneDataTargetOwner, sceneDataTokenMismatch } from '../chunk-TBQJOK2L.mjs';
|
|
4
|
+
import '../chunk-VFPLTKCU.mjs';
|
|
5
|
+
export { TEMPORAL_JITTER_SAMPLE_COUNT, TemporalFrameCoordinator, classifySceneDataCoverage, createTemporalCoverage, projectTemporalView, scanSceneDataCoverage, snapshotSubmittedTemporalView, temporalJitterSample, temporalViewId } from '../chunk-PCHBPYML.mjs';
|
|
6
|
+
import '../chunk-M2MP4ZOU.mjs';
|
|
7
|
+
//# sourceMappingURL=index.mjs.map
|
|
8
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { TemporalGpuState } from './gpu';
|
|
2
|
+
import type { TemporalHistory } from './history';
|
|
3
|
+
import type { TemporalView } from './view';
|
|
4
|
+
export interface TemporalResourceInspection {
|
|
5
|
+
readonly active: number;
|
|
6
|
+
readonly candidate: number;
|
|
7
|
+
readonly retiring: number;
|
|
8
|
+
readonly activeBytes: number;
|
|
9
|
+
readonly candidateBytes: number;
|
|
10
|
+
readonly retiringBytes: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TemporalInspection {
|
|
13
|
+
readonly mode: 'none' | 'fxaa' | 'msaa' | 'taa';
|
|
14
|
+
/** Compatibility projection for temporal carriers; derived from this snapshot. */
|
|
15
|
+
readonly status: 'off' | 'first-frame' | 'stable' | 'reset' | 'aborted';
|
|
16
|
+
readonly historyAttempt: 'none' | 'active' | 'committed' | 'aborted';
|
|
17
|
+
readonly epoch: number;
|
|
18
|
+
readonly viewIdentity: string;
|
|
19
|
+
readonly historyValid: boolean;
|
|
20
|
+
readonly resetReason: string | undefined;
|
|
21
|
+
readonly frameIndex: number;
|
|
22
|
+
readonly historyBytes: number;
|
|
23
|
+
readonly coverage: {
|
|
24
|
+
readonly width: number;
|
|
25
|
+
readonly height: number;
|
|
26
|
+
};
|
|
27
|
+
readonly deviceGeneration: number;
|
|
28
|
+
readonly resources: TemporalResourceInspection;
|
|
29
|
+
}
|
|
30
|
+
export declare function inspectTemporal(view: TemporalView | undefined, history: TemporalHistory | undefined, options?: {
|
|
31
|
+
readonly active?: TemporalGpuState;
|
|
32
|
+
readonly candidate?: TemporalGpuState;
|
|
33
|
+
readonly retiring?: readonly TemporalGpuState[];
|
|
34
|
+
readonly deviceGeneration?: number;
|
|
35
|
+
}): TemporalInspection;
|
|
36
|
+
//# sourceMappingURL=inspection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/temporal/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAChD,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;CAChD;AAUD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC/B,GACL,kBAAkB,CAkDpB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type Result } from '@forgeax/engine-types';
|
|
2
|
+
import type { RenderError } from '../errors/render';
|
|
3
|
+
import { SCENE_DATA_TEMPORAL_V1_DESCRIPTOR, SCENE_DATA_TEMPORAL_V1_SCHEMA, type SceneDataLane, type SceneDataSchemaId, type SceneDataTarget } from './scene-data';
|
|
4
|
+
export type SceneDataAvailability = {
|
|
5
|
+
readonly status: 'available';
|
|
6
|
+
readonly completeness: 'exact' | 'exact-with-reactive-fallback';
|
|
7
|
+
} | {
|
|
8
|
+
readonly status: 'unavailable';
|
|
9
|
+
readonly reason: 'capability-missing' | 'producer-missing' | 'coverage-incomplete' | 'renderer-recovering';
|
|
10
|
+
};
|
|
11
|
+
export interface SceneDataInspection {
|
|
12
|
+
readonly schema: SceneDataSchemaId;
|
|
13
|
+
readonly status: SceneDataAvailability['status'];
|
|
14
|
+
readonly generation: number;
|
|
15
|
+
readonly planIdentity: string;
|
|
16
|
+
readonly lane: SceneDataLane;
|
|
17
|
+
readonly completeness?: 'exact' | 'exact-with-reactive-fallback';
|
|
18
|
+
readonly reason?: Exclude<SceneDataAvailability, {
|
|
19
|
+
status: 'available';
|
|
20
|
+
}>['reason'];
|
|
21
|
+
readonly missingContributorIds: readonly string[];
|
|
22
|
+
readonly omittedMissingContributorCount: number;
|
|
23
|
+
}
|
|
24
|
+
export interface SceneDataCatalogOptions {
|
|
25
|
+
readonly featureIdentity: string;
|
|
26
|
+
readonly generation: number;
|
|
27
|
+
readonly planIdentity: string;
|
|
28
|
+
readonly lane?: SceneDataLane;
|
|
29
|
+
readonly rgba16floatRenderable: boolean;
|
|
30
|
+
readonly producerPresent?: boolean;
|
|
31
|
+
readonly coverageComplete?: boolean;
|
|
32
|
+
readonly recovering?: boolean;
|
|
33
|
+
readonly reactiveFallback?: boolean;
|
|
34
|
+
readonly missingContributorIds?: readonly string[];
|
|
35
|
+
}
|
|
36
|
+
export interface SceneDataCatalog {
|
|
37
|
+
readonly schema: typeof SCENE_DATA_TEMPORAL_V1_SCHEMA;
|
|
38
|
+
readonly generation: number;
|
|
39
|
+
readonly planIdentity: string;
|
|
40
|
+
readonly availability: SceneDataAvailability;
|
|
41
|
+
require<Schema extends SceneDataSchemaId>(schema: Schema): SceneDataTarget<Schema>;
|
|
42
|
+
validate(target: SceneDataTarget, generation?: number): Result<SceneDataTarget, RenderError>;
|
|
43
|
+
inspect(): SceneDataInspection;
|
|
44
|
+
}
|
|
45
|
+
export declare function createSceneDataCatalog(options: SceneDataCatalogOptions): SceneDataCatalog;
|
|
46
|
+
export { SCENE_DATA_TEMPORAL_V1_SCHEMA } from './scene-data';
|
|
47
|
+
export { SCENE_DATA_TEMPORAL_V1_DESCRIPTOR };
|
|
48
|
+
//# sourceMappingURL=scene-data-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-data-catalog.d.ts","sourceRoot":"","sources":["../../src/temporal/scene-data-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAEL,iCAAiC,EACjC,6BAA6B,EAC7B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAC7B;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,8BAA8B,CAAC;CACjE,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EACX,oBAAoB,GACpB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,8BAA8B,CAAC;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpF,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IAClD,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;CACjD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,6BAA6B,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C,OAAO,CAAC,MAAM,SAAS,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAC7F,OAAO,IAAI,mBAAmB,CAAC;CAChC;AAmED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAoEzF;AAED,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type RenderError, RenderFeaturePreparedStateMismatchError } from '../errors/render';
|
|
2
|
+
import type { RenderFeatureTargetHandle } from '../features/targets';
|
|
3
|
+
/** The closed semantic schema namespace published by the render owner. */
|
|
4
|
+
export declare const SCENE_DATA_TEMPORAL_V1_SCHEMA: "forgeax::scene-data::temporal-v1";
|
|
5
|
+
export type SceneDataSchemaId = typeof SCENE_DATA_TEMPORAL_V1_SCHEMA;
|
|
6
|
+
export type SceneDataLane = 'direct' | 'clustered' | 'cpu-webgl2';
|
|
7
|
+
export interface SceneDataTemporalV1Descriptor {
|
|
8
|
+
readonly schema: typeof SCENE_DATA_TEMPORAL_V1_SCHEMA;
|
|
9
|
+
readonly format: 'rgba16float';
|
|
10
|
+
readonly sampleCount: 1;
|
|
11
|
+
readonly extent: 'render-resolution';
|
|
12
|
+
readonly clearValue: readonly [0, 0, -1, 1];
|
|
13
|
+
readonly channels: Readonly<{
|
|
14
|
+
readonly motionUv: 'rg';
|
|
15
|
+
readonly viewDepth: 'b-log2-1-plus-depth';
|
|
16
|
+
readonly reactive: 'a';
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export declare const SCENE_DATA_TEMPORAL_V1_DESCRIPTOR: SceneDataTemporalV1Descriptor;
|
|
20
|
+
/** Opaque, sampled-read-only semantic data token. */
|
|
21
|
+
export interface SceneDataTarget<Schema extends SceneDataSchemaId = SceneDataSchemaId> {
|
|
22
|
+
readonly kind: 'scene-data';
|
|
23
|
+
readonly schema: Schema;
|
|
24
|
+
readonly access: 'sampled-read';
|
|
25
|
+
readonly format: 'rgba16float';
|
|
26
|
+
readonly sampleCount: 1;
|
|
27
|
+
readonly extent: 'render-resolution';
|
|
28
|
+
readonly __sceneDataTarget: unique symbol;
|
|
29
|
+
}
|
|
30
|
+
export type SceneDataTokenMismatch = RenderFeaturePreparedStateMismatchError;
|
|
31
|
+
export interface SceneDataCatalogIdentity {
|
|
32
|
+
readonly featureIdentity: string;
|
|
33
|
+
readonly planIdentity: string;
|
|
34
|
+
readonly generation: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function registerSceneDataTarget(target: SceneDataTarget, owner: SceneDataCatalogIdentity): void;
|
|
37
|
+
export declare function sceneDataTargetOwner(target: SceneDataTarget): SceneDataCatalogIdentity | undefined;
|
|
38
|
+
export declare function sceneDataTokenMismatch(operation: string, reason: 'foreign-feature' | 'foreign-kind' | 'generation-mismatch' | 'layout-mismatch', owner: SceneDataCatalogIdentity, target: Partial<SceneDataTarget> | undefined): SceneDataTokenMismatch;
|
|
39
|
+
export declare function isSceneDataTarget(value: unknown): value is SceneDataTarget;
|
|
40
|
+
export declare function sceneDataTargetAsAttachment(_target: SceneDataTarget): never;
|
|
41
|
+
export type SceneDataTargetInput = RenderFeatureTargetHandle | SceneDataTarget;
|
|
42
|
+
export declare function sceneDataError(error: SceneDataTokenMismatch): RenderError;
|
|
43
|
+
//# sourceMappingURL=scene-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-data.d.ts","sourceRoot":"","sources":["../../src/temporal/scene-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,uCAAuC,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B,EAAG,kCAA2C,CAAC;AACzF,MAAM,MAAM,iBAAiB,GAAG,OAAO,6BAA6B,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;AAElE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,OAAO,6BAA6B,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,iCAAiC,EAAE,6BAW9C,CAAC;AAEH,qDAAqD;AACrD,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB;IACnF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,MAAM,CAAC;CAC3C;AAED,MAAM,MAAM,sBAAsB,GAAG,uCAAuC,CAAC;AAI7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,wBAAwB,GAC9B,IAAI,CAEN;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,GACtB,wBAAwB,GAAG,SAAS,CAEtC;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,iBAAiB,GAAG,cAAc,GAAG,qBAAqB,GAAG,iBAAiB,EACtF,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAC3C,sBAAsB,CAkDxB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAY1E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,KAAK,CAE3E;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,eAAe,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,WAAW,CAEzE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { RenderGraphBuilder, RenderGraphError } from '@forgeax/engine-render-graph';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import type { RenderPipelineFrame, RenderPipelineTarget } from '../render-pipeline';
|
|
4
|
+
export interface StandardTemporalDemandInput {
|
|
5
|
+
readonly taa: boolean;
|
|
6
|
+
readonly motionBlur: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface StandardTemporalDemand {
|
|
9
|
+
readonly consumerIds: readonly ('taa' | 'motion-blur')[];
|
|
10
|
+
readonly targetCount: 0 | 1;
|
|
11
|
+
readonly producerPassCount: 0 | 1;
|
|
12
|
+
readonly historyCount: 0 | 1;
|
|
13
|
+
}
|
|
14
|
+
export interface StandardTemporalDemandDescription {
|
|
15
|
+
readonly consumerCount: number;
|
|
16
|
+
readonly targetCount: 0 | 1;
|
|
17
|
+
readonly producerPassCount: 0 | 1;
|
|
18
|
+
readonly historyCount: 0 | 1;
|
|
19
|
+
readonly byteLength: 0 | 1;
|
|
20
|
+
}
|
|
21
|
+
/** Aggregate all temporal consumers before any graph resource is allocated. */
|
|
22
|
+
export declare function aggregateTemporalDemand(input: StandardTemporalDemandInput): StandardTemporalDemand;
|
|
23
|
+
export declare function describeTemporalDemand(demand: StandardTemporalDemand): StandardTemporalDemandDescription;
|
|
24
|
+
export type StandardTemporalLane = 'direct' | 'clustered' | 'cpu-webgl2' | 'rhi-null';
|
|
25
|
+
export type StandardTemporalLaneAdmission = {
|
|
26
|
+
readonly status: 'available';
|
|
27
|
+
readonly schema: typeof import('./scene-data').SCENE_DATA_TEMPORAL_V1_SCHEMA;
|
|
28
|
+
readonly producerId: 'forgeax::standard::scene-data';
|
|
29
|
+
readonly structuralOnly: boolean;
|
|
30
|
+
readonly format: 'rgba16float';
|
|
31
|
+
} | {
|
|
32
|
+
readonly status: 'unavailable';
|
|
33
|
+
readonly reason: 'capability-missing' | 'producer-missing' | 'no-demand';
|
|
34
|
+
readonly format?: never;
|
|
35
|
+
};
|
|
36
|
+
export declare function standardTemporalLaneAdmission(input: {
|
|
37
|
+
readonly lane: StandardTemporalLane;
|
|
38
|
+
readonly demand: StandardTemporalDemand;
|
|
39
|
+
readonly capabilities: {
|
|
40
|
+
readonly compute: boolean;
|
|
41
|
+
readonly storageBuffer: boolean;
|
|
42
|
+
readonly rgba16floatRenderable: boolean;
|
|
43
|
+
readonly filterable?: boolean;
|
|
44
|
+
readonly copy?: boolean;
|
|
45
|
+
readonly readback?: boolean;
|
|
46
|
+
readonly producerPresent?: boolean;
|
|
47
|
+
};
|
|
48
|
+
}): StandardTemporalLaneAdmission;
|
|
49
|
+
export declare function standardTemporalPostOrder(input: {
|
|
50
|
+
readonly taa: boolean;
|
|
51
|
+
readonly motionBlur: boolean;
|
|
52
|
+
readonly bloom: boolean;
|
|
53
|
+
}): readonly string[];
|
|
54
|
+
export interface StandardSceneDataTargets {
|
|
55
|
+
readonly temporal: RenderPipelineTarget;
|
|
56
|
+
}
|
|
57
|
+
/** The single Standard TAA current-frame producer target. */
|
|
58
|
+
export declare function createStandardSceneDataTarget(graph: RenderGraphBuilder<RenderPipelineFrame>): Result<StandardSceneDataTargets, RenderGraphError>;
|
|
59
|
+
export declare function addStandardSceneDataPass(graph: RenderGraphBuilder<RenderPipelineFrame>, target: RenderPipelineTarget, depth: RenderPipelineTarget): Result<void, RenderGraphError>;
|
|
60
|
+
export declare function addTaaResolvePass(graph: RenderGraphBuilder<RenderPipelineFrame>, current: RenderPipelineTarget, currentTemporal: RenderPipelineTarget, previousColor: RenderPipelineTarget, previousTemporal: RenderPipelineTarget, output: RenderPipelineTarget): Result<void, RenderGraphError>;
|
|
61
|
+
//# sourceMappingURL=standard-scene-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-scene-data.d.ts","sourceRoot":"","sources":["../../src/temporal/standard-scene-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RhiDevice, RhiError, Texture, TextureDescriptor, TextureView } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
export interface TaaHistorySlot {
|
|
4
|
+
readonly texture: Texture;
|
|
5
|
+
readonly view: TextureView;
|
|
6
|
+
}
|
|
7
|
+
export interface TaaHistoryResources {
|
|
8
|
+
readonly width: number;
|
|
9
|
+
readonly height: number;
|
|
10
|
+
readonly descriptor: TextureDescriptor;
|
|
11
|
+
readonly slots: readonly [TaaHistorySlot, TaaHistorySlot];
|
|
12
|
+
readonly temporalSlots: readonly [TaaHistorySlot, TaaHistorySlot];
|
|
13
|
+
readonly currentIndex: 0 | 1;
|
|
14
|
+
readonly previousIndex: 0 | 1;
|
|
15
|
+
readonly valid: boolean;
|
|
16
|
+
beginFrame(): void;
|
|
17
|
+
commitFrame(): void;
|
|
18
|
+
abortFrame(): void;
|
|
19
|
+
dispose(): void;
|
|
20
|
+
}
|
|
21
|
+
export declare function createTaaHistoryResources(device: RhiDevice, width: number, height: number): Result<TaaHistoryResources, RhiError>;
|
|
22
|
+
//# sourceMappingURL=taa-history-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taa-history-resources.d.ts","sourceRoot":"","sources":["../../src/temporal/taa-history-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAc7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAClE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,UAAU,IAAI,IAAI,CAAC;IACnB,WAAW,IAAI,IAAI,CAAC;IACpB,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAkFvC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type TaaHistoryResetReason = 'first-frame' | 'camera-cut' | 'resize' | 'recover' | 'device-generation';
|
|
2
|
+
export interface TaaHistoryInspection {
|
|
3
|
+
readonly generation: number;
|
|
4
|
+
readonly seed: number;
|
|
5
|
+
readonly attempt: 'none' | 'active' | 'committed' | 'aborted';
|
|
6
|
+
readonly valid: boolean;
|
|
7
|
+
readonly resetReason: TaaHistoryResetReason | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface TaaHistoryAttempt {
|
|
10
|
+
readonly generation: number;
|
|
11
|
+
readonly seed: number;
|
|
12
|
+
commit(): void;
|
|
13
|
+
abort(): void;
|
|
14
|
+
}
|
|
15
|
+
/** TAA-only history owner. No global registry or backend handle crosses this boundary. */
|
|
16
|
+
export declare class TaaHistoryStore {
|
|
17
|
+
private generation;
|
|
18
|
+
private seed;
|
|
19
|
+
private valid;
|
|
20
|
+
private attempt;
|
|
21
|
+
private resetReason;
|
|
22
|
+
begin(reason?: TaaHistoryResetReason | undefined): TaaHistoryAttempt;
|
|
23
|
+
seedHistory(reason?: TaaHistoryResetReason): void;
|
|
24
|
+
reset(reason: TaaHistoryResetReason): void;
|
|
25
|
+
inspect(): TaaHistoryInspection;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=taa-history-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taa-history-store.d.ts","sourceRoot":"","sources":["../../src/temporal/taa-history-store.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,mBAAmB,CAAC;AAExB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACf;AAED,0FAA0F;AAC1F,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAA2C;IAC1D,OAAO,CAAC,WAAW,CAAoC;IAEvD,KAAK,CAAC,MAAM,GAAE,qBAAqB,GAAG,SAAqB,GAAG,iBAAiB;IAyB/E,WAAW,CAAC,MAAM,GAAE,qBAAqC,GAAG,IAAI;IAMhE,KAAK,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAQ1C,OAAO,IAAI,oBAAoB;CAShC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RenderPipelineFeatureTarget, RenderPipelineTarget } from '../render-pipeline';
|
|
2
|
+
export interface TaaResolveInput {
|
|
3
|
+
readonly current: RenderPipelineFeatureTarget;
|
|
4
|
+
readonly temporal: RenderPipelineFeatureTarget;
|
|
5
|
+
readonly historyValid: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface TaaResolveInspection {
|
|
8
|
+
readonly applied: boolean;
|
|
9
|
+
readonly currentOnly: boolean;
|
|
10
|
+
readonly historyGeneration: number;
|
|
11
|
+
}
|
|
12
|
+
/** TAA resolve contract; graph encoding remains owned by Standard topology. */
|
|
13
|
+
export declare function resolveTaa(input: TaaResolveInput, historyGeneration: number): TaaResolveInspection;
|
|
14
|
+
export declare function taaOutputTarget(target: RenderPipelineFeatureTarget): RenderPipelineTarget;
|
|
15
|
+
//# sourceMappingURL=taa-resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taa-resolve.d.ts","sourceRoot":"","sources":["../../src/temporal/taa-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,EACtB,iBAAiB,EAAE,MAAM,GACxB,oBAAoB,CAMtB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,2BAA2B,GAAG,oBAAoB,CAOzF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { CameraProjection } from '../components/camera';
|
|
2
|
+
import type { CameraSnapshot } from '../render-contract';
|
|
3
|
+
export declare const TEMPORAL_JITTER_SAMPLE_COUNT = 8;
|
|
4
|
+
export type TemporalViewResetReason = 'first-frame' | 'camera-switch' | 'history-version-changed' | 'projection-kind-changed' | 'projection-range-changed';
|
|
5
|
+
export interface SubmittedTemporalView {
|
|
6
|
+
readonly viewId: string;
|
|
7
|
+
readonly historyVersion: number;
|
|
8
|
+
readonly projection: CameraProjection;
|
|
9
|
+
readonly near: number;
|
|
10
|
+
readonly far: number;
|
|
11
|
+
readonly jitterUv: readonly [number, number];
|
|
12
|
+
readonly unjitteredViewProjection: Float32Array;
|
|
13
|
+
}
|
|
14
|
+
export interface TemporalView {
|
|
15
|
+
readonly viewId: string;
|
|
16
|
+
readonly historyVersion: number;
|
|
17
|
+
readonly temporalFrameIndex: number;
|
|
18
|
+
readonly historyValid: boolean;
|
|
19
|
+
readonly resetReason: TemporalViewResetReason | undefined;
|
|
20
|
+
readonly currentJitterUv: readonly [number, number];
|
|
21
|
+
readonly previousJitterUv: readonly [number, number];
|
|
22
|
+
readonly currentJitteredViewProjection: Float32Array;
|
|
23
|
+
readonly currentUnjitteredViewProjection: Float32Array;
|
|
24
|
+
readonly previousUnjitteredViewProjection: Float32Array;
|
|
25
|
+
readonly projection: CameraProjection;
|
|
26
|
+
readonly near: number;
|
|
27
|
+
readonly far: number;
|
|
28
|
+
}
|
|
29
|
+
export interface TemporalViewInput {
|
|
30
|
+
readonly camera: CameraSnapshot;
|
|
31
|
+
readonly temporalFrameIndex: number;
|
|
32
|
+
readonly surfaceWidth: number;
|
|
33
|
+
readonly surfaceHeight: number;
|
|
34
|
+
readonly lastSubmitted?: SubmittedTemporalView;
|
|
35
|
+
}
|
|
36
|
+
export declare function temporalViewId(worldId: number, entityKey: number): string;
|
|
37
|
+
export declare function temporalJitterSample(temporalFrameIndex: number): readonly [number, number];
|
|
38
|
+
export declare function projectTemporalView(input: TemporalViewInput): TemporalView;
|
|
39
|
+
export declare function snapshotSubmittedTemporalView(view: TemporalView): SubmittedTemporalView;
|
|
40
|
+
//# sourceMappingURL=temporal-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal-view.d.ts","sourceRoot":"","sources":["../../src/temporal/temporal-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,MAAM,MAAM,uBAAuB,GAC/B,aAAa,GACb,eAAe,GACf,yBAAyB,GACzB,yBAAyB,GACzB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,wBAAwB,EAAE,YAAY,CAAC;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,6BAA6B,EAAE,YAAY,CAAC;IACrD,QAAQ,CAAC,+BAA+B,EAAE,YAAY,CAAC;IACvD,QAAQ,CAAC,gCAAgC,EAAE,YAAY,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;CAChD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKzE;AAcD,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAO1F;AA8CD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAqC1E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,YAAY,GAAG,qBAAqB,CAUvF"}
|