[Opensim-dev] Standardizing types in OpenSim

Melanie melanie at t-data.com
Tue Aug 19 14:13:23 UTC 2008


+1 from me, too, on using the split-off types lib.

Can LLUUID be made serializable again, though?

Melanie


Justin Clark-Casey wrote:
> Just want to say a 'me too' +1.  We all appear to be on the same page 
> now and I think that reusing the hard work John and the rest of the 
> libomv team have done is much better than writing our own stuff.
> 
> Dahlia Trimble wrote:
>> Thanks for addressing those issues John :)
>> 
>> +1
>> 
>> On Mon, Aug 18, 2008 at 4:13 PM, Hurliman, John <john.hurliman at intel.com 
>> <mailto:john.hurliman at intel.com>> wrote:
>> 
>>     Thank you everyone who has responded, it sounds like there is a common
>>     set of concerns that can be addressed.
>> 
>>     * Taking advice from this thread, I split libOpenMetaverse into
>>     OpenMetaverseTypes.dll and OpenMetaverse.dll, with the latter depending
>>     on the former. OpenMetaverseTypes.dll is a very small library (64KB)
>>     only containing UUID, Vector2, Vector3, Vector3d, Vector4, Quaternion,
>>     Matrix4, Ray, Color4, and a static Utils class with common math and
>>     conversion routines.
>> 
>>     * An API freeze will happen immediately on the types library. I'll draft
>>     up a wiki page to put it into more detail, but what this means
>>     specifically is nothing will change names, no function signatures will
>>     change, and the existing functions will behave the same throughout any
>>     new revisions. New structs or functions may be added over time. It's
>>     been in development for two years now, and I think the core
>>     functionality is nailed down.
>> 
>>     * The patch I wrote doesn't attempt to homogenize 100% of the types in
>>     OpenSim. The LSL types serve a different function from the rest of the
>>     types, and the PhysicsVector/Vertex/Triangle set is used in a unique way
>>     that can't easily be replicated with a common type library. However,
>>     there is a lot of room to go from five or six different implementations
>>     down to two or three, and this patch errors on the side of caution in
>>     that regard.
>> 
>>     * libomv (and libomvtypes) will continue to be BSD licensed and do not
>>     include any GPL licensed code. There is a separate GPL library for prim
>>     meshing, but there is no dependency from libomv to the GPL mesher or
>>     back, and the GPL code does not exist in the libomv SVN anywhere. It
>>     will be released as a separate project for those who wish to use it.
>> 
>>     The libomv team has been happy with the move toward independent modules
>>     that break a lot of cyclic dependencies, and is generally going to be
>>     the trend for new development in that library (including a Capability
>>     server implementation). Let me know if anything else needs to be
>>     addressed with the new types library. Some work needs to be done on my
>>     end now to recreate the patch against the new OpenMetaverseTypes.dll.
>> 
>>     -John
>> 
>> 
>>     -----Original Message-----
>>     From: opensim-dev-bounces at lists.berlios.de
>>     <mailto:opensim-dev-bounces at lists.berlios.de>
>>     [mailto:opensim-dev-bounces at lists.berlios.de
>>     <mailto:opensim-dev-bounces at lists.berlios.de>] On Behalf Of Melanie
>>     Sent: Friday, August 08, 2008 7:50 PM
>>     To: opensim-dev at lists.berlios.de <mailto:opensim-dev at lists.berlios.de>
>>     Subject: Re: [Opensim-dev] Standardizing types in OpenSim
>> 
>>     Hi,
>> 
>>     I have to second the move for independence. Much time, also mine,
>>     has gone into removing or avoiding libsl references in core. Libsl
>>     has it's place in LLClientStack, where it provides connectivity to
>>     the one client that actually uses that protocol.
>> 
>>     Countless hours have been spent to refactor _from_ libsl tyoes _to_
>>     axiom, and the LSL implementations are different again, and need to
>>     be, if we want scripts to run unmodified, and, thinking onwards,
>>     achieve SL interoperability on a binary level.
>> 
>>     Libomv seems to be a requirement only for the one use case of
>>     emulating SL, for any other scenario not using the SL client, that
>>     lib creates a huge amount of code overhead. Much of it isn't used in
>>     OpenSim as it stands.
>> 
>>     Actually, it should even be broken up further.
>> 
>>     libMetavrseTypes: Quaternion, Vector3, Color4, LLUUID, etc
>>     libPackets: _Packets_.cs and the needed stuff to support using it.
>>     libOpenMetaverse: All the rest, that OpenSim doesn't ever need.
>> 
>>     Then libMetaverseTypes, which should have an API stability guarantee
>>     and whose types should be made serializable again, could be used
>>     throughout.
>> 
>>     libPackets would be used in the LLClientStack exclusively
>> 
>>     libOpenMetaverse would not be needed by this project.
>> 
>>     Melanie
>> 
>>     _______________________________________________
>>     Opensim-dev mailing list
>>     Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
>>     https://lists.berlios.de/mailman/listinfo/opensim-dev
>>     _______________________________________________
>>     Opensim-dev mailing list
>>     Opensim-dev at lists.berlios.de <mailto: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
> 
> 



More information about the Opensim-dev mailing list