2023 week #43: SL TPVD meeting summary

Goatswood, August 2023, blog post

The following notes were taken from my chat log transcript and audio recording of the Third Party Viewer Developer (TPVD) meeting held on Friday, October 27th, 2023. Afraid no video for this month, Pantera has a lot going on.

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.

Viewer Updates

The Github Actions (GHA) RC viewer, version 6.6.16.6566955269 was promoted to de facto release status on October 25th. This marks the first release viewer built using the Github Actions (indicated by the extended version number). This viewer also includes a significant update to the Chrome Embedded Framework (CEF) for media handling.

The rest of the current crop of official viewers remains as:

  • Release channel cohorts:
  • Project viewers:

General Viewer Notes:

  • Upcoming official viewer can be viewed on the Github Actions build page, so what is coming down the line can be seen; however artefacts within the list are not publicly linked to downloadable items such as installers. This may change in the future.
  • The Emoji RC viewer is defined as being “in test”, with the other RC viewers in a maintenance cycle to gain parity with the new release viewer.

PBR Materials Update

  • The back-end support for PBR Materials is liable to be deployed to both the BlueSteel and LeTigre RC channels (so approx 3,000 regions) in week #44 (commencing Monday, October 30th), pending the code clearing QA.
  • Core work remains in “maintenance mode” with bug fixing and a focus on driving the project forward towards release.
    • It is believed the only significant blockers remaining are those of performance issues on the Mac version of the viewer – and LL are happy to take suggestions from TPV developers on how to get the Mac variant of OpenGL perform better.
  • One additional issue which had been reported was that of non-PBR enabled viewers appearing to suffer high pack losses on PBR regions (BUG-234550). However:
    • Investigations appear to have shown this as being a “sensor ghost” – the viewer reporting messages it receives but which are not in its message template (a would be the case with a non-PBR viewer receiving PBR specific messages) as a packet loss, which is not really accurate.
    • To deal with the specific issue with non-PBR viewers on PBR regions, and as an interim measure until the PBR viewer is the de facto release viewer, the updated message template for the PBR viewer is to be incorporated into the current RC viewers, together with a suppressor to prevent non-PBR viewer generating false packet loss updates. The code will then be available to all official “pre-PBR” viewers as they are updated with the RC code.
    • TPVs wishing also wishing to eliminate the false reporting of packet loss in their non-PBR viewer releases are encouraged to also pull the PBR viewer message template commit from Github and incorporate it in any upcoming pre-PBR updates they may have in the works.
  • Overall, and allowing for any list-minute issues + clearing the Mac viewer issues, the plan is to pretty much release PBR Materials on the basis of what is currently incorporated in the simulator code and the current RC viewer.
    • This means there will be a range of known issues within the release; however, it is believed that none of them will break any existing content on the Main grid, nor will any fixes for them which are introduced following the initial release.
  • One of the outcomes of the glTF  / PBR project has been a closing of the “divide” between the simulator and viewer engineering teams, with people working on both sides as the PBR project has progressed. This will continue through further iterations of glTF support (e.g. through elements such as the Interest List, which is both viewer-side and simulator-side, and which is not currently geared towards optimal handling scene-wide updates, as will be required as additional aspects of the glTF specification are incorporated into SL).

In Brief

  • There was a general discussion on the internals of viewer development (general message handling, viewer asset throttling, location of “official” masters of things like the message template, the status of the Lab’s Libcurl implementation in light of recent libcurl security issues (in short: “stuck” on an earlier version, so not directly affected), HTTP2 vs. HTTP3 updates,  etc.).
  • A general commentary on Windows 32-bit usage (not no longer officially supported) – with Firestorm stats reporting around 1.9% of their user base still appear to be running 32-bit windows – but the majority of this figure might be down to an Intel bug reporting 64-bit users running 32-bit.
  • A general discussion on the viewer + time-zones, providing a means to add the day of the week to the viewer log-in screen, rather than those in time zones other than California have to check the local day via the viewer clock tool-tip once logged-in.
    • In this, the fact that the time reported in the viewer is “PDT” (and/or PST? I’ve never actually noticed if the viewer reflects changes between PDT and PST notation) rather than “SLT” – which is the acronym everyone in SL understands – can also be a source of confusion. As can the fact that elsewhere within Second Life properties UTC (GMT) can be used.
    • during the discussion it was indicated that LL will likely try to be more consistent in referencing SLT rather than physical-world time zones.
  • Reference was made to a forum discussion on event message polling (particularly viewer side region start-up) which can have an impact (/unintended consequence) in terms of things like message execution. Monty Linden is involved in these discussions and in investigations, and improvements will be appearing in upcoming simulator releases.
  • The above led to a general conversation on reliable SL documentation sources (the broad answer in case of technical documentation being “the code”), and the historic reasons for public-facing documentation becoming fragmented (e.g. the old issue of SL wiki pages being repeatedly vandalised & so locked from editing by users who might otherwise be well-placed to update them), etc.

Next Meeting

† 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 gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #43 summary

Ashemi Rising, August 2023 – blog post

The following notes were taken from the Tuesday, October 24th Simulator User Group (SUG) meeting. They form a summary of the items discussed, and is not intended to be a full transcript.

Server Deployments

  • No deployments for the week. However, all simhosts (SLS Main and RC) will be restarted.

Upcoming Deployments

  • The “fall Colours” simulator update is being held back due to a blocking bug which causes the viewer to hang. This requires both a viewer fix and an simulator fix, both of which are in progress. Despite the delay, the hope is to have this release to RC status before US Thanksgiving and grid-wide after Thanksgiving.
  • The simulator-side code for game controller support is also within the “Fall Colours” simulator update.
  • code will also be presented in initial work on updates to the SL damage system – specifically making damage a property of the object (e.g. a bullet), rather than being a script property (see the previous SUG meeting notes and this forum thread discussion) will now hopefully be available for testing on Aditi in week #42 and are being lined-up with the upcoming “Fall Colours” simulator update.
  • The rez_object_fail update planned for the upcoming “Fall Colours” simulator update is likely to slip back to a later simulator release.
  • The ability to turn an avatar invisible when they are sitting is being targeted for a simulator release following “Fall Colours”. This will help address issues such as allowing avatars to sit on small vehicles without them having to be deformed and folded up inside them to fit. This may additionally encompass the likes of feature requests BUG-232678 and/or BUG-233175.

Viewer Updates

No updates to viewers for the start of the week, leaving the official viewer pipelines as:

  • Release viewer, version 6.6.15.581961, promoted October 2 (formerly the Inventory Extensions Viewer).
  • Release channel cohorts:
  • Project viewers:

Games Controller Update

  • The documentation for the Game Controller SL event can be found with the SL wiki.
  • A projects viewer is available via Github actions, but per the above, simulator support is pending the Fall Colours RC release.
  • Pending main grid availability, the simulator support is available on Aditi (the Beta grid) within the following regions: Ahern, Cloud Sandbox 3, Cloud Sandbox 4, Mesh Sandbox 2, Sandbox Wanderton, Snark, and Tyl.
  • Currently, only 6 axes are supported on game controllers.

In Brief

  • A further discussion on combat and games in SL, updates to llDetectedDamage. This includes feature requests BUG-234583 “Detected Damage (combat updates)” and BUG-234584 “Detected Rezzer/Parent (combat updates)” and Linden damage. This also covering projectile rezzing, health regeneration, the ability to hve a Damage event trigger, rules enforcement (e.g. via scripts / experiences), etc.
  • The conversation spun out to touch other areas of interest to, but not reliant on gameplay in SL:  the ability to crawl under objects, an actual crawl option within the locomotion graph, ideas such as feature request BUG-233175 “llSetAgentParams: a way to customize certain agent attributes”, whether or not the existing system for combat should be retained and enhanced or replaced – or a new system introduced with the old behaviours retained for those wishing to continue to use it.
  • Much of the discussion was speculative / requests, and it took up most of the meeting.

† 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 #42

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

Updates from the week through to Sunday, October 22nd, 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, version 6.6.15.581961 (formerly the Inventory Extensions Viewer), promoted October 2 – No Change.
  • Release channel cohorts:
    • Github Actions (GHA) RC viewer, version 6.6.16.6566955269, issued October 20> (with major CEF update and number version numbering).
    • Maintenance V(ersatility) RC viewer, version 6.6.16.582201, October 16.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

  • No updates.

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

2023 week #42: SL CCUG meeting summary: PBR

Meditation Mountain, August 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creators User Group (CCUG) meeting held on Thursday, October 19th, 2023. Unfortunately, my recording software glitched (I tend to be afk when the meeting is in progress), so only the first 18 minutes of the meeting were actually recorded to disk, as represented here.

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current and upcoming LL projects, and encompasses requests or comments from the community, together with viewer development work.
  • As a rule, these meetings are:
    • Held in-world and chaired by Vir Linden.
    • Conducted in a mix of voice and text.
    • Held at 13:00 SLT on their respective days.
    • Are subject to the schedule set within the SL Public Calendar, which includes the location for the meetings.
    • Open to all with an interest in content creation.
  • 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.

Viewer Updates

Friday, October 20th saw the release of the Github Actions (GHA) viewer, version 6.6.16.6566955269. This is the first official viewer to be built via Github Actions rather than TeamCity.

  • Outside of a major version update to CEF (Chromium Embedded Framework) which includes several performance updates and security fixes, this viewer contains no user-observable differences to the current release viewer…
  • .. Other than having even more crunchy digits in the version number for us all to chew on.
  • Release viewer, version 6.6.15.581961, promoted October 2 (formerly the Inventory Extensions Viewer).
  • 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:

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.
  • The overall goal for glTF as a whole is to provide as much support for the glTF 2.0 specification as possible.
  • Up to four texture maps are supported for PBR Materials: the base colour (which includes the alpha); normal; metallic / roughness; and emissive, each with independent scaling.
  • 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.
  • As a part of this work, PBR Materials will see the introduction of reflection probes which can be used to generate reflections (via cubemaps) on in-world surfaces. These will be a mix of automatically-place and manually place probes (with the ability to move either).
  • The viewer is available via the Alternate Viewers page.

Further Resources

General Status

  • The back-end communications / bandwidth fix has been deployed to all PBR test regions, per this blog post from the Lab.
  • The push is now on to get glTF PBR to a point where the simulator side code can be more broadly deployed to an RC channel. This may result in some regressions being noted, but this will be subject to point releases to correct, should they occur.
  • On the viewer side, there will be a focus on getting the Mac version up to match the performance seen with the windows PBR RC viewer.
  • Because of the above, and as the viewer moves forward, the recommendation for those testing PBR is to read the available documentation – particularly the viewer release notes.
  • The general word to those testing PBR is that if they do come across anything that could be a major issue, to be sure to Jira it ASAP and in as much details as possible, and if active in the content Creation Discord Channel (which, for those who ask, I have been specifically asked by LL not to provide links to in these pages), to speak up.
  • This focus on trying to get PBR Materials out means that the work on real-time mirrors and on glTF terrain has been put on a temporary hold to maximise the resources available for Materials work.

Mirrors

  • Mirrors are a part of the glTF / PBR materials project, but something of a separate tranche of work.
  • The idea is provide the means to have via high resolution reflections (i.e. mirrors) within a scene.
  • Initially only one active mirror surface per scene will be active for any viewer.
  • The process will use the PBR reflection probes mechanism, combined with a automated “Hero Probe” mechanism which with generate high resolution (512×512) “reflections” for the mirror.
  • The system will operate on the basis of avatar / camera proximity to a mirror surface triggering the closest reflection probe to become a “Hero Probe” for that avatar / camera. This means that if there are multiple mirrors placed within an environment, only the one closest to a given avatar / camera will be active and display the “reflections” generated by the reflection probe.
  • Depending on testing and performance, the number of mirrors might be expanded to two – one for mirror surfaces and one for Linden Water to generate high resolution water reflections where appropriate.

Status

  • As noted above, work temporarily on hold to focus resources on PBR Materials.

In Brief

  • There was a general discussion on how best to change an preserve overrides on materials when allowing for the likes of colour changes when making changes via LSL (and how best to batch similar changes). This was seen as something that could be better handled outside of LSL directly (thus avoiding multiple calls to set / preserve specific changes), but is something to be looked at after the initial release.
  • At this point the recording flatlined 😦 .

Next Meeting

† 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 gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #42 summary

Dwejra, August 2023 – blog post

The following notes were taken from the Tuesday, October 17th Simulator User Group (SUG) meeting. They form a summary of the items discussed, and is not intended to be a full transcript.

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

  • No deployments for the week (again). However, all simhosts (SLS Main and RC) will be restarted.

Upcoming Deployments

Viewer Updates

The current batch of official viewer versions is as follows:

Potential for Games Controller Use

  • This work sees the introduction of a new LSL event called game_control, the format for which Leviathan defined as:
game_control(key id, list buttons_edge_down, list buttons_edge_up, list buttons_down, list axes). Lots of lists, but that was necessary to support treating the keyboard as a “big controller with lots of buttons”. I created some docs for the game_control stuff on the LSL wiki.
  • Leviathan also noted there should be a GameControl category page, at the time of writing the link to it had yet to be added to the game_control wiki page.
  • The server work is now considered wrapped, and the focus is on the viewer support.
  • Overall, the work is seen as an initially simple pass to provide basic support for the use of game controllers in SL and intended to get things rolling; so capabilities such a building a “virtual game controller”, as requested at previous meetings are not available. However, he noted that, “Once the network protocol is nailed down and the script stuff… it will still be possible to modify the viewer. “
  • Key points of note include:
    • The feature doesn’t require permissions, but can be enabled via checkboxes in the viewer UI. However, Leviathan noted it could be piggybacked on controls permissions.
    • Subject to testing, the keystrokes are the remapped ones according to other UI settings.
    • The capability currently only works for attachments and seats, it cannot be used for avatar movement.
    • Doesn’t as yet support controller gyro, or rumble feedback nor support for trackpad position for game controllers that have it, nor does it support the use of mouse position recognition and buttons.
    • The above two points have a potential to be added later, “perhaps”.

In Brief

  • The official blog post on the deployment of a simulator update to resolved the communications / bandwidth issue referenced in recent CCUG meeting summaries was referenced.
  • Two feature requests for avatar movement were raised – BUG-234557 and BUG-233175 – leading Rider to note:
Adjustable avatar movement would be possible… the only thing about it that gives me pause is… I know how delicately tuned the avatar motion logic is under the hood, to allow for walking up low ledges, friction when stopping, and how the avatar tries to stand still when at rest but still be “bumpable” by other avatars and objects.

This led to an extended discussion on avatar movement and options for allowing the use of a velocity model for avatar movement (thus allowing for avatars moving at different walking speeds, etc). This lead to a broader discussion on avatar movement / animations, etc., which touched on the dormant puppetry project.

  • HTTP work. Rider Linden noted he is back to working on his HTTP code and simulator asset handling refactoring, and is hoping to get the underpinning code refactor completed in the next week(ish) and then work on the asset management side. This led to a request for the issue of Modify items becoming labelled as No Mod for the owner when a No Mod item is place in its contents & then taken back to inventory (even though the item still have Modify permissions), which in turn generated a request for a Jira report.

† 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 #41

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

Updates from the week through to Sunday, October 15th, 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, version 6.6.15.581961 (formerly the Inventory Extensions Viewer), promoted October 2 – No Change.
  • Release channel cohorts:
    • glTF / PBR Materials viewer updated to  version 7.0.0.581886 on October 12.
    • Maintenance V RC viewer, version 6.6.16.582075, October 5.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

  • Kokua: 6.6.15.51463 (no RLV) and 6.6.15.54920(RLV variants) October 14 – release notes.

V1-style

  • Cool VL Viewer Stable branch updated to version 1.30.2.32 and Experimental branch updated to version 1.31.0.10 on October 14 – release notes.

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links