auto-git:

[change] tests/serialization/scene-document-json.test.ts
This commit is contained in:
2026-04-22 14:05:25 +02:00
parent de66b3f766
commit f152944e79

View File

@@ -13,6 +13,7 @@ import { createTerrain } from "../../src/document/terrains";
import {
AUTHORED_TERRAIN_PAINT_SCENE_DOCUMENT_VERSION,
AUTHORED_TERRAIN_FOUNDATION_SCENE_DOCUMENT_VERSION,
DAWN_DUSK_BACKGROUND_IMAGE_SCENE_DOCUMENT_VERSION,
FOLLOW_ACTOR_PATH_SMOOTH_SCENE_DOCUMENT_VERSION,
ANIMATION_PLAYBACK_SCENE_DOCUMENT_VERSION,
ENTITY_NAMES_SCENE_DOCUMENT_VERSION,
@@ -424,6 +425,42 @@ describe("scene document JSON", () => {
expect(parseSceneDocumentJson(serializeSceneDocument(document))).toEqual(document);
});
it("migrates pre-light-volume documents to the current schema version", () => {
const legacyDocument = {
...createEmptySceneDocument({ name: "Legacy Box Volume Scene" }),
version: DAWN_DUSK_BACKGROUND_IMAGE_SCENE_DOCUMENT_VERSION
};
legacyDocument.brushes["brush-water-legacy"] = createBoxBrush({
id: "brush-water-legacy",
volume: {
mode: "water",
water: {
colorHex: "#4da6d9",
surfaceOpacity: 0.55,
waveStrength: 0.35,
foamContactLimit: 6,
surfaceDisplacementEnabled: false
}
}
});
const migratedDocument = parseSceneDocumentJson(
JSON.stringify(legacyDocument)
);
expect(migratedDocument.version).toBe(SCENE_DOCUMENT_VERSION);
expect(migratedDocument.brushes["brush-water-legacy"]?.volume).toEqual({
mode: "water",
water: {
colorHex: "#4da6d9",
surfaceOpacity: 0.55,
waveStrength: 0.35,
foamContactLimit: 6,
surfaceDisplacementEnabled: false
}
});
});
it("round-trips authored whitebox geometry vertices", () => {
const brush = createBoxBrush({
id: "brush-authored-geometry"