import { CityApp } from './app';

// Entry point
let app: CityApp | null = null;

function startApp(): void {
  try {
    app = new CityApp();
  } catch (error) {
    console.error('Failed to start city generator:', error);
  }
}

// Start on DOM ready
if (document.readyState === 'loading') {
  document.addEventListener('DOMContentLoaded', startApp);
} else {
  startApp();
}

// Cleanup on unload
window.addEventListener('beforeunload', () => {
  if (app) {
    app.destroy();
  }
});