search method
Implementation
List<UTrackRecord> search(String query) {
final String normalized = UBidi.normalizePersian(query).toLowerCase().trim();
if (normalized.isEmpty) return tracks;
final List<String> terms = normalized.split(" ").where((String t) => t.isNotEmpty).toList(growable: false);
return _tracks.where((UTrackRecord record) => terms.every((String term) => record.searchKey.contains(term))).toList(growable: false);
}