From 0d54078bab079ac08d9c4ea5bad8b912fc3491f8 Mon Sep 17 00:00:00 2001 From: shrimbly Date: Wed, 4 Feb 2026 13:39:35 +1300 Subject: [PATCH] fix(42-02): add easeCurve to dimension records and validation defaults - Add easeCurve (340x480) to WorkflowCanvas keyboard shortcut dimensions - Add easeCurve (340x480) to quickstart validation DEFAULT_DIMENSIONS - Add easeCurve case to createDefaultNodeData switch (fixes exhaustive return) - Required for NodeType union exhaustiveness after adding easeCurve type Co-Authored-By: Claude Opus 4.5 --- src/components/WorkflowCanvas.tsx | 1 + src/lib/quickstart/validation.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/components/WorkflowCanvas.tsx b/src/components/WorkflowCanvas.tsx index 74e9e8d2..0f0d7ac1 100644 --- a/src/components/WorkflowCanvas.tsx +++ b/src/components/WorkflowCanvas.tsx @@ -982,6 +982,7 @@ export function WorkflowCanvas() { outputGallery: { width: 320, height: 360 }, imageCompare: { width: 400, height: 360 }, videoStitch: { width: 400, height: 280 }, + easeCurve: { width: 340, height: 480 }, }; const dims = defaultDimensions[nodeType]; addNode(nodeType, { x: centerX - dims.width / 2, y: centerY - dims.height / 2 }); diff --git a/src/lib/quickstart/validation.ts b/src/lib/quickstart/validation.ts index f506f0eb..85c9eba0 100644 --- a/src/lib/quickstart/validation.ts +++ b/src/lib/quickstart/validation.ts @@ -39,6 +39,7 @@ const DEFAULT_DIMENSIONS: Record = outputGallery: { width: 320, height: 360 }, imageCompare: { width: 400, height: 360 }, videoStitch: { width: 400, height: 280 }, + easeCurve: { width: 340, height: 480 }, }; /** @@ -301,6 +302,17 @@ function createDefaultNodeData(type: NodeType): WorkflowNodeData { progress: 0, encoderSupported: null, }; + case "easeCurve": + return { + bezierHandles: [0.445, 0.05, 0.55, 0.95] as [number, number, number, number], + easingPreset: "easeInOutSine", + outputDuration: 1.5, + outputVideo: null, + status: "idle", + error: null, + progress: 0, + encoderSupported: null, + }; } }