Objects have an optional attribute describing its type
The type can be used to:
find/select specific elements
to script elements
to allow only specific types to be connected together
Generally, elements should have user editable attributes.
An example would be to store attributes needed by exporter that work with external program, like ditaa, a shape that can't be well displayed by Asciio can be displayed with another color but the shape would be exported properly.
The object extra attributes are all under a single entry in the object
Scripting.pm has it's own name to element hash which needs to be maintained in parallel when deleting the elements; adding a name to an element would remove the problem.
Objects have an optional attribute describing its type
The type can be used to:
Generally, elements should have user editable attributes.
An example would be to store attributes needed by exporter that work with external program, like ditaa, a shape that can't be well displayed by Asciio can be displayed with another color but the shape would be exported properly.
The object extra attributes are all under a single entry in the object