The source has been reverted back to the Pygame version. The spectre of performance continues to hang over my head though. I am beginning to plan the switch to C++.
Back to normal design issues, the switch a couple weeks ago to keeping a cell change list broke vision, since visibility propagation was handled through the CA engine. Today I worked on fixing that. Another bug has come to light (ha ha) in the process, which is causing some out-of-vision cells to show incorrectly. Fixing that is the immediate objective.