Specifically, on vanilla faction stations and Corporate Command or Eternity Port stations that would also show up on the mainline (such as Curators or First Hunters, for example). This would go a long way toward preventing factions from showing up in regions where it doesn’t make sense for them to be — Corporate Hierarchy stations in the Frontier, for instance, or Sung stations in Starborn systems (which have no connections to the Ungoverned Territories) — just because they happen to be in the same level range.
There are probably a few factions who are more likely to be spread out enough that they could show up more or less anywhere, but in those cases it might be better to just let whoever is adding new topology to make a copy of the encounters in question, using the attributes for their systems instead of the “mainline” attribute. Not the prettiest solution, maybe, but it would probably work. (That’s something where optional libraries would also come in handy, just so if — to use an example that I have no plans, intentions, or even vague ideas of including — TBR had Omnithor encounters in it, they would only actually show up if someone playing a game with TBR also had CC, but that’s a subject for another ticket).
This might also require a bit of adjustment to topological attributes, since I don’t think any of the systems added in those expansions are labeled as “mainline” systems — which, yeah, I know, they technically aren’t. However, they’re close enough to the mainline that encounters that should show up on the mainline systems would also be likely to pop up on the Corporate Command or Eternity Port additions to topology.
Alternately, giving each system a list of attributes matching up to what sovereigns would likely have encounters there — Jiang’s Star could have Sung, Commonwealth, CorporateHierarchy, Dwarg, and Huari, for example — and adjusting the systemCriteria for the encounters would probably work as well. In the case of the Curators or First Hunters used in an example further up, tacking the necessary attributes onto a system with <TopologyProcessor> would handle letting them be properly placed into a game. (It would also give me an example of how to use <TopologyProcessor> like that, myself, which isn’t quite entirely beside the point… <.< >.> <.<; )