Celestia Development Roadmap

The place to discuss creating, porting and modifying Celestia's source code.
Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 2 months
Location: Lyon (France)

Post #21by Christophe » 04.05.2007, 08:57

chris wrote:Maintaining the four separate GUIs has become a real obstacle. It's prevented new UI features from being introduced because it's so difficult. Qt seems like the best one to use, and that toolkit also provides a lot of other useful functionality.

A Lua based approach like Vincent's Edu tools is another possibility. They have the advantage of working even when Celestia is running in full-screen mode.


Beside GUI related issues, I think using a cross platform framework like Qt makes a lot of sense.? Cross platform support for network, and multithreading alone would allow implementation of features that have been hold back for a long time due to the limitations of the standard C++ lib.

Chris, in your roadmap, where do you think the switch to Qt should happen?
Christophe

Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 8 months
Location: Nancy, France

Post #22by Vincent » 04.05.2007, 10:40

t00fri wrote:I doubt that Lua can handle all the forthcoming GUI tasks that eventually need to be incorporated.
Here, I agree with Fridger. I find Lua very promising and powerful. But I'm not sure it would represent the nicest way to handle all the tasks of the current UI. Hank's opinion about the possible limits of Lua would be very precious here.


t00fri wrote:Personally, I find vincent's overlay way too crowded already NOW, since proper widgets are missing in Lua.
Well, Fridger, I'm not sure if by "crowded" you mean "obstrusive", but please don't forget that the current Lua Edu Tools interface was not built as a replacement of the standard UI. The aim is to provide a simplified access to the main commands for beginners, along with new features that are not available in the official distribution (compass, InfoText/Image,(Ra/Dec), etc...). You can easily customize the Tools and only keep the compass and the display of Ra/dec,... All the active buttons and checkboxes have been built by Hank and myself. We could surely build some other useful unobstrusive widgets if needed. With some more time, of course... :wink:

tech2000 wrote:And I have a small request for Vincent: why not change the naming of the direcory that contains the language files to this ISO standard (I can't remember which ISO number :oops: ) sv_SE, en_US and es_ES...

Anders,

Of course, I'll add the possibility to load lang_LANG files as soon as somebody send me a pt_BR or sv_SE localization. :wink:
Then if you have a look at the Celestia locale folder, you'll see that standard Portuguese is represented by the simple 'pt' abbreviation, standard French by 'fr', Russian by 'ru', etc...
@+
Vincent

Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 7 months

Post #23by ElChristou » 04.05.2007, 10:55

t00fri wrote:...Already more than 5 years ago, I was advocating the Qt toolkit (I still got that mail ;-) ).

Chris dismissed it at the time, with the (sensible) argument that it was "early times" for the free Qt version. It's future was admittedly uncertain at that time. This is all different 5 years later...


I wasn't aware of this "Qt", done some quick search, seems not bad at all... :?
Image

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 6 months
Location: Hamburg, Germany

Post #24by t00fri » 04.05.2007, 11:20

Vincent wrote:
t00fri wrote:Personally, I find vincent's overlay way too crowded already NOW, since proper widgets are missing in Lua.
Well, Fridger, I'm not sure if by "crowded" you mean "obstrusive", but please don't forget that the current Lua Edu Tools interface was not built as a replacement of the standard UI. The aim is to provide a simplified access to the main commands for beginners, along with new features that are not available in the official distribution (compass, InfoText/Image,(Ra/Dec), etc...). You can easily customize the Tools and only keep the compass and the display of Ra/dec,... All the active buttons and checkboxes have been built by Hank and myself. We could surely build some other useful unobstrusive widgets if needed. With some more time, of course... :wink:


Vincent,

my remark was not meant as a criticism.

I just noted that in the graphical examples you displayed, there was barely space left over for Celestia's great graphics ;-) . Of course I am aware that one may entirely customize your overlay. But in my view the crowdedness just mirrors the fact that an /information-effective/ graphical toolkit is not available at this overlay level, except you code it all from scratch in OpenGL. Whatever text one wants to overlay has to be plainly laid out on the canvas.

Cheers,
Fridger
Image

Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 8 months
Location: Nancy, France

Post #25by Vincent » 04.05.2007, 13:43

t00fri wrote:Vincent,

my remark was not meant as a criticism.

I just noted that in the graphical examples you displayed, there was barely space left over for Celestia's great graphics ;-) .

Yes, of course, in the shots I posted, all the information text/image windows were opened to show up all the great possibilities of the Tools :wink:. I agree that the background scene then becomes unviewable. But this shouldn't happen in a normal use.

Effective information windows including text and images, with all the standard utilities (reduce/close buttons, horizontal/vertical sliders) could be coded in Lua. I have to admit that our friend ElChristou asked for them so many times that he nearly convinced me to add them... :wink:
And to go further, it could be also interesting to automatically hide the Toolbox, and bring it up when the pointer reaches the right hand side of the window. We just need some more time...
@+
Vincent

Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years
Location: Pordenone/Italy

Post #26by Paolo » 04.05.2007, 17:01

Beside Lua/Qt there is a third option....

An OpenGL gui like CELUI

My toolkit now is quite impresentable and immature. I've left the development 4 months ago when I've changed job again reducing my spare time even more.

I invoke a glance to the code by Chris, Christophe, Fridger and others if interested. If the code is a heap of garbage (I'm not a C++ professional) I'll leave the development definitively. If the toolkit should have a chance I should reprioritize its development. Perhaps it will be finished before Celestia will need it. I've planned to implement things that QT at present time can't do. Of course QT can do a lot of other things.
Remember: Time always flows, it is the most precious thing that we have.
My Celestia - Celui

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 6 months
Location: Hamburg, Germany

Post #27by t00fri » 04.05.2007, 17:20

Paolo wrote:Beside Lua/Qt there is a third option....

An OpenGL gui like CELUI

My toolkit now is quite impresentable and immature. I've left the development 4 months ago when I've changed job again reducing my spare time even more.

I invoke a glance to the code by Chris, Christophe, Fridger and others if interested. If the code is a heap of garbage (I'm not a C++ professional) I'll leave the development definitively. If the toolkit should have a chance I should reprioritize its development. Perhaps it will be finished before Celestia will need it. I've planned to implement things that QT at present time can't do. Of course QT can do a lot of other things.


Paolo,

with all respect for your work on CELUI. I think going for a "homemade" toolkit like CELUI would be the wrong decision. What if one day your interest for Celestia fades away?

It is always the more professional approach to place one's money on a toolkit that is actively developed by a team, used by important application software, sponsored,... and /recognized/ as a very high quality and mature toolkit.

Bye Fridger
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 8 months
Location: Seattle, Washington, USA

Post #28by chris » 04.05.2007, 18:08

Development of a Qt front-end for Celestia could begin as soon as someone is willing to take on the task. The development of a new GUI for Celestia needn't interfere with the existing versions. One of the good side effects of having four different versions of the UI is that it is nicely separated from the core of the program.

I don't feel that a custom UI toolkit is the right choice, simply because time spent in developing that toolkit would be better invested in working on features unique to Celestia. And it would be difficult for a small group of Celestia developers to create a toolkit as full-featured and well-tested as Qt. Also, as Christophe mentioned, Qt is a cross-platform toolkit that offers more than just a UI: Celestia could benefit from multithreading, XML parsing, internationalization, and networking support.

As for where the Lua-based UI fits into all of this . . . There is a need for an on-screen UI. I like having the selection info displayed right in the OpenGL view. Also, items like the compass belong in the OpenGL view, and there's a strong argument for things like image popups to appear there, too. I do not think it would be good to attempt to write something like an add-on manager in Lua with custom OpenGL widget sets; a conventional UI toolkit seems much more appropriate for this. We should probably start a separate topic about how heavily Celestia should rely on Lua (Should the current on-screen UI be replaced completely by a Lua script? Should Lua be the 'glue' between the UI and Celestia, with toolbar buttons and keystrokes triggering Lua scripts?)

So, I propose that we move ahead soon on a Qt front-end for Celestia that does everything that the current KDE GUI does now. Once that is working across platforms, we can start using Qt library features within the Celestia core (e.g. thread supported for background texture loading.) At least initially, I think it would be best if Celestia could still be built without Qt--all Qt library based features could be disabled with a #define.

--Chris

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 6 months
Location: Hamburg, Germany

Post #29by t00fri » 04.05.2007, 18:23

Christophe seems to be the ideal candidate for that task ;-)

Bye Fridger
Image

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 7 months
Location: Europe

Re: Celestia Development Roadmap

Post #30by duds26 » 04.05.2007, 18:54

chris wrote:tech2000 asked to see a development roadmap for Celestia. This is the contents of my Celestia todo list, with tasks roughly prioritized highest first.

Code: Select all

1.5.0pre3
- Don't require LuaHook for scripted orbits and rotations
- Fix cloud shadows
- ASAP


What does ASAP stands for? It looks like it isn't as soon as possible.

chris wrote:

Code: Select all

1.5.1
- Script function to show / hide individual objects
- Script menu


What will there be in the script menu? You know, Replay options, playing a few scripts after eachother, pausing, loop and other.

chris wrote:1.6.0
- User-definable object classes
- SPICE

- Eliminate the .cms format
[/code]
What does SPICE means? What do the letters stand for?

Why don't eliminate the .cms format earlier? Because: the longer it will exist, the more addons will be made with the .cms format stuff in.
(And programming will be a just bit easier & compiling just a bit faster without that code for .cms in it.) :twisted:


chris wrote:1.7.0
- Dynamic loading and unloading of add-ons
- Supernova catalog?
[/code]
Supernova catalog? Oh no :roll: , not another celestia file format again! 8O
Who is playing the file format generator.org around here, joke :lol:

And it was just going so well with unifiying file formats and deleting otherwise unnecessary file formats.

Chris wrote:Feel free to comment and make suggestions. I will probably put this on the Celestia Wiki so that updates are visible to everyone.

--Chris

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 2 months
Location: Lyon (France)

Post #31by Christophe » 04.05.2007, 19:42

t00fri wrote:Christophe seems to be the ideal candidate for that task ;-)


Yeah, yeah, yeah... I know what you're getting at. ;-)

I may actualy have a go at it this week-end, which is extended here in France Tuesday being a public holiday (end of WWII).

Having a basic Qt 4 interface up shouldn't be to difficult on Linux, getting it to compile on Windows will probably be another matter... Now that I know that you're well equiped with a fully configured build environment on your virtual windows box, I shall appoint you my official Qt4 tester on Windows ;-)
Christophe

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 6 months
Location: Hamburg, Germany

Post #32by t00fri » 04.05.2007, 20:13

Christophe wrote:
t00fri wrote:Christophe seems to be the ideal candidate for that task ;-)

Yeah, yeah, yeah... I know what you're getting at. ;-)

I may actualy have a go at it this week-end, which is extended here in France Tuesday being a public holiday (end of WWII).

Having a basic Qt 4 interface up shouldn't be to difficult on Linux, getting it to compile on Windows will probably be another matter... Now that I know that you're well equiped with a fully configured build environment on your virtual windows box, I shall appoint you my official Qt4 tester on Windows ;-)


Yes, Sir ;-) Ready to go. After all, it's a proven crew ...

...and not to forget, I coded much of the first (gtk) GUI for Linux in the 'early days'.

Bye Fridger
Image

Avatar
LordFerret M
Posts: 737
Joined: 24.08.2006
Age: 68
With us: 18 years 1 month
Location: NJ USA

Post #33by LordFerret » 04.05.2007, 20:17

Of all the ideas and pending enhancements I see in Chris' list, I'm most enthused to see "Dynamic loading and unloading of add-ons"! :D

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 1 month

Post #34by ajtribick » 04.05.2007, 22:17

Regarding the future elimination of the .cms format, what is the rationale behind that, and is the functionality (the ability to procedurally generate a deformed sphere mesh) supplied elsewhere (e.g. in .cmod format)?

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 8 months
Location: Seattle, Washington, USA

Post #35by chris » 04.05.2007, 22:23

chaos syndrome wrote:Regarding the future elimination of the .cms format, what is the rationale behind that, and is the functionality (the ability to procedurally generate a deformed sphere mesh) supplied elsewhere (e.g. in .cmod format)?


I can leave it in. It's sort of useful for synthesizing lumps of rock, but I figured that everyone was using a 3ds or cmod meshes for this.

--Chris

phoenix
Posts: 214
Joined: 18.06.2002
With us: 22 years 3 months
Location: Germany - Berlin

Post #36by phoenix » 05.05.2007, 00:21

Christophe wrote:Having a basic Qt 4 interface up shouldn't be to difficult on Linux, getting it to compile on Windows will probably be another matter... Now that I know that you're well equiped with a fully configured build environment on your virtual windows box, I shall appoint you my official Qt4 tester on Windows ;-)


if you need another windows-compiler-test-slave i'm your man too :D
most recent celestia win32-SVN-build - use at your own risk (copy over existing 1.5.1 release)

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years
Location: Pordenone/Italy

Post #37by Paolo » 05.05.2007, 00:34

t00fri wrote:
Paolo,

with all respect for your work on CELUI. I think going for a "homemade" toolkit like CELUI would be the wrong decision. What if one day your interest for Celestia fades away?

It is always the more professional approach to place one's money on a toolkit that is actively developed by a team, used by important application software, sponsored,... and /recognized/ as a very high quality and mature toolkit.

Bye Fridger


Ok I understand your position. I've taken a glance on QT 4 and I've seen that now several new cool features are available. Even a native OpenGL paint engine that probably will allow to move the GUI entirely on OpenGL like I would do with my framework.

We only need to know from Chris when in the roadmap he would like to have this implemented.
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years
Location: Pordenone/Italy

Post #38by Paolo » 05.05.2007, 20:39

The free open source version of QT for windows is available with the MinGW compiler. Just installed it.
Being able to compile Celestia with this tool should allow to close the circle and allow developers to use the Windwos platform even if they don't have the MS Visual Studio .Net compiler.
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 8 months
Location: Seattle, Washington, USA

Post #39by chris » 05.05.2007, 20:42

Paolo wrote:We only need to know from Chris when in the roadmap he would like to have this implemented.


We can start on a Qt front-end for Celestia immediately. It's likely that Christophe is working on it right this minute ;)

--Chris

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years
Location: Pordenone/Italy

Post #40by Paolo » 05.05.2007, 20:49

chris wrote:
Paolo wrote:We only need to know from Chris when in the roadmap he would like to have this implemented.

We can start on a Qt front-end for Celestia immediately. It's likely that Christophe is working on it right this minute ;)

--Chris

:D So 1.5.0 final will ship with a unified GUI based on QT?
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui


Return to “Development”