NaroCAD have right now a clearer separation to make inputs to be as less coupled as possible. This permit to have two kind of improvements: this release tend to be more stable as it will much rarely will happen that a case that Command Line changes will break Parser changes. In this way an action as polyline (that will draw many lines and have separate integration with command line than regular command line action) will work and will be less affected.
Other area that was improved is that is technically possible (there is a minimalist code to do this) to make a small visualization test that makes clear cases with bogus creation.
Unit testing, that was for some time, right now covers most tools and pass 100%. Does it mean that tools will work flawlessly? They will likely not. But on the other hand, big breakages in future will not make them too broken.
Another good part was Mirror actions: they were ported to be meta-actions. This means in short that they work with a small coding and they will work without having their custom coding.
Selection code, even does not covers all cases yet (bxtrx is working hard on fixing those cases) is much less prone to side effects like one tool did change one selection mode and blocks other tool to do it's selection. Even it will happen, is possible to debug those cases, because there is a single entity that have relations with selection code. So even probably may not be perfect for prime time, will be much more improved.
Which are the areas that will be improved in future?
- because there will be a cleaner house, and dependencies are both explicit, minimal and more sparse, we can in future separate this code out of NaroCAD core to plugins.
- editing is (much) better separated, and is possible technically without big changes to add gismos, and if they will not be ready to be released, they can simply be removed from editing action code
- a missing feature of NaroCAD is it's ability to select "Interactives" like: Dimensions, horizontal/vertical lines
- right now as dependencies are explicit and minimal, it may be possible to attempt at least a multi-document running NaroCAD. Probably Copy/Paste may not run. Many previous cases where things were using global code, right now are not using singletons that much and the cases that are still remaining, probably can be fixed in a timely manner.
- testing will be able to cover more cases. Probably making more complex cases as part of test suite will likely protect users to have more complex cases with broken. It would be nice to have a testing module in NaroCAD (I will like to run some automation against NaroCAD, not just to a minimal extend as is Lua, but to simulate actions changing, and so on). This will be able to cover at least crashes against release builds that do not appear in simple unit testing