I have been working on my CAD environment + spreadsheet app &proctor
I moved all user interaction type of code (context sensitive UI, element picking, line drawing,...) from an event driven system to a polling system. The code is much less and a lot easier to read and work on.
Hidden line generation was surprisingly hard to get fast enough (rendering alone would be easy, but I need the actual line information for future PDF generation).