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[];