ambuc / juggling-graph

🤹 siteswap visualization in Elm

Home Page:http://jbuckland.com/juggling-graph/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Siteswap Notation Rendering Engine

Experimental package for visualizing siteswaps. Siteswaps are a notation system used in juggling to represent patterns in space. It accepts input in the form of numbers 0-9 and brackets [,] (which denote multiplexes, i.e. synchronous events). The engine prints the input expression and draws arrows from each valid throwable position its related catch position. Multiplexes throw from their contents, but recieve at their opening bracket.

Example

Example

Documentation

See the documentation on package.elm-lang.org.

Right now index.html exists so that a demo can live at jbuckland.com/juggling-graph.

Build

Run ./build.sh to run the elm-make command which generates main.js.

renderExpr

{-| Generates an svg of the given siteswap.

    renderExpr <canvas width> <expression>
    renderExpr 500 "3[12][22]"

-}

TODO

  • Higher-throw counts, i.e. [a-w] for throws greater than nine beats long.
  • Synch siteswap notation, i.e. (_,_) for per-hand notation.
  • Arrows stop short of their destination if another arrow is emerging from that side (conflict resolution). You can see this with (for example) "251451", which is not a valid siteswap.
  • Multiple arrows for more traveled orbits.
  • Colors per-orbit.

About

🤹 siteswap visualization in Elm

http://jbuckland.com/juggling-graph/


Languages

Language:JavaScript 88.8%Language:Elm 10.7%Language:HTML 0.5%Language:Shell 0.0%