OptionalcolumnMulti-criteria grouping (issue #1790): ordered column ids to group by,
outermost first (e.g. Building, then Storey). When present and non-empty
this takes precedence over columnId; columnId is kept in sync with the
first entry for consumers built before multi-level grouping existed.
Column ids whose numeric values are summed per group and overall.
OptionalviewResult presentation for a grouped list (issue #1790 round 2 — the reporter's follow-up: Count as a first-class column, and a pivot/schedule layout like Bonsai's, not a nested tree):
nested (default) — the existing collapsible tree: one header per
(sub)group with a count badge next to the label, per-element rows
underneath.schedule — a pivot/schedule table: ONE row per group-value tuple (a
leaf group combination), the grouping columns repeated as leading
columns, followed by a first-class Count column and any configured
sums. No per-element detail rows.
Optional so lists persisted before this existed keep their prior (nested)
behaviour — undefined is treated as nested.
Column id to group rows by (e.g. a Type / Material / Storey column).