pub fn routines_matching<'a>(
routines: &'a [Routine],
kind: BreakKind,
categories: &[RoutineCategory],
max_difficulty: RoutineDifficulty,
) -> Vec<&'a Routine>Expand description
The routines that match a break kind and the engine filters: the kind’s
pool, intersected with categories (empty means “all categories”) and
capped at max_difficulty. Pure so every filter combination is
unit-testable. Sleep matches nothing.