GraphViz V 3 is under development!
Leon Brocard has kindly given me co-maint of GraphViz.
The aim will be to provide essentially the same features, but to support all the latest graphviz attributes.
The distro will contain some graphviz manual pages, with the scripts which downloaded them, and the output of those scripts. They use HTML::Treebuilder's amazing look_down() method to extract lists of valid attributes in various contexts. So, the attributes themselves are stored in data/*.dat within the distro.
That means they can be used to validate user options, because the code loads these lists when new() is called.
Moose is not used. My policy is to use Hash::FieldHash for speed in stand-alone modules, and Moose only for apps.
Here's how you can help:
o There's a module which allows multiple 'files' to be shipped in the __DATA__ section of a script. I've forgotten its name.
o It's been quite a few years since I used Windows, but I seem to recall a module which will return an exe's name. Eg under Unix it would be 'dot', but under Windows it's be 'dot.exe'.
If you know these modules, please comment :-).
My personal reason for offering to do this is that I'm going to make GraphViz the default, and perhaps the only, output mechanism of the re-write I'm doing of Graph::Easy. I've gotten the new lexer talking to the new parser, and am just about to let graphviz do the formatting. This means I avoid re-writing the huge amount of code in Graph::Easy's layouter.