Quick update: I completed part 11, but along the way, I attempted to make some improvements to rendering, which ended up regressing some old bugs. When I attempted to reapply the fix, the other improvements caused entirely new bugs to manifest. I'd like to fix this properly, and that's going to mean carefully redesigning the abstraction I made for the rendering logic.
I'm going to try to do that tomorrow, and try to smoke out any other bugs. Then, it'll be time to get back into part 12.