diff --git a/src/editor/KubikonEditor.jsx b/src/editor/KubikonEditor.jsx index 54842ef..ea8fc60 100644 --- a/src/editor/KubikonEditor.jsx +++ b/src/editor/KubikonEditor.jsx @@ -549,6 +549,12 @@ const KubikonEditor = () => { // не отработал, или setSceneLoading(false) попал в обход (race). const safetyTimer = setTimeout(() => { console.warn('[KubikonEditor] safety timer: forcing setSceneLoading(false) after 60s'); + // Загрузка не завершилась штатно за 60с (медленная сеть / таймаут + // getProject / частично загруженные модели) → помечаем как СБОЙ + // загрузки, чтобы автосейв НЕ затёр проект частичной/пустой сценой. + // Без этого terrain мог загрузиться частично (напр. 3 из 13173) и + // автосейв писал эту пустышку в БД (инцидент 2026-06-02). + loadFailedRef.current = true; setSceneLoading(false); }, 60000); return () => {