Skip to content

ambuc/juggling-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.