2023 week #39: SL TPVD meeting summary

Cloud Island, July 2023 – blog post

The following notes were taken from my chat log transcript of the Third Party Viewer Developer (TPVD) meeting held on Friday, September 29th, 2023, together with the video recording of the meeting made by Pantera Północy, which is embedded towards the end of this summary. My thanks as always to Pantera for making these recordings.

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.

Viewer Updates

[Video: 0:00-3:17]

The Inventory Extensions RC viewer updated to  version 6.6.15.581961, on September 28th.

The remaining official viewer currently in progress stay unchanged as:

  • Release viewer, version 6.6.14.581101, promoted August 23.
  • Release channel cohorts:
  • Project viewers:

General Viewer Notes:

  • Given the speed at which the Inventory Extensions RC viewer has been iterated of late and bugs addressed whilst also reducing the crash rate, it now looks as if this will be the next viewer to get promoted to de facto release status.

PBR Materials Update

The following was offered in lieu of a CCUG meeting during the week.

Protocol Update

[Video: 1:05-3:16]

  • The communications protocol changes referenced in my recent CCUG meeting summaries (and of particular relevance to the viewer) are with LL’s QA, and also live on a series of regions on Aditi (Rumpus Room 31 through 34. An RC viewer update with the code supporting these changes is pending release until the simulator code has passed QA testing, hopefully in week #40.
  • This change should overcome the bandwidth overload between the viewer and the simulator with respect to scripted PBR updates. It is described as being terser than the current version, using much the same throttling and interest list culling as used in terse updates, and de-couples PBR updates from full object updates.
  • As it is a protocol change:
    • The deployment of the simulator code is liable to be cautious – initially to the Preflight PBR regions on Agni, with testing restricted to those before the update is deployed to the more public Rumpus Room regions on Agni, and then wider (full simulator RC channel?) deployment after that.
    • Some regressions are anticipated as this change gets to be used by a wider audience in Agni testing.

PBR Terrain

[Video: 4:48-5:05]

  • This is an offshoot project from PBR Materials covered in previous TPVD meeting summaries and particularly CCUG meeting summaries). The focus is on applying PBR materials as terrain textures to give an improved look to SL default terrain. It is not terrain painting (this is described as “something that’s on the radar” for possible future implementation).
  • The work includes all supported materials other than displacement maps, and is currently primarily viewer-side, but may be extended into the simulator code.
  •  The focus for Cosmic Linden at the moment is on improving terrain normal maps.

In Brief

Refer to the video for the following:

  • [Video: 5:15-7:20] Github Actions: LL is continuing the work to move their viewer build processes over to Github Actions, and this work is now seen is being “extremely close” to going live for all viewer builds from the Lab. In particular, this will potentially allow TPVs using the same build infrastructure to more readily leverage elements of the LL build process.
    • For example, scripts used to manage the build process under Team City have had to remain private to the Lab, due to the requirement for them to include credentials. With Github Actions, the credentials can be removed, allowing the scripts to become public actions and thus be used by TPVs.
  • [Video: 13:14-22:34]  Code-signing. This follows from the last TPVD meeting, and offered as clarification. Both Windows and MacOS require code signing through different mechanisms. This helps avoid things like anti-virus software and firewalls throwing up potentially off-putting warnings to users trying to install viewers.
    • As a purely speculative point in the last meeting, Vir Linden noted that within Github Actions, the infrastructure the Lab will be using for code signing can be opened-out to allow TPVs to leverage it using their own credentials, potentially helping to smooth the process of code-signing for those wishing to adopt it.
    •  However, it was noted that the problem for TPVs wasn’t so much the code-signing process as trying to keep personal information required by the credentials from being revealed. There has been one known case of this happening, exposing the individual concerned to potential doxing.
  • [Video: 25:44-end] Discussion commencing with building a TPV progressing through message protocols to region identification protocols between viewer and simulator (see this forum thread). It further encompassed:
    • A more general discussion on LSL coding (including the potential for impact on region / simulator / simhost performance), procedural changes to things like object movement to prevent message spamming, etc.
    • Commentary on the viewer stats and that due to the level of inaccuracy involved with the bandwidth /ping and packets in/out statistics, whether this should be removed, or if not removed, should at least be viewed with “a degree of scepticism” in terms of their reliability / accuracy, with the note that tools such as Wireshark / Tracy should be used which accurate stats gathering is required.

TPV Notes

  • [Video 9:24-13:10] Black Dragon is developing an improved first person IK system which constrains the camera to the avatar’s chest position, and which smooths camera turning with the avatar.
    • This has a range of uses, including with weapons / combat, where it allows them to be properly aimed, including up and down.
    • It is also something LL might review and consider for implementation in the official viewer, were the code to be formally contributed.
  • Firestorm has been shadowing PBR development with and “alpha” Firestorm PBR viewer available to a limited cohort of testers, and plan to have an update to that viewer based on the Lab’s protocol updates once the code has been made available on simulators on Agni and the Lab’s PBR RC viewer has been updated with the viewer-side code.

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.