@flighthq/render-gl 0.5.1-next.731.0ae0aa4 → 0.5.1-next.799.62ef0c7

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.
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/render-gl`. The `@fl
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/render-gl@0.5.1-next.731.0ae0aa4](https://github.com/flighthq/flight/tree/0ae0aa49d8251d23b546f64bc242f3ad59a98dcb/packages/render-gl)
17
- - [License](https://github.com/flighthq/flight/blob/0ae0aa49d8251d23b546f64bc242f3ad59a98dcb/LICENSE.md)
16
+ - [Source for @flighthq/render-gl@0.5.1-next.799.62ef0c7](https://github.com/flighthq/flight/tree/62ef0c74f09f24177aac3695b2487b2d743d4fe6/packages/render-gl)
17
+ - [License](https://github.com/flighthq/flight/blob/62ef0c74f09f24177aac3695b2487b2d743d4fe6/LICENSE.md)
package/dist/glDraw.d.ts CHANGED
@@ -17,6 +17,6 @@ export declare function registerGlBlendMode(state: GlRenderState, blendMode: Ble
17
17
  export declare function setGlQuadMatrixFromOffset(state: GlRenderState, a: number, b: number, c: number, d: number, tx: number, ty: number, dx: number, dy: number): void;
18
18
  export declare function updateGlTexture(state: GlRenderState, texture: WebGLTexture, canvas: HTMLCanvasElement): void;
19
19
  export declare function useGlProgram(state: GlRenderState, shader?: GlBitmapShader): void;
20
- declare let _standardGlBlendRealizations: import("@flighthq/types/RegistryTable").KeyedTable<GlBlendRealization>;
20
+ declare let _standardGlBlendRealizations: import("@flighthq/types/RegistryTable").KeyedTable<GlBlendRealization> & import("@flighthq/types/Entity").Entity;
21
21
  export { _standardGlBlendRealizations as standardGlBlendRealizations };
22
22
  //# sourceMappingURL=glDraw.d.ts.map
@@ -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":"AAEA,OAAO,KAAK,EAEV,MAAM,EACN,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAElB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAsB,MAAM,0BAA0B,CAAC;AAYzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAqBxF;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,EACnB,UAAU,GAAE,iBAA4B,GACvC,YAAY,CAWd;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACxC,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,EACtC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,EAClC,UAAU,GAAE,iBAA4B,GACvC,YAAY,CAWd;AAoBD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,EACtC,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI,EAClC,WAAW,UAAQ,EACnB,UAAU,GAAE,iBAA4B,GACvC,YAAY,CAWd;AAWD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GACrC,YAAY,CA6Bd;AAqCD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,GACjD,YAAY,GAAG,IAAI,CAIrB;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,CAwBd;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAUlE;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,CA4BN;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGnE;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAKxF;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,CAOrH;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,CAeN;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAc5G;AAgGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAgBhF;AA2FD,QAAA,IAAI,4BAA4B,kHAAuE,CAAC;AAKxG,OAAO,EAAE,4BAA4B,IAAI,2BAA2B,EAAE,CAAC"}
@@ -2,7 +2,7 @@ import { createEntity } from '@flighthq/entity/contract';
2
2
  import { createKeyedTable, createSlotTable } from '@flighthq/registry/contract';
3
3
  import { EntityRuntimeKey } from '@flighthq/types/contract';
4
4
  export function createEmptyGlRegistries() {
5
- return {
5
+ return createEntity({
6
6
  blendRealizations: createKeyedTable('GlBlendRealization', 'Normal'),
7
7
  compressedTextureDecoder: createSlotTable('GlCompressedTextureDecoder', 'Unregistered'),
8
8
  compressedTextureUpload: createSlotTable('GlCompressedTextureUpload', 'Unregistered'),
@@ -20,7 +20,7 @@ export function createEmptyGlRegistries() {
20
20
  strokeTessellator: createSlotTable('StrokeTessellator', 'Rasterize'),
21
21
  textureResolvers: createKeyedTable('GlTextureResolver', 'Unregistered'),
22
22
  velocityWriters: createKeyedTable('GlVelocityWriter', 'Unregistered'),
23
- };
23
+ });
24
24
  }
25
25
  export function createGlPipeline(registries) {
26
26
  const pipeline = createEntity({ registries });
@@ -1 +1 @@
1
- {"version":3,"file":"glPipeline.js","sourceRoot":"","sources":["../src/glPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,iBAAiB,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC;QACnE,wBAAwB,EAAE,eAAe,CAAC,4BAA4B,EAAE,cAAc,CAAC;QACvF,uBAAuB,EAAE,eAAe,CAAC,2BAA2B,EAAE,cAAc,CAAC;QACrF,mBAAmB,EAAE,gBAAgB,CAAC,sBAAsB,EAAE,cAAc,CAAC;QAC7E,qBAAqB,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,cAAc,CAAC;QACjF,iBAAiB,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;QAC7E,qBAAqB,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;QACrF,gBAAgB,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,cAAc,CAAC;QACvE,uBAAuB,EAAE,CAAC;QAC1B,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjE,oBAAoB,EAAE,CAAC;QACvB,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjE,SAAS,EAAE,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC;QAC3D,eAAe,EAAE,eAAe,CAAC,mBAAmB,EAAE,cAAc,CAAC;QACrE,iBAAiB,EAAE,eAAe,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACpE,gBAAgB,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,cAAc,CAAC;QACvE,eAAe,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAwC;IACvE,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAe,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA8B;IACpE,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"glPipeline.js","sourceRoot":"","sources":["../src/glPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,UAAU,uBAAuB;IACrC,OAAO,YAAY,CAAC;QAClB,iBAAiB,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC;QACnE,wBAAwB,EAAE,eAAe,CAAC,4BAA4B,EAAE,cAAc,CAAC;QACvF,uBAAuB,EAAE,eAAe,CAAC,2BAA2B,EAAE,cAAc,CAAC;QACrF,mBAAmB,EAAE,gBAAgB,CAAC,sBAAsB,EAAE,cAAc,CAAC;QAC7E,qBAAqB,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,cAAc,CAAC;QACjF,iBAAiB,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;QAC7E,qBAAqB,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;QACrF,gBAAgB,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,cAAc,CAAC;QACvE,uBAAuB,EAAE,CAAC;QAC1B,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjE,oBAAoB,EAAE,CAAC;QACvB,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjE,SAAS,EAAE,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC;QAC3D,eAAe,EAAE,eAAe,CAAC,mBAAmB,EAAE,cAAc,CAAC;QACrE,iBAAiB,EAAE,eAAe,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACpE,gBAAgB,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,cAAc,CAAC;QACvE,eAAe,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC;KACtE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAwC;IACvE,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAe,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA8B;IACpE,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderTargetPool.d.ts","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAElB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAclC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,cAAc,CAAC;AAClB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,WAAW,GACxB,cAAc,CAAC;AAClB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,UAAU,GACvB,cAAc,GAAG,IAAI,CAAC;AACzB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,wBAAwB,GACrC,cAAc,GAAG,IAAI,CAAC;AAkCzB,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAG9F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAE5F"}
1
+ {"version":3,"file":"glRenderTargetPool.d.ts","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAElB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAclC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,cAAc,CAAC;AAClB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,WAAW,GACxB,cAAc,CAAC;AAClB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,UAAU,GACvB,cAAc,GAAG,IAAI,CAAC;AACzB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC5C,YAAY,EAAE,wBAAwB,GACrC,cAAc,GAAG,IAAI,CAAC;AAkCzB,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAG9F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAE5F"}
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { resolveRenderTargetDescriptor } from '@flighthq/render/contract';
2
3
  import { clearGlRenderTarget } from './glFullscreenPass';
3
4
  import { createGlRenderTarget, destroyGlRenderTarget, resolveGlRenderTargetAxes } from './glRenderTarget';
@@ -29,7 +30,7 @@ export function acquireGlRenderTarget(state, pool, descriptor, formatPolicy = 'p
29
30
  return createGlRenderTarget(state, descriptor, formatPolicy);
30
31
  }
31
32
  export function createGlRenderTargetPool() {
32
- return { free: [] };
33
+ return createEntity({ free: [] });
33
34
  }
34
35
  export function destroyGlRenderTargetPool(state, pool) {
35
36
  for (const target of pool.free)
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderTargetPool.js","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAU1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAkC1G,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,IAAwB,EACxB,UAA4C,EAC5C,eAAyC,WAAW;IAEpD,MAAM,SAAS,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,SAAS,CAAC,aAAa,GAAG;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;gBAC5C,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC;gBACzC,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,UAAU,EAAE,SAAS,CAAC,UAAU;aACjC,CAAC;YACF,SAAS,CAAC,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACnD,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;YAC5C,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAoB,EAAE,IAAwB;IACtF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI;QAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,MAAsB;IACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAgC,EAAE,IAAgC;IACnG,OAAO,CACL,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;QAC3B,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC7B,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC7B,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB;QACjD,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM;QACvD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;QACvC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;QAC3B,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"glRenderTargetPool.js","sourceRoot":"","sources":["../src/glRenderTargetPool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderTexturePool.d.ts","sourceRoot":"","sources":["../src/glRenderTexturePool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,sBAAsB,EACtB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,EACzB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,aAAa,CASf;AAED,wBAAgB,yBAAyB,IAAI,mBAAmB,CAQ/D;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAShG;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAON;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,EACzB,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAC5D,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,GACtD,CAAC,CAWH"}
1
+ {"version":3,"file":"glRenderTexturePool.d.ts","sourceRoot":"","sources":["../src/glRenderTexturePool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,sBAAsB,EACtB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,EACzB,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC3C,aAAa,CASf;AAED,wBAAgB,yBAAyB,IAAI,mBAAmB,CAQ/D;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAShG;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAON;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,EACzB,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAC5D,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,GACtD,CAAC,CAWH"}
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { createRenderTexture, resetTextureUvTransform } from '@flighthq/texture/contract';
2
3
  import { createGlRenderTargetPool, destroyGlRenderTargetPool } from './glRenderTargetPool';
3
4
  import { destroyGlRenderTexture, invalidateGlRenderTexture } from './glRenderTexture';
@@ -12,13 +13,13 @@ export function acquireGlRenderTexture(state, pool, descriptor) {
12
13
  return renderTexture;
13
14
  }
14
15
  export function createGlRenderTexturePool() {
15
- return {
16
+ return createEntity({
16
17
  context: null,
17
18
  destroyed: false,
18
19
  effectTargets: createGlRenderTargetPool(),
19
20
  free: [],
20
21
  leased: new Set(),
21
- };
22
+ });
22
23
  }
23
24
  // Destroys free and currently leased handles. A shutdown caller need not recover every outstanding
24
25
  // display lease first; after this call the pool cannot be acquired again.
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderTexturePool.js","sourceRoot":"","sources":["../src/glRenderTexturePool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glRenderTexturePool.js","sourceRoot":"","sources":["../src/glRenderTexturePool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { GlContext, GlRenderState, RenderProxy, RenderProxy2D } from '@flighthq/types/contract';
2
1
  import type { GlBitmapShader, GlShaderLocations } from '@flighthq/types/contract';
2
+ import type { GlContext, GlRenderState, RenderProxy, RenderProxy2D } from '@flighthq/types/contract';
3
3
  export declare function compileDefaultGlProgram(gl: GlContext): GlShaderLocations;
4
4
  /**
5
5
  * Compiles a bitmap program, reusing the standard quad vertex shader. Pass a
@@ -1 +1 @@
1
- {"version":3,"file":"glShader.d.ts","sourceRoot":"","sources":["../src/glShader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA4BlF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,SAAS,GAAG,iBAAiB,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,GAAE,MAAqB,GAAG,iBAAiB,CAU3G;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,GAAG,cAAc,CAkBnH;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,KAAK,IAAI,GACzF,cAAc,CAoBhB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAOhF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAK3E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAGvG;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,iBAAiB,EACtB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACzE,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAaN;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,iBAAiB,EACtB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAaN"}
1
+ {"version":3,"file":"glShader.d.ts","sourceRoot":"","sources":["../src/glShader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA4BrG,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,SAAS,GAAG,iBAAiB,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,GAAE,MAAqB,GAAG,iBAAiB,CAU3G;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,GAAG,cAAc,CAkBnH;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,KAAK,IAAI,GACzF,cAAc,CAoBhB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAOhF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAK3E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAGvG;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,iBAAiB,EACtB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACzE,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAaN;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,iBAAiB,EACtB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI,CAaN"}
package/dist/glShader.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { createGlProgram } from './glProgram';
2
3
  import { getGlRenderStateRuntime } from './glRenderState';
3
4
  const VERTEX_SRC = `#version 300 es
@@ -43,7 +44,7 @@ export function compileGlBitmapProgram(gl, fragmentSrc = FRAGMENT_SRC) {
43
44
  };
44
45
  }
45
46
  export function createDefaultGlBitmapShader(shaderLoc, matrixArray) {
46
- return {
47
+ return createEntity({
47
48
  locations: shaderLoc,
48
49
  program: shaderLoc.program,
49
50
  bind(gl, state, renderProxy) {
@@ -52,7 +53,7 @@ export function createDefaultGlBitmapShader(shaderLoc, matrixArray) {
52
53
  setGlMatrixFromTransform(gl, shaderLoc, matrixArray, renderProxy.transform2D, runtime.renderTargetViewport?.width ?? gl.drawingBufferWidth, runtime.renderTargetViewport?.height ?? gl.drawingBufferHeight);
53
54
  setGlBaseUniforms(gl, shaderLoc, renderProxy);
54
55
  },
55
- };
56
+ });
56
57
  }
57
58
  /**
58
59
  * Builds a custom bitmap shader from a fragment shader source, ready to pass to
@@ -63,7 +64,7 @@ export function createDefaultGlBitmapShader(shaderLoc, matrixArray) {
63
64
  */
64
65
  export function createGlBitmapShader(gl, fragmentSrc, onBind) {
65
66
  const locations = compileGlBitmapProgram(gl, fragmentSrc);
66
- return {
67
+ return createEntity({
67
68
  locations,
68
69
  program: locations.program,
69
70
  bind(gl, state, renderProxy) {
@@ -73,7 +74,7 @@ export function createGlBitmapShader(gl, fragmentSrc, onBind) {
73
74
  setGlBaseUniforms(gl, locations, renderProxy);
74
75
  onBind?.(gl, locations, renderProxy);
75
76
  },
76
- };
77
+ });
77
78
  }
78
79
  export function ensureDefaultGlBitmapShader(state) {
79
80
  const runtime = getGlRenderStateRuntime(state);
@@ -1 +1 @@
1
- {"version":3,"file":"glShader.js","sourceRoot":"","sources":["../src/glShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glShader.js","sourceRoot":"","sources":["../src/glShader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"glSkinPaletteTexture.d.ts","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAYhF,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,SAAS,GAAG,oBAAoB,CAE9E;AAID,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAExG;AAQD,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,QAAQ,CAAC,YAAY,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,cAAc,SAAI,GACjB,IAAI,CAqBN"}
1
+ {"version":3,"file":"glSkinPaletteTexture.d.ts","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAYhF,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,SAAS,GAAG,oBAAoB,CAE9E;AAID,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAExG;AAQD,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,QAAQ,CAAC,YAAY,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,cAAc,SAAI,GACjB,IAAI,CAqBN"}
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  // The GPU skinning bone-palette data texture: the per-mesh joint-matrix palette in an RGBA32F texture
2
3
  // the vertex shader reads with texelFetch (GLSL ES 3.0 core), one mat4 packed as four consecutive
3
4
  // RGBA32F texels. The palette is a single row (height 1), so joint j's column c is at texel x = j*4 + c.
@@ -8,7 +9,7 @@
8
9
  // uploadGlSkinPaletteTexture allocates storage sized to the palette. The caller owns the returned
9
10
  // struct and frees it with destroyGlSkinPaletteTexture.
10
11
  export function createGlSkinPaletteTexture(gl) {
11
- return { jointCapacity: 0, texture: gl.createTexture() };
12
+ return createEntity({ jointCapacity: 0, texture: gl.createTexture() });
12
13
  }
13
14
  // Frees the palette texture's GL object. The struct must not be used after this call. Deleting an
14
15
  // already-deleted GL texture is a silent no-op, so this is safe to call more than once.
@@ -1 +1 @@
1
- {"version":3,"file":"glSkinPaletteTexture.js","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,kGAAkG;AAClG,yGAAyG;AACzG,oGAAoG;AACpG,+FAA+F;AAC/F,+DAA+D;AAE/D,gGAAgG;AAChG,kGAAkG;AAClG,wDAAwD;AACxD,MAAM,UAAU,0BAA0B,CAAC,EAAa;IACtD,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,EAAG,EAAE,CAAC;AAC5D,CAAC;AAED,kGAAkG;AAClG,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CAAC,EAAa,EAAE,OAAuC;IAChG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,iGAAiG;AACjG,uGAAuG;AACvG,qGAAqG;AACrG,sGAAsG;AACtG,uGAAuG;AACvG,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CACxC,EAAa,EACb,OAA6B,EAC7B,aAAqC,EACrC,UAAkB,EAClB,cAAc,GAAG,CAAC;IAElB,kGAAkG;IAClG,mGAAmG;IACnG,kGAAkG;IAClG,4DAA4D;IAC5D,MAAM,KAAK,GAAG,UAAU,GAAG,cAAc,CAAC;IAC1C,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,8FAA8F;IAC9F,+FAA+F;IAC/F,kFAAkF;IAClF,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,aAA6B,CAAC,CAAC;QAC3G,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,aAA6B,CAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"glSkinPaletteTexture.js","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,sGAAsG;AACtG,kGAAkG;AAClG,yGAAyG;AACzG,oGAAoG;AACpG,+FAA+F;AAC/F,+DAA+D;AAE/D,gGAAgG;AAChG,kGAAkG;AAClG,wDAAwD;AACxD,MAAM,UAAU,0BAA0B,CAAC,EAAa;IACtD,OAAO,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,EAAG,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,kGAAkG;AAClG,wFAAwF;AACxF,MAAM,UAAU,2BAA2B,CAAC,EAAa,EAAE,OAAuC;IAChG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,iGAAiG;AACjG,uGAAuG;AACvG,qGAAqG;AACrG,sGAAsG;AACtG,uGAAuG;AACvG,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CACxC,EAAa,EACb,OAA6B,EAC7B,aAAqC,EACrC,UAAkB,EAClB,cAAc,GAAG,CAAC;IAElB,kGAAkG;IAClG,mGAAmG;IACnG,kGAAkG;IAClG,4DAA4D;IAC5D,MAAM,KAAK,GAAG,UAAU,GAAG,cAAc,CAAC;IAC1C,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,8FAA8F;IAC9F,+FAA+F;IAC/F,kFAAkF;IAClF,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,aAA6B,CAAC,CAAC;QAC3G,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACrE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,aAA6B,CAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glTestHelper.d.ts","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IACrG,KAAK,EAAE,aAAa,CAAC;IACrB,EAAE,EAAE,sBAAsB,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAyDA;AAKD,wBAAgB,MAAM,CAAC,KAAK,SAAM,EAAE,MAAM,SAAM,GAAG,sBAAsB,CAQxE;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAYjD"}
1
+ {"version":3,"file":"glTestHelper.d.ts","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IACrG,KAAK,EAAE,aAAa,CAAC;IACrB,EAAE,EAAE,sBAAsB,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,iBAAiB,CAAC;CAC9B,CAyDA;AAKD,wBAAgB,MAAM,CAAC,KAAK,SAAM,EAAE,MAAM,SAAM,GAAG,sBAAsB,CAQxE;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAYjD"}
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { createRenderState } from '@flighthq/render/contract';
2
3
  import { EntityRuntimeKey } from '@flighthq/types/contract';
3
4
  import { createEmptyGlRegistries, createGlPipeline } from './glPipeline';
@@ -40,7 +41,7 @@ export function createGlState(options) {
40
41
  currentScissorRect: null,
41
42
  flushPendingDraws: null,
42
43
  renderTargetViewport: null,
43
- defaultBitmapShader: { locations: shaderLoc, program: shaderLoc.program, bind: vi.fn() },
44
+ defaultBitmapShader: createEntity({ locations: shaderLoc, program: shaderLoc.program, bind: vi.fn() }),
44
45
  quadVertexData: new Float32Array(16),
45
46
  matrixArray: new Float32Array(9),
46
47
  scissorStack: [],
@@ -1 +1 @@
1
- {"version":3,"file":"glTestHelper.js","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glTestHelper.js","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ export declare function registerGlTextureResolver(state: GlRenderState, sourceKi
7
7
  export declare function registerStandardGlTextureResolvers(state: GlRenderState): void;
8
8
  export declare function resolveGlTexture(state: GlRenderState, texture: Readonly<TextureLike>, premultiply?: boolean, workingColorSpace?: RenderTargetColorSpace): WebGLTexture | null;
9
9
  declare function resolveGlImageTexture(state: GlRenderState, texture: Readonly<TextureLike>, premultiply: boolean, colorSpace: TextureColorSpace): GlTextureRealization | null;
10
- declare const _standardGlTextureResolvers: import("@flighthq/types/RegistryTable").KeyedTable<typeof resolveGlImageTexture>;
10
+ declare const _standardGlTextureResolvers: import("@flighthq/types/RegistryTable").KeyedTable<typeof resolveGlImageTexture> & import("@flighthq/types/Entity").Entity;
11
11
  export { _standardGlTextureResolvers as standardGlTextureResolvers };
12
12
  //# sourceMappingURL=glTextureResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glTextureResolver.d.ts","sourceRoot":"","sources":["../src/glTextureResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EAGtB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EAGjB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAmBlC,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE1E;AAED,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEnF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE;AAGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE1E;AAKD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GACjC,IAAI,CAON;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAI7E;AAWD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,WAAW,UAAQ,EACnB,iBAAiB,GAAE,sBAAiC,GACnD,YAAY,GAAG,IAAI,CAgBrB;AA8BD,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,iBAAiB,GAC5B,oBAAoB,GAAG,IAAI,CAO7B;AAOD,QAAA,MAAM,2BAA2B,kFAYhC,CAAC;AAEF,OAAO,EAAE,2BAA2B,IAAI,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"glTextureResolver.d.ts","sourceRoot":"","sources":["../src/glTextureResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EAGtB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EAGjB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAmBlC,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE1E;AAED,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEnF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE;AAGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE1E;AAKD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GACjC,IAAI,CAON;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAI7E;AAWD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,WAAW,UAAQ,EACnB,iBAAiB,GAAE,sBAAiC,GACnD,YAAY,GAAG,IAAI,CAgBrB;AA8BD,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,iBAAiB,GAC5B,oBAAoB,GAAG,IAAI,CAO7B;AAOD,QAAA,MAAM,2BAA2B,4HAYhC,CAAC;AAEF,OAAO,EAAE,2BAA2B,IAAI,0BAA0B,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/render-gl",
3
- "version": "0.5.1-next.731.0ae0aa4",
3
+ "version": "0.5.1-next.799.62ef0c7",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,16 +38,16 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/color": "0.5.1-next.731.0ae0aa4",
42
- "@flighthq/entity": "0.5.1-next.731.0ae0aa4",
43
- "@flighthq/log": "0.5.1-next.731.0ae0aa4",
44
- "@flighthq/scene2d": "0.5.1-next.731.0ae0aa4",
45
- "@flighthq/geometry": "0.5.1-next.731.0ae0aa4",
46
- "@flighthq/render": "0.5.1-next.731.0ae0aa4",
47
- "@flighthq/registry": "0.5.1-next.731.0ae0aa4",
48
- "@flighthq/signals": "0.5.1-next.731.0ae0aa4",
49
- "@flighthq/texture": "0.5.1-next.731.0ae0aa4",
50
- "@flighthq/types": "0.5.1-next.731.0ae0aa4"
41
+ "@flighthq/color": "0.5.1-next.799.62ef0c7",
42
+ "@flighthq/entity": "0.5.1-next.799.62ef0c7",
43
+ "@flighthq/log": "0.5.1-next.799.62ef0c7",
44
+ "@flighthq/scene2d": "0.5.1-next.799.62ef0c7",
45
+ "@flighthq/geometry": "0.5.1-next.799.62ef0c7",
46
+ "@flighthq/render": "0.5.1-next.799.62ef0c7",
47
+ "@flighthq/registry": "0.5.1-next.799.62ef0c7",
48
+ "@flighthq/signals": "0.5.1-next.799.62ef0c7",
49
+ "@flighthq/texture": "0.5.1-next.799.62ef0c7",
50
+ "@flighthq/types": "0.5.1-next.799.62ef0c7"
51
51
  },
52
52
  "devDependencies": {
53
53
  "typescript": "^5.3.0"
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { getRegistryTableEntry } from '@flighthq/registry/contract';
2
3
  import { getTextureSource } from '@flighthq/texture/contract';
3
4
  import type { Bitmap, CompressedImageResource, ImageResource, SamplerLike, Texture } from '@flighthq/types/contract';
@@ -1062,12 +1063,13 @@ describe('useGlProgram', () => {
1062
1063
  it('uses the registered bitmap shader program and locations', () => {
1063
1064
  const { state, gl } = createGlState();
1064
1065
  const runtime = getGlRenderStateRuntime(state);
1065
- const shader = {
1066
+ const program = {} as WebGLProgram;
1067
+ const locations = { ...runtime.defaultBitmapShader!.locations, program };
1068
+ const shader = createEntity({
1066
1069
  bind: vi.fn(),
1067
- locations: { ...runtime.defaultBitmapShader!.locations, program: {} as WebGLProgram },
1068
- program: {} as WebGLProgram,
1069
- };
1070
- shader.locations.program = shader.program;
1070
+ locations,
1071
+ program,
1072
+ });
1071
1073
 
1072
1074
  registerGlBitmapShader(state, shader);
1073
1075
  useGlProgram(state);
@@ -7,6 +7,10 @@ import {
7
7
  setGlRenderSurfaceProvider,
8
8
  } from './glElement';
9
9
 
10
+ function entityProvider(fields: Omit<GlRenderSurfaceProvider, keyof Entity>): GlRenderSurfaceProvider {
11
+ return createEntity(fields);
12
+ }
13
+
10
14
  describe('createGlCanvasElement', () => {
11
15
  afterEach(() => {
12
16
  resetGlRenderSurfaceProviderForTest();
@@ -14,7 +18,7 @@ describe('createGlCanvasElement', () => {
14
18
 
15
19
  it('preserves the canonical provider result identity', () => {
16
20
  const surface = {} as HTMLCanvasElement;
17
- setGlRenderSurfaceProvider({ createRenderSurface: () => surface });
21
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => surface }));
18
22
  expect(createGlCanvasElement(100, 200, 2)).toBe(surface);
19
23
  });
20
24
 
@@ -25,7 +29,7 @@ describe('createGlCanvasElement', () => {
25
29
  });
26
30
 
27
31
  it('throws the same setup error when the provider refuses', () => {
28
- setGlRenderSurfaceProvider({ createRenderSurface: () => null });
32
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => null }));
29
33
  expect(() => createGlCanvasElement(100, 200)).toThrowError(/enableHostWebGlRenderSurface\(\)/);
30
34
  });
31
35
  });
@@ -42,7 +46,7 @@ describe('createGlRenderSurface', () => {
42
46
  it('passes exact dimensions and the default pixel ratio to the selected provider', () => {
43
47
  const surface = {} as HTMLCanvasElement;
44
48
  const createRenderSurface = vi.fn(() => surface);
45
- setGlRenderSurfaceProvider({ createRenderSurface });
49
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface }));
46
50
 
47
51
  expect(createGlRenderSurface(100, 200)).toBe(surface);
48
52
  expect(createRenderSurface).toHaveBeenCalledOnce();
@@ -52,7 +56,7 @@ describe('createGlRenderSurface', () => {
52
56
  it('passes an explicit pixel ratio and preserves the provider result identity', () => {
53
57
  const surface = {} as HTMLCanvasElement;
54
58
  const createRenderSurface = vi.fn(() => surface);
55
- setGlRenderSurfaceProvider({ createRenderSurface });
59
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface }));
56
60
 
57
61
  expect(createGlRenderSurface(300, 150, 2.5)).toBe(surface);
58
62
  expect(createRenderSurface).toHaveBeenCalledWith(300, 150, 2.5);
@@ -61,8 +65,8 @@ describe('createGlRenderSurface', () => {
61
65
  it('selects replacements and reset restores omission', () => {
62
66
  const first = {} as HTMLCanvasElement;
63
67
  const second = {} as HTMLCanvasElement;
64
- const firstProvider = { createRenderSurface: vi.fn(() => first) };
65
- const secondProvider = { createRenderSurface: vi.fn(() => second) };
68
+ const firstProvider = entityProvider({ createRenderSurface: vi.fn(() => first) });
69
+ const secondProvider = entityProvider({ createRenderSurface: vi.fn(() => second) });
66
70
 
67
71
  setGlRenderSurfaceProvider(firstProvider);
68
72
  expect(getGlRenderSurfaceProvider()).toBe(firstProvider);
@@ -78,13 +82,13 @@ describe('createGlRenderSurface', () => {
78
82
  });
79
83
 
80
84
  it('preserves provider refusal as null', () => {
81
- setGlRenderSurfaceProvider({ createRenderSurface: () => null });
85
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => null }));
82
86
  expect(createGlRenderSurface(100, 200)).toBeNull();
83
87
  });
84
88
 
85
89
  it('lets a native host provide a surface without reading document', () => {
86
90
  const surface = {} as HTMLCanvasElement;
87
- setGlRenderSurfaceProvider({ createRenderSurface: () => surface });
91
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => surface }));
88
92
 
89
93
  withThrowingDocument(() => {
90
94
  expect(createGlRenderSurface(100, 200)).toBe(surface);
@@ -94,7 +98,7 @@ describe('createGlRenderSurface', () => {
94
98
  it('returns null for omission and refusal without reading document', () => {
95
99
  withThrowingDocument(() => {
96
100
  expect(createGlRenderSurface(100, 200)).toBeNull();
97
- setGlRenderSurfaceProvider({ createRenderSurface: () => null });
101
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => null }));
98
102
  expect(createGlRenderSurface(100, 200)).toBeNull();
99
103
  });
100
104
  });
@@ -110,7 +114,7 @@ describe('explainGlRenderSurfaceAbsence', () => {
110
114
  });
111
115
 
112
116
  it('returns null whenever a provider is installed, including one that refuses a surface', () => {
113
- setGlRenderSurfaceProvider({ createRenderSurface: () => null });
117
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => null }));
114
118
  expect(explainGlRenderSurfaceAbsence()).toBeNull();
115
119
  });
116
120
  });
@@ -121,7 +125,7 @@ describe('getGlRenderSurfaceProvider', () => {
121
125
  });
122
126
 
123
127
  it('returns the exact selected provider', () => {
124
- const provider = { createRenderSurface: () => ({}) as HTMLCanvasElement };
128
+ const provider = entityProvider({ createRenderSurface: () => ({}) as HTMLCanvasElement });
125
129
  setGlRenderSurfaceProvider(provider);
126
130
  expect(getGlRenderSurfaceProvider()).toBe(provider);
127
131
  });
@@ -129,7 +133,7 @@ describe('getGlRenderSurfaceProvider', () => {
129
133
 
130
134
  describe('resetGlRenderSurfaceProviderForTest', () => {
131
135
  it('restores provider omission', () => {
132
- setGlRenderSurfaceProvider({ createRenderSurface: () => ({}) as HTMLCanvasElement });
136
+ setGlRenderSurfaceProvider(entityProvider({ createRenderSurface: () => ({}) as HTMLCanvasElement }));
133
137
  resetGlRenderSurfaceProviderForTest();
134
138
  expect(getGlRenderSurfaceProvider()).toBeNull();
135
139
  expect(createGlRenderSurface(1, 1)).toBeNull();
@@ -142,8 +146,8 @@ describe('setGlRenderSurfaceProvider', () => {
142
146
  });
143
147
 
144
148
  it('replaces the selected provider', () => {
145
- const first = { createRenderSurface: () => ({}) as HTMLCanvasElement };
146
- const second = { createRenderSurface: () => ({}) as HTMLCanvasElement };
149
+ const first = entityProvider({ createRenderSurface: () => ({}) as HTMLCanvasElement });
150
+ const second = entityProvider({ createRenderSurface: () => ({}) as HTMLCanvasElement });
147
151
  setGlRenderSurfaceProvider(first);
148
152
  setGlRenderSurfaceProvider(second);
149
153
  expect(getGlRenderSurfaceProvider()).toBe(second);
@@ -165,3 +169,5 @@ function withThrowingDocument(run: () => void): void {
165
169
  else Object.defineProperty(globalThis, 'document', descriptor);
166
170
  }
167
171
  }
172
+ import { createEntity } from '@flighthq/entity/contract';
173
+ import type { Entity, GlRenderSurfaceProvider } from '@flighthq/types/contract';
@@ -51,6 +51,13 @@ function makeContext() {
51
51
  return { gl: makeGL() };
52
52
  }
53
53
 
54
+ function expectEntitySlot(slot: object & { readonly [EntityRuntimeKey]?: unknown }, fields: object): void {
55
+ const { [EntityRuntimeKey]: entityRuntime, ...slotFields } = slot;
56
+ expect(slotFields).toEqual(fields);
57
+ expect(Object.hasOwn(slot, EntityRuntimeKey)).toBe(true);
58
+ expect(entityRuntime).toBeUndefined();
59
+ }
60
+
54
61
  const testPipeline = createGlPipeline(createEmptyGlRegistries());
55
62
 
56
63
  function createTestGlRenderState(gl: WebGL2RenderingContext, options: GlRenderOptions = {}) {
@@ -491,26 +498,26 @@ describe('createGlRenderStateRuntime', () => {
491
498
  registry: 'GlRenderEffect',
492
499
  shape: 'keyed',
493
500
  });
494
- expect(runtime.registries.compressedTextureDecoder).toEqual({
501
+ expectEntitySlot(runtime.registries.compressedTextureDecoder, {
495
502
  entry: null,
496
503
  onMiss: 'Unregistered',
497
504
  registry: 'GlCompressedTextureDecoder',
498
505
  shape: 'slot',
499
506
  });
500
507
  expect(runtime.registries.colorAdjustments).toBeUndefined();
501
- expect(runtime.registries.compressedTextureUpload).toEqual({
508
+ expectEntitySlot(runtime.registries.compressedTextureUpload, {
502
509
  entry: null,
503
510
  onMiss: 'Unregistered',
504
511
  registry: 'GlCompressedTextureUpload',
505
512
  shape: 'slot',
506
513
  });
507
- expect(runtime.registries.shapeRasterizer).toEqual({
514
+ expectEntitySlot(runtime.registries.shapeRasterizer, {
508
515
  entry: null,
509
516
  onMiss: 'Unregistered',
510
517
  registry: 'GlShapeRasterizer',
511
518
  shape: 'slot',
512
519
  });
513
- expect(runtime.registries.strokeTessellator).toEqual({
520
+ expectEntitySlot(runtime.registries.strokeTessellator, {
514
521
  entry: null,
515
522
  onMiss: 'Rasterize',
516
523
  registry: 'StrokeTessellator',
@@ -549,11 +556,11 @@ describe('destroyGlRenderState', () => {
549
556
  const owner = createTestGlRenderState(gl);
550
557
  const owned = ensureDefaultGlBitmapShader(owner);
551
558
  const callerProgram = { callerOwned: true } as unknown as WebGLProgram;
552
- const shader = {
559
+ const shader = createEntity({
553
560
  bind: vi.fn(),
554
561
  locations: { ...owned.locations, program: callerProgram },
555
562
  program: callerProgram,
556
- };
563
+ });
557
564
  const deleteProgram = vi.spyOn(gl, 'deleteProgram');
558
565
  useGlProgram(owner, shader);
559
566
 
@@ -77,6 +77,11 @@ describe('compileGlBitmapProgram', () => {
77
77
  });
78
78
 
79
79
  describe('createDefaultGlBitmapShader', () => {
80
+ it('returns an Entity-backed shader', () => {
81
+ const shader = createDefaultGlBitmapShader(makeShaderLoc(), new Float32Array(9));
82
+ expect(EntityRuntimeKey in shader).toBe(true);
83
+ });
84
+
80
85
  it('returns a shader with the provided program', () => {
81
86
  const loc = makeShaderLoc();
82
87
  const m = new Float32Array(9);
@@ -125,6 +130,11 @@ describe('createDefaultGlBitmapShader', () => {
125
130
  });
126
131
 
127
132
  describe('createGlBitmapShader', () => {
133
+ it('returns an Entity-backed shader', () => {
134
+ const shader = createGlBitmapShader(makeGL(), '#version 300 es\nvoid main() {}');
135
+ expect(EntityRuntimeKey in shader).toBe(true);
136
+ });
137
+
128
138
  it('returns a shader compiled from the fragment source', () => {
129
139
  const gl = makeGL();
130
140
  const shader = createGlBitmapShader(gl, '#version 300 es\nvoid main() {}');
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { getOrCreateRenderProxy2D } from '@flighthq/render/contract';
2
3
  import type { Node2D, Kind } from '@flighthq/types/contract';
3
4
 
@@ -12,7 +13,7 @@ import {
12
13
  import { createGlState } from './glTestHelper';
13
14
 
14
15
  function makeShader() {
15
- return { locations: {} as never, program: {} as never, bind: vi.fn() };
16
+ return createEntity({ locations: {} as never, program: {} as never, bind: vi.fn() });
16
17
  }
17
18
 
18
19
  describe('getGlMaterialShader', () => {
@@ -1,3 +1,5 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+
1
3
  import { getGlRenderStateRuntime } from './glRenderState';
2
4
  import { registerGlBitmapShader } from './glShaderRegistry';
3
5
  import { createGlState, makeShaderLoc } from './glTestHelper';
@@ -6,11 +8,11 @@ describe('registerGlBitmapShader', () => {
6
8
  it('uses the provided shader as the state default shader', () => {
7
9
  const { state } = createGlState();
8
10
  const loc = makeShaderLoc();
9
- const shader = {
11
+ const shader = createEntity({
10
12
  bind: vi.fn(),
11
13
  locations: loc,
12
14
  program: loc.program,
13
- };
15
+ });
14
16
 
15
17
  registerGlBitmapShader(state, shader);
16
18