Filesystem layout

All XDG paths respect their environment variables.

PathContents
<labdir>/vmlab.wclLab definition — found by walking up from cwd
<labdir>/.vmlab/Lab-local working data: linked clones, snapshots, built media, screenshots (gitignore it)
~/.local/share/vmlab/templates/<arch>/<name>/<version>/Template store (disk.qcow2 + template.wcl)
~/.cache/vmlab/artefacts/Downloaded ISO/qcow2 + built-media cache (content-addressed)
~/.local/state/vmlab/Daemon state + logs (vmlabd.log, per-lab/per-VM JSON-line logs)
~/.config/vmlab/config.wclHost config (optional)
~/.config/vmlab/profiles/*.wclUser profile overrides/additions
$XDG_RUNTIME_DIR/vmlab/vmlabd.sockSupervisor socket (fallback /tmp/vmlab-<uid>/)
$XDG_RUNTIME_DIR/vmlab/labs/<lab>/control.sockLab daemon socket (+ per-VM QMP/agent/NIC/VNC sockets beside it)