pub fn filter_rows(rows: Vec<Row>, filter: Option<&Filter>) -> Vec<Row>Expand description
Filter rows by the Filter expression, as a case-insensitive substring match over
every cell’s text. A None/empty expression keeps all rows. This is the cheap,
predictable form of the Filter contract; the full expression language lands with
the lens engine (Phase 2) — but the shape is already a serializable string.