From 837eecf5e7f124f8753690823afead199ccddb0f Mon Sep 17 00:00:00 2001 From: shrimbly Date: Thu, 19 Feb 2026 12:30:22 +1300 Subject: [PATCH] fix: wire executeVideoTrim into regenerateNode and executeSelectedNodes The VideoTrim executor was missing from three places: - execution/index.ts barrel export - workflowStore.ts regenerateNode if-else chain - workflowStore.ts executeSelectedNodes switch This caused the Trim button to complete instantly with no processing and no video output downstream. Co-Authored-By: Claude Opus 4.6 --- src/store/execution/index.ts | 1 + src/store/workflowStore.ts | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/store/execution/index.ts b/src/store/execution/index.ts index c7f1af5e..92667219 100644 --- a/src/store/execution/index.ts +++ b/src/store/execution/index.ts @@ -38,4 +38,5 @@ export { executeSplitGrid } from "./splitGridExecutor"; export { executeVideoStitch, executeEaseCurve, + executeVideoTrim, } from "./videoProcessingExecutors"; diff --git a/src/store/workflowStore.ts b/src/store/workflowStore.ts index ca6917f7..a0e86678 100644 --- a/src/store/workflowStore.ts +++ b/src/store/workflowStore.ts @@ -73,6 +73,7 @@ import { executeSplitGrid, executeVideoStitch, executeEaseCurve, + executeVideoTrim, executeGlbViewer, } from "./execution"; import type { NodeExecutionContext } from "./execution"; @@ -1073,6 +1074,11 @@ export const useWorkflowStore = create((set, get) => ({ set({ isRunning: false, currentNodeIds: [] }); await logger.endSession(); return; + } else if (node.type === "videoTrim") { + await executeVideoTrim(executionCtx); + set({ isRunning: false, currentNodeIds: [] }); + await logger.endSession(); + return; } // After regeneration, execute directly connected downstream consumer nodes @@ -1214,6 +1220,9 @@ export const useWorkflowStore = create((set, get) => ({ case "easeCurve": await executeEaseCurve(executionCtx); break; + case "videoTrim": + await executeVideoTrim(executionCtx); + break; } };