Thought about this idea a little more… and your comments made me think of something…
Would there be a way to add support for a secondary value per-vertex, that is tracked for use with a feature similair to the original idea (automatically re-texturing with different shader based on the value range over the current triangle) without being written to the BSP, and that could be manipulated in a way similair to the AlphaMod brushes? Somewhat akin to the original TeamArena-style terrain meta-shaders, but controlled fully inside the map on a vertex-by-vertex basis.
An semi-example:
Set up some brush terrain as usual, marked with a ‘generic’ terrain shader. The shader has a short list inside of alternative shaders, based on the minimum and maximum ‘Type’ values used for it’s vertices, with the alpha value automatically set and normalized to 0.0-1.0 between the minimum and maximum ‘Type’ value used on a given polygon. If a polygon doesn’t have a valid ‘replacement’ mapping, it is actually textured with the terrain shader, obviously.
This would allow for more complicated texturing using the AlphaMod-style texturing, without needing to re-texture individual areas with one shader or another or dealing with unique (or not so unique) qer_editorimage settings, etc. Just texture one really big area with one shader, then start marking off vertices as grass, rock, grass/rock dither point, whatever.