This was an interesting one to solve so I'm putting it here for anyone to utilise in future.
The goal:
I want The Fissure™ to have an objective glow visible anywhere in the map so players can find it no matter where they are
The issue:
The Fissure™ is outside the current PVS (potential visibility set) for
most of the map meaning it's not rendered. As a consequence of not being rendered, the tf_glow entity can't apply the outline to it. So as players run around the map, they pop in and out of areas The Fissure™ and its outline are rendered. Not ideal
The fix:
Several entites in TF2 are rendered no matter where they are, like item_teamflag, or the prop_physics_override of a payload cart, that's how these are able to render a nice outline all the time. So what if we hijack their functionality? Well it works. Anything parented to an item_teamflag will render no matter what PVS a player is in. Success! The item_teamflag will apply its own outline to any parented prop so by default The Fissure™ would have a red, blue or white glow (white if we pick team: any on the item_teamflag), fortunately the tf_glow will override this so we can set the nice purple I want. The Fissure™ isn't available to players as an objective all the time though so we need to disable the glow, to do so requires disabling both the item_teamflag as well as the tf_glow. Job done
One more thing:
Obviously the item_teamflag is applying its outline to the inteligence briefcase by default too so to disable that we can swap out its model with models/empty.mdl and now it has no mesh to outline. Be sure to put the item_teamflag somewhere no one will pick it up because that will get very silly very quickly
But what about the env_sprite?
My solution for that is less clever, it still works, but it's dumb. Because the objective is at the very side of the map, we don't actually need the sprite to rotate to face the player, we can make it a world-aligned thing, it gets a little distorted at the spawns since they're at the worst viewing angle, but it's nothing too drastic and everywhere else in the level it's pretty face-on. So instead of an actual env_sprite, we can just slap that bad boy on the face of a non-solid func_brush. To get it rendering all over the map, I put five little nodraw cubes in key parts of the map and made them all the same func_brush as the sprite. Now its big enough to be visible in
every PVS in the map!
Thanks to Stack Man for working out the usage of item_teamflag