Support foliage layers in project scene creation and validate layer enabled status

This commit is contained in:
2026-05-02 03:47:59 +02:00
parent af1f05d46e
commit 5c2bc9bd94
2 changed files with 11 additions and 2 deletions

View File

@@ -270,7 +270,12 @@ export function createEmptyProjectScene(
overrides: Partial< overrides: Partial<
Pick< Pick<
ProjectScene, ProjectScene,
"id" | "name" | "loadingScreen" | "editorPreferences" | "world" | "id"
| "name"
| "loadingScreen"
| "editorPreferences"
| "world"
| "foliageLayers"
> >
> = {} > = {}
): ProjectScene { ): ProjectScene {
@@ -286,7 +291,7 @@ export function createEmptyProjectScene(
world: overrides.world ?? createDefaultWorldSettings(), world: overrides.world ?? createDefaultWorldSettings(),
brushes: {}, brushes: {},
terrains: {}, terrains: {},
foliageLayers: createEmptyFoliageLayerRegistry(), foliageLayers: overrides.foliageLayers ?? createEmptyFoliageLayerRegistry(),
paths: {}, paths: {},
modelInstances: {}, modelInstances: {},
entities: {}, entities: {},

View File

@@ -318,6 +318,10 @@ export function cloneFoliageLayer(layer: FoliageLayer): FoliageLayer {
); );
} }
if (typeof layer.enabled !== "boolean") {
throw new Error("Foliage layer enabled must be a boolean.");
}
return { return {
id: normalizeNonEmptyString(layer.id, "Foliage layer id"), id: normalizeNonEmptyString(layer.id, "Foliage layer id"),
name: normalizeNonEmptyString(layer.name, "Foliage layer name"), name: normalizeNonEmptyString(layer.name, "Foliage layer name"),