From ef79348865c5a6e290b6ee39a7c3c79dec58c6b3 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 18 Apr 2026 19:51:18 +0200 Subject: [PATCH] Include terrain in viewport focus calculation and resolve terrain focus target --- src/viewport-three/viewport-focus.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/viewport-three/viewport-focus.ts b/src/viewport-three/viewport-focus.ts index 8dac4a6a..dfad8715 100644 --- a/src/viewport-three/viewport-focus.ts +++ b/src/viewport-three/viewport-focus.ts @@ -450,6 +450,10 @@ function getSceneFocusTarget(document: SceneDocument): ViewportFocusTarget | nul includeBrush(bounds, brush); } + for (const terrain of Object.values(document.terrains)) { + includeTerrain(bounds, terrain); + } + for (const modelInstance of Object.values(document.modelInstances)) { includeModelInstance(bounds, modelInstance, document.assets[modelInstance.assetId]); } @@ -505,6 +509,16 @@ export function resolveViewportFocusTarget(document: SceneDocument, selection: E } } + const selectedTerrainId = getSingleSelectedTerrainId(selection); + + if (selectedTerrainId !== null) { + const terrain = document.terrains[selectedTerrainId]; + + if (terrain !== undefined) { + return createTerrainFocusTarget(terrain); + } + } + const selectedPathPoint = getSingleSelectedPathPoint(selection); if (selectedPathPoint !== null) {