@flighthq/effects-wgpu 0.5.1-next.1204.e33a1ac → 0.5.1-next.1225.129b76d
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/wgpuBevelEffect.d.ts.map +1 -1
- package/dist/wgpuBevelEffect.js +1 -3
- package/dist/wgpuBevelEffect.js.map +1 -1
- package/dist/wgpuEffectBlitShader.d.ts +4 -5
- package/dist/wgpuEffectBlitShader.d.ts.map +1 -1
- package/dist/wgpuEffectBlitShader.js +5 -6
- package/dist/wgpuEffectBlitShader.js.map +1 -1
- package/dist/wgpuGradientBevelEffect.d.ts.map +1 -1
- package/dist/wgpuGradientBevelEffect.js +1 -3
- package/dist/wgpuGradientBevelEffect.js.map +1 -1
- package/dist/wgpuRenderEffectPipeline.js +1 -1
- package/dist/wgpuRenderEffectPipeline.js.map +1 -1
- package/package.json +10 -10
- package/src/wgpuBevelEffect.test.ts +4 -12
- package/src/wgpuEffectBlitShader.test.ts +5 -27
- package/src/wgpuGradientBevelEffect.test.ts +3 -7
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/effects-wgpu`. The `
|
|
|
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/effects-wgpu@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/effects-wgpu@0.5.1-next.1225.129b76d](https://github.com/flighthq/flight/tree/129b76d4025138e3fbbe6fcdccc31a89f6bfd500/packages/effects-wgpu)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/129b76d4025138e3fbbe6fcdccc31a89f6bfd500/LICENSE.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuBevelEffect.d.ts","sourceRoot":"","sources":["../src/wgpuBevelEffect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAgBlC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACzC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACvC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,IAAI,
|
|
1
|
+
{"version":3,"file":"wgpuBevelEffect.d.ts","sourceRoot":"","sources":["../src/wgpuBevelEffect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAgBlC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACzC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACvC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,IAAI,CAuDN;AAED,eAAO,MAAM,4BAA4B,EAAE,sBAE1C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEpE"}
|
package/dist/wgpuBevelEffect.js
CHANGED
|
@@ -46,9 +46,7 @@ export function applyBevelEffectToWgpu(state, source, dest, pool, effect) {
|
|
|
46
46
|
applyWgpuEffectBlitPass(state, src, dst);
|
|
47
47
|
applyWgpuBevelCompositePass(state, blurred, src, dst, {
|
|
48
48
|
offsetX: offsetX / source.width,
|
|
49
|
-
|
|
50
|
-
// render-target contents, matching the Gl bevel and Wgpu offset-blit conventions.
|
|
51
|
-
offsetY: -offsetY / source.height,
|
|
49
|
+
offsetY: offsetY / source.height,
|
|
52
50
|
highlightColor,
|
|
53
51
|
highlightAlpha,
|
|
54
52
|
shadowColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuBevelEffect.js","sourceRoot":"","sources":["../src/wgpuBevelEffect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wgpuBevelEffect.js","sourceRoot":"","sources":["../src/wgpuBevelEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,10 @@ import type { WgpuRenderState, WgpuTextureRenderTarget } from '@flighthq/types/c
|
|
|
3
3
|
* Blits source into dest at a pixel offset (dx, dy in screen-space Y-down).
|
|
4
4
|
* Pixels sampling outside the source bounds produce transparent output.
|
|
5
5
|
*
|
|
6
|
-
* The offset
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* (it landed up-left instead of down-right) — caught by filter-drop-shadow-parity.
|
|
6
|
+
* The shader samples `uv + offset`, so a screen-space shift of (+dx, +dy) needs the UV offset to
|
|
7
|
+
* point in the opposite direction on both axes. In Wgpu UV space y=0 is at the top — the same
|
|
8
|
+
* direction as screen space — so a downward shift (+dy) requires a negative UV offset (-dy/h),
|
|
9
|
+
* unlike Gl where UV y=0 is at the bottom and the sign convention is reversed.
|
|
11
10
|
*/
|
|
12
11
|
export declare function applyWgpuEffectBlitOffsetPass(state: WgpuRenderState, source: WgpuTextureRenderTarget, dest: WgpuTextureRenderTarget, dx: number, dy: number): void;
|
|
13
12
|
/** Blits source directly into dest without modification. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuEffectBlitShader.d.ts","sourceRoot":"","sources":["../src/wgpuEffectBlitShader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAiDzF
|
|
1
|
+
{"version":3,"file":"wgpuEffectBlitShader.d.ts","sourceRoot":"","sources":["../src/wgpuEffectBlitShader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAiDzF;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,uBAAuB,EAC/B,IAAI,EAAE,uBAAuB,EAC7B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAMN;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,uBAAuB,EAC/B,IAAI,EAAE,uBAAuB,GAC5B,IAAI,CAGN;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,uBAAuB,EAC/B,IAAI,EAAE,uBAAuB,GAC5B,IAAI,CAGN"}
|
|
@@ -44,17 +44,16 @@ fn fs_main(@location(0) uv : vec2f) -> @location(0) vec4f {
|
|
|
44
44
|
* Blits source into dest at a pixel offset (dx, dy in screen-space Y-down).
|
|
45
45
|
* Pixels sampling outside the source bounds produce transparent output.
|
|
46
46
|
*
|
|
47
|
-
* The offset
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* (it landed up-left instead of down-right) — caught by filter-drop-shadow-parity.
|
|
47
|
+
* The shader samples `uv + offset`, so a screen-space shift of (+dx, +dy) needs the UV offset to
|
|
48
|
+
* point in the opposite direction on both axes. In Wgpu UV space y=0 is at the top — the same
|
|
49
|
+
* direction as screen space — so a downward shift (+dy) requires a negative UV offset (-dy/h),
|
|
50
|
+
* unlike Gl where UV y=0 is at the bottom and the sign convention is reversed.
|
|
52
51
|
*/
|
|
53
52
|
export function applyWgpuEffectBlitOffsetPass(state, source, dest, dx, dy) {
|
|
54
53
|
const pipeline = getWgpuBlitOffsetShader(state);
|
|
55
54
|
drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
|
|
56
55
|
f32[0] = -dx / source.width;
|
|
57
|
-
f32[1] = dy / source.height;
|
|
56
|
+
f32[1] = -dy / source.height;
|
|
58
57
|
});
|
|
59
58
|
}
|
|
60
59
|
/** Blits source directly into dest without modification. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuEffectBlitShader.js","sourceRoot":"","sources":["../src/wgpuEffectBlitShader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;EAgBlC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,SAAS,GAAG,UAAU,CAAC;;;;;;;;;EAS3B,CAAC;AAEH,mGAAmG;AACnG,MAAM,UAAU,GAAG,UAAU,CAAC;;;;;;;;;;EAU5B,CAAC;AAEH
|
|
1
|
+
{"version":3,"file":"wgpuEffectBlitShader.js","sourceRoot":"","sources":["../src/wgpuEffectBlitShader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuGradientBevelEffect.d.ts","sourceRoot":"","sources":["../src/wgpuGradientBevelEffect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAclC,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACzC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACvC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACpC,IAAI,
|
|
1
|
+
{"version":3,"file":"wgpuGradientBevelEffect.d.ts","sourceRoot":"","sources":["../src/wgpuGradientBevelEffect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAclC,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACzC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACvC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACpC,IAAI,CAgGN;AAED,eAAO,MAAM,oCAAoC,EAAE,sBAElD,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAE5E"}
|
|
@@ -33,9 +33,7 @@ export function applyGradientBevelEffectToWgpu(state, source, dest, pool, effect
|
|
|
33
33
|
});
|
|
34
34
|
// Encode bevel value from blurred alpha offset samples → s0
|
|
35
35
|
const dx = (Math.cos(angle) * distance) / s1.width;
|
|
36
|
-
|
|
37
|
-
// render-target contents, matching the Gl gradient bevel.
|
|
38
|
-
const dy = -((Math.sin(angle) * distance) / s1.height);
|
|
36
|
+
const dy = (Math.sin(angle) * distance) / s1.height;
|
|
39
37
|
const encodePipeline = getEncodePipeline(state);
|
|
40
38
|
const encodeSlot = fs.acquireSlot();
|
|
41
39
|
fs.writeSlot(encodeSlot, (f32) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuGradientBevelEffect.js","sourceRoot":"","sources":["../src/wgpuGradientBevelEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAUhH,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,oNAAoN;AACpN,qGAAqG;AACrG,uHAAuH;AACvH,MAAM,UAAU,8BAA8B,CAC5C,KAAsB,EACtB,MAAyC,EACzC,IAAuC,EACvC,IAA0B,EAC1B,MAAqC;IAErC,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzF,MAAM,EAAE,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,EAAE,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,EAAE,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;IAE/C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAEzC,wBAAwB;IACxB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9E,sBAAsB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;QACxB,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnD,
|
|
1
|
+
{"version":3,"file":"wgpuGradientBevelEffect.js","sourceRoot":"","sources":["../src/wgpuGradientBevelEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -172,7 +172,7 @@ function presentWgpuRenderEffectResult(state, source) {
|
|
|
172
172
|
if (runtime.commandEncoder === null)
|
|
173
173
|
return;
|
|
174
174
|
const linear = source.colorSpace === 'linear';
|
|
175
|
-
const pipeline = getWgpuEffectPipeline(state, linear ? 'effect.present.linear' : 'effect.present', linear ? LINEAR_PRESENT_FRAGMENT_WGSL : PRESENT_FRAGMENT_WGSL, '
|
|
175
|
+
const pipeline = getWgpuEffectPipeline(state, linear ? 'effect.present.linear' : 'effect.present', linear ? LINEAR_PRESENT_FRAGMENT_WGSL : PRESENT_FRAGMENT_WGSL, 'premul');
|
|
176
176
|
drawWgpuEffectPass(state, source, null, pipeline, () => { });
|
|
177
177
|
}
|
|
178
178
|
const PRESENT_FRAGMENT_WGSL = /* wgsl */ `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuRenderEffectPipeline.js","sourceRoot":"","sources":["../src/wgpuRenderEffectPipeline.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wgpuRenderEffectPipeline.js","sourceRoot":"","sources":["../src/wgpuRenderEffectPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AAgBxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,yGAAyG;AACzG,4BAA4B;AAC5B,sGAAsG;AACtG,qDAAqD;AACrD,wGAAwG;AACxG,uGAAuG;AACvG,yGAAyG;AACzG,+FAA+F;AAC/F,gFAAgF;AAEhF,yGAAyG;AACzG,yGAAyG;AACzG,2FAA2F;AAC3F,MAAM,UAAU,6BAA6B,CAC3C,IAAoB,EACpB,QAAkC,EAClC,QAAqC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EACxE,aAAqC,MAAM;IAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEpF,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAClC,QAAQ,CAAC,WAAW,GAAG,6BAA6B,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtH,CAAC;SAAM,CAAC;QACN,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjG,CAAC;IACD,QAAQ,CAAC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7C,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAsB,EACtB,UAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,cAAc,EAA4B,CAAC;IACvD,kCAAkC,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAsB,EAAE,QAAkC;IACxG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,8BAA8B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrD,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,SAAyB,EACzB,QAAkC,EAClC,UAAoD;IAEpD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAE3B,uGAAuG;IACvG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IACtG,IAAI,MAAM,GAA4B,KAAK,CAAC;IAC5C,IAAI,QAAQ,GAAmC,IAAI,CAAC;IACpD,IAAI,QAAQ,GAAmC,IAAI,CAAC;IACpD,oGAAoG;IACpG,wGAAwG;IACxG,wGAAwG;IACxG,oCAAoC;IACpC,IAAI,OAAO,GAAiB,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,IAAI,QAAQ,KAAK,IAAI;YAAE,QAAQ,GAAG,8BAA8B,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnG,IAAI,QAAQ,KAAK,IAAI;YAAE,QAAQ,GAAG,8BAA8B,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrG,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,aAAa,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC,QAAS,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAA0B,EAAE,CAAC;YAC3C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,MAAM,KAAK,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YACD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,GAAG,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,wBAAwB,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,SAAuB,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,kCAAkC,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC,QAAS,CAAC;QACzD,MAAM,CACJ;YACE,KAAK;YACL,MAAM;YACN,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,wFAAwF;YACxF,0FAA0F;YAC1F,sEAAsE;YACtE,iBAAiB,EAAE,IAAI;YACvB,oBAAoB,EAAE,QAAQ,CAAC,eAAe;SAC/C,EACD,SAAmC,CACpC,CAAC;QACF,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,gBAAgB,EAAE,CAAC;IAEnB,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,gGAAgG;IAChG,8DAA8D;IAC9D,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI;QAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEtF,IAAI,QAAQ,KAAK,IAAI;QAAE,8BAA8B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/E,IAAI,QAAQ,KAAK,IAAI;QAAE,8BAA8B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,GAAiD,EACjD,KAAsB,EACtB,UAAiD,EAAE;IAEnD,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,oBAAoB,KAAK,kBAAkB,EAAE,CAAC;QAChD,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACnF,CAAC;IACD,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC9D,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,IAAI,GAAG,0BAA0B,EAAE,CAAC;IACxC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACrC,GAAG,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvD,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED,8FAA8F;AAC9F,2FAA2F;AAC3F,MAAM,UAAU,2CAA2C,CACzD,KAAsB,EACtB,KAAsD;IAEtD,IAAI,KAAK,KAAK,IAAI;QAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;QAChD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,kGAAkG;AAClG,iEAAiE;AACjE,yGAAyG;AACzG,0GAA0G;AAC1G,2GAA2G;AAC3G,MAAM,UAAU,oCAAoC,CAClD,KAAsB,EACtB,KAA+C;IAE/C,IAAI,KAAK,KAAK,IAAI;QAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;QACzC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,QAAkC,EAClC,OAA0B;IAE1B,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC;AACrC,CAAC;AAED,gGAAgG;AAChG,mGAAmG;AACnG,SAAS,6BAA6B,CAAC,KAAsB,EAAE,MAAyC;IACtG,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC;IAC9C,MAAM,QAAQ,GAAG,qBAAqB,CACpC,KAAK,EACL,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,EACnD,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qBAAqB,EAC7D,QAAQ,CACT,CAAC;IACF,kBAAkB,CAAC,KAAK,EAAE,MAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,qBAAqB,GAAG,UAAU,CAAC;;;;;;;;;EASvC,CAAC;AAEH,MAAM,4BAA4B,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;EAiB9C,CAAC;AAEH,SAAS,kCAAkC,CAAC,KAAsB,EAAE,IAAY;IAC9E,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,8FAA8F;AAC9F,gGAAgG;AAChG,iGAAiG;AACjG,SAAS,qBAAqB,CAAC,CAAS;IACtC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,KAAkC;IACxD,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,GAAG,CAAC,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,KAAK,SAAS;YACb,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,OAAO,EAAsD,CAAC;AACtF,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAA6D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/effects-wgpu",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.1225.129b76d",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/adjustments": "0.5.1-next.
|
|
42
|
-
"@flighthq/color": "0.5.1-next.
|
|
43
|
-
"@flighthq/effects": "0.5.1-next.
|
|
44
|
-
"@flighthq/entity": "0.5.1-next.
|
|
45
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
46
|
-
"@flighthq/log": "0.5.1-next.
|
|
47
|
-
"@flighthq/render-wgpu": "0.5.1-next.
|
|
48
|
-
"@flighthq/registry": "0.5.1-next.
|
|
49
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/adjustments": "0.5.1-next.1225.129b76d",
|
|
42
|
+
"@flighthq/color": "0.5.1-next.1225.129b76d",
|
|
43
|
+
"@flighthq/effects": "0.5.1-next.1225.129b76d",
|
|
44
|
+
"@flighthq/entity": "0.5.1-next.1225.129b76d",
|
|
45
|
+
"@flighthq/geometry": "0.5.1-next.1225.129b76d",
|
|
46
|
+
"@flighthq/log": "0.5.1-next.1225.129b76d",
|
|
47
|
+
"@flighthq/render-wgpu": "0.5.1-next.1225.129b76d",
|
|
48
|
+
"@flighthq/registry": "0.5.1-next.1225.129b76d",
|
|
49
|
+
"@flighthq/types": "0.5.1-next.1225.129b76d"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"@webgpu/types": "^0.1.70"
|
|
@@ -153,36 +153,28 @@ describe('applyBevelEffectToWgpu', () => {
|
|
|
153
153
|
expect(uniforms.slice(4, 8)).toEqual([0, 0, 0, 1]);
|
|
154
154
|
});
|
|
155
155
|
|
|
156
|
-
|
|
157
|
-
// arrives in screen space (Y down) and only the Y component is negated on the way into the shader.
|
|
158
|
-
// Written symmetrically, every bevel is lit from the wrong side — and still looks like a bevel.
|
|
159
|
-
it('negates only the vertical component of the light offset', () => {
|
|
160
|
-
// 0 degrees points along +X, 90 degrees along +Y in screen space.
|
|
156
|
+
it('passes the light offset without negation on either axis', () => {
|
|
161
157
|
const alongX = apply({ angle: 0, distance: 10 });
|
|
162
158
|
expect(alongX[8]).toBeCloseTo(10 / SOURCE_WIDTH, 6);
|
|
163
159
|
expect(alongX[9]).toBeCloseTo(0, 6);
|
|
164
160
|
|
|
165
161
|
const alongY = apply({ angle: 90, distance: 10 });
|
|
166
162
|
expect(alongY[8]).toBeCloseTo(0, 6);
|
|
167
|
-
expect(alongY[9]).toBeCloseTo(
|
|
163
|
+
expect(alongY[9]).toBeCloseTo(10 / SOURCE_HEIGHT, 6);
|
|
168
164
|
});
|
|
169
165
|
|
|
170
|
-
// Normalised per axis, and the two source dimensions differ here on purpose: with them equal, dividing
|
|
171
|
-
// by the wrong one is invisible.
|
|
172
166
|
it('normalises each offset component by its own source dimension', () => {
|
|
173
167
|
const uniforms = apply({ angle: 45, distance: 10 });
|
|
174
168
|
|
|
175
|
-
// cos(45)*10 and sin(45)*10 both round to 7.
|
|
176
169
|
expect(uniforms[8]).toBeCloseTo(7 / SOURCE_WIDTH, 6);
|
|
177
|
-
expect(uniforms[9]).toBeCloseTo(
|
|
170
|
+
expect(uniforms[9]).toBeCloseTo(7 / SOURCE_HEIGHT, 6);
|
|
178
171
|
});
|
|
179
172
|
|
|
180
173
|
it('snaps the light offset to whole pixels, matching the surface reference', () => {
|
|
181
|
-
// cos(30)*10 = 8.66 -> 9, sin(30)*10 = 5 -> 5.
|
|
182
174
|
const uniforms = apply({ angle: 30, distance: 10 });
|
|
183
175
|
|
|
184
176
|
expect(uniforms[8] * SOURCE_WIDTH).toBeCloseTo(9, 6);
|
|
185
|
-
expect(uniforms[9] * SOURCE_HEIGHT).toBeCloseTo(
|
|
177
|
+
expect(uniforms[9] * SOURCE_HEIGHT).toBeCloseTo(5, 6);
|
|
186
178
|
});
|
|
187
179
|
|
|
188
180
|
it('maps each bevel type to its clip mode', () => {
|
|
@@ -57,48 +57,26 @@ function offsetFor(dx: number, dy: number): readonly number[] {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
describe('applyWgpuEffectBlitOffsetPass', () => {
|
|
60
|
-
// ★ WHY THIS FILE IS WORTH MORE THAN ONE EFFECT'S. Every offset composite on this backend goes through
|
|
61
|
-
// this one pass — drop shadow, inner shadow, both bevels, the glows. The offset is where an author's
|
|
62
|
-
// `distance` and `angle` finally become pixels, so a sign error moves the shadow on EVERY one of them
|
|
63
|
-
// at once, and it still draws a shadow.
|
|
64
|
-
//
|
|
65
|
-
// ★ THIS ONE IS BRANCH 1: THE DEFECT IS IN GIT AND STILL RESTORABLE. The Y offset used to be NEGATED
|
|
66
|
-
// here relative to the Gl path, on the reasonable-sounding argument that Wgpu's uv y=0 is the top while
|
|
67
|
-
// Gl's is the bottom. It is the wrong conclusion: Wgpu render-target textures are ALSO stored top-down,
|
|
68
|
-
// so the two inversions cancel and the offset must match Gl exactly. With the extra negation the shadow
|
|
69
|
-
// landed up-left instead of down-right on every offset composite. Fixed in 915040009 (then
|
|
70
|
-
// filters-wgpu/src/wgpuBlitShader.ts), and until now the only thing standing behind it was one parity
|
|
71
|
-
// scene and a paragraph of prose.
|
|
72
|
-
//
|
|
73
|
-
// MEASURED by restoring 915040009^'s exact line `f32[1] = -dy / source.height;` — 3 of 9 failed:
|
|
74
|
-
// AssertionError: expected -0.25 to be close to 0.25, received difference is 0.5
|
|
75
|
-
// AssertionError: expected -0.25 to be greater than 0
|
|
76
|
-
// AssertionError: expected -0.5 to be close to 0.5, received difference is 1
|
|
77
60
|
it('moves the image right for a positive dx, by offsetting the sample left', () => {
|
|
78
61
|
expect(offsetFor(8, 0)[0]).toBeCloseTo(-8 / SOURCE_WIDTH, 10);
|
|
79
62
|
});
|
|
80
63
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
expect(offsetFor(0, 8)[1]).toBeCloseTo(8 / SOURCE_HEIGHT, 10);
|
|
64
|
+
it('moves the image down for a positive dy, by offsetting the sample up', () => {
|
|
65
|
+
expect(offsetFor(0, 8)[1]).toBeCloseTo(-8 / SOURCE_HEIGHT, 10);
|
|
84
66
|
});
|
|
85
67
|
|
|
86
|
-
|
|
87
|
-
// either axis alone would pass a version that negated both or neither.
|
|
88
|
-
it('gives the two axes opposite signs for the same positive offset', () => {
|
|
68
|
+
it('negates both axes for a positive offset', () => {
|
|
89
69
|
const [x, y] = offsetFor(8, 8);
|
|
90
70
|
|
|
91
71
|
expect(x).toBeLessThan(0);
|
|
92
|
-
expect(y).
|
|
72
|
+
expect(y).toBeLessThan(0);
|
|
93
73
|
});
|
|
94
74
|
|
|
95
|
-
// Normalised by the SOURCE, per axis. Width and height differ here on purpose: with them equal,
|
|
96
|
-
// dividing by the wrong one is invisible.
|
|
97
75
|
it('normalises each axis by the source dimension for that axis', () => {
|
|
98
76
|
const [x, y] = offsetFor(16, 16);
|
|
99
77
|
|
|
100
78
|
expect(x).toBeCloseTo(-16 / SOURCE_WIDTH, 10);
|
|
101
|
-
expect(y).toBeCloseTo(16 / SOURCE_HEIGHT, 10);
|
|
79
|
+
expect(y).toBeCloseTo(-16 / SOURCE_HEIGHT, 10);
|
|
102
80
|
expect(Math.abs(x)).not.toBeCloseTo(Math.abs(y), 6);
|
|
103
81
|
});
|
|
104
82
|
|
|
@@ -187,25 +187,21 @@ describe('applyGradientBevelEffectToWgpu', () => {
|
|
|
187
187
|
expect(recorded.tints[0]![2]).toBe(0.25);
|
|
188
188
|
});
|
|
189
189
|
|
|
190
|
-
|
|
191
|
-
// arrives in screen space (Y down) and only the Y component is negated into the target's contents.
|
|
192
|
-
it('negates only the vertical component of the light offset', () => {
|
|
190
|
+
it('passes the light offset without negation on either axis', () => {
|
|
193
191
|
apply({ angle: 0, distance: 10 });
|
|
194
192
|
expect(lightOffset()[0]).toBeCloseTo(10 / SOURCE_WIDTH, 6);
|
|
195
193
|
expect(lightOffset()[1]).toBeCloseTo(0, 6);
|
|
196
194
|
|
|
197
195
|
apply({ angle: 90, distance: 10 });
|
|
198
196
|
expect(lightOffset()[0]).toBeCloseTo(0, 6);
|
|
199
|
-
expect(lightOffset()[1]).toBeCloseTo(
|
|
197
|
+
expect(lightOffset()[1]).toBeCloseTo(10 / SOURCE_HEIGHT, 6);
|
|
200
198
|
});
|
|
201
199
|
|
|
202
|
-
// Normalised per axis; the two source dimensions differ on purpose, since with them equal dividing by
|
|
203
|
-
// the wrong one is invisible. Unlike the plain bevel, this recipe does NOT snap to whole pixels.
|
|
204
200
|
it('normalises each offset component by its own source dimension, without rounding', () => {
|
|
205
201
|
apply({ angle: 30, distance: 10 });
|
|
206
202
|
|
|
207
203
|
expect(lightOffset()[0]).toBeCloseTo((Math.cos(Math.PI / 6) * 10) / SOURCE_WIDTH, 6);
|
|
208
|
-
expect(lightOffset()[1]).toBeCloseTo(
|
|
204
|
+
expect(lightOffset()[1]).toBeCloseTo((Math.sin(Math.PI / 6) * 10) / SOURCE_HEIGHT, 6);
|
|
209
205
|
});
|
|
210
206
|
|
|
211
207
|
it('looks the band colour up from the descriptor stops, unchanged', () => {
|