@forgeax/engine-render 0.1.23 → 0.1.25
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 +231 -10
- package/dist/assembly/bundler-contract.d.ts +9 -0
- package/dist/assembly/bundler-contract.d.ts.map +1 -0
- package/dist/assembly/device-feature-admission.d.ts +8 -0
- package/dist/assembly/device-feature-admission.d.ts.map +1 -1
- package/dist/assembly/extended-lighting-fallback.d.ts +13 -0
- package/dist/assembly/extended-lighting-fallback.d.ts.map +1 -0
- package/dist/assembly/factory.d.ts +7 -243
- package/dist/assembly/factory.d.ts.map +1 -1
- package/dist/assembly/material/assembly.d.ts +3 -2
- package/dist/assembly/material/assembly.d.ts.map +1 -1
- package/dist/assembly/material/standard-layer-projection.d.ts +10 -0
- package/dist/assembly/material/standard-layer-projection.d.ts.map +1 -0
- package/dist/assembly/material/surface-projection.d.ts +24 -0
- package/dist/assembly/material/surface-projection.d.ts.map +1 -0
- package/dist/assembly/material-shader-policy.d.ts +188 -0
- package/dist/assembly/material-shader-policy.d.ts.map +1 -0
- package/dist/assembly/material-shader-prewarm.d.ts +21 -0
- package/dist/assembly/material-shader-prewarm.d.ts.map +1 -0
- package/dist/assembly/mesh-ssbo-grow.d.ts +88 -0
- package/dist/assembly/mesh-ssbo-grow.d.ts.map +1 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts +14 -0
- package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -0
- package/dist/assembly/recovery/generation.d.ts +46 -0
- package/dist/assembly/recovery/generation.d.ts.map +1 -0
- package/dist/assembly/recovery/recovery-attempt.d.ts +63 -0
- package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -0
- package/dist/assembly/recovery/renderer-recover.d.ts +115 -0
- package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -0
- package/dist/assembly/renderer-facade.d.ts +10 -0
- package/dist/assembly/renderer-facade.d.ts.map +1 -0
- package/dist/assembly/renderer-frame-transaction.d.ts +17 -0
- package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
- package/dist/assembly/renderer-helpers.d.ts +19 -0
- package/dist/assembly/renderer-helpers.d.ts.map +1 -0
- package/dist/assembly/renderer-lifecycle.d.ts +34 -0
- package/dist/assembly/renderer-lifecycle.d.ts.map +1 -1
- package/dist/assembly/shader-prewarm-policy.d.ts +15 -0
- package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready-contract.d.ts +9 -0
- package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -0
- package/dist/assembly/webgpu-ready.d.ts +55 -0
- package/dist/assembly/webgpu-ready.d.ts.map +1 -0
- package/dist/assembly/webgpu-renderer.d.ts +152 -0
- package/dist/assembly/webgpu-renderer.d.ts.map +1 -0
- package/dist/assembly/webgpu-vertex-layouts.d.ts +89 -0
- package/dist/assembly/webgpu-vertex-layouts.d.ts.map +1 -0
- package/dist/assets/asset-decoders.d.ts.map +1 -1
- package/dist/authoring.mjs +1 -1
- package/dist/{chunk-FF7K3FSO.mjs → chunk-ADHHVYLW.mjs} +89 -89
- package/dist/chunk-ADHHVYLW.mjs.map +1 -0
- package/dist/{chunk-YALPS44A.mjs → chunk-E34VL5VI.mjs} +47 -47
- package/dist/chunk-E34VL5VI.mjs.map +1 -0
- package/dist/{chunk-4L3P6DT5.mjs → chunk-GE3SDD72.mjs} +37 -5
- package/dist/chunk-GE3SDD72.mjs.map +1 -0
- package/dist/{chunk-HZUPSYW7.mjs → chunk-HKXTW355.mjs} +105 -15
- package/dist/chunk-HKXTW355.mjs.map +1 -0
- package/dist/chunk-JSEDTZYS.mjs +413 -0
- package/dist/chunk-JSEDTZYS.mjs.map +1 -0
- package/dist/{chunk-FBC4R44J.mjs → chunk-KM2NOX2I.mjs} +57 -57
- package/dist/chunk-KM2NOX2I.mjs.map +1 -0
- package/dist/{chunk-DIYW3M5D.mjs → chunk-N3RT2EUR.mjs} +2288 -2238
- package/dist/chunk-N3RT2EUR.mjs.map +1 -0
- package/dist/{chunk-ZUWKAZ2I.mjs → chunk-TCLDX7SZ.mjs} +1167 -368
- package/dist/chunk-TCLDX7SZ.mjs.map +1 -0
- package/dist/{chunk-QODA5UKU.mjs → chunk-ZZ4YQ474.mjs} +2 -2
- package/dist/chunk-ZZ4YQ474.mjs.map +1 -0
- package/dist/components/instances.d.ts +13 -31
- package/dist/components/instances.d.ts.map +1 -1
- package/dist/construct-renderer.mjs +20688 -16314
- 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 +24 -4
- package/dist/device/gpu-residency.d.ts.map +1 -1
- package/dist/environment/frame.d.ts +5 -0
- package/dist/environment/frame.d.ts.map +1 -1
- package/dist/environment/inspection.d.ts +7 -0
- package/dist/environment/inspection.d.ts.map +1 -1
- package/dist/environment/lifecycle.d.ts +20 -2
- package/dist/environment/lifecycle.d.ts.map +1 -1
- package/dist/errors/recover.d.ts +58 -2
- package/dist/errors/recover.d.ts.map +1 -1
- package/dist/errors/render.d.ts +13 -0
- package/dist/errors/render.d.ts.map +1 -1
- package/dist/extract/contracts.d.ts +899 -0
- package/dist/extract/contracts.d.ts.map +1 -0
- package/dist/features/host.d.ts +2 -0
- package/dist/features/host.d.ts.map +1 -1
- package/dist/features/prepared-gpu-work.d.ts +3 -0
- package/dist/features/prepared-gpu-work.d.ts.map +1 -1
- package/dist/features/prepared-graphics-store.d.ts +2 -0
- package/dist/features/prepared-graphics-store.d.ts.map +1 -1
- package/dist/gpu-driven/production-raster.d.ts +34 -1
- package/dist/gpu-driven/production-raster.d.ts.map +1 -1
- package/dist/gpu-scene.d.ts +5 -0
- package/dist/gpu-scene.d.ts.map +1 -1
- package/dist/ibl/IblPipelineCache.d.ts +7 -6
- package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
- package/dist/ibl/skylight-bind-group.d.ts +7 -1
- package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +27 -9
- package/dist/index.mjs.map +1 -1
- package/dist/instance-buffer-cache.d.ts +7 -1
- package/dist/instance-buffer-cache.d.ts.map +1 -1
- package/dist/instances.d.ts +101 -0
- package/dist/instances.d.ts.map +1 -0
- package/dist/internal.mjs +6 -6
- package/dist/light-buffer-layout.d.ts +3 -0
- package/dist/light-buffer-layout.d.ts.map +1 -1
- package/dist/materials.d.ts +96 -11
- package/dist/materials.d.ts.map +1 -1
- package/dist/mesh-material-bindings.d.ts +56 -0
- package/dist/mesh-material-bindings.d.ts.map +1 -1
- package/dist/occlusion-proxy.d.ts +4 -0
- package/dist/occlusion-proxy.d.ts.map +1 -0
- package/dist/pbr-pipeline.d.ts +32 -9
- package/dist/pbr-pipeline.d.ts.map +1 -1
- package/dist/pipeline-builder.d.ts.map +1 -1
- package/dist/pipeline-spec.d.ts.map +1 -1
- package/dist/points-lines/prepare.d.ts +3 -0
- package/dist/points-lines/prepare.d.ts.map +1 -1
- package/dist/points-lines/standard-owner.d.ts +33 -0
- package/dist/points-lines/standard-owner.d.ts.map +1 -0
- package/dist/record/frame-snapshot.d.ts +18 -2
- 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 -2
- package/dist/record/frame.d.ts.map +1 -1
- package/dist/record/main-pass-geometry.d.ts +36 -4
- package/dist/record/main-pass-geometry.d.ts.map +1 -1
- package/dist/record/main-pass-material.d.ts +7 -17
- package/dist/record/main-pass-material.d.ts.map +1 -1
- package/dist/record/main-pass.d.ts.map +1 -1
- package/dist/record/mesh-ssbo.d.ts +11 -3
- package/dist/record/mesh-ssbo.d.ts.map +1 -1
- package/dist/record/recovery-pipeline.d.ts +30 -0
- package/dist/record/recovery-pipeline.d.ts.map +1 -0
- package/dist/record/render-context.d.ts +28 -5
- package/dist/record/render-context.d.ts.map +1 -1
- package/dist/record/shadow-pass.d.ts +11 -1
- package/dist/record/shadow-pass.d.ts.map +1 -1
- package/dist/record/typed-frame-graph.d.ts +1 -1
- package/dist/record/typed-frame-graph.d.ts.map +1 -1
- package/dist/recovery/render-system-candidate.d.ts +65 -0
- package/dist/recovery/render-system-candidate.d.ts.map +1 -0
- package/dist/render-contract.d.ts +68 -7
- package/dist/render-contract.d.ts.map +1 -1
- package/dist/render-system-extract-tail.d.ts +16 -0
- package/dist/render-system-extract-tail.d.ts.map +1 -0
- package/dist/render-system-extract.d.ts +180 -22
- package/dist/render-system-extract.d.ts.map +1 -1
- package/dist/render-system.d.ts +131 -4
- package/dist/render-system.d.ts.map +1 -1
- package/dist/scene/render-scene-types.d.ts +2 -0
- package/dist/scene/render-scene-types.d.ts.map +1 -1
- package/dist/scene/render-scene.d.ts +31 -1
- package/dist/scene/render-scene.d.ts.map +1 -1
- package/dist/systems/skin-palette-allocator.d.ts +6 -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/index.mjs +6 -6
- package/dist/temporal/taa-history-store.d.ts +15 -1
- package/dist/temporal/taa-history-store.d.ts.map +1 -1
- package/dist/temporal/transaction.d.ts +5 -0
- package/dist/temporal/transaction.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/__tests__/device-feature-admission.unit.test.ts +6 -0
- package/src/__tests__/device-loss-fanout.unit.test.ts +107 -0
- package/src/__tests__/device-scope-lifecycle.unit.test.ts +21 -0
- package/src/__tests__/environment-generation.integration.test.ts +23 -0
- package/src/__tests__/expose-renderer-errors.unit.test.ts +34 -0
- package/src/__tests__/factory-contract.integration.test.ts +122 -7
- package/src/__tests__/fallback-row-stride-surface.unit.test.ts +4 -1
- package/src/__tests__/gpu-scene.unit.test.ts +38 -2
- package/src/__tests__/ibl/face-uniforms.unit.test.ts +2 -0
- package/src/__tests__/ibl-residency-publication.unit.test.ts +113 -0
- package/src/__tests__/instances-store.unit.test.ts +46 -0
- package/src/__tests__/instances-world-ownership.integration.test.ts +62 -0
- package/src/__tests__/material-contract-inventory.unit.test.ts +29 -22
- package/src/__tests__/material-cooked-projection.unit.test.ts +19 -1
- package/src/__tests__/material-pass-policy.unit.test.ts +69 -0
- package/src/__tests__/material-snapshot-mutation.integration.test.ts +69 -0
- package/src/__tests__/material-static-dynamic-route.unit.test.ts +29 -0
- package/src/__tests__/material-stride-surface.unit.test.ts +7 -3
- package/src/__tests__/material-surface-authoring.test-d.ts +62 -0
- package/src/__tests__/materials-standard-contract.unit.test.ts +104 -0
- package/src/__tests__/materials-transmission-validation.unit.test.ts +24 -0
- package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -5
- package/src/__tests__/physical-clearcoat.integration.test.ts +89 -0
- package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +1 -1
- package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +1 -1
- package/src/__tests__/recover-error-policy-owner.unit.test.ts +6 -3
- package/src/__tests__/recovery-candidate-prepare.contract.test.ts +140 -0
- package/src/__tests__/renderer-factory-material-contract.unit.test.ts +127 -18
- package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +47 -0
- package/src/__tests__/renderer-generation-assembly.unit.test.ts +77 -0
- package/src/__tests__/renderer-generation-failure.unit.test.ts +108 -0
- package/src/__tests__/renderer-producer-root-matrix.integration.test.ts +33 -0
- package/src/__tests__/renderer-recovery-capability-matrix.unit.test.ts +59 -0
- package/src/__tests__/renderer-recovery-contract.unit.test.ts +73 -0
- package/src/__tests__/renderer-recovery-lifecycle.unit.test.ts +216 -0
- package/src/__tests__/renderer-target-history-recovery.integration.test.ts +80 -0
- package/src/__tests__/shader-manifest-fixture.ts +13 -16
- package/src/__tests__/shader-stage-surface.unit.test.ts +1 -1
- package/src/__tests__/skin-motion-regression.unit.test.ts +33 -0
- package/src/__tests__/skinned-shadow-caster.test.ts +30 -2
- package/src/__tests__/standard-layer-projection.unit.test.ts +23 -0
- package/src/__tests__/surface-adjacent-regressions.integration.test.ts +60 -0
- package/src/__tests__/surface-standard-pipeline.browser.test.ts +20 -0
- package/src/__tests__/surface-standard-pipeline.dawn.test.ts +20 -0
- package/src/__tests__/surface-standard-pipeline.fixture.ts +132 -0
- package/src/__tests__/surface-variant-provenance.integration.test.ts +33 -0
- package/src/__tests__/transmission-prewarm.unit.test.ts +95 -85
- package/src/__tests__/volumetric-fog-budget-recovery.integration.test.ts +1 -1
- package/src/__tests__/volumetric-fog-topology.unit.test.ts +3 -1
- package/src/assembly/bundler-contract.ts +9 -0
- package/src/assembly/device-feature-admission.ts +15 -5
- package/src/assembly/extended-lighting-fallback.ts +216 -0
- package/src/assembly/factory.ts +83 -10088
- package/src/assembly/material/__tests__/standard-layer-plan-projection.integration.test.ts +18 -0
- package/src/assembly/material/__tests__/surface-pass-projection.integration.test.ts +62 -0
- package/src/assembly/material/assembly.ts +18 -2
- package/src/assembly/material/standard-layer-projection.ts +16 -0
- package/src/assembly/material/surface-projection.ts +90 -0
- package/src/assembly/material-shader-policy.ts +932 -0
- package/src/assembly/material-shader-prewarm.ts +88 -0
- package/src/assembly/mesh-ssbo-grow.ts +270 -0
- package/src/assembly/recovery/device-loss-fanout.ts +89 -0
- package/src/assembly/recovery/generation.ts +141 -0
- package/src/assembly/recovery/recovery-attempt.ts +800 -0
- package/src/assembly/recovery/renderer-recover.ts +906 -0
- package/src/assembly/renderer-facade.ts +342 -0
- package/src/assembly/renderer-frame-transaction.ts +45 -0
- package/src/assembly/renderer-helpers.ts +99 -0
- package/src/assembly/renderer-lifecycle.ts +159 -0
- package/src/assembly/shader-prewarm-policy.ts +157 -0
- package/src/assembly/webgpu-ready-contract.ts +14 -0
- package/src/assembly/webgpu-ready.ts +4066 -0
- package/src/assembly/webgpu-renderer.ts +4027 -0
- package/src/assembly/webgpu-vertex-layouts.ts +132 -0
- package/src/assets/asset-decoders.ts +27 -4
- package/src/components/camera.ts +1 -1
- package/src/components/instances.ts +14 -197
- package/src/debug-draw-glue.ts +1 -1
- package/src/device/device-scope.ts +35 -6
- package/src/device/gpu-residency.ts +194 -26
- package/src/environment/frame.ts +6 -0
- package/src/environment/inspection.ts +10 -0
- package/src/environment/lifecycle.ts +114 -8
- package/src/errors/recover.ts +76 -5
- package/src/errors/render.ts +17 -0
- package/src/extract/contracts.ts +974 -0
- package/src/features/host.ts +16 -0
- package/src/features/prepared-gpu-work.ts +20 -2
- package/src/features/prepared-graphics-store.ts +17 -0
- package/src/gpu-driven/production-raster.ts +131 -3
- package/src/gpu-scene.ts +87 -31
- package/src/ibl/IblPipelineCache.ts +134 -50
- package/src/ibl/skylight-bind-group.ts +26 -0
- package/src/index.ts +10 -1
- package/src/instance-buffer-cache.ts +14 -1
- package/src/instances.ts +288 -0
- package/src/light-buffer-layout.ts +3 -0
- package/src/materials.ts +365 -53
- package/src/mesh-material-bindings.ts +59 -0
- package/src/occlusion-proxy.ts +64 -0
- package/src/pbr-pipeline.ts +139 -15
- package/src/pipeline-builder.ts +14 -10
- package/src/pipeline-spec.ts +6 -14
- package/src/points-lines/__tests__/cache-recovery.unit.test.ts +22 -0
- package/src/points-lines/prepare.ts +9 -0
- package/src/points-lines/standard-owner.ts +403 -0
- package/src/record/__tests__/frame-targets-recovery.unit.test.ts +60 -0
- package/src/record/__tests__/main-pass-geometry.unit.test.ts +26 -1
- package/src/record/__tests__/mesh-ssbo.unit.test.ts +38 -0
- package/src/record/__tests__/recovery-pipeline.unit.test.ts +124 -0
- package/src/record/__tests__/sprite-material-abi.unit.test.ts +28 -13
- package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +47 -4
- package/src/record/__tests__/temporal-payload.unit.test.ts +22 -43
- package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -1
- package/src/record/frame-snapshot.ts +34 -2
- package/src/record/frame-targets.ts +11 -1
- package/src/record/frame.ts +37 -4
- package/src/record/helpers.ts +1 -1
- package/src/record/main-pass-geometry.ts +727 -63
- package/src/record/main-pass-material.ts +316 -209
- package/src/record/main-pass-sprite-draws.ts +7 -8
- package/src/record/main-pass.ts +94 -6
- package/src/record/mesh-ssbo.ts +32 -10
- package/src/record/recovery-pipeline.ts +695 -0
- package/src/record/render-context.ts +39 -4
- package/src/record/shadow-pass.ts +46 -99
- package/src/record/typed-frame-graph.ts +45 -1
- package/src/record/view-ubo.ts +3 -3
- package/src/recovery/render-system-candidate.ts +876 -0
- package/src/render-contract.ts +69 -7
- package/src/render-system-extract-tail.ts +3039 -0
- package/src/render-system-extract.ts +177 -3003
- package/src/render-system.ts +906 -662
- package/src/scene/render-scene-types.ts +2 -0
- package/src/scene/render-scene.ts +703 -37
- package/src/systems/skin-palette-allocator.ts +129 -7
- package/src/temporal/frame-coordinator.ts +4 -1
- package/src/temporal/taa-history-store.ts +46 -2
- package/src/temporal/temporal-view.ts +1 -1
- package/src/temporal/transaction.ts +9 -0
- package/src/tilemap-chunk-extract-system.ts +1 -1
- package/src/transmission/__tests__/standard-transmission.dawn.test.ts +19 -12
- package/src/transmission/__tests__/surface-compatibility.integration.test.ts +32 -0
- package/dist/chunk-4L3P6DT5.mjs.map +0 -1
- package/dist/chunk-4NPUASZR.mjs +0 -203
- package/dist/chunk-4NPUASZR.mjs.map +0 -1
- package/dist/chunk-DIYW3M5D.mjs.map +0 -1
- package/dist/chunk-FBC4R44J.mjs.map +0 -1
- package/dist/chunk-FF7K3FSO.mjs.map +0 -1
- package/dist/chunk-HZUPSYW7.mjs.map +0 -1
- package/dist/chunk-QODA5UKU.mjs.map +0 -1
- package/dist/chunk-YALPS44A.mjs.map +0 -1
- package/dist/chunk-ZUWKAZ2I.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-recover.d.ts","sourceRoot":"","sources":["../../../src/assembly/recovery/renderer-recover.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type RendererOperationCause } from '../errors/render';
|
|
2
|
+
import type { Renderer, RenderProfile } from '../render-contract';
|
|
3
|
+
import type { RendererHostImplementation } from './host-contract';
|
|
4
|
+
/** Narrow the concrete host to the lease/receipt-only public contract. */
|
|
5
|
+
export declare function exposeRenderer(renderer: RendererHostImplementation): Renderer;
|
|
6
|
+
export declare function toError(value: unknown): Error;
|
|
7
|
+
export declare function structuredRendererCause(cause: unknown, operation: string): RendererOperationCause;
|
|
8
|
+
export declare function validateRenderProfile(profile: RenderProfile): string | undefined;
|
|
9
|
+
export declare function freezeRenderProfile(profile: RenderProfile): RenderProfile;
|
|
10
|
+
//# sourceMappingURL=renderer-facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-facade.d.ts","sourceRoot":"","sources":["../../src/assembly/renderer-facade.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,sBAAsB,EAE5B,MAAM,kBAAkB,CAAC;AAM1B,OAAO,KAAK,EACV,QAAQ,EAKR,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,0BAA0B,GAAG,QAAQ,CAoL7E;AAMD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAG7C;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,CA0BjG;AA2DD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CA4BhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAKzE"}
|
|
@@ -23,7 +23,24 @@ export interface RendererFrameTransactionSteps<T> {
|
|
|
23
23
|
readonly submit: (candidate: T) => RendererFrameStageResult<void>;
|
|
24
24
|
readonly commit: (candidate: T) => void;
|
|
25
25
|
readonly abort?: (failure: RendererFrameStageFailure) => void;
|
|
26
|
+
readonly generationFence?: RendererGenerationFence;
|
|
26
27
|
}
|
|
28
|
+
export interface RendererGenerationFence {
|
|
29
|
+
readonly capturedGeneration: number;
|
|
30
|
+
readonly currentGeneration: () => number;
|
|
31
|
+
}
|
|
32
|
+
export type ContinuationKind = 'readback' | 'query' | 'mapAsync' | 'queue-completion';
|
|
33
|
+
export interface ContinuationTerminationReason {
|
|
34
|
+
readonly code: 'device-lost' | 'disposed' | 'stale-generation';
|
|
35
|
+
readonly detail?: unknown;
|
|
36
|
+
}
|
|
37
|
+
export interface ContinuationTerminator {
|
|
38
|
+
terminate(reason: ContinuationTerminationReason): boolean;
|
|
39
|
+
promise(): Promise<ContinuationTerminationReason>;
|
|
40
|
+
isTerminated(): boolean;
|
|
41
|
+
guard(kind: ContinuationKind): boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare function createContinuationTerminator(): ContinuationTerminator;
|
|
27
44
|
/**
|
|
28
45
|
* Run the four renderer stages behind one commit barrier. A stage can expose
|
|
29
46
|
* only a structured failure; the candidate is never published until submit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-frame-transaction.d.ts","sourceRoot":"","sources":["../../src/assembly/renderer-frame-transaction.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,SAAS,EAAE,CAAC,EACZ,OAAO,GAAE,MAAM,IAAsB,GACpC,wBAAwB,CAAC,CAAC,CAAC,CAe7B;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAClC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE/D,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer-frame-transaction.d.ts","sourceRoot":"","sources":["../../src/assembly/renderer-frame-transaction.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,SAAS,EAAE,CAAC,EACZ,OAAO,GAAE,MAAM,IAAsB,GACpC,wBAAwB,CAAC,CAAC,CAAC,CAe7B;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAClC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE/D,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAC;CACpD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;CAC1C;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAEtF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,GAAG,kBAAkB,CAAC;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC;IAC1D,OAAO,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAClD,YAAY,IAAI,OAAO,CAAC;IACxB,KAAK,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;CACxC;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAiBrE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,CAAC,EAC/C,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAErC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAA;CAAE,CAyBpE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Result, RhiCanvasContext, RhiDevice } from '@forgeax/engine-rhi';
|
|
2
|
+
import { RhiError } from '@forgeax/engine-rhi';
|
|
3
|
+
import type { RhiErrorListenerRegistry } from '../lifecycle';
|
|
4
|
+
import { type PipelineState } from '../render-system';
|
|
5
|
+
/** Minimum device-bound surface contract needed by lazy context configuration. */
|
|
6
|
+
export interface RendererSurfaceInternals {
|
|
7
|
+
readonly device: RhiDevice;
|
|
8
|
+
readonly context: RhiCanvasContext;
|
|
9
|
+
readonly pack: {
|
|
10
|
+
readonly instrumentation?: {
|
|
11
|
+
readonly resolveSurfaceDevice?: (device: RhiDevice) => Result<RhiDevice, RhiError>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare function wrapDisposeError(cause: unknown, step: string): RhiError;
|
|
16
|
+
export declare function ensureContextConfigured(internals: RendererSurfaceInternals, state: PipelineState, errorRegistry: RhiErrorListenerRegistry, context?: RhiCanvasContext, device?: RhiDevice): Result<void, RhiError>;
|
|
17
|
+
export declare function runShimSyncStep<T>(fn: () => Result<T, RhiError>, fallbackCode: 'shader-compile-failed' | 'webgpu-runtime-error' | 'queue-write-buffer-out-of-bounds', expected: string, hint: string): Result<T, RhiError>;
|
|
18
|
+
export declare function runShimStep<T>(fn: () => Promise<Result<T, RhiError>>, fallbackCode: 'shader-compile-failed' | 'webgpu-runtime-error', expected: string, hint: string): Promise<Result<T, RhiError>>;
|
|
19
|
+
//# sourceMappingURL=renderer-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-helpers.d.ts","sourceRoot":"","sources":["../../src/assembly/renderer-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAW,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE,kFAAkF;AAClF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,eAAe,CAAC,EAAE;YACzB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SACpF,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAQvE;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,wBAAwB,EACnC,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,gBAAoC,EAC7C,MAAM,GAAE,SAA4B,GACnC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAqBxB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,EAC7B,YAAY,EACR,uBAAuB,GACvB,sBAAsB,GACtB,kCAAkC,EACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAcrB;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EACtC,YAAY,EAAE,uBAAuB,GAAG,sBAAsB,EAC9D,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAc9B"}
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
import type { RendererState } from '../render-contract';
|
|
2
2
|
/** Lifecycle states that may accept a new frame operation. */
|
|
3
3
|
export declare function isRendererStateOperational(state: RendererState): boolean;
|
|
4
|
+
export declare const RECOVERY_TOTAL_DEADLINE_MS = 20000;
|
|
5
|
+
export declare const RECOVERY_ADAPTER_DEADLINE_MS = 10000;
|
|
6
|
+
export declare const RECOVERY_DEVICE_DEADLINE_MS = 10000;
|
|
7
|
+
export declare const RECOVERY_PHASES: readonly ["quiesce", "acquire-adapter", "acquire-device", "rehydrate", "compile-graph", "publish", "cleanup"];
|
|
8
|
+
export type RecoveryPhase = (typeof RECOVERY_PHASES)[number];
|
|
9
|
+
export type RecoveryGuidance = 'retry' | 'repair-owner' | 'rebuild-renderer';
|
|
10
|
+
export interface RendererLifecycle {
|
|
11
|
+
state(): RendererState;
|
|
12
|
+
transition(next: RendererState): boolean;
|
|
13
|
+
states(): readonly RendererState[];
|
|
14
|
+
}
|
|
15
|
+
export declare function createRendererLifecycle(initial?: RendererState): RendererLifecycle;
|
|
16
|
+
export interface RecoveryDeadline {
|
|
17
|
+
readonly startedAt: number;
|
|
18
|
+
readonly totalDeadlineMs: number;
|
|
19
|
+
readonly adapterDeadlineMs: number;
|
|
20
|
+
readonly deviceDeadlineMs: number;
|
|
21
|
+
readonly deadlineAt: number;
|
|
22
|
+
beginDeviceAcquisition(now: number): void;
|
|
23
|
+
isValid(phase: RecoveryPhase, now: number): boolean;
|
|
24
|
+
elapsed(now: number): number;
|
|
25
|
+
}
|
|
26
|
+
export declare function createRecoveryDeadline(startedAt: number): RecoveryDeadline;
|
|
27
|
+
export interface RecoveryContinuation {
|
|
28
|
+
isValid(phase: RecoveryPhase, now: number): boolean;
|
|
29
|
+
abandon(now: number): void;
|
|
30
|
+
cleanupOnce(): void;
|
|
31
|
+
}
|
|
32
|
+
export declare function createRecoveryContinuation(deadline: RecoveryDeadline, cleanup: () => void): RecoveryContinuation;
|
|
33
|
+
export interface SingleFlight<T> {
|
|
34
|
+
run(): Promise<T>;
|
|
35
|
+
inFlight(): Promise<T> | undefined;
|
|
36
|
+
}
|
|
37
|
+
export declare function createSingleFlight<T>(factory: () => Promise<T>): SingleFlight<T>;
|
|
4
38
|
//# sourceMappingURL=renderer-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-lifecycle.d.ts","sourceRoot":"","sources":["../../src/assembly/renderer-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,8DAA8D;AAC9D,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAExE"}
|
|
1
|
+
{"version":3,"file":"renderer-lifecycle.d.ts","sourceRoot":"","sources":["../../src/assembly/renderer-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,8DAA8D;AAC9D,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAExE;AAED,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,eAAO,MAAM,eAAe,+GAQlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAkB7E,MAAM,WAAW,iBAAiB;IAChC,KAAK,IAAI,aAAa,CAAC;IACvB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IACzC,MAAM,IAAI,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,aAAuB,GAAG,iBAAiB,CAc3F;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CA4B1E;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,IAAI,IAAI,CAAC;CACrB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,IAAI,GAClB,oBAAoB,CAqBtB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAClB,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAwBhF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Result, RhiError, ShaderModule } from '@forgeax/engine-rhi';
|
|
2
|
+
import { type MaterialShaderManifestEntry } from '@forgeax/engine-shader';
|
|
3
|
+
/** Minimum sampled-texture limit needed by Standard transmission variants. */
|
|
4
|
+
export declare const STANDARD_PBR_REQUIRED_SAMPLED_TEXTURES = 17;
|
|
5
|
+
/** Select HDRP variants that must be seeded during ready-state construction. */
|
|
6
|
+
export declare function selectHdrpPbrPrewarmVariants(manifestEntry: MaterialShaderManifestEntry | undefined, storageBufferCapable: boolean, extendedLightingShaderAvailableOrTransmissionCapable?: boolean, transmissionCapable?: boolean, directionalPcssAvailable?: boolean, projectorAvailable?: boolean): readonly MaterialShaderManifestEntry['variants'][number][];
|
|
7
|
+
/** Return every active-capability pbr-skin variant used by URP and HDRP draws. */
|
|
8
|
+
export declare function selectSkinPrewarmVariants(manifestEntry: MaterialShaderManifestEntry | undefined, storageBufferCapable: boolean): readonly MaterialShaderManifestEntry['variants'][number][];
|
|
9
|
+
/** Select probe-enabled material modules for recovery candidate prewarming. */
|
|
10
|
+
export declare function selectProbePrewarmVariants(manifestEntry: MaterialShaderManifestEntry | undefined, storageBufferCapable: boolean, extendedLightingShaderAvailable?: boolean, transmissionCapable?: boolean, directionalPcssAvailable?: boolean, projectorAvailable?: boolean, webgl2Downlevel?: boolean): readonly MaterialShaderManifestEntry['variants'][number][];
|
|
11
|
+
/** Compile and seed a selected material-shader variant set without duplicate modules. */
|
|
12
|
+
export declare function prewarmMaterialShaderVariants(variants: readonly MaterialShaderManifestEntry['variants'][number][], prewarmedModules: Map<string, ShaderModule>, compile: (variant: MaterialShaderManifestEntry['variants'][number], moduleLabel: string) => Promise<Result<ShaderModule, RhiError>>, seed: (moduleLabel: string, module: ShaderModule) => void): Promise<void>;
|
|
13
|
+
/** Select the declared Standard URP transmission variants for exact prewarm. */
|
|
14
|
+
export declare function selectStandardPbrTransmissionPrewarmVariants(manifestEntry: MaterialShaderManifestEntry | undefined, storageBufferCapable: boolean, directionalPcssAvailable?: boolean, projectorAvailable?: boolean, extendedLightingShaderAvailable?: boolean): readonly MaterialShaderManifestEntry['variants'][number][];
|
|
15
|
+
//# sourceMappingURL=shader-prewarm-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shader-prewarm-policy.d.ts","sourceRoot":"","sources":["../../src/assembly/shader-prewarm-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAoB,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE5F,8EAA8E;AAC9E,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAEzD,gFAAgF;AAChF,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,2BAA2B,GAAG,SAAS,EACtD,oBAAoB,EAAE,OAAO,EAC7B,oDAAoD,UAAO,EAC3D,mBAAmB,UAAO,EAC1B,wBAAwB,UAAO,EAC/B,kBAAkB,GAAE,OAAc,GACjC,SAAS,2BAA2B,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CA2B5D;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,2BAA2B,GAAG,SAAS,EACtD,oBAAoB,EAAE,OAAO,GAC5B,SAAS,2BAA2B,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAS5D;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,2BAA2B,GAAG,SAAS,EACtD,oBAAoB,EAAE,OAAO,EAC7B,+BAA+B,UAAO,EACtC,mBAAmB,UAAO,EAC1B,wBAAwB,UAAO,EAC/B,kBAAkB,GAAE,OAAc,EAClC,eAAe,UAAQ,GACtB,SAAS,2BAA2B,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAmB5D;AAED,yFAAyF;AACzF,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,SAAS,2BAA2B,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,EACpE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,OAAO,EAAE,CACP,OAAO,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EACxD,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,EAC5C,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,GACxD,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,gFAAgF;AAChF,wBAAgB,4CAA4C,CAC1D,aAAa,EAAE,2BAA2B,GAAG,SAAS,EACtD,oBAAoB,EAAE,OAAO,EAC7B,wBAAwB,UAAO,EAC/B,kBAAkB,GAAE,OAAc,EAClC,+BAA+B,UAAO,GACrC,SAAS,2BAA2B,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAkC5D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Generation-scoped buffer and attachment constants used by the ready builder. */
|
|
2
|
+
export declare const VIEW_UBO_BYTES: number;
|
|
3
|
+
export declare const MIPMAP_PREWARM_FORMATS: readonly GPUTextureFormat[];
|
|
4
|
+
export declare const BRIGHT_PARAMS_BYTES = 16;
|
|
5
|
+
export declare const BLUR_PARAMS_BYTES = 16;
|
|
6
|
+
export declare const COMPOSITE_PARAMS_BYTES = 16;
|
|
7
|
+
export declare const HDR_COLOR_ATTACHMENT_FORMAT: GPUTextureFormat;
|
|
8
|
+
export declare const DEPTH_TEXTURE_FORMAT: GPUTextureFormat;
|
|
9
|
+
//# sourceMappingURL=webgpu-ready-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgpu-ready-contract.d.ts","sourceRoot":"","sources":["../../src/assembly/webgpu-ready-contract.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,eAAO,MAAM,cAAc,QAA2B,CAAC;AACvD,eAAO,MAAM,sBAAsB,EAAE,SAAS,gBAAgB,EAI7D,CAAC;AACF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,EAAE,gBAAgC,CAAC;AAC3E,eAAO,MAAM,oBAAoB,EAAE,gBAAyC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { RenderPipeline, Result, RhiDevice, ShaderModule } from '@forgeax/engine-rhi';
|
|
2
|
+
import { RhiError } from '@forgeax/engine-rhi';
|
|
3
|
+
import { type ShaderCatalog } from '@forgeax/engine-shader';
|
|
4
|
+
export type { MaterialShaderManifestEntry } from '@forgeax/engine-shader';
|
|
5
|
+
import type { GpuResidencyCache } from '../device/gpu-residency';
|
|
6
|
+
import type { DeviceScope, RhiErrorListenerRegistry } from '../lifecycle';
|
|
7
|
+
import { type PipelineGroup2Contract } from '../pbr-pipeline';
|
|
8
|
+
import { type VolumetricFogShaderSources } from '../render-contract';
|
|
9
|
+
import { type PipelineState } from '../render-system';
|
|
10
|
+
import { type MeshSsboGrowResult, type MeshSsboState } from './mesh-ssbo-grow';
|
|
11
|
+
/**
|
|
12
|
+
* Build the `Renderer.initialization` Promise (D-S3 three-step strict-serial chain).
|
|
13
|
+
*
|
|
14
|
+
* Steps run in order; each rejection short-circuits the chain and the
|
|
15
|
+
* resulting Promise rejects with a structured `RhiError` / `ShaderError`.
|
|
16
|
+
* AI users `await renderer.initialization` once before the first `draw(world)` call;
|
|
17
|
+
* subsequent frames may skip the await (the Promise stays resolved).
|
|
18
|
+
*
|
|
19
|
+
* Step 1 (manifest load): `shader.loadManifest()` populates the runtime
|
|
20
|
+
* registry. Failure = `ShaderError 'manifest-malformed'` /
|
|
21
|
+
* `'shader-not-found'`.
|
|
22
|
+
*
|
|
23
|
+
* Step 2 (pipeline compile): synthesises the PBR pipeline (3 BindGroupLayout
|
|
24
|
+
* + 1 PipelineLayout + 1 ShaderModule + 1 RenderPipeline). Failure =
|
|
25
|
+
* `RhiError 'shader-compile-failed'` / `'feature-not-enabled'` /
|
|
26
|
+
* `'limit-exceeded'`.
|
|
27
|
+
*
|
|
28
|
+
* Step 3 (asset upload): allocates GPU buffers for the builtin cube and
|
|
29
|
+
* triangle meshes via `device.createBuffer` + `queue.writeBuffer`. Failure
|
|
30
|
+
* = `RhiError 'limit-exceeded'` / `'webgpu-runtime-error'` /
|
|
31
|
+
* `'queue-write-buffer-out-of-bounds'`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function buildReadyWebGPU(rhiDevice: RhiDevice, rendererScope: DeviceScope, getShader: () => ShaderCatalog, gpuStore: GpuResidencyCache, asyncCreateShaderModule: ((device: RhiDevice, desc: {
|
|
34
|
+
code: string;
|
|
35
|
+
label?: string | undefined;
|
|
36
|
+
}) => Promise<Result<ShaderModule, RhiError>>) | undefined, errorRegistry: RhiErrorListenerRegistry,
|
|
37
|
+
/**
|
|
38
|
+
* Material shader modules declared by producer features. These are compiled
|
|
39
|
+
* during Renderer.initialization so prepared graphics do not fail on their first
|
|
40
|
+
* frame while the shared async shader adapter is still warming up.
|
|
41
|
+
*/
|
|
42
|
+
requiredMaterialShaders: readonly string[],
|
|
43
|
+
/** Fullscreen feature modules compiled before the first synchronous frame. */
|
|
44
|
+
requiredFullscreenPostProcesses: readonly {
|
|
45
|
+
readonly identity: string;
|
|
46
|
+
readonly source: string;
|
|
47
|
+
}[], setGrowMeshSsboHook: (hook: (neededSlots: number) => MeshSsboGrowResult, state: MeshSsboState) => void, seedShaderModule: (label: string, module: ShaderModule) => void, seedMaterialShaderPipelineCache: (key: string, pso: RenderPipeline, group2Contract: PipelineGroup2Contract) => void, registerBuiltinTonemap: (source: string) => void,
|
|
48
|
+
/** Register the special FXAA pass' final-output policy params UBO. */
|
|
49
|
+
registerBuiltinFxaa: (source: string) => void, registerBuiltinTemporalPostProcesses: (entries: {
|
|
50
|
+
readonly motionBlur?: string;
|
|
51
|
+
readonly taaResolve?: string;
|
|
52
|
+
}) => void,
|
|
53
|
+
/** Install manifest-owned volume utility sources only after all four modules compile. */
|
|
54
|
+
setVolumetricFogShaderSources: (sources: VolumetricFogShaderSources) => void): Promise<PipelineState>;
|
|
55
|
+
//# sourceMappingURL=webgpu-ready.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgpu-ready.d.ts","sourceRoot":"","sources":["../../src/assembly/webgpu-ready.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAKV,cAAc,EACd,MAAM,EACN,SAAS,EAET,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAM,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI9E,YAAY,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAwBjF,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAIL,KAAK,sBAAsB,EAE5B,MAAM,iBAAiB,CAAC;AAmBzB,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAC;AAkB1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,WAAW,EAC1B,SAAS,EAAE,MAAM,aAAa,EAC9B,QAAQ,EAAE,iBAAiB,EAC3B,uBAAuB,EACnB,CAAC,CACC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAC/C,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GAC7C,SAAS,EACb,aAAa,EAAE,wBAAwB;AACvC;;;;GAIG;AACH,uBAAuB,EAAE,SAAS,MAAM,EAAE;AAC1C,8EAA8E;AAC9E,+BAA+B,EAAE,SAAS;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,EAAE,EAUH,mBAAmB,EAAE,CACnB,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,kBAAkB,EACjD,KAAK,EAAE,aAAa,KACjB,IAAI,EAQT,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,EAQ/D,+BAA+B,EAAE,CAC/B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,sBAAsB,KACnC,IAAI,EAST,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;AAChD,sEAAsE;AACtE,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAC7C,oCAAoC,EAAE,CAAC,OAAO,EAAE;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,KAAK,IAAI;AACV,yFAAyF;AACzF,6BAA6B,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,IAAI,GAC3E,OAAO,CAAC,aAAa,CAAC,CAwwHxB"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { RhiCanvasContext, RhiDevice } from '@forgeax/engine-rhi';
|
|
2
|
+
import { RhiError } from '@forgeax/engine-rhi';
|
|
3
|
+
import type { ImportTransport } from '@forgeax/engine-types';
|
|
4
|
+
export type { MaterialShaderManifestEntry } from '@forgeax/engine-shader';
|
|
5
|
+
import type { DeviceResourceKind } from '../device/resource-types';
|
|
6
|
+
import { type RenderFeatureHost } from '../features/host';
|
|
7
|
+
import { HealthListenerRegistry, LostListenerRegistry, RhiErrorListenerRegistry } from '../lifecycle';
|
|
8
|
+
import type { RecoveryColdWorkGuard } from '../record/render-context';
|
|
9
|
+
import type { RenderDebugOverlay, RendererOptions, VolumetricFogShaderSources } from '../render-contract';
|
|
10
|
+
import type { RhiBackendPack } from './backend-contract';
|
|
11
|
+
import type { BundlerOptions } from './bundler-contract';
|
|
12
|
+
import type { RendererAssemblyImplementation } from './host-contract';
|
|
13
|
+
import type { MeshSsboGrowResult, MeshSsboState } from './mesh-ssbo-grow';
|
|
14
|
+
import { type RecoveryGuidance, type RecoveryPhase } from './renderer-lifecycle';
|
|
15
|
+
export type { BundlerOptions } from './bundler-contract';
|
|
16
|
+
export { assembleMaterialProjection } from './material/assembly';
|
|
17
|
+
export { projectMaterialPipeline, routeMaterialPipeline, updateMaterialRuntimeValues, } from './material/pipeline-projection';
|
|
18
|
+
export type { LayoutKind, MaterialShaderBindingContract, MaterialShaderVertexInputContract, } from './material-shader-policy';
|
|
19
|
+
export { allowsUnlitPreparedFallback, isSharedMaterialUserRegionCompatible, normalizeMaterialShaderVariantSet, resolveMaterialShaderBackendArtifactKey, resolveMaterialShaderBindingContract, resolveMaterialShaderUvSetCount, resolveMaterialShaderVariantSet, resolveMaterialShaderVertexInputContract, selectNoColorPbrVariant, selectPipelineLayoutForVariant, shouldDeferMissingPreparedMaterialShader, } from './material-shader-policy';
|
|
20
|
+
export type { MeshSsboBufferWrapper, MeshSsboGrowController, MeshSsboGrowControllerInit, MeshSsboGrowDevice, MeshSsboGrowErrorRegistry, MeshSsboGrowResult, MeshSsboState, } from './mesh-ssbo-grow';
|
|
21
|
+
export { createMeshSsboGrowController, deriveStorageBufferCeiling, INITIAL_MESH_SSBO_SLOT_COUNT, requireMeshSsboBuffer, } from './mesh-ssbo-grow';
|
|
22
|
+
export { exposeRenderer } from './renderer-facade';
|
|
23
|
+
export { selectHdrpPbrPrewarmVariants, selectProbePrewarmVariants, selectSkinPrewarmVariants, selectStandardPbrTransmissionPrewarmVariants, } from './shader-prewarm-policy';
|
|
24
|
+
/**
|
|
25
|
+
* Bundler-layer injection accepted by `createRenderer` (and proxied by
|
|
26
|
+
* `createApp`) as the optional third argument.
|
|
27
|
+
*
|
|
28
|
+
* feat-20260608-create-app-param-surface-trim / M2 / D-3: aggregates the two
|
|
29
|
+
* host-injected build-tool channels:
|
|
30
|
+
*
|
|
31
|
+
* - shaderManifestUrl: the URL the host's vite-plugin-shader emit step
|
|
32
|
+
* wrote `manifest.json` to. When this field is omitted (or `bundler`
|
|
33
|
+
* itself is omitted), createRenderer falls back to
|
|
34
|
+
* '/shaders/manifest.json' (D-2 q5-A) so the LO 1.1 zero-config takeoff
|
|
35
|
+
* path keeps working without explicit injection. Tests can inject via a
|
|
36
|
+
* `data:application/json,...` URL to bypass fetch.
|
|
37
|
+
*
|
|
38
|
+
* - importTransport: dev-only ImportTransport forwarded verbatim to the
|
|
39
|
+
* AssetRegistry third ctor slot so DDC-miss assets can lazy-import.
|
|
40
|
+
* Absent => shipped form (a DDC miss fails fast with `asset-not-imported`).
|
|
41
|
+
*
|
|
42
|
+
* The interface is structurally shared with `@forgeax/engine-app` while this
|
|
43
|
+
* package keeps the renderer independent from the host package.
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* Wire the spec `device.lost` Promise into the lost / error / health channels
|
|
47
|
+
* (research §F-4 / R2). A genuine device loss fans out through `errorRegistry`
|
|
48
|
+
* so the public `renderer.subscribe` error event triggers, and
|
|
49
|
+
* through `healthRegistry` so `health().reason` flips to `'device-lost'`
|
|
50
|
+
* (feat-20260622-s5 M1/M2). Explicit renderer teardown is observable through
|
|
51
|
+
* `onLost`, but is not a runtime error and must not manufacture an RhiError.
|
|
52
|
+
*
|
|
53
|
+
* Extracted to a single helper (SSOT) so the createRenderer assembly path AND
|
|
54
|
+
* the recover() rebuild path attach byte-identical fan-out to whichever device
|
|
55
|
+
* is current — recover() mints a fresh device whose own `lost` Promise must be
|
|
56
|
+
* re-wired to the SAME registries the host already subscribed to.
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* tryCreateWebGPURenderer returns three kinds of outcome (fix-f1 / w16):
|
|
60
|
+
* - `ok` → Renderer created successfully
|
|
61
|
+
* - `rhi-err` → RHI Result.err path (preserves the original RhiError
|
|
62
|
+
* for AI consumers to read; now includes context acquisition
|
|
63
|
+
* failures via pack.rhi.acquireCanvasContext)
|
|
64
|
+
* - `throw` → exception path (caught and wrapped by the caller as
|
|
65
|
+
* an Error)
|
|
66
|
+
*/
|
|
67
|
+
export type WebGPUOutcome = {
|
|
68
|
+
kind: 'ok';
|
|
69
|
+
renderer: RendererAssemblyImplementation;
|
|
70
|
+
} | {
|
|
71
|
+
kind: 'rhi-err';
|
|
72
|
+
error: RhiError;
|
|
73
|
+
} | {
|
|
74
|
+
kind: 'throw';
|
|
75
|
+
error: Error;
|
|
76
|
+
};
|
|
77
|
+
export declare function tryCreateWebGPURenderer(canvas: HTMLCanvasElement | OffscreenCanvas, options: RendererOptions | undefined, pack: RhiBackendPack, bundler: BundlerOptions | undefined): Promise<WebGPUOutcome>;
|
|
78
|
+
export interface WebGPURendererInternals {
|
|
79
|
+
canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
80
|
+
device: RhiDevice;
|
|
81
|
+
context: RhiCanvasContext;
|
|
82
|
+
options: RendererOptions | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* feat-20260608-create-app-param-surface-trim / M2 / D-3: BundlerOptions
|
|
85
|
+
* forwarded verbatim from createRenderer's third arg. Carries
|
|
86
|
+
* shaderManifestUrl (host-injected vite-plugin-shader emit URL; absent =>
|
|
87
|
+
* createRenderer falls back to '/shaders/manifest.json') and the
|
|
88
|
+
* importTransport that previously rode a dedicated internal slot.
|
|
89
|
+
*/
|
|
90
|
+
bundler: BundlerOptions | undefined;
|
|
91
|
+
lostRegistry: LostListenerRegistry;
|
|
92
|
+
errorRegistry: RhiErrorListenerRegistry;
|
|
93
|
+
healthRegistry: HealthListenerRegistry;
|
|
94
|
+
/** M3 D-P4 auto-select pack — carries the dynamic-imported rhi-webgpu / rhi-wgpu singleton + optional async shader factory. */
|
|
95
|
+
pack: RhiBackendPack;
|
|
96
|
+
/**
|
|
97
|
+
* feat-20260604-hdr-equirect-cube-importer-loader M4 / w16 (D-3): the
|
|
98
|
+
* dev-only ImportTransport, forwarded verbatim from createRenderer to the
|
|
99
|
+
* AssetRegistry third ctor slot. `undefined` keeps the shipped form (DDC
|
|
100
|
+
* miss fails fast with `asset-not-imported`, AC-08).
|
|
101
|
+
*/
|
|
102
|
+
importTransport?: ImportTransport | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* feat-20260608-mesh-ssbo-dynamic-grow-l1-lift-1024-entity-cap M2 / T-M2-05:
|
|
105
|
+
* mesh-SSBO grow hook surfaced by `makeWebGPURenderer` after the controller
|
|
106
|
+
* is constructed. Undefined before `makeWebGPURenderer` runs; populated by
|
|
107
|
+
* the time the renderer is returned to the caller. M3's record stage reads
|
|
108
|
+
* this field via the runtime path that bridges into render-system-record.ts
|
|
109
|
+
* (the bridging plumbing is in M3's targetFiles).
|
|
110
|
+
*
|
|
111
|
+
* Returns `{ ok: true }` when the grow completed (or short-circuited
|
|
112
|
+
* idempotently); `{ ok: false, code }` with a fired structured error
|
|
113
|
+
* (`MeshSsboCeilingReachedError` or `MeshSsboCapacityExceededError`) when
|
|
114
|
+
* the request cannot be satisfied. Never throws (D-5).
|
|
115
|
+
*/
|
|
116
|
+
growMeshSsbo?: (neededSlots: number) => MeshSsboGrowResult;
|
|
117
|
+
/**
|
|
118
|
+
* feat-20260608-mesh-ssbo-dynamic-grow-l1-lift-1024-entity-cap M3 / T-M3-04:
|
|
119
|
+
* read-only handle to the grow controller's state (slotCount + wrapper
|
|
120
|
+
* refs), surfaced alongside `growMeshSsbo` so `ensureMeshSsboCapacity`
|
|
121
|
+
* (record-stage wiring) can short-circuit when slotCount already covers the
|
|
122
|
+
* frame's renderable count and so the dev-mode info log can report the
|
|
123
|
+
* before/after slot count transition. Undefined until buildReadyWebGPU
|
|
124
|
+
* has wired the controller; identity stable across grow events.
|
|
125
|
+
*/
|
|
126
|
+
meshSsboState?: MeshSsboState;
|
|
127
|
+
/** Host-owned producer features; created before device-bound assembly starts. */
|
|
128
|
+
featureHost?: RenderFeatureHost;
|
|
129
|
+
/** App-owned overlay capability read by the typed graph at frame time. */
|
|
130
|
+
debugOverlay?: RenderDebugOverlay;
|
|
131
|
+
/** Composed renderer utility sources installed atomically at build-ready. */
|
|
132
|
+
volumetricFogShaders?: VolumetricFogShaderSources | undefined;
|
|
133
|
+
gpuPassTimingSubmittedWork?: Promise<void> | undefined;
|
|
134
|
+
lossObserver: {
|
|
135
|
+
current?: (detail: string) => void;
|
|
136
|
+
};
|
|
137
|
+
generationState: {
|
|
138
|
+
current: number;
|
|
139
|
+
onStaleLoss?: () => void;
|
|
140
|
+
};
|
|
141
|
+
recoveryColdWorkGuard?: RecoveryColdWorkGuard | undefined;
|
|
142
|
+
getMaterialShaderUvSetCount?: (materialShaderId: string) => number | undefined;
|
|
143
|
+
}
|
|
144
|
+
export interface RecoveryFailureLocation {
|
|
145
|
+
readonly phase: RecoveryPhase;
|
|
146
|
+
readonly retryable: boolean;
|
|
147
|
+
readonly guidance: RecoveryGuidance;
|
|
148
|
+
readonly owner: string;
|
|
149
|
+
readonly resourceKind: DeviceResourceKind;
|
|
150
|
+
readonly cause: unknown;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=webgpu-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgpu-renderer.d.ts","sourceRoot":"","sources":["../../src/assembly/webgpu-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { GpuVertexBufferLayoutEntry } from '@forgeax/engine-geometry';
|
|
2
|
+
import type { VertexAttributeMap } from '@forgeax/engine-types';
|
|
3
|
+
export declare const PBR_SKIN_SENTINEL_ATTR_BUFFER: ArrayBuffer;
|
|
4
|
+
/** Default 4-attribute vertex layout used as fallback when meshAttributes is undefined. */
|
|
5
|
+
export declare const DEFAULT_VERTEX_ATTRS: VertexAttributeMap;
|
|
6
|
+
export declare const PREPARED_INSTANCE_VERTEX_ATTRS: VertexAttributeMap;
|
|
7
|
+
export declare const PREPARED_MATERIAL_INSTANCE_VERTEX_ATTRS: VertexAttributeMap;
|
|
8
|
+
export declare const POSITION_SIZE_COLOR_INSTANCE_VERTEX_BUFFERS: {
|
|
9
|
+
arrayStride: number;
|
|
10
|
+
stepMode: "instance";
|
|
11
|
+
attributes: ({
|
|
12
|
+
shaderLocation: number;
|
|
13
|
+
offset: number;
|
|
14
|
+
format: "float32x3";
|
|
15
|
+
} | {
|
|
16
|
+
shaderLocation: number;
|
|
17
|
+
offset: number;
|
|
18
|
+
format: "float32x2";
|
|
19
|
+
} | {
|
|
20
|
+
shaderLocation: number;
|
|
21
|
+
offset: number;
|
|
22
|
+
format: "float32x4";
|
|
23
|
+
})[];
|
|
24
|
+
}[];
|
|
25
|
+
export declare const BILLBOARD_MATERIAL_INSTANCE_VERTEX_BUFFERS: {
|
|
26
|
+
arrayStride: number;
|
|
27
|
+
stepMode: "instance";
|
|
28
|
+
attributes: ({
|
|
29
|
+
shaderLocation: number;
|
|
30
|
+
offset: number;
|
|
31
|
+
format: "float32x3";
|
|
32
|
+
} | {
|
|
33
|
+
shaderLocation: number;
|
|
34
|
+
offset: number;
|
|
35
|
+
format: "float32x2";
|
|
36
|
+
} | {
|
|
37
|
+
shaderLocation: number;
|
|
38
|
+
offset: number;
|
|
39
|
+
format: "float32x4";
|
|
40
|
+
})[];
|
|
41
|
+
}[];
|
|
42
|
+
export declare const TOPOLOGY_SEGMENT_INSTANCE_VERTEX_BUFFERS: {
|
|
43
|
+
arrayStride: number;
|
|
44
|
+
stepMode: "instance";
|
|
45
|
+
attributes: ({
|
|
46
|
+
shaderLocation: number;
|
|
47
|
+
offset: number;
|
|
48
|
+
format: "float32x3";
|
|
49
|
+
} | {
|
|
50
|
+
shaderLocation: number;
|
|
51
|
+
offset: number;
|
|
52
|
+
format: "float32x4";
|
|
53
|
+
} | {
|
|
54
|
+
shaderLocation: number;
|
|
55
|
+
offset: number;
|
|
56
|
+
format: "float32x2";
|
|
57
|
+
})[];
|
|
58
|
+
}[];
|
|
59
|
+
export declare const MESH_GEOMETRY_MATERIAL_INSTANCE_VERTEX_BUFFERS: ({
|
|
60
|
+
arrayStride: number;
|
|
61
|
+
stepMode: "vertex";
|
|
62
|
+
attributes: ({
|
|
63
|
+
shaderLocation: number;
|
|
64
|
+
offset: number;
|
|
65
|
+
format: "float32x3";
|
|
66
|
+
} | {
|
|
67
|
+
shaderLocation: number;
|
|
68
|
+
offset: number;
|
|
69
|
+
format: "float32x2";
|
|
70
|
+
} | {
|
|
71
|
+
shaderLocation: number;
|
|
72
|
+
offset: number;
|
|
73
|
+
format: "float32x4";
|
|
74
|
+
})[];
|
|
75
|
+
} | {
|
|
76
|
+
arrayStride: number;
|
|
77
|
+
stepMode: "instance";
|
|
78
|
+
attributes: ({
|
|
79
|
+
shaderLocation: number;
|
|
80
|
+
offset: number;
|
|
81
|
+
format: "float32x3";
|
|
82
|
+
} | {
|
|
83
|
+
shaderLocation: number;
|
|
84
|
+
offset: number;
|
|
85
|
+
format: "float32x4";
|
|
86
|
+
})[];
|
|
87
|
+
})[];
|
|
88
|
+
export declare function toGpuVertexBufferLayouts(entries: readonly GpuVertexBufferLayoutEntry[]): readonly GPUVertexBufferLayout[];
|
|
89
|
+
//# sourceMappingURL=webgpu-vertex-layouts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgpu-vertex-layouts.d.ts","sourceRoot":"","sources":["../../src/assembly/webgpu-vertex-layouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAOhE,eAAO,MAAM,6BAA6B,aAAqB,CAAC;AAEhE,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB,EAAE,kBAKlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAM5C,CAAC;AAEF,eAAO,MAAM,uCAAuC,EAAE,kBAOrD,CAAC;AAEF,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;;;GAUZ,CAAC;AAE7C,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;GAgBX,CAAC;AAE7C,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;GAWT,CAAC;AAE7C,eAAO,MAAM,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyBf,CAAC;AAgB7C,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,0BAA0B,EAAE,GAC7C,SAAS,qBAAqB,EAAE,CAUlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-decoders.d.ts","sourceRoot":"","sources":["../../src/assets/asset-decoders.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAK7B,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"asset-decoders.d.ts","sourceRoot":"","sources":["../../src/assets/asset-decoders.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAK7B,KAAK,aAAa,EAIlB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAwH/B,eAAO,MAAM,oBAAoB,EAAE,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAepF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,wBAAwB,CAAC,YAAY,EAAE,SAAS,CAUjF,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,wBAAwB,CAC/D,mBAAmB,EACnB,iBAAiB,CAgBlB,CAAC"}
|
package/dist/authoring.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { GlyphText, SpritePlayback, setActiveCamera, spritePlaybackModeFromU32 } from './chunk-FJ6P52EE.mjs';
|
|
2
2
|
export { SpriteAnimation, SpriteInstances, SpriteRegionOverride, TileLayer, Tilemap, TilemapSort } from './chunk-JDWARUOI.mjs';
|
|
3
3
|
export { TransparentSort } from './chunk-RXZ3RGOU.mjs';
|
|
4
|
-
export { SPRITE_PREMULTIPLIED_ALPHA_BLEND } from './chunk-
|
|
4
|
+
export { SPRITE_PREMULTIPLIED_ALPHA_BLEND } from './chunk-JSEDTZYS.mjs';
|
|
5
5
|
import { ok } from '@forgeax/engine-types';
|
|
6
6
|
|
|
7
7
|
function createFullscreenRenderFeature(options) {
|