There's a bit more work to do on today's code to get all the features I want in, but the fundamentals are there with a lot less debugging than I usually need when writing this sort of code. I still hate doing graphics code, but maybe I'm getting a little better at it.