Skip to content
No description, website, or topics provided.
Elm JavaScript HTML Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


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


Grape is a visual editor for the GP 2 programming language. It provides both a host graph editor, and a rule editor.


The basic graph editing interface described in the table below is the same across both editors. Selected elements can be edited using the toolbar at the top. Note that changing the label or ID of an element requires confirmation by means of the button next to the input, or the enter key. This prevents the entering of invalid attributes.

Operation Action
Create Node Double click background
Move Node Left click and drag node
Create Edge Right click and drag from source to target
Select Item Left click item
Delete selected item Press delete on keyboard
Zoom In/Out Mouse wheel up/down
Pan Left click and drag background

Adding an element to the left hand side of a rule will automatically add it to the right hand side. This way, any modifications made by the rule are explicitly stated by modifying the right hand side of the rule. For example, to create a rule that deletes a node, first create the node in the left hand side, then delete it from the right hand side.

Graphs and rules can both be saved in the DOT and GP 2 formats with the buttons in the toolbar. The default format is DOT, and the dropdown can be used to select GP 2 instead. The DOT representation for rules differentiates between created and deleted elements through the use of shapes.

The rule declaration and condition can be set in the text boxes above and below the rule, respectively.


If you wish to host the editor yourself then just clone the repository and run make. This requires that you have elm installed. A set of files will be produced in the build directory. Copy these to somewhere where they can be served with a webserver.

You can’t perform that action at this time.