I can say that part of implementing this design will be doing seccomp policy to allow using uids and gids, and the first uid/gid that will be allowed is the system ‘daemon’ user/group which is not dependent on the rest of the design (in fact, the only reason why it isn’t implemented yet is because of the various issues with rolling out new seccomp policy that are finally addressed in snapd 2.26.14).
This interface (currently) allows nothing more than the cups-client apparmor abstraction (ie, connecting to the cups socket) and group membership is not mediated by snapd but instead enforced by the cupsd daemon. It is only available on classic. To be available on core, you’d have to extend the cups-control interface in a similar manner as the aforementioned PR for avahi to allow a slot implementation snap to run as cupsd and allow connections to it.