Hey, I just joined the forum here as I am interested to help you, but I haven't fully grasped your approach yet.
1. I am not sure why there are two scale factors and two star factors defined? Can we combine them into a single float or double and just cast as a float or double as they're needed by methods, or is this groundwork for some future functionality?
internal float scaleFactor2 = 1;
internal double scaleFactor = 1;
internal double starFactor;
internal float starFactor2;
2. I'd like to know what you're stuck on and need help with - I see the atmosphere code is commented out, as is the temperature curves (which is why I guess atmosphere is) and so on, but I'm not sure what specifically you're trying to do and what you've done so far outside the repository, so I'm not quite sure how best to contribute. The project that you've outlined is good for an understanding of a rough roadmap at least.
You can reach me here, or put an issue together on Github with what you're stuck on. I'm willing to tackle an issue or two to help you get this moved forwards.