Has any thought been given to some sort of inline theme configuration, right inside of the .als
file?
Here’s the sort of thing I have in mind. I’m modeling a simple (existing) inventory control system, which keeps track of line items. When visualizing a LineItem, I want the id and qty to be attributes and not show as nodes, so something like this:
sig Item {}
// Theme: seq/Int node visible=no
sig LineItemUUID {} // Theme: node visible=no
sig LineItem {
id: disj one LineItemUUID, // Theme: edge attribute=yes
item: one Item,
qty: Int // Theme: edge attribute=yes
} {
// Facts
qty >= 0
}
or maybe something that maps more directly to the .thm
file, a special comment at the top:
/* THEME:
* <node visible="no"> <type name="seq/Int"/> </node>
* <node visible="no" shape="Inv Triangle" color="Blue">
* <type name="LineItemUUID"/>
* </node>
* <edge attribute="yes">
* <relation name="id"> <type name="LineItem"/> <type name="LineItemUUID"/> </relation>
* <relation name="qty"> <type name="LineItem"/> <type name="Int"/> </relation>
* </edge>
*/
sig Item {}
...
though that one isn’t as human-friendly, it might be easier to implement/maintain.
Anyway – the general idea is that there are some of these structural hints for the visualization that feel like they could live alongside the actual structures. Thoughts?