The following notes were taken from the Tuesday, October 11th, 2022 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.
On Tuesday, October 11th, the Main SLS channel were restarted with no deployment, leaving them on simulator release 574921.
On Wednesday, October 12th, the simhosts on the RC channels should receive simulator release 575585.
This release should contain two new functions llGetObjectLinkKey (specified under llGetLinkKey) and llSHA256String.
In addition, a slight change to the simulator code may help with the issue of people’s on-line / off-line status not being properly reported. It is not an actual fix for the problem, but LL would like feedback as to whether people are seeing an improvement. See : BUG-232037 for more information on the issue.
Available Official Viewers
Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
Maintenance 3 RC viewer, version 6.6.5.575257, September 23.
Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.5.575055 September 19.
Project viewers:
Performance Floater / Auto-FPS project viewer, version 6.6.5.575378, October 4.
Puppetry project viewer, version 6.6.3.574545, issued on August 30.
Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
Local KVP / “Linkset Data”
From the server deployment thread:
Coming Soon. We have a new feature build on Aditi for a feature tentatively called Local KVP. This feature works similarly to Experience Key-Value store, but the data lives with the object that sends and receives the data. Only scripts in the same linkset will be able to read the data written with this feature. For more details, see the in-progress wiki pages [COMING SOON]. You can try out the new LSL functions related to this feature at the following Aditi Mainland regions:
We’re looking for feedback on this new feature including bugs and input on anything that might be missing or not work the way you’d expect. Please file a BUG Jira in all of those cases
To the above, Rider Linden added:
The data is stored on the root prim of a linkset and if you link two prims together (each containing LinksetData it will migrate the new non-root’s data up to the the root). The data is accessible to any script running in the linkset [but] it is not visible at all from outside the linkset.
This functionality was the focus of the majority of the meeting, with questions and suggestions coming from those attending. To avoid confusion through summarising questions / suggestions and replies, please refer to the video below, and also see also this forum thread.
Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates from the week through to Sunday, October 9th, 2022
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.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
Release channel cohorts::
No updates.
Project viewers:
Performance Floater / Auto-FPS project viewer updated to version 6.6.5.575378, on October 4th.
Thursday, September 28th, 2022 saw the release of Kirsten’s Viewer S23 Build 1725 (what a pity build 1701 was a preview – it would have been Enterprise-ing to have a full release like this with all that is packed into it, go out with that ionic number! 😀 ).
While there was an earlier preview release, Build 1725 (initially 1705) – code-named Arcane – marks the first full release of Kirsten’s viewer in over a year – and brings to culmination a lot of hard work on Kirsten’s part in completely overhauling the viewer from stem-to-stern as well as incorporating the latest updates from Linden Lab.
Linden Lab Updates
Given the span of times between this release and the last, there have been numerous de facto viewer releases from the Lab such that listing them all here would simply read as a telephone directory of viewer version numbers and names. However, among that list there are some significant releases worth referencing as now being reflected in Kirsten’s Build 1725:
LLModalDialog() crash hotfix viewer, version 6.6.4.575022, September 2022
Profiles Viewer, version 6.6.3.574158, August 2022.
Performance Improvement viewer, version 6.6.0.571939, May 2022.
Multi-Factor Authentication (MFA) viewer, version 6.5.5.571282, May 2022.
Cache+ 360 Capture viewer, version 6.5.1.566335, December 2021.
Viewer UI updates, version 6.4.20.560520, June 2020.
All of which means that Kirsten’s viewer is bang-slap up-to-date with the Lab’s official release viewer code-base at the time of writing this overview.
For many, the chief updates in the above list will be the Performance Improvements, which (as with other viewers incorporating the Lab’s improvements) bring a significant FPS boost to most systems – notably with ALM enabled, but frequently with ALM+Shadows enabled); together with the 360-degree snapshot capability.
Performance Improvements / Changes
The Performance improvements contained within Kirsten’s 1725 actually break down into two categories:
The primarily under-the-hood improvements from Linden Lab which come via the Performance Improvements viewer as defined above,
The Graphics Improvements developed by Beq Janus and first released in Firestorm 6.5.3 in March 2022. These were submitted to Linden Lab and have been incorporated into the Performance Floater / Auto FPS t viewer, which at the time of writing this article was at project viewer status, and from which they have been pulled into Kirsten’s S23 1725.
Those wishing to take a deeper look at the Graphics Improvements floater and its options can do so via my Firestorm 6.5.3 review – but please note that while the functionality present within Firestorm is largely the same as for the official viewer /Kirsten’s viewer, the layout of the floater is slightly different. For completeness, the following is just a brief outline of the floater and its panels as found within the official viewer / Kirstens viewer:
The Firestorm-developed Graphics Improvements floater, as found with Kirsten’s Viewer (and the Lab’s Performance Floater / Auto FPS viewer)
Your current frame rate, which can be adjusted through changes in the Graphics Settings panel. Note that my FPS is shown as running at a maximum of 60 FPS as I have Vsync enabled, which limits frame rates to the screen refresh rate (60 Hz).
Displays the most commonly-used graphics settings (but not all – the Vsync option, for example, is absent and must be accessed via Preferences→Graphics) which can impact frame rates.
Lists all the avatars your viewer is currently rendering, and presents the time is takes to render them in microseconds (µs – a millionth of a second).You can use this panel to select individual avatars and select whether or not they are always fully rendered or never fully rendered.
Provides a breakdown of your avatar’s attachments and their render time / cost, and allows you to remove “laggy” items.
Provides a breakdown of your avatar’s HUD attachments and their render time / cost, and allows you to remove “laggy” items.
Presents the “Auto FPS” capability (several of the options found in the top bar of the Firestorm version of the floater as described in my review above) together with distance settings for rendering avatars in full detail and between which the auto-FPS will attempt to function.
Kirsten’s Viewer Updates
Build 1725 also includes a lot of changes from Kirsten as well. This can be split between the “visible” and the the under-the-hood, which together add up to a lot of work on Lee’s part to completely overhaul the viewer’s code and add multiple subtle but worthwhile changes.
The visible updates include:
Use use of gradients in floaters an panels to add a “softness” to them which helps them feel more a part of the viewer and the rendered scene behind, rather than sitting like a floating rectangle completely obscuring the view beyond.
Subtle, but appreciable updates to some – but not all – of the toolbar button icons.
Kirsten’s Viewer toolbar buttons showing the updated icons used with some
A refactoring of the AO floater to clean-up issues of buttons overlaying text within the panel.
1725 offers three new viewer skinning options:
Linden – speaks for itself, for those who prefer the look of the official viewers.
Pewter – the default, and a really nice take on the colour of the odd 1.23.x viewer series offering a soft pewter blue which is easy on the eye.
Jinx – a more lavender / purple finish semi-mindful of Kokua without replicating it.
Film Menu
Kirsten’s Viewer film menuThe Film Menu is a new menu option to Kirsten’s Viewer which is likely to be useful to photographers and machinima makers – and possibly to those who have the Space Navigator (SpaceNav) 3D mouse available for use with SL.
In short, this brings together options from other menus and Preferences, as will as supplying some custom options, designed to make recording machinima / taking photos easier. These range from the basic hide / show UI elements / HUDs through to adjusting shaders and those nifty options for adjusting how your SpaceNav mouse responds / influences avatar behaviour.
This menu may not be as comprehensive as the likes of similar options from in Black Dragon or the PhotoTools UI option within Firestorm, but it is still a good selection of functions and toggles that can be easily called up when filming / photographing a scene – although as a photographer myself, I’d perhaps like to see a few additions to make the menu a little more usable to those of us (the majority?) who prefer to take stills shots (e.g. the ability to de-render all avatars from a landscape shot, for example). But this is a minor point.
Under-the-Hood
The core amount of work carried out in this build has been the merging with the latest LL code-base, and a major overhaul of the code by Kirsten, as noted in the release description:
Anaglyph Render refactored … System detection totally rewritten to interrogate kernel (not registry or using manifests). Days and Days removing old code and going line by line improving performance. And I seriously mean that analysing each if/else statement and function for even the most minute tweak.
Finally, this is built with full optimisation and link time code generation.
Feedback
Kirstens Viewer has always offered good performance and crisp rendering, and the incorporation of the Lab’s updates (and those modified from Firestorm), together with the work put in by Kirsten in refactoring the code means that S23 1725 is one of the slickest performing viewers I’ve used – although I have little doubt it would not find favour among some SL users due to the lack of RLV or RLVa support, which is a shame.
On a personal note, I do like the new skinning options that come with 1725 – the “old” green default was to me a little too vibrant, whereas the Pewter is a lot easier on the eyes. However, I have been conflicted over the use of gradients on the drop-down menus. As noted above, the use of gradients on floaters and their panels works well, but their use in the menus might make menu options harder to see for those with vision impairments.
But, that said, there is no doubt that 1725 is an excellent update to Kirsten’s Viewer, and one that will hopefully put the viewer in a position where it an more readily keep pace with updates from Linden Lab & adopt new features (and those deemed suitable coming out of other TPVs) going forward.
The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, October 6th 2022 at 13:00 SLT. These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar.
This is a summary of the key topics discussed in the meeting and is not intended to be a full transcript.
Official Viewers Status
No changes through the week, leaving the current crop of official viewers as:
Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
Release channel cohorts:
Maintenance 3 RC viewer, version 6.6.5.575257, September 23.
Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.5.575055 September 19.
Project viewers:
Performance Floater / Auto-FPS project viewer, version 6.6.5.575378, October 4.
Puppetry project viewer, version 6.6.3.574545, issued on August 30.
Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
The Performance Floater / Auto-FPS project viewer includes a merge between the performance improvements from Firestorm integrated with the Lab’s auto-FPS capabilities.
Test viewers continue to be made available to those on the Content Creation Discord channel. Requests to join that channel should be made in person at CCUG meetings. I am no longer able (at LL’s request) to furnish such information.
Viewer notes:
In order to make it clear when someone is working with PBR materials assets, there is an additional option within the viewer’s Build floater which, when selected, will open a dedicated PBR Materials editor, rather than munging the editor controls into the Build floater.
This also allows options like Glow (not a part of the glTF specification) to be retained and potentially used as an overlay on PBR materials.
Render work has seen the removal of the stencil buffer. This means that those build tools relying on the stencil buffer will be changing or completely going away from the viewer (e.g. the show grid cross-section checkbox, which has been broken for some time).
Work is in progress to integrate Linden Water into the new rendering pipe and support reflection probes.
This is also seeing some additional work on underwater refraction and on water reflections (e.g. no longer necessarily real-time reflections) so as to lighten the performance load.
The changes will mean Linden Water will look a little different as to how it looks at the moment.
Additional scripting functionality has been added to the glTF test regions on Aditi to allow the configuring the reflection probes:
Link set variants of these functions should also work. These are the flags you can use in the last parameter:
PRIM_REFLECTION_PROBE_BOX` – Flag that determines if probe is a box or sphere.
PRIM_REFLECTION_PROBE_DYNAMIC` – Flag that determines if probe will cause avatars to be shown in its reflections
Overall, it is felt:
That a plan / process is in place to future-proof the work for the additional of further glTF parameters down the road.
The test viewer is moving rapidly towards a point where a pubic Project viewer will debut.
The aspirational goal for this work is to have the viewer fully released by the end of 2022. However, this is dependent upon feedback and reaction to some of the compromises made, once the viewer gets to project status as a wider audience.
In Brief
Planar mirrors: if developed, these are seen as being similar to mirrors found in VRChat, etc., where they can reflect the local scene in detail, although at a performance impact.
There are potential ways to help reduce the impact – such as by limiting the distance at which a mirror is seen as “active” via the viewer (e.g. if you are within 5 metres, reflections are generated in the mirror; if you are beyond 5 metres from it, no reflections are generated) or by having mirrors touch-activated.
Ideally, such mirrors would have a specific function, and not merely another item of set dressing for a scene, and reflection probes will be used for generating environmental reflections (e.g. those seen on the shine of a car body or piece of silverware), rather than trying to make general object surfaces planar mirrors.
Note that any of this work would be for a future project, and is not part of the current PBR Materials + reflections work.
Custom pivot points: this work is described as currently “stalled out” due to investigations into supporting full hierarchies and similar, which have proven more complicated that first thought – although the benefits of having a full hierarchy is seen as being a major benefit.
LOD Clamping, etc. (please refer to my previous CCUG / TPVD summary for background on this: discussions are still in progress, and nothing definitive has been decided as yet. However, enforcing a hard clamp on setting LOD factors (including via the RenderVolumeLODFactor debug) is seen as a potential first step.
Were this to be done, TPVs would be given a suitable lead time to encourage creators to make suitable adjustments to their content.
This would apply only to in-world objects, although it is recognised avatars are a problem in their own right.
The latter have had some amelioration applied, as the Performance Improvement code ignores rigged attachment scaling, and only paying attention to the avatar bounding sphere, so a) LODs should be selected based on the size of the avatar; b) rigged attachments should change LOD depending you your camera distance from them.
The above does not apply to rigged meshes with no LODs – so it is possible the Lab will start auto-generating LODs for these in the future.
Avatar imposters: SL currently leans heavily on the avatar imposter system to reduce the load of rendering avatars. It has been noted that a preferable route would be to generate mesh proxies for avatars at a distance. However, whilst discussed within the Lab, this is not – yet – a project.
Are usually chaired by Reed Linden, who is the Lab’s Product Manager for the Second Life front-end web properties (Marketplace, secondlife.com, the sign-up pages, the Lab’s corporate pages, etc.).
A video of the meeting, courtesy of Pantera, can be found embedded at the end of this article (my thanks to her as always!), and subject timestamps to the relevant points in the video are provided. Again, the following is a summary of key topics / discussions, not a full transcript of everything mentioned.
From this is it hoped that improved filtering, etc., can be built-out, and the work on Styles (listing variants) can move closer to deployment.
Land Ownership “Journey”
A complete re-write of every route by which users can obtain and hold land, from Premium (+Plus) Linden Homes, obtaining Mainland (incl. Abandoned Land), and private island regions, and renting from private estates.
The first element of the land work to be user-facing will be the new Land Portal, a central hub from which to get to all aspects of land “ownership”.
The Land Portal is still a development, and in the process of creating it, the team has embarked on building a design system so that the redevelopment of web properties can be undertaken with greater ease in the future.
Once available to the public, the Land Portal will thus provide insight into how the rest of secondlife.com will look at the web properties revamp continues.
[12:11-13:08] While incorporating private estates / rentals within the new “Land Journey”, the intent is not to manage private rentals, the idea is to make it more obvious to users that they can rent from private estates, how they might do so, and (potentially) provide a means for people to highlight their own available rentals.
Why Overhaul the Web Properties?
Effort is being put into the web properties as many relay on core designs and structures built well over a decade ago, and are thus dated in their look compared to modern websites and are difficult to maintain. The re-vamp is therefor intended to both update SL’s appearance on the web (and make it more attractive to the curious) and provide the means for more functionality and easier maintenance.
The introduction of Premium Plus has opened the door to potentially having multiple subscription levels, and possibly an “a-la carte” capability (pick which benefit options you’d like, and pay on the basis of that selection).
As Premium Plus has been so successful in its take-up, the Lab is looking to deploy what might be the first of further Premium levels by the end of 2022.
A formal announcement of what this new level is is be called and what it includes is expected “pretty soon”, possibly late October / early November 2022, depending on how the final naming and marketing, etc., decisions go,
This is not a level to sit “between” Premium and Premium Plus, but is regarded by the Lab as more of a “side” version, so levels are not necessary identified by price point but by options.
Reed’s view on additional Premium levels is that is the Lab develops ideas and takes feedback, so they will be able to offer choices (including a future a-la carte) that more fully reflect the hopes / wants / needs of users.
The New User eXperience (NUX) has been identified by the Lab’s Executive Team as a major area of focus for the at least next 12 months.
Some of the Lab’s work in this are has been previewed in terms of the upcoming “all mesh” New Starter Avatars (see here and here), but LL recognises more work needs to be done within the NUX as a while.
incoming suggestions for improving the NUX / user retention at this meeting were:
Inclusion of a “Getting Started” option in the viewer (or as an additional to the toolbar button?) to provide access to “approved” Second life You Tube tutorials (perhaps linking to the official Second Life University You Tube playlist?).
Introducing an actual “character creator” rather than just sets of starter avatars – this is actually already something the Lab is actually investigating at the moment.
Providing an over-the-shoulder camera view within the viewer, rather than / in addition to the current default camera placement.
Many already do this via the Camera Presets built-in to the viewer, and using “recognised” offsets such as those long provided by Penny Patton, and some TPVs provide an over-the-should view by default.
Doing so has many beneficial aspects to SL (such as the ability to properly scale building interiors) well beyond purely the NUX.
Making sure any gateway access points for incoming users have daytime EEP settings.
This is perhaps questionable where Community Gateways for specific role-play types (vampire / horror / space) are supposed to be dark – and having even a small area set to daytime might come across as counter-intuitive to incoming new players.
Improving the Inventory interface and ease the process of changing outfits, etc.
Some work on Inventory is being considered, which may include updates to things like available object icons, etc.. Alexa Linden has also been seeking broader feedback on inventory pain-points existing users experience.
Re-engineering the viewer so capabilities are only unlocked as new users visit in-world tutorial areas.
A problem here is that people come to SL for different reasons – so how do you ensure that their needs are meet both in terms of allowing them access to any functionality they require that may otherwise be “locked” & ensure they can get to require required tutorial location(s) with ease?
Some also come in as a result of friends, and get hands-on support from said friends – so may not require “formal” tutoring through dedicated locations – which then become regarded as a PITA in forcing people through them.
Providing structured hand-holding at the gateways where questions can be asked and answered – again something LL has re-experimented with, and many community gateways provide.
No definitive take on what it might look like, etc.
Lab still interested in obtaining feedback from store holders and customers on what they’d like to see incorporated in a new MP / approaches they believe should be taken (e.g. Amazon-like; Daz3D-like, etc.), and where specific pain point lie within the current MP & its presentation.
General chat towards the end of the meeting on user retention, content creation, strategies for user acquisition, etc. Please refer to the video for details.
Next Meeting
Wednesday, November 2nd, 2022. Venue and time per top of this summary.
The following notes were taken from the Tuesday, October 4th, 2022 Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.
Server Deployments
At the time of writing, there was no published deployment plan for the week.
On Tuesday, October 4th, the Main SLS channel were restarted with no deployment, leaving them on simulator release 574921.
On Wednesday, October 5th, the simhosts on the RC channels should receive simulator release 575421, which did not have an release notes available at the time of writing
This is the release from week #39, which was ultimately postponed as a result of an 11th hour bug showing up in QA testing.
These release should contain two new functions llGetObjectLinkKey (specified under llGetLinkKey) and llSHA256String.
Available Official Viewers
The Performance Floater / Auto-FPS project viewer updated to version 6.6.5.575378, on October 4th.
The rest of the current crop of official viewers remains as:
Release viewer: version 6.6.4.575022 – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
Maintenance 3 RC viewer, version 6.6.5.575257, September 23.
Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.5.575055 September 19.
Project viewers:
Puppetry project viewer, version 6.6.3.574545, issued on August 30.
Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
Experience KVP Change
Rider Linden offered a heads-up on a forthcoming change to Experience Key Value Pairs (KVP), which can be used to store large amounts of data related to an experience in-world, and make them accessible anywhere, any time, within the experience. Rider described the changes thus:
We are doing some work on the Experience KVP. The new tech that we are using doesn’t let us easily monitor the number of bytes that have been used be any particular experience. SO the proposal that is on the table is that we change the limit to a number of keys [and]:
A field would be tacked on to the end of llCountKeysKeyValue() that would be the allotted number of keys.
llDataSizeKeyValue would be changed to return the number_of_keys*4096 (which is the maximum size of the value that a key can store.
– Rider Linden
This sparked a discussion, and those who use experiences – or use the KVP table in an experience for any form of data storage, should refer to the video [29:21-end] in order to gain the full context of the proposed change and the discussion.
In Brief
BUG-232037 – “Avatar Online / Offline Status Not Correctly Updating” has been a bone of contention for many for the last few months, Commenting on the issue, Rider linden there are at least a couple of points in back-end communications where the problem might occur, but it will take time to properly diagnose.
Viewer-side: as noted in recent TPV Developer meeting summaries, there is a lot of work going on on the viewer build side of things (move to github for repositories, tool and library updates, etc. Whilst not strictly a part of the SUG meeting, Signal Linden wanted to get a couple of points out for viewer devs to note. One of these points relates to 3rd party code contributions to LL, the other on a library location under the new github structure:
So, some minor early notes wrt to opensource development. We are reviewing our contributor license agreement (CLA) and the process for collecting signatures. Ideally, I’d like for the CLA to be able to be signed in PRs on github. This will take some work with legal, and I don’t have anything definitive yet 🙂
Also, if you are not on the opensource-dev mailing list, the llsd python serialization library has been moved to its own repository; https://github.com/secondlife/python-llsd We are also starting to finally get the PyPI packages updated for autobuild.