pub fn read(dir: &Path) -> FootprintViewExpand description
Read what dir holds. Fail closed: a footprint that does not parse is
left out (so it reads as missing, which counts as protecting), and an
unreadable or unknown .watch is WatchState::Unknown.