One suggested patch and one question:
1. Suggested patch: should we modify format-graph-from roots so that the defualt value for :arc-drawer is #'clim-internals::standard-arc-drawer?
2. I have been trying to figure out how to draw a graph that has multiple different kinds of edges. Actually, more specifically, I would like to draw a graph that is "mostly" a tree: it has a tree backbone, and then has some cross-edges. It isn't at all obvious how to do this nicely. There are (at least) two problems:
i. I don't see an elegant way to indicate the type of edges. AFAICT, the CLIM spec indicates that we simply generate children, i.e., nodes. We never generate edges, except implicitly. My best guess is that the way to do this is either: a. have the "from" node always have enough information to determine what sort of edge is to be drawn from it to the "to" node. This actually breaks down a little in the case where there can be multiple arcs from one "from" to a single "to." b. create a new data structure (some form of association like a hash table, alist or whatever) that records the type of arc to be drawn, and stuff it into your arc drawer function.
ii. More seriously, there doesn't seem any obvious way to say that an arc between "from" and "to" is a cross-edge, and shouldn't increment the depth of "to," rather than being a child edge that DOES increment the depth. Anyone have any suggestions for this? It seems the more difficult problem.
Best, R