I have a graph with two types of vertices: "boundary" vertices have degree 1, and "interior" vertices have degree 4. I've computed a planar embedding of the graph, i.e. around each vertex, I have the list of outgoing edges in (say) clockwise order, and I know that if you connect them up while respecting that ordering, the result will be planar with no edge crossings. The problem is simply to have the computer automatically draw the graph "nicely" from this existing local data.
Ideally, I want the boundary vertices to be equally spaced around the outside of a circle, with the interior vertices forming a network of connections between them without being too spaced out or too bunched up. I'm most interested in visualizing this stuff for up to a few hundred total nodes.
This seems like it should be relatively straightforward, though I am not familiar with the field of graph visualization. Abstractly it seems like one should be able to do some naive algorithm followed by a generic repulsion or similar step, but implementing anything like that on my own seems like a waste, because surely it's been done. My searches on this topic have unfortunately run into many dead ends, since I've already computed the planar embedding, and I don't want the black box drawing algorithm to do that, and I'd like the boundary vertices on a circle. If there is a more appropriate forum for this question, by all means tell me, since I was unable to find any.
My code is currently in SageMath, which does have a planar-embedded graph drawing routine, but the output is completely unusable for practical examples since it uses nearly parallel edges and bunches things up terribly. I would not mind using an external tool. It would be great if I could manipulate the resulting graphs in a GUI (e.g. these are actually oriented graphs, and I'd like to be able to manually click to toggle orientations), but that is not essential.