code: def adjacency_projections(mesh):
      
      # normals and origins from the first column of face adjacency
      normals = mesh.face_normals[mesh.face_adjacency[:, 0]]
      # one of the vertices on the shared edge
      origins = mesh.vertices[mesh.face_adjacency_edges[:, 0]]
  
      # faces from the second column of face adjacency
      vid_other = mesh.face_adjacency_unshared[:, 1]
      vector_other = mesh.vertices[vid_other] - origins
  
      # get the projection with a dot product
      dots = util.diagonal_dot(vector_other, normals)
  
      return dots
docs: Test if a mesh is convex by projecting the vertices of
      a triangle onto the normal of its adjacent face.
  
      Parameters
      ----------
      mesh : Trimesh
        Input geometry
  
      Returns
      ----------
      projection : (len(mesh.face_adjacency),) float
        Distance of projection of adjacent vertex onto plane