2022 SUG meetings week #42 summary

Green Acres, August 2022 – blog post

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.

Server Deployments

Please see the forum deployment thread for the latest updates.

  • 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.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • 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:
  • Blake Sea – Arabian ; Blake Sea – Atlantic ; Blake Sea – Beagle ; Blake Sea – Binnacle ; Blake Sea – Black ; Gothlauth ; Jigglypuff ; Mauve ; Moonberry ; Sapas ; Smithereens
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.
  • A general discussion on lighting.

2022 viewer release summaries week #41

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.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

Mobile / Other Clients

  • Group Tools – website unreachable since January 2022.
  • Radegast – website unreachable since April 2022.
  • Speedlight: updated to v25 on October 10 – release notes.

Additional TPV Resources

Related Links

2022 Puppetry project week #41 summary

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.
  • There is also a public facing Kanban board with public issues – those experiencing issues can also contact Wulf Linden.
  • Those wishing to submit code (plug-ins or other) or who wish to offer a specific feature that might be used with Puppetry should:

Further Information

Meeting Notes

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.

Date of Next Meeting

  • Thursday, October 27th, 2022, 13:00 SLT.

2022 SUG meetings week #41 summary

Wild Branch Brewing Co, August 2022 – blog post

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.

Server Deployments

Please see the forum deployment thread for the latest updates.

  • 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.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • 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:
  • Blake Sea – Arabian; Blake Sea – Atlantic; Blake Sea – Beagle; Blake Sea – Binnacle; Blake Sea – Black; Gothlauth; Jigglypuff; Mauve; Moonberry: Sapas; Smithereens
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.

2022 viewer release summaries week #40

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.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

Mobile / Other Clients

Additional TPV Resources

Related Links

Kirsten’s Viewer 1725: delving into the Arcane

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)
  1. 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).
  2. 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.
  3. 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.
  4. Provides a breakdown of your avatar’s attachments and their render time / cost, and allows you to remove “laggy” items.
  5. Provides a breakdown of your avatar’s HUD attachments and their render time / cost, and allows you to remove “laggy” items.
  6. 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 menu
The 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.

Related Links