auto-git:
[change] tests/serialization/scene-document-json.test.ts
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
createActivateCameraRigOverrideControlEffect,
|
||||||
createActorControlTargetRef,
|
createActorControlTargetRef,
|
||||||
|
createCameraRigControlTargetRef,
|
||||||
|
createClearCameraRigOverrideControlEffect,
|
||||||
createFollowActorPathControlEffect,
|
createFollowActorPathControlEffect,
|
||||||
createPlayActorAnimationControlEffect,
|
createPlayActorAnimationControlEffect,
|
||||||
createSetActorPresenceControlEffect
|
createSetActorPresenceControlEffect
|
||||||
@@ -68,6 +71,7 @@ import {
|
|||||||
} from "../../src/entities/entity-instances";
|
} from "../../src/entities/entity-instances";
|
||||||
import { createProjectScheduleRoutine } from "../../src/scheduler/project-scheduler";
|
import { createProjectScheduleRoutine } from "../../src/scheduler/project-scheduler";
|
||||||
import {
|
import {
|
||||||
|
createControlInteractionLink,
|
||||||
createPlayAnimationInteractionLink,
|
createPlayAnimationInteractionLink,
|
||||||
createPlaySoundInteractionLink,
|
createPlaySoundInteractionLink,
|
||||||
createStopAnimationInteractionLink,
|
createStopAnimationInteractionLink,
|
||||||
@@ -119,6 +123,59 @@ describe("scene document JSON", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("round-trips camera rig control effects in interaction links, sequences, and scheduler routines", () => {
|
||||||
|
const cameraRig = createCameraRigEntity({
|
||||||
|
id: "entity-camera-rig-main",
|
||||||
|
target: createCameraRigWorldPointTargetRef({
|
||||||
|
x: 0,
|
||||||
|
y: 1.5,
|
||||||
|
z: 0
|
||||||
|
})
|
||||||
|
});
|
||||||
|
const triggerVolume = createTriggerVolumeEntity({
|
||||||
|
id: "entity-trigger-camera"
|
||||||
|
});
|
||||||
|
const document = createEmptySceneDocument({ name: "Camera Control Scene" });
|
||||||
|
document.entities[cameraRig.id] = cameraRig;
|
||||||
|
document.entities[triggerVolume.id] = triggerVolume;
|
||||||
|
document.interactionLinks["link-camera-activate"] = createControlInteractionLink(
|
||||||
|
{
|
||||||
|
id: "link-camera-activate",
|
||||||
|
sourceEntityId: triggerVolume.id,
|
||||||
|
effect: createActivateCameraRigOverrideControlEffect({
|
||||||
|
target: createCameraRigControlTargetRef(cameraRig.id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
document.sequences.sequences["sequence-camera-clear"] = {
|
||||||
|
id: "sequence-camera-clear",
|
||||||
|
title: "Camera Clear",
|
||||||
|
steps: [
|
||||||
|
{
|
||||||
|
stepClass: "held",
|
||||||
|
type: "controlEffect",
|
||||||
|
effect: createClearCameraRigOverrideControlEffect({
|
||||||
|
target: createCameraRigControlTargetRef(cameraRig.id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
document.scheduler.routines["routine-camera-activate"] =
|
||||||
|
createProjectScheduleRoutine({
|
||||||
|
id: "routine-camera-activate",
|
||||||
|
title: "Camera Activate",
|
||||||
|
target: createCameraRigControlTargetRef(cameraRig.id),
|
||||||
|
sequenceId: "sequence-camera-clear",
|
||||||
|
effect: createActivateCameraRigOverrideControlEffect({
|
||||||
|
target: createCameraRigControlTargetRef(cameraRig.id)
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(parseSceneDocumentJson(serializeSceneDocument(document))).toEqual(
|
||||||
|
document
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it("migrates v70 scene documents by defaulting shader sky settings from the authored day background", () => {
|
it("migrates v70 scene documents by defaulting shader sky settings from the authored day background", () => {
|
||||||
const document = createEmptySceneDocument({
|
const document = createEmptySceneDocument({
|
||||||
name: "Legacy Shader Sky Scene"
|
name: "Legacy Shader Sky Scene"
|
||||||
|
|||||||
Reference in New Issue
Block a user