TODO.md 2.4 KB

TODO

Deprecated

Ideas

  • Make editor importable to any vue UI
  • Consider adding f.Err again

  • [ ] FlowServer: Maintain flow to keep variables

  • [x] Create a special operator "var" to handle local data

  • [x] triggers, vertical slots in nodes, handling events giving the possibility to trigger execution of subsequent nodes based on links

  • [ ] handle Trigger activity to show highlighted trigger

Separate development

  • github.com/gohxs/flow
  • github.com/gohxs/flowserver
  • github.com/vue-hxs/flow-ui

Flow types

  • Graph
  • Pipeline

Graph

Graph will have one output and several inputs, a graph is commanded by the output node like a function the node runs by fetching inputs and processing them.

  • Several inputs
  • One output
  • Graph is started by the last node
  • Process will follow from current fetching the input nodes
  • Each input can only have one source
  • Fetch result from any node

computational graphs can have several purposes but the primal goal was machine learning and have a flow of tensors

Pipeline

Pipeline will have a single input and output and its commanded by the first node when a node is finish it will trigger the next nodes with data generated by the node

  • One input
  • One output
  • Nodes trigger other to process
  • One input can have several sources, a node can send to several outputs
  • Nodes are dependend on input, process should start from the initial pipeline node

Pipelines can also have several purposes but started with the idea of creating some kind of CI where we can graphically see nodes processing, from build to staging

Cache test

Minimal idea

UI to create multipurpose flow graphs, upload to the server pass inputs and do training fetch model and use it with new inputs distributed purpose to calculate several nodes across a network

implement common AI methods(funcs) reuse them

Frontend

  • Deal with svg relative mouse position
  • do an event from one socket to another highlighting the ones compatible for data type
  • Create something to add/remove links/nodes as in populating from the server
  • Colaborative editing through possibly websocket, by sharing states
  • const/var editor with multiple props
  • add types to sockets (litle label aside)

Backend

  • create http server that serializes and inspect run graphs (step by step)
  • Serve registry with information about inputs/outputs
  • Protocol to build and run a graph from frontend