]> granicus.if.org Git - graphviz/commitdiff
Update todo list for users; keep old list in internal_todo.html
authorEmden R. Gansner <erg@alum.mit.edu>
Thu, 30 Jan 2014 20:21:11 +0000 (15:21 -0500)
committerEmden R. Gansner <erg@alum.mit.edu>
Thu, 30 Jan 2014 20:21:11 +0000 (15:21 -0500)
doc/Makefile.am
doc/internal_todo.html [new file with mode: 0644]
doc/todo.html

index f5a883d6ac03102f94b9ddeab46379ef3675aee7..36a6a77a148b62957dea45894cee0023934bc03e 100644 (file)
@@ -5,7 +5,7 @@
 SUBDIRS = info schema
 
 pdf = dotguide.pdf dottyguide.pdf leftyguide.pdf neatoguide.pdf libgraph/Agraph.pdf libguide/libguide.pdf smyrna/smyrna.pdf
-html = build.html FAQ.html index.html winbuild.html pspdf.png char.html gdtclft.entities.example.png todo.html
+html = build.html FAQ.html index.html winbuild.html pspdf.png char.html gdtclft.entities.example.png todo.html internal_todo.html
 txt = Dot.ref latex_suggestions.txt fontfaq.txt addingLayout.txt
 
 pdfdir = $(pkgdatadir)/doc/pdf
diff --git a/doc/internal_todo.html b/doc/internal_todo.html
new file mode 100644 (file)
index 0000000..a5a831e
--- /dev/null
@@ -0,0 +1,141 @@
+<html>
+<head>
+<title>Graphviz Wish List</title>
+</head>
+<body bgcolor=#f0f0f0>
+
+<center>
+<h1>Graphviz Wish List</h1>
+</center>
+<P>
+The 4 categories give a rough time as to when a task should be done, 
+and reflect an assessment of the task's ease multiplied by its importance. 
+Thus, orthogonal layouts are extremely important but not easy,
+so they fall into category 2. The following denote owners:<br>
+AB=<A HREF=mailto:arif@research.att.com>Arif Bilgin</A><br>
+DFWC=<A HREF=mailto:dfwc@research.att.com>Don Caldwell</A><br>
+DP=<A HREF=mailto:dperry@research.att.com>Dwight Perry</A><br>
+ERG=<A HREF=mailto:erg@graphviz.org>Emden Gansner</A><br>
+JCE=<A HREF=mailto:ellson@graphviz.org>John Ellson</A><br>
+SCN=<A HREF=mailto:north@graphviz.org>Stephen North</A><br>
+YH=<A HREF=mailto:yifanhu@graphviz.org>Yifan Hu</A><br>
+
+<hr align=left width=66>
+<H2>Category 0</H2>
+<pre>
+ALL - Revise the buglist; fix bugs
+SCN - Update dot/neatoguide
+</pre>
+<hr align=left width=66>
+<H2>Category 1</H2>
+<pre>
+JCE - Extend attribute set for line styles
+JCE - Allow arrowheads in the middle of edges
+JCE - Support single, uniform font descriptors &#224; ala pango
+?   - Move generic node adjustment and spline routing out of neato
+AB  - smyrna
+       1 QT
+       2 Widget library. Plugins. Printing.
+       3 Full dotty replacement incl. history, checkpoints, scripting, undo.
+       4 General editor
+YH/ERG - Clusters in sfdp
+YH/ERG - Fixed nodes in sfdp
+ERG - Finish orthogonal edges (edge labels in dot; ports)
+ERG - Add stack frames/local variables to gvpr
+ERG - GvMap integrated tool
+? - Finish handling of loops using arbitrary ports
+</pre>
+<hr align=left width=66>
+<H2>Category 2</H2>
+<pre>
+SCN/AB - New dot core:
+   - new mincross + clusters (partial prototype)
+   - symmetrize layouts
+  - Ulrik's improvements with network simplex
+JCE - Shapes
+       - SVG grammar or other grammar to specify node and arrow shapes
+       - user-defined nodes in all code generators
+YH/ERG - additional graph packing strategies
+? - Filters for Chaco formats.
+? - Library for bundled edges (Given two sets of nodes, with positions, 
+forming a bipartite graph, return splines to bundle the edges together)
+? - better spacing of edges along the side of a node, especially
+exposed port sides. Perhaps extend compass points to S, N, E, W to
+mean anywhere along that side.
+ERG - Tabular layout in rows and columns in dot (swim lanes)
+      Crossing minimization with some nodes in columns
+? - Enable arbitrary depth clusters in neato using IPSEP
+? - Allow mixed edge types within the same graph
+? - Off-load more to pango, such as linebreaks, right-to-left characters, etc.
+? - Allow text at an angle
+
+</pre>
+<hr align=left width=66>
+<H2>Category 3</H2>
+<pre>
+Generic label placement modifying graph layout.
+Support for compound graphs.
+Allow varied layouts within clusters - recursion
+Spline router improvement (Gordon's improvements, alpha adjustments, fewer
+  inflection points)
+Fast incremental hierarchical layout
+Edge routing with just two vnodes per edge (after Kaufmann)
+Graph language improvements
+  local name spaces
+  subclassing
+Shapes - new parallelogram shape where angle is fixed for varying text
+True orthogonal layouts.
+Support rank=min/max within the context of a cluster
+</pre>
+<H2>General R&D problems</H2>
+<pre>
+Dot with aspect ratio allowing clusters
+Dot with aspect ratio < 1
+Incremental layouts
+Dot with orthogonal, coalesced edges (e.g., <A HREF=http://upload.wikimedia.org/wikipedia/commons/7/74/Uml_diagram.svg>this</A>)
+Generalizing the above, support for hyperedges
+Constraint-based layouts
+Display of large-graphs (hair ball problem)
+ - relaxing constraining edges 
+ - edge bundles
+ - other
+Venn diagrams 
+Integration of geographic info - maps
+Aspect ratio in dot with clusters
+Dot with fixed width
+Adjust graph to allow no edge-node overlap with line segment edges
+</pre>
+<H2>Done</H2>
+<pre>
+SCN/ERG - Move dot to cgraph
+SCN/ERG - new rank assignment
+JCE - Extend attribute set for line thickness
+ERG - New text labels with font elements &lt;FONT&gt;
+ERG - Allow edges as line segments and polylines
+ERG - New multiedge code
+YH/ERG - New overlap adjustment strategies
+YH - Faster fdp (sfdp)
+ERG - Variable port depending on layout
+ERG - Better aspect ratio in dot
+ERG - New orthogonal routing code
+JCE - use floats not ints where appropriate
+YH - Filters for Matrix Market
+ERG - New text labels with font elements &lt;B&gt;, &lt;I&gt;, &lt;TT&gt;, etc. (support via fontconfig or egregious hacks)
+AB  - smyrna
+       1 Design incl. 3D navigation, multiple graphs and viewports. Avoid modes.
+       2 Stable GUI. 3D mouse.
+DFWC - Lightweight edge labels in dot
+DFWC - Lightweight node labels in dot, just placed outside nodes.
+DFWC - Generic label placement without modifying graph layout.
+YH/ERG - Treemaps
+DP/ERG   - Clusters/HTML tables with rounded edges
+ERG - Filters for GraphML
+</pre>
+<H2>Retired</H2>
+<pre>
+JCE - Revise GV_FILE_PATH to work as directory list; remove loose ends
+ERG - eliminate the nonlinear adjustment
+ - use convex hull or alpha shapes
+</pre>
+</body>
+</html>
index f8599b8d9d378d7385eb7ba1d4ba10e50c4d50d5..b7ab645eabffdd6c4c30ea3c8a5354d38b21318a 100755 (executable)
 <html>
 <head>
-<title>Graphviz todo list 25-May-2012</title>
+<title>Graphviz Wish List</title>
 </head>
-<body bgcolor=#ffffff>
+<body bgcolor=#f0f0f0>
 
-<h1>Graphviz todo list 25-May-2012</h1>
+<center>
+<h1>Graphviz Wish List</h1>
+</center>
 <P>
-The 4 categories give a rough time as to when a task should be done, 
-and reflect an assessment of the task's ease multiplied by its importance. 
-Thus, orthogonal layouts are extremely important but not easy,
-so they fall into category 2. The following denote owners:<br>
-AB=<A HREF=mailto:arif@research.att.com>Arif Bilgin</A><br>
-DFWC=<A HREF=mailto:dfwc@research.att.com>Don Caldwell</A><br>
-DP=<A HREF=mailto:dperry@research.att.com>Dwight Perry</A><br>
-ERG=<A HREF=mailto:erg@graphviz.org>Emden Gansner</A><br>
-JCE=<A HREF=mailto:ellson@graphviz.org>John Ellson</A><br>
-SCN=<A HREF=mailto:north@graphviz.org>Stephen North</A><br>
-YH=<A HREF=mailto:yifanhu@graphviz.org>Yifan Hu</A><br>
+We list below various projects for the improvement of Graphviz. Some are simple feature additions.
+Others require significant coding and understanding of Graphviz internals, while others are open
+research problems. Consideration needs to be given to how a new feature interacts or combines with
+current features. Please <a href="mailto:gviz_rqst@graphviz.org">contact us</a> for more details.
 
 <hr align=left width=66>
-<H2>Category 0</H2>
-<pre>
-ALL - Revise the buglist; fix bugs
-SCN - Update dot/neatoguide
-</pre>
-<hr align=left width=66>
-<H2>Category 1</H2>
-<pre>
-JCE - Extend attribute set for line styles
-JCE - Allow arrowheads in the middle of edges
-JCE - Support single, uniform font descriptors &#224; ala pango
-?   - Move generic node adjustment and spline routing out of neato
-AB  - smyrna
-       1 QT
-       2 Widget library. Plugins. Printing.
-       3 Full dotty replacement incl. history, checkpoints, scripting, undo.
-       4 General editor
-YH/ERG - Clusters in sfdp
-YH/ERG - Fixed nodes in sfdp
-ERG - Finish orthogonal edges (edge labels in dot; ports)
-ERG - Add stack frames/local variables to gvpr
-ERG - GvMap integrated tool
-? - Finish handling of loops using arbitrary ports
-</pre>
-<hr align=left width=66>
-<H2>Category 2</H2>
-<pre>
-SCN/AB - New dot core:
-   - new mincross + clusters (partial prototype)
-   - symmetrize layouts
-  - Ulrik's improvements with network simplex
-JCE - Shapes
-       - SVG grammar or other grammar to specify node and arrow shapes
-       - user-defined nodes in all code generators
-YH/ERG - additional graph packing strategies
-? - Filters for Chaco formats.
-? - Library for bundled edges (Given two sets of nodes, with positions, 
-forming a bipartite graph, return splines to bundle the edges together)
-? - better spacing of edges along the side of a node, especially
-exposed port sides. Perhaps extend compass points to S, N, E, W to
-mean anywhere along that side.
-ERG - Tabular layout in rows and columns in dot (swim lanes)
-      Crossing minimization with some nodes in columns
-? - Enable arbitrary depth clusters in neato using IPSEP
-? - Allow mixed edge types within the same graph
-? - Off-load more to pango, such as linebreaks, right-to-left characters, etc.
-? - Allow text at an angle
-
-</pre>
-<hr align=left width=66>
-<H2>Category 3</H2>
-<pre>
-Generic label placement modifying graph layout.
-Support for compound graphs.
-Allow varied layouts within clusters - recursion
-Spline router improvement (Gordon's improvements, alpha adjustments, fewer
-  inflection points)
-Fast incremental hierarchical layout
-Edge routing with just two vnodes per edge (after Kaufmann)
-Graph language improvements
-  local name spaces
-  subclassing
-Shapes - new parallelogram shape where angle is fixed for varying text
-True orthogonal layouts.
-Support rank=min/max within the context of a cluster
-</pre>
-<H2>General R&D problems</H2>
-<pre>
-Dot with aspect ratio allowing clusters
-Dot with aspect ratio < 1
-Incremental layouts
-Dot with orthogonal, coalesced edges (e.g., <A HREF=http://upload.wikimedia.org/wikipedia/commons/7/74/Uml_diagram.svg>this</A>)
-Generalizing the above, support for hyperedges
-Constraint-based layouts
-Display of large-graphs (hair ball problem)
- - relaxing constraining edges 
- - edge bundles
- - other
-Venn diagrams 
-Integration of geographic info - maps
-Aspect ratio in dot with clusters
-Dot with fixed width
-Adjust graph to allow no edge-node overlap with line segment edges
-</pre>
-<H2>Done</H2>
-<pre>
-SCN/ERG - Move dot to cgraph
-SCN/ERG - new rank assignment
-JCE - Extend attribute set for line thickness
-ERG - New text labels with font elements &lt;FONT&gt;
-ERG - Allow edges as line segments and polylines
-ERG - New multiedge code
-YH/ERG - New overlap adjustment strategies
-YH - Faster fdp (sfdp)
-ERG - Variable port depending on layout
-ERG - Better aspect ratio in dot
-ERG - New orthogonal routing code
-JCE - use floats not ints where appropriate
-YH - Filters for Matrix Market
-ERG - New text labels with font elements &lt;B&gt;, &lt;I&gt;, &lt;TT&gt;, etc. (support via fontconfig or egregious hacks)
-AB  - smyrna
-       1 Design incl. 3D navigation, multiple graphs and viewports. Avoid modes.
-       2 Stable GUI. 3D mouse.
-DFWC - Lightweight edge labels in dot
-DFWC - Lightweight node labels in dot, just placed outside nodes.
-DFWC - Generic label placement without modifying graph layout.
-YH/ERG - Treemaps
-DP/ERG   - Clusters/HTML tables with rounded edges
-ERG - Filters for GraphML
-</pre>
-<H2>Retired</H2>
-<pre>
-JCE - Revise GV_FILE_PATH to work as directory list; remove loose ends
-ERG - eliminate the nonlinear adjustment
- - use convex hull or alpha shapes
-</pre>
+<ul>
+<li>
+Extend the allowed edge styles.
+<li>
+Allow arrowheads in the middle of edges.
+<li>
+Allow rotated text.
+<li>
+Support single, uniform font descriptors &#224; ala pango.
+<li>
+Move generic code, such node adjustment and spline routing, out of neato.
+<li>
+Remove antiquated code and replace multiple algorithm implementations with a single one.
+<li>
+Provide a general graph editor/browser for Graphviz, allowing novice users to rely on widgets
+to control attributes.
+<li>
+Combine the features of sfdp and fdp (e.g., clusters and fixed nodes).
+<li>
+Simplified mincross algorithm based on sifting, supporting clusters.
+<li>
+Implement swim lanes (nodes sharing x coordinate), possibly based on sifting.
+<li>
+Complete support for aspect ratios in dot. We currently have a simple algorithm, but it doesn't work with many other features.
+Support aspect ratios < 1.
+<li>
+Allow maximum width contraints during layout.
+<li>
+Support Orthogonal coalesced edges (e.g., <A HREF=http://upload.wikimedia.org/wikipedia/commons/7/74/Uml_diagram.svg>this</A>)
+<li>
+Extend Graphviz to handle compound graphs.
+<li>
+Provide simplified edge routing in dot using two dummy nodes
+<li>
+Allow edge routing with overlapping nodes.
+<li>
+Modify dot, twopi, etc. to allow incremental layouts.
+<li>
+Improve circo to allow tighter layouts and user control of clusters.
+<li>
+Provide a mechanism for users to define their own node shapes for nodes and edges.
+<li>
+Improve the routing of loops and, for dot, flat edges
+<li>
+Improve the flexibility and placement of exterior labels. For example, allow the user to specify the preferred label
+placement.
+<li>
+Add stack frames/local variables to gvpr.
+<li>
+Provide a collection of simple tree layouts.
+<li>
+Add new graph packing strategies.
+<li>
+Allow mixed edge types within the same graph.
+<li>
+Allow varied layouts within clusters.
+<li>
+Improve Spline router, e.g., fewer inflection points).
+<li>
+Add an option of fast hierarchical layouts to dot.
+<li>
+Provide orthogonal layouts.
+<li>
+Add a new parallelogram shape where the angle is fixed for varying text.
+<li>
+Support rank=min/max within the context of a cluster.
+<li>
+Adjust graph to allow no edge-node overlap with line segment edges.
 </body>
 </html>