  
    s->cur_vision_idx = -1;
    s->cur_vision_front_idx = -1;
  
    s->scene = (UIScene){
        .frontview = getenv("FRONTVIEW") != NULL,
        .fullview = getenv("FULLVIEW") != NULL,
        .transformed_width = ui_info.transformed_width,
        .transformed_height = ui_info.transformed_height,
        .front_box_x = ui_info.front_box_x,
        .front_box_y = ui_info.front_box_y,
        .front_box_width = ui_info.front_box_width,
        .front_box_height = ui_info.front_box_height,
        .world_objects_visible = false,  // Invisible until we receive a calibration message.
        .gps_planner_active = false,
    };
  
    s->rgb_width = back_bufs.width;
    s->rgb_height = back_bufs.height;
    s->rgb_stride = back_bufs.stride;
    s->rgb_buf_len = back_bufs.buf_len;
 
</s> remove     if (data.getVCruise() != scene.v_cruise) {
      scene.v_cruise_update_ts = event.getLogMonoTime();
    }
    scene.v_cruise = data.getVCruise();
    scene.v_ego = data.getVEgo();
    scene.curvature = data.getCurvature();
    scene.engaged = data.getEnabled();
    scene.engageable = data.getEngageable();
    scene.gps_planner_active = data.getGpsPlannerActive();
    scene.monitoring_active = data.getDriverMonitoringOn();
    scene.decel_for_model = data.getDecelForModel();
    auto alert_sound = data.getAlertSound();
 </s> add     auto alert_sound = scene.controls_state.getAlertSound(); </s> remove         s->alert_type = data.getAlertType();
 </s> add         s->alert_type = scene.controls_state.getAlertType(); </s> remove     scene.frontview = data.getRearViewCam();
 </s> add     scene.frontview = scene.controls_state.getRearViewCam(); </s> remove     if (data.getMockEngaged() != scene.uilayout_mockengaged) {
      scene.uilayout_mockengaged = data.getMockEngaged();
    }
 </s> add  </s> remove     auto data = event.getControlsState();
 </s> add     scene.controls_state = event.getControlsState();
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  
    s->cur_vision_idx = -1;
    s->cur_vision_front_idx = -1;
  
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  s->scene.frontview = getenv("FRONTVIEW") != NULL;
  s->scene.fullview = getenv("FULLVIEW") != NULL;
  s->scene.transformed_width = ui_info.transformed_width;
  s->scene.transformed_height = ui_info.transformed_height;
  s->scene.front_box_x = ui_info.front_box_x;
  s->scene.front_box_y = ui_info.front_box_y;
  s->scene.front_box_width = ui_info.front_box_width;
  s->scene.front_box_height = ui_info.front_box_height;
  s->scene.world_objects_visible = false;  // Invisible until we receive a calibration message.
  s->scene.gps_planner_active = false;
  
    s->rgb_width = back_bufs.width;
    s->rgb_height = back_bufs.height;
    s->rgb_stride = back_bufs.stride;
    s->rgb_buf_len = back_bufs.buf_len;
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace 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/ui.cc