start method
Implementation
@override
Future<void> start(BoatConfig config) async {
_state = BoatState.starting;
_listenEvents();
_listenCapture();
try {
await methodsChannel.invokeMethod<void>('start', config.toMap());
_state = BoatState.running;
} catch (e) {
// Clean up subscriptions before rethrowing — native never started
// successfully, so the event streams are dead weight.
await _cancelSubs();
_state = BoatState.error;
rethrow;
}
}