@flighthq/render-wgpu 0.5.1-next.1350.8ce488b → 0.5.1-next.1404.457d1da

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 CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/render-wgpu`. The `@
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/render-wgpu@0.5.1-next.1350.8ce488b](https://github.com/flighthq/flight/tree/8ce488bfe444eded2fb281e7b9696e5ce7fabdc0/packages/render-wgpu)
17
- - [License](https://github.com/flighthq/flight/blob/8ce488bfe444eded2fb281e7b9696e5ce7fabdc0/LICENSE.md)
16
+ - [Source for @flighthq/render-wgpu@0.5.1-next.1404.457d1da](https://github.com/flighthq/flight/tree/457d1da918a60be5853b84eb6c25530a66662cef/packages/render-wgpu)
17
+ - [License](https://github.com/flighthq/flight/blob/457d1da918a60be5853b84eb6c25530a66662cef/LICENSE.md)
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
1
+ export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWebWgpuHostBackend, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
1
+ export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWebWgpuHostBackend, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -1,8 +1,4 @@
1
- import type { EntityConstruction, HostWgpuProvider } from '@flighthq/types/contract';
2
- export declare function createWebWgpuHostBackend(): HostWgpuProvider;
3
- export declare function getWgpuHostBackend(): HostWgpuProvider;
4
- export declare function initializeWebWgpuHostBackend(out: EntityConstruction<HostWgpuProvider>): void;
5
- export declare function installWgpuHostBackend(backend: HostWgpuProvider): void;
6
- export declare function resetWgpuHostBackendForTest(): void;
7
- export declare function setWgpuHostBackend(backend: HostWgpuProvider | null): void;
1
+ import type { EntityConstruction, HostWgpuCapability } from '@flighthq/types/contract';
2
+ export declare function createWebWgpuHostBackend(): HostWgpuCapability;
3
+ export declare function initializeWebWgpuHostBackend(out: EntityConstruction<HostWgpuCapability>): void;
8
4
  //# sourceMappingURL=wgpuHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuHost.d.ts","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI1G,wBAAgB,wBAAwB,IAAI,gBAAgB,CAI3D;AAED,wBAAgB,kBAAkB,IAAI,gBAAgB,CAErD;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CA4D5F;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAEtE;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAEzE"}
1
+ {"version":3,"file":"wgpuHost.d.ts","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE5G,wBAAgB,wBAAwB,IAAI,kBAAkB,CAI7D;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CA4D9F"}
package/dist/wgpuHost.js CHANGED
@@ -1,14 +1,9 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- // The explicit browser adapter. All WebGPU discovery and host-handle acquisition stays in this
3
- // function's call graph so render-state creation can also consume native caller-provided handles.
4
2
  export function createWebWgpuHostBackend() {
5
3
  const out = allocateEntity();
6
4
  initializeWebWgpuHostBackend(out);
7
5
  return finishEntity(out);
8
6
  }
9
- export function getWgpuHostBackend() {
10
- return _custom ?? _host ?? _web;
11
- }
12
7
  export function initializeWebWgpuHostBackend(out) {
13
8
  out.acquire = async (surface, options) => {
14
9
  const gpu = getWebWgpu();
@@ -71,20 +66,6 @@ export function initializeWebWgpuHostBackend(out) {
71
66
  acquisition.device.destroy();
72
67
  };
73
68
  }
74
- // First host wins and a custom backend installed through setWgpuHostBackend always takes precedence.
75
- export function installWgpuHostBackend(backend) {
76
- if (_host === null)
77
- _host = backend;
78
- }
79
- export function resetWgpuHostBackendForTest() {
80
- _custom = null;
81
- _host = null;
82
- }
83
- // Installs a process-wide custom backend. Clearing it reveals the first installed host, or the
84
- // built-in explicit web adapter when no host has been installed.
85
- export function setWgpuHostBackend(backend) {
86
- _custom = backend;
87
- }
88
69
  function getWebWgpu() {
89
70
  if (typeof navigator === 'undefined')
90
71
  return null;
@@ -95,7 +76,4 @@ function getWebWgpu() {
95
76
  return null;
96
77
  }
97
78
  }
98
- const _web = createWebWgpuHostBackend();
99
- let _custom = null;
100
- let _host = null;
101
79
  //# sourceMappingURL=wgpuHost.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuHost.js","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuHost.js","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { EntityConstruction, TextureWrap, WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuDeviceRuntime, WgpuDeviceRuntimeResources, WgpuDeviceState, WgpuHostAcquisition, WgpuHostAcquisitionOptions, WgpuOffscreenRenderStateResult, WgpuPipeline, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime, WgpuScreenSurface } from '@flighthq/types/contract';
2
- export declare function createWgpuAcquisition(surface: WgpuScreenSurface, options?: Readonly<WgpuHostAcquisitionOptions>): Promise<WgpuHostAcquisition | null>;
1
+ import type { EntityConstruction, HostWgpuCapability, TextureWrap, WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuDeviceRuntime, WgpuDeviceRuntimeResources, WgpuDeviceState, WgpuHostAcquisition, WgpuHostAcquisitionOptions, WgpuOffscreenRenderStateResult, WgpuPipeline, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime, WgpuScreenSurface } from '@flighthq/types/contract';
2
+ export declare function createWgpuAcquisition(wgpuHost: Readonly<HostWgpuCapability>, surface: WgpuScreenSurface, options?: Readonly<WgpuHostAcquisitionOptions>): Promise<WgpuHostAcquisition | null>;
3
3
  export declare function createWgpuDeviceState(device: GPUDevice): WgpuDeviceState;
4
4
  /**
5
5
  * Creates a device-only render state with its own frame-local resources.
@@ -27,9 +27,9 @@ export declare function initializeWgpuOffscreenRenderStateDeviceLostResult(out:
27
27
  export declare function initializeWgpuOffscreenRenderStateOkResult(out: EntityConstruction<Extract<WgpuOffscreenRenderStateResult, {
28
28
  reason: 'ok';
29
29
  }>>, state: WgpuRenderState): void;
30
- export declare function isWgpuSupported(): boolean;
30
+ export declare function isWgpuSupported(wgpuHost: Readonly<HostWgpuCapability>): boolean;
31
31
  export declare function registerWgpuDeviceTeardown(state: WgpuRenderState, teardown: (device: GPUDevice) => void): void;
32
32
  export declare function registerWgpuRenderStateTeardown(state: WgpuRenderState, teardown: (state: WgpuRenderState) => void): void;
33
- export declare function releaseWgpuAcquisition(acquisition: Readonly<WgpuHostAcquisition>): void;
33
+ export declare function releaseWgpuAcquisition(wgpuHost: Readonly<HostWgpuCapability>, acquisition: Readonly<WgpuHostAcquisition>): void;
34
34
  export declare function resolveWgpuApplyBlendMode(state: WgpuRenderState): WgpuRenderState['applyBlendMode'];
35
35
  //# sourceMappingURL=wgpuRenderState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import { createRenderState as _createRenderState, createRenderStateRuntime, dest
4
4
  import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
5
5
  import { observeWgpuDeviceLoss } from './wgpuDeviceLoss';
6
6
  import { warmWgpuPipelines } from './wgpuDraw';
7
- import { getWgpuHostBackend } from './wgpuHost';
8
7
  import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
9
8
  import { createWgpuBindGroupLayouts, UNIFORM_BYTE_SIZE } from './wgpuShader';
10
9
  // Ring buffer: 4096 draw slots per frame. Stride is clamped to at least 256 by the spec.
@@ -13,9 +12,9 @@ const RING_SLOT_COUNT = 4096;
13
12
  // ends their life with `releaseWgpuAcquisition`, and a state built on them leaves them intact when it is
14
13
  // destroyed. Returns `null` rather than throwing, because "this environment has no WebGPU" is an expected
15
14
  // outcome and not a programmer error.
16
- export async function createWgpuAcquisition(surface, options = {}) {
15
+ export async function createWgpuAcquisition(wgpuHost, surface, options = {}) {
17
16
  try {
18
- const acquired = await getWgpuHostBackend().acquire(surface, options);
17
+ const acquired = await wgpuHost.acquire(surface, options);
19
18
  const out = allocateEntity();
20
19
  initializeWgpuHostAcquisition(out, acquired, 'caller');
21
20
  return finishEntity(out);
@@ -67,8 +66,8 @@ export function createWgpuOffscreenRenderState(sourceOrDeviceState, pipeline, op
67
66
  // is a per-pass decision, so the screen target is created separately and flows in at beginWgpuRenderPass.
68
67
  //
69
68
  // Synchronous, because everything asynchronous (adapter and device discovery) happens before this call:
70
- // const acquisition = await createWgpuAcquisition(canvas);
71
- // const screen = createWgpuScreenRenderTarget(acquisition.device, canvas, { format: acquisition.format });
69
+ // const acquisition = await createWgpuAcquisition(webWgpuHost, canvas);
70
+ // const screen = createWgpuScreenRenderTarget(webWgpuHost, acquisition.device, canvas, { format: acquisition.format });
72
71
  // const state = createWgpuRenderState(acquisition.device, pipeline, { format: acquisition.format });
73
72
  export function createWgpuRenderState(device, pipeline, options = {}) {
74
73
  return initializeWgpuDeviceRenderState(createWgpuDeviceState(device), pipeline, options);
@@ -281,8 +280,8 @@ export function initializeWgpuOffscreenRenderStateOkResult(out, state) {
281
280
  out.reason = 'ok';
282
281
  out.state = state;
283
282
  }
284
- export function isWgpuSupported() {
285
- return getWgpuHostBackend().isSupported();
283
+ export function isWgpuSupported(wgpuHost) {
284
+ return wgpuHost.isSupported();
286
285
  }
287
286
  export function registerWgpuDeviceTeardown(state, teardown) {
288
287
  getWgpuRenderStateRuntime(state).context.teardowns.push(teardown);
@@ -320,8 +319,8 @@ function ensureWgpuDeviceRuntimeResources(runtime) {
320
319
  });
321
320
  }
322
321
  // The caller's own teardown for an acquisition they own. Unconditional by design: the caller is asking.
323
- export function releaseWgpuAcquisition(acquisition) {
324
- getWgpuHostBackend().release(acquisition);
322
+ export function releaseWgpuAcquisition(wgpuHost, acquisition) {
323
+ wgpuHost.release(acquisition);
325
324
  }
326
325
  function createMinimalDeviceRuntime(device) {
327
326
  const runtime = {
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderState.js","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderState.js","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import type { EntityConstruction, WgpuRenderState, WgpuRenderTarget, WgpuScreenRenderTarget, WgpuScreenRenderTargetOptions, WgpuScreenSurface } from '@flighthq/types/contract';
1
+ import type { EntityConstruction, HostWgpuCapability, WgpuRenderState, WgpuRenderTarget, WgpuScreenRenderTarget, WgpuScreenRenderTargetOptions, WgpuScreenSurface } from '@flighthq/types/contract';
2
2
  export declare function bindWgpuScreenRenderTarget(state: WgpuRenderState, target: WgpuScreenRenderTarget): GPUTextureView;
3
- export declare function createWgpuScreenRenderTarget(device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): WgpuScreenRenderTarget;
3
+ export declare function createWgpuScreenRenderTarget(wgpuHost: Readonly<HostWgpuCapability>, device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): WgpuScreenRenderTarget;
4
4
  export declare function destroyWgpuScreenRenderTarget(target: WgpuScreenRenderTarget): void;
5
5
  export declare function endWgpuScreenRenderTargetFrame(target: WgpuScreenRenderTarget): void;
6
- export declare function initializeWgpuScreenRenderTarget(out: EntityConstruction<WgpuScreenRenderTarget>, device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): void;
6
+ export declare function initializeWgpuScreenRenderTarget(out: EntityConstruction<WgpuScreenRenderTarget>, wgpuHost: Readonly<HostWgpuCapability>, device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): void;
7
7
  export declare function isWgpuScreenRenderTarget(target: Readonly<WgpuRenderTarget>): target is WgpuScreenRenderTarget;
8
8
  export declare function syncWgpuScreenRenderTargetExtent(target: WgpuScreenRenderTarget): void;
9
9
  //# sourceMappingURL=wgpuScreenRenderTarget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuScreenRenderTarget.d.ts","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,GAAG,cAAc,CAYjH;AAID,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,QAAQ,CAAC,6BAA6B,CAAM,GACpD,sBAAsB,CAIxB;AAKD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAYlF;AAID,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAEnF;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EAC/C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,QAAQ,CAAC,6BAA6B,CAAM,GACpD,IAAI,CA0CN;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,MAAM,IAAI,sBAAsB,CAE7G;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAIrF"}
1
+ {"version":3,"file":"wgpuScreenRenderTarget.d.ts","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,GAAG,cAAc,CAYjH;AAID,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,QAAQ,CAAC,6BAA6B,CAAM,GACpD,sBAAsB,CAIxB;AAKD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAYlF;AAID,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAEnF;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EAC/C,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,QAAQ,CAAC,6BAA6B,CAAM,GACpD,IAAI,CA0CN;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,MAAM,IAAI,sBAAsB,CAE7G;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAIrF"}
@@ -1,5 +1,4 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- import { getWgpuHostBackend } from './wgpuHost';
3
2
  // Acquires the color view a screen pass attaches to, sizing the target's storage to the surface first.
4
3
  // The returned view is the supersample texture when antialiasing is enabled and the presentation view
5
4
  // otherwise; either way `presentationView` names where the frame ultimately lands, so the submit can
@@ -18,9 +17,9 @@ export function bindWgpuScreenRenderTarget(state, target) {
18
17
  }
19
18
  // A screen target's whole point is that it presents; a texture target's is that it can be sampled. Both
20
19
  // creations are Entity allocations, so a factory is the only place either capability is decided.
21
- export function createWgpuScreenRenderTarget(device, surface, options = {}) {
20
+ export function createWgpuScreenRenderTarget(wgpuHost, device, surface, options = {}) {
22
21
  const out = allocateEntity();
23
- initializeWgpuScreenRenderTarget(out, device, surface, options);
22
+ initializeWgpuScreenRenderTarget(out, wgpuHost, device, surface, options);
24
23
  return finishEntity(out);
25
24
  }
26
25
  // Frees the GPU storage this target owns — depth-stencil, supersample, and capture — and unconfigures
@@ -44,12 +43,12 @@ export function destroyWgpuScreenRenderTarget(target) {
44
43
  export function endWgpuScreenRenderTargetFrame(target) {
45
44
  target.presentationView = null;
46
45
  }
47
- export function initializeWgpuScreenRenderTarget(out, device, surface, options = {}) {
46
+ export function initializeWgpuScreenRenderTarget(out, wgpuHost, device, surface, options = {}) {
48
47
  // The host owns how a surface yields a presentation context — the web adapter reaches for
49
48
  // getContext('webgpu'), a native host for its own swap chain — so the binding goes through the backend
50
49
  // rather than through a DOM call in the renderer.
51
50
  const format = options.format ?? 'bgra8unorm';
52
- const context = getWgpuHostBackend().attachSurface(surface, {
51
+ const context = wgpuHost.attachSurface(surface, {
53
52
  alphaMode: options.alphaMode ?? 'premultiplied',
54
53
  device,
55
54
  format,
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuScreenRenderTarget.js","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuScreenRenderTarget.js","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAmRlC,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,KAAK,GAAE,QAAQ,CAAC,iBAAiB,CAAuC,EACxE,OAAO,GAAE,QAAQ,CAAC,6BAA6B,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,GAC9E,cAAc,CAIhB;AAKD,wBAAgB,8BAA8B,CAAC,KAAK,SAAI,EAAE,MAAM,SAAI,GAAG,gBAAgB,CAUtF;AAED,wBAAsB,4BAA4B,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAO5G;AAID,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,QAAQ,CAAC,6BAA6B,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,EAC/E,KAAK,SAAM,EACX,MAAM,SAAM,GACX,sBAAsB,CAOxB;AAID,wBAAgB,eAAe,IAAI,IAAI,CAwCtC"}
1
+ {"version":3,"file":"wgpuTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAoRlC,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,KAAK,GAAE,QAAQ,CAAC,iBAAiB,CAAuC,EACxE,OAAO,GAAE,QAAQ,CAAC,6BAA6B,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,GAC9E,cAAc,CAIhB;AAKD,wBAAgB,8BAA8B,CAAC,KAAK,SAAI,EAAE,MAAM,SAAI,GAAG,gBAAgB,CAUtF;AAED,wBAAsB,4BAA4B,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAO5G;AAID,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,QAAQ,CAAC,6BAA6B,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,EAC/E,KAAK,SAAM,EACX,MAAM,SAAM,GACX,sBAAsB,CAUxB;AAKD,wBAAgB,eAAe,IAAI,IAAI,CAwCtC"}
@@ -1,3 +1,4 @@
1
+ import { createWebWgpuHostBackend } from './wgpuHost';
1
2
  import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
2
3
  import { beginWgpuRenderPass } from './wgpuRenderPass';
3
4
  import { createWgpuAcquisition, createWgpuRenderState } from './wgpuRenderState';
@@ -243,7 +244,7 @@ export async function createWgpuRenderStateForTest(options = {}) {
243
244
  const canvas = document.createElement('canvas');
244
245
  canvas.width = 800;
245
246
  canvas.height = 600;
246
- const acquisition = await createWgpuAcquisition(canvas);
247
+ const acquisition = await createWgpuAcquisition(_testWgpuBackend, canvas);
247
248
  if (acquisition === null)
248
249
  throw new Error('createWgpuRenderStateForTest: the mock adapter refused a device');
249
250
  return createWgpuRenderState(acquisition.device, _testWgpuPipeline, { format: acquisition.format, ...options });
@@ -254,11 +255,15 @@ export function createWgpuScreenRenderTargetForTest(state, options = {}, width =
254
255
  const canvas = document.createElement('canvas');
255
256
  canvas.width = width;
256
257
  canvas.height = height;
257
- const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: state.format, ...options });
258
+ const screen = createWgpuScreenRenderTarget(_testWgpuBackend, state.device, canvas, {
259
+ format: state.format,
260
+ ...options,
261
+ });
258
262
  if (options.antialias === true)
259
263
  enableWgpuScreenRenderTargetAntialias(screen);
260
264
  return screen;
261
265
  }
266
+ const _testWgpuBackend = createWebWgpuHostBackend();
262
267
  const _testWgpuPipeline = createWgpuPipeline(createEmptyWgpuRegistries());
263
268
  export function installWgpuMock() {
264
269
  installWgpuConstants();
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuTestHelper.js","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuTestHelper.js","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAExE,8FAA8F;AAC9F,SAAS,oBAAoB;IAC3B,MAAM,CAAC,GAAG,UAAqC,CAAC;IAEhD,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,gBAAgB,CAAC,GAAG;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,GAAG;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1B,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;QACrB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,iFAAiF;AAEjF,SAAS,aAAa;IACpB,OAAO,EAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,EAAwB,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,UAA+B;IACjD,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;KACA,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,UAAiC;IACpD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,oBAAoB,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAmB;QACxC,kBAAkB;QAClB,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,IAAI;QACxC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,YAAY;QAC1C,MAAM;QACN,aAAa,EAAE,UAAU,EAAE,aAAa,IAAI,CAAC;QAC7C,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,CAAC;QACzC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,eAAe,CAAC,iBAAiB;QAC7D,KAAK;KACmB,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;QACrB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;QACxB,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC7B,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACa,CAAC;AACvC,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,eAAe,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;QAC9C,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC7B,oBAAoB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAqB;KACP,CAAC;AACpC,CAAC;AAED,gGAAgG;AAChG,6DAA6D;AAC7D,SAAS,YAAY,CAAC,UAAwC;IAC5D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkC,CAAC;AACtE,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,EAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,EAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,EAAuB,CAAC;AACjC,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,WAAW,GAAG,CAClB,MAAiB,EACjB,YAAoB,EACpB,IAAa,EACb,UAAmB,EACnB,IAAa,EACP,EAAE;QACR,8BAA8B,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CACnB,WAAoC,EACpC,IAAgC,EAChC,UAAoC,EACpC,IAAiB,EACX,EAAE;QACR,oCAAoC,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE;QAC7E,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE;QACtC,qBAAqB,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE;QAClD,YAAY,EAAE,CAAC,UAA+B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QACzE,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;QAChD,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;QAChD,oBAAoB,EAAE,CAAC,UAAuC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;QAC3F,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAClC,kBAAkB,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;QAC5C,aAAa,EAAE,CAAC,UAAgC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;QAC5E,KAAK,EAAE;YACL,0BAA0B,EAAE,GAAG,EAAE,GAAE,CAAC;YACpC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;YAChB,WAAW;YACX,YAAY;SACb;KACsB,CAAC;AAC5B,CAAC;AAED,mGAAmG;AACnG,mGAAmG;AACnG,uGAAuG;AACvG,SAAS,8BAA8B,CACrC,MAAiB,EACjB,YAAoB,EACpB,IAAa,EACb,UAAU,GAAG,CAAC,EACd,IAAa;IAEb,MAAM,aAAa,GAAG,IAAI,YAAY,WAAW,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,KAAK,WAAW,IAAI,IAAI,YAAY,iBAAiB,CAAC;IAC1G,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,YAAY,CAAC,yEAAyE,EAAE,gBAAgB,CAAC,CAAC;IACtH,CAAC;IACD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QACjC,UAAU,GAAG,CAAC;QACd,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EACjE,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,6CAA6C,EAAE,gBAAgB,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;IAC9D,MAAM,oBAAoB,GAAG,IAAI,IAAI,iBAAiB,GAAG,UAAU,CAAC;IACpE,IAAI,oBAAoB,GAAG,CAAC,IAAI,UAAU,GAAG,oBAAoB,GAAG,iBAAiB,EAAE,CAAC;QACtF,MAAM,IAAI,YAAY,CAAC,mDAAmD,EAAE,gBAAgB,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,iBAAiB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;IACnE,IAAI,iBAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,mEAAmE,EAAE,gBAAgB,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,YAAY,GAAG,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAqB;IAC3D,OAAQ,IAAiE,CAAC,iBAAiB,CAAC;AAC9F,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAwB;IAC5D,IACE,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,iBAAiB;QAC5B,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,iBAAiB,EAC5B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAiB;IAC7C,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,UAAU,GAAG,IAAuB,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,kGAAkG;AAClG,kGAAkG;AAClG,iFAAiF;AACjF,SAAS,oCAAoC,CAC3C,WAAoC,EACpC,IAAgC,EAChC,UAAoC,EACpC,IAAiB;IAEjB,MAAM,aAAa,GAAG,IAAI,YAAY,WAAW,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,KAAK,WAAW,IAAI,IAAI,YAAY,iBAAiB,CAAC;IAC1G,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC;QAAE,OAAO;IACpE,MAAM,cAAc,GAAG,KAAK,GAAG,aAAa,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;IACzE,MAAM,kBAAkB,GACtB,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;QACxB,WAAW,GAAG,YAAY,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACrD,WAAW,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,cAAc,CAAC;IACjB,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,YAAY,CACpB,2CAA2C,IAAI,CAAC,UAAU,wBAAwB,kBAAkB,6BAA6B,EACjI,gBAAgB,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;QACL,8FAA8F;QAC9F,oGAAoG;QACpG,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,+BAA+B,EAAE,GAAG,EAAE;QAClE,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAC1B,CAAC;AAC7B,CAAC;AAED,uGAAuG;AACvG,iGAAiG;AACjG,MAAM,UAAU,gCAAgC,CAC9C,KAAsB,EACtB,QAAqC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EACxE,UAA6E,EAAE;IAE/E,MAAM,MAAM,GAAG,mCAAmC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI;QAAE,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,gGAAgG;AAChG,sGAAsG;AACtG,kGAAkG;AAClG,MAAM,UAAU,8BAA8B,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;IAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC7B,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC7C,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;QACpD,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;KACnD,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,UAA6B,EAAE;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,WAAW,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IAC7G,OAAO,qBAAqB,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAClH,CAAC;AAED,oGAAoG;AACpG,4FAA4F;AAC5F,MAAM,UAAU,mCAAmC,CACjD,KAAsB,EACtB,UAA6E,EAAE,EAC/E,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG;IAEZ,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,MAAM,GAAG,4BAA4B,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE;QAClF,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI;QAAE,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AACpD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE1E,MAAM,UAAU,eAAe;IAC7B,oBAAoB,EAAE,CAAC;IACvB,MAAM,GAAG,GAAQ;QACf,wBAAwB,EAAE,GAAG,EAAE,CAAC,YAAgC;QAChE,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;KACnC,CAAC;IAEpB,kGAAkG;IAClG,qFAAqF;IACrF,IAAI,UAAU,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE;QACjD,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC;IAC7D,iBAAiB,CAAC,SAAqC,CAAC,UAAU,GAAG,UAEpE,SAAiB,EACjB,OAAiB;QAEjB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,mGAAmG;YACnG,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,MAAM,OAAO,GAAG;gBACd,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;gBACnB,iBAAiB,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBACtC,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;aACS,CAAC;YACjC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,8DAA8D;QAC9D,OAAQ,cAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAuC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/render-wgpu",
3
- "version": "0.5.1-next.1350.8ce488b",
3
+ "version": "0.5.1-next.1404.457d1da",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,16 +38,16 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/color": "0.5.1-next.1350.8ce488b",
42
- "@flighthq/entity": "0.5.1-next.1350.8ce488b",
43
- "@flighthq/geometry": "0.5.1-next.1350.8ce488b",
44
- "@flighthq/log": "0.5.1-next.1350.8ce488b",
45
- "@flighthq/render": "0.5.1-next.1350.8ce488b",
46
- "@flighthq/registry": "0.5.1-next.1350.8ce488b",
47
- "@flighthq/signals": "0.5.1-next.1350.8ce488b",
48
- "@flighthq/bitmap": "0.5.1-next.1350.8ce488b",
49
- "@flighthq/texture": "0.5.1-next.1350.8ce488b",
50
- "@flighthq/types": "0.5.1-next.1350.8ce488b"
41
+ "@flighthq/color": "0.5.1-next.1404.457d1da",
42
+ "@flighthq/entity": "0.5.1-next.1404.457d1da",
43
+ "@flighthq/geometry": "0.5.1-next.1404.457d1da",
44
+ "@flighthq/log": "0.5.1-next.1404.457d1da",
45
+ "@flighthq/render": "0.5.1-next.1404.457d1da",
46
+ "@flighthq/registry": "0.5.1-next.1404.457d1da",
47
+ "@flighthq/signals": "0.5.1-next.1404.457d1da",
48
+ "@flighthq/bitmap": "0.5.1-next.1404.457d1da",
49
+ "@flighthq/texture": "0.5.1-next.1404.457d1da",
50
+ "@flighthq/types": "0.5.1-next.1404.457d1da"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@webgpu/types": "^0.1.70"
@@ -1,15 +1,8 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- import type { Entity, WgpuHostAcquisition, HostWgpuProvider } from '@flighthq/types/contract';
3
- import { afterEach, beforeAll, describe, expect, it, vi } from 'vitest';
2
+ import type { WgpuHostAcquisition } from '@flighthq/types/contract';
3
+ import { beforeAll, describe, expect, it, vi } from 'vitest';
4
4
 
5
- import {
6
- createWebWgpuHostBackend,
7
- getWgpuHostBackend,
8
- initializeWebWgpuHostBackend,
9
- installWgpuHostBackend,
10
- resetWgpuHostBackendForTest,
11
- setWgpuHostBackend,
12
- } from './wgpuHost';
5
+ import { createWebWgpuHostBackend, initializeWebWgpuHostBackend } from './wgpuHost';
13
6
  import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
14
7
  import {
15
8
  createWgpuAcquisition,
@@ -19,25 +12,7 @@ import {
19
12
  } from './wgpuRenderState';
20
13
  import { installWgpuMock } from './wgpuTestHelper';
21
14
 
22
- function fakeBackend(): HostWgpuProvider {
23
- return entityBackend({
24
- acquire: vi.fn(),
25
- attachSurface: vi.fn(() => null),
26
- isSupported: vi.fn(() => true),
27
- release: vi.fn(),
28
- });
29
- }
30
-
31
- function entityBackend(fields: Omit<HostWgpuProvider, keyof Entity>): HostWgpuProvider {
32
- return (() => {
33
- const out = allocateEntity<HostWgpuProvider>();
34
- Object.assign(out, fields);
35
- return finishEntity(out);
36
- })();
37
- }
38
-
39
15
  beforeAll(installWgpuMock);
40
- afterEach(resetWgpuHostBackendForTest);
41
16
 
42
17
  const _pipeline = createWgpuPipeline(createEmptyWgpuRegistries());
43
18
 
@@ -55,11 +30,6 @@ describe('createWebWgpuHostBackend', () => {
55
30
  expect(destroy).toHaveBeenCalledOnce();
56
31
  });
57
32
 
58
- // ★ THE BACKEND NO LONGER DECIDES OWNERSHIP. It used to return early for `caller`, which meant the whole
59
- // contract lived in one implementation and any other backend could violate it unseen — and it also made
60
- // the caller's own release verb a no-op. `release` now tears down whatever it is handed; Flight simply
61
- // never hands it a caller-owned acquisition (see O1/O2), and `releaseWgpuAcquisition` hands it one only
62
- // because the caller asked.
63
33
  it('tears down whatever it is handed, leaving the ownership decision to the caller', async () => {
64
34
  const backend = createWebWgpuHostBackend();
65
35
  const acquired = await backend.acquire(document.createElement('canvas'), {});
@@ -87,112 +57,55 @@ describe('createWebWgpuHostBackend', () => {
87
57
  installWgpuMock();
88
58
  }
89
59
  });
90
- });
91
-
92
- describe('getWgpuHostBackend', () => {
93
- it('returns one stable explicit web fallback', () => {
94
- const first = getWgpuHostBackend();
95
- const second = getWgpuHostBackend();
96
- expect(first).toBe(second);
97
- });
98
- });
99
-
100
- describe('initializeWebWgpuHostBackend', () => {
101
- it('is the construction initializer of createWebWgpuHostBackend', () => {
102
- expect(typeof initializeWebWgpuHostBackend).toBe('function');
103
- });
104
- });
105
-
106
- describe('installWgpuHostBackend', () => {
107
- it('preserves the first installed host identity', () => {
108
- const first = fakeBackend();
109
- installWgpuHostBackend(first);
110
- installWgpuHostBackend(fakeBackend());
111
- expect(getWgpuHostBackend()).toBe(first);
112
- });
113
- });
114
60
 
115
- describe('resetWgpuHostBackendForTest', () => {
116
- it('clears custom and host slots back to the web fallback', () => {
117
- const fallback = getWgpuHostBackend();
118
- const host = fakeBackend();
119
- const custom = fakeBackend();
120
- installWgpuHostBackend(host);
121
- setWgpuHostBackend(custom);
122
-
123
- resetWgpuHostBackendForTest();
124
- expect(getWgpuHostBackend()).toBe(fallback);
125
- });
126
- });
127
- describe('setWgpuHostBackend', () => {
128
- it('routes acquisition and release through the same selected backend', async () => {
61
+ it('routes acquisition and release through a caller-provided backend', async () => {
129
62
  const web = createWebWgpuHostBackend();
130
63
  const acquired = await web.acquire(document.createElement('canvas'), {});
131
64
  const acquisition = allocateEntity<WgpuHostAcquisition>();
132
65
  Object.assign(acquisition, acquired);
133
66
  acquisition.ownership = 'caller' as const;
134
- const backend = entityBackend({
135
- acquire: vi.fn(async () => acquisition),
136
- attachSurface: vi.fn(() => null),
137
- isSupported: vi.fn(() => true),
138
- release: vi.fn(),
139
- });
67
+ const backend = (() => {
68
+ const out = allocateEntity<typeof web>();
69
+ out.acquire = vi.fn(async () => acquisition);
70
+ out.attachSurface = vi.fn(() => null);
71
+ out.isSupported = vi.fn(() => true);
72
+ out.release = vi.fn();
73
+ return finishEntity(out);
74
+ })();
140
75
  const canvas = document.createElement('canvas');
141
- setWgpuHostBackend(backend);
142
76
 
143
- const routed = await createWgpuAcquisition(canvas);
77
+ const routed = await createWgpuAcquisition(backend, canvas);
144
78
  expect(backend.acquire).toHaveBeenCalledWith(canvas, {});
145
79
  expect(routed?.device).toBe(acquisition.device);
146
80
  expect(routed?.format).toBe(acquisition.format);
147
81
 
148
- releaseWgpuAcquisition(acquisition);
82
+ releaseWgpuAcquisition(backend, acquisition);
149
83
  expect(backend.release).toHaveBeenCalledOnce();
150
84
  expect(backend.release).toHaveBeenCalledWith(acquisition);
151
85
 
152
86
  web.release(acquired);
153
87
  });
154
88
 
155
- // ★ A RENDER STATE OWNS NO HOST HANDLES AT ALL. It used to be built from an acquisition and had to
156
- // decide, on every path including a failed construction, whether to release handles the caller might
157
- // still be using — a decision no state is in a position to make correctly. It now takes the device
158
- // alone, so there is nothing to get wrong: destroying a state cannot reach a context or a device, and
159
- // the caller's handles outlive it by construction rather than by policy.
160
89
  it('never releases host handles when a state built on the device is destroyed', async () => {
161
90
  const web = createWebWgpuHostBackend();
162
91
  const acquired = await web.acquire(document.createElement('canvas'), {});
163
92
  const destroy = vi.spyOn(acquired.device, 'destroy');
164
93
  const unconfigure = vi.spyOn(acquired.context, 'unconfigure');
165
- const backend = entityBackend({
166
- acquire: vi.fn(async () => acquired),
167
- attachSurface: vi.fn(() => null),
168
- isSupported: vi.fn(() => true),
169
- release: vi.fn((held) => {
170
- held.context.unconfigure();
171
- held.device.destroy();
172
- }),
173
- });
174
- setWgpuHostBackend(backend);
175
94
 
176
95
  destroyWgpuRenderState(createWgpuRenderState(acquired.device, _pipeline));
177
96
 
178
- expect(backend.release).not.toHaveBeenCalled();
179
97
  expect(destroy).not.toHaveBeenCalled();
180
98
  expect(unconfigure).not.toHaveBeenCalled();
181
- // The handles are still usable, which is the property the caller actually cares about.
182
99
  expect(acquired.device.createBuffer({ size: 4, usage: GPUBufferUsage.COPY_DST }).size).toBe(4);
183
100
 
184
101
  destroy.mockRestore();
185
102
  unconfigure.mockRestore();
186
103
  web.release(acquired);
187
104
  });
105
+ });
188
106
 
189
- it('takes precedence over host installation and reveals that host when cleared', () => {
190
- const host = fakeBackend();
191
- const custom = fakeBackend();
192
- installWgpuHostBackend(host);
193
- setWgpuHostBackend(custom);
194
- expect(getWgpuHostBackend()).toBe(custom);
195
- setWgpuHostBackend(null);
196
- expect(getWgpuHostBackend()).toBe(host);
107
+ describe('initializeWebWgpuHostBackend', () => {
108
+ it('is the construction initializer of createWebWgpuHostBackend', () => {
109
+ expect(typeof initializeWebWgpuHostBackend).toBe('function');
197
110
  });
198
111
  });
@@ -22,7 +22,7 @@ import type {
22
22
  WgpuColorAdjustmentMaterialFeature,
23
23
  WgpuColorAdjustmentMaterialFeatureGuard,
24
24
  WgpuHostAcquisition,
25
- HostWgpuProvider,
25
+ HostWgpuCapability,
26
26
  WgpuPipeline,
27
27
  WgpuRenderOptions,
28
28
  WgpuRenderState,
@@ -31,7 +31,7 @@ import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
31
31
 
32
32
  import { registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload } from './wgpuCompressedTexture';
33
33
  import { beginWgpuFrame, withWgpuFrameBorrow } from './wgpuFrame';
34
- import { setWgpuHostBackend } from './wgpuHost';
34
+ import { createWebWgpuHostBackend } from './wgpuHost';
35
35
  import { registerWgpuMaterialRenderer } from './wgpuMaterialRegistry';
36
36
  import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
37
37
  import {
@@ -72,6 +72,7 @@ beforeAll(() => {
72
72
  });
73
73
 
74
74
  const _testPipeline = createWgpuPipeline(createEmptyWgpuRegistries());
75
+ const _webBackend = createWebWgpuHostBackend();
75
76
 
76
77
  function createWgpuRenderState(device: GPUDevice, options: Readonly<WgpuRenderOptions> = {}) {
77
78
  return createWgpuRenderStateWithPipeline(device, _testPipeline, options);
@@ -81,7 +82,7 @@ function createWgpuRenderStateRuntime(deviceState: ReturnType<typeof createWgpuD
81
82
  return createWgpuRenderStateRuntimeWithPipeline(deviceState, _testPipeline);
82
83
  }
83
84
 
84
- function entityHostBackend(fields: Omit<HostWgpuProvider, keyof Entity>): HostWgpuProvider {
85
+ function entityHostBackend(fields: Omit<HostWgpuCapability, keyof Entity>): HostWgpuCapability {
85
86
  return (() => {
86
87
  const out = allocateEntity<any>();
87
88
  Object.assign(out, fields);
@@ -126,30 +127,27 @@ function registerPaddingResolver(state: RenderState, kind: string, resolver: Ren
126
127
 
127
128
  describe('createWgpuAcquisition', () => {
128
129
  it('hands back handles the CALLER owns, so no state teardown can release them', async () => {
129
- const acquisition = await createWgpuAcquisition(document.createElement('canvas'));
130
+ const acquisition = await createWgpuAcquisition(_webBackend, document.createElement('canvas'));
130
131
 
131
132
  expect(acquisition).not.toBeNull();
132
133
  expect(acquisition!.ownership).toBe('caller');
133
134
  expect(acquisition!.surface).toBeDefined();
134
- releaseWgpuAcquisition(acquisition!);
135
+ releaseWgpuAcquisition(_webBackend, acquisition!);
135
136
  });
136
137
 
137
138
  // ★ NULL, NOT THROW. "This environment cannot give me WebGPU" is an expected outcome, not API misuse, so
138
139
  // it reports through the return value like every other expected failure in this SDK.
139
140
  it('returns null when the host cannot acquire, rather than rejecting', async () => {
140
- setWgpuHostBackend(
141
- entityHostBackend({
142
- acquire: vi.fn(async () => {
143
- throw new Error('no adapter');
144
- }),
145
- attachSurface: vi.fn(() => null),
146
- isSupported: vi.fn(() => false),
147
- release: vi.fn(),
141
+ const failingBackend = entityHostBackend({
142
+ acquire: vi.fn(async () => {
143
+ throw new Error('no adapter');
148
144
  }),
149
- );
145
+ attachSurface: vi.fn(() => null),
146
+ isSupported: vi.fn(() => false),
147
+ release: vi.fn(),
148
+ });
150
149
 
151
- await expect(createWgpuAcquisition(document.createElement('canvas'))).resolves.toBeNull();
152
- setWgpuHostBackend(null);
150
+ await expect(createWgpuAcquisition(failingBackend, document.createElement('canvas'))).resolves.toBeNull();
153
151
  });
154
152
  });
155
153
 
@@ -456,7 +454,7 @@ describe('createWgpuRenderState', () => {
456
454
  // The state is "how to talk to the GPU" and the screen target is "which surface a frame lands on".
457
455
  // Keeping them apart is what lets one state render to several windows, and lets an offscreen state
458
456
  // exist without inventing a canvas for it.
459
- const acquisition = await createWgpuAcquisition(document.createElement('canvas'));
457
+ const acquisition = await createWgpuAcquisition(_webBackend, document.createElement('canvas'));
460
458
  const state = createWgpuRenderState(acquisition!.device, { format: acquisition!.format });
461
459
 
462
460
  expect(state.device).toBe(acquisition!.device);
@@ -465,7 +463,7 @@ describe('createWgpuRenderState', () => {
465
463
  expect('surface' in state).toBe(false);
466
464
 
467
465
  destroyWgpuRenderState(state);
468
- releaseWgpuAcquisition(acquisition!);
466
+ releaseWgpuAcquisition(_webBackend, acquisition!);
469
467
  });
470
468
 
471
469
  it('sets allowSmoothing to true by default', async () => {
@@ -838,7 +836,7 @@ describe('initializeWgpuOffscreenRenderStateOkResult', () => {
838
836
 
839
837
  describe('isWgpuSupported', () => {
840
838
  it('returns true when navigator.gpu is present', () => {
841
- expect(isWgpuSupported()).toBe(true);
839
+ expect(isWgpuSupported(_webBackend)).toBe(true);
842
840
  });
843
841
 
844
842
  it('returns false when navigator.gpu throws', () => {
@@ -849,7 +847,8 @@ describe('isWgpuSupported', () => {
849
847
  },
850
848
  });
851
849
  try {
852
- expect(isWgpuSupported()).toBe(false);
850
+ const unsupportedBackend = createWebWgpuHostBackend();
851
+ expect(isWgpuSupported(unsupportedBackend)).toBe(false);
853
852
  } finally {
854
853
  installWgpuMock();
855
854
  }
@@ -885,22 +884,19 @@ describe('releaseWgpuAcquisition', () => {
885
884
  // Unconditional on purpose: this is the CALLER asking. Flight's own paths refuse to release caller-owned
886
885
  // handles, so if this verb deferred to the same policy the caller would have no way to end their life.
887
886
  it('releases caller-owned handles, which Flight itself never does', async () => {
888
- const acquired = await createWgpuAcquisition(document.createElement('canvas'));
887
+ const acquired = await createWgpuAcquisition(_webBackend, document.createElement('canvas'));
889
888
  const acquisition = acquired!;
890
889
  const released: Readonly<WgpuHostAcquisition>[] = [];
891
- setWgpuHostBackend(
892
- entityHostBackend({
893
- acquire: vi.fn(async () => acquisition),
894
- attachSurface: vi.fn(() => null),
895
- isSupported: vi.fn(() => true),
896
- release: vi.fn((held: Readonly<WgpuHostAcquisition>) => released.push(held)),
897
- }),
898
- );
890
+ const recordingBackend = entityHostBackend({
891
+ acquire: vi.fn(async () => acquisition),
892
+ attachSurface: vi.fn(() => null),
893
+ isSupported: vi.fn(() => true),
894
+ release: vi.fn((held: Readonly<WgpuHostAcquisition>) => released.push(held)),
895
+ });
899
896
 
900
- releaseWgpuAcquisition(acquisition);
897
+ releaseWgpuAcquisition(recordingBackend, acquisition);
901
898
 
902
899
  expect(released).toEqual([acquisition]);
903
- setWgpuHostBackend(null);
904
900
  });
905
901
  });
906
902
 
@@ -1,3 +1,4 @@
1
+ import { createWebWgpuHostBackend } from './wgpuHost';
1
2
  import { beginWgpuRenderPass, endWgpuRenderPass } from './wgpuRenderPass';
2
3
  import { getWgpuRenderStateRuntime } from './wgpuRenderState';
3
4
  import {
@@ -16,6 +17,8 @@ beforeAll(() => {
16
17
  installWgpuMock();
17
18
  });
18
19
 
20
+ const _webBackend = createWebWgpuHostBackend();
21
+
19
22
  describe('bindWgpuScreenRenderTarget', () => {
20
23
  it('acquires one swap-chain view per frame and releases it at the end of the frame', async () => {
21
24
  // Nothing may hold a swap-chain view across frames — that is the property that makes a screen target
@@ -36,7 +39,7 @@ describe('bindWgpuScreenRenderTarget', () => {
36
39
  const canvas = document.createElement('canvas');
37
40
  canvas.width = 320;
38
41
  canvas.height = 240;
39
- const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: state.format });
42
+ const screen = createWgpuScreenRenderTarget(_webBackend, state.device, canvas, { format: state.format });
40
43
 
41
44
  canvas.width = 640;
42
45
  canvas.height = 480;
@@ -69,7 +72,7 @@ describe('createWgpuScreenRenderTarget', () => {
69
72
  const context = canvas.getContext('webgpu')!;
70
73
  const configure = vi.spyOn(context, 'configure');
71
74
 
72
- const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: 'rgba8unorm' });
75
+ const screen = createWgpuScreenRenderTarget(_webBackend, state.device, canvas, { format: 'rgba8unorm' });
73
76
 
74
77
  expect(configure).toHaveBeenCalledOnce();
75
78
  expect(configure.mock.calls[0]![0].format).toBe('rgba8unorm');
@@ -84,7 +87,7 @@ describe('createWgpuScreenRenderTarget', () => {
84
87
  const state = await createWgpuRenderStateForTest();
85
88
  const surface = { getContext: () => null, height: 100, width: 100 };
86
89
 
87
- expect(() => createWgpuScreenRenderTarget(state.device, surface)).toThrow(/cannot present WebGPU/);
90
+ expect(() => createWgpuScreenRenderTarget(_webBackend, state.device, surface)).toThrow(/cannot present WebGPU/);
88
91
  });
89
92
  });
90
93
 
@@ -140,7 +143,7 @@ describe('syncWgpuScreenRenderTargetExtent', () => {
140
143
  const canvas = document.createElement('canvas');
141
144
  canvas.width = 320;
142
145
  canvas.height = 240;
143
- const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: state.format });
146
+ const screen = createWgpuScreenRenderTarget(_webBackend, state.device, canvas, { format: state.format });
144
147
 
145
148
  canvas.width = 500;
146
149
  canvas.height = 400;