From cc12918b7bb09a8fcb0eec11952b2bad063e5cd8 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Wed, 15 Apr 2026 09:23:30 +0200 Subject: [PATCH] Refactor dialogue handling in scene and project document migrations --- src/document/migrate-scene-document.ts | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/document/migrate-scene-document.ts b/src/document/migrate-scene-document.ts index 92bb24a7..f7c5575c 100644 --- a/src/document/migrate-scene-document.ts +++ b/src/document/migrate-scene-document.ts @@ -4824,6 +4824,9 @@ export function migrateSceneDocument(source: unknown): SceneDocument { source.version < STARTER_PBR_MATERIAL_LIBRARY_SCENE_DOCUMENT_VERSION }); const assets = readAssets(source.assets); + const legacyDialogues = readProjectDialogueLibrary(source.dialogues, "dialogues", { + allowMissing: source.version < PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION + }); const migratedDocument: SceneDocument = { version: SCENE_DOCUMENT_VERSION, @@ -4835,9 +4838,7 @@ export function migrateSceneDocument(source: unknown): SceneDocument { allowMissing: source.version < PROJECT_SCHEDULER_FOUNDATION_SCENE_DOCUMENT_VERSION }), - dialogues: readProjectDialogueLibrary(source.dialogues, "dialogues", { - allowMissing: source.version < PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION - }), + dialogues: legacyDialogues, sequences: readProjectSequenceLibrary(source.sequences, "sequences", { allowMissing: source.version < PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION }), @@ -4851,7 +4852,10 @@ export function migrateSceneDocument(source: unknown): SceneDocument { brushes: readBrushes(source.brushes, materials, false), paths: readScenePaths(source.paths), modelInstances: readModelInstances(source.modelInstances, assets), - entities: readEntities(source.entities, { legacySoundEmitter: false }), + entities: readEntities(source.entities, { + legacySoundEmitter: false, + legacyProjectDialogues: legacyDialogues + }), interactionLinks: readInteractionLinks(source.interactionLinks) }; @@ -4952,6 +4956,10 @@ export function migrateProjectDocument(source: unknown): ProjectDocument { source.version < SCENE_EDITOR_PREFERENCES_SCENE_DOCUMENT_VERSION; const allowMissingTimeSettings = source.version < PROJECT_TIME_SYSTEM_SCENE_DOCUMENT_VERSION; + const legacyDialogues = readProjectDialogueLibrary(source.dialogues, "dialogues", { + allowMissing: + source.version < PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION + }); for (const [sceneKey, sceneValue] of Object.entries(source.scenes)) { scenes[sceneKey] = readProjectScene( @@ -4963,7 +4971,8 @@ export function migrateProjectDocument(source: unknown): ProjectDocument { allowMissingLoadingScreen, allowMissingEditorPreferences, legacyProjectTimeValue: - source.version < SCENE_DOCUMENT_VERSION ? source.time : undefined + source.version < SCENE_DOCUMENT_VERSION ? source.time : undefined, + legacyProjectDialogues: legacyDialogues } ); } @@ -4980,10 +4989,7 @@ export function migrateProjectDocument(source: unknown): ProjectDocument { allowMissing: source.version < PROJECT_SCHEDULER_FOUNDATION_SCENE_DOCUMENT_VERSION }), - dialogues: readProjectDialogueLibrary(source.dialogues, "dialogues", { - allowMissing: - source.version < PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION - }), + dialogues: legacyDialogues, sequences: readProjectSequenceLibrary(source.sequences, "sequences", { allowMissing: source.version < PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION