pub fn build(spans: &[ClockSpan], days: RangeInclusive<i64>) -> ClockReportExpand description
Build a report from spans, keeping only those filed in days.
days is an inclusive epoch-day range. An empty range or no matching span
yields an empty report, which the caller renders as “no clocked time” rather
than as an empty table — a table with no rows and a 0:00 total reads as a
broken report, where a sentence reads as an answer.
Rows come out in outline order: a parent immediately before its children, siblings in first-seen order. Not sorted by time, deliberately — the report is a picture of the outline, and re-ordering it by duration breaks the one structural cue that says which rows belong to which project.