(doc: &SceneDoc, project_root: &str)
| 3563 | } else { |
| 3564 | true |
| 3565 | }; |
| 3566 | visible && (filter.is_empty() || file_path_matches_filter(path, &filter)) |
| 3567 | }) |
| 3568 | .cloned() |
| 3569 | .collect::<Vec<_>>(); |
| 3570 | if filter.is_empty() && state.activity_mode != "glb" { |
| 3571 | paths.insert(0, "res://".to_string()); |
| 3572 | } |
| 3573 | if let Ok(mut cache) = cache.lock() { |
| 3574 | *cache = Some(CachedFilteredFiles { |
| 3575 | key: cache_key, |
| 3576 | paths: paths.clone(), |
| 3577 | }); |
| 3578 | } |
| 3579 | paths |
| 3580 | } |
| 3581 | |
| 3582 | /// Dirs (trailing `/`, plus the synthetic `res://` root) that contain at |
| 3583 | /// least one entry in the full unfiltered file list. Collapsed folders keep |
| 3584 | /// their disclosure triangle from this set even though their contents are |
no test coverage detected