Elle,
much as I admire people who build everything from git, that approach has its problems - when something breaks, to which package is the breakage attributable ? I’m talking about run-time breakage, not build-time (although there will often be a lot of that when picking random git commits across multiple packages).
For gimp-2.99, yes, you need a git version for that and perhaps for a few other dependencies. But wherever possible, it is much easier to stick to released versions (and, as I said elsewhere, look at configure and the files for meson - or for cmake on packages using that - to determine what you can get away with).
Of course, even releases have bugs that nobody testing them has yet noticed.
At the moment, I assume that 2.99 is not yet close to a release and therefore only dedicated testers should be using it - in 2.9, may things changed and it can be a pain to have to keen relearning how to do things.
But libre software is supposed to be about having fun - don’t let it grind you down, and enjoy whatever you decide to do.
ĸen