<div dir="ltr"><div>If you mean how hooks have been added for supporting out-of-core modules, sure I agree. I've added several hooks and events myself and I'll likely add more. Usually when I do I add in-code documentation (which should work with automatic documentation programs like doxygen) so others can take advantage of them and to reduce the probability that they are deleted or unnecessarily modified by other contributors.<br><br></div>Another reason I like the idea of using Region Modules for clients is IClientAPI methods are designed around the messages the LL client uses. I'm only aware of 2 (marginally) successful non-LL network-based IClientAPI implementations in the past; one I wrote for use with a Unity3D based viewer I was working on several years ago, and one that used a "Bubble" grid concept that was implemented in IdealistViewer. These experiences have contributed much to my general distaste of IClientAPI. Region modules and EventManager are more stable (in the sense that the interfaces change less) and seem much more generic than the very specialized IClientAPI and hence more suitable for non-LL clients.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 16, 2015 at 9:22 PM, Diva Canto <span dir="ltr"><<a href="mailto:diva@metaverseink.com" target="_blank">diva@metaverseink.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div><tt>Yes, that dragon needs to be
slayed. See note #1 on my "Future of OpenSimulator" message.</tt><tt>
It would be nice to actually see the concrete struggles of those
other clients, though.<br>
</tt><div><div class="h5"><br>
On 8/16/2015 9:14 PM, Dahlia Trimble wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">
<div>Awww you had me excited for a moment there....<br>
<br>
</div>
Regardless, it would be helpful to be able to create presences
via region modules and have them be full-fledged presences from
the perspective of grid services. This is currently a big
stumbling block for implementing client protocols in region
modules. There are also LL client dependencies which also make
it difficult, or even impossible to create a fully capable grid
managed presence in another IClientAPI implementation beside
llClientView, so something eventually needs to happen here if
anyone wants to get really serious about OpenSimulator
supporting other protocol implementations besides the LL
protocols. Without such, web-based and other clients are doomed
to be second class citizens unless they use a proxy which
translates to LL protocols.<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Aug 16, 2015 at 8:43 PM, Diva
Canto <span dir="ltr"><<a href="mailto:diva@metaverseink.com" target="_blank">diva@metaverseink.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div><tt>I'm not suggesting getting rid of IClientAPI...</tt><tt><br>
</tt><tt>I mean I *wish* we would get rid of it, but
that's not what I'm proposing here. I'm just proposing
replacing the ad-hoc reflective instantiation of
IClientNetworkServer that ClientStackManager is
currently doing with a more in-style Region Module.</tt>
<div>
<div><tt><br>
</tt><br>
On 8/16/2015 6:55 PM, Dahlia Trimble wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">
<div>I like this idea. I have done some physics
via the region module interface and had pretty
good luck. I've also done client protocol
implementations in region modules and I can say
that the available interfaces are incomplete for
the purposes of the entire LL protocol suite. I
use EventManager for tracking scene changes and
this seems to work ok for the most part but I
don't believe events exist for all events a
normal viewer would care about. There is also
the issue of managing presences, teleports and
region border crossings. I've done some
workarounds here but it's not pretty. I suspect
a lot of changes to related framework code would
need to be done to be successful. I'm also not
sure if EventManager events are as efficient and
CPU friendly as the direct calls which go thru
IClientAPI but I can't say I've seen anything to
suggest (yet) that this could be a problem.
There are also some efficiency hacks in
llClientView and related code (lazy packet
initialization for one) which might not easily
translate to a region module.<br>
<br>
</div>
Regardless, it sounds like a good experiment to
try :)<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Aug 16, 2015 at
6:44 PM, Diva Canto <span dir="ltr"><<a href="mailto:diva@metaverseink.com" target="_blank"></a><a href="mailto:diva@metaverseink.com" target="_blank">diva@metaverseink.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We had this
conversation today in the IRC about the
several plugin mechanisms currently being used
by assorted parts of OpenSim. A couple of
years ago, we made a big push towards the
[new] Region Modules mechanism, and that
placed about 95% of simulator plugins in that
bandwagon. However, a couple of them are still
using their own raw "pluginning," and that
makes them hard to (1) explain and (2)
distribute as 3rd party packages. They were
left behind.<br>
<br>
One of them is Physics, the other is the
client implementations. I would like to
propose that we move these last 2 renegades to
the Region Module plugin mechanism, so to
reduce entropy and to make them easier to
package. From our conversation, moving the
Physics plugins to region modules is peaceful.
I haven't looked at the client dll yet, but
I've been told that people experimenting with
other client protocols are using region
modules anyway.<br>
<br>
This affects the MOSES group developing the
PhysX plugin, but it should be straightforward
to adjust and it has advantages. Once we move
the existing physics plugins to this new
mechanism, you should be able to do exactly
the same to yours -- the changes aren't that
big, and it doesn't affect the Physics
interface at all; it's just the way of
connecting the physics implementation to the
interface. Plus it will make it somewhat
easier for you to make your physics plugin
available for external testers at intermediate
(early) times, if you want.<br>
<br>
Any objections?<br>
<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org" target="_blank">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" rel="noreferrer" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Opensim-dev mailing list
<a href="mailto:Opensim-dev@opensimulator.org" target="_blank">Opensim-dev@opensimulator.org</a>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org" target="_blank">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" rel="noreferrer" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Opensim-dev mailing list
<a href="mailto:Opensim-dev@opensimulator.org" target="_blank">Opensim-dev@opensimulator.org</a>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a>
</pre>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" rel="noreferrer" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br></blockquote></div><br></div>