Add sequenceId parameter and update normalizeProjectScheduleEffects in project-scheduler

This commit is contained in:
2026-04-15 02:06:40 +02:00
parent 5290b78d72
commit aa1295cbee

View File

@@ -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
})