From fe80184393988809b0f73199b9938ca36abf334d Mon Sep 17 00:00:00 2001 From: Hunter Garrett Date: Tue, 13 Oct 2026 11:53:46 -0400 Subject: [PATCH 1/5] feat(shaders): add CursorSmudge cursor effect --- .changeset/soft-cursors-return.md | 5 + .../cursor-smudge/cursor-smudge.test.tsx | 361 ++++++++++++++++++ .../cursor-smudge/cursor-smudge.tsx | 32 ++ .../src/components/cursor-smudge/shader.tsx | 168 ++++++++ packages/shaders/src/components/index.ts | 3 + .../src/runtime/smudge-field/smudge-field.ts | 202 ++++++++++ 6 files changed, 771 insertions(+) create mode 100644 .changeset/soft-cursors-return.md create mode 100644 packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx create mode 100644 packages/shaders/src/components/cursor-smudge/cursor-smudge.tsx create mode 100644 packages/shaders/src/components/cursor-smudge/shader.tsx create mode 100644 packages/shaders/src/runtime/smudge-field/smudge-field.ts diff --git a/.changeset/soft-cursors-return.md b/.changeset/soft-cursors-return.md new file mode 100644 index 00000000..27ddd624 --- /dev/null +++ b/.changeset/soft-cursors-return.md @@ -0,0 +1,5 @@ +--- +'@camp-dev/shaders': minor +--- + +Add `CursorSmudge`, a cursor effect that pulls the Sources' image along pointer movement and recovers smoothly. Control the pull with `strength`, `radius`, and `decay`, using numbers or animation signals. Set `decay={0}` to hold the distortion. Enable `scrollPush` on `ShaderScene` for touch scrolling. diff --git a/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx b/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx new file mode 100644 index 00000000..b7e79205 --- /dev/null +++ b/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx @@ -0,0 +1,361 @@ +// Exercises CursorSmudge through its mounted component, with the real +// scheduler and shared Input. Only the browser frame clock and three's +// renderer are substitutes; the dev probe checks the actual GPU image. +import { type ReactNode, StrictMode } from 'react'; + +import { cleanup, render } from '@testing-library/react'; +import type { RenderTarget, WebGPURenderer } from 'three/webgpu'; +import { afterEach, expect, it, vi } from 'vitest'; + +import { CursorInput, FrameScheduler, type PrePass, setReducedMotionPolicy } from '../../engine.js'; +import { + ShaderContext, + type ShaderContextValue, + type UvTransform, +} from '../../react/context/shader-context.js'; +import { CursorSmudge } from './cursor-smudge.js'; + +// ---- Mounted scene and browser input +const disposers: Array<() => void> = []; + +afterEach(() => { + cleanup(); + for (const dispose of disposers.splice(0)) dispose(); + setReducedMotionPolicy('auto'); + vi.unstubAllGlobals(); + vi.restoreAllMocks(); +}); + +// A still Source supplies its idle vote. The host draws pre-passes before +// ticking the shared cursor, in the same order as ShaderScene. +function makeScene({ scrollPush = false, floatTargets = true } = {}) { + let now = 1000; + let nextFrame = 0; + const frames = new Map(); + + vi.stubGlobal('requestAnimationFrame', (callback: FrameRequestCallback) => { + frames.set(++nextFrame, callback); + + return nextFrame; + }); + vi.stubGlobal('cancelAnimationFrame', (id: number) => frames.delete(id)); + const canvas = document.createElement('canvas'); + let top = 0; + + document.body.append(canvas); + canvas.getBoundingClientRect = () => ({ left: 0, top, width: 1000, height: 1000 }) as DOMRect; + let target: RenderTarget | null = null; + const draw = vi.fn(); + const renderer = { + domElement: canvas, + getSize: (size: { set: (x: number, y: number) => unknown }) => size.set(1000, 1000), + render: draw, + getRenderTarget: () => target, + setRenderTarget: (next: RenderTarget | null) => { + target = next; + }, + backend: { + isWebGLBackend: true, + extensions: { has: (name: string) => floatTargets && name === 'EXT_color_buffer_float' }, + }, + } as unknown as WebGPURenderer; + const scheduler = new FrameScheduler(); + const prePasses = new Set(); + const transforms = new Set(); + const input = new CursorInput({ element: canvas }); + + input.setScrollPush(scrollPush); + input.onPushStart(() => scheduler.requestRender()); + scheduler.setIdle(true); + scheduler.add(() => { + for (const pass of prePasses) pass(); + }); + scheduler.add(({ delta }) => { + if (!scrollPush) return; + input.tick(delta); + if (input.isPushing()) scheduler.requestRender(); + }); + const registerTransform = vi.fn((transform: UvTransform) => { + transforms.add(transform); + + return () => { + transforms.delete(transform); + }; + }); + const context = { + renderer: { three: renderer }, + scheduler, + getCursorInput: () => input, + registerBaseUvTransform: registerTransform, + registerPrePass: (pass: PrePass) => { + prePasses.add(pass); + + return () => { + prePasses.delete(pass); + }; + }, + canvasSize: { get: () => [1000, 1000, 1] as const, on: () => () => undefined }, + } as unknown as ShaderContextValue; + + function Wrapper({ children }: { children: ReactNode }) { + return {children}; + } + + scheduler.start(); + disposers.push(() => { + scheduler.dispose(); + input.dispose(); + canvas.remove(); + }); + + return { + Wrapper, + canvas, + scheduler, + draw, + transforms, + prePasses, + registerTransform, + scrollTo: (next: number) => { + top = next; + }, + get parked() { + return frames.size === 0; + }, + advance(count = 1) { + for (let frame = 0; frame < count; frame++) { + now += 1000 / 60; + const queued = [...frames.values()]; + + frames.clear(); + for (const callback of queued) callback(now); + } + }, + }; +} + +function move(x: number, y = 500) { + window.dispatchEvent( + new PointerEvent('pointermove', { clientX: x, clientY: y, pointerType: 'mouse' }), + ); +} + +function stroke(scene: ReturnType) { + move(100); + scene.advance(2); + move(300); + scene.advance(3); +} + +// ---- Persistence, recovery, and scene lifecycle +it('parks a persistent smudge and wakes for another stroke', () => { + const scene = makeScene(); + + render(, { wrapper: scene.Wrapper }); + stroke(scene); + expect(scene.parked).toBe(true); + const drawsAtRest = scene.draw.mock.calls.length; + + scene.advance(3600); + expect(scene.draw).toHaveBeenCalledTimes(drawsAtRest); + move(500); + scene.advance(3); + expect(scene.draw.mock.calls.length).toBeGreaterThan(drawsAtRest); + expect(scene.parked).toBe(true); +}); + +it('starts recovery when decay becomes positive without counting the idle gap', () => { + const scene = makeScene(); + const { rerender } = render(, { wrapper: scene.Wrapper }); + + stroke(scene); + scene.advance(3600); + rerender(); + scene.advance(4); + expect(scene.parked).toBe(false); + scene.advance(240); + expect(scene.parked).toBe(true); +}); + +it('continues recovery after an ordinary scene pause', () => { + const scene = makeScene(); + + render(, { wrapper: scene.Wrapper }); + stroke(scene); + expect(scene.parked).toBe(false); + + scene.scheduler.pause(); + const drawsBeforePause = scene.draw.mock.calls.length; + + scene.advance(120); + expect(scene.draw).toHaveBeenCalledTimes(drawsBeforePause); + + scene.scheduler.resume(); + expect(scene.parked).toBe(false); + scene.advance(2); + expect(scene.draw.mock.calls.length).toBeGreaterThan(drawsBeforePause); + scene.advance(240); + expect(scene.parked).toBe(true); +}); + +it.each(['blur', 'pointerleave', 'pointercancel'])('starts a fresh stroke after %s', (event) => { + const scene = makeScene(); + + render(, { wrapper: scene.Wrapper }); + stroke(scene); + (event === 'blur' ? window : scene.canvas).dispatchEvent(new Event(event)); + scene.advance(240); + expect(scene.parked).toBe(true); + + move(800); + scene.advance(3); + expect(scene.parked).toBe(true); + + move(700); + scene.advance(3); + expect(scene.parked).toBe(false); +}); + +it('clears a live smudge at zero strength and accepts fresh movement when enabled', () => { + const scene = makeScene(); + const { rerender } = render(, { wrapper: scene.Wrapper }); + + stroke(scene); + expect(scene.parked).toBe(false); + rerender(); + scene.advance(3); + expect(scene.parked).toBe(true); + stroke(scene); + expect(scene.parked).toBe(true); + + rerender(); + scene.advance(3); + expect(scene.parked).toBe(true); + stroke(scene); + expect(scene.parked).toBe(false); + expect(scene.registerTransform).toHaveBeenCalledTimes(1); +}); + +it('survives Strict Mode and releases its scene work on unmount', () => { + const scene = makeScene(); + const { unmount } = render( + + + , + { wrapper: scene.Wrapper }, + ); + + stroke(scene); + expect(scene.parked).toBe(false); + expect(scene.prePasses.size).toBe(1); + expect(scene.transforms.size).toBe(1); + unmount(); + scene.advance(3); + const drawsAfterUnmount = scene.draw.mock.calls.length; + + stroke(scene); + expect(scene.draw).toHaveBeenCalledTimes(drawsAfterUnmount); + expect(scene.parked).toBe(true); + expect(scene.prePasses.size).toBe(0); + expect(scene.transforms.size).toBe(0); +}); + +it('clears instead of freezing when the reduced-motion policy is paused', () => { + const scene = makeScene(); + + render(, { wrapper: scene.Wrapper }); + stroke(scene); + expect(scene.parked).toBe(false); + setReducedMotionPolicy('paused'); + scene.advance(3); + expect(scene.parked).toBe(true); + stroke(scene); + expect(scene.parked).toBe(true); + setReducedMotionPolicy('off'); + scene.advance(3); + expect(scene.parked).toBe(true); + stroke(scene); + expect(scene.parked).toBe(false); +}); + +it.each(['off', 'slow'] as const)('recovers and parks under the %s motion policy', (policy) => { + setReducedMotionPolicy(policy); + const scene = makeScene(); + + render(, { wrapper: scene.Wrapper }); + scene.advance(3); + expect(scene.parked).toBe(true); + stroke(scene); + scene.advance(50); + expect(scene.parked).toBe(policy === 'off'); + scene.advance(120); + expect(scene.parked).toBe(true); + const drawsAtRest = scene.draw.mock.calls.length; + + scene.advance(600); + expect(scene.draw).toHaveBeenCalledTimes(drawsAtRest); +}); + +it.each([true, false])( + 'accepts touch scrolling only with scrollPush enabled (%s)', + (scrollPush) => { + const scene = makeScene({ scrollPush }); + + render(, { wrapper: scene.Wrapper }); + scene.advance(3); + const drawsBeforeTouch = scene.draw.mock.calls.length; + const touch = new Touch({ identifier: 1, target: scene.canvas, clientX: 500, clientY: 500 }); + const event = new TouchEvent('touchstart', { + touches: [touch], + changedTouches: [touch], + bubbles: true, + cancelable: true, + }); + + scene.canvas.dispatchEvent(event); + scene.advance(); + scene.scrollTo(-30); + scene.advance(3); + expect(event.defaultPrevented).toBe(false); + expect(scene.draw.mock.calls.length > drawsBeforeTouch).toBe(scrollPush); + + scene.canvas.dispatchEvent( + new TouchEvent('touchend', { touches: [], changedTouches: [touch], bubbles: true }), + ); + scene.advance(300); + expect(scene.parked).toBe(true); + }, +); + +it('stays inert when floating-point render targets are unavailable', () => { + const scene = makeScene({ floatTargets: false }); + + render(, { wrapper: scene.Wrapper }); + stroke(scene); + expect(scene.draw).not.toHaveBeenCalled(); + expect(scene.parked).toBe(true); +}); + +it('updates strength from an animation signal without rebuilding the UV transform', () => { + const listeners = new Set<(value: number) => void>(); + const strength = { + get: () => 0.12, + on: (_event: 'change', listener: (value: number) => void) => { + listeners.add(listener); + + return () => { + listeners.delete(listener); + }; + }, + }; + const scene = makeScene(); + const { unmount } = render(, { wrapper: scene.Wrapper }); + + stroke(scene); + for (const listener of listeners) listener(0); + scene.advance(3); + expect(scene.parked).toBe(true); + expect(scene.registerTransform).toHaveBeenCalledTimes(1); + unmount(); + expect(listeners.size).toBe(0); +}); diff --git a/packages/shaders/src/components/cursor-smudge/cursor-smudge.tsx b/packages/shaders/src/components/cursor-smudge/cursor-smudge.tsx new file mode 100644 index 00000000..5424bfbf --- /dev/null +++ b/packages/shaders/src/components/cursor-smudge/cursor-smudge.tsx @@ -0,0 +1,32 @@ +'use client'; + +// Public controls for a directional cursor effect. The shader half owns +// its displacement field and reads the scene's shared cursor Input. +// Numeric controls ride uniforms, so animation signals keep the material stable. +import type { AnimatableProp } from '../../react/hooks/animatable-signal/animatable-signal.js'; +import { CursorSmudgeShader } from './shader.js'; + +export interface CursorSmudgeProps { + /** + * Maximum image pull in canvas heights. 0 disables distortion. Defaults + * to 0.12. Accepts a static value or an animation signal. + */ + strength?: AnimatableProp; + /** + * Brush radius in canvas heights, with a soft edge. 0 accepts no new + * strokes. Defaults to 0.18. Accepts a static value or an animation signal. + */ + radius?: AnimatableProp; + /** + * Recovery speed, 0..1. 0 holds the distortion until decay is raised or + * strength is set to 0. Positive values remove 90% of a pull in about + * four seconds near 0 and 0.2 seconds at 1. Resizing or remounting clears + * the distortion. Defaults to 0.4. + * Accepts a static value or an animation signal. + */ + decay?: AnimatableProp; +} + +export function CursorSmudge({ strength = 0.12, radius = 0.18, decay = 0.4 }: CursorSmudgeProps) { + return ; +} diff --git a/packages/shaders/src/components/cursor-smudge/shader.tsx b/packages/shaders/src/components/cursor-smudge/shader.tsx new file mode 100644 index 00000000..530ad642 --- /dev/null +++ b/packages/shaders/src/components/cursor-smudge/shader.tsx @@ -0,0 +1,168 @@ +'use client'; + +// Bridges the scene's cursor and frame loop to a displacement texture. +// The texture updates inside a pre-pass, so the scene samples the new state +// and ShaderMonitor includes the simulation in its GPU measurement. +import { useEffect, useMemo } from 'react'; + +import { oneMinus, texture, uniform, uv, vec2 } from 'three/tsl'; +import { Texture, Vector2 as ThreeVector2 } from 'three/webgpu'; + +import { + createReducedMotionWatcher, + type PushStroke, + type SchedulerTick, + type Vector2, +} from '../../engine.js'; +import { useAnimatableUniform } from '../../react/hooks/use-animatable-uniform/use-animatable-uniform.js'; +import { useAspectUniform } from '../../react/hooks/use-aspect-uniform/use-aspect-uniform.js'; +import { useBasePassUv } from '../../react/hooks/use-base-pass-uv/use-base-pass-uv.js'; +import { useShaderContext } from '../../react/hooks/use-shader-context/use-shader-context.js'; +import { useStaticSceneHint } from '../../react/hooks/use-static-hint/use-static-hint.js'; +import { createSmudgeField } from '../../runtime/smudge-field/smudge-field.js'; +import type { CursorSmudgeProps } from './cursor-smudge.js'; + +export function CursorSmudgeShader({ + strength = 0.12, + radius = 0.18, + decay = 0.4, +}: CursorSmudgeProps) { + const context = useShaderContext(); + const strengthUniform = useAnimatableUniform(strength); + const radiusUniform = useAnimatableUniform(radius); + const decayUniform = useAnimatableUniform(decay); + const aspect = useAspectUniform(); + const fieldTexture = useMemo(() => texture(new Texture(), uv()), []); + const active = useMemo(() => uniform(0), []); + + useStaticSceneHint(true); + + // ---- Read displacement when the Sources are sampled + // Pass coordinates start at the top-left; the field starts at the + // bottom-left, so flip y both when reading and when applying the vector. + // Subtract the pull: to move the image right, show the pixel to the left. + useBasePassUv( + (coordinate) => { + const pull = fieldTexture.uv(vec2(coordinate.x, oneMinus(coordinate.y))).rg; + + return coordinate.sub( + vec2(pull.x.div(aspect), pull.y.negate()).mul(strengthUniform).mul(active), + ); + }, + [fieldTexture, aspect, strengthUniform, active], + ); + + // ---- Create, drive, and dispose together for Strict Mode + useEffect(() => { + if (!context) return; + const { scheduler } = context; + const input = context.getCursorInput(); + const size = context.renderer.three.getSize(new ThreeVector2()); + const field = createSmudgeField(context.renderer.three, size.width, size.height); + const motion = createReducedMotionWatcher(); + let previous: Vector2 | null = null; + let inside = false; + let pendingStroke: PushStroke | null = null; + let pendingDelta = 0; + let pendingRecoveryDelta = 0; + let recovering = decayUniform.value > 0; + + const endStroke = () => { + previous = null; + inside = false; + pendingStroke = null; + }; + + const canvas = context.renderer.three.domElement; + + window.addEventListener('blur', endStroke); + canvas.addEventListener('pointerleave', endStroke); + canvas.addEventListener('pointercancel', endStroke); + + // Reset at the actual boundary, not after eased presence reaches zero. + // A move back onto the canvas seeds a new stroke instead of joining it + // to the last exit point, even if both events arrive between frames. + const stopMoves = input.onMove(() => { + const currentInside = input.isInside(); + + if (!currentInside || !inside) previous = currentInside ? input.getTarget() : null; + inside = currentInside; + if (inside) scheduler.requestRender(); + }); + const stopPause = scheduler.onPauseChange((paused) => { + previous = null; + pendingStroke = null; + pendingDelta = 0; + pendingRecoveryDelta = 0; + if (!paused && !field.atRest) scheduler.requestRender(); + }); + const stopMotion = motion.subscribe(() => scheduler.requestRender()); + + // The scene renders before child scheduler clients. Gather input here + // for the next draw; do the GPU work only inside its timed pre-pass. + const gather = ({ delta }: SchedulerTick) => { + const current = input.getTarget(); + const from = previous; + const moved = + inside && + current !== null && + from !== null && + (current[0] !== from[0] || current[1] !== from[1]); + const mouse = moved ? { from, to: current, presence: 1 } : null; + const push = input.getPush(); + + pendingStroke = mouse ?? push; + previous = inside ? current : null; + pendingDelta = delta; + // A held smudge can sleep for minutes. When recovery is enabled, + // start its clock now instead of applying the time spent asleep. + pendingRecoveryDelta = recovering ? delta : 0; + recovering = decayUniform.value > 0; + if (pendingStroke || (decayUniform.value > 0 && !field.atRest)) scheduler.requestRender(); + }; + + scheduler.add(gather); + + const stopPass = context.registerPrePass(() => { + const scale = motion.scale(); + + field.step({ + delta: pendingRecoveryDelta * scale, + inputDelta: pendingDelta, + stroke: pendingStroke, + radius: radiusUniform.value, + decay: decayUniform.value, + disabled: strengthUniform.value <= 0 || scale <= 0, + }); + pendingStroke = null; + pendingDelta = 0; + pendingRecoveryDelta = 0; + const current = field.texture; + + active.value = current && strengthUniform.value > 0 && scale > 0 ? 1 : 0; + if (current) fieldTexture.value = current; + }); + const stopResize = context.canvasSize.on('change', ([width, height]) => + field.resize(width, height), + ); + + scheduler.requestRender(); + + return () => { + window.removeEventListener('blur', endStroke); + canvas.removeEventListener('pointerleave', endStroke); + canvas.removeEventListener('pointercancel', endStroke); + stopMoves(); + stopPause(); + stopMotion(); + stopPass(); + stopResize(); + scheduler.remove(gather); + motion.dispose(); + field.dispose(); + active.value = 0; + }; + }, [context, fieldTexture, active, strengthUniform, radiusUniform, decayUniform]); + + return null; +} diff --git a/packages/shaders/src/components/index.ts b/packages/shaders/src/components/index.ts index 7fedb7bc..1f694008 100644 --- a/packages/shaders/src/components/index.ts +++ b/packages/shaders/src/components/index.ts @@ -19,6 +19,9 @@ export type { CursorRippleProps } from './cursor-ripple/cursor-ripple.js'; export { CursorRippleShader } from './cursor-ripple/shader.js'; export type { CursorRippleShaderProps } from './cursor-ripple/shader.js'; +export { CursorSmudge } from './cursor-smudge/cursor-smudge.js'; +export type { CursorSmudgeProps } from './cursor-smudge/cursor-smudge.js'; + export { CursorSpotlight } from './cursor-spotlight/cursor-spotlight.js'; export type { CursorSpotlightProps } from './cursor-spotlight/cursor-spotlight.js'; diff --git a/packages/shaders/src/runtime/smudge-field/smudge-field.ts b/packages/shaders/src/runtime/smudge-field/smudge-field.ts new file mode 100644 index 00000000..b8166ef0 --- /dev/null +++ b/packages/shaders/src/runtime/smudge-field/smudge-field.ts @@ -0,0 +1,202 @@ +// Stores a directional displacement between frames for CursorSmudge. Two +// textures trade read and write roles, so each pass can shrink the old +// displacement and add the latest stroke without reading its own output. +// This fragment pass works on both WebGPU and the WebGL2 fallback. +import { + clamp, + dot, + length, + max, + oneMinus, + smoothstep, + texture, + uniform, + uv, + vec2, + vec4, +} from 'three/tsl'; +import { HalfFloatType, LinearFilter, Texture, Vector2, type WebGPURenderer } from 'three/webgpu'; + +import type { PushStroke } from '../../inputs/scroll-push/scroll-push.js'; +import { createTexturePass } from '../texture-pass/texture-pass.js'; + +export interface SmudgeStep { + /** Seconds of simulation time since the last frame. */ + delta: number; + /** Seconds of real pointer movement, before reduced-motion scaling. */ + inputDelta: number; + /** The accepted stroke in top-left canvas coordinates, or null. */ + stroke: PushStroke | null; + /** Brush radius in canvas heights. Zero accepts no new displacement. */ + radius: number; + /** Recovery speed, 0..1. Zero holds displacement; higher values settle sooner. */ + decay: number; + /** Clear the field and accept no stroke while disabled. */ + disabled: boolean; +} + +export interface SmudgeField { + /** Advance and draw once. Call inside the scene's timed pre-pass. */ + step: (step: SmudgeStep) => void; + /** Latest displacement texture, or null when float targets are unavailable. */ + readonly texture: Texture | null; + /** Whether every stored displacement has settled to zero. */ + readonly atRest: boolean; + /** Match the canvas size, clearing displacement after a resize. */ + resize: (width: number, height: number) => void; + /** Release both targets and their materials. */ + dispose: () => void; +} + +// A quarter-resolution field is interpolated when sampled at full size. +// The 512-texel cap bounds memory and fill cost on large canvases. +const FIELD_SCALE = 0.25; +const MAX_FIELD_EDGE = 512; +// Displacement per canvas height travelled. Higher gain pulls harder. +const SWIPE_GAIN = 8; +// Canvas heights per second. Faster movement adds no extra force beyond this. +const SPEED_CAP = 3; +// Seconds to remove 90% of a pull, as positive decay approaches 0 and at 1. +// Exactly zero disables recovery. The 20x range for positive values keeps +// useful slow recovery across the dial instead of crowding it against zero. +const SLOW_RECOVERY_SECONDS = 4; +const FAST_RECOVERY_SECONDS = 0.2; +// Below one thousandth of the maximum pull, clear to exact zero and park. +const SETTLE_THRESHOLD = 0.001; + +// Keep all displacement at zero decay. Otherwise, keep 10% after the +// chosen recovery time, independent of frame rate and parking threshold. +function recoveryRetention(decay: number, delta: number): number { + if (decay <= 0) return 1; + const recoverySeconds = + SLOW_RECOVERY_SECONDS * + Math.pow(FAST_RECOVERY_SECONDS / SLOW_RECOVERY_SECONDS, Math.min(1, decay)); + + return Math.pow(0.1, Math.max(0, delta) / recoverySeconds); +} + +export function createSmudgeField( + renderer: WebGPURenderer, + width: number, + height: number, +): SmudgeField { + const placeholder = new Texture(); + const previous = texture(placeholder, uv()); + const retention = uniform(0); + const aspect = uniform(width / height); + const strokeFrom = uniform(new Vector2()); + const strokeTo = uniform(new Vector2()); + const impulse = uniform(new Vector2()); + const radius = uniform(0.18); + + // ---- A soft brush around the whole stroke + // uv() starts at the bottom-left. Stretch x by width/height so both axes + // measure canvas heights and the brush stays round on a wide canvas. + const stretch = vec2(aspect, 1); + const point = stretch.mul(uv()); + const start = stretch.mul(strokeFrom); + const segment = stretch.mul(strokeTo).sub(start); + // Project the point onto the stroke, then clamp to its endpoints. The + // denominator epsilon keeps a zero-length stroke from dividing by zero. + const along = clamp(dot(point.sub(start), segment).div(max(dot(segment, segment), 1e-8)), 0, 1); + const distance = length(point.sub(start.add(segment.mul(along)))); + // smoothstep eases from 0 at the stroke to 1 at the radius. Flip it so + // the stroke receives full displacement and the edge receives none. + // The radius epsilon keeps smoothstep's edges distinct at radius zero. + const brush = oneMinus(smoothstep(0, max(radius, 1e-5), distance)); + + // ---- Recovery and injection in one draw + // Multiplying by a positive fraction only shrinks displacement; there is + // no velocity or spring force to overshoot. Cap the vector's length at 1 + // so repeated fast strokes cannot exceed the component's strength. + const next = previous.rg.mul(retention).add(vec2(impulse).mul(brush)); + const capped = next.div(max(1, length(next))); + const node = vec4(capped, 0, 1); + const size = (nextWidth: number, nextHeight: number) => { + const scale = Math.min(FIELD_SCALE, MAX_FIELD_EDGE / Math.max(nextWidth, nextHeight)); + + return { + width: Math.max(1, Math.round(nextWidth * scale)), + height: Math.max(1, Math.round(nextHeight * scale)), + }; + }; + const options = { ...size(width, height), type: HalfFloatType, filter: LinearFilter }; + let read = createTexturePass(renderer, node, options); + let write = createTexturePass(renderer, node, options); + let bound = 0; + let needsClear = true; + + const hasTargets = () => read.texture !== null && write.texture !== null; + + // ---- Turn pointer travel into a capped directional impulse + const updateImpulse = (stroke: PushStroke | null, inputDelta: number) => { + impulse.value.set(0, 0); + if (!stroke || inputDelta <= 0) return 0; + const dx = (stroke.to[0] - stroke.from[0]) * aspect.value; + const dy = stroke.from[1] - stroke.to[1]; + const travel = Math.hypot(dx, dy); + + if (travel === 0) return 0; + const speed = Math.min(travel / inputDelta, SPEED_CAP); + const push = speed * inputDelta * SWIPE_GAIN * Math.max(0, Math.min(1, stroke.presence)); + + impulse.value.set((dx / travel) * push, (dy / travel) * push); + strokeFrom.value.set(stroke.from[0], 1 - stroke.from[1]); + strokeTo.value.set(stroke.to[0], 1 - stroke.to[1]); + + return push; + }; + + // ---- Advance, resize, and release the displacement field + return { + step(step) { + if (!hasTargets()) return; + const keep = recoveryRetention(step.decay, step.delta); + const stroke = step.disabled || step.radius <= 0 ? null : step.stroke; + const push = updateImpulse(stroke, step.inputDelta); + + // A held field needs no simulation draw, even when another Source + // keeps the scene animating. Keep its texture for the next stroke. + if (!needsClear && push === 0 && (bound === 0 || (!step.disabled && step.decay <= 0))) return; + // This scalar is an upper bound on every texel's length, so deciding + // when to park needs no synchronous GPU readback. + bound = Math.min(1, (needsClear ? 0 : bound * keep) + push); + const clear = step.disabled || (step.decay > 0 && push === 0 && bound <= SETTLE_THRESHOLD); + + retention.value = needsClear || clear ? 0 : keep; + radius.value = step.radius; + if (clear) { + impulse.value.set(0, 0); + bound = 0; + } + const source = read.texture; + + if (!source) return; + previous.value = source; + write.render(); + [read, write] = [write, read]; + needsClear = false; + }, + get texture() { + return hasTargets() ? read.texture : null; + }, + get atRest() { + return !hasTargets() || bound === 0; + }, + resize(nextWidth, nextHeight) { + if (nextWidth <= 0 || nextHeight <= 0) return; + const nextSize = size(nextWidth, nextHeight); + + read.resize(nextSize.width, nextSize.height); + write.resize(nextSize.width, nextSize.height); + aspect.value = nextWidth / nextHeight; + bound = 0; + needsClear = true; + }, + dispose() { + read.dispose(); + write.dispose(); + placeholder.dispose(); + }, + }; +} From 80b963c196b44643036a6dddeaba2badc9833fe5 Mon Sep 17 00:00:00 2001 From: Hunter Garrett Date: Tue, 13 Oct 2026 11:53:58 -0400 Subject: [PATCH 2/5] docs: add CursorSmudge demo and visual coverage --- apps/docs-tests/a11y/component-pages.spec.ts | 1 + apps/docs-tests/visual/cursor-smudge.spec.ts | 141 ++++++++++++++ .../cursor-smudge-active-chromium-darwin.png | Bin 0 -> 83488 bytes .../cursor-smudge-active-chromium-linux.png | Bin 0 -> 83487 bytes apps/docs/public/posters/cursor-smudge.jpg | Bin 0 -> 70199 bytes .../public/posters/cursor-smudge.thumb.webp | Bin 0 -> 1214 bytes .../src/app/components/cursor-smudge/demo.tsx | 66 +++++++ .../app/components/cursor-smudge/params.ts | 13 ++ .../app/components/cursor-smudge/scene.tsx | 25 +++ .../docs/src/app/components/demo-registry.tsx | 35 ++++ .../app/dev/cursor-smudge-probe/page.dev.tsx | 11 ++ .../dev/cursor-smudge-probe/probe-scene.tsx | 176 ++++++++++++++++++ apps/docs/src/content/components.ts | 5 + scripts/build-posters.sh | 1 + 14 files changed, 474 insertions(+) create mode 100644 apps/docs-tests/visual/cursor-smudge.spec.ts create mode 100644 apps/docs-tests/visual/cursor-smudge.spec.ts-snapshots/cursor-smudge-active-chromium-darwin.png create mode 100644 apps/docs-tests/visual/cursor-smudge.spec.ts-snapshots/cursor-smudge-active-chromium-linux.png create mode 100644 apps/docs/public/posters/cursor-smudge.jpg create mode 100644 apps/docs/public/posters/cursor-smudge.thumb.webp create mode 100644 apps/docs/src/app/components/cursor-smudge/demo.tsx create mode 100644 apps/docs/src/app/components/cursor-smudge/params.ts create mode 100644 apps/docs/src/app/components/cursor-smudge/scene.tsx create mode 100644 apps/docs/src/app/dev/cursor-smudge-probe/page.dev.tsx create mode 100644 apps/docs/src/app/dev/cursor-smudge-probe/probe-scene.tsx diff --git a/apps/docs-tests/a11y/component-pages.spec.ts b/apps/docs-tests/a11y/component-pages.spec.ts index 46caff5a..671b72e1 100644 --- a/apps/docs-tests/a11y/component-pages.spec.ts +++ b/apps/docs-tests/a11y/component-pages.spec.ts @@ -10,6 +10,7 @@ const routes = [ '/components/mesh-gradient', '/components/aurora', '/components/blobs', + '/components/cursor-smudge', '/components/dot-field', '/components/fractal-noise', '/components/god-rays', diff --git a/apps/docs-tests/visual/cursor-smudge.spec.ts b/apps/docs-tests/visual/cursor-smudge.spec.ts new file mode 100644 index 00000000..3a8d51a6 --- /dev/null +++ b/apps/docs-tests/visual/cursor-smudge.spec.ts @@ -0,0 +1,141 @@ +// Exercise the mounted effect through pointer input and the real GPU. +// The browser clock fixes stroke timing; no displacement-field internals +// are exposed to the test or used to seed the image. +import type { Page } from '@playwright/test'; + +import { expect, test } from './fixtures'; + +// ---- Controlled browser input and image comparison +async function openProbe(page: Page, source = 'LiquidGradient') { + await page.clock.install({ time: new Date('2026-01-01T00:00:00Z') }); + await page.goto('/dev/cursor-smudge-probe'); + const canvas = page.locator('canvas').first(); + + await canvas.waitFor(); + await expect(page.locator('[data-smudge-probe]')).toContainText(/ticks: [1-9]/); + if (source === 'LinearGradient') { + await page.getByRole('combobox', { name: 'Source', exact: true }).click(); + await page.getByRole('option', { name: 'LinearGradient', exact: true }).click(); + } + await page.clock.pauseAt(new Date('2026-01-01T01:00:00Z')); + await page.clock.runFor(64); + // The HTML monitor overlaps the canvas but is not part of the GPU output. + await page.addStyleTag({ content: '[data-testid="shaders-monitor"] { visibility: hidden; }' }); + + return canvas; +} + +async function changedPixels(page: Page, before: Buffer, after: Buffer) { + return page.evaluate( + async ([first, second]) => { + const read = async (png: string) => { + const response = await fetch(`data:image/png;base64,${png}`); + const bitmap = await createImageBitmap(await response.blob()); + const scratch = document.createElement('canvas'); + + scratch.width = bitmap.width; + scratch.height = bitmap.height; + const context = scratch.getContext('2d')!; + + context.drawImage(bitmap, 0, 0); + bitmap.close(); + + return context.getImageData(0, 0, scratch.width, scratch.height).data; + }; + const [left, right] = await Promise.all([read(first!), read(second!)]); + let changed = 0; + + for (let index = 0; index < left.length; index += 4) { + const difference = + Math.abs(left[index]! - right[index]!) + + Math.abs(left[index + 1]! - right[index + 1]!) + + Math.abs(left[index + 2]! - right[index + 2]!); + + if (difference > 3) changed++; + } + + return changed; + }, + [before.toString('base64'), after.toString('base64')], + ); +} + +async function swipe(page: Page) { + const box = await page.locator('canvas').first().boundingBox(); + + if (!box) throw new Error('The smudge canvas has no bounding box'); + for (let step = 0; step <= 12; step++) { + await page.mouse.move(box.x + box.width * (0.2 + step * 0.05), box.y + box.height * 0.6); + await page.clock.runFor(16); + } + // Input is gathered after drawing, so let the last stroke reach the image. + await page.clock.runFor(32); +} + +// ---- GPU output through the mounted component +test('CursorSmudge pulls a still LiquidGradient along a swipe', async ({ page }) => { + const canvas = await openProbe(page); + + await swipe(page); + await expect(canvas).toHaveScreenshot('cursor-smudge-active.png'); +}); + +for (const source of ['LiquidGradient', 'LinearGradient']) { + test(`CursorSmudge distorts ${source} and returns to its original image`, async ({ page }) => { + const canvas = await openProbe(page, source); + const before = await canvas.screenshot(); + + await swipe(page); + expect(await changedPixels(page, before, await canvas.screenshot())).toBeGreaterThan(500); + await page.clock.runFor(4000); + expect(await changedPixels(page, before, await canvas.screenshot())).toBe(0); + }); +} + +test('CursorSmudge at zero strength leaves the GPU image unchanged', async ({ page }) => { + const canvas = await openProbe(page); + const strength = page.getByRole('slider', { name: 'Strength', exact: true }); + + await strength.press('Home'); + await expect(strength).toHaveAttribute('aria-valuenow', '0'); + await page.clock.runFor(32); + const before = await canvas.screenshot(); + + await swipe(page); + expect(await changedPixels(page, before, await canvas.screenshot())).toBe(0); +}); + +test('zero decay holds the GPU distortion until recovery or clearing is requested', async ({ + page, +}) => { + const canvas = await openProbe(page); + const decay = page.getByRole('slider', { name: 'Decay', exact: true }); + + // Keep rendering to prove persistence also holds beside an animated Source. + await page.getByRole('checkbox', { name: 'Keep drawing for GPU measurement' }).check(); + await decay.press('Home'); + await expect(decay).toHaveAttribute('aria-valuenow', '0'); + await page.clock.runFor(32); + const original = await canvas.screenshot(); + + await swipe(page); + const held = await canvas.screenshot(); + + expect(await changedPixels(page, original, held)).toBeGreaterThan(500); + await page.clock.runFor(6000); + expect(await changedPixels(page, held, await canvas.screenshot())).toBe(0); + + await decay.press('End'); + await page.clock.runFor(64); + expect(await changedPixels(page, original, await canvas.screenshot())).toBeGreaterThan(100); + await page.clock.runFor(1000); + expect(await changedPixels(page, original, await canvas.screenshot())).toBe(0); + + await decay.press('Home'); + await page.clock.runFor(32); + await swipe(page); + expect(await changedPixels(page, original, await canvas.screenshot())).toBeGreaterThan(500); + await page.getByRole('slider', { name: 'Strength', exact: true }).press('Home'); + await page.clock.runFor(32); + expect(await changedPixels(page, original, await canvas.screenshot())).toBe(0); +}); diff --git a/apps/docs-tests/visual/cursor-smudge.spec.ts-snapshots/cursor-smudge-active-chromium-darwin.png b/apps/docs-tests/visual/cursor-smudge.spec.ts-snapshots/cursor-smudge-active-chromium-darwin.png new file mode 100644 index 0000000000000000000000000000000000000000..30f677f3885d3e6a9f825287d748054613903f9a GIT binary patch literal 83488 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
    12J^$TQvym9HCuLjj-#iA?M8_FHDcP=+pFs#}h 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 LNkvXXu0mjfYEzk* literal 0 HcmV?d00001 diff --git a/apps/docs-tests/visual/cursor-smudge.spec.ts-snapshots/cursor-smudge-active-chromium-linux.png b/apps/docs-tests/visual/cursor-smudge.spec.ts-snapshots/cursor-smudge-active-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ecac4189bced9ae1670ce39e9e9069cd1037bbdd GIT binary patch literal 83487 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≀pKwVDXy#%zfv2 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 KMNUMnLSTYXx4jMk literal 0 HcmV?d00001 diff --git a/apps/docs/public/posters/cursor-smudge.jpg b/apps/docs/public/posters/cursor-smudge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c95e1f23aafaa422cb5f82ed96ba3e0fa3f0ca91 GIT binary patch literal 70199 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 literal 0 HcmV?d00001 diff --git a/apps/docs/src/app/components/cursor-smudge/demo.tsx b/apps/docs/src/app/components/cursor-smudge/demo.tsx new file mode 100644 index 00000000..6a79a277 --- /dev/null +++ b/apps/docs/src/app/components/cursor-smudge/demo.tsx @@ -0,0 +1,66 @@ +'use client'; + +// The interactive part of the Cursor Smudge page owns its control store. +// The scene loads in the browser because three's renderer cannot run in SSR. +import dynamic from 'next/dynamic'; +import { useMemo } from 'react'; + +import { + ControlPanel, + ControlsProvider, + createControlStore, + DemoLayout, + Section, + SliderInput, + useSnapshot, +} from '@/components/controls'; +import { DemoPoster } from '@/components/DemoPoster'; +import { VisualTestPause } from '@/lib/visualTestHooks'; + +import { type CursorSmudgeParams, INITIAL } from './params'; + +const CursorSmudgeScene = dynamic(() => import('./scene'), { ssr: false }); + +// ---- Live preview +// Only this subscriber and the changed control rerender during a slider drag. +function CursorSmudgeDemo() { + const params = useSnapshot(); + + return ( + + + + + + ); +} + +// ---- Controls and page layout +function CursorSmudgeControls() { + return ( + +
    + + + +
    +
    + ); +} + +export function CursorSmudgeIsland() { + const store = useMemo(() => createControlStore(INITIAL), []); + + return ( + + }> +
    + +
    +
    +
    + ); +} diff --git a/apps/docs/src/app/components/cursor-smudge/params.ts b/apps/docs/src/app/components/cursor-smudge/params.ts new file mode 100644 index 00000000..197352e9 --- /dev/null +++ b/apps/docs/src/app/components/cursor-smudge/params.ts @@ -0,0 +1,13 @@ +// Defaults shared by the docs controls and the poster's scene. +// Keep these aligned with CursorSmudge's public defaults. +export interface CursorSmudgeParams { + strength: number; + radius: number; + decay: number; +} + +export const INITIAL: CursorSmudgeParams = { + strength: 0.12, + radius: 0.18, + decay: 0.4, +}; diff --git a/apps/docs/src/app/components/cursor-smudge/scene.tsx b/apps/docs/src/app/components/cursor-smudge/scene.tsx new file mode 100644 index 00000000..170a351d --- /dev/null +++ b/apps/docs/src/app/components/cursor-smudge/scene.tsx @@ -0,0 +1,25 @@ +'use client'; + +// A still LiquidGradient makes the cursor's directional pull and recovery +// visible. The poster captures this same scene before any pointer movement. +import type { ReactNode } from 'react'; + +import { CursorSmudge, LiquidGradient, ShaderScene } from '@camp-dev/shaders'; + +import { type CursorSmudgeParams, INITIAL } from './params'; + +export default function CursorSmudgeScene({ + params = INITIAL, + children, +}: { + params?: CursorSmudgeParams; + children?: ReactNode; +} = {}) { + return ( + + + + {children} + + ); +} diff --git a/apps/docs/src/app/components/demo-registry.tsx b/apps/docs/src/app/components/demo-registry.tsx index f049342a..24df87be 100644 --- a/apps/docs/src/app/components/demo-registry.tsx +++ b/apps/docs/src/app/components/demo-registry.tsx @@ -12,6 +12,7 @@ import { AuroraIsland } from './aurora/demo'; import { BlobsIsland } from './blobs/demo'; import { ConicGradientIsland } from './conic-gradient/demo'; import { CursorRippleIsland } from './cursor-ripple/demo'; +import { CursorSmudgeIsland } from './cursor-smudge/demo'; import { CursorSpotlightIsland } from './cursor-spotlight/demo'; import { DissolveIsland } from './dissolve/demo'; import { DitherIsland } from './dither/demo'; @@ -108,6 +109,40 @@ export const COMPONENT_PAGES: Record = { ), }, + 'cursor-smudge': { + Island: CursorSmudgeIsland, + copySiblings: [''], + usageSnippet: ` + + +`, + usageNotes: ( + <> +

    + Move the pointer over the canvas without pressing. Higher decay values + recover faster. A still pointer adds no distortion, and the scene can idle after recovery + when its other components are still. Set strength to 0 to disable the effect. +

    +

    + Set decay to 0 to keep the distortion after the pointer stops. New strokes + keep changing it. Raise decay to resume recovery, or set strength to 0 to clear it. + Resizing or remounting the scene also clears the distortion. An animated Source keeps + moving beneath the held distortion. +

    +

    + Place Cursor Smudge after a Source inside <ShaderScene>. It bends the + image drawn by Sources; other Effects keep their own contributions unbent. Sampling past + the image extends its edge pixels. Cursor Smudge requires Mode 1. +

    +

    + Enable scrollPush on the scene to smudge while a finger scrolls across it, + including the fling after release. The page keeps scrolling. Reduced motion slows recovery + to 0.3× speed; the explicit paused motion policy clears the effect. An + ordinary scene pause preserves the smudge until the scene resumes. +

    + + ), + }, 'cursor-spotlight': { Island: CursorSpotlightIsland, copySiblings: [''], diff --git a/apps/docs/src/app/dev/cursor-smudge-probe/page.dev.tsx b/apps/docs/src/app/dev/cursor-smudge-probe/page.dev.tsx new file mode 100644 index 00000000..76df33b5 --- /dev/null +++ b/apps/docs/src/app/dev/cursor-smudge-probe/page.dev.tsx @@ -0,0 +1,11 @@ +'use client'; + +// Phase-review route for SHA-224. Loading the scene only in the browser +// keeps three/webgpu's reference to self out of server rendering. +import dynamic from 'next/dynamic'; + +const ProbeScene = dynamic(() => import('./probe-scene'), { ssr: false }); + +export default function CursorSmudgeProbePage() { + return ; +} diff --git a/apps/docs/src/app/dev/cursor-smudge-probe/probe-scene.tsx b/apps/docs/src/app/dev/cursor-smudge-probe/probe-scene.tsx new file mode 100644 index 00000000..392e8952 --- /dev/null +++ b/apps/docs/src/app/dev/cursor-smudge-probe/probe-scene.tsx @@ -0,0 +1,176 @@ +'use client'; + +// One scene for CursorSmudge phase reviews. The card-sized mode measures +// the complete effect at 312 by 309 CSS pixels and a maximum DPR of 2. +// The tall page also lets a phone push the scene while scrolling it. +import { useEffect, useMemo, useState } from 'react'; + +import { + CursorSmudge, + getReducedMotionPolicy, + LinearGradient, + LiquidGradient, + type ReducedMotionPolicy, + setReducedMotionPolicy, + ShaderMonitor, + ShaderScene, + useStaticSceneHint, +} from '@camp-dev/shaders'; + +import { + ControlPanel, + ControlsProvider, + createControlStore, + Section, + SelectInput, + SliderInput, + useSnapshot, +} from '@/components/controls'; + +// ---- Probe settings and measured scene +interface ProbeParams { + strength: number; + radius: number; + decay: number; + source: 'liquid' | 'linear'; +} + +const INITIAL: ProbeParams = { + strength: 0.12, + radius: 0.18, + decay: 0.4, + source: 'liquid', +}; + +function KeepDrawing() { + useStaticSceneHint(false); + + return null; +} + +function LiveScene({ benchmark, paused }: { benchmark: boolean; paused: boolean }) { + const params = useSnapshot(); + + return ( + + {params.source === 'liquid' ? : } + + {benchmark ? : null} + + + ); +} + +// ---- Effect controls +function Controls() { + return ( + +
    + + + + +
    +
    + ); +} + +// ---- Review layout and scene policies +export default function ProbeScene() { + const store = useMemo(() => createControlStore(INITIAL), []); + const [benchmark, setBenchmark] = useState(false); + const [large, setLarge] = useState(false); + const [paused, setPaused] = useState(false); + const [motion, setMotion] = useState(getReducedMotionPolicy); + + // Restore the app's policy when leaving this dev-only probe. + useEffect(() => { + const previous = getReducedMotionPolicy(); + + return () => setReducedMotionPolicy(previous); + }, []); + + return ( +
    +

    CursorSmudge · phase 3

    +

    + Move over the still gradient. Stop to watch it recover. On a phone, scroll with a finger + starting on the image. +

    +

    + {large ? '624 × 618' : '312 × 309'} CSS pixels, up to 2× pixel density. The GPU reading + includes the displacement pass. +

    +
    + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + ); +} diff --git a/apps/docs/src/content/components.ts b/apps/docs/src/content/components.ts index bf2d849e..d5e86676 100644 --- a/apps/docs/src/content/components.ts +++ b/apps/docs/src/content/components.ts @@ -38,6 +38,11 @@ export const COMPONENTS = { 'A water surface over the scene. Drag the pointer and it leaves a wake that spreads, catches light, and settles, bending the image beneath it. Stacks on top of any base component inside .', category: 'cursor', }, + 'cursor-smudge': { + description: + 'Pulls the image drawn by Sources along pointer movement, then eases it back without bouncing. Faster swipes pull harder, up to a cap.', + category: 'cursor', + }, 'cursor-spotlight': { description: 'Brightens the scene around the pointer. Invisible until the first move, it fades out when the pointer leaves the canvas. Stacks on top of any base component inside .', diff --git a/scripts/build-posters.sh b/scripts/build-posters.sh index ae0a3a27..a57ffc80 100755 --- a/scripts/build-posters.sh +++ b/scripts/build-posters.sh @@ -72,6 +72,7 @@ for pair in \ "blobs:jpg" \ "led-wall:jpg:#0b0f0d" \ "cursor-ripple:jpg" \ + "cursor-smudge:jpg" \ "cursor-spotlight:jpg" \ "radial-wipe:jpg:#0b0f0d" \ "dissolve:jpg:#0b0f0d"; do From ad6e0f3387c5f40410bfd55c62d911dc94b5757a Mon Sep 17 00:00:00 2001 From: Hunter Garrett Date: Tue, 13 Oct 2026 16:03:16 -0400 Subject: [PATCH 3/5] fix(shaders): redraw a parked scene after removing CursorSmudge With decay={0}, removing the effect from a parked scene left the held distortion on the canvas until another change woke the scheduler. --- .../components/cursor-smudge/cursor-smudge.test.tsx | 12 ++++++++++++ .../shaders/src/components/cursor-smudge/shader.tsx | 3 +++ 2 files changed, 15 insertions(+) diff --git a/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx b/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx index b7e79205..d4571ad2 100644 --- a/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx +++ b/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx @@ -260,6 +260,18 @@ it('survives Strict Mode and releases its scene work on unmount', () => { expect(scene.transforms.size).toBe(0); }); +it('redraws a parked scene once after removing a held smudge', () => { + const scene = makeScene(); + const { unmount } = render(, { wrapper: scene.Wrapper }); + + stroke(scene); + expect(scene.parked).toBe(true); + unmount(); + expect(scene.parked).toBe(false); + scene.advance(); + expect(scene.parked).toBe(true); +}); + it('clears instead of freezing when the reduced-motion policy is paused', () => { const scene = makeScene(); diff --git a/packages/shaders/src/components/cursor-smudge/shader.tsx b/packages/shaders/src/components/cursor-smudge/shader.tsx index 530ad642..959a3013 100644 --- a/packages/shaders/src/components/cursor-smudge/shader.tsx +++ b/packages/shaders/src/components/cursor-smudge/shader.tsx @@ -161,6 +161,9 @@ export function CursorSmudgeShader({ motion.dispose(); field.dispose(); active.value = 0; + // A parked scene still shows the last smudged frame. Draw once more + // so a held distortion leaves the canvas with the effect. + scheduler.requestRender(); }; }, [context, fieldTexture, active, strengthUniform, radiusUniform, decayUniform]); From 68a8cb5741959ac05e3c71c9d76a8b8e51b977db Mon Sep 17 00:00:00 2001 From: Hunter Garrett Date: Tue, 13 Oct 2026 16:48:38 -0400 Subject: [PATCH 4/5] refactor(shaders): keep the smudge field beside CursorSmudge The field was the only runtime module a component imported directly instead of through the engine barrel. Exporting it from engine.ts would make it public API, so it moves next to its one consumer, as LiquidGradient keeps flow.ts. --- .../smudge-field.ts => components/cursor-smudge/field.ts} | 7 ++++--- packages/shaders/src/components/cursor-smudge/shader.tsx | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) rename packages/shaders/src/{runtime/smudge-field/smudge-field.ts => components/cursor-smudge/field.ts} (97%) diff --git a/packages/shaders/src/runtime/smudge-field/smudge-field.ts b/packages/shaders/src/components/cursor-smudge/field.ts similarity index 97% rename from packages/shaders/src/runtime/smudge-field/smudge-field.ts rename to packages/shaders/src/components/cursor-smudge/field.ts index b8166ef0..eb5cfaf5 100644 --- a/packages/shaders/src/runtime/smudge-field/smudge-field.ts +++ b/packages/shaders/src/components/cursor-smudge/field.ts @@ -1,7 +1,9 @@ // Stores a directional displacement between frames for CursorSmudge. Two // textures trade read and write roles, so each pass can shrink the old // displacement and add the latest stroke without reading its own output. -// This fragment pass works on both WebGPU and the WebGL2 fallback. +// This fragment pass works on both WebGPU and the WebGL2 fallback. Lives +// beside the component, as stroke.ts does in cursor-ripple/, until a second +// component needs it. import { clamp, dot, @@ -17,8 +19,7 @@ import { } from 'three/tsl'; import { HalfFloatType, LinearFilter, Texture, Vector2, type WebGPURenderer } from 'three/webgpu'; -import type { PushStroke } from '../../inputs/scroll-push/scroll-push.js'; -import { createTexturePass } from '../texture-pass/texture-pass.js'; +import { createTexturePass, type PushStroke } from '../../engine.js'; export interface SmudgeStep { /** Seconds of simulation time since the last frame. */ diff --git a/packages/shaders/src/components/cursor-smudge/shader.tsx b/packages/shaders/src/components/cursor-smudge/shader.tsx index 959a3013..47dd7a1d 100644 --- a/packages/shaders/src/components/cursor-smudge/shader.tsx +++ b/packages/shaders/src/components/cursor-smudge/shader.tsx @@ -19,8 +19,8 @@ import { useAspectUniform } from '../../react/hooks/use-aspect-uniform/use-aspec import { useBasePassUv } from '../../react/hooks/use-base-pass-uv/use-base-pass-uv.js'; import { useShaderContext } from '../../react/hooks/use-shader-context/use-shader-context.js'; import { useStaticSceneHint } from '../../react/hooks/use-static-hint/use-static-hint.js'; -import { createSmudgeField } from '../../runtime/smudge-field/smudge-field.js'; import type { CursorSmudgeProps } from './cursor-smudge.js'; +import { createSmudgeField } from './field.js'; export function CursorSmudgeShader({ strength = 0.12, From c468952f25550e9ce1bee736c8914bba3354cd94 Mon Sep 17 00:00:00 2001 From: Hunter Garrett Date: Tue, 13 Oct 2026 16:50:01 -0400 Subject: [PATCH 5/5] fix(shaders): time a stroke's first frame as one frame after a park A parked scene's first tick reports the whole sleep as its delta, so a fast first move read as slow and slipped past the field's speed cap. The same swipe pulled about twice as hard after idle. The first frame of a stroke now counts as at most 1/60 s. --- .../cursor-smudge/cursor-smudge.test.tsx | 25 +++++++++++++++++++ .../src/components/cursor-smudge/shader.tsx | 12 ++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx b/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx index d4571ad2..14487808 100644 --- a/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx +++ b/packages/shaders/src/components/cursor-smudge/cursor-smudge.test.tsx @@ -164,6 +164,31 @@ it('parks a persistent smudge and wakes for another stroke', () => { expect(scene.parked).toBe(true); }); +it('pulls a fast swipe as hard after the scene parks as before', () => { + const scene = makeScene(); + // Frames until the pull recovers and the scene parks. A stronger pull + // takes longer to fall under the settle threshold. + const settle = () => { + let frames = 0; + + for (; !scene.parked && frames < 600; frames++) scene.advance(); + + return frames; + }; + + render(, { wrapper: scene.Wrapper }); + move(100); + scene.advance(); + move(200); + scene.advance(); + const pulledRunning = settle(); + + scene.advance(600); + move(300); + scene.advance(); + expect(settle()).toBe(pulledRunning); +}); + it('starts recovery when decay becomes positive without counting the idle gap', () => { const scene = makeScene(); const { rerender } = render(, { wrapper: scene.Wrapper }); diff --git a/packages/shaders/src/components/cursor-smudge/shader.tsx b/packages/shaders/src/components/cursor-smudge/shader.tsx index 47dd7a1d..0d1b72db 100644 --- a/packages/shaders/src/components/cursor-smudge/shader.tsx +++ b/packages/shaders/src/components/cursor-smudge/shader.tsx @@ -22,6 +22,11 @@ import { useStaticSceneHint } from '../../react/hooks/use-static-hint/use-static import type { CursorSmudgeProps } from './cursor-smudge.js'; import { createSmudgeField } from './field.js'; +// Longest a stroke's first frame of travel counts for, in seconds: one +// frame at 60 Hz. Longer lets a fast first move after the scene parks pull +// harder than the same move mid-stroke; shorter makes it pull softer. +const STROKE_START_SECONDS = 1 / 60; + export function CursorSmudgeShader({ strength = 0.12, radius = 0.18, @@ -63,6 +68,7 @@ export function CursorSmudgeShader({ let previous: Vector2 | null = null; let inside = false; let pendingStroke: PushStroke | null = null; + let stroking = false; let pendingDelta = 0; let pendingRecoveryDelta = 0; let recovering = decayUniform.value > 0; @@ -113,7 +119,11 @@ export function CursorSmudgeShader({ pendingStroke = mouse ?? push; previous = inside ? current : null; - pendingDelta = delta; + // A parked scene's first tick reports the whole sleep as its delta, + // but the travel it carries took about one frame. Without the cap, the + // field's speed limit would see a slow move and let a fast one through. + pendingDelta = pendingStroke && !stroking ? Math.min(delta, STROKE_START_SECONDS) : delta; + stroking = pendingStroke !== null; // A held smudge can sleep for minutes. When recovery is enabled, // start its clock now instead of applying the time spent asleep. pendingRecoveryDelta = recovering ? delta : 0;