Experimental Celestia

The place to discuss creating, porting and modifying Celestia's source code.

Experimental Celestia?

Poll ended at 27.07.2005, 21:08

Yes, please I'm interested in joining.
14
61%
No I think it is not useful.
0
No votes
Don't know, perhaps in a future.
8
35%
Absolutely NO! Its a betrayal! I'll wait for Chris.
1
4%
 
Total votes: 23

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #61by Paolo » 05.07.2005, 22:49

Hi Hank.
hank wrote:
t00fri wrote:
doctorjoe wrote:There is no process that I can see for getting that patch into the main line development tree. Note that it is not that I object to code reviews or making changes. The problem is that no one has let me know what changes I have to make in order to get the patches committed, and this is getting me seriously frustrated.
Of course, I have tested your patches quite a while ago, but I cannot give green light for their incorporation into CVS. I could always commit them, but I think that's not the right procedure...

Fridger,

Why is that not the right procdure? What is the right procedure?

- Hank

Perhaps we can answer by ourselves.

Chris' approval of course!

If you take a look the the CVS history of Celestia files you'll see that he did almost all the most important commits.
Last edited by Paolo on 05.07.2005, 23:10, edited 1 time in total.
Remember: Time always flows, it is the most precious thing that we have.
My Celestia - Celui

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #62by Paolo » 05.07.2005, 22:54

t00fri wrote:just so you know: you completely misunderstood the purpose of my paragraph above.


Misuderstandings happens. There's nothing to do. Except leaving discussions. Honestly I didn't want to be offensive also if probably you've thought so.
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: 23
With us: 23 years
Location: Hamburg, Germany

Re: CVS dumps

Post #63by t00fri » 05.07.2005, 23:05

hank wrote:
t00fri wrote:
doctorjoe wrote:There is no process that I can see for getting that patch into the main line development tree. Note that it is not that I object to code reviews or making changes. The problem is that no one has let me know what changes I have to make in order to get the patches committed, and this is getting me seriously frustrated.
Of course, I have tested your patches quite a while ago, but I cannot give green light for their incorporation into CVS. I could always commit them, but I think that's not the right procedure...

Fridger,

Why is that not the right procdure? What is the right procedure?

- Hank


Hank,

let's just wait and see what Chris will answer to my email (I hope he will answer before another two weeks are over...).


@Paulo: although it is correct of course that Chris did very many important commits, your statement is not correct in this form. Also with the assignment "most important" one should be a bit careful. In general you may assume that those people who appear as Celestia authors /all/ made very significant code commits in the course of time. With Chris being the lead developer and creator of Celestia, we have all accepted, however, that we commit /major/ code changes ONLY after he gave green light.

But every developer has the ability to commit code himself.

Bye Fridger

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Re: CVS dumps

Post #64by Paolo » 05.07.2005, 23:14

t00fri wrote:@Paulo: although it is correct of course that Chris did very many important commits, your statement is not correct in this form. Also with the assignment "most important" one should be a bit careful. In general you may assume that those people who appear as Celestia authors /all/ made very significant code commits in the course of time. With Chris being the lead developer and creator of Celestia, we have all accepted, however, that we commit /major/ code changes ONLY after he gave green light.

But every developer has the ability to commit code himself.

You are right I've edited my previous post adding "almost all" /the most important/. :D
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #65by Paolo » 05.07.2005, 23:26

DoctorJoe, Fridger

I've read carefully all your posts and you have convinced me. I'll update in CELUI CVS all the current Celestia source code including GUI stuff. But not now its too late here. I hope tomorrow in the evening if my wife won't kill me. :wink:

So Experimental Celestia will be a real fork to Celestia. I'll change the Policy statements accordingly.

I guess that it will be necessary to change the headers of all the sourcecode files in order to mark them if will be mixed with the ones in the official version, and in order to give proper Credits to the authors.
Is it someone available to give some brief suggestions about this?

Kind regards.
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

doctorjoe
Posts: 76
Joined: 23.05.2005
With us: 19 years 10 months
Location: Austin, Texas

Procedure

Post #66by doctorjoe » 05.07.2005, 23:29

That's the essence of the problem. I'd follow any procedure necessary to get my changes committed somewhere.

I'll give the situation about a week or two to settle down. If nothing else works, then I'll have to just bit the bullet and start my own branch to make it easier for people to grab the diffs. To be honest, I'd *HATE* having to do this sort of maintainence work since the only reason I got involved in the first place was to fix two or three critical bugs that made it impossible for me to use celestia on my Dell C600 linux.

It should be pointed out that celestia 1.4.0pre6 will not work acceptably on

1) any video card with less than 1024 opengl buffer length - the planet rings turn white and virtual textures will not work - my dell C600 runs on a rage128 video card which is old but its not that old......

2) any gcc-4.0 based linux system - the 3ds models will not render at all because of a byte-swapping problem. This is a bad thing since all of the new linux distributions are gcc-4.0 based.

I'd like to start fixing the "hole in the sky" bug but I don't think I can do this unless/until this gets resolved.

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Re: Procedure

Post #67by Paolo » 05.07.2005, 23:43

Hi DoctorJoe

It seems to me that all of you are waiting to see how turns before joining Experimental Celestia. So I'll wait for a couple of weeks too, hoping that Fridger will get an answer from Chris.

BTW
doctorjoe wrote:2) any gcc-4.0 based linux system - the 3ds models will not render at all because of a byte-swapping problem. This is a bad thing since all of the new linux distributions are gcc-4.0 based.

This should be a problem. Any chance to create even complex conditional compiling workarounds in order to fix this?
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: 23
With us: 23 years
Location: Hamburg, Germany

Post #68by t00fri » 05.07.2005, 23:47

The latest SuSE 9.3 Linux distribution for example is based on gcc 3.3.5. That's what most of the Linux users in Germany are using.

doctorjoe
Posts: 76
Joined: 23.05.2005
With us: 19 years 10 months
Location: Austin, Texas

No need for conditional compilation

Post #69by doctorjoe » 06.07.2005, 00:13

The problem is that the way that celestia reads in floats is not correct.

The problem is not linux specific. I think it will crop up on any intel platform using gcc-4.0.

The patch to fix is

Code: Select all

--- cel3ds/3dsread.cpp  26 Feb 2003 08:12:19 -0000      1.10
+++ cel3ds/3dsread.cpp  2 Jul 2005 05:50:30 -0000
@@ -56,8 +56,10 @@

 static float readFloat(ifstream& in)
 {
-    int i = readInt(in);
-    return *((float*) &i);
+  float ret;
+  in.read((char *) &ret, sizeof(float));
+  LE_TO_CPU_FLOAT(ret, ret);
+  return ret;
 }

doctorjoe
Posts: 76
Joined: 23.05.2005
With us: 19 years 10 months
Location: Austin, Texas

Way forward

Post #70by doctorjoe » 06.07.2005, 00:59

A lot of how to proceed really depends on how Chris prefers to work, and how he wants to incorporate changes into the main line.

We could do things the linux way in which Linus Torvalds has very tight control over what goes into the main line kernel and which there are dozens of branches where changes are tested. The trouble with this model is that CVS isn't very well suited for this style of development, and also you run into scalability problems. I don't know of any other major open source project that runs the way that the Linux kernel does.

Alternatively, we could have "code drops" where people work on separate subsystems and then these are integrated with long intervals between them. This works a lot better with CVS.

Alternatively, Chris could delegate vetting of code to other people on the development team.

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Re: Way forward

Post #71by Paolo » 06.07.2005, 07:03

doctorjoe wrote:Alternatively, we could have "code drops" where people work on separate subsystems and then these are integrated with long intervals between them. This works a lot better with CVS.

For Experimental Celestia I prefer this solution.
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

hank
Developer
Posts: 645
Joined: 03.02.2002
With us: 23 years 2 months
Location: Seattle, WA USA

Re: CVS dumps

Post #72by hank » 06.07.2005, 09:25

t00fri wrote:With Chris being the lead developer and creator of Celestia, we have all accepted, however, that we commit /major/ code changes ONLY after he gave green light.

Agreed. But are doctorjoe's bugfix patches /major/ code changes?

doctorjoe wrote:Alternatively, Chris could delegate vetting of code to other people on the development team.

Right. I don't think Chris would have any problem with Fridger commiting doctorjoe's patches. I also don't think Chris would have any problem with adding doctorjoe to the development team so he could commit the patches himself.

Paolo wrote:
doctorjoe wrote:Alternatively, we could have "code drops" where people work on separate subsystems and then these are integrated with long intervals between them. This works a lot better with CVS.
For Experimental Celestia I prefer this solution.


Wouldn't it be better to do this on a branch in the main Celestia repository rather than in a separate repository?

- Hank

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #73by Paolo » 06.07.2005, 11:34

hank wrote:
Right. I don't think Chris would have any problem with Fridger commiting doctorjoe's patches. I also don't think Chris would have any problem with adding doctorjoe to the development team so he could commit the patches himself.

... ... I don't think so. Are several weeks that DoctorJoe has informed the team about the availability of the first patch and even of the last ones.
Chris has already evaluated them.
IMHO in this period Chris is not very interested in what is happening but he wants to keep the control of the situation freezing everything.
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: 23
With us: 23 years
Location: Hamburg, Germany

Post #74by t00fri » 06.07.2005, 11:55

Paolo wrote:
hank wrote:
Right. I don't think Chris would have any problem with Fridger commiting doctorjoe's patches. I also don't think Chris would have any problem with adding doctorjoe to the development team so he could commit the patches himself.
... ... I don't think so. Are several weeks that DoctorJoe has informed the team about the availability of the first patch and even of the last ones.
Chris has already evaluated them.
IMHO in this period Chris is not very interested in what is happening but he wants to keep the control of the situation freezing everything.

That's precisely the issue that I addressed in my email to Chris 2 days ago. However, as has happened several times before, it is well possible that he prefers simply not to answer...

Concerning DJ's patches:
Paulo wrote:Chris has already evaluated them.

Paulo this is not really correct, unfortunately...

Here is Chris' answer to DJ's patches from 05/23/2005:

Chris wrote:
Joseph,

Your changes look promising, though I haven't had a chance to test them myself yet. A couple things to think about:

- I don't think that ring shadows will work if you have a ring texture
that's large enough to be split into multiple subtextures. Have you tested this case?

- I see that you made large textures work by rotating the cloud layer
geometry when the texture is tiled. This might cause z fighting problems when the planet is viewed from a large distance with a small field of view. That's the reason I used the texture transformation instead. However, even if your change does cause z fighting problems, I think it may be worth taking anyhow, since it doesn't affect untiled textures and the z-fighting looks better than the obvious smearing artifacts from the texture transform.

--Chris


Bye Fridger

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #75by Paolo » 06.07.2005, 12:50

Fridger, I was referring exaclty to that post. But by memory I forgot the words "haven't had a chance " :oops:
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

hank
Developer
Posts: 645
Joined: 03.02.2002
With us: 23 years 2 months
Location: Seattle, WA USA

Post #76by hank » 06.07.2005, 14:51

Paolo wrote:IMHO in this period Chris is not very interested in what is happening but he wants to keep the control of the situation freezing everything.


Paolo: You could be right, I don't know. I think the real problem is that Chris just doesn't have a lot of time to devote to Celestia these days. And he's not inclined to try herding cats.

But it does seem clear that unless Chris is willing to delegate, progress on Celestia will be slowed. If that's the case, something like your "experimental" Celestia (Celexia?) would seem useful. It would allow Chris to retain control of "official" Celestia, while allowing others to make progress with "experimental" Celestia. Chris would be free to incorporate the results (or not) as he sees fit (and his time permits).

That's assuming there are any results. It remains to be seen whether your approach to managing "experimental" Celestia will attract active developers. I have some doubts, because I'm not sure there are many potential developers out there to attract. But it seems worth a try.

You don't really need approval from Chis to do this. And it's hard for me to believe he would object, since Celestia is open source. Under the circumstances, it would be reasonable to regard his silence on the matter as tacit agreement.

- Hank

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #77by Paolo » 06.07.2005, 15:03

Thanks for the support Hank. :D
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Topic author
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 6 months
Location: Pordenone/Italy

Post #78by Paolo » 06.07.2005, 15:23

Hi all.

Time passes by. The poll is still running. I can interpret the percentages and the post feedback received in these days thinking that the 12 that said yes (except DoctorJoe and now Hank) are almost completely missing the discussion. Moreover I feel that the 8 ones that said "dunno" are instead pushing for "No I'll wait for Chris".

... ... ... :?

Perhaps the things hasn't reached the boiling point so you all are not ready or cooked enough to start a real fork of Celestia. I was not able to convince you about this opportunity or I've scared you with the statements that I've described in Policy forum.

Perhaps in a couple of weeks (months, years), Chris will be back and during this period it is probable that things will change a lot, and Experimental Celestia won't be necessary at all! So I'll let you cook and discuss a little more. :wink:

... :roll:

P.S. As promised I've uploaded all the Celestia code, (including GUI stuff) in CELUI CVS (2 hours to manage all :x ). I've granted DoctorJoe write permission to this CVS even he hasn't agreed with my policy terms. The CELUI forums are opened and fully functional, so are available for discussions in bundle or in alternative to the Celestia mailing list.

For a while these will be the latest things I'll do for this project. I've used a lot of my job and free time up to now in promoting this opportunity, so now I'm falling in a lot of troubles :( . Moreover I'm going to upgrade my system and this will take me a lot of spare time in reconfigure everything.

See you soon in cyberspace! :D
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

doctorjoe
Posts: 76
Joined: 23.05.2005
With us: 19 years 10 months
Location: Austin, Texas

Waiting a week

Post #79by doctorjoe » 06.07.2005, 22:02

I'm going to wait a week before starting to commit my changes into Pablo's tree. I'll need to think a bit about how to do development in a way that maximizes the likelihood that the changes in Pablo's tree make it back to the main line. In particular, the problem is how to do development so that you can pull selected patches without pulling the whole tree.

Also, I'd be really interested in understanding Chris Laurel's views on this. If his main concern is to minimize code changes to the main line, it would be better to create an experimental branch in the main celestia repository, and work off of that. If he is overwhelmed by admin duties, it's probably best if he just give some general guidelines and let other people feel more comfortable about checking things in.

I should point out that getting no answer about my patches is far more frustrating than getting a negative answer. If there was a clear *no these patches are not going in because....*. I could work with that. There are some very good reasons why some of the patches shouldn't go in the mainline branch now. For example, the virtual texture patch could be structured much better, and I certainly don't object to peer review or editoral review. The trouble is that no one has said yes, but no one has said no either.

One final thing. I think its really important that the discussions on the experimental branch of celestia stay centered in this forum and on the celestia developer list. Splitting up community interactions is a bad thing.

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

Post #80by t00fri » 07.07.2005, 22:23

Hi all,

after the (usual) resending of my email tonight ;-) ,
Chris has just replied with a straight/honest letter that I can somehow understand. However, I think it would not be appropriate to make it public.

Let me just note that he is sorry for his unresponsiveness and very disappointed about the ongoing attempts to fork Celestia, of which he was unaware (as I had suspected...)

He will release another prerelease this weekend including also some patches from DJ...

There is unfortunately NO progress about our galaxy project from his side. So I shall seriously start contemplating what I shall do as to my Celestia activities...

As I emphasized already: Since I am not motivated to go on developing without Chris, I will have to evaluate the chances just for myself and then draw my final conclusions...Sorry Paulo, but a fork appears increasingly unattractive to me, the more I think about it.


Bye Fridger


Return to “Development”