reset For New Controller
Wipes every process-wide static this companion object holds and bumps mapSessionId, so a freshly created MapController starts from a clean slate instead of inheriting stale per-source state (timelines, valid-time lists, download counters) from a previous controller instance. Call from MapController's constructor.
Required because much of MapsGL's per-source render/animation state lives here in the companion (e.g. sourceTimeHash, validTimesList, timeStrings); when a second MapController is created (typically in a new activity) with the same source IDs as the previous one — temperature is the classic example — the stale entries make the renderer think tiles for those time intervals are already downloaded and bound, while the actual GPU data and per-source LayerTimeline reference the previous controller. The new layer then renders nothing for the visible phase strings. Safe at process start because everything is already in its initial state.
Return
the new mapSessionId.