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