              self._add_rows(existing_rows, required_rows)
  
          self._shift()
  
      def _recycle_objects(self):
          """  On a column count change, place all existing objects into the recycle bin so that
          they can be used for the new grid shape and reset the objects size to the new size. """
          self._size = self._viewport.face_size
          images = self._images.flatten().tolist()
          meshes = self._meshes.flatten().tolist()
  
          for image_id in images:
 
</s> remove         self._images = []
        self._meshes = []
 </s> add     def _remove_rows(self, existing_rows, required_rows):
        """ Remove and recycle rows from the viewport that are not in the view area.

        Parameters
        ----------
        existing_rows: int
            The number of existing rows within the viewport
        required_rows: int
            The number of rows required by the viewport
        """
        logger.debug("Removing rows from viewport: (existing_rows: %s, required_rows: %s)",
                     existing_rows, required_rows)
        self._recycle_objects(self._images[required_rows: existing_rows].flatten().tolist(),
                              self._meshes[required_rows: existing_rows].flatten().tolist())
        self._images = self._images[:required_rows]
        self._meshes = self._meshes[:required_rows]
        logger.trace("self._images: %s, self._meshes: %s",
                     self._images.shape, self._meshes.shape) </s> remove         logger.debug("self._images: %s, self._meshes: %s", self._images.shape, self._meshes.shape)
 </s> add         logger.trace("self._images: %s, self._meshes: %s", self._images.shape, self._meshes.shape)
    def _reset_viewport(self):
        """ Reset all objects in the viewport on a column count change. Reset the viewport size
        to the newly specified face size. """
        logger.debug("Resetting Viewport")
              self._add_rows(existing_rows, required_rows)
  
          self._shift()
  
    def _reset_viewport(self):
        """ Reset all objects in the viewport on a column count change. Reset the viewport size
        to the newly specified face size. """
        logger.debug("Resetting Viewport")
    def _reset_viewport(self):
        """ Reset all objects in the viewport on a column count change. Reset the viewport size
        to the newly specified face size. """
        logger.debug("Resetting Viewport")
    def _reset_viewport(self):
        """ Reset all objects in the viewport on a column count change. Reset the viewport size
        to the newly specified face size. """
        logger.debug("Resetting Viewport")
          self._size = self._viewport.face_size
          images = self._images.flatten().tolist()
          meshes = self._meshes.flatten().tolist()
  
          for image_id in images:
keep keep keep keep replace replace replace keep keep keep keep keep
 Bugfix - Manual Tool
  - Fix non-appearing landmark annotations in face viewer 
tools/manual/faceviewer/viewport.py