[Opensim-dev] A modest proposal

Sean Dague sean at dague.net
Thu Sep 20 19:49:43 UTC 2007


On Thu, Sep 20, 2007 at 08:30:18PM +0200, Stefan Andersson wrote:
> After rummaging thru the Connectivity/Scene/Agent/InterRegion code, I have a proposal for a restructuring. Of course, it's quite core, but feel free to comment anyway.
>  
> I propose that we leave the if( ChildAgent ) model and split the whole core into a Scene and a Region layer, right thru the Agent.
>  
> The 'Region' layer will be responsible for low-level agent
> administration; instead of a 'child agent', every agent has a number
> of 'RegionPresence's - these have no local coord, but merely indicates
> that certain region-wide operations will be echoed to the
> RegionPresences corresponding IClientAPI.

Can you give some examples of the types of operations that Region will
own?

> The 'Scene' layer will handle objects (prims and avatars) and for every connected Viewer, there is a 'ScenePresence' which in turn has one SceneObject, the Avatar - the ScenePresence has two local coords, the Avatar and the Camera and these are used to discern what operations are echoed to the ScenePrescenses corresponding IClientAPI.
>  
> On every connect, there would be created a RegionPresence but only on MoveAvatarIntoRegion would it get a ScenePresence. That ScenePresence would simply be handed over to another Scene if a regioncrossing occurs within the instance.
>  
> So, we have two quite different areas of functionality; the Region layer that will organize stuff like region crossing, and the Scene Layer that will handle stuff like physics.
>  
> The RegionManager administrates all regions within the instance, and the SceneManager all the Scenes.
>  
> When we're at it, introducing one global PhysicsScene will probably make physics somewhat more cooperative; The mapping back and forth would be fairly straightforward, and it would mean that the creation and destruction of PhysActors would be less cumbersome. This would play well with the notion of a SceneManager.
>  
> These two restructurings will probably smooth out quite a lot of the
> bushiness in the code as it stands today.

Is there any possibility to start thinking about non-uniform regions at
this point (i.e. 2 128x regions next to a 256x region), or is that still
too embedded in the protocol?

    -Sean

-- 
__________________________________________________________________

Sean Dague                                       Mid-Hudson Valley
sean at dague dot net                            Linux Users Group
http://dague.net                                 http://mhvlug.org

There is no silver bullet.  Plus, werewolves make better neighbors
than zombies, and they tend to keep the vampire population down.
__________________________________________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20070920/68edac9a/attachment-0001.pgp>


More information about the Opensim-dev mailing list