Right now, in my view, the highest priorities in order are:
1. Complete the migration of all UI components to the new cross-platform ETO UI framework. This means migrating all UI component definitions to XAML.
2. Once all UI components have been migrated to XAML, ensure the implementations backing those UI components are semantically consistent with the original Flame.
3. Next, remove all WinForms references and their old Flame implementations.
4. Final refactoring and retouches of internal architecture and models that were only kept to facilitate the WinForms implementation. For example, there's one global class with static variables called App, that should get nuked and replaced with an IoC'ed version.
5. At this point, we would have a stable code base. Lock as much of it down with unit tests especially map parser and map compiler code. Make CI server run and pass all unit tests before publishing releases. Fix long-standing bugs. Now we can make improvements.
5.5. Work on the Mac OpenGL issue. https://github.com/opentk/opentk/issues/330
... eventually, we'll get it to work.
I'm not extending any functionality right now besides small refactorings of the code base along the way. Only small incremental improvements to the overall architecture. Extending functionality at this point would only add more complexity to an already evolving code base. When we are at stage 5 then it would be a good time to extend functionality of the map editor.
The only feature I removed from the original flame is working on multiple maps at the same time. The entanglement of data structures and object linkage was way too complex under the hood to keep it. Multiple map support over complicated the code way too much the way it was implemented.
There are small UI changes in SharpFlame that help promote usability. For example, some tabs only display UI components relevant to the tooling context. For example, original flame displayed all options on the tab page regardless if they were used or not. In SharpFlame, only some selections would reveal the relevant tool options for the selected context.
The last bit of UI that needs to be converted to XAML is the TextureTab and TerrainTab. I started on the TerrainTab, but haven't finished it yet. https://github.com/bchavez/SharpFlame/t ... i/Sections
The goal of these changes is to simplify the code, make it easy to understand, and more maintainable. Without this fundamental underpinning, extending the editor with new features would be an extremely difficult effort without breaking something along the way.
Regarding the "Map Generator" stuff. I don't know if the map generator is worth keeping. Any thoughts?