docs: def vertical_path(size):
      """
      Creates a generator for progressing vertically through an image.
      :param size: A tuple (width, height) of the image size
      :return: A generator that yields a set of columns through the image.
      Each column is a generator that yields pixel coordinates.
      """
      width, height = size
      return (((x, y) for y in range(height)) for x in range(width))