From 8302f968066d700bbe73025381c174da0566c340 Mon Sep 17 00:00:00 2001 From: Chris Lorenzo Date: Thu, 11 Jun 2026 21:17:25 -0400 Subject: [PATCH] =?UTF-8?q?feat(shaders):=20EdgeFade=20=E2=80=94=20per-edg?= =?UTF-8?q?e=20alpha=20fade=20shader=20for=20both=20backends?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds an EdgeFade shader that multiplies a node's alpha by a linear ramp inward from each edge with a non-zero pixel distance (left/top/right/ bottom). Unlike LinearGradient, which blends a gradient color over the texture's RGB, EdgeFade masks the texture's own alpha — fading an image out to reveal whatever renders behind it, with a single node and no SubTexture splitting or RTT. WebGL: reuses the existing a_nodeCoords varying and system u_dimensions uniform; update() uploads reciprocals so the fragment adds 4 clamps + 4 multiplies with no division or branches. Uniforms are a pure function of resolved props, preserving the shader value-key cache contract. Canvas2D: renders the node's content into a shared grow-only scratch canvas via a new CanvasRenderer.renderNodeContent() hook, erases edges with destination-out gradients (sequential passes multiply, matching the WebGL ramp product), and composites back — keeping the background behind the node intact. Includes a visual regression test over a checkerboard (proving reveal, not darkening) with its certified CI snapshot, and unit tests for prop resolution. Verified on WebGL + Canvas2D in dev and prod (legacy transpile) modes. Co-Authored-By: Claude Fable 5 --- examples/common/installShaders.ts | 1 + examples/tests/shader-edge-fade.ts | 99 +++++++++++++++++ exports/canvas-shaders.ts | 1 + exports/index.ts | 1 + exports/webgl-shaders.ts | 1 + src/core/renderers/canvas/CanvasRenderer.ts | 20 ++++ src/core/shaders/canvas/EdgeFade.ts | 105 ++++++++++++++++++ .../templates/EdgeFadeTemplate.test.ts | 35 ++++++ .../shaders/templates/EdgeFadeTemplate.ts | 41 +++++++ src/core/shaders/webgl/EdgeFade.ts | 84 ++++++++++++++ .../chromium-ci/shader-edge-fade-1.png | Bin 0 -> 89320 bytes 11 files changed, 388 insertions(+) create mode 100644 examples/tests/shader-edge-fade.ts create mode 100644 src/core/shaders/canvas/EdgeFade.ts create mode 100644 src/core/shaders/templates/EdgeFadeTemplate.test.ts create mode 100644 src/core/shaders/templates/EdgeFadeTemplate.ts create mode 100644 src/core/shaders/webgl/EdgeFade.ts create mode 100644 visual-regression/certified-snapshots/chromium-ci/shader-edge-fade-1.png diff --git a/examples/common/installShaders.ts b/examples/common/installShaders.ts index fc3970b..3c02335 100644 --- a/examples/common/installShaders.ts +++ b/examples/common/installShaders.ts @@ -25,6 +25,7 @@ export async function installShaders(stage: Stage, renderMode: string) { stage.shManager.registerShaderType('HolePunch', shaders.HolePunch); stage.shManager.registerShaderType('RadialGradient', shaders.RadialGradient); stage.shManager.registerShaderType('LinearGradient', shaders.LinearGradient); + stage.shManager.registerShaderType('EdgeFade', shaders.EdgeFade); stage.shManager.registerShaderType('RadialProgress', shaders.RadialProgress); stage.shManager.registerShaderType('Blur', shaders.Blur); } diff --git a/examples/tests/shader-edge-fade.ts b/examples/tests/shader-edge-fade.ts new file mode 100644 index 0000000..dfc09e0 --- /dev/null +++ b/examples/tests/shader-edge-fade.ts @@ -0,0 +1,99 @@ +import rockoImg from '../assets/rocko.png'; +import type { ExampleSettings } from '../common/ExampleSettings.js'; + +export async function automation(settings: ExampleSettings) { + await test(settings); + await settings.snapshot(); +} + +export default async function test({ renderer, testRoot }: ExampleSettings) { + // Checkerboard background so the fade provably reveals what is behind the + // faded nodes instead of just darkening them. + const tile = 100; + for (let row = 0; row < 8; row++) { + for (let col = 0; col < 13; col++) { + renderer.createNode({ + x: col * tile, + y: row * tile, + w: tile, + h: tile, + color: (row + col) % 2 === 0 ? 0x113355ff : 0xddaa33ff, + parent: testRoot, + }); + } + } + + // 1. The hero use case: image fading out to the right + renderer.createNode({ + x: 20, + y: 20, + w: 540, + h: 300, + src: rockoImg, + shader: renderer.createShader('EdgeFade', { right: 220 }), + parent: testRoot, + }); + + // 2. Image fading on all four edges (vignette) + renderer.createNode({ + x: 620, + y: 20, + w: 400, + h: 300, + src: rockoImg, + shader: renderer.createShader('EdgeFade', { + left: 80, + top: 80, + right: 80, + bottom: 80, + }), + parent: testRoot, + }); + + // 3. Color rect (no texture) fading left and right + renderer.createNode({ + x: 20, + y: 380, + w: 540, + h: 160, + color: 0xff0000ff, + shader: renderer.createShader('EdgeFade', { left: 150, right: 150 }), + parent: testRoot, + }); + + // 4. All-zero fades must render identically to the default shader + renderer.createNode({ + x: 620, + y: 380, + w: 400, + h: 160, + color: 0x00ff00ff, + shader: renderer.createShader('EdgeFade'), + parent: testRoot, + }); + + // 5. Composes with corner colors and node alpha + renderer.createNode({ + x: 20, + y: 600, + w: 540, + h: 160, + src: rockoImg, + alpha: 0.6, + colorTop: 0xffffffff, + colorBottom: 0xff66ffff, + shader: renderer.createShader('EdgeFade', { right: 270 }), + parent: testRoot, + }); + + // 6. Fade distance larger than the node: never reaches full opacity + renderer.createNode({ + x: 620, + y: 600, + w: 400, + h: 160, + color: 0x0000ffff, + shader: renderer.createShader('EdgeFade', { right: 800 }), + parent: testRoot, + }); +} diff --git a/exports/canvas-shaders.ts b/exports/canvas-shaders.ts index 3c22fdf..d28895a 100644 --- a/exports/canvas-shaders.ts +++ b/exports/canvas-shaders.ts @@ -8,6 +8,7 @@ export { Border } from '../src/core/shaders/canvas/Border.js'; export { Shadow } from '../src/core/shaders/canvas/Shadow.js'; export { HolePunch } from '../src/core/shaders/canvas/HolePunch.js'; export { LinearGradient } from '../src/core/shaders/canvas/LinearGradient.js'; +export { EdgeFade } from '../src/core/shaders/canvas/EdgeFade.js'; export { RadialGradient } from '../src/core/shaders/canvas/RadialGradient.js'; export { RadialProgress } from '../src/core/shaders/canvas/RadialProgress.js'; export { Blur } from '../src/core/shaders/canvas/Blur.js'; diff --git a/exports/index.ts b/exports/index.ts index 745fb12..9886c7b 100644 --- a/exports/index.ts +++ b/exports/index.ts @@ -46,6 +46,7 @@ export * from '../src/core/shaders/templates/HolePunchTemplate.js'; export * from '../src/core/shaders/templates/RoundedTemplate.js'; export * from '../src/core/shaders/templates/ShadowTemplate.js'; export * from '../src/core/shaders/templates/LinearGradientTemplate.js'; +export * from '../src/core/shaders/templates/EdgeFadeTemplate.js'; export * from '../src/core/shaders/templates/RadialGradientTemplate.js'; // Shaders diff --git a/exports/webgl-shaders.ts b/exports/webgl-shaders.ts index f75cf44..502a8e8 100644 --- a/exports/webgl-shaders.ts +++ b/exports/webgl-shaders.ts @@ -8,6 +8,7 @@ export { Border } from '../src/core/shaders/webgl/Border.js'; export { Shadow } from '../src/core/shaders/webgl/Shadow.js'; export { HolePunch } from '../src/core/shaders/webgl/HolePunch.js'; export { LinearGradient } from '../src/core/shaders/webgl/LinearGradient.js'; +export { EdgeFade } from '../src/core/shaders/webgl/EdgeFade.js'; export { RadialGradient } from '../src/core/shaders/webgl/RadialGradient.js'; export { RadialProgress } from '../src/core/shaders/webgl/RadialProgress.js'; export { Blur } from '../src/core/shaders/webgl/Blur.js'; diff --git a/src/core/renderers/canvas/CanvasRenderer.ts b/src/core/renderers/canvas/CanvasRenderer.ts index c995611..4905e4f 100644 --- a/src/core/renderers/canvas/CanvasRenderer.ts +++ b/src/core/renderers/canvas/CanvasRenderer.ts @@ -260,6 +260,26 @@ export class CanvasRenderer extends CoreRenderer { } } + /** + * Renders a node's content (texture or color rect) into an arbitrary 2D + * context instead of the main canvas. Used by shaders that need to + * composite the node's content offscreen (e.g. EdgeFade alpha masks). + * + * The content is drawn at the node's global position — the caller is + * responsible for setting a transform on `target` that maps it to the + * desired location. + */ + renderNodeContent(node: CoreNode, target: CanvasRenderingContext2D): void { + let texture = node.props.texture; + if (node.placeholderActive === true || texture === null) { + texture = this.stage.defaultTexture as Texture; + } + const prev = this.context; + this.context = target; + this.renderContext(node, texture); + this.context = prev; + } + createShaderNode( shaderKey: string, shaderType: Readonly, diff --git a/src/core/shaders/canvas/EdgeFade.ts b/src/core/shaders/canvas/EdgeFade.ts new file mode 100644 index 0000000..9a21812 --- /dev/null +++ b/src/core/shaders/canvas/EdgeFade.ts @@ -0,0 +1,105 @@ +import type { CanvasShaderType } from '../../renderers/canvas/CanvasShaderNode.js'; +import type { CanvasRenderer } from '../../renderers/canvas/CanvasRenderer.js'; +import { + EdgeFadeTemplate, + type EdgeFadeProps, +} from '../templates/EdgeFadeTemplate.js'; + +// Shared scratch canvas, grown on demand and reused across all EdgeFade nodes. +// Rendering is single-threaded and non-reentrant so one scratch is enough. +let scratchCanvas: HTMLCanvasElement | null = null; +let scratchCtx: CanvasRenderingContext2D | null = null; + +/** + * Canvas2D implementation of {@link EdgeFade}: the node's content is drawn + * into an offscreen canvas, the edge ramps are erased with destination-out + * gradients, and the result is composited onto the main canvas. This keeps + * the background behind the node intact, which a destination-out pass on the + * main canvas could not. + */ +export const EdgeFade: CanvasShaderType = { + props: EdgeFadeTemplate.props, + render(ctx, node, renderContext) { + const props = this.props!; + const left = props.left; + const top = props.top; + const right = props.right; + const bottom = props.bottom; + + if (left <= 0 && top <= 0 && right <= 0 && bottom <= 0) { + renderContext(); + return; + } + + const w = node.props.w; + const h = node.props.h; + if (w <= 0 || h <= 0) { + return; + } + + const pr = this.stage.pixelRatio; + const sw = w * pr; + const sh = h * pr; + + if (scratchCanvas === null) { + scratchCanvas = document.createElement('canvas'); + scratchCtx = scratchCanvas.getContext('2d') as CanvasRenderingContext2D; + } + const sctx = scratchCtx!; + + if (scratchCanvas.width < sw || scratchCanvas.height < sh) { + // Growing the canvas implicitly clears it + scratchCanvas.width = Math.ceil(sw); + scratchCanvas.height = Math.ceil(sh); + } else { + sctx.setTransform(1, 0, 0, 1, 0, 0); + sctx.clearRect(0, 0, sw, sh); + } + + // Draw the node's content at the scratch origin + const tx = node.globalTransform!.tx; + const ty = node.globalTransform!.ty; + sctx.setTransform(pr, 0, 0, pr, -tx * pr, -ty * pr); + (this.stage.renderer as CanvasRenderer).renderNodeContent(node, sctx); + sctx.setTransform(1, 0, 0, 1, 0, 0); + + // Erase each edge with a linear ramp. Sequential destination-out passes + // multiply: dst *= (1 - g), matching the WebGL ramp product. + sctx.globalCompositeOperation = 'destination-out'; + if (left > 0) { + const d = left * pr; + const g = sctx.createLinearGradient(0, 0, d, 0); + g.addColorStop(0, 'rgba(0,0,0,1)'); + g.addColorStop(1, 'rgba(0,0,0,0)'); + sctx.fillStyle = g; + sctx.fillRect(0, 0, d, sh); + } + if (top > 0) { + const d = top * pr; + const g = sctx.createLinearGradient(0, 0, 0, d); + g.addColorStop(0, 'rgba(0,0,0,1)'); + g.addColorStop(1, 'rgba(0,0,0,0)'); + sctx.fillStyle = g; + sctx.fillRect(0, 0, sw, d); + } + if (right > 0) { + const d = right * pr; + const g = sctx.createLinearGradient(sw - d, 0, sw, 0); + g.addColorStop(0, 'rgba(0,0,0,0)'); + g.addColorStop(1, 'rgba(0,0,0,1)'); + sctx.fillStyle = g; + sctx.fillRect(sw - d, 0, d, sh); + } + if (bottom > 0) { + const d = bottom * pr; + const g = sctx.createLinearGradient(0, sh - d, 0, sh); + g.addColorStop(0, 'rgba(0,0,0,0)'); + g.addColorStop(1, 'rgba(0,0,0,1)'); + sctx.fillStyle = g; + sctx.fillRect(0, sh - d, sw, d); + } + sctx.globalCompositeOperation = 'source-over'; + + ctx.drawImage(scratchCanvas, 0, 0, sw, sh, tx, ty, w, h); + }, +}; diff --git a/src/core/shaders/templates/EdgeFadeTemplate.test.ts b/src/core/shaders/templates/EdgeFadeTemplate.test.ts new file mode 100644 index 0000000..1468f9c --- /dev/null +++ b/src/core/shaders/templates/EdgeFadeTemplate.test.ts @@ -0,0 +1,35 @@ +import { describe, it, expect } from 'vitest'; +import { EdgeFadeTemplate, type EdgeFadeProps } from './EdgeFadeTemplate.js'; +import { resolveShaderProps } from '../../renderers/CoreShaderNode.js'; + +function resolve(input: Partial): EdgeFadeProps { + const props = { ...input } as Record; + resolveShaderProps(props, EdgeFadeTemplate.props as never); + return props as unknown as EdgeFadeProps; +} + +describe('EdgeFadeTemplate', () => { + it('defaults all edges to 0 (no fade)', () => { + const props = resolve({}); + expect(props.left).toBe(0); + expect(props.top).toBe(0); + expect(props.right).toBe(0); + expect(props.bottom).toBe(0); + }); + + it('passes through a single edge, leaving others at 0', () => { + const props = resolve({ right: 420 }); + expect(props.right).toBe(420); + expect(props.left).toBe(0); + expect(props.top).toBe(0); + expect(props.bottom).toBe(0); + }); + + it('passes through all edges', () => { + const props = resolve({ left: 10, top: 20, right: 30, bottom: 40 }); + expect(props.left).toBe(10); + expect(props.top).toBe(20); + expect(props.right).toBe(30); + expect(props.bottom).toBe(40); + }); +}); diff --git a/src/core/shaders/templates/EdgeFadeTemplate.ts b/src/core/shaders/templates/EdgeFadeTemplate.ts new file mode 100644 index 0000000..c23c5e1 --- /dev/null +++ b/src/core/shaders/templates/EdgeFadeTemplate.ts @@ -0,0 +1,41 @@ +import type { CoreShaderType } from '../../renderers/CoreShaderNode.js'; + +/** + * Properties of the {@link EdgeFade} shader + */ +export interface EdgeFadeProps { + /** + * Fade distance in pixels from the left edge. Alpha ramps 0 → 1 over this + * distance. 0 disables the fade for this edge. + * + * @default 0 + */ + left: number; + /** + * Fade distance in pixels from the top edge. + * + * @default 0 + */ + top: number; + /** + * Fade distance in pixels from the right edge. + * + * @default 0 + */ + right: number; + /** + * Fade distance in pixels from the bottom edge. + * + * @default 0 + */ + bottom: number; +} + +export const EdgeFadeTemplate: CoreShaderType = { + props: { + left: 0, + top: 0, + right: 0, + bottom: 0, + }, +}; diff --git a/src/core/shaders/webgl/EdgeFade.ts b/src/core/shaders/webgl/EdgeFade.ts new file mode 100644 index 0000000..48d6829 --- /dev/null +++ b/src/core/shaders/webgl/EdgeFade.ts @@ -0,0 +1,84 @@ +import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js'; +import { + EdgeFadeTemplate, + type EdgeFadeProps, +} from '../templates/EdgeFadeTemplate.js'; + +/** + * Multiplies the node's alpha by a linear ramp inward from each edge with a + * non-zero fade distance, revealing whatever is rendered behind the node. + * Unlike {@link LinearGradient} this masks the texture's own alpha instead of + * blending a gradient color over its RGB. + */ +export const EdgeFade: WebGlShaderType = { + props: EdgeFadeTemplate.props, + update() { + const props = this.props!; + // Reciprocals are uploaded so the fragment shader needs no division and + // no zero-guard branch: 1e6 saturates clamp(px * recip) to 1.0 within a + // fraction of a pixel, which is exactly "no fade on this edge". + this.uniform4f( + 'u_fadeRecip', + props.left > 0 ? 1 / props.left : 1e6, + props.top > 0 ? 1 / props.top : 1e6, + props.right > 0 ? 1 / props.right : 1e6, + props.bottom > 0 ? 1 / props.bottom : 1e6, + ); + }, + vertex: ` + # ifdef GL_FRAGMENT_PRECISION_HIGH + precision highp float; + # else + precision mediump float; + # endif + + attribute vec2 a_position; + attribute vec2 a_textureCoords; + attribute vec4 a_color; + attribute vec2 a_nodeCoords; + + uniform vec2 u_resolution; + uniform float u_pixelRatio; + + varying vec4 v_color; + varying vec2 v_textureCoords; + varying vec2 v_nodeCoords; + + void main() { + vec2 normalized = a_position * u_pixelRatio / u_resolution; + vec2 zero_two = normalized * 2.0; + vec2 clip_space = zero_two - 1.0; + + v_color = a_color; + v_textureCoords = a_textureCoords; + v_nodeCoords = a_nodeCoords; + + gl_Position = vec4(clip_space * vec2(1.0, -1.0), 0, 1); + } + `, + fragment: ` + # ifdef GL_FRAGMENT_PRECISION_HIGH + precision highp float; + # else + precision mediump float; + # endif + + uniform vec2 u_dimensions; + uniform sampler2D u_texture; + uniform vec4 u_fadeRecip; + + varying vec4 v_color; + varying vec2 v_textureCoords; + varying vec2 v_nodeCoords; + + void main() { + vec4 color = v_color * texture2D(u_texture, v_textureCoords); + vec2 px = v_nodeCoords * u_dimensions; + float fade = clamp(px.x * u_fadeRecip.x, 0.0, 1.0) + * clamp(px.y * u_fadeRecip.y, 0.0, 1.0) + * clamp((u_dimensions.x - px.x) * u_fadeRecip.z, 0.0, 1.0) + * clamp((u_dimensions.y - px.y) * u_fadeRecip.w, 0.0, 1.0); + gl_FragColor = color * fade; + } + `, +}; diff --git a/visual-regression/certified-snapshots/chromium-ci/shader-edge-fade-1.png b/visual-regression/certified-snapshots/chromium-ci/shader-edge-fade-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e23428ecb84f9936f731da3a0d7da318289829 GIT binary patch literal 89320 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 literal 0 HcmV?d00001