From 27b6e804c5da5197bf0f9a531eba26707c5ac9b6 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 18 Apr 2026 19:53:22 +0200 Subject: [PATCH] Add Terrain interface and update RuntimeSceneDefinition --- src/runtime-three/runtime-scene-build.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/runtime-three/runtime-scene-build.ts b/src/runtime-three/runtime-scene-build.ts index 90b4a95b..0ca243d0 100644 --- a/src/runtime-three/runtime-scene-build.ts +++ b/src/runtime-three/runtime-scene-build.ts @@ -56,6 +56,7 @@ import { type ScenePath, type ScenePathPoint } from "../document/paths"; +import { getTerrainBounds, getTerrains, type Terrain } from "../document/terrains"; import { cloneWorldSettings, type WorldSettings @@ -164,6 +165,17 @@ export interface RuntimeBoxVolumeCollection { water: RuntimeWaterVolume[]; } +export interface RuntimeTerrain { + id: string; + name?: string; + visible: boolean; + position: Vec3; + sampleCountX: number; + sampleCountZ: number; + cellSize: number; + heights: number[]; +} + export interface RuntimeBrushTriMeshCollider { kind: "trimesh"; source: "brush"; @@ -392,6 +404,7 @@ export interface RuntimeSceneDefinition { control: RuntimeControlSurfaceDefinition; localLights: RuntimeLocalLightCollection; brushes: RuntimeBoxBrushInstance[]; + terrains: RuntimeTerrain[]; volumes: RuntimeBoxVolumeCollection; staticColliders: RuntimeSceneCollider[]; colliders: RuntimeSceneCollider[];