  
      def update(self):
          """ Load and unload thumbnails in the visible area of the faces viewer. """
          self._visible_grid, self._visible_faces = self._grid.visible_area
          if (isinstance(self._images, np.ndarray) and isinstance(self._visible_grid, np.ndarray)
                  and self._visible_grid.shape[-1] != self._images.shape[-1]):
              self._recycle_objects()
 
</s> remove         return int(round(size * scaling))
 </s> add         scaled = size * scaling
        return int(round(scaled / 2) * 2) </s> remove         rot_mat = cv2.getRotationMatrix2D(tuple(center), angle, 1.)
 </s> add         rot_mat = cv2.getRotationMatrix2D(tuple(center.astype("float32")), angle, 1.) </s> remove         if self._canvas.optional_annotations["mesh"]:  # Display any hidden end of row meshes
            self._canvas.itemconfig("viewport_mesh", state="normal")

 </s> add 
        if self._canvas.optional_annotations["mesh"]:  # Display any hidden end of row meshes
            self._canvas.itemconfig("viewport_mesh", state="normal")

  
      def update(self):
          """ Load and unload thumbnails in the visible area of the faces viewer. """
        if self._canvas.optional_annotations["mesh"]:  # Display any hidden end of row meshes
            self._canvas.itemconfig("viewport_mesh", state="normal")

          self._visible_grid, self._visible_faces = self._grid.visible_area
          if (isinstance(self._images, np.ndarray) and isinstance(self._visible_grid, np.ndarray)
                  and self._visible_grid.shape[-1] != self._images.shape[-1]):
              self._recycle_objects()
keep keep add keep keep keep keep
 Manual Tool - Bugfixes
  - Fix extract box rotation
  - Fix thumbnail view size
  - Fix issue of deleted landmark meshes still displaying 
tools/manual/faceviewer/viewport.py