Let me jump in with my thoughts of the day.

Typically in the FlightGear project we have welcomed additive changes (aka
new features.)

We do not seem to be averse to complicated systems, complicated code,
complicated configuration files.  Just look at some of the things we can do
with the gui configuration and all the things we can do with nasal.

With all due respect to Melchior, I don't think he has presented a strong
case against adding vectors into the property system.  The examples he
listed early in this discussion really did not carry a lot of strength and
several of his points could be easily dismissed.  If there is a strong case
to be made, I don't think it has been made yet.

With all due respect to Tim, slightly more compact xml representation for a
couple small parts of a couple files isn't a strong argument for adding new
complicated code.

Arrays of like elements have been part of computer programming every since I
saw my first computer program in 1983 ... probably well before that even.

Right now, I find it really hard to see why we would absolutely refuse a
submission that adds functionality without changing existing functionality.
FlightGear is full of example of this sort of thing.  I just don't see why
the heels are dug so far in on this one

So in my view if we are discussing the addition of a feature that is
immediately useful for some developers, and it does not harm existing code
or features, but simply adds functionality,  then this is right in line with
typical FlightGear development procedure.

If there is any one who doesn't want this particular code added, I think the
burden is on them to put forth a very strong case for why not.  What
specifically is harmed?  What specifically will break?  What specific corner
are we painting ourselves into?   And if a legitimate concern is raised,
then hopefully Tim can come back and address that.  But so far I haven't
seen any concern that hasn't been reasonably addressed already by Tim.

If we say that we won't allow new code if there is already some way to do
most of what the new code does in some other way, then we might as well get
rid of nasal, because we can already do everything that nasal does in C++.
And why would we have migrated to C++ since we could already do everything
we wanted in C.  Why would we add a menu and dialog system when we can
already do everything with command line options and keystrokes?  Why make a
Mac version when there is already a windows version?  I can think back to
early in the project when adding the property system itself was a highly
controversial move.   The clear answer to why we've added much of our code
and features is convenience; ease of use ... and maybe only for a few
developers or end users ... not necessarily for everyone.

So after hearing all the discussion (maybe I'm forgetting something, but I
can't think of what that might be) I am having a really difficult time
seeing why we would prevent the addition of new code that simply adds
functionality without harming or changing or removing existing
functionality.

Without seeing anything so far that I would consider a compelling argument
against, I vote for giving Tim the green light here.  Developer convenience
has almost always been a good enough reason in the past.

Best regards,

Curt.



On Sat, Apr 4, 2009 at 11:14 AM, LeeE <l...@spatial.plus.com> wrote:

> On Saturday 04 April 2009, Melchior FRANZ wrote:
> > * Heiko Schulz -- Saturday 04 April 2009:
> > > How would it be better, and would all what Tim wants to do,
> > > be still possible?
> >
> > The features that Tim is talking about (effects and stuff), and
> > the XML and property tree representation do IMHO not have much
> > to do with each other.
> >
> >
> > How can separate values be stored without vector property type:
> > Just like now. Every "property" (red/green/...) is a an actual
> > *property* (i.e. an SGPropertyNode). But we had that aleady ...
> >
> >
> > What the best solution for the "dynamic" attribute is probably
> > depends on the case. How often do we expect such color properties
> > to change? Many of them in every frame? Or just a few every few
> > minutes?
> >
> > One solution could be to have the properties just like now
> > (with children possibly tied to memory):
> >
> >   color/{red,green,blue,alpha}
> >
> > Add a listener to the parent "color", and trigger it when all
> > color properties have been set, so that the code can update
> > whatever needs to be updated. The triggering happens with
> > SGPropertyNode::fireValueChanged(). This can be nicely done
> > with a few helper functions. Of course, triggering the parent
> > would have to be done manually in the property browser or via
> > telnet, but that's certainly not the main use case and is IMHO
> > acceptable.
> >
> > No intrusive changes with multiple bad side effects needed.
> >
> > m.
>
> I too think the that the real issue here is the representation in
> the property tree, not functionality.  As long as the data is
> available in the property tree it shouldn't affect the
> functionality at all because it'll be trivial to convert from the
> current property tree representation of the data to the form
> required by OSG.
>
> I still can't see a good reason to make changes to the way the
> property tree represents data unless the overhead of accessing
> three or four property tree nodes, instead of just one, has a
> significant impact on performance.
>
> How frequently does this data need to be accessed?
>
> LeeE
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>



-- 
Curtis Olson: http://baron.flightgear.org/~curt/
------------------------------------------------------------------------------
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to