@forgeax/engine-render 0.1.32 → 0.1.34
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 +1374 -142
- package/dist/assembly/analytic-fog-registration.d.ts +3 -0
- package/dist/assembly/analytic-fog-registration.d.ts.map +1 -0
- package/dist/assembly/backend-contract.d.ts +2 -0
- package/dist/assembly/backend-contract.d.ts.map +1 -1
- package/dist/assembly/barrel-distortion-inspection.d.ts +3 -0
- package/dist/assembly/barrel-distortion-inspection.d.ts.map +1 -0
- package/dist/assembly/canvas-draw-guard.d.ts +3 -0
- package/dist/assembly/canvas-draw-guard.d.ts.map +1 -0
- package/dist/assembly/cloud-shadow-entry.d.ts +4 -0
- package/dist/assembly/cloud-shadow-entry.d.ts.map +1 -0
- package/dist/assembly/dynamic-geometry-host.d.ts +4 -1
- package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
- package/dist/assembly/dynamic-geometry-runtime.d.ts +1 -1
- package/dist/assembly/dynamic-geometry-runtime.d.ts.map +1 -1
- package/dist/assembly/factory.d.ts +1 -1
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/fxaa-registration.d.ts +4 -0
- package/dist/assembly/fxaa-registration.d.ts.map +1 -0
- package/dist/assembly/host-contract.d.ts +3 -3
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/lod-observation.d.ts +4 -0
- package/dist/assembly/lod-observation.d.ts.map +1 -0
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/pipeline-helpers.d.ts +5 -0
- package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -1
- package/dist/assembly/material-shader-policy.d.ts +16 -2
- package/dist/assembly/material-shader-policy.d.ts.map +1 -1
- package/dist/assembly/material-shader-prewarm.d.ts.map +1 -1
- package/dist/assembly/motion-blur-registration.d.ts +3 -0
- package/dist/assembly/motion-blur-registration.d.ts.map +1 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
- package/dist/assembly/recovery/renderer-recover.d.ts +2 -0
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
- package/dist/assembly/render-feature-post-processes.d.ts +6 -0
- package/dist/assembly/render-feature-post-processes.d.ts.map +1 -0
- package/dist/assembly/renderer-facade.d.ts.map +1 -1
- package/dist/assembly/renderer-feature-inspection.d.ts +1 -1
- package/dist/assembly/renderer-feature-inspection.d.ts.map +1 -1
- package/dist/assembly/renderer-frame-transaction.d.ts +12 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-inspection.d.ts +11 -0
- package/dist/assembly/renderer-inspection.d.ts.map +1 -1
- package/dist/assembly/temporal-post-process-prewarm.d.ts +13 -0
- package/dist/assembly/temporal-post-process-prewarm.d.ts.map +1 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts +1 -0
- package/dist/assembly/webgpu-pbr-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-ready-contract.d.ts +4 -3
- package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -1
- package/dist/assembly/webgpu-ready-per-pass.d.ts +39 -0
- package/dist/assembly/webgpu-ready-per-pass.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +2 -2
- package/dist/assembly/webgpu-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer-bootstrap.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer-observation-owner.d.ts +35 -0
- package/dist/assembly/webgpu-renderer-observation-owner.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +1 -1
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
- package/dist/authoring.mjs +1 -1
- package/dist/barrel-distortion.d.ts +47 -0
- package/dist/barrel-distortion.d.ts.map +1 -0
- package/dist/bloom-admission.d.ts +13 -0
- package/dist/bloom-admission.d.ts.map +1 -0
- package/dist/{chunk-PA5DRJNI.mjs → chunk-ELJFJ2BU.mjs} +2 -2
- package/dist/chunk-ELJFJ2BU.mjs.map +1 -0
- package/dist/{chunk-JCIRYQ4V.mjs → chunk-HEB564WF.mjs} +10 -4
- package/dist/chunk-HEB564WF.mjs.map +1 -0
- package/dist/{chunk-JRIPCMYC.mjs → chunk-MKDIT2EM.mjs} +1584 -375
- package/dist/chunk-MKDIT2EM.mjs.map +1 -0
- package/dist/{chunk-S665NJNF.mjs → chunk-OCDLEI6I.mjs} +3 -3
- package/dist/{chunk-S665NJNF.mjs.map → chunk-OCDLEI6I.mjs.map} +1 -1
- package/dist/chunk-ODZWR6JQ.mjs +4927 -0
- package/dist/chunk-ODZWR6JQ.mjs.map +1 -0
- package/dist/{chunk-DRR7D3KX.mjs → chunk-SHFUFJ5N.mjs} +192 -18
- package/dist/chunk-SHFUFJ5N.mjs.map +1 -0
- package/dist/{chunk-4NNZQCL3.mjs → chunk-UI5SFODX.mjs} +223 -277
- package/dist/chunk-UI5SFODX.mjs.map +1 -0
- package/dist/{chunk-GWCEMDVR.mjs → chunk-UINHLCZA.mjs} +787 -80
- package/dist/chunk-UINHLCZA.mjs.map +1 -0
- package/dist/{chunk-6TFBXLRJ.mjs → chunk-WEX45HKH.mjs} +222 -337
- package/dist/chunk-WEX45HKH.mjs.map +1 -0
- package/dist/cloud/density.d.ts +55 -0
- package/dist/cloud/density.d.ts.map +1 -0
- package/dist/cloud/extract.d.ts +25 -0
- package/dist/cloud/extract.d.ts.map +1 -0
- package/dist/cloud/feature.d.ts +57 -0
- package/dist/cloud/feature.d.ts.map +1 -0
- package/dist/cloud/frame-context.d.ts +8 -0
- package/dist/cloud/frame-context.d.ts.map +1 -0
- package/dist/cloud/inspection.d.ts +59 -0
- package/dist/cloud/inspection.d.ts.map +1 -0
- package/dist/cloud/optics.d.ts +56 -0
- package/dist/cloud/optics.d.ts.map +1 -0
- package/dist/cloud/parameters.d.ts +73 -0
- package/dist/cloud/parameters.d.ts.map +1 -0
- package/dist/cloud/resources.d.ts +60 -0
- package/dist/cloud/resources.d.ts.map +1 -0
- package/dist/cloud/shadow.d.ts +42 -0
- package/dist/cloud/shadow.d.ts.map +1 -0
- package/dist/cloud/temporal.d.ts +74 -0
- package/dist/cloud/temporal.d.ts.map +1 -0
- package/dist/components/atmosphere.d.ts +2 -0
- package/dist/components/atmosphere.d.ts.map +1 -1
- package/dist/components/barrel-distortion.d.ts +13 -0
- package/dist/components/barrel-distortion.d.ts.map +1 -0
- package/dist/components/camera.d.ts +20 -4
- package/dist/components/camera.d.ts.map +1 -1
- package/dist/components/cloud-layer.d.ts +29 -0
- package/dist/components/cloud-layer.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/instances.d.ts +20 -6
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/components/mesh-filter.d.ts +6 -5
- package/dist/components/mesh-filter.d.ts.map +1 -1
- package/dist/components/motion-blur.d.ts +1 -0
- package/dist/components/motion-blur.d.ts.map +1 -1
- package/dist/construct-renderer.d.ts +1 -1
- package/dist/construct-renderer.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +9751 -3528
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/gpu-residency.d.ts +6 -0
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/dynamic-geometry.d.ts +5 -1
- package/dist/dynamic-geometry.d.ts.map +1 -1
- package/dist/environment/analytic-fog.d.ts +6 -0
- package/dist/environment/analytic-fog.d.ts.map +1 -0
- package/dist/errors/cloud.d.ts +59 -0
- package/dist/errors/cloud.d.ts.map +1 -0
- package/dist/errors/render.d.ts +23 -5
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/examples/single-layer-medium-surface.d.ts +47 -0
- package/dist/examples/single-layer-medium-surface.d.ts.map +1 -0
- package/dist/extract/camera.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +12 -1
- package/dist/extract/contracts.d.ts.map +1 -1
- package/dist/extract/environment.d.ts +2 -0
- package/dist/extract/environment.d.ts.map +1 -1
- package/dist/features/barrel-distortion.d.ts +29 -0
- package/dist/features/barrel-distortion.d.ts.map +1 -0
- package/dist/features/error-reporting.d.ts +17 -0
- package/dist/features/error-reporting.d.ts.map +1 -0
- package/dist/features/host.d.ts +15 -0
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/motion-blur/motion-blur-feature.d.ts +20 -2
- package/dist/features/motion-blur/motion-blur-feature.d.ts.map +1 -1
- package/dist/features/motion-blur/motion-blur-params.d.ts +21 -0
- package/dist/features/motion-blur/motion-blur-params.d.ts.map +1 -1
- package/dist/features/motion-blur/motion-blur-runtime.d.ts +54 -0
- package/dist/features/motion-blur/motion-blur-runtime.d.ts.map +1 -0
- package/dist/features/plan.d.ts +15 -4
- package/dist/features/plan.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +9 -5
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/render-graph-compute.d.ts.map +1 -1
- package/dist/features/render-graph-contribution.d.ts +5 -0
- package/dist/features/render-graph-contribution.d.ts.map +1 -1
- package/dist/features/render-graph-raster.d.ts +1 -0
- package/dist/features/render-graph-raster.d.ts.map +1 -1
- package/dist/features/targets.d.ts +2 -0
- package/dist/features/targets.d.ts.map +1 -1
- package/dist/features/types.d.ts +44 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/fullscreen-post-process-pass.d.ts +15 -7
- package/dist/fullscreen-post-process-pass.d.ts.map +1 -1
- package/dist/gpu-dirty-ranges.d.ts +11 -0
- package/dist/gpu-dirty-ranges.d.ts.map +1 -0
- package/dist/gpu-driven/batch-topology.d.ts +17 -0
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/material-artifacts.d.ts +6 -0
- package/dist/gpu-driven/material-artifacts.d.ts.map +1 -1
- package/dist/gpu-driven/prepared-draw.d.ts +7 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster-material.d.ts +178 -0
- package/dist/gpu-driven/production-raster-material.d.ts.map +1 -0
- package/dist/gpu-driven/production-raster.d.ts +50 -4
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-driven/resource-allocation.d.ts +31 -0
- package/dist/gpu-driven/resource-allocation.d.ts.map +1 -0
- package/dist/gpu-driven/shadow-ownership.d.ts +14 -0
- package/dist/gpu-driven/shadow-ownership.d.ts.map +1 -0
- package/dist/gpu-driven/view-gpu.d.ts +35 -2
- package/dist/gpu-driven/view-gpu.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +11 -1
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +2 -2
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +10 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +31 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +258 -8
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +178 -3
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/instance-buffer-cache.d.ts +4 -4
- package/dist/instance-buffer-cache.d.ts.map +1 -1
- package/dist/instances.d.ts +49 -94
- package/dist/instances.d.ts.map +1 -1
- package/dist/internal.mjs +7 -7
- package/dist/pbr-pipeline.d.ts +19 -1
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/single-layer-medium-passes.d.ts +73 -0
- package/dist/pipeline/single-layer-medium-passes.d.ts.map +1 -0
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-output/graph.d.ts.map +1 -1
- package/dist/pipeline/standard-output/types.d.ts +4 -2
- package/dist/pipeline/standard-output/types.d.ts.map +1 -1
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts +28 -19
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +1 -1
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts +2 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/prepare/prepared-graphics-resolver.d.ts +2 -0
- package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -1
- package/dist/record/barrel-distortion-frame.d.ts +15 -0
- package/dist/record/barrel-distortion-frame.d.ts.map +1 -0
- package/dist/record/dynamic-geometry-consumption.d.ts +10 -2
- package/dist/record/dynamic-geometry-consumption.d.ts.map +1 -1
- package/dist/record/fold-buckets.d.ts +95 -0
- package/dist/record/fold-buckets.d.ts.map +1 -0
- package/dist/record/fold-instance-buffer.d.ts +6 -0
- package/dist/record/fold-instance-buffer.d.ts.map +1 -0
- package/dist/record/frame-lighting.d.ts +1 -0
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +40 -3
- 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 +14 -62
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/gpu-draw-receipts.d.ts +11 -0
- package/dist/record/gpu-draw-receipts.d.ts.map +1 -0
- package/dist/record/gpu-timing.d.ts +8 -0
- package/dist/record/gpu-timing.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +21 -5
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +7 -1
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass-sprite-draws.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts +13 -2
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +6 -5
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/motion-blur-receipt.d.ts +11 -0
- package/dist/record/motion-blur-receipt.d.ts.map +1 -0
- package/dist/record/probe-blend-buffer.d.ts +16 -0
- package/dist/record/probe-blend-buffer.d.ts.map +1 -0
- package/dist/record/recovery-pipeline.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +34 -31
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts +2 -0
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/skybox-post-pass.d.ts +6 -4
- package/dist/record/skybox-post-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +22 -2
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/record/view-ubo.d.ts +11 -3
- package/dist/record/view-ubo.d.ts.map +1 -1
- package/dist/record/volume-params.d.ts +9 -0
- package/dist/record/volume-params.d.ts.map +1 -0
- package/dist/recovery/render-system-candidate.d.ts +10 -0
- package/dist/recovery/render-system-candidate.d.ts.map +1 -1
- package/dist/reflection/record-owner.d.ts.map +1 -1
- package/dist/render-contract.d.ts +66 -8
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-graph-primitives.d.ts.map +1 -1
- package/dist/render-pipeline.d.ts +106 -3
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +3 -2
- package/dist/render-system-extract-tail.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +24 -10
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system-presentation.d.ts +23 -0
- package/dist/render-system-presentation.d.ts.map +1 -0
- package/dist/render-system-producer-roots.d.ts +10 -0
- package/dist/render-system-producer-roots.d.ts.map +1 -0
- package/dist/render-system-residency.d.ts +12 -0
- package/dist/render-system-residency.d.ts.map +1 -0
- package/dist/render-system.d.ts +26 -15
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/probe-blend.d.ts +27 -0
- package/dist/scene/probe-blend.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +14 -5
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/ssao-buffers.d.ts +9 -0
- package/dist/ssao-buffers.d.ts.map +1 -1
- package/dist/surface/dynamic-input.d.ts +133 -0
- package/dist/surface/dynamic-input.d.ts.map +1 -0
- package/dist/surface/gpu-driven.d.ts +41 -0
- package/dist/surface/gpu-driven.d.ts.map +1 -0
- package/dist/surface/submission-observation.d.ts +136 -0
- package/dist/surface/submission-observation.d.ts.map +1 -0
- package/dist/systems/skin-palette-allocator.d.ts.map +1 -1
- package/dist/temporal/frame-coordinator.d.ts.map +1 -1
- package/dist/temporal/frame.d.ts +7 -0
- package/dist/temporal/frame.d.ts.map +1 -1
- package/dist/temporal/gpu.d.ts +13 -1
- package/dist/temporal/gpu.d.ts.map +1 -1
- package/dist/temporal/index.mjs +5 -5
- package/dist/temporal/inspection.d.ts.map +1 -1
- package/dist/temporal/standard-scene-data.d.ts.map +1 -1
- package/dist/temporal/target-coverage-attachment.d.ts.map +1 -1
- package/dist/temporal/view.d.ts +6 -1
- package/dist/temporal/view.d.ts.map +1 -1
- package/dist/transmission/single-layer-medium.d.ts +89 -0
- package/dist/transmission/single-layer-medium.d.ts.map +1 -0
- package/dist/typed-render-graph-primitives.d.ts +24 -9
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/volume/component.d.ts +9 -5
- package/dist/volume/component.d.ts.map +1 -1
- package/dist/volume/extract.d.ts +1 -1
- package/dist/volume/extract.d.ts.map +1 -1
- package/dist/volume/inspection.d.ts +2 -0
- package/dist/volume/inspection.d.ts.map +1 -1
- package/dist/volume/passes.d.ts +4 -1
- package/dist/volume/passes.d.ts.map +1 -1
- package/dist/volume/resources.d.ts.map +1 -1
- package/dist/volume/temporal.d.ts +3 -1
- package/dist/volume/temporal.d.ts.map +1 -1
- package/package.json +22 -21
- package/src/__tests__/analytic-fog-graph.unit.test.ts +199 -0
- package/src/__tests__/analytic-fog-optics.unit.test.ts +38 -0
- package/src/__tests__/atmosphere-daylight.dawn.test.ts +72 -0
- package/src/__tests__/barrel-distortion-lkg.integration.test.ts +353 -0
- package/src/__tests__/barrel-distortion.dawn.test.ts +41 -0
- package/src/__tests__/barrel-distortion.unit.test.ts +364 -0
- package/src/__tests__/bloom-exact-zero.unit.test.ts +112 -18
- package/src/__tests__/bloom-lifecycle.integration.test.ts +17 -4
- package/src/__tests__/construct-renderer-identity.unit.test.ts +49 -0
- package/src/__tests__/detached-recovery-graph.unit.test.ts +277 -0
- package/src/__tests__/device-loss-fanout.unit.test.ts +36 -1
- package/src/__tests__/docs-gate-green.unit.test.ts +112 -1
- package/src/__tests__/dynamic-resolution-plugin.integration.test.ts +20 -0
- package/src/__tests__/environment-fog-lanes.integration.test.ts +14 -0
- package/src/__tests__/environment-selection.unit.test.ts +12 -0
- package/src/__tests__/factory-contract.integration.test.ts +626 -113
- package/src/__tests__/feature-depth-input.dawn.test.ts +129 -2
- package/src/__tests__/frame-camera-selection.unit.test.ts +39 -1
- package/src/__tests__/frame-plan-contract.unit.test.ts +2 -0
- package/src/__tests__/fullscreen-feature-plan.unit.test.ts +14 -3
- package/src/__tests__/gpu-dirty-ranges.unit.test.ts +22 -0
- package/src/__tests__/gpu-driven-baseline.characterization.test.ts +16 -3
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +12 -0
- package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +2 -1
- package/src/__tests__/gpu-driven-material-artifacts.unit.test.ts +143 -0
- package/src/__tests__/gpu-driven-pbr.dawn.test.ts +2 -2
- package/src/__tests__/gpu-driven-production.integration.test.ts +482 -3
- package/src/__tests__/gpu-driven-shadow-views.dawn.test.ts +7 -6
- package/src/__tests__/gpu-driven-shadow-views.integration.test.ts +1 -1
- package/src/__tests__/gpu-driven-view-gpu-evidence.ts +103 -4
- package/src/__tests__/gpu-driven-view-graph.integration.test.ts +18 -2
- package/src/__tests__/gpu-driven-view.browser.test.ts +5 -8
- package/src/__tests__/gpu-driven-view.dawn.test.ts +6 -2
- package/src/__tests__/gpu-driven-view.unit.test.ts +1 -1
- package/src/__tests__/gpu-pass-timing-lifecycle.integration.test.ts +1 -0
- package/src/__tests__/gpu-pass-timing.browser.test.ts +6 -4
- package/src/__tests__/gpu-pass-timing.rhi-null.unit.test.ts +1 -0
- package/src/__tests__/gpu-resource-store-stride.unit.test.ts +12 -0
- package/src/__tests__/gpu-scene.unit.test.ts +210 -9
- package/src/__tests__/instance-allocation-failure.unit.test.ts +57 -0
- package/src/__tests__/instances-culling.integration.test.ts +10 -36
- package/src/__tests__/instances-store.unit.test.ts +105 -238
- package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
- package/src/__tests__/main-pass-material-medium-selection.unit.test.ts +146 -0
- package/src/__tests__/material-shader-prewarm.unit.test.ts +59 -0
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +39 -1
- package/src/__tests__/mesh-submission-lifetime.unit.test.ts +31 -0
- package/src/__tests__/morph-culling-reentry.dawn.test.ts +5 -5
- package/src/__tests__/morph-visual-evidence.integration.test.ts +8 -7
- package/src/__tests__/motion-blur-compute.dawn.test.ts +589 -0
- package/src/__tests__/motion-blur.pixel.integration.test.ts +2 -2
- package/src/__tests__/nineslice-handle-surface.unit.test.ts +4 -4
- package/src/__tests__/pbr-view-layout.unit.test.ts +9 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +58 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +21 -0
- package/src/__tests__/prepared-graphics-capability.unit.test.ts +66 -2
- package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +86 -0
- package/src/__tests__/probe-bindings.unit.test.ts +582 -1
- package/src/__tests__/probe-scene-dirty.integration.test.ts +28 -1
- package/src/__tests__/public-surface.test-d.ts +8 -0
- package/src/__tests__/receipt-observation-retirement.unit.test.ts +65 -0
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +69 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +9 -0
- package/src/__tests__/render-feature-diagnostics.unit.test.ts +15 -2
- package/src/__tests__/render-feature-error-reporting.unit.test.ts +44 -0
- package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +10 -1
- package/src/__tests__/render-feature-retry.unit.test.ts +12 -1
- package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +23 -0
- package/src/__tests__/render-scene-mixed-updates.integration.test.ts +145 -19
- package/src/__tests__/render-scene-projection.unit.test.ts +36 -11
- package/src/__tests__/render-scene-temporal-retry.unit.test.ts +37 -6
- package/src/__tests__/render-target-probe-soak.perf.test.ts +2 -2
- package/src/__tests__/render-temporal-environment-consumer.browser.test.ts +3 -3
- package/src/__tests__/render-temporal-environment-consumer.dawn.test.ts +5 -2
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +41 -7
- package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +16 -0
- package/src/__tests__/renderer-frame-transaction.integration.test.ts +33 -11
- package/src/__tests__/resource-allocation.unit.test.ts +123 -0
- package/src/__tests__/shader-manifest-fixture.ts +4 -4
- package/src/__tests__/single-layer-medium-passes.unit.test.ts +275 -0
- package/src/__tests__/skin-motion-regression.unit.test.ts +70 -1
- package/src/__tests__/skin-palette-recycling.dawn.test.ts +97 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +17 -0
- package/src/__tests__/ssr-carrier-public-contract.unit.test.ts +21 -0
- package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +4 -4
- package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +2 -2
- package/src/__tests__/ssr-gpu-dispatch.ts +1 -1
- package/src/__tests__/ssr-receiver-coverage.dawn.test.ts +6 -2
- package/src/__tests__/standard-lighting-write.unit.test.ts +2 -1
- package/src/__tests__/standard-output-chain-contract.unit.test.ts +28 -0
- package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +46 -1
- package/src/__tests__/standard-pipeline.dawn.test.ts +1 -1
- package/src/__tests__/standard-pipeline.integration.test.ts +200 -9
- package/src/__tests__/surface-dynamic-buffer-lifecycle.unit.test.ts +506 -0
- package/src/__tests__/surface-submission-observation.unit.test.ts +812 -0
- package/src/__tests__/temporal-history-lifecycle.unit.test.ts +32 -0
- package/src/__tests__/temporal-performance.integration.test.ts +3 -3
- package/src/__tests__/temporal-reset-matrix.unit.test.ts +10 -0
- package/src/__tests__/temporal-view.unit.test.ts +2 -1
- package/src/__tests__/typed-pipeline-topology.unit.test.ts +20 -4
- package/src/__tests__/visibility-instances.integration.test.ts +7 -19
- package/src/__tests__/visibility-producer-matrix.integration.test.ts +9 -20
- package/src/__tests__/volume-optics-oracle.unit.test.ts +7 -3
- package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +189 -15
- package/src/__tests__/volumetric-fog-errors.unit.test.ts +4 -3
- package/src/__tests__/volumetric-fog-multiple.unit.test.ts +55 -0
- package/src/__tests__/volumetric-fog-spot-frame-optics.integration.test.ts +1 -1
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +558 -68
- package/src/__tests__/volumetric-fog-temporal.unit.test.ts +27 -0
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +23 -5
- package/src/assembly/analytic-fog-registration.ts +14 -0
- package/src/assembly/backend-contract.ts +30 -0
- package/src/assembly/barrel-distortion-inspection.ts +22 -0
- package/src/assembly/canvas-draw-guard.ts +11 -0
- package/src/assembly/cloud-shadow-entry.ts +22 -0
- package/src/assembly/dynamic-geometry-host.ts +65 -37
- package/src/assembly/dynamic-geometry-runtime.ts +7 -1
- package/src/assembly/factory.ts +2 -30
- package/src/assembly/fxaa-registration.ts +17 -0
- package/src/assembly/host-contract.ts +3 -3
- package/src/assembly/lod-observation.ts +12 -0
- package/src/assembly/material/assembly.ts +25 -13
- package/src/assembly/material/pipeline-helpers.ts +53 -12
- package/src/assembly/material-shader-policy.ts +55 -0
- package/src/assembly/material-shader-prewarm.ts +21 -10
- package/src/assembly/motion-blur-registration.ts +17 -0
- package/src/assembly/recovery/device-loss-fanout.ts +13 -0
- package/src/assembly/recovery/renderer-recover.ts +41 -18
- package/src/assembly/render-feature-post-processes.ts +54 -0
- package/src/assembly/renderer-facade.ts +6 -1
- package/src/assembly/renderer-feature-inspection.ts +8 -2
- package/src/assembly/renderer-frame-transaction.ts +23 -0
- package/src/assembly/renderer-inspection.ts +28 -0
- package/src/assembly/skin-palette-owner.ts +1 -1
- package/src/assembly/temporal-post-process-prewarm.ts +40 -0
- package/src/assembly/webgpu-pbr-ready.ts +9 -1
- package/src/assembly/webgpu-ready-contract.ts +8 -3
- package/src/assembly/webgpu-ready-per-pass.ts +104 -0
- package/src/assembly/webgpu-ready.ts +296 -306
- package/src/assembly/webgpu-renderer-bootstrap.ts +0 -12
- package/src/assembly/webgpu-renderer-observation-owner.ts +222 -0
- package/src/assembly/webgpu-renderer.ts +228 -281
- package/src/assembly/webgpu-vertex-layouts.ts +1 -1
- package/src/barrel-distortion.ts +247 -0
- package/src/bloom-admission.ts +21 -0
- package/src/cloud/__tests__/cloud-density-parity.dawn.test.ts +173 -0
- package/src/cloud/__tests__/cloud-layer-framebuffer-y.dawn.test.ts +265 -0
- package/src/cloud/__tests__/cloud-layer.browser.test.ts +432 -0
- package/src/cloud/__tests__/cloud-layer.unit.test.ts +634 -0
- package/src/cloud/density.ts +600 -0
- package/src/cloud/extract.ts +110 -0
- package/src/cloud/feature.ts +1810 -0
- package/src/cloud/frame-context.ts +42 -0
- package/src/cloud/inspection.ts +130 -0
- package/src/cloud/optics.ts +285 -0
- package/src/cloud/parameters.ts +255 -0
- package/src/cloud/resources.ts +122 -0
- package/src/cloud/shadow.ts +167 -0
- package/src/cloud/temporal.ts +226 -0
- package/src/components/__tests__/motion-blur.unit.test.ts +1 -0
- package/src/components/atmosphere.ts +4 -0
- package/src/components/barrel-distortion.ts +46 -0
- package/src/components/camera.ts +66 -10
- package/src/components/cloud-layer.ts +47 -0
- package/src/components/index.ts +2 -0
- package/src/components/instances.ts +18 -45
- package/src/components/mesh-filter.ts +11 -9
- package/src/components/motion-blur.ts +1 -0
- package/src/components/sprite-instances.ts +1 -1
- package/src/construct-renderer.ts +1 -1
- package/src/device/gpu-residency.ts +56 -12
- package/src/dynamic-geometry.ts +12 -1
- package/src/environment/analytic-fog.ts +44 -0
- package/src/environment/background.ts +2 -2
- package/src/errors/cloud.ts +103 -0
- package/src/errors/render.ts +58 -8
- package/src/examples/single-layer-medium-surface.ts +59 -0
- package/src/extract/camera.ts +35 -8
- package/src/extract/contracts.ts +12 -0
- package/src/extract/environment.ts +4 -0
- package/src/features/barrel-distortion.ts +172 -0
- package/src/features/error-reporting.ts +98 -0
- package/src/features/host.ts +138 -24
- package/src/features/motion-blur/__tests__/motion-blur-feature.unit.test.ts +111 -1
- package/src/features/motion-blur/__tests__/motion-blur-params.unit.test.ts +58 -3
- package/src/features/motion-blur/motion-blur-feature.ts +1519 -15
- package/src/features/motion-blur/motion-blur-params.ts +70 -2
- package/src/features/motion-blur/motion-blur-runtime.ts +176 -0
- package/src/features/plan.ts +33 -8
- package/src/features/prepared-gpu-work.ts +86 -35
- package/src/features/render-graph-compute.ts +13 -5
- package/src/features/render-graph-contribution.ts +11 -0
- package/src/features/render-graph-raster.ts +45 -3
- package/src/features/targets.ts +66 -0
- package/src/features/types.ts +47 -0
- package/src/fullscreen-post-process-pass.ts +41 -9
- package/src/gpu-dirty-ranges.ts +48 -0
- package/src/gpu-driven/batch-topology.ts +53 -0
- package/src/gpu-driven/material-artifacts.ts +35 -32
- package/src/gpu-driven/prepared-draw.ts +27 -14
- package/src/gpu-driven/production-raster-material.ts +1894 -0
- package/src/gpu-driven/production-raster.ts +904 -787
- package/src/gpu-driven/resource-allocation.ts +142 -0
- package/src/gpu-driven/shadow-ownership.ts +71 -0
- package/src/gpu-driven/view-gpu.ts +181 -10
- package/src/gpu-scene.ts +259 -101
- package/src/hdrp-buffers.ts +4 -3
- package/src/ibl/skylight-bind-group.ts +49 -7
- package/src/index.ts +228 -9
- package/src/inspection-types.ts +222 -2
- package/src/instance-buffer-cache.ts +4 -4
- package/src/instances.ts +151 -492
- package/src/pbr-pipeline.ts +219 -13
- package/src/pipeline/single-layer-medium-passes.ts +267 -0
- package/src/pipeline/standard-forward-lane.ts +313 -57
- package/src/pipeline/standard-output/graph.ts +8 -2
- package/src/pipeline/standard-output/types.ts +12 -1
- package/src/pipeline/standard-pipeline.ts +291 -18
- package/src/pipeline/standard-post.ts +397 -102
- package/src/pipeline-builder.ts +1 -1
- package/src/pipeline-spec.ts +5 -5
- package/src/plugin.ts +4 -0
- package/src/points-lines/__tests__/points-lines.bench.ts +17 -8
- package/src/points-lines/__tests__/view-ubo.unit.test.ts +2 -1
- package/src/prepare/prepared-graphics-resolver.ts +2 -0
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +30 -0
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +1 -1
- package/src/record/__tests__/temporal-payload.unit.test.ts +3 -2
- package/src/record/__tests__/transparent-group2-selection.unit.test.ts +11 -0
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -0
- package/src/record/__tests__/view-ubo-layout.unit.test.ts +4 -3
- package/src/record/barrel-distortion-frame.ts +110 -0
- package/src/record/dynamic-geometry-consumption.ts +39 -9
- package/src/record/fold-buckets.ts +852 -0
- package/src/record/fold-instance-buffer.ts +51 -0
- package/src/record/frame-lighting.ts +36 -2
- package/src/record/frame-snapshot.ts +44 -4
- package/src/record/frame-targets.ts +10 -6
- package/src/record/frame.ts +373 -1099
- package/src/record/gpu-draw-receipts.ts +38 -0
- package/src/record/gpu-timing.ts +48 -5
- package/src/record/main-pass-geometry.ts +281 -83
- package/src/record/main-pass-material.ts +66 -4
- package/src/record/main-pass-sprite-draws.ts +13 -66
- package/src/record/main-pass.ts +156 -20
- package/src/record/mesh-ssbo.ts +43 -6
- package/src/record/motion-blur-receipt.ts +91 -0
- package/src/record/probe-blend-buffer.ts +180 -0
- package/src/record/recovery-pipeline.ts +35 -3
- package/src/record/render-context.ts +51 -31
- package/src/record/shadow-pass.ts +36 -2
- package/src/record/skybox-post-pass.ts +150 -200
- package/src/record/typed-frame-graph.ts +824 -44
- package/src/record/view-ubo.ts +26 -3
- package/src/record/volume-params.ts +225 -0
- package/src/recovery/render-system-candidate.ts +257 -52
- package/src/reflection/record-owner.ts +7 -3
- package/src/render-contract.ts +71 -8
- package/src/render-graph-primitives.ts +7 -1
- package/src/render-pipeline.ts +136 -1
- package/src/render-system-extract-tail.ts +72 -60
- package/src/render-system-extract.ts +117 -87
- package/src/render-system-presentation.ts +56 -0
- package/src/render-system-producer-roots.ts +96 -0
- package/src/render-system-residency.ts +159 -0
- package/src/render-system.ts +601 -482
- package/src/scene/probe-blend.ts +96 -4
- package/src/scene/render-scene.ts +431 -281
- package/src/ssao-buffers.ts +95 -2
- package/src/surface/__tests__/dynamic-input.unit.test.ts +374 -0
- package/src/surface/__tests__/gpu-driven.unit.test.ts +87 -0
- package/src/surface/dynamic-input.ts +658 -0
- package/src/surface/gpu-driven.ts +147 -0
- package/src/surface/submission-observation.ts +517 -0
- package/src/systems/skin-palette-allocator.ts +4 -1
- package/src/temporal/__tests__/temporal-frame-transaction.unit.test.ts +36 -0
- package/src/temporal/frame-coordinator.ts +8 -1
- package/src/temporal/frame.ts +20 -0
- package/src/temporal/gpu.ts +101 -17
- package/src/temporal/inspection.ts +7 -1
- package/src/temporal/standard-scene-data.ts +5 -0
- package/src/temporal/target-coverage-attachment.ts +4 -0
- package/src/temporal/view.ts +13 -2
- package/src/transmission/__tests__/single-layer-medium.unit.test.ts +149 -0
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +12 -11
- package/src/transmission/single-layer-medium.ts +322 -0
- package/src/typed-render-graph-primitives.ts +191 -50
- package/src/volume/component.ts +10 -10
- package/src/volume/extract.ts +11 -5
- package/src/volume/inspection.ts +3 -0
- package/src/volume/passes.ts +95 -8
- package/src/volume/resources.ts +2 -1
- package/src/volume/temporal.ts +11 -0
- package/dist/chunk-4NNZQCL3.mjs.map +0 -1
- package/dist/chunk-6TFBXLRJ.mjs.map +0 -1
- package/dist/chunk-DRR7D3KX.mjs.map +0 -1
- package/dist/chunk-GWCEMDVR.mjs.map +0 -1
- package/dist/chunk-JCIRYQ4V.mjs.map +0 -1
- package/dist/chunk-JRIPCMYC.mjs.map +0 -1
- package/dist/chunk-LULCA3OF.mjs +0 -1713
- package/dist/chunk-LULCA3OF.mjs.map +0 -1
- package/dist/chunk-PA5DRJNI.mjs.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { CloudDensityCache } from './density';
|
|
2
|
+
import type { CloudShadowProjection } from './shadow';
|
|
3
|
+
import type { CloudHistory } from './temporal';
|
|
4
|
+
/** Evidence level for bytes owned by the prepared GPU path. */
|
|
5
|
+
export type CloudGpuResourceEvidence = 'unavailable' | 'declared' | 'measured';
|
|
6
|
+
/** rgba16float is four 16-bit channels (8 bytes per texel). */
|
|
7
|
+
export declare const CLOUD_RGBA16FLOAT_BYTES_PER_TEXEL = 8;
|
|
8
|
+
/** Two ping-pong surfaces for each of radiance/transmittance/depth. */
|
|
9
|
+
export declare const CLOUD_HISTORY_SURFACE_COUNT = 6;
|
|
10
|
+
export interface CloudLayerResourceFacts {
|
|
11
|
+
readonly generation: number;
|
|
12
|
+
/** CPU-side packed formation payload; this is not GPU residency. */
|
|
13
|
+
readonly cacheBytes: number;
|
|
14
|
+
/** Measured GPU bytes, or zero when no prepared-owner receipt was supplied. */
|
|
15
|
+
readonly shadowBytes: number;
|
|
16
|
+
readonly historyBytes: number;
|
|
17
|
+
readonly inFlightBytes: number;
|
|
18
|
+
readonly residentBytes: number;
|
|
19
|
+
readonly resourceCount: number;
|
|
20
|
+
/** Whether the GPU byte fields are measured, only graph-declared, or unknown. */
|
|
21
|
+
readonly gpuEvidence: CloudGpuResourceEvidence;
|
|
22
|
+
/** Descriptor-derived allocation sizes, independent from physical residency. */
|
|
23
|
+
readonly declaredShadowBytes: number;
|
|
24
|
+
readonly declaredHistoryBytes: number;
|
|
25
|
+
readonly declaredResidentBytes: number;
|
|
26
|
+
readonly declaredResourceCount: number;
|
|
27
|
+
/** Measured GPU resource count, kept separate from logical declarations. */
|
|
28
|
+
readonly measuredGpuResourceCount: number;
|
|
29
|
+
readonly cacheResolution: number;
|
|
30
|
+
readonly shadowResolution: number;
|
|
31
|
+
}
|
|
32
|
+
export interface CloudLayerResourceInputs {
|
|
33
|
+
readonly generation: number;
|
|
34
|
+
readonly cache?: CloudDensityCache;
|
|
35
|
+
readonly shadow?: CloudShadowProjection;
|
|
36
|
+
readonly history?: CloudHistory;
|
|
37
|
+
/** Bytes reported by the prepared GPU owner; absent means unavailable. */
|
|
38
|
+
readonly shadowBytes?: number;
|
|
39
|
+
readonly historyBytes?: number;
|
|
40
|
+
readonly inFlightBytes?: number;
|
|
41
|
+
}
|
|
42
|
+
/** Derive one inspection receipt from the resources owned by the current generation. */
|
|
43
|
+
export declare function inspectCloudLayerResources(input: CloudLayerResourceInputs): CloudLayerResourceFacts;
|
|
44
|
+
export interface CloudLayerGeneration {
|
|
45
|
+
readonly generation: number;
|
|
46
|
+
readonly sourceKey: string;
|
|
47
|
+
readonly resourceFacts: CloudLayerResourceFacts;
|
|
48
|
+
readonly status: 'candidate' | 'active' | 'lkg' | 'retiring';
|
|
49
|
+
}
|
|
50
|
+
/** Candidate -> active transition used by the renderer's existing graph owner. */
|
|
51
|
+
export declare function acceptCloudLayerGeneration(candidate: CloudLayerGeneration, previous: CloudLayerGeneration | undefined): {
|
|
52
|
+
readonly active: CloudLayerGeneration;
|
|
53
|
+
readonly lkg: CloudLayerGeneration | undefined;
|
|
54
|
+
};
|
|
55
|
+
/** A failed candidate never replaces the LKG; retirement is fence-owned by Render. */
|
|
56
|
+
export declare function retainCloudLayerAfterFailure(active: CloudLayerGeneration | undefined, candidate: CloudLayerGeneration): {
|
|
57
|
+
readonly active: CloudLayerGeneration | undefined;
|
|
58
|
+
readonly retiring: CloudLayerGeneration;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/cloud/resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,+DAA+D;AAC/D,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/E,+DAA+D;AAC/D,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wFAAwF;AACxF,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,wBAAwB,GAC9B,uBAAuB,CA0CzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;CAC9D;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC;IAAE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,SAAS,CAAA;CAAE,CAM3F;AAED,sFAAsF;AACtF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,SAAS,EAAE,oBAAoB,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,CAKhG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { CloudDensityCache } from './density';
|
|
2
|
+
import type { ValidatedCloudLayer } from './parameters';
|
|
3
|
+
export interface CloudShadowProjection {
|
|
4
|
+
readonly revision: number;
|
|
5
|
+
readonly resolution: number;
|
|
6
|
+
readonly range: number;
|
|
7
|
+
readonly texelSize: number;
|
|
8
|
+
readonly center: readonly [number, number, number];
|
|
9
|
+
readonly origin: readonly [number, number, number];
|
|
10
|
+
readonly right: readonly [number, number, number];
|
|
11
|
+
readonly up: readonly [number, number, number];
|
|
12
|
+
readonly sunDirection: readonly [number, number, number];
|
|
13
|
+
readonly lowSun: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface CloudShadowSample {
|
|
16
|
+
readonly transmittance: number;
|
|
17
|
+
readonly uv: readonly [number, number] | undefined;
|
|
18
|
+
readonly valid: boolean;
|
|
19
|
+
readonly fallback: 'none' | 'low-sun' | 'outside-range' | 'empty-coverage';
|
|
20
|
+
readonly revision: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Build a camera-independent light-space projection. The center is a world
|
|
24
|
+
* anchor chosen by Render (usually the active scene bounds), and is snapped to
|
|
25
|
+
* one texel so camera motion cannot crawl the cloud shadow.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createCloudShadowProjection(input: {
|
|
28
|
+
readonly center: readonly [number, number, number];
|
|
29
|
+
readonly sunDirection: readonly [number, number, number];
|
|
30
|
+
readonly range: number;
|
|
31
|
+
readonly resolution?: number;
|
|
32
|
+
}): CloudShadowProjection;
|
|
33
|
+
export declare function projectCloudShadowUv(projection: CloudShadowProjection, position: readonly [number, number, number]): {
|
|
34
|
+
readonly uv: readonly [number, number];
|
|
35
|
+
readonly inRange: boolean;
|
|
36
|
+
};
|
|
37
|
+
/** Evaluate the stable world-space shadow term used by surface and volume sun paths. */
|
|
38
|
+
export declare function sampleCloudShadow(params: ValidatedCloudLayer, projection: CloudShadowProjection, worldPosition: readonly [number, number, number], options?: {
|
|
39
|
+
readonly cache?: CloudDensityCache;
|
|
40
|
+
readonly timeSeconds?: number;
|
|
41
|
+
}): CloudShadowSample;
|
|
42
|
+
//# sourceMappingURL=shadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../src/cloud/shadow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAqCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,qBAAqB,CA+BxB;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,qBAAqB,EACjC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC1C;IAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAUvE;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,qBAAqB,EACjC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAChD,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClF,iBAAiB,CA0CnB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { CloudQuality } from '../components/cloud-layer';
|
|
2
|
+
export type CloudTemporalResetReason = 'authoring-generation' | 'camera-cut' | 'resize' | 'recovery' | 'time-discontinuity' | 'cloud-shadow-revision' | 'device-generation' | 'history-missing' | 'reprojection-outside' | 'scene-depth-disocclusion';
|
|
3
|
+
export interface CloudTemporalSignature {
|
|
4
|
+
readonly sourceKey: string;
|
|
5
|
+
readonly viewId: string;
|
|
6
|
+
readonly authoringGeneration: number;
|
|
7
|
+
readonly cloudShadowRevision: number;
|
|
8
|
+
readonly cameraRevision: number;
|
|
9
|
+
readonly deviceGeneration: number;
|
|
10
|
+
readonly width: number;
|
|
11
|
+
readonly height: number;
|
|
12
|
+
readonly timeSeconds: number;
|
|
13
|
+
readonly quality: CloudQuality;
|
|
14
|
+
/** Scene-depth producer revision used to reject disoccluded history. */
|
|
15
|
+
readonly sceneDepthVersion?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface CloudHistory {
|
|
18
|
+
readonly width: number;
|
|
19
|
+
readonly height: number;
|
|
20
|
+
readonly signature: string;
|
|
21
|
+
readonly temporal: CloudTemporalSignature;
|
|
22
|
+
readonly generation: number;
|
|
23
|
+
readonly valid: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface CloudTemporalDecision {
|
|
26
|
+
readonly reset: boolean;
|
|
27
|
+
readonly reasons: readonly CloudTemporalResetReason[];
|
|
28
|
+
readonly signature: string;
|
|
29
|
+
readonly history: CloudHistory | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface CloudTemporalFrame {
|
|
32
|
+
readonly signature: CloudTemporalSignature;
|
|
33
|
+
readonly history: CloudHistory | undefined;
|
|
34
|
+
readonly reset: boolean;
|
|
35
|
+
readonly reasons: readonly CloudTemporalResetReason[];
|
|
36
|
+
}
|
|
37
|
+
export interface CloudHistoryReprojectionInput {
|
|
38
|
+
readonly currentDepth: number;
|
|
39
|
+
readonly historyDepth: number;
|
|
40
|
+
readonly motion: readonly [number, number];
|
|
41
|
+
readonly currentPixel: readonly [number, number];
|
|
42
|
+
readonly historySize: readonly [number, number];
|
|
43
|
+
readonly depthTolerance?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface CloudHistoryReprojection {
|
|
46
|
+
readonly accepted: boolean;
|
|
47
|
+
readonly historyUv: readonly [number, number];
|
|
48
|
+
readonly weight: number;
|
|
49
|
+
readonly reason: 'accepted' | 'outside' | 'depth-disocclusion';
|
|
50
|
+
}
|
|
51
|
+
export declare function cloudTemporalSignature(input: CloudTemporalSignature): string;
|
|
52
|
+
/** Compare the facts that make a cloud history safe to reuse. */
|
|
53
|
+
export declare function cloudTemporalResetReasons(previous: CloudTemporalSignature | undefined, next: CloudTemporalSignature, options?: {
|
|
54
|
+
readonly cameraCut?: boolean;
|
|
55
|
+
readonly recovery?: boolean;
|
|
56
|
+
}): readonly CloudTemporalResetReason[];
|
|
57
|
+
export declare function createCloudHistory(signature: CloudTemporalSignature, generation: number, valid?: boolean): CloudHistory;
|
|
58
|
+
/** Per-view histories are keyed by the renderer's view identity. */
|
|
59
|
+
export declare class CloudHistoryStore {
|
|
60
|
+
private readonly maxViews;
|
|
61
|
+
private readonly entries;
|
|
62
|
+
constructor(maxViews?: number);
|
|
63
|
+
begin(signature: CloudTemporalSignature, options?: {
|
|
64
|
+
readonly cameraCut?: boolean;
|
|
65
|
+
readonly recovery?: boolean;
|
|
66
|
+
}): CloudTemporalDecision;
|
|
67
|
+
commit(signature: CloudTemporalSignature, history: CloudHistory): void;
|
|
68
|
+
reset(viewId?: string): void;
|
|
69
|
+
get(viewId: string): CloudHistory | undefined;
|
|
70
|
+
dispose(): void;
|
|
71
|
+
}
|
|
72
|
+
/** Project one current pixel into the previous cloud history. */
|
|
73
|
+
export declare function reprojectCloudHistory(input: CloudHistoryReprojectionInput, historyWeight?: number): CloudHistoryReprojection;
|
|
74
|
+
//# sourceMappingURL=temporal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal.d.ts","sourceRoot":"","sources":["../../src/cloud/temporal.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,7 @@ export declare const Atmosphere: import("@forgeax/engine-ecs").Component<"Atmosp
|
|
|
5
5
|
readonly mieCoefficient: "f32";
|
|
6
6
|
readonly mieDirectionalG: "f32";
|
|
7
7
|
readonly sunAngularRadius: "f32";
|
|
8
|
+
readonly circumsolarStrength: "f32";
|
|
9
|
+
readonly circumsolarWidth: "f32";
|
|
8
10
|
}>;
|
|
9
11
|
//# sourceMappingURL=atmosphere.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atmosphere.d.ts","sourceRoot":"","sources":["../../src/components/atmosphere.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"atmosphere.d.ts","sourceRoot":"","sources":["../../src/components/atmosphere.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,eAAO,MAAM,UAAU;;;;;;;;EAUrB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type SchemaOf, type ShapeOf } from '@forgeax/engine-ecs';
|
|
2
|
+
import { type Result } from '@forgeax/engine-types';
|
|
3
|
+
import { BarrelDistortionInvalidParameterError } from '../errors/render';
|
|
4
|
+
/** Camera companion that applies the bounded first-order barrel model. */
|
|
5
|
+
export declare const BarrelDistortion: import("@forgeax/engine-ecs").Component<"BarrelDistortion", {
|
|
6
|
+
readonly strength: "f32";
|
|
7
|
+
readonly centerX: "f32";
|
|
8
|
+
readonly centerY: "f32";
|
|
9
|
+
}>;
|
|
10
|
+
export type BarrelDistortionData = ShapeOf<SchemaOf<typeof BarrelDistortion>>;
|
|
11
|
+
/** Validate and detach camera-owned barrel authoring data. */
|
|
12
|
+
export declare function validateBarrelDistortionParameters(input: Partial<BarrelDistortionData> | undefined): Result<BarrelDistortionData, BarrelDistortionInvalidParameterError>;
|
|
13
|
+
//# sourceMappingURL=barrel-distortion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barrel-distortion.d.ts","sourceRoot":"","sources":["../../src/components/barrel-distortion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAgB9E,8DAA8D;AAC9D,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,GAC/C,MAAM,CAAC,oBAAoB,EAAE,qCAAqC,CAAC,CAerE"}
|
|
@@ -145,7 +145,7 @@ export declare function antialiasFromF32(value: number): Antialias;
|
|
|
145
145
|
*
|
|
146
146
|
* Two members:
|
|
147
147
|
* `'off'` - default; no bloom post-processing (zero-overhead opt-out path)
|
|
148
|
-
* `'on'` -
|
|
148
|
+
* `'on'` - five-level HDR extraction/downsample/tent-upsample pipeline
|
|
149
149
|
*
|
|
150
150
|
* Bloom is a discrete enum (0/1) — illegal values fail-fast with the closed
|
|
151
151
|
* CameraError contract (charter P3), matching antialiasFromF32 precedent.
|
|
@@ -155,11 +155,25 @@ export type BloomEnabled = 'off' | 'on';
|
|
|
155
155
|
export declare const BLOOM_DISABLED = 0;
|
|
156
156
|
/** Numeric encoding of bloom enabled (schema value for `bloom`). */
|
|
157
157
|
export declare const BLOOM_ENABLED = 1;
|
|
158
|
+
/** Bloom intensity is a linear HDR add-back multiplier. */
|
|
159
|
+
export declare const CAMERA_BLOOM_INTENSITY_MIN = 0;
|
|
160
|
+
export declare const CAMERA_BLOOM_INTENSITY_MAX = 8;
|
|
161
|
+
/** Bloom threshold is expressed in scene-linear Rec.709 luminance. */
|
|
162
|
+
export declare const CAMERA_BLOOM_THRESHOLD_MIN = 0;
|
|
163
|
+
export declare const CAMERA_BLOOM_THRESHOLD_MAX = 65504;
|
|
164
|
+
/** Soft-knee transition width relative to the threshold. */
|
|
165
|
+
export declare const CAMERA_BLOOM_SOFT_KNEE_MIN = 0;
|
|
166
|
+
export declare const CAMERA_BLOOM_SOFT_KNEE_MAX = 1;
|
|
167
|
+
/** Coarse pyramid contribution. This is a blend, not a blur radius. */
|
|
168
|
+
export declare const CAMERA_BLOOM_SCATTER_MIN = 0;
|
|
169
|
+
export declare const CAMERA_BLOOM_SCATTER_MAX = 0.95;
|
|
158
170
|
/**
|
|
159
171
|
* Map a `camera.bloom` numeric value to the closed `BloomEnabled` string-literal
|
|
160
172
|
* union. Invalid values fail-fast with structured error (charter P3).
|
|
161
173
|
*/
|
|
162
174
|
export declare function bloomEnabledFromF32(value: number): BloomEnabled;
|
|
175
|
+
/** Validate the complete Camera-owned Bloom contract at the extract boundary. */
|
|
176
|
+
export declare function validateCameraBloom(bloom: number, threshold: number, intensity: number, softKnee: number, scatter: number): BloomEnabled;
|
|
163
177
|
/**
|
|
164
178
|
* Camera projection parameters (perspective + orthographic variants) +
|
|
165
179
|
* tonemap trio (mode + exposure + whitePoint).
|
|
@@ -193,8 +207,9 @@ export declare function bloomEnabledFromF32(value: number): BloomEnabled;
|
|
|
193
207
|
* N>1 fires 'render-system-multi-camera' + uses first). Multi-viewport is
|
|
194
208
|
* OOS (see feat-future-multi-viewport). The orthographic path reuses the
|
|
195
209
|
* same near / far as the perspective path — both variants share the single
|
|
196
|
-
* Camera archetype (
|
|
197
|
-
* the `clearColor` array<f32,4> column
|
|
210
|
+
* Camera archetype (30 schema fields, including the Bloom controls, one
|
|
211
|
+
* historyVersion u32 column, the `clearColor` array<f32,4> column, and the
|
|
212
|
+
* `autoAspect` bool column).
|
|
198
213
|
*
|
|
199
214
|
* @example Perspective camera at (0, 0, 3) looking down -Z (zero-config tonemap):
|
|
200
215
|
* world.spawn(
|
|
@@ -260,7 +275,8 @@ export declare const Camera: import("@forgeax/engine-ecs").Component<"Camera", {
|
|
|
260
275
|
readonly bloom: "f32";
|
|
261
276
|
readonly bloomThreshold: "f32";
|
|
262
277
|
readonly bloomIntensity: "f32";
|
|
263
|
-
readonly
|
|
278
|
+
readonly bloomSoftKnee: "f32";
|
|
279
|
+
readonly bloomScatter: "f32";
|
|
264
280
|
readonly target: "shared<RenderTarget>";
|
|
265
281
|
readonly clearColor: "array<f32, 4>";
|
|
266
282
|
readonly autoAspect: "bool";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/components/camera.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/components/camera.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAmB,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9D,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;CACrD,CAAC;AAEN,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,+CAA+C;AAC/C,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GACvB,yBAAyB,GACzB,8BAA8B,GAC9B,8BAA8B,GAC9B,wBAAwB,GACxB,0BAA0B,GAC1B,sBAAsB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,8EAA8E;AAC9E,qBAAa,WAAW,CAAC,IAAI,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,KAAK;IACpF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAQ/F;AAyBD,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAqD/E;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAgCN;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAEvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,OAAO,GACf,MAAM,GACN,mBAAmB,GACnB,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,KAAK,GACL,SAAS,CAAC;AAEd,+EAA+E;AAC/E,eAAO,MAAM,YAAY,GAA2B,CAAC;AACrD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAuC,CAAC;AAC9E,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,GAA+B,CAAC;AAC7D,6EAA6E;AAC7E,eAAO,MAAM,cAAc,GAA6B,CAAC;AACzD,+DAA+D;AAC/D,eAAO,MAAM,cAAc,GAA6B,CAAC;AACzD,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,GAAiC,CAAC;AAClE,6EAA6E;AAC7E,eAAO,MAAM,WAAW,GAA0B,CAAC;AACnD,gEAAgE;AAChE,eAAO,MAAM,eAAe,GAA8B,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAmBrD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CA0BlD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,6EAA6E;AAC7E,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,0FAA0F;AAC1F,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,iFAAiF;AACjF,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAYzD;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;AAExC,qEAAqE;AACrE,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,oEAAoE;AACpE,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAU/D;AAcD,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,YAAY,CAsBd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDjB,CAAC;AAQH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC;AAC1D,KAAK,SAAS,GAAG,UAAU,CAAC;AAE5B,wEAAwE;AACxE,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC,GAC5F,cAAc,CAoBhB;AA2ED,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAclE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,sBAAsB,GAAG,SAAS,CAcpE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type SchemaOf, type ShapeOf } from '@forgeax/engine-ecs';
|
|
2
|
+
/** Closed quality lane for the renderer-owned procedural cloud producer. */
|
|
3
|
+
export type CloudQuality = 'low' | 'medium' | 'high';
|
|
4
|
+
export declare const CloudQualityValue: Readonly<{
|
|
5
|
+
readonly low: 0;
|
|
6
|
+
readonly medium: 1;
|
|
7
|
+
readonly high: 2;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* A single World-authored cloud layer.
|
|
11
|
+
*
|
|
12
|
+
* The component contains only source facts. Cache resolution, optical step
|
|
13
|
+
* counts, temporal history and GPU handles are derived by Render and never
|
|
14
|
+
* written back into ECS.
|
|
15
|
+
*/
|
|
16
|
+
export declare const CloudLayer: import("@forgeax/engine-ecs").Component<"CloudLayer", {
|
|
17
|
+
readonly seed: "u32";
|
|
18
|
+
readonly baseHeight: "f32";
|
|
19
|
+
readonly thickness: "f32";
|
|
20
|
+
readonly scale: "f32";
|
|
21
|
+
readonly coverage: "f32";
|
|
22
|
+
readonly density: "f32";
|
|
23
|
+
readonly wind: "array<f32, 3>";
|
|
24
|
+
readonly quality: "f32";
|
|
25
|
+
readonly shadowRange: "f32";
|
|
26
|
+
}>;
|
|
27
|
+
export type CloudLayerData = ShapeOf<SchemaOf<typeof CloudLayer>>;
|
|
28
|
+
export declare function cloudQualityFromF32(value: number): CloudQuality | undefined;
|
|
29
|
+
//# sourceMappingURL=cloud-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-layer.d.ts","sourceRoot":"","sources":["../../src/components/cloud-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnF,4EAA4E;AAC5E,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,iBAAiB;;;;EAInB,CAAC;AAEZ;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;EAmBrB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAK3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,KAAK,UAAU,EACf,eAAe,EACf,MAAM,EACN,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,aAAa,EACb,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,UAAU,EACf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,KAAK,SAAS,EACd,SAAS,EACT,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,KAAK,UAAU,EACf,eAAe,EACf,MAAM,EACN,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,aAAa,EACb,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,UAAU,EACf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,KAAK,SAAS,EACd,SAAS,EACT,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC"}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* World-owned local transforms for one explicit instanced renderable.
|
|
3
|
+
* Packed column-major mat4 values compose as entityWorld * instanceLocal.
|
|
4
|
+
* ECS owns copying, mutation and entity lifetime, including large arrays.
|
|
5
|
+
* Renderer extraction derives its own snapshot and GPU residency; neither
|
|
6
|
+
* authoring nor glTF SceneAsset lowering requires a Renderer identity.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const transforms = new Float32Array(20_000 * 16);
|
|
10
|
+
* for (let i = 0; i < 20_000; i++) {
|
|
11
|
+
* transforms[i * 16] = transforms[i * 16 + 5] =
|
|
12
|
+
* transforms[i * 16 + 10] = transforms[i * 16 + 15] = 1;
|
|
13
|
+
* }
|
|
14
|
+
* const entity = world.spawn({ component: Instances, data: { transforms } }).unwrap();
|
|
15
|
+
* world.set(entity, Instances, { transforms }).unwrap();
|
|
16
|
+
*/
|
|
3
17
|
export declare const Instances: import("@forgeax/engine-ecs").Component<"Instances", {
|
|
4
|
-
readonly
|
|
18
|
+
readonly transforms: "array<f32>";
|
|
5
19
|
}>;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
20
|
+
export type InstancesData = {
|
|
21
|
+
readonly transforms: Float32Array;
|
|
22
|
+
};
|
|
9
23
|
//# sourceMappingURL=instances.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/components/instances.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/components/instances.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,SAAS;;EAEpB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;CAAE,CAAC"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* Mesh filter (geometry asset reference).
|
|
3
3
|
*
|
|
4
4
|
* `assetHandle` carries a `Handle<'MeshAsset', 'shared'>` (u32-stored)
|
|
5
|
-
* pointing
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* pointing to a mesh payload in the current World shared-reference / builtin
|
|
6
|
+
* handle namespace. An omitted field defaults to slot `0`, the unbound
|
|
7
|
+
* sentinel; an entity with that value is not emitted as a renderable. Use the
|
|
8
|
+
* predefined constants `HANDLE_CUBE` / `HANDLE_TRIANGLE` for builtins and
|
|
9
|
+
* allocate a World shared reference for a loaded mesh payload.
|
|
9
10
|
*
|
|
10
|
-
* Error path: if
|
|
11
|
+
* Error path: if a non-zero handle is not registered at draw time, RenderSystem
|
|
11
12
|
* fires `Renderer.onError` with
|
|
12
13
|
* `RhiError({ code: 'asset-not-registered', detail: { assetHandle } })`
|
|
13
14
|
* and skips this entity (other entities continue rendering; charter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-filter.d.ts","sourceRoot":"","sources":["../../src/components/mesh-filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh-filter.d.ts","sourceRoot":"","sources":["../../src/components/mesh-filter.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU;;EAErB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-blur.d.ts","sourceRoot":"","sources":["../../src/components/motion-blur.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"motion-blur.d.ts","sourceRoot":"","sources":["../../src/components/motion-blur.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,eAAO,MAAM,UAAU;;;;;EAKrB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import type { RendererHostImplementation, RendererLegacyHostAdapter } from './as
|
|
|
5
5
|
import { type RenderError } from './errors/render';
|
|
6
6
|
import type { Renderer, RendererOptions, RenderResult } from './render-contract';
|
|
7
7
|
export type { EngineEnvironmentErrorDetail, RhiBackendInstrumentation, RhiBackendPack, } from './assembly/backend-contract';
|
|
8
|
-
export { EngineEnvironmentError } from './assembly/backend-contract';
|
|
8
|
+
export { EngineEnvironmentError, loadRhiPack } from './assembly/backend-contract';
|
|
9
9
|
export type { RendererLegacyHostAdapter } from './assembly/host-contract';
|
|
10
10
|
export type { BundlerOptions };
|
|
11
11
|
export type RendererFeatureAssemblyHost = Pick<RendererLegacyHostAdapter, 'installRenderFeature' | 'uninstallRenderFeature'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct-renderer.d.ts","sourceRoot":"","sources":["../src/construct-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjF,YAAY,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"construct-renderer.d.ts","sourceRoot":"","sources":["../src/construct-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjF,YAAY,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClF,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,yBAAyB,EACzB,sBAAsB,GAAG,wBAAwB,CAClD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAoCD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC,oBAAoB,EAAE,WAAW,GAAG,sBAAsB,CAAC,CAAC,CAgCnF"}
|