resolveUnclaimedPoints (newFaces) {
    // cache next vertex so that if `vertex.next` is destroyed it's still
    // recoverable
    let vertexNext = this.unclaimed.first()
    for (let vertex = vertexNext; vertex; vertex = vertexNext) {
      vertexNext = vertex.next
      let maxDistance = this.tolerance
      let maxFace
      for (let i = 0; i < newFaces.length; i += 1) {
        const face = newFaces[i]
        if (face.mark === VISIBLE) {
          const dist = face.distanceToPlane(vertex.point)
          if (dist > maxDistance) {
            maxDistance = dist
            maxFace = face
          }
          if (maxDistance > 1000 * this.tolerance) {
            break
          }
        }
      }

      if (maxFace) {
        this.addVertexToFace(vertex, maxFace)
      }
    }
  }
Reassigns as many vertices as possible from the unclaimed list to the new
faces

@param {Faces[]} newFaces