I should not reply to posts that start with "Why is ...", because I do not like to justify myself.
The actual answer should be: "Because it is the way it is, and if you don't like it, fix it". After all, this is open source!
But I am a nice guy and here is the other version: because there is a technical necessity. Cell names need to be unique, and "$9" is simply not enough to disambiguate the device cell. Apart from the fact, that we are not looking at devices here, but at parts of it. The cell contains the part of the device that connects to the net, not the full device. So just the source diffusion for example, if the net connects to the source. Exporting a net is supposed to show the parts of the net, not all the other parts that do not form the net. So the cell name has to contain the terminal name. And finally, there is another disambiguator needed, rendering the terminal "$1", but without the full case, I cannot tell you why exactly.
Comments
I should not reply to posts that start with "Why is ...", because I do not like to justify myself.
The actual answer should be: "Because it is the way it is, and if you don't like it, fix it". After all, this is open source!
But I am a nice guy and here is the other version: because there is a technical necessity. Cell names need to be unique, and "$9" is simply not enough to disambiguate the device cell. Apart from the fact, that we are not looking at devices here, but at parts of it. The cell contains the part of the device that connects to the net, not the full device. So just the source diffusion for example, if the net connects to the source. Exporting a net is supposed to show the parts of the net, not all the other parts that do not form the net. So the cell name has to contain the terminal name. And finally, there is another disambiguator needed, rendering the terminal "$1", but without the full case, I cannot tell you why exactly.