wolffd@0: wolffd@0: wolffd@0: Graphviz todo list 30-January-2009 wolffd@0: wolffd@0: wolffd@0: wolffd@0:

Graphviz todo list 30-January-2009

wolffd@0:

wolffd@0: The 4 categories give a rough time as to when a task should be done, wolffd@0: and reflect an assessment of the task's ease multiplied by its importance. wolffd@0: Thus, orthogonal layouts are extremely important but not easy, wolffd@0: so they fall into category 2. The following denote owners:
wolffd@0: AB=Arif Bilgin
wolffd@0: ERG=Emden Gansner
wolffd@0: JCE=John Ellson
wolffd@0: SCN=Stephen North
wolffd@0: YH=Yifan Hu
wolffd@0: wolffd@0:


wolffd@0:

Category 0

wolffd@0:
wolffd@0: ALL - Revise the buglist
wolffd@0: SCN - Update dot/neatoguide
wolffd@0: 
wolffd@0:
wolffd@0:

Category 1

wolffd@0:
wolffd@0: SCN - Lightweight edge labels in dot
wolffd@0: ? - Lightweight node labels in dot, just placed outside nodes.
wolffd@0: SCN - Treemaps
wolffd@0: JCE - Extend attribute set for line styles
wolffd@0: JCE - Allow arrowheads in the middle of edges
wolffd@0: JCE - Support single, uniform font descriptors à la pango
wolffd@0: ?   - Move generic node adjustment and spline routing out of neato
wolffd@0: ERG - New text labels with font elements <B>, <I>, <TT>, etc. (support via fontconfig or egregious hacks)
wolffd@0: AB  - Create Graph editor for Topview/Graphviz with OpenGL and GTK. (smyrna - in process) (Deprecate use of lefty)
wolffd@0: YH/ERG - Clusters in sfdp
wolffd@0: YH/ERG - Fixed nodes in sfdp
wolffd@0: 
wolffd@0:
wolffd@0:

Category 2

wolffd@0:
wolffd@0: SCN/AB - New dot core:
wolffd@0:    - cgraph
wolffd@0:    - new rank assignment (have prototype)
wolffd@0:    - new mincross + clusters (partial prototype)
wolffd@0:    - symmetrize layouts
wolffd@0:   - Ulrik's improvements with network simplex
wolffd@0: JCE - Shapes
wolffd@0: 	- SVG grammar or other grammar to specify node and arrow shapes
wolffd@0: 	- user-defined nodes in all code generators
wolffd@0: YH/ERG - additional graph packing strategies
wolffd@0: ? - Filters for GraphML and Chaco formats.
wolffd@0: ? - Library for bundled edges (Given two sets of nodes, with positions, 
wolffd@0: forming a bipartite graph, return splines to bundle the edges together)
wolffd@0: ? - better spacing of edges along the side of a node, especially
wolffd@0: exposed port sides. Perhaps extend compass points to S, N, E, W to
wolffd@0: mean anywhere along that side.
wolffd@0: ? - Tabular layout in rows and columns in dot (swim lanes)
wolffd@0: ? - Enable arbitrary depth clusters in neato using IPSEP
wolffd@0: ? - Allow mixed edge types within the same graph
wolffd@0: 
wolffd@0: 
wolffd@0:
wolffd@0:

Category 3

wolffd@0:
wolffd@0: Generic label placement, with and without modifying graph layout.
wolffd@0: Support for compound graphs.
wolffd@0: Spline router improvement (Gordon's improvements, alpha adjustments, fewer
wolffd@0:   inflection points)
wolffd@0: Fast incremental hierarchical layout
wolffd@0: Edge routing with just two vnodes per edge (after Kaufmann)
wolffd@0: Graph language improvements
wolffd@0:   local name spaces
wolffd@0:   subclassing
wolffd@0: Shapes - new parallelogram shape where angle is fixed for varying text
wolffd@0: Orthogonal layouts.
wolffd@0: Support rank=min/max within the context of a cluster
wolffd@0: 
wolffd@0:

General R&D directions

wolffd@0:
wolffd@0: Incremental layouts
wolffd@0: Dot with orthogonal, coalesced edges (e.g., this)
wolffd@0: Constraint-based layouts
wolffd@0: Display of large-graphs (hair ball problem)
wolffd@0:  - relaxing constraining edges 
wolffd@0:  - edge bundles
wolffd@0: Venn diagrams 
wolffd@0: Integration of geographic info - maps
wolffd@0: 
wolffd@0:

Done

wolffd@0:
wolffd@0: JCE - Extend attribute set for line thickness
wolffd@0: ERG - New text labels with font elements <FONT>
wolffd@0: ERG - Allow edges as line segments and polylines
wolffd@0: ERG - New multiedge code
wolffd@0: YH/ERG - New overlap adjustment strategies
wolffd@0: YH - Faster fdp (sfdp)
wolffd@0: ERG - Variable port depending on layout
wolffd@0: ERG - Better aspect ratio in dot
wolffd@0: ERG - New orthogonal routing code
wolffd@0: JCE - use floats not ints where appropriate
wolffd@0: YH - Filters for Matrix Market
wolffd@0: 
wolffd@0:

Retired

wolffd@0:
wolffd@0: JCE - Revise GV_FILE_PATH to work as directory list; remove loose ends
wolffd@0: ERG - eliminate the nonlinear adjustment
wolffd@0:  - use convex hull or alpha shapes
wolffd@0: 
wolffd@0: wolffd@0: