Update scene document migration to support new versions and add dialogue handling

This commit is contained in:
2026-04-14 19:54:29 +02:00
parent 9b2be661d0
commit 54f26229a5

View File

@@ -4217,7 +4217,9 @@ export function migrateSceneDocument(source: unknown): SceneDocument {
source.version !== WHITEBOX_GEOMETRY_SCENE_DOCUMENT_VERSION &&
source.version !== NPC_COLLIDER_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SCHEDULER_FOUNDATION_SCENE_DOCUMENT_VERSION &&
source.version !== EXPANDED_CONTROL_SURFACE_SCENE_DOCUMENT_VERSION
source.version !== EXPANDED_CONTROL_SURFACE_SCENE_DOCUMENT_VERSION &&
source.version !== SCHEDULER_ACTOR_ROUTINE_EFFECTS_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION
) {
throw new Error(
`Unsupported scene document version: ${String(source.version)}.`
@@ -4237,6 +4239,9 @@ 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
}),
world: readWorldSettings(source.world, {
legacyProjectTimeValue:
source.version < SCENE_DOCUMENT_VERSION ? source.time : undefined
@@ -4369,7 +4374,11 @@ export function migrateProjectDocument(source: unknown): ProjectDocument {
allowMissing:
source.version < PROJECT_SCHEDULER_FOUNDATION_SCENE_DOCUMENT_VERSION
}),
activeSceneId: expectString(source.activeSceneId, "activeSceneId"),
activeSceneId: expectString(source.activeSceneId, "activeSceneId"),
dialogues: readProjectDialogueLibrary(source.dialogues, "dialogues", {
allowMissing:
source.version < PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION
}),
scenes,
materials,
textures: expectEmptyCollection(source.textures, "textures"),