stop method

Future<void> stop()

Implementation

Future<void> stop() async {
  ActionGates.instance.removeListener(_onGatesChanged);
  final loop = _voiceLoop;
  _voiceLoop = null;
  loop?.dispose();
  final pump = _snapshotPump;
  _snapshotPump = null;
  pump?.dispose();
  _outbound?.dispose();
  _outbound = null;
  ExplorationLog.instance.setSender(null);
  ExplorationLog.instance.setScope(null);
  // Call-scoped: drop the accumulated node union on stop so it cannot grow
  // across calls for the life of a long-lived host process (OOM guard —
  // it was previously reset only at mission start).
  ExplorationLog.instance.reset();
  navStack.clear();
  _lastInteractionSentAt = null;
}