2021 CCUG and TPV Developer meetings week #33 summary

Soul Deep, May 2021 – blog post

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, August 19th 2021 at 13:00 SLT, and the TPV Developer’s meeting of Friday, August 20th.

With the meetings once again falling on the same week, and with the degree of overlap in content between the two, core discussion points from both have been combined into this one summary. The TPV meeting was recorded by Pantera Północy, and her video is embedded at the end of this article, for those wishing to refer directly to that meeting.

Meeting Details

  • CCUG meetings are held on alternate Thursdays each month (generally the 1st and 3rd Thursday, vagaries of month start / end dates allowing), with dates available via the SL Public Calendar. The venue for the CCUG is the Hippotropolis camp fire.
  • TPV Developer meetings are generally held on alternate Fridays each month, although dates are not currently listed in the SL Public Calendar. The venue for meetings is at the Hippotropolis Theatre.
  • Both meetings are currently chaired by Vir Linden, and are led using Voice, although attendees can use either Voice or text to provide input / feedback (with text generally being the preferred medium).

SL Viewer

There have been no official viewer updates during the week, leaving the current crop of available versions as follows:

  • Release viewer: version version, formerly the CEF Update RC viewer, issued July 24 and promoted August 10  – NEW.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Simplified Cache RC viewer, version, issued August 9.
    • Grappa Maintenance RC, version, issued July 29.
  • Project viewers:
    • Legacy Profiles viewer, version, dated October 26.
    • Copy / Paste viewer, version, dated December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version, dated November 22, 2019.
    • 360° Snapshot project viewer, version, dated July 16, 2019.

General Viewer Notes

  • The next viewer that might go directly to de facto release status could be the Mac Notifications fix viewer (which has yet to even appear in RC).
  • However, depending on how QA work goes with that viewer, it is possible the Grappa Maintenance RC viewer might be promoted to release status.
  • As a result of recent internal testing (see my week #33 Simulator User Group summary), the 360° Snapshot viewer is having some further massaging of the the UI, but is expected to be passed to the QA team for checking / testing in the coming week, so may not be that far from being issued as an updated project viewer.
    • As a result of recent feedback from users, the Lab is now considering updating various web properties such as the Marketplace to make use of  360° images (Place Pages used to be able to use them, but may also require update to work with the newer viewer). If this work goes ahead, it will not be tied directly to the the release of the viewer.
    • Output from the internal testing can be found on Alexa Linden’s Flickr stream – be sure to click on images to activate them.
  • The Legacy Profiles viewer is still awaiting some back-end work, which has yet to be scoped / scheduled, so an update is unlikely to be appearing in the short-term.

Upcoming Viewers

  • There is currently an internal bottleneck at the Lab which is slowing the issuing of viewer updates / viewer versions. This is in the process of being addressed.
  • The viewer with the updates for presenting performance-related information is “close” to being  ready for issue as a project viewer.
  • Tracy Debugger / System Analyser:
    • Integrating the Tracy debugger / system analyser to allow for better cross-platform profiling of client hardware to help with cross-platform graphics development has been a focus for the Graphics team of late.
    • This is nearing a point where a viewer with Tracy will be ready to be made public. However, the library will be off by default, as a) it has a performance overhead when running in the viewer; b) it requires a server running Tracy for the data produce to be analysed. Developers / viewer compilers who have the necessary environment for analysing the data should be able to enable it prior to viewer compiling, if they wish to use it.
  • Mobile Client:
    • The new features for the iOS version mentioned during the August Web User Group meeting appear to be the addition of push notification support and some  additional UI work.
    • The Android version remains on hold pending the focus shifting from the iOS version.
    • As noted above, the core environment for getting updates on the Mobile client is via the Web User Group (as Keira Linden, who is leading the Product side of Mobile also chairs that meeting), and as a result, I provide monthly updates on Mobile through my WUG meeting summaries.

LOD Generation Viewer

  • A new project viewer using the mesh optimiser library for automatic LOD model generation for mesh uploads is getting close to being available for public use. This reportedly works better than the GLOD code that is currently in use.
  • For the initial project viewer version(s), once available, creators will have a choice of using either GLOD or the optimiser at upload. Longer-term and depending on internal discussions / the results of actual use of the optimiser library, GLOD may be removed (or at the least, made a non-default option).
  • If the use of the library proves sufficiently beneficial, LL might also opt to enable it in real-time against mesh objects that do not have any defined LODs. Doing so could potentially be beneficial for those on lower-end systems (e.g. by reducing the number of draw call being made , etc., as they no longer have to render the “full” model all the time).

Future Work – Avatar Usability

[via the CCUG meeting]

Following the arrival of the new VP of Engineering, Mojo Linden (see: Say Hello to Linden Lab’s New VP of Engineering, Mojo Linden,  aka Andrew Kertesz), there are ongoing discussions at the Lab related to future work.

While there is nothing official to report on this at present, a focus of these discussions is very much on the question of avatar usability. While this was already a focus for the Lab prior to Mojo arriving, it now seems “likely” that this work may be stepped up, with changes appearing “over the coming months” – and will probably include viewer UI updates and well as other yet-to-be-publicly-defined changes.

The mention of this again raised the question of allowing completely custom skeletons into SL / rebuilding the entire avatar skeleton/rig. Both have technical issues associated with them (e.g. backward compatibility issues in the case of the latter), and also non-technical issues (e.g. the risk of further marketplace fragmentation / user confusion over what is supposed to work with which avatar types in the case of both), so the Lab is not currently looking at either option.

In terms of market fragmentation, it was suggested that some mitigation might be provided by LL producing some form of standard “developer kit”, rather than creators relying on third party tools.  The problem here being that a) LL does not have the resources to devote to doing so, and users are potentially fair more aware of the internals of applications such as Blender, Maya, etc., to be able to provide and maintain such tools far more effectively.

User Suggestion: Pro-Active Complexity Monitoring

[via the CCUG meeting]

User Lucia Nightfire has proposed the Lab consider a means by which avatar complexity values can be stored on the back-end and made available to simulators as avatars move between regions, such that it can be polled by (or supplied to) viewers within the region a user is entering.

The idea here is that by pro-actively supplying complexity information to viewers in a region and allowing them to compare it to the Maximum Complexity value set within them, they can make a simple determination of whether to fully render the incoming avatar or go directly to “Jellydolling” it without having to download all the associated geometry and attachment data, etc., in order to locally calculate how the incoming avatar should be rendered (as is currently the case).

This approach would be beneficial to the user experience, simply be reducing the amount of work the viewer has to carry out calculating avatar complexity. While this particular idea hasn’t been directly considered by the Lab, the idea of greater automation in general (where applicable –  see the notes on mesh optimisation above) could well help improve people’s Second Life experience, particularly those on lower-end systems. However, implementing such capabilities will require a degree of back-end work, and as such are not on the the immediate road map at this point in time.

In Brief

  • Issues arising from viewer changes made to accommodate the custom key mappings capability – LL are aware of a number of issues relating to the introduction of the custom key mappings viewer. Fixes are in the works, but no dates on when they might be made available or in which Maintenance viewer. These issues include the following reported bugs:
    • BUG-231083 “Rapidly left clicking objects or attachments while the Edit menu is open triggers a double-click teleport”.
    • BUG-230983 “Holding of modifier keys ALT and CTRL ignored when occurring in combination with double-click teleporting” (Kokua has already implemented their own fix for BUG-230983, which has also been offered available to LL..
    • BUG-230922 “Right Alt + Right Shift + H shortcut to show/hide HUDs no longer works when a floater is in focus”.
  • The announcement that the use of Gacha systems is to be discontinued in Second Life from the end of September has raised questions concerning the exploit by which some individuals have been able to use an exploit to crash a region in such a way that No Copy items would be duplicated on a restart (thus allowing them to make multiple copies of Gacha items). This issue is now being looked at again by the Lab.
  • The HTTP2 update work is awaiting the CDN(s) used by LL to implement HTTP2 support. This is becoming something of an internal hot topic, as the lack of HTTP2 progress is also hampering cURL advancement on the back-end.
  • Viewer stats: TPVs wishing to obtain stats on use, etc., from the Lab should e-mail Vir Linden to request a report.

CCUG Specific Questions / Items

  • Is there potential for increasing the number of allowed face/material slots for mesh objects (8 per single object)? – This is actually a limit that was pre-dates the arrival of mesh, which “inherited” it. As such, any change to this would be fairly substantive in nature, and thus is not something the Lab is currently considering.
    • Some at the meeting also felt any such change could have a noticeable negative impact without a “proper” mesh accounting system being put in place, or SL moves away from the current drawcall overhead.
  • Could a forum thread be opened to allow content creation questions to be asked in advance of meeting, particularly those that might require referencing to over teams within LL (e.g. the simulator engineers) in order to gain feedback input? – This is seen as a potentially good idea, and will be looked into, along with having a member of the simulator engineering team attend CCUG meetings more regularly.
  • Requests are again being made for LL to revisit Animesh to provide support for body shapes, attachments, Bakes on Mesh, re-evaluation of the Land Impact associated with Animesh objects, etc.
    • Some of this work require extension to viewer capabilities and back-end services (e.g. Outfit support for BoM + processing via the Bake Service), and are thus more long-term.
    • Others aspects (e.g. re-evaluating Animesh LI) could be said to be dependent upon other projects (e.g. ARCTan, and re-evaluating the impact of in-world objects), and thus are awaiting work to resume on these projects – and it is hoped the ARCTan work will resume sooner rather than later.