Repository navigation
Tags
Tags
layout: run parallel edges on their own hierarchical edges Edges between the same nodes at different ports or fields each get a hierarchical edge with a chain of its own, but the layout found every one of them as the last: they drew on its path, and the others were phantoms that took room and carried the labels. build now numbers the parallel edges in the order it adds them, and hier.EdgeBetween takes that number, so each edge draws on its own chain, with its own field ports and labels. Edges that ran merged still share the one. Goldens: git only. Its parallel push and pull edges no longer leave a phantom: text length 1469 to 1299, corners 18 to 14.
draw the prefixes of the subnets example as boxes Prefixes that are split further are boxes and networks stay rounded, so the example shows both kinds of corners. With boxes, curved edges fanning out of the /48 now cut the corners of the stacked /56 nodes in the svg layout, which the diagnostics record.
text: pad node labels with a space on either side Nodes laid out for text were sized for the label, the borders and one space, so labels touched one side. Reserve a space on each side, and give back a cell when the spare cells around a label are odd so that it is centered; record dividers move for the same reason.
layout: stack overlapping arcs of flat edges Flat edges between nodes that aren't neighbors arc over the nodes in between, all at the same height, so once arcs in both directions were routed, overlapping arcs shared a line. Stack them: an arc goes above the narrower arcs it overlaps.