internal_todo.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <html>
  2. <head>
  3. <title>Graphviz Wish List</title>
  4. </head>
  5. <body bgcolor=#f0f0f0>
  6. <center>
  7. <h1>Graphviz Wish List</h1>
  8. </center>
  9. <P>
  10. The 4 categories give a rough time as to when a task should be done,
  11. and reflect an assessment of the task's ease multiplied by its importance.
  12. Thus, orthogonal layouts are extremely important but not easy,
  13. so they fall into category 2. The following denote owners:<br>
  14. AB=<A HREF=mailto:[email protected]>Arif Bilgin</A><br>
  15. DFWC=<A HREF=mailto:[email protected]>Don Caldwell</A><br>
  16. DP=<A HREF=mailto:[email protected]>Dwight Perry</A><br>
  17. ERG=<A HREF=mailto:[email protected]>Emden Gansner</A><br>
  18. JCE=<A HREF=mailto:[email protected]>John Ellson</A><br>
  19. SCN=<A HREF=mailto:[email protected]>Stephen North</A><br>
  20. YH=<A HREF=mailto:[email protected]>Yifan Hu</A><br>
  21. <hr align=left width=66>
  22. <H2>Category 0</H2>
  23. <pre>
  24. ALL - Revise the buglist; fix bugs
  25. SCN - Update dot/neatoguide
  26. </pre>
  27. <hr align=left width=66>
  28. <H2>Category 1</H2>
  29. <pre>
  30. JCE - Extend attribute set for line styles
  31. JCE - Allow arrowheads in the middle of edges
  32. JCE - Support single, uniform font descriptors &#224; ala pango
  33. ? - Move generic node adjustment and spline routing out of neato
  34. AB - smyrna
  35. 1 QT
  36. 2 Widget library. Plugins. Printing.
  37. 3 Full dotty replacement incl. history, checkpoints, scripting, undo.
  38. 4 General editor
  39. YH/ERG - Clusters in sfdp
  40. YH/ERG - Fixed nodes in sfdp
  41. ERG - Finish orthogonal edges (edge labels in dot; ports)
  42. ERG - Add stack frames/local variables to gvpr
  43. ERG - GvMap integrated tool
  44. ? - Finish handling of loops using arbitrary ports
  45. </pre>
  46. <hr align=left width=66>
  47. <H2>Category 2</H2>
  48. <pre>
  49. SCN/AB - New dot core:
  50. - new mincross + clusters (partial prototype)
  51. - symmetrize layouts
  52. - Ulrik's improvements with network simplex
  53. JCE - Shapes
  54. - SVG grammar or other grammar to specify node and arrow shapes
  55. - user-defined nodes in all code generators
  56. YH/ERG - additional graph packing strategies
  57. ? - Filters for Chaco formats.
  58. ? - Library for bundled edges (Given two sets of nodes, with positions,
  59. forming a bipartite graph, return splines to bundle the edges together)
  60. ? - better spacing of edges along the side of a node, especially
  61. exposed port sides. Perhaps extend compass points to S, N, E, W to
  62. mean anywhere along that side.
  63. ERG - Tabular layout in rows and columns in dot (swim lanes)
  64. Crossing minimization with some nodes in columns
  65. ? - Enable arbitrary depth clusters in neato using IPSEP
  66. ? - Allow mixed edge types within the same graph
  67. ? - Off-load more to pango, such as linebreaks, right-to-left characters, etc.
  68. ? - Allow text at an angle
  69. </pre>
  70. <hr align=left width=66>
  71. <H2>Category 3</H2>
  72. <pre>
  73. Generic label placement modifying graph layout.
  74. Support for compound graphs.
  75. Allow varied layouts within clusters - recursion
  76. Spline router improvement (Gordon's improvements, alpha adjustments, fewer
  77. inflection points)
  78. Fast incremental hierarchical layout
  79. Edge routing with just two vnodes per edge (after Kaufmann)
  80. Graph language improvements
  81. local name spaces
  82. subclassing
  83. Shapes - new parallelogram shape where angle is fixed for varying text
  84. True orthogonal layouts.
  85. Support rank=min/max within the context of a cluster
  86. </pre>
  87. <H2>General R&amp;D problems</H2>
  88. <pre>
  89. Dot with aspect ratio allowing clusters
  90. Dot with aspect ratio &lt; 1
  91. Incremental layouts
  92. Dot with orthogonal, coalesced edges (e.g., <A HREF="http://upload.wikimedia.org/wikipedia/commons/7/74/Uml_diagram.svg">this</A>)
  93. Generalizing the above, support for hyperedges
  94. Constraint-based layouts
  95. Display of large-graphs (hair ball problem)
  96. - relaxing constraining edges
  97. - edge bundles
  98. - other
  99. Venn diagrams
  100. Integration of geographic info - maps
  101. Aspect ratio in dot with clusters
  102. Dot with fixed width
  103. Adjust graph to allow no edge-node overlap with line segment edges
  104. </pre>
  105. <H2>Done</H2>
  106. <pre>
  107. SCN/ERG - Move dot to cgraph
  108. SCN/ERG - new rank assignment
  109. JCE - Extend attribute set for line thickness
  110. ERG - New text labels with font elements &lt;FONT&gt;
  111. ERG - Allow edges as line segments and polylines
  112. ERG - New multiedge code
  113. YH/ERG - New overlap adjustment strategies
  114. YH - Faster fdp (sfdp)
  115. ERG - Variable port depending on layout
  116. ERG - Better aspect ratio in dot
  117. ERG - New orthogonal routing code
  118. JCE - use floats not ints where appropriate
  119. YH - Filters for Matrix Market
  120. ERG - New text labels with font elements &lt;B&gt;, &lt;I&gt;, &lt;TT&gt;, etc. (support via fontconfig or egregious hacks)
  121. AB - smyrna
  122. 1 Design incl. 3D navigation, multiple graphs and viewports. Avoid modes.
  123. 2 Stable GUI. 3D mouse.
  124. DFWC - Lightweight edge labels in dot
  125. DFWC - Lightweight node labels in dot, just placed outside nodes.
  126. DFWC - Generic label placement without modifying graph layout.
  127. YH/ERG - Treemaps
  128. DP/ERG - Clusters/HTML tables with rounded edges
  129. ERG - Filters for GraphML
  130. </pre>
  131. <H2>Retired</H2>
  132. <pre>
  133. JCE - Revise GV_FILE_PATH to work as directory list; remove loose ends
  134. ERG - eliminate the nonlinear adjustment
  135. - use convex hull or alpha shapes
  136. </pre>
  137. </body>
  138. </html>