pub fn web_topology(ctx: &Context) -> ValueExpand description
The resolved web topology as data: every surface with its mount, category, visibility, kind, producer, artifact, runtime feature and provenance, in route-precedence order.
It is the same value the web.surfaces capability answers and the same one the router
serves from — this file exists because the site generator runs without a Rust toolchain
and reads committed artifacts, not because the topology has a second source — less the
one part of that value which is a fact of a checkout rather than of the repository.
A surface that discovery declares from what says it exists is in it whether or not its
producer has run: the documentation, declared from the site’s configuration, and the
crate’s rustdoc, declared from the crate. Whether its directory is presently on disk is
a fact of a checkout, and so is the revision it was built from, which is dropped. A
surface known only from the declaration its producer wrote — a report — exists in the
checkout that ran the producer and in no other, so it is left out: the resolution a
process serves still holds it, and the committed file does not change because somebody
ran the suite. That is what keeps the file stable enough for generate --check to
compare, and what lets the site build trust that every published surface named here is
one every machine is expected to build.