Oh man! That took a lot longer than it should have, and in the end turned out not to be all that complex for some really nice wins. Writing this up now for InformIT. (Assuming I can rub a couple of neurons together in my sleep-deprived state.)
I ended up using UIKit instead of SpriteKit (either would have worked) just because it was really really quick to get 3 views up there and doing stuff. Yesterday, my entire “UI” was actually a text stream as I tried to monitor values headlessly.
The point of GameplayKit is that it gives you a model. You tie those model updates to views using your own controllers. It really takes very little work, and you can create extremely lightweight (but not terribly useful) examples in just a few lines of code.