It's ALIVE!
So, there's still lots to do, but I've done the metaphorical plumbing of the minimum things to make sure all the layers talk to each other. As a result I've been playing around with the game as a test server on my laptop. It's very simple, but the important thing is that the damn thing appears to work. As always, I've spent HOURS faffing about with CSS then given up.
Also, Quart (the Python aynscio library we're using to serve the application via websockets) is both really very good but not fantastically documented. What documentation that exists, is quite good, although the examples could be more comprehensive. However, many parts of the system remain not-documented enough. Anyway.... Quart is cool and I'll be using again if need be, so thanks to the developers for making something which (once figured out) is really simple and powerful.