pub struct Report {
pub total: Duration,
pub rows: Vec<ReportRow>,
pub columns: Vec<String>,
pub column_totals: Vec<Duration>,
pub timeline: Vec<Slot>,
}Expand description
A computed report, rendered both in the desktop app and as markdown (export).
Fields§
§total: DurationTime worked, by the clock: when tasks ran at once (an agent’s subagents, say) that time counts once, so task rows can add up to more, and tag rows too (a task with several tags counts under each).
rows: Vec<ReportRow>Tasks (or tags) with tracked time, busiest first.
columns: Vec<String>Breakdown column labels (days of a week, weeks of a month); empty for hour/day.
column_totals: Vec<Duration>Time worked in each breakdown column, counted like total.
timeline: Vec<Slot>Every session in the period, in start order.
Implementations§
Source§impl Report
impl Report
Sourcepub fn merge(parts: Vec<(Option<String>, Report)>, view: &ReportView) -> Report
pub fn merge(parts: Vec<(Option<String>, Report)>, view: &ReportView) -> Report
Several brains’ reports for the same view as one, worked out again from their sessions so time
tasks of different brains ran at once counts once too. Task rows and timeline entries are named
after their brain (api #3 Fix login), since each brain numbers its entries from 1.