pub enum SkillShelf {
Library(Address),
Building(Address),
External {
index: u32,
path: String,
},
}Expand description
Which shelf a holding sits on, and where its document is.
One value rather than a shelf name beside a path, because a holding
is on one shelf and at one place, and two fields would let them
disagree: a row that says library and points outside the city is a
state no shelf can be in.
Named rather than implied by which list it arrived in, so a page that shows three shelves in one list can still say where a skill came from - which is the question a person asks when two shelves hold the same name and the nearer one wins.
The two city arms are Query::Document’s input; the external arm
is not. A skill on a shelf outside the city has no address, and one
invented for it would send a reader to a file that is not there.
Variants§
Library(Address)
The city’s central stock, under the reserved prefix.
Building(Address)
This building’s own shelf, inside the building.
External
A directory outside the city that the city’s configuration mounts read-only: which shelf of that list this is, and the document’s path from the shelf’s root.