2023 week #23: SL TPVD meeting summary

Nederlanse Bergee, April 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the TPV Developer (TPVD) meeting held on Friday, June 9th 2023 at 13:00 SLT. These notes are via a combination of my own chat log transcript of each meeting, and / or the video recording made of each meeting by Pantera Północy and embedded at the end of this article. My thanks, as always, to her for recording these meetings.  Note that the following is a summary of the meeting as a whole, and not a transcript of everything discussed.

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.

Official Viewers Status

  • The Maintenance T RC viewer updated to version 6.6.13.580419 on June 7th.

The remaining official viewers currently in the pipeline remain unchanged through the week:

General Viewer Notes

  • The glTF / PBR material viewer (and project) are in bug fixing mode, specifically with some QA questions / concerns on the server side of things.
  • Inventory thumbnails viewer: work is progressing, and the simulator support code has been deployed to the simulator RC channels and is expected to go to the SLS Main channel in week #24.This will potentially allow the first release of an Inventory Thumbnails project viewer.
  • LL has completed the move of viewer builds to Github Actions, and has now successfully completed the first viewer builds along this new process. Th next step is to move all viewer-related work away from Team City completely.
  • This work also means that the Chromium Embedded Framework (CEF) for media handling is being updated.

In Brief

  • Prototyping is underway for the support of planar mirrors in SL and for the application of PBR materials on terrain (note, again, this is not PBR terrain painting, it is using PBR materials in place of the default terrain textures – see this blog post for more).
    • A test build of a viewer supporting the application of PBR materials for terrain has been made available through the Content Creation Discord server for limited testing, and feedback is being taken on this.
    • Work is underway to allow triplanar mapping for terrain repeats.
  • BUG-232037 “Avatar Online Offline Status Not Correctly Updating” was raised again, although more strictly a simulator issue. The precise cause(s) of the problem are still being investigated. Anecdotal evidence from some quarters claims the issue is getting worse, but whether this is objectively the case is questionable.

 Next Meeting

  • Friday, July 7th, 2023.

† 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 Puppetry project week #23 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, June 8th, 2023 Puppetry Project meetings. Notes in these summaries are not intended to be a full transcript of every meeting, but to highlight project progress / major topics of discussion.

Meeting And Project Overview

  • The Puppetry User Group exists to provide an opportunity for discussion about the development of, and feature for, the upcoming Second Life Puppetry project(see below for details), bugs, and feature ideas.
  • These meetings are conducted (as a rule):
    • On Aditi (the Beta grid) at the Castelet Puppetry Theatre, commencing at 13:00 SLT.
    • Those encountering issues in logging-in to Aditi should contact Second Life support for assistance.
    • Generally on alternate Thursdays to the Content Creation meetings.
    • Comprise a mix of text and voice – attendees can use text only, if preferred, but should enable to hear comments / responses given in voice.
  • These meetings are open to anyone with a concern / interest in the Puppetry project, 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.

General Project Description as Originally Conceived

LL’s renewed interest in puppetry was primarily instigated by Philip joining LL as official advisor, and so it really was about streaming mocap. That is what Philip was interested in and why we started looking at it again. However since Puppetry’s announcement what I’ve been hearing from many SL Residents is: what they really want from “puppetry” is more physicality of the avatar in-world: picking up objects, holding hands, higher fidelity collisions. 
As a result, that is what I’ve been contemplating: how to improve the control and physicality of the avatar. Can that be the new improved direction of the Puppetry project? How to do it?

Leviathan Linden

  • 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 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).

Additional Work Not Originally In-Scope

  • Direct avatar / object / avatar-avatar interactions (“picking up” an apple; high-fives. etc.).
  • Animations streaming: allowing one viewer to run animations and have them sent via the simulator to all receiving viewers without any further processing of the animations by those viewers.
  • Enhanced LSL integration for animation control.
  • Adoption of better animation standards – possibly glTF.
  • Given the project is incorporating a lot of additional ideas, it is likely to evolve into a rolling development, with immediate targets for development / implementation decided as they are agreed upon, to be followed by future enhancements. As such, much of what goes into the meetings at present is general discussion and recommendations for consideration, rather than confirmed lines o development.

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 wishing to submit code (plug-ins or other) or who wish to offer a specific feature that might be used with Puppetry should:

Resources

Meeting Notes

  • The viewer remains at  version 6.6.12.579958, issued on Thursday, May 11th.
    • This update includes access to Rider Linden’s experimental attachment point tracking & forwarding to the server feature.
    • It also includes various incremental improvements to handling puppetry, such as support for parsing binary LEAP data from the LEAP script.
  • Work has slowed a little due to Linden staff being out-of-office recently (hence why no meeting since May 11th), and personnel on the Puppetry project also working on other simulator projects.
    • This has notably impacted Leviathan Linden’s work on Inverse Kinetics (IK), which has had a knock-on impact slowing Rider Linden’s work on LSL support for driving puppetry.
    • However, progress has resumed on the IK work and while described as currently “not stable”, and problems are still to be solved in situations where a target position is too far away for a joint in the skeleton to reach, or where multiple joints (e.g. 5 or 6) are involved.
    • One issue that is proving difficult to handle is the default avatar mesh joint weighting is incorrect along the forearm and wrist. What is required is two distinct joints at the forearm to do mesh bending correctly: a hinge at the elbow and also a twist constraint along the forearm bone, toward the wrist, rather than (as is currently the case) treating the wrist as a ball joint. This may be the subject of further internal discussion at LL as Leviathan gets more of the IK work nailed down.
  • WRT IK:
    • Leviathan is looking to solve the targeting issues first, then work back to ensure that there are no collisions between a limb and avatar body (e.g. reaching across the avatar’s body to pick something up, and the avatar’s elbow / part of the arm appears to go through the body).
    • Forward And Backward Reaching Inverse Kinematics (FABRIK) – which is the fundamental algorithm for suggesting new joint positions in a range of applications, including 3D modelling – is the route of choice of the Lab; however, adopting to FABRIK is taking some trial and error.

Additional Notes

  • Aura Linden is here but she is working on the Animation importer project which has been split off from the Puppetry project. Currently, the status is animations can be import import animations from some tools/formats, but others aren’t working yet.
    • It was noted at the last meeting, that for animation import, LL is looking towards using / supporting Assimp (github: https://github.com/assimp/assimp), which supports some 30-40 animation formats, converting them to it ownformat for ease of import to multiple platforms. Notably, it supports .FBX and glTF, so it fits with the Lab’s goal of utilising glTF for materials, mesh imports, etc.

Date of Next Meeting

  • Thursday, June 22nd, 2023, 13:00 SLT.

2023 SL SUG meetings week #23 summary

Sunnmøre, April 2023 – blog post

The following notes were taken from the Tuesday, June 6th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • 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.

Server Deployments

  • On Tuesday, June 6th, the SLS Main channel servers were restarted without any user-facing changes. Those regions within the channel which still supported LSL XML-RPC functionality had that capability switched off.
  • On Wednesday, June 7th the RC channels should be updated with a simulator release providing support for the new inventory thumbnails viewer capability soon to be forthcoming. See my recent TPVD meeting summaries for more on this capability.
    • This project – or at least the simulator element – is apparently known as “Manicure” internally at the Lab!).

Viewer Updates

No changes to the crop of official viewers for the start of the week, leaving the list as:

In Brief

  • The long-requested Linkset Data (LSD) functions llLinksetDataDeleteFound and llLinksetDataCountFound should be going to LL’s QA team for testing in the upcoming week, and so could be appearing in a maintenance simulator update Soon™. Although it will first go to Aditi for testing.
  • BUG-233832 “llCreateLink LSL function sleep time might be excessive” is due to be addressed in a simulator update due to go to RC in week 24.
  • BUG-202560 “Allow us to pass list data between links to vastly reduce script time” is currently under consideration. Rider Linden’s thinking is that, rather than send the 3 predefined int, string, and key data items, it would be possible to send an arbitrary list.
    • He also noted that at some point he “would love” to add JSON as a first class datatype. Ding so would vastly reduce the time spent parsing and the memory usage, as it would remove the need to keep playing with strings and substrings.
  • The latter pert of the meeting includes a discussion on sensors (and sensing avatars), which touches on BUG-233784 “Add sensor type LOW_SCRIPTED as an option”, and BUG-4329 “Feature Request: New sensor functions that are not bound to a prim’s position & rotation plus inclusion of an Owner filter”. Refer to the video below for details.

† 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 viewer release summaries week #22

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, June 4th, 2023

This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: Maintenance S RC viewer, version 6.6.12.579987, dated May 11, promoted May 16.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • No updates.
  • Project viewers:

LL Viewer Resources

Third-party Viewers

V6-style

  • Kokua updated to version 6.6.12.50745 (no RLV) and 6.6.12.54169 (RLV variants) June 3 – release notes.

V1-style

Mobile / Other Clients

Additional TPV Resources

Related Links

2023 SL SUG meetings week #22 summary (and a LSL XML-RPC reminder)

Photo Café, April 2023 – blog post

The following notes were taken from the Tuesday, May 30th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • 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.

Server Deployments

  • On Tuesday, May 30th, the SLS Main channel servers were restarted without any user-facing changes.
  • On Wednesday, May 31st, a new RC update, providing back-end support for the new inventory thumbnails viewer capability soon to be forthcoming. See my recent TPVD meeting summaries for more on this capability.

Viewer Updates

  • The Emoji Project Viewer (😊😒🥱😬🤪🫣😲🐱🦄 – depending on your personal point of view!), version, 6.6.13.580279, was issued issued on May 30th.
    • This viewer enables the use of emojis in local chat and IM conversations, encoded as their corresponding unicode characters as well as via the use of the Windows (Win+. or Win+;) and MacOS (Ctrl-Cmd-space) emoji pickers (note any animated gifs displayed in these pickers are obviously not supported).
    • This capability comes as a code contribution from Kitty Barnett, who first implemented it within the Catznip viewer. As such other TPVs may already present their own support of the capability in some flavour (such as supporting / recognising input via an emoji picker).

The remaining list of available official viewers is as follows:

LSL XML-RPC Reminder

A reminder that, as per my March 23rd relaying of the news that LSL XML-RPC functionality will be permanently ended on Thursday, June 1st, when incoming LSL XML-RPC traffic on the remaining small channel of regions on Agni (the main grid) will be blocked. The reason for this is that  LSL XML-RPC has been deprecated since the introduction of HTTP-In back in 2009, and by the time the March announcement was made, had dwindled to just a few dozen per hour across the entire grid, making maintenance and support of the capability no longer beneficial to LL in term of time and resources, which could be put to better use in improving SL.

In Brief

  • The glTF PBR materials project is still awaiting a small RC simulator release to allow for broader testing on the main grid.
  • BUG-227303 “collisions makes a script stop running and revert its mono status” is on LL’s “backlog” of issues to be resolved, down to the fact it has been proving difficult to reproduce consistently.
    • It was suggested at the meeting that looping around the regions forming the Jeogeot Gulf does consistently repo the issue (particularly when using vehicles with a lot of content / scripts), and this could be used for testing.
    • A discussion on region crossing flowed throughout the meeting, please refer to the video below.
  • BUG-232037 “Avatar Online / Offline Status Not Correctly Updating” – further work is in progress to try to address this issue, and will be targeted for an upcoming simulator release Soon™.
    • A temporary workaround LL is suggesting whilst this work in is progress is for people noting their Friends list is not display the correct status for their contacts to try teleporting to a an unoccupied region / region with relatively few avatars and then re-log from there.
  • Feature Request BUG-231702 “Allow scripts with PERMISSION_TRACK_CAMERA to detect FoV” was commented on, leading to a general discussion on the potential for greater LSL control of the viewer’s camera. Please refer to to the video below for details.
  • Blocking  / Muting:  it was pointed out that some people are using a new vector to harass people who have otherwise blocked them, by making a minimal L$1 payment to them through the viewer. It is not clear how widespread this is, and whilst a governance / viewer issue, requests were made during the meeting for LL to look into making blocking / muting more robust to prevent such edge-cases.

† 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 viewer release summaries week #21

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, May 28th, 2023

This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: Maintenance S RC viewer, version 6.6.12.579987, dated May 11, promoted May 16.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • glTF / PBR Materials project viewer, version 7.0.0.580330,  May 25.
    • Maintenance T RC viewer, version 6.6.13.580262, May 24.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links