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<
Pick<
ProjectScene,
"id" | "name" | "loadingScreen" | "editorPreferences" | "world"
| "id"
| "name"
| "loadingScreen"
| "editorPreferences"
| "world"
| "foliageLayers"
>
> = {}
): ProjectScene {
@@ -286,7 +291,7 @@ export function createEmptyProjectScene(
world: overrides.world ?? createDefaultWorldSettings(),
brushes: {},
terrains: {},
foliageLayers: createEmptyFoliageLayerRegistry(),
foliageLayers: overrides.foliageLayers ?? createEmptyFoliageLayerRegistry(),
paths: {},
modelInstances: {},
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 {
id: normalizeNonEmptyString(layer.id, "Foliage layer id"),
name: normalizeNonEmptyString(layer.name, "Foliage layer name"),