2023 week #15: SL TPV Developer meeting summary

Kawaii City, February 2023 – blog post
The following notes were taken from m y audio recording and chat log transcript of the TPV Developer (TPVD) meeting held on Friday,  April 14th 2023 at 13:00 SLT. Meeting Overview
  • 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 to discuss general viewer development.
  • As a rule, these meetings are:
    • Generally held once a month  the third or fourth Friday, at 13:00 SLT at the Hippotropolis Theatre. See the SL Public Calendar for specific meeting dates.
    • Open to all with an interest in viewer development.
    • Conducted in a mix of text and voice.
  • The notes herein are drawn from a mix of my own chat log and audio recording of the meeting, and are not intended to be a full transcript.

Official Viewers Status

[Video 0:00-2:51]
  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Maintenance T RC viewer, version 6.6.11.579154, April 6th.
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.11.579238, April 4th.
    • Maintenance S RC viewer, version 6.6.11.579153, March 31st.
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.579401, April 11 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

Future Viewer Notes

  • Inventory thumbnails viewer: work is progressing well, however as well as viewer changes and additions to the inventory database (the latter of which has been completed), it will require updates to the Avatar Inventory System (AIS) and a simulator update, so the will be no project or RC viewer until this back-end work has been done.
  • Work has resumed on providing emoji support in the viewer (Oh, joy.). This work is based on a contribution from the Catznip viewer.

In Brief

  • [Video: 3:04-5:46] PBR Materials mini-update:
    • The viewer has been updated, but is still at Project Viewer status.
    • A new dynamic exposure setting has been added to improve tone mapping.
    • Bug fixing work is continuing, and Brad Linden is working on getting PBR Materials to work more robustly over networks with heavy loads.
    • The hope is that the next viewer update will clear QA for release as an RC viewer, so that it will be available when the back-end / simulator support gets deployed to the Preflight simulator channel which Rider Linden hopes to achieve in week #16.
    • Making the PBR work more widely available by enabled Agni (Main grid) support and moving the viewer to RC status is seen as a key test of how will the Graphics Team has managed to both support the PBR rendering and maintain the broad look and feel of SL as it appears under the current rendering.
  • Genesis is working on an update which will include and expanded Preferences, together with the ability to search Preferences.
  • A general discussion on a third-party viewer (Rust) that is in development, but not ready for prime-time, server-side rendering and a ringing of the memory bell for the Pelican (IIRC streaming viewer LL toyed with back in around 2007). Please refer to the video, below.

 Next Meeting

  • Friday, May 12th, 2023.

2023 SL SUG meetings week #15 summary

Les Salines, February 2023 – blog post

The following notes were taken from the Tuesday, April 11th 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

  • On Tuesday, April 11th, the SLS Main channel servers were re-started without any update.
  • On Wednesday, April 12th the majority of the RC simhosts should be updated with simulator release 579248, matching the release previously deployed to the BlueSteel RC.

Upcoming Simulator Releases

  • As soon as it clears QA, the simulator support for PBR Materials will be deployed to a limited RC channel – most likely Preflight. This will be ahead of the viewer moving to RC status, but will allow users on the PBR project viewer to test content without having to necessarily log onto the Beta grid.
  • An upcoming pair of simulator releases currently going through QA focus on a range of bug fixes, including:
    • Spurious errors  from llSetKeyFrameMotion.
    • Collisions between vehicles and their riders on a region crossing.
    • The bad throttle on llReturnObjectsByOwner (as raised in the previous SUG meeting).
    • Avatar on-line/off-line notification issues (which comprise multiple issues, and LL have attempted to fix as many as possible).
  • A further simulator update focused on region crossing improvements is in development, but as of this meeting, there was no ETA on when it will go to QA or be ready for deployment.

Viewer Updates

  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Maintenance T RC viewer, version 6.6.11.579154, April 6th.
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.11.579238, April 4th.
    • Maintenance S RC viewer, version 6.6.11.579153, March 31st.
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.578921, April 6 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

In Brief

  • See the video for:
    • A general discussion on region crossing bugs related to region crossings.
    • A discussion on security orbs.
    • A discussion on No-Mod items, the permission system and the pains caused by No Mod, and the potential to tweak No Mod (or offer a “No Mod(ish)” permission, so that users can still make small changes to No Mod objects (e.g. tinting), whilst allowing the creator to still “protect” their product.
  • For region restarts, Linden Lab is considering adding a capability that would automatically teleport avatars to a designated “alternate home” if their home location is unavailable at the time they try to TP out of a restarting region, and if the “alternate” is not available, then move them to a Safe area.

April 2023 SL WUG meeting: MP search changes

The Web User Group meeting venue, Denby

The following notes cover the key points from the Web User Group (WUG) meeting, held on Wednesday, April 5th, 2023.

WUG meetings:

  • Are held in-world, generally on the first Wednesday of the month – see the SL public calendar.
  • Cover Second Life front-end web properties (Marketplace, secondlife.com, the sign-up pages, the Lab’s corporate pages, etc.).
  • They are not intended for the discussion of Governance issues, land fees / issues, content creation & tools, viewer or simulator development / projects. Please refer to the SL calendar for information on available meetings for these topics.

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.

Marketplace

Recent Updates and General Notes

  • There have been changes made to Marketplace Search. For example:
    • Now, by default (and assuming no search terms have been entered), displaying a merchant’s store page will list their products by newest first).
    • Merchant and Store names are no longer included in the Product search, but are now apply considered when using the dedicated search tab.
  • Some of these updates have caused confusion, so an official blog post has been published to explain them and the reasoning behind them.
  • These changes, and those noted below, are being actively monitored by LL, and further adjustments may be made based on the metrics they are seeing / feedback from Merchants / consumers.
  • In addition:
    • The checkout cart has been updated to allow up to 99 list items to be stored in it (the previous limit was 10).
    • The cap on the total number of search returns, implemented with the last set of Search updates (a total of 50 pages of results) has been rolled back, so that Search will now list all results matching a given search.
  • Unless Boolean, etc., operators are used in entering search terms, Search will now attempt to string together words entered into it and search based on the string (e.g. so whereas entering “blue shirt” would previously have listed items matching “blue” or “shirt”, it will now attempt to limit results to results which have “blue” and “shirt” in their descriptions.

Upcoming Changes

  • “Marketplace spring cleaning” is about to start.
    • This means that if a merchant has not logged-in to the MP for two years, and they have listings which have not seen any sales in the part year, those items will be unlisted.
    • Similarly, if the Merchant has not logged-in in two years and nothing has been sold through their MP store in the past year, the entire store will be unlisted.
    • This work will be blogged about by the Lab as the work starts.
  • E-mail verification: thus far, e-mail verification has not been a requirement for Merchants to use the Marketplace. This will be changing so that e-mail verification will be a requirement. Again, this will be subject to a blog announcement as it comes in.
  • LL is looking at ways to make keywords more effective and reduce the amount of keyword abuse / spamming; however no decisions on direction with this has yet been reached.

In Brief

  • Requests for MP changes:
    • Add a “date listed” field to all MP listings (and possibly a “date updated” field).
    • Put a mechanism in place to prevent people using the Buy Now button when trying to buy an item as a gift for someone else (e.g. a warning that it does not apply to purchasing gifts).
    • Allowing “sub-stores” wherein Merchants who produce products of different types / for different markets can list their products in “sub-stores” under their main brand without the need to create avatar account to run individual stores. This is something that has been requested numerous times, and LL has previously indicated as something that could be considered, although the idea seems to have been lost along the way.
    • As an alternative to this, it was suggested that Merchants should have the means to categories products in their stores (e.g. have a dedicated category for discounts / special offers customers can easily reference without have to search the entire store.
  • BUG-233043 “On the Marketplace Opengraph Metadata tags no longer work” – this prevents the sharing of links to products on various social media platforms from including previews on the item, with only the URL being displayed. It has been a problem since the end of 2022, and was raised again in a request for the Lab to look into it.
  • Those attending the meeting were asked for thoughts on customers being able to leave product reviews without any verification that had actually purchased the product.
    • This was largely seen as a bad idea, due to the potential for malicious comments / griefing.
    • However, there is a possible use-case here in that it allows users purchasing a product in-world to leave a review where otherwise they have no public voice – although with CasperVend now owned by Linden Lab, and the promise of integration between the two, this might offer a path to allow purchases made via CasperVend vendors to be flagged as “verified” and thus allow their review on the MP.
  • The length of MP URLs and difficulty in using them – together with requests for LL to provide a means of shortening them was discussed.
  • The question was raised as to the Destination Guide either being properly curated so that non-existent locations could be removed – or a means provided to allow users report  those locations they find no longer exist in SL (or at least as the given region). This is something that will be passed back to the Destination Guide team.

Next Meeting

  • Wednesday, May 3rd, 2023. Venue and time per top of this summary.

2023 week 14: SL CCUG meeting summary

Perpetuity, February 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, April 6th, 2023 at 13:00 SLT.  These meetings are 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. They are usually chaired by Vir Linden, and dates and times can be obtained from the SL Public Calendar. Notes:
  • These meetings are conducted in mixed voice and text chat. Participants can use either to make comments / ask or respond to comments, but note that you will need Voice to be enabled to hear responses and comments from the Linden reps and other using it. If you have issues with hearing or following the voice discussions, please inform the Lindens at the meeting.
  • The following is a summary of the key topics discussed in the meeting, and is not intended to be a full transcript of all points raised.
Additional note: unfortunately, physical world matters meant I missed the initial part of the meeting, and as it is held in voice, there is little by way of chat transcript to reflect initial discussions prior to my arrival.

Official Viewer Status

On April 6th:
  • Maintenance T(ranslation) RC viewer, version 6.6.11.579154, was issued.
  • The PBR Materials / reflection probes project viewer updated to version 7.0.0.579241.
The rest of the current official viewers remain as:
  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • Release channel cohorts:
    • Maintenance S, version 6.6.11.579153, March 31st.
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.11.579238, April 4th.
  • Project viewers:
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

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.
  • To provide support for reflection probes and cubemap reflections.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • 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.
    • It is currently to early to state how this might change when glTF support is expanded to include entire objects.
  • The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid):  Materials1; Materials Adult and Rumpus Room 1 through 4.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • The viewer has been updated to maintain parity with the release viewer, and work continues to get the viewer to a position where it can move to RC status.
    • Once it does go to RC status, it is expected to remain there for “a few months”.
  • Currently, the viewer is at a point where creators who wish to make content using PBR tools such as Substance Painter can do so and work to the rule-of-thumb that if it looks the same in both Substance Painter and the glTF viewer, than all is well and good – BUT, if the SL version looks noticeably different in the viewer, then a bug report should be filed, the issue should not be worked around.
  • Getting the simulator support for glTF moved to Agni is now being considered.
  • With regards to Bakes on Mesh, glTF Materials work in a similar manner to the current materials – the result of the BoM process gets fed into the base colour (+ the emissive map) like it does with the diffuse map for materials at present.
    • This does not mean BoM is glTF materials enabled; that still requires an update to the Bake Service to support materials data.
    • Updating the Bake Service is still seen as a “high value” future project.
  • The Sun midday position of the Sun has been adjusted so that it is no longer directly overhead, but is angled to appear as it would at a latitude of around 40ºN/S in spring.
Left: the glTF viewer repositions the midday Sun so it is in similar position as it would appear in the physical world at a latitude of around 40ºN/S in the spring, as opposed to being directly overhead as seen in the image on the right. Credit: Runitai Linden
  • Automatic alpha masks are turned off in the PBR viewer, and are likely to remain this way unless a compelling reason emerges for this not to be the case. So the Develop(er) → Rendering → Automatic Alpha Masks option for deferred rendering is off (and the one for forward rendering removed, as the glTF viewer does not support forward rendering).

HDRi Sky Rendering

  • In order to  get parity with High Dynamic Range Imaging (HDRi) environment maps has meant the sky as rendered on the glTF viewer is essentially HDR with added dynamic exposure. Without this change, the sky was lighting everything as if it were a “giant blue wall” rather than a bright sky.
  • This has impacted EEP (the Environment Enhancement Project, and means that the sky can look over-exposed under some settings.
  • LL is trying to zero in on a sky of sky parameters that is acceptable to most EEP settings. However, the issue is particularly noticeable for EEP settings which use “day for night” (e.g. they utilise dark sky tinting, etc., and replace the Sun texture with a planet or moon or some such, because the HDR rendering assumes that because the Sun “up”, there should be a brighter lighting used in the sky.
  • The choice here is:
    • Should the parameter be adjusted for uniformity (and some EEP settings require adjustment), or
    • Should additional control be supplied to allow additional control over the sky brightness, etc., to deal with EEP settings  where the above issues occur?
  • The problems with this second approach are that:
    • It “severely” fragment the expected colour space in the process, leaving content creators having to work with multiple lighting models (e,g. as with working with ALM on or off at present)?
    • It is akin to LL removing the ability to disable ALM in the PBR viewer and remove the older forward rendering code, only to then implement another “button” to alter the environment rendering, rather than keeping things uniform.
  • This topic has been the subject of heated debate within the Content Creation Discord channel.

In Brief

  • Priorities for graphics / content creation work after glTF Materials are currently planar mirrors and then glTF mesh imports.

Next Meeting

  • Thursday, April 20th, 2023.

2023 SL SUG meetings week #14 summary

Panjin, February 2023 – blog post

The following notes were taken from the Tuesday, April 4th 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

  • On Tuesday, April 4th, the SLS Main channel servers were updated with the simulator release 579022 which adds several new LSL methods, including methods to hash strings, replace substrings, and get additional data using llGetEnv and llGetSimStats. It also cleans up some unused codepaths to make future improvements easier.
  • On Wednesday, April 5th:
    • The majority of RC simhosts will be restarted and remain on simhost 579022.
    • The Bluesteel RC channel simhosts will be updated with simulator release 579248, an update to 579022 containing a series of bug fixes and doubles the linkset data memory limit to 128KB.

Wiki entries for the above functions are still in progress.

Upcoming Simulator Releases

The next two week or so should see simulator release intended to address some long standing bugs:

  • The issue with a vehicle colliding with the avatar that was riding it on a region crossing.
  • Throttling on erroneous llReturnObjectsByOwner.
  • A number of internal bugs plus some further issues if the fixes can be completed an passed to QA.

Viewer Updates

On Tuesday, April 4th: Performance Floater / Auto FPS RC viewer updated to version updated to version 6.6.11.579238.

The remaining viewer pipelines stand as:

  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • 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:
    • PBR Materials project viewer, version 7.0.0.578921, March 23 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

llReturnObjectsByOwner() and OnwerID

  • Leviathan Linden has been looking at a non-public bug, BUG-11770, regarding throttle behaviour for llReturnObjectsByOwner().
  • He has noted that if returns are too fast, it will block the owner_id, potentially indefinitely.
  • While there is a workaround – where if you try to return a different owner_id, then it will unblock the first – this is described as “not very useful” as it requires a 2-hour wait before it really has an effect, and even then might not work without a region restart.
  • Instead, Leviathan has suggested a more optimal throttle would be one that limits the rate of return if it threatens to kill the database service, but then gradually opens up again as the database catches-up with the returns requests.
  • Other suggests included:
    • Rather than llReturnObjectsByOwner() simply finding all the objects on the parcel and trying to return them all in a single operation (thus hitting the database service), the object are effective batched and returned by said batches, with a further suggestion that while this is happening, the selected objects are locked / frozen to prevent them being used / moved until returned.
      • One concern with this approach is people arriving during a return operation and witnessing objects in-world mysteriously vanishing.
    • If  BUG-8383 “Feature Request: Parcel and script options to return no-copy objects and delete copy objects” were to be implemented, it would reduce the strain on the data servers; however concern was raised that deletion of copy items could lead to lost work on sandboxes.
  • It was also suggested it would be useful if there was an LSL function to detect the amount of objects (e.g. a “llCountObjectsByOwner” function), which could compare it to the upper limit of returns, so that people could know if a return operation will fail due to the throttle before making the attempt.
  • Leviathan is taking the feedback gained to consider what can be done.

In Brief

  • The issue of Friends not correctly showing as on-line (or off-line) is receiving attention within LL, and apparently “multiple issues” have been found, which are likely to take “a bit of time to get them all fixed”.
  • Please refer to the video for the rest of the meeting discussions.

2023 week 13: SL CCUG meeting summary

Celestial Glade, February 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, March 30th, 2023 at 13:00 SLT.  These meetings are 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. They are chaired by Vir Linden, and dates and times can be obtained from the SL Public Calendar. Notes:
  • These meetings are conducted in mixed voice and text chat. Participants can use either to make comments / ask or respond to comments, but note that you will need Voice to be enabled to hear responses and comments from the Linden reps and other using it. If you have issues with hearing or following the voice discussions, please inform the Lindens at the meeting.
  • The following is a summary of the key topics discussed in the meeting, and is not intended to be a full transcript of all points raised.
Additional note: unfortunately, physical world matters meant I missed the initial part of the meeting, and as it is held in voice, there is little by way of chat transcript to reflect initial discussions prior to my arrival.

Official Viewer Status

  • On March 30th, the Maintenance R viewer, version 6.6.10.579060, was promoted to de facto release status.
  • On March 31st, the  Maintenance S RC viewer updated to version 6.6.11.579153, bringing it to parity with the above release viewer.
The rest of the current official viewers remain as:
  • Release channel cohorts:
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.10.578172, February 21, 2023.
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.578921, March 23 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

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.
  • To provide support for reflection probes and cubemap reflections.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • 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.
    • It is currently to early to state how this might change when glTF support is expanded to include entire objects.
  • The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid):  Materials1; Materials Adult and Rumpus Room 1 through 4.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • The viewer is still being progressed, and will likely update to keep in line with the current release viewer.
    • There is still a bug with glow which needs to be addressed, but this is not seen as a significant issue in terms of fixing.
  • Information in support of PBR materials and reflection probes is in development. This includes new wiki pages and – at least for reflection probes, if not both, new tutorial videos.
    • A very much Work In Progress version of the wiki information can be found in: PBR Materials.
  • The methodology for modifying PBR materials via script is to have the materials contained within glTF assets which can be stored in inventory (containing an LLSD header and glTF JSON, with the texture / material UUID stored in the image URI field), with LSL APIs used to modify the parameters within the glTF file.
    • Manual modification of the parameters can be done via the viewer UI in a similar manner to manipulating textures, etc., currently offered by the viewer.
    • The LSL APIs will work in a similar manner to functions such as llSetPrimPratams, etc. The only thing that cannot be changed in is actual image data.
  • For testing, it was noted the “local materials” should allow Materials to be tested directly from a user’s computer in a similar manner to local textures (and only visible in that user’s world view), which dynamic updating of the materials in the session as they are locally modified.

In Brief

  • Requests have been made for a more visual coding capability in SL to help those who are not programmers  / scripters, with the likes of capabilities similar to Blueprints in Unreal Engine. While such tools as the latter are acknowledged as being useful for putting snippets of code together, the notion of a visual coding system is seen by LL as potentially cumbersome for the results they would garner.
  • A very general discussion on games in SL.

Next Meeting

  • Thursday, April 6th, 2023.