So here are the the things I have done so far and some I expect to get done before the new release:
- Port to Qt4: Done. Not as hard as I suspected it would be. Now it will be possible to install it on Windows. I also did a lot improvements on the GUI, such as fixing bugs in the layouts, managed to figure out how to update the GUI (progress display) while the model was running, etc.
- Wrote a GUI based .epg editor. Models are defined in Epigrass through a configuration file which is parsed by the ConfigParser module. To minimize the chances of users messing up the syntax of the file, I cooked up a configuration editor from scratch, which can be run independently of Epigrass to create an edit the .epg files.
- Real-time visualization window: Partially written. I am trying to put together a map animation of the simulation which would run on a separate thread using Pyglet OpenGl interface. I am currently trying to figure out how to do OpenGL viewport auto-resize, so that I can load different maps and have they fit the window. If anyone knows how to do that, please tell me (I am learning OpenGL as I go).
- Update Epigrass's KML output to generate time-animations of the map: Planning stage. This will require to generate multiple layers of the map, one for each time-step. I will probably have to generate a KMZ (a zipped version of a KML) instead of a KML in order to keep the file size from becoming very large. Most of the code is done since I will just re-use the KML-generation code, and call the layer generator multiple times, changing the colors of the polygons at each step.
- Re-write the simulation scheduler to allow the parallelization of the simulation via parallel-python (PP): Planning stage. the coding part will be easy, but I expect a lot of debugging to deal with all the dependency code which needs to be declared when creating the separate jobs with PP. Moreover, I have no idea if I will stumble on unpicklable stuff. I just hope that if I do, I can find a way around the problem.
- Revamp the setup.py, to conform with the latest version of setuptools. It's been broken for a while...
- Maybe try Pyinstaller to release single file executables, and avoid dependency hell, at install time. Many dependencies are not easy_installable yet...