Hey @glasen77, really the only difference to understand between build-snaps and build-packages is that they’re installed via ‘snap install’ instead of via the host’s package manager (e.g. ‘apt install’ on Ubuntu). In essence, this means build-snaps are made available under /snap/ during build.
As @sergiusens said, how a particular build-snap is used depends on the build-snap. In the case of the gnome-sdk, our eventual intension is actually for snap developers not to use it directly, but instead have it indirectly pulled in via a new ‘gnome-extension’ (you can read more about extensions on @sergiusens blog post here: http://blog.sergiusens.org/posts/snapcraft-3.0/).
Of course, the build-snap can be used directly (and until the extension is ready, may have to be), it just means more manual work in getting build paths properly set up. As @kenvandine said though, this snap is still a work in progress, so everything I just said could still change
In the meantime, you can check out my epiphany and gnome-calculator snapcraft yamls for a rough idea on how this works (of particular interest will be the use of the ‘buildenv’ build environment):