diff --git a/src/app/App.tsx b/src/app/App.tsx index d64f7b32..16e29efb 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -2536,6 +2536,10 @@ export function App({ store, draftStorage = null, initialStatusMessage }: AppPro const brushList = Object.values(editorState.document.brushes); const terrainList = getTerrains(editorState.document.terrains); + const foliageLayerList = useMemo( + () => getFoliageLayerList(editorState.document.foliageLayers), + [editorState.document.foliageLayers] + ); const pathList = getScenePaths(editorState.document.paths); const layoutMode = editorState.viewportLayoutMode; const activePanelId = editorState.activeViewportPanelId; @@ -3200,6 +3204,22 @@ export function App({ store, draftStorage = null, initialStatusMessage }: AppPro terrainLodGridVisibleTerrainIds, setTerrainLodGridVisibleTerrainIds ] = useState([]); + const [activeFoliageLayerId, setActiveFoliageLayerId] = useState< + string | null + >(null); + const activeFoliageLayer = + activeFoliageLayerId === null + ? null + : (editorState.document.foliageLayers[activeFoliageLayerId] ?? null); + const [foliageLayerNameDraft, setFoliageLayerNameDraft] = useState(""); + const [foliageLayerNumberDrafts, setFoliageLayerNumberDrafts] = + useState(() => + createFoliageLayerNumberDrafts( + createFoliageLayer({ + id: "foliage-layer-draft" + }) + ) + ); const selectedTerrainLodGridVisible = selectedTerrain !== null && terrainLodGridVisibleTerrainIds.includes(selectedTerrain.id);