A project to explore boolean width using a graphical user interface.
- TODO
- clean separation of graph/tree data objects with change notifications
- tag or display max cutbool for tree
- drag to rearrange tree
- fix bugs (not possible to exchange child with parent)
- graph changes preserve tree as much as possible
- graph and tree simple print literals
- click to fix cutbool view and enable node swaps
- add help text for keys and mouse actions
- switch between circle pack and regular tree
- editable graph text
- all selectors in css and code target parent svg in case of multiple graphs
-
figure out how to use node/coffeescript conveniently with modules from command line as well as on page
-
phantomjs loads page bloat + is async so not so cool for processing files
-
visualize cutbool algorithm
- Make debugger to step over Data, not over Code. Data centric view and control at least.
- JS Parser in JS: htps://github.com/ariya/esprima
- JS debugger in JS: https://github.com/int3/metajs, http://int3.github.io/metajs/#
- JS Interactive learning tool, Choc: https://github.com/fullstackio/choc
- Inspiration from JS webgl tracer, but it's not free: https://trace.gl/
-
bugfix drag n drop in tree
- replace with simple tree like
- lazy tree with async computation of cutbool
-
enumerate graph text files using github API
-
store graphs and output in neo4j
- load/import standard graph from github in tree view
- neo4j makes it easy to query and have multiple decompositions on same graph
- makes it easy to query graphs and decompositions using cypher
-
dump boolwidth java algorithm runs to json and create d3 visualization with time slider or port/compile to JavaScript and use choc
- cutbool with choc will be simplest
- full heuristic will require more work to port, better json it as first step
- rewrite algorithm or modularize Java code with an AJAX interface to control/step run from JS