Last days worked at reviewing and separating the code to improve the Naro stability when different parts of his code are changed.
The separation between different components in Naro is made using the pipe and filters pattern. A pipe provides atomic functionality (like we have selection pipe, face picker pipe, mouse 3d pipe) by receiving some input data and generating some output data. Each pipe that implements some functionality is connected to different pipes that provide the functionality it needs as input to generate its output.
Last days worked at finalizing the selection pipe. This pipe receives mouse events and using a selection container class generates and stores selection related information (like selected shapes, faces under mouse click).
Reviewed, simplified, improved use cases and made cleanup on the face picker pipe, editing action, none action, face picker visual hint pipe, editing tools input.
After these changes worked at fixing the tools affected by these changes.
Naro is quite stable at the moment it starts to get ready for the 1.5.1 release version. In about 1-2 days the release should be ready.
Many of the annoying bugs were removed and hopefully the components that generated them isolated well enough not to propagate to other components. Drawing tools started working.
Among the big issues remained to fix for 1.5.1 are: problems related to selection container (when clicking on one solid face the generated info is not good enough for all cases making the floating toolbar not having all tools that can be applied on the mouse click area), some command line parsing problems, shape editing needs some review and fixing for the latest changes.