Celestia To Do List
-------------------

USER INTERFACE
* More star label models--nearest stars, brightest stars
* Make picking more intelligent
  * Picking a distant planet is likely to select one of its satellites
  * Picking stars doesn't work at close range
  * Make picking work better for non-spherical bodies
* Tracking mode for camera
* Views of planet and satellite orbits
  * Add satellite orbits
  * User control over which orbits should be displayed
  * Orbits should be occluded by planets
* Next/prev body commands
* Add preferences for font and text color for labels to config file
* Make context menus work properly in full-screen mode
* Fix camera rotation wackiness when using goto--probably slerp between orientations
* Dialog box for displaying detailed information about a star or planet
* Create a help file

VISUALS
* Shadows from rings on planet
* Bump maps for planets and satellites
* Get a real texture map for Eros
* Change the color of the light illuminating planets based on star class;
  probably only M and maybe K class stars should have a noticeable hue
* Better and flashier star rendering: improve corona effects, add limb darkening, change
  convection cell size based on spectral class, etc.
* Non-Lambertian illumination functions for planets
* Add haloes around bright planets similar to the ones around stars
* Render the Milky Way
* Comets with dust and ion tails
* Add some deep sky objects--planetary nebula, supernova remnants, etc.
* Procedural textures for extrasolar planets
* Atmospheric veils around planets
* Add clouds to Earth
* Specularity map for Earth (and other hypothetical ocean bearing worlds)

POLISH
* Get a real installer working for Windows version
* Demo mode
* Tutorial mode
* Add a flashy intro screen
* Add screen shot feature
* Preload some textures to avoid loading delay

SIMULATION ACCURACY
* Fix apparent magnitude calculation for planets
* Figure out a way to estimate gas giant's radius given its mass
* Calculate the eccentric anomaly for orbits instead of just using the mean anomaly
* Obtain and read spacecraft ephemerii, so Galileo, Cassini, etc. appear in the proper places
* Use a better estimate for star radius
* Model the irregular rotations of objects like Toutatis and Hyperion
* Double star systems

BUGS
* Find out why picking sometimes stops working, apparently after orbiting
* Fix wobbling of planet shadow on rings when time is accelerated
* Problem stars: HIP 114110 has no spectral class!  Search the database for other problem
  stars and fix them.
* Find out about texture problems on Matrox G450
* Investigate possible visual anomalies with ring shadows on ATI Rage cards

OPTIMIZATION
* Add view frustum culling for stars
* Convert the VisibleStarSet class to use an octree based algorithm
* Add option to force 16-bit textures

CODE
* Make parser more robust (and fix that EOF problem)
* Change random printfs to DPRINTFs and Logs
* Finish assert-ing the code

PORTING
* Make 3DS loading code byte-order and FP format independent
* Make stars.dat loading code byte-order and FP format independent
* Write a version which uses GLUT instead of Win32 API calls
* Linux port
* MacOS port

MISC
* Make solar system creation applet, for adding hypothetical systems to a Celestia universe




