-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to arrow across scope #6
Comments
There is no way to do this in nomnoml right now. 😞 See the example below for a case where we would have ambiguity. Some concept of "absolute paths" would have to be implemented. I am hesitant as that would be a move away from the nice visual ASCII-art like syntax towards a more programming-language like syntax.
|
Yes, I see it would be confusing with current syntax, which implicitly create cell when describing connection.
Plus there will be name escaping (so that dots can be used safely in name), and will get nasty. I think this can be considered together with #2. |
Would love to see this too! This is one of the missing features that keeps causing me to fall back to tools other than nomnoml (which I hate to do, because I love nomnoml!) Honestly, I'd be happy with no extensions to the syntax, and a change to the rules for how names are scoped. A simple case:
Right now, this is interpreted as meaning that package B contains both Car and Vehicle. Of course, in this case, the intent is for B to contain just Car, with an association to Vehicle in A. I think this is the more common intent for cases like this; I'd almost never want to have multiple things with the same name in the same diagram (that just sounds confusing!) If there are use cases for having multiple things of the same name, maybe require that these must be defined on the left-hand side of an association (or without an association at all)? So, if someone really wanted package B to contain both Car and Vehicle (different from A's Vehicle) they could disambiguate by saying:
This avoids introducing new syntax, allocates the simpler syntax for (IMO) the more common case, allows more complex syntax for the less common case, and is even a little discoverable (insofar as it's something you might try - "no, nomnoml, I really do want another Vehicle in B!") Finally, for more complex ambiguities like:
...I don't really care what nomnoml does. I've described an incoherent diagram and don't expect a coherent result. |
I can also second that this is the only major limitation that prevents using nomnoml at all in place of Gliffy/LucidCharts for me. |
What about somehting like:
where |
The colon ":" is already a UML control character that is used for instances. It also does not address the problems described in #6 (comment) |
Yes, The colon was only example because i am not an UML Expert :) And it is also possible to solve the ambiguity by using absolute paths (maybe)
|
I think all paths should go through the container facade: in a sense nomnoml teaches us to design the class diagram better. So a different approach would be to have package facades (show the connection to package (considering the facade has the same name) an then from package to classes inside of it). The first part nomnoml already does. The second part can be emulated by having a class with the same name as the package inside the package and linking form there. |
This would be a great feature. I'd rather use Nomnoml than Mermaid honestly. (I use the 'subgraph' feature in Mermaid.) |
Really nice tool, but this feature would make it even better. How about something like the construct PlantUML uses?
|
I'm a bit late to the convo but I'd also use this feature for the reason given in #46 Is it still not possible? |
Not a supported feature unfortunately. 😞 |
It would be great if this feature wiil be implemented 👍 |
@skanaar Hmm... I see your pickle.... It looks like you use dagre? My point in the other post?
You could draw the graphs and wrap them in a |
Drawing the graphics is the easy part. Actually calculating the graph layout is a complex task that Dagre does for us. However I think that the latest versions of Dagre do support graph clustering, so this could be implemented. There is just the nitty-gritty details to work out. |
... I see, I'll keep quiet then.... Good luck! |
Tell us when it becomes available! Thxx |
@jhonatan1090 You are welcome to help out! |
Just adding to chorus: "arrow across scope" support would be a great + highly appreciated feature addition. Thanks. |
Why not add one more - to signify absoluteness or ignore grouping?
This way, it's left to the user to draw arrow to and from any entity, regardless of them being in a group. |
Looking around, D2 supports containers, even when using Dagre as the layout engine. Maybe check out how they are doing that? |
I want to make arrows across package, for example:
Is there any way to do this?
Great project BTW!
The text was updated successfully, but these errors were encountered: