auto-git:
[change] src/app/app.css [change] src/commands/set-scene-loading-screen-command.ts [change] src/document/migrate-scene-document.ts [change] src/document/scene-document-validation.ts [change] src/document/scene-document.ts [change] src/runner-web/RunnerCanvas.tsx [change] src/runtime-three/first-person-navigation-controller.ts [change] src/runtime-three/navigation-controller.ts [change] src/runtime-three/orbit-visitor-navigation-controller.ts [change] src/runtime-three/runtime-host.ts [change] tests/domain/editor-store.test.ts [change] tests/serialization/local-draft-storage.test.ts [change] tests/serialization/project-document-json.test.ts [change] tests/serialization/project-package.test.ts [change] tests/unit/runner-canvas.test.tsx [change] tests/unit/runtime-host.test.ts
This commit is contained in:
@@ -4,8 +4,15 @@ import type { ModelInstance } from "../assets/model-instances";
|
||||
import type { ProjectAssetRecord } from "../assets/project-assets";
|
||||
import type { EntityInstance } from "../entities/entity-instances";
|
||||
import type { InteractionLink } from "../interactions/interaction-links";
|
||||
import { cloneMaterialRegistry, createStarterMaterialRegistry, type MaterialDef } from "../materials/starter-material-library";
|
||||
import { createDefaultWorldSettings, type WorldSettings } from "./world-settings";
|
||||
import {
|
||||
cloneMaterialRegistry,
|
||||
createStarterMaterialRegistry,
|
||||
type MaterialDef
|
||||
} from "../materials/starter-material-library";
|
||||
import {
|
||||
createDefaultWorldSettings,
|
||||
type WorldSettings
|
||||
} from "./world-settings";
|
||||
|
||||
export const SCENE_DOCUMENT_VERSION = 23 as const;
|
||||
export const MULTI_SCENE_FOUNDATION_SCENE_DOCUMENT_VERSION = 22 as const;
|
||||
@@ -13,7 +20,8 @@ export const WATER_SURFACE_DISPLACEMENT_SCENE_DOCUMENT_VERSION = 21 as const;
|
||||
export const WHITEBOX_BOX_VOLUME_SCENE_DOCUMENT_VERSION = 20 as const;
|
||||
export const WHITEBOX_GEOMETRY_SCENE_DOCUMENT_VERSION = 19 as const;
|
||||
export const WHITEBOX_FLOAT_TRANSFORM_SCENE_DOCUMENT_VERSION = 18 as const;
|
||||
export const PLAYER_START_COLLIDER_SETTINGS_SCENE_DOCUMENT_VERSION = 17 as const;
|
||||
export const PLAYER_START_COLLIDER_SETTINGS_SCENE_DOCUMENT_VERSION =
|
||||
17 as const;
|
||||
export const IMPORTED_MODEL_COLLIDERS_SCENE_DOCUMENT_VERSION = 16 as const;
|
||||
export const ENTITY_NAMES_SCENE_DOCUMENT_VERSION = 15 as const;
|
||||
export const SPATIAL_AUDIO_SCENE_DOCUMENT_VERSION = 13 as const;
|
||||
@@ -27,7 +35,8 @@ export const RUNNER_V1_SCENE_DOCUMENT_VERSION = 4 as const;
|
||||
export const FIRST_ROOM_POLISH_SCENE_DOCUMENT_VERSION = 5 as const;
|
||||
export const WORLD_ENVIRONMENT_SCENE_DOCUMENT_VERSION = 6 as const;
|
||||
export const ENTITY_SYSTEM_FOUNDATION_SCENE_DOCUMENT_VERSION = 7 as const;
|
||||
export const TRIGGER_ACTION_TARGET_FOUNDATION_SCENE_DOCUMENT_VERSION = 8 as const;
|
||||
export const TRIGGER_ACTION_TARGET_FOUNDATION_SCENE_DOCUMENT_VERSION =
|
||||
8 as const;
|
||||
export const RUNNER_LOADING_SCREEN_SCENE_DOCUMENT_VERSION = 23 as const;
|
||||
|
||||
export const DEFAULT_PROJECT_SCENE_ID = "scene-main" as const;
|
||||
@@ -71,12 +80,16 @@ export interface SceneDocument {
|
||||
interactionLinks: Record<string, InteractionLink>;
|
||||
}
|
||||
|
||||
export function createEmptySceneDocument(overrides: Partial<Pick<SceneDocument, "name" | "world" | "materials">> = {}): SceneDocument {
|
||||
export function createEmptySceneDocument(
|
||||
overrides: Partial<Pick<SceneDocument, "name" | "world" | "materials">> = {}
|
||||
): SceneDocument {
|
||||
return {
|
||||
version: SCENE_DOCUMENT_VERSION,
|
||||
name: overrides.name ?? "Untitled Scene",
|
||||
world: overrides.world ?? createDefaultWorldSettings(),
|
||||
materials: cloneMaterialRegistry(overrides.materials ?? createStarterMaterialRegistry()),
|
||||
materials: cloneMaterialRegistry(
|
||||
overrides.materials ?? createStarterMaterialRegistry()
|
||||
),
|
||||
textures: {},
|
||||
assets: {},
|
||||
brushes: {},
|
||||
@@ -87,7 +100,9 @@ export function createEmptySceneDocument(overrides: Partial<Pick<SceneDocument,
|
||||
}
|
||||
|
||||
export function createEmptyProjectScene(
|
||||
overrides: Partial<Pick<ProjectScene, "id" | "name" | "loadingScreen" | "world">> = {}
|
||||
overrides: Partial<
|
||||
Pick<ProjectScene, "id" | "name" | "loadingScreen" | "world">
|
||||
> = {}
|
||||
): ProjectScene {
|
||||
return {
|
||||
id: overrides.id ?? createOpaqueId("scene"),
|
||||
@@ -113,7 +128,8 @@ export function createEmptyProjectDocument(
|
||||
} = {}
|
||||
): ProjectDocument {
|
||||
const initialScene = createEmptyProjectScene({
|
||||
id: overrides.sceneId ?? overrides.activeSceneId ?? DEFAULT_PROJECT_SCENE_ID,
|
||||
id:
|
||||
overrides.sceneId ?? overrides.activeSceneId ?? DEFAULT_PROJECT_SCENE_ID,
|
||||
name: overrides.sceneName,
|
||||
world: overrides.world
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user