From db52c7fa5e9182d405f34c0bf2c0380f3cc0228a Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 2 May 2026 04:01:02 +0200 Subject: [PATCH] Manage foliage layer selection and draft state --- src/app/App.tsx | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/app/App.tsx b/src/app/App.tsx index 16e29efb..7df5d3c0 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -4543,6 +4543,45 @@ export function App({ store, draftStorage = null, initialStatusMessage }: AppPro setTerrainCellSizeDraft(String(selectedTerrain.cellSize)); }, [selectedTerrain]); + useEffect(() => { + if (foliageLayerList.length === 0) { + if (activeFoliageLayerId !== null) { + setActiveFoliageLayerId(null); + } + return; + } + + if ( + activeFoliageLayerId === null || + editorState.document.foliageLayers[activeFoliageLayerId] === undefined + ) { + setActiveFoliageLayerId(foliageLayerList[0].id); + } + }, [ + activeFoliageLayerId, + editorState.document.foliageLayers, + foliageLayerList + ]); + + useEffect(() => { + if (activeFoliageLayer === null) { + setFoliageLayerNameDraft(""); + setFoliageLayerNumberDrafts( + createFoliageLayerNumberDrafts( + createFoliageLayer({ + id: "foliage-layer-draft" + }) + ) + ); + return; + } + + setFoliageLayerNameDraft(activeFoliageLayer.name); + setFoliageLayerNumberDrafts( + createFoliageLayerNumberDrafts(activeFoliageLayer) + ); + }, [activeFoliageLayer]); + useEffect(() => { const projectTime = editorState.projectDocument.time;