Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates from the week through to Sunday, September 3rd, 2023
This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:
It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.
Official LL Viewers
Release viewer, version 6.6.13.580918, formerly the Maintenance U(pdate) RC viewer, version 6.6.14.581101, promoted August 23.
Maintenance V(ersatility) RC viewer, version 6.6.15.581557, August 30.
Inventory Extensions RC viewer, version 6.6.15.581538, August 29.
Project viewers:
No updates.
Note: The Alternative Viewers page appears to have suffered a hiccup, listing version 6.6.12.579987 as the “Win32+MacOS<10.13” RC viewer. However, the Win 32 + Pre-MAC OS 10.3 viewer was actually version 6.6.13.580794, promoted to release status on July 5; 6.6.12.579987 was the version number assigned to the Maintenance S RC viewer promoted to release status on May 16th.
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.
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:
Puppetry project viewer, version 6.6.12.579958, May 11.
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 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).
† 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.
Reality Escape – Books, Coffee & Chairs – Oh My! – 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 31st, 2023.
The CCUG meeting is for discussion of work related to content creation in Second Life, including current and upcoming LL projects, and encompasses requests or comments from the community, together with viewer development work.
As a rule, these meetings are:
Held in-world and chaired by Vir Linden.
Conducted in a mix of voice and text.
Held at 13:00 SLT on their respective days.
Are subject to the schedule set within the SL Public Calendar, which includes the location for the meetings.
Open to all with an interest in content creation.
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.
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 for glTF as a whole 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).
List of tools and libraries supporting glTF: https://github.khronos.org/glTF-Project-Explorer/ – note that Substance Painter is also used as a guiding principal for how PBR materials should look in Second Life.
Cosmic Linden has been working on some permissions updates to make permissions meaningful when being addressed via LSL. This means that is a materials surface in set to No Modify, a script will not be able to change its tint, for example.
Support for this is currently on the glTF / PBR servers on Aditi, where it is being tested (same region names as above, just on Aditi).
Changes to reflect these updates will also be made to the viewer so things like the build floater correctly reflect the permissions status.
Runitai Linden is continuing to work on the communications bloat issue. This will utilise a new message type – GenericStreamingMessage. This will both make messages passing between the simulator and viewer more compact and also less frequent in order to reduce the load.
To help improve people’s awareness / avoid confusion with the updated Build floater, a new pop-up is being implemented that will be displayed and give information on the change when the floater is first opened and used with a PBR material, complete with a link to the PBR wiki page.
Mirrors
Mirrors are a part of the glTF / PBR materials project, but something of a separate tranche of work.
The idea is provide the means to have via high resolution reflections (i.e. mirrors) within a scene.
Initially only one active mirror surface per scene will be active for any viewer.
The process will use the PBR reflection probes mechanism, combined with a automated “Hero Probe” mechanism which with generate high resolution (512×512) “reflections” for the mirror.
The system will operate on the basis of avatar / camera proximity to a mirror surface triggering the closest reflection probe to become a “Hero Probe” for that avatar / camera. This means that if there are multiple mirrors placed within an environment, only the one closest to a given avatar / camera will be active and display the “reflections” generated by the reflection probe.
Depending on testing and performance, the number of mirrors might be expanded to two – one for mirror surfaces and one for Linden Water to generate high resolution water reflections where appropriate.
Summary
Geenz Linden hopes to start working on a version of the PBR viewer which supports mirrors very shortly.
The final data model for mirrors will not be available on the server end in time for the initial version of a Mirrors viewer, but will be coming later, as it is dependent on dialling-in the parameters required for the mirrors functionality based on testing.
Overall, the approach now taken means that mirrors will now not just be limited to planar (flat) surfaces.
Lighting / Ambient Lighting
Concerns continue to be raised over colour saturation / ambient colour / light within the PBR viewer within non-PBR regions. People appear to be reporting particular issues with over-saturation and with black surfaces (particularly clothing) looking “flat” or minus any clear definition.
It was pointed out that some of the issue may well be down to a combination of running the PBR viewer within regions that do not have the proper PBR environment adjustments, thus leading – to some degree at least – to tone mapping being overly biased for darker colours + the adjustments made within the PBR viewer to compensate for the lack of reflection probes in non-PBR regions still requiring further tweaking + the PBR viewer generally not rendering the excess ambient light common to existing ambient lighting in non-PBR regions.
A lot of this is known to be an issue, and something Runitai Linden has been looking to address, as per my pervious CCUG summaries such as this one.
In Brief
Rider Linden noted the following updates will be available in the near future via simulator RC releases:
“Dog Days” update, due to go to one or more simulator RC channels during week #36 (commencing Monday, September 4th):
The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database).
A scripted ability to set CLICK_ACTION_IGNORE, allowing an object to be clicked-through to reach an object behind it – a flag supporting this is included in the current release viewer.
The still in development “Fall Colours” update, which will include:
llIsFriend – essentially “Is the avatar touching this object a friend of the object’s owner?”, and then act accordingly.
llGetInventoyDesc(ription) – a function to return a list of the contents within an rezzed object.
User Animats has been experimenting with a new open-source convex hull algorithm for making physics models, which he describes as probably “not suitable” for the SL mesh uploader, but which “might be useful” when working in Blender. There is a forum thread on this line of investigation got those interested.
A suggestion was made that as LL gather stats on the hardware users are employing to access SL, that some measure of this data is made public-facing so that creators might have a better idea of the “typical” hardware environment they need to consider, rather than assuming everyone is either running high-end or low-end systems.
This was put in terms of something like a list of the 10 or so most commonly used CPU / GPUs (either individually or in combination); most common RAM amounts used (8GB, 16GB, etc.), with the information made available via a web page or similar.
It was pointed out that some of the information might be difficult to put together as it might not be possible to accurately extrapolate or consolidate in a meaningful way.
However, Vir Linden thought the idea is worth poking at to see what, if anything might be done towards achieving it.
An animated discussion on the permissions system and No Mod objects including:
Why people use No Mod (such as the mistaken belief that it “prevents copybotting” + the misunderstanding users might have that while a scripted item may way have No Mod scripts, the item itself can still be modified, etc).
A idea for the “reset to defaults” override button for Modify object so that if a user royally messes up an object, they can click the button and restore the original look / texturing, etc., of the object (potentially very hand for Mod / No Copy objects).
The addition of a new attribute “Demo” which can be used to both lock an object into No Mod and add some form of “demo” indicator to it for when the user is wearing / examining it.
The problem with any changes with the permissions system is that it is a) already extremely complicated in its implementation; b) would require considerable care; c) is liable to be a lengthy, far-reaching project. As such, there may not be the appetite within LL to take on such work.
† 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.
Briarwood Wildlife Refuge, June 2023 – blog post †
The following notes were taken from the Tuesday, August 29th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.
Meeting Overview
The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.
Server Deployments
There was no deployment to the SLS Main channel, leaving all simhosts on that channel running on release 581251, although the hosts were all restarted.
On Wednesday, August 30th, there will be a further attempt to deploy simulator update 581292 (“Bugsmash”).
Upcoming Release
Week #36 should see the RC deployment of the “Dog Days” simulator release. This includes:
The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database).
A scripted ability to set CLICK_ACTION_IGNORE, allowing an object to be clicked-through to reach an object behind it – a flag supporting this is included in the Maintenance U RC viewer promoted to Release status in week #34.
PRIM_CLICK_ACTION is added to llSet/GetPrimParams so you can set the click action on prims in a linkset.
An upcoming release is “Fall Colours”. Among other elements is a new LSL function, llIsFriend – essentially “Is the avatar touching this object a friend of the object’s owner?”, and then act accordingly. Rider Linden put out a general request for suggestions as to what else should go in this release, which led to an discussion on possible notecard-related functions and options, as per the meeting video.
Viewer Updates
No updates to the official SL viewers at the start of the week, leaving the current list as:
Release viewer version 6.6.14.581101, promoted August 23.
glTF / PBR Materials viewer, version 7.0.0.581368, August 22.
Maintenance V(ersatility) RC viewer, version 6.6.14.581315, August 15.
Inventory Extensions RC viewer, version 6.6.14.581357, August 14.
Project viewers:
Emoji project viewer, version 6.6.13.580279, May 30.
Puppetry project viewer, version 6.6.12.579958, May 11.
Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.
Potential for Improving Vehicle Control Options
Further to the last meeting, Leviathan Linden gave the following update.
Right now I’m looking into exposing game controller buttons directly to LSL. All the other vehicle related ideas will have to wait until after this is done. The work is in progress, but one thing I learned is… our current game controller detection logic can’t capture all of the buttons/axes of a typical Xbox style controller. The logic is limited to 6 axes of motion and the Xbox controller I’m using has 8 axes. So I’m currently trying to hack in a different device detection [cross-platform] lib[rary] to see if I can get it working without breaking the SpaceNavigator support. … My hope is to support variable number of buttons and axes.
As might be expected, this led to a discussion on the potential game controllers offer Second Life.
In Brief
There are anecdotal reports that the issue of the Friends on-line list not correctly updating after log-in, etc., is now subsiding.
Monty Linden is continuing to look into issues of the simulator / viewer freezing during avatar arrival, although this work may be suspended whilst Monty is out-of-office for a while.
A discussion on options to use scripted function to gain information on the inventory contents of rezzed objects, per feature requests BUG-7395, BUG-34184, and BUG-202886.
† 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.
Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates from the week through to Sunday, August 27th, 2023
This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:
It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.
Official LL Viewers
Release viewer, version 6.6.13.580918, formerly the Maintenance U(pdate) RC viewer, version 6.6.14.581101, promoted August 23 – NEW.
Release channel cohorts:
glTF / PBR Materials viewer, version 7.0.0.581368, August 22.
Project viewers:
No updates.
Note: The Alternative Viewers page appears to have suffered a hiccup, listing version 6.6.12.579987 as the “Win32+MacOS<10.13” RC viewer. However, the Win 32 + Pre-MAC OS 10.3 viewer was actually version 6.6.13.580794, promoted to release status on July 5; 6.6.12.579987 was the version number assigned to the Maintenance S RC viewer promoted to release status on May 16th.
The following notes were taken from the Tuesday, August 22nd Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.
Meeting Overview
The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.
Server Deployments
No deployments for the major simulator channels this week, but all simhosts will be restarted.
There may be a small deployment to the Snack channel (Yondercane), to test changes to the way avatar arrivals in a region are handled (see below).
Dog Days Roll-Back
On Wednesday, August 16th, the Blueteel RC channel was updated with update 581292 (“Dog Days”).
During testing, it was discovered the update was causing some worn attachments were being renamed “Object” when edited whilst attached while retaining the correct name when seen in Inventory / detached to Inventory.
However, if such an attachment was dropped in-world, it would be renamed “Object”. As this was deemed to not be optimal, the update was rolled back.
If all goes according to plan, an attempt to re-deploy the release will be made in week #35.
Viewer Updates
The glTF / PBR Materials viewer, updated to version 7.0.0.581368, on August 22nd. All other available official viewers remain as follows:
Release viewer version 6.6.13.580918, formerly the Maintenance T RC viewer, July 14.
Maintenance V(ersatility) RC viewer, version 6.6.14.581315, August 15.
Inventory Extensions RC viewer, version 6.6.14.581357, August 14.
Maintenance U(pbeat) RC viewer, version, 6.6.14.581101 July 21.
Project viewers:
Emoji project viewer, version 6.6.13.580279, May 30.
Puppetry project viewer, version 6.6.12.579958, May 11.
Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.
Avatar Arrival Update and Other Simulator Work
This is a first pass at working to improve avatar arrivals (AA) in regions and reduce the amount of “freezing” may occur whilst the arrival is processed, with further work indicated in the future, Monty Linden described this part of the work thus:
AA is the first part of an effort to tune the simulator’s main processing loop. There are *many* causes of very long frames currently. One of the worst offenders is avatar attachment handoff and rezzing at region crossings and teleports. AA attempts to break up and time bound that process, particularly when multiple avatars are involved in a crossing, allowing the frame to complete more closely to the scheduled time. [The] goal is to improve interactivity and responsiveness to those *not* involved in the RC/TP at the expense of those crossing having their glorious collections of stuff attached a bit more slowly. This first pass includes some of that monolithic execution breakup and some tuning.
Monty went on to note that the AA update will only be deployed for testing / data gathering prior to being withdrawn rather than being expanded to additional channels, whilst he continues to work on the matter in the background and possibly expands the scope of the work to include things like better script optimisations and hand-offs during teleports / crossings, etc.
This led to an extended discussion on region crossings / teleports which extended across most of the meeting, with Rider Linden noting he’ll attempt to have a list of regions on the channel for the meeting next week (assuming the deployment goes ahead), so that interested parties can test both teleports into them and regions crossings between them. This in turn entered into better / alternate means of script scheduling / management (and refactoring the former to reduce some of the simulator load), together with options for improved attachment / messaging, etc., handling.
As an aside to this work, Monty indicated he is working on a diagram showing the simulator main processing loop which could be published for public consumption, once it has been cleaned-up.
Potential for Improving Vehicle Control Options
Rider Linden raised this towards the end of the meeting for discussion, thus:
We’ve been having some discussions internally about taking controls and expanding the number of keys available and perhaps even allowing analogue input for movement to the simulator. Leviathan and I would love to get some feedback on how people would use that and how you’d like to see something like that work.
To which Leviathan added:
I’ve solicited for input and have received a bunch of input and ideas. I think the first sub project in that direction will be to try to expose raw game controller input (joysticks and buttons) to LSL. With regards to keyboard controls, if you look at all of the feature requests over the years, ultimately people want access to just about ALL of the keys. I was worried about the ability to make a keylogger in SL, however Signal thinks that wouldn’t really be a problem.
The majority of the feedback was for capabilities to be added to enable a broader range or controllers rather than trying to expand keylogging capabilities exponentially, although keystroke capture and use appears to be more of a focus for Leviathan.
Please refer to the last 10-12 minutes of the video for this discussion.
† 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.