2023 week #31: SL CCUG + TPVD meetings summary

Strandhavet Viking Museum, May 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, August 3rd, and the Third Party Viewer Developer (TPVD) meeting held on Friday, August 4th, 2023. 

Meetings Overview

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current work, upcoming work, and requests or comments from the community, together with viewer development work.
  • The TPV Developer meeting provides an opportunity for discussion about the development of, and features for, the Second Life viewer, and for Linden Lab viewer developers and third-party viewer (TPV) / open-source code contributors developers to discuss general viewer development.
  • As a rule, both meetings are:
    • Held in-world and chaired by Vir Linden.
    • Conducted in a mix of voice and text.
    • Held at 13:00 SLT on their respective days.
    • Are subject to the schedule set within the SL Public Calendar, which includes locations for both meetings (also included at the end of these reports).
    • Open to all with an interest in content creation / viewer development.
  • As these meetings occasionally fall “back-to-back” on certain weeks, and often cover some of the same ground, their summaries are sometime combined into a single report (as is the case here). They are drawn from a mix of my own audio recordings of the meeting + chat log (CCUG), and from the video of the TPVD meeting produced by Pantera Północy (which is embedded at the end of the summaries for reference) + chat log. Not that they are summaries, and not intended to be transcripts of everything said during either meeting.

Viewer News

No changes through the week, leaving the current official viewer in the pipeline as:

Note that the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

General Viewer Notes:

  • The Inventory Extensions viewer has a couple of bugs which are preventing it progressing but are being worked on. There are also some simulator-side issues (inventory thumbnail images being dropped) which are also being addressed. However, this remains the next potential viewer for promotion to de facto release, alongside of the Maintenance U RC viewer.
  • The Maintenance U RC includes an extension to actions available when clicking on in-world objects. CLICK_ACTION_INVISIBLE effectively makes an object “invisible” to mouse clicks, allowing it to be clecked through to whatever might be lying behind it.  This functionality will be supported within the next simulator deployment, due in week #32.
  • The Emoji project viewer may see some font changes prior to progressing further (which may additionally require UI work in general) & is still adding further UI additions.

glTF Materials and Reflection Probes

Project Summary

  • To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • Up to four texture maps are supported for PBR Materials: the base colour (which includes the alpha); normal; metallic / roughness; and emissive, each with independent scaling.
  • In the near-term, glTF materials assets are materials scenes that don’t have any nodes / geometry, they only have the materials array, and there is only one material in that array.
  • As a part of this work, PBR Materials will see the introduction of reflection probes which can be used to generate reflections (via cubemaps) on in-world surfaces. These will be a mix of automatically-place and manually place probes (with the ability to move either).
  • The viewer is available via the Alternate Viewers page.

Further Resources

Status

  • LL is seeking feedback on how best to handle sky rendering. In short, ambient lighting is handled differently within “non-PBR” viewers and “PBR viewers” (notably, the latter uses HDR + tone mapping where the former does not).
  • As the majority of ambient environments have been designed using the “non-PBR” viewer rendering system, they undergo an auto-adjustment process within the PBR viewer so that that match the glTF specification requirements. Unfortunately, this can leave some skies / ambient lighting looking far too dark – and potentially lead to complaints from users on the PBR viewer (at least until more “PBR compliant” EEP assets make themselves available).
  • To compensate for this, LL included the option to disable the HDR / tone mapping processes in the viewer by setting Probe Ambience to 0 with Graphics preferences. However, doing this makes content specifically designed for PBR environments look muted and much poorer than they should. This brings with it the concern that to try to make their content look good in both “PBR” and “non-PBR” environments, creators will start to go “off-piste” (so to speak) from the glTF specification when making new content, thus defaulting the entire objective in trying to move SL to match recognise content creation standards.
  • There have been two main schools of thought within LL as to how to best handle both situations, these being:
    • Continue to iterate on the auto-adjustment system so it can handle a broader range of sky settings that are in popular use without them going overly dark within the PBR viewer.
    • Initially make HDR / tone mapping opt-in, rather than opt-out (so probe ambience is set to 0 by default, but can be set above zero by users as required) until such time as all viewers are running with PBR, then switch to making it opt-out (so HDR / tone mapping must be manually disabled).
  • General feedback at the meeting was for LL to continue to try to iterate and improve the the automatic adjustment to HDR / tone mapping for skies, so as to avoid the need for content creators to have to start producing “PBR” and “non PBR” versions of their content.
  • Outside of this, it has also been reported that multiple script-driven glTF materials updates (such has those that might be seen with the changing pattens on a disco floor, for example) actually cause multiple network connections, impacting network bandwidth to the viewer, which is hardly ideal.  This is currently being addressed, but until fixed on the simulator side, it will see a pause in glTF simulator updates being released.
  • The work on “hero” reflection probes for planar mirrors is continuing to progress.

Senra Discussions – CCUG and TPVD

Via the Content Creation Meeting:

  • A lengthy discussion on the Senra SDK and the requirement for Avastar with Blender – seen as a paywall block for creators who may not have previously entered the clothing market, but who want to in order to support Senra. Unfortunately, no-one directly involved in the Senra body development was at the meeting to handle questions.
    • Avastar is generally required with Blender as  the latter uses “none-standard” axes orientation compared to other tools, resulting in issues such as armature rotations being incorrect, plus its Collada export doesn’t (I gather, subject to correction here) support volume bones.
    • However, it was noted that other mesh bodies available within SL provide SDKs where these uses are fixed for Blender without the need to reference Avastar – so the questions were raised as to why LL haven’t done the same (or at least looked at those solutions).
    • The discussion broadened into issues with the avatar blend file itself which have long required fixing, with the promise that all comments on the SDK, Blender, and the avatar Blend file will be passed back to the relevant parties at the Lab.
      Those at the meeting from LL noted their hope that  – down the road – the switch from Collada to glTF-compatible formats will help to eliminate many issues related to avatar content creation, and if nothing else, will look to address specific issues . this, and that if nothing else, they will mark the need to fix the armature rotation issue with that work (“glTF Phase 2”) if it is not addressed beforehand.

Via the TPVD Meeting:

  • It was noted that there currently isn’t a formal venue for discussion Senra outside of the current forum threads or the Discord channel (for those able to access it.
  • The suggestion is currently to have a special purpose meeting – possibly under the CCUG banner – where those who developed Senra could respond to questions / concerns. This suggestion is being passed to Patch Linden who is better placed to arrange a meeting, given the Senra project largely falls within his remit.
  • There is a lot of concern / confusion over the SDK licensing (again, please refer to the forum thread on this for details).
  •  It was indicated that the Senra content will soon have inventory thumbnails included, ready for when the Inventory Extension viewer is promoted to release status.
  • Concerns about new users getting confused by wearing Senra items directly from the Library a) do not appear to be highlighted to indicate they have been added to the avatar (this is actually because the process of “wearing” the item has actually generated a copy within the user’s inventory, which *is* highlighted as added / worn); b) individual items added to an avatar in this manner go to the matching object class type system folder, *not* to a dedicated Senra folder (e.g. mesh clothing is copied to the Objects folder; skins go to the Body folder, etc.).

In Brief

Via the TPVD meeting

  • General discussions on:
    • Scalable fonts (as implemented by Genesis viewer).
    • How TPVs block older versions (for releases, the viewer requests a list of blocked versions from the TPV server in question (say, Firestorm, for the sake of argument), and if it finds itself on the list, it terminates trying to log-in to SL).
    • The move to de-dupe some asset types (textures, notecards, scripts  & (possibly) gestures by giving multiple CDN versions the same UUID number, including clarification on the difference between the original asset, the UUIDs for multiple versions and also inventory IDs (which handle permissions, etc.).
    • An extensive discussion on chat bubbles and toasts in the official viewer.
  • Please refer to the TPVD meeting video below for further details on the above discussions.

Next Meetings

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

August 2023 SL Web User Group (WUG) meeting summary

The Web User Group meeting venue, Denby

The following notes cover the key points from the Web User Group (WUG) meeting, held on Wednesday August 2nd, 2023. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Web User Group exists to provide an opportunity for discussion on Second Life web properties and their related functionalities / features. This includes, but is not limited to: the Marketplace, pages surfaced through the secondlife.com dashboard; the available portals (land, support, etc), the forums.
  • As a rule, these meetings are conducted:
    • On the first Wednesday of the month and 14:00 SLT.
    • In both Voice and text.
    • At this location.
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Marketplace

Re-Indexing for Listings Issue

  • An issue was discovered with MP product listings not showing up in search results or for store owners using their Manage Listing pages (although the product listing could be reached directly by entering its name).
  • This was traced to the items failing to be indexed correctly by the Marketplace service.
  • As a result, LL initiated a complete re-indexing of the MP at the start of week #31, and while it took time to complete, the issue should now be resolved and all product listing should be showing correctly via search, etc.
  • Those still encountering issues with their products should raise a Jira.

General

  • Best selling items ordering: when used within a specific MP store, this will in the near future order items according to how well they have been selling in comparison to the rest of the items in the store over the past 30 days, to better reflect current sales.
  • “Do Not Show Limited Quantities” in Search:
    • There have been requests to either have this option (shown in product search results at the foot of the left-side column along with Demos) enabled by default or limited quantity items should not be shown in Search results.
    • This has been requested primarily due to the issue of (new) users buying ex-gacha items without realising that are not buying from the original creator.
    • Given there are legitimate reasons for Limited Quantity items to be listed on the MP, excluding them from Search would be potentially  discriminatory.
    • Preferable solutions suggested were:
      • Retain the option and either reverse it – so it has to be enabled to include limited quantity items OR have whichever way the toggle is set stored within the user’s MP cookies, rather than the check box having to be be set against every search.
      • Add a further checkbox to specifically eliminate (or include, depending on the default setting) Gacha items from / with Search results.
      • LL implement a new product category – Limited Quantity – specifically for such products / items – although how well this would work is open to question, given there is a Gacha category which does not prevent those types of limited quantity items pitching up in Search results.
  • The above spread to a broader discussion on creators using unicode characters and punctuation symbols in their store names which actually makes it harder for them to show up in search results under the Merchants / Stores tab, unless a precise full or partial copy of their brand name is entered.
  • Listing Enhancement metrics: a request was made for those paying for Listing Enhancements to receive metrics (e.g. no. of times displayed, number of click-throughs generated, number of sales from click-throughs).
  • Product reviews:
    • A suggestion that LL should allow reviewers to just leave star ratings against items listed on the MP, as used to be the case with SL Exchange and is the case with Amazon.
    • A request for the MP to be open to reviews by those who have purchased a product in-world (and who may have used the MP as a form of catalogue to seek out items they then purchase in-world).
    • The ability to view an individual’s review history on the MP – allowing their fairness / bias to be better judged.
    • See also feature requests BUG-233138 “Social/Creator Focused Marketplace Feed” and BUG-233139 “A user-run first-line Moderation Tool”.
  • General discussions on:
    • The use of Favourites List and Wishlist options (e.g. Favourites List – as a means of quickly pulling up preferred brands and checking for new releases, requests for multiple Wishlists, etc., making lists more easily shareable other than by direct URL, etc.).
    • Preferred general Search results ordering (e.g. newest first or best selling).

Next Meeting

  • Wednesday, September 6th, 2023.

2023 SL SUG meetings week #31 summary

NordShore, May 2023 – blog post

The following notes were taken from the Tuesday,  August 1st Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • On Tuesday, August 1st, all simhosts on the the SLS Main channel received the “Summer Blues” simulator update, comprising:
    • llGetPrimitiveParams will be able to identify animesh.
    •  The estate ban limit gets raised to 750, and the number of estate managers to 20, Not that the viewer-side changes to access these updates can be found in the Maintenance U(pbeat) RC viewer, listed in the Viewers section, below.
    • Two new LSL functions for LSD llLinksetDataDeleteFound and llLinksetDataCountFound.
    • Changes to UUID generation on certain items per my week 26 SUG meeting summary (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer.
    • Further work to correct some of the friends issues (as seen with BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”). However, how effective these updates might be will not be fully understood until the update has been more widely tested through general use on Agni.
    • The update also included a certificate update for the simulators.
  • On Wednesday, August 2nd, the RC channels should all be restarted without any deployment.

Upcoming Simulator Releases

Simulator release now appear to be getting informal names (hence “Summer Blues”, above). The next up will be:

  • Dog Days – likely to include the unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database), and set to be the next release to be deployed.
  • Bugsmash – currently with QA, and as the name suggests, contains a range of simulator-side bug fixes. It will also see the welcome return of visible RC channel names (now, if only we could see the return of server release notes ahead of the actual deployments).  Some of the fixes in this update comprise:
    • A fix in llRetunObjectsByOwner so that it won’t hit a throttle on large returns, and a fix to estate manage object return.
    • A change to the stack that gets displayed in the case of some script faults, intended to make it a easier to read.
    • A fix for the GroupMemberData cap giving out intermittently incorrect (but still well-formed) responses.
    • A minor fix about abandoned group land not showing correct previous owner.

Viewer Updates

No updates at the start of the week, leaving the current official viewers in the pipeline as:

Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

General Discussion

Please refer to the video for details on the following:

  • There is a general discussion on an exploit of llMapDestination().
  • BUG-234197 – “[PBR] Many duplicate material override messages for same object” – a potential need to throttle / omit scripted materials changes.
  • A further request was made for BUG-225228 “llStopAnimation is stopping all animations on detach instead of only the one specified” to receive LL TLC, together with requests for a series of other bugs and feature requests (such as the ability to click-through objects.
  • A question from Leviathan Linden on whether object inventory names – i.e. the names of items contained in an object – should be opened to allow leading / trailing whitespace. Short answer: “no”; suggestion, if whitespace alone is used in an object name, have the system replace it with the object type (e.g. object, notecard, texture, etc., possibly with a numerical indicator.

 

Note: there will be NO Simulator User Group meeting on Tuesday, August 8th, as the simulator team will be engaged in an internal meeting at the Lab.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #30 summary

Journey Garden, May 2023 – blog post

The following notes were taken from the Tuesday,  July 25th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • On Tuesday, July 25th, 2023, all simhosts on the the SLS Main channel were restarted without any deployment.
  • On Wednesday, July 26th, 2023, RC currently on the BlueSteel channel should be expanded across all the channels. This comprises:
    • llGetPrimitiveParams will be able to identify animesh.
    •  The estate ban limit gets raised to 750, and the number of estate managers to 20, Not that the viewer-side changes to access these updates can be found in the Maintenance U(pbeat) RC viewer, listed in the Viewers section, below.
    • Two new LSL functions for LSD llLinksetDataDeleteFound and llLinksetDataCountFound.
    • Changes to UUID generation on certain items per my week 26 SUG meeting summary (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer.
    • Further work to correct some of the friends issues (as seen with BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”). However, how effective these updates might be will not be fully understood until the update has been more widely tested through general use on Agni.

Viewer Updates

No updates at the start of the week, leaving the current official viewers in the pipeline as:

General Discussion

  • [Video: 9:21 (start)] A discussion on integrated development environments (IDEs) for developing LSL code, leading to a broader discussion on LSL scripting, coding in general, helping new users with getting started with LSL, together with a significant discussion on better means of handling stack heap collisions, and more. This runs through the majority of the meeting.
  • [Video: 19:50-23:38] The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database) is still awaiting a initial RC channel release.
  • [Video: 47:49] A fix for BUG-233772 “llHTTPrequest times out after 40 secs” is now live.
  • Further requests for LL to devote more resources towards improving region crossings.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 week #29: SL CCUG meeting summary: Senra, glTF, etc.

LemonCliff, May 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, July 20th, 2023. 

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current work, upcoming work, and requests or comments from the community, together with viewer development work.
  • As a rule, these meetings are:
    • Held in-world and chaired by Vir Linden.
    • Conducted in a mix of voice and text.
    • Held at 13:00 SLT on their respective days.
    • Are subject to the schedule set within the SL Public Calendar, which includes locations for both meetings (also included at the end of these reports).
    • Open to all with an interest in content creation.

Viewer Updates

  • The Maintenance U(pbeat) RC viewer, version 6.6.14.581101, was released on July 21st. Key changes in this viewer comprise:
    • Improvement parcel audio as the viewer leverages VLC for audio streams.
  • The Inventory Extensions viewer was promoted to RC status with version 6.6.14.581058, on July 20th.
    • A new option Show Ban Lines On Collision (toggled via World→Show) which will only show banline on a direct collision (foot or vehicle) rather than constantly visible when within camera range.
  • The Alternative Viewers page appears to have suffered a hiccup, listing version 6.6.12.579987 as the “Win32+MacOS<10.13” RC viewer.  However,
    • The Win 32  + Pre-MAC OS 10.3 viewer was promoted to release status on July 5th.
    • 6.6.12.579987  was the version umber assigned to the Maintenance S RC viewer (primarily translation updates), originally issued on May 11th, and promoted to de facto release status on May 16th.

The release and Project viewers currently in the pipeline remain unchanged:

    • Release viewer: 6.6.13.580918, formerly the Maintenance T RC viewer, promoted on July 14.
    • Project viewers:

Senra NUX Avatars

  • There was a stir in the week when the Senra brand of mesh avatars designed by LL (and primarily intended for new users as a part of the New User eXperience  – NUX) were made available through the system Library and then withdrawn.
  • This was apparently not an error on LL’s part, but rather the result of an issue with the avatars being noted, prompting their removal from the Library.
  • The removal did not prevent some users grabbing copies of the avatars + accessories (presumably by copying items from the Library to their inventory), which weren’t removed as a part of the “recall”.
  • The appearance of the bodies + accessories also sparked a fair degree of forum discussion, approximately starting towards the bottom of page 17 of this thread.
  • In reference to the thread, LL encourage those who did manage to retain the Senra bodies and are observing issues / have concerns to continue to record feedback there, as “all eyes” involved in the project are watching that thread.

glTF Materials and Reflection Probes

Project Summary

  • To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
  • There is a general introduction / overview / guide to authoring PBR Materials available via the Second Life Wiki.
  • For a list of tools and libraries that support GLTF, see https://github.khronos.org/glTF-Project-Explorer/
  • Substance Painter is also used as a guiding principal for how PBR materials should look in Second Life.
  • Up to four texture maps are supported for PBR Materials: the base colour (which includes the alpha); normal; metallic / roughness; and emissive, each with independent scaling.
  • Given the additional texture load, work has been put into improving texture handling within the PBR viewer.
  • In the near-term, glTF materials assets are materials scenes that don’t have any nodes / geometry, they only have the materials array, and there is only one material in that array.
  • As a part of this work, PBR Materials will see the introduction of reflection probes which can be used to generate reflections (via cubemaps) on in-world surfaces. These will be a mix of automatically-place and manually place probes (with the ability to move either).
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • As a result of the updates, SL’s ambient lighting will change (e.g. indoor spaces will appear darker, regardless of whether or not Shadow are enabled), and so there will be a period of adjustment for users (e.g. opting to install lighting in indoor spaces, choosing between the HDR lighting model of glTF or opting to set a sky ambient level).
  • The viewer is available via the Alternate Viewers page.
  • The simulator code is now more widely available on the Main Grid, including some sandbox environments, but still in RC. Demonstration regions might be found at: Rumpus RoomRumpus Room 2, Rumpus Room 3, Rumpus Room 4, Rumpus Room 5.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • Many in the team have been out-of-office recently, and so work had slowed for a while.
  • The focus remains on bug fixing within both the viewer and the simulator code.

Double-Sides Materials Concerns

A request was made for LL to remove double-sided materials from the PBR work, due to the following concerns:

  • Inexperienced creators misunderstanding the capability (e.g. a content creator who makes a pendant with 500,000 triangles and applying materials to all of them, overriding backface culling), and:
  • Clothing creators who add additional tris along the edges of clothing (e.g. cuffs, lapels, collars, etc.), to given the illusion of an “inner” material instead utilising double-sided materials instead, leading to:
  • The potential of both of these leading to noticeable viewer performance impacts (e.g. due to doubling the amount of rasterising the viewer must perform).

In response Runitai Linden noted:

  •  Double-sided materials is a part of the glTF specification, and so will remain  within the PBR project, and so forms a part of the overall requirements for obtaining Khronos 3D commerce certification, which LL would like to achieve for Second Life, and for that reason will not be removed.
  • In terms of performance LL believe:
    • Double-sided materials generally do not get rasterised twice (e.g. if you are looking at the front face of a leaf with double-sided materials, the back face is not rasterised) – although there are some exceptions to this.
    • Double-sided materials are a “fill” hit, not a per triangle hit, so the performance hit decreases exponentially as the camera moves away from the object – so for actual double-sided objects, it is a performance win.
  • To help safeguard against accidental misuse, the option to apply double-sided materials must be explicitly enabled when uploading, even if the materials themselves have been created as double-sided (if the option is not explicitly set, then they will be uploaded as single-sided).
  •  The issue does admittedly have edge-cases, and there are issues around any implementations for double-sided materials (e.g. how do you penalise for incorrect use? Increased LI? But then – a) what about worn items (which are immune to LI), and b) how does the viewer differentiate between “correct” use of double-sided materials and an “incorrect” use, in order to avoid penalise good practices in error?
  • However, LL are not going to disable / artificially limit the use of double-sided materials due to the potential for misuse, either accidental or deliberate.

PBR Mirrors

  • This is a follow-on project to the PBR Materials, intended to provide a controlled method to enable planar mirrors in SL (i.e. flat surface mirrors which can reflect what is immediately around them, including avatars).
  • As per my previous CCUG update, the approach being taken is to use a “hero probe”.
    • This uses a materials flag added to a surface which allows it to be considered as a mirror face, based on the proximity of a camera to it.
    • When a camera is within the expected range, the flag will instruct the viewer to create a “hero probe”, rendering high resolution (512×512) reflections on the mirror surface until such time as the camera moves away.
    • It is an approach which allows for multiple mirrors within a scene, whilst minimising the performance impact to only one mirror per viewer.
  • The concept is now working in tests, and depending on performance, it is possible the viewer might be allowed to support up to two hero probes at a time: one for any nearby mirror surface, and the other for generating reflections on any nearby Linden Water.
  • It is hoped that a project viewer will be available for public testing of the idea will be available Soon™.

ARC  – Avatar Render Cost

  • Intended to be a means of calculating the overall cost of rendering individual avatars by the viewer, ARC has long been acknowledged as inaccurate.
  • Currently, the project to adjust both ARC calculations and the actual cost of rendering in-world objects to make them more reasonable – Project ARCTan – remains inactive.
  • The problem with such metrics like ARC is that they depend on a range of analyses which, when combined, do not necessarily result in an accurate reflection of real-world rendering very well.
  • However, those curious about the rendering cost can use:
    • World→Improve Graphic Speed→Your Avatar Complexity to seen the render impact (in ms, currently for the CPU, but with the PBR viewer, for the GPU) of their own attachments can have on own and other viewers.
    • World→Improve Graphic Speed→Avatars Nearby to see the rendering impact of other avatars within view.
    • Note that both will fluctuate do to the general “noise” of rendering, however, the generated figures are far more accurate in real terms than those for ARC.
    • Details of these capabilities – first deployed in Firestorm, and contributed to Linden Lab for inclusion in all viewers, can be found in this blog, here.
  • Questions were asked over the ability to see these figures displayed over avatars heads vs. having to go to a “specialised” menu, with some at the meeting pointing to the overhead display being preferable, because it it “there”. However, this overlooks the facts:
    • It could be received as “cluttering” the in-world view and reducing immersiveness.
    • If displayed as hover text, it could be easily disabled either by an dedicated UI setting or simply by exposing the debug to disable avatar-related hover text
    • Most particularly, any such display (even if added to name tags) would in fact adversely impact performance due the CPU / GPU cycles taken up by performing the calculations and then displaying them – with Runtai noting it can takes “several times longer” CPU time to calculate and display avatar render cost on the than it does to render the avatar.
  • The above led to a broader discussion on how to encourage better awareness of avatar impact on viewer performance (ARC shaming not being a positive approach to things), such as general education among users and having some form of “try before you buy” capability (if this were possible to implement) which would offer the ability to see the impact of wearing a specific attachment ahead of wearing it), or some form of inspection capability at upload which might encourage creators to go back and better optimise their avatar attachments.
    • One noted issue here is ensuring both sides of the equation have the tools to make more informed decisions: creators in terms of making their content more performant / efficient, and consumers to enable them to be able to better identify performant / efficient content. The latter is particularly important in its ability to drive market forces through users being able to naturally gravitate towards more efficient content.

Tags for Wearables

This was an idea mooted by the Lab in the meeting – not a project currently being worked upon.

  • A tag system which allows items with a certain tag to automatically replace another of the same tag type with a single click and without also replacing other items using the sane attachment point. For example, an item tagged as “hair” replaces the currently worn hair with a single click, but without also knocking off a hat also worn on the skull.
  • This was expanded upon by the idea of tags being used with demo items – the tag being used to perform tasks such as:
    • Only allowing the demo item to be worn within a certain location (e.g. the “dressing” area of the store).
    • Somehow records the item being worn prior to using the demo, o that it is automatically replaced when the demo item is removed.
  • The problem with the latter idea is that everyone uses demos differently, so assigning a single place at which a demo can be tried is a non-starter (do we really wany people trying demos at already busy events? What about items purchased via the MP or affiliate vendors, what location should be assigned to them? How is the creator to differentiate? Multiple versions of the same item for different points-of-sale? What about people who don’t have a home location by use sandboxes, but the demo tagged for use only within the avatar’s home location? Can this realistically even be done?).
  • An alternative suggestion for tags put forwards at the meeting was to have them as a part of the upload process, so creators could be reminded / encouraged to specific the desired attachment point via a tag list, so that users are not left with items defaulting to their avatar’s right hand.
  • There are a range of issues over any tag system, including:
    • a) How well the option would be used unless enforced; b) Even if enforced, how many content creators, would actually define the preferred attach point over just selecting the first one on the list?
    • The idea leans towards WEAR, rather than ADD – so will not necessarily overcome the confusion of new users who wish to ADD an item to their avatar, only to find it knocks something else off of their avatar.
    • How many tags should be in the system? “Hair”, “shirt”, “pants”, “gloves”, “shoes” are all straightforward – but what about shawls or shoulder wraps? should they be classified as a shirt or a collar, or have their own tag or individual tags? How are rings, earrings, pendants, etc., be classified / tagged?

Next Meeting

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #29 summary

Luane’s Magical World, May 2023 – blog post

The following notes were taken from the Tuesday, July 18th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • On Tuesday, July 18th, 2023, all simhosts on the the SLS Main channel were restarted without any deployment.
  • On Wednesday, July 19th, 2023, the BlueSteel RC channel should be updated with a new simulator version, comprising:
    • llGetPrimitiveParams will be able to identify animesh.
    •  The estate ban limit gets raised to 750, and the number of estate managers to 20 – however, a viewer-side update is required for these changes to be visible.
    • Two new LSL functions for LSD llLinksetDataDeleteFound and llLinksetDataCountFound.
    • Changes to UUID generation on certain items per my week 26 SUG meeting summary (e.g. textures, notecards, materials (particularly the upcoming PBR Materials)) to reduce the amount of duplication. These changes will not impact  UUIDs for objects rezzed in-world or made by the viewer.
    • Further work to correct some of the friends issues (as seen with BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”). However, how effective these updates might be will not be fully understood until the update has been more widely tested through general use on Agni.

Viewer Updates

No updates at the start of the week, leaving the current official viewers in the pipeline as:

General Discussion

  • Core discussion points in the meeting:
    • [Video: 5:57 (start)] A general discussion on the new LSL / LSD functions and associated constants, which widens into a wider discussion on LSL / LSD.
    • [Video: 18:58 (start – overlapping with LSL / LSD discussion)] Discussion on larger regions vs. attempting to fix current region crossing issues. In short: larger regions would be a deep, fundamental change to SL (much of the simulator and viewer code is built on the assumption that regions are sized at 256x256m) which would likely not resolve the overall issue of region crossing events; ergo, the general consensus was towards trying to solve for crossing issues with the current region size. This led to a broader discussion on region sizing, user on-boarding, etc.
    • [Video: 21:22 (start – overlapping with the above)] Questions on throttling glTF overrides on animations (particularly in reference to puppetry).
  • In brief:
    • Confirmation that the ability to allow experiences to access the key-store from anywhere without land permission should be in the next simulator maintenance update.
    • The work to lighten the impact of avatars entering a region (in particular via teleport) impacting region / viewer responsiveness has yet to reach the main grid.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.