Playing with https://developer.mozilla.org/en-US/docs/Web/WebGL/Adding_2D_content_to_a_WebGL_context?redirectlocale=en-US&redirectslug=WebGL%2FAdding_2D_content_to_a_WebGL_context
It's a clone of websequencediagrams.com implemented in pure client-side javascript.
Maybe we'll use http://javascript.crockford.com/tdop/tdop.html to build our parser.