fn render_trace(trace: &Trace) -> ValueExpand description
Renders a trace with per-step changes computed at read time.
The diff is derived here rather than stored because the context flows
linearly: before(step N) == after(step N-1), so the snapshots already hold
everything needed.