<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Buckaroo+Mu</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Buckaroo+Mu"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Buckaroo_Mu"/>
	<updated>2026-07-26T22:08:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Server_Beta_User_Group&amp;diff=1170323</id>
		<title>Server Beta User Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Server_Beta_User_Group&amp;diff=1170323"/>
		<updated>2012-07-08T05:06:28Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the meeting tracking and progress page for the weekly Server BETA QA Meeting, moderated by Oskar Linden. Please contact him on AGNI for more information. You can join the &#039;&#039;&#039;Second Life Beta&#039;&#039;&#039; group for updates.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The next meeting is Thursday, July 5, 2012, 3PM PDT at {{SLurl|region=Morris|x=210|y=250|z=35|title=Morris}} on the preview grid, [[Preview_Grid | ADITI]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Join the email list - sign up here: https://lists.secondlife.com/cgi-bin/mailman/listinfo/server-beta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
&lt;br /&gt;
* Rough week.&lt;br /&gt;
* No Tuesday roll because of the 4th of July&lt;br /&gt;
* No Wednesday roll because of the 4th of July&lt;br /&gt;
* We planned a Thursday roll...&lt;br /&gt;
** But then network outages&lt;br /&gt;
** It is postponed until next Tuesday.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Second Life Server Channel&#039;&#039;&#039;&lt;br /&gt;
* Nothing new here.&lt;br /&gt;
** https://wiki.secondlife.com/wiki/Release_Notes/Second_Life_Server/12#12.06.18.259948&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;BlueSteel RC Channel&#039;&#039;&#039;&lt;br /&gt;
* Nothing new here.&lt;br /&gt;
* This channel has server changes to process prebaked avatar textures for library outfits again.&lt;br /&gt;
** https://wiki.secondlife.com/wiki/Release_Notes/Second_Life_RC_BlueSteel/12#12.06.20.260188&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LeTigre RC Channel&#039;&#039;&#039;&lt;br /&gt;
* Nothing new here.&lt;br /&gt;
* This channel has server changes to process prebaked avatar textures for library outfits again.&lt;br /&gt;
** https://wiki.secondlife.com/wiki/Release_Notes/Second_Life_RC_LeTigre/12#12.06.20.260188&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Magnum RC Channel&#039;&#039;&#039;&lt;br /&gt;
* Nothing new here.&lt;br /&gt;
* This channel has server changes to process prebaked avatar textures for library outfits as well.&lt;br /&gt;
** https://wiki.secondlife.com/wiki/Release_Notes/Second_Life_RC_Magnum/12#12.06.20.260188&lt;br /&gt;
&lt;br /&gt;
* PathFinding User Group right after this meeting.&lt;br /&gt;
&lt;br /&gt;
=== Upcoming Stuff ===&lt;br /&gt;
&lt;br /&gt;
* Busy week next week&lt;br /&gt;
* prebaked av textures to main channel&lt;br /&gt;
* pathfinding part deux&lt;br /&gt;
* creative tools part deux&lt;br /&gt;
* a maint-server&lt;br /&gt;
** {{jira|SVC-7792}} - HUD Attachments Receive Infrequent Updates when Camera is Zoomed Out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interesting Stuff ===&lt;br /&gt;
* &#039;&#039;&#039;Pathfinding Beta Regions Live on AGNI&#039;&#039;&#039;&lt;br /&gt;
** https://wiki.secondlife.com/wiki/Pathfinding_Public_Beta&lt;br /&gt;
&lt;br /&gt;
=== Any Other Items ===&lt;br /&gt;
* {{jira|SCR-6}} -  &#039;&#039;llGetSubString can produce results that crash Mono scripts&#039;&#039;.  Agni code now breaks llDeleteSubstring()&lt;br /&gt;
&lt;br /&gt;
# [https://jira.secondlife.com/browse/SVC-7727 SVC-7727] - Aditi grid problem. After changing my password to cause my inventory on Aditi to update, my inventory no longer saves changes made to it from session to session. [[User:Nalates Urriah|Nalates Urriah]] This problem includes seveal moe issues and is still a horribly annoying problem for those of trying to test pathfinding and mesh items.&lt;br /&gt;
&lt;br /&gt;
==== Don&#039;t know if I can make the meeting, but this is important to me: ====&lt;br /&gt;
* {{jira|SCR-82}} - &#039;&#039;Behavior of moving_start() and moving_end() is inconsistent&#039;&#039;. This is a four-year-old problem I&#039;ve just run into. When using llSetRegionPos, I&#039;m relying on moving_end to let me know when the linkset is in place - and it&#039;s failing intermittently. No rhyme or reason I can detect. [[User:Buckaroo Mu|Buckaroo Mu]] 22:06, 7 July 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Items ==&lt;br /&gt;
* {{jira|SVC-4632}} - People getting past Estate and Land bans | Critical &amp;amp; 325 (402 as of 8/11/10)  votes!&lt;br /&gt;
** Dante has commented on this issue and reopened it.&lt;br /&gt;
* {{jira|SVC-5925}} - Erratic behavior on script rezzed prims set physical &lt;br /&gt;
* {{jira|SVC-3044}} - [[DEBUG_CHANNEL|Debug channel]] and script error reporting needs a major rethink&lt;br /&gt;
** related to {{jira|vwr-199}} and {{jira|vwr-7062}}&lt;br /&gt;
** [15:17]  Roberto Salubrius: can we get that standarized pleaaaaaaaaaaaseeeeeeeeee so we can listen to the debug channel whenever there&#039;s a problem PLEAAAAAAAAAASEEEEEEE&lt;br /&gt;
** [15:17]  Roberto Salubrius: preeeeeeeetty pleaaseeeeee&lt;br /&gt;
* {{jira|svc-4196}} - &amp;quot;Avatar entering sim or rezzing object causes sim to freeze for up to 30 seconds - everything stops for everybody there&amp;quot;&lt;br /&gt;
* wassup with {{jira|SVC-3895}}&lt;br /&gt;
* status on {{jira|SVC-3618}} - estate managers unable to freeze / eject&lt;br /&gt;
* status on {{jira|SVC-1253}} - users sitting on prims, which are set to phantom are not affected by damage. | 108 votes!&lt;br /&gt;
* status on {{jira|SVC-5404}} - Vehicles can no longer enter a region if no-object-entry flag is set&lt;br /&gt;
* What is going on with {{jira|SVC-421}} - Cannot delete contents from no-modify objects&lt;br /&gt;
* status on {{jira|SVC-5880}} - Vehicles &amp;quot;Jumping&amp;quot; when crossing prims&lt;br /&gt;
* {{jira|SVC-5922}} -Physics unset on vehicles when seated avatars goes beyond the physical &#039;prim&#039; limit where agents are counted towards prims&lt;br /&gt;
* {{jira|SVC-6104}} script sim crossing bug&lt;br /&gt;
* {{jira|SVC-6123}} cant catch sphere type exact shape with lsl functions&lt;br /&gt;
* What is the story on the bug that allows the Meeroos food vending scam? Nalates U&lt;br /&gt;
* At what point do you want me document functions that appear here or in the RC release notes? (I won&#039;t be attending the meeting but I&#039;ll review the transcript) -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 12:29, 11 January 2012 (PST)&lt;br /&gt;
* Pathfinding characters got no proper character animation toolkit. Capabilities are limited to sliding bricks, or R2-D2 from &amp;quot;Star Wars&amp;quot; on it&#039;s best. If anybody is going to make a decent animation parser from well known animation formats like BVH - its not going to be open sourced, because it requires quite a bit of work on LSL (I&#039;m already half way there). I know that some time people will just get fed up with it and beg Lindens for official tools with proper prim hierarchical rigged character animation capabilites done by SL&#039;s animation assets only on viewer side. Whats the loose ETA (year or half precision) on those tools considering that lots of stuff still broken and needs debugging? Come on guys, just say a number on your mind without any promises c: ([[User:FadeOut Razorfen|FadeOut Razorfen]])&lt;br /&gt;
&lt;br /&gt;
= Minutes from Previous Meetings =&lt;br /&gt;
*2012&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-28 | 2012-06-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-21 | 2012-06-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-14 | 2012-06-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-06-07 | 2012-06-07]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-31 | 2012-05-31]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-24 | 2012-05-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-17 | 2012-05-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-10 | 2012-05-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-05-03 | 2012-05-03]]&lt;br /&gt;
** April&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-26 | 2012-04-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-19 | 2012-04-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-12 | 2012-04-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-04-05 | 2012-04-05]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-29 | 2012-03-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-22 | 2012-03-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-15 | 2012-03-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-08 | 2012-03-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-03-01 | 2012-03-01]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-23 | 2012-02-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-16 | 2012-02-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-09 | 2012-02-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-02-02 | 2012-02-02]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-26 | 2012-01-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-19 | 2012-01-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-12 | 2012-01-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2012-01-05 | 2012-01-05]]&lt;br /&gt;
*2011&lt;br /&gt;
** December&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-12-15 | 2011-12-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-12-08 | 2011-12-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-12-01 | 2011-12-01]]&lt;br /&gt;
** November&lt;br /&gt;
*** 2010-11-24 *NO MEETING* Happy Thanksgiving!&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-11-17 | 2011-11-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-11-10 | 2011-11-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-11-03 | 2011-11-03]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-27 | 2011-10-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-20 | 2011-10-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-13 | 2011-10-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-10-06 | 2011-10-06]]&lt;br /&gt;
** September&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-29 | 2011-09-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-22 | 2011-09-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-15 | 2011-09-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-08 | 2011-09-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-09-01 | 2011-09-01]]&lt;br /&gt;
** August&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-08-25 | 2011-08-25]]&lt;br /&gt;
*** 2011-08-18 *No meeting. Oskar was on vacation*&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-08-11 | 2011-08-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-08-04 | 2011-08-04]]&lt;br /&gt;
** July&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-28 | 2011-07-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-21 | 2011-07-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-14 | 2011-07-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-07-07 | 2011-07-07]]&lt;br /&gt;
** June&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-30 | 2011-06-30]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-23 | 2011-06-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-16 | 2011-06-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-09 | 2011-06-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-06-02 | 2011-06-02]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-26 | 2011-05-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-19 | 2011-05-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-12 | 2011-05-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-05-05 | 2011-05-05]]&lt;br /&gt;
** April&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-28 | 2011-04-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-21 | 2011-04-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-14 | 2011-04-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-04-07 | 2011-04-07]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-31 | 2011-03-31]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-24 | 2011-03-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-17 | 2011-03-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-10 | 2011-03-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-03-03 | 2011-03-03]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-24 | 2011-02-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-17 | 2011-02-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-10 | 2011-02-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-02-03 | 2011-02-03]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-27 | 2011-01-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-20 | 2011-01-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-13 | 2011-01-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2011-01-06 | 2011-01-06]]&lt;br /&gt;
* 2010&lt;br /&gt;
** December&lt;br /&gt;
*** 2010-12-30 *NO MEETING*&lt;br /&gt;
*** 2010-12-23 *NO MEETING*&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-12-16 | 2010-12-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-12-09 | 2010-12-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-12-02 | 2010-12-02]]&lt;br /&gt;
** November&lt;br /&gt;
*** 2010-11-25 *NO MEETING* Happy Thanksgiving!&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-11-18 | 2010-11-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-11-11 | 2010-11-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-11-04 | 2010-11-04]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-28 | 2010-10-28]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-21 | 2010-10-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-14 | 2010-10-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-10-07 | 2010-10-07]]&lt;br /&gt;
** September&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-30 | 2010-09-30]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-23 | 2010-09-23]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-16 | 2010-09-16]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-09 | 2010-09-09]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-09-02 | 2010-09-02]]&lt;br /&gt;
** August&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-26 | 2010-08-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-19 | 2010-08-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-12 | 2010-08-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-08-05 | 2010-08-05]]&lt;br /&gt;
** July&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-29 | 2010-07-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-22 | 2010-07-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-15 | 2010-07-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-08 | 2010-07-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-07-01 | 2010-07-01]]&lt;br /&gt;
** June&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-06-24 | 2010-06-24]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-06-10 | 2010-06-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-06-03 | 2010-06-03]]&lt;br /&gt;
** May&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-27 | 2010-05-27]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-20 | 2010-05-20]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-13 | 2010-05-13]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-05-06 | 2010-05-06]]&lt;br /&gt;
** April&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-29 | 2010-04-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-22 | 2010-04-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-15 | 2010-04-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-08 | 2010-04-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-04-01 | 2010-04-01]]&lt;br /&gt;
** March&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-25 | 2010-03-25]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-18 | 2010-03-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-11 | 2010-03-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-03-04 | 2010-03-04]]&lt;br /&gt;
** February&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-25 | 2010-02-25]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-18 | 2010-02-18]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-11 | 2010-02-11]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-02-04 | 2010-02-04]]&lt;br /&gt;
** January&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-01-21 | 2010-01-21]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-01-14 | 2010-01-14]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2010-01-07 | 2010-01-07]]&lt;br /&gt;
* 2009&lt;br /&gt;
** December&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-12-17 | 2009-12-17]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-12-10 | 2009-12-10]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-12-04 | 2009-12-04]]&lt;br /&gt;
** November&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-26 | 2009-11-26]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-19 | 2009-11-19]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-12 | 2009-11-12]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-11-05 | 2009-11-05]]&lt;br /&gt;
** October&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-29 | 2009-10-29]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-22 | 2009-10-22]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-15 | 2009-10-15]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-08 | 2009-10-08]]&lt;br /&gt;
*** [[Beta_Server_Office_Hours/Minutes/2009-10-01 | 2009-10-01]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bug Tracker]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;br /&gt;
[[Category:QA_Portal]]&lt;br /&gt;
[[Category:User Groups]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Agni_Pilot_Regions&amp;diff=1035182</id>
		<title>Talk:Agni Pilot Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Agni_Pilot_Regions&amp;diff=1035182"/>
		<updated>2010-09-14T14:15:00Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Addition and Removal Requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussions ==&lt;br /&gt;
* Hope you don&#039;t mind Dante, added some formatting to allow for more use if needed and to hopefully keep things easy to read. [[User:Gordon_Wendt|&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;&#039;&#039;GW&#039;&#039;&amp;lt;/font&amp;gt;]] &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Gordon_Wendt|&amp;lt;Font color=&amp;quot;red&amp;quot;&amp;gt;T&amp;lt;/font&amp;gt;]]|[[Special:Contributions/Gordon Wendt|&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;C&amp;lt;/font&amp;gt;]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; -- 06:05, 22 August 2009 (UTC)&lt;br /&gt;
* any possibility of adding some of the new Linden Home sims? we could probably use one of each type to test the moles code on new rollouts... I&#039;d like to graciously nominate Fujiwara sim for the japanese theme sim (I have a plot there while I check out what can be done to spruce up such plots) &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 16:37, 30 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Addition and Removal Requests ==&lt;br /&gt;
Place requests for region addition/removal below.  The wiki edit must be made by the &#039;&#039;&#039;land owner&#039;&#039;&#039; to validate the request.&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  - place at the bottom of the list on a new line preceded by an asterisk (*)&lt;br /&gt;
  - once regions have been updated on the Pilot list, they will be removed from this list&lt;br /&gt;
  - if a request is denied (because of ownership issues, etc), we&#039;ll leave a note here or email the requester&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*Honeoye (I&#039;m &#039;&#039;an&#039;&#039; owner, but not the only one) [[User:Buckaroo Mu|Buckaroo Mu]] 14:15, 14 September 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Official_talk:What_are_Second_Life%27s_subnets%3F&amp;diff=680533</id>
		<title>Linden Lab Official talk:What are Second Life&#039;s subnets?</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Official_talk:What_are_Second_Life%27s_subnets%3F&amp;diff=680533"/>
		<updated>2009-12-05T04:56:30Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page needs to be updated. Torley&#039;s last edit removed required blocks. Anyone who follows the instructions on the blog post to open only the listed subnets will still be unable to connect.&lt;br /&gt;
Complete list is:&lt;br /&gt;
63.210.156.0/22&lt;br /&gt;
64.34.14.0/24&lt;br /&gt;
64.154.220.0/22&lt;br /&gt;
70.42.62.0/24&lt;br /&gt;
8.2.32.0/22&lt;br /&gt;
74.201.98.0/23&lt;br /&gt;
8.4.128.0/22&lt;br /&gt;
64.127.104.64/30&lt;br /&gt;
8.10.144.0/21&lt;br /&gt;
64.127.112.104/29&lt;br /&gt;
216.82.0.0/18&lt;br /&gt;
64.127.121.88/29&lt;br /&gt;
64.127.123.192/26&lt;br /&gt;
64.147.162.0/26&lt;br /&gt;
64.147.180.128/27&lt;br /&gt;
69.80.215.224/30 [[User:Buckaroo Mu|Buckaroo Mu]] 04:54, 5 December 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Official_talk:What_are_Second_Life%27s_subnets%3F&amp;diff=680523</id>
		<title>Linden Lab Official talk:What are Second Life&#039;s subnets?</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Official_talk:What_are_Second_Life%27s_subnets%3F&amp;diff=680523"/>
		<updated>2009-12-05T04:54:39Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: NEEDS REVISION! Badly!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page needs to be updated. Torley&#039;s last edit removed required blocks. Anyone who follows the instructions on the blog post to open only the listed subnets will still be unable to connect. [[User:Buckaroo Mu|Buckaroo Mu]] 04:54, 5 December 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=73121</id>
		<title>User:Buckaroo Mu</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=73121"/>
		<updated>2008-06-19T20:01:10Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Buckaroo Mu: First Life */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buckaroo Mu: Second Life ==&lt;br /&gt;
DJ, Dragon, Scripter - and a little of everything else. I sell scripted gadgets in my store in Wildmutt, DJ here &amp;amp; there, and help to lead the Dragons of Pern RP group headquartered on the Gianfar Estate. I&#039;m married to the lovely Wendy Foxchase, talented clothing, shoe, hat, and jewelry designer, and an all-around wonderful person to be around.&lt;br /&gt;
&lt;br /&gt;
== Buckaroo Mu: First Life ==&lt;br /&gt;
OK, it&#039;s not my real name, but it&#039;s close enough. I am a life-long Geek of All Trades, currently serving as the Systems &amp;amp; Network Administrator for a large non-profit in the Mid-West USA (UTC-6/5). In the past, I have been: all ranks from Captain to ballast of a sailing vessel; Kinko&#039;s copy-boy; Arc-welder repairman, US Army Radio Repairman (ret); VAX, Novell, and Windows System Admin; Novell Server, Windows, PHP, and AVR Systems Programmer; and telephone Tech Support, to name a few.&lt;br /&gt;
&lt;br /&gt;
I am an advocate of F/OSS, and use FreeBSD whenever possible rather than Windows (Although I do use XP on all of my desktops). I have converted my employer from Novell to FreeBSD/Samba/LDAP (much to their delight), and incorporate as much F/OSS as I can. I cannot say I&#039;m good with C++ - I&#039;m a Guru-level programmer with plain C, never learned much about the ++ part - but I do hope to be useful in the development of Second Life as an Open-Source System.&lt;br /&gt;
&lt;br /&gt;
I&#039;m also married to the Real Life woman behind Wendy Foxchase, and have been for the last glorious 17+ years.&lt;br /&gt;
&lt;br /&gt;
 {{Jira Reporter}}&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=73120</id>
		<title>User:Buckaroo Mu</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=73120"/>
		<updated>2008-06-19T20:00:10Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Buckaroo Mu: Second Life */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buckaroo Mu: Second Life ==&lt;br /&gt;
DJ, Dragon, Scripter - and a little of everything else. I sell scripted gadgets in my store in Wildmutt, DJ here &amp;amp; there, and help to lead the Dragons of Pern RP group headquartered on the Gianfar Estate. I&#039;m married to the lovely Wendy Foxchase, talented clothing, shoe, hat, and jewelry designer, and an all-around wonderful person to be around.&lt;br /&gt;
&lt;br /&gt;
== Buckaroo Mu: First Life ==&lt;br /&gt;
OK, it&#039;s not my real name, but it&#039;s close enough. I am a life-long Geek of All Trades, currently serving as the Systems &amp;amp; Network Administrator for a large non-profit in the Mid-West USA (UTC-6/5). In the past, I have been: all ranks from Captain to ballast of a sailing vessel; Kinko&#039;s copy-boy; Arc-welder repairman, US Army Radio Repairman (ret); VAX, Novell, and Windows System Admin; Novell Server, Windows, PHP, and AVR Systems Programmer; and telephone Tech Support, to name a few.&lt;br /&gt;
&lt;br /&gt;
I am an advocate of F/OSS, and use FreeBSD whenever possible rather than Windows (Although I do use XP on all of my desktops). I have converted my employer from Novell to FreeBSD/Samba/LDAP (much to their delight), and incorporate as much F/OSS as I can. I cannot say I&#039;m good with C++ - I&#039;m a Guru-level programmer with plain C, never learned much about the ++ part - but I do hope to be useful in the development of Second Life as an Open-Source System.&lt;br /&gt;
&lt;br /&gt;
I&#039;m also married to the Real Life woman behind Wendy Foxchase, and have been for the last glorious 16 years.&lt;br /&gt;
&lt;br /&gt;
 {{Jira Reporter}}&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Source_Meeting/Agenda&amp;diff=73099</id>
		<title>Open Source Meeting/Agenda</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Source_Meeting/Agenda&amp;diff=73099"/>
		<updated>2008-06-19T19:10:57Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Added discussion of the uncompressed texture cache and related issues.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt; [[Open Source Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open source meeting - Thursday, 2pm PT.&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Hippotropolis/248/15/25/ Teleport] to the Linden Open Source Project headquarters.&lt;br /&gt;
&lt;br /&gt;
Please try to add your items as early as possible in the week to give Rob a chance to round up any Lindens that may be appropriate to the discussion.  Please also bring items up on [[SLDev]] before or concurrently with adding them as agenda items here.&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
* Next item? Your name? (sign with &amp;quot;&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;quot; which will be converted to your name + timestamp)&lt;br /&gt;
&lt;br /&gt;
Default agenda (barring agenda above):&lt;br /&gt;
* Update from the Lindens (standing item) - [[User:Rob Linden|Rob Linden]]&lt;br /&gt;
* Threaded Local File System (LLFSThread class) - what are LLs plans for it? [[User:Carjay McGinnis|Carjay McGinnis]] 10:51, 17 June 2008 (PDT)&lt;br /&gt;
* Triage of issues listed here: http://jira.secondlife.com/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=11240&lt;br /&gt;
* Meta Agenda:&lt;br /&gt;
{| border=2 cellpadding=5&lt;br /&gt;
|-&lt;br /&gt;
| How do you feel about relative C++ noobs (*waves!*) jumping headfirst into the client source to explore it? Do you prefer that only people with years of prior C++ experience try to be involved with the open source project? (&amp;quot;Come back when you&#039;ve actually used a multimap in a program!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
I am wondering if showing up at the open source meeting and asking what may seem as &amp;quot;stupid beginner&#039;s questions&amp;quot; would be perceived as annoying and a waste of your professional time. (For example, why is ll_apr_file used for open/read/write/etc rather than just apr_file? Is llapr.cpp a shim library, to make transitioning from the LLLFS easier? And IS the LLLFS being replaced by the APR? I can&#039;t find any official coding policy or notes pointing in that direction. Is it okay to discuss this in SL-Dev or not?)&lt;br /&gt;
&lt;br /&gt;
My interest and involvement in the source is mostly because I want the VFS expunged, and the overall caching performance improved... but since this coding task is apparently not on anyone else&#039;s agenda, I guess there&#039;s room for a QBASIC/LSL2/Apple II 6502-assembly programmer to explore the issue. (Note, the only thing I&#039;ve ever threaded is a needle.) [[User:Scalar Tardis|Scalar Tardis]] 10:23, 19 June 2008 (PDT)&lt;br /&gt;
|}&lt;br /&gt;
* Discuss the changes to llTextureFetch and llTextureCache recently discussed on SLDEV, any issues that may arise from moving the decode and network fetch operations to llTextureCache (or possibly more or less combining the two classes into one), and other &amp;quot;uncompressed cache&amp;quot; issues. [[User:Buckaroo Mu|Buckaroo Mu]] 12:10, 19 June 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=72078</id>
		<title>SLDEV Discussion - Texture Cache Plan of Attack</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=72078"/>
		<updated>2008-06-14T23:13:21Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: OK, done. Discuss amonst yourselves&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav|parent=Image System}}&lt;br /&gt;
&lt;br /&gt;
Discussion is underway in the SLDev Mailing List regarding options to overhaul the texture cache. Mostly the plan involves storing decompressed textures, rather than the JPG2000 compressed versions, which allows the Texture Fetch operations to skip the decode, which is currently the major bottleneck in the cache system. This article is for summarizing, planning, and status of this project. Please discuss via the SLDev mailing list.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
Currently, the client will download uncached JPG2000 textures from the region/asset servers, progressively decode and apply them to the faces rendered in whatever quality level is currently available. As more data is downloaded, it is further decoded, and the quality rendered goes up. Textures are cached in a three-part system sharing space with the [[VFS]], described in the [[Texture Cache]] article. &lt;br /&gt;
&lt;br /&gt;
=== New Plan ===&lt;br /&gt;
The discussion on the SLDev list has been very helpful in nailing down ways to improve the cache. The biggest change will be caching of textures in an un-compressed format - TGA or Raw - while preserving the existing obfuscation technique to prevent direct ripping of the cached images. In addition, the cache settings will be split into two separate caches - the VFS for objects that use it currently, and a completely new layer of cache exclusively for textures.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
=== Rework Cache to store multiple formats ===&lt;br /&gt;
Currently, the texture cache can read TGA and JPG2000 files from the cache. However, it has no way to &#039;&#039;write&#039;&#039; TGA to the cache. The interface between llTextureFetch and llTextureCache will need to be refactored to support storing and retrieving in a format-agnostic way, allowing JPG2000, TGA, and Raw to to exist simultaneously in the cache, with the possibility of adding others down the line if needed relatively easily.&lt;br /&gt;
&lt;br /&gt;
In short, the calls from llTextureFetch to llTextureCache, and the return data, should include a Format Identifier, a block of data for the image itself (in whatever format is indicated by the Format Identifier), and any other details that may be required such as data size, image dimensions, and (if necessary) color depth. llTexureCache should be able to store and retrieve this data in a format-agnostic way, ideally returning decoded data to llTextureFetch as a llRawImage object. Metadata would be stored in the cache index, discussed below, with the bulk of the data stored in the manner it is done now - subfolders with filenames equivalent to the UUID of the texture.&lt;br /&gt;
&lt;br /&gt;
=== Rework Cache Index for Greater Storage ===&lt;br /&gt;
Currently, the Texture Cache shares space with the VFS, and is limited to 800MB - 80% of the maximum total &amp;quot;cache size&amp;quot;, the other 20% of which is reserved for the VFS. With the cache capable of storing uncompressed files, it could grow much faster; and with the cost of disk space these days, limiting the cache to 1GB is ludicrously inadequate. A separate slider in the &amp;quot;Network&amp;quot; preferences tab should allow the individual specification of max VFS (&amp;quot;Object Cache&amp;quot;) and max Texture caches. In discussion, many commenters stated that they would allocate as much as 100GB to a texture cache. Aside from the speed benefit garnered from a larger cache, it also will dramatically reduce the amount of textures that would need to be re-downloaded due to a lower cache discard rate.&lt;br /&gt;
&lt;br /&gt;
The Cache Index would store Metadata about the texture - the Format ID, the dimensions, file size, and color depth (if necessary), and, like the current cache index, would also have the first (arbitrary number of) bytes of the actual data - primarily for obfuscation purposes, to prevent the casual ripping of textures from the cache. Multiple copies of the same texture could be stored in the cache, in different formats - for example, stored as JPG2000 while progressively downloading, then stored in uncompressed format once complete. The Texture Fetcher would simply request a texture, and the cache would respond with the cached version available with the lowest CPU-overhead - Raw first, then TGA, then JPG2000, with the network fetch as the fail-through option. Ideally, once a texture has been downloaded completely and decoded, it would be stored as a Raw image, and the JPG2000 version would be marked as &amp;quot;expired&amp;quot; or otherwise scheduled for purging from the cache. The bulk of the texture data, stored in the UUID-named file in the subfolders of the cache, will need to have an extension added to it that signifies the Format ID to allow co-existence of multiple encodings of the same texture.&lt;br /&gt;
&lt;br /&gt;
Some discussion was brought up about XORing the raw texture data with a hard-coded key, or perhaps one based on the Hardware Hash of each individual machine - in effect a fast but low-quality encryption. This has been largely disregarded in the interest of attaining the best speed - although it remains an option if the community demands more obfuscation than currently exists in the texture cache.&lt;br /&gt;
&lt;br /&gt;
=== Cache Discard Optimization ===&lt;br /&gt;
There is discussion on the [[Texture Cache]] page regarding further optimization or replacement of the Cache Discard algorithms, which should probably be moved here - however, this portion is not a part of the current ongoing discussion in SLDev. I will leave it to someone else to take the initiative on this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Design Discussions]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=72077</id>
		<title>SLDEV Discussion - Texture Cache Plan of Attack</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=72077"/>
		<updated>2008-06-14T23:05:35Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Save early, save often. Still in progress.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav|parent=Image System}}&lt;br /&gt;
&#039;&#039;&#039; DO NOT EDIT - CREATION IN PROGRESS &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Discussion is underway in the SLDev Mailing List regarding options to overhaul the texture cache. Mostly the plan involves storing decompressed textures, rather than the JPG2000 compressed versions, which allows the Texture Fetch operations to skip the decode, which is currently the major bottleneck in the cache system. This article is for summarizing, planning, and status of this project. Please discuss via the SLDev mailing list.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
Currently, the client will download uncached JPG2000 textures from the region/asset servers, progressively decode and apply them to the faces rendered in whatever quality level is currently available. As more data is downloaded, it is further decoded, and the quality rendered goes up. Textures are cached in a three-part system sharing space with the [[VFS]], described in the [[Texture Cache]] article. &lt;br /&gt;
&lt;br /&gt;
=== New Plan ===&lt;br /&gt;
The discussion on the SLDev list has been very helpful in nailing down ways to improve the cache. The biggest change will be caching of textures in an un-compressed format - TGA or Raw - while preserving the existing obfuscation technique to prevent direct ripping of the cached images. In addition, the cache settings will be split into two separate caches - the VFS for objects that use it currently, and a completely new layer of cache exclusively for textures.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
=== Rework Cache to store multiple formats ===&lt;br /&gt;
Currently, the texture cache can read TGA and JPG2000 files from the cache. However, it has no way to &#039;&#039;write&#039;&#039; TGA to the cache. The interface between llTextureFetch and llTextureCache will need to be refactored to support storing and retrieving in a format-agnostic way, allowing JPG2000, TGA, and Raw to to exist simultaneously in the cache, with the possibility of adding others down the line if needed relatively easily.&lt;br /&gt;
&lt;br /&gt;
In short, the calls from llTextureFetch to llTextureCache, and the return data, should include a Format Identifier, a block of data for the image itself (in whatever format is indicated by the Format Identifier), and any other details that may be required such as data size, image dimensions, and (if necessary) color depth. llTexureCache should be able to store and retrieve this data in a format-agnostic way, ideally returning decoded data to llTextureFetch as a llRawImage object. Metadata would be stored in the cache index, discussed below, with the bulk of the data stored in the manner it is done now - subfolders with filenames equivalent to the UUID of the texture.&lt;br /&gt;
&lt;br /&gt;
=== Rework Cache Index for Greater Storage ===&lt;br /&gt;
Currently, the Texture Cache is part of the VFS, and is limited to 800MB - 80% of the maximum total &amp;quot;cache size&amp;quot;, the other 20% of which is reserved for the VFS. With the cache capable of storing uncompressed files, it could grow much faster; and with the cost of disk space these days, limiting the cache to 1GB is ludicrously inadequate. A separate slider in the &amp;quot;Network&amp;quot; preferences tab should allow the individual specification of max VFS and max Texture caches. In discussion, many commenters stated that they would allocate as much as 100GB to a texture cache. Aside from the speed benefit garnered from a larger cache, it also will dramatically reduce the amount of textures that would need to be re-downloaded after being purged from the cache.&lt;br /&gt;
&lt;br /&gt;
The Cache Index would store Metadata about the texture - the Format ID, the dimensions, file size, and color depth (if necessary), and, like the current cache index, would also have the first (arbitrary number of) bytes of the actual data - primarily for obfuscation purposes, to prevent the casual ripping of textures from the cache. Multiple copies of the same texture could be stored in the cache, in different formats - for example, stored as JPG2000 while progressively downloading, then stored in uncompressed format once complete. The Texture Fetcher would simply request a texture, and the cache would respond with the version available with the lowest CPU-overhead - Raw first, then TGA, then JPG2000, with the network fetch as the fail-through option. Ideally, once a texture has been downloaded completely and decoded, it would be stored as a Raw image, and the JPG2000 version would be marked as &amp;quot;expired&amp;quot; or otherwise scheduled for purging from the cache. The bulk of the texture data, stored in the UUID-named file in the subfolders of the cache, may need to have an extension added to it that signifies the Format ID to allow co-existence of multiple encodings of the same texture.&lt;br /&gt;
&lt;br /&gt;
Some discussion was brought up about XORing the raw texture data with a hard-coded key, or perhaps one based on the Hardware Hash of each individual machine - in effect a fast but low-quality encryption. This has been largely disregarded in the interest of attaining the best speed - although it remains an option if the community demands more obfuscation than currently exists in the texture cache.&lt;br /&gt;
&lt;br /&gt;
=== Cache Discard Optimization ===&lt;br /&gt;
There is discussion on the [[Texture Cache]] page regarding further optimization or replacement of the Cache Discard algorithms, which should probably be moved here - however, this portion is not a part of the current ongoing discussion in SLDev. I will leave it to someone else to take the initiative on this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Design Discussions]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=72076</id>
		<title>SLDEV Discussion - Texture Cache Plan of Attack</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=72076"/>
		<updated>2008-06-14T22:38:59Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Base article - creating in progress, saving with a &amp;quot;Don&amp;#039;t work on me yet&amp;quot; flag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav|parent=Image System}}&lt;br /&gt;
&#039;&#039;&#039; DO NOT EDIT - CREATION IN PROGRESS &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Discussion is underway in the SLDev Mailing List regarding options to overhaul the texture cache. Mostly the plan involves storing decompressed textures, rather than the JPG2000 compressed versions, which allows the Texture Fetch operations to skip the decode, which is currently the major bottleneck in the cache system. This article is for summarizing, planning, and status of this project. Please discuss via the SLDev mailing list.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
Currently, the client will download uncached JPG2000 textures from the region/asset servers, progressively decode and apply them to the faces rendered in whatever quality level is currently available. As more data is downloaded, it is further decoded, and the quality rendered goes up. Textures are cached in a three-part system sharing space with the [[VFS]], described in the [[Texture Cache]] article. &lt;br /&gt;
&lt;br /&gt;
=== New Plan ===&lt;br /&gt;
The discussion on the SLDev list has been very helpful in nailing down ways to improve the cache. The biggest change will be caching of textures in an un-compressed format - TGA or Raw - while preserving the existing obfuscation technique to prevent direct ripping of the cached images. In addition, the cache settings will be split into two separate caches - the VFS for objects that use it currently, and a completely new layer of cache exclusively for textures.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
=== Rework Cache to store multiple formats ===&lt;br /&gt;
Currently, the texture cache can read TGA and JPG2000 files from the cache. However, it has no way to &#039;&#039;write&#039;&#039; TGA to the cache. The interface between llTextureFetch and llTextureCache will need to be refactored to support storing and retrieving in a format-agnostic way, allowing JPG2000, TGA, and Raw to to exist simultaneously in the cache, with the possibility of adding others down the line if needed relatively easily.&lt;br /&gt;
&lt;br /&gt;
In short, the calls from llTextureFetch to llTextureCache, and the return data, should include a Format Identifier, a block of data for the image itself (in whatever format is indicated by the Format Identifier), and any other details that may be required such as data size, image dimensions, and color depth. llTexureCache should be able to store this data in a format-agnostic way. Metadata would be stored in the cache index, discussed below.&lt;br /&gt;
&lt;br /&gt;
=== Rework Cache Index for Greater Storage ===&lt;br /&gt;
Currently, the Texture Cache is part of the VFS, and is limited to 800MB - 80% of the total &amp;quot;cache size&amp;quot;, the other 20% of which is reserved for the VFS. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Design Discussions]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Texture_Cache&amp;diff=72075</id>
		<title>Texture Cache</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Texture_Cache&amp;diff=72075"/>
		<updated>2008-06-14T22:11:28Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Added link to current plan as discussed on SLDev, separate page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav|parent=Image System}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LLTextureCache&#039;&#039;&#039; is a worker thread interface class used for reading and writing texture data to the local disk cache (part of the [[Image System]])&lt;br /&gt;
&lt;br /&gt;
== Current design ==&lt;br /&gt;
* There are two different disk caches used by the Second Life Viewer:&lt;br /&gt;
** The static texture cache &lt;br /&gt;
*** Located in the Second Life/skins/textures directory&lt;br /&gt;
*** This is a read-only cache which contains common textures shipped with the Viewer&lt;br /&gt;
** The general texture cache &lt;br /&gt;
*** Stored in a &#039;textures&#039; subdirectory in the cache directory, specified in the preferences&lt;br /&gt;
*** This is a two tiered read/write cache&lt;br /&gt;
**** A list of all files in the cache is stored in texture.entries&lt;br /&gt;
**** The header for each image (enough to identify the size and load the first mip level) is stored in texture.cache&lt;br /&gt;
**** The body (minus the header) for a limited (by the cache size) number of entries is stored in textures/[0-9a-f]/textureid&lt;br /&gt;
* Requests to read or write to the cache are processed in the priority given&lt;br /&gt;
* The results are given through a [[Responder]] class when they are ready&lt;br /&gt;
&lt;br /&gt;
== Disk storage format ==&lt;br /&gt;
* Currently all textures in Second Life are stored in the JPEG2000 compressed format&lt;br /&gt;
=== The header consists of two files ===&lt;br /&gt;
* cache/texture.entries&lt;br /&gt;
&#039;&#039;8 byte header:&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	struct EntriesInfo&lt;br /&gt;
	{&lt;br /&gt;
		F32 mVersion;&lt;br /&gt;
		U32 mEntries;&lt;br /&gt;
	};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;Array of 24 byte entries&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	struct EntriesInfo&lt;br /&gt;
	{&lt;br /&gt;
		LLUUID mID; // 128 bits&lt;br /&gt;
		S32 mSize; // total size of image if known (NOT size cached)&lt;br /&gt;
		U32 mTime; // seconds since 1/1/1970&lt;br /&gt;
	};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* cache/texture.cache&lt;br /&gt;
&#039;&#039;Array of 600 byte entries (first 600 bytes of .j2c file)&#039;&#039;&lt;br /&gt;
=== The main &amp;quot;body&amp;quot; cache consists of an entries file and 16 subdirectories ===&lt;br /&gt;
* cache/textures/texture.entries&lt;br /&gt;
** This file consists of a an array of EntriesInfo, except mSize is the body size, not the total image size&lt;br /&gt;
** When a texture is written to the cache, a new EntriesInfo struct is appended to the file &#039;&#039;regardless of whether or not an entry already exists&#039;&#039;.&lt;br /&gt;
*** This prevents the disk cache from having to explicitly keep track of which entries have bodies stored in the main cache&lt;br /&gt;
** On startup and when the disk cache becomes full, textures.cache is parsed&lt;br /&gt;
*** Only the latest entry for each texture is retained.&lt;br /&gt;
*** Old entries are purged until 10% of the disk cache is available&lt;br /&gt;
&#039;&#039;Array of 24 byte entries&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	struct EntriesInfo&lt;br /&gt;
	{&lt;br /&gt;
		LLUUID mID; // 128 bits&lt;br /&gt;
		S32 mSize; // size of texture body stored on disk&lt;br /&gt;
		U32 mTime; // unused TODO: create separate structure without this entry&lt;br /&gt;
	};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* cache/textures/[0-f]/uuid&lt;br /&gt;
&#039;&#039;Body of the texture, i.e. all of the texture minus the header&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Analysis ==&lt;br /&gt;
&lt;br /&gt;
(so far:)&lt;br /&gt;
&lt;br /&gt;
In the discussion of the texture cache has, it is apparent that there are two separate issues involved. Beyond the view of the texture cache, there is the method to which to determine how long a texture is stored in the cache and there is medium format of the textures being stored. At this time, the format of the medium is still under discussion. However, there is significant data to move to a new system for the method to determine the storage time.&lt;br /&gt;
&lt;br /&gt;
* [http://www.vldb.org/dblp/db/conf/vldb/vldb94-439.html 2Q cache system]. Benefits include that the 2Q method has already been studied by other groups and that it is possible to fit this method into the current design. Only drawback noticed so far is that it appears to carry a specific implementation, but this drawback will need to be confirmed. The 2Q&#039;s intended implementation may not easily allow for extra values in the cache system to determine factors of pixel coverage. The drawback is of low impact to the the current design since the significant pixel coverage data is stored in memory. However, in order to further implement the ideas being suggested in the discussion about the medium format and pixel coverage, we could adapt the 2Q system.&lt;br /&gt;
&lt;br /&gt;
* [http://www.almaden.ibm.com/StorageSystems/projects/arc/ ARC] Algorithm designed by IBM Research as an improvement over LRU.  Patent encumbered, however IBM will grant license for open source use only.&lt;br /&gt;
&lt;br /&gt;
== Discussion about improvements ==&lt;br /&gt;
&lt;br /&gt;
Main Article: [[SLDEV Discussion - Texture Cache Plan of Attack]]&lt;br /&gt;
&lt;br /&gt;
The texture cache is a hot topic for optimization. Current ideas/subjects discussed from the mailing list include:&lt;br /&gt;
*Multi-level cache for uncompressed and compressed textures&lt;br /&gt;
&lt;br /&gt;
*Example Cache Levels:&lt;br /&gt;
** Memory&lt;br /&gt;
** Uncompressed Disk&lt;br /&gt;
** Compressed Disk&lt;br /&gt;
** Low Rez Compressed&lt;br /&gt;
** Network&lt;br /&gt;
**A flexible policy architecture would be able to discard, cache, retrieve, and migrate texture data from one level to the next as is appropiate with an external XML file to facilitate fine tuning of policy parameters.&lt;br /&gt;
&lt;br /&gt;
*Fixed block size cache to store images of any size that is a power of 2&lt;br /&gt;
*Reformatted textures, being changed from jpeg2000 to TGA (with or without RLE), BMP, GIF, or downsampled&lt;br /&gt;
*Storage:&lt;br /&gt;
**Filesystem&lt;br /&gt;
**Database&lt;br /&gt;
**Network&lt;br /&gt;
**Memory mapped&lt;br /&gt;
*Quality of cached images&lt;br /&gt;
*System Requirements&lt;br /&gt;
**Minimal&lt;br /&gt;
**Optimal&lt;br /&gt;
**Surveys&lt;br /&gt;
**Core(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please use the [[Talk:Texture cache|Talk page]] to continue discussion.&lt;br /&gt;
&lt;br /&gt;
Related articles: [[Image System]], [[VFS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Design Discussions]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=22561</id>
		<title>User:Buckaroo Mu</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=22561"/>
		<updated>2007-06-05T05:11:22Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Jira Reporter update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buckaroo Mu: Second Life ==&lt;br /&gt;
I am a successful DJ, spending my nights at ~Mons Venus~, the hottest Rock &amp;amp; Blues Club around. I also enjoy building and scripting, and am looking to get into more complicated designs as time allows. I am Chief Moderator of the History &amp;amp; Moral Philosophy discussion group, which has open enrollment and meets on a regular basis to discuss the gray areas of existence. I&#039;m married to the lovely Wendy Foxchase, talented clothing, shoe, hat, and jewelry designer, and an all-around wonderful person to be around.&lt;br /&gt;
&lt;br /&gt;
== Buckaroo Mu: First Life ==&lt;br /&gt;
OK, it&#039;s not my real name, but it&#039;s close enough. I am a life-long Geek of All Trades, currently serving as the Systems &amp;amp; Network Administrator for a large non-profit in the Mid-West USA (UTC-6/5). In the past, I have been: all ranks from Captain to ballast of a sailing vessel; Kinko&#039;s copy-boy; Arc-welder repairman, US Army Radio Repairman (ret); VAX, Novell, and Windows System Admin; Novell Server, Windows, PHP, and AVR Systems Programmer; and telephone Tech Support, to name a few.&lt;br /&gt;
&lt;br /&gt;
I am an advocate of F/OSS, and use FreeBSD whenever possible rather than Windows (Although I do use XP on all of my desktops). I have converted my employer from Novell to FreeBSD/Samba/LDAP (much to their delight), and incorporate as much F/OSS as I can. I cannot say I&#039;m good with C++ - I&#039;m a Guru-level programmer with plain C, never learned much about the ++ part - but I do hope to be useful in the development of Second Life as an Open-Source System.&lt;br /&gt;
&lt;br /&gt;
I&#039;m also married to the Real Life woman behind Wendy Foxchase, and have been for the last glorious 16 years.&lt;br /&gt;
&lt;br /&gt;
 {{Jira Reporter}}&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Web_Textures&amp;diff=7190</id>
		<title>Web Textures</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Web_Textures&amp;diff=7190"/>
		<updated>2007-01-27T02:31:54Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Do nothing, just implement it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Summary=&lt;br /&gt;
This page is about dynamic web textures, a feature to allow an LSL script to assign an image URL to a face and cause it to dynamically update from the script.   This is not HTML-on-a-prim, though it shares some of the same complications regarding anonymity.&lt;br /&gt;
&lt;br /&gt;
This raises a potential issue regarding [[Expected Privacy]].  The only practical way to accomplish dynamic web textures is to let the client download the image directly.  This will expose user&#039;s IP addresses. This issue is also there for HTML on a prim, though the limitations several Lindens have mentioned to reduce the processing overhead of HTML on a prim - similar to the current limitations for media textures - make it less likely to be easily abused. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;We are looking toward making it possible for prims to reference external websites for texture information, which is where PNG textures would start to come into play. -Phoenix Linden&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Benefits of this feature=&lt;br /&gt;
&lt;br /&gt;
#Negates the need for scripts like XyText that are very laggy when dynamic displays are large.&lt;br /&gt;
#Allows for things like streaming news service HUDs.&lt;br /&gt;
#Interactive games can present large amounts of off-world data.&lt;br /&gt;
#Corporations that already have many dynamic web assets can reuse them in-world.&lt;br /&gt;
#Live porn.&lt;br /&gt;
#Web Cams.&lt;br /&gt;
&lt;br /&gt;
=Potential LSL implementation=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
llSetTextureURL(integer face, string url);&lt;br /&gt;
llRefreshTextureURL(integer face);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example with text generation script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
llSetTextureURL(1, llUrlEncode(&amp;quot;http://example.com/getpng.php?text= &amp;quot; + text + &amp;quot;&amp;amp;font=futura&amp;amp;rez=512x512&amp;quot;);&lt;br /&gt;
llRefreshTextureURL(integer face);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Suggested Privacy Protections=&lt;br /&gt;
Because this feature would expose the IP address of an agent in a way that could identify the agent, especially on a HUD, several suggestion were made to enhance privacy protections.  They are listed in order of least effort to implement to most effort.&lt;br /&gt;
&lt;br /&gt;
==Do nothing, just implement it==&lt;br /&gt;
*Pro: Feature itself is somewhat easy to implement, if images are powers of 2&lt;br /&gt;
*Pro: Sets precedent for other features that may expose IP association information.&lt;br /&gt;
*Con: Sets precedent for other features that may expose IP association information.&lt;br /&gt;
**I hate to be the bearer of bad news, but the IP is already exposed if the avatar is listening to streamed music. I check my stream host, and see a list of IP addresses of all who are listening, how long they&#039;ve been listening. Not that I &#039;&#039;do&#039;&#039; anything with this info, but it&#039;s there for the gathering. [[User:Buckaroo Mu|Buckaroo Mu]] 18:31, 26 January 2007 (PST)&lt;br /&gt;
*Con: Unannounced loss of privacy.&lt;br /&gt;
**Mitigation: Announce it first.&lt;br /&gt;
*Con: Could become a public relations nightmare if users react badly.&lt;br /&gt;
&lt;br /&gt;
==Global on/off, with one time dialog opt-in==&lt;br /&gt;
The client could prompt the first time you encounter a web texture, and ask you if you want to enable it, warning you that it will expose your IP address to third parties.  This would be similar to the way parcel streaming media prompts the first time you encounter a parcel with it set.&lt;br /&gt;
*Con: The user is asked to make technical decisions they might not understand.&lt;br /&gt;
*Con: The user must sacrifice all dynamic web content to get privacy for their IP.&lt;br /&gt;
*Pro: No annoyance for those who don&#039;t care about exposing IP associations.&lt;br /&gt;
&lt;br /&gt;
==Proxy Options==&lt;br /&gt;
The client would provide a place to enter a HTTP proxy address for web textures.  This would allow the user to enter an anonymizing proxy service if they want to.&lt;br /&gt;
*Pro: Easy to implement&lt;br /&gt;
*Pro: Proxy support will be needed anyway for the general move to HTTP texture transfers for regular asset textures.&lt;br /&gt;
*Con: Configuring proxy settings for anonymizing proxies can be extremely difficult even for professionals.&lt;br /&gt;
** Mitigation: this work can be hidden by the browser or browser extensions, so SL or a plugin for SL could do the work.&lt;br /&gt;
*** But there isn&#039;t such a plugin mechanism yet.&lt;br /&gt;
*Con: Anonymizing proxies are slow and unreliable.&lt;br /&gt;
*Con: Proxy support is not even implemented yet for the help browser&lt;br /&gt;
*Con: Default settings (no proxy) expose users to privacy violations.&lt;br /&gt;
** Which means this is likely to be a PR disaster.&lt;br /&gt;
&lt;br /&gt;
==Attachments==&lt;br /&gt;
Using web textures in an attachment (particularly a HUD) provides an attacker the greatest oppportunity to ensure that they have a correct match to an IP address, so while this is not that useful for bulk data gathering it&#039;s particularly problematic for targeted attacks. It would probably be best not to make web textures on attachments an exception to any wider restrictions. Web textures on HUDs, though, are particularly useful, so there should be some mechanism to allow a user to grant their own attachments the right to load web textures even if they are otherwise disabled.&lt;br /&gt;
&lt;br /&gt;
*Pro: Allows cautious users to use web-enabled HUDs.&lt;br /&gt;
*Pro: Promotes effective low-lag tools.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dialog Boxes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The client could pop up some sort of dialog when attaching a HUD with web textures, asking if you want to allow the HUD to use them.&lt;br /&gt;
&lt;br /&gt;
*Pro: Easy on the scripter.&lt;br /&gt;
*Pro: Implemented entirely in the client.&lt;br /&gt;
*Con: The user is asked to make technical decisions they might not understand.&lt;br /&gt;
*Con: It&#039;s a unique mechanism.&lt;br /&gt;
*Con: Dialog boxes are annoying.&lt;br /&gt;
*Pro: Establishes precedent for other useful client-side security and privacy tools&lt;br /&gt;
**Or is that a con? :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Permissions system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alternatively, this could be done through the normal LSL permission system with a permission request, and something like PERMISSION_TEXTURE_URL.&lt;br /&gt;
&lt;br /&gt;
*Pro: Already well-understood interface.&lt;br /&gt;
*Con: Dialog boxes are annoying.&lt;br /&gt;
*Con: The user is asked to make technical decisions they might not understand.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitelists&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This could simply be handled the same way as third-party textures in the proposal below. The same pros and cons apply.&lt;br /&gt;
&lt;br /&gt;
==White/Black List==&lt;br /&gt;
Similar to Firefox/IE popup blocking, the client could manage white/black lists.  &lt;br /&gt;
*Pro: Flexible and complete control&lt;br /&gt;
*Pro: users not concerned about privacy could select &amp;quot;Accept everything&amp;quot;&lt;br /&gt;
*Con: If poorly implementd, this would cause a lot of user input: (for example, thousands of prompts per second for someone flying over the mainland).&lt;br /&gt;
*Con: The user is asked to make technical decisions they might not understand (the user might be tricked, they might not know who to trust).&lt;br /&gt;
*Con: Very complex to implement, UI elements hard to design effectively.&lt;br /&gt;
**Mitigation: Using existing controls (texture cues, pie menu) would simplify the implementation and make the interface more familiar.&lt;br /&gt;
*Con: Reinstalling could lose settings.&lt;br /&gt;
**Mitigation: Selecting a &amp;quot;safe default&amp;quot; would protect naive users. If it&#039;s easy to update the whitelist or disable the protections again this shouldn&#039;t cause any major inconvenience for anyone.&lt;br /&gt;
&lt;br /&gt;
===Suggested implementation:===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Safe but convenient default behaviour.&#039;&#039;&#039;&lt;br /&gt;
*Textures on prims set to the land group are automatically loaded by default.&lt;br /&gt;
*Optionally - Textures set by scripts created by you, or owned by and readable by you are automatically loaded by default.&lt;br /&gt;
*All other textures are left unloaded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No popups.&#039;&#039;&#039;&lt;br /&gt;
*Unloaded HTML textures have a distinct appearance.&lt;br /&gt;
*Optionally - Left-clicking on the object will load the unloaded texture(s).&lt;br /&gt;
*Right-clicking on an unloaded HTML texture will bring up the pie menu, and a pie menu option will allow you to load the textures on the object or whitelist it.&lt;br /&gt;
**Load the textures on this object.&lt;br /&gt;
**Always load textures on this object&lt;br /&gt;
**Always load textures from objects owned by this person&lt;br /&gt;
**Always load textures from objects in this group&lt;br /&gt;
*You can also remove these permissions if they are set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Simple preferences&#039;&#039;&#039;&lt;br /&gt;
* Privacy setting: only three levels of privacy:&lt;br /&gt;
** Low - load all HTTP textures and HTML-on-a-prim automatically.&lt;br /&gt;
** Normal - default behaviour described above.&lt;br /&gt;
** High - No HTTP textures are loaded.&lt;br /&gt;
* Button to clear textures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is required of the Sim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When an HTTP texture is sent to the client, it&#039;s bundled with some UUIDs:&lt;br /&gt;
*The owner of the object.&lt;br /&gt;
*Optionally - The creator of the script that set the texture.&lt;br /&gt;
*Optionally - A flag indicating the user has granted permission to display this texture through the permission system as suggested under &#039;&#039;&#039;Attachments&#039;&#039;&#039;, above.&lt;br /&gt;
*The group of the object.&lt;br /&gt;
&lt;br /&gt;
==Change Users Privacy Expectation==&lt;br /&gt;
Make it clear to the users that their IP address association with their avatar name is not private information and can&#039;t be protected while still providing dynamic and seamless integration with the rest of the Internet.&lt;br /&gt;
*Pro: No technical implementation necessary.&lt;br /&gt;
*Con: Not easy.&lt;br /&gt;
&lt;br /&gt;
==Trusted hosting partners==&lt;br /&gt;
Have one or more trusted hosting partners that would provide scriptable webspace on standard Linux servers.  The key difference is that the partners could not allow the IP address of clients to pass through to the scripting language.&lt;br /&gt;
*Pro: Fully fixes privacy problem, with no effort required from the end user.&lt;br /&gt;
*Con: Hard to monitor trusted partners for compliance if more than one.  &lt;br /&gt;
*Con: If only one, then developers have no choice.&lt;br /&gt;
*Con: Business risk from close external relationship with other company if only one provider.&lt;br /&gt;
*Con: Not in the spirit of SL.&lt;br /&gt;
&lt;br /&gt;
==Linden Lab Webhosting==&lt;br /&gt;
Linden Lab would could offer their own webhosting that withholds end user IP similar to above.&lt;br /&gt;
*Pro: Fully fixes the privacy problem&lt;br /&gt;
*Pro: Could also be used as a super low latency way to do HTTPRequest calls to a web server.  HTTPRequest limits could be raised for requests to these servers.&lt;br /&gt;
*Con: LL is not a web hosting company.&lt;br /&gt;
**But they sort of are... it&#039;s just a &amp;quot;3d web&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Feature Requests]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=5127</id>
		<title>User talk:SignpostMarv Martin/Archive/Implementing new features</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=5127"/>
		<updated>2007-01-13T00:16:50Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Shortcut/Link/Alias function in Inventory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Alternate Rendering Engines ==&lt;br /&gt;
* Heh, isn&#039;t SL already running on an open source 3D engine? :-) [[User:Eddy Stryker|Eddy Stryker]] 19:55, 9 January 2007&lt;br /&gt;
&lt;br /&gt;
== Better Sound Support ==&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039;. [[Community Bounties#VLC instead of QuickTime]] might help. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Removing Texture Loading ==&lt;br /&gt;
* &#039;&#039;&#039;Comment&#039;&#039;&#039; How complete do you want this to be? I made a very quick and easy patch that prevents the client from requesting any image downloads, but in my experience it still rendered a few textures like the grass terrain and avatar hair. It sped up the framerate a lot, but didn&#039;t change the GPU requirements to run SL. If the latter is your goal you&#039;d probably have better luck by removing shaders and disabling OpenGL extensions. --[[User:Eddy Stryker|Eddy Stryker]] 12:01, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. [[User:Kamilion Schnook|Kamilion Schnook]]&lt;br /&gt;
** As long as you like the color grey :-) --[[User:Eddy Stryker|Eddy Stryker]] 12:01, 9 January 2007 (PST)&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; As far as I was aware, libSL clients don&#039;t load textures, due to the lack of JPEG 2000 support :-P [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
** This is somewhat incorrect. libsecondlife has had JPEG2000 support for quite some time through our jasper shim called libjaspernet, and some projects use it. Most don&#039;t however, as there are few interactive GUI clients using libsecondlife. --[[User:Eddy Stryker|Eddy Stryker]] 12:01, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Patching it so that llLoadURL opens the F1 Help Browser ==&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. &amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* The problem with this, is that doing this via serverside script is that there&#039;s only one media URL, and you&#039;d be connecting to it with the owner&#039;s key -- What is wanted is each individual client responds with it&#039;s own key. For instance, integrating a &amp;quot;Who is listening in SL&amp;quot; to an icecast server. Each connected client supplies it&#039;s own key/name via rewriting, and a name2key/key2name DB displays each individually connected user&#039;s SL information. [[User:Kamilion Schnook|Kamilion Schnook]] 20:35 Jan 8, 2007 PST&lt;br /&gt;
**Using the PARCEL_MEDIA_COMMAND_AGENT, I&#039;m told you can give each agent their own stream to listen to. So you could do the user method, or more likely, append a query string, e.g:&amp;lt;div style=&amp;quot;font-size:140%;&amp;quot;&amp;gt;&amp;lt;code class=&amp;quot;lsl&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
**[[User:SignpostMarv Martin|SignpostMarv Martin]] 03:31, 10 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding a Avatar Local Stream Channel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer to Peer Voice over IP using above idea, improved ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More efficient local cache ==&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Seronis has some good ideas on how this should be implemented. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Definitely. One cache per region, to a configurable cap total, would be an immense load off the asset servers, and off of our poor bandwidth. [[User:Buckaroo Mu|Buckaroo Mu]] 11:30, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system ==&lt;br /&gt;
* Bleh ? [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Command Line Interface Improvements ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More sophisticated IM  features ==&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; with a big hell yes. In a large group, it&#039;s difficult to keep track of a conversation when there is a mass exodus from the session. It&#039;s annoying having the system spam the window. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Shortcut/Link/Alias function in Inventory ==&lt;br /&gt;
A pure viewer based solution can &amp;quot;only&amp;quot; be a hack at best. A possible implementation could be:&lt;br /&gt;
&lt;br /&gt;
#) Change the viewer, so that when a drag and drop operation is performed on a &#039;no-copy&#039; item, the error is trapped&lt;br /&gt;
#) for each error, register the UUID of the object in a special notecard&lt;br /&gt;
#) When presenting the contents of a folder in the viewer, preset a mixture of the real contents and the contents of the note card&lt;br /&gt;
#) Hide the special notecard&lt;br /&gt;
#) Handle folder drops onto the avatar&lt;br /&gt;
#) Handle moving of the special links&lt;br /&gt;
#) Handle deletion of the special links&lt;br /&gt;
#) Handle deletion of the original &#039;no-copy&#039; item&lt;br /&gt;
&lt;br /&gt;
This will only a partial solution, as an scrips running on the servers will still see the real contents of the folder.&lt;br /&gt;
&lt;br /&gt;
:Yea, I realized that this would really have to include a new Inventory Type ID - but do the servers do checking for type IDs? This may be something that can be done client-side with either no server-side change or only one very minor one - the assignment of a Type ID. For instance: Assume the new Inventory Type of Link, which simply stores the UUID of the original object. The simplest thing to do with them regarding copying would be to make them either no-transfer, or &amp;quot;delete on transfer&amp;quot; - they simply go away if you try to transfer them. In every other way, it behaves as a normal inventory item. [[User:Buckaroo Mu|Buckaroo Mu]] 09:15, 11 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::This definitely could be fudged by using a series of specially named notecards (for configuration data), allowing the feature to be implemented without requiring modifications to the server&lt;br /&gt;
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 10:03, 11 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
:::It &#039;&#039;could be&#039;&#039; fudged with notecards - but how many hacks do you want in SL? The assignment of an additional inventory type at the server end, as far I as can tell from the viewer source, would require probably two lines of code. We need to work with LL to see if they would support this inclusion, rather than make kludges that work but are far less elegant, and may break scripts. [[User:Buckaroo Mu|Buckaroo Mu]] 16:16, 12 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== DirectX3D Hardware Acceleration ==&lt;br /&gt;
&lt;br /&gt;
The OpenGL code is scattered all over the entire codebase. You&#039;d have to abstract out all the 3D code first, it wouldn&#039;t be an improvement it would be a complete rewrite.&lt;br /&gt;
&lt;br /&gt;
== GPGPU Support ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multiple Monitor Support ==&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; I&#039;ve been wanting this since I only had one monitor :-D [[User:SignpostMarv Martin|SignpostMarv Martin]] 11:13, 10 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Embedded scripting language for client-side plugins ==&lt;br /&gt;
One way of doing this would be to exploit the xpcom architecture of Mozilla. Exposing the viewer core as xpcom interfaces. That way the flexibility and extensibility of the Mozilla engine could be used.&lt;br /&gt;
&lt;br /&gt;
The viewer already includes the mozilla engine, using xpcom it will be possible to use Javascript, Java, C++ (Mono/.Net is under way).&lt;br /&gt;
&lt;br /&gt;
This would require that a definition of an interface layer between the core viewer and the xpcom system inside Mozilla, once that was defined and implemented, the viewer functionality could be extened using almost any language.&lt;br /&gt;
&lt;br /&gt;
[[User:Duffy Langdon|Duffy Langdon]] 12:34, 10 January 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nude patch ==&lt;br /&gt;
It&#039;s inevitable.  Any bets on how long it will be?&lt;br /&gt;
# Ages ago. Around about the time alpha textures for clothes were allowed. [[User:SignpostMarv Martin|SignpostMarv Martin]] 00:53, 11 January 2007 (PST)&lt;br /&gt;
# Do bear in mind that my mention of a possible implementation for the &#039;nude patch&#039; would be akin to hallucinating, due to the also mentioned ability to run extra-stringent checks on the server side for submitted content in PG regions. [[User:SignpostMarv Martin|SignpostMarv Martin]] 01:08, 11 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t think a nude patch could work anyway - the skin and clothing textures are combined on the wearer&#039;s client, then the combined texture is uploaded to the server as the single texture that appears on the avatar. That&#039;s why &amp;quot;rebaking&amp;quot; your textures on your client affects how other people see you. You could possibly just apply the same skin to everyone but you might just as well leave everyone unrezzed then ;) - Yumi Murakami&lt;br /&gt;
			&lt;br /&gt;
: and chase all your payig customers away ? In order for us to build our business out in SL and represent our RL business inside SL such things should never be possible therefor as this is a technical wiki and forum how to further create a better client i suggest to build as much security in the client as possible ro prevent such &#039;attacks&#039; on our avatars. [[User:River Senyurt|River Senyurt]] 11:34, 12 January 2007&lt;br /&gt;
&lt;br /&gt;
:: As I described in the Barriers to implementation section for this &amp;quot;feature&amp;quot;, security such as this would have to be built into the server. Since the Viewer is now GPL, all it would take is for someone to remove this &#039;security&#039; layer, and you&#039;re right back where you started, thus Linden Lab are highly unlikely to spend time implementing such a mechanism in the client. The method I described has benefits for both the main and teen grids anyway.&lt;br /&gt;
&lt;br /&gt;
:: Aside from the odd oversight over the years (e.g. texture uploads, megaprims), all security and validation operations are executed on the server side. It fits into LL&#039;s behaviour to implement such checks on the server, and while they could, and most likely will do something alone these lines, there is unfortunately nothing you can do to stop somebody else making their client get nervous imagine you in your underwear. Or less.&lt;br /&gt;
:: [[User:SignpostMarv Martin|SignpostMarv Martin]] 04:18, 12 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Out of sight., out of mind ==&lt;br /&gt;
&lt;br /&gt;
# The client has an option to prevent certain types of objects from being rendered&lt;br /&gt;
# Objects are addressed server-side by UUID&lt;br /&gt;
&lt;br /&gt;
The client would have be made aware of the UUID of an object, categorising it as a new type of object, and a hotkey could be used to toggle the visibility.&lt;br /&gt;
&lt;br /&gt;
Similarly, if a photographer or machinimaker is working in-world, the following options would be useful:&lt;br /&gt;
&lt;br /&gt;
* Do not render anything other than the land owner&#039;s objects&lt;br /&gt;
* Do not render objects not owned by people on your friends list&lt;br /&gt;
* Do not render avatars on your friends list&lt;br /&gt;
&lt;br /&gt;
This would enable people to deal with certain types of griefer attacks more easily, much in the same way that toggling particles on and off can be useful when particle poofers have been dropped.&lt;br /&gt;
&lt;br /&gt;
[[User:SignpostMarv Martin|SignpostMarv Martin]] 15:32, 12 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4877</id>
		<title>User:SignpostMarv Martin/Archive/Implementing new features</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4877"/>
		<updated>2007-01-11T17:15:18Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
Of course, a really valuable way to contribute is to add a new feature. Try to work with the community and with Linden Lab in planning the feature before running off and implementing new things. Though we appreciate your hard work, we can&#039;t accept every new feature, since maintaining new features comes with a cost. Try thinking of ways to use APIs to make plugins, or perhaps propose new APIs to make the viewer more extensible, before adding new things to the core viewer.&lt;br /&gt;
&lt;br /&gt;
== Ideas for new Features ==&lt;br /&gt;
&lt;br /&gt;
=== Alternate Rendering Engines ===&lt;br /&gt;
* older hardware support, etc...&lt;br /&gt;
* [http://www.google.ca/search?q=Open+Source+3D+Engine (&#039;&#039;Open Source 3D Engine&#039;&#039;)]&lt;br /&gt;
** Heh, isn&#039;t SL already running on an open source 3D engine? :-)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Better Sound Support ===&lt;br /&gt;
* Preload status&lt;br /&gt;
* playback control, etc...&lt;br /&gt;
** Quote: &#039;&#039;llKelly: eightltr: yes, that idea has been suggested in the past. (&#039;&#039;&#039;L$1 per 1sec audio&#039;&#039;&#039;)  I think we would rather improve the methods of linking to externally hosted sounds.&#039;&#039;&lt;br /&gt;
* MIDI Support - maybe with some nice clientside Wavetables&lt;br /&gt;
* MOD, XM, ect. Support&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039;. [[Community Bounties#VLC instead of QuickTime]] might help. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Removing Texture Loading ===&lt;br /&gt;
* so SL can run on less powerful Systems (say the N800/N770)&lt;br /&gt;
** How complete do you want this to be? I made a very quick and easy patch that prevents the client from requesting any image downloads, but in my experience it still rendered a few textures like the grass terrain and avatar hair. It sped up the framerate a lot, but didn&#039;t change the GPU requirements to run SL. If the latter is your goal you&#039;d probably have better luck by removing shaders and disabling OpenGL extensions. --[[User:Eddy Stryker|Eddy Stryker]] 12:01, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. [[User:Kamilion Schnook|Kamilion Schnook]]&lt;br /&gt;
** As long as you like the color grey :-) --[[User:Eddy Stryker|Eddy Stryker]] 12:01, 9 January 2007 (PST)&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; As far as I was aware, libSL clients don&#039;t load textures, due to the lack of JPEG 2000 support :-P [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
** This is somewhat incorrect. libsecondlife has had JPEG2000 support for quite some time through our jasper shim called libjaspernet, and some projects use it. Most don&#039;t however, as there are few interactive GUI clients using libsecondlife. --[[User:Eddy Stryker|Eddy Stryker]] 12:01, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Patching it so that llLoadURL opens the F1 Help Browser ===&lt;br /&gt;
* Adding keyword replacement in llLoadURL, Streaming media support, and other external links&lt;br /&gt;
** For instance, to provide an icecast stream with a agent UUID, &amp;lt;nowiki&amp;gt;http://&#039;&#039;&#039;agentkey&#039;&#039;&#039;:apassword@icecast.somehost.com:8000&amp;lt;/nowiki&amp;gt; as a parcel URL&lt;br /&gt;
* To provide an external website with a SL User Name, &amp;lt;nowiki&amp;gt; http://www.somesite.com/somephp.php?query=stuff&amp;amp;slname=&#039;&#039;agentname&#039;&#039;&amp;amp;action=buy&amp;amp;deliveryto=&#039;&#039;agentkey&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Unless the LSL2 VM starts supporting optional parameters, you risk breaking thousands of scripts&lt;br /&gt;
** &#039;&#039;&#039;Workaround:&#039;&#039;&#039; Prefix urls with ubrowser:, e.g. &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;ubrowser:http://example.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;, which will result in the dialog box indicating that the url will open inside the client.&lt;br /&gt;
** &#039;&#039;&#039;Alternative Workaround:&#039;&#039;&#039; Clientside rewriting only, for connecting to media URLs&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. &amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* The problem with this, is that doing this via serverside script is that there&#039;s only one media URL, and you&#039;d be connecting to it with the owner&#039;s key -- What is wanted is each individual client responds with it&#039;s own key. For instance, integrating a &amp;quot;Who is listening in SL&amp;quot; to an icecast server. Each connected client supplies it&#039;s own key/name via rewriting, and a name2key/key2name DB displays each individually connected user&#039;s SL information. [[User:Kamilion Schnook|Kamilion Schnook]] 20:35 Jan 8, 2007 PST&lt;br /&gt;
**Using the PARCEL_MEDIA_COMMAND_AGENT, I&#039;m told you can give each agent their own stream to listen to. So you could do the user method, or more likely, append a query string, e.g:&amp;lt;div style=&amp;quot;font-size:140%;&amp;quot;&amp;gt;&amp;lt;code class=&amp;quot;lsl&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
**[[User:SignpostMarv Martin|SignpostMarv Martin]] 03:31, 10 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Adding a Avatar Local Stream Channel ===&lt;br /&gt;
* that has a Range of X Meters around an Avatar&lt;br /&gt;
* This would be used for Local Audio Streaming &lt;br /&gt;
** Or Local VoIP chat &lt;br /&gt;
** Teamspeak...&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Peer to Peer Voice over IP using above idea, improved ===&lt;br /&gt;
** Capible clients advertise themselves via below CTCP-style protocol&lt;br /&gt;
** Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range.&lt;br /&gt;
** In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment.&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More efficient local cache ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Seronis has some good ideas on how this should be implemented. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Definitely. One cache per region, to a configurable cap total, would be an immense load off the asset servers, and off of our poor bandwidth. [[User:Buckaroo Mu|Buckaroo Mu]] 11:30, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
Establishing a circuit between two clients will probably require server side assistance, since circuits are UDP based, and most clients will be behind NAT&#039;s and firewalls. CTCP will require a clientside listening socket either implemented via [http://www.faqs.org/rfcs/rfc3489.html RFC 3489] or some sort of UPnP code using a TCP direct connection.&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* Bleh ? [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Command Line Interface Improvements ===&lt;br /&gt;
* for changing preferences sending an IM, teleporting, etc&lt;br /&gt;
** for example: &amp;quot;/set drawdist 96&amp;quot;, &amp;quot;/set sound off&amp;quot;, &amp;quot;/tp ahern&amp;quot;, or &amp;quot;/im kex godel hello&amp;quot;&lt;br /&gt;
** would need an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
** Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Implementing an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More sophisticated IM  features ===&lt;br /&gt;
* muting/filtering/autoresponse options&lt;br /&gt;
** mute or do not alert on IMs by started by a group, agent, or group-agent&lt;br /&gt;
** Autoreply to IMs received while (Away)&lt;br /&gt;
** Sidebar Userlist of Active Users who are currently participating in a Group IM Session. &lt;br /&gt;
*** When a user says something, they&#039;re added. When a user leaves the session, they&#039;re removed from the list.&lt;br /&gt;
* More control over filtering specific objects/textures/sounds/agents/etc&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; with a big hell yes. In a large group, it&#039;s difficult to keep track of a conversation when there is a mass exodus from the session. It&#039;s annoying having the system spam the window. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Shortcut/Link/Alias function in Inventory ===&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete separate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
A pure viewer based solution can &amp;quot;only&amp;quot; be a hack at best. A possible implementation could be:&lt;br /&gt;
&lt;br /&gt;
#) Change the viewer, so that when a drag and drop operation is performed on a &#039;no-copy&#039; item, the error is trapped&lt;br /&gt;
#) for each error, register the UUID of the object in a special notecard&lt;br /&gt;
#) When presenting the contents of a folder in the viewer, preset a mixture of the real contents and the contents of the note card&lt;br /&gt;
#) Hide the special notecard&lt;br /&gt;
#) Handle folder drops onto the avatar&lt;br /&gt;
#) Handle moving of the special links&lt;br /&gt;
#) Handle deletion of the special links&lt;br /&gt;
#) Handle deletion of the original &#039;no-copy&#039; item&lt;br /&gt;
&lt;br /&gt;
This will only a partial solution, as an scrips running on the servers will still see the real contents of the folder.&lt;br /&gt;
&lt;br /&gt;
:Yea, I realized that this would really have to include a new Inventory Type ID - but do the servers do checking for type IDs? This may be something that can be done client-side with either no server-side change or only one very minor one - the assignment of a Type ID. For instance: Assume the new Inventory Type of Link, which simply stores the UUID of the original object. The simplest thing to do with them regarding copying would be to make them either no-transfer, or &amp;quot;delete on transfer&amp;quot; - they simply go away if you try to transfer them. In every other way, it behaves as a normal inventory item. [[User:Buckaroo Mu|Buckaroo Mu]] 09:15, 11 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== DirectX3D Hardware Acceleration ===&lt;br /&gt;
*A DirectX3D-driven version of the viewer, allowing those with ATi or Intel hardware accelerated cards to take advantage of the processing power. The system could allow selection as a preference of OpenGL or DirectX3D, as many Windows-only games currently do. Conditional build statements would keep the option from appearing in the non-DirectX3D capable builds. [[User:Buckaroo Mu|Buckaroo Mu]] 09:28, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== GPGPU Support ===&lt;br /&gt;
*A method of offloading some of the [http://www.gpgpu.org/ graphics processing to the GPU] might help increase framerate. [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitor Support ===&lt;br /&gt;
*Support for detachable sub-windows, allowing the inventory, chat history, IM, etc. windows to be moved to a second monitor (if available). This is a very highly-desired feature (by those that have dual-monitor systems). [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
* This could potentially be done using an external program, if SL had some way of exposing this data in a crossplatform way. (Does NT support named pipes?) Some libsecondlife projects such as SLeek are already exposing this. [[User:Kamilion Schnook|Kamilion Schnook]] 20:39 Jan 9 2007&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; I&#039;ve been wanting this since I only had one monitor :-D [[User:SignpostMarv Martin|SignpostMarv Martin]] 11:13, 10 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Client Side Scripting ===&lt;br /&gt;
* Make the client more powerful and plugable &lt;br /&gt;
&lt;br /&gt;
==== Known Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
One way of doing this would be to exploit the xpcom architecture of Mozilla. Exposing the viewer core as xpcom interfaces. That way the flexibility and extensibility of the Mozilla engine could be used.&lt;br /&gt;
&lt;br /&gt;
The viewer already includes the mozilla engine, using xpcom it will be possible to use Javascript, Java, C++ (Mono/.Net is under way).&lt;br /&gt;
&lt;br /&gt;
This would require that a definition of an interface layer between the core viewer and the xpcom system inside Mozilla, once that was defined and implemented, the viewer functionality could be extened using almost any language.&lt;br /&gt;
&lt;br /&gt;
=== Nude patch ===&lt;br /&gt;
*Modify the client to not render any avatar clothes or attachments.&lt;br /&gt;
&lt;br /&gt;
==== Known Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
===== Steps to how Linden Lab could &#039;disable&#039; a &#039;nude patch&#039; =====&lt;br /&gt;
&lt;br /&gt;
# Run a check on clothing textures including alpha information&lt;br /&gt;
#* Check for alpha information around the genitalia, refuse upload if check returns positive&lt;br /&gt;
# Composite clothing textures server-side when avatars are:&lt;br /&gt;
#* In PG regions&lt;br /&gt;
#* Viewable from PG regions&lt;br /&gt;
&lt;br /&gt;
A &#039;nude patch&#039; would function by:&lt;br /&gt;
* somehow submitting full alpha textures on all clothes no matter what was worn (prevented by LL as described above)&lt;br /&gt;
* ignoring what the server says regarding skins&lt;br /&gt;
** Could use procedurally generated textures based on avatar shape, and primitar type to prevent &#039;&#039;&#039;&#039;Attack&amp;amp;nbsp;of&amp;amp;nbsp;the&amp;amp;nbsp;&#039;&#039;(nude)&#039;&#039;&amp;amp;nbsp;Clones&#039;&#039;&#039;&#039;&lt;br /&gt;
:[[User:SignpostMarv Martin|SignpostMarv Martin]] 01:02, 11 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
It&#039;s inevitable.  Any bets on how long it will be?&lt;br /&gt;
# Ages ago. Around about the time alpha textures for clothes were allowed. [[User:SignpostMarv Martin|SignpostMarv Martin]] 00:53, 11 January 2007 (PST)&lt;br /&gt;
# Do bear in mind that my mention of a possible implementation for the &#039;nude patch&#039; would be akin to hallucinating, due to the also mentioned ability to run extra-stringent checks on the server side for submitted content in PG regions. [[User:SignpostMarv Martin|SignpostMarv Martin]] 01:08, 11 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Embedded scripting language for client-side plugins ===&lt;br /&gt;
&lt;br /&gt;
Embed a scripting language, such as LUA or Python, within Second Life to enable client plug-ins to be written in a modular fashion.  Client plugins would be distributed via Second Life itself; hopefully LL would eventually agree to create a new object type for these, but for testing purposes notecards would probably suffice.&lt;br /&gt;
&lt;br /&gt;
==== Known Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
Linden Lab is considering offering bounties for especially desirable features in the viewer.&lt;br /&gt;
&lt;br /&gt;
* [[Linden Lab Bounties]]&lt;br /&gt;
* [[Community Bounties]]&lt;br /&gt;
* [[:Category:Bounties]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Feature_requests&amp;diff=4723</id>
		<title>Talk:Feature requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Feature_requests&amp;diff=4723"/>
		<updated>2007-01-10T18:48:10Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What&#039;s missing: &#039;&#039;&#039;WHERE&#039;&#039;&#039; to file the requests...&lt;br /&gt;
&lt;br /&gt;
Looks like most of them are ending up in [[Implementing_new_features|this]] page... [[User:Buckaroo Mu|Buckaroo Mu]] 10:48, 10 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4454</id>
		<title>User:SignpostMarv Martin/Archive/Implementing new features</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4454"/>
		<updated>2007-01-09T19:30:01Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
Of course, a really valuable way to contribute is to add a new feature. Try to work with the community and with Linden Lab in planning the feature before running off and implementing new things. Though we appreciate your hard work, we can&#039;t accept every new feature, since maintaining new features comes with a cost. Try thinking of ways to use APIs to make plugins, or perhaps propose new APIs to make the viewer more extensible, before adding new things to the core viewer.&lt;br /&gt;
&lt;br /&gt;
== Ideas for new Features ==&lt;br /&gt;
&lt;br /&gt;
Just some Ideas that came up on the #opensl irc channel:&lt;br /&gt;
&lt;br /&gt;
=== Alternate Rendering Engines ===&lt;br /&gt;
* older hardware support, etc...&lt;br /&gt;
* [http://www.google.ca/search?q=Open+Source+3D+Engine (&#039;&#039;Open Source 3D Engine&#039;&#039;)]&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Better Sound Support ===&lt;br /&gt;
* Preload status&lt;br /&gt;
* playback control, etc...&lt;br /&gt;
** Quote: &#039;&#039;llKelly: eightltr: yes, that idea has been suggested in the past. (&#039;&#039;&#039;L$1 per 1sec audio&#039;&#039;&#039;)  I think we would rather improve the methods of linking to externally hosted sounds.&#039;&#039;&lt;br /&gt;
* MIDI Support - maybe with some nice clientside Wavetables&lt;br /&gt;
* MOD, XM, ect. Support&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039;. [[Community Bounties#VLC instead of QuickTime]] might help. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Removing Texture Loading ===&lt;br /&gt;
* so SL can run on less powerful Systems (say the N800/N770)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. [[User:Kamilion Schnook|Kamilion Schnook]]&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; As far as I was aware, libSL clients don&#039;t load textures, due to the lack of JPEG 2000 support :-P [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Patching it so that llLoadURL opens the F1 Help Browser ===&lt;br /&gt;
* Adding keyword replacement in llLoadURL, Streaming media support, and other external links&lt;br /&gt;
** For instance, to provide an icecast stream with a agent UUID, &amp;lt;nowiki&amp;gt;http://&#039;&#039;&#039;agentkey&#039;&#039;&#039;:apassword@icecast.somehost.com:8000&amp;lt;/nowiki&amp;gt; as a parcel URL&lt;br /&gt;
* To provide an external website with a SL User Name, &amp;lt;nowiki&amp;gt; http://www.somesite.com/somephp.php?query=stuff&amp;amp;slname=&#039;&#039;agentname&#039;&#039;&amp;amp;action=buy&amp;amp;deliveryto=&#039;&#039;agentkey&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Unless the LSL2 VM starts supporting optional parameters, you risk breaking thousands of scripts&lt;br /&gt;
** &#039;&#039;&#039;Workaround:&#039;&#039;&#039; Prefix urls with ubrowser:, e.g. &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;ubrowser:http://example.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;, which will result in the dialog box indicating that the url will open inside the client.&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. &amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Adding a Avatar Local Stream Channel ===&lt;br /&gt;
* that has a Range of X Meters around an Avatar&lt;br /&gt;
* This would be used for Local Audio Streaming &lt;br /&gt;
** Or Local VoIP chat &lt;br /&gt;
** Teamspeak...&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Peer to Peer Voice over IP using above idea, improved ===&lt;br /&gt;
** Capible clients advertise themselves via below CTCP-style protocol&lt;br /&gt;
** Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range.&lt;br /&gt;
** In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment.&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More efficient local cache ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Seronis has some good ideas on how this should be implemented. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Definitely. One cache per region, to a configurable cap total, would be an immense load off the asset servers, and off of our poor bandwidth. [[User:Buckaroo Mu|Buckaroo Mu]] 11:30, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* Bleh ? [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Command Line Interface Improvements ===&lt;br /&gt;
* for changing preferences sending an IM, teleporting, etc&lt;br /&gt;
** for example: &amp;quot;/set drawdist 96&amp;quot;, &amp;quot;/set sound off&amp;quot;, &amp;quot;/tp ahern&amp;quot;, or &amp;quot;/im kex godel hello&amp;quot;&lt;br /&gt;
** would need an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
** Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Implementing an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More sophisticated IM  features ===&lt;br /&gt;
* muting/filtering/autoresponse options&lt;br /&gt;
** mute or do not alert on IMs by started by a group, agent, or group-agent&lt;br /&gt;
** Autoreply to IMs received while (Away)&lt;br /&gt;
** Sidebar Userlist of Active Users who are currently participating in a Group IM Session. When a user says something, they&#039;re added. When a user leaves the session, they&#039;re removed from the list.&lt;br /&gt;
* More control over filtering specific objects/textures/sounds/agents/etc&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; with a big hell yes. In a large group, it&#039;s difficult to keep track of a conversation when there is a mass exodus from the session. It&#039;s annoying having the system spam the window. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Shortcut/Link/Alias function in Inventory ===&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete separate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== DirectX3D Hardware Acceleration ===&lt;br /&gt;
*A DirectX3D-driven version of the viewer, allowing those with ATi or Intel hardware accelerated cards to take advantage of the processing power. The system could allow selection as a preference of OpenGL or DirectX3D, as many Windows-only games currently do. Conditional build statements would keep the option from appearing in the non-DirectX3D capable builds. [[User:Buckaroo Mu|Buckaroo Mu]] 09:28, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== GPGPU Support ===&lt;br /&gt;
*A method of offloading some of the [http://www.gpgpu.org/ graphics processing to the GPU] might help increase framerate. [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitor Support ===&lt;br /&gt;
*Support for detachable sub-windows, allowing the inventory, chat history, IM, etc. windows to be moved to a second monitor (if available). This is a very highly-desired feature (by those that have dual-monitor systems). [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
Linden Lab is considering offering bounties for especially desirable features in the viewer.&lt;br /&gt;
&lt;br /&gt;
* [[Linden Lab Bounties]]&lt;br /&gt;
* [[Community Bounties]]&lt;br /&gt;
* [[:Category:Bounties]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4450</id>
		<title>User:SignpostMarv Martin/Archive/Implementing new features</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4450"/>
		<updated>2007-01-09T19:28:32Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: /* More efficient local cache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
Of course, a really valuable way to contribute is to add a new feature. Try to work with the community and with Linden Lab in planning the feature before running off and implementing new things. Though we appreciate your hard work, we can&#039;t accept every new feature, since maintaining new features comes with a cost. Try thinking of ways to use APIs to make plugins, or perhaps propose new APIs to make the viewer more extensible, before adding new things to the core viewer.&lt;br /&gt;
&lt;br /&gt;
== Ideas for new Features ==&lt;br /&gt;
&lt;br /&gt;
Just some Ideas that came up on the #opensl irc channel:&lt;br /&gt;
&lt;br /&gt;
=== Alternate Rendering Engines ===&lt;br /&gt;
* older hardware support, etc...&lt;br /&gt;
* [http://www.google.ca/search?q=Open+Source+3D+Engine (&#039;&#039;Open Source 3D Engine&#039;&#039;)]&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Better Sound Support ===&lt;br /&gt;
* Preload status&lt;br /&gt;
* playback control, etc...&lt;br /&gt;
** Quote: &#039;&#039;llKelly: eightltr: yes, that idea has been suggested in the past. (&#039;&#039;&#039;L$1 per 1sec audio&#039;&#039;&#039;)  I think we would rather improve the methods of linking to externally hosted sounds.&#039;&#039;&lt;br /&gt;
* MIDI Support - maybe with some nice clientside Wavetables&lt;br /&gt;
* MOD, XM, ect. Support&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039;. [[Community Bounties#VLC instead of QuickTime]] might help. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Removing Texture Loading ===&lt;br /&gt;
* so SL can run on less powerful Systems (say the N800/N770)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. [[User:Kamilion Schnook|Kamilion Schnook]]&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; As far as I was aware, libSL clients don&#039;t load textures, due to the lack of JPEG 2000 support :-P [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Patching it so that llLoadURL opens the F1 Help Browser ===&lt;br /&gt;
* Adding keyword replacement in llLoadURL, Streaming media support, and other external links&lt;br /&gt;
** For instance, to provide an icecast stream with a agent UUID, &amp;lt;nowiki&amp;gt;http://&#039;&#039;&#039;agentkey&#039;&#039;&#039;:apassword@icecast.somehost.com:8000&amp;lt;/nowiki&amp;gt; as a parcel URL&lt;br /&gt;
* To provide an external website with a SL User Name, &amp;lt;nowiki&amp;gt; http://www.somesite.com/somephp.php?query=stuff&amp;amp;slname=&#039;&#039;agentname&#039;&#039;&amp;amp;action=buy&amp;amp;deliveryto=&#039;&#039;agentkey&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Unless the LSL2 VM starts supporting optional parameters, you risk breaking thousands of scripts&lt;br /&gt;
** &#039;&#039;&#039;Workaround:&#039;&#039;&#039; Prefix urls with ubrowser:, e.g. &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;ubrowser:http://example.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;, which will result in the dialog box indicating that the url will open inside the client.&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. &amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Adding a Avatar Local Stream Channel ===&lt;br /&gt;
* that has a Range of X Meters around an Avatar&lt;br /&gt;
* This would be used for Local Audio Streaming &lt;br /&gt;
** Or Local VoIP chat &lt;br /&gt;
** Teamspeak...&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Peer to Peer Voice over IP using above idea, improved ===&lt;br /&gt;
** Capible clients advertise themselves via below CTCP-style protocol&lt;br /&gt;
** Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range.&lt;br /&gt;
** In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment.&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More efficient local cache ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Seronis has some good ideas on how this should be implemented. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Definitely. One cache per region, to a configurable cap total, would be an immense load off the asset servers, and off of our poor bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* Bleh ? [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Command Line Interface Improvements ===&lt;br /&gt;
* for changing preferences sending an IM, teleporting, etc&lt;br /&gt;
** for example: &amp;quot;/set drawdist 96&amp;quot;, &amp;quot;/set sound off&amp;quot;, &amp;quot;/tp ahern&amp;quot;, or &amp;quot;/im kex godel hello&amp;quot;&lt;br /&gt;
** would need an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
** Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Implementing an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More sophisticated IM  features ===&lt;br /&gt;
* muting/filtering/autoresponse options&lt;br /&gt;
** mute or do not alert on IMs by started by a group, agent, or group-agent&lt;br /&gt;
** Autoreply to IMs received while (Away)&lt;br /&gt;
** Sidebar Userlist of Active Users who are currently participating in a Group IM Session. When a user says something, they&#039;re added. When a user leaves the session, they&#039;re removed from the list.&lt;br /&gt;
* More control over filtering specific objects/textures/sounds/agents/etc&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; with a big hell yes. In a large group, it&#039;s difficult to keep track of a conversation when there is a mass exodus from the session. It&#039;s annoying having the system spam the window. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Shortcut/Link/Alias function in Inventory ===&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete separate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== DirectX3D Hardware Acceleration ===&lt;br /&gt;
*A DirectX3D-driven version of the viewer, allowing those with ATi or Intel hardware accelerated cards to take advantage of the processing power. The system could allow selection as a preference of OpenGL or DirectX3D, as many Windows-only games currently do. Conditional build statements would keep the option from appearing in the non-DirectX3D capable builds. [[User:Buckaroo Mu|Buckaroo Mu]] 09:28, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== GPGPU Support ===&lt;br /&gt;
*A method of offloading some of the [http://www.gpgpu.org/ graphics processing to the GPU] might help increase framerate. [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitor Support ===&lt;br /&gt;
*Support for detachable sub-windows, allowing the inventory, chat history, IM, etc. windows to be moved to a second monitor (if available). This is a very highly-desired feature (by those that have dual-monitor systems). [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
Linden Lab is considering offering bounties for especially desirable features in the viewer.&lt;br /&gt;
&lt;br /&gt;
* [[Linden Lab Bounties]]&lt;br /&gt;
* [[Community Bounties]]&lt;br /&gt;
* [[:Category:Bounties]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4446</id>
		<title>User:SignpostMarv Martin/Archive/Implementing new features</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:SignpostMarv_Martin/Archive/Implementing_new_features&amp;diff=4446"/>
		<updated>2007-01-09T19:26:45Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Additional feature suggestions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
Of course, a really valuable way to contribute is to add a new feature. Try to work with the community and with Linden Lab in planning the feature before running off and implementing new things. Though we appreciate your hard work, we can&#039;t accept every new feature, since maintaining new features comes with a cost. Try thinking of ways to use APIs to make plugins, or perhaps propose new APIs to make the viewer more extensible, before adding new things to the core viewer.&lt;br /&gt;
&lt;br /&gt;
== Ideas for new Features ==&lt;br /&gt;
&lt;br /&gt;
Just some Ideas that came up on the #opensl irc channel:&lt;br /&gt;
&lt;br /&gt;
=== Alternate Rendering Engines ===&lt;br /&gt;
* older hardware support, etc...&lt;br /&gt;
* [http://www.google.ca/search?q=Open+Source+3D+Engine (&#039;&#039;Open Source 3D Engine&#039;&#039;)]&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Better Sound Support ===&lt;br /&gt;
* Preload status&lt;br /&gt;
* playback control, etc...&lt;br /&gt;
** Quote: &#039;&#039;llKelly: eightltr: yes, that idea has been suggested in the past. (&#039;&#039;&#039;L$1 per 1sec audio&#039;&#039;&#039;)  I think we would rather improve the methods of linking to externally hosted sounds.&#039;&#039;&lt;br /&gt;
* MIDI Support - maybe with some nice clientside Wavetables&lt;br /&gt;
* MOD, XM, ect. Support&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039;. [[Community Bounties#VLC instead of QuickTime]] might help. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Removing Texture Loading ===&lt;br /&gt;
* so SL can run on less powerful Systems (say the N800/N770)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. [[User:Kamilion Schnook|Kamilion Schnook]]&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; As far as I was aware, libSL clients don&#039;t load textures, due to the lack of JPEG 2000 support :-P [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Patching it so that llLoadURL opens the F1 Help Browser ===&lt;br /&gt;
* Adding keyword replacement in llLoadURL, Streaming media support, and other external links&lt;br /&gt;
** For instance, to provide an icecast stream with a agent UUID, &amp;lt;nowiki&amp;gt;http://&#039;&#039;&#039;agentkey&#039;&#039;&#039;:apassword@icecast.somehost.com:8000&amp;lt;/nowiki&amp;gt; as a parcel URL&lt;br /&gt;
* To provide an external website with a SL User Name, &amp;lt;nowiki&amp;gt; http://www.somesite.com/somephp.php?query=stuff&amp;amp;slname=&#039;&#039;agentname&#039;&#039;&amp;amp;action=buy&amp;amp;deliveryto=&#039;&#039;agentkey&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Unless the LSL2 VM starts supporting optional parameters, you risk breaking thousands of scripts&lt;br /&gt;
** &#039;&#039;&#039;Workaround:&#039;&#039;&#039; Prefix urls with ubrowser:, e.g. &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;ubrowser:http://example.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;, which will result in the dialog box indicating that the url will open inside the client.&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
* Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. &amp;lt;nowiki&amp;gt;llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,&#039;http://&#039; + (string)llGetOwner() + &#039;:&#039; + stringVar__password + &#039;@icecast.example.com:8000&#039;,PARCEL_MEDIA_COMMAND_AGENT,llGetOwner()]);&amp;lt;/nowiki&amp;gt; [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Adding a Avatar Local Stream Channel ===&lt;br /&gt;
* that has a Range of X Meters around an Avatar&lt;br /&gt;
* This would be used for Local Audio Streaming &lt;br /&gt;
** Or Local VoIP chat &lt;br /&gt;
** Teamspeak...&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Peer to Peer Voice over IP using above idea, improved ===&lt;br /&gt;
** Capible clients advertise themselves via below CTCP-style protocol&lt;br /&gt;
** Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range.&lt;br /&gt;
** In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment.&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More efficient local cache ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Comment:&#039;&#039;&#039; Seronis has some good ideas on how this should be implemented. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system ===&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* Bleh ? [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Command Line Interface Improvements ===&lt;br /&gt;
* for changing preferences sending an IM, teleporting, etc&lt;br /&gt;
** for example: &amp;quot;/set drawdist 96&amp;quot;, &amp;quot;/set sound off&amp;quot;, &amp;quot;/tp ahern&amp;quot;, or &amp;quot;/im kex godel hello&amp;quot;&lt;br /&gt;
** would need an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
** Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
* Implementing an escape system which doesn&#039;t conflict with script command gestures (or a reserved words like how /me is)&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== More sophisticated IM  features ===&lt;br /&gt;
* muting/filtering/autoresponse options&lt;br /&gt;
** mute or do not alert on IMs by started by a group, agent, or group-agent&lt;br /&gt;
** Autoreply to IMs received while (Away)&lt;br /&gt;
** Sidebar Userlist of Active Users who are currently participating in a Group IM Session. When a user says something, they&#039;re added. When a user leaves the session, they&#039;re removed from the list.&lt;br /&gt;
* More control over filtering specific objects/textures/sounds/agents/etc&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
* &#039;&#039;&#039;Seconded&#039;&#039;&#039; with a big hell yes. In a large group, it&#039;s difficult to keep track of a conversation when there is a mass exodus from the session. It&#039;s annoying having the system spam the window. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Shortcut/Link/Alias function in Inventory ===&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete separate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== DirectX3D Hardware Acceleration ===&lt;br /&gt;
*A DirectX3D-driven version of the viewer, allowing those with ATi or Intel hardware accelerated cards to take advantage of the processing power. The system could allow selection as a preference of OpenGL or DirectX3D, as many Windows-only games currently do. Conditional build statements would keep the option from appearing in the non-DirectX3D capable builds. [[User:Buckaroo Mu|Buckaroo Mu]] 09:28, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== GPGPU Support ===&lt;br /&gt;
*A method of offloading some of the [http://www.gpgpu.org/ graphics processing to the GPU] might help increase framerate. [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitor Support ===&lt;br /&gt;
*Support for detachable sub-windows, allowing the inventory, chat history, IM, etc. windows to be moved to a second monitor (if available). This is a very highly-desired feature (by those that have dual-monitor systems). [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Potential Barriers to Implementation ====&lt;br /&gt;
&lt;br /&gt;
==== Comments ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
Linden Lab is considering offering bounties for especially desirable features in the viewer.&lt;br /&gt;
&lt;br /&gt;
* [[Linden Lab Bounties]]&lt;br /&gt;
* [[Community Bounties]]&lt;br /&gt;
* [[:Category:Bounties]]&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4437</id>
		<title>Feature requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4437"/>
		<updated>2007-01-09T19:21:41Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Moved specific feature requests to a different page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
== Filing Feature Requests==&lt;br /&gt;
We&#039;re always looking for new ideas. Please let us know what you would like to see done.&lt;br /&gt;
&lt;br /&gt;
== Refining Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
Features are more likely to get implemented if the description of the feature is clear. For a complicated feature, a link to a specification on the wiki is a great way to help flesh out the idea.&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=4407</id>
		<title>User:Buckaroo Mu</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Buckaroo_Mu&amp;diff=4407"/>
		<updated>2007-01-09T17:55:02Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Introduction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buckaroo Mu: Second Life ==&lt;br /&gt;
I am a successful DJ, spending my nights at ~Mons Venus~, the hottest Rock &amp;amp; Blues Club around. I also enjoy building and scripting, and am looking to get into more complicated designs as time allows. I am Chief Moderator of the History &amp;amp; Moral Philosophy discussion group, which has open enrollment and meets on a regular basis to discuss the gray areas of existence. I&#039;m married to the lovely Wendy Foxchase, talented clothing, shoe, hat, and jewelry designer, and an all-around wonderful person to be around.&lt;br /&gt;
&lt;br /&gt;
== Buckaroo Mu: First Life ==&lt;br /&gt;
OK, it&#039;s not my real name, but it&#039;s close enough. I am a life-long Geek of All Trades, currently serving as the Systems &amp;amp; Network Administrator for a large non-profit in the Mid-West USA (UTC-6/5). In the past, I have been: all ranks from Captain to ballast of a sailing vessel; Kinko&#039;s copy-boy; Arc-welder repairman, US Army Radio Repairman (ret); VAX, Novell, and Windows System Admin; Novell Server, Windows, PHP, and AVR Systems Programmer; and telephone Tech Support, to name a few.&lt;br /&gt;
&lt;br /&gt;
I am an advocate of F/OSS, and use FreeBSD whenever possible rather than Windows (Although I do use XP on all of my desktops). I have converted my employer from Novell to FreeBSD/Samba/LDAP (much to their delight), and incorporate as much F/OSS as I can. I cannot say I&#039;m good with C++ - I&#039;m a Guru-level programmer with plain C, never learned much about the ++ part - but I do hope to be useful in the development of Second Life as an Open-Source System.&lt;br /&gt;
&lt;br /&gt;
I&#039;m also married to the Real Life woman behind Wendy Foxchase, and have been for the last glorious 16 years.&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4401</id>
		<title>Feature requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4401"/>
		<updated>2007-01-09T17:37:29Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Feature Request: Multiple Monitor Support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
== Filing Feature Requests==&lt;br /&gt;
We&#039;re always looking for new ideas. Please let us know what you would like to see done.&lt;br /&gt;
&lt;br /&gt;
== Refining Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
Features are more likely to get implemented if the description of the feature is clear. For a complicated feature, a link to a specification on the wiki is a great way to help flesh out the idea.&lt;br /&gt;
&lt;br /&gt;
== Minor Feature Requests ==&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete separate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Major Feature Requests ==&lt;br /&gt;
*A DirectX3D-driven version of the viewer, allowing those with ATi or Intel hardware accelerated cards to take advantage of the processing power. The system could allow selection as a preference of OpenGL or DirectX3D, as many Windows-only games currently do. Conditional build statements would keep the option from appearing in the non-DirectX3D capable builds. [[User:Buckaroo Mu|Buckaroo Mu]] 09:28, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
*A method of offloading some of the [http://www.gpgpu.org/ graphics processing to the GPU] might help increase framerate. [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
*Support for detachable sub-windows, allowing the inventory, chat history, IM, etc. windows to be moved to a second monitor (if available). This is a very highly-desired feature (by those that have dual-monitor systems). [[User:Buckaroo Mu|Buckaroo Mu]] 09:37, 9 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4392</id>
		<title>Feature requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4392"/>
		<updated>2007-01-09T17:28:52Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Feature Request: DirectX3D or GPGPU Support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
== Filing Feature Requests==&lt;br /&gt;
We&#039;re always looking for new ideas. Please let us know what you would like to see done.&lt;br /&gt;
&lt;br /&gt;
== Refining Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
Features are more likely to get implemented if the description of the feature is clear. For a complicated feature, a link to a specification on the wiki is a great way to help flesh out the idea.&lt;br /&gt;
&lt;br /&gt;
== Minor Feature Requests ==&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete separate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Major Feature Requests ==&lt;br /&gt;
*A DirectX3D-driven version of the viewer, allowing those with ATi or Intel hardware accelerated cards to take advantage of the processing power. Alternatively, a method of offloading some of the [http://www.gpgpu.org/ graphics processing to the GPU] might help increase framerate. [[User:Buckaroo Mu|Buckaroo Mu]] 09:28, 9 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4381</id>
		<title>Feature requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Feature_requests&amp;diff=4381"/>
		<updated>2007-01-09T17:23:52Z</updated>

		<summary type="html">&lt;p&gt;Buckaroo Mu: Feature Request: Shortcut Inventory Type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
== Filing Feature Requests==&lt;br /&gt;
We&#039;re always looking for new ideas. Please let us know what you would like to see done.&lt;br /&gt;
&lt;br /&gt;
== Refining Feature Requests ==&lt;br /&gt;
&lt;br /&gt;
Features are more likely to get implemented if the description of the feature is clear. For a complicated feature, a link to a specification on the wiki is a great way to help flesh out the idea.&lt;br /&gt;
&lt;br /&gt;
== List of Feature Requests ==&lt;br /&gt;
*Add a &amp;quot;link&amp;quot; (&amp;quot;alias&amp;quot;, &amp;quot;shortcut&amp;quot;) facility to the inventory, that would not break Permissions. For instance, I have one nice set of prim dress shoes that are no-copy, and four tuxedos. I cannot make complete seperate outfits, because I have only one copy of the shoes. However, using a &amp;quot;link&amp;quot;, I could create an outfit folder with the tux and a link to the no-copy shoes. Still means I would only have the one set, but it would make changing clothes much much easier. [[User:Buckaroo Mu|Buckaroo Mu]] 09:23, 9 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Buckaroo Mu</name></author>
	</entry>
</feed>