Update scene document migration to include new versions and parameters

This commit is contained in:
2026-04-15 04:11:18 +02:00
parent 1bc1da42dc
commit b7b85d37bd

View File

@@ -125,6 +125,7 @@ import {
BOX_BRUSH_SCENE_DOCUMENT_VERSION, BOX_BRUSH_SCENE_DOCUMENT_VERSION,
ANIMATION_PLAYBACK_SCENE_DOCUMENT_VERSION, ANIMATION_PLAYBACK_SCENE_DOCUMENT_VERSION,
AUTHORED_OBJECT_STATE_SCENE_DOCUMENT_VERSION, AUTHORED_OBJECT_STATE_SCENE_DOCUMENT_VERSION,
CONTROL_SURFACE_FOUNDATION_SCENE_DOCUMENT_VERSION,
DEFAULT_PROJECT_NAME, DEFAULT_PROJECT_NAME,
DEFAULT_PROJECT_SCENE_ID, DEFAULT_PROJECT_SCENE_ID,
SCENE_EDITOR_PREFERENCES_SCENE_DOCUMENT_VERSION, SCENE_EDITOR_PREFERENCES_SCENE_DOCUMENT_VERSION,
@@ -154,11 +155,15 @@ import {
EXPANDED_CONTROL_SURFACE_SCENE_DOCUMENT_VERSION, EXPANDED_CONTROL_SURFACE_SCENE_DOCUMENT_VERSION,
NPC_DIALOGUE_REFERENCE_SCENE_DOCUMENT_VERSION, NPC_DIALOGUE_REFERENCE_SCENE_DOCUMENT_VERSION,
PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION, PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION,
PROJECT_SEQUENCE_CLIPS_SCENE_DOCUMENT_VERSION,
PROJECT_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION,
PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION, PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION,
PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION, PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION,
PROJECT_SEQUENCE_UNIFIED_VISIBILITY_SCENE_DOCUMENT_VERSION, PROJECT_SEQUENCE_UNIFIED_VISIBILITY_SCENE_DOCUMENT_VERSION,
RUNNER_V1_SCENE_DOCUMENT_VERSION, RUNNER_V1_SCENE_DOCUMENT_VERSION,
SCENE_TRANSITION_ENTITIES_SCENE_DOCUMENT_VERSION, SCENE_TRANSITION_ENTITIES_SCENE_DOCUMENT_VERSION,
SCENE_TRANSITION_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION,
SCHEDULER_CONTROL_EFFECTS_SCENE_DOCUMENT_VERSION,
SPATIAL_AUDIO_SCENE_DOCUMENT_VERSION, SPATIAL_AUDIO_SCENE_DOCUMENT_VERSION,
PROJECT_NAME_SCENE_DOCUMENT_VERSION, PROJECT_NAME_SCENE_DOCUMENT_VERSION,
NPC_COLLIDER_SCENE_DOCUMENT_VERSION, NPC_COLLIDER_SCENE_DOCUMENT_VERSION,
@@ -4512,7 +4517,10 @@ export function migrateSceneDocument(source: unknown): SceneDocument {
// v14 -> v15: entities gained an optional authored name field. // v14 -> v15: entities gained an optional authored name field.
if (source.version === 14) { if (source.version === 14) {
const materials = readMaterialRegistry(source.materials, "materials"); const materials = readMaterialRegistry(source.materials, "materials", {
allowLegacyStarterPatterns:
source.version < STARTER_PBR_MATERIAL_LIBRARY_SCENE_DOCUMENT_VERSION
});
const assets = readAssets(source.assets); const assets = readAssets(source.assets);
return { return {
@@ -4564,15 +4572,20 @@ export function migrateSceneDocument(source: unknown): SceneDocument {
source.version !== WHITEBOX_FLOAT_TRANSFORM_SCENE_DOCUMENT_VERSION && source.version !== WHITEBOX_FLOAT_TRANSFORM_SCENE_DOCUMENT_VERSION &&
source.version !== WHITEBOX_GEOMETRY_SCENE_DOCUMENT_VERSION && source.version !== WHITEBOX_GEOMETRY_SCENE_DOCUMENT_VERSION &&
source.version !== NPC_COLLIDER_SCENE_DOCUMENT_VERSION && source.version !== NPC_COLLIDER_SCENE_DOCUMENT_VERSION &&
source.version !== CONTROL_SURFACE_FOUNDATION_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SCHEDULER_FOUNDATION_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_CONTROL_EFFECTS_SCENE_DOCUMENT_VERSION &&
source.version !== SCHEDULER_ACTOR_ROUTINE_EFFECTS_SCENE_DOCUMENT_VERSION && source.version !== SCHEDULER_ACTOR_ROUTINE_EFFECTS_SCENE_DOCUMENT_VERSION &&
source.version !== NPC_DIALOGUE_REFERENCE_SCENE_DOCUMENT_VERSION && source.version !== NPC_DIALOGUE_REFERENCE_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION && source.version !== PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION &&
source.version !== PLAYER_START_PAUSE_BINDINGS_SCENE_DOCUMENT_VERSION && source.version !== PLAYER_START_PAUSE_BINDINGS_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION && source.version !== PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SEQUENCE_CLIPS_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION && source.version !== PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SEQUENCE_UNIFIED_VISIBILITY_SCENE_DOCUMENT_VERSION source.version !== PROJECT_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION &&
source.version !== PROJECT_SEQUENCE_UNIFIED_VISIBILITY_SCENE_DOCUMENT_VERSION &&
source.version !== SCENE_TRANSITION_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION
) { ) {
throw new Error( throw new Error(
`Unsupported scene document version: ${String(source.version)}.` `Unsupported scene document version: ${String(source.version)}.`