I'm having a lot more fun than I expected in #Qt, but at the same time, I'm also feeling a bit like I'm a bit late to the party and the raucous roar of crowd is already dying down. Is this the case?
Anyway, I'm so happy that someone answered my question:
https://stackoverflow.com/a/57861452/11352427
This led me to find exactly how this was solved in #Octave:
https://savannah.gnu.org/bugs/index.php?43837
This tells me enough to solve it myself in #tilerswift. I'm going to implement a solution soon.