A new version has been created in-tree simply called "v2". It started as an empty folder, and will be gradually filled with all the parts of the project code that works.
Each part will be scrutinized thoroughly and polished up to meet a high standard. The following rules apply:
- No compiler warnings or errors allowed.
- Some libraries renamed to better more descriptive names.
- Some libraries merged.
- Some libraries split up, especially libcore and libutil.
- Some libraries or parts will be removed outright.
- Widgets and ui files are distributed among the libraries they belong to.
- Resource files are distributed among the libraries they belong to.
- All libraries receive README.md to describe them better.
- Formatting of sources modified to follow the standard.
- Translation unit optimizations to reduce buildtime.
- Empty dummy classes called NodeV2 and AgentV2 are created that will build and run but not actually work.
- The messy interfaces of node and agent are cleaned up and homogenized.
- Each feature is re-integrated one by one into the V2 classes ensuring that they work, creating unit and integration tests as the project progresses.
This will eventually leading to the completion of the MVP, our first minimum viable product.
Once this MVP works it will be tweaked, optimized and polished in stages until we have a realease candidate for testing.
This roadmap has the advantage that the progress can be measured and followed closely. Instead of crossing fingers and hoping, we can actually see what remains on a burn down sheet.
We are looking forward to work further on this, the work already started. Happy anniversary!