There was no deployment on the Main (SLS) channel on Tuesday, November 28th, leaving servers running simulator version 17#17.11.11.510664.
On Wednesday, November 29th, the three RC channels should be updated with a new server maintenance package 17#17.11.17.510835, comprising:
IMs sent to an off-line resident will only be sent to verified email addresses.
Internal Changes to Outgoing Emails.
E-mail Verification
The RC server deployment sees a further step in the Lab’s plan to reduce the volume of e-mail traffic it generates by only sending e-mails to those addresses Second Life users have actually verified as being valid with Linden Lab (see Making Email From Second Life (More) Reliable).
With this deployment, and if you have not verified your preferred SL-related e-mail address with Linden Lab, you will no longer receive off-line IMs as e-mails sent from users on any regions using the RC channels. Further, once this change is deployed to the Main (SLS) channel, you will no longer receive off-line IMs as e-mails at all until such time as you have verified your SL-related e-mail address with the Lab.
So, if you haven’t already done so, ad wish to continue receiving off-line IMs as e-mails from wherever they originate in-world, make sure you have verified the e-mail address recorded in your viewer with Linden Lab. Should you require detailed instructions on how to do this, please refer to my blog post Important: verifying your e-mail address with Second life.
SL Viewer
There have been no SL viewer updates thus far, leaving the current viewer pipelines as follows:
Current Release version 5.0.8.329115, dated September 22, promoted October 13 – formerly the “Moonshine” Maintenance RC.
Release channel cohorts:
Martini Maintenance RC viewer, version 5.0.9.329906 November 17th.
Alex Ivy 64-bit viewer, version 5.1.0.510354, November 2nd (still dated Sept 5th on the wiki page).
Voice RC viewer, version 5.0.8.328552, October 20 (still dated Sept 1 on the wiki page).
Project viewers:
Project Render Viewer version 5.1.0.510604, dated November 14th
On Tuesday, November 21st the Main (SLS) channel was updated with server maintenance package #17.11.11.510664, previously deployed to the RC channels. This comprises internal fixes and a user-visible fix for BUG-139176, “Issue with OBJECT_REZZER_KEY reporting incorrectly after linking and delinking prims.”
There will be no deployment to the RC channels on Wednesday, November 22nd, also leaving them on server maintenance package #17.11.11.510664.
SL Viewer
Current Release version 5.0.8.329115, dated September 22, promoted October 13 – formerly the “Moonshine” Maintenance RC.
Obsolete platform viewer version 3.7.28.300847, dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.
No Copy Exploits
One area of concern / upset for content creators has been the use of server exploits to generate copies of No-Copy items. While a long-standing problem, the issue has gained a lot more coverage of late due to the frequency with people have been using various exploits to illegal copy and then sell gacha items.
It is also a problem the Lab has been very aware of, and in my SL project update from week #43 (October 24th, 2017), a set of server-side updates were deployed grid wide in an attempt to address some of these problems – and work is continuing to address more of them.
However, the work does take time, and some creators are feeling frustration with the time being taken, and responses to things like Abuse Reports (which can take time to investigate). On the technical front, and speaking at the Simulator User Group on Tuesday, November 21st, Simon Linden said:
I know you all want more info and details but I’m sorry that I just can’t get into what’s been done, what’s going on now or the future. I can say, however, that we really take it seriously and are actively working on the problem. Please do keep filing the reports with any info you have. I know support tickets don’t give much feedback on what’s going on, but these are taken seriously.
To which Oz Linden added:
Other considerations aside, it would be difficult to talk about details without giving hints about what we do and don’t know about what bad guys are up to. We know quite a lot, and are working hard on it, but there’s no reason to leak information we don’t need to.
So, to repeat Simon’s comments, if a creator notices that their items have been exploited, a JIRA Bug report an / or an Abuse Report should be raised.
On Tuesday, November 14th, 2017, the Alchemy viewer updated to version 5.0.7.41341. The majority of the update appears to address issues and bug fixes, with the high-level summary in the release notes given as:
Re-Enabled HTTP Pipelining.
Fixes to IME for Japanese language input.
Numerous fixes to crashes and various other bugs.
Please refer to the release notes for a table of fixes.
The two significant updates to the viewer take the form of a revised Graphics tab in Preferences, and the adoption of the hypergrid currency extensions.
Graphics Preferences Update
This updates reverts Alchemy to displaying the Advanced graphics options within the Graphics tab of Preferences, rather than breaking them out to a separate floater, as per the official viewer. It also re-introduces the sub-tabs for General, Hardware, Lighting and Depth of Field, all of which makes the graphics option less screen real estate consuming.
Alchemy 5.0.7 does away with splitting the Advanced graphics options into a separate floater, as per the 5.0.6 release (l) & the official viewer, and instead re-integrates them into the main Preferences > Graphics tab (r), with sub tabs to logically split options.
Hypergrid Currency Extensions
Currently, if an OpenSim user log-in to one grid and then hypergrids to another, the currency symbol (displayed in the top-right of the viewer window) do not update to the new grid. With this extension, the currency symbol will be automatically updated, and the currency helper-uri should also update. Thus, the buy currency / insufficient-funds / buy land processes should all continue to work correctly, and without the need for the user to manually update the grid info in their viewer and without any need to have specific currency.php, landtool.php files or an xml-rpc server.
The extension has been developed by Chris Colosi, founder and CEO of Gloebit, a multi-platform digital currency web service which has been adopted by a number of OpenSim grids (see here for a list of Gloebit partners). It was contributed as a patch for the Firestorm viewer in October (with the assistance of Ansariel Hiller from Firestorm), and is being adopted by both Alchemy and (hopefully) Singularity. Colosi was, from November 2010 through September 2011, the Monetisation Manager at Linden Lab, responsible for the Linden Dollar virtual currency product. In 2011 he left Linden Lab to set-up Gloebit, and you can read more about the extension via his article on Medium, posted on September 26th, 2017.
Feedback
I’ve not had the time to drive this release hard, but it appears stable and didn’t give me any significant issues when playing with it over the last several days. The graphics panel update is appreciated – I’ve always tended to find the Advanced Graphics break-out panel in the official viewer a waste of screen real estate which offers few, if any, advantages for users. I don’t really drop into OpenSim any more, so cannot comment on the currency extensions capability, other than it appears to be a good and useful feature to have.
Logos representative only and should not be seen as an endorsement / preference / recommendation
Updates for the week ending Sunday, November 19th
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.8.329115, dated September 22nd, promoted October 13th – formerly the “Moonshine” Maintenance RC – no change.
Cool VL viewer Stable branch updated to version 1.26.20.37 and the Experimental Branch (Animesh) updated to version 1.26.21.3, both on November 18th (change log)
The following notes are taken from the TPV Developer meeting held on Friday, November 17th 2017. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it.
SL Viewer
[0:50-2:22] The Alex Ivy 64-bit RC viewer, version 5.1.0.510354, has been holding up “really well” in its release cohort, although there is a start-up / benchmark crash the Lab has had difficulty reproducing, but for which they now believe they can fix in the next update, which should appear after the US Thanksgiving break (Thursday November 23rd – Sunday November 26th, 2017). If the crash is shown to be fixed, then the viewer should hopefully be in a position to move to release status in December.
[2:25-2:43] Vixox is still working on a race condition in the Voice RC viewer, version 5.0.8.328552 at the time of writing, and the Lab is hoping for an update on that either in parallel with or shortly after the Alex Ivy update.
[2:46-2:59] The current “Martini” Maintenance RC viewer updated to version 5.0.9.329906 on Friday, November 17th.
[3:00-3:28] An update to the 360 snapshot project viewer, version 5.1.0.506743 at the time of writing, is in progress, which should greatly improve image quality. If possible, this update might appear ahead of the US Thanksgiving break.
Rendering Project Viewer
[5:15-5:52] A new project viewer – Project Render, version 5.1.0.510604, dated November 14th, 2017, is available for Windows (32-bit and 64-bit) and Mac OS X. This viewer includes several fixes to the Rendering pipeline, and comes with a request that all issues are reported via JIRA.
The viewer is now built from the Alex Ivy (64-bit) branch (hence no Linux version), and all known issues for the Alex Ivy Viewer apply to it. It is intended to provide / address:
Improvement to mesh LOD calculation (account for CTRL+0).
Agents that render as jelly dolls should have their attachments render at 0 LoD to prevent loading higher LoD complexity in memory thus deterring crashes -> debug setting RenderAutoMuteByteLimit has to be > default of 0 for this feature.
Bug: Mesh avatar deforms constantly – was due to bounding box / LOD swaps.
Bug: Some mesh turned invisible when camera is moved – was caused by fix for MAINT-6125.
Bug: Setting one avatar to “Do not render” causes all avatars to become impostors.
Viewer Development Focus
Linux Viewer
[3:32-4:52 and 15:28-15:46] Currently, the Lab is aiming to get 32-bit and 64-bit Windows builds on the current viewers, together with 64-bit only Mac builds.
Once this has been done, the Lab will try again to get a 64-bit Linux build of the viewer, with the overall goal being to change the Linux build over to a Debian package without the additional libraries, allowing TPVs to add the dependencies they require for their flavour of Linux build. However, the Lab will be looking for help from TPVs and open-source developers in getting this done.
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 look to the Linux community for fixes.
General Focus
[10:10-14:35] In general, the Lab will be focusing more on current hardware (see resource usage tools, below) and operating systems over older / outdated hardware and operating system flavours. So for Windows, for example, while the Lab is not dropping support for 32-bit systems, the recommendation is that those who can upgrade to support Windows 64-bit (and particularly Windows 10 64-bit) should do so. If nothing else, this should substantially reduce viewer crash rates, particularly when used 64-bit versions of the viewer (e.g. fewer out-of-memory crashes).
Resource Usage tools
Note the following elements are discussed between 6:16-10:08 and then from 19:52-49:10.
VRAM and Texture Information
Chalice Yao has proposed a feature to the Firestorm team to allow users better understand the resources they are using, both through their avatar’s VRAM usage and the VRAM (triangles and vertices) for any selected object (see FIRE-21793).
Demonstration images (via FIRE-21793 / Arcane Portal) showing the proposed texture VRAM resource usage information on both a full avatar on the left and a specific attachment (Catwa head), on the right
Textures are a significant issue because of the widespread use of 1024×1024 textures on multiple faces of items at 4 MB a texture, whether needed or not (do buttons on a jacket really need 102×1024 textures?). This can lead to avatars using VRAM in the gigabyte ranges – simply because there is no incentive in place for creators to optimise their use of textures. so, offering a means by which users can see and understand their resource usage might encourage creators to start thinking in terms of optimising their use of the textures.
Overall, Oz is in favour of the idea, noting that it could be a good fit with the Lab’s own work in trying to make the render cost calculations for avatars and objects more accurate (allowing for the variances in handling information inherent within different types of graphics cards with different capabilities one to another). In addition, the Lab has been working on an experimental viewer which radically re-organises the texture cache to make it simpler, but this has yet to work (this includes the previously mentioned idea of storing textures already decoded).
The discussion (a fair part of which is in text) also covers the upcoming Bakes on Mesh work (see my CCUG meeting notes), the benefits of supplying users with pertinent information vs. the problems of witch-hunts, providing the means for people to be better educated and to make more informed decisions, how any additional information should be displayed etc.
Hide All Objects Outside of A Parcel
BUG-5671 outlines another idea related to data handling / viewer resource usage: offering parcel owners a setting that would effectively prevent the simulator from downloading information about objects outside of their own parcel. This would reduce simulator load, bandwidth use and mean the viewer doesn’t have to manage object data and rendering for items the parcel owner doesn’t want to see when with their parcel (although it also means their view would be reduced to looked out over “empty” land).
The feature request has been accepted by the Lab – but when or how it, or something like it, may be implemented – if it is implemented at all – has yet to be considered.
BUG-5671 another demonstration of the important difference between a JIRA being Accepted compared with being implemented. JIRAs can be Accepted for a number of reasons, but does not automatically mean it will be implemented. Reasons JIRAs might be Accepted include: it explain an issue the Lab may want to address at some point; or because it might offer a means to resolve part of a larger issue or group of issues the Lab might want to address, again at some point in the future.
RenderVolumeLODFactor
Mixed with the above discussions (again in text) is a debate on RendeVolumeLODFactor settings, with some viewers (e.g. Firestorm) defaulting to higher values than the official viewer, and the impact this may (or may not have) on content creators.
Certainly, high-end LOD settings are detrimental to viewer performance, but whether enforcing a lower LOD setting would encourage content creators to optimise their designs is questionable: “recommendations” for very high LOD settings (often much higher than the defaults used by any viewer) have been a factor in content creation for a very long time, with some creators even foregoing the use of lower LOD models (so it because an “all or nothing ” approach). As such, a more effective means of preventing this might be to penalise creators who fail to provide proper medium and low LOD versions of their creations, something the Lab is considering.
This conversation (largely in text) continues on to alpha blending / masking, etc.
The following notes are taken from the Content Creation User Group meeting, held on Thursday, November 16th, 2017 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. Time stamps in the body text will open the video in a separate tab for ease of reference to the relevant parts of the text. However as these notes present the meeting in terms of topics discussed, rather than a chronological breakdown of the meeting, so some time stamps may appear to be out of sequence.
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).
[0:46-2:53] The proposed scripted mod key capability to allow attachments to be made to No Mo Animesh characters has now been determined to be a much more extensive piece of work than originally thought, and so will not be implemented as a part of the initial Animesh project.
However, the Lab will be tackling it as a project in its own right “some time in the future”.
Remaining Bugs / Remaining Items
[3:32-4:55] The list of remaining bugs/ items to be looked at is summarised as:
A couple of crash bugs in the viewer to be fixed. These are related to switching between the animated and non-animated states with an Animesh object.
Code optimizations need to be completed and the Animesh code in general requires some clean-up.
LOD rendering issues on Animesh objects needs to be fixed.
Animesh imposting needs to be fixed.
Left-clicking on rigged mesh doesn’t work well, and this applies to Animesh objects as well (right-click Touch should work), so needs to be addressed.
Performance analysis needs to be carried out to determine necessary / best adjustments to costs / limitations (LI, tri count, complexity).
[4:56-5:45] Baking service updates: there is a couple of bugs in the baking service Anchor Linden is currently investigating, and which need to be resolved for Animesh. One of these can cause incorrect adjustments to be made to an avatar’s height calculation when an Animesh object is attached.
Any other issues people have noted not already filed via the JIRA (see the link to the JIRA filter, above), should be filed as bug reports ASAP.
Costs and Limits
[7:30-8:25] One of the reasons limits need to be examined is that currently, is that LI calculations are based on an object’s scale, whereas the LOD is effectively based on the rigged scale, potentially allowing the cost of the objects to be gamed between the two. This is in part the reason why the Lab has opted for tri counts being a limit with Animesh. However, Vir would like to get a fix in to prevent this kind of gaming; the problem here being the potential for breaking existing content.
[8:25-9:19] Testing will hopefully allows the cost of Animesh objects to be more defined by their complexity than on a fixed land cost, which will be a much smaller component in the overall limits than currently the case 200 LI), and will likely be a “base” LI based on the impact of the avatar skeleton.
[9:39-10:14] The eventual cost might be a combination of a base land impact and a complexity multiplier, although there are issues here with rigged objects being treated as unrigged when calculating rendering costs, which needs to be addressed.
[10:21-10:52] Vir is wary of making too many changes on impact / cost calculations just for Animesh, as there is a broader project to improve complexity cost calculations in general, which is currently on hold pending the introduction of Animesh.
[41:31-43:28] tri count vs Land Impact: in line with the above, Vir is not convinced that “just letting the Land Impact” determine if an Animesh can be rezzed is viable, as has been suggested. There are sufficient issues with the current avatar complexity calculations that, when fixed, could mean that even if a tri count is discounted as a direct Animesh constraint, avatar models converted to Animesh would still be prohibitively expensive from a complexity standpoint.
[43:47-45:16] As with mesh currently, Animesh will not bypass the accounting system if made temp-on-rez.
[45:23-54:50] More discussion on limits / costs, the need for testing, and on the Lab’s approach to preferring to apply costs over limits and the ability for users to determine what they see (as with avatar complexity / Jellydolls), balanced by a desire to get people to think more in terms of optimising their content. Part of the tension with limits / costs seems to be creators are unwilling to develop content, push at the current (arbitrary limits), etc., out of concern that the effort spent building and testing could be wasted / the Lab is hoping people will build, test (and even break) things (including the viewer) so a more accurate assessment of limits can be made prior to release, with the option of making further adjustments further down the road, if necessary.
[54:53-56:11] Would it be possible to have different tri count limits for worn Animesh vs rezzed Animesh – higher for the former compared to the latter? Possibly, but tricky.
Animesh as a Build Floater Option Discussion
[19:28-40:00] A lengthy discussion on having Animesh a toggle feature in the Build floater, rather than something set on upload, and how that might discourage makers of modifiable avatars from producing “Animesh versions” because users could in theory get a set of suitable scripts and animations and attempt to use them with the versions they already have.
The discussion is lengthy, and involves numerous issues, including the extent to which users trying to convert things themselves over buying a “dedicated” Animesh creation (would scripts and animations intended to animate an elephant really work that well in a tiger, for example?); creators’ rights vs. users’ rights with mod items; the decision process behind making the Animesh option a Build floater tool (e.g. it is in keeping with the permissions system – if an item if modifiable, it should include converting it to Animesh, if appropriate; it could help speed the adoption of Animesh – creators could release kits to convert their existing products, rather than entire new products, etc). The overall consensus appears to be having the option in the Build floater is better than trying to restrict it.
Animesh Sitting
[56:28-56:58] As discussed in past meetings, Animesh bodies will not be able to sit in the same manner as an avatar (by being made a child of the object on which it is sitting). Animesh should be able to adopt a sitting animation it contains, like a ground sit, however). The latter obviously won’t give the same flexibility as the former.
Bakes on Mesh
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.
[11:47-12:55] Again, this is a separate project to Animesh, and neither is contingent upon the other. However, using bakes on mesh with Animesh objects will likely come after any follow-on Animesh project to the current work, as Animesh objects will require some notion of an avatar shape to work with the baking service.
[12:56-14:22] There are no plans at present to offer LSL functions or a script API for bakes on mesh, due to the complexities of the baking service. If such a capability is seen as needed, a feature request JIRA explaining why and the benefits should be submitted.
[16:35-19:12] The goal is to have the baking service work in such a way that creators can use the Appearance floater to assign the use of baked textures to object faces which correctly correspond to the different avatar elements (so for example, an upper body composite texture is correctly applied to the upper body faces on a mesh avatar). Once this has been set, users selecting the clothing layer would then see it correctly applied to their avatar in the same way as clothing layers are applied to the system avatar.
Next Meeting
The next CCUG meeting will be on Thursday, November 30th (week #48), due to week #47 being US Thanksgiving week, and the Lab taking a holiday break on Thursday, November 23rd / Friday November 24th.