auto-git:
[change] tests/serialization/project-document-json.test.ts [change] tests/serialization/scene-document-json.test.ts
This commit is contained in:
@@ -65,6 +65,8 @@ describe("project document JSON", () => {
|
|||||||
mode: "shader"
|
mode: "shader"
|
||||||
};
|
};
|
||||||
activeScene.world.showCelestialBodies = true;
|
activeScene.world.showCelestialBodies = true;
|
||||||
|
activeScene.world.celestialOrbits.sun.azimuthDegrees = 132;
|
||||||
|
activeScene.world.celestialOrbits.moon.azimuthDegrees = 204;
|
||||||
activeScene.world.shaderSky.dayTopColorHex = "#4a76bb";
|
activeScene.world.shaderSky.dayTopColorHex = "#4a76bb";
|
||||||
activeScene.world.shaderSky.dayBottomColorHex = "#d6efff";
|
activeScene.world.shaderSky.dayBottomColorHex = "#d6efff";
|
||||||
activeScene.world.shaderSky.horizonHeight = -0.06;
|
activeScene.world.shaderSky.horizonHeight = -0.06;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import { createTerrain } from "../../src/document/terrains";
|
|||||||
import {
|
import {
|
||||||
AUTHORED_TERRAIN_PAINT_SCENE_DOCUMENT_VERSION,
|
AUTHORED_TERRAIN_PAINT_SCENE_DOCUMENT_VERSION,
|
||||||
AUTHORED_TERRAIN_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
AUTHORED_TERRAIN_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
||||||
|
CAMERA_RIG_ENTITY_SCENE_DOCUMENT_VERSION,
|
||||||
CELESTIAL_BODY_OVERLAY_SCENE_DOCUMENT_VERSION,
|
CELESTIAL_BODY_OVERLAY_SCENE_DOCUMENT_VERSION,
|
||||||
DAWN_DUSK_BACKGROUND_IMAGE_SCENE_DOCUMENT_VERSION,
|
DAWN_DUSK_BACKGROUND_IMAGE_SCENE_DOCUMENT_VERSION,
|
||||||
FOLLOW_ACTOR_PATH_SMOOTH_SCENE_DOCUMENT_VERSION,
|
FOLLOW_ACTOR_PATH_SMOOTH_SCENE_DOCUMENT_VERSION,
|
||||||
@@ -38,6 +39,7 @@ import {
|
|||||||
SCENE_EDITOR_PREFERENCES_SCENE_DOCUMENT_VERSION,
|
SCENE_EDITOR_PREFERENCES_SCENE_DOCUMENT_VERSION,
|
||||||
SCENE_TRANSITION_ENTITIES_SCENE_DOCUMENT_VERSION,
|
SCENE_TRANSITION_ENTITIES_SCENE_DOCUMENT_VERSION,
|
||||||
SCENE_TRANSITION_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION,
|
SCENE_TRANSITION_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION,
|
||||||
|
CELESTIAL_ORBIT_SETTINGS_SCENE_DOCUMENT_VERSION,
|
||||||
SCENE_DOCUMENT_VERSION,
|
SCENE_DOCUMENT_VERSION,
|
||||||
SHADER_SKY_HORIZON_HEIGHT_SCENE_DOCUMENT_VERSION,
|
SHADER_SKY_HORIZON_HEIGHT_SCENE_DOCUMENT_VERSION,
|
||||||
SHADER_SKY_SCENE_DOCUMENT_VERSION,
|
SHADER_SKY_SCENE_DOCUMENT_VERSION,
|
||||||
@@ -209,6 +211,39 @@ describe("scene document JSON", () => {
|
|||||||
expect(migratedDocument.world.shaderSky.stars.horizonFadeOffset).toBe(0);
|
expect(migratedDocument.world.shaderSky.stars.horizonFadeOffset).toBe(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("migrates v74 scene documents by defaulting celestial orbit settings from the legacy sun direction", () => {
|
||||||
|
const document = createEmptySceneDocument({
|
||||||
|
name: "Legacy Celestial Orbit Scene"
|
||||||
|
});
|
||||||
|
document.world.sunLight.direction = {
|
||||||
|
x: -0.4,
|
||||||
|
y: 1,
|
||||||
|
z: 0.2
|
||||||
|
};
|
||||||
|
|
||||||
|
const legacyDocument = JSON.parse(
|
||||||
|
serializeSceneDocument(document)
|
||||||
|
) as Record<string, unknown>;
|
||||||
|
legacyDocument.version = CAMERA_RIG_ENTITY_SCENE_DOCUMENT_VERSION;
|
||||||
|
delete (legacyDocument.world as Record<string, unknown>).celestialOrbits;
|
||||||
|
|
||||||
|
const migratedDocument = parseSceneDocumentJson(
|
||||||
|
JSON.stringify(legacyDocument)
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(migratedDocument.version).toBe(SCENE_DOCUMENT_VERSION);
|
||||||
|
expect(migratedDocument.world.celestialOrbits.sun.azimuthDegrees).toBeCloseTo(
|
||||||
|
153.4349,
|
||||||
|
3
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
migratedDocument.world.celestialOrbits.sun.peakAltitudeDegrees
|
||||||
|
).toBeGreaterThan(60);
|
||||||
|
expect(migratedDocument.world.celestialOrbits.moon).toEqual(
|
||||||
|
migratedDocument.world.celestialOrbits.sun
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it("migrates pre-paint terrain documents by defaulting terrain layer data", () => {
|
it("migrates pre-paint terrain documents by defaulting terrain layer data", () => {
|
||||||
const legacyTerrainDocument = {
|
const legacyTerrainDocument = {
|
||||||
...createEmptySceneDocument({
|
...createEmptySceneDocument({
|
||||||
|
|||||||
Reference in New Issue
Block a user