docs: def move_emitters(self):
          """
          Move each emitter by it's velocity. Emmitters that move off the ends
          and are not wrapped get sacked.
          """
          moved_emitters = []
          for e_pos, e_dir, e_vel, e_range, e_color, e_pal in self.emitters:
  
              e_pos = e_pos + e_vel
              if e_vel > 0:
                  if e_pos >= (self._end + 1):
                      if self.wrap:
                          e_pos = e_pos - (self._end + 1) + self._start
                      else:
                          continue  # Sacked
              else:
                  if e_pos < self._start:
                      if self.wrap:
                          e_pos = e_pos + self._end + 1 + self._start
                      else:
                          continue  # Sacked
  
              moved_emitters.append(
                  (e_pos, e_dir, e_vel, e_range, e_color, e_pal))
  
          self.emitters = moved_emitters