docs: def draw_line(
          self,
          line_pts,
          color="#ff0000",
          robot_coordinates=False,
          relative_to_first=False,
          arrow=True,
          scale=(1, 1),
          **kwargs
      ):
          """
              :param line_pts: A list of (x,y) pairs to draw. (x,y) are in field units
                               which are measured in feet
              :param color: The color of the line, expressed as a 6-digit hex color
              :param robot_coordinates: If True, the pts will be adjusted such that
                                        the first point starts at the center
                                        of the robot and that x and y coordinates
                                        are rotated according to the robot's
                                        current heading. If a tuple, then the pts
                                        are adjusted relative to the robot center
                                        AND the x,y in the tuple
              :param relative_to_first: If True, the points will be adjusted such
                                        that the first point is considered to be
                                        (0,0)
              :param arrow: If True, draw the line with an arrow at the end
              :param scale: Multiply all points by this (x,y) tuple
              :param kwargs: Keyword options to pass to tkinter.create_line
          """
  
          def _defer():  # called later because the field might not exist yet
              px_per_ft = UserRenderer._global_ui.field.px_per_ft
              if arrow:
                  kwargs["arrow"] = "last"
              sx, sy = scale
              line = DrawableLine(
                  [(x * px_per_ft * sx, y * px_per_ft * sy) for x, y in line_pts],
                  color,
                  kwargs,
              )
  
              # if relative to first, create object, then move relative to the first
              if relative_to_first:
                  line.move((-line.pts[0][0], -line.pts[0][1]))
  
              if robot_coordinates:
                  self._do_robot_coordinates(line, robot_coordinates)
  
              line.update_coordinates()
              UserRenderer._global_ui.field.add_moving_element(line)
              self._elements.append(line)
  
          self._run(_defer)