I created a simple Hello World diagram (below), saved it, Imported it to itself and made a copy/paste – so below I have 2 x Module 1, 2 x Diagram 1 and 3 x Hello World. This is just an integrity check on the drawing engine as the engine uses an unique reference and not the names. So from a free drawing perspective this is fine – you can do this in a text editor while a proper editor will tag Module 1 and Hello World as duplicated – meaning you can draw what you want, but the compiler will stop you from generating code since you from a programming perspective have errors.
In this firsr version we focus on design and the capability to make drawings and illustrations (modelling) – a typical usage is that we discuss two or three alternative implementation or just want some drawing freedom as part of the design process – meaning the tool should not limit us. BSA is a very fast drawing tool on these specialized diagrams and we can easely combine drawings with notes and free text where we do not want to be stopped by programming language rules. So – in short we need to allow this because design and documentation is an important bonus we get free from BSA.
The question is how do we precent this in Dictionary and digrams? What we have above is “Hello World”, but assume you do this by accident with hundreds of objects – we need a way for the user to be able to do this deliberately while it also must be obvious that this is an illegal diagram. I plan to run the compiler as a background task so the integrity check will always pop up a almost instantly.
We also have a similar need as we code – we need to make new versions of code and be able to comment out code as we test etc – and using a text editor this is simple, so we should be able to de exactly the same here. From a coding perspective this is straight forward as we could mark illegal situations clearly and force the user to correct situations or comment the out. But, we need something that work for free design as well.
I will experiment with flags in the dictionary and the adding a “Comment” or “Design” tag in the left-top corner to comment out entire diagrams – we seriously need that option and a system to maintain multiple versions of diagrams anyway. It is also a question if we should add a legend option similar to those in other CAD tools. These can easily be added in fixed positions on top of the digrams and be included/removed from printing/clipboard at the users option. Myself I would preffer to see a tag if I look at an older version of a diagram.