pub fn render(host: &str, dir: &Path) -> StringExpand description
One host’s cached reply, turned into rows.
A row’s pane id becomes <host>:<pane>. The host rides INSIDE the id rather
than in a column of its own because that id is the only thing the picker
carries downstream, so one composite string keeps preview, switch and restart
unchanged and costs list no schema change.