@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 +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/glShader.d.ts +1 -1
- package/dist/glShader.d.ts.map +1 -1
- package/dist/glShader.js +5 -4
- package/dist/glShader.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/glTestHelper.d.ts.map +1 -1
- package/dist/glTestHelper.js +2 -1
- package/dist/glTestHelper.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/glDraw.test.ts +7 -5
- package/src/glElement.test.ts +20 -14
- package/src/glRenderState.test.ts +13 -6
- package/src/glShader.test.ts +10 -0
- package/src/glShaderBinding.test.ts +2 -1
- package/src/glShaderRegistry.test.ts +4 -2
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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"}
|
package/dist/glShader.d.ts
CHANGED
|
@@ -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
|
package/dist/glShader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glShader.d.ts","sourceRoot":"","sources":["../src/glShader.ts"],"names":[],"mappings":"
|
|
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);
|
package/dist/glShader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glShader.js","sourceRoot":"","sources":["../src/glShader.ts"],"names":[],"mappings":"
|
|
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":"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glTestHelper.d.ts","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/glTestHelper.js
CHANGED
|
@@ -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: [],
|
package/dist/glTestHelper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glTestHelper.js","sourceRoot":"","sources":["../src/glTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAEnF,MAAM,UAAU,aAAa,CAAC,OAAsE;IAMlG,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC9B,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;QAC/C,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAClE,CAAkB,CAAC;IAEpB,4CAA4C;IAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,cAAc,EAAE,IAAI;QACpB,YAAY;QACZ,EAAE;QACF,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7B,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;QACnE,yBAAyB,EAAE,IAAI;QAC/B,YAAY,EAAE,IAAI,OAAO,EAAmC;QAC5D,sCAAsC,EAAE,IAAI,OAAO,EAAE;QACrD,0CAA0C,EAAE,IAAI,OAAO,EAAE;QACzD,iCAAiC,EAAE,IAAI,OAAO,EAAE;QAChD,qCAAqC,EAAE,IAAI,OAAO,EAAE;QACpD,gBAAgB,EAAE,EAAiB;QACnC,eAAe,EAAE,EAAiB;KACnC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,IAAI;QACxB,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;
|
|
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,
|
|
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/glDraw.test.ts
CHANGED
|
@@ -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
|
|
1066
|
+
const program = {} as WebGLProgram;
|
|
1067
|
+
const locations = { ...runtime.defaultBitmapShader!.locations, program };
|
|
1068
|
+
const shader = createEntity({
|
|
1066
1069
|
bind: vi.fn(),
|
|
1067
|
-
locations
|
|
1068
|
-
program
|
|
1069
|
-
};
|
|
1070
|
-
shader.locations.program = shader.program;
|
|
1070
|
+
locations,
|
|
1071
|
+
program,
|
|
1072
|
+
});
|
|
1071
1073
|
|
|
1072
1074
|
registerGlBitmapShader(state, shader);
|
|
1073
1075
|
useGlProgram(state);
|
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',
|
|
@@ -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
|
|
package/src/glShader.test.ts
CHANGED
|
@@ -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
|
|