Skip to content
Dethe Elza edited this page Jan 16, 2015 · 5 revisions

To clarify our discussions. This is how Dethe been referring to different components of waterbear and how the names work in the code. I'm totally open to changing these if there's a good reason (better terms, or existing terms are confusing), but until then:

Block:

Any block, whether in the block menu or on the workspace, including triggers, steps, containers and value blocks.

##Block Menu: The accordion section on the left where blocks are listed and can be dragged from (to instantiate a block) or dragged to (to remove a block).

Workspace:

The area where you assemble blocks into scripts. Has the potential to host multiple workspaces/scripts, but there are no examples of that so far.

Stage:

The area where graphics scripts display their output, and listen for input.

Event Handler:

An event handler start block. In recent Waterbear these are just another form of Context blocks.
Sample Trigger Block

Step:

Sequential blocks, particularly simple blocks which are not context or expression blocks.
Sample Step Block

Context:

Blocks which contain one or more groups of other blocks, used for conditionals, loops, and other flow control. Example Container Block

Expression:

Blocks which return a value, used as arguments to other blocks. Expression blocks are strongly typed and fit into colour-coded sockets (or the Any socket which can take any type of value block).
Example Value Block

Socket:

A placeholder for a value block, can also have values typed in directly (except Any blocks). Some sockets are selection lists when they don't contain a value block rather than text entry fields.
Example Step with socket