Default root pre-ranker: material, applied per state — the search's historical, hardcoded behaviour, now just expressed as a batch so it fits the same injectable shape as any other pre-ranker.
Default root pre-ranker: material, applied per state — the search's historical, hardcoded behaviour, now just expressed as a batch so it fits the same injectable shape as any other pre-ranker.
Public because preRank is: a host that supplies its own pre-ranker needs to be able to name the default it is replacing — to fall back to it when its model is unavailable, or to compare against it — and an external caller had no way to do that while this was package-private.