diff --git a/tests/domain/project-sequence-steps.test.ts b/tests/domain/project-sequence-steps.test.ts index 4b197944..673f3a22 100644 --- a/tests/domain/project-sequence-steps.test.ts +++ b/tests/domain/project-sequence-steps.test.ts @@ -49,9 +49,6 @@ describe("project sequence steps", () => { expect(getInteractionLinkSequenceSteps(playSoundLink)).toEqual([ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "controlEffect", effect: createPlaySoundControlEffect({ @@ -61,9 +58,6 @@ describe("project sequence steps", () => { ]); expect(getInteractionLinkSequenceSteps(dialogueLink)).toEqual([ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "startDialogue", dialogueId: "dialogue-main" @@ -71,9 +65,6 @@ describe("project sequence steps", () => { ]); expect(getInteractionLinkSequenceSteps(teleportLink)).toEqual([ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "teleportPlayer", targetEntityId: "entity-teleport-target" @@ -81,9 +72,6 @@ describe("project sequence steps", () => { ]); expect(getInteractionLinkSequenceSteps(visibilityLink)).toEqual([ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "toggleVisibility", targetBrushId: "brush-main", @@ -129,9 +117,6 @@ describe("project sequence steps", () => { expect(getProjectScheduleRoutineHeldSteps(actorRoutine)).toEqual([ { - startMinute: 0, - durationMinutes: 1440, - lane: 0, stepClass: "held", type: "controlEffect", effect: createSetActorPresenceControlEffect({ @@ -142,9 +127,6 @@ describe("project sequence steps", () => { ]); expect(getInteractionLinkImpulseSteps(directControlLink)).toEqual([ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "controlEffect", effect: createSetLightEnabledControlEffect({ @@ -155,9 +137,6 @@ describe("project sequence steps", () => { ]); expect(getProjectScheduleRoutineSequenceSteps(lightRoutine)).toEqual([ { - startMinute: 0, - durationMinutes: 1440, - lane: 0, stepClass: "held", type: "controlEffect", effect: createSetLightEnabledControlEffect({ diff --git a/tests/serialization/project-document-json.test.ts b/tests/serialization/project-document-json.test.ts index 5feeaf84..0b671d81 100644 --- a/tests/serialization/project-document-json.test.ts +++ b/tests/serialization/project-document-json.test.ts @@ -14,7 +14,7 @@ import { DEFAULT_SCENE_EDITOR_SNAP_STEP, NPC_COLLIDER_SCENE_DOCUMENT_VERSION, PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION, - PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION, + PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION, SCHEDULER_ACTOR_ROUTINE_EFFECTS_SCENE_DOCUMENT_VERSION, NPC_PRESENCE_SCENE_DOCUMENT_VERSION, PLAYER_START_PAUSE_BINDINGS_SCENE_DOCUMENT_VERSION, @@ -171,9 +171,6 @@ describe("project document JSON", () => { title: "Market Greeting Sequence", steps: [ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "startDialogue", dialogueId: "dialogue-market" @@ -185,9 +182,6 @@ describe("project document JSON", () => { title: "Vendor Open", steps: [ { - startMinute: 0, - durationMinutes: 480, - lane: 0, stepClass: "held", type: "controlEffect", effect: createSetActorPresenceControlEffect({ @@ -243,7 +237,7 @@ describe("project document JSON", () => { }); }); - it("migrates legacy project sequence steps into clips", () => { + it("migrates legacy project sequence steps and timed clips into effects", () => { const document = createEmptyProjectDocument({ name: "Legacy Sequence Clip Project" }); @@ -264,9 +258,6 @@ describe("project document JSON", () => { title: "Legacy Dialogue Sequence", steps: [ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "startDialogue", dialogueId: "dialogue-legacy" @@ -277,15 +268,27 @@ describe("project document JSON", () => { const legacyDocument = JSON.parse( serializeProjectDocument(document) ) as Record; - legacyDocument.version = PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION; + legacyDocument.version = PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION; const legacySequences = (legacyDocument.sequences as { sequences: Record }) .sequences; const legacySequence = legacySequences["sequence-legacy-dialogue"] as { clips?: unknown; steps?: unknown; + effects?: unknown; + durationMinutes?: unknown; }; - legacySequence.steps = legacySequence.clips; - delete legacySequence.clips; + legacySequence.clips = [ + { + stepClass: "impulse", + type: "startDialogue", + dialogueId: "dialogue-legacy", + startMinute: 30, + durationMinutes: 15, + lane: 2 + } + ]; + delete legacySequence.steps; + legacySequence.durationMinutes = 180; const migratedDocument = parseProjectDocumentJson( JSON.stringify(legacyDocument) @@ -295,12 +298,8 @@ describe("project document JSON", () => { migratedDocument.sequences.sequences["sequence-legacy-dialogue"] ).toEqual( expect.objectContaining({ - durationMinutes: 240, - clips: [ + effects: [ { - startMinute: 0, - durationMinutes: 1, - lane: 0, stepClass: "impulse", type: "startDialogue", dialogueId: "dialogue-legacy"