Add migration test for scene documents missing foliage quality settings
This commit is contained in:
@@ -38,6 +38,7 @@ import {
|
|||||||
ENTITY_SYSTEM_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
ENTITY_SYSTEM_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
||||||
FIRST_ROOM_POLISH_SCENE_DOCUMENT_VERSION,
|
FIRST_ROOM_POLISH_SCENE_DOCUMENT_VERSION,
|
||||||
FOLIAGE_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
FOLIAGE_FOUNDATION_SCENE_DOCUMENT_VERSION,
|
||||||
|
FOLIAGE_MASKS_SCENE_DOCUMENT_VERSION,
|
||||||
IMPORTED_MODEL_COLLIDERS_SCENE_DOCUMENT_VERSION,
|
IMPORTED_MODEL_COLLIDERS_SCENE_DOCUMENT_VERSION,
|
||||||
LOCAL_LIGHTS_AND_SKYBOX_SCENE_DOCUMENT_VERSION,
|
LOCAL_LIGHTS_AND_SKYBOX_SCENE_DOCUMENT_VERSION,
|
||||||
MODEL_ASSET_PIPELINE_SCENE_DOCUMENT_VERSION,
|
MODEL_ASSET_PIPELINE_SCENE_DOCUMENT_VERSION,
|
||||||
@@ -1192,6 +1193,41 @@ describe("scene document JSON", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("migrates v93 scene documents without foliage quality settings to defaults", () => {
|
||||||
|
const emptyScene = createEmptySceneDocument({
|
||||||
|
name: "Legacy Foliage Quality Scene"
|
||||||
|
});
|
||||||
|
const { foliage: _foliage, ...legacyAdvancedRendering } =
|
||||||
|
emptyScene.world.advancedRendering;
|
||||||
|
|
||||||
|
const migratedDocument = migrateSceneDocument({
|
||||||
|
version: FOLIAGE_MASKS_SCENE_DOCUMENT_VERSION,
|
||||||
|
name: emptyScene.name,
|
||||||
|
time: emptyScene.time,
|
||||||
|
scheduler: emptyScene.scheduler,
|
||||||
|
world: {
|
||||||
|
...emptyScene.world,
|
||||||
|
advancedRendering: legacyAdvancedRendering
|
||||||
|
},
|
||||||
|
materials: emptyScene.materials,
|
||||||
|
textures: emptyScene.textures,
|
||||||
|
assets: emptyScene.assets,
|
||||||
|
brushes: emptyScene.brushes,
|
||||||
|
terrains: emptyScene.terrains,
|
||||||
|
foliagePrototypes: emptyScene.foliagePrototypes,
|
||||||
|
foliageLayers: emptyScene.foliageLayers,
|
||||||
|
paths: emptyScene.paths,
|
||||||
|
modelInstances: emptyScene.modelInstances,
|
||||||
|
entities: emptyScene.entities,
|
||||||
|
interactionLinks: emptyScene.interactionLinks
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(migratedDocument.version).toBe(SCENE_DOCUMENT_VERSION);
|
||||||
|
expect(migratedDocument.world.advancedRendering.foliage).toEqual(
|
||||||
|
emptyScene.world.advancedRendering.foliage
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it("defaults missing water reflection mode and clamps legacy foam limits during migration", () => {
|
it("defaults missing water reflection mode and clamps legacy foam limits during migration", () => {
|
||||||
const migratedDocument = migrateSceneDocument({
|
const migratedDocument = migrateSceneDocument({
|
||||||
version: SCENE_DOCUMENT_VERSION,
|
version: SCENE_DOCUMENT_VERSION,
|
||||||
|
|||||||
Reference in New Issue
Block a user