@flighthq/render-wgpu 0.2.1-next.841.373388f → 0.3.0-next.1032.e2b99fc

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 +7 -5
  20. package/dist/wgpuDraw.d.ts.map +1 -1
  21. package/dist/wgpuDraw.js +76 -56
  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 -21
  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 +73 -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 +99 -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":"AAEA,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,iGAAiG;IACjG,8CAA8C;IAC9C,OAAO,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACpC,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,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,uGAAuG;IACvG,qGAAqG;IACrG,yCAAyC;IACzC,MAAM,aAAa,GAAG,8BAA8B,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC3F,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;IAC9C,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,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AAClC,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,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;IACH,CAAC;IAED,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;AACpC,CAAC"}
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 bindWgpuBitmapTexture(state: WgpuRenderState, bitmap: Readonly<Bitmap>, generateMips?: boolean, premultiply?: boolean): WgpuTextureEntry;
5
+ export declare function bindWgpuCompressedImageTexture(state: WgpuRenderState, image: Readonly<CompressedImage>): WgpuTextureEntry | null;
4
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,34 +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 with the uploaded content version, so an in-place Surface edit (which bumps
11
- // version) re-uploads (recreating the GPU texture). `premultiply` states whether the caller wants a
12
- // premultiplied GPU texture bind never premultiplies on its own. The 2D display and particle pipelines
13
- // blend premultiplied (ONE, ONE_MINUS_SRC_ALPHA) and pass true; the 3D forward path blends straight
14
- // (SRC_ALPHA) and reads baseColor.rgb as un-premultiplied albedo, so it leaves the default false. The
15
- // request honors the data's declared alphaType: the premultiply is applied on upload only when the pixels
16
- // are not already premultiplied (an element copies with premultipliedAlpha, straight `data` is
17
- // premultiplied on the CPU since writeTexture does no alpha conversion), so already-premultiplied data
18
- // uploads as-is instead of double-premultiplying. The two request modes cache separate textures
19
- // (imageResourcePremultipliedTextureCache for premultiply, imageResourceStraightTextureCache otherwise), keyed by the
20
- // request so one ImageResource bound both premultiplied (2D) and straight (3D) keeps a correct texture for
21
- // each, and the 2D teardown paths that reach imageResourcePremultipliedTextureCache directly always find theirs there.
22
- // Returns the texture, view, and 2D bind group.
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.
23
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) {
24
22
  const runtime = getWgpuRenderStateRuntime(state);
25
- const cache = premultiply
26
- ? runtime.imageResourcePremultipliedTextureCache
27
- : runtime.imageResourceStraightTextureCache;
23
+ const cache = premultiply ? runtime.imageBackingPremultipliedTextureCache : runtime.imageBackingStraightTextureCache;
28
24
  const cached = cache.get(image);
29
25
  if (cached !== undefined && cached.version === image.version)
30
26
  return cached;
31
- const built = uploadWgpuImageResourceEntry(state, image, generateMips, premultiply && image.alphaType !== 'premultiplied');
27
+ const built = upload(state, image, generateMips, premultiply);
28
+ if (built === null)
29
+ return null;
32
30
  if (cached !== undefined) {
33
31
  cached.texture.destroy();
34
32
  cached.texture = built.texture;
@@ -121,11 +119,12 @@ function buildWgpuSmoothingBindGroup(state, runtime, view, sampler) {
121
119
  ],
122
120
  });
123
121
  }
124
- // Dynamic VideoTexture upload. The texture is cached by VideoTexture identity and copied only when its
125
- // 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
126
124
  // only the bind group. Returns null until the backing element has a decoded frame.
127
125
  export function bindWgpuVideoTexture(state, videoTexture) {
128
- const element = videoTexture.source.element;
126
+ const image = videoTexture.storage.image;
127
+ const element = (image?.source ?? null);
129
128
  if (element === null || element.readyState < 2 || element.videoWidth <= 0 || element.videoHeight <= 0)
130
129
  return null;
131
130
  const runtime = getWgpuRenderStateRuntime(state);
@@ -133,7 +132,7 @@ export function bindWgpuVideoTexture(state, videoTexture) {
133
132
  const width = element.videoWidth;
134
133
  const height = element.videoHeight;
135
134
  const sampler = getWgpuVideoSampler(state, videoTexture);
136
- let entry = cache.get(videoTexture);
135
+ let entry = cache.get(image);
137
136
  if (entry === undefined || entry.width !== width || entry.height !== height) {
138
137
  entry?.texture.destroy();
139
138
  const texture = state.device.createTexture({
@@ -147,19 +146,19 @@ export function bindWgpuVideoTexture(state, videoTexture) {
147
146
  height,
148
147
  sampler,
149
148
  texture,
150
- uploadedFrameId: -1,
149
+ uploadedVersion: -1,
151
150
  view,
152
151
  width,
153
152
  };
154
- cache.set(videoTexture, entry);
153
+ cache.set(image, entry);
155
154
  }
156
155
  else if (entry.sampler !== sampler) {
157
156
  entry.sampler = sampler;
158
157
  entry.bindGroup = buildWgpuTextureBindGroup(state, entry.view, sampler);
159
158
  }
160
- if (entry.uploadedFrameId !== videoTexture.frameId) {
159
+ if (entry.uploadedVersion !== image.version) {
161
160
  state.device.queue.copyExternalImageToTexture({ source: element, flipY: false }, { texture: entry.texture, premultipliedAlpha: true }, [width, height]);
162
- entry.uploadedFrameId = videoTexture.frameId;
161
+ entry.uploadedVersion = image.version;
163
162
  }
164
163
  return entry;
165
164
  }
@@ -198,12 +197,15 @@ export function createWgpuTextureEntry(state, width, height, canvas) {
198
197
  return { texture, view, bindGroup };
199
198
  }
200
199
  export function destroyWgpuVideoTexture(state, videoTexture) {
200
+ const image = videoTexture.storage.image;
201
+ if (image == null)
202
+ return false;
201
203
  const cache = getWgpuRenderStateRuntime(state).videoTextureCache;
202
- const entry = cache?.get(videoTexture);
204
+ const entry = cache?.get(image);
203
205
  if (entry === undefined)
204
206
  return false;
205
207
  entry.texture.destroy();
206
- cache.delete(videoTexture);
208
+ cache.delete(image);
207
209
  return true;
208
210
  }
209
211
  function buildWgpuTextureBindGroup(state, view, sampler) {
@@ -228,23 +230,23 @@ export function drawWgpuQuad(state, renderProxy, textureEntry, x0, y0, x1, y1, u
228
230
  const pass = runtime.renderPass;
229
231
  if (pass === null)
230
232
  return;
231
- 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);
232
234
  submitWgpuQuadDraw(state, uniformOffset, textureEntry.bindGroup);
233
235
  }
234
236
  export function drawWgpuQuadWithTransform(state, renderProxy, transform, textureEntry, x0, y0, x1, y1, u0, v0, u1, v1) {
235
237
  const runtime = getWgpuRenderStateRuntime(state);
236
238
  if (runtime.renderPass === null)
237
239
  return;
238
- 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);
239
241
  submitWgpuQuadDraw(state, uniformOffset, textureEntry.bindGroup);
240
242
  }
241
243
  export function enableWgpuBlendModeSupport(state) {
242
244
  state.applyBlendMode = applyWgpuBlendMode;
243
245
  }
244
- // 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
245
247
  // by the immediate (display-object) draw path; the batch path folds it per-instance instead.
246
- export function getWgpuRenderProxyColorTransform(renderProxy) {
247
- return renderProxy.colorTransform ?? null;
248
+ export function getWgpuRenderProxyColorScaleBias(renderProxy) {
249
+ return renderProxy.colorScaleBias ?? null;
248
250
  }
249
251
  // The group(1) bind group a 2D bitmap should sample through for a per-bitmap `smoothing` preference:
250
252
  // `null` returns the entry's default bind group (the global `state.allowSmoothing` sampler, for
@@ -298,23 +300,47 @@ function premultiplyStraightRgba8(data) {
298
300
  }
299
301
  return out;
300
302
  }
301
- // Allocates a GPU texture for an ImageResource and uploads its pixels through whichever representation it
302
- // carries an element via copyExternalImageToTexture or data via writeTexture — then builds the view + 2D
303
- // bind group. `premultiply` is the caller's already alphaType-resolved decision (see
304
- // bindWgpuImageResourceTexture): when set, the element copies with premultipliedAlpha and straight `data`
305
- // is premultiplied on the CPU; when clear, both upload the pixels as-is so the straight-blend 3D path
306
- // keeps its albedo and data maps untouched. The per-upload half of bindWgpuImageResourceTexture, split out
307
- // so the cache/version bracket stays legible.
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;
307
+ const runtime = getWgpuRenderStateRuntime(state);
308
+ const { device } = state;
309
+ const width = bitmap.width || 1;
310
+ const height = bitmap.height || 1;
311
+ const mipLevelCount = generateMips ? getWgpuMipLevelCount(width, height) : 1;
312
+ const texture = device.createTexture({
313
+ size: [width, height, 1],
314
+ format: 'rgba8unorm',
315
+ mipLevelCount,
316
+ usage: GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT,
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
+ }
308
338
  function uploadWgpuImageResourceEntry(state, image, generateMips, premultiply) {
339
+ const resource = image;
309
340
  const runtime = getWgpuRenderStateRuntime(state);
310
341
  const { device } = state;
311
- if (image.source === null && image.data === null && image.compressed !== null) {
312
- const compressed = runtime.compressedTextureUpload?.(state, image, runtime.compressedTextureDecoder ?? null);
313
- if (compressed != null)
314
- return compressed;
315
- }
316
- const width = image.width || 1;
317
- const height = image.height || 1;
342
+ const width = resource.width || 1;
343
+ const height = resource.height || 1;
318
344
  const mipLevelCount = generateMips ? getWgpuMipLevelCount(width, height) : 1;
319
345
  const texture = device.createTexture({
320
346
  size: [width, height, 1],
@@ -322,13 +348,7 @@ function uploadWgpuImageResourceEntry(state, image, generateMips, premultiply) {
322
348
  mipLevelCount,
323
349
  usage: GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT,
324
350
  });
325
- if (image.source !== null) {
326
- device.queue.copyExternalImageToTexture({ source: image.source, flipY: false }, { texture, premultipliedAlpha: premultiply }, [width, height]);
327
- }
328
- else if (image.data !== null) {
329
- const data = premultiply ? premultiplyStraightRgba8(image.data) : image.data;
330
- device.queue.writeTexture({ texture }, data, { bytesPerRow: width * 4, rowsPerImage: height }, [width, height, 1]);
331
- }
351
+ device.queue.copyExternalImageToTexture({ source: resource.source, flipY: false }, { texture, premultipliedAlpha: premultiply }, [width, height]);
332
352
  if (mipLevelCount > 1)
333
353
  generateWgpuMipmaps(state, texture, width, height, 'rgba8unorm');
334
354
  const view = texture.createView();