chiasm-project / chiasm

A browser based environment for interactive data visualizations.
MIT License
184 stars 27 forks source link

Re-Write #69

Open curran opened 8 years ago

curran commented 8 years ago

I am planning to re-write Chiasm on top of a new foundation, reactive-model. If you are interested in this effort, please comment here on this issue. I'm curious to hear use cases that you have for something like Chiasm, and the pain points you may have experienced with Chiasm as it stands today.

Hypercubed commented 8 years ago

I am still interested in the Chiasm project. The major pain point for me is that it is still easier to write plain d3, even further it is easy to ignore d3's enter exit stuff completely and just redraw the entire visualization on each change.

curran commented 8 years ago

@Hypercubed Thanks for the feedback! Yes, I also have found it to be easier to write straight D3. The Chiasm abstractions carry too much weight for simple use cases (e.g. a single chart). I think a lot of the ideas are good though, and would like to pursue them.

The current state of the re-write lies in this example Dynamic Baseball Scatter Plot. I'd like to move some of the mixins there to a separate library, reactive-vis. Here are the goals for the reactive-vis project.

I'm envisioning Chiasm to re-incarnate as a small configuration management layer on top of the component structure in reactive-vis. Then there would be no need to use Chiasm itself for simple use cases - it should be easy to use the components directly. The Chiasm layer would only be useful if the goal is to manage dynamic visualizations that are serializable - where the whole visualization definition could live in JSON.

I'm currently blocked on including d3-transition in the build. Once that hurdle is crossed, I'd like to build out coverage of d3-scale just enough to make a few more example components - bar chart and line chart.

I'm excited about another direction of reactive-vis, which is the compositional nature of it. Hopefully when it is built out more, it will provide functionality comparable to GGPlot or Vega, but with a full suite of interactions and the ability to easily create linked views.