From c40ae78174137e4ec144fcb8743fa2be5240d83c Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 18 Apr 2026 19:47:04 +0200 Subject: [PATCH] Add terrain validation and id registration in scene-document-validation.ts --- src/document/scene-document-validation.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/document/scene-document-validation.ts b/src/document/scene-document-validation.ts index 563c9051..8831eb7f 100644 --- a/src/document/scene-document-validation.ts +++ b/src/document/scene-document-validation.ts @@ -5703,6 +5703,24 @@ export function validateSceneDocument( validateScenePath(pathValue, path, diagnostics); } + for (const [terrainKey, terrain] of Object.entries(document.terrains)) { + const path = `terrains.${terrainKey}`; + + if (terrain.id !== terrainKey) { + diagnostics.push( + createDiagnostic( + "error", + "terrain-id-mismatch", + "Terrain ids must match their registry key.", + `${path}.id` + ) + ); + } + + registerAuthoredId(terrain.id, path, seenIds, diagnostics); + validateTerrain(terrain, path, diagnostics); + } + for (const [modelInstanceKey, modelInstance] of Object.entries( document.modelInstances )) {