Enhanced Celestia (Cel+)

The place to discuss creating, porting and modifying Celestia's source code.
Avatar
Topic author
Gurren Lagann
Posts: 434
Joined: 31.01.2018
Age: 18
With us: 6 years 9 months
Location: State of Rio de Janeiro, Brazil

Enhanced Celestia (Cel+)

Post #1by Gurren Lagann » 06.04.2020, 23:59

Cel+Logo.png

Welcome to Enhanced Celestia!
The Enhanced Celestia project (Or Cel+ for short) aims to enhance Celestia itself, by adding many new features that simply cant be achieved by simple addons.
Keep in mind that Cel+ isnt an addon collection! This is an project that changes Celestia's code itself, and doesn't add any addons into it!

Cel+ doesn't have a release yet, but the Github page is up if you want to contribute to this project (more info is there):
https://github.com/GurrenLagannTSS/EnhancedCelestia
"The tomorrow we're trying to reach is not a tomorrow you had decided on!"
- Simon the Digger
"Nothing is impossible for me, as long I'm determinated to keep moving forward!"
"If other people aren't going to do it, I'm going to do it myself!"
- Me (Gurren)

Current major projects:
- Aur Cir
- Cel+
- Project Sisyphus
- Populating the Local Group
- An galaxy generator

Avatar
Lafuente_Astronomy
Moderator
Posts: 726
Joined: 04.08.2018
Age: 26
With us: 6 years 3 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #2by Lafuente_Astronomy » 07.04.2020, 00:02

Well, congratulations Gurren! I can't wait to see what you have in store for us and for this project

Added after 22 minutes 47 seconds:
Perhaps when you come back again, you may want to list and detail the changes that Enhanced Celestia will have so that we could have a batter understanding of what your project will be
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

pirogronian
Developer
Posts: 234
Joined: 05.01.2018
Age: 38
With us: 6 years 10 months
Location: Wrocław
Contact:

Post #3by pirogronian » 07.04.2020, 06:26

Gurren Lagann wrote:This is an project that changes Celestia's code itself, and doesn't add any addons into it!

Great initiative, but is official repo maintained too bad to contribute there? Why dividing our effort?
Still formally developer, but too tired to develop. I feel sad, but Celestia is going forward despite it.
Btw, the universe is ruled by electricity.

Avatar
Lafuente_Astronomy
Moderator
Posts: 726
Joined: 04.08.2018
Age: 26
With us: 6 years 3 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #4by Lafuente_Astronomy » 07.04.2020, 07:07

pirogronian wrote:Great initiative, but is official repo maintained too bad to contribute there? Why dividing our effort?

He actually said that it's a "fan project", in which he will add new spectral classes, both fictional, real and hypothetical, alongside other changes, and he also had the blessing of onetwothree to do so. There's actually no division whatsoever.

The whole thing started on the Discord Server, so its origin is in there
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

pirogronian
Developer
Posts: 234
Joined: 05.01.2018
Age: 38
With us: 6 years 10 months
Location: Wrocław
Contact:

Post #5by pirogronian » 07.04.2020, 08:08

Lafuente_Astronomy wrote:it's a "fan project", in which he will add new spectral classes, both fictional, real and hypothetical

Oh, I see. Btw I think stellar classess should be data driven. If Cel+ would implement it, it definitely should be backported to official code. The same with any useful change, fun or not. :smile:
Still formally developer, but too tired to develop. I feel sad, but Celestia is going forward despite it.
Btw, the universe is ruled by electricity.

Avatar
Lafuente_Astronomy
Moderator
Posts: 726
Joined: 04.08.2018
Age: 26
With us: 6 years 3 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #6by Lafuente_Astronomy » 07.04.2020, 10:29

pirogronian wrote:Oh, I see. Btw I think stellar classess should be data driven. If Cel+ would implement it, it definitely should be backported to official code. The same with any useful change, fun or not.

Well, definitely. It should be compatible with the code. In fact, I did ask Gurren if he could constantly add the future updates of the 1.7.0 archive to his project so as to be as advanced, and he agreed.

But with regards to pirogronian's suggestion, what do you say about that, Gurren Lagann?
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

Avatar
Topic author
Gurren Lagann
Posts: 434
Joined: 31.01.2018
Age: 18
With us: 6 years 9 months
Location: State of Rio de Janeiro, Brazil

Post #7by Gurren Lagann » 07.04.2020, 14:11

pirogronian wrote:Oh, I see. Btw I think stellar classess should be data driven. If Cel+ would implement it, it definitely should be backported to official code. The same with any useful change, fun or not. :smile:
I do plan to use real data (If its avaiable) for spectral classes, even if i have very few data points - which is the case for WO, a spectral type which i plan to submit a pull request to the main 1.7.0 repository once i'm finished with the spectral type.
Speaking of which, i do also plan to submit several of the features in Cel+ to the main 1.7.0 repository, like a fix to the star render bug for a major example.
I'm also checking the main Celestia repository every couple of minutes to see if any changes were made in that repository. If there is, i will intergrate that change in Cel+, so as to be as accurate and up-to-date with the official code as possible.

As Lafuente mentioned, this is an fan project, and since its one, i'm going to add some features that the devs deemed not ready at the moment, but were suggested, so i can appeal to the community as well.

Lafuente_Astronomy wrote:Perhaps when you come back again, you may want to list and detail the changes that Enhanced Celestia will have so that we could have a batter understanding of what your project will be

Here are they, coming fresh from the github page. Keep in mind that this is not a complete list of all planned features - i might come across some files which can add or expand on some features i wanted to add.

Planned features

New stellar spectral types
    Improvements will be made to existing classes
    Missing real life classes, like WO, will be added back
    Black holes and neutron stars will get loads of new subclasses
    Neutron stars will get an classification system based on age, similar to white dwarfs
    New spectral type classes include rogue planets/planemos (P) and exotic stars (E)
    More classes coming over time

New SSC object classes
    A wide variety of different classes, ranging from normal planet types (Chtonian, Neptuniann, and Jovian to give a few) to special classes from science fiction projects (eg. Orion's Arm, Star Trek, Star Wars, and more)
    Moons and minor moons will also get new classes (eg. Ring Moonlet and Ring Shepherd)
    Minor planet classes will be added as well (eg. Trojans, Hildas, NEAs, resonant objects, etc.)
    Expansion on the surface feature and component classes will occur, for those that are looking forward to making cities
    Examples include observatories (eg. Hale Observatory), ancient structures (eg. The Great Pyramid of Giza), bridges, skyscrapers (eg. Burj Khalifa), and many more
    More classes coming over time

Many suggested features and bug fixes
Examples include:

    Further expansion of the render limts for stars and planetary systems, for simulating the movement of entire galaxies and globular clusters
    Increases in the zoom and magnitude limits, for observing exoplanets close-up from other star systems
    Making Celestia calculate temperatures for planets and other objects orbiting stellar barycenters
    Fixing the star render bug for good
    Faster loading times and support for larger catalogs with tens of millions of stars
    - A good example is the Gaia catalog
    Many more small features and bug fixes

As well as many more features which might come over time

Phew, this might be one of the longest posts i ever wrote in a long time! Hopefully i clarified the main things about your questions that you guys had.
"The tomorrow we're trying to reach is not a tomorrow you had decided on!"
- Simon the Digger
"Nothing is impossible for me, as long I'm determinated to keep moving forward!"
"If other people aren't going to do it, I'm going to do it myself!"
- Me (Gurren)

Current major projects:
- Aur Cir
- Cel+
- Project Sisyphus
- Populating the Local Group
- An galaxy generator

Avatar
Lafuente_Astronomy
Moderator
Posts: 726
Joined: 04.08.2018
Age: 26
With us: 6 years 3 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #8by Lafuente_Astronomy » 07.04.2020, 14:22

Gurren Lagann wrote:Here are they, coming fresh from the github page. Keep in mind that this is not a complete list of all planned features - i might come across some files which can add or expand on some features i wanted to add.

Planned features

New stellar spectral types
Improvements will be made to existing classes
Missing real life classes, like WO, will be added back
Black holes and neutron stars will get loads of new subclasses
Neutron stars will get an classification system based on age, similar to white dwarfs
New spectral type classes include rogue planets/planemos (P) and exotic stars (E)
More classes coming over time

New SSC object classes
A wide variety of different classes, ranging from normal planet types (Chtonian, Neptuniann, and Jovian to give a few) to special classes from science fiction projects (eg. Orion's Arm, Star Trek, Star Wars, and more)
Moons and minor moons will also get new classes (eg. Ring Moonlet and Ring Shepherd)
Minor planet classes will be added as well (eg. Trojans, Hildas, NEAs, resonant objects, etc.)
Expansion on the surface feature and component classes will occur, for those that are looking forward to making cities
Examples include observatories (eg. Hale Observatory), ancient structures (eg. The Great Pyramid of Giza), bridges, skyscrapers (eg. Burj Khalifa), and many more
More classes coming over time

Many suggested features and bug fixes
Examples include:

Further expansion of the render limts for stars and planetary systems, for simulating the movement of entire galaxies and globular clusters
Increases in the zoom and magnitude limits, for observing exoplanets close-up from other star systems
Making Celestia calculate temperatures for planets and other objects orbiting stellar barycenters
Fixing the star render bug for good
Faster loading times and support for larger catalogs with tens of millions of stars
- A good example is the Gaia catalog
Many more small features and bug fixes

As well as many more features which might come over time

Phew, this might be one of the longest posts i ever wrote in a long time! Hopefully i clarified the main things about your questions that you guys had.

This all looks very ambitious, and very great a task. But coming from the one who meticulously made the Minor Planets Catalog, the lore-filled Aur Cir system, and Project Sisyphus, I have full and complete trust in you and your work, and I'll give you any help and support that I can. In the end, I know that this will be beneficial for us Celestians. And to those who doubt, onetwothree gave him his blessing to make such a work, so while just a fan project, it is in itself, a legal, though not official version

So, Gurren Lagann, you have my full and complete support
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

Avatar
jujuapapa
Banned
Posts: 344
Joined: 24.06.2018
With us: 6 years 4 months
Location: Western E.U.

Post #9by jujuapapa » 07.04.2020, 17:26

One more ? :eek:

After 1.7 , 1.6.2, origin, cel+, ... where is the consistency ? :biggrin:
Soft: Celestia 1.6.2
PC : Intel Core i9-9900K (4 GHz) , Chipset Z390 Exp, RAM 32 Go DDR4 3000 Mhz, SSD M.2 512 Go + HDD 3 To, MSI GeForce RTX 2080 8Go - W10 64b

I lost my old user, so with us: since more 12 years
=> It is by doubting everything that everybody approaches the truth !

Avatar
Topic author
Gurren Lagann
Posts: 434
Joined: 31.01.2018
Age: 18
With us: 6 years 9 months
Location: State of Rio de Janeiro, Brazil

Post #10by Gurren Lagann » 07.04.2020, 17:59

The first build should be coming today, so here are the changes for the first build so far:

    VTs now support up to 20 levels
    Star render, star orbit render, and solar system render limits increased to 100 Gly (last one is optional)
    Implemented the neutron star classification system (still a WIP, bugs may occur)
    - QN for non-pulsating neutron stars, QP for pulsars, and QM for magnetars
    Added the WO spectral type (also WIP)
    Time can now go between the big bang and 1 trillion years from now
    Timewarp can now go to 10^20 times faster or slower than real time
    The FOV can go as small as 1 trillionth of a degree
    - A possible fix was implemented for the wobbling at extreme zoom levels in order for this feature to be implemented
    The magnitude limit was extended to magnitude +35 (without AutoMag)/magnitude +30 at 45° (with AutoMag)
    - Extremely helpful for seeing microlensing stars
"The tomorrow we're trying to reach is not a tomorrow you had decided on!"
- Simon the Digger
"Nothing is impossible for me, as long I'm determinated to keep moving forward!"
"If other people aren't going to do it, I'm going to do it myself!"
- Me (Gurren)

Current major projects:
- Aur Cir
- Cel+
- Project Sisyphus
- Populating the Local Group
- An galaxy generator

Avatar
Lafuente_Astronomy
Moderator
Posts: 726
Joined: 04.08.2018
Age: 26
With us: 6 years 3 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #11by Lafuente_Astronomy » 07.04.2020, 22:31

jujuapapa wrote:One more ?

After 1.7 , 1.6.2, origin, cel+, ... where is the consistency ?

To clarify, this is a fan project by Gurren to test out what he can do to tweak Celestia's code and push it to levels never reached before. and take note, he had the blessing of onetwothree to do so. So, there is still consistency, and this is not an official development but it's legally allowed.

Gurren Lagann wrote:The first build should be coming today, so here are the changes for the first build so far:

Alright, I'll be giving my 2 cents for each of the changes listed:

Gurren Lagann wrote:VTs now support up to 20 levels
That's great. It should be more virtually accurate this way

Gurren Lagann wrote:Star render, star orbit render, and solar system render limits increased to 100 Gly (last one is optional)
Woah. We might as well increase the overall render distance to far higher levels in the future, especially if we will have a star at exactly 100 GLY, and have its ssc file allow it to extend a hundred GLY more. But anyways, that's your call

Gurren Lagann wrote:Implemented the neutron star classification system (still a WIP, bugs may occur)
Well, of course. But I hope all things goes well and it will become better in the next release

Gurren Lagann wrote:- QN for non-pulsating neutron stars, QP for pulsars, and QM for magnetars
Ahhhhhhhh. This one's good. But why "Q" though? Just curious

Gurren Lagann wrote:Added the WO spectral type (also WIP)
Ahhhhhhhh

Gurren Lagann wrote:Time can now go between the big bang and 1 trillion years from now
Hmmmmm, this is great. However, it only covers a very teeny tiny portion of the Universe's timespan(If it really has one), and maybe in future updates, you may increase it even further perhaps? This article may be useful, though it's from Wikipedia: https://en.wikipedia.org/wiki/Timeline_of_the_far_future

Gurren Lagann wrote:Timewarp can now go to 10^20 times faster or slower than real time
Nice. Time for some proper time travel LOL

Gurren Lagann wrote:The FOV can go as small as 1 trillionth of a degree
That's very sharp. Indeed it's EHT sharp. But maybe you can make it sharper perhaps. It's your call

Gurren Lagann wrote:-A possible fix was implemented for the wobbling at extreme zoom levels in order for this feature to be implemented
Ahhhhhhhhh. That should make it work well

Gurren Lagann wrote:The magnitude limit was extended to magnitude +35 (without AutoMag)/magnitude +30 at 45° (with AutoMag)
Well, it will not be useful if around a cluster, due to the fact that the bright stars will simply become too bright. But it has its uses, like as stated below:

Gurren Lagann wrote:- Extremely helpful for seeing microlensing stars
Indeed. It, and perhaps also a lot of other things if we look hard enough

Overall, great work, and I know that while this is the first version, it's already looking good. I can't wait for the second version to be released. And never forget: Keep striving for your project, and it will become one of the best things here. So, have a good day Gurren
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

Avatar
Joey P. M
Posts: 462
Joined: 28.10.2017
Age: 22
With us: 7 years
Location: Vladivostok, Russia

Post #12by Joey P. » 09.04.2020, 04:05

Gurren Lagann wrote:Neutron stars will get an classification system based on age, similar to white dwarfs
New spectral type classes include rogue planets/planemos (P)

Um... if you ask me, we might want to improve that;
Edward Pickering and Williamina Fleming used the class "P" for the nuclei of planetary nebulae (i.e. PG 1159 objects). They also used the letter "Q" for chemically peculiar stars (such as Przybylski's Star).
Additionally the neutron star classification system is based on mass and cooling rate, which both have a positive correlation, and use roman numerals (https://en.wikipedia.org/wiki/Neutron_star#Mass_and_temperature, https://doi.org/10.1051/0004-6361:20020699).

A guide on what letters to pick for classes is here: https://iopscience.iop.org/article/10.1086/307414/fulltext/
Joey P.

Avatar
fsgregs
Posts: 1307
Joined: 07.10.2002
With us: 22 years 1 month
Location: Manassas, VA

Post #13by fsgregs » 10.04.2020, 16:12

Hi. I always love possibilities to enhance Celestia. I have three questions:

1. Has the first build been released yet? If so, where can I find it?

2. I assume Celestia + is not an addon to drop into the extras folder, but possibly a rewrite of the main program. Is that correct? If so, are there instructions for how to install it?

3. How will this be different from Celestia 1.6.2 or 1.7? Should I also be following those threads?

Thanks in advance

Frank

Avatar
Topic author
Gurren Lagann
Posts: 434
Joined: 31.01.2018
Age: 18
With us: 6 years 9 months
Location: State of Rio de Janeiro, Brazil

Post #14by Gurren Lagann » 10.04.2020, 17:20

Its an great honor for you to be interested in Cel+, Frank! I will answer the questions right... now!


fsgregs wrote:1. Has the first build been released yet? If so, where can I find it?
While I do plan to release the first build in the next couple of days, its not out yet, due to a few... roadblocks while trying to compile.

fsgregs wrote:2. I assume Celestia + is not an addon to drop into the extras folder, but possibly a rewrite of the main program. Is that correct? If so, are there instructions for how to install it?
Yes it is! The build files are going to be like the 1.7 files (but enhanced, of course), so it has roughly the same instructions as the 1.7 builds.

fsgregs wrote:3. How will this be different from Celestia 1.6.2 or 1.7? Should I also be following those threads?
Besides the new spectral classes and ssc classes, I also plan to add quite a lot of features that aren't ready/don't fit for 1.7, as well as increasing loads of limitations, to - for a few examples - make stars and black holes outside the local group, observe extrasolar transits and microlensing stars from Earth, simulate the motion of stars in galaxies and globular clusters, and much more.
I do recommend following the deveploment threads for Celestia 1.6.2/1.7, as their deveploment will impact how Cel+ will be made in the future as well.
"The tomorrow we're trying to reach is not a tomorrow you had decided on!"
- Simon the Digger
"Nothing is impossible for me, as long I'm determinated to keep moving forward!"
"If other people aren't going to do it, I'm going to do it myself!"
- Me (Gurren)

Current major projects:
- Aur Cir
- Cel+
- Project Sisyphus
- Populating the Local Group
- An galaxy generator

Avatar
SevenSpheres
Moderator
Posts: 826
Joined: 08.10.2019
With us: 5 years 1 month

Post #15by SevenSpheres » 10.04.2020, 17:22

fsgregs wrote:Has the first build been released yet? If so, where can I find it?

Since neither Gurren Lagann or myself is a C++ programmer, we're having some difficulty compiling it. I'll post a build here when I get it to work.

fsgregs wrote:I assume Celestia + is not an addon to drop into the extras folder, but possibly a rewrite of the main program. Is that correct? If so, are there instructions for how to install it?

Correct. Most likely there will be a zip file that you can unzip to "Celestia+" or something and then run the executable.

fsgregs wrote:How will this be different from Celestia 1.6.2 or 1.7? Should I also be following those threads?

Celestia 1.6.2 is a bugfix release that isn't too different from 1.6.1. Celestia 1.7.0 is the official in-development version; you can download ready-to-run older builds from Bintray, while the latest binaries are available on Appveyor (but those take some effort to make them work). This is just a fan project, although some of the changes will likely be added into Celestia 1.7.0.

Edit: I see Gurren answered just before I did. Hopefully our posts aren't too redundant.

Added after 4 hours 6 minutes:
Update: Issues with compiling have been resolved, but there will not be a release until a bug causing Cel+ to crash on startup has been fixed.
My Addons: viewtopic.php?f=23&t=19978 • Discord server admin
Celestia versions: 1.5.1, 1.6.1, 1.6.2, 1.7.0, and some unofficial versions like Celestia-ED

onetwothree
Site Admin
Posts: 706
Joined: 22.09.2018
With us: 6 years 1 month

Post #16by onetwothree » 11.04.2020, 05:23

This code is broken:

Code: Select all

    case StellarClass::WhiteDwarf:
        return "WD";
        s0 = "DDDDDDDD"[(unsigned int) getSpectralClass()];
        s1 = "0123456789"[getSubclass()];
    case StellarClass::NeutronStar:
    case StellarClass::NeutronStar:
        return "Q";
        s0 = "QQQQ"[(unsigned int) getSpectralClass()];


As well as this one:

Code: Select all

    return (((uint16_t) starType         << 14) |
           (((uint16_t) sc       & 0x1f) << 8)  |
           (((uint16_t) subclass & 0x0f) << 4)  |
           ((uint16_t)  lumClass & 0x0f));
@@ -146,7 +148,7 @@ StellarClass::packV2() const
bool
StellarClass::unpackV1(uint16_t st)
{
    starType = static_cast<StellarClass::StarType>(st >> 13);


This is just ridiculous:

Code: Select all

config->SolarSystemMaxDistance = min(max(maxDist, 1.0f), 100000000000.0f);


Return to “Development”