Kawaii City, February 2023 – blog post
The following notes were taken from m y audio recording and chat log transcript of the TPV Developer (TPVD) meeting held on Friday, April 14th 2023 at 13:00 SLT.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.
Maintenance T RC viewer, version 6.6.11.579154, April 6th.
Performance Floater / Auto FPS RC viewer updated to version 6.6.11.579238, April 4th.
Maintenance S RC viewer, version 6.6.11.579153, March 31st.
Project viewers:
PBR Materials project viewer, version 7.0.0.579401, April 11 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
Puppetry project viewer, version 6.6.8.576972, December 8, 2022.
Future Viewer Notes
Inventory thumbnails viewer: work is progressing well, however as well as viewer changes and additions to the inventory database (the latter of which has been completed), it will require updates to the Avatar Inventory System (AIS) and a simulator update, so the will be no project or RC viewer until this back-end work has been done.
Work has resumed on providing emoji support in the viewer (Oh, joy.). This work is based on a contribution from the Catznip viewer.
The viewer has been updated, but is still at Project Viewer status.
A new dynamic exposure setting has been added to improve tone mapping.
Bug fixing work is continuing, and Brad Linden is working on getting PBR Materials to work more robustly over networks with heavy loads.
The hope is that the next viewer update will clear QA for release as an RC viewer, so that it will be available when the back-end / simulator support gets deployed to the Preflight simulator channel which Rider Linden hopes to achieve in week #16.
Making the PBR work more widely available by enabled Agni (Main grid) support and moving the viewer to RC status is seen as a key test of how will the Graphics Team has managed to both support the PBR rendering and maintain the broad look and feel of SL as it appears under the current rendering.
Genesis is working on an update which will include and expanded Preferences, together with the ability to search Preferences.
A general discussion on a third-party viewer (Rust) that is in development, but not ready for prime-time, server-side rendering and a ringing of the memory bell for the Pelican (IIRC streaming viewer LL toyed with back in around 2007). Please refer to the video, below.
The Great Library of Eruanna, January 2023 – blog post
The following notes were taken from m y audio recording and chat log transcript of the TPV Developer (TPVD) meeting held on Friday, March 17th 2023 at 13:00 SLT.
These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar; also note that the following is a summary of the key topics discussed in the meeting and is not intended to be a full transcript of all points raised.
Official Viewers Status
Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2.
Maintenance S RC viewer, version 6.6.10.578270, issued February 24.
Performance Floater / Auto FPS RC viewer updated to version 6.6.10.578172, February 21, 2023.
Project viewers:
PBR Materials project viewer, version 7.0.0.578792, March 15 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
Puppetry project viewer, version 6.6.8.576972, December 8, 2022.
General Viewer Notes
The Performance Floater / Auto FPS viewer is still being worked on in the hope that performance can be further improved on lower-end systems.
Work is also being carried out to have the viewer work with a broader cross-section of translation tools.
Inventory Enhancement Project
The work to provide thumbnail images of folders and items in Inventory is progressing on the viewer-side, but deployment will be dependent on both viewer availability (project / RC to release) and assorted back-end service and simulator updates to handle the new data.
Once the thumbnail preview work has been completed, it is possible the Lab will look to further enhancements to inventory management. One future enhancement under consideration is support for folders to be included in the Contents inventory of individual objects.
In Brief
See also my CCUG meeting summary, as this meeting crosses topics with that.
Estate Level Scripted Agent Controls (aka “Ban the Bots”): per my SUG meeting notes, there is a new simulator release due to be deployed which will provide estate / region holders and their managers limit access to their regions by scripted agents (bots).
This work will initially be console-based in the viewer until UI updates can be made and a viewer update with them deployed.
However, a bug has been found in the simulator code, which is currently being worked upon. The hope is this will be fixed without any delay to the code being rolled-out.
It was re-iterated that the next major new graphics project following glTF materials is likely to be support for Vulkan / MotenVK as the graphics API of preference (Windows / Mac). No time frame on when this work will commence, tho.
As I reported in November 2022, Atlassian has announced it will be restructuring how it licenses the Jira bug reporting product from 2024 onwards.
No decision on the direction LL will take as this change in made has as yet been taken, but there are ongoing internal discussions on options.
However, at this point it appears as if whatever route LL decides to take, they will need to review how public issues are raised and passed to them, etc.
Under the Northern Lights, December 2022 – blog post
The following notes were taken from:
My audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, February 16th 2023 at 13:00 SLT.
My chat transcript and the video recording of the Friday, February 17th TPV Developer’s meeting, recorded by Pantera Północy and embedded at the end of this article. My thanks, as always, to her for recording these meetings.
These meetings are for discussion of work related to content creation in Second Life, including current work, upcoming work, and requests or comments from the community, together with viewer development work. They are chaired by Vir Linden, and dates and times can be obtained from the SL Public Calendar.
Notes:
These meetings are conducted in mixed voice and text chat. Participants can use either to make comments / ask or respond to comments, but note that you will need Voice to be enabled to hear responses and comments from the Linden reps and other using it. If you have issues with hearing or following the voice discussions, please inform the Lindens at the meeting.
The following is a summary of the key topics discussed in the meeting, and is not intended to be a full transcript of all points raised.
Official Viewers Summary
Available Viewers
The have been no further updates to the currently available official viewers sine the PBR materials viewer was updated at the start of the week, as reported in my week #7 SUG meeting summary. Therefore the pipelines remain as follows:
Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2, 2023.
Performance Floater / Auto-FPS RC viewer, version 6.6.9.577251, January 4, 2023.
Project viewers:
PBR Materials project viewer, version 7.0.0.578161, February 14, 2023. This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
Puppetry project viewer, version 6.6.8.576972, December 8, 2022.
General Viewer Notes
It is hoped that the Performance Floater RC viewer will be promoted to de facto release status within the week, which would allow all official viewers to leverage Visual Studio 2022 on Windows builds going forward.
There are some changes to be made to github due to all the pull requests (PRs) going to branches which can change over time, causing issues as they do so. In the future, it is likely that PRs will go into the Main branch (which only changes on a per release basis) and from their moved into their intended branch.
CCUG – glTF Materials and Reflection Probes
Project Summary
To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
To provide support for reflection probes and cubemap reflections.
The overall goal is to provide as much support for the glTF 2.0 specification as possible.
In the near-term, glTF materials assets are materials scenes that don’t have any nodes / geometry, they only have the materials array, and there is only one material in that array.
It is currently to early to state how this might change when glTF support is expanded to include entire objects.
The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid): Materials1; Materials Adult and Rumpus Room 1 through 4.
A major new bug is the discovery that the UV treatment is off-specification. This appears to be due to OpenGL putting the 0,0 coordinate in the lower left corner of the image rather than the top left. This does mean that all PBR materials uploaded to Aditi (the beta grid) prior to the fix going into the viewer will effectively be “broken” post-fix. Viewer:
The lighting model for water in the project viewer has been updated to use the glTF specification lighting model for water so that reflection probes can be used to generate reflections on water. However, trying to adapt the “old” water shader to use the glTF lighting model is proving difficult, due the “bonkers” way things like fresnel offset and scale have been implemented. This issue is to be addressed.
It is believed that most existing content should render reasonably faithfully under the PBR / glTF, with the exception of the known issue of alpha blending on colour curves. Runitai Linden has a couple more ideas how this might be improved, but overall, it might come down to having to explain that the colour space is changing for glTF, and as a result some alpha blended content will need to be adjusted in order to render correctly.
As Advanced Lightning Model (ALM) will be enabled all the time in the PBR viewer (the Forward renderer will be disabled), the viewer’s quality settings are being updated so that Shadows will be disabled by default across a much wider range of settings, as these are what causes the significant performance hit when ALM in enabled, rather than ALM itself (but Shadows can still obviously be manually enabled).
This viewer also causes instrumentation regressions within the Performance Floater viewer, which will likely be addressed when the code is ready to be merged with the release version of the viewer. .
It is hoped that the simulator-side support can be deployed to an RC on the Main grid (Agni) in the near future in order to further advance viewer testing as that moves from project to RC status as well.
CCUG – Mirrors(!)
The “very next thing” LL plans to implement after PBR Materials reaches Release Candidate status is – mirrors!
These will be planar mirrors, so best suited to flat surfaces such as the face of a cube, rather than curved or spherical surfaces.
Mirrors will effectively be a real-time 1:1 rendering of what is seen within the scene that is being reflected, but with some limitations to cater for performance. Those limitations / controls under discussion at the Lab include:
The mirror effect will only be generated in viewers that are very close to it.
Perhaps limiting the number of mirrors which can be active within a viewer to just one per scene (so if there are two mirrors close by your avatar, only one will be active at a time). Or allowing user select the number of mirrors they wish see “working” at any given time.
Adding a viewer Preferences option to enable / disable mirrors, depending on the user’s needs.
Nevertheless, even with precautions such as the above, there will be a performance impact in having real-time mirrors active in the viewer.
Mirrors will likely support LSL control over them.
It is already being recommended that mirror surfaces are only used as mirrors, not as a means of generating “reflections” in general – which should be left to reflection probes / cube maps.
It is hoped that the way the mechanism for rendering reflections onto a mirror surface would use the same channels as reflection probes – so when the mirror is seen from a distance, it uses the reflection rendering based on the local reflection probes, but when approached, the reflection probe rendering would fade out, and the real-time planar mirror reflection rendering would fade in.
That said, precisely HOW real-time mirrors will work is still subject to discussion and planning: at the moment, the focus has been only considering time in terms of ensuring the PBR work does not block opportunities for adding real-time reflections, and that they will play nicely with the PBR Materials work when they are being developed.
CCUG – Avatars / New Start Avatars / Ecosystem
A question was raised about the upcoming new mesh starter avatars previewed at SL19B in June2022. These have yet to be releases, and are not intended to compete with existing mesh avatars, also LL hopes creators will help develop an ecosystem in support for the avatars as the devkits for them are released – there is no confirmed release date for the avatars.
The above lead to a general discussion on the learning curves involved in getting to grips with avatar bodies and heads, trying to math heads to bodies, etc., the need for more discussions on avatar capabilities, helping people understand the avatar content creation process so they can join the ecosystem, etc.
The was an agreement that more discussion on avatar-related content creation, real and perceived limitations on the avatar system – particularly rigging clothing and attachments and the reliance on additional toolsets (e.g. AvaStar MayaStar, etc.), issues of supporting information available through the SL Wiki / Knowledge Base, etc. See In Brief for more on discussions / potential new meetings.
There are internal discussions going on at the Lab concerning avatar physics, enabling the simulator to “know” more bout the avatar, how it is being animated, having the simulator-side physics engine fully recognise the avatar body as a physical object (rather than just a simplified capsule), etc., via the likes of the Puppetry project and elsewhere, but solutions are still TBD.
In Brief
CCUG: Alpha blending issues on avatars – there was a general discussion on alpha stacking/ordering and blending issues, with Beq Janus’ blog post on the subject relating to avatars / outfits being referenced as a good primer on the issue and steps to mitigate problems.
TPVD: work is continuing on the Inventory thumbnails work, but nothing ready for any form of public release.
TPVD: it has been suggested that LL might want to add code to the new Group Chat History functionality to indicate the end of historic Group chat within a Group chat tab / panel, as people appear to be getting confused as to why they are opening Group chat to find past conversations displayed (due to word about the new functionality taking time to spread).
TPVD: concern was raised that the allowance of lossless Normal Map under PBR will lead to a lot of abuse with people using it to upload lossless textures as well, which it was feared would hit people’s VRAM. Runitai pointed out that lossless does not necessarily hit VRAM, but does impact caching and bandwidth. This sparked a general conversation on textures, resolution, quality, etc. However, the risk of people abusing the upload was acknowledged, and store will be monitored for unexpected spike in usage after the release of PBR.
TPVD: a discussion on viewer development as support for AAA game-style rendering. Please refer to the video for details,
Both meetings: user on-boarding – at both the CCUG and the TPVD meeting it was suggested that there needs to be a regular user group meeting to discuss user on-boarding, engagement and retention and how to address these on an ongoing basis.
This led to a lengthy discussion on the issues of engagement + retention which illustrated one of the core issues in just discussing it: everyone has a different opinion on what “the problem” is with engagement / retention. Some see it as primarily being an expense issue (the cost of creating a good-looking avatar); some see it as people being unable to find interesting this to do; some see it as being performance / hardware / overall appearance of SL.
The problem with the above is (and as demonstrated at the TPVD meeting particularly) it can lead to very siloed outlooks where disagreements as to “the problem” become the focus of conversations, rather than agreement that all of these issues can play a role, and as such, solutions need to be perhaps more “holistic” in nature and encompassing all of the perceived pain points.
It has been suggested that an upcoming CCUG or TPVD meeting could be utilised as a kick-off session for broader discussions about on-boarding, etc.
Where Our Journey Begins, November 2022 – blog post
The following notes were taken from
My audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, January 19th 2023 at 13:00 SLT.
Pantera’s video of the Third Part Viewer Developer (TPVD) meeting held on Friday, January 20th, 2023 at 13:00 SLT, embedded at the end of this article.
These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar; also note that the following is a summary of the key topics discussed in the meetings and is not intended to be a full transcript of all points raised.
Note, The TPVD meeting was abbreviated to 20 mins.
Official Viewers Status – TPV Meeting
Available Viewers
On Thursday, January 19th, 2023, the Maintenance R RC viewer was updated to version 6.6.9.577678 – translation updates and the return of slam bits.
On Wednesday, January18th, 2023:
The Maintenance (Q)uality RC viewer was updated to version on 6.6.9.577581 – new Debug settings UI, quality of life improvements.
The PBR Materials project viewer updated to version 7.0.0.577610, on January 19, 2023 – SSR support.
This viewer has been reported as “broken” when running on systems with AMD GPUs, a situation that was being investigation as these notes were being written.
This leaves the rest of the currently-available official viewer as:
Release viewer: Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.8.576863 Monday, December 12, 2022.
Release Candidate viewers:
Performance Floater / Auto-FPS RC viewer, version 6.6.9.577251, January 4, 2023.
Project viewers:
Puppetry project viewer, version 6.6.8.576972, December 8, 2022.
General Viewer Notes
Vir pointed out that as Microsoft has ended support for Windows 8 on January 10th, 2023, it is no longer regarded as a supported operating system for running Second Life, and the viewer will not be tested against it (and the System Requirements page has been updated to reflect this, specifying Windows 10+ most recent service pack as the baseline supported Windows OS.
The second phase of the Github work in on-going, notably updating all the viewer build libraries.
Inventory Enhancement Project – Both Meetings
Linden Lab is looking to enhance the Inventory system.
The first element of this work is to be the addition of a fixed-resolution thumbnail preview capability, allowing users to see a small image of a given object (where this makes sense – so the likes of note cards and scripts would be excluded) within inventory, with these thumbnails either being of individual items or entire folders.
This work has now started, but it will be “some time” before there is anything user-facing to show.
A code contribution from Kitty Barnett (Catznip) for an inventory texture tool tip / preview may well be folded in to this work.
Once the thumbnail preview work has been completed, it is possible the Lab will look to further enhancements to inventory management. One future enhancement under consideration is support for folders to be included in the Contents inventory of individual objects.
glTF Materials and Reflection Probes – CCUG
Project Summary
To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
To provide support for reflection probes and cubemap reflections.
The overall goal is to provide as much support for the glTF 2.0 specification as possible.
The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid): Materials1; Materials Adult and Rumpus Room 1 through 4.
Screen Space Reflections (SSR) has now been integrated into the Project Viewer, (January 19th onwards), although work around this is still being finalised, notably mixed Reflection Probes with SSR.
Some fixing is required to the default colour curves in the viewer.
Stability issues have been noted on Intel integrated graphics hardware, and these are being investigated / fixed.
There have now been a total of two further weeks focused on optimising the viewer’s performance, and the results of this work should be available in the next update to the Project Viewer.
UI updates: the viewer will likely see some UI updates as it progresses:
The next update will likely include a new dedicated icon for on the Build floater for creating Reflection Probes.
The drop-down in the Build floater Textures tab (Currently Materials and Media on the release viewer, may be re-labelled for PBR (where it is Materials, Media, PBR) to more clearly differentiate between the current materials maps system and “new”” PBR materials.
Similarly, the new Materials Inventory folder in the Project Viewer may also be renamed to avoid the potential for confusion between the use of PBR materials assets and the current materials maps system.
Further, the menu option Build → Upload → Materials (in the Project Viewer) may be reamed to more clearly reflect it is for PBR materials, not material maps.
Exactly was terms will be used is TBD, but the general push (from LL’s perspective is to use meaningful lbeels on options and menus which can be Googled with some relevance by those wanting to know more about the underpinning file formats / standards, etc.
Work is going into messaging between the back-end and the viewer to ensure it will scale once the viewer starts to see widespread use.
In Brief
As the PBR Materials project is approaching a possible RC release, the questions has been asked as to what is next on the graphics front. While no formal decision has been made, options include:
A return to looking at adding something like Vulkan / MoltenVK (for OS X) API support alongside of the OpenGL API (which has been slated for deprecation by Apple and is growing increasingly long in the tooth). This work is being looked at more as a performance optimisation rather than a visual boost to rendering (e.g. allowing SL to be less CPU-bound and make more use of the GPU, reducing the volume of draw calls, etc.).
Further expansion of the glTF work to include mesh (and moving away from Collada .DAE), animations, etc. But again, no definitive plans / direction has been agreed within the Lab.
While there is a appetite at the Lab to support as much as the glTF 2.0 specification, some aspects will be excluded from the list – mentioned at the meeting were Setting the filter mode and sampler state of textures, both of which were described as “problematic” for implementation within SL.
Overhauling / updating support / options for ground textures.
The CCUG meeting saw a general discussion on animations, the skeleton and all that it involves (bones, attachment points, collision volumes, rigging, etc., and the rules / policies surrounding them, couched initially in the potential for expanding the skeleton / avatar system – for which there are currently no plans to do so beyond what has already been done.
Pivot points: (related to the above) past CCUG meeting saw some extended discussion on implementing pivot points on the skeleton, and LL indicated they would investigate this. Since then, it has become increasingly apparent that a node hierarchy would be beneficial and potentially easier to implement; ergo pivot points have been pulled into the pot for a future hierarchy project.
There is a known bug where Premium Plus users – who gain free texture uploads – are being charged for textures included in mesh uploads. An upcoming simulator-side maintenance update should correct this.
A request was made at the CCUG meeting to allow mesh uploads greater than the 64m single object size limit, to make it easier to import large structures / scenes without having to curt them into sections (and thus avoid potential issues in fit, scale, update, etc, and can result in Interest List related rendering issues).
LL is unlikely to change the limit, but would prefer to provide improved tools that can help content creators / scene builders.
One should tool discussed – which is currently not in development – is that of a “scene view” tool which identifies every individual instance of an object in scene, and provides a mechanism to allow (subject to permissions, obviously) them to be swapped-out to fix things like “broken” items / those for which there is an update / replacement.
Power up for Charge, October 2022 – blog postThe following notes were taken from:
My audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, December 15th 2022 at 13:00 SLT.
My chat log transcript and video recording by Pantera Północy of the Third-Party Developer Meeting (TPVD) held on Friday, December 16th, 2022 at 13:00 SLT. My thanks to her for the video (embedded towards the end of this article).
These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar; also note that the following is a summary of the key topics discussed in the meetings and is not intended to be a full transcript of either meeting.
Performance Floater / Auto-FPS RC viewer, version 6.6.8.576737, November 28.
VS 2022 RC viewer, version 6.6.8.576310, issued November 4 – utilises Visual Studio 2022 in the Windows build tool chain.
Project viewers:
Puppetry project viewer, version 6.6.8.576972, December 8.
PBR Materials project viewer, version 7.0.0.576966, December 3.
This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
CCUG Specific
glTF Materials and Reflection Probes
Project Summary
To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
To provide support for reflection probes and cubemap reflections.
The overall goal is to provide as much support for the glTF 2.0 specification as possible.
The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid): Materials1; Materials Adult and Rumpus Room 1 through 4.
The focus remains on bug and regression issue fixing within the viewer and quality of life improvements.
There has been a discussion on revising the workflow for setting reflection probes & in providing a debug setting to make things easier to see when manipulating reflection probes.
This has been prompted be those testing the PBR viewer setting-up their own reflection probes incorrectly (e.g. by making the probe sphere / cube shiny prior to converting it to a reflection probe – which should NOT be done), failing to achieved the anticipated results and then filing bug reports.
It is possible that some of the required workflow could be factored into the UI itself to off a more intuitive sense as to how reflection probes are supposed to work.
An alternative to this might be to introduce a new “reflection probe” prim type, which includes all the core parameters – however the additional work and messaging required to achieve this would lead to a further lengthening of the project’s development time.
Tutorials to help people get to grips with reflection probes (and, I presume, PBR as a whole are “in the works”).
Screen Space Reflections (SSR): Geenz Linden is working on this within the PBR viewer. Whilst a checkbox for SSR has been added to the viewer, there is further work to be done on the integration and rendering sides (e.g. getting SSR to work on water & transparent surfaces).
Hardware profiling / optimising the viewer is still on-going (although it is likely that whatever is done, SSR will result in a noticeable performance hit if enabled).
[TPV Video: 9:11-10:44] The decision has yet to be made on whether or not to axe the forward rendering (i.e. non-ALM) path from the viewer.
This decision is awaiting more information on hardware performance on lower-spec systems using the updated deferred rendering (i.e. ALM) rendering path.
It is known that Mac rendering performance on the PBR viewer is particularly bad, which may be down to a configuration issue.
In Brief
Mirrors (in some capacity) are described as the “very next thing” the graphics team will commence work on after the PBR / reflection probes work gets to RC status (as Vir Linden pointed out, Mirrors currently require more reflection on how they are to be implemented!).
The meeting in places broadened into general discussion on content breakage (and the need, where possible, to maintain the functionality of content users have purchased in expectation of its longevity; the benefits / disadvantages with morph bones versus blend shapes for customising the avatar shape (and the possible routes to an “avatar 2.0”), the need for a better animation system (or even an actual animation system), etc.
Much of this was more esoteric in nature at this point in time, although the likes of Puppetry is laying the foundations for broader animation work; as does the glTF 2.0 specification, which is the baseline specification for the PBR / reflections probe work, and will be expanded upon in future projects – such as with mesh uploads.
In terms of animation systems, some of the groundwork is already in place inasmuch as SL already effectively treats morph bones and animated bones as individual animation tracks, offering to potential for this to ne “unwrapped” and moved to a glTF approach to animation management.
Some of the above conversation touched on the ideas of market renewal / fragmentation. For example: the introduction of reflection probes offers a degree of market renewal for creators of buildings, skyboxes, etc., through the provisioning of new builds (or new versions of existing builds) leveraging the capability; however, the adoption of an upload schema for fully customised avatar skeletons might lead to greater market fragmentation (how do you ensure, for example, that human animation/pose A will work equally on custom human (style) avatar skeletons W, X, Y and Z, or will they each require custom animations?).
A new project (commencing in 2023) to add thumbnail previews to inventory, allowing users to see a small image of a given object within inventory (thumbnails can be individual items or, if preferred an entire folder).
The first phase of the work is determining how to generate the thumbnail images in the first place on a manual or (preferably) automated basis, and then ensure it maintains an association with the object to which it is related (e.g. so if an item is sold or transferred to another user, the thumbnail goes with it).
Once this has been decided, the next phase will be to build-out the UI so that such thumbnails can be viewed from inventory
It is likely that thumbnails will have a fixed / limited size resolution, and will not be subject to any upload fee.
This work:
Is not an adjunct (or related) to the Outfit previews currently available in the viewer.
Will not prevent creators from including high resolution images with their products if they wish.
Will only apply to inventory objects where it makes sense (e.g. textures and notecards would likely be excluded).
Is seen as a possible foundational piece to adding new fields to the inventory database, which could open the door to further information fields being added to inventory in the future,
Following the switch-over to using Github for viewer code repositories on Monday, November 21st, 2022, work is now progressing on “Phase 2”.
This is remaining TeamCity operations with Github Actions for viewer builds (so those pulling an official viewer repo will be able to build it directly).
This work will also incorporate the rebuilding of those third-party libraries involved in the viewer build process, as and where required.
In Brief
[Video 16:10-18:41] LL has been digging into viewer crash rates by operating system, with the note that the number of crashes on the Mac OS appears to be disproportionately high. It is hoped that if the underlying causes can be readily identified, these issues can be subjected to rapid fixing. It was not clear at the meeting if those TPVs supporting OS X are seeing a similar elevated crash rate.
[Video 20:40-21:35] It is estimated that the split between viewer operating systems for the official viewer is roughly:
1-2% Linux (although this does not include running the Windows viewer under emulation on Linux).
6% Mac.
The rest: Windows.
Firestorm appears to mirror the above.
[Video: 35:08-36:10] It is possible the the work on the viewer library refresh will allow LL to look again at the issue of providing a Linux viewer build.
The meeting has a general discussion on operating systems, & variants (64-bit vs. 32-bit), etc, and the lack of an official Linux build,
A reminder that Microsoft ceases official support for Windows 8 on January 10th, 2023. This means that from that date, Windows 8 will no longer be officially supported by Second Life as a viewer operating system, and LL will not guarantee the viewer will run as expected on Win 8 going forward from that date.
Linden Lab Holiday Closure
A reminder that Linden Lab will be effectively closed (outside of Support cover) from end of business (PST) on Friday, December 23rd, 2022 through until start of business (PST) on Monday, January 2nd, 2023.
My audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, November 17th, 2022 at 13:00 SLT.
My audio recording and chat log from the Third-Party Viewer Developer (TPVD) meeting held on Friday, November 18th, 2022 at 13:00 SLT. Pantera attended the meeting, but was unfortunately held-up beforehand, so around the first 10 minutes is absent from her video (embedded at the end of this summary).
Both 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.
The following reflect the list of current official viewers available through Linden Lab.
Release viewer: version 6.6.7.576223 – MFA and TOS hotfix viewer – November 1.
Release channel cohorts:
Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.8.576431 on Monday, November 14.
VS 2022 RC viewer, version 6.6.8.576310, issued November 4 – utilises Visual Studio 2022 in the Windows build tool chain.
Project viewers:
PBR Materials project viewer, version 7.0.0.576331, issued on November 3.
This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
Puppetry project viewer, version 6.6.3.575529, issued on October 12.
Performance Floater / Auto-FPS project viewer, version 6.6.5.575378, October 4.
Love Me Render (LMR) 6 graphics improvements project viewer 6.6.2.573263, July 21.
General Viewer Notes
There is unlikely to be any major changes to the list above in week #47, as this is a short working week for the Lab due to the Thanksgiving holiday (Thursday / Friday).
Github Changeover and Streamlining the Code Contributions Process
Github Work
As previously announced, there is an initiative to improve continuous update integration in the viewer and improve the viewer deployment process.
For TPVs and developers, the most visible aspect of this is moving the viewer repositories from BitBucket to Github. This includes the viewer code base and the other public code bases currently in BitBucket (Autobuild, LLCA, etc.).
There is still no firm date as to when the actual switch-over to using the new repositories will occur, but the viewer development team is working steadily towards it, and the plan remains to provide plenty of advanced warning to TPVs on when LL plan to cut over to the new repositories before making a clean cut-over.
Status
The switch-over to using Github is now slated for “early in the morning” (PST / SLT) on Monday, November 21st, 2022.
This means that from the point of switch-over, the Bitbucket repositories will be locked and carry a warning that they are no longer current, and developers / viewer builders should use the GitHub repositories, as directed to in the warning.
The master viewer branch is already up-to-date on GitHub as of Friday, November 18th, 2022.
Notes on the switch-over were posted to developers on the open-source developers list.
There is no plan in place to phase out the Bitbucket repositories immediately, but they may well be removed in time.
PBR: Materials and Reflections
Project Summary
To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
To provide support for reflection probes and cubemap reflections.
The overall goal is to provide as much support for the glTF 2.0 specification as possible.
The viewer is available as a project viewer via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid): Materials1; Materials Adult and Rumpus Room 1 through 4.
The focus is currently on reviewing bugs reported by those testing the viewer, and creators using glTF PBR workflows to create content are encouraged to test out their content on the project viewer to ensure things look as expected when imported into SL.
One aspect of SL that does require testing is EEP assets; changes have had to be made to the shaders which mean that commercial EEP settings may not render as expected (things like haze density my be modified, etc).
EEP creators may therefore want to test their settings using the project viewer, and Jira issues – please include “non PBR viewer” shots of how the settings should look and shots taken with the PBR project viewer for easier comparison / understanding of the issues seen.
Issues with alpha blending are being investigated – particularly linear space alpha blending and how best to carry forward “pre-PBR” alpha blending, which does not use linear space.
It has been reported that the PBR project viewer generating some 10% more CPU temperature and 17% more GPU temperature – this may be the result of the viewer having to work that much harder with PBR in order to maintain frame rates.
Reflection probes: concern was again raised over people excessively using probes (e.g. attaching them to all their products / objects they own).
Providing a means for users to disable probes attached to objects they purchase has been previously discussed within the project / CCUG meetings.
It is hoped the latter (people just randomly setting-up probes all over their house / land) can be mitigated against through a mix of education and explicit warnings / actions in the viewer.
Concern was also raised about the potential of localised reflection probes (essentially an invisible prim) could interfere with intended interactions (e.g. a probe enclosing a chair could block people’s ability to sit on the chair). If cases like this are found in testing, a request has been made for bug reports.
The PBR viewer does include a Build / Edit option to “ignore invisible prims” so that when building / editing, an attempt to select an object within the volume of a reflection probe prim will ensure the object is selected, not the probe prim, but it is acknowledged that this kind of operation needs to be better integrated with other mouse click options.
It was noted that this project also marks the start of the deprecation (and eventual removal) of some real-time console performance reports, such as Fast Timers.
It has been reported that some testing the PBR viewer are finding that within the texture console, Bias is constantly being reported at 5 (which tends to cause texture thrashing in non-PBR viewers). However, within the PBR viewer a Bias of 5 should indicate that the viewer is swapping – and keeping to – a lower texture resolution, and so should not result in any texture thrashing.
Screen Space Reflections (SSR)
LL does have a “subtle” SSR system working to replace Linden water reflections as currently rendered.
There is some further work to be carried out before it is “viewer-ready”, with the focus being on ironing out the bumps and cleaning-up bugs.
It was made clear that while this implementation of SSR will be applicable to scenes as a whole, it is not intended to be a replacement for creating mirrors – and so expectations should be set accordingly.
CCUG Meeting Specific Notes
The majority of the meeting was given over to a general discussion, per the cliff-notes below:
VR hardware and Second Life:
While frame rates are not so much an issue now in broad terms, there is still the need to get a high frame rate on a consistent basis for VR viewing to be enjoyable – and this is still not a giving with SL.
However, VR isn’t just about headsets; its about the “full” experience in using a range of associated peripherals: controllers, haptic gloves, the ability to have a “full-body experience” that VR users would want and expect, such as seeing your hand and arm when going to pick something up, being able to grip an object in your hands and feel responses from it when using it (e.g. the strike of a blade against another or a baseball sat against the ball, etc.).
The level of support for this more complete sense of immersiveness requires some extensive re-engineering of Second Life (e.g. facilitating a full and proper Inverse Kinematics system as a single example).
The Puppetry project may facilitate some work towards this. However, the focus of this project is not on providing any form of in-depth VR support (it is intended to work with a broader range of peripherals, notably webcams, although use of some VR software support via OpenVR is being considered), being intended for use by as broad a cross-section of SL users as might be interested in it.
Another problem is determining what people want from VR; is it purely a mechanism for games, or does it need to be capable of “realistic” social interactions (some do still proclaim games, other demand social capabilities; the truth is probably more a blending of the two, just like life in the physical realm).
New users and their experience:
Much was made of the need for a completely new avatar system (LL is actually working on a new all-mesh “starter avatar”, but using the existing skeleton) – but overhauling / replacing the current avatar system raises its own compatibility / market issues.
A fair point was raised by LL concerning the use of eviction / ban scripts that specifically ban avatars that are less than X days old and / or avatars that do not have Payment Information On File.
These tend to get used at event spaces etc., to try to prevent griefers / trolls using throwaway accounts from accessing the space, rather than using other available moderation tools (which, admittedly tend to require human intervention with the right permissions, which might not always be available).
The problem here is that often, a “genuine” new user will often sign-up, go through the new user experience, then try to go to a event – only to immediately find they are denied entry or are ejected without warning or explanation, and as a result, they log-out.
The need for improved tools to handle griefing and trolling are likely required – but no discussion on what form these might take.
Audio: a general conversation on the potential of “full” spatial audio, including directional (e.g. so an audio stream at a disco appears to be coming from the speaker system in the venue) and also sound volumes.
Nothing is currently planned for audio in the roadmap, but it was noted that the first test of using volumes (reflection probes) is in Aditi testing, and LL will obviously seeing how well that works.
It was made clear that scripts will “NEVER” be allowed to create new assets (so no ability to generate notecards from a script). One of the reasons cited for this is the cost of storing assets if there is an uncontrolled ability to generate them through scripts (particularly given SL’s asset count is already in the petabytes range in terms of storage).
TPVD Meeting Specific Notes
Atlassian Jira and Bug Reporting
Atlassian has announced it will be restructuring how it licenses the Jira bug reporting product from 2024 onwards. Currently, LL can run a public-facing Jira reporting system that effectively allows every Second Life user to create an account on it to view all the public SL bug reports and feature requests.
Under the 2024 pricing restructure (which will be pretty much per-account), this will be prohibitively expensive for LL, so they are starting into the process of looking for an alternative means to provide some form of user-facing bug reporting mechanism.
one option being considered is to continue to use Jira internally (where the number of licensed accounts can be controlled), and use a different mechanism for public bug reporting, with a bridge between the two.
Another is to move away from Jira entirely.
No decision has been made as yet, but as Firestorm also use Jira, the suggestion has been made that the two develop a joint plan to resolve the situation in terms of future tools.
The topic lead to a general discussion on possible options, but no conclusions drawn – and there is sufficient lead-time on the matter for various options to be looked into, allowing for the time required to transition to any alternate that might be selected / finding the means to keep the wealth of information on the SL Jira available for reference.
General Notes
There is a report that Active Voice on at least some viewers is not updating correctly (e.g. following a teleport, and it is proving easier to enable / disable Voice morphing vie the menu than to disconnect / reconnect Voice in order to correct.
The issue here is not so much which is the preferred method to correct the problem, but whether the Active Voice list failing to update is a widespread issue with viewers, and whether it can be reproduced on the official viewer & a bug report raised.
Beq Janus has written a post on alpha blending issues (see: Alpha blend issues? Get them sorted – subtitled Making it easier to avoid alpha-clashes with Second Life and OpenSim outfits). Rather than have me decimate the discussion, please refer to the video fat 35:56 through video end for more.