-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
[docs]: DIAGRAM - Implement "Operator nesting" in "Diagram Canvas" #18
Comments
@cedricss maybe you have some input :) |
So I'm trying to run through and just make sure I understand what I'm looking at first before offering any thoughts. Is the 0-1-2-3 in the s1$ stream inside the share examples just a copy paste from the multicast example and we're just focusing on the overall UI rather than specific values? It seems like that should be 1-2-3-4 and I just want to make sure I'm following correctly. |
@kyleryanbanks you are right! |
I think you might be able to use bold lines and 1 block indentation to show nesting. I would avoid shading since that breaks down as soon as you run out of shades of grey for each level of nesting. Only had a notebook and a pen on me atm, but I'll try to link to a picture of what I was thinking. It might be nice to have some way to show the nesting in the flow description, too. I think the bold limits you to one level. If you don't want to show every single nested level (eg: share > multicast > subject ) then I think you need some way to "black box" a higher level operator so people know there's logic they don't see, but can expand, jump to, or peek it's diagram easily. I think you lose a little bit of real estate with the indention, but I think you get more clarity of nesting. I think it's okay to have them extend all the way to the right side to show internal operators that remain open at the end if the diagram. (Everything should probably shift over a few blocks to fix the subscribe and connect, but I couldn't maintain all of that in my head manually, lol.) I think this would make building diagrams easier since nested operators should almost just be drag and drop off the lower level diagrams, too. |
Saw the note on Twitter regarding the time shift, might be able to use the time block to cover any growth from the nests and just show that it was still just 1 frame? I think that maybe only becomes an issue when something nested wouldn't happen until after the first value is emitted, though, right? Otherwise you're just shifting the start point? |
Yes, you are right with the starting point. But the frames are normally starting at the left border of the operator... Here some new versions: Happy for any feedback @kyleryanbanks :) |
So I like simple 2 and 3. I think it's clearer where the nested functions end on 3, though. For 2 it's hard to tell if the refcount is that entire bottom chunk with a weird operator stream or if that's the bottom line. Maybe the flow descriptions for any nested operators can just be links until a more official black box solution gets made? |
It feels reasonable to only show 1 layer of nested detail (assuming the lower levels have diagrams somewhere else in the docs.) |
!Notice! => values are wrong bit not the visualisation!
In some situations, we need to display nested operators.
At the moment this is not solved. Below you see different versions of the
share
operator.This is a very good example of the need for nested operators because:
Subject
is used inmulticast
multicast
andrefCount
is used inshare
https://docs.google.com/presentation/d/1LlVmTEcoc1LRV00Tp-rDp4kopI-NobC9S2w-w5pC_JA/edit#slide=id.g4c256b0d88_0_79
The text was updated successfully, but these errors were encountered: