Distrobuilder: Plain vs LXC vs Incus Images

I’m investigating distrobuilder. In the documentation there are a few build options:

build-dir      Build plain rootfs
build-incus    Build Incus image from scratch
build-lxc      Build LXC image from scratch

What is the differences in the final images built with these three options?

I assumed https://images.linuxcontainers.org/ uses the build-lxc option and that those images can also be used with incus so I’m a bit confused why there is a incus-specific build option.

images.linuxcontainers.org uses build-dir followed by both pack-lxc and pack-incus as it generates and serves both LXC and Incus images.

Why doesn’t Incus use the same image format as LXC?

LXC images are just a plain tar.xz tarball, Incus supports squashfs as well as binary deltas on top of squashfs. It also comes with template files (pongo2) and additional metadata compared to the plain tarball that LXC consumes.