import { createRoot } from 'react-dom/client';
import App from './App.jsx';

// DevLog подключаем только на localhost. Используем тот же модуль что и
// engine (src/engine/devlog.js), чтобы не было ДВУХ хуков на console.* —
// иначе каждый log пишется в devlog.txt дважды (engine хукнул сам себя
// в BabylonScene.js, плюс наш хук сверху).
//
// Минус — теги [player]/[rs] здесь не работают (engine'овый devlog не
// поддерживает тег), но в плеере все логи плеерские, так что это
// безболезненно.
if (typeof window !== 'undefined' && window.location.hostname === 'localhost') {
  import('./engine/devlog.js').then((m) => {
    m.attachConsoleHook();
    console.log('[player] boot');
  });
}

// СТРОГО без React.StrictMode — engine (BabylonScene + WebGL) не
// идемпотентен на двойном монтировании. StrictMode дёргает useEffect
// дважды → создаётся два Engine на один canvas → второй вешает первый
// и игра остаётся в loading. В Майнкрафтии StrictMode тоже не используется
// (см. minecraftia-school.ru/Фронтенд/React/src/index.js).
createRoot(document.getElementById('root')).render(<App />);
