// Shared mutable application state. // All modules import this same object, so mutations are visible everywhere. export const state = { planetMesh: null, wireMesh: null, arrowGroup: null, windArrowGroup: null, curData: null, plateColors: {}, _hoverBackup: null, hoveredPlate: -1, hoveredRegion: -1, hoveredKoppen: -1, _koppenHoverBackup: null, _mapKoppenHoverBackup: null, mapMesh: null, mapFaceToSide: null, _mapHoverBackup: null, mapGridMesh: null, globeGridMesh: null, gridEnabled: true, gridSpacing: 15, mapMode: false, mapCenterLon: 0, dragStart: null, debugLayer: '', isTouchDevice: ('ontouchstart' in window) || (navigator.maxTouchPoints > 0), editMode: false, oceanCurrentArrowGroup: null, climateComputed: false, pendingToggles: new Set(), _pendingBackup: null, _mapPendingBackup: null, importedHeightmap: false, // The painted map's overlay sheet (painted-overlay-view.js): the classified marks and their texture, // the meshes that show it on the globe and the map, and whether the toggle asks for it. overlay: null, overlayVisible: false, overlayGlobeMesh: null, overlayMapMesh: null, };