2023 SL SUG meetings week #51 summary

Nom Nom Café Library, November 2023 – blog post

The following notes were taken from the Tuesday, December 19th 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 meeting is embedded at the end of this summary, my thanks as always to Pantera for recording the meeting and providing 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.
  • These meetings are conducted (as a rule):
  • 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.

Simulator Deployments

  • No scheduled deployments, just region restarts.

Viewer Updates

On Monday, December 18th, the Maintenance-W RC viewer (bug and crash fixes) updated to version 7.1.2.7213596294.

  • Release viewer: version 7.1.1.7039128750, formerly the Maintenance V(ersatility) RC viewer (displaying user-customized keybindings in chat), issued December 1, promoted December 14.
  • Release channel cohorts:
    • glTF PBR Materials Maintenance RC, version 7.1.2.7215179142 issued December 15 – numerous bug fixes and improvements.
    • Maintenance X RC, version 7.1.1.7088410646, December 7 – usability improvements.
    • Maintenance Y, version 6.6.17.6935642049, issued November 21 – My Outfits folder improvements; ability to remove entries from landmark history.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

Game Controllers Update

From Leviathan Linden:

I had a fresh working game_control viewer [on Github] on Wednesday [Dec 13]. There is an updated viewer that allows avatar control “Actions” to be translated into GameControl input. 
DaveP pointed out that game_control could be hijacked to supply midi input if the number of supported buttons was uncapped. Right now the game_control event is limited to 32 buttons because they are stored in a 32-bit mask. However, that would require button state to be represented in lists, which I had originally proposed, but received feedback saying scripters would prefer the bitwise masks –> much faster to process.

In Brief

  • Party week + No Change window, so not a lot discussed / little news.
  • Leviathan Linden has implemented llGetAspectRatio() for attachments, and is aiming to release it in the new year with the Gingerbread simulator update (likely mid-to-late January).
    • There are no parameters for the function, it just returns horizontal/vertical ratio float value if the scripted object is an attachment.
    • The item doesn’t need to be attached as HUD, any attachment point works.
  • The bug within the current Fall Colors simulator release (currently on all RC channels) which causes repetitive collision sounds has not been completely resolved. See BUG-234835 “Can hear Collisions “play” on RC channels”.
  • The first hour of the meeting focused on a general discussion on possible scripted updates for the SL camera (including whether or not some general camera improvements might be better handled viewer-side).
  • Please refer to the video below for the core meeting – which extended beyond the hour due to the live music; unfortunately, I had to depart for the physical world just after the first hour was up.

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

2023 SL SUG meetings week #50 summary

Subcutan Art Gallery: Japanese Garden (lower area) blog post

The following notes were taken from the Tuesday, December 12th 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 meeting is embedded at the end of this summary, my thanks as always to Pantera for recording the meeting and providing 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.
  • These meetings are conducted (as a rule):
  • 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.

Simulator Deployments

  • Tuesday, December 12th: the SLS Main channel was re-started without any simulator updates being deployed.
  • Wednesday, December 13th: the “Fall Colours” maintenance update should be expanded across all RC channels. This update includes llRezObjectWithParams, llIsFriend, but will not include the game controller updates.

Viewer Updates

On Tuesday, December 12th, the glTF PBR Materials Maintenance RC, version 7.1.1.7173980941, was issued. Among the updates / fixes included are:

  • Fix: BUG-234706 “[GLTF] [PBR] Performance unstable / massive performance loss compared to default release”.
  • Fix: BUG-234740 “[PBR] [Windows] Scaled/Offset Textures Quality Degrades at Short Distance”.
  • Fix: BUG-234632 “[PBR] – Regression – Lossless compression normal map upload via GLTF asset is broken”.
  • Fix: BUG-234740 “[PBR] [Windows] Scaled/Offset Textures Quality Degrades at Short Distance”.
  • Improvement: “SL-20611 Haze has no effect on local lights”.
  • Update: 17 new Materials available via the Library.
  • Please refer to the release notes for the full list of fixes / updates / known issues for this release.

Other viewers in the pipe remain as:

  • Release viewer: version 7.0.1.6894459864, the glTF / PBR Materials viewer, issued November 17, promoted November 28.
  • Release channel cohorts:
    • Maintenance V(ersatility) RC viewer, version 7.1.1.7039128750, December 1.
    • 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.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

Game Controllers

From Leviathan Linden:

I’m trying to provide an updated viewer that allows for keyboard support: send game_control data even if you don’t have a game controller. I hope to have something available for download today, but just got the Mac version to build but it is missing some UI and I don’t know why yet.
What would be new in that game_control viewer are two things:
  1. The ability to map most avatar movement controls (e.g. push_forward, strafe_left, etc) that have keyboard bindings… to game_control axes and/or buttons.
  2. [A] small change where I negate the axis by default on the X-components of the joysticks on your controller. This to make it so that LEFT is in the positive direction [so] if you’ve already negated that channel in test scripts then you will need to remove your own negation.
What is NOT in the new viewer:
    • Remapping of controller inputs
    • Arbitrary keyboard mappings to game_control inputs — you can map the “Actions” of avatar movement/control that already have keyboard mappings… to game_control inputs.
    • Detection of odd game controller hardward — I still have a Thrustmaster HOTUS controller on order but it hasn’t arrived yet. I blame X-mas package traffic jams.

Combat Simulation

  • Rider Linden has published his outline document on improving SL’s combat capabilities, which can be found within the combat systems discussion thread on the forums, and is gaining good feedback on it.
  • This led to a general discussion on requirements / concerns over conflicts in trying to address multiple combat systems, managing Damage (and the potential for a “damage budget” / sliding scale of damage based on weaponry.
  • The new user group for combat systems should be starting up in the new year. For now, please refer to the meeting video for the general discussion, which starts around 18 minutes into the meeting and continues through until the end.

In Brief

  • Rider Linden continues to prove himself cool and hip – this week referencing Carl Reiner’s classic neo-noir mystery comedy film Dead Men Don’t Wear Plaid. At least he didn’t get in T-R-U-B-I-L for doing so.

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

2023 week #49: SL CCUG meeting summary: PBR status; Game Controllers

The Middle of Nowhere, November 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creators User Group (CCUG) meeting held on Thursday, December 7th, 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, in accordance with the dates and times given in the the SL Public Calendar, which also includes the location for the meetings.
    • Conducted in a mix of voice and text.
    • Open to all with an interest in content creation.
  • The notes herein are a summary of topics discussed and are not intended to be a full transcript.

Official Viewers Status

The Maintenance X RC viewer (usability improvements) updated to version 7.1.1.7088410646, on December 7.The rest of the official viewer stand as:

  • Release viewer: version 7.0.1.6894459864, the glTF / PBR Materials viewer, issued November 17, promoted November 28.
  • Release channel cohorts:
    • Maintenance-W RC viewer, version 7.1.1.7088402585, December 5 – bug and crash fixes.
    • Maintenance V(ersatility) RC viewer, version 7.1.1.7039128750, December 1 – displaying user-customized keybindings in chat.
    • Maintenance Y, version 6.6.17.6935642049, issued November 21 – My Outfits folder improvements; ability to remove entries from landmark history.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

General Notes

  • It is unclear which viewer is liable to be promoted (if any) to end-of-year de facto release status. Currently both the Maintenance V RC and the Emoji viewer are seen as possible candidates – although the latter has yet to be updated to Github Actions / merged with the PBR release viewer code base.

PBR Materials

  • Maintenance work on the initial release is well in progress.
  • This work includes updates to environmental haze, per my previous CCUG summary (e.g. making local lights and glow be subject to haze  / fog such that those further away appear dimmer / are blotted by the haze / fog, rather than poking through it; fixing BUG-234235 “[PBR] alpha blend on water is acting a bit like invisiprim” + correcting the fact that Linden Water is currently drawn twice in a rendered scene, when visible).
  • There have been some reported permissions issues with PBR / glTF, and these are being worked on.
  • A fix (courtesy of Ansariel Hiller) for BUG-234706 “[GLTF] [PBR] Performance unstable / massive performance loss compared to default release” has also been pulled into the maintenance update.
  • BUG-234728 “[PBR] Masked alpha gradient textures change with viewing angle” has been accepted by the Lab, but is proving difficult to consistently reproduce, slowing the investigation.

PBR Terrain Work

Materials applied to Second Life terrains. Credit: Linden Lab
  • Per past meeting notes, Cosmic Linden is prototyping the application of PBR materials on terrain (see this blog post for more).
  • Important notes with this work:
    • It is not terrain painting. It is the application of PBR materials – terrain painting is described as “something that’s on the radar” at LL.
    • The work does not include support for displacement maps.
    • The work is currently only viewer-side, with no corresponding server-side support, the idea here being to prototype what might be achieved and testing approaches / results.

Current Status

  • With PBR Materials now having shipped, cosmic Linden is turning her attention back to this work.
  • The first order of business she sees is to get a project viewer supporting PBR terrain made available for users to try.
  • Cosmic is also working on refining the PBR swatch / picker in the viewer’s UI.
  • There is an issue with how PBR normal appear when used within terrain which needed to be corrected.

Game Controller Support

Project Summary

  • The work is being led by Leviathan Linden, to provide game controller support at the scripting level (e.g. for handling things like vehicle movement, scripted objects etc.).
  • It is not currently related to matters of avatar locomotion / camera movement, which is covered by the Preferences → Move and View → Other Devices (/Joystick) options, and considered out-of-scope for the work at present.
  • Official documentation on the server-side support can be found on the Game Control page of the SL Wiki. Note this is based on the Simple Direct Media Layer (SDL) library for the button naming conventions, with some additional buttons added by the Lab to provide support for up to 32 buttons, rather than the 21 offered by SDL.
  • At the time of writing, the Gingerbread maintenance branch with the prototype Game_Control feature is available on Aditi (the Beta grid) on the following regions: Aegis Island, Blake Sea – Turnbuckle, Cloud Sandbox 1, Cloud Sandbox 2, Firestorm Aerodrome, Gothlauth, Hona Lee Puff, Jigglypuff, Laefeon, LR151, LR 152, Mauve, Moonberry, Morris, SG2, and Smithereens.
  • The current methodology for the Game_Control event is for whatever button is pressed on a games controller, an overall state is sent to the viewer, comprising:
    • The number of buttons available, presented in bitmask form to any controlling script.
    • A range of six axes in the range -1 to 1, given as floats), which the event then presents to an LSL script, which can then parse them.
    • The Game_Event function then passes this information to a controlling LSL script for parsing.
    • Notes:
      • The above points should not be considered tablets-of-stone, Leviathan is open to taking feedback from vehicle builders, etc., – such as including things like mouse input within the axes data.
      • Event_Control does not include a means for handling force feedback in its current form, but something like this might be added in a future iteration.
  • Note that discussions on the project are also held within the Simulator User Group meetings (summaries here).

Current Status

  • Consideration is being given to the fact that when the data on a games controller is sent to a script, it will have to be sent in sequence – so does this mean the inputs received by the Game_Control event should be given more meaningful names prior to being parsed by an LSL script?
  • Also, what does the LSL script need to know? Is it what button is being pressed or what action is being performed? Three lines of thought emerged in discussions:
    • One for keeping button options as “standardised” as possible, rather than allowing actions to be arbitrarily mapping to buttons (with the result that every creator using the capability will do so differently), possibly backed-up with a “best practices guide”. A concern with this approach was that it would require a degree of proscription (“button x can do  this, this or this” – which do you require?”), which might not meet all use-cases.
    • Allowing for a more arbitrary button / action assignment, sending the button names as bindable options to the viewer, and providing users with a UI element (accessed via an on-screen button) so they can freely map buttons to vehicle / object actions based on personal preference.
    • Something of a half-way house: providing a “standard” set of buttons that can be used by a controller, then providing a scripted means  / UI option to map vehicle / object actions to that set of buttons.
  • A further suggestion was made to have a core “glossary” of typical game controller inputs / actions (e.g. up, down, strafe left, strafe right, etc), but have the ability for script to identify the actions they require in controlling a vehicle / object, and allow the creator (/user, if a UI options for re-binding is provided), to map additional options to buttons /re-map preferences.
  • Discussions around these ideas set to continue.

In Brief

  • Not purely Content Creation related, but a Jira (BUG-234653 – “Feature Request: Invisible / Utility Login”) has been submitted requesting the ability for users to be able to completely hide their on-line status prior to logging-in. This is being considered for implementation.
  • The question of the status of the Puppetry Project was again raised. In short:
    • The overall project remains on “hold” for a variety of reasons (including both complexities and also limitations within SL which require separate addressing).
    • Some of the work originally sitting within the Puppetry banner – such as animation import – is either being considered as a separate project, or being folded into other work – such as glTF scene import (which encompasses items such a node hierarchies which are required for IK systems etc.).
    • This lead to a broader discussion of the potential with glTF (perhaps best left until the project relating to scene import becomes more public) and a history of the Puppetry Project, mush of which is summarised in my Puppetry Project meeting summaries).

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.

December 2023 SL Web User Group (WUG) meeting summary

The Web User Group meeting venue, Denby

The following notes cover the key points from the Web User Group (WUG) meeting, held on Wednesday December 6th, 2023. They form a summary of the items discussed and is not intended to be a full transcript. A video of the meeting, recorded by Pantera Północy, is embedded at the end of this summary – my thanks as always to Pantera for recording it and making it available.

Meeting Overview

  • The Web User Group exists to provide an opportunity for discussion on Second Life web properties and their related functionalities / features. This includes, but is not limited to: the Marketplace, pages surfaced through the secondlife.com dashboard; the available portals (land, support, etc), the forums.
  • As a rule, these meetings are conducted:
    • On the first Wednesday of the month and 14:00 SLT.
    • In both Voice and / or text.
    • At this location.
  • Meetings 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.

Marketplace

Supporting PBR Creations

Sntax Linden opened the meeting to idea as to how LL can support makers of PBR content via the Marketplace. Key feedback included:

  • At least a clear category distinction for PBR-enabled items.
  • More preferably the ability for creator to indicate whether their product is “classic Materials” (or some such – the technical term is “Blinn-Phong”, which is likely a confusing mouthful for most users) or “PBR-enabled”, in the same manner as they can note a product as “100% Mesh” or “Partial Mesh”.
  • Some form of iconography on listing pages to indicate content (e.g. whether it is mesh (or partial mesh) and / or PBR enabled and / or rigged for wearing primary and secondary types; or whether it is “classic Materials (or some such), with/without baked lighting, etc.).
    • The problem here is that if the icons become too granular, they risk becoming confusing / off-putting when seen in listings and / or the simply confuse users unfamiliar with the MP, unless some form of cheat sheet / icon key is provided on every listing.
    • The above might be mitigated against if the icons are set with tooltip, so that when moused-over, the tip displays a brief description of the icon’s meaning.
  • If icons were to be used, have them act as filters to help narrow / manage searches.
  • Addition of specific search filter such as mesh+rigged+baked and lighting+PBR.
  • Further filters in the left-side filter list to distinguish PBR components / kits (e.g. Building and Object components → PBR Materials).
  • This broadened into a more general discussion on a greater use of distinguishing icons (with tooltips) within listings Marketplace in general.

Senra and Mesh Bodies

  • The above also focused on the Senra avatars, and the need to distinguish creations for these so that new users using the Senra avatars can more easily find clothing and accessories to fit them.
  • The above seems particularly pertinent given the “official 1.0” release of Senra made on Wednesday, December 6th, 2023 (the August release of the avatar now being referred to as a “beta” release), so there is potentially going to be an uptick in creator-provided content for Senra.
  • This raised the question of a generic category and filters for mesh body types for easier product location (e.g. Human, Animals, Monsters, Fantasy, etc.) – although this could be subject to confusion when listing / trying to find things like anthropomorphic mesh characters.
  • Garfield Linden suggested an open-ended tagging system for mesh body support: creators could freely input the supported mesh body as a tag, selecting from a drop-down that shows how many other products currently have each tag applied, with the ability to arbitrarily add new tags to the system. These same tags could then be used by residents to filter their search results.
    • Potential problems here are with scalability / accuracy: how many creators will select tags as opposed to just typing in their own? How unwieldy would this eventually make the drop-down list? How will the tag list be managed to prevent cluttering with typos (e.g. “nial” for “nail”, etc.) & the consequent accidental use of mistyped tags?
    • A suggested solution for the above is to have the field used by creators to add tag names actually display the total number of times an entered tag has been used (so a typo will hopefully show 0). This could also provide an easier means for creators to select existing tags without having to necessarily use a full drop-down list for tags.

In Brief

  • The Linden Homes store (see: Looking at the New Linden Homes Store) is to gain search filters for finding themes easier, and also notifications. These should be deployed before year-end.
  • There is a known issue with Marketplace fuzzy search such that partial names may not produce anticipated results.
  • There was a general discussion on keyword abuse – including some stores using what might be regarded as keywords in product titles (e.g. the use of “bed” in the name of tattoos), which can skew search results (although may not always be intentional).
  • There was a repeated request to prevent Marketplace stores using stars in their names, enabling them to show up in searches using the star rating system. This is something the Lab is looking at.
  • The end of the meeting includes a general discussion on possible improvements in Marketplace gifting (e.g. allowing direct gifting, without having the items go to the user’s main shopping basket). This was coupled with requests with a more flexible shopping basket system (e.g. having the ability to use a basket to store items for later purchase, whilst also being able to purchase a selection of options within it when going to the check-out).
  • LL is still mulling how to best integrate CasperVend with the Marketplace.
  • Please refer to the video below for other topics.

Next Meeting

  • Wednesday, January 3rd, 2024.

2023 SL SUG meetings week #49 summary

Castle Dracula, October 2023- blog post

The following notes were taken from the Tuesday, December 5th 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 meeting is embedded at the end of this summary, my thanks as always to Pantera for recording the meeting and providing 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.
  • These meetings are conducted (as a rule):
  • 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.

Simulator Deployments

  • Tuesday, December 5th: the SLS Main channel was re-started without any simulator updates being deployed.
  • Wednesday, December 6th: the “Fall Colours” maintenance update may be expanded across all RC channels from BlueSteel / Preflight. This update includes llRezObjectWithParams, llIsFriend, but will not include the game controller updates.
    • However, following its initial deployment in Week 48, “Fall Colours” was found to have bugs with collision sounds (e.g. transferring them across region boundaries and with being able to silence them), with the result that the sounds can be repeated multiple times (see: BUG-234757 “Repetitive Collision Sound?” and this forum thread). As a result, at the time of the meeting, LL were still discussing whether or not to consider these issues as “blockers” against the release being more widely deployed.
    • If the deployment to all RCs goes ahead in the next week or two, it will represent the last server deployment for 2023.

No Change Window

  • The end-of-year No change window for simulator and official viewer releases will come into effect on the week commencing Monday, December 18th, 2023 and will remain in place until Tuesday, December 2nd, 2024.
  • Linden Lab offices will be closed for all but emergency support from close of business Friday, December 22nd, 2023, and will re-open on January 2nd, 2024.

Viewer Updates

On Tuesday, December 5th, the Maintenance-W RC viewer updated to version 7.1.1.7088402585.

Other viewers in the pipe remain as:

  • Release viewer: version 7.0.1.6894459864, the glTF / PBR Materials viewer, issued November 17, promoted November 28.
  • Release channel cohorts:
    • Maintenance V(ersatility) RC viewer, version 7.1.1.7039128750, December 1.
    • 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.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

Game Controllers

  • Leviathan Linden has previously considered the idea of changing the signature of the LSL event to provide per-channel info (input, value) rather than all of the controller state (buttons masks + all axes). However, he has discovered that such an event system would make it difficult to handle multi-modal input: e.g. some_button + axis_state.
  • This is because the state of each input would arrive in different events, and the order or arrival would matter, with Leviathan noting what he already has in place would likely win out in the end, negating any changes.
  • Currently, he is trying to make it possible to supply game_control input with keyboard input, but without having to completely rewrite the keyboard mapping and other related UI.
  • The Gingerbread maintenance branch with the prototype game_control feature has been redeployed to the Beta grid, and can be found on the following Aditi regions: Aegis Island, Blake Sea – Turnbuckle, Cloud Sandbox 1, Cloud Sandbox 2, Firestorm Aerodrome, Gothlauth, Hona Lee Puff, Jigglypuff, Laefeon, LR151, LR 152, Mauve, Moonberry, Morris, SG2, and Smithereens.
  • A point to note here is that the game controller work does not currently support 3dConnexion SpaceNavigator Mouse many of us use for things like flycamming, photography, filming, etc., but he is promised not to break support for the SpaceNav functionality.

In Brief

  • Combat Updates:
    • Rider Linden has published his outline document on improving SL’s combat capabilities, which can be found within the combat systems discussion thread on the forums. Feedback is requested from users engaging in combat games in SL.
    • This lead to a discussion on combat capabilities and needs throughout the rest of the meeting – please refer to the video below.
  • A question was asked on fog and distance hazing, this is something the graphics team hope to implement within the on-going glTF project – see: 2023 week #46: SL CCUG meeting summary: PBR status & current release plan.
  • BUG-234598 “Avatar hit box rotating bug” has been accepted by LL, but is proving difficult to reproduce.

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

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.