Why the renderer stays still

PR Lens treats rendering as part of review correctness, not as a decorative last step. This chapter follows how a validated graph becomes an animated SVG while keeping its relationships, focus, and addresses stable. The useful judgment is whether a reviewer can compare two pictures and attribute a visual change to a real system change—not to a renamed label, a different laptop, a new font, or a stale image cache.

A renderer begins with meaning, not coordinates

The renderer receives a graph whose important facts are already expressed as lanes, nodes, edges, deltas, flows, and views. It does not ask an author to provide pixel coordinates. That choice gives the renderer control over a problem that is easy to underestimate: the picture must make relationships readable even when the input is a graph with cycles, uneven labels, removed paths, and several possible scopes.

In the architecture lens, the first visual question is what changed. Added elements use one color family, modified elements another, and removed elements are ghosted and struck through. An unchanged element remains visually neutral, but it still occupies the map because it provides context. Edges carry their own delta, so a connection can show that the relationship itself changed even when one of its endpoints did not. A small number of edges can be marked as heroic or muted, which gives the eye a priority without turning every line into a competing headline.

The renderer also separates living and removed paths. A removed node does not remain in the middle of the active layout and push current components down. Removed nodes are placed in a band below the living graph, preserving enough of their internal structure to show what was retired. A route from the living graph to that old band travels around the outside rather than cutting through current components. The result is a visual distinction between “this still runs” and “this is the path the change took away.”

Placement is derived from the graph’s relationships. Nodes receive a depth based on the longest path from a source, so a downstream component normally appears below the component that feeds it. Real systems contain cycles, so the renderer needs a rule for the edge that closes a cycle. It walks the graph in document order and drops that closing edge from the ranking calculation, while still drawing the edge itself. The picture keeps the relationship and gives up only the impossible promise that every arrow can point downward in a cyclic system.

Layout hints do not override this structure. A preferred rank can push a node farther down, but cannot lift it above a node that feeds it. A stale hint can leave a gap; it cannot invert the direction of a dependency. This is a useful division of responsibility. An author can express a preference for a lane order or a vertical separation, while the renderer protects the basic reading rule that a relationship should not be contradicted by its placement.