Skip to content
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

feature: Visually organize complex flows s.t. less overlaps happen or overlaps are less confusing #3741

Open
wasnertobias opened this issue May 15, 2024 · 5 comments
Assignees

Comments

@wasnertobias
Copy link

When there are a lot of branches and parallelism in a complex flow, it is tough to follow the lines of a branch, as any other elements overlap them. In addition, overlapping lines (crossings) make it hard to follow in a quick look.

Generally, I would love to see it less dense but more structured.

@wasnertobias
Copy link
Author

Another idea: If there is a for loop or branch (if), then instead of indenting it as code, it could be visually indented as well, e.g., through shadows (higher z-axis)

One (not most extreme) example:
Screenshot 2024-05-17 at 10 17 57

@wasnertobias
Copy link
Author

Some "minimum example":

summary: ""
value:
  modules:
    - id: a
      value:
        type: branchall
        branches:
          - modules:
              - id: d
                value:
                  type: identity
                  flow: false
              - id: e
                value:
                  type: whileloopflow
                  modules:
                    - id: f
                      value:
                        type: identity
                        flow: false
                  skip_failures: false
            skip_failure: false
          - summary: ""
            expr: "false"
            modules:
              - id: b
                value:
                  type: forloopflow
                  modules:
                    - id: c
                      value:
                        type: identity
                        flow: false
                  iterator:
                    type: javascript
                    expr: ""
                  skip_failures: true
                  parallel: false
            skip_failure: false
          - summary: ""
            expr: "false"
            modules:
              - id: g
                value:
                  type: forloopflow
                  modules:
                    - id: i
                      value:
                        type: identity
                        flow: false
                  iterator:
                    type: javascript
                    expr: ""
                  skip_failures: true
                  parallel: false
            skip_failure: false
          - summary: ""
            expr: "false"
            modules: []
            skip_failure: false
        parallel: false
      summary: ""
    - id: h
      value:
        type: branchone
        branches:
          - summary: The default braunch looks like it goes to step n
            expr: "false"
            modules: []
          - summary: ""
            expr: "false"
            modules: []
          - summary: ""
            expr: "false"
            modules:
              - id: j
                value:
                  type: forloopflow
                  modules:
                    - id: l
                      value:
                        type: identity
                        flow: false
                  iterator:
                    type: javascript
                    expr: ""
                  skip_failures: true
                  parallel: false
              - id: m
                value:
                  type: branchall
                  branches:
                    - summary: ""
                      expr: "false"
                      modules:
                        - id: n
                          value:
                            type: identity
                            flow: false
                      skip_failure: false
                    - summary: ""
                      expr: "false"
                      modules: []
                      skip_failure: false
                  parallel: false
                summary: ""
              - id: k
                value:
                  type: identity
                  flow: false
          - summary: ""
            expr: "false"
            modules: []
          - summary: ""
            expr: "false"
            modules: []
          - summary: ""
            expr: "false"
            modules: []
        default: []
      summary: ""
schema:
  $schema: https://json-schema.org/draft/2020-12/schema
  properties: {}
  required: []
  type: object

@wasnertobias
Copy link
Author

Screenshot 2024-05-17 at 10 24 16

@wasnertobias
Copy link
Author

@fatonramadani
Copy link
Contributor

Hi we did some improvements recently, and we will on work on two special cases we have identified soon.

Screenshot 2024-05-23 at 15 59 42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants