@flighthq/render-gl 0.5.1-next.743.8d09db1 → 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 +2 -2
- package/dist/glDraw.d.ts +1 -1
- package/dist/glDraw.d.ts.map +1 -1
- package/dist/glPipeline.js +2 -2
- package/dist/glPipeline.js.map +1 -1
- package/dist/glRenderTargetPool.d.ts.map +1 -1
- package/dist/glRenderTargetPool.js +2 -1
- package/dist/glRenderTargetPool.js.map +1 -1
- package/dist/glRenderTexturePool.d.ts.map +1 -1
- package/dist/glRenderTexturePool.js +3 -2
- package/dist/glRenderTexturePool.js.map +1 -1
- package/dist/glSkinPaletteTexture.d.ts.map +1 -1
- package/dist/glSkinPaletteTexture.js +2 -1
- package/dist/glSkinPaletteTexture.js.map +1 -1
- package/dist/glTextureResolver.d.ts +1 -1
- package/dist/glTextureResolver.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/glElement.test.ts +20 -14
- package/src/glRenderState.test.ts +11 -4
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.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
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
|
package/dist/glDraw.d.ts.map
CHANGED
|
@@ -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":"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"}
|
package/dist/glPipeline.js
CHANGED
|
@@ -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 });
|
package/dist/glPipeline.js.map
CHANGED
|
@@ -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;
|
|
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":"
|
|
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;
|
|
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":"
|
|
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":"AAAA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAS1F,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEtF,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,IAAyB,EACzB,UAA4C;IAE5C,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACzE,2BAA2B,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9D,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC;IAC3D,yBAAyB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO;
|
|
1
|
+
{"version":3,"file":"glRenderTexturePool.js","sourceRoot":"","sources":["../src/glRenderTexturePool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glSkinPaletteTexture.d.ts","sourceRoot":"","sources":["../src/glSkinPaletteTexture.ts"],"names":[],"mappings":"
|
|
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":"
|
|
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"}
|
|
@@ -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,
|
|
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.
|
|
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.
|
|
42
|
-
"@flighthq/entity": "0.5.1-next.
|
|
43
|
-
"@flighthq/log": "0.5.1-next.
|
|
44
|
-
"@flighthq/scene2d": "0.5.1-next.
|
|
45
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
46
|
-
"@flighthq/render": "0.5.1-next.
|
|
47
|
-
"@flighthq/registry": "0.5.1-next.
|
|
48
|
-
"@flighthq/signals": "0.5.1-next.
|
|
49
|
-
"@flighthq/texture": "0.5.1-next.
|
|
50
|
-
"@flighthq/types": "0.5.1-next.
|
|
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"
|
package/src/glElement.test.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
508
|
+
expectEntitySlot(runtime.registries.compressedTextureUpload, {
|
|
502
509
|
entry: null,
|
|
503
510
|
onMiss: 'Unregistered',
|
|
504
511
|
registry: 'GlCompressedTextureUpload',
|
|
505
512
|
shape: 'slot',
|
|
506
513
|
});
|
|
507
|
-
|
|
514
|
+
expectEntitySlot(runtime.registries.shapeRasterizer, {
|
|
508
515
|
entry: null,
|
|
509
516
|
onMiss: 'Unregistered',
|
|
510
517
|
registry: 'GlShapeRasterizer',
|
|
511
518
|
shape: 'slot',
|
|
512
519
|
});
|
|
513
|
-
|
|
520
|
+
expectEntitySlot(runtime.registries.strokeTessellator, {
|
|
514
521
|
entry: null,
|
|
515
522
|
onMiss: 'Rasterize',
|
|
516
523
|
registry: 'StrokeTessellator',
|