Calculate once across all requested observations, then group by nonoverlapping
ordered windows. Windows must have finite start < end; gaps are allowed.
An observation belongs by its opening in [start, end), and emits only when
its confirmed prefix is available by end and by optional finite asOf.
Delayed observations never move to a later window. Expression history never
restarts at window boundaries. Empty windows return empty arrays.
Uses the same prefix, missing-value, validation and empty-snapshot rules as
alignRequestedExpression. Result times are openings, not availability times.
Runtime is O(n * columns + windows * columns), plus expression cost.
Calculate once across all requested observations, then group by nonoverlapping ordered windows. Windows must have finite start < end; gaps are allowed. An observation belongs by its opening in [start, end), and emits only when its confirmed prefix is available by end and by optional finite asOf. Delayed observations never move to a later window. Expression history never restarts at window boundaries. Empty windows return empty arrays.
Uses the same prefix, missing-value, validation and empty-snapshot rules as alignRequestedExpression. Result times are openings, not availability times. Runtime is O(n * columns + windows * columns), plus expression cost.