Apparatus is free, open-source software, under development on GitHub .

The Apparatus Editor runs in the browser and interactive diagrams created with Apparatus can be shared and embedded on the web (coming soon).

Apparatus is a hybrid graphics editor and programming environment for creating interactive diagrams .

Documentation

Editor Interface

Javascript in Expressions

One-liners will be evaluated.

4 + 4 8

If you have a multi-line expression, use return at the end.

var x = 32;

return x * x; 1024

All of the javascript Math constants and methods are in scope.

abs(-3) + sin(PI) 3

Additionally, the constant TAU ( 2*PI ) is in scope.

cos(TAU / 6) 0.5

A color utility function rgba(r, g, b, a) is in scope.

rgba(1.0, 0.5, 0.5, 0.5) "rgba(255, 128, 128, 0.5)"

Use spread to create spreads.

Create a range:

spread(0, 5) 0, 1, 2, 3, 4

Create a range with an increment:

spread(0, 5, 0.5) 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5

Turn a javascript array into a spread:

spread([0, 2, 3, 5]) 0, 2, 3, 5

Notes

Apparatus is still an early stage project so there are likely bugs. Please report any issues on the GitHub Issues page. Thanks!

Apparatus aims to support all modern browsers but has been mostly tested in Chrome.

Apparatus will auto-save your diagram. If it crashes (stops working), try refreshing and your diagram will be restored to its last working state.