    PythonProcess("dmonitoringd", "selfdrive.monitoring.dmonitoringd", enabled=(not PC or WEBCAM), callback=driverview),
    PythonProcess("logmessaged", "selfdrive.logmessaged", offroad=True),
    PythonProcess("pandad", "selfdrive.boardd.pandad", offroad=True),
    PythonProcess("paramsd", "selfdrive.locationd.paramsd"),
    PythonProcess("plannerd", "selfdrive.controls.plannerd"),
    PythonProcess("radard", "selfdrive.controls.radard"),
    PythonProcess("thermald", "selfdrive.thermald.thermald", offroad=True),
 
</s> remove   NativeProcess("navd", "selfdrive/ui/navd", ["./navd"], offroad=True),
 </s> add  </s> remove     // TODO: make mapd output YUV
    // hlayout->addWidget(new CameraViewWidget("navd", VISION_STREAM_MAP, false));
 </s> add  </s> remove float distance_along_geometry(QList<QGeoCoordinate> geometry, QGeoCoordinate pos);
 </s> add  </s> remove float minimum_distance(QGeoCoordinate a, QGeoCoordinate b, QGeoCoordinate p);
 </s> add  </s> remove QList<QGeoCoordinate> polyline_to_coordinate_list(const QString &polylineString);
 </s> add 
  PythonProcess("navd", "selfdrive.navd.navd"),
    PythonProcess("dmonitoringd", "selfdrive.monitoring.dmonitoringd", enabled=(not PC or WEBCAM), callback=driverview),
    PythonProcess("logmessaged", "selfdrive.logmessaged", offroad=True),
  PythonProcess("navd", "selfdrive.navd.navd"),
    PythonProcess("pandad", "selfdrive.boardd.pandad", offroad=True),
    PythonProcess("paramsd", "selfdrive.locationd.paramsd"),
    PythonProcess("plannerd", "selfdrive.controls.plannerd"),
    PythonProcess("radard", "selfdrive.controls.radard"),
    PythonProcess("thermald", "selfdrive.thermald.thermald", offroad=True),
keep add keep keep keep keep keep
 navd: rewrite in python (#24621)

* navd: start python rewrite

* use enum

* send empty instruction packet

* parse banner

* cleanup

* switch to coordinate class

* add segment transition logic

* add recompute logic

* cleanup old navd code

* split out helpers

* cleanup release files

* fix typo

* fix docs

* add typing to helpers

* small fixes

* move outside of ui

* get last pos from param

* add ui restart detection

* check running

* send route

* set navInstruction to invalid with no active route

* whitespace

* do not overwrite response and use ratekeeper

* reuse params object

* remove navd exception 
selfdrive/manager/process_config.py