code: def append_faces(vertices_seq, faces_seq):
      
      # the length of each vertex array
      vertices_len = np.array([len(i) for i in vertices_seq])
      # how much each group of faces needs to be offset
      face_offset = np.append(0, np.cumsum(vertices_len)[:-1])
  
      new_faces = []
      for offset, faces in zip(face_offset, faces_seq):
          if len(faces) == 0:
              continue
          # apply the index offset
          new_faces.append(faces + offset)
      # stack to clean (n, 3) float
      vertices = vstack_empty(vertices_seq)
      # stack to clean (n, 3) int
      faces = vstack_empty(new_faces)
  
      return vertices, faces
docs: Given a sequence of zero- indexed faces and vertices
      combine them into a single array of faces and
      a single array of vertices.
  
      Parameters
      -----------
      vertices_seq : (n, ) sequence of (m, d) float
        Multiple arrays of verticesvertex arrays
      faces_seq : (n, ) sequence of (p, j) int
        Zero indexed faces for matching vertices
  
      Returns
      ----------
      vertices : (i, d) float
        Points in space
      faces : (j, 3) int
        Reference vertex indices