In the roadmap of celestia there is an addon manager.
But with that addon manager, there will be a new format (again) to define information about addons for the addon manager.
Mayby this is a chance to make a single format which describes everything in .stc, .ssc and .dsc files.
I will agree with the idea that stars and planets should be at least able to be defined in the same file. However I would keep the stc file for instances where defining a star or group of stars is all you want to do.
This can be handled by defining different catalogs in the new file format like this:
->catalogs for objects that are visible from outer space: space catalog: dscat
-> catalogs for objects that are NOT visible from outer space: local space catalog: lscat
scat can also do things that aren't visible but lscat shouldn't be able to hold things that are visible from outer space like stars or nebulae or galaxies.
(Because celestia will overlook them in order to be faster to render the stars and universe)
By keeping it separate, you can still make sure Celestia doesn't do unnecessary work (like going over all things that aren't visible).
(note: there are things that can belong to both but not on the same place and time, huge fictional space stations for example can exist on itself but also orbiting around a planet or sun)
For different versions, it should have a version numbering so Celestia and add on makers can know if it needs to be changed for a newer version. And this also makes older versions of Celestia recognize if it's newer than itself.
For demonstrating this, I'm going to assume a file format that I'm going to call celestia information catalog, with the extension .cic.
The contents of such a file would look like this (without everything between round brackets () ):
cic{0.0.5.2}
addoninfo
{
name "simple add on" (not necessary, celestia can use name of file that holds this information)
load y
version "0.5pre5"
license license.txt
authors
...
}
dscat
{
star (defining parameters)
star (defining parameters)
...
}
lscat
{
star(without defining parameters) + planets
star(without defining parameters) + planets
star(without defining parameters) + space stations??
star(without defining parameters) + comets
star(without defining parameters) + other things
}
If you want to separate it, this will work.
If you want to merge the two into one catalog. It could be a good idea to do it like this. However Celestia will run faster if it only has to look into the scats of a file. And defining a star in a local space catalog could be a bad idea.
But in addons, there aren't going to be like a 1000 or 10000 stars catalogged so it's not fatal for performance I assume. And Celestia can always skip the things that aren't visible like the planet's and so on.
(dscat stands for deep space catalog)
dscat
{
star(with defining parameters) + planets
star(with defining parameters) + planets
star(with defining parameters) + space stations??
star(with defining parameters) + comets
star(with defining parameters) + other things
}
Secondly...and this is probly off topic but.....What about those puffy things that the galaxies are made of. I thought it might be cool to define their positions within some sort of file like an ssc or stc file. I
For this something like the following could be written.
dscat
{
galaxie (with defining parameters) + puffy things
}
By the way, the puffy things of which you speak are actually suppose to represent nebulae of exploded stars.