pub fn compute_filler_rows(index: &HunkIndex, side: Side) -> Vec<VirtualRow>Expand description
Pure function from (HunkIndex, side) to filler rows.
Exposed for direct unit testing without round-tripping
through a DiffSession.
Two-way vs three-way. Per-hunk shape is inferred
from hunk.ranges.len():
len() == 2(two-way): this pane’s len vs the one other side’s len. Conflict hunks shouldn’t occur (compute_two_waydoesn’t emit them) — skipped defensively.len() >= 3(three-way): this pane’s len vs the max of all participating sides’ lens. Conflict hunks contribute filler the same way Change hunks do — the conflict is about content, not geometry.
If the requested side’s slot isn’t present in the
hunk (e.g. Side::Remote on a two-way hunk), the hunk
is skipped — the provider degrades gracefully when a
session shape doesn’t match the hunk shape.