The following notes were taken from the Tuesday, October 18th, 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 18th, the Main SLS and Events channels were updated with server 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.
On Wednesday, October 19th, the simhosts on the RC channels will be restarted but remain on simulator release 575585.
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:
Puppetry project viewer, version 6.6.3.575529, October 12.
Performance Floater / Auto-FPS project viewer, version 6.6.5.575378, October 4.
Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
Local KVP / “Linkset Data”
From the server deployment thread:
We have a new feature build on Aditi for a new feature called Linkset Data. 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 https://wiki.secondlife.com/wiki/LSL_Linkset_Data. 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
This work is currently with the Lab’s QA team, and if cleared, could be a part of an RC channel deployment in week #43 (commencing Monday, October 24th, 2022.
These upcoming release sparked a conversation on data storage and access – please refer to the video for details.
In Brief
BUG-232037 “Avatar Online / Offline Status Not Correctly Updating” – LL believe that have a “handle” on the where the issue is originating, but there has been no time to take a deep dive into the actual cause as yet.
Further discussion on making multi-region crossings by vehicle more robust.
Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates from the week through to Sunday, October 16th, 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:
Puppetry project viewer update to version 6.6.3.575529, on October 12th.
Puppetry demonstration via Linden Lab – see below. Demos video with the LL comment “We have some basic things working with a webcam and Second Life but there’s more to do before it’s as animated as we want.”
The following notes have been taken from chat logs and audio recording of the Thursday, October 13th Puppetry Project meetings held at the Castelet Puppetry Theatre on Aditi. These meetings are generally held on alternate weeks to the Content Creation User Group (CCUG), on same day / time (Thursdays at 13:00 SLT).
Notes in these summaries are not intended to be a full transcript of every meeting, but to highlight project progress / major topics of discussion.
Project Summary
Previously referred to as “avatar expressiveness”, Puppetry is intended to provide a means by which avatars can mimic physical world actions by their owners (e.g. head, hand, arm movements) through tools such as a webcam and using technologies like inverse kinematics (IK) and the LLSD Event API Plug-in (LEAP) system.
Note that facial expressions and finger movements are not currently enabled.
Most movement is in the 2D plain (e.g., hand movements from side-to-side but not forward / back), due to limitations with things like depth of field tracking through a webcam, which has yet to be addressed.
The back-end support for the capability is only available on Aditi (the Beta grid) and within the following regions: Bunraku, Marionette, and Castelet.
Puppetry requires the use of a dedicated viewer, the Project Puppetry viewer, available through the official Second Life Alternate Viewers page.
No other special needs beyond the project viewer are required to “see” Puppetry animations. However, to use the capability to animate your own avatar and broadcast the results, requires additional work – refer to the links below.
There is now a Puppetry Discord channel – those wishing to join it should contact members of LL’s puppetry team, e.g. Aura Linden, Simon Linden, Rider Linden, Leviathan Linden (not a full list of names at this time – my apologies to those involved whom I have missed).
Bugs, Feature Requests and Code Submissions
For those experimenting with Puppetry, Jiras (bug reports / fixes or feature requests) should be filed with “[Puppetry]” at the start of the Jira title.
New Viewer Version – 6.6.3.575529 Dated October 12th
This viewer uses a different, more efficient data format sending updates up to the region, and from the region to viewers.
The new and old formats and viewers are not compatible; someone on the new project viewer will be unable to see puppetry rendered for someone using the older viewer version, and vice-versa.
It is hoped that severe breakages between viewer versions like this will be avoided going forward, but this change was deemed necessary
This viewer also a crash (deadlock) fix, and puppetry animations should fade in/out when starting or explicitly stopping (animations may stop abruptly should the LEAP plugin crash, or the data stream is lost, etc.).
Those self-compiling viewers with the puppetry code should ensure they are pulling the updated code from the 6.6.3.575529 (or later as new versions appear) repositories.
Protocol Overhaul
Leviathan Linden Linden noted the project team is going to overhaul the Puppetry/LEAP protocol.
The intent is to replace all the current LEAP commands (“move”, “set_this”, “set_that”, etc.), and replace with just two commands: “set” and “get”.
On the “set” side:
It will be possible set avatar joint transforms, or specify IK targets, and also set various configuration settings as necessary.
These set commands will be “incremental” in nature (so that changes can be made to reach the final state), and once set, they stay at the defined value until modified, cleared, or the plug-in “goes away”.
On the “get” side:
get_skeleton and any other get_foo commands (if used) will be replaced with {get: [skeleton, foo, …]}.
A message will be generated and set back to the viewer making the Get request, but the form of the message is still TBD.
Meanwhile, the viewer will only do IK for your own avatar, and will transmit the full parent-relative joint transforms of all puppeted joints through the server to other viewers, and LL will make it possible for a plug-in to just supply full parent-relative joint transforms if desired (e.g. no IK, just play the data)
This overhaul will also provide:
A way to move the Pelvis. This will include both a pre-IK transform (which is just setting the Pelvis transform) and also a post-IK transform, in case the avatar is to be moved after setting all the joints.
A “terse” format for the LEAP/Puppetry protocol to simplify some “set” commands to reduce data going over the LEAP data channel. It will be possible to mix these “terse” command with long-form explicit commands.
Leviathan plans to break all of this work down into a set of Jira issues and place them on the kanban board for ease of viewing.
The overall aim of this overhaul is to make the protocol more easily extendible in the future.
To the above, Simon Linden added:
The data stream is radically different than what we started with. Essentially your viewer will do the work for your avatar: send[ing] all data needed for your puppetry animations [so] the people seeing you just have to use those positions – no IK or significant processing. That should help out in the long run with crowds
Example Script
Simon Linden has produced a simple example script that is pushed to the Leap repository:
It reads a JSON file and sends that puppetry data to the viewer.
Using it, is is possible to edit some values, save the JSON text file, and see bones move as an example of doing so.
In Brief
BUG-232764 “[PUPPETRY] [LEAP] Puppetry should be able to ‘Get’ and ‘Set’ avatar camera angle” has been raised to go with the protocol overhaul, and while it has yet to be formally accepted, has been viewed as a good idea by the Puppetry team.
Puppetry does not support physics feedback or collisions as yet, and work for it to do so is not on the short list of “things to do next”
There is currently an issue of “near-clipping” within a a first-person (e.g. Mouselook) view and using puppetry (so, for example, holding a hand up in front of your avatar’s face in Mouselook results in the hand being clipped and now fully rendering). This is believed to by an artefact of the viewer still rendering the head (even though unseen when in first-person view), and this interfering with rendering near-point objects like hands. The solution for this is still TBD.
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.