2022 CCUG meeting week #22 summary: reflection probes update

Deer River Spring, April 2022 – 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, June 2nd 2022 at 13:00 SLT. These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar.

This is a summary of the key topics discussed in the meeting and is not intended to be a full transcript.

Official Viewers Update

  • A new Maintenance RC viewer – Maintenance N, code-named Nomayo – version 6.6.1.572179 – was issued on June 1st. The viewer should offer improvements on media playback of web content, etc.

The rest of the official viewers remain as:

  • Release viewer: version 6.6.0.571939 – formerly the Performance Improvements viewer, dated May 25th – NEW.
  • Release channel cohorts:
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

Reflection Probes

Additional information available within my week #20 CCUG meeting summary.

  • A reflection probe will be a sphere or cube (mesh, prim or sculpt) set within a scene with specific properties allowing it to create a cube map of all objects within its bounding box. Anything within that bounding box with a “reflective” (shiny) surface (with the possible exception of worn attachments) will then offer “reflections” based on that cube map.
  • Cube maps for probes are a purely viewer-side artefact, and are updated approx. once every 30 seconds at 60 fps, although this will “get smarter” in the future and be based on actual probe location (e.g. in or out of the current field of view, etc.).
  • So, think of probes as mapping where reflections should be coming from in a scene, not as a tool for deciding which object should be reflecting things.
  • The viewer will hopefully be able to handle up to 256 probes at any one time (the number of probes in a region can be unlimited), each with a (current) maximum effective draw distance of 64 m.
  • Probes will:
    • Be detected by the viewer on load, much like lights already are (reflection probes use a lot of the code originally developed for light state management), with revisions to prevent issues associated with lighting such as flickering.
    • Have an influence volume, an ambience setting (which overrides the environment ambience) and a “near clip” parameter to help control what is rendered into the cube map (e.g. so items close to the centre of the probe and which might otherwise dominate any generated reflections, are not rendered into the cube map).
    • Require “PBR enabled”, and when this is set, legacy objects using glossiness and / or environment shine will render the reflection generated by a cube map respectively in accordance with the degree of glossiness / the sky environment, as well as any objects using the upcoming PBR materials.
      • There are a lot of nuances with the above bullet point such that legacy content won’t simply “work” with reflection probes, some degree of adjustment on object glossiness / shine might be required.
    • Work independently of LOD.
  • Probes will not be designed for use as attachments.

In Brief

  • Custom pivot point work: currently awaiting simulator updates & will require viewer-side changes; the focus is slowly moving towards trying to move the latter part of the work forward “in the not too distant future”.
  • It was noted that the mesh optimiser (as in the current release viewer) still has issues that need to be addressed,
    • One such issue is when the LOD generator is implicitly asked to simplify a model, and it cannot hit a target without destroying UV seams, it will destroy the UV seams (whereas GLOD will delete triangles, leaving holes in models). This appears to be happening on models with a lot of UV islands, resulting in texels becoming visible when they should never be drawn.
    • LL acknowledges that neither the optimiser issue nor the GLOD issue are ideal.
    • Issues with the mesh uploader are requested via Jira with objects included, if possible.
  • In response to a question, LL currently have no plans to alter the LI calculations for Animesh, however, with the performance improvements (and given part of the LI “penalty” was to compensate for the performance hit of animating Animesh characters), there is a suggestion it should perhaps be re-visited, particularly given most at the meeting with an opinion felt the 15LI penalty was a “blocker” to developing Animesh content.
  • The above points led to a general discussion on LODs, decimation, Land Impact based on size, the ARCTan project (still something LL would “like to get back to”), the impacts of draw calls over poly counts, etc., but with no actionable points raised.
  • There is a fork in the texture rendering pipeline underdevelopment that should, once available, ensure that only the required texture resolution is loaded when it is required (e.g. so the tiny buttons and the little broach and the earring etc., on an avatar won’t all be displayed at 1024×1024 all the time, but the system will only ever download at use a 128×128 version of the textures used).
  • Work is also in progress to ensure the official viewer uses all available video memory. This will eventually see the VRAM slider in Preferences → Graphics vanish.
    • Note that this is available video memory – not necessarily the total on your system; obviously, running SL and multiple browser tabs and other windows will impact how much memory the viewer can actually access, leading to the potential of textures being uploaded.

Next Meeting

  • Thursday June 16th, 2022.

June 2022 Web User Group: Premium Plus Update + Marketplace rebuild

The Web User Group meeting venue, Denby

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

These meetings are generally held in-world on the first Wednesday of the month, with dates and venue details available via the SL public calendar. They are usually chaired by Reed Linden, who is the Lab’s Product Manager for the Second Life front-end web properties (Marketplace, secondlife.com, the sign-up pages, the Lab’s corporate pages, etc.).

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.

Premium Plus

[Video: 2:17-8:30]

  • Premium Plus will officially launch during SL19B (Thursday, June 16th through to Sunday, June 26th, 2022).
  • Grumpity Linden (VP of Operations) and Patch Linden (VP) of Product Operations will be discussing Premium Plus – price, benefits, etc.), during interviews at SL19B (dates TBC)).
  • The price will (obviously) be “more” than Premium, but there will be an initial “discount” for those signing-up following release.
  • Indicated initial benefits include:
    • More: free tier than Premium’s 1024 sq m; stipend; group slots.
    • Lower fees for uploads (excluding mesh initially, as the upload fees for this are calculated differently, so the hope is to offer discounted mesh loads after Premium Plus has been deployed).
  • “Future benefits” being considered for “the future”:  new region types; new Linden Home types; potentially discounts for options such as Name Changes, mobile applications (not defined), “priority access to some areas” (again not defined).

Search Update

[Video: 8:40-10:36]

  • As noted in past WUG summaries, the Lab is working to improve Search results relevance. This work is now progress.
  • The SL Search engine uses an Elasticsearch instance, and the third-party contracted-in to work with LL has Elasticsearch expertise.
  • In particular, work has been focused on building “search relevance engine” machine learning tool, designed to observe how Search performs and gradually improving the relevancy of results.
  •  Additionally, a number of fixes are being developed for common issues (e.g. search for an item by its name, but it doesn’t top the results list).
  • It is hoped this work should start surfacing in July(ish).

Marketplace Overhaul

[Video: 12:30-57:29]

  • The development of the listing Styles – formerly called listing variance,  the ability to have a single listing for an item that has multiple individual colour options that would otherwise have to be individually listed) -has been on-going for some time.
  • All of the backend infrastructure and database updates are now in place.
  • HOWEVER – in order to implement the capability, the front-end of the Marketplace effectively has to be re-built. Because of this, LL is considering a complete rebuild of the Marketplace “from the ground up”.
  • To this end, a portion of the meeting was spent discussing what form the MP might take to meet the needs of both merchants and shoppers, e.g.
    • What should it look like?
    • What features / capabilities are important to merchants or shoppers (either within the existing MP or that they would like to see added)?
    • What features / capabilities within the existing MP require improvement / replacing and how / why?
  • A further recognition of the need for a complete rebuild is that the MP is often the “front page” of Second Life for the user community, in that it is the web property that is most often used by residents (It also has a reasonably high visibility on the web in general), and thus needs to reflect this.
  • The plan is to discuss these points (and others raised by the Lab / meeting attendees) over the next few meetings.
  • Feedback from this meetings included:
    • Look and accessibility: more in the way of an Amazon style of look / feel (including the “Users who bought this also bought” type of section); better integration with tools like screen readers / magnifiers; better recognition of screen resolution / size and scales the UI to suit; an ability to produce short links to listings.
    • Search: more relevancy when searching for items (which will hopefully come out of the Search overhaul); ability to filter-out specific stores from search results; ability to have store names listed as a search result option; ability to add an item to the shopping cart directly from a Search results list (rather than having to open the product listing page and add from there).
    • Refunds / Redeliveries: the ability to allow refunds and prevent the redelivery of an item for which a refund has been given (BUG-226218); the ability to redeliver directly from the listing page.
    • Social Media integration: improved capabilities to offer You Tube links and links to Instagram accounts (e.g. for product preview images), etc. Seen as possible, with the caveat that apps like Instagram use tracking pixels, etc., so linking would be depending on negotiations around this (LL do not as a rule allow user data tracking).
    • Improved co-ordination between MP and in-world stores:  an ability for merchants to update their in-world store location globally, rather than by editing all listings; the ability to have an MP store better reflect the in-world store (e.g. if a creator had a store that has multiple “departments” or “mini stores” within it, these can be reflected as “sub-brands” or “sub-stores” within the MP, and if one of these “sub-stores” is renamed (either on the MP or in-world), the change is reflected on the other).
    • Tools for merchants: improved analytics / metrics on store performance / listing performance; options for applying discounts / promotional codes on selected items.

There were also a number of non-specific recommendations “make it better”; “better tools to deal with negative / inaccurate reviews”, etc., that will require more clarity / granularity as to what is desired.

Suggestions have been (and will be at upcoming meetings) recorded by LL, and will form the basis for both internal discussions and more idea generation at the next WUG meeting.

Timeframe and Approach

Assuming this goes ahead:

  • In rebuilding the new Marketplace, the ability to migrate existing listings from the current MP to the new MP would be factored in; precisely what form this would take has yet to be fully determined..
  • In reality, it is unlikely any form of initial “new MP” will be available until some time in 2023; the focus at the moment is purely trying to road map capabilities, features, design, with user input.

“Land Journey” Refresh

[Video: 57:30-58:33]

  • The next major web project will be a refresh of all aspects of land sales – the Land Store, how Linden Homes are offered / selected; how land for sale is located, how it can be rented (and from whom), etc.
  • This work likely will not include the return of land auctions by users, unless a system can be developed that avoids abuse and can pay for its cost of implementation / management.

Next Meeting

  • Wednesday, July 6th, 2022. Venue and time per top of this summary.

2022 SUG meetings week #22 summary

Tempura Project, April 2022 – blog post

The following summary notes were taken from the Tuesday, May 31st, 2022 Simulator User Group (SUG) meeting. It forms 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

At the time of writing, there was no server deployment thread for the week, or release notes for the RC updates.

  • On Tuesday, May 31st, the SLS Main and Event channel servers updated to simulator version 2022-05-20.571998, which includes a couple of fixes, including one for the issue with objects not showing up when you first log-in.
  • Wednesday, June 1st should see the RC channels receive an update with fixes in support of the upcoming Premium Plus capability.

Available Official Viewers

There have been no official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version 6.6.0.571939 – formerly the Performance Improvements viewer, dated May 25th – NEW.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • To avoid over-/mis-use, Mazidox reminded people when filing bug reports to differentiate between rezzing and rendering. The former only applies to objects being placed into the world; rendering refers to objects already in-world. So, when you TP to a location, the objects within it are not rezzing, they are rendering.
  • Options for dealing with BUG-232143 “Substitute with NULL_PARAM whenever a variable of llSetLinkPrimitiveParams is not being changed.”, and this will likely get further discussion at the next meeting.
  • Brad Linden touched upon the materials / PBR project the graphics team is working on – see my most recent CCUG meeting summaries for more background. He specifically raised the proposed scripting support for the materials aspect of the work, noting a draft specification of what is being considered will be published shortly. Currently, two functions are under consideration:
    • llSetMaterial(key material_id), with LL thinking this could be framed in a similar manner to llSetAgentEnvironment() and possibly  llSetPrimitiveParams() work.
    • and llSetMaterialParams( parameters TBD), which will override only the specific params that are modified by the function, and will likely be framed in a similar manner to how llSetTexture() works.
    • Those interested in learning more should likely attend the CCUG meetings, with the next due to take place on Thursday, June 2nd, 2022.
  • The above topic also incorporated texture preloading (which, given the new materials assets will be called directly by the viewer via the CDN, should have to be used for any pre-loading with them), with an “llPreloadAsset” function might ever be available (would need to be a project of its own), and object culling.

2022 SUG meetings week #21 summary: offline requests / offers

Whimberly, April 2022 – blog post

The following summary notes were taken from the Tuesday, May 24th, 2022 Simulator User Group (SUG) meeting. It forms 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

At the time of writing, there was no server deployment thread for the week, or release notes for the RC updates.

  • On Tuesday, May 24th, the SLS Main and Event channel servers updated to simulator version 05-06.571613, comprising:
    • A fix for off-line Friend / Group request – see below for more.
    • The removal of server-side generation of Calling Cards when a friendship offer is accepted has been removed.
  • Wednesday, May 25th should see two RC channel updates:
    • Simulator version 2022-05-20.571998, which includes a couple of fixes, including one for the issue with objects not showing up when you first log-in.
    • Simulator version 2022-05-19.571962, comprising an update with fixes in support of the upcoming Premium Plus capability.

Rider Linden has agreed to take requests that future simulator deployments are posted to the forums in a timely manner once more (e.g. no later than the Monday evening before any proposed deployments).

Offline Group Offers and Friend Requests

As noted above, the fix for off-line friendship requests and group membership offers going stale between being set and the next time the recipient logs-in to SL and tries to accept them (so they are never acted upon) is now grid-wide. However, it is subject to certain limitations:

  • When the recipient does log in, stored offers are retrieved and remain active for up to 24 hours or until the region restarts.
  • Requests can only be acted upon whilst you remain in the region you logged into – so respond before TPing!
  • The offers are received by the recipient as Notifications, and friendship offers also appear as Direct Messages from the person / group sending the offer.

See this official blog post for more, including the note on Calling Cards given above.

Available Official Viewers

There have been no official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version version 6.5.5.571282, – formerly the MFA RC viewer, dated April 26, promoted Wednesday, May 4th – NEW.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Performance Improvements RC viewer version 6.6.0.571939, May 20.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

2022 CCUG meeting week #20 summary: reflection probes update

Lemon Trees Mediterranean – 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, May 19th 2022 at 13:00 SLT. These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar.

This is a summary of the key topics discussed in the meeting and is not intended to be a full transcript.

Official Viewers Update

  • On Wednesday, May 18th, the Performance Improvements RC viewer updated to version 6.6.0.571869.

The rest of the official viewers remain as:

  • Release viewer: version version 6.5.5.571282, – formerly the MFA RC viewer, dated April 26, promoted Wednesday, May 4th – Non change.
  • Release channel cohorts:.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

Materials and PBR Work

Please also see previous CCUG meeting summaries for further background on this work. In summary:

Three core elements of work:

  • Work on an implementation of reflection probes which can be used both with PDR shading and with legacy content. This formed the focus of this meeting.
    • The overall aim of this work is to provide a means to support more physically accurate reflections in SL than can be currently generated (seen as a requirement for PBR support).
    • It applies to both PBR generated content, once available, and to legacy content.
  • Foundational work in creating a materials type with an associated inventory asset, as per the week #16 meeting. This  will initially comprise the ability to copy a texture entry (with its specific parameters) to inventory, to be followed by
  • Initial work to work implement a PBR graphics pipe in the viewer.

Reflection Probes

  • Additional information available within the week #18 CCUG meeting summary.
  • This work is close to feature complete.
    • The viewer gets to work with 256 reflection probes, which take the form of spheres or boxes within a region.
    • Anything within a sphere or box will receive reflections from the cube map rendered from the centre of the sphere / box.
    • Some of these probes will be automatically placed in open areas of land where there are objects, etc., by the viewer.
    • Additional probes can be created by users using prims tagged as probes and placed where they want to influence the reflections being generated (e.g. inside rooms, etc.).
    • Baking for reflection probes will be automatic, and updates will be handled at least once every 30 seconds.
  • There is a performance hit with the capability, and this is still being adjusted so that it will hopefully not be overly onerous.
  • Elizabeth Jarvinen (Polysail) is working  on the current light shader to enable legacy content to receive the reflection probes without looking “too different” and look like it belongs in the environment along with PBR content.

Materials /PBR Work

  • Progress continues in developing a “materials” type with an associated inventory asset capable for containing PBR materials data.
    • LSL access to said materials is regarded as being “tricky”, simply because the materials will be an asset type loaded by the viewer.
    • What is being proposed is to have the ability to “override” elements of the asset (e.g. colour or texture) via LSL by applying the changes to the properties of the object face to which the materials is applied.
      • So, for example, the LSL override says, “OK. I know this material has a texture UUID inside it – I don’t know what it is, but I want this face to use MY texture UUID instead” – so the material asset itself is not changed / updated, but the UUID defined by the LSL code is displayed, rather than the texture UUID defined by the asset.
      • If the materials asset type subsequently be changed, then the overrides applied via LSL to the object face are automatically dropped until such time as new overrides are applied.
    • This is seen as the most flexible approach, as it protects the integrity of the materials asset (in a similar manner to texture data) whilst also allowing the flexibility of using colour variants against an asset type (such as in the case of a sweater using a single materials asset, but with multiple colour options in the pack or in allow a HUD to alter the tint of an object that uses a materials asset).
  • Nothing of significance to report on the PDR shader work.

In Brief

  • Custom pivot point work: currently awaiting simulator updates & will require viewer-side changes.
  • A fix has been implemented in the viewer to speed-up opening media / web floaters (such as search). This should be surfacing in the next Maintenance RC viewer (“Maint N” to follow the Makgeolli  Maintenance RC).
    • An upcoming simulator release should have a fix for objects failure to rez when users first log-in. .

Next Meeting

  • Thursday June 2nd, 2022.

2022 SUG meetings week #20 summary

Lost Dreams, April 2022 – blog post

The following summary notes were taken from the Tuesday, May 17th, 2022 Simulator User Group (SUG) meeting. It forms 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

Please refer to the server deployment thread for updates.

  • On Tuesday, May 17th, the SLS Main and Event channel server were restarted by left on simulator version 05-05.571557.
  • On Wednesday, May, 18th, the RC channels should be updated to simulator version 05-06.571613, which contains the server-side fixes for off-line Friend and Group invites going stale. In addition, server-side generation of Calling Cards when a friendship offer is accepted has been removed. This feature moved to the viewer several years ago and now accepting friendship offers creates, at most, two Calling Cards, one for each party.

Available Official Viewers

There have been no official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version version 6.5.5.571282, – formerly the MFA RC viewer, dated April 26, promoted Wednesday, May 4th – No change.
  • Release channel cohorts:
    • Performance Improvements RC viewer version 6.6.0.571736, May 12.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • Bug 232091 – “Implement object_rez_failure Event” has been accepted as a feature request by the Lab and is liable to be implemented, providing testing doesn’t reveal any backward comparability issues – but no date for possible implementation.
    • This request led to a degree of discussion on the nature of the event (and the possible need for a new function to support it).
    • BUG-228939 – “on_rez action delayed for 2 to 3 seconds in many regions” and BUG-231929 – “llCanRez or something equivalent to check if an object can rez at the location it will try to in the future” are also touched upon in the discussion.
    • The broad discussion on object rezzing and control took up the majority of the rest of the meeting – please refer to the video below for details.
  • Bug 231582 “Newly rezzed objects are invisible after relog under certain circumstances” – should have a fix available in the week #21 RC maintenance release.