Built-in bucketing modes plus the TimelineGroupingFn escape
hatch. The three calendar modes read local date fields, so they stay
correct across DST transitions where a day is 23 or 25 hours long -
epoch division would silently split or merge those days.
'none' collapses everything into one synthetic group, which is how the
organism renders an ungrouped role="list" without a second code path.