2022 week #31 CCUG and TPVD meetings summaries

The Shambles, June 2022 – click any image for full size

The following notes were taken from:

  • My audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, August 4th 2022 at 13:00 SLT.
  • The video recording by Pantera Północy of the Third-Party Viewer Developer (TPVD) meeting on Friday, August 8th, 2022 at 13:00  SLT. This video is embedded at the end of this summary, my thanks to her as always for recording the meetings.

These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar.

This is a summary of the key topics discussed in both meetings, and is not intended to be a full transcript of either.

Common to Both Meetings

Official Viewers Update

[TPVD meeting Video: 0:00-0:43]

  • On Thursday, August 4th, 2022, the Maintenance 2 RC viewer, version 6.6.2.573358 and dated August 1st, was promoted to de facto release status.
  • On Friday, August 5th, the Maintenance (N)omayo RC viewer was updated to version 6.6.3.573882.

The remaining official viewer pipelines are as follows:

  • Release channel cohorts:
  • Project viewers:
    • Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Copy / Paste project viewer, version 6.3.5.533365, dated December 9, 2019.

Graphics Preferences Updates

[TPVD Meeting Video: 5:05-17:26]

  • LL is deprecating a number of Graphics Preferences from the viewer. These include:
    • A number of obsolete options (e.g. terrain detail slider, avatar cloth option).
    • The removal of the abilities to turn off the Advanced Lighting Model (ALM) and turn off atmospheric shaders.
  • The latter two have been previously indicated, and form a part of the PBR  / materials work, where the plan is to eventually have two rendering paths: ALM with PBR support and ALM without PBR support.
  • HOWEVER:
    • While the options to disable ALM / Atmospheric Shaders are being removed from the official viewer, the actual rendering code for non-ALM rendering (aka forward rendering) is not at this point being removed.
    • The rendering code will not be removed from the viewer until such time as Linden Lab has a high level of confidence there is no significant impact on users’ SL experience in having to run with ALM enabled all the time, across the vast majority of supported hardware / edge-cases do not emerge where forward rendering is required.
  • There is still work to be done in order to get ALM running at the (generally faster) frame rates seen with non-deferred rendering, and these are said to be “coming in” to the viewer.
    • This work includes adding a slider for the number of local lights, so that users on lower specification hardware can dial-down the number of such lights that are rendered, thus helping to boost performance.
    • However, it was noted that if some doe experience issues due to running their viewer at High / Ultra settings (and their hardware cannot really handle this with ALM enabled), the will be encouraged to lower the quality slider.
  • Work still to be done on implementing a “data saving” / low bandwidth mode for those on metered Internet connections that will reduce the amount of data (e.g. materials maps) the viewer has to receive. However, the extent of this work and what it touches on in the viewer is still being specified / investigated.
  • LL is “reasonably confident” that content will look as intended under both non-PBR and PBR rendering, and that it will run as well under ALM as it does currently with ALM turned off.
  • It is hoped that eventually Second Life will reach a point where the ability to “turn off” PBR rendering could be removed from the viewer – however, it is acknowledged that there is hardware feature required by PBR that isn’t support by all client systems, so this dependency needs to be removed before this can be done.

CCUG Meeting Specific

Materials and PBR Work

Please also see previous CCUG meeting summaries for further background on this project.

  • Work is progressing both on the back-end and with the viewer, although the latter is not ready for any form of public consumption.
    • The plan remains to produce a test view that will be made available in the near future, and have regions on Aditi (the Beta grid) where it can be tested. Most of the viewer-side work is focused on bug fixing.
  • Overall, the focus remains on supporting the core glTF 2.0 specification, particularly now this is a recognised international standard (ISO/IEC 12113:2022).
    • This will provide six supported channels remain Albedo, Normal, Emissive, Ambient Occlusion, Roughness, and Metal.
    • Subsurface scattering and terrain support will not be part of the initial release.
  • While interest has been expressed in seeing a glTF mesh uploader in the viewer, this will also not be a part of the initial PBR supporting viewer; the focus is on getting the adopted core specification elements working before attempting to add additional capabilities.

Custom Pivot Points

There have been numerous requests over the years for allowing custom pivot points in mesh at upload (while pivot points can be defined in a .DAE file, they are currently ignored at upload). However, investigation has suggested provision of a solution is more complex than had been thought, prompting a discussion that ran through the majority of the meeting. The following is an attempt to provide a reasonable summary of that discussion.

  • Arbitrary pivot points can be defined using LSL. However, this is far from perfect.
    • It places a severe load on the simulator due to the number of object updates (rotation and translation)  that must be exchanged between the simulator and viewers as the object is moved.
    • As rotation is, by default around an object’s or linkset’s centre, LSL solutions often rely on workarounds by creators to achieve a desired result (such as by physically placing a small mesh triangle away from the object and then linking them, so as force the centre point between them to be offset relative to the object). Unfortunately, such techniques can have issues of their own (bounding box sizing, physics upsets, etc).
    • It relies on somewhat arbitrary interpolation to achieve a smooth rotation / pivot.
  • Some years ago, a code contribution was made to LL which would enable the pivot points / offsets set within a mesh .DAE be preserved at upload (e.g. by the addition of a simple check box in the uploader which would instruct it to import the file with the offset data).
    • Unfortunately this solution has its own potential limitation – it effectively bakes the offset point into the object, precluding any further manipulation of the offset were any required – it is thus not viewed by the Lab as optimal unless it can be shown it would in fact work for the vast majority of potential use-cases requiring custom pivot points.
  • One alternative solution might be to add a new parameter to all volumetric primitives which defines their origin point / centre. This would potentially be more flexible that the above approach, but also carries issues of its own, including:
    • It still may not work for all use-cases, leading to further alternative approaches being taken, leading to potential conflicts in execution between to different approaches.
    • What happens in linkset where child prims are specifically targeted for manipulation? if a custom pivot point is set within the root of the object, will it play nicely with the child prims that are themselves being manipulated (e.g. moved), or will things like scaling errors be introduced?
  • Perhaps the biggest issue identified with providing support for custom pivot points (and which has bearing elsewhere within and for Second Life) is that the platform has no real concept of a node hierarchy – it simply sees all items in the linkset as “children” of the root, whether or not they are linked to it directly or “via” other items in the linkset. (e.g. if you link prims “A” and “B” together, A is a “child” of “B”; if you then link “B” to “C”, SL sees “A” and “B” as equal “children” of C; whether in a node hierarchy, “B” would be seen as a child of “C”, but “A” would remain a child of “B”).
    • Such a hierarchy would more readily allow for pivot points, as they would be executed according to their parent child relationships, eliminating the need for additional script calculations to ensure the correct rotation / positioning of child primitives.
    • Unfortunately, implementing a node hierarchy at this point in Second Life’s development is not a trivial undertaking, and more work is required to fully understand the overall benefits implementing it would bring compared to the potential issues / drawbacks – and there does seem to be an appetite among some at the Lab to move in this direction.
  • Overall, no solid conclusions were drawn at the meeting – other than the fact that more structured discussion is required (including encompassing avatar attachments, which have their own raft of considerations).
  • In the meantime it has been suggested that an “amend” version of the code contribution that would allow pivot points / offsets defined within a mesh during creation are recognised and maintained by the uploader, rather than being ignored, is implemented within a test viewer, and this could be made available to creators for review / testing.

TPVD Meeting Specific

Changes to the Official Viewer Repositories and Build Process

[Video: 1:12-4:42]

  • This is an initiative to improve continuous update integration in the viewer and improve the viewer deployment process.
  • For TPVs and developers, the most visible aspect of this is moving the viewer repositories from BitBucket to GitHub.  This includes the viewer code base and the other public code bases currently in BitBucket (Autobuild, LLCA, etc.).
  • There are a number of reasons for doing this, including future potential to:
    • Automate pull requests for code.
    • Potentially simplifying the Code Contribution licence.
  • There work is being carried out in two phases: move the repositories to GitHub and then establish the infrastructure to take advantage of GitHub’s capabilities.
  • LL expects to spend a “couple of months” getting things in place before they are ready to offer a more precise timeline on the repository migration (which will be of core value to viewer developers), and will be looking to discuss this in future TPVD meetings.

Next Meetings

  • CCUG: Thursday August 18th, 2022.
  • Friday, September 2nd, 2022.

August 2022 Web User Group summary: Search

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 3rd, 2022.

These meetings are generally held in-world on the first Wednesday of the month, with dates and venue details available via the SL public calendar. They are usually chaired by Reed Linden, who is the Lab’s Product Manager for the Second Life front-end web properties (Marketplace, secondlife.com, the sign-up pages, the Lab’s corporate pages, etc.).

A video of the meeting, courtesy of Pantera, can be found embedded at the end of this article (my thanks to her as always!), and subject timestamps to the relevant points in the video are provided. Again, the following is a summary of key topics / discussions, not a full transcript of everything mentioned.

Forum Policy Changes

[Video: 1:48-17:12]

Note: Forum governance (and governance & policy topics in general do not fall under the remit of the web team, and so are usually not a part of discussions at the Web User Group. However, an exception was made at this meeting, to allow Keira Linden to discuss the recent policy and moderation changes made to the SL forums.

As her comments and the feedback from some attending the meeting have no bearing on the Lab’s Web properties per se, I have separated them into a separate article, Forum changes: Keira Linden speaks, and I refer those interested to that summary (video included). This article will focus pure on the discussions concerned the Lab’s web projects.

Premium Plus and Name Changes

[Video: 17:38-23:15]

  • Features continue to be added, and tweaks made to the service.
  • Most recently, Name Changes were added to Premium Plus for a fee of US $14.99, with the Premium price lowered, and the service extended to Basic accounts as well – see: SL Name Change fees updated & service extended to Basic accounts for more.
  • In addition, the one-time price reduction for those joining Premium Plus on the monthly payment plan (so $24.99 for the first month instead of $29.99) has been extended through to Monday, August 8th, 2022 – see Premium Plus sale last chance (via linden Lab) for more.
  • [Video 51:40-51:53] An upcoming feature for Premium Plus is “VIP Regions”.
    • The grid infrastructure to support these is now in place.
    • Exactly how these will be used was not specified.

Search Relevance

[Video: 23:34-31:15]

Note: the following refers the web Search and the in-viewer Search, it does not currently apply to the Marketplace.

  • As a part of (continuing) work to improve web Search, LL implemented a “search relevance engine” machine learning tool, designed to observe how Search performs and gradually improving the relevancy of results.
  • This tool has now been in use for a couple of months or so, and LL is now has some meaningful results from it.
  • Prior to the tool being implemented, it was possible:
    • To search for the same term using different case sensitivities (e.g. “apple” and “APPLE”) and get completely different search results.
    • To search for a precise brand name (e.g. “Maitreya”), but have to scroll through multiple result before finding the brand store itself.
  • With the new tool, issues such as these are gradually being identified and corrected (based on searches users are making) by the tool itself, without the need for human intervention.
  • As more searches are made and recorded by the tool, so it is anticipated that more users should start seeing the relevance of their search results improve.
  • In addition:
    • More data is being gathered on users’ search behaviours (e.g. how often do people click on items on the first page of a set of search results as opposed to scrolling down the list), so this information can also be fed back into the search relevance engine.
    • The Search team is starting to work on fuzzy matching, which it is hoped will assist those who have typing issues, or form whom English is a second language, so so may mis-spell terms / names.
  • TPV developers repeated a request for an API to be provided, so the updated search capabilities can be leveraged by legacy search capabilities used by TPVs.

Marketplace

[Video: 31:20]

  • Work on Marketplace variances – now called Styles – is progressing, with al the required infrastructure now in place.
  • The remaining work for this is front-end related, and is targeted for completion later in the year.
  • The Marketplace rebuild (see my June 2022 and July 2022 summaries) is targeted as a 2023 project.

In Brief

  • There are a “lot of struggles” going on around a mobile / web client, and is “not a straightforward product”.
    • Some of these “struggles” revolve around whether the Lab should being its own solution or partner with a third-party (perhaps one already providing a solution for mobile / browser access to SL) to develop a solution.
    • In this, LL has been working with the Speedlight team, but there is nothing that should be currently perceived as a formal partnership between the two.
  • TPVs representatives also requested:
    • LL give serious thought to a long-promised Events API to allow TPVs to pull events from the web events lists and promote them through the viewer (e.g. via the Splash screen).
    • BUG-231714 “[WEB] Please make Linden Lab splash screen data public in documented XML or JSON files” be given greater consideration.
  • Access to real-time traffic data (avatars within a region / parcel) was again been requested in relation to search results (so when you search for a place you can see how many are there).
    • This is described as difficult to provide, as simulators would have to be polled every single time a location on them is searched – which could be multiple times, with search having to be frequently re-indexed to reflect the updated traffic figures.
    • Search indexing rates are being increased, but they are not at a point where that indexing is frequent enough to support real-time traffic data.
  • Multi-Factor Authentication: no further progress since extending it to the viewer. However, the Lab still hopes to move away from a wholly third-party app based approach, although there are no time frames for when this might be achieved.
  • There is a (non-Web) discussion on the “secret sauce” of SL, the complexities of the viewer, questions around splitting the viewer into two modes (as seen with the Basic and Full viewer, circa 2010-11), none of which is particularly relevant to this summary, but can be video in the video.

Next Meeting

  • Wednesday, September 7th, 2022. Venue and time per top of this summary.

2022 SUG meetings week #31 summary

Golden Hair, June 2022 – blog post

The following notes were taken from the Tuesday, August 2nd, 2022 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.

Server Deployments

No deployment plan notes were available on the forums at this time of writing this update.

  • On Tuesday, August 2nd, the simhosts on the Main SLS channel were restarted without any deployment, leaving them running simulator version 573176, comprising infrastructure updates.
  • On Wednesday, August, 3rd, all RC channels will be restarted, also with no deployment, also leaving them on simulator version 573176.

This means that the anticipated new scripting items (llSetEnvironment and llReplaceEnvironment and a new flag STATUS_DIE_AT_NO_ENTRY will now not be deployed until week #32.

Available Official Viewers

  • On Monday, August 1st, 2022, the Maintenance Optimisations RC viewer updated to version 6.6.2.573023.

The remaining official viewer pipelines remain as:

  • Release viewer: version 6.6.1.572458 – formerly the Maintenance M(akgeolli) RC viewer, promoted June 29 – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
  • Project viewers:
    • Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Copy / Paste project viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • There was a general discussion on chat relays and the means to deliver chat to all avatars in a large parcel (e.g. such as those attending a presentation) that adheres to parcel boundaries in a way that current scripted chat extenders do not, and in lieu of the server-side chat range extension being generally available. Please refer to the video for details and:
  • Simon Linden has been working on Group Chat to try to further improve it. In discussing the work, he indicated that the Group Chat server cluster is now running with 4x the servers it had previously.
    • His work is currently focused on a disparity between the viewer and the group chat servers, where the viewer believes it is part of a Group Chat, but the controlling server for the chat doesn’t believe the viewer is connected to it.
    • He also noted the issues users have where the are suddenly disconnected from a Group Chat Session but not reconnected without manually closing / reopening the Group Chat session, or where a log-log fails to re-connect to a Group chat.
    • Part of the problem with Group Chat and other services is that while they run on server clusters separate to the simulators running regions, the simulator is currently the *only* connection point between the viewer and the rest of SL, so it has to act as a form of “relay”, and this can be unreliable (due to TP disconnects, etc.).
    • What would be preferable is a more reliable form of connection – such as the log-in service – which could monitor the viewer more so that when it re-connects to SL after a crash / disconnect, the service “orders” the viewer to re-connect to the additional services like the Group Chat servers it had previously been using.
    • This is something Simon indicated he’d personally like to see, but it would require considerable work.
  • For the rest of the meeting, please refer to the video.

2022 SUG meetings week #30 summary

Making Memories, June 2022 – blog post

The following notes were taken from the Tuesday, July 26th, 2022 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.

Server Deployments

No deployment plan notes were available on the forums at this time of writing this update.

  • On Tuesday, 26th, and in an extended deployment period, simhosts on the SLS Main channel were updated to simulator version 573176, comprising infrastructure updates.
  • On Wednesday, July 27th, all RC channels will be restarted, with those simhosts currently not on it also being updated to simulator version 573176.

The hardware configuration changes being introduced are intended to improve the deploy strategy and automate some operational tasks going forward; there’s no changes that might impact runtime performance.

This means that the anticipated new scripting items (llSetEnvironment and llReplaceEnvironment and a new flag STATUS_DIE_AT_NO_ENTRY will now not be deployed until week #31.

  • llSetEnvironment and llReplaceEnvironment are for EEP, and work across a region, they cannot be applied to single environments set by altitude.
  • STATUS_DIE_AT_NO_ENTRY will behave like STATUS_DIE_AT_EDGE but for when an object enters a parcel, and will eliminate the “can’t move object to” popup if an object with copy perms has the flag set to TRUE when it attempts to enter a no-entry or full parcel.
    • This should mean creators can make bullets, undulating worms and whatnot that do not result in spam) which will behave like STATUS_DIE_AT_EDGE but for when an object enters a parcel), won’t be deployed to any RCs until week #31.

Those wishing to test these functions can one so on the regions Jigglypuff, Flareon and Mauve on Aditi).

Available Official Viewers

No official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version 6.6.1.572458 – formerly the Maintenance M(akgeolli) RC viewer, promoted June 29 – no change.
  • Release channel cohorts:
    • Profiles RC viewer, version 6.6.2.573372, July 21.
    • Izarra Maintenance RC, version 6.6.2.573282, July 20.
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.2.573023, July 11.
    • Maintenance Optimisations RC version 6.6.2.573065, July 7.
  • Project viewers:
    • Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste project viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • More general discussion on region crossings, larger region sizes, altering ground level to allow for deeper oceans (i.e. below sea level = negative values). This also touched on BUG-227303 “collisions makes a script stop running and revert its mono status”, which the Lab is apparently in the process of picking up.

2022 SUG meetings week #29 summary

The Lost Gardens of Pompeii, June 2022 – blog post

The following notes were taken from the Tuesday, July 19th, 2022 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.

Server Deployments

No deployment plan notes were available on the forums at this time of writing this update.

  • There was no deployment for the SLS Main channel on Tuesday, July 19th, leaving all servers assigned to the channel on the crash fix deployment of Friday, July 8th (version 573149). However, the simhost servers were restarted.
  • On Wednesday, July 13th, the LeTigre RC simulator version 573176 (joining BlueSteel), intended to help future deploys work better. Simhosts on the remaining RC channels will be restarted without any deployment.
  • This means that BUG-232324 “Add STATUS_DIE_AT_NO_ENTRY Object Status” will now not be deployed until week #30. In the meantime, the functionality will be available for testing on Aditi’s Jigglypuff region “by the end of the week”.

Available Official Viewers

No official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version 6.6.1.572458 – formerly the Maintenance M(akgeolli) RC viewer, promoted June 29 – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.2.573023, July 11.
    • Maintenance Optimisations RC version 6.6.2.573065, July 7.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.

In Brief

  • There was further discussion on the issue of overflow object return (as opposed to Autoreturn) and locked objects following the filing of Feature Request BUG-232368 “A “Locked” object should resist being returned, and change how objects are returned”, which also involved the return of coalesced objects, handling of No Copy objects in coalesced returns, etc. Please refer to the video below.
  • There there been an uptick in HTTP 499 (timeout) errors between in-world objects and external servers.
  • Please refer to the video below for the full meeting.

2022 SUG meetings week #28 summary

The Wylde, May 2022 – blog post

The following notes were taken from the Tuesday, July 12th, 2022 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.

Server Deployments

For the latest updates and news, please refer to the simulator release thread in the forums.

  • There was no deployment for the SLS Main channel on Tuesday, July 12th, leaving all servers assigned to the channel on the crash fix deployment of Friday, July 8th (version 573149).
  • On Wednesday, July 13th, the Ferrari RC will be upgraded to simulator version 573176 (joining BlueSteel), intended to help future deploys work better. Simhosts on the remaining RC channels will be restarted without any deployment.

Available Official Viewers

  • The Nomayo Maintenance RC (Maintenance N) viewer updated to version 6.6.2.573023, on July 11th.

The rest of the current crop of official viewers remains as follows:

  • Release viewer: version 6.6.1.572458 – formerly the Maintenance M(akgeolli) RC viewer, promoted June 29 – no change.
  • Release channel cohorts:
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.

In Brief

  • The PNG-instead-of-jpg200 images issue and the “fallback” use of UDP messaging via the simulator for texture data fetching was covered in brief – both are outlined in more detail in my TPVD week #27 meeting summary.
  • The question was asked whether – should the need arise for an automated return of items within a region / parcel due to overflow – there is an implied hierarchy in which items are returned (e.g. are “unlocked” items returned before “locked”?
    • LL does not believe there is any differentiation between unlocked or locked objects when it comes to an automated return, but this will be confirmed at the next SUG meeting.
    • There are other potential factors involved in the selection of items to be returned in these circumstances which may come into play that could complicate which items are returned.
    • The purpose of the question was to ascertain a way of minimising damage in a region where a griefer manages to trigger the return of objects.
    • The question sparked a broader conversation on returned objects (particularly as coalesced packages) across much of the rest of the meeting – please refer to the video.
  • BUG-231802 “Prevent vehicles from entering parcels their riders cannot access”, together with providing a means for a viewer to request all active ban lines within a region, is said to be “queued” for work to commence on them – although no coding has started as yet.
  • BUG-232324 “Add STATUS_DIE_AT_NO_ENTRY Object Status” is described as being in the next maintenance simulator update.
  • There is a discussion on map tile texture UUIDs and surfacing them so that tools similar to those used by the (3rd party) Grid Survey tools could make use of them.