From 237248321a1a40b9b98e7e0a6df156d0aa247ef0 Mon Sep 17 00:00:00 2001 From: cashmere Date: Sun, 2 Aug 2026 19:59:32 +0200 Subject: feat: pan & zoom motion presets Ken Burns-style motion effects (zoom in/out, pan left/right/up/down) that drag onto clips like regular effects. Instead of shader passes they evaluate a per-frame transform offset in resolveVisualState, so they stack with keyframed transforms and work in preview and export. - intensity param (0-100%, keyframable) scales the whole effect - easing select maps progress through the graph editor's bezier presets - supportsStandalone: false hides them from effect-track creation - empty shader pass groups are filtered out so pass-less effects and zero-intensity blur no longer crash the compositor --- apps/web/src/effects/definitions/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'apps/web/src/effects/definitions/index.ts') diff --git a/apps/web/src/effects/definitions/index.ts b/apps/web/src/effects/definitions/index.ts index 511df042..e38e5710 100644 --- a/apps/web/src/effects/definitions/index.ts +++ b/apps/web/src/effects/definitions/index.ts @@ -1,7 +1,8 @@ import { effectsRegistry } from "../registry"; import { blurEffectDefinition } from "./blur"; +import { motionEffectDefinitions } from "./motion"; -const defaultEffects = [blurEffectDefinition]; +const defaultEffects = [blurEffectDefinition, ...motionEffectDefinitions]; export function registerDefaultEffects(): void { for (const definition of defaultEffects) { -- cgit v1.3.1