From aa1295cbee1b11352fe254649508e2676e4f488d Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 15 Apr 2026 02:06:40 +0200 Subject: [PATCH] Add sequenceId parameter and update normalizeProjectScheduleEffects in project-scheduler --- src/scheduler/project-scheduler.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/scheduler/project-scheduler.ts b/src/scheduler/project-scheduler.ts index aa3d7a43..9a051dce 100644 --- a/src/scheduler/project-scheduler.ts +++ b/src/scheduler/project-scheduler.ts @@ -168,6 +168,7 @@ function compareProjectScheduleEffectOrder( function normalizeProjectScheduleEffects( target: ControlTargetRef, + sequenceId: string | null, options: { effect?: ControlEffect; effects?: ControlEffect[]; @@ -181,6 +182,14 @@ function normalizeProjectScheduleEffects( : [options.effect]; const normalizedEffects = authoredEffects.map(cloneControlEffect); + if (normalizedEffects.length === 0 && target.kind === "global") { + return []; + } + + if (normalizedEffects.length === 0 && sequenceId !== null) { + return []; + } + if (normalizedEffects.length === 0 && target.kind !== "actor") { throw new Error( "Project schedule routines must author an explicit control effect for non-actor targets." @@ -309,7 +318,7 @@ export function createProjectScheduleRoutine( startHour, endHour, priority: normalizeProjectSchedulePriority(overrides.priority), - effects: normalizeProjectScheduleEffects(target, { + effects: normalizeProjectScheduleEffects(target, normalizeProjectScheduleSequenceId(overrides.sequenceId), { effect: overrides.effect, effects: overrides.effects })