2023 SL SUG meetings week #10 summary

Aurelias, January 2023 – blog post

The following notes were taken from the Tuesday, March 7th, 2023 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

  • On Tuesday, March 7th, the SLS Main channel servers were restarted without any deployment, leaving them on simulator version 577734.
  • On Wednesday, March 8th:
    • The majority of RC servers will be updated to simulator release 578370, first deployed in week #9 to the BlueSteel RC.
    • In addition, there may be a deployment to the Ferrari RC comprising new LSL Functions llList2ListSlice, llSortListStrided, and llListFindListStrided (per BUG-231545). It also has a fix for DATA_SIM_STATUS from llRequestSimulatorData(), and doubles the amount of memory available for Linkset Data (LSD) to 128k.

There have been no official viewer updates to mark the start of the week, leaving the various pipelines as follows:

  • Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2, 2023.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.578526, March 3, 2023 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

In Brief

  • Several general discussions:
    • Camera tracking for one’s own camera.
    • Particle size limits seen as possibly more a Content Creation User Group meeting discussion.
    • An idea to allow mesh vertices to be edited in-world without generating new assets in the process.
    • Using Media on a prim with HUDs, and the limitations therein (also related to the week #9 discussion of sending the contents of notecards in response to HTTP requests.
    • Image uploads and compression.
    • Please refer to the video for more on these.

2023 week 9: SL CCUG meeting summary – PBR

Cloud Edge, January 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, March 2nd, 2023 at 13:00 SLT. 

These meetings are for discussion of work related to content creation in Second Life, including current work, upcoming work, and requests or comments from the community, together with viewer development work. They are chaired by Vir Linden, and dates and times can be obtained from the SL Public Calendar.

Notes:

  • These meetings are conducted in mixed voice and text chat. Participants can use either to make comments / ask or respond to comments, but note that you will need Voice to be enabled to hear responses and comments from the Linden reps and other using it. If you have issues with hearing or following the voice discussions, please inform the Lindens at the meeting.
  • The following is a summary of the key topics discussed in the meeting, and is not intended to be a full transcript of all points raised.

Official Viewers Summary

The PBR Materials project viewer updated to version 7.0.0.578526, on March 3rd, 2023. Note that this viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.

Available Viewers

General Viewer Notes

  • The Maintenance R and the Performance Improvements / Auto-FPS RC viewers are both now apparently in line for promotion to de facto release status, although both may go through further RC updates prior to being promoted.

glTF Materials and Reflection Probes

Project Summary

  • To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
  • To provide support for reflection probes and cubemap reflections.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • In the near-term, glTF materials assets are materials scenes that don’t have any nodes / geometry, they only have the materials array, and there is only one material in that array.
    • It is currently to early to state how this might change when glTF support is expanded to include entire objects.
  • The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid):  Materials1; Materials Adult and Rumpus Room 1 through 4.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • Work continues on viewer-side bug fixes.
  • Tone mapping: work is progressing on implementing the Krzysztof Narkowicz variant of ACES tone mapping, which should – depending on the monitor being used  / viewer preferences set – produce better graphical results. As the result can vary by monitor / eye, this will include both an exposure slider and an option to disable the option.
  • Geenz Linden is working on the Mac side of the PBR work; Comic Linden is finalising UV treatment  and Bed Linden is working on the one remaining server-side bug the team is aware of and Dave P (Runitai Linden) is working on atmospherics and issues with rendering them in linear space.
  •  Linear space alpha blending: there are still issues with this, particularly at either end of the scale (high colours / high transparency and low colours / low transparency). This is being worked on, but may end up with a debug setting to disable linear space alpha blending by those who need to, with a warning that this is not how scenes are intended to be viewed.
A scene imported by Nagachief Darkstone and WindowsCE to demonstrate reflection probes (note the reflections on the knight’s armour – these are not generated by attached environment lights but by a reflection probe within the building structure. Image courtesy of Rye Cogtail

In Brief

  • It now looks as if the move away from the OpenGL API will be to Vulkan for Windows (/Linux?) and MoltenVK for Mac.
  • LL is interested in implementing something similar to the Firestorm Local Mesh capability by Beq Janus and Vaalith Jinn (see here and here for more), possibly as a result of a code contribution.
  • Land Impact:
    • Some creators are using the Animesh checkbox on upload to try to get around large mesh objects having heavy Land Impact values. LL gave notice at the meeting that this is regarded as an exploit, and it will be patched – so those doing so should really cease in order to avoid people facing unplanned object returns when their parcel start reporting they are over capacity.
    • In terms of Land Impact overall, it was acknowledged that while updated to allow for mesh, etc., the formula does still have some shortfalls; however, redressing this would require work which also involves bandwidth and server memory, and is not currently on the cards.
    • It is hoped that the move to support glTF mesh imports will offer a means to address LOD issues and Land Impact, as it will bring with it a fundamental shift in the data model
  • Cull distance volumes: one way to reduce the render load on a system is to have cull distance volumes. The PBR reflection probes are being seen by LL as a means to test data gathering which can eventually be used in cull distance volumes (e.g. so you can set-up a volume inside a room and have it so that the viewer does not start rendering anything within that room until a camera is within X metres of the room).
    • This could potentially make Land Impact more dynamic in terms of content streaming costs, based on the use of cull volumes / camera position.
    • It could also be used to assist in privacy matters (e.g. “don’t render what’s in this room unless people are in this room”).

Next Meeting

  • Thursday, March 16th, 2023.

March 2023 SL WUG meeting: MP search improvements

The Web User Group meeting venue, Denby

Update, March 8th: as per this official blog post, further fixes and improvements have been applied to the Marketplace search update.

The following notes cover the key points from the Web User Group (WUG) meeting, held on Wednesday, March 1st, 2023.

WUG meetings:

  • Are held in-world, generally on the first Wednesday of the month – see the SL public calendar.
  • Cover Second Life front-end web properties (Marketplace, secondlife.com, the sign-up pages, the Lab’s corporate pages, etc.).
  • They are not intended for the discussion of Governance issues, land fees / issues, content creation & tools, viewer or simulator development / projects. Please refer to the SL calendar for information on available meetings for these topics.

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.

Marketplace Search

The updates to the Marketplace implementation of ElasticSearch have been deployed, This means:

  • Merchant and store names won’t be included in product-specific searches anymore, increasing the number of relevant results.
  • The ability to do exact matches with quotes around a word or phrase.
  • Asterisk(*) wildcard searches.
  • Fuzzy matching will help with misspelled words and typos.
  • Search operators AND, OR, NOT will still work as before. (Note that they must be capitalised. Consult the tooltip next to keyword search for more information.).

Issues were encountered, such as the need to capitalise operators (as noted above), a bug with determining relevance, the result page displaying an inaccurate count of returns, etc. As per the official blog post, some of these have been addressed, and LL are watching the situation to address further issues as they occur.

In Brief

  • A general discussion on how the MP & search is used, e.g.:
    • How deep people go in scanning search return lists.
    • Do people use the MP & search to find specific products or general browsing (market research, curiosity, etc.)?
    • Do people use the MP as a means to find items then then purchase in-world or do they prefer to browse in-world and purchase via the MP?
    • The answers were broad-ranging and likely typical of a mix of merchants and consumers.
  • The question was asked about improving listing management for merchants, which generated numerous responses including:
    • Tags for listings, which when clicked will generate searches for items using the same tag.
    • An in-listing option for the owner of the listing to click on it to edit the listing directly.
    • Improvements to how discounts can be applied.
  • It was suggested that questions such as these should be put to users via the forums in order to generate broader feedback.
  • For details of these discussions, please refer to the video.

Next Meeting

  • Wednesday, April 5th, 2023. Venue and time per top of this summary.

2023 SL SUG meetings week #9 summary

Buddha Garden, December 2022 – blog post

The following notes were taken from the Tuesday, February 28th, 2023 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

  • On Tuesday, February 28th, the SLS Main channel servers were restarted without any deployment, leaving them on simulator version 577734.
  • On Wednesday, March 1st, the majority of RC servers will be restarted without any change. However, those on the BlueSteel RC will be updated with server release 578370.

Available Official Viewers

On Tuesday, February 28th, the Maintenance R RC viewer updated to version 6.6.10.578285.

The rest of the official viewers currently available remain unchanged from the start of the week:

  • Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Maintenance S RC viewer, version 6.6.10.578270, issued February 24.
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.10.578172, February 21.
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.578161, February 14. This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

In Brief

  • BUG-233440 “Add a method for dealing with user-customized keybindings in user-visible text” came under discussion, the Maestro Linden suggesting one approach, per the comments in the Jira.
  • The above segued into a general discussion on note card parsing commands in note card (with care!), making things like URIs within note cards clickable, and having an LSL command (e.g. llHTTPResponseNC() ) which could allows scripts to reply to HTTP requests within note cards – so if a HUD is using MoaP, JSON in the HTML could send commands back to it via post.
  • Please refer to the view below for other topics.

2023 SL Puppetry project week #8 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, February 24th, 2023 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

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 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:

Further Information

Meeting Notes

General Progress

  • LSL Integration:
    • See: OPEN-375: “LSL Functions for reading avatar animation positions”.
    • Rider Linden has not been able to get a lot done on the scripted control due to being out of the office. He does have the LSL function discussed in the last meeting so that it is correctly sending the necessary data down to the agent’s viewer.
    • He is now working now on how to feed that into the IK, and has a general framework, although he notes it’s been slow progress.
  • Simon Linden has been working on animation importing. This is additional work in terms of the Puppetry project, but comes as a result of discussions at previous meetings.
    • He is looking to add additional .BVH support, and possibly .FBX (e.g. .FBX using some specific skeletons and settings; the goal is to be able to get data out of animation tools and into SL without requiring 2 years of Blender skills). Given the general move towards glTF, this is seen as being more preferable (there is a possible appetite within LL for a re-write of the animation system, although it not on the immediate horizon (or a visible horizon at present).
    • Requests are still being made to allow animation priorities to be changed post-upload and edit animation values dynamically – it is not clear how much of this will be touched.
    • Changing the manner in which animation priorities currently work is not something LL are planning on touching.
    • Right now the messages that transmit what animations to play do not have a way to specify a priority, just the animation’s asset ID and the viewer will get the priority from the asset. This may change in the future, but the focus right now is on getting scripted animation control improved.
  • Leviathan Linden is continuing to work on animation streaming, but progress has been delayed due to bug hunting and fixing. However, he hopes to get the code into the Puppetry project viewer branch sooner rather than later. He has noted that this is very sensitive to bad framerate on the sender and on the simulator. This probably means that before animation streaming and/or puppetry could be “delivered”, some technical debt on the server at least.
  • The focus at the moment is on putting everything that has been worked on together and then making sure it all works within the viewer. After that comes the issue of making sure that things work between viewers (e.g. that 20 people running animation streaming in a scene does not result in the viewers collapsing or being unable to playback all the streams; ensuring the new capabilities paly nicely with existing “canned animation” systems (e.g. dance machines, etc.).

In Brief

  • It’s been noted that moving the simulators to 64-bit is being worked on.

Date of Next Meeting

  • Thursday, March 9th, 2023, 13:00 SLT.

2023 SL SUG meetings week #8 summary

Moruya Sanctum, December 2022 – blog post

The following notes were taken from the Tuesday, February 21st, 2023 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

  • There are no planned deployments for the week, so the various channels will just be restarted.
  • Release 578100, made to the BlueSteel RC channel had to be rolled back post-deployment as a result of BUG-233402 “Second Life Server 2023-02-02.578100 – LSO scripts not running on_rez() event.”

Available Official Viewers

There have been no updates to the current crop of official viewers to mark the start of the week, leaving the pipelines as follows:

  • Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2, 2023.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.578161, February 14, 2023. This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

In Brief

  • Whilst not simulator-related, there have been some additional requests for improvements to the particle system – see: BUG-233438 “Larger particle size limits”, BUG-233439 “Per-generator particle limits” – it is possible these and requests such as BUG-5307 “New Particle texture parameters (repeat/offset/rotation/animation)” might received some attention in the near future – although a request for more information on the first two has been made.
  • A possible reason on why objects don’t always rez on login-in / following a teleport has been identified. Essentially, on arrival in a region, the viewer must inform the simulator as to its camera placement and rotation. It does so via an AgentUpdate. However, this in turn requires the viewer to receive an ObjectUpdate confirming the avatar has arrived. As there is a delay in these two events, the interest list can start sending data ahead of the camera position being confirmed, only for the camera to “jump” once its position has been confirmed, and this leads to confusion as to the data the interest list needs to send, resulting in some data being missed, and thus objects failing to render. If this is correct, there needs to be better check on synchronisation between the viewer and simulator before interest list information is sent.