@flighthq/render-wgpu 0.2.1-next.840.857425c → 0.3.0-next.1021.f5f1ee0

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 (91) hide show
  1. package/dist/contract.d.ts +22 -0
  2. package/dist/contract.d.ts.map +1 -0
  3. package/dist/contract.js +22 -0
  4. package/dist/contract.js.map +1 -0
  5. package/dist/index.d.ts +1 -18
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -18
  8. package/dist/index.js.map +1 -1
  9. package/dist/wgpuAdapterCapabilities.d.ts +1 -1
  10. package/dist/wgpuAdapterCapabilities.d.ts.map +1 -1
  11. package/dist/wgpuBackground.d.ts +1 -1
  12. package/dist/wgpuBackground.d.ts.map +1 -1
  13. package/dist/wgpuBackground.js +2 -2
  14. package/dist/wgpuBackground.js.map +1 -1
  15. package/dist/wgpuCompressedTexture.d.ts +1 -1
  16. package/dist/wgpuCompressedTexture.d.ts.map +1 -1
  17. package/dist/wgpuCompressedTexture.js +4 -7
  18. package/dist/wgpuCompressedTexture.js.map +1 -1
  19. package/dist/wgpuDraw.d.ts +8 -6
  20. package/dist/wgpuDraw.d.ts.map +1 -1
  21. package/dist/wgpuDraw.js +79 -45
  22. package/dist/wgpuDraw.js.map +1 -1
  23. package/dist/wgpuExternalTexture.d.ts +4 -0
  24. package/dist/wgpuExternalTexture.d.ts.map +1 -0
  25. package/dist/wgpuExternalTexture.js +58 -0
  26. package/dist/wgpuExternalTexture.js.map +1 -0
  27. package/dist/wgpuFullscreenPass.d.ts +1 -1
  28. package/dist/wgpuFullscreenPass.d.ts.map +1 -1
  29. package/dist/wgpuMaterialRegistry.d.ts +1 -1
  30. package/dist/wgpuMaterialRegistry.d.ts.map +1 -1
  31. package/dist/wgpuMaterialRegistry.js +3 -3
  32. package/dist/wgpuMaterialRegistry.js.map +1 -1
  33. package/dist/wgpuMipmap.d.ts +1 -1
  34. package/dist/wgpuMipmap.d.ts.map +1 -1
  35. package/dist/wgpuRenderState.d.ts +1 -1
  36. package/dist/wgpuRenderState.d.ts.map +1 -1
  37. package/dist/wgpuRenderState.js +22 -20
  38. package/dist/wgpuRenderState.js.map +1 -1
  39. package/dist/wgpuRenderTarget.d.ts +1 -1
  40. package/dist/wgpuRenderTarget.d.ts.map +1 -1
  41. package/dist/wgpuRenderTarget.js +4 -2
  42. package/dist/wgpuRenderTarget.js.map +1 -1
  43. package/dist/wgpuRenderTargetPool.d.ts +1 -1
  44. package/dist/wgpuRenderTargetPool.d.ts.map +1 -1
  45. package/dist/wgpuRenderTargetPool.js.map +1 -1
  46. package/dist/wgpuRenderTexture.d.ts +10 -0
  47. package/dist/wgpuRenderTexture.d.ts.map +1 -0
  48. package/dist/wgpuRenderTexture.js +76 -0
  49. package/dist/wgpuRenderTexture.js.map +1 -0
  50. package/dist/wgpuScissor.d.ts +1 -1
  51. package/dist/wgpuScissor.d.ts.map +1 -1
  52. package/dist/wgpuShader.d.ts +3 -3
  53. package/dist/wgpuShader.d.ts.map +1 -1
  54. package/dist/wgpuShader.js +28 -28
  55. package/dist/wgpuShader.js.map +1 -1
  56. package/dist/wgpuShaderBinding.d.ts +1 -1
  57. package/dist/wgpuShaderBinding.d.ts.map +1 -1
  58. package/dist/wgpuShaderBinding.js +1 -1
  59. package/dist/wgpuShaderBinding.js.map +1 -1
  60. package/dist/wgpuShaderRegistry.d.ts +1 -1
  61. package/dist/wgpuShaderRegistry.d.ts.map +1 -1
  62. package/dist/wgpuShaderRegistry.js +1 -1
  63. package/dist/wgpuShaderRegistry.js.map +1 -1
  64. package/dist/wgpuSurface.d.ts +2 -2
  65. package/dist/wgpuSurface.d.ts.map +1 -1
  66. package/dist/wgpuSurface.js +12 -12
  67. package/dist/wgpuSurface.js.map +1 -1
  68. package/dist/wgpuTestHelper.d.ts +1 -1
  69. package/dist/wgpuTestHelper.d.ts.map +1 -1
  70. package/dist/wgpuTextureResolver.d.ts +9 -0
  71. package/dist/wgpuTextureResolver.d.ts.map +1 -0
  72. package/dist/wgpuTextureResolver.js +61 -0
  73. package/dist/wgpuTextureResolver.js.map +1 -0
  74. package/dist/wgpuTextureUpload.d.ts +1 -1
  75. package/dist/wgpuTextureUpload.d.ts.map +1 -1
  76. package/dist/wgpuTextureUpload.js +3 -9
  77. package/dist/wgpuTextureUpload.js.map +1 -1
  78. package/package.json +12 -7
  79. package/src/wgpuCompressedTexture.test.ts +18 -35
  80. package/src/wgpuDraw.test.ts +111 -65
  81. package/src/wgpuExternalTexture.test.ts +35 -0
  82. package/src/wgpuMaterialRegistry.test.ts +4 -4
  83. package/src/wgpuMipmap.test.ts +1 -1
  84. package/src/wgpuRenderTarget.test.ts +15 -1
  85. package/src/wgpuRenderTexture.test.ts +106 -0
  86. package/src/wgpuShader.test.ts +8 -8
  87. package/src/wgpuShaderBinding.test.ts +8 -8
  88. package/src/wgpuShaderRegistry.test.ts +1 -1
  89. package/src/wgpuSurface.test.ts +3 -3
  90. package/src/wgpuTextureResolver.test.ts +156 -0
  91. package/src/wgpuTextureUpload.test.ts +2 -12
@@ -0,0 +1,22 @@
1
+ export * from './wgpuAdapterCapabilities';
2
+ export * from './wgpuBackground';
3
+ export * from './wgpuCompressedTexture';
4
+ export * from './wgpuDraw';
5
+ export * from './wgpuExternalTexture';
6
+ export * from './wgpuElement';
7
+ export * from './wgpuFullscreenPass';
8
+ export * from './wgpuMaterialRegistry';
9
+ export * from './wgpuMipmap';
10
+ export * from './wgpuRenderState';
11
+ export * from './wgpuRenderTarget';
12
+ export * from './wgpuRenderTargetPool';
13
+ export * from './wgpuRenderTexture';
14
+ export * from './wgpuScissor';
15
+ export * from './wgpuShader';
16
+ export * from './wgpuShaderBinding';
17
+ export * from './wgpuShaderRegistry';
18
+ export * from './wgpuSurface';
19
+ export * from './wgpuTextureUpload';
20
+ export * from './wgpuTextureResolver';
21
+ export { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
22
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,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,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,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export * from './wgpuAdapterCapabilities';
2
+ export * from './wgpuBackground';
3
+ export * from './wgpuCompressedTexture';
4
+ export * from './wgpuDraw';
5
+ export * from './wgpuExternalTexture';
6
+ export * from './wgpuElement';
7
+ export * from './wgpuFullscreenPass';
8
+ export * from './wgpuMaterialRegistry';
9
+ export * from './wgpuMipmap';
10
+ export * from './wgpuRenderState';
11
+ export * from './wgpuRenderTarget';
12
+ export * from './wgpuRenderTargetPool';
13
+ export * from './wgpuRenderTexture';
14
+ export * from './wgpuScissor';
15
+ export * from './wgpuShader';
16
+ export * from './wgpuShaderBinding';
17
+ export * from './wgpuShaderRegistry';
18
+ export * from './wgpuSurface';
19
+ export * from './wgpuTextureUpload';
20
+ export * from './wgpuTextureResolver';
21
+ export { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
22
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,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,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,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,19 +1,2 @@
1
- export * from './wgpuAdapterCapabilities';
2
- export * from './wgpuBackground';
3
- export * from './wgpuCompressedTexture';
4
- export * from './wgpuDraw';
5
- export * from './wgpuElement';
6
- export * from './wgpuFullscreenPass';
7
- export * from './wgpuMaterialRegistry';
8
- export * from './wgpuMipmap';
9
- export * from './wgpuRenderState';
10
- export * from './wgpuRenderTarget';
11
- export * from './wgpuRenderTargetPool';
12
- export * from './wgpuScissor';
13
- export * from './wgpuShader';
14
- export * from './wgpuShaderBinding';
15
- export * from './wgpuShaderRegistry';
16
- export * from './wgpuSurface';
17
- export * from './wgpuTextureUpload';
18
- export { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
1
+ export { beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuRenderState, createExternalWgpuTexture, createWgpuCanvasElement, createWgpuRenderState, createWgpuRenderTarget, destroyWgpuRenderTexture, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuFrameCapture, endWgpuRenderPass, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerWgpuTextureResolver, registerWgpuVideoTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, renderIntoWgpuRenderTexture, renderWgpuBackground, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, submitWgpuRenderPass, } from './contract';
19
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,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,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,gCAAgC,EAChC,oCAAoC,EACpC,mCAAmC,EACnC,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,19 +1,2 @@
1
- export * from './wgpuAdapterCapabilities';
2
- export * from './wgpuBackground';
3
- export * from './wgpuCompressedTexture';
4
- export * from './wgpuDraw';
5
- export * from './wgpuElement';
6
- export * from './wgpuFullscreenPass';
7
- export * from './wgpuMaterialRegistry';
8
- export * from './wgpuMipmap';
9
- export * from './wgpuRenderState';
10
- export * from './wgpuRenderTarget';
11
- export * from './wgpuRenderTargetPool';
12
- export * from './wgpuScissor';
13
- export * from './wgpuShader';
14
- export * from './wgpuShaderBinding';
15
- export * from './wgpuShaderRegistry';
16
- export * from './wgpuSurface';
17
- export * from './wgpuTextureUpload';
18
- export { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
1
+ export { beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuRenderState, createExternalWgpuTexture, createWgpuCanvasElement, createWgpuRenderState, createWgpuRenderTarget, destroyWgpuRenderTexture, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuFrameCapture, endWgpuRenderPass, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerWgpuTextureResolver, registerWgpuVideoTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, renderIntoWgpuRenderTexture, renderWgpuBackground, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, submitWgpuRenderPass, } from './contract';
19
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,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,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,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,gCAAgC,EAChC,oCAAoC,EACpC,mCAAmC,EACnC,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { WgpuAdapterCapabilities } from '@flighthq/types';
1
+ import type { WgpuAdapterCapabilities } from '@flighthq/types/contract';
2
2
  export declare function getWgpuAdapterCapabilities(adapter: GPUAdapter): WgpuAdapterCapabilities;
3
3
  //# sourceMappingURL=wgpuAdapterCapabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuAdapterCapabilities.d.ts","sourceRoot":"","sources":["../src/wgpuAdapterCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAS/D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,uBAAuB,CAwBvF"}
1
+ {"version":3,"file":"wgpuAdapterCapabilities.d.ts","sourceRoot":"","sources":["../src/wgpuAdapterCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AASxE,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,uBAAuB,CAwBvF"}
@@ -1,4 +1,4 @@
1
- import type { WgpuRenderState } from '@flighthq/types';
1
+ import type { 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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuBackground.d.ts","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA6BvD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAe3D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAyDjE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAmCjE"}
1
+ {"version":3,"file":"wgpuBackground.d.ts","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA6BhE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAe3D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAyDjE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAmCjE"}
@@ -31,9 +31,9 @@ export function beginWgpuFrame(state) {
31
31
  return;
32
32
  runtime.commandEncoder = state.device.createCommandEncoder();
33
33
  runtime.uniformOffset = 0;
34
- // Reclaim the sprite-batch buffer pool from the start of the frame; last frame's submit has been
34
+ // Reclaim the quad-batch writer buffer pool from the start of the frame; last frame's submit has been
35
35
  // queued, so its slots are safe to overwrite.
36
- runtime.spriteBatchBufferCursor = 0;
36
+ runtime.quadBatchWriterBufferCursor = 0;
37
37
  runtime.currentBlendMode = null;
38
38
  runtime.currentRenderTarget = null;
39
39
  runtime.currentMaskDepth = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuBackground.js","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuBackground.js","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TextureContainer, TextureContainerFormat, WgpuCompressedTextureDecoder, WgpuCompressedTextureSupport, WgpuRenderState } from '@flighthq/types';
1
+ import type { 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,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAWzB,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,CAEN;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAGjG;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,GACpC,UAAU,GAAG,IAAI,CAoEnB"}
1
+ {"version":3,"file":"wgpuCompressedTexture.d.ts","sourceRoot":"","sources":["../src/wgpuCompressedTexture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAWlC,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,CAEN;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAEjG;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,GACpC,UAAU,GAAG,IAAI,CAoEnB"}
@@ -30,8 +30,7 @@ export function registerWgpuCompressedTextureDecoder(state, decode) {
30
30
  getWgpuRenderStateRuntime(state).compressedTextureDecoder = decode;
31
31
  }
32
32
  export function registerWgpuCompressedTextureUpload(state, uploader) {
33
- getWgpuRenderStateRuntime(state).compressedTextureUpload =
34
- uploader === null ? null : uploadWgpuCompressedImageResource;
33
+ getWgpuRenderStateRuntime(state).compressedTextureUpload = uploader === null ? null : uploadWgpuCompressedImage;
35
34
  }
36
35
  // Creates and fills a WebGPU texture from a parsed block-compressed container. Native uploads cover
37
36
  // 2D, cubemap, and 2D-array shapes; the RGBA fallback intentionally covers plain 2D only, matching GL.
@@ -94,10 +93,8 @@ export function uploadWgpuCompressedTextureContainer(state, container, payload,
94
93
  }
95
94
  return texture;
96
95
  }
97
- function uploadWgpuCompressedImageResource(state, image, decode) {
96
+ function uploadWgpuCompressedImage(state, image, decode) {
98
97
  const compressed = image.compressed;
99
- if (compressed === null)
100
- return null;
101
98
  const container = compressed.container;
102
99
  if (container.depth !== 1 || container.faces !== 1 || container.layers !== 1)
103
100
  return null;
@@ -106,7 +103,7 @@ function uploadWgpuCompressedImageResource(state, image, decode) {
106
103
  ? undefined
107
104
  : (format, width, height, data) => {
108
105
  const rgba = decode(format, width, height, data);
109
- return rgba !== null && image.alphaType === 'straight' ? premultiplyRgba8(rgba) : rgba;
106
+ return rgba !== null ? premultiplyRgba8(rgba) : null;
110
107
  };
111
108
  const texture = uploadWgpuCompressedTextureContainer(state, container, compressed.payload, fallback);
112
109
  if (texture === null)
@@ -121,7 +118,7 @@ function uploadWgpuCompressedImageResource(state, image, decode) {
121
118
  { binding: 1, resource: sampler },
122
119
  ],
123
120
  });
124
- return { bindGroup, straightAlpha: native && image.alphaType === 'straight', texture, view };
121
+ return { bindGroup, straightAlpha: native, texture, view };
125
122
  }
126
123
  function premultiplyRgba8(data) {
127
124
  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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"}
@@ -1,12 +1,14 @@
1
- import type { ColorTransform, ImageResource, RenderProxy, RenderProxy2D, VideoTexture, WgpuRenderState, WgpuTextureEntry, WgpuVideoTextureEntry } from '@flighthq/types';
2
- import { BlendMode } from '@flighthq/types';
1
+ import type { Bitmap, ColorScaleBias, CompressedImage, ImageResource, Texture, RenderProxy, RenderProxy2D, WgpuRenderState, WgpuTextureEntry, WgpuVideoTextureEntry } from '@flighthq/types/contract';
2
+ import { BlendMode } from '@flighthq/types/contract';
3
3
  export declare function applyWgpuBlendMode(state: WgpuRenderState, blendMode: BlendMode | null): void;
4
- export declare function bindWgpuImageResourceTexture(state: WgpuRenderState, image: Readonly<ImageResource>, generateMips?: boolean): WgpuTextureEntry;
4
+ export declare function bindWgpuBitmapTexture(state: WgpuRenderState, bitmap: Readonly<Bitmap>, generateMips?: boolean, premultiply?: boolean): WgpuTextureEntry;
5
+ export declare function bindWgpuCompressedImageTexture(state: WgpuRenderState, image: Readonly<CompressedImage>): WgpuTextureEntry | null;
6
+ export declare function bindWgpuImageResourceTexture(state: WgpuRenderState, image: Readonly<ImageResource>, generateMips?: boolean, premultiply?: boolean): WgpuTextureEntry;
5
7
  export declare function bindWgpuTexture(state: WgpuRenderState, imageSource: CanvasImageSource, generateMips?: boolean): WgpuTextureEntry;
6
- export declare function bindWgpuVideoTexture(state: WgpuRenderState, videoTexture: Readonly<VideoTexture>): WgpuVideoTextureEntry | null;
8
+ export declare function bindWgpuVideoTexture(state: WgpuRenderState, videoTexture: Readonly<Texture>): WgpuVideoTextureEntry | null;
7
9
  export declare function buildWgpuRenderTargetBindGroup(state: WgpuRenderState, view: GPUTextureView): GPUBindGroup;
8
10
  export declare function createWgpuTextureEntry(state: WgpuRenderState, width: number, height: number, canvas: HTMLCanvasElement): WgpuTextureEntry;
9
- export declare function destroyWgpuVideoTexture(state: WgpuRenderState, videoTexture: Readonly<VideoTexture>): boolean;
11
+ export declare function destroyWgpuVideoTexture(state: WgpuRenderState, videoTexture: Readonly<Texture>): boolean;
10
12
  export declare function drawWgpuQuad(state: WgpuRenderState, renderProxy: RenderProxy2D, textureEntry: WgpuTextureEntry, x0: number, y0: number, x1: number, y1: number, u0: number, v0: number, u1: number, v1: number): void;
11
13
  export declare function drawWgpuQuadWithTransform(state: WgpuRenderState, renderProxy: RenderProxy, transform: {
12
14
  a: number;
@@ -17,7 +19,7 @@ export declare function drawWgpuQuadWithTransform(state: WgpuRenderState, render
17
19
  ty: number;
18
20
  }, textureEntry: WgpuTextureEntry, x0: number, y0: number, x1: number, y1: number, u0: number, v0: number, u1: number, v1: number): void;
19
21
  export declare function enableWgpuBlendModeSupport(state: WgpuRenderState): void;
20
- export declare function getWgpuRenderProxyColorTransform(renderProxy: Readonly<RenderProxy>): ColorTransform | null;
22
+ export declare function getWgpuRenderProxyColorScaleBias(renderProxy: Readonly<RenderProxy>): ColorScaleBias | null;
21
23
  export declare function resolveWgpuSmoothingBindGroup(state: WgpuRenderState, entry: WgpuTextureEntry, smoothing: boolean | null): GPUBindGroup;
22
24
  export declare function submitWgpuQuadDraw(state: WgpuRenderState, uniformOffset: number, textureBindGroup: GPUBindGroup): void;
23
25
  export declare function updateWgpuTextureEntry(state: WgpuRenderState, entry: WgpuTextureEntry, canvas: HTMLCanvasElement): void;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuDraw.d.ts","sourceRoot":"","sources":["../src/wgpuDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuDraw.d.ts","sourceRoot":"","sources":["../src/wgpuDraw.ts"],"names":[],"mappings":"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"}
package/dist/wgpuDraw.js CHANGED
@@ -1,23 +1,32 @@
1
- import { BlendMode } from '@flighthq/types';
1
+ import { BlendMode } from '@flighthq/types/contract';
2
2
  import { generateWgpuMipmaps, getWgpuMipLevelCount } from './wgpuMipmap';
3
3
  import { getWgpuRenderStateRuntime, getWgpuSampler } from './wgpuRenderState';
4
4
  import { getActiveWgpuPipeline, getWgpuPipeline, writeWgpuQuadUniforms } from './wgpuShader';
5
5
  export function applyWgpuBlendMode(state, blendMode) {
6
6
  getWgpuRenderStateRuntime(state).currentBlendMode = blendMode;
7
7
  }
8
- // The resource-level sibling of bindWgpuTexture: uploads and caches the GPU texture for an ImageResource
9
- // — a bitmap, sprite atlas, or material map — accepting an element-backed OR a data-only generated Surface.
10
- // Keyed by the resource entity in imageResourceTextureCache with the uploaded content version, so an
11
- // in-place Surface edit (which bumps version) re-uploads (recreating the GPU texture). Textures are stored
12
- // premultiplied to match the premultiplied (ONE, ONE_MINUS_SRC_ALPHA) blend: an element copies with
13
- // premultipliedAlpha, and straight-alpha `data` is premultiplied on the CPU (writeTexture does no alpha
14
- // conversion). Returns the texture, view, and 2D bind group.
15
- export function bindWgpuImageResourceTexture(state, image, generateMips = false) {
16
- const cache = getWgpuRenderStateRuntime(state).imageResourceTextureCache;
8
+ export function bindWgpuBitmapTexture(state, bitmap, generateMips = false, premultiply = false) {
9
+ return bindWgpuImageBackingTexture(state, bitmap, generateMips, premultiply, uploadWgpuBitmapEntry);
10
+ }
11
+ export function bindWgpuCompressedImageTexture(state, image) {
12
+ return bindWgpuImageBackingTexture(state, image, false, false, uploadWgpuCompressedImageEntry);
13
+ }
14
+ // Uploads and caches the WebGPU texture for an ImageResource. Bitmap and CompressedImage use sibling
15
+ // entry points below; they share only the identity/version cache bracket and keep representation-specific
16
+ // uploaders. Premultiplied and straight requests use separate caches so 2D and 3D sampling of one backing
17
+ // cannot rewrite each other's realization. Returns the texture, view, and 2D bind group.
18
+ export function bindWgpuImageResourceTexture(state, image, generateMips = false, premultiply = false) {
19
+ return bindWgpuImageBackingTexture(state, image, generateMips, premultiply, uploadWgpuImageResourceEntry);
20
+ }
21
+ function bindWgpuImageBackingTexture(state, image, generateMips, premultiply, upload) {
22
+ const runtime = getWgpuRenderStateRuntime(state);
23
+ const cache = premultiply ? runtime.imageBackingPremultipliedTextureCache : runtime.imageBackingStraightTextureCache;
17
24
  const cached = cache.get(image);
18
25
  if (cached !== undefined && cached.version === image.version)
19
26
  return cached;
20
- const built = uploadWgpuImageResourceEntry(state, image, generateMips);
27
+ const built = upload(state, image, generateMips, premultiply);
28
+ if (built === null)
29
+ return null;
21
30
  if (cached !== undefined) {
22
31
  cached.texture.destroy();
23
32
  cached.texture = built.texture;
@@ -110,11 +119,12 @@ function buildWgpuSmoothingBindGroup(state, runtime, view, sampler) {
110
119
  ],
111
120
  });
112
121
  }
113
- // Dynamic VideoTexture upload. The texture is cached by VideoTexture identity and copied only when its
114
- // frameId advances; a resolution change recreates the allocation/view, and a sampler mutation rebuilds
122
+ // Dynamic host-video upload. The texture is cached by ImageResource backing and copied only when its
123
+ // version advances; a resolution change recreates the allocation/view, and a sampler mutation rebuilds
115
124
  // only the bind group. Returns null until the backing element has a decoded frame.
116
125
  export function bindWgpuVideoTexture(state, videoTexture) {
117
- const element = videoTexture.source.element;
126
+ const image = videoTexture.storage.image;
127
+ const element = (image?.source ?? null);
118
128
  if (element === null || element.readyState < 2 || element.videoWidth <= 0 || element.videoHeight <= 0)
119
129
  return null;
120
130
  const runtime = getWgpuRenderStateRuntime(state);
@@ -122,7 +132,7 @@ export function bindWgpuVideoTexture(state, videoTexture) {
122
132
  const width = element.videoWidth;
123
133
  const height = element.videoHeight;
124
134
  const sampler = getWgpuVideoSampler(state, videoTexture);
125
- let entry = cache.get(videoTexture);
135
+ let entry = cache.get(image);
126
136
  if (entry === undefined || entry.width !== width || entry.height !== height) {
127
137
  entry?.texture.destroy();
128
138
  const texture = state.device.createTexture({
@@ -136,19 +146,19 @@ export function bindWgpuVideoTexture(state, videoTexture) {
136
146
  height,
137
147
  sampler,
138
148
  texture,
139
- uploadedFrameId: -1,
149
+ uploadedVersion: -1,
140
150
  view,
141
151
  width,
142
152
  };
143
- cache.set(videoTexture, entry);
153
+ cache.set(image, entry);
144
154
  }
145
155
  else if (entry.sampler !== sampler) {
146
156
  entry.sampler = sampler;
147
157
  entry.bindGroup = buildWgpuTextureBindGroup(state, entry.view, sampler);
148
158
  }
149
- if (entry.uploadedFrameId !== videoTexture.frameId) {
159
+ if (entry.uploadedVersion !== image.version) {
150
160
  state.device.queue.copyExternalImageToTexture({ source: element, flipY: false }, { texture: entry.texture, premultipliedAlpha: true }, [width, height]);
151
- entry.uploadedFrameId = videoTexture.frameId;
161
+ entry.uploadedVersion = image.version;
152
162
  }
153
163
  return entry;
154
164
  }
@@ -187,12 +197,15 @@ export function createWgpuTextureEntry(state, width, height, canvas) {
187
197
  return { texture, view, bindGroup };
188
198
  }
189
199
  export function destroyWgpuVideoTexture(state, videoTexture) {
200
+ const image = videoTexture.storage.image;
201
+ if (image == null)
202
+ return false;
190
203
  const cache = getWgpuRenderStateRuntime(state).videoTextureCache;
191
- const entry = cache?.get(videoTexture);
204
+ const entry = cache?.get(image);
192
205
  if (entry === undefined)
193
206
  return false;
194
207
  entry.texture.destroy();
195
- cache.delete(videoTexture);
208
+ cache.delete(image);
196
209
  return true;
197
210
  }
198
211
  function buildWgpuTextureBindGroup(state, view, sampler) {
@@ -217,23 +230,23 @@ export function drawWgpuQuad(state, renderProxy, textureEntry, x0, y0, x1, y1, u
217
230
  const pass = runtime.renderPass;
218
231
  if (pass === null)
219
232
  return;
220
- const uniformOffset = writeWgpuQuadUniforms(state, renderProxy, getWgpuRenderProxyColorTransform(renderProxy), x0, y0, x1, y1, u0, v0, u1, v1, textureEntry.straightAlpha === true);
233
+ const uniformOffset = writeWgpuQuadUniforms(state, renderProxy, getWgpuRenderProxyColorScaleBias(renderProxy), x0, y0, x1, y1, u0, v0, u1, v1, textureEntry.straightAlpha === true);
221
234
  submitWgpuQuadDraw(state, uniformOffset, textureEntry.bindGroup);
222
235
  }
223
236
  export function drawWgpuQuadWithTransform(state, renderProxy, transform, textureEntry, x0, y0, x1, y1, u0, v0, u1, v1) {
224
237
  const runtime = getWgpuRenderStateRuntime(state);
225
238
  if (runtime.renderPass === null)
226
239
  return;
227
- const uniformOffset = writeWgpuQuadUniforms(state, { alpha: renderProxy.alpha, transform2D: transform }, getWgpuRenderProxyColorTransform(renderProxy), x0, y0, x1, y1, u0, v0, u1, v1, textureEntry.straightAlpha === true);
240
+ const uniformOffset = writeWgpuQuadUniforms(state, { alpha: renderProxy.alpha, transform2D: transform }, getWgpuRenderProxyColorScaleBias(renderProxy), x0, y0, x1, y1, u0, v0, u1, v1, textureEntry.straightAlpha === true);
228
241
  submitWgpuQuadDraw(state, uniformOffset, textureEntry.bindGroup);
229
242
  }
230
243
  export function enableWgpuBlendModeSupport(state) {
231
244
  state.applyBlendMode = applyWgpuBlendMode;
232
245
  }
233
- // Effective node-level color transform for a render node — the resolved HasColorTransform trait. Used
246
+ // Effective node-level color adjustment for a render node — the resolved HasColorScaleBias trait. Used
234
247
  // by the immediate (display-object) draw path; the batch path folds it per-instance instead.
235
- export function getWgpuRenderProxyColorTransform(renderProxy) {
236
- return renderProxy.colorTransform ?? null;
248
+ export function getWgpuRenderProxyColorScaleBias(renderProxy) {
249
+ return renderProxy.colorScaleBias ?? null;
237
250
  }
238
251
  // The group(1) bind group a 2D bitmap should sample through for a per-bitmap `smoothing` preference:
239
252
  // `null` returns the entry's default bind group (the global `state.allowSmoothing` sampler, for
@@ -287,20 +300,14 @@ function premultiplyStraightRgba8(data) {
287
300
  }
288
301
  return out;
289
302
  }
290
- // Allocates a GPU texture for an ImageResource and uploads its pixels through whichever representation it
291
- // carries — an element via copyExternalImageToTexture (premultipliedAlpha) or data via writeTexture (CPU
292
- // premultiply for straight alpha) — then builds the view + 2D bind group. The per-upload half of
293
- // bindWgpuImageResourceTexture, split out so the cache/version bracket stays legible.
294
- function uploadWgpuImageResourceEntry(state, image, generateMips) {
303
+ // Allocates a GPU texture for a Bitmap and writes its CPU-readable pixels, premultiplying a straight
304
+ // bitmap only when the caller requests a premultiplied realization.
305
+ function uploadWgpuBitmapEntry(state, image, generateMips, premultiply) {
306
+ const bitmap = image;
295
307
  const runtime = getWgpuRenderStateRuntime(state);
296
308
  const { device } = state;
297
- if (image.source === null && image.data === null && image.compressed !== null) {
298
- const compressed = runtime.compressedTextureUpload?.(state, image, runtime.compressedTextureDecoder ?? null);
299
- if (compressed != null)
300
- return compressed;
301
- }
302
- const width = image.width || 1;
303
- const height = image.height || 1;
309
+ const width = bitmap.width || 1;
310
+ const height = bitmap.height || 1;
304
311
  const mipLevelCount = generateMips ? getWgpuMipLevelCount(width, height) : 1;
305
312
  const texture = device.createTexture({
306
313
  size: [width, height, 1],
@@ -308,13 +315,40 @@ function uploadWgpuImageResourceEntry(state, image, generateMips) {
308
315
  mipLevelCount,
309
316
  usage: GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT,
310
317
  });
311
- if (image.source !== null) {
312
- device.queue.copyExternalImageToTexture({ source: image.source, flipY: false }, { texture, premultipliedAlpha: true }, [width, height]);
313
- }
314
- else if (image.data !== null) {
315
- const data = image.alphaType === 'straight' ? premultiplyStraightRgba8(image.data) : image.data;
316
- device.queue.writeTexture({ texture }, data, { bytesPerRow: width * 4, rowsPerImage: height }, [width, height, 1]);
317
- }
318
+ const transform = premultiply && bitmap.alphaType !== 'premultiplied';
319
+ const data = transform ? premultiplyStraightRgba8(bitmap.data) : bitmap.data;
320
+ device.queue.writeTexture({ texture }, data, { bytesPerRow: width * 4, rowsPerImage: height }, [width, height, 1]);
321
+ if (mipLevelCount > 1)
322
+ generateWgpuMipmaps(state, texture, width, height, 'rgba8unorm');
323
+ const view = texture.createView();
324
+ const sampler = state.allowSmoothing ? runtime.linearSampler : runtime.nearestSampler;
325
+ const bindGroup = device.createBindGroup({
326
+ layout: runtime.textureBindGroupLayout,
327
+ entries: [
328
+ { binding: 0, resource: view },
329
+ { binding: 1, resource: sampler },
330
+ ],
331
+ });
332
+ return { texture, view, bindGroup };
333
+ }
334
+ function uploadWgpuCompressedImageEntry(state, image) {
335
+ const runtime = getWgpuRenderStateRuntime(state);
336
+ return (runtime.compressedTextureUpload?.(state, image, runtime.compressedTextureDecoder ?? null) ?? null);
337
+ }
338
+ function uploadWgpuImageResourceEntry(state, image, generateMips, premultiply) {
339
+ const resource = image;
340
+ const runtime = getWgpuRenderStateRuntime(state);
341
+ const { device } = state;
342
+ const width = resource.width || 1;
343
+ const height = resource.height || 1;
344
+ const mipLevelCount = generateMips ? getWgpuMipLevelCount(width, height) : 1;
345
+ const texture = device.createTexture({
346
+ size: [width, height, 1],
347
+ format: 'rgba8unorm',
348
+ mipLevelCount,
349
+ usage: GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT,
350
+ });
351
+ device.queue.copyExternalImageToTexture({ source: resource.source, flipY: false }, { texture, premultipliedAlpha: premultiply }, [width, height]);
318
352
  if (mipLevelCount > 1)
319
353
  generateWgpuMipmaps(state, texture, width, height, 'rgba8unorm');
320
354
  const view = texture.createView();