@flighthq/render-gl 0.3.0-next.1032.e2b99fc → 0.3.0-next.1162.e90e518

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 (72) hide show
  1. package/dist/contract.d.ts +2 -0
  2. package/dist/contract.d.ts.map +1 -1
  3. package/dist/contract.js +2 -0
  4. package/dist/contract.js.map +1 -1
  5. package/dist/enableGlTextureResolverGuards.d.ts +4 -0
  6. package/dist/enableGlTextureResolverGuards.d.ts.map +1 -0
  7. package/dist/enableGlTextureResolverGuards.js +32 -0
  8. package/dist/enableGlTextureResolverGuards.js.map +1 -0
  9. package/dist/explainGlTextureResolution.d.ts +3 -0
  10. package/dist/explainGlTextureResolution.d.ts.map +1 -0
  11. package/dist/explainGlTextureResolution.js +12 -0
  12. package/dist/explainGlTextureResolution.js.map +1 -0
  13. package/dist/glCompressedTexture.js +1 -1
  14. package/dist/glCompressedTexture.js.map +1 -1
  15. package/dist/glDraw.d.ts +2 -2
  16. package/dist/glDraw.d.ts.map +1 -1
  17. package/dist/glDraw.js +17 -14
  18. package/dist/glDraw.js.map +1 -1
  19. package/dist/glExternalTexture.d.ts.map +1 -1
  20. package/dist/glExternalTexture.js +23 -18
  21. package/dist/glExternalTexture.js.map +1 -1
  22. package/dist/glRenderPass.d.ts.map +1 -1
  23. package/dist/glRenderPass.js +73 -36
  24. package/dist/glRenderPass.js.map +1 -1
  25. package/dist/glRenderState.js +2 -2
  26. package/dist/glRenderState.js.map +1 -1
  27. package/dist/glRenderTarget.d.ts +10 -1
  28. package/dist/glRenderTarget.d.ts.map +1 -1
  29. package/dist/glRenderTarget.js +122 -59
  30. package/dist/glRenderTarget.js.map +1 -1
  31. package/dist/glRenderTargetPool.d.ts +4 -1
  32. package/dist/glRenderTargetPool.d.ts.map +1 -1
  33. package/dist/glRenderTargetPool.js +32 -23
  34. package/dist/glRenderTargetPool.js.map +1 -1
  35. package/dist/glRenderTexture.d.ts.map +1 -1
  36. package/dist/glRenderTexture.js +7 -3
  37. package/dist/glRenderTexture.js.map +1 -1
  38. package/dist/glTestHelper.js +2 -2
  39. package/dist/glTestHelper.js.map +1 -1
  40. package/dist/glTextureResolver.d.ts +2 -3
  41. package/dist/glTextureResolver.d.ts.map +1 -1
  42. package/dist/glTextureResolver.js +20 -30
  43. package/dist/glTextureResolver.js.map +1 -1
  44. package/dist/glTextureUpload.d.ts +2 -2
  45. package/dist/glTextureUpload.d.ts.map +1 -1
  46. package/dist/glTextureUpload.js +1 -1
  47. package/dist/glTextureUpload.js.map +1 -1
  48. package/dist/glTextureVideoUpload.d.ts +2 -2
  49. package/dist/glTextureVideoUpload.d.ts.map +1 -1
  50. package/dist/glTextureVideoUpload.js +3 -3
  51. package/dist/glTextureVideoUpload.js.map +1 -1
  52. package/dist/index.d.ts +1 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/package.json +8 -7
  57. package/src/enableGlTextureResolverGuards.test.ts +58 -0
  58. package/src/explainGlTextureResolution.test.ts +32 -0
  59. package/src/glCompressedTexture.test.ts +2 -2
  60. package/src/glDraw.test.ts +17 -18
  61. package/src/glExternalTexture.test.ts +3 -3
  62. package/src/glFullscreenPass.test.ts +13 -0
  63. package/src/glLinearToSrgbPass.test.ts +13 -0
  64. package/src/glPresentRenderTarget.test.ts +15 -1
  65. package/src/glReadback.test.ts +13 -0
  66. package/src/glRenderPass.test.ts +51 -0
  67. package/src/glRenderTarget.test.ts +173 -3
  68. package/src/glRenderTargetPool.test.ts +110 -5
  69. package/src/glRenderTexture.test.ts +27 -11
  70. package/src/glTextureResolver.test.ts +63 -54
  71. package/src/glTextureUpload.test.ts +2 -2
  72. package/src/glTextureVideoUpload.test.ts +5 -5
@@ -4,6 +4,8 @@ export * from './glDraw';
4
4
  export * from './glExternalTexture';
5
5
  export * from './glElement';
6
6
  export * from './enableGlRenderTextureGuards';
7
+ export * from './enableGlTextureResolverGuards';
8
+ export * from './explainGlTextureResolution';
7
9
  export * from './glFullscreenPass';
8
10
  export * from './glLinearToSrgbPass';
9
11
  export * from './glMaterialRegistry';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
package/dist/contract.js CHANGED
@@ -4,6 +4,8 @@ export * from './glDraw';
4
4
  export * from './glExternalTexture';
5
5
  export * from './glElement';
6
6
  export * from './enableGlRenderTextureGuards';
7
+ export * from './enableGlTextureResolverGuards';
8
+ export * from './explainGlTextureResolution';
7
9
  export * from './glFullscreenPass';
8
10
  export * from './glLinearToSrgbPass';
9
11
  export * from './glMaterialRegistry';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { GlRenderState } from '@flighthq/types/contract';
2
+ export declare function areGlTextureResolverGuardsEnabled(state: GlRenderState): boolean;
3
+ export declare function enableGlTextureResolverGuards(state: GlRenderState): void;
4
+ //# sourceMappingURL=enableGlTextureResolverGuards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableGlTextureResolverGuards.d.ts","sourceRoot":"","sources":["../src/enableGlTextureResolverGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAqD,MAAM,0BAA0B,CAAC;AAKjH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE/E;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAMxE"}
@@ -0,0 +1,32 @@
1
+ import { logOnce } from '@flighthq/log/contract';
2
+ import { getTextureSourceKind } from '@flighthq/texture/contract';
3
+ import { LogLevel } from '@flighthq/types/contract';
4
+ import { getGlRenderStateRuntime } from './glRenderState';
5
+ export function areGlTextureResolverGuardsEnabled(state) {
6
+ return getGlRenderStateRuntime(state).glTextureResolverRegistry instanceof GuardedGlTextureResolverRegistry;
7
+ }
8
+ export function enableGlTextureResolverGuards(state) {
9
+ const runtime = getGlRenderStateRuntime(state);
10
+ if (runtime.glTextureResolverRegistry instanceof GuardedGlTextureResolverRegistry)
11
+ return;
12
+ const guarded = new GuardedGlTextureResolverRegistry();
13
+ runtime.glTextureResolverRegistry?.forEach((resolver, kind) => guarded.set(kind, resolver));
14
+ runtime.glTextureResolverRegistry = guarded;
15
+ }
16
+ class GuardedGlTextureResolverRegistry extends Map {
17
+ get(kind) {
18
+ return super.get(kind) ?? warnMissingGlTextureResolver;
19
+ }
20
+ }
21
+ function warnMissingGlTextureResolver(_state, texture) {
22
+ const kind = getTextureSourceKind(texture);
23
+ if (kind === null)
24
+ return null;
25
+ logOnce(`render-gl:texture-resolver-missing:${kind}`, LogLevel.Warn, {
26
+ kind,
27
+ message: 'resolveGlTexture: texture source kind has no registered resolver — call registerGlTextureResolver(state, sourceKind, resolver)',
28
+ texture,
29
+ }, 'render-gl');
30
+ return null;
31
+ }
32
+ //# sourceMappingURL=enableGlTextureResolverGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableGlTextureResolverGuards.js","sourceRoot":"","sources":["../src/enableGlTextureResolverGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,UAAU,iCAAiC,CAAC,KAAoB;IACpE,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC,yBAAyB,YAAY,gCAAgC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAoB;IAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,yBAAyB,YAAY,gCAAgC;QAAE,OAAO;IAC1F,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;IACvD,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC;AAC9C,CAAC;AAED,MAAM,gCAAiC,SAAQ,GAAyC;IAC7E,GAAG,CAAC,IAAuB;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAC;IACzD,CAAC;CACF;AAED,SAAS,4BAA4B,CAAC,MAAqB,EAAE,OAA8B;IACzF,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,CACL,sCAAsC,IAAI,EAAE,EAC5C,QAAQ,CAAC,IAAI,EACb;QACE,IAAI;QACJ,OAAO,EACL,gIAAgI;QAClI,OAAO;KACR,EACD,WAAW,CACZ,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GlRenderState, TextureLike, TextureResolutionExplanation } from '@flighthq/types/contract';
2
+ export declare function explainGlTextureResolution(state: GlRenderState, texture: Readonly<TextureLike>): TextureResolutionExplanation;
3
+ //# sourceMappingURL=explainGlTextureResolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainGlTextureResolution.d.ts","sourceRoot":"","sources":["../src/explainGlTextureResolution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAIzG,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC7B,4BAA4B,CAQ9B"}
@@ -0,0 +1,12 @@
1
+ import { getTextureSourceKind } from '@flighthq/texture/contract';
2
+ import { getGlRenderStateRuntime } from './glRenderState';
3
+ export function explainGlTextureResolution(state, texture) {
4
+ const kind = getTextureSourceKind(texture);
5
+ if (kind === null)
6
+ return { kind, status: 'missing-kind' };
7
+ return {
8
+ kind,
9
+ status: getGlRenderStateRuntime(state).glTextureResolverRegistry?.has(kind) === true ? 'registered' : 'missing-resolver',
10
+ };
11
+ }
12
+ //# sourceMappingURL=explainGlTextureResolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainGlTextureResolution.js","sourceRoot":"","sources":["../src/explainGlTextureResolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,UAAU,0BAA0B,CACxC,KAAoB,EACpB,OAA8B;IAE9B,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC3D,OAAO;QACL,IAAI;QACJ,MAAM,EACJ,uBAAuB,CAAC,KAAK,CAAC,CAAC,yBAAyB,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB;KACnH,CAAC;AACJ,CAAC"}
@@ -184,7 +184,7 @@ export function registerGlCompressedTextureDecoder(state, decode) {
184
184
  // Installs the block-compressed upload seam on a render state, opting the ~40-format
185
185
  // uploadGlCompressedTextureContainer path into the bundle only for a state that actually draws a
186
186
  // CompressedImage. The 2D display draw path reads the installed handler off the runtime and skips the
187
- // backing when none is registered, so ImageResource/Bitmap bundles do not carry the compression enum
187
+ // source when none is registered, so Image/Bitmap bundles do not carry the compression enum
188
188
  // table. Opt-in and last-write-wins; pass null to clear a previously installed uploader.
189
189
  export function registerGlCompressedTextureUpload(state, uploader) {
190
190
  getGlRenderStateRuntime(state).compressedTextureUpload = uploader === null ? null : uploadGlCompressedImage;
@@ -1 +1 @@
1
- {"version":3,"file":"glCompressedTexture.js","sourceRoot":"","sources":["../src/glCompressedTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glCompressedTexture.js","sourceRoot":"","sources":["../src/glCompressedTexture.ts"],"names":[],"mappings":"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"}
package/dist/glDraw.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import type { Bitmap, CompressedImage, GlBitmapShader, GlBlendRealization, GlRenderState, GlRenderStateRuntime, ImageResource, SamplerLike, TextureLike } from '@flighthq/types/contract';
1
+ import type { Bitmap, CompressedImage, GlBitmapShader, GlBlendRealization, GlRenderState, GlRenderStateRuntime, Image, SamplerLike, TextureLike } from '@flighthq/types/contract';
2
2
  import { BlendMode } from '@flighthq/types/contract';
3
3
  export declare function applyGlBlendMode(state: GlRenderState, blendMode: BlendMode | null): void;
4
4
  export declare function applyGlSamplerState(state: GlRenderState, runtime: GlRenderStateRuntime, texture: WebGLTexture, sampler: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null): void;
5
5
  export declare function bindGlBitmapTexture(state: GlRenderState, bitmap: Readonly<Bitmap>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null, premultiply?: boolean): WebGLTexture;
6
6
  export declare function bindGlCompressedImageTexture(state: GlRenderState, image: Readonly<CompressedImage>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null): WebGLTexture;
7
- export declare function bindGlImageResourceTexture(state: GlRenderState, image: Readonly<ImageResource>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null, premultiply?: boolean): WebGLTexture;
7
+ export declare function bindGlImageResourceTexture(state: GlRenderState, image: Readonly<Image>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null, premultiply?: boolean): WebGLTexture;
8
8
  export declare function bindGlTexture(state: GlRenderState, imageSource: CanvasImageSource, sampler?: Readonly<SamplerLike> | null): WebGLTexture;
9
9
  export declare function bindGlVideoTexture(state: GlRenderState, texture: Readonly<TextureLike>, sampler?: Readonly<SamplerLike> | null): WebGLTexture;
10
10
  export declare function createGlTexture(state: GlRenderState): WebGLTexture;
@@ -1 +1 @@
1
- {"version":3,"file":"glDraw.d.ts","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glDraw.d.ts","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EAEpB,KAAK,EACL,WAAW,EACX,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAYrD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAQxF;AAUD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,EACrC,iBAAiB,GAAE,OAAO,GAAG,IAAW,GACvC,IAAI,CA8BN;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,EACtC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,EAClC,WAAW,UAAQ,GAClB,YAAY,CAEd;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAChC,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,EACtC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,GACjC,YAAY,CAEd;AAaD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACtB,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,EACtC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,EAClC,WAAW,UAAQ,GAClB,YAAY,CAUd;AAyCD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GACrC,YAAY,CAiCd;AAUD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GACrC,YAAY,CAkBd;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAalE;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CA0BN;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGnE;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAExF;AAKD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEtE;AAKD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAGrH;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAcN;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAgB5G;AAyCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAShF"}
package/dist/glDraw.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { getTextureSource } from '@flighthq/texture/contract';
1
2
  import { BlendMode } from '@flighthq/types/contract';
2
3
  import { getGlRenderStateRuntime } from './glRenderState';
3
4
  import { setGlAttributes, setGlMatrixFromValues } from './glShader';
@@ -58,29 +59,31 @@ export function applyGlSamplerState(state, runtime, texture, sampler, smoothingO
58
59
  }
59
60
  }
60
61
  export function bindGlBitmapTexture(state, bitmap, sampler, smoothingOverride, premultiply = false) {
61
- return bindGlImageBackingTexture(state, bitmap, sampler, smoothingOverride, premultiply, false, uploadGlBitmap);
62
+ return bindGlTextureSourceTexture(state, bitmap, sampler, smoothingOverride, premultiply, false, uploadGlBitmap);
62
63
  }
63
64
  export function bindGlCompressedImageTexture(state, image, sampler, smoothingOverride) {
64
- return bindGlImageBackingTexture(state, image, sampler, smoothingOverride, false, true, uploadGlCompressedImage);
65
+ return bindGlTextureSourceTexture(state, image, sampler, smoothingOverride, false, true, uploadGlCompressedImage);
65
66
  }
66
67
  // Binds (uploading + caching on first use, re-uploading when the host image changes) the GL texture for
67
- // an ImageResource and applies the sampler's full state. The Bitmap and CompressedImage siblings below
68
- // share only the identity/version cache bracket; each backing keeps a representation-specific uploader.
68
+ // an Image and applies the sampler's full state. The Bitmap and CompressedImage siblings below
69
+ // share only the identity/version cache bracket; each source keeps a representation-specific uploader.
69
70
  // Sampler state is re-applied every bind so a resource reused by two materials with different samplers
70
71
  // follows the current draw.
71
72
  //
72
73
  // `premultiply` states whether the caller wants a premultiplied GPU texture — bind never premultiplies on
73
74
  // its own. The 2D display and particle pipelines blend premultiplied (ONE, ONE_MINUS_SRC_ALPHA) and pass
74
75
  // true; the 3D forward path blends straight (SRC_ALPHA) and leaves the default false. The two request
75
- // modes cache separate GL textures so one backing can be sampled by both paths without rewriting its
76
+ // modes cache separate GL textures so one source can be sampled by both paths without rewriting its
76
77
  // other realization.
77
78
  export function bindGlImageResourceTexture(state, image, sampler, smoothingOverride, premultiply = false) {
78
- return bindGlImageBackingTexture(state, image, sampler, smoothingOverride, premultiply, false, uploadGlImageResource);
79
+ return bindGlTextureSourceTexture(state, image, sampler, smoothingOverride, premultiply, false, uploadGlImageResource);
79
80
  }
80
- function bindGlImageBackingTexture(state, image, sampler, smoothingOverride, premultiply, straightAlpha, upload) {
81
+ function bindGlTextureSourceTexture(state, image, sampler, smoothingOverride, premultiply, straightAlpha, upload) {
81
82
  const runtime = getGlRenderStateRuntime(state);
82
83
  const gl = state.gl;
83
- const cache = premultiply ? runtime.imageBackingPremultipliedTextureCache : runtime.imageBackingStraightTextureCache;
84
+ const cache = premultiply
85
+ ? runtime.textureSourcePremultipliedTextureCache
86
+ : runtime.textureSourceStraightTextureCache;
84
87
  let entry = cache.get(image);
85
88
  if (entry === undefined) {
86
89
  entry = { texture: gl.createTexture(), version: -1 };
@@ -140,16 +143,16 @@ export function bindGlTexture(state, imageSource, sampler) {
140
143
  applyGlSamplerState(state, runtime, texture, sampler ?? null);
141
144
  return texture;
142
145
  }
143
- // Binds the GL texture for a video-backed Texture and re-uploads the backing element's current frame
144
- // only when its ImageResource `version` has advanced — the dynamic, per-frame sibling of
145
- // bindGlImageResourceTexture (settled ImageResource) and bindGlTexture (raw element). The GL texture is
146
- // cached by the ImageResource backing in the runtime's videoTextureCache (lazily created), so two
146
+ // Binds the GL texture for a video-backed Texture and re-uploads the source element's current frame
147
+ // only when its Image `version` has advanced — the dynamic, per-frame sibling of
148
+ // bindGlImageResourceTexture (settled Image) and bindGlTexture (raw element). The GL texture is
149
+ // cached by the Image source in the runtime's videoTextureCache (lazily created), so two
147
150
  // sampled Textures share one upload while their samplers remain draw-local.
148
- // Leaves the texture bound at the active unit for the caller to sample. Callers advance the backing
151
+ // Leaves the texture bound at the active unit for the caller to sample. Callers advance the source
149
152
  // version via advanceVideoTexture when the element reports a fresh decoded frame; this reads the current frame
150
153
  // through uploadGlTextureElement's zero-copy element fast-path.
151
154
  export function bindGlVideoTexture(state, texture, sampler) {
152
- const image = texture.storage.image;
155
+ const image = getTextureSource(texture);
153
156
  const runtime = getGlRenderStateRuntime(state);
154
157
  const gl = state.gl;
155
158
  const cache = (runtime.videoTextureCache ??= new WeakMap());
@@ -1 +1 @@
1
- {"version":3,"file":"glDraw.js","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glDraw.js","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"glExternalTexture.d.ts","sourceRoot":"","sources":["../src/glExternalTexture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;AAOlH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC9C,OAAO,CAsBT;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAElG"}
1
+ {"version":3,"file":"glExternalTexture.d.ts","sourceRoot":"","sources":["../src/glExternalTexture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAE5B,aAAa,EACb,OAAO,EAER,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC9C,OAAO,CAiBT;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAGlG"}
@@ -1,41 +1,46 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { cloneSampler, createTexture } from '@flighthq/texture/contract';
2
- import { ExternalTextureBackingKind } from '@flighthq/types/contract';
3
+ import { ExternalTextureSourceKind } from '@flighthq/types/contract';
3
4
  import { applyGlSamplerState } from './glDraw';
4
5
  import { getGlRenderStateRuntime } from './glRenderState';
5
6
  import { registerGlTextureResolver } from './glTextureResolver';
6
7
  export function createExternalGlTexture(state, handle, options) {
8
+ const source = createEntity({
9
+ height: options.height,
10
+ kind: ExternalTextureSourceKind,
11
+ version: 0,
12
+ width: options.width,
13
+ });
7
14
  const texture = createTexture({
8
15
  colorSpace: options.colorSpace,
9
16
  sampler: options.sampler ? cloneSampler(options.sampler) : undefined,
10
- storage: {
11
- dimension: '2d',
12
- image: null,
13
- target: {
14
- colorAttachments: 1,
15
- depth: 'none',
16
- format: 'rgba8',
17
- height: options.height,
18
- kind: ExternalTextureBackingKind,
19
- sampleCount: 1,
20
- width: options.width,
21
- },
22
- },
17
+ dimension: '2d',
18
+ source,
23
19
  });
24
20
  const runtime = getGlRenderStateRuntime(state);
25
- (runtime.glExternalTextureCache ??= new WeakMap()).set(texture, handle);
26
- registerGlTextureResolver(state, ExternalTextureBackingKind, resolveExternalGlTexture);
21
+ (runtime.glExternalTextureCache ??= new WeakMap()).set(source, handle);
22
+ registerGlTextureResolver(state, ExternalTextureSourceKind, resolveExternalGlTexture);
27
23
  return texture;
28
24
  }
29
25
  export function disposeExternalGlTexture(state, texture) {
30
- return getGlRenderStateRuntime(state).glExternalTextureCache?.delete(texture) ?? false;
26
+ const source = getExternalTextureSource(texture);
27
+ return source === null ? false : (getGlRenderStateRuntime(state).glExternalTextureCache?.delete(source) ?? false);
31
28
  }
32
29
  function resolveExternalGlTexture(state, texture) {
30
+ const source = getExternalTextureSource(texture);
31
+ if (source === null)
32
+ return null;
33
33
  const runtime = getGlRenderStateRuntime(state);
34
- const handle = runtime.glExternalTextureCache?.get(texture);
34
+ const handle = runtime.glExternalTextureCache?.get(source);
35
35
  if (handle === undefined)
36
36
  return null;
37
37
  state.gl.bindTexture(state.gl.TEXTURE_2D, handle);
38
38
  applyGlSamplerState(state, runtime, handle, texture.sampler);
39
39
  return handle;
40
40
  }
41
+ function getExternalTextureSource(texture) {
42
+ if (texture.dimension !== '2d' || texture.source?.kind !== ExternalTextureSourceKind)
43
+ return null;
44
+ return texture.source;
45
+ }
41
46
  //# sourceMappingURL=glExternalTexture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glExternalTexture.js","sourceRoot":"","sources":["../src/glExternalTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,MAAoB,EACpB,OAA+C;IAE/C,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,OAAO,EAAE;YACP,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,MAAM,EAAE;gBACN,gBAAgB,EAAE,CAAC;gBACnB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;SACF;KACF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,OAAO,CAAC,sBAAsB,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxE,yBAAyB,CAAC,KAAK,EAAE,0BAA0B,EAAE,wBAAwB,CAAC,CAAC;IACvF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAoB,EAAE,OAA0B;IACvF,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,MAAM,CAAC,OAAkB,CAAC,IAAI,KAAK,CAAC;AACpG,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoB,EAAE,OAA8B;IACpF,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC,OAAkB,CAAC,CAAC;IACvE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"glExternalTexture.js","sourceRoot":"","sources":["../src/glExternalTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,MAAoB,EACpB,OAA+C;IAE/C,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAoB,CAAC;IACtB,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,SAAS,EAAE,IAAI;QACf,MAAM;KACP,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,OAAO,CAAC,sBAAsB,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvE,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;IACtF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAoB,EAAE,OAA0B;IACvF,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;AACpH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoB,EAAE,OAA8B;IACpF,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA8B;IAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,yBAAyB;QAAE,OAAO,IAAI,CAAC;IAClG,OAAO,OAAO,CAAC,MAAyB,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderPass.d.ts","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAGd,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACT,MAAM,0BAA0B,CAAC;AA2DlC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC5B,IAAI,CAwDN;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CA+B1D;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAI9F"}
1
+ {"version":3,"file":"glRenderPass.d.ts","sourceRoot":"","sources":["../src/glRenderPass.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAGd,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAkElC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC5B,IAAI,CA2DN;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAmC1D;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAI9F"}
@@ -33,31 +33,33 @@ import { resolveGlRenderTarget } from './glRenderTarget';
33
33
  // drawGlScene3D(state, scene, camera, lights)
34
34
  // endGlRenderPass(state)
35
35
  export function beginGlRenderPass(state, target, preserve, viewport) {
36
- const runtime = getGlRenderStateRuntime(state);
37
36
  const gl = state.gl;
38
- const currentMaskDepth = runtime.currentMaskDepth ?? 0;
39
- if (currentMaskDepth > 0 && runtime.currentFramebuffer === target.framebuffer) {
37
+ let stack = _passStack.get(gl);
38
+ // One WebGL context has one live framebuffer/stencil/scissor state even when several higher-level
39
+ // GlRenderStates share it (the render-cache path). The top context-owned pass is therefore the
40
+ // physical enclosing state; the incoming state's dormant runtime is only its local restore point.
41
+ const previousOwner = stack?.at(-1)?.owner ?? state;
42
+ const previousRuntime = getGlRenderStateRuntime(previousOwner);
43
+ const previousState = captureGlPassState(previousOwner);
44
+ const currentMaskDepth = previousState.currentMaskDepth;
45
+ if (currentMaskDepth > 0 && previousState.framebuffer === target.framebuffer) {
40
46
  throw new Error('beginGlRenderPass: cannot nest the active framebuffer while a contour clip is live');
41
47
  }
42
- let stack = _passStack.get(state);
43
48
  if (stack === undefined) {
44
49
  stack = [];
45
- _passStack.set(state, stack);
50
+ _passStack.set(gl, stack);
46
51
  }
47
52
  stack.push({
48
- clipForms: [...(runtime.clipForms ?? [])],
49
- currentMaskDepth,
50
53
  depthMask: gl.getParameter(gl.DEPTH_WRITEMASK) !== false,
51
- framebuffer: runtime.currentFramebuffer,
52
- renderTarget: runtime.currentRenderTarget ?? null,
53
- renderTargetViewport: runtime.renderTargetViewport,
54
- renderTransform2D: state.renderTransform2D,
55
- scissorRect: runtime.currentScissorRect ?? null,
56
- scissorStack: [...(runtime.scissorStack ?? [])],
54
+ owner: state,
55
+ ownerState: previousOwner === state ? previousState : captureGlPassState(state),
56
+ previousOwner,
57
+ previousState,
57
58
  stencil: currentMaskDepth > 0 ? captureGlStencil(gl) : null,
58
59
  });
60
+ const runtime = getGlRenderStateRuntime(state);
59
61
  const activeViewport = resolveGlPassViewport(target, viewport);
60
- const enclosingScissor = runtime.currentScissorRect ?? null;
62
+ const enclosingScissor = previousState.scissorRect;
61
63
  const activeScissor = enclosingScissor === null
62
64
  ? viewport === undefined
63
65
  ? null
@@ -81,8 +83,9 @@ export function beginGlRenderPass(state, target, preserve, viewport) {
81
83
  if (currentMaskDepth > 0)
82
84
  gl.disable(gl.STENCIL_TEST);
83
85
  // Force rebind on next draw — the framebuffer switch invalidates GL state assumptions.
84
- runtime.currentTexture = null;
85
- runtime.currentBlendMode = null;
86
+ invalidateGlPassBindingCache(runtime);
87
+ if (previousOwner !== state)
88
+ invalidateGlPassBindingCache(previousRuntime);
86
89
  clearGlRenderPass(state, target, preserve);
87
90
  }
88
91
  // Ends the pass opened by beginGlRenderPass: restores the framebuffer binding, exact viewport/scissor,
@@ -92,30 +95,33 @@ export function beginGlRenderPass(state, target, preserve, viewport) {
92
95
  // an unbalanced pass is a programmer error, and silently accepting it hides a leaked prior pass. The
93
96
  // target is read from runtime rather than passed, so end mirrors the other backend brackets.
94
97
  export function endGlRenderPass(state) {
95
- const runtime = getGlRenderStateRuntime(state);
96
98
  const gl = state.gl;
97
- const ended = runtime.currentRenderTarget ?? null;
98
- const saved = _passStack.get(state)?.pop();
99
- if (saved === undefined)
99
+ const stack = _passStack.get(gl);
100
+ if (stack === undefined) {
100
101
  throw new Error('endGlRenderPass called without a matching beginGlRenderPass');
101
- gl.bindFramebuffer(gl.FRAMEBUFFER, saved.framebuffer);
102
- const viewport = saved.renderTargetViewport;
103
- gl.viewport(viewport?.x ?? 0, viewport?.y ?? 0, viewport?.width ?? state.canvas.width, viewport?.height ?? state.canvas.height);
104
- runtime.currentFramebuffer = saved.framebuffer;
105
- runtime.currentRenderTarget = saved.renderTarget;
106
- runtime.renderTargetViewport = saved.renderTargetViewport;
107
- runtime.currentScissorRect = saved.scissorRect;
108
- runtime.scissorStack = saved.scissorStack;
109
- runtime.clipForms = saved.clipForms;
110
- runtime.currentMaskDepth = saved.currentMaskDepth;
111
- applyGlScissor(gl, saved.scissorRect);
102
+ }
103
+ const saved = stack.at(-1);
104
+ if (saved === undefined || saved.owner !== state) {
105
+ throw new Error('endGlRenderPass called without a matching beginGlRenderPass');
106
+ }
107
+ stack.pop();
108
+ if (stack.length === 0)
109
+ _passStack.delete(gl);
110
+ const runtime = getGlRenderStateRuntime(state);
111
+ const ended = runtime.currentRenderTarget ?? null;
112
+ restoreGlPassState(state, saved.ownerState);
113
+ gl.bindFramebuffer(gl.FRAMEBUFFER, saved.previousState.framebuffer);
114
+ const viewport = saved.previousState.renderTargetViewport;
115
+ gl.viewport(viewport?.x ?? 0, viewport?.y ?? 0, viewport?.width ?? saved.previousOwner.canvas.width, viewport?.height ?? saved.previousOwner.canvas.height);
116
+ applyGlScissor(gl, saved.previousState.scissorRect);
112
117
  restoreGlStencil(gl, saved.stencil);
113
118
  gl.depthMask(saved.depthMask);
114
- state.renderTransform2D = saved.renderTransform2D;
115
- runtime.currentTexture = null;
116
- runtime.currentBlendMode = null;
119
+ invalidateGlPassBindingCache(runtime);
120
+ if (saved.previousOwner !== state) {
121
+ invalidateGlPassBindingCache(getGlRenderStateRuntime(saved.previousOwner));
122
+ }
117
123
  if (ended !== null)
118
- resolveGlRenderTarget(state, ended);
124
+ resolveGlRenderTarget(saved.previousOwner, ended);
119
125
  }
120
126
  // Sets the 2D root device transform the display-object update pass (prepareScene2DRender) reads to
121
127
  // place nodes with no scene parent. Call after beginGlRenderPass when a 2D pass renders into a target
@@ -170,6 +176,36 @@ function resolveGlClearColor(state, target, index, out) {
170
176
  out[2] = bg[2] ?? 0;
171
177
  out[3] = bg.length >= 4 ? bg[3] : 0;
172
178
  }
179
+ function captureGlPassState(state) {
180
+ const runtime = getGlRenderStateRuntime(state);
181
+ return {
182
+ clipForms: [...(runtime.clipForms ?? [])],
183
+ currentMaskDepth: runtime.currentMaskDepth ?? 0,
184
+ framebuffer: runtime.currentFramebuffer,
185
+ renderTarget: runtime.currentRenderTarget ?? null,
186
+ renderTargetViewport: runtime.renderTargetViewport,
187
+ renderTransform2D: state.renderTransform2D,
188
+ scissorRect: runtime.currentScissorRect ?? null,
189
+ scissorStack: [...(runtime.scissorStack ?? [])],
190
+ };
191
+ }
192
+ function invalidateGlPassBindingCache(runtime) {
193
+ runtime.currentBlendMode = null;
194
+ runtime.currentProgram = null;
195
+ runtime.currentTexture = null;
196
+ runtime.currentTextureStraightAlpha = false;
197
+ }
198
+ function restoreGlPassState(state, saved) {
199
+ const runtime = getGlRenderStateRuntime(state);
200
+ runtime.currentFramebuffer = saved.framebuffer;
201
+ runtime.currentRenderTarget = saved.renderTarget;
202
+ runtime.renderTargetViewport = saved.renderTargetViewport;
203
+ runtime.currentScissorRect = saved.scissorRect;
204
+ runtime.scissorStack = saved.scissorStack;
205
+ runtime.clipForms = saved.clipForms;
206
+ runtime.currentMaskDepth = saved.currentMaskDepth;
207
+ state.renderTransform2D = saved.renderTransform2D;
208
+ }
173
209
  function applyGlScissor(gl, rect) {
174
210
  if (rect === null) {
175
211
  gl.disable(gl.SCISSOR_TEST);
@@ -238,7 +274,8 @@ function resolveGlPassViewport(target, viewport) {
238
274
  function clampGlPassEdge(value, extent) {
239
275
  return Math.min(extent, Math.max(0, value));
240
276
  }
241
- // The pass bracket's save/restore stack, keyed off the render state so nested passes restore in order.
277
+ // A WebGL context has exactly one framebuffer binding and one live stencil gate. Keying the pass
278
+ // bracket by that physical owner keeps cache GlRenderStates sharing a context in the same LIFO scope.
242
279
  const _passStack = new WeakMap();
243
280
  const _clearRgba = new Float32Array(4);
244
281
  //# sourceMappingURL=glRenderPass.js.map