[Opensim-dev] Supplying IScene instead of Scene for the future region modules mechanism

Teravus Ovares teravus at gmail.com
Tue Apr 14 20:01:49 UTC 2009


I have some great ideas for region modules...     and..    I don't
have the time to do them over and over again when the API changes AND
work on OpenSimulator too.

This has been one of my 'showstopper' reasons for not working on some
region module ideas that I have.

So, if we're going with an interface..   We need to commit to the
interface, whatever it is..  and keep API within the interface the
same after some amount of experimentation.    I personally, consider
the definition of an Interface, the 'mark' that things within the
interface are going to stay mostly the same.   If they change, it
warrants a release notes update and maybe a mailing list post warning
people.

The problem with region modules..   and a scene interface..  is region
modules use so many functions.   There is a LOT to try to encapsulate
in an interface.   Here's the thing.   In the default implementation
usage, most of them are important in really diverse region modules.
 I can definitely think of a use for OtherRegionUp.

The other thing, is Scene-->SOG-->SOP is a bit too complicated for any
single person to know everything about it.   This presents the
question..  if the person doesn't know mostly everything about the
system he's interfacing with, there's a very good chance it won't be
as optimal as we'd like.   Certainly, at the planning stage, things
will be missing..  and that will cause issues later to which we must
implement nasty work arounds.

In Conclusion..   I'm mostly with Stefan here.   Though..    Given the
complication, I don't really know where to start.      I think if we
do go the Interface route, we must start respecting that people will
be using it..  and therefore, if we make a change to it, we must
notify people using the -dev list.   The notification doesn't have to
be anything significant, just a note of what changed (including
previous method signature, and new method signature).    If we do this
at the time of the commit, then we, and the community can stay on top
of what is changing in a way that is useful.

Best Regards

Teravus


On 4/14/09, Justin Clark-Casey <jjustincc at googlemail.com> wrote:
> Stefan Andersson wrote:
> > Justin, Homer;
> >
> > consider two things you might:
> >
> > 1) take the opportunity to take a moment to re-ponder each "missing"
> > IScene power - should the caller perhaps move instead? Or should the
> > called method move to a place where the caller has access without going
> > thru IScene? Maybe the Scene is too big, not IScene too small?
>
> Yes.  Scene is too big (even forgetting about Scene.Inventory.cs for the moment).  There's still a lot of functionality
> that can be broken into modules, I think, but it's getting quite difficult now (e.g. aspects of land which remain in
> scene, and the whole of inventory management).
>
> >
> > 2) maybe the notion of a IScene vs a ISceneBase is really an indication
> > that you should have a 'ISceneForRegionModules' instead - an facade
> > enumerating the powers the core wish to expose to the scene, to force
> > the region module coder to code in a hygienic way. Laying the
> > foundations for a ISceneAPI, if you will?
>
> Yeah, ISceneBase ain't a great name.  But I'm not too keen on ISceneForRegionModules either :).  ISceneAPI perhaps...
>
> Of course, this also doesn't take into account the big lump of stuff hanging around in SceneGraph either...
>
> >
> > On my mind for a long time, both these things has been.
> >
> > Best regards,
> > Stefan Andersson
> > Tribal Media AB
> >
> >
> >
> >
> >  > Date: Tue, 14 Apr 2009 18:02:45 +0100
> >  > From: jjustincc at googlemail.com
> >  > To: opensim-dev at lists.berlios.de
> >  > Subject: [Opensim-dev] Supplying IScene instead of Scene for the
> > future region modules mechanism
> >  >
> >  > Hey Homer (since this is primarily addressed to you :),
> >  >
> >  > I see you're making some progress on the up-and-coming new region
> > modules mechanism.
> >  >
> >  > Instead of passing Scene itself to region modules, could we create an
> > interface so that we better control the amount of
> >  > innards that we expose to region modules? It's convenient-ish to give
> > the original Scene class to modules now, but it
> >  > will cause us problems down the road.
> >  >
> >  > I'm quite happy to pitch in with this if you want. I suggest renaming
> > the existing IScene to ISceneBase (since that's
> >  > what it really is) and creating a new IScene that's implemented by Scene.
> >  >
> >  > It strikes me that it's going to be more convenient to do this when
> > we introduce the new system than as a separate change.
> >  >
> >  > Thoughts?
> >  >
> >  > --
> >  > justincc
> >  > Justin Clark-Casey
> >  > http://justincc.wordpress.com
> >  > _______________________________________________
> >  > Opensim-dev mailing list
> >  > Opensim-dev at lists.berlios.de
> >  > https://lists.berlios.de/mailman/listinfo/opensim-dev
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
> --
> justincc
> Justin Clark-Casey
> http://justincc.wordpress.com
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>



More information about the Opensim-dev mailing list