Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Ø(Riven)

Riven is a bare minimum flow-based programming framework (eg: math & conditional). Nodes have 2 ways of communicating with each other, one is a send/receive pattern, the other, a request/answer pattern. Despite its minimal toolset, it can be expanded into a complete web framework.

The Ø Selector

You are given a node selection tool Ø(), you can type the character with alt+shift+O(Alt +0216). If you are on Windows, or cannot easily type this character, try wrapping this function into a character of your choosing, like function R(a){ return Ø(a); }.

Create a node

Ø("template").create({x:2,y:2}) will create a template node at 2,2.

Select a node

Ø("template") will select the template node.

Connect a node

Ø("template").connect("parser") will connect the template node to the parser node.

You can also connect to multiple nodes at once with Ø("template").connect(["parser","console"]). The Ø("template").bind("parser") will create both a connection and a syphon between the 2 nodes.

Communication

.Send()

Ø("template").send("hello") will send "hello" to all receiving connected nodes.

.Receive()

Ø("template").receive(q) => {}, method is triggered by send().

.Request()

Ø("template").request("cake") will request "cake" from all answering connected nodes.

.Answer()

Ø("template").answer("cake"), method is triggered by request().

Extras

.Bang()

Ø("template").bang(), is a convenience method equivalent to .send(true), will send true to all receiving connected nodes.

.Signal()

Looks for a connected node(receiving/answering) with the parameter id, Ø("template").signal("parser").send("hello"). Will send "hello", directly to the parser node.

Mesh

You can group nodes into scopes with .mesh(pos,[nodes]) to visually groups the nodes into a single element that can be moved as one.

Ø("template").mesh({x:2,y:2},[
  Ø("parser").create({x:1,y:2}),
  Ø("header").create({x:2,y:3})
])

That's it!

This framework does nothing else, but it does this well.

Enjoy.

About

Tiny Flow Based Framework

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.