Flow DSL AST

从FBP到BPM

// Kind

// IO // input // output

// Node // name

// Edge // source // target

json { nodes: [ ], edges: [ ] }

```rust enum Kind { }

struct Node { id: i64, name: String, kind: Kind, } ```

Nodes

  1. Incoming trigger - connection from parent node
  2. Outgoing trigger - connection to child nodes
  3. Incoming parameter - with type color resulting in a colour picker widget in the inspector
  4. Importing a package from npm (has to be added to the project first)
  5. Trigger callback - this is usually called every frame
  6. Reading properties provided by the parent node
  7. Reading input parameter value
  8. Main node code - drawing a rectangle with a given colour
  9. Passing data further down to the child nodes

Butterfly

iMove

logic-flow

flowchart-fun

https://github.com/tone-row/flowchart-fun https://js.cytoscape.org/

Wireflow

https://github.com/vanila-io/wireflow

https://github.com/ritz078/transform