Replies: 3 comments 3 replies
-
I like this idea! I suggest adding a keyword in front of
Then any symbol that is in scope could have any number of |
Beta Was this translation helpful? Give feedback.
-
For reference, here is a link to a modern implementation of the classic pic drawing language inside of Markdown: https://pikchr.org/home/doc/trunk/homepage.md. It looks like it's not yet integrated with GitHub-flavored Markdown. |
Beta Was this translation helpful? Give feedback.
-
I actually think that it is possible to have nice-looking auto-generated diagrams. One just has to accept some limitations, e.g., breaking the diagram up into sub-diagrams to remove edges that cross or go back and forth. Here is an example of an auto-generated diagram that is simple but not entirely trivial and looks nice: https://github.com/fprime-community/fprime-layout/blob/main/examples/ref/RateGroups/RateGroups.pdf This diagram was generated automatically from the FPP Ref topology with the fprime-layout tool. I agree that if one is not willing to break up diagrams this way, then at some point one needs manual layout like this. |
Beta Was this translation helpful? Give feedback.
-
The purpose of this discussion is to start gathering ideas for an augmented FPP specification that would allow an auxiliary file accompanying the main FPP models that would specify layouts for diagramming. Even basic diagrams of components are awkward to render automatically, and automatically rendering non-trivial topologies can turn to "spaghetti" quickly.
The concept of the FPP diagramming augmentation is that the augmentation files would exist alongside normal FPP files and provide extra metadata about how to arrange diagrams. That would allow either a human to manually arrange the diagrams via editing the extra file, or a GUI with graphical tools to arrange objects could generate it. A separate file allows the FPP model file to be "pure" FPP, uncluttered by the augmented code. The FPP spec could allow the files to be combined, but that would seem sub-optimal from a human readability perspective.
For the sake of discussion, the component file could have specifications like:
The topology file could have specifications like:
Beta Was this translation helpful? Give feedback.
All reactions