From 3e89d2998588f8e35c524e523ba2ee853f0f6475 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 20 Apr 2026 11:31:17 +0200 Subject: refactor: restructure files to their domains, new preview overlay system, and dep graph --- apps/web/src/masks/param-update.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 apps/web/src/masks/param-update.ts (limited to 'apps/web/src/masks/param-update.ts') diff --git a/apps/web/src/masks/param-update.ts b/apps/web/src/masks/param-update.ts new file mode 100644 index 00000000..e5c7f5b7 --- /dev/null +++ b/apps/web/src/masks/param-update.ts @@ -0,0 +1,26 @@ +import { FEATHER_HANDLE_SCALE, MAX_FEATHER } from "@/masks/feather"; + +export function computeFeatherUpdate({ + startFeather, + deltaX, + deltaY, + directionX, + directionY, +}: { + startFeather: number; + deltaX: number; + deltaY: number; + directionX: number; + directionY: number; +}): { feather: number } { + const projection = deltaX * directionX + deltaY * directionY; + return { + feather: Math.max( + 0, + Math.min( + MAX_FEATHER, + Math.round(startFeather + projection / FEATHER_HANDLE_SCALE), + ), + ), + }; +} -- cgit v1.3.1