<words>
You.... Are quite correct.
After some time to consider and observe the game, I would like to suggest that I was 25% correct in my initial statement.
The game handles planet positioning quite well.
Where it struggles is moons. Specifically cryovolcanic moons.
From what I can understand, cryovolcanic worlds seem to have something akin to a "built in" condition that always generates them with a cold environment. Which makes perfect sense, as they wouldn't be
cryovolcanic if they weren't cold.
Volcanic worlds on the other hand, don't seem to have this feature.
Where this creates a problem is when moons are created. As the game seems to create moons from essentially a lookup of available planet types, and fits them into orbit of various planets with no consideration for any "built in" conditions as above.
Which then leads to the somewhat jarring occurance of seeing a planet close to its star with extreme heat, a random moon orbiting that planet also with extreme heat, and a cryo moon orbiting that same planet with extreme cold.
Cryovolcanics also have the tag around_giant_at_any_offset, which I'm not entirely sure of the function of. But it's a tag which is shared only with unstable and volcanic worlds, frequent moon types. So maybe this might be allowing the odd arrangement to occur?
It would be really nice if there was a check somewhere in the proc gen, that on generation looked at any planet which would recieve moons and removed cat_cryovolcanic from the list of potential candidates if the planet did not have a cold condition.
Essentially creating a tag for around_giant_if_cold.