2020 CCUG meeting week #47 summary

Ruegen, October 2020 – 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, November 19th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, with dates available via the SL Public Calendar.

The venue for meetings is the Hippotropolis camp fire.

SL Viewer

At the time of writing, the current selection of official viewers (release, RC and projects) was as follows:

  • Current release viewer version 6.4.11.551711, formerly Cachaça Maintenance RC viewer promoted on November 12 – NEW.
  • Release channel cohorts:
    •  Custom Key Mappings project viewer, version 6.4.12.552100, November 12.
  • Project viewers:
    • Simple Cache project viewer, version 6.4.11.551403, issued on November 12.
    • Project Jelly project viewer (Jellydoll updates), version 6.4.11.551213, November 2.
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

General Viewer Notes

  • The Custom Key Mapping viewer is thought to be reaching a point where it can be promoted as the de facto release viewer.
  • A new Love Me Render (LMR) RC / project viewer is due to be issued. LMR-5 will include non-EEP bug fixes.
  • The Copy / Paste project viewer is on hold as a result of running into UI complications, and is currently awaiting further work by the viewer UI team, or possibly a decision to scrap the viewer entirely.

ARCTan / Jellydoll / Imposter Avatars

  • Vir has most recently looking at timers / frame rate variability.
  • As a reminder:
    • The current ARCTan work is focused on the viewer-side updates to avatar complexity calculations.
    • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.

Graphics

  • Work has commenced on separating out the rendering of viewer UI elements from scene rendering.
    • The reason for this is that the UI currently gets rendered on per frame basis, which is performance expensive on what is essentially a relatively static element of the viewer.
    • The aim is to revise the UI such that it is only re-drawn was needed, and it is hoped this will result in a performance gain in terms of viewer frame rates.
    • When this work is in a condition where it can be released, it will appear in its own project / RC viewer, and not as a part of the Love Me Render graphics-specific viewer pipeline.
  • No news on work for replacing OpenGL.

In Brief

  • There may be an issue with the viewer ignoring avatar custom joint positions if they do not have a weight associated with them. This appears true for .DAE files exports from Maya, and possibly with exports from Blender 1.7.9.a / 1.7.9.b (although Avastar may automatically compensate for unweighted custom joints by given them a default weighting). However, it is not clear if the issue lies with the modelling software or the mesh uploader, and its been requested that those experiencing these issues check the mesh upload data to see if anything is being pruned.

Date of Next Meeting

  • Thursday, December 3rd.

2020 CCUG meeting week #45 summary

Where Our Journey Begins, September 2020 – 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, November 5th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

SL Viewer

At the time of writing, the current selection of official viewers (release, RC and projects) was as follows:

  • Current release viewer version 6.4.10.549686, formerly the Mesh Uploader RC promoted on October 14 – 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):
    • Cachaça Maintenance RC viewer, version 6.4.11.551139, issued October 27.
  • Project viewers:
    • Project Jelly project viewer (Jellydoll updates), version 6.4.11.551213, November 2.
    • Custom Key Mappings project viewer, version 6.4.10.549685, November 2.
    • Legacy Profiles viewer, version 6.4.11.550519, October 26.
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

ARCTan / Jellydoll / Imposter Avatars

  • Bug fixes for Jellydolls include:
    • Fixing an issue where jellydolled avatars could suddenly vanish with viewed on Mac systems.
    • Ensuring Amimesh attachments on imposter avatars update in sync with the avatar.
    • Impostered avatars and their Animesh attachments are currently rendered entirely separately to one another, so the code might be looked at to unify their rendering.
    • A general clean-up on the imposter code, which has led to the discovery that while code was added to the viewer to check to see if impostered avatars had been updated, it has never been hooked up to updating the imposter avatar as rendered by the viewer, leaving them frozen. This is now being fixed.
  • Once the Mac issue is sorted, the play is to merge the Jellydoll updates back into the ARCTan project (from which they were split earlier in the year).
    • However, the current Jellydoll work will progress as is through the currently project viewer continued through to RC and, ultimately, release.
  • As a reminder:
    • The current ARCTan work is focused on the viewer-side updates to avatar complexity calculations.
    • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.

Graphics

  • No news on work for replacing OpenGL.
  • Ptolemy Linden from the Graphics team has been working on performance improvements, notably related to Linden Water rendering. This work is currently focused on providing a means for those on low-end systems to completely disable water reflection rendering entirely and / or to make water opaque, both to reduce the rendering load.
  • The entire water rendering issue is complicated for a range of reasons (e.g. the fact the water plane is still drawn at altitude even though its appearance is occluded by the sky sphere, the fact that any changes made for some users could impact the “shared experience” / expected behaviour for others, etc.).
  • Ptolemy also noted that the viewer collects a lot of static rendering information that could potentially be used to assist with better drawing / rendering of scenes, and this could be something that might be looked at in more detail once the Project Uplift work is completed.

Date of Next Meeting

  • Thursday, November 19th.

2020 CCUG meeting week #44 summary

Poughkeepsie, September 2020 – 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, October 29th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

There was a lot of general discussion about animation synchronisation, cloud uplift (the majority of which I’ve already reported in my SUG and TPVD meetings of late), etc., none of which should out as really reportable.

Jellydoll / ARCTan

  • Vir has been working on some bug fixes to the Project Jelly viewer (version 6.4.10.549690 at the time of writing), and this work is now with the Lab’s QA team. When issues, this will see the viewer also based on the current release viewer code base.
  • As a reminder:
    • The current ARCTan work is focused on the viewer-side updates to avatar complexity calculations.
    • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.

Graphics

  • The Graphics team is still looking at options for replacing OpenGL, particularly as a result of Apple’s plans to deprecate all support for it on their systems.
  • The OpenGL project is large-scale, so the Graphic team is also looking at other shorter-term projects related to performance improvements. These may include:
    • Possible optimisations for people on low-end systems (as noted in my previous CCUG summary, roughly 1/3 of all users are running on systems that do not support Vulkan and many of these systems are more than 5 years old).
    • Linden Water: since the last TPV meeting (see: 2020 TPVD meeting week #42: summary) the Lab believe they have determined that the FPS loss seen when rendering Linden Water appears to be related to a combination of the actual rendering and with water reflections. This is still being investigated. One idea to deal with the latter is to completely disable water reflections in the viewer; however, doing this at present affects the sky and the look of the Sun, so again,further investigation is needed.
  • In addition, the graphics team is looking to see if the viewer UI rendering can be divorced from other aspects of viewer rendering to see if any performance improvements can be obtained by keeping the two separate – currently, a lot of cycles are taken up in the drawing of things like UI panels and buttons.

In  Brief / General

  • Teleport failures are still under investigation. Beq Janus from Firestorm is also investigation, and has encountered a situation where the failure may be related to the manner in which regions are queried bases on draw distance, and the system potentially becomes confused as to the actual destination.
  • Megaprims and relaxing linking constraints (BUG-229551):
    • As  expressed by the feature request, the Lab sees this as being two issues: allowing the use of prims larger than 64m on a size / diameter, and handling region surrounds.
    • In particular, the Lab is looking at the potential of braking out region surrounds (“sim surrounds”) as a supported feature in their own right, simply because of the size of the use case. One suggestion for this is to have what is seen beyond a the edges of an individual region to be definable as texturing, rather than just the default of Linden Water.
    • Increasing prim sizing beyond the current maximum is seen as problematic as the size constraint touches on multiple aspects of the simulator code (e.g. Interest Lists being one) that would have to be overhauled – which is not something the Lab wants to undertake in the near future, although this does do preclude the potential for very large prim sizes at some point.
  • The cloud migration work has left the Lab with a certain amount of “technical deficit” – work  deferred in favour of simply getting systems and services transitioned to running on AWS infrastructure and hardware. This means that once the Uplift Project is completed, there will be a number of areas of simulator and back-end services that will need to be re-visited.
  • Potential projects to follow-on projects outside of the graphics performance updates mentioned above could include:
    • Updating the default terrain texture.
    • Further work on easing the new user experience,
    • Further work on viewer UI improvements.
    • Streaming changing an avatar’s appearance.
  • Bone uploads: the question was asked that why, given Bento provides 120+ bones, single avatar sub-mesh uploads are limited to a maximum of 110 bones. The reason is that 110 bones is the maximum some graphics systems can handle in a single upload before things go wrong.

Date of Next Meeting

2020 CCUG meeting week #42 summary

La Vie, September 2020 – 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, October 15th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

There was a lot of general discussion about animation synchronisation, cloud uplift (the majority of which I’ve already reported in my SUG and TPVD meetings of late), etc., none of which should out as really reportable.

SL Viewers

Default Viewer

The Mesh Uploader viewer, version 6.4.10.549686, was promoted to de facto release status on Wednesday, October 14th. This viewer provides additional information on mesh models prior to upload, with contributions from Beq Janus from the Firestorm team and also revisions by the Lab’s viewer team. Cosmetic changes with this viewer include:

  • Upgrade to preview resolution to 1024×1024.
  • Scalable preview window.
  • Fixed display of colours in preview.
  • Adjustment of colours to better correlate to in world (yellow frame of mesh, blue tint physics).
  • Rearrange UI elements to give more space for the preview even when not scaled up.

Informational changes  in this viewer include two new boxes: cost breakdown and physics breakdown – these provide access to information that has always been available to the viewer form the upload costs update message but were not previously shown to the user.

Legacy Profiles

The Legacy Profiles viewer (version 6.3.2.530836 at the time of writing) has been stuck awaiting a web-side update, but as the web team are all focused on Uplift work, attempts are being made to work around the delay in order to get the viewer moving again.

Graphics

  • Work has resumed at looking towards a replacement for OpenGL, particularly as a result of Apple’s plans to deprecate all support for it on their systems.
    • Vulkan had been an option under examination, and additional logging was added to the viewer to help identify how many users are on systems capable of running it.
    • It now turns out that a rather high number of users (up to a 1/3 of all users) are running Second Life systems that do not have support for Vulkan (e.g. those 5+years old, and notably systems with Intel integrated graphics).
    • As a result other options are also being looked at, as is the potential for supporting people on older hardware separately to those using systems capable of running with more recent graphics APIs – although this is an option the Lab would approach with caution, due to the added complexities in maintenance.
  • In addition, the graphics team is looking to see if the viewer UI rendering can be divorced from other aspects of viewer rendering to see if any performance improvements can be obtained by keeping the two separate – currently, a lot of cycles are taken up in the drawing of things like UI panels and buttons.

Jellydoll / ARCTan

  • Vir has been working on some updates to the Project Jelly viewer (version 6.4.10.549690 at the time of writing).
  • This viewer is a series of performance improvements related to Jellydoll avatars, and the additional work should be appearing in an update to the project viewer soon. After that, Vir is hoping to completely re-focus on the ARCTan work, which will eventually fold-in the Jellydoll work as well.
  • Should he be able to switch back to ARCTan, the work will remain split between avatar rendering (to be tackled first), and then in-world object rendering to follow along at some point after.
  • The work on avatar rendering will initially be focused on the data gathering aspect and better refining the avatar complexity calculations, followed by UI work to deliver more meaningful and consistent information to users about the rendering impact of their own avatar and those around them.

Date of Next Meeting

  • Thursday, October 29th, 2020.

2020 CCUG meeting week #40 summary: UI proposal; Agni Uplift news

Chapel Imagination, August 2020 – 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, October 1st 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

Content Creation Related SL Viewers

EEP Fixes

As noted in my viewer release summary for the week and my SUG meeting summary, the EEP fixes have been promoted to de facto release status with the issuing and promotion of the Love Me Render (LMR) #4 viewer (version 6.4.9.549455, at the time of writing).

Mesh Uploader

  • As a result of the EEP fixes release, the Mesh Uploader was merged to the release code, with version 6.4.10.549686,  issued on Thursday, October 1st.
  • If there are no significant problems with this version of the viewer, it is likely to be the next  viewer to be promoted to de facto release status. There is some debate as to whether this will occur in week #41, or if LL will hold off for a week in order to not make three back-to-back promotions in as many weeks.

Jelly Dolls Project Viewer

  • The Jellydoll Project viewer also merged up to the current release code, with version 6.4.10.549690 issued on October 1st.

New Maintenance RC Viewer

  • A new Maintenance RC viewer, coded named Cachaça, was issued on October 1st. Among other things, version 6.4.10.549752 includes several more EEP fixes and also some fixes for CEF.

Viewer UI Improvements

Steeltoe Linden, who handles most (/all) for the work around the viewer UI attended the meeting in what was billed as potentially the start of a semi-regular appearance in order to discuss viewer UI updates that the Lab is considering.

  • For the first session, he raised what was referred to as a “trivial” change: offering a new inventory icon for HUDs.
  • Instead of showing HUDs as an object cube, the idea is to show it as a distinct icon type – the example being a cog-like icon, in order to make HUDs more easily recognisable when scanning Inventory folders.
  • This icon would also be visible in the Outfit and Received Items panels.
The proposal UI change to distinguish HUD items from other objects in inventory.Left: how things are now, with HUDs using the same cube icon as other objects. Right: the proposed new HUD cog icon.
  • The viewer would use the HUD attach point (stored with the object data)  to identify HUDs as such, and so display the icon.
  • It was noted that this could (allowing for trying to remember all of the icon types) pave the way for items that attach directly to the avatar have a unique icon type.
  • One suggestion at the meeting was to also add HUDs as a distinct option when filtering inventory, and Steeltoe indicated he has already ask one of the viewer engineers to look into this.
    • However, he noted that filtering works on object type, rather than attachment location, so it would require an additional layer of code for filters to distinguish attachments like HUDs from other objects.  This might make filtering for things like HUDs too computationally expensive.
  • Overall, the response from those at the meeting was positive.

Proposed Bakes on Mesh Improvement: llWearFromInventoryTemp

  • This is a proposal by Rider Linden that has been filed as a feature request – BUG-229423 to allow public comment / feedback.
  • It is aimed primarily for Bakes on Mesh (BOM), but may have wider applications.
  • The basic idea is defined within the feature request:
Mesh bodies used a system of alpha cuts to hide parts of the body that should be obscured by clothing. Alpha cuts were originally controlled through a HUD associated with the body. Clothing creators and body vendors then developed a system to automatically turn some of these alpha cuts on and off through a script in the clothing item.
BOM provides no similar mechanism. In order to hide parts of the body, the users must search through their inventory for an appropriate alpha layer and attach it or add it to the outfit manually.
This function will allow clothing creators to create BoM enabled clothing without forcing their consumers to search for the appropriate alpha layer.
  • So essentially, it would be a scripted function clothing makers could use to ensures that when a clothing layer is utilised in BOM, the appropriate alpha is also applied, and similarly, when the item is no longer being worn, the alpha is automatically detached.
  • Due to the way SL is configured, this would only apply to the Clothing object type (skin, hair, eyes, and shape would be excluded, as only one of each of these can be worn at any time, so trying to deal with what happens to these wearing / removing, if they were included in the system becomes complicated and potentially conflicting.
    • If you wear clothing that have a shape associated with it, the function could end up removing the clothing *and* the shape, leaving your avatar a cloud, for example.
  • Currently, the idea is only under consideration – and if feasible, any work on it would not occur until after the cloud uplift work has been completed.
  • This approach would also offer an alternative approach to part of the idea put forward by Cathy Foil at the last CCUG meeting, which would require LL to adopt elements of the RLV / RLVa code base.
  • Precisely how the capability would be implemented is still to be determined; there is some antithesis to having a script directly access an agent’s inventory (as RLV / RLVa can do, using the #RLV folder), so the precise functionality might focus more on being driven by script within an attachment (such as a HUD)  or even added to the clothing layer itself (if I am understanding Rider correctly – although I don’t know how this would work in practice).
    • A  negative seen with the RLV / RLVa approach is that it dictates how items that it is to access are organised (through the #RLV folder tree), which in turn places constraints on the freedom users have to organise their inventory as they would prefer.
    • Further, given that people do organise their inventories differently to one another, having a  script that accesses inventory directly means that it must somehow be able to determine where and how within their individual inventories users have organised and placed  clothing layers and alphas.

Main Grid Regions in the Cloud

Publicly-accessible regions on the main grid (Agni) have been quietly appearing. As far as I know, these are predominantly Linden-owned regions – such as Hippotropolis, used for various in-work user group meetings (although I would suspect any private region holders who may have their regions running on AWS to be potentially subject to an NDA  or similar, in order to avoid LL being inundated with requests for regions to be uplifted).

Spotting a region hosted in the cloud via Help About. Left: a region hosted at the Lab’s co-location facility (note the agni.lindenlab.com in the address). Right: and a region running on a simulator in the cloud,  using an AWS address.

Patch Linden also posted a forum update on a number of topics (the availability of Linden Stilt homes, the work in partnering with various organisations with in-world events, for example), which included a reiteration of the Lab’s view that the Uplift project is proceeding well, and the work should hopefully be completed by the end of the year.

Date of Next Meeting

  • Thursday, October 15th, 2020.

 

2020 Content Creation User Group week #38 summary

Glitch Social, July 2020 – 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, September 17th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

EEP Fixes

There is now only one major EEP issue out of the current batch that has been undergoing work that remains unresolved, and it is being worked on. This means the current Love Me Render (LMR) RC viewer (version 6.4.8.547427 at the time of writing) is close to being ready for update and promotion – although it is likely the current Bormotukha Maintenance RC viewer (version 6.4.8.548394) will be the next viewer to be promoted to de facto release status.

Project Jelly  – Jelly Dolls Improvements

  • Vir’s work in updating Jelly Dolls is now available in the Project Jelly viewer, version 6.4.8.547487 at the time of writing).
  • A number of bug reports have been filed on this, and fixes are currently with QA, so the hope is the project viewer will be updated “fairly soon”.

Mesh Uploader

  • It is likely the Mesh Uploader RC, version 6.4.8.548061 at the time of writing) will move towards release more-or-less as it is now, rather than being held over for significant updates.
  • There have been concerns over the design of the new tabs within the updated uploader and how discoverable some of the added controls really are.  However, the consensus opinion at the lab is to leave things as is, and if there prove to be significant UI issues with the updated uploader, to deal with them in a future update.
  • Things like the ability to specify pivot points within a mesh (e.g. for hinging doors, etc., rather than having the pivot point aligned through the centre of the object), requires simulator-side support, and so this won’t be dealt with until after the cloud uplift work has been completed.
  • So, as it stands, it is felt the Mesh Uploader RC is also in line for possible promotion alongside the Maintenance RC.

Bakes On Mesh

While Bakes of Mesh has seen the introduction of BoM clothing to a degree, the take-up has perhaps not been as widespread as might be the case, with some body / head makers yet to fully embrace it.  Two of the most commonly-cited reasons for this are:

  • Lack of full specular / normal map support (something that would require a further large-scale overhaul of the avatar Bake Service, so not easy to implement at this point in time).
  • The problem of established user behaviour and an unwillingness to change from that behaviour, It is claimed that people have become used to mesh bodies having multiple alpha cuts (which add to their complexity) and being able to “hide” specific parts of the body at will via a HUD-based, scripted system, and are unwilling to switch to the direct use of alphas, which need to be located and applied manually.
    • Some mesh clothing designers do actually provide a means to “auto hide” parts of a mesh body when their clothing is worn, but they appear to be in a minority of mesh clothing makers.

Cathy foil has been brainstorming how both of these issues might be resolved without the need to necessarily dramatically overhaul the Bake Service in the case of specular and normal maps, and so as to allow the easier application of alpha textures to mesh bodies that would enable more fluid “hiding” of body parts when wearing mesh items or BOM layers. Her solution is to both increase the number of alpha channels available for use with mesh bodies (which would not impact the Bake Service) and Linden Lab “borrowing” from RLV / RLVa to allow a HUD to be used to  apply clothing / alphas to a body directly from inventory, as she explains in the video below.

The alpha solution offered is perhaps not entirely ideal (what about alpha conflicts when mixing / matching clothing from different makers?), and it might be argued that – insofar as the use of the Outfits folder + the WEAR + ADD options for general folder use, that the wearing / applying alphas may not be as significant an issue as might seem to be the case – but again, this can depend on the user behaviour / the clothing itself and how it is worn.  Any “official” adopt of RLV capabilities, even if restricted to just your own avatar, would also seem to be questionable in terms of adoption by LL (if nothing else, the code would need to be contributed).

However, as there was little time at the meeting to go through the video thoroughly, this is a subject that is liable to be further discussed at future meetings – although for any work to proceed from it (or in relation to BOM in general), a feature request Jira will be required.

In Brief

  • There was an extensive (and theoretical, at this point), discussion on mesh bounding boxes (e.g. allowing different sized bounding boxes – with certain constraints – per LOD). However, I’ll save further reporting on this until there is a feature request Jira to which I can refer readers (hopefully by the next CCUG).
  • Vir asked a general question on whether people would like to seen the animation uploader receive and update pass, and if so, what they would specifically like to see.
    • Suggestions included:
      • Improvements to the preview panel for better tracking of offsets.
      • Running .ANIM files through the uploader (as long as this is not made compulsory, as some animators prefer not to use the uploader).
      • Suggestions focused more on being able to either edit uploaded animations or to use the uploader as a means of exporting your own animations to make change.
    • The conversation also encompassed animation priorities, and the ability to either change them or constrain them better. As priorities can be baked into a mesh, Vir suggested rather than a greater ability to edit and change priorities might be to have them set at runtime, rather than being an object attribute.
    • General feedback on animation improvements included the ability to made adjustments to animation speed on the fly, better pre-loading of animations in a sequence, etc.
    • Jiras on specific features / improvements have been requested to help determine what might need to be done, what the scope of work might be, etc., to help determine feasibility.
  • Date of next meeting: Thursday, October 1st, unless otherwise indicated on the CCUG wiki page.