@flighthq/render-wgpu 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.1047.858b9b6

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.
Files changed (109) hide show
  1. package/README.md +2 -2
  2. package/dist/contract.d.ts +9 -0
  3. package/dist/contract.d.ts.map +1 -1
  4. package/dist/contract.js +9 -0
  5. package/dist/contract.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/wgpuAntialias.d.ts +8 -4
  11. package/dist/wgpuAntialias.d.ts.map +1 -1
  12. package/dist/wgpuAntialias.js +24 -5
  13. package/dist/wgpuAntialias.js.map +1 -1
  14. package/dist/wgpuBackground.d.ts +10 -4
  15. package/dist/wgpuBackground.d.ts.map +1 -1
  16. package/dist/wgpuBackground.js +89 -3
  17. package/dist/wgpuBackground.js.map +1 -1
  18. package/dist/wgpuCompressedTexture.d.ts +1 -1
  19. package/dist/wgpuCompressedTexture.d.ts.map +1 -1
  20. package/dist/wgpuCompressedTexture.js +15 -11
  21. package/dist/wgpuCompressedTexture.js.map +1 -1
  22. package/dist/wgpuDeviceLoss.d.ts +21 -0
  23. package/dist/wgpuDeviceLoss.d.ts.map +1 -0
  24. package/dist/wgpuDeviceLoss.js +62 -0
  25. package/dist/wgpuDeviceLoss.js.map +1 -0
  26. package/dist/wgpuDraw.d.ts +4 -4
  27. package/dist/wgpuDraw.d.ts.map +1 -1
  28. package/dist/wgpuDraw.js +119 -116
  29. package/dist/wgpuDraw.js.map +1 -1
  30. package/dist/wgpuElement.d.ts +5 -0
  31. package/dist/wgpuElement.d.ts.map +1 -1
  32. package/dist/wgpuElement.js +17 -6
  33. package/dist/wgpuElement.js.map +1 -1
  34. package/dist/wgpuExternalTexture.d.ts +3 -1
  35. package/dist/wgpuExternalTexture.d.ts.map +1 -1
  36. package/dist/wgpuExternalTexture.js +29 -21
  37. package/dist/wgpuExternalTexture.js.map +1 -1
  38. package/dist/wgpuFullscreenPass.d.ts +3 -2
  39. package/dist/wgpuFullscreenPass.d.ts.map +1 -1
  40. package/dist/wgpuFullscreenPass.js +52 -44
  41. package/dist/wgpuFullscreenPass.js.map +1 -1
  42. package/dist/wgpuHost.d.ts +8 -0
  43. package/dist/wgpuHost.d.ts.map +1 -0
  44. package/dist/wgpuHost.js +87 -0
  45. package/dist/wgpuHost.js.map +1 -0
  46. package/dist/wgpuMipmap.js +5 -5
  47. package/dist/wgpuMipmap.js.map +1 -1
  48. package/dist/wgpuPipeline.d.ts +6 -0
  49. package/dist/wgpuPipeline.d.ts.map +1 -0
  50. package/dist/wgpuPipeline.js +33 -0
  51. package/dist/wgpuPipeline.js.map +1 -0
  52. package/dist/wgpuRenderState.d.ts +22 -6
  53. package/dist/wgpuRenderState.d.ts.map +1 -1
  54. package/dist/wgpuRenderState.js +248 -271
  55. package/dist/wgpuRenderState.js.map +1 -1
  56. package/dist/wgpuRenderTarget.d.ts +2 -1
  57. package/dist/wgpuRenderTarget.d.ts.map +1 -1
  58. package/dist/wgpuRenderTarget.js +51 -39
  59. package/dist/wgpuRenderTarget.js.map +1 -1
  60. package/dist/wgpuRenderTargetPool.d.ts +2 -1
  61. package/dist/wgpuRenderTargetPool.d.ts.map +1 -1
  62. package/dist/wgpuRenderTargetPool.js +7 -1
  63. package/dist/wgpuRenderTargetPool.js.map +1 -1
  64. package/dist/wgpuRenderTexture.js +4 -4
  65. package/dist/wgpuRenderTexture.js.map +1 -1
  66. package/dist/wgpuRenderTexturePool.d.ts +2 -1
  67. package/dist/wgpuRenderTexturePool.d.ts.map +1 -1
  68. package/dist/wgpuRenderTexturePool.js +11 -7
  69. package/dist/wgpuRenderTexturePool.js.map +1 -1
  70. package/dist/wgpuShader.d.ts +3 -5
  71. package/dist/wgpuShader.d.ts.map +1 -1
  72. package/dist/wgpuShader.js +38 -28
  73. package/dist/wgpuShader.js.map +1 -1
  74. package/dist/wgpuSurface.d.ts +5 -5
  75. package/dist/wgpuSurface.d.ts.map +1 -1
  76. package/dist/wgpuSurface.js +2 -2
  77. package/dist/wgpuSurface.js.map +1 -1
  78. package/dist/wgpuTestHelper.d.ts +2 -2
  79. package/dist/wgpuTestHelper.d.ts.map +1 -1
  80. package/dist/wgpuTestHelper.js +6 -2
  81. package/dist/wgpuTestHelper.js.map +1 -1
  82. package/dist/wgpuTextureResolver.js.map +1 -1
  83. package/dist/wgpuTextureUpload.d.ts +2 -2
  84. package/dist/wgpuTextureUpload.d.ts.map +1 -1
  85. package/dist/wgpuTextureUpload.js +1 -1
  86. package/dist/wgpuTextureUpload.js.map +1 -1
  87. package/package.json +11 -11
  88. package/src/enableWgpuTextureResolverGuards.test.ts +2 -2
  89. package/src/explainWgpuTextureResolution.test.ts +9 -2
  90. package/src/wgpuAntialias.test.ts +26 -4
  91. package/src/wgpuBackground.test.ts +43 -73
  92. package/src/wgpuCompressedTexture.test.ts +3 -3
  93. package/src/wgpuDeviceLoss.test.ts +240 -0
  94. package/src/wgpuDraw.test.ts +123 -34
  95. package/src/wgpuElement.test.ts +137 -13
  96. package/src/wgpuExternalTexture.test.ts +17 -1
  97. package/src/wgpuFullscreenPass.test.ts +8 -2
  98. package/src/wgpuHost.test.ts +252 -0
  99. package/src/wgpuMaterialRegistry.test.ts +6 -3
  100. package/src/wgpuMipmap.test.ts +3 -3
  101. package/src/wgpuPipeline.test.ts +62 -0
  102. package/src/wgpuRenderState.test.ts +767 -97
  103. package/src/wgpuRenderTarget.test.ts +21 -11
  104. package/src/wgpuRenderTargetPool.test.ts +6 -0
  105. package/src/wgpuRenderTexture.test.ts +1 -1
  106. package/src/wgpuRenderTexturePool.test.ts +7 -1
  107. package/src/wgpuShader.test.ts +11 -5
  108. package/src/wgpuTextureResolver.test.ts +13 -13
  109. package/src/wgpuTextureUpload.test.ts +2 -2
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.0-next.1944.cd6b6e7](https://github.com/flighthq/flight/tree/cd6b6e71eb472b3a4249830a7743333f019fa7b7/packages/render-wgpu)
17
- - [License](https://github.com/flighthq/flight/blob/cd6b6e71eb472b3a4249830a7743333f019fa7b7/LICENSE.md)
16
+ - [Source for @flighthq/render-wgpu@0.5.1-edge.1047.858b9b6](https://github.com/flighthq/flight/tree/858b9b601de814f6b6940cbb1ffff0916b903268/packages/render-wgpu)
17
+ - [License](https://github.com/flighthq/flight/blob/858b9b601de814f6b6940cbb1ffff0916b903268/LICENSE.md)
@@ -2,14 +2,17 @@ export * from './wgpuAdapterCapabilities';
2
2
  export * from './wgpuAntialias';
3
3
  export * from './wgpuBackground';
4
4
  export * from './wgpuCompressedTexture';
5
+ export * from './wgpuDeviceLoss';
5
6
  export * from './wgpuDraw';
6
7
  export * from './wgpuExternalTexture';
7
8
  export * from './wgpuElement';
8
9
  export * from './enableWgpuTextureResolverGuards';
9
10
  export * from './explainWgpuTextureResolution';
10
11
  export * from './wgpuFullscreenPass';
12
+ export * from './wgpuHost';
11
13
  export * from './wgpuMaterialRegistry';
12
14
  export * from './wgpuMipmap';
15
+ export * from './wgpuPipeline';
13
16
  export * from './wgpuRenderState';
14
17
  export * from './wgpuRenderTarget';
15
18
  export * from './wgpuRenderTargetPool';
@@ -23,4 +26,10 @@ export * from './wgpuSurface';
23
26
  export * from './wgpuTextureUpload';
24
27
  export * from './wgpuTextureResolver';
25
28
  export { createReadyImageElementForTest, createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
29
+ export { initializeWgpuRenderTarget } from './wgpuRenderTarget';
30
+ export { initializeEmptyWgpuRegistries } from './wgpuPipeline';
31
+ export { initializeWgpuBindGroupLayouts } from './wgpuShader';
32
+ export { initializeWgpuFullscreenPipeline } from './wgpuFullscreenPass';
33
+ export { initializeWgpuRenderTargetPool } from './wgpuRenderTargetPool';
34
+ export { initializeWgpuRenderTexturePool } from './wgpuRenderTexturePool';
26
35
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/contract.js CHANGED
@@ -2,14 +2,17 @@ export * from './wgpuAdapterCapabilities';
2
2
  export * from './wgpuAntialias';
3
3
  export * from './wgpuBackground';
4
4
  export * from './wgpuCompressedTexture';
5
+ export * from './wgpuDeviceLoss';
5
6
  export * from './wgpuDraw';
6
7
  export * from './wgpuExternalTexture';
7
8
  export * from './wgpuElement';
8
9
  export * from './enableWgpuTextureResolverGuards';
9
10
  export * from './explainWgpuTextureResolution';
10
11
  export * from './wgpuFullscreenPass';
12
+ export * from './wgpuHost';
11
13
  export * from './wgpuMaterialRegistry';
12
14
  export * from './wgpuMipmap';
15
+ export * from './wgpuPipeline';
13
16
  export * from './wgpuRenderState';
14
17
  export * from './wgpuRenderTarget';
15
18
  export * from './wgpuRenderTargetPool';
@@ -23,4 +26,10 @@ export * from './wgpuSurface';
23
26
  export * from './wgpuTextureUpload';
24
27
  export * from './wgpuTextureResolver';
25
28
  export { createReadyImageElementForTest, createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
29
+ export { initializeWgpuRenderTarget } from './wgpuRenderTarget';
30
+ export { initializeEmptyWgpuRegistries } from './wgpuPipeline';
31
+ export { initializeWgpuBindGroupLayouts } from './wgpuShader';
32
+ export { initializeWgpuFullscreenPipeline } from './wgpuFullscreenPass';
33
+ export { initializeWgpuRenderTargetPool } from './wgpuRenderTargetPool';
34
+ export { initializeWgpuRenderTexturePool } from './wgpuRenderTexturePool';
26
35
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, copyWgpuRenderStateRegistrations, createBitmapFromWgpuRenderState, createExternalWgpuTexture, createWgpuCanvasElement, createWgpuOffscreenRenderState, createWgpuRenderState, createWgpuRenderTexturePool, createWgpuRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuFrameCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, renderWgpuBackground, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, setWgpuRenderTransform2D, submitWgpuRenderPass, withWgpuRenderTextures, } from './contract';
1
+ export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuRenderState, createExternalWgpuTexture, createWgpuCanvasElement, createWgpuRenderSurface, createWgpuOffscreenRenderState, createWgpuPipeline, createWgpuAcquisitionFromCanvasElement, createWgpuDeviceState, createWgpuRenderState, createWgpuRenderStateFromCanvasElement, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuFrameCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, renderWgpuBackground, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, setWgpuRenderTransform2D, submitWgpuRenderPass, 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,gCAAgC,EAChC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,iBAAiB,EACjB,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,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,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,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,sCAAsC,EACtC,qBAAqB,EACrB,qBAAqB,EACrB,sCAAsC,EACtC,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,iBAAiB,EACjB,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,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, copyWgpuRenderStateRegistrations, createBitmapFromWgpuRenderState, createExternalWgpuTexture, createWgpuCanvasElement, createWgpuOffscreenRenderState, createWgpuRenderState, createWgpuRenderTexturePool, createWgpuRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuFrameCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, renderWgpuBackground, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, setWgpuRenderTransform2D, submitWgpuRenderPass, withWgpuRenderTextures, } from './contract';
1
+ export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuRenderState, createExternalWgpuTexture, createWgpuCanvasElement, createWgpuRenderSurface, createWgpuOffscreenRenderState, createWgpuPipeline, createWgpuAcquisitionFromCanvasElement, createWgpuDeviceState, createWgpuRenderState, createWgpuRenderStateFromCanvasElement, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuFrameCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, renderWgpuBackground, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, setWgpuRenderTransform2D, submitWgpuRenderPass, 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,gCAAgC,EAChC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,iBAAiB,EACjB,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,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,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,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,sCAAsC,EACtC,qBAAqB,EACrB,qBAAqB,EACrB,sCAAsC,EACtC,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,iBAAiB,EACjB,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,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -1,7 +1,11 @@
1
- import type { WgpuRenderState } from '@flighthq/types/contract';
2
- export declare function acquireWgpuSurfaceAntialiasView(state: Readonly<WgpuRenderState>, presentationView: GPUTextureView): GPUTextureView | null;
3
- export declare function clearWgpuSurfacePresentation(state: Readonly<WgpuRenderState>): void;
4
- export declare function encodeWgpuSurfaceAntialiasResolve(state: Readonly<WgpuRenderState>, encoder: GPUCommandEncoder): void;
1
+ import type { WgpuPresentationRenderState, WgpuRenderState } from '@flighthq/types/contract';
2
+ export declare function acquireWgpuSurfaceAntialiasView(state: Readonly<WgpuPresentationRenderState>, presentationView: GPUTextureView): GPUTextureView | null;
3
+ export declare function clearWgpuSurfacePresentation(state: Readonly<WgpuPresentationRenderState>): void;
4
+ export declare function encodeWgpuSurfaceAntialiasResolve(state: Readonly<WgpuPresentationRenderState>, encoder: GPUCommandEncoder): void;
5
+ export declare function getWgpuSurfaceLogicalExtent(state: Readonly<WgpuRenderState>): {
6
+ width: number;
7
+ height: number;
8
+ };
5
9
  export declare function getWgpuSurfaceRenderExtent(state: Readonly<WgpuRenderState>): {
6
10
  width: number;
7
11
  height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuAntialias.d.ts","sourceRoot":"","sources":["../src/wgpuAntialias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAShE,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAChC,gBAAgB,EAAE,cAAc,GAC/B,cAAc,GAAG,IAAI,CA8CvB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAEnF;AAKD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAqBpH;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM9G;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,MAAM,CAGlF"}
1
+ {"version":3,"file":"wgpuAntialias.d.ts","sourceRoot":"","sources":["../src/wgpuAntialias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAS7F,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAC5C,gBAAgB,EAAE,cAAc,GAC/B,cAAc,GAAG,IAAI,CA8CvB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAE/F;AAKD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAC5C,OAAO,EAAE,iBAAiB,GACzB,IAAI,CAqBN;AAKD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ/G;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAW9G;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,MAAM,CAGlF"}
@@ -1,4 +1,4 @@
1
- import { getWgpuRenderStateRuntime } from './wgpuRenderState';
1
+ import { getWgpuRenderStateDeviceResources, getWgpuRenderStateRuntime } from './wgpuRenderState';
2
2
  const SUPERSAMPLE_SCALE = 2;
3
3
  // Redirects the main frame into a 2× texture view when surface antialiasing is enabled. The caller retains
4
4
  // the presentation view so encodeWgpuSurfaceAntialiasResolve can downsample into it on the same encoder.
@@ -9,8 +9,8 @@ export function acquireWgpuSurfaceAntialiasView(state, presentationView) {
9
9
  runtime.surfacePresentationView = null;
10
10
  return null;
11
11
  }
12
- const width = Math.max(1, state.canvas.width) * SUPERSAMPLE_SCALE;
13
- const height = Math.max(1, state.canvas.height) * SUPERSAMPLE_SCALE;
12
+ const width = Math.max(1, state.surface.width) * SUPERSAMPLE_SCALE;
13
+ const height = Math.max(1, state.surface.height) * SUPERSAMPLE_SCALE;
14
14
  const maxDimension = state.device.limits.maxTextureDimension2D;
15
15
  if (width > maxDimension || height > maxDimension) {
16
16
  throw new Error(`WgpuRenderOptions.antialias requires a ${width}x${height} supersample surface, exceeding maxTextureDimension2D ${maxDimension}.`);
@@ -37,7 +37,7 @@ export function acquireWgpuSurfaceAntialiasView(state, presentationView) {
37
37
  layout: runtime.surfaceAntialiasResolveBindGroupLayout,
38
38
  entries: [
39
39
  { binding: 0, resource: view },
40
- { binding: 1, resource: runtime.linearSampler },
40
+ { binding: 1, resource: getWgpuRenderStateDeviceResources(state).linearSampler },
41
41
  ],
42
42
  });
43
43
  return view;
@@ -70,6 +70,19 @@ export function encodeWgpuSurfaceAntialiasResolve(state, encoder) {
70
70
  pass.draw(3);
71
71
  pass.end();
72
72
  }
73
+ // Logical surface dimensions for descriptor/effect distances. Unlike getWgpuSurfaceRenderExtent this
74
+ // deliberately ignores the optional 2× presentation target; an explicit frame borrower receives the
75
+ // logical owner extent for the bounded session.
76
+ export function getWgpuSurfaceLogicalExtent(state) {
77
+ if ('surface' in state) {
78
+ const presentationState = state;
79
+ return { width: presentationState.surface.width, height: presentationState.surface.height };
80
+ }
81
+ const borrowed = getWgpuRenderStateRuntime(state).borrowedSurfaceExtent;
82
+ if (borrowed !== null)
83
+ return borrowed;
84
+ throw new Error('A device-only WgpuRenderState has no logical surface extent outside an explicit frame borrow');
85
+ }
73
86
  // The logical canvas dimensions remain the coordinate space used by 2D transforms. This helper is
74
87
  // only for hardware viewport restoration after an offscreen target returns to the supersampled surface.
75
88
  export function getWgpuSurfaceRenderExtent(state) {
@@ -77,7 +90,13 @@ export function getWgpuSurfaceRenderExtent(state) {
77
90
  if (runtime.surfacePresentationView !== null) {
78
91
  return { width: runtime.surfaceAntialiasWidth, height: runtime.surfaceAntialiasHeight };
79
92
  }
80
- return { width: state.canvas.width, height: state.canvas.height };
93
+ if ('surface' in state) {
94
+ const presentationState = state;
95
+ return { width: presentationState.surface.width, height: presentationState.surface.height };
96
+ }
97
+ if (runtime.borrowedSurfaceExtent !== null)
98
+ return runtime.borrowedSurfaceExtent;
99
+ throw new Error('A device-only WgpuRenderState has no presentation extent outside an explicit frame borrow');
81
100
  }
82
101
  // Scissor rectangles are expressed in the logical main-surface coordinate space. Scale only while the
83
102
  // active pass is the supersampled main surface; offscreen render targets retain their native extent.
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuAntialias.js","sourceRoot":"","sources":["../src/wgpuAntialias.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuAntialias.js","sourceRoot":"","sources":["../src/wgpuAntialias.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { WgpuRenderState } from '@flighthq/types/contract';
1
+ import type { WgpuPresentationRenderState, WgpuRenderState } from '@flighthq/types/contract';
2
2
  /**
3
3
  * Opens the command encoder for a WebGPU frame without opening the canvas render pass.
4
4
  *
@@ -6,9 +6,15 @@ import type { WgpuRenderState } from '@flighthq/types/contract';
6
6
  * record that work, then call renderWgpuBackground to open the forward canvas pass on the same encoder.
7
7
  * Ordinary render loops can keep calling renderWgpuBackground directly; it begins a frame lazily.
8
8
  */
9
- export declare function beginWgpuFrame(state: WgpuRenderState): void;
10
- export declare function renderWgpuBackground(state: WgpuRenderState): void;
9
+ export declare function beginWgpuFrame(state: WgpuPresentationRenderState): void;
10
+ export declare function renderWgpuBackground(state: WgpuPresentationRenderState): void;
11
11
  export declare function retireWgpuBuffer(state: WgpuRenderState, buffer: GPUBuffer): void;
12
12
  export declare function retireWgpuTexture(state: WgpuRenderState, texture: GPUTexture): void;
13
- export declare function submitWgpuRenderPass(state: WgpuRenderState): void;
13
+ export declare function submitWgpuRenderPass(state: WgpuPresentationRenderState): void;
14
+ /**
15
+ * Temporarily records an offscreen state's work into a presentation state's live command encoder.
16
+ * The borrower keeps its own uniform ring, batch buffers, traversal counters, and GPU resources; only
17
+ * the frame encoder/pass boundary is borrowed, and this callback bracket always returns it.
18
+ */
19
+ export declare function withWgpuFrameBorrow<T>(ownerState: WgpuPresentationRenderState, borrowerState: WgpuRenderState, callback: () => T): T;
14
20
  //# sourceMappingURL=wgpuBackground.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuBackground.d.ts","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAkChE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAe3D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CA8DjE;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAGhF;AAYD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAGnF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CA2CjE"}
1
+ {"version":3,"file":"wgpuBackground.d.ts","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,eAAe,EAA0B,MAAM,0BAA0B,CAAC;AAkCrH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAgBvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CA8D7E;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAGhF;AAYD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAGnF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CA2C7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,UAAU,EAAE,2BAA2B,EACvC,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,MAAM,CAAC,GAChB,CAAC,CAsDH"}
@@ -35,6 +35,7 @@ export function beginWgpuFrame(state) {
35
35
  // Reclaim the quad-batch writer buffer pool from the start of the frame; last frame's submit has been
36
36
  // queued, so its slots are safe to overwrite.
37
37
  runtime.quadBatchWriterBufferCursor = 0;
38
+ runtime.meshInstanceBufferCursor = 0;
38
39
  runtime.currentBlendMode = null;
39
40
  runtime.currentRenderTarget = null;
40
41
  runtime.currentMaskDepth = 0;
@@ -52,10 +53,10 @@ export function renderWgpuBackground(state) {
52
53
  // Preserve prerequisite work and its uniform-ring allocations when a recipe opened the frame
53
54
  // explicitly. The common path still creates and resets the frame here.
54
55
  beginWgpuFrame(state);
55
- const canvas = state.canvas;
56
+ const surface = state.surface;
56
57
  const context = state.context;
57
- const width = canvas.width;
58
- const height = canvas.height;
58
+ const width = surface.width;
59
+ const height = surface.height;
59
60
  // With frame capture on, render into an offscreen COPY_SRC texture instead of the swapchain: software/
60
61
  // headless adapters never present the swapchain and its texture reads back as zeros, so the readable
61
62
  // copy must be the render target itself.
@@ -160,4 +161,89 @@ export function submitWgpuRenderPass(state) {
160
161
  runtime.canvasViewCleared = false;
161
162
  clearWgpuSurfacePresentation(state);
162
163
  }
164
+ /**
165
+ * Temporarily records an offscreen state's work into a presentation state's live command encoder.
166
+ * The borrower keeps its own uniform ring, batch buffers, traversal counters, and GPU resources; only
167
+ * the frame encoder/pass boundary is borrowed, and this callback bracket always returns it.
168
+ */
169
+ export function withWgpuFrameBorrow(ownerState, borrowerState, callback) {
170
+ if (borrowerState.device !== ownerState.device) {
171
+ throw new Error('Wgpu frame owner and borrower must use the same GPU device');
172
+ }
173
+ const owner = getWgpuRenderStateRuntime(ownerState);
174
+ const borrower = getWgpuRenderStateRuntime(borrowerState);
175
+ if (borrower.commandEncoder !== null)
176
+ throw new Error('Wgpu frame borrower already has an active frame');
177
+ const ownsFrame = owner.commandEncoder === null;
178
+ if (ownsFrame)
179
+ beginWgpuFrame(ownerState);
180
+ const saved = captureBorrowerFrameState(borrower);
181
+ borrower.commandEncoder = owner.commandEncoder;
182
+ borrower.renderPass = owner.renderPass;
183
+ borrower.canvasTextureView = owner.canvasTextureView;
184
+ borrower.canvasViewCleared = owner.canvasViewCleared;
185
+ borrower.depthStencilTexture = owner.depthStencilTexture;
186
+ borrower.depthStencilView = owner.depthStencilView;
187
+ borrower.depthStencilWidth = owner.depthStencilWidth;
188
+ borrower.depthStencilHeight = owner.depthStencilHeight;
189
+ borrower.currentColorFormat = owner.currentColorFormat;
190
+ borrower.currentRenderTarget = owner.currentRenderTarget;
191
+ borrower.renderTargetViewport = owner.renderTargetViewport;
192
+ borrower.borrowedSurfaceExtent = { height: ownerState.surface.height, width: ownerState.surface.width };
193
+ borrower.uniformOffset = 0;
194
+ borrower.quadBatchWriterBufferCursor = 0;
195
+ borrower.meshInstanceBufferCursor = 0;
196
+ try {
197
+ return callback();
198
+ }
199
+ finally {
200
+ if (borrower.uniformOffset > 0) {
201
+ borrowerState.device.queue.writeBuffer(borrower.uniformBuffer, 0, borrower.uniformData.buffer, 0, borrower.uniformOffset);
202
+ }
203
+ owner.commandEncoder = borrower.commandEncoder;
204
+ owner.renderPass = borrower.renderPass;
205
+ owner.canvasTextureView = borrower.canvasTextureView;
206
+ owner.canvasViewCleared = borrower.canvasViewCleared;
207
+ owner.depthStencilTexture = borrower.depthStencilTexture;
208
+ owner.depthStencilView = borrower.depthStencilView;
209
+ owner.depthStencilWidth = borrower.depthStencilWidth;
210
+ owner.depthStencilHeight = borrower.depthStencilHeight;
211
+ owner.currentColorFormat = borrower.currentColorFormat;
212
+ owner.currentRenderTarget = borrower.currentRenderTarget;
213
+ owner.renderTargetViewport = borrower.renderTargetViewport;
214
+ transferRetiredWgpuResources(borrower, owner);
215
+ restoreBorrowerFrameState(borrower, saved);
216
+ if (ownsFrame)
217
+ submitWgpuRenderPass(ownerState);
218
+ }
219
+ }
220
+ function captureBorrowerFrameState(runtime) {
221
+ return {
222
+ canvasTextureView: runtime.canvasTextureView,
223
+ canvasViewCleared: runtime.canvasViewCleared,
224
+ borrowedSurfaceExtent: runtime.borrowedSurfaceExtent,
225
+ commandEncoder: runtime.commandEncoder,
226
+ currentColorFormat: runtime.currentColorFormat,
227
+ currentRenderTarget: runtime.currentRenderTarget,
228
+ depthStencilHeight: runtime.depthStencilHeight,
229
+ depthStencilTexture: runtime.depthStencilTexture,
230
+ depthStencilView: runtime.depthStencilView,
231
+ depthStencilWidth: runtime.depthStencilWidth,
232
+ renderPass: runtime.renderPass,
233
+ renderTargetViewport: runtime.renderTargetViewport,
234
+ };
235
+ }
236
+ function restoreBorrowerFrameState(runtime, saved) {
237
+ Object.assign(runtime, saved);
238
+ }
239
+ function transferRetiredWgpuResources(borrower, owner) {
240
+ if (borrower.retiredBuffers !== undefined && borrower.retiredBuffers.length > 0) {
241
+ (owner.retiredBuffers ?? (owner.retiredBuffers = [])).push(...borrower.retiredBuffers);
242
+ borrower.retiredBuffers.length = 0;
243
+ }
244
+ if (borrower.retiredTextures !== undefined && borrower.retiredTextures.length > 0) {
245
+ (owner.retiredTextures ?? (owner.retiredTextures = [])).push(...borrower.retiredTextures);
246
+ borrower.retiredTextures.length = 0;
247
+ }
248
+ }
163
249
  //# sourceMappingURL=wgpuBackground.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuBackground.js","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvF,SAAS,sBAAsB,CAAC,KAAsB,EAAE,KAAa,EAAE,MAAc;IACnF,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IACE,OAAO,CAAC,mBAAmB,KAAK,IAAI;QACpC,OAAO,CAAC,iBAAiB,KAAK,KAAK;QACnC,OAAO,CAAC,kBAAkB,KAAK,MAAM,EACrC,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACzC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,sBAAsB;QAC9B,KAAK,EAAE,eAAe,CAAC,iBAAiB;KACzC,CAAC,CAAC;IAEH,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC;IACtC,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAClC,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO;IAE5C,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC7D,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;IAC1B,sGAAsG;IACtG,8CAA8C;IAC9C,OAAO,CAAC,2BAA2B,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAEjD,6CAA6C;IAC7C,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,6FAA6F;IAC7F,uEAAuE;IACvE,cAAc,CAAC,KAAK,CAAC,CAAC;IAEtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,uGAAuG;IACvG,qGAAqG;IACrG,yCAAyC;IACzC,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACjG,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAC1D,MAAM,aAAa,GAAG,+BAA+B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAElE,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,aAAa,IAAI,gBAAgB,CAAC;IACrD,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC;IACvC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,8GAA8G;IAC9G,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAEpH,MAAM,UAAU,GAAG,OAAO,CAAC,cAAe,CAAC,eAAe,CAAC;QACzD,gBAAgB,EAAE;YAChB;gBACE,IAAI,EAAE,UAAU;gBAChB,UAAU;gBACV,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;aACjB;SACF;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,OAAO,CAAC,gBAAiB;YAC/B,eAAe,EAAE,GAAG;YACpB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,OAAO;YACtB,cAAc,EAAE,SAAS;SAC1B;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AAClC,CAAC;AAED,yGAAyG;AACzG,sGAAsG;AACtG,2GAA2G;AAC3G,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,KAAsB,EAAE,MAAiB;IACxE,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,mFAAmF;AACnF,EAAE;AACF,yGAAyG;AACzG,uGAAuG;AACvG,yGAAyG;AACzG,yGAAyG;AACzG,sGAAsG;AACtG,0GAA0G;AAC1G,uGAAuG;AACvG,uBAAuB;AACvB,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,OAAmB;IAC3E,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC1F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,UAAU,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,oEAAoE;QACpE,gFAAgF;QAChF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QACnF,CAAC;QACD,kGAAkG;QAClG,iCAAiC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,kGAAkG;QAClG,8EAA8E;QAC9E,iGAAiG;QACjG,2FAA2F;QAC3F,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI;YAAE,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QAE9B,iGAAiG;QACjG,iGAAiG;QACjG,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9E,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAClC,4BAA4B,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"wgpuBackground.js","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvF,SAAS,sBAAsB,CAAC,KAAsB,EAAE,KAAa,EAAE,MAAc;IACnF,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IACE,OAAO,CAAC,mBAAmB,KAAK,IAAI;QACpC,OAAO,CAAC,iBAAiB,KAAK,KAAK;QACnC,OAAO,CAAC,kBAAkB,KAAK,MAAM,EACrC,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACzC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,sBAAsB;QAC9B,KAAK,EAAE,eAAe,CAAC,iBAAiB;KACzC,CAAC,CAAC;IAEH,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC;IACtC,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAClC,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkC;IAC/D,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO;IAE5C,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC7D,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;IAC1B,sGAAsG;IACtG,8CAA8C;IAC9C,OAAO,CAAC,2BAA2B,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAkC;IACrE,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAEjD,6CAA6C;IAC7C,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,6FAA6F;IAC7F,uEAAuE;IACvE,cAAc,CAAC,KAAK,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,uGAAuG;IACvG,qGAAqG;IACrG,yCAAyC;IACzC,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACjG,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAC1D,MAAM,aAAa,GAAG,+BAA+B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAElE,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,aAAa,IAAI,gBAAgB,CAAC;IACrD,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC;IACvC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,8GAA8G;IAC9G,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAEpH,MAAM,UAAU,GAAG,OAAO,CAAC,cAAe,CAAC,eAAe,CAAC;QACzD,gBAAgB,EAAE;YAChB;gBACE,IAAI,EAAE,UAAU;gBAChB,UAAU;gBACV,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,OAAO;aACjB;SACF;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,OAAO,CAAC,gBAAiB;YAC/B,eAAe,EAAE,GAAG;YACpB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,OAAO;YACtB,cAAc,EAAE,SAAS;SAC1B;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AAClC,CAAC;AAED,yGAAyG;AACzG,sGAAsG;AACtG,2GAA2G;AAC3G,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,KAAsB,EAAE,MAAiB;IACxE,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,mFAAmF;AACnF,EAAE;AACF,yGAAyG;AACzG,uGAAuG;AACvG,yGAAyG;AACzG,yGAAyG;AACzG,sGAAsG;AACtG,0GAA0G;AAC1G,uGAAuG;AACvG,uBAAuB;AACvB,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,OAAmB;IAC3E,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAkC;IACrE,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC1F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,UAAU,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,oEAAoE;QACpE,gFAAgF;QAChF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QACnF,CAAC;QACD,kGAAkG;QAClG,iCAAiC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,kGAAkG;QAClG,8EAA8E;QAC9E,iGAAiG;QACjG,2FAA2F;QAC3F,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI;YAAE,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QAE9B,iGAAiG;QACjG,iGAAiG;QACjG,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9E,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAClC,4BAA4B,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAuC,EACvC,aAA8B,EAC9B,QAAiB;IAEjB,IAAI,aAAa,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAEzG,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,SAAS;QAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACvC,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACzD,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACnD,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,QAAQ,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IACvD,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACzD,QAAQ,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC3D,QAAQ,CAAC,qBAAqB,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACxG,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;IAC3B,QAAQ,CAAC,2BAA2B,GAAG,CAAC,CAAC;IACzC,QAAQ,CAAC,wBAAwB,GAAG,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC/B,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CACpC,QAAQ,CAAC,aAAa,EACtB,CAAC,EACD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAC3B,CAAC,EACD,QAAQ,CAAC,aAAa,CACvB,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACrD,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACrD,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACzD,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACnD,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACrD,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QACvD,KAAK,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QACvD,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACzD,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;QAC3D,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,SAAS;YAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAkBD,SAAS,yBAAyB,CAAC,OAA+B;IAChE,OAAO;QACL,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAA+B,EAAE,KAAyB;IAC3F,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAgC,EAAE,KAA6B;IACnG,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChF,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvF,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1F,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TextureContainer, TextureContainerFormat, TextureColorSpace, WgpuCompressedTextureDecoder, WgpuCompressedTextureSupport, WgpuRenderState } from '@flighthq/types/contract';
1
+ import type { TextureColorSpace, TextureContainer, TextureContainerFormat, WgpuCompressedTextureDecoder, WgpuCompressedTextureSupport, WgpuRenderState } from '@flighthq/types/contract';
2
2
  export declare function detectWgpuCompressedTextureSupport(device: GPUDevice): WgpuCompressedTextureSupport;
3
3
  export declare function getWgpuCompressedTextureFormat(device: GPUDevice, format: TextureContainerFormat): GPUTextureFormat | null;
4
4
  export declare function hasWgpuCompressedTextureFormat(support: Readonly<WgpuCompressedTextureSupport>, format: TextureContainerFormat): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuCompressedTexture.d.ts","sourceRoot":"","sources":["../src/wgpuCompressedTexture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,SAAS,GAAG,4BAA4B,CAMlG;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC7B,gBAAgB,GAAG,IAAI,CAOzB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAC/C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAKT;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,4BAA4B,GAAG,IAAI,GAC1C,IAAI,CAON;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAOjG;AAMD,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACrC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC7B,MAAM,CAAC,EAAE,4BAA4B,EACrC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,UAAU,GAAG,IAAI,CAoEnB"}
1
+ {"version":3,"file":"wgpuCompressedTexture.d.ts","sourceRoot":"","sources":["../src/wgpuCompressedTexture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,SAAS,GAAG,4BAA4B,CAMlG;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC7B,gBAAgB,GAAG,IAAI,CAOzB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAC/C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAKT;AAmBD,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,4BAA4B,GAAG,IAAI,GAC1C,IAAI,CAON;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAOjG;AAMD,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACrC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC7B,MAAM,CAAC,EAAE,4BAA4B,EACrC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,UAAU,GAAG,IAAI,CAoEnB"}
@@ -1,5 +1,6 @@
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
1
2
  import { RegistryEntryState } from '@flighthq/types/contract';
2
- import { getWgpuRenderStateRuntime } from './wgpuRenderState';
3
+ import { getWgpuRenderStateDeviceResources, getWgpuRenderStateRuntime } from './wgpuRenderState';
3
4
  export function detectWgpuCompressedTextureSupport(device) {
4
5
  return {
5
6
  astc: device.features.has('texture-compression-astc'),
@@ -27,6 +28,14 @@ export function hasWgpuCompressedTextureFormat(support, format) {
27
28
  return support.astc;
28
29
  return support.etc2;
29
30
  }
31
+ function initializeWgpuTextureEntry(out, bindings, mipLevelCount, sampler, straightAlpha, texture, view) {
32
+ out.bindings = bindings;
33
+ out.mipLevelCount = mipLevelCount;
34
+ out.sampler = sampler;
35
+ out.straightAlpha = straightAlpha;
36
+ out.texture = texture;
37
+ out.view = view;
38
+ }
30
39
  export function registerWgpuCompressedTextureDecoder(state, decode) {
31
40
  const runtime = getWgpuRenderStateRuntime(state);
32
41
  const table = runtime.registries.compressedTextureDecoder;
@@ -120,16 +129,11 @@ function uploadWgpuCompressedImage(state, image, decode, colorSpace = 'linear')
120
129
  if (texture === null)
121
130
  return null;
122
131
  const view = texture.createView();
123
- const runtime = getWgpuRenderStateRuntime(state);
124
- const sampler = state.allowSmoothing ? runtime.linearSampler : runtime.nearestSampler;
125
- const bindGroup = state.device.createBindGroup({
126
- layout: runtime.textureBindGroupLayout,
127
- entries: [
128
- { binding: 0, resource: view },
129
- { binding: 1, resource: sampler },
130
- ],
131
- });
132
- return { bindGroup, straightAlpha: native, texture, view };
132
+ const resources = getWgpuRenderStateDeviceResources(state);
133
+ const sampler = state.allowSmoothing ? resources.linearSampler : resources.nearestSampler;
134
+ const out = allocateEntity();
135
+ initializeWgpuTextureEntry(out, new Map(), container.mipLevels, sampler, native, texture, view);
136
+ return finishEntity(out);
133
137
  }
134
138
  function premultiplyRgba8(data) {
135
139
  const out = new Uint8ClampedArray(data.length);
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuCompressedTexture.js","sourceRoot":"","sources":["../src/wgpuCompressedTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuCompressedTexture.js","sourceRoot":"","sources":["../src/wgpuCompressedTexture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { WgpuDeviceRuntime, WgpuDeviceSignals, WgpuRenderState } from '@flighthq/types/contract';
2
+ export declare function disposeWgpuDeviceSignals(state: WgpuRenderState): void;
3
+ export declare function enableWgpuDeviceSignals(state: WgpuRenderState): WgpuDeviceSignals;
4
+ export declare function getWgpuDeviceLoss(state: WgpuRenderState): GPUDeviceLostInfo | null;
5
+ export declare function isWgpuDeviceLost(state: WgpuRenderState): boolean;
6
+ /**
7
+ * Attaches the one loss observer for a physical device, during device-tier construction and before
8
+ * any render state is published on it.
9
+ *
10
+ * Takes the device RUNTIME, never a state: the handler outlives every state built on this device, so
11
+ * capturing one would pin it — and all of its GPU resources — for the device's whole life.
12
+ *
13
+ * Attaching late is safe and is relied upon. `GPUDevice.lost` resolves once and stays resolved, so a
14
+ * device lost between `requestDevice` and this call still runs the handler. There is no window in
15
+ * which a loss can be missed, which is why no pre-check is needed here.
16
+ *
17
+ * `lost` is absent on hand-built devices in tests and may be absent on a caller-supplied handle from
18
+ * a native host, so its absence reports a live device rather than throwing.
19
+ */
20
+ export declare function observeWgpuDeviceLoss(deviceRuntime: WgpuDeviceRuntime): void;
21
+ //# sourceMappingURL=wgpuDeviceLoss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgpuDeviceLoss.d.ts","sourceRoot":"","sources":["../src/wgpuDeviceLoss.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMtG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAErE;AAUD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,CAGjF;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAElF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAe5E"}
@@ -0,0 +1,62 @@
1
+ import { createSignal, emitSignal } from '@flighthq/signals/contract';
2
+ import { getWgpuRenderStateRuntime } from './wgpuRenderState';
3
+ // Releases the device tier's signal group. The terminal loss FACT survives — a lost device stays
4
+ // lost whether or not anyone is listening — so getWgpuDeviceLoss keeps reporting after this call.
5
+ export function disposeWgpuDeviceSignals(state) {
6
+ getWgpuRenderStateRuntime(state).context.signals = null;
7
+ }
8
+ // Arms loss notification for the device this state draws on. Idempotent, and shared: two states over
9
+ // one GPUDevice resolve the same tier and therefore the same group, so a caller cannot accidentally
10
+ // create a second one that never fires.
11
+ //
12
+ // The signal announces the TRANSITION, once. A listener attached after the announcement has already
13
+ // been made hears nothing, by design — for that caller the loss is a fact rather than news, and
14
+ // getWgpuDeviceLoss is how it reads it. Enabling on an already-lost device is therefore not an error
15
+ // and not a missed event; it is simply the wrong question, and the right one has a standing answer.
16
+ export function enableWgpuDeviceSignals(state) {
17
+ const deviceRuntime = getWgpuRenderStateRuntime(state).context;
18
+ return (deviceRuntime.signals ??= { onDeviceLost: createSignal() });
19
+ }
20
+ // The device's loss report, or null while it is live. Reports BOTH an unexpected loss and the
21
+ // 'destroyed' resolution Flight's own release produces; branch on `reason` to tell them apart.
22
+ export function getWgpuDeviceLoss(state) {
23
+ return getWgpuRenderStateRuntime(state).context.lost;
24
+ }
25
+ export function isWgpuDeviceLost(state) {
26
+ return getWgpuRenderStateRuntime(state).context.lost !== null;
27
+ }
28
+ /**
29
+ * Attaches the one loss observer for a physical device, during device-tier construction and before
30
+ * any render state is published on it.
31
+ *
32
+ * Takes the device RUNTIME, never a state: the handler outlives every state built on this device, so
33
+ * capturing one would pin it — and all of its GPU resources — for the device's whole life.
34
+ *
35
+ * Attaching late is safe and is relied upon. `GPUDevice.lost` resolves once and stays resolved, so a
36
+ * device lost between `requestDevice` and this call still runs the handler. There is no window in
37
+ * which a loss can be missed, which is why no pre-check is needed here.
38
+ *
39
+ * `lost` is absent on hand-built devices in tests and may be absent on a caller-supplied handle from
40
+ * a native host, so its absence reports a live device rather than throwing.
41
+ */
42
+ export function observeWgpuDeviceLoss(deviceRuntime) {
43
+ const lost = deviceRuntime.device.lost;
44
+ if (lost == null)
45
+ return;
46
+ void lost.then((info) => {
47
+ // Terminal, so the first report wins; a second resolution could not happen for a real device and
48
+ // must not double-emit if a fake one produces it.
49
+ if (deviceRuntime.lost !== null)
50
+ return;
51
+ deviceRuntime.lost = info;
52
+ // An orderly `device.destroy()` — which `release` performs on every clean teardown — resolves
53
+ // this same promise with reason 'destroyed'. Announcing it would fire this signal on shutdown,
54
+ // making it useless for the thing it exists to report.
55
+ if (info.reason === 'destroyed')
56
+ return;
57
+ const signals = deviceRuntime.signals;
58
+ if (signals !== null)
59
+ emitSignal(signals.onDeviceLost, info);
60
+ });
61
+ }
62
+ //# sourceMappingURL=wgpuDeviceLoss.js.map