@flighthq/render-wgpu 0.2.1-next.841.373388f → 0.3.0-next.906.07cea63
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/dist/contract.d.ts +19 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +19 -0
- package/dist/contract.js.map +1 -0
- package/dist/index.d.ts +1 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -18
- package/dist/index.js.map +1 -1
- package/dist/wgpuAdapterCapabilities.d.ts +1 -1
- package/dist/wgpuAdapterCapabilities.d.ts.map +1 -1
- package/dist/wgpuBackground.d.ts +1 -1
- package/dist/wgpuBackground.d.ts.map +1 -1
- package/dist/wgpuCompressedTexture.d.ts +1 -1
- package/dist/wgpuCompressedTexture.d.ts.map +1 -1
- package/dist/wgpuDraw.d.ts +5 -5
- package/dist/wgpuDraw.d.ts.map +1 -1
- package/dist/wgpuDraw.js +20 -16
- package/dist/wgpuDraw.js.map +1 -1
- package/dist/wgpuFullscreenPass.d.ts +1 -1
- package/dist/wgpuFullscreenPass.d.ts.map +1 -1
- package/dist/wgpuMaterialRegistry.d.ts +1 -1
- package/dist/wgpuMaterialRegistry.d.ts.map +1 -1
- package/dist/wgpuMaterialRegistry.js +3 -3
- package/dist/wgpuMaterialRegistry.js.map +1 -1
- package/dist/wgpuMipmap.d.ts +1 -1
- package/dist/wgpuMipmap.d.ts.map +1 -1
- package/dist/wgpuRenderState.d.ts +1 -1
- package/dist/wgpuRenderState.d.ts.map +1 -1
- package/dist/wgpuRenderState.js +4 -4
- package/dist/wgpuRenderState.js.map +1 -1
- package/dist/wgpuRenderTarget.d.ts +1 -1
- package/dist/wgpuRenderTarget.d.ts.map +1 -1
- package/dist/wgpuRenderTarget.js +2 -2
- package/dist/wgpuRenderTarget.js.map +1 -1
- package/dist/wgpuRenderTargetPool.d.ts +1 -1
- package/dist/wgpuRenderTargetPool.d.ts.map +1 -1
- package/dist/wgpuRenderTargetPool.js.map +1 -1
- package/dist/wgpuScissor.d.ts +1 -1
- package/dist/wgpuScissor.d.ts.map +1 -1
- package/dist/wgpuShader.d.ts +3 -3
- package/dist/wgpuShader.d.ts.map +1 -1
- package/dist/wgpuShader.js +27 -27
- package/dist/wgpuShader.js.map +1 -1
- package/dist/wgpuShaderBinding.d.ts +1 -1
- package/dist/wgpuShaderBinding.d.ts.map +1 -1
- package/dist/wgpuShaderBinding.js +1 -1
- package/dist/wgpuShaderBinding.js.map +1 -1
- package/dist/wgpuShaderRegistry.d.ts +1 -1
- package/dist/wgpuShaderRegistry.d.ts.map +1 -1
- package/dist/wgpuShaderRegistry.js +1 -1
- package/dist/wgpuShaderRegistry.js.map +1 -1
- package/dist/wgpuSurface.d.ts +1 -1
- package/dist/wgpuSurface.d.ts.map +1 -1
- package/dist/wgpuSurface.js +1 -1
- package/dist/wgpuSurface.js.map +1 -1
- package/dist/wgpuTestHelper.d.ts +1 -1
- package/dist/wgpuTestHelper.d.ts.map +1 -1
- package/dist/wgpuTextureUpload.d.ts +1 -1
- package/dist/wgpuTextureUpload.d.ts.map +1 -1
- package/package.json +11 -7
- package/src/wgpuCompressedTexture.test.ts +1 -1
- package/src/wgpuDraw.test.ts +25 -19
- package/src/wgpuMaterialRegistry.test.ts +4 -4
- package/src/wgpuMipmap.test.ts +1 -1
- package/src/wgpuRenderTarget.test.ts +1 -1
- package/src/wgpuShader.test.ts +8 -8
- package/src/wgpuShaderBinding.test.ts +3 -3
- package/src/wgpuShaderRegistry.test.ts +1 -1
- package/src/wgpuTextureUpload.test.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuRenderTargetPool.d.ts","sourceRoot":"","sources":["../src/wgpuRenderTargetPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"wgpuRenderTargetPool.d.ts","sourceRoot":"","sources":["../src/wgpuRenderTargetPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAWlC,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC,CAAC,GACD,gBAAgB,CAclB;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAGpG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAElG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuRenderTargetPool.js","sourceRoot":"","sources":["../src/wgpuRenderTargetPool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wgpuRenderTargetPool.js","sourceRoot":"","sources":["../src/wgpuRenderTargetPool.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAErF,+FAA+F;AAC/F,mGAAmG;AACnG,yFAAyF;AACzF,EAAE;AACF,+FAA+F;AAC/F,gGAAgG;AAEhG,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,IAA0B,EAC1B,UAKE;IAEF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAEjD,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,SAAS,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAsB,EAAE,IAA0B;IAC5F,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI;QAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA0B,EAAE,MAAwB;IAC1F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/wgpuScissor.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WgpuRenderState, WgpuScissorRect } from '@flighthq/types';
|
|
1
|
+
import type { WgpuRenderState, WgpuScissorRect } from '@flighthq/types/contract';
|
|
2
2
|
export declare function applyWgpuScissorRect(state: WgpuRenderState, pass: GPURenderPassEncoder): void;
|
|
3
3
|
export declare function popWgpuScissorRect(state: WgpuRenderState): void;
|
|
4
4
|
export declare function pushWgpuScissorRect(state: WgpuRenderState, rect: Readonly<WgpuScissorRect>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScissor.d.ts","sourceRoot":"","sources":["../src/wgpuScissor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuScissor.d.ts","sourceRoot":"","sources":["../src/wgpuScissor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAOjF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAW7F;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAI/D;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAMjG"}
|
package/dist/wgpuShader.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { BlendMode } from '@flighthq/types';
|
|
1
|
+
import type { ColorScaleBias, RenderProxy, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
+
import { BlendMode } from '@flighthq/types/contract';
|
|
3
3
|
export declare const UNIFORM_BYTE_SIZE = 128;
|
|
4
4
|
type StencilMode = 'normal' | 'masked' | 'maskwrite';
|
|
5
5
|
export declare function createWgpuBindGroupLayouts(device: GPUDevice): {
|
|
@@ -39,6 +39,6 @@ export declare function writeWgpuQuadUniforms(state: WgpuRenderState, renderProx
|
|
|
39
39
|
tx: number;
|
|
40
40
|
ty: number;
|
|
41
41
|
};
|
|
42
|
-
},
|
|
42
|
+
}, colorScaleBias: ColorScaleBias | null, x0: number, y0: number, x1: number, y1: number, u0: number, v0: number, u1: number, v1: number, straightTextureAlpha?: boolean): number;
|
|
43
43
|
export {};
|
|
44
44
|
//# sourceMappingURL=wgpuShader.d.ts.map
|
package/dist/wgpuShader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShader.d.ts","sourceRoot":"","sources":["../src/wgpuShader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuShader.d.ts","sourceRoot":"","sources":["../src/wgpuShader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAiBrD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAiHrC,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAqBrD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG;IAC7D,sBAAsB,EAAE,kBAAkB,CAAC;IAC3C,sBAAsB,EAAE,kBAAkB,CAAC;CAC5C,CAmBA;AAID,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,sBAAsB,EAAE,kBAAkB,EAC1C,sBAAsB,EAAE,kBAAkB,GACzC,iBAAiB,CAInB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,CAQ/E;AAeD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,aAAa,CAE5E;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,SAAS,GAAG,IAAI,EAC3B,WAAW,EAAE,WAAW,GACvB,iBAAiB,CA8CnB;AAID,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,YAAY,EACzB,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,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C,IAAI,CAgBN;AAID,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,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,EACjF,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,MAAM,CAcR;AAKD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF,EACD,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,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,EACV,oBAAoB,UAAQ,GAC3B,MAAM,CAsDR"}
|
package/dist/wgpuShader.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { BlendMode } from '@flighthq/types';
|
|
1
|
+
import { BlendMode } from '@flighthq/types/contract';
|
|
2
2
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
3
3
|
// ---- WGSL source ----
|
|
4
4
|
// Uniform buffer layout (per-draw slot in the ring, 256-byte aligned):
|
|
5
5
|
// offset 0–47 : mat3x3f matrix (3 columns × 16 bytes each due to vec3 padding)
|
|
6
6
|
// offset 48 : f32 alpha
|
|
7
|
-
// offset 52 : u32
|
|
7
|
+
// offset 52 : u32 hasColorScaleBias
|
|
8
8
|
// offset 56 : u32 straightTextureAlpha
|
|
9
9
|
// offset 60 : f32 padding
|
|
10
|
-
// offset 64–79 : vec4f
|
|
11
|
-
// offset 80–95 : vec4f
|
|
10
|
+
// offset 64–79 : vec4f colorScale
|
|
11
|
+
// offset 80–95 : vec4f colorBias
|
|
12
12
|
// offset 96–111: f32 x0, y0, x1, y1 (quad pixel-space corners)
|
|
13
13
|
// offset 112–127: f32 u0, v0, u1, v1 (texture coordinates)
|
|
14
14
|
// Total used: 128 bytes; slot size: minUniformBufferOffsetAlignment (≥256)
|
|
@@ -17,11 +17,11 @@ const BITMAP_SHADER_SRC = /* wgsl */ `
|
|
|
17
17
|
struct Uniforms {
|
|
18
18
|
matrix : mat3x3f,
|
|
19
19
|
alpha : f32,
|
|
20
|
-
|
|
20
|
+
hasColorScaleBias : u32,
|
|
21
21
|
straightTextureAlpha : u32,
|
|
22
22
|
_pad1 : f32,
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
colorScale : vec4f,
|
|
24
|
+
colorBias : vec4f,
|
|
25
25
|
x0 : f32, y0 : f32, x1 : f32, y1 : f32,
|
|
26
26
|
u0 : f32, v0 : f32, u1 : f32, v1 : f32,
|
|
27
27
|
}
|
|
@@ -65,10 +65,10 @@ fn fs_main(in : VertexOut) -> @location(0) vec4f {
|
|
|
65
65
|
if (uni.straightTextureAlpha != 0u) {
|
|
66
66
|
color = vec4f(color.rgb * color.a, color.a);
|
|
67
67
|
}
|
|
68
|
-
if (uni.
|
|
68
|
+
if (uni.hasColorScaleBias != 0u && color.a > 0.0) {
|
|
69
69
|
// Unpremultiply, apply transform, repremultiply
|
|
70
70
|
color = vec4f(color.rgb / color.a, color.a);
|
|
71
|
-
color = clamp(color * uni.
|
|
71
|
+
color = clamp(color * uni.colorScale + uni.colorBias, vec4f(0.0), vec4f(1.0));
|
|
72
72
|
color = vec4f(color.rgb * color.a, color.a);
|
|
73
73
|
}
|
|
74
74
|
return color * clamp(uni.alpha, 0.0, 1.0);
|
|
@@ -80,11 +80,11 @@ const MASK_FRAGMENT_SRC = /* wgsl */ `
|
|
|
80
80
|
struct Uniforms {
|
|
81
81
|
matrix : mat3x3f,
|
|
82
82
|
alpha : f32,
|
|
83
|
-
|
|
83
|
+
hasColorScaleBias : u32,
|
|
84
84
|
_pad0 : f32,
|
|
85
85
|
_pad1 : f32,
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
colorScale : vec4f,
|
|
87
|
+
colorBias : vec4f,
|
|
88
88
|
x0 : f32, y0 : f32, x1 : f32, y1 : f32,
|
|
89
89
|
u0 : f32, v0 : f32, u1 : f32, v1 : f32,
|
|
90
90
|
}
|
|
@@ -251,10 +251,10 @@ export function setWgpuMatrixFromTransform(matrixArray, t, viewport) {
|
|
|
251
251
|
export function writeWgpuMatrixOnlyUniforms(state, renderProxy, transform, x0, y0, x1, y1, u0, v0, u1, v1) {
|
|
252
252
|
return writeWgpuQuadUniforms(state, { alpha: renderProxy.alpha, transform2D: transform }, null, x0, y0, x1, y1, u0, v0, u1, v1);
|
|
253
253
|
}
|
|
254
|
-
// Writes the standard uniforms (matrix + alpha + color
|
|
254
|
+
// Writes the standard uniforms (matrix + alpha + color adjustment + quad coords) into
|
|
255
255
|
// the ring buffer at the current uniformOffset, then advances the offset by uniformStride.
|
|
256
256
|
// Returns the byte offset of the slot just written (for use as the dynamic offset in setBindGroup).
|
|
257
|
-
export function writeWgpuQuadUniforms(state, renderProxy,
|
|
257
|
+
export function writeWgpuQuadUniforms(state, renderProxy, colorScaleBias, x0, y0, x1, y1, u0, v0, u1, v1, straightTextureAlpha = false) {
|
|
258
258
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
259
259
|
const byteOffset = runtime.uniformOffset;
|
|
260
260
|
const floatBase = byteOffset >> 2; // divide by 4
|
|
@@ -276,24 +276,24 @@ export function writeWgpuQuadUniforms(state, renderProxy, colorTransform, x0, y0
|
|
|
276
276
|
uniformData[floatBase + 11] = 0;
|
|
277
277
|
// alpha at float 12 (byte 48)
|
|
278
278
|
uniformData[floatBase + 12] = renderProxy.alpha;
|
|
279
|
-
//
|
|
279
|
+
// hasColorScaleBias at float 13 (byte 52) — written as u32. The color adjustment comes from the
|
|
280
280
|
// node's material (resolved by the caller); null → identity.
|
|
281
|
-
uniformDataU32[floatBase + 13] =
|
|
281
|
+
uniformDataU32[floatBase + 13] = colorScaleBias !== null ? 1 : 0;
|
|
282
282
|
// straightTextureAlpha at float 14 (byte 56) — native compressed blocks retain straight RGB and
|
|
283
|
-
// the display shader premultiplies their sample before color
|
|
283
|
+
// the display shader premultiplies their sample before color adjustments and fixed-function blend.
|
|
284
284
|
uniformDataU32[floatBase + 14] = straightTextureAlpha ? 1 : 0;
|
|
285
285
|
// padding float 15
|
|
286
286
|
uniformData[floatBase + 15] = 0;
|
|
287
|
-
//
|
|
288
|
-
uniformData[floatBase + 16] =
|
|
289
|
-
uniformData[floatBase + 17] =
|
|
290
|
-
uniformData[floatBase + 18] =
|
|
291
|
-
uniformData[floatBase + 19] =
|
|
292
|
-
//
|
|
293
|
-
uniformData[floatBase + 20] =
|
|
294
|
-
uniformData[floatBase + 21] =
|
|
295
|
-
uniformData[floatBase + 22] =
|
|
296
|
-
uniformData[floatBase + 23] =
|
|
287
|
+
// colorScale at float 16–19 (byte 64–79)
|
|
288
|
+
uniformData[floatBase + 16] = colorScaleBias?.redScale ?? 1;
|
|
289
|
+
uniformData[floatBase + 17] = colorScaleBias?.greenScale ?? 1;
|
|
290
|
+
uniformData[floatBase + 18] = colorScaleBias?.blueScale ?? 1;
|
|
291
|
+
uniformData[floatBase + 19] = colorScaleBias?.alphaScale ?? 1;
|
|
292
|
+
// colorBias at float 20–23 (byte 80–95)
|
|
293
|
+
uniformData[floatBase + 20] = colorScaleBias?.redBias ?? 0;
|
|
294
|
+
uniformData[floatBase + 21] = colorScaleBias?.greenBias ?? 0;
|
|
295
|
+
uniformData[floatBase + 22] = colorScaleBias?.blueBias ?? 0;
|
|
296
|
+
uniformData[floatBase + 23] = colorScaleBias?.alphaBias ?? 0;
|
|
297
297
|
// quad corners at float 24–31 (byte 96–127)
|
|
298
298
|
uniformData[floatBase + 24] = x0;
|
|
299
299
|
uniformData[floatBase + 25] = y0;
|
package/dist/wgpuShader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShader.js","sourceRoot":"","sources":["../src/wgpuShader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuShader.js","sourceRoot":"","sources":["../src/wgpuShader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node2D, RenderProxy2D, WgpuBitmapShader, WgpuRenderState } from '@flighthq/types';
|
|
1
|
+
import type { Node2D, RenderProxy2D, WgpuBitmapShader, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare function getWgpuShader(renderProxy: RenderProxy2D): WgpuBitmapShader | undefined;
|
|
3
3
|
export declare function resolveWgpuShader(state: WgpuRenderState, renderProxy: RenderProxy2D): WgpuBitmapShader | null;
|
|
4
4
|
export declare function setWgpuShader(state: WgpuRenderState, node: Node2D, shader: WgpuBitmapShader | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShaderBinding.d.ts","sourceRoot":"","sources":["../src/wgpuShaderBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuShaderBinding.d.ts","sourceRoot":"","sources":["../src/wgpuShaderBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMzG,wBAAgB,aAAa,CAAC,WAAW,EAAE,aAAa,GAAG,gBAAgB,GAAG,SAAS,CAEtF;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAQ7G;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAQzG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getOrCreateRenderProxy2D } from '@flighthq/render';
|
|
1
|
+
import { getOrCreateRenderProxy2D } from '@flighthq/render/contract';
|
|
2
2
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
3
3
|
const _shaderBindings = new WeakMap();
|
|
4
4
|
export function getWgpuShader(renderProxy) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShaderBinding.js","sourceRoot":"","sources":["../src/wgpuShaderBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuShaderBinding.js","sourceRoot":"","sources":["../src/wgpuShaderBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,eAAe,GAAG,IAAI,OAAO,EAAmC,CAAC;AAEvE,MAAM,UAAU,aAAa,CAAC,WAA0B;IACtD,OAAO,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,8FAA8F;AAC9F,oGAAoG;AACpG,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,WAA0B;IAClF,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,2BAA2B,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAsB,EAAE,IAAY,EAAE,MAA+B;IACjG,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,KAAK,CAAC,CAAC,2BAA2B,GAAG,aAAa,CAAC;AAC/E,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { WgpuBitmapShader, WgpuRenderState } from '@flighthq/types';
|
|
1
|
+
import type { WgpuBitmapShader, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare function registerWgpuBitmapShader(state: WgpuRenderState, shader: WgpuBitmapShader): void;
|
|
3
3
|
//# sourceMappingURL=wgpuShaderRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShaderRegistry.d.ts","sourceRoot":"","sources":["../src/wgpuShaderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuShaderRegistry.d.ts","sourceRoot":"","sources":["../src/wgpuShaderRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAOlF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAE/F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
2
2
|
// Registers a custom bitmap shader as the state-wide default, replacing the built-in quad shader.
|
|
3
|
-
// Use this to globally swap the render pipeline (for example a custom color-
|
|
3
|
+
// Use this to globally swap the render pipeline (for example a custom color-adjustment or tint
|
|
4
4
|
// shader) on a render state without per-node setWgpuShader bindings.
|
|
5
5
|
export function registerWgpuBitmapShader(state, shader) {
|
|
6
6
|
getWgpuRenderStateRuntime(state).defaultBitmapShader = shader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuShaderRegistry.js","sourceRoot":"","sources":["../src/wgpuShaderRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,kGAAkG;AAClG
|
|
1
|
+
{"version":3,"file":"wgpuShaderRegistry.js","sourceRoot":"","sources":["../src/wgpuShaderRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,kGAAkG;AAClG,+FAA+F;AAC/F,qEAAqE;AACrE,MAAM,UAAU,wBAAwB,CAAC,KAAsB,EAAE,MAAwB;IACvF,yBAAyB,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC;AAChE,CAAC"}
|
package/dist/wgpuSurface.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Surface, WgpuRenderState } from '@flighthq/types';
|
|
1
|
+
import type { Surface, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare function acquireWgpuFrameCaptureTexture(state: Readonly<WgpuRenderState>): GPUTexture | null;
|
|
3
3
|
export declare function createSurfaceFromWgpuRenderState(state: Readonly<WgpuRenderState>): Promise<Surface>;
|
|
4
4
|
export declare function enableWgpuFrameCapture(state: Readonly<WgpuRenderState>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuSurface.d.ts","sourceRoot":"","sources":["../src/wgpuSurface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuSurface.d.ts","sourceRoot":"","sources":["../src/wgpuSurface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAczE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,UAAU,GAAG,IAAI,CAmBlG;AAOD,wBAAsB,gCAAgC,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CzG;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAE7E;AAKD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA2BzG"}
|
package/dist/wgpuSurface.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSurface } from '@flighthq/surface';
|
|
1
|
+
import { createSurface } from '@flighthq/surface/contract';
|
|
2
2
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
3
3
|
// Opt-in capture of the rendered frame to a CPU Surface. Two environment facts drive the design:
|
|
4
4
|
// (1) headless/software adapters never present the swapchain, and its texture reads back as zeros, so
|
package/dist/wgpuSurface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuSurface.js","sourceRoot":"","sources":["../src/wgpuSurface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuSurface.js","sourceRoot":"","sources":["../src/wgpuSurface.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuTestHelper.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WgpuRenderState } from '@flighthq/types';
|
|
1
|
+
import type { WgpuRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare function createWgpuRenderStateForTest(): Promise<WgpuRenderState>;
|
|
3
3
|
export declare function installWgpuMock(): void;
|
|
4
4
|
//# sourceMappingURL=wgpuTestHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA+HhE,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,eAAe,CAAC,CAK7E;AAED,wBAAgB,eAAe,IAAI,IAAI,CAiCtC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ImageResource } from '@flighthq/types';
|
|
1
|
+
import type { ImageResource } from '@flighthq/types/contract';
|
|
2
2
|
export declare function uploadWgpuTextureData(device: GPUDevice, texture: GPUTexture, origin: GPUOrigin3D, width: number, height: number, data: Readonly<Uint8ClampedArray<ArrayBuffer>>): void;
|
|
3
3
|
export declare function uploadWgpuTextureElement(device: GPUDevice, texture: GPUTexture, origin: GPUOrigin3D, width: number, height: number, source: GPUCopyExternalImageSource): void;
|
|
4
4
|
export declare function uploadWgpuTextureImageResource(device: GPUDevice, texture: GPUTexture, origin: GPUOrigin3D, image: Readonly<ImageResource>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuTextureUpload.d.ts","sourceRoot":"","sources":["../src/wgpuTextureUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wgpuTextureUpload.d.ts","sourceRoot":"","sources":["../src/wgpuTextureUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAS9D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAC7C,IAAI,CAON;AAID,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,0BAA0B,GACjC,IAAI,CAEN;AAID,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,IAAI,CAaN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/render-wgpu",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-next.906.07cea63",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./contract": {
|
|
18
|
+
"types": "./dist/contract.d.ts",
|
|
19
|
+
"default": "./dist/contract.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"files": [
|
|
@@ -32,12 +36,12 @@
|
|
|
32
36
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
37
|
},
|
|
34
38
|
"dependencies": {
|
|
35
|
-
"@flighthq/color": "0.
|
|
36
|
-
"@flighthq/scene2d": "0.
|
|
37
|
-
"@flighthq/geometry": "0.
|
|
38
|
-
"@flighthq/render": "0.
|
|
39
|
-
"@flighthq/surface": "0.
|
|
40
|
-
"@flighthq/types": "0.
|
|
39
|
+
"@flighthq/color": "0.3.0-next.906.07cea63",
|
|
40
|
+
"@flighthq/scene2d": "0.3.0-next.906.07cea63",
|
|
41
|
+
"@flighthq/geometry": "0.3.0-next.906.07cea63",
|
|
42
|
+
"@flighthq/render": "0.3.0-next.906.07cea63",
|
|
43
|
+
"@flighthq/surface": "0.3.0-next.906.07cea63",
|
|
44
|
+
"@flighthq/types": "0.3.0-next.906.07cea63"
|
|
41
45
|
},
|
|
42
46
|
"devDependencies": {
|
|
43
47
|
"@webgpu/types": "*",
|
package/src/wgpuDraw.test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getOrCreateRenderProxy2D, prepareScene2DRender } from '@flighthq/render';
|
|
2
|
-
import { createBitmap } from '@flighthq/scene2d';
|
|
3
|
-
import type { ImageResource,
|
|
4
|
-
import { BlendMode } from '@flighthq/types';
|
|
1
|
+
import { getOrCreateRenderProxy2D, prepareScene2DRender } from '@flighthq/render/contract';
|
|
2
|
+
import { createBitmap } from '@flighthq/scene2d/contract';
|
|
3
|
+
import type { ImageResource, Texture } from '@flighthq/types/contract';
|
|
4
|
+
import { BlendMode } from '@flighthq/types/contract';
|
|
5
5
|
|
|
6
6
|
import { renderWgpuBackground, submitWgpuRenderPass } from './wgpuBackground';
|
|
7
7
|
import {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
drawWgpuQuadWithTransform,
|
|
16
16
|
destroyWgpuVideoTexture,
|
|
17
17
|
enableWgpuBlendModeSupport,
|
|
18
|
-
|
|
18
|
+
getWgpuRenderProxyColorScaleBias,
|
|
19
19
|
resolveWgpuSmoothingBindGroup,
|
|
20
20
|
submitWgpuQuadDraw,
|
|
21
21
|
updateWgpuTextureEntry,
|
|
@@ -129,9 +129,8 @@ describe('bindWgpuTexture', () => {
|
|
|
129
129
|
});
|
|
130
130
|
|
|
131
131
|
describe('bindWgpuVideoTexture', () => {
|
|
132
|
-
function videoTexture(
|
|
132
|
+
function videoTexture(version: number, readyState = 4, width = 320, height = 240): Texture {
|
|
133
133
|
return {
|
|
134
|
-
frameId,
|
|
135
134
|
sampler: {
|
|
136
135
|
anisotropy: 1,
|
|
137
136
|
magFilter: 'linear',
|
|
@@ -140,11 +139,18 @@ describe('bindWgpuVideoTexture', () => {
|
|
|
140
139
|
wrapU: 'clamp-to-edge',
|
|
141
140
|
wrapV: 'clamp-to-edge',
|
|
142
141
|
},
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
storage: {
|
|
143
|
+
dimension: '2d',
|
|
144
|
+
image: {
|
|
145
|
+
source: { readyState, videoHeight: height, videoWidth: width } as HTMLVideoElement,
|
|
146
|
+
version,
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
version,
|
|
150
|
+
} as unknown as Texture;
|
|
145
151
|
}
|
|
146
152
|
|
|
147
|
-
it('uploads once per
|
|
153
|
+
it('uploads once per backing version and caches the texture by backing identity', async () => {
|
|
148
154
|
const state = await createWgpuRenderStateForTest();
|
|
149
155
|
const copy = vi.spyOn(state.device.queue, 'copyExternalImageToTexture');
|
|
150
156
|
const video = videoTexture(1);
|
|
@@ -153,7 +159,7 @@ describe('bindWgpuVideoTexture', () => {
|
|
|
153
159
|
expect(copy).toHaveBeenCalledTimes(1);
|
|
154
160
|
expect(bindWgpuVideoTexture(state, video)).toBe(first);
|
|
155
161
|
expect(copy).toHaveBeenCalledTimes(1);
|
|
156
|
-
video.
|
|
162
|
+
video.storage.image!.version = 2;
|
|
157
163
|
expect(bindWgpuVideoTexture(state, video)).toBe(first);
|
|
158
164
|
expect(copy).toHaveBeenCalledTimes(2);
|
|
159
165
|
});
|
|
@@ -162,7 +168,7 @@ describe('bindWgpuVideoTexture', () => {
|
|
|
162
168
|
const state = await createWgpuRenderStateForTest();
|
|
163
169
|
const video = videoTexture(1, 1, 0, 0);
|
|
164
170
|
expect(bindWgpuVideoTexture(state, video)).toBeNull();
|
|
165
|
-
const element = video.source
|
|
171
|
+
const element = video.storage.image!.source as HTMLVideoElement;
|
|
166
172
|
Object.assign(element, { readyState: 4, videoHeight: 120, videoWidth: 160 });
|
|
167
173
|
const first = bindWgpuVideoTexture(state, video)!;
|
|
168
174
|
const destroy = vi.spyOn(first.texture, 'destroy');
|
|
@@ -251,15 +257,15 @@ describe('enableWgpuBlendModeSupport', () => {
|
|
|
251
257
|
});
|
|
252
258
|
});
|
|
253
259
|
|
|
254
|
-
describe('
|
|
255
|
-
it('returns null when the node has no color
|
|
256
|
-
expect(
|
|
257
|
-
expect(
|
|
260
|
+
describe('getWgpuRenderProxyColorScaleBias', () => {
|
|
261
|
+
it('returns null when the node has no color adjustment', () => {
|
|
262
|
+
expect(getWgpuRenderProxyColorScaleBias({} as never)).toBeNull();
|
|
263
|
+
expect(getWgpuRenderProxyColorScaleBias({ colorScaleBias: null } as never)).toBeNull();
|
|
258
264
|
});
|
|
259
265
|
|
|
260
|
-
it('returns the resolved node-level color
|
|
261
|
-
const
|
|
262
|
-
expect(
|
|
266
|
+
it('returns the resolved node-level color adjustment trait', () => {
|
|
267
|
+
const colorScaleBias = { redScale: 0.5 };
|
|
268
|
+
expect(getWgpuRenderProxyColorScaleBias({ colorScaleBias } as never)).toBe(colorScaleBias);
|
|
263
269
|
});
|
|
264
270
|
});
|
|
265
271
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Material, WgpuMaterialRenderer, WgpuRenderState } from '@flighthq/types';
|
|
2
|
-
import {
|
|
1
|
+
import type { Material, WgpuMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
+
import { StandardMaterialKind, EntityRuntimeKey } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
getWgpuMaterialRenderer,
|
|
@@ -47,9 +47,9 @@ describe('resolveWgpuMaterialRenderer', () => {
|
|
|
47
47
|
expect(resolveWgpuMaterialRenderer(state, makeMaterial(TestKind))).toBe(testRenderer);
|
|
48
48
|
});
|
|
49
49
|
|
|
50
|
-
it('falls back to the renderer registered for
|
|
50
|
+
it('falls back to the renderer registered for StandardMaterialKind', () => {
|
|
51
51
|
const state = makeState();
|
|
52
|
-
registerWgpuMaterialRenderer(state,
|
|
52
|
+
registerWgpuMaterialRenderer(state, StandardMaterialKind, testRenderer);
|
|
53
53
|
expect(resolveWgpuMaterialRenderer(state, makeMaterial('Other'))).toBe(testRenderer);
|
|
54
54
|
expect(resolveWgpuMaterialRenderer(state, null)).toBe(testRenderer);
|
|
55
55
|
});
|
package/src/wgpuMipmap.test.ts
CHANGED
package/src/wgpuShader.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdvancedBlendMode, BlendMode } from '@flighthq/types';
|
|
1
|
+
import { AdvancedBlendMode, BlendMode } from '@flighthq/types/contract';
|
|
2
2
|
|
|
3
3
|
import { renderWgpuBackground } from './wgpuBackground';
|
|
4
4
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
@@ -159,7 +159,7 @@ describe('writeWgpuMatrixOnlyUniforms', () => {
|
|
|
159
159
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
160
160
|
renderWgpuBackground(state);
|
|
161
161
|
const before = runtime.uniformOffset;
|
|
162
|
-
const fakeNode = { alpha: 1,
|
|
162
|
+
const fakeNode = { alpha: 1, useColorScaleBias: false, colorScaleBias: null };
|
|
163
163
|
const t = { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 };
|
|
164
164
|
writeWgpuMatrixOnlyUniforms(state, fakeNode as never, t, 0, 0, 10, 10, 0, 0, 1, 1);
|
|
165
165
|
expect(runtime.uniformOffset).toBe(before + runtime.uniformStride);
|
|
@@ -174,8 +174,8 @@ describe('writeWgpuQuadUniforms', () => {
|
|
|
174
174
|
const before = runtime.uniformOffset;
|
|
175
175
|
const fakeNode = {
|
|
176
176
|
alpha: 1,
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
useColorScaleBias: false,
|
|
178
|
+
colorScaleBias: null,
|
|
179
179
|
transform2D: { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 },
|
|
180
180
|
};
|
|
181
181
|
writeWgpuQuadUniforms(state, fakeNode, null, 0, 0, 100, 100, 0, 0, 1, 1);
|
|
@@ -188,8 +188,8 @@ describe('writeWgpuQuadUniforms', () => {
|
|
|
188
188
|
renderWgpuBackground(state);
|
|
189
189
|
const fakeNode = {
|
|
190
190
|
alpha: 0.5,
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
useColorScaleBias: false,
|
|
192
|
+
colorScaleBias: null,
|
|
193
193
|
transform2D: { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 },
|
|
194
194
|
};
|
|
195
195
|
const offset = writeWgpuQuadUniforms(state, fakeNode, null, 10, 20, 30, 40, 0.1, 0.2, 0.9, 0.8);
|
|
@@ -208,8 +208,8 @@ describe('writeWgpuQuadUniforms', () => {
|
|
|
208
208
|
renderWgpuBackground(state);
|
|
209
209
|
const fakeNode = {
|
|
210
210
|
alpha: 1,
|
|
211
|
-
|
|
212
|
-
|
|
211
|
+
useColorScaleBias: false,
|
|
212
|
+
colorScaleBias: null,
|
|
213
213
|
transform2D: { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 },
|
|
214
214
|
};
|
|
215
215
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getOrCreateRenderProxy2D } from '@flighthq/render';
|
|
2
|
-
import { createBitmap } from '@flighthq/scene2d';
|
|
3
|
-
import type { WgpuBitmapShader } from '@flighthq/types';
|
|
1
|
+
import { getOrCreateRenderProxy2D } from '@flighthq/render/contract';
|
|
2
|
+
import { createBitmap } from '@flighthq/scene2d/contract';
|
|
3
|
+
import type { WgpuBitmapShader } from '@flighthq/types/contract';
|
|
4
4
|
|
|
5
5
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
6
6
|
import { getWgpuShader, resolveWgpuShader, setWgpuShader } from './wgpuShaderBinding';
|