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