2023 week #48: SL TPVD meeting summary + PBR Update

Moochie All Hallows, October 2023 – blog post

The following notes were taken from my chat log transcript and audio recording of the December 1st, 2023 Third Party Viewer Developer (TPVD) meeting, together with the video recording of the meeting made by Pantera – my thanks to her as always for making it and allowing me to embed it in these summaries.

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

  • The glTF / PBR Materials viewer, version 7.0.1.6894459864, was promoted to de facto release status on November 28.
  • The Maintenance V(ersatility) RC viewer updated to version 7.1.1.7039128750 on December 1.

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

  • Release channel cohorts:
    • Maintenance X RC, version 6.6.17.6935636398, issued November 21 – usability improvements.
    • Maintenance Y, version 6.6.17.6935642049, issued November 21 – My Outfits folder improvements; ability to remove entries from landmark history.
    • Maintenance-W RC viewer, version 6.6.17.6935629493, November 21.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

General Viewer Notes:

  • The promotion of the PBR Materials view marks the second promotion of a viewer built using the Github Actions build page.
  • It is uncertain whether or not there will be a further viewer promotion in 2023. If there is, the most likely candidate would by the Emojis viewer, although at the time of writing, this had had to go through the Github build process (which it naturally will when merged with the release viewer code-base).

PBR Materials Update

[Video: 1:23-8:55]

  • PBR Materials was shipped with a number of known bugs and issues, none of the former of which were considered to be significant enough to block the release, whilst some of the latter required further investigation for repros, etc., and the Lab decided to release whilst investigating.
  • This means a maintenance update is already in progress which will continue additional fixes, and this will also be used to catch issues and bugs reported post-release.
    • One of the post-release bugs uncovered is that – for reasons unknown – disabling transparent water impacts animation playback; see: BUG-234759.
    • Another issue revealed by PBR is that the viewer draws Linden Water twice. (not the entire scene, an issue previously remedied, just Linden Water), and this is being corrected.
  • The request is for bug and issues to keep being reported, simply because PBR Materials now has far more eyes on it, and so things that may have been missed due to the limited number of eyes on things in testing / the multiplicity of ways people use SL, means that some edge-cases, etc., may have been missed.
  • A question was asked if LL had considered off the exposure adjustments (adjusted within a set range through the Sky settings) to prevent the viewer from rendering some scenes excessively bright.
    • The response to this was that the exposure is tied to tone-mapping and a controlled HDR range, as such LL would rather users adjust to designing environments in accordance with the new (glTF-defined) tone mapping, then introducing more granular options into the viewer (such as which tone mapper to use).
    • [Video: 14:58-15:55] However, it was also noted that if TPVs wish to provide their own tone mapping options, this would not be seen as violating the so-called “shared user experience”, as they are regarded as post-processing effects (then don’t actually physically manipulate how objects appear in-world) and they are subjective in how they are seen by individual users.
  • [Video 25:25-33:27] A broader mention of additional glTF work – scene import, hierarchies, etc., some of which is mentioned in my simple  introduction to PBR Materials.
    • Part of this future work will be to look at how automatic LODs for mesh objects are produced, and whether to continue to support them through the uploader (which is limited in its abilities) or to direct content creators to other solutions for generating LODs prior to upload (e.g. via Simplygon and Blender).
    • This conversation also encompasses various limitations common to SL which glTF might alter / improve upon as it is further adopted (such as meshes currently being limited to eight faces due to the platform’s data entry model regarding meshes as prims), plus the potential impacts of changes. Please refer to the video for specifics on this discussion.

Performance Issue

[Video: 3:01-6:10]

  • One issue that is proving hard to consistence repro is that of frequent slow-downs with NVIDIA GL drivers which can result in significant FPS loss in the viewer – see: BUG-234706 for more details.
  • At the time of writing, both LL’s QA and others are trying to consistently repro the problem, however, so of the thinking is is related to a mix of CPU core and GL optimisations running on the host system.
  • The concern here is that where it has been repro’d, it has been with systems using 8-core CPUs and NIVIDIA GPUs (although what the correlation between the two might be in terms of a cause for the problem, is unclear), which could impact a fair percentage of SL users if it proves to be a widespread issue (particularly if it is unresolved when Firestorm makes a PBR release).
  • Those who feel they are experiencing a performance loss over time logged-in which reflects the notes presented in the bug report, and who can dig down into their system data for possible causes, are asked to add relevant comments to the Jira.

In Brief

“Disappearing Objects” Issues

[Video:  9:06-11:45]

Some of these may pre-exist PBR or be related to the PBR release:

  • Objects not rendering at log-in due to the inventory frame load locking main processing with the result that messages to the viewer about some in-world objects are simply dropped, and they are never rendered other than via a re-log (or TP out / back?). LL has a fix for this in progress, but as it causes some additional issues, not ETA on when it might be deployed.
  • There is an issue with mesh objects in particular not rendering (see BUG-234700 “[GLTF] Mesh objects randomly not rezzing properly at login”), but it is currently unclear if this is related to the above issue or the result of something else.
  • BUG-234616 “[PBR] Lights outside of camera frustrum are not rendered until within camera frustrum” – has been accepted by LL, but is still an open issue under investigation.

General Notes

  • [Video: 13:18-13:54] The “Fall Colours” simulator update (currently on the BlueSteel and Preflight RC channels) has a bug related to collision sounds (see: BUG-234757 “Repetitive Collision Sound?” and this forum thread) which is under investigation. It was also noted that Fall Colours is liable to be the last simulator update for 2023.
  • [Video 17:24-25:15] The question was asked if LL would accept either the entire RLVa API (Restrained Life Viewer alternative, as maintained by Kitty Barnett and used by several third-party viewer and analogous to RLV) or a subset thereof.
    • RLV/a have been shown to have a wide range of uses outside of their original intent, some of which have, to a degree been matched / had some level of equivalence via things like Experience Keys in the viewer, while others still remain useful for multiple applications – such as the use of either to manage wardrobe / outfit systems, for example).
    • The short response to this via Runitai and Vir Linden was “probably”, as LL are aware that the widespread use of RLV/a features does create something of a schism between TPVs and the official viewer. As such, a pull request of code / the opportunity to discuss has been offered.
    • This led to a wider conversation on how RLV/a works and just what form of open-source platform SL should be in terms of extensibility / code contributions – please refer to the video for more.
  • [Video 33:41-34:20] Linden Lab Office Closure for Holidays: Linden Lab will be closed other than for emergency coverage from end of business on December 22nd through until start of business on January 2nd, 2024.
    • This means that a No Change window for simulator and official viewer releases will be in place from Monday, December 18th, 2023.
  • [Video: 36:16-41:21] HTTP/2 multiplexing:
    • There is a project in development for upping the simulator and viewer to HTTP/2 (although the viewer will require a Curl update in order to handle it).
    • Requests have been made to extend this work to encompass the Asset Store, which internally at the Lab is seen as a nice to have / good to have, but no actual work in that direction in currently in-hand.
  • [Video: 48:00-End] General discussion on better support for the viewer on Linux, segueing into a discussion of possibly adopting voice options other than Vivox, and what needs to be improved within voice in general.

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 week #43: SL TPVD meeting summary

Goatswood, August 2023, blog post

The following notes were taken from my chat log transcript and audio recording of the Third Party Viewer Developer (TPVD) meeting held on Friday, October 27th, 2023. Afraid no video for this month, Pantera has a lot going on.

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

The Github Actions (GHA) RC viewer, version 6.6.16.6566955269 was promoted to de facto release status on October 25th. This marks the first release viewer built using the Github Actions (indicated by the extended version number). This viewer also includes a significant update to the Chrome Embedded Framework (CEF) for media handling.

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

  • Release channel cohorts:
  • Project viewers:

General Viewer Notes:

  • Upcoming official viewer can be viewed on the Github Actions build page, so what is coming down the line can be seen; however artefacts within the list are not publicly linked to downloadable items such as installers. This may change in the future.
  • The Emoji RC viewer is defined as being “in test”, with the other RC viewers in a maintenance cycle to gain parity with the new release viewer.

PBR Materials Update

  • The back-end support for PBR Materials is liable to be deployed to both the BlueSteel and LeTigre RC channels (so approx 3,000 regions) in week #44 (commencing Monday, October 30th), pending the code clearing QA.
  • Core work remains in “maintenance mode” with bug fixing and a focus on driving the project forward towards release.
    • It is believed the only significant blockers remaining are those of performance issues on the Mac version of the viewer – and LL are happy to take suggestions from TPV developers on how to get the Mac variant of OpenGL perform better.
  • One additional issue which had been reported was that of non-PBR enabled viewers appearing to suffer high pack losses on PBR regions (BUG-234550). However:
    • Investigations appear to have shown this as being a “sensor ghost” – the viewer reporting messages it receives but which are not in its message template (a would be the case with a non-PBR viewer receiving PBR specific messages) as a packet loss, which is not really accurate.
    • To deal with the specific issue with non-PBR viewers on PBR regions, and as an interim measure until the PBR viewer is the de facto release viewer, the updated message template for the PBR viewer is to be incorporated into the current RC viewers, together with a suppressor to prevent non-PBR viewer generating false packet loss updates. The code will then be available to all official “pre-PBR” viewers as they are updated with the RC code.
    • TPVs wishing also wishing to eliminate the false reporting of packet loss in their non-PBR viewer releases are encouraged to also pull the PBR viewer message template commit from Github and incorporate it in any upcoming pre-PBR updates they may have in the works.
  • Overall, and allowing for any list-minute issues + clearing the Mac viewer issues, the plan is to pretty much release PBR Materials on the basis of what is currently incorporated in the simulator code and the current RC viewer.
    • This means there will be a range of known issues within the release; however, it is believed that none of them will break any existing content on the Main grid, nor will any fixes for them which are introduced following the initial release.
  • One of the outcomes of the glTF  / PBR project has been a closing of the “divide” between the simulator and viewer engineering teams, with people working on both sides as the PBR project has progressed. This will continue through further iterations of glTF support (e.g. through elements such as the Interest List, which is both viewer-side and simulator-side, and which is not currently geared towards optimal handling scene-wide updates, as will be required as additional aspects of the glTF specification are incorporated into SL).

In Brief

  • There was a general discussion on the internals of viewer development (general message handling, viewer asset throttling, location of “official” masters of things like the message template, the status of the Lab’s Libcurl implementation in light of recent libcurl security issues (in short: “stuck” on an earlier version, so not directly affected), HTTP2 vs. HTTP3 updates,  etc.).
  • A general commentary on Windows 32-bit usage (not no longer officially supported) – with Firestorm stats reporting around 1.9% of their user base still appear to be running 32-bit windows – but the majority of this figure might be down to an Intel bug reporting 64-bit users running 32-bit.
  • A general discussion on the viewer + time-zones, providing a means to add the day of the week to the viewer log-in screen, rather than those in time zones other than California have to check the local day via the viewer clock tool-tip once logged-in.
    • In this, the fact that the time reported in the viewer is “PDT” (and/or PST? I’ve never actually noticed if the viewer reflects changes between PDT and PST notation) rather than “SLT” – which is the acronym everyone in SL understands – can also be a source of confusion. As can the fact that elsewhere within Second Life properties UTC (GMT) can be used.
    • during the discussion it was indicated that LL will likely try to be more consistent in referencing SLT rather than physical-world time zones.
  • Reference was made to a forum discussion on event message polling (particularly viewer side region start-up) which can have an impact (/unintended consequence) in terms of things like message execution. Monty Linden is involved in these discussions and in investigations, and improvements will be appearing in upcoming simulator releases.
  • The above led to a general conversation on reliable SL documentation sources (the broad answer in case of technical documentation being “the code”), and the historic reasons for public-facing documentation becoming fragmented (e.g. the old issue of SL wiki pages being repeatedly vandalised & so locked from editing by users who might otherwise be well-placed to update them), etc.

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 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.

2023 week #35: SL TPVD meeting summary

Natthimmel, 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 1st, 2023, together with the video recording of the meeting made by Pantera Północy, and embedded towards the end of this summary. My thanks, as always, to Pantera for making these recordings. 

Meetings 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.581538, August 29.
  • The Emoji RC viewer, version 6.6.15.581557, was released on August 31.
  • The Maintenance V(ersatility) RC viewer, version 6.6.14.581315, August 30.

These updates comprise a promotion to RC status (Emoji viewer) and merging with the new release viewer code base. The remaining official viewers are unchanged as:

  • Release viewer,  version 6.6.13.580918, formerly the Maintenance U(pdate) RC viewer, version 6.6.14.581101, promoted August 23.
  • Release channel cohorts:
    • glTF / PBR Materials viewer, version 7.0.0.581126, June 26.
  • Project viewers:

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 Emoji viewer does not include the font updates, which have been moved to their own project. This viewer currently does not have sufficient data to determine where it might stand in terms of being promoted to de facto release status. It normally takes a few days for a reasonable cohort of users on the viewer so that stats on crash rates might be more accurately gathered, together with thing like bugs reported.
  • The Inventory Extensions viewer is currently awaiting UI updates, but is otherwise defined as “pretty close” to being ready for promotion once these updates have been implemented.
  • LL is in the process of determining how to standardise the use of whitespace in the viewer code. This is described as “getting around the infinite conflicts problem” in merging code within the viewer where whitespace is defined (e.g. tabs) differently to other / existing code (e.g. spaces – or vice-versa). It is also defined as “not fixing” the issue of coders all having different opinions on what whitespace should be, but while it is acknowledged the solution will not please everyone, LL will be moving forward with it, and will give more details on the direction they are taking in due course.

Multi-Factor Authentication Update

[Video: 3:27-5:50]

  • Multi-factor authentication has been a part of SL for some time (see here for notes on its introduction), and extended to the viewer shortly thereafter.
  • Within the next “week or two” the log-in service will be updated so that users who have opted-in to MFA will only be able to do so on viewers providing the necessary MFA support.
  • This move was first announced in October 2022, but implementation was delayed to allow all TPVs the time to incorporate the viewer-side MFA code – which should now be the case.
  • Notes:
    • This does not mean all users must use the authentication process; MFA as a whole remains optional. It simply means users who have opted in to MFA will only be able to log-in to SL using a viewer supporting MFA.
    • Should users lose there ability to access SL via the authentication process for whatever reason, they should file a support ticket to have their MFA status reset.
    • Brad Linden also indicated that LL does not have “any additional MFA methods in development right now”, and that requests for things like authentication via e-mail should be made via feature request Jiras.

In Brief

Refer to the video for the following:

  • [Video: 6:05-9:38] a general discussion on code-signing – approach, pros and cons (most TPVs have not implemented code signing). In short, LL are looking to leverage the move to Github Actions for the viewer build process / code management to make code signing “more portable” should any TPVs wish to implement it.
  • [Video: 26:06 to practically to the end of the meeting] Extended discussion on the Emoji viewer and use of emojis particularly being given the choice to enable / disable whether emojis are displayed in text within your own viewer, as several other platforms provide.
    • Some of the discussion appeared predicated on the automatic conversion of text to emojis, which is not actually what the Emoji viewer is doing.
    • It was pointed out that disabling emojis might be beneficial as an accessibility option.
    • The option to add a switch to disable rendering of emojis within the viewer was requested as a feature request for consideration.
  • [Video: 46:46 onwards] discussion on ambient lighting within EEP settings, PDR, PBR reflection probes behaviour (much of it is local chat).

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 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.

2023 week #23: SL TPVD meeting summary

Nederlanse Bergee, April 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the TPV Developer (TPVD) meeting held on Friday, June 9th 2023 at 13:00 SLT. These notes are via a combination of my own chat log transcript of each meeting, and / or the video recording made of each meeting by Pantera Północy and embedded at the end of this article. My thanks, as always, to her for recording these meetings.  Note that the following is a summary of the meeting as a whole, and not a transcript of everything discussed.

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

  • The Maintenance T RC viewer updated to version 6.6.13.580419 on June 7th.

The remaining official viewers currently in the pipeline remain unchanged through the week:

General Viewer Notes

  • The glTF / PBR material viewer (and project) are in bug fixing mode, specifically with some QA questions / concerns on the server side of things.
  • Inventory thumbnails viewer: work is progressing, and the simulator support code has been deployed to the simulator RC channels and is expected to go to the SLS Main channel in week #24.This will potentially allow the first release of an Inventory Thumbnails project viewer.
  • LL has completed the move of viewer builds to Github Actions, and has now successfully completed the first viewer builds along this new process. Th next step is to move all viewer-related work away from Team City completely.
  • This work also means that the Chromium Embedded Framework (CEF) for media handling is being updated.

In Brief

  • Prototyping is underway for the support of planar mirrors in SL and for the application of PBR materials on terrain (note, again, this is not PBR terrain painting, it is using PBR materials in place of the default terrain textures – see this blog post for more).
    • A test build of a viewer supporting the application of PBR materials for terrain has been made available through the Content Creation Discord server for limited testing, and feedback is being taken on this.
    • Work is underway to allow triplanar mapping for terrain repeats.
  • BUG-232037 “Avatar Online Offline Status Not Correctly Updating” was raised again, although more strictly a simulator issue. The precise cause(s) of the problem are still being investigated. Anecdotal evidence from some quarters claims the issue is getting worse, but whether this is objectively the case is questionable.

 Next Meeting

  • Friday, July 7th, 2023.

† 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.