@forgeax/engine-render 0.1.29 → 0.1.31
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 +248 -21
- package/dist/assembly/atmosphere-shader-prewarm.d.ts +1 -1
- package/dist/assembly/atmosphere-shader-prewarm.d.ts.map +1 -1
- package/dist/assembly/device-feature-admission.d.ts +4 -3
- package/dist/assembly/device-feature-admission.d.ts.map +1 -1
- package/dist/assembly/dynamic-geometry-host.d.ts +6 -0
- package/dist/assembly/dynamic-geometry-host.d.ts.map +1 -1
- package/dist/assembly/host-contract.d.ts +6 -0
- package/dist/assembly/host-contract.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +26 -3
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/pipeline-helpers.d.ts +24 -0
- package/dist/assembly/material/pipeline-helpers.d.ts.map +1 -0
- package/dist/assembly/material-shader-policy.d.ts.map +1 -1
- package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -1
- package/dist/assembly/recovery/recovery-attempt.d.ts +1 -6
- package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -1
- package/dist/assembly/recovery/renderer-recover.d.ts +1 -0
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -1
- package/dist/assembly/renderer-facade.d.ts.map +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -1
- package/dist/assembly/webgpu-ready.d.ts +1 -1
- package/dist/assembly/webgpu-ready.d.ts.map +1 -1
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -1
- package/dist/capture/scene-projection.d.ts +41 -0
- package/dist/capture/scene-projection.d.ts.map +1 -0
- package/dist/{chunk-BQVQOQJH.mjs → chunk-7MQ3XBSP.mjs} +20 -14
- package/dist/chunk-7MQ3XBSP.mjs.map +1 -0
- package/dist/{chunk-S4DNKQYQ.mjs → chunk-C3DDSXYK.mjs} +86 -33
- package/dist/chunk-C3DDSXYK.mjs.map +1 -0
- package/dist/{chunk-BTWH7BP4.mjs → chunk-FUUO4UND.mjs} +73 -29
- package/dist/chunk-FUUO4UND.mjs.map +1 -0
- package/dist/{chunk-NRNXBLIJ.mjs → chunk-JRBDO2KB.mjs} +46 -6
- package/dist/chunk-JRBDO2KB.mjs.map +1 -0
- package/dist/{chunk-NICXSHAT.mjs → chunk-MDQJPY3T.mjs} +8 -6
- package/dist/chunk-MDQJPY3T.mjs.map +1 -0
- package/dist/{chunk-JQTSEI3Z.mjs → chunk-NO4WZCAH.mjs} +3 -3
- package/dist/chunk-NO4WZCAH.mjs.map +1 -0
- package/dist/{chunk-FUODTTIA.mjs → chunk-PSEQ6QPH.mjs} +621 -108
- package/dist/chunk-PSEQ6QPH.mjs.map +1 -0
- package/dist/{chunk-33XZFTQU.mjs → chunk-S5UE2T5P.mjs} +48 -6
- package/dist/chunk-S5UE2T5P.mjs.map +1 -0
- package/dist/components/directional-light.d.ts +2 -2
- package/dist/components/dynamic-resolution.d.ts +15 -0
- package/dist/components/dynamic-resolution.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/light-helpers.d.ts.map +1 -1
- package/dist/components/reflection-probe.d.ts +1 -0
- package/dist/components/reflection-probe.d.ts.map +1 -1
- package/dist/components/skylight.d.ts +4 -1
- package/dist/components/skylight.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +2172 -796
- package/dist/construct-renderer.mjs.map +1 -1
- package/dist/device/device-scope.d.ts +2 -0
- package/dist/device/device-scope.d.ts.map +1 -1
- package/dist/device/gpu-residency.d.ts +2 -2
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/dynamic-geometry.d.ts.map +1 -1
- package/dist/environment/background.d.ts +3 -2
- package/dist/environment/background.d.ts.map +1 -1
- package/dist/environment/ibl.d.ts +11 -0
- package/dist/environment/ibl.d.ts.map +1 -0
- package/dist/environment/storage.d.ts +14 -0
- package/dist/environment/storage.d.ts.map +1 -0
- package/dist/errors/gpu-driven.d.ts +2 -2
- package/dist/errors/gpu-driven.d.ts.map +1 -1
- package/dist/errors/render.d.ts +35 -1
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/camera.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +7 -0
- package/dist/extract/contracts.d.ts.map +1 -1
- package/dist/extract/gpu-driven.d.ts +18 -1
- package/dist/extract/gpu-driven.d.ts.map +1 -1
- package/dist/gpu-driven/batch-topology.d.ts.map +1 -1
- package/dist/gpu-driven/material-artifacts.d.ts +24 -0
- package/dist/gpu-driven/material-artifacts.d.ts.map +1 -0
- package/dist/gpu-driven/material-bindings.d.ts +7 -0
- package/dist/gpu-driven/material-bindings.d.ts.map +1 -0
- package/dist/gpu-driven/prepared-draw.d.ts +2 -0
- package/dist/gpu-driven/prepared-draw.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +27 -6
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-resource.d.ts +5 -2
- package/dist/gpu-resource.d.ts.map +1 -1
- package/dist/gpu-scene-schema.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/hdrp-buffers.d.ts +3 -0
- package/dist/hdrp-buffers.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +2 -0
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +3 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +83 -81
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +7 -5
- package/dist/index.mjs.map +1 -1
- package/dist/inspection-types.d.ts +16 -1
- package/dist/inspection-types.d.ts.map +1 -1
- package/dist/internal.mjs +6 -6
- package/dist/material-row.d.ts +10 -0
- package/dist/material-row.d.ts.map +1 -1
- package/dist/pbr-pipeline.d.ts +3 -1
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline/render-extent.d.ts +51 -0
- package/dist/pipeline/render-extent.d.ts.map +1 -0
- package/dist/pipeline/standard-build-context.d.ts +7 -0
- package/dist/pipeline/standard-build-context.d.ts.map +1 -0
- package/dist/pipeline/standard-forward-lane.d.ts +3 -2
- package/dist/pipeline/standard-forward-lane.d.ts.map +1 -1
- package/dist/pipeline/standard-pipeline.d.ts.map +1 -1
- package/dist/pipeline/standard-post.d.ts +1 -1
- package/dist/pipeline/standard-post.d.ts.map +1 -1
- package/dist/pipeline/standard-profile.d.ts +2 -1
- package/dist/pipeline/standard-profile.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts +3 -1
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/post-process-errors.d.ts +9 -2
- package/dist/post-process-errors.d.ts.map +1 -1
- package/dist/prepare/extended-lighting/resources.d.ts +3 -3
- package/dist/record/frame-lighting.d.ts.map +1 -1
- package/dist/record/frame-snapshot.d.ts +3 -8
- package/dist/record/frame-snapshot.d.ts.map +1 -1
- package/dist/record/frame.d.ts +3 -2
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +7 -2
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +6 -3
- package/dist/record/main-pass-material.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/prepared-material-bindings.d.ts.map +1 -1
- package/dist/record/recovery-pipeline.d.ts +9 -1
- package/dist/record/recovery-pipeline.d.ts.map +1 -1
- package/dist/record/render-context.d.ts +34 -3
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts +2 -2
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +5 -2
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/recovery/render-system-candidate.d.ts.map +1 -1
- package/dist/reflection/background.d.ts +14 -0
- package/dist/reflection/background.d.ts.map +1 -0
- package/dist/reflection/filter.d.ts.map +1 -1
- package/dist/reflection/projection.d.ts +1 -0
- package/dist/reflection/projection.d.ts.map +1 -1
- package/dist/reflection/record-owner.d.ts +4 -2
- package/dist/reflection/record-owner.d.ts.map +1 -1
- package/dist/render-contract.d.ts +47 -32
- 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 +17 -1
- package/dist/render-pipeline.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +9 -2
- package/dist/render-system-extract-tail.d.ts.map +1 -1
- package/dist/render-system-extract.d.ts +29 -2
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +2 -0
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/ssao-config.d.ts +8 -6
- package/dist/ssao-config.d.ts.map +1 -1
- package/dist/ssr/graph.d.ts.map +1 -1
- package/dist/temporal/gpu.d.ts.map +1 -1
- package/dist/temporal/index.mjs +5 -5
- package/dist/temporal/standard-scene-data.d.ts +2 -1
- package/dist/temporal/standard-scene-data.d.ts.map +1 -1
- package/dist/temporal/target-coverage-attachment.d.ts +15 -0
- package/dist/temporal/target-coverage-attachment.d.ts.map +1 -0
- package/dist/temporal/temporal-view.d.ts +6 -2
- package/dist/temporal/temporal-view.d.ts.map +1 -1
- package/dist/temporal/view.d.ts +6 -0
- package/dist/temporal/view.d.ts.map +1 -1
- package/dist/typed-render-graph-primitives.d.ts +6 -0
- package/dist/typed-render-graph-primitives.d.ts.map +1 -1
- package/dist/volume/component.d.ts +1 -0
- package/dist/volume/component.d.ts.map +1 -1
- package/package.json +21 -21
- package/src/__tests__/capture-scene-projection.unit.test.ts +24 -0
- package/src/__tests__/device-feature-admission.unit.test.ts +15 -24
- package/src/__tests__/device-loss-fanout.unit.test.ts +43 -0
- package/src/__tests__/dynamic-geometry-batch.unit.test.ts +157 -0
- package/src/__tests__/dynamic-geometry.unit.test.ts +36 -0
- package/src/__tests__/dynamic-resolution-plugin.integration.test.ts +81 -0
- package/src/__tests__/factory-contract.integration.test.ts +164 -1
- package/src/__tests__/frame-observation.contract.test.ts +21 -0
- package/src/__tests__/gpu-driven-baseline.characterization.test.ts +1 -1
- package/src/__tests__/gpu-driven-batch-topology-pbr.unit.test.ts +20 -1
- package/src/__tests__/gpu-driven-lod-cache.unit.test.ts +0 -3
- package/src/__tests__/gpu-driven-mesh-world-identity.unit.test.ts +0 -3
- package/src/__tests__/gpu-driven-pbr.dawn.test.ts +11 -6
- package/src/__tests__/gpu-driven-production.integration.test.ts +13 -25
- package/src/__tests__/gpu-driven-view.unit.test.ts +1 -0
- package/src/__tests__/gpu-pass-timing-browser-runner.ts +15 -0
- package/src/__tests__/gpu-pass-timing.browser.test.ts +14 -1
- package/src/__tests__/gpu-resource-scope.unit.test.ts +71 -0
- package/src/__tests__/gpu-scene.unit.test.ts +55 -1
- package/src/__tests__/materials-standard-contract.unit.test.ts +5 -1
- package/src/__tests__/mesh-submission-lifetime.unit.test.ts +8 -0
- package/src/__tests__/morph-neutral-admission.unit.test.ts +19 -0
- package/src/__tests__/physical-clearcoat.integration.test.ts +6 -1
- package/src/__tests__/post-process-error-policy-owner.unit.test.ts +6 -5
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +216 -5
- package/src/__tests__/reflection-fallback-async-publication.unit.test.ts +68 -1
- package/src/__tests__/reflection-probe-authoring.unit.test.ts +12 -10
- package/src/__tests__/reflection-probe-box.dawn.test.ts +71 -0
- package/src/__tests__/reflection-probe-filter.unit.test.ts +9 -0
- package/src/__tests__/reflection-probe-orientation.dawn.test.ts +294 -0
- package/src/__tests__/reflection-probe-record-owner.characterization.unit.test.ts +5 -15
- package/src/__tests__/reflection-probe-updates.unit.test.ts +129 -0
- package/src/__tests__/render-error-code-owner.test-d.ts +3 -0
- package/src/__tests__/render-error-detail-ssot.test-d.ts +5 -1
- package/src/__tests__/render-extent.unit.test.ts +63 -0
- package/src/__tests__/render-scene-projection.unit.test.ts +3 -2
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +173 -9
- package/src/__tests__/shader-manifest-fixture.ts +6 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +8 -1
- package/src/__tests__/specular-environment-scale.dawn.test.ts +4 -2
- package/src/__tests__/ssao-config.unit.test.ts +7 -0
- package/src/__tests__/ssao-surface.dawn.test.ts +252 -0
- package/src/__tests__/ssr-cube-silhouette.dawn.test.ts +270 -0
- package/src/__tests__/ssr-gpu-dispatch.browser.test.ts +51 -43
- package/src/__tests__/ssr-gpu-dispatch.dawn.test.ts +4 -0
- package/src/__tests__/ssr-gpu-dispatch.ts +10 -5
- package/src/__tests__/ssr-graph-topology.unit.test.ts +2 -2
- package/src/__tests__/ssr-hiz.browser.test.ts +1 -1
- package/src/__tests__/ssr-hiz.dawn.test.ts +1 -1
- package/src/__tests__/ssr-spatial.integration.test.ts +1 -1
- package/src/__tests__/standard-cluster-variant-resolution.unit.test.ts +40 -0
- package/src/__tests__/standard-pbr-artifact-assembly.unit.test.ts +238 -1
- package/src/__tests__/standard-profile-oracle.unit.test.ts +27 -0
- package/src/__tests__/taa-coverage-edge.dawn.test.ts +6 -0
- package/src/__tests__/taa-neighborhood-equivalence.dawn.test.ts +5 -1
- package/src/__tests__/taa-stability-feedback.ts +1 -0
- package/src/__tests__/temporal-reset-matrix.unit.test.ts +2 -2
- package/src/__tests__/temporal-view.unit.test.ts +17 -0
- package/src/__tests__/transmission-prewarm.unit.test.ts +57 -0
- package/src/__tests__/volumetric-fog-stage-readback.dawn.test.ts +62 -13
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +7 -7
- package/src/assembly/atmosphere-shader-prewarm.ts +3 -2
- package/src/assembly/device-feature-admission.ts +9 -4
- package/src/assembly/dynamic-geometry-host.ts +236 -163
- package/src/assembly/host-contract.ts +9 -0
- package/src/assembly/material/assembly.ts +350 -6
- package/src/assembly/material/pipeline-helpers.ts +100 -0
- package/src/assembly/material-shader-policy.ts +39 -18
- package/src/assembly/recovery/device-loss-fanout.ts +5 -0
- package/src/assembly/recovery/recovery-attempt.ts +2 -29
- package/src/assembly/recovery/renderer-recover.ts +6 -9
- package/src/assembly/renderer-facade.ts +22 -1
- package/src/assembly/shader-prewarm-policy.ts +14 -1
- package/src/assembly/webgpu-ready.ts +28 -19
- package/src/assembly/webgpu-renderer.ts +95 -95
- package/src/capture/scene-projection.ts +37 -0
- package/src/components/__tests__/dynamic-resolution-schema.unit.test.ts +65 -0
- package/src/components/__tests__/light-radius.integration.test.ts +59 -0
- package/src/components/directional-light.ts +3 -3
- package/src/components/dynamic-resolution.ts +67 -0
- package/src/components/index.ts +1 -0
- package/src/components/light-helpers.ts +6 -1
- package/src/components/reflection-probe.ts +1 -0
- package/src/components/skylight.ts +4 -1
- package/src/device/device-scope.ts +13 -7
- package/src/device/gpu-residency.ts +11 -11
- package/src/dynamic-geometry.ts +13 -8
- package/src/environment/background.ts +30 -12
- package/src/environment/ibl.ts +211 -0
- package/src/environment/storage.ts +63 -0
- package/src/errors/gpu-driven.ts +10 -3
- package/src/errors/render.ts +64 -0
- package/src/extract/camera.ts +12 -1
- package/src/extract/contracts.ts +10 -0
- package/src/extract/gpu-driven.ts +72 -17
- package/src/gpu-driven/batch-topology.ts +33 -11
- package/src/gpu-driven/material-artifacts.ts +179 -0
- package/src/gpu-driven/material-bindings.ts +41 -0
- package/src/gpu-driven/prepared-draw.ts +13 -2
- package/src/gpu-driven/production-raster.ts +681 -164
- package/src/gpu-resource.ts +21 -2
- package/src/gpu-scene-schema.ts +11 -2
- package/src/gpu-scene.ts +14 -3
- package/src/hdrp-buffers.ts +69 -0
- package/src/ibl/IblPipelineCache.ts +5 -0
- package/src/ibl/skylight-bind-group.ts +27 -17
- package/src/index.ts +92 -81
- package/src/inspection-types.ts +16 -1
- package/src/material-row.ts +60 -11
- package/src/pbr-pipeline.ts +13 -2
- package/src/pipeline/render-extent.ts +111 -0
- package/src/pipeline/standard-build-context.ts +7 -0
- package/src/pipeline/standard-forward-lane.ts +41 -24
- package/src/pipeline/standard-pipeline.ts +47 -18
- package/src/pipeline/standard-post.ts +4 -0
- package/src/pipeline/standard-profile.ts +2 -1
- package/src/pipeline-builder.ts +12 -3
- package/src/plugin.ts +4 -0
- package/src/post-process-errors.ts +26 -18
- package/src/prepare/__tests__/extended-lighting-capability.unit.test.ts +2 -2
- package/src/prepare/extended-lighting/resources.ts +3 -3
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +68 -0
- package/src/record/__tests__/material-bg-cache.unit.test.ts +45 -0
- package/src/record/__tests__/material-slot-plan.unit.test.ts +9 -0
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +47 -1
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +7 -3
- package/src/record/__tests__/temporal-payload.unit.test.ts +2 -0
- package/src/record/frame-lighting.ts +3 -1
- package/src/record/frame-snapshot.ts +13 -11
- package/src/record/frame.ts +150 -74
- package/src/record/main-pass-geometry.ts +60 -9
- package/src/record/main-pass-material.ts +47 -19
- package/src/record/main-pass.ts +63 -4
- package/src/record/prepared-material-bindings.ts +4 -0
- package/src/record/recovery-pipeline.ts +56 -0
- package/src/record/render-context.ts +34 -3
- package/src/record/shadow-pass.ts +187 -50
- package/src/record/typed-frame-graph.ts +60 -3
- package/src/record/view-ubo.ts +1 -1
- package/src/recovery/render-system-candidate.ts +54 -11
- package/src/reflection/background.ts +151 -0
- package/src/reflection/filter.ts +3 -0
- package/src/reflection/projection.ts +16 -6
- package/src/reflection/record-owner.ts +282 -86
- package/src/render-contract.ts +50 -32
- package/src/render-graph-primitives.ts +28 -3
- package/src/render-pipeline.ts +20 -1
- package/src/render-system-extract-tail.ts +23 -3
- package/src/render-system-extract.ts +127 -42
- package/src/render-system.ts +35 -7
- package/src/scene/render-scene.ts +8 -0
- package/src/ssao-config.ts +25 -8
- package/src/ssr/graph.ts +78 -58
- package/src/temporal/gpu.ts +5 -0
- package/src/temporal/standard-scene-data.ts +7 -1
- package/src/temporal/target-coverage-attachment.ts +72 -0
- package/src/temporal/temporal-view.ts +10 -4
- package/src/temporal/view.ts +12 -2
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +24 -9
- package/src/typed-render-graph-primitives.ts +38 -0
- package/src/volume/component.ts +1 -0
- package/src/volume/passes.ts +3 -3
- package/dist/chunk-33XZFTQU.mjs.map +0 -1
- package/dist/chunk-BQVQOQJH.mjs.map +0 -1
- package/dist/chunk-BTWH7BP4.mjs.map +0 -1
- package/dist/chunk-FUODTTIA.mjs.map +0 -1
- package/dist/chunk-JQTSEI3Z.mjs.map +0 -1
- package/dist/chunk-NICXSHAT.mjs.map +0 -1
- package/dist/chunk-NRNXBLIJ.mjs.map +0 -1
- package/dist/chunk-S4DNKQYQ.mjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { GlyphText } from './chunk-ILQ5MEZF.mjs';
|
|
2
|
-
import { MeshRenderer, MeshFilter, DirectionalLight, validateDirectionalLightData, PointLight, computeInvRangeSquared, SpotLight, degToCos, RectAreaLight, validateRectAreaLightData, directionalShadowQualityFromF32, PointLightShadow, Skylight, LightProbe, validateLightProbeData, SkyboxBackground, Atmosphere, Instances, Layer, Points, Lines, SortKey, resolveMeshMaterialBindings, pointShapeFromU32, PostProcessParams, buildCubeCameraFaceViews, CubeCamera, cubeCameraUpdateIntentFromF32, ReflectionProbe, reflectionProbeUpdateIntentFromF32, tonemapToU32, resolveVisibility, Fog, VolumetricFog, resolveSelectedVolumetricLight, extractVolumetricFog, MotionBlur, ScreenSpaceReflection, Camera, CAMERA_EXPOSURE_MODE_MANUAL, cameraExposureFromColumns,
|
|
2
|
+
import { MeshRenderer, MeshFilter, DirectionalLight, validateDirectionalLightData, PointLight, computeInvRangeSquared, SpotLight, degToCos, RectAreaLight, validateRectAreaLightData, directionalShadowQualityFromF32, PointLightShadow, Skylight, LightProbe, validateLightProbeData, SkyboxBackground, Atmosphere, Instances, Layer, Points, Lines, SortKey, resolveMeshMaterialBindings, pointShapeFromU32, PostProcessParams, buildCubeCameraFaceViews, CubeCamera, cubeCameraUpdateIntentFromF32, ReflectionProbe, reflectionProbeUpdateIntentFromF32, tonemapToU32, resolveVisibility, Fog, VolumetricFog, resolveSelectedVolumetricLight, extractVolumetricFog, MotionBlur, DynamicResolution, ScreenSpaceReflection, Camera, CAMERA_EXPOSURE_MODE_MANUAL, cameraExposureFromColumns, antialiasFromF32, validateDynamicResolutionCamera, bloomEnabledFromF32, tonemapFromF32, cameraProjectionFromF32 } from './chunk-S5UE2T5P.mjs';
|
|
3
3
|
import { SpriteRegionOverride, SpriteInstances, selectActiveCameraIndex, getActiveCamera } from './chunk-PA5DRJNI.mjs';
|
|
4
|
-
import { PROBE_BLEND_RECORD_CAPACITY, GPU_BUFFER_USAGE_MAP_READ, GPU_BUFFER_USAGE_VERTEX, GPU_BUFFER_USAGE_COPY_DST, gpuDrivenShadowDrawKey, IES_SLICE_CAPACITY, COOKIE_SLICE_CAPACITY, isStandardPbrSkinMaterialShader, buildGpuDrivenDraws, worldEntityKey, gpuDrivenSourceDrawItemIndex, selectPasses, resolveRenderTargetMaterialSource, isCanonicalStandardPbrMaterialShader, PROBE_BLEND_RECORD_BYTE_SIZE, GPU_BUFFER_USAGE_UNIFORM, GPU_BUFFER_USAGE_QUERY_RESOLVE, GPU_BUFFER_USAGE_COPY_SRC, COOKIE_SLICE_SIZE, isStandardPbrMaterialShader } from './chunk-
|
|
5
|
-
import { STANDARD_OUTPUT_TRANSFORM_FEATURE_ID, SHADOW_ATLAS_DEFAULT_LAYERS, SkinMaterialMismatchError, MaterialSkinAttrMissingError, InstanceCollectionError, ShadowInvalidConfigError, EnvironmentSourceConflictError, FogCardinalityError, GPU_TEXTURE_USAGE_COPY_SRC, GPU_TEXTURE_USAGE_COPY_DST, GPU_TEXTURE_USAGE_TEXTURE_BINDING, GPU_TEXTURE_USAGE_STORAGE_BINDING, GPU_TEXTURE_USAGE_RENDER_ATTACHMENT, AtmosphereInvalidParameterError } from './chunk-
|
|
4
|
+
import { PROBE_BLEND_RECORD_CAPACITY, GPU_BUFFER_USAGE_MAP_READ, GPU_BUFFER_USAGE_VERTEX, GPU_BUFFER_USAGE_COPY_DST, gpuDrivenShadowDrawKey, IES_SLICE_CAPACITY, COOKIE_SLICE_CAPACITY, isStandardPbrSkinMaterialShader, buildGpuDrivenDraws, worldEntityKey, gpuDrivenSourceDrawItemIndex, selectPasses, resolveRenderTargetMaterialSource, isCanonicalStandardPbrMaterialShader, PROBE_BLEND_RECORD_BYTE_SIZE, GPU_BUFFER_USAGE_UNIFORM, GPU_BUFFER_USAGE_QUERY_RESOLVE, GPU_BUFFER_USAGE_COPY_SRC, COOKIE_SLICE_SIZE, isStandardPbrMaterialShader } from './chunk-FUUO4UND.mjs';
|
|
5
|
+
import { STANDARD_OUTPUT_TRANSFORM_FEATURE_ID, SHADOW_ATLAS_DEFAULT_LAYERS, SkinMaterialMismatchError, MaterialSkinAttrMissingError, InstanceCollectionError, ShadowInvalidConfigError, EnvironmentSourceConflictError, FogCardinalityError, GPU_TEXTURE_USAGE_COPY_SRC, GPU_TEXTURE_USAGE_COPY_DST, GPU_TEXTURE_USAGE_TEXTURE_BINDING, GPU_TEXTURE_USAGE_STORAGE_BINDING, GPU_TEXTURE_USAGE_RENDER_ATTACHMENT, AtmosphereInvalidParameterError } from './chunk-JRBDO2KB.mjs';
|
|
6
6
|
import { R_MIN, ok, err, TextError, toShared, handleSlot, AssetError, ASSET_ERROR_HINTS, materialValuesToLinearRuntime, derive, unpackSlot, materialGuidText } from '@forgeax/engine-types';
|
|
7
7
|
import { err as err$1, ok as ok$1, RhiError } from '@forgeax/engine-rhi';
|
|
8
8
|
import { resolveAssetHandle, walkMaterialPassesOverSharedRefs, selectMaterialPassProgram, materialParametersToParamSchema as materialParametersToParamSchema$1 } from '@forgeax/engine-assets-runtime';
|
|
@@ -2322,6 +2322,7 @@ function morphSnapshotFor(mesh, weights) {
|
|
|
2322
2322
|
if (!Number.isFinite(weight)) return void 0;
|
|
2323
2323
|
copied[index] = weight;
|
|
2324
2324
|
}
|
|
2325
|
+
if (copied.every((weight) => weight === 0)) return void 0;
|
|
2325
2326
|
return { weights: copied, targetCount: targets.length };
|
|
2326
2327
|
}
|
|
2327
2328
|
function extractFrame(world, context) {
|
|
@@ -3297,6 +3298,11 @@ function extractFrame(world, context) {
|
|
|
3297
3298
|
assets,
|
|
3298
3299
|
materialContext
|
|
3299
3300
|
);
|
|
3301
|
+
const materialSceneIndexProgramKeys = materialSceneIndexProgramKeysForMaterial(
|
|
3302
|
+
asset,
|
|
3303
|
+
assets,
|
|
3304
|
+
materialContext
|
|
3305
|
+
);
|
|
3300
3306
|
const authoredFirstPassShader = runtimeMaterialShaderIdForMaterial(
|
|
3301
3307
|
allPasses,
|
|
3302
3308
|
void 0
|
|
@@ -3512,6 +3518,7 @@ function extractFrame(world, context) {
|
|
|
3512
3518
|
normalScale: normalScalePv,
|
|
3513
3519
|
materialShaderId: firstPassShader,
|
|
3514
3520
|
materialProgramKeys,
|
|
3521
|
+
materialSceneIndexProgramKeys,
|
|
3515
3522
|
materialHandle: handleRaw,
|
|
3516
3523
|
renderState: pipelineRenderState(allPasses[0]?.renderState),
|
|
3517
3524
|
paramSnapshot: paramSnap,
|
|
@@ -4007,8 +4014,11 @@ function extractFrame(world, context) {
|
|
|
4007
4014
|
materialHandle,
|
|
4008
4015
|
passIndex: entry.passIndex,
|
|
4009
4016
|
...entry.materialShaderId === void 0 ? {} : { materialShaderId: entry.materialShaderId },
|
|
4017
|
+
...entry.vertexEntry === void 0 ? {} : { vertexEntry: entry.vertexEntry },
|
|
4018
|
+
...entry.fragmentEntry === void 0 ? {} : { fragmentEntry: entry.fragmentEntry },
|
|
4010
4019
|
...entry.renderState === void 0 ? {} : { renderState: entry.renderState },
|
|
4011
|
-
...cpuReason === void 0 ? {} : { cpuReason }
|
|
4020
|
+
...cpuReason === void 0 ? {} : { cpuReason },
|
|
4021
|
+
gpuDrivenEligible: cpuReason === void 0
|
|
4012
4022
|
};
|
|
4013
4023
|
shadowMembershipEntries.push(membership);
|
|
4014
4024
|
localShadowMembershipEntries.push(membership);
|
|
@@ -4298,26 +4308,62 @@ function runtimeMaterialShaderId(module, passName) {
|
|
|
4298
4308
|
}
|
|
4299
4309
|
}
|
|
4300
4310
|
function materialProgramKeysForMaterial(material, assets, context) {
|
|
4311
|
+
return materialProgramKeysForAddress(material, assets, context, "direct");
|
|
4312
|
+
}
|
|
4313
|
+
function materialSceneIndexProgramKeysForMaterial(material, assets, context) {
|
|
4301
4314
|
const projection = assets.getMaterialProjectionForPayload(material);
|
|
4302
4315
|
if (projection === void 0) return void 0;
|
|
4303
4316
|
if (context === void 0)
|
|
4304
4317
|
throw new Error("Published material selection requires renderer-owned compiler context");
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4318
|
+
const entries = {};
|
|
4319
|
+
for (const pass of projection.passes) {
|
|
4320
|
+
const mode = String(
|
|
4321
|
+
pass.renderState?.tags?.LightMode ?? pass.name
|
|
4322
|
+
);
|
|
4323
|
+
const passKind = /shadow/i.test(mode) ? "shadow" : /depth/i.test(mode) ? "depth" : "forward";
|
|
4324
|
+
const selectedContext = {
|
|
4325
|
+
...context,
|
|
4326
|
+
pass: passKind,
|
|
4327
|
+
pipeline: /deferred|gbuffer/i.test(mode) ? "deferred" : context.pipeline
|
|
4328
|
+
};
|
|
4329
|
+
try {
|
|
4330
|
+
const selected = selectMaterialPassProgram(
|
|
4331
|
+
projection,
|
|
4316
4332
|
pass.name,
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4333
|
+
selectedContext,
|
|
4334
|
+
"scene-index"
|
|
4335
|
+
);
|
|
4336
|
+
entries[pass.name] = { specializationKey: selected.specializationKey, pass: passKind };
|
|
4337
|
+
} catch (error) {
|
|
4338
|
+
if (!isMissingMaterialProgram(error)) throw error;
|
|
4339
|
+
}
|
|
4340
|
+
}
|
|
4341
|
+
return Object.keys(entries).length === 0 ? void 0 : entries;
|
|
4342
|
+
}
|
|
4343
|
+
function isMissingMaterialProgram(error) {
|
|
4344
|
+
return error !== null && typeof error === "object" && error.code === "material-specialization-not-cooked";
|
|
4345
|
+
}
|
|
4346
|
+
function materialProgramKeysForAddress(material, assets, context, address) {
|
|
4347
|
+
const projection = assets.getMaterialProjectionForPayload(material);
|
|
4348
|
+
if (projection === void 0) return void 0;
|
|
4349
|
+
if (context === void 0)
|
|
4350
|
+
throw new Error("Published material selection requires renderer-owned compiler context");
|
|
4351
|
+
const entries = [];
|
|
4352
|
+
for (const pass of projection.passes) {
|
|
4353
|
+
const mode = String(
|
|
4354
|
+
pass.renderState?.tags?.LightMode ?? pass.name
|
|
4355
|
+
);
|
|
4356
|
+
const selectedContext = {
|
|
4357
|
+
...context,
|
|
4358
|
+
pass: /shadow/i.test(mode) ? "shadow" : /depth/i.test(mode) ? "depth" : "forward",
|
|
4359
|
+
pipeline: /deferred|gbuffer/i.test(mode) ? "deferred" : context.pipeline
|
|
4360
|
+
};
|
|
4361
|
+
entries.push([
|
|
4362
|
+
pass.name,
|
|
4363
|
+
selectMaterialPassProgram(projection, pass.name, selectedContext, address).specializationKey
|
|
4364
|
+
]);
|
|
4365
|
+
}
|
|
4366
|
+
return entries.length === 0 ? void 0 : Object.fromEntries(entries);
|
|
4321
4367
|
}
|
|
4322
4368
|
function runtimeMaterialShaderIdForMaterial(passes, programs) {
|
|
4323
4369
|
const pass = passes.find(
|
|
@@ -4364,22 +4410,16 @@ function shadowCasterCpuReason(material, draw, shadowEntries, morph, skin) {
|
|
|
4364
4410
|
return "transparent";
|
|
4365
4411
|
}
|
|
4366
4412
|
if (morph !== void 0) return "morph";
|
|
4367
|
-
const isStandardPbr = material.materialShaderId === "forgeax::default-standard-pbr" || material.materialShaderId === "forgeax::pbr-skin" || material.materialShaderId === "forgeax::default-standard-pbr-skin";
|
|
4368
|
-
if (!isStandardPbr) return "unsupported-shader";
|
|
4369
4413
|
const shadowEntry = shadowEntries[0];
|
|
4370
|
-
if (shadowEntry !== void 0 && shadowEntry.materialShaderId !== void 0 && shadowEntry.materialShaderId !== "forgeax::default-shadow-caster") {
|
|
4371
|
-
return "unsupported-shader";
|
|
4372
|
-
}
|
|
4373
4414
|
if (shadowEntry?.renderState !== void 0) return "unsupported-render-state";
|
|
4374
4415
|
if (draw === void 0) return "missing-gpu-draw";
|
|
4375
4416
|
if (draw.prepared === void 0) return "unprepared";
|
|
4376
|
-
const isSkinnedPbr = material.materialShaderId === "forgeax::pbr-skin" || material.materialShaderId === "forgeax::default-standard-pbr-skin";
|
|
4377
4417
|
const preparedMaterial = draw.prepared.identity.material;
|
|
4378
4418
|
const preparedDeformation = draw.prepared.identity.deformation;
|
|
4379
|
-
const materialContractMatches =
|
|
4419
|
+
const materialContractMatches = preparedMaterial === material.materialShaderId;
|
|
4380
4420
|
const deformationContractMatches = skin === void 0 && preparedDeformation === "rigid" || skin !== void 0 && preparedDeformation === "skin";
|
|
4381
4421
|
if (!materialContractMatches || !deformationContractMatches) return "prepared-contract";
|
|
4382
|
-
if (
|
|
4422
|
+
if (preparedDeformation === "skin" && !hasFiniteOrderedSkinBounds(skin?.bounds)) {
|
|
4383
4423
|
return "missing-skin-bounds";
|
|
4384
4424
|
}
|
|
4385
4425
|
return void 0;
|
|
@@ -4655,6 +4695,11 @@ function resolveMaterialSnapshot(handleRaw, world, assetsRef, materialSnapshotCa
|
|
|
4655
4695
|
const resolved = resolvedResult.value;
|
|
4656
4696
|
const allPasses = resolved.passes;
|
|
4657
4697
|
const materialProgramKeys = materialProgramKeysForMaterial(asset, assetsRef, materialContext);
|
|
4698
|
+
const materialSceneIndexProgramKeys = materialSceneIndexProgramKeysForMaterial(
|
|
4699
|
+
asset,
|
|
4700
|
+
assetsRef,
|
|
4701
|
+
materialContext
|
|
4702
|
+
);
|
|
4658
4703
|
const authoredFirstPassShader = runtimeMaterialShaderIdForMaterial(allPasses, void 0);
|
|
4659
4704
|
const firstPassShader = runtimeMaterialShaderIdForMaterial(allPasses, materialProgramKeys);
|
|
4660
4705
|
const pv = materialValuesToLinearRuntime(
|
|
@@ -4740,6 +4785,7 @@ function resolveMaterialSnapshot(handleRaw, world, assetsRef, materialSnapshotCa
|
|
|
4740
4785
|
normalScale: normalScalePv,
|
|
4741
4786
|
materialShaderId: firstPassShader,
|
|
4742
4787
|
materialProgramKeys,
|
|
4788
|
+
materialSceneIndexProgramKeys,
|
|
4743
4789
|
materialHandle: handleRaw,
|
|
4744
4790
|
renderState: pipelineRenderState(allPasses[0]?.renderState),
|
|
4745
4791
|
paramSnapshot: paramSnap,
|
|
@@ -4891,7 +4937,8 @@ function computeDirectionalCsm(direction, config, cameraData) {
|
|
|
4891
4937
|
resultLightViewProjs.push(new Float32Array(16));
|
|
4892
4938
|
continue;
|
|
4893
4939
|
}
|
|
4894
|
-
const
|
|
4940
|
+
const previousSplit = splits[cIdx - 1] ?? sNear;
|
|
4941
|
+
const cascadeNear = cIdx === 0 ? sNear : Math.max(sNear, previousSplit * (1 - config.cascadeBlend));
|
|
4895
4942
|
const cascadeFar = splits[cIdx] ?? sFar;
|
|
4896
4943
|
const corners = computeFrustumCorners(
|
|
4897
4944
|
cameraVP,
|
|
@@ -4928,7 +4975,7 @@ function computeDirectionalCsm(direction, config, cameraData) {
|
|
|
4928
4975
|
minY,
|
|
4929
4976
|
maxY,
|
|
4930
4977
|
minZ,
|
|
4931
|
-
maxZ
|
|
4978
|
+
maxZ: nearZ
|
|
4932
4979
|
});
|
|
4933
4980
|
resultLightViewProjs.push(new Float32Array(mat4.multiply(mat4.create(), orthoProj, lightView)));
|
|
4934
4981
|
}
|
|
@@ -4961,12 +5008,13 @@ function collectCameraSnapshots(world) {
|
|
|
4961
5008
|
const cameras = [];
|
|
4962
5009
|
const cameraQuery = world.query({
|
|
4963
5010
|
read: [Camera],
|
|
4964
|
-
optional: [MotionBlur, ScreenSpaceReflection],
|
|
5011
|
+
optional: [MotionBlur, DynamicResolution, ScreenSpaceReflection],
|
|
4965
5012
|
with: [Transform, GlobalTransform]
|
|
4966
5013
|
}).unwrap();
|
|
4967
5014
|
for (const row of cameraQuery) {
|
|
4968
5015
|
const cam = row.get(Camera);
|
|
4969
5016
|
const motionBlur = row.get(MotionBlur);
|
|
5017
|
+
const dynamicResolution = row.get(DynamicResolution);
|
|
4970
5018
|
const screenSpaceReflection = row.get(ScreenSpaceReflection);
|
|
4971
5019
|
const entity = row.entity;
|
|
4972
5020
|
const view = worldInternal._getArrayView(entity, GlobalTransform, "world");
|
|
@@ -4981,6 +5029,9 @@ function collectCameraSnapshots(world) {
|
|
|
4981
5029
|
colorLut: cam.colorLut,
|
|
4982
5030
|
colorLutStrength: cam.colorLutStrength
|
|
4983
5031
|
} : void 0;
|
|
5032
|
+
const antialias = antialiasFromF32(cam.antialias);
|
|
5033
|
+
const dynamicResolutionResult = validateDynamicResolutionCamera(dynamicResolution, antialias);
|
|
5034
|
+
if (!dynamicResolutionResult.ok) throw dynamicResolutionResult.error;
|
|
4984
5035
|
cameras.push({
|
|
4985
5036
|
entityKey: entity,
|
|
4986
5037
|
...target === void 0 ? {} : { target },
|
|
@@ -5000,7 +5051,8 @@ function collectCameraSnapshots(world) {
|
|
|
5000
5051
|
exposure: cam.exposure,
|
|
5001
5052
|
whitePoint: cam.whitePoint,
|
|
5002
5053
|
...output === void 0 ? {} : { output },
|
|
5003
|
-
antialias
|
|
5054
|
+
antialias,
|
|
5055
|
+
...dynamicResolutionResult.value === void 0 ? {} : { dynamicResolution: dynamicResolutionResult.value },
|
|
5004
5056
|
bloom: bloomEnabledFromF32(cam.bloom),
|
|
5005
5057
|
bloomThreshold: cam.bloomThreshold,
|
|
5006
5058
|
bloomIntensity: cam.bloomIntensity,
|
|
@@ -5074,6 +5126,7 @@ function collectReflectionProbeFacts(world) {
|
|
|
5074
5126
|
priority: probe.priority,
|
|
5075
5127
|
intensity: probe.intensity,
|
|
5076
5128
|
resolution: probe.resolution,
|
|
5129
|
+
boxProjection: probe.boxProjection,
|
|
5077
5130
|
revision: probe.invalidationVersion,
|
|
5078
5131
|
updateIntent: reflectionProbeUpdateIntentFromF32(probe.updateIntent),
|
|
5079
5132
|
invalidationVersion: probe.invalidationVersion
|
|
@@ -5851,5 +5904,5 @@ var ProbeBlendSceneProjection = class {
|
|
|
5851
5904
|
};
|
|
5852
5905
|
|
|
5853
5906
|
export { InstanceBoundsCache, OcclusionRenderRuntime, PROBE_MAX_CONTRIBUTORS, ProbeBlendSceneProjection, SKYLIGHT_RECOVERY_FALLBACK, SSR_HISTORY_FORMAT, SsrHistoryOwner, admitProbeContributors, blendLightProbes, buildRectAreaWorldFrame, buildShadowFrusta, createCookieProjectionMatrixData, createExtendedLightingState, createSsrHistoryOwner, createSsrSpatialResources, estimateSsrSpatialMemory, extractFrames, fingerprintNumericArray, glyphTextLayoutSystem, primitiveKey, primitiveKeyId, projectExtendedLightingInspection, promoteExtendedLightingCandidate, recordExtendedLightingFailure, rectAreaFacesPoint, scaledProbeWeight, setOcclusionRuntimeTestHooks, viewKey, viewKeyId };
|
|
5854
|
-
//# sourceMappingURL=chunk-
|
|
5855
|
-
//# sourceMappingURL=chunk-
|
|
5907
|
+
//# sourceMappingURL=chunk-C3DDSXYK.mjs.map
|
|
5908
|
+
//# sourceMappingURL=chunk-C3DDSXYK.mjs.map
|