I had a text-compare tool that asked people to compare two things it would not show them at the same time.

One textarea, then another textarea underneath it, then a single-column unified diff below that — removals in red, additions in green, in the order a diff algorithm emits them. Everything on the page was correct and the tool was close to useless, because comparing is a thing your eyes do in parallel and the layout made it serial.

Rebuilding it as two columns turned out to have three problems in it. Only one of them is layout, and the interesting one is the layout problem.

Start with the diff you already have

A line-level diff comes out of a longest-common-subsequence backtrack as a flat list: