@flighthq/render-wgpu 0.3.0-next.906.07cea63 → 0.3.1-next.1041.35b950c

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 (95) hide show
  1. package/dist/contract.d.ts +7 -1
  2. package/dist/contract.d.ts.map +1 -1
  3. package/dist/contract.js +7 -1
  4. package/dist/contract.js.map +1 -1
  5. package/dist/enableWgpuTextureResolverGuards.d.ts +4 -0
  6. package/dist/enableWgpuTextureResolverGuards.d.ts.map +1 -0
  7. package/dist/enableWgpuTextureResolverGuards.js +8 -0
  8. package/dist/enableWgpuTextureResolverGuards.js.map +1 -0
  9. package/dist/explainWgpuTextureResolution.d.ts +3 -0
  10. package/dist/explainWgpuTextureResolution.d.ts.map +1 -0
  11. package/dist/explainWgpuTextureResolution.js +15 -0
  12. package/dist/explainWgpuTextureResolution.js.map +1 -0
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/wgpuBackground.d.ts +2 -0
  18. package/dist/wgpuBackground.d.ts.map +1 -1
  19. package/dist/wgpuBackground.js +30 -2
  20. package/dist/wgpuBackground.js.map +1 -1
  21. package/dist/wgpuCompressedTexture.d.ts +2 -2
  22. package/dist/wgpuCompressedTexture.d.ts.map +1 -1
  23. package/dist/wgpuCompressedTexture.js +52 -13
  24. package/dist/wgpuCompressedTexture.js.map +1 -1
  25. package/dist/wgpuDraw.d.ts +6 -4
  26. package/dist/wgpuDraw.d.ts.map +1 -1
  27. package/dist/wgpuDraw.js +150 -69
  28. package/dist/wgpuDraw.js.map +1 -1
  29. package/dist/wgpuExternalImageSource.d.ts +3 -0
  30. package/dist/wgpuExternalImageSource.d.ts.map +1 -0
  31. package/dist/wgpuExternalImageSource.js +51 -0
  32. package/dist/wgpuExternalImageSource.js.map +1 -0
  33. package/dist/wgpuExternalTexture.d.ts +4 -0
  34. package/dist/wgpuExternalTexture.d.ts.map +1 -0
  35. package/dist/wgpuExternalTexture.js +62 -0
  36. package/dist/wgpuExternalTexture.js.map +1 -0
  37. package/dist/wgpuMaterialRegistry.d.ts.map +1 -1
  38. package/dist/wgpuMaterialRegistry.js +17 -12
  39. package/dist/wgpuMaterialRegistry.js.map +1 -1
  40. package/dist/wgpuMipmap.d.ts.map +1 -1
  41. package/dist/wgpuMipmap.js +11 -9
  42. package/dist/wgpuMipmap.js.map +1 -1
  43. package/dist/wgpuRenderState.d.ts +15 -3
  44. package/dist/wgpuRenderState.d.ts.map +1 -1
  45. package/dist/wgpuRenderState.js +253 -33
  46. package/dist/wgpuRenderState.js.map +1 -1
  47. package/dist/wgpuRenderTarget.d.ts.map +1 -1
  48. package/dist/wgpuRenderTarget.js +2 -0
  49. package/dist/wgpuRenderTarget.js.map +1 -1
  50. package/dist/wgpuRenderTexture.d.ts +15 -0
  51. package/dist/wgpuRenderTexture.d.ts.map +1 -0
  52. package/dist/wgpuRenderTexture.js +130 -0
  53. package/dist/wgpuRenderTexture.js.map +1 -0
  54. package/dist/wgpuRenderTexturePool.d.ts +7 -0
  55. package/dist/wgpuRenderTexturePool.d.ts.map +1 -0
  56. package/dist/wgpuRenderTexturePool.js +86 -0
  57. package/dist/wgpuRenderTexturePool.js.map +1 -0
  58. package/dist/wgpuShader.d.ts.map +1 -1
  59. package/dist/wgpuShader.js +5 -1
  60. package/dist/wgpuShader.js.map +1 -1
  61. package/dist/wgpuSurface.d.ts +2 -2
  62. package/dist/wgpuSurface.d.ts.map +1 -1
  63. package/dist/wgpuSurface.js +61 -13
  64. package/dist/wgpuSurface.js.map +1 -1
  65. package/dist/wgpuTestHelper.d.ts +1 -0
  66. package/dist/wgpuTestHelper.d.ts.map +1 -1
  67. package/dist/wgpuTestHelper.js +125 -8
  68. package/dist/wgpuTestHelper.js.map +1 -1
  69. package/dist/wgpuTextureResolver.d.ts +9 -0
  70. package/dist/wgpuTextureResolver.d.ts.map +1 -0
  71. package/dist/wgpuTextureResolver.js +68 -0
  72. package/dist/wgpuTextureResolver.js.map +1 -0
  73. package/dist/wgpuTextureUpload.d.ts +2 -2
  74. package/dist/wgpuTextureUpload.d.ts.map +1 -1
  75. package/dist/wgpuTextureUpload.js +5 -10
  76. package/dist/wgpuTextureUpload.js.map +1 -1
  77. package/package.json +17 -7
  78. package/src/enableWgpuTextureResolverGuards.test.ts +65 -0
  79. package/src/explainWgpuTextureResolution.test.ts +36 -0
  80. package/src/wgpuBackground.test.ts +34 -1
  81. package/src/wgpuCompressedTexture.test.ts +35 -40
  82. package/src/wgpuDraw.test.ts +180 -62
  83. package/src/wgpuExternalImageSource.test.ts +89 -0
  84. package/src/wgpuExternalTexture.test.ts +35 -0
  85. package/src/wgpuMaterialRegistry.test.ts +44 -3
  86. package/src/wgpuMipmap.test.ts +10 -2
  87. package/src/wgpuRenderState.test.ts +462 -12
  88. package/src/wgpuRenderTarget.test.ts +14 -0
  89. package/src/wgpuRenderTexture.test.ts +165 -0
  90. package/src/wgpuRenderTexturePool.test.ts +146 -0
  91. package/src/wgpuShaderBinding.test.ts +6 -6
  92. package/src/wgpuSurface.test.ts +95 -3
  93. package/src/wgpuTestHelper.test.ts +64 -0
  94. package/src/wgpuTextureResolver.test.ts +212 -0
  95. package/src/wgpuTextureUpload.test.ts +28 -13
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuMaterialRegistry.js","sourceRoot":"","sources":["../src/wgpuMaterialRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,UAAU,uBAAuB,CAAC,KAAsB,EAAE,IAAU;IACxE,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAsB,EAAE,IAAU,EAAE,QAA8B;IAC7G,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,OAAO,CAAC,mBAAmB,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,+FAA+F;AAC/F,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,QAAyB;IAEzB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"wgpuMaterialRegistry.js","sourceRoot":"","sources":["../src/wgpuMaterialRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,UAAU,uBAAuB,CAAC,KAAsB,EAAE,IAAU;IACxE,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9F,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAsB,EAAE,IAAU,EAAE,QAA8B;IAC7G,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtH,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,+FAA+F;AAC/F,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,QAAyB;IAEzB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAC7D,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,oBAAoB,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAElE,qGAAqG;IACrG,oGAAoG;IACpG,oFAAoF;IACpF,OAAO,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnD,OAAO,QAAQ,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuMipmap.d.ts","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAShE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,IAAI,CA2BN;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E"}
1
+ {"version":3,"file":"wgpuMipmap.d.ts","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAShE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,IAAI,CA4BN;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E"}
@@ -10,8 +10,9 @@ export function generateWgpuMipmaps(state, texture, width, height, format) {
10
10
  return;
11
11
  const { device } = state;
12
12
  const runtime = getWgpuRenderStateRuntime(state);
13
- const pipeline = ensureWgpuMipmapPipeline(state, format);
14
- const layout = runtime.mipmapBindGroupLayout;
13
+ const cached = ensureWgpuMipmapPipeline(state, format);
14
+ const pipeline = cached.pipeline;
15
+ const layout = cached.bindGroupLayout;
15
16
  const encoder = device.createCommandEncoder();
16
17
  for (let level = 1; level < levelCount; level++) {
17
18
  const srcView = texture.createView({ baseMipLevel: level - 1, mipLevelCount: 1 });
@@ -40,12 +41,13 @@ export function getWgpuMipLevelCount(width, height) {
40
41
  }
41
42
  // Lazily builds and caches the downsample pipeline (fullscreen triangle → sample the source level →
42
43
  // write the destination level) and its texture+sampler bind-group layout on the runtime, reused across
43
- // every mip generation on this state. The target format matches the material texture format
44
- // (rgba8unorm); material uploads are the only mip consumer, so one cached pipeline suffices.
44
+ // every mip generation on this state. Pipelines are keyed by target format because linear and sRGB
45
+ // material textures require distinct render-pipeline targets.
45
46
  function ensureWgpuMipmapPipeline(state, format) {
46
47
  const runtime = getWgpuRenderStateRuntime(state);
47
- if (runtime.mipmapPipeline != null)
48
- return runtime.mipmapPipeline;
48
+ const cached = runtime.mipmapPipelineCache.get(format);
49
+ if (cached !== undefined)
50
+ return cached;
49
51
  const { device } = state;
50
52
  const bindGroupLayout = device.createBindGroupLayout({
51
53
  entries: [
@@ -60,9 +62,9 @@ function ensureWgpuMipmapPipeline(state, format) {
60
62
  fragment: { module, entryPoint: 'fs_main', targets: [{ format }] },
61
63
  primitive: { topology: 'triangle-list' },
62
64
  });
63
- runtime.mipmapBindGroupLayout = bindGroupLayout;
64
- runtime.mipmapPipeline = pipeline;
65
- return pipeline;
65
+ const result = { bindGroupLayout, pipeline };
66
+ runtime.mipmapPipelineCache.set(format, result);
67
+ return result;
66
68
  }
67
69
  const MIPMAP_WGSL = /* wgsl */ `
68
70
  struct VsOut {
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuMipmap.js","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuMipmap.js","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
- import type { TextureWrap, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime } from '@flighthq/types/contract';
1
+ import type { TextureWrap, WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime } from '@flighthq/types/contract';
2
+ export declare function copyWgpuRenderStateRegistrations(target: WgpuRenderState, source: WgpuRenderState): void;
3
+ /**
4
+ * Creates a second render pipeline over `screenState`'s GPUDevice.
5
+ *
6
+ * The state receives a fresh command encoder, uniform ring, traversal/proxy tree, batch writer, clip
7
+ * stack, and render transform. Immutable pipelines/layouts/samplers plus uploaded textures and render
8
+ * texture realizations share a device tier. Registrations are a creation-time snapshot.
9
+ */
10
+ export declare function createWgpuOffscreenRenderState(screenState: WgpuRenderState): WgpuRenderState;
2
11
  export declare function createWgpuRenderState(canvas: HTMLCanvasElement, options?: WgpuRenderOptions): Promise<WgpuRenderState>;
3
- export declare function createWgpuRenderStateRuntime(): WgpuRenderStateRuntime;
12
+ export declare function createWgpuRenderStateRuntime(sharedRuntime?: WgpuRenderStateRuntime): WgpuRenderStateRuntime;
4
13
  export declare function destroyWgpuRenderState(state: WgpuRenderState): void;
14
+ export declare function getWgpuColorAdjustmentMaterialFeature(state: WgpuRenderState): Readonly<WgpuColorAdjustmentMaterialFeature> | null;
15
+ export declare function getWgpuColorAdjustmentMaterialFeatureGuard(state: WgpuRenderState): WgpuColorAdjustmentMaterialFeatureGuard | null;
5
16
  export declare function getWgpuRenderStateRuntime(state: WgpuRenderState): WgpuRenderStateRuntime;
6
- export declare function getWgpuSampler(state: WgpuRenderState, filter: GPUFilterMode, wrapU: TextureWrap, wrapV: TextureWrap, mipmapFilter?: GPUMipmapFilterMode, maxAnisotropy?: number): GPUSampler;
17
+ export declare function getWgpuSampler(state: WgpuRenderState, minFilter: GPUFilterMode, magFilter: GPUFilterMode, wrapU: TextureWrap, wrapV: TextureWrap, mipmapFilter?: GPUMipmapFilterMode, maxAnisotropy?: number): GPUSampler;
7
18
  export declare function isWgpuSupported(): boolean;
19
+ export declare function resolveWgpuApplyBlendMode(state: WgpuRenderState): WgpuRenderState['applyBlendMode'];
8
20
  //# sourceMappingURL=wgpuRenderState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AASxH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,CA6J1B;AAMD,wBAAgB,4BAA4B,IAAI,sBAAsB,CAErE;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CASnE;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,sBAAsB,CAExF;AAUD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,SAAI,GAChB,UAAU,CA4BZ;AAQD,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
1
+ {"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,WAAW,EACX,kCAAkC,EAClC,uCAAuC,EACvC,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CA4BvG;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe,CA2B5F;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAiK1B;AAMD,wBAAgB,4BAA4B,CAAC,aAAa,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,CAiC3G;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAanE;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,eAAe,GACrB,QAAQ,CAAC,kCAAkC,CAAC,GAAG,IAAI,CAGrD;AAED,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,eAAe,GACrB,uCAAuC,GAAG,IAAI,CAGhD;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,sBAAsB,CAExF;AAUD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,SAAI,GAChB,UAAU,CA8BZ;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAmHD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAQnG"}
@@ -1,10 +1,77 @@
1
1
  import { createMatrix } from '@flighthq/geometry/contract';
2
- import { createRenderState as _createRenderState, createRenderStateRuntime, setRenderStateBackgroundColor, } from '@flighthq/render/contract';
3
- import { EntityRuntimeKey } from '@flighthq/types/contract';
2
+ import { createKeyedTable, createSlotTable } from '@flighthq/registry/contract';
3
+ import { copyAllRenderersFromRenderState, copyRenderStateRegistrations, createRenderState as _createRenderState, createRenderStateRuntime, destroyRenderState, setRenderStateBackgroundColor, } from '@flighthq/render/contract';
4
+ import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
4
5
  import { warmWgpuPipelines } from './wgpuDraw';
5
6
  import { createWgpuBindGroupLayouts, UNIFORM_BYTE_SIZE } from './wgpuShader';
6
7
  // Ring buffer: 4096 draw slots per frame. Stride is clamped to at least 256 by the spec.
7
8
  const RING_SLOT_COUNT = 4096;
9
+ // Explicit snapshot re-copy. Device resources remain shared. Persistent tables share immutable
10
+ // snapshots through distinct aggregates, so either pipeline can
11
+ // still replace registration policy independently after derivation.
12
+ export function copyWgpuRenderStateRegistrations(target, source) {
13
+ const targetRuntime = getWgpuRenderStateRuntime(target);
14
+ const sourceRuntime = getWgpuRenderStateRuntime(source);
15
+ // Blend-mode wiring belongs to the screen pipeline and may be enabled after a derived state is
16
+ // created. Keep the entity field plain; resolve its explicit parent at each draw seam.
17
+ target.applyBlendMode = null;
18
+ targetRuntime.applyBlendModeParent = source;
19
+ targetRuntime.defaultBitmapShader = sourceRuntime.defaultBitmapShader;
20
+ targetRuntime.webgpuShaderBindingResolver = sourceRuntime.webgpuShaderBindingResolver;
21
+ targetRuntime.registries = {
22
+ colorAdjustmentFeature: sourceRuntime.registries.colorAdjustmentFeature,
23
+ colorAdjustmentFeatureGuard: sourceRuntime.registries.colorAdjustmentFeatureGuard,
24
+ compressedTextureDecoder: sourceRuntime.registries.compressedTextureDecoder,
25
+ compressedTextureUpload: sourceRuntime.registries.compressedTextureUpload,
26
+ customMaterialShaders: sourceRuntime.registries.customMaterialShaders,
27
+ materialRenderers: sourceRuntime.registries.materialRenderers,
28
+ meshMaterialRenderers: sourceRuntime.registries.meshMaterialRenderers,
29
+ modifierSnippets: sourceRuntime.registries.modifierSnippets,
30
+ modifierSnippetRevision: sourceRuntime.registries.modifierSnippetRevision,
31
+ renderEffects: sourceRuntime.registries.renderEffects,
32
+ renderers: targetRuntime.registries.renderers,
33
+ shapeRasterizer: sourceRuntime.registries.shapeRasterizer,
34
+ strokeTessellator: targetRuntime.registries.strokeTessellator,
35
+ textureResolvers: sourceRuntime.registries.textureResolvers,
36
+ velocityWriters: sourceRuntime.registries.velocityWriters,
37
+ };
38
+ targetRuntime.wgpuRenderTextureGuard = sourceRuntime.wgpuRenderTextureGuard;
39
+ copyRenderStateRegistrations(target, source);
40
+ }
41
+ /**
42
+ * Creates a second render pipeline over `screenState`'s GPUDevice.
43
+ *
44
+ * The state receives a fresh command encoder, uniform ring, traversal/proxy tree, batch writer, clip
45
+ * stack, and render transform. Immutable pipelines/layouts/samplers plus uploaded textures and render
46
+ * texture realizations share a device tier. Registrations are a creation-time snapshot.
47
+ */
48
+ export function createWgpuOffscreenRenderState(screenState) {
49
+ const state = _createRenderState({
50
+ allowSmoothing: screenState.allowSmoothing,
51
+ backgroundColor: screenState.backgroundColor,
52
+ backgroundColorRgba: [...screenState.backgroundColorRgba],
53
+ backgroundColorString: screenState.backgroundColorString,
54
+ pixelRatio: screenState.pixelRatio,
55
+ renderAlpha: screenState.renderAlpha,
56
+ renderBlendMode: screenState.renderBlendMode,
57
+ renderTransform2D: createMatrix(),
58
+ roundPixels: screenState.roundPixels,
59
+ sceneGraphSyncPolicy: screenState.sceneGraphSyncPolicy,
60
+ });
61
+ state.applyBlendMode = null;
62
+ state.canvas = screenState.canvas;
63
+ state.context = screenState.context;
64
+ state.device = screenState.device;
65
+ state.format = screenState.format;
66
+ const screenRuntime = getWgpuRenderStateRuntime(screenState);
67
+ const runtime = createWgpuRenderStateRuntime(screenRuntime);
68
+ state[EntityRuntimeKey] = runtime;
69
+ initializeOffscreenWgpuRuntime(state, runtime, screenRuntime);
70
+ copyAllRenderersFromRenderState(state, screenState);
71
+ copyWgpuRenderStateRegistrations(state, screenState);
72
+ warmWgpuPipelines(state);
73
+ return state;
74
+ }
8
75
  export async function createWgpuRenderState(canvas, options = {}) {
9
76
  if (!navigator.gpu)
10
77
  throw new Error('WebGPU is not supported in this browser.');
@@ -33,7 +100,7 @@ export async function createWgpuRenderState(canvas, options = {}) {
33
100
  const context = canvas.getContext('webgpu');
34
101
  if (!context)
35
102
  throw new Error('Failed to get WebGPU canvas context.');
36
- // COPY_SRC lets the canvas texture be read back via copyTextureToBuffer (createSurfaceFromWgpuRenderState).
103
+ // COPY_SRC lets the canvas texture be read back via copyTextureToBuffer (createBitmapFromWgpuRenderState).
37
104
  // It is the only reliable way to read a Wgpu frame in headless/software contexts, where canvas
38
105
  // presentation does not surface the swapchain; it also backs user-facing screenshot/save-pixels needs.
39
106
  context.configure({
@@ -99,26 +166,30 @@ export async function createWgpuRenderState(canvas, options = {}) {
99
166
  runtime.linearSampler = linearSampler;
100
167
  runtime.nearestSampler = nearestSampler;
101
168
  runtime.samplerCache = new Map();
169
+ runtime.mipmapPipelineCache = new Map();
102
170
  runtime.textureCache = new WeakMap();
103
- runtime.imageResourcePremultipliedTextureCache = new WeakMap();
104
- runtime.imageResourceStraightTextureCache = new WeakMap();
171
+ runtime.textureSourcePremultipliedTextureCache = new WeakMap();
172
+ runtime.textureSourcePremultipliedSrgbTextureCache = new WeakMap();
173
+ runtime.textureSourceStraightTextureCache = new WeakMap();
174
+ runtime.textureSourceStraightSrgbTextureCache = new WeakMap();
105
175
  runtime.defaultBitmapShader = null;
106
176
  runtime.particleInstanceBuffer = null;
107
177
  runtime.particleInstanceData = null;
108
178
  runtime.particleInstanceCapacity = 0;
109
- runtime.spriteBatchBlendMode = null;
110
- runtime.spriteBatchMaterial = null;
111
- runtime.spriteBatchMaterialRenderer = null;
112
- runtime.spriteBatchMaterialFloats = 0;
113
- runtime.spriteBatchCount = 0;
114
- runtime.spriteBatchInstanceData = new Float32Array(13 * 256);
115
- runtime.spriteBatchMaterialData = new Float32Array(8 * 256);
116
- runtime.spriteBatchTexture = null;
117
- runtime.spriteBatchSmoothing = null;
179
+ runtime.quadBatchWriterBlendMode = null;
180
+ runtime.quadBatchWriterMaterial = null;
181
+ runtime.quadBatchWriterMaterialRenderer = null;
182
+ runtime.quadBatchWriterMaterialFloats = 0;
183
+ runtime.quadBatchWriterCount = 0;
184
+ runtime.quadBatchWriterInstanceData = new Float32Array(13 * 256);
185
+ runtime.quadBatchWriterMaterialData = new Float32Array(8 * 256);
186
+ runtime.quadBatchWriterTexture = null;
187
+ runtime.quadBatchWriterSampler = null;
188
+ runtime.quadBatchWriterSmoothing = null;
118
189
  // Color-adjustment fold state (mode/data + the folded module) is not allocated here: it is owned by
119
190
  // the opt-in registerWgpuColorAdjustmentMaterialFeature, so a state that never tints carries none of it.
120
- runtime.spriteBatchBufferPool = [];
121
- runtime.spriteBatchBufferCursor = 0;
191
+ runtime.quadBatchWriterBufferPool = [];
192
+ runtime.quadBatchWriterBufferCursor = 0;
122
193
  runtime.commandEncoder = null;
123
194
  runtime.renderPass = null;
124
195
  runtime.canvasTextureView = null;
@@ -144,12 +215,42 @@ export async function createWgpuRenderState(canvas, options = {}) {
144
215
  // one to each state under EntityRuntimeKey and populates its fields; getWgpuRenderStateRuntime reads
145
216
  // it back. The render path writes the returned object every frame, so the return is intentionally
146
217
  // mutable (not Readonly).
147
- export function createWgpuRenderStateRuntime() {
148
- return createRenderStateRuntime();
218
+ export function createWgpuRenderStateRuntime(sharedRuntime) {
219
+ const runtime = createRenderStateRuntime();
220
+ runtime.applyBlendModeParent = null;
221
+ runtime.registries = {
222
+ compressedTextureDecoder: createSlotTable('WgpuCompressedTextureDecoder', 'Unregistered'),
223
+ compressedTextureUpload: createSlotTable('WgpuCompressedTextureUpload', 'Unregistered'),
224
+ customMaterialShaders: createKeyedTable('WgpuCustomMaterialShader', 'Unregistered'),
225
+ materialRenderers: createKeyedTable('WgpuMaterialRenderer', 'StandardMaterial'),
226
+ meshMaterialRenderers: createKeyedTable('WgpuMeshMaterialRenderer', 'StandardMaterial'),
227
+ modifierSnippets: createKeyedTable('WgpuModifierSnippet', 'Unregistered'),
228
+ modifierSnippetRevision: 0,
229
+ renderEffects: createKeyedTable('WgpuRenderEffect', 'Unregistered'),
230
+ renderers: runtime.registries.renderers,
231
+ shapeRasterizer: createSlotTable('WgpuShapeRasterizer', 'Unregistered'),
232
+ strokeTessellator: runtime.registries.strokeTessellator,
233
+ textureResolvers: createKeyedTable('WgpuTextureResolver', 'Unregistered'),
234
+ velocityWriters: createKeyedTable('WgpuVelocityWriter', 'Unregistered'),
235
+ };
236
+ const deviceRuntime = sharedRuntime === undefined ? { fields: {}, references: 0 } : getWgpuDeviceRuntime(sharedRuntime);
237
+ deviceRuntime.references++;
238
+ _deviceRuntimeByStateRuntime.set(runtime, deviceRuntime);
239
+ for (const key of WGPU_DEVICE_RUNTIME_KEYS) {
240
+ Object.defineProperty(runtime, key, {
241
+ configurable: true,
242
+ enumerable: true,
243
+ get: () => deviceRuntime.fields[key],
244
+ set: (value) => {
245
+ deviceRuntime.fields[key] = value;
246
+ },
247
+ });
248
+ }
249
+ return runtime;
149
250
  }
150
- // Destroys the GPU buffers and textures createWgpuRenderState (and the lazy sprite-batch/particle
251
+ // Destroys the GPU buffers and textures createWgpuRenderState (and the lazy quad-batch writer/particle
151
252
  // paths) allocated on `state`: the uniform buffer, particle instance buffer, depth-stencil texture,
152
- // and every sprite-batch pool slot's instance/material buffers. Call when the render state is no
253
+ // and every quad-batch writer pool slot's instance/material buffers. Call when the render state is no
153
254
  // longer needed.
154
255
  //
155
256
  // Intentionally NOT touched: the GPUDevice (app-owned and shared — destroying it would tear down
@@ -157,14 +258,27 @@ export function createWgpuRenderStateRuntime() {
157
258
  // layouts, samplers, shader modules, texture views). textureCache is a WeakMap and cannot be
158
259
  // enumerated; its entries' textures are freed per-node by the dispose* paths.
159
260
  export function destroyWgpuRenderState(state) {
261
+ if (_destroyedStates.has(state))
262
+ return;
263
+ _destroyedStates.add(state);
160
264
  const runtime = getWgpuRenderStateRuntime(state);
265
+ destroyRenderState(state);
161
266
  runtime.uniformBuffer?.destroy();
162
267
  runtime.particleInstanceBuffer?.destroy();
163
268
  runtime.depthStencilTexture?.destroy();
164
- for (const slot of runtime.spriteBatchBufferPool) {
269
+ for (const slot of runtime.quadBatchWriterBufferPool) {
165
270
  slot.instanceBuffer?.destroy();
166
271
  slot.materialBuffer?.destroy();
167
272
  }
273
+ getWgpuDeviceRuntime(runtime).references--;
274
+ }
275
+ export function getWgpuColorAdjustmentMaterialFeature(state) {
276
+ const entry = getWgpuRenderStateRuntime(state).registries.colorAdjustmentFeature?.entry;
277
+ return entry?.state === RegistryEntryState.Bound ? entry.value : null;
278
+ }
279
+ export function getWgpuColorAdjustmentMaterialFeatureGuard(state) {
280
+ const entry = getWgpuRenderStateRuntime(state).registries.colorAdjustmentFeatureGuard?.entry;
281
+ return entry?.state === RegistryEntryState.Bound ? entry.value : null;
168
282
  }
169
283
  // Resolves the package-private GPU runtime attached to a WgpuRenderState. Mutable by design: the
170
284
  // render path writes its fields every frame.
@@ -179,24 +293,26 @@ export function getWgpuRenderStateRuntime(state) {
179
293
  // sampling (the historical wrap-only behavior). WebGPU requires linear min/mag/mip filtering whenever
180
294
  // maxAnisotropy > 1, so an anisotropy request forces all three to linear. The clamp-to-edge defaults
181
295
  // keep their own pre-created linear/nearest samplers; this backs every non-default combination.
182
- export function getWgpuSampler(state, filter, wrapU, wrapV, mipmapFilter, maxAnisotropy = 1) {
296
+ export function getWgpuSampler(state, minFilter, magFilter, wrapU, wrapV, mipmapFilter, maxAnisotropy = 1) {
183
297
  const runtime = getWgpuRenderStateRuntime(state);
184
298
  const anisotropy = Math.max(1, Math.floor(maxAnisotropy));
185
- const effectiveFilter = anisotropy > 1 ? 'linear' : filter;
299
+ const effectiveMinFilter = anisotropy > 1 ? 'linear' : minFilter;
300
+ const effectiveMagFilter = anisotropy > 1 ? 'linear' : magFilter;
186
301
  const effectiveMipmapFilter = anisotropy > 1 ? 'linear' : mipmapFilter;
187
302
  // Pack the sampler config into a single NUMBER key rather than a template string — this runs on every
188
303
  // material bind (per frame), so a per-call string allocation would be hidden GC pressure in the hot
189
- // loop. filter (1 bit) | wrapU (2) | wrapV (2) | mipmap (2) | anisotropy (shifted above them).
190
- const key = SAMPLER_FILTER_BITS[effectiveFilter] |
191
- (SAMPLER_WRAP_BITS[wrapU] << 1) |
192
- (SAMPLER_WRAP_BITS[wrapV] << 3) |
193
- ((effectiveMipmapFilter === undefined ? 0 : SAMPLER_MIPMAP_BITS[effectiveMipmapFilter]) << 5) |
194
- (anisotropy << 7);
304
+ // loop. min (1 bit) | mag (1) | wrapU (2) | wrapV (2) | mipmap (2) | anisotropy above them.
305
+ const key = SAMPLER_FILTER_BITS[effectiveMinFilter] |
306
+ (SAMPLER_FILTER_BITS[effectiveMagFilter] << 1) |
307
+ (SAMPLER_WRAP_BITS[wrapU] << 2) |
308
+ (SAMPLER_WRAP_BITS[wrapV] << 4) |
309
+ ((effectiveMipmapFilter === undefined ? 0 : SAMPLER_MIPMAP_BITS[effectiveMipmapFilter]) << 6) |
310
+ (anisotropy << 8);
195
311
  let sampler = runtime.samplerCache.get(key);
196
312
  if (sampler === undefined) {
197
313
  const descriptor = {
198
- minFilter: effectiveFilter,
199
- magFilter: effectiveFilter,
314
+ minFilter: effectiveMinFilter,
315
+ magFilter: effectiveMagFilter,
200
316
  addressModeU: wrapU,
201
317
  addressModeV: wrapV,
202
318
  };
@@ -209,12 +325,116 @@ export function getWgpuSampler(state, filter, wrapU, wrapV, mipmapFilter, maxAni
209
325
  }
210
326
  return sampler;
211
327
  }
328
+ export function isWgpuSupported() {
329
+ return typeof navigator !== 'undefined' && 'gpu' in navigator && navigator.gpu !== null;
330
+ }
212
331
  // Small-integer codes for the sampler-cache numeric key (see getWgpuSampler). Module-level so the key
213
332
  // packing reads a field instead of allocating — no per-call table construction.
214
333
  const SAMPLER_FILTER_BITS = { nearest: 0, linear: 1 };
215
334
  const SAMPLER_WRAP_BITS = { 'clamp-to-edge': 0, 'mirror-repeat': 1, repeat: 2 };
216
335
  const SAMPLER_MIPMAP_BITS = { nearest: 1, linear: 2 };
217
- export function isWgpuSupported() {
218
- return typeof navigator !== 'undefined' && 'gpu' in navigator && navigator.gpu !== null;
336
+ function initializeOffscreenWgpuRuntime(state, runtime, screenRuntime) {
337
+ const ringByteSize = screenRuntime.uniformStride * RING_SLOT_COUNT;
338
+ const uniformBuffer = state.device.createBuffer({
339
+ size: ringByteSize,
340
+ usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
341
+ });
342
+ const uniformData = new Float32Array(ringByteSize / 4);
343
+ runtime.currentBlendMode = null;
344
+ runtime.currentRenderTarget = null;
345
+ runtime.uniformBindGroupLayout = screenRuntime.uniformBindGroupLayout;
346
+ runtime.textureBindGroupLayout = screenRuntime.textureBindGroupLayout;
347
+ runtime.uniformBuffer = uniformBuffer;
348
+ runtime.uniformData = uniformData;
349
+ runtime.uniformDataU32 = new Uint32Array(uniformData.buffer);
350
+ runtime.uniformOffset = 0;
351
+ runtime.uniformStride = screenRuntime.uniformStride;
352
+ runtime.uniformBindGroup = state.device.createBindGroup({
353
+ layout: runtime.uniformBindGroupLayout,
354
+ entries: [{ binding: 0, resource: { buffer: uniformBuffer, size: UNIFORM_BYTE_SIZE } }],
355
+ });
356
+ runtime.matrixArray = new Float32Array(9);
357
+ runtime.defaultBitmapShader = screenRuntime.defaultBitmapShader;
358
+ runtime.particleInstanceBuffer = null;
359
+ runtime.particleInstanceData = null;
360
+ runtime.particleInstanceCapacity = 0;
361
+ runtime.quadBatchWriterBlendMode = null;
362
+ runtime.quadBatchWriterMaterial = null;
363
+ runtime.quadBatchWriterMaterialRenderer = null;
364
+ runtime.quadBatchWriterMaterialFloats = 0;
365
+ runtime.quadBatchWriterCount = 0;
366
+ runtime.quadBatchWriterInstanceData = new Float32Array(13 * 256);
367
+ runtime.quadBatchWriterMaterialData = new Float32Array(8 * 256);
368
+ runtime.quadBatchWriterTexture = null;
369
+ runtime.quadBatchWriterSampler = null;
370
+ runtime.quadBatchWriterSmoothing = null;
371
+ runtime.quadBatchWriterBufferPool = [];
372
+ runtime.quadBatchWriterBufferCursor = 0;
373
+ runtime.commandEncoder = null;
374
+ runtime.renderPass = null;
375
+ runtime.canvasTextureView = null;
376
+ runtime.canvasViewCleared = false;
377
+ runtime.frameCaptureEnabled = false;
378
+ runtime.frameCaptureTexture = null;
379
+ runtime.frameCaptureBuffer = null;
380
+ runtime.frameCaptureBytesPerRow = 0;
381
+ runtime.frameCaptureWidth = 0;
382
+ runtime.frameCaptureHeight = 0;
383
+ runtime.depthStencilTexture = null;
384
+ runtime.depthStencilView = null;
385
+ runtime.depthStencilWidth = 0;
386
+ runtime.depthStencilHeight = 0;
387
+ runtime.currentMaskDepth = 0;
388
+ runtime.maskWriteMode = false;
389
+ runtime.clipContourPipelines = undefined;
390
+ runtime.clipContourStack = [];
391
+ runtime.shapeMeshPipelines = undefined;
392
+ runtime.clipForms = [];
393
+ runtime.scissorStack = [];
394
+ runtime.currentScissorRect = null;
395
+ runtime.renderTargetViewport = null;
396
+ runtime.renderTargetStack = [];
397
+ }
398
+ function getWgpuDeviceRuntime(runtime) {
399
+ const deviceRuntime = _deviceRuntimeByStateRuntime.get(runtime);
400
+ if (deviceRuntime === undefined)
401
+ throw new Error('WgpuRenderState runtime has no device tier');
402
+ return deviceRuntime;
403
+ }
404
+ // These values are pure functions of (GPUDevice, source data). Pass/encoder, uniform-ring, proxy,
405
+ // traversal, batch, and clip state remain local to each WgpuRenderState.
406
+ const WGPU_DEVICE_RUNTIME_KEYS = [
407
+ 'uniformBindGroupLayout',
408
+ 'textureBindGroupLayout',
409
+ 'pipelineCache',
410
+ 'linearSampler',
411
+ 'nearestSampler',
412
+ 'samplerCache',
413
+ 'mipmapPipelineCache',
414
+ 'textureCache',
415
+ 'textureSourcePremultipliedTextureCache',
416
+ 'textureSourcePremultipliedSrgbTextureCache',
417
+ 'textureSourceStraightTextureCache',
418
+ 'textureSourceStraightSrgbTextureCache',
419
+ 'videoTextureCache',
420
+ 'videoSrgbTextureCache',
421
+ 'wgpuExternalTextureCache',
422
+ 'wgpuRenderTextureCache',
423
+ 'sceneMeshUploadCache',
424
+ ];
425
+ const _deviceRuntimeByStateRuntime = new WeakMap();
426
+ const _destroyedStates = new WeakSet();
427
+ // Resolve the blend hook at the draw seam rather than hiding derived-state delegation behind an
428
+ // entity accessor. A locally installed hook wins; otherwise walk toward the screen pipeline so
429
+ // support enabled after derivation is visible to long-lived offscreen and cache states.
430
+ export function resolveWgpuApplyBlendMode(state) {
431
+ let current = state;
432
+ while (current.applyBlendMode === null) {
433
+ const parent = getWgpuRenderStateRuntime(current).applyBlendModeParent;
434
+ if (parent === null)
435
+ return null;
436
+ current = parent;
437
+ }
438
+ return current.applyBlendMode;
219
439
  }
220
440
  //# sourceMappingURL=wgpuRenderState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderState.js","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderState.js","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderTarget.d.ts","sourceRoot":"","sources":["../src/wgpuRenderTarget.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAuClC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACtC,IAAI,CA2CN;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,gBAA+B,EACvC,UAAU,GAAE,sBAA+B,GAC1C,gBAAgB,CAiClB;AAID,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAMrH;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAG/F;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF,EACD,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI,CAiCN;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAkC9D;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CA2BN;AA8BD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAIlG"}
1
+ {"version":3,"file":"wgpuRenderTarget.d.ts","sourceRoot":"","sources":["../src/wgpuRenderTarget.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAuClC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACtC,IAAI,CA2CN;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,gBAA+B,EACvC,UAAU,GAAE,sBAA+B,GAC1C,gBAAgB,CAiClB;AAID,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAMrH;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAG/F;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF,EACD,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI,CAiCN;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAkC9D;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CA6BN;AA8BD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAIlG"}
@@ -154,6 +154,8 @@ export function resizeWgpuRenderTarget(state, target, width, height) {
154
154
  const format = target.format;
155
155
  const w = Math.max(1, Math.ceil(width));
156
156
  const h = Math.max(1, Math.ceil(height));
157
+ if (w === target.width && h === target.height)
158
+ return;
157
159
  target.width = w;
158
160
  target.height = h;
159
161
  target.texture.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderTarget.js","sourceRoot":"","sources":["../src/wgpuRenderTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderTarget.js","sourceRoot":"","sources":["../src/wgpuRenderTarget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { RenderTexture, WgpuRenderState, WgpuRenderTextureEntry, WgpuRenderTextureExplanation, WgpuRenderTextureGuard, WgpuTextureEntry } from '@flighthq/types/contract';
2
+ export declare function bindWgpuRenderTexture(state: WgpuRenderState, renderTexture: Readonly<RenderTexture>): WgpuTextureEntry | null;
3
+ export declare function destroyWgpuRenderTexture(state: WgpuRenderState, renderTexture: Readonly<RenderTexture>): void;
4
+ export declare function explainWgpuRenderTexture(state: WgpuRenderState, renderTexture: Readonly<RenderTexture>): WgpuRenderTextureExplanation;
5
+ export declare function getWgpuRenderTextureTarget(state: WgpuRenderState, renderTexture: Readonly<RenderTexture>): Readonly<WgpuRenderTextureEntry['target']> | null;
6
+ export declare function invalidateWgpuRenderTexture(state: WgpuRenderState, renderTexture: Readonly<RenderTexture>, status?: 'released' | 'unrendered'): void;
7
+ export declare function isWgpuRenderTextureReady(state: WgpuRenderState, renderTexture: Readonly<RenderTexture>): boolean;
8
+ /**
9
+ * Clears and populates a render texture's hidden WebGPU target. The caller must have opened the
10
+ * frame command encoder; the enclosing render pass is restored even when the callback throws.
11
+ */
12
+ export declare function renderIntoWgpuRenderTexture(state: WgpuRenderState, renderTexture: RenderTexture, callback: (state: WgpuRenderState) => void): void;
13
+ export declare function setWgpuRenderTextureGuard(state: WgpuRenderState, guard: WgpuRenderTextureGuard | null): void;
14
+ export declare function writeWgpuRenderTextureTarget<T>(state: WgpuRenderState, renderTexture: RenderTexture, callback: (target: WgpuRenderTextureEntry['target']) => T): T;
15
+ //# sourceMappingURL=wgpuRenderTexture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgpuRenderTexture.d.ts","sourceRoot":"","sources":["../src/wgpuRenderTexture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,eAAe,EACf,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAalC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GACrC,gBAAgB,GAAG,IAAI,CAKzB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAM7G;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GACrC,4BAA4B,CAO9B;AAID,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GACrC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAKnD;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,MAAM,GAAE,UAAU,GAAG,YAA2B,GAC/C,IAAI,CAGN;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAIhH;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACzC,IAAI,CASN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAE5G;AAID,wBAAgB,4BAA4B,CAAC,CAAC,EAC5C,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,GACxD,CAAC,CAgBH"}