    model_path_vertices_data *pvd = &s->model_path_vertices[0];
    if(s->model_changed) {
      update_all_lane_lines_data(s, scene->model.left_lane, pvd);
      update_all_lane_lines_data(s, scene->model.right_lane, pvd + MODEL_LANE_PATH_CNT);
      s->model_changed = false;
    }
    // Draw left lane edge
    ui_draw_lane(
        s, &scene->model.left_lane,
        pvd,
 
</s> remove   if(s->model_changed) {
 </s> add   if(s->sm->updated("model")) { </s> remove   if (scene->engaged) {
 </s> add   if (scene->controls_state.getEnabled()) { </s> remove   s->model_changed = false;
  s->livempc_or_radarstate_changed = false;

 </s> add  </s> remove     s->model_changed = true;
 </s> add  </s> remove   float lead_d = scene->lead_d_rel*2.;
 </s> add   float lead_d = scene->lead_data[0].getDRel()*2.;
    model_path_vertices_data *pvd = &s->model_path_vertices[0];
    if(s->model_changed) {
      update_all_lane_lines_data(s, scene->model.left_lane, pvd);
      update_all_lane_lines_data(s, scene->model.right_lane, pvd + MODEL_LANE_PATH_CNT);

    }
    // Draw left lane edge
    ui_draw_lane(
        s, &scene->model.left_lane,
        pvd,
keep keep keep keep replace keep keep keep keep keep
 ui.cc: remove variables from UIScene, use event::Reader to get data  (#1585)

* use struct to store lead status

* remove white space

* use RadarState::LeadData::Reader

* use reader to get thermal data

* use reader

* continue

* remove variables

reset submodules,fix some errors

reset submodules

revert

* remove s->scene.gps_planner_active

* modify

* cleanup

* done

* resolve conflict

* remove irrelevant comment

* remove white space 
selfdrive/ui/paint.cc