Grumpity and Alexa Linden host the Web User Group meetings on alternate Fridays at Alexa’s barn.
The following notes are taken from the Web User Group meeting held on Friday, December 19th, 2017. These meetings are generally held on alternate Fridays, and chaired by Alexa and Grumpity Linden at Alexa’s barn. The focus is the Lab’s web properties, which include the Second Life website (including the blogs, Destination Guide, Maps, Search, the Knowledge base, etc.), Place Pages, Landing Pages (and join flow for sign-ups), the Marketplace, and so on and the Lab’s own website at lindenlab.com.
Not all of these topics will be discussed at every meeting, however, the intention within the group is to gain feedback on the web properties, pain points, etc., and as such is very much led by comments and input from those attending. Along with this are two points of note:
Specific bugs within any web property – be it Marketplace, forums, Place Pages or anything else), or any specific feature request for a web property should be made via the Second Life JIRA.
Alex Linden provides routine updates on the Lab’s SL-facing web properties as and when appropriate, which can be found in the Second Life Web thread.
Note that the SL forums are not covered by the Web User Group, as the management of functionality of the forums falls under the remit of the Support Team.
Lindens in the Web Team
A number of Lindens attend the Web User Group meetings in addition to Grumpity and Alexa (who are part of the Second Life Product team). While they may not be present at every meeting, Lindens staff directly involved in supporting the SL web services include:
Spidey Linden: QA Lead for SL Web and Marketplace.
Shrike Linden: a QA tester on the Second Life web team.
Nazz Linden: a web developer who has thus far primarily worked on secondlife.com and the Place Pages.
Natty Linden: a web developer with a focus on the Marketplace.
Sherbert Linden: a web developer working on various SL web properties.
Support Portal Migration
Some people have reported that their support ticket histories are no longer intact. This may be a result of the ongoing migration of data from the old support system to the new system (see here and here for more). If there are specific tickets raised prior to the start of 2017 people need to view, a new support ticket, including details of the ticket which needs to be viewed, should be raised, and the support team should be able to access the old ticket and provide any information on it.
360-Snapshot Viewer
Currently a project viewer (version 5.1.0.506743 at the time of writing), this is still in the process of being updated to offer higher resolution 360-degree images taken in Second Life, and for the uploading of 360 images to Place Pages (as well as the other viewer snapshot upload options).
Feature Requests
Feature requests are suggestions forwarded to the Lab on ideas and improvements which might be added / made to Second Life. They are raised via the Second Life JIRA:
Once logged-in to your Dashboard, click ob Create Issue (top right of the window).
A pop-up Create Issue form is displayed.
Click on the right of the Issue Type box on the form to display a drop-down, and select New Feature Request.
When filing a feature request, give as much information as clearly and concisely as possible: what the feature request is, what it is for, why it should be considered beneficial, what it might help improve, how it might work, etc., – as these things apply.
If you are requesting a UI change to the viewer, and can include images of proposed changes or new floaters / panels the feature would require, be sure to attach them.
Filing a Feature Request via JIRA – click for full size, if required
In 2017, 383 feature requests were filed via JIRA. Of these, 167 (roughly 43%) were accepted by Linden Lab for transfer into their internal JIRA system. It’s not clear how many of the accepted items were eventually actioned, but the figures nevertheless show that feature requests are triaged and some are taken for current or future consideration and possible implementation at a later date.
The following notes are primarily taken from the Content Creation User Group meeting, held on Thursday, January 18th, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.
There is no video for this meeting, as Medhue missed the first 30-ish minutes. Audio extracts are supplied instead, where relevant.
Animesh (Animated Mesh)
Project Summary
The goal of this project is to provide a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes.
In short, an Animesh object:
Can be any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory (Contents tab of the Build floater) required for it to animate itself.
Can be a single mesh object or a linkset of objects (link them first, then set them to Animated Mesh via the Build floater > Features).
Has been flagged as and Animesh object in the project viewer, and so has an avatar skeleton associated with it.
Can use many existing animations.
However Animated objects will not (initially):
Have an avatar shape associated with them
Make use of an avatar-like inventory (although individual parts can contain their own inventory such as animations and scripts)
Make use of the server-side locomotion graph for walking, etc., and so will not use an AO
Use the avatar baking service
Will not support its own attachments in the initial release.
These are considered options for follow-on work, possibly starting with the notion of a body shape (to help with more fully-formed NPCs).
The Animesh project viewer updated on Thursday, January 18th to version 5.1.1.511908. This includes a merge up to the Alex Ivy viewer code base, and so is only available for Windows (32-bit and 64-bit) and Mac OS X (64.bit). A number of updates are also included with the viewer:
Reduced lag when zooming in and out on some models.
Improved rendering performance when preview wireframes are displayed.
Some diagnostic updates and performance fixes.
In mesh upload, allow underscores in joint names to substitute for spaces.
Performance Profiling / Animesh Limits
As promised in the week #2 meeting, a region has been set-up on Aditi for public Animesh performance profiling which has a tri cap that can be varied (called Animesh XL), allowing it to be set higher than the 50K limit found on the other Animesh regions on Aditi. The Lab has internal regions set-up for performance profiling as well.
There has been a request for a triangle count and/or skeleton count per square metre limit, rather than the triangle count and land impact limits the Lab are currently experimenting with. Vir concedes that this may give a similar result to the Lab’s approach with tri count and LI, but also notes that people are already pushing tri counts to the limit, and he’d rather have something that helps push towards more optimised content creation. He also notes that tri count isn’t the only potential performance impact – texture use, for example can also have an impact – so it’s a case of finding the right balance and ensuring that balance uses figures which are easy for creators / users to grasp.
The tri count limit is per object / linkset for Animesh, and is something of an approximation based data specifying the size of an object, in order to avoid having the simulator having to carry out all the triangle count calculations (and possibly impacting simulator performance). The resultant figure does under-estimate of the actual number of triangles within an object / linkset – but not, Vir believes, by a huge amount.
One issue around performance is avatar attachments, which don’t directly count towards region limits in the same way as things like LI, but which can still have an impact on performance (as can be seen with avatars wearing a lot of high-poly mesh attachments). However, re-working how attachments are handled specifically for Animesh is considered problematic, and unlikely to be re-worked (and so is being handled by a straightforward cap on how many Animesh attachments can be worn at one time – initially 1 for testing purposes) .
Animation Playback Issues
It’s been noted that animations already running on an Animesh object don’t necessarily play for those entering the region where they are running, or update correctly when camming to them for the first time. This appears to be a race condition, with the viewer receiving information on the animation before it has rendered the object being animated, resulting in the animation being ignored. Vir is confident that now the cause has been found, the issue can be fixed.
There is also an issue related to the Interest List where an Animesh object in a neighbouring region fails to update (animate), even when in your field of view and draw distance.
Both of these issues are still being investigated.
There is a claim that animations fail to play when an Animesh object is attached directly from inventory. This is something that isn’t being seen by the Lab, and which might be down to code within the animation script itself, or could be an issue. Vir has requested a JIRA specifying the problem and how to reproduce it.
Bakes on Mesh
Project Summary
Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads. The project is in two phases:
The current work to update the baking service to support 1024×1024 textures.
An intended follow-on project to actually support baking textures onto avatar mesh surfaces (and potentially other mesh objects as well). This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.
This work does not include normal or specular map support, as these are not part of the existing baking service.
Current Progress
Vir believes Anchor Linden has resolved the issues around getting the appearance service updates out.
Other Items
Screen Release Estate and Multiple Monitors
The Second Life viewer is constrained to the window / screen on which it is being used: however many floaters and panels a user opens, they can only be displayed in the one window / screen, which can quickly become crowded. This had led to various suggestions on how the issue of screen real estate use might be improved, including:
Making floaters and panels so they can be displayed outside of the main viewer window. Firestorm actually developed a proof-of-concept model for this several years ago. However, it was just an experiment, and the overall functionality was limited. The idea was thrown open to allow viewer developers to work on the idea, but the complexity of the work meant it was never carried forward.
Altering Second Life so that more than one viewer session can be run from the same account at the same time: the idea here being that a use with multiple monitors could log into SL with their account, position the viewer on one screen, then log in again with the same account, and have that viewer instance on a second monitor – so they could use one for all their chat and inventory floaters, while have a clear in-world view on the other. This would require extensive changes to the back-end of SL, and so is potentially even more complicated than making the viewer floaters work outside of the main viewer window.
Next CCUG Meeting
Due to various conflicts, it appears that the next CCUG meeting will not be until Thursday, February 16th, 2018. However, as this has yet to be confirmed, the best thing for the next 2-3 weeks is to monitor the CCUG wiki page for updates and meeting notifications.
As always, please refer to the server deployment thread for the latest news and updates.
On Tuesday, January 16th, 2018 the Main (SLS) channel was updated with the server maintenance package deployed to the RC channels in week #2.maintenance package 18.01.08.511751 comprises internal fixes.
Speaking at the Simulator User Group meeting on Tuesday, January 16th, Simon Linden indicated that the next RC deployment should be in week #4 (commencing Monday, 22nd January.
SL Viewer
The Alex Ivy 64-bit viewer, version 5.1.0.511732, dated January 9th, 2018, was promoted to de facto release status on Tuesday, January 16th, 2018. All other viewer in the pipelines remain unchanged at this point in time, although the Voice and Nalewka RC will be updated in due course for parity with the Alex Ivy code base. This means the viewer pipeline currently reads as follows:
Current Release version 5.1.0.511732, dated January 9th – formerly the Alex Ivy Maintenance RC
Release channel cohorts:
Nalewka Maintenance viewer version 5.0.10.330173, January 10, 2018.
Voice RC viewer, version 5.0.10.330039, December 12.
Project viewers:
Project Render Viewer version 5.1.0.511604, January 3, 2018.
Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.
Other Items
Simon Linden is working on a new feature – due to go to Aditi (the beta grid) for testing soon – but will not be drawn on specifics at this point in time.
Joe Magarac (animats) has been digging into the viewer code handling region crossings in an attempt to improve avatar handing when seated on objects and looking at the “partial unsit”issue (when the avatar becomes visual detached from a vehicle on a region crossing, but acts as if still attached (e.g. appearing seated, with any attempt to stand causing a viewer crash. He’s documented his work on a Firestorm JIRA (see FIRE-21915). Commenting on the work, Oz Linden indicates that if Joe would like to submit the change to the Lab (via the Second Life JIRA) the Lab would be interested in working with him to further improve agent / object handling during region crossings.
Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates for the week ending Sunday, January 14th
This summary is published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:
It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
Official LL Viewers
Current Release version 5.0.9.329906, dated November 17, promoted November 29th – formerly the “Martini” Maintenance RC – No Change.
The following notes are taken from the TPV Developer meeting held on Friday, January 12th 2018. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion.
Viewer Pipeline
[0:00-4:24] The Nalewka Maintenance RC updated to version 5.0.10.330173 on Wednesday, January 10th, and the Wolfpack viewer has been withdrawn. This leaves the remainder of the SL viewer pipelines as follows:
Current Release version 5.0.9.329906, dated November 17, promoted November 29th – formerly the “Martini” Maintenance RC – No Change
Release channel cohorts:
Alex Ivy 64-bit viewer, version 5.1.0.511732, January 9.
Voice RC viewer, version 5.0.10.330039, December 12.
Project viewers:
Project Render Viewer version 5.1.0.511604, January 3, 2018.
Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.
The Update to the Alex Ivy 64-bit RC viewer (Tuesday January 9th, and reported in Part #1 of this week’s updates) will be the last such update for that viewer as an RC, and it will most likely be promoted to release status in week #3 (commencing Monday, January 15th). There should be an official blog post accompanying the promotion when it happens, encouraging those on Windows who can upgrade their version of Windows to 64-bit / Windows 10 to do so.
[28:16-30:11] A reminder that Alex Ivy is Windows and Mac, and that the Lab has a separate project for Linux. This will require support from the Linux community to help move the Linux viewer build to a Debian package using system libraries, so allowing TPVs to add the dependencies they require for their flavour of Linux build. If help is given and the project is successful, the Lab will then maintain the Linux build, with the caveat that it will only be subject to cursory QA, and will continue to require support from the Linux community for fixes. A repository for code submissions will be made available, together with a blog post / open-source community notification on the specifics, after the 64-bit viewer has been promoted to release status. Those wishing to support the work will need to sign a contribution agreement with the Lab.
The Voice RC has no known outstanding issues, and should be ready for promotion once Alex Ivy has been promoted to release status and the Alex Ivy code has been merged into the viewer.
The 360-snapshot viewer is looking set to move from project viewer status to a release candidate viewer.
A new viewer branch is being prepared – the media branch, which will be specifically for Chrome Embedded Framework (CEF) changes and other media handling updates. This will likely appear some time after the Alex Ivy viewer has been promoted to release status.
A further viewer project on the horizon is a further update to the viewer build chain, and bring that more up-to-date with things like Visual Studio, etc.
Viewer Deprecation
[4:25] Once Alex Ivy is promoted to release status, the Lab will be deprecating all versions of their viewer not using Asset HTTP loading (e.g. viewers prior to version 5.0.6). At some point after this, work will then commence on removing all UDP asset messaging from the servers, so anyone still using a viewer not fully supporting Asset HTTP will be unable to load gestures, animations, sounds, etc.
Avatar and Object Rendering
[9:26-10:32] Work on revising the current avatar complexity and object rendering calculations is due to resume “in the next week or two”. It is hoped this will allow the Lab to adjust the formulas used to make a reasonable generalisation in the rendering cost of things, and whether or not objects are being reasonably accounted for in those calculations, although things may not change that much. However, the Lab is “determined to fix some of the bad incentives in the current calculations”.
Environment Enhancement Project (EEP)
Project Summary
A set of environmental enhancements, including the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; a new environment asset type that can be stored in inventory and traded through the Marketplace / exchanged with others; scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.
Current Status
[33:32-35:06] Rider linden is making progress, with his next step being to get the new setting objects defined as assets which can be stored in inventory. Once this has been done, he will be comfortable with setting up test regions on Aditi ready for testing once a project viewer is available. The viewer will require new UI elements for manipulating windlight assets, the initial design work on which, Rider jokingly claims, has already given him a nervous twitch in his left eyebrow!
In Brief
[13:35-15:32 ] Group Notices failures: some work has been done on this, showing that problems can start to occur if the group chat servers are left running too long, so a round of restarts should hopefully prevent this. Work is also going to be put into making group notice delivery more robust when logging-in, and this will hopefully be out in the next few months.
[22:49-26:55] Viewer widget documentation & additional viewer documentation: the viewer web widget wiki documentation is currently out-of-date, and a request has been made to update it. The Lab doesn’t have any documentation on the viewer (e.g. design documents etc.), outside of what is available on the wiki.
[32:04-32:45] IMs to E-mail: there have been reports at the recent Web Group and Simulator User Group meetings that some IMs to e-mails failed over the holiday period. This has been investigated, and the issue did lie with the Lab. However, it has been rectified, and all IMs to verified e-mails addresses should work correctly.
[11:02-11:48 – in text+ voice comments] The next Firestorm release will not allow changes to the debug RenderVolumeLODFactor which go above 4 to persist between log-in sessions. People will still be able to set the value above 4, but will have to do so each time they log-in. [18:33 – in text] There is to be one more beta release of the new Firestorm, which should be followed in about a week’s time with a formal release (late breaking issues allowing).
Queen of Dragons? Surrounded by Animesh dragons by Wanders Nowhere and used by Lucia Nightfire as Animesh test models
The following notes are primarily taken from the Content Creation User Group meeting, held on Thursday, January 11th, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.
Medhue Simoni live streamed the meeting, and his video is embedded at the end of this article – thanks to Medhue, as always, for the recording. Where the video is referenced, time stamps to the specific point of the video are provided in the text – click on them to open the video in a separate browser tab at that point.
Animesh (Animated Mesh)
I like the name ‘animated objects’ because I think it’s unambiguous, but it takes a long time to type!
– Vir Linden joking about the name “Animesh”.
Project Summary
The goal of this project is to provide a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes.
In short, an Animesh object:
Can be any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory (Contents tab of the Build floater) required for it to animate itself.
Can be a single mesh object or a linkset of objects (link them first, then set them to Animated Mesh via the Build floater > Features).
Has been flagged as and Animesh object in the project viewer, and so has an avatar skeleton associated with it.
Can use many existing animations.
However Animated objects will not (initially):
Have an avatar shape associated with them
Make use of an avatar-like inventory (although individual parts can contain their own inventory such as animations and scripts)
Make use of the server-side locomotion graph for walking, etc., and so will not use an AO
Use the avatar baking service
Will not support its own attachments in the initial release.
These are considered options for follow-on work, possibly starting with the notion of a body shape (to help with more fully-formed NPCs).
[2:08-3:58] Work is now starting on performance profiling for Animesh to determine suitable limits (e.g. tri counts, LI, etc.) when Animesh goes live. This is regarded as being one of the last steps before the project moves to the main grid. As a part of this, Vir has been adding the ability to control the triangle count limits for Animesh objects on a per region basis. This will be used to set different limits on different regions for the Lab’s internal performance profiling, and a region with the capability will also be made available on Aditi for public testing, and details will be made available once the region is up and running.
Object Animations And Animating Animesh
[43:13-55:34] A convoluted enquiry requiring a feature request in order to be made clear, but appears to be a request to provide a means for object animations to override an Animesh object’s own animations. So, for example, an Animesh hamster could be placed into a treadmill, and the treadmill either override the hamster’s in-built animations (stored in the hamster object’s Contents tab of the build floater) and cause the hamster to run, in much the same way as in-world objects can override avatar animations.
Such a capability could offer additional flexibility for Animesh – if a creator brings out a new toy for a pet (e.g. the treadmill, above), a means by which the treadmill could override the pet’s behaviour would avoid the need to update the pet as well in order for it to make use of the new toy. It’s unlikely such a capability will be considered for this phase of Animesh; however, Vir has requested a feature request on the idea is filed, so it can be considered alongside other work in a future Animesh update. Hopefully, any feature request will avoid the use of pseudo technical terms such as “faux permission system” and “reverse animation system”, which initially caused some confusion when the idea was raised at the meeting.
In Brief
[4:00-8:10] Performance (FPS) issues when camming on Animesh: there has been a report of some mesh items causing drops in FPS rates when converted to Animesh, leading to choppy camera motion for some. Vir has been looking at one of the models in question, and believes the problem lies with the recalculation of attachment overrides, which can be excessive and even be carried out when there is no change in the object itself. Improving when and how the calculations are handled should hopefully resolve the problem, which can obviously be exacerbated through models having more joint positions defined. The fix, once implemented – hopefully in the next Animesh viewer – may help with other instances where there is a performance drop-offs when camming / zooming.
[8:51-10:55] LOD Drop: this is not considered an Animesh specific issue. Essentially, Animesh objects are being treated by the viewer as if they are avatars, and so get a similar boost in LODs, which needs to be tweaked.
[31:02-33:29] “Dropping” Animesh objects (i.e. allowing avatar to put pets, etc., down on the ground, without having to detach them back to inventory first, then rez them in-world): as per my 2018 week #1 CCUG meeting notes, this is still considered too big a piece of work to add to the Animesh project, as it requires changes to a variety of elements: land impact calculations, physics updates, etc. It could also result in forcing users to re-log should a No Copy pet be dropped and fail to rez in-world, in order for it to correctly register in their inventory again. However, such a capability for dropping mesh might be looked at again in the future.
Bakes on Mesh
Project Summary
Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads. The project is in two phases:
The current work to update the baking service to support 1024×1024 textures.
An intended follow-on project to actually support baking textures onto avatar mesh surfaces (and potentially other mesh objects as well). This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.
This work does not include normal or specular map support, as these are not part of the existing baking service.
Current Progress
[8:21-9:25] Anchor Linden is working on issues around getting the appearance service updates out. These include on problems specific to Animesh attachments. A setting is also being added which means that the texture resolution increase (to 1024×1024) isn’t applied by the baking service until there is a mesh surface requiring it. Work on adding further baking servers is also required to manage the compositing / baking load at 1024×1024. However, the updates are now available on Aditi.
[11:04-21:12] A further explanation as to what Bakes on Mesh is, born from expressed confusion over the term “baking” in terms of 3D rendering, and the fact that the current work only applies to meshes worn by avatars.
[21:22-26:00] Bakes on mesh for Animesh: this would be part of any “phase 2” work that follows-on from the initial work on Animesh, once Animesh objects have a formal inventory structure. This would be required in order for the baking service to be able to recognise and use textures with Animesh objects. Includes a discussion on how the baking service currently works.
Other Items
[1:14-2:03] Mesh uploads: recognising linkset object names: as mentioned in my previous update, when uploading mesh objects, only the name of the root item in a linkset is recognised, everything else is simply “object”, rather than carrying over any naming convention used when creating a model (e.g. “dog”, “dog_head”, “dog nose”, “dog_tail”, etc., or some variation of more useful naming). Various requests have been made to change this for consistency of item naming. The Lab has been looking into this, and a problem is that the server itself ignores any linkset object names outside of the root object. This means that preserving object names is more complex than had been hoped, although investigations on what might be done are ongoing.
[38:08-39:20] *JOKE**: comments on mirrors and raytacing: do not take seriously! An explanation is supplied.