Expand description
The recursive node value making up the in-memory tree.
Invariants (upheld by crate::DirectoryTree transitions, asserted
by the test suite):
is_expanded⟹is_dir— files are never expanded.is_expandedandis_loadedare independent: a node may be loaded-but-collapsed, or briefly expanded-but-not-loaded while a scan is in flight.childrenis empty iff!is_loaded, except for genuinely empty (or fully filtered) directories, which are loaded with no children.error.is_some()⟹is_loaded∧childrenempty.
Nodes are ephemeral: rebuilt when filters change or fresh scan data merges. Anything that must survive rebuilds (the selection set, from RFC 004 on) lives on the tree root keyed by path, never on nodes.
Structs§
- Tree
Node - One directory entry in the tree.