SL project updates 30/1: server, viewer

Welcome to Somewhere, Salmson Isle; Inara Pey, July 2017, on Flickr Welcome to Somewhereblog post

Server Deployments Week #30

Please refer to the deployment notice for the week for latest updates and news.

  • There was no deployment / re-start of the Main (SLS) channel on Tuesday, July 25th, the Main (SLS), which remains on server maintenance package #17.07.11.327548.
    • This update includes a fix to allow DJ boards to work, however, any scripts which have not been updated to meet the new requirements may not work. for details, please refer to this forum thread.
  • On Wednesday, July 26th all three RC channels should be updated with the same new server maintenance package (#17.07.20.327788) comprising internal fixes.

SL Viewer

The Alex Ivy 64-bit viewer updated on Friday, July 21st to version 5.1.0.507412. Otherwise, all other viewers in the LL pipelines remain as:

  • Current Release version 5.0.6.326593, released on May 26, promoted June 20 – formerly the AssetHTTP RC viewer – overview
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Maintenance RC viewer updated to version 5.0.7.327250, dated July 19
    • Voice RC viewer, version 5.0.7.327253 dated June 23
  • Project viewers:
  • 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. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

In Brief

  • Snapshots to feed issues are believed to be a server issue, but currently no clear if they are being worked on
  • The Lab feels that overall feedback from the avatar rendering cost updates (“Jelly Dolls”) has been positive from users.
  • There will be no Simulator User Group Meeting on Tuesday, August 1st, 2017.

SL project updates week 29/2: Content Creation UG

Content Creation User Group Meeting, Hippotropolis Camp Fire Circle

The following notes are taken from the Content Creation User Group meeting, held on  Thursday, July 20th, 2017 at 13:00 SLT at the the Hippotropolis Camp Fire Circle. 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 steamed the meeting to You Tube, and his video is embedded at the end of this article. These notes present the meeting in terms of topics discussed, rather than a chronological breakdown of the meeting, so the provided time stamps may appear to be out of sequence in places. All time stamps are provided as links which will open the video in a separate browser tab, allowing the discussion to be heard in full.

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.

  • At this point in time, this is not about adding fully functional, avatar-like non-player characters (NPCs) to Second Life
  • 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
  • The project may be extended in the future.
  • It will involve both back-end and viewer-side changes, likely to encompass new LSL commands to trigger and stop animations (held in the object’s contents)
  • It will most likely include a new flag added to an existing rigged object type in order for the object to be given its own skeleton.

Current Status

[3:33- 4:29] Work is focused on getting right-click selections and wire frames to work correctly (e.g. when you right-click on a mesh, the object stops moving, the correct menu is displayed and the mesh is shown as a selected wire frame. All of this seems to be working well, and while Vir is still not in a position to give a time frame estimate of when a project viewer will appear, his feeling is that there are no major obstacles sitting in the way.

[13:24-16:54] Performance impact assessment: The work isn’t sufficiently advanced to carry out any kind of assessment on the impact multiple animated objects may have on simulator and viewer performance. Animated objects should not have as significant a cost as avatars tend to have, but it could get expensive with multiple rigged vertices being animated in a single location.

Vir’s view is that the relevant test will likely be how many joints are actively animated and rigged to, rather than just how many bones are in the scene, given that idle bones aren’t really going to impact anything. Until sress tests can be held and the figures refined, any cost / impact values assigned in a project viewer will be place holders, subject to change.

[43:50-58:00] Attaching animated objects to avatars / rigging prims or non-rigged mesh to skeleton bones:  A discussion encompassing BUG-134018 and attaching animated objects to avatars. Vir sees the problem with the latter as being primarily a performance question / costing issue (large numbers of objects with potentially no land impact be which influence performance).

Attaching avatars to animated objects (outside of sitting on them, as is done with vehicles, etc., currently) is seen as more complicated because the animated object is being controlled by a viewer-side skeleton about which the simulator has no notion, and so ideas of attachment points become vague, and questions open up on how things are tracked by the simulator, given there is no notion of agents associated with animated objects. This discussion also encompasses issues of attaching avatars to bones within animated objects, raising questions of parenting, animation synchronisation etc.

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. This may lead to a reduction in the complexity of mesh avatar bodies and heads.

Current Status

[4:32-4:39] Anchor Linden has been working on other projects recently, but the hope is he’ll be back working on bakes on mesh soon.

[5:40-6:19] Bakes on mesh should allow alphas / transparent textures to be used as they are with the system avatar at present: if an alpha / transparent channel is in a bake, it will place “holes” in the mesh just as they can be used to blank parts of the system avatar. However, once the bakes on mesh project has progressed far enough, this will requiring testing to confirm.

[58:27-58:48] There is no estimate on when a project viewer, etc., for bakes on mesh might appear.

Other Items

Increasing the Build / Mesh Import Size

[6:24-12:18] It was asked if the current upper limit imported objects could be increased so that very large items such as region-sized landscape / terrain models could be imported with having to break them into smaller segments.

There are currently no plans to make any increase in the size of prims / single mesh imports. It’s also unclear how massive objects might be affected by land impact. The latter include things like the overall area of the object, the amount of screen space it might occupy based on its dimensions, etc; so having one large piece of terrain could have an exponentially larger land impact than  using a number of smaller sized pieces to achieve the same result. Additional concerns include the increased risk of encroachment issues, etc., for very large objects.

JIRA feature requests outlining why an increase might be useful and the kind of use cases it could meet are invited.

Maya .ANIM Exporter

[17:39-18:28] Aura Linden continues to work on the .ANIM exporter for Maya (which she has been developing in her own time), and which she plans to make available as a open-source offering. There are also the pre-Bento (translations on mPelvis only) and post-Bento (translations on all bones) .BVH exporters available on the Bento testing page of the wiki.

In Brief

  • [18:59-19:42] Various requests were put forward to extend the mesh object physics types which can be specified at upload (e.g. cube, basic havok presets, etc.). Vir requested a JIRA be raised so it could be noted and as / if / when time allows, pain point could be looked at and perhaps improvements / changes to the uploader made.
    • [20:40-22:54] Discussion about a specific issue in uploading a model cat using the official viewer (which crashes) and Firestorm (which manages the upload).
  • [25:13-29:26] Discussion (primarily text) on dynamic mirrors STORM-2055 and water as a reflective surface.
  • [31:35-34:18] Discussion (primarily text) about BUG-134006 “Viewer code is not aligned to server code when calculating physics shape for thin objects”. This has been accepted by the Lab, but as it is seen as a conflict between the viewer and the server, no decision has been made on whether it should be a server-side or viewer fix. Firestorm have adopted a viewer-side fix, which will appear in the next release. The root of the problem appears to be changes made in the physics costings as a result of mesh being introduced. This is followed by a further conversation on the physics uploader, “custom pivot points, and issues through to 42:14.

SL project updates 29/1: server, viewer

Ash Falls, Picture Perfect; Inara Pey, July 2017, on Flickr Ash Fallsblog post

Server Deployments Week #29

Please refer to the deployment notice for the week for latest updates and news.

  • On Tuesday, July 18th, the Main (SLS) channel received a new server maintenance package, #17.07.11.327548, comprising the new server operating system update, which had been on test on the Magnum and Cake RC over the last couple of months.  This update should include an update to allow DJ boards to work, however, any scripts which have not been updated to meet the new requirements may not work
  • On Wednesday, July 19th the RC channels should be updated as follows:
    • BlueSteel and LeTigre received a new server maintenance package (#17.07.17.327657) containing internal fixes
    • Magnum should also received a new server maintenance package (#17.07.13.327620), also comprising internal fixes.

SL Viewer

The Maintenance RC viewer updated on Monday, July 17th to version 5.0.7.327587. All other viewer in the LL pipelines remain as per the end of week #28:

  • Current Release version 5.0.6.326593, released May 26th, promoted June 20th – formerly the AssetHTTP RC viewer – overview
  • Release channel cohorts:
    • Project Alex Ivy 64-bit viewer version 5.1.0.507006 dated on June 30th
    • Voice RC viewer, version 5.0.7.327253 dated June 23rd.
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847 dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

Firestorm 4.7.7 will be blocked on July 19th, so users on that version will need to update before then. Why Firestorm blocks older versions.

SL project updates week 28/2: Content Creation UG

Content Creation User Group Meeting, Hippotropolis Camp Fire Circle

The following notes are taken from the Content Creation User Group meeting, held on  Thursday, July 13th, 2017 at 13:00 SLT at the the Hippotropolis Camp Fire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.

Audio extracts are provided where relevant. Note that this article is organised (as far as possible) by topic, and does not necessarily reflect the chronological order in which items were discussed. Medhue Simoni live steamed the meeting to You Tube, and his video is embedded at the end of this article. Time stamps in the text refer to that recording, and will open the video at the relevant point in a separate browser tab for ease of reference.

Note that the region crashed at around 56 minutes into the meeting.

Animated Objects

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.

  • At this point in time, this is not about adding fully functional, avatar-like non-player characters (NPCs) to Second Life
  • 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
  • The project may be extended in the future.
  • It will involve both back-end and viewer-side changes, likely to encompass new LSL commands to trigger and stop animations (held in the object’s contents)
  • It will most likely include a new flag added to an existing rigged object type in order for the object to be given its own skeleton.

Recent Progress

  • [1:50] The issue with current viewers crashing when used on a region where the server-side support for animated mesh has been enabled (due to the viewer receiving unrecognised messages from the simulator) appears to have been resolved.
  • Vir is working on ways to get a good match between the object position in-world and the skeleton position, and this will likely be the subject of a future meeting discussion.
  • [6:30] As animated objects are set using a flag, any that are modifiable will be switchable as animated or not by users.
  • [17:20] There currently isn’t any documentation on animated objects, but hopefully by the time the project viewer appears, information will be made available on what animated objects can do, how they can be used, etc., together with some test files.
  • [29:16] There is still no date on when a project viewer is liable to appear.
  • [52:58] A reminder that the current project isn’t intended to solve for all potential uses of animated mesh; things like “full” NPCs utilising their own avatar-like inventory for bakes, etc., support of attachment points for non-rigged objects, etc, are seen as more ambitious, and thus follow-ons.

Attaching Avatars and Animated Objects To One Another

[9:34 and 1:02:12] This follows on from the last meeting. No decision has been made on whether or not it will be implemented as an initial part of the animated mesh project, as it involves several complications (such as defining some kind of skeletal hierarchy to differentiate between avatar skeleton and animated object skeleton). Vir’s thinking is perhaps to push to get a project viewer out without any such capability, and use that as a means to generate feedback on what people would like to see and how they think it might work.

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. This may lead to a reduction in the complexity of mesh avatar bodies and heads.

Recent Progress

[2:59]  Anchor linden is continuing to make progress on this work. It seems the update to support 1024×1024 textures is now complete (or pretty much so), as Vir indicated that the next step is performance testing the baking service in handling 1024×1024 bakes.

[5:53] The updated system should allow textures of different sizes (512×512 and 1024×1024) to me mixed and correctly composited, but testing will be required to confirm this.

[7:30] The mechanics of how bakes are to be applied to meshes is still being worked out. Vir’s thinking it will be another editable property which can be used with meshes to determine which face(s) on the mesh use the baked textures.

Supplemental Animations

Project Summary

To provide server-side support for running multiple animations without them clashing (e.g. wings flapping without interfering with walking).

Status

No progress thus far. Once the animated objects project viewer is available, supplemental animations will likely get some attention.

Other Items

Limits

[11:23-21:25Removing the 5m bone translation limit: A question was asked about removing the 5m bone translation limit from its origin to allow for really, really large avatars. The belief behind the question being that this was a recent change which now prevents translations greater than 5m where previously they code be encoded and uploaded.

This lead to a lengthy discussion which encapsulated the idea that the limit appears be deeply embedded in the animation system, and has has always been there; disputes on whether or not it was possible using .ANIM files rather than .BVH, suggestions that an earlier version of the .ANIM format (v.0 – although long dead) may have allowed it, etc.

Vir’s stated belief is that the limit is too deeply embedded in the animation system to have ever been different, although he acknowledged that as the Lab has tightened a range of limits to ensure they are properly observed by the system, it is possible that the limit is now being more rigorously enforced. Either way the limit is unlikely to change. It was also pointed out that rotation, joint position, and scaling the mPelvis bone up are all means by which larger avatar models could be produced.

The core voice comments from Vir are below, please refer to the video for the full conversation – which was also partially text-based.

[22:38 and 31:12] Increasing the animation limit: this has previously come up for discussion. Currently, SL should support up to 64 concurrent animation motions playing at one time per agent (e.g. walks, arm swings, wing flaps, tail swishes, etc.). However, how many can be reliably played at any one time without encountering problems might be lower. A request to increase the limit was made on the basis of then allowing LSL-based description of join positions which could be translated into animations, to allow improved scripted locomotion of NPCs.

[+/-35:45 onwards] Pivot point support and improved IK support: There is a largely text-based discussion on pivot point support for mesh and improved Inverse Kinematics (IK) support  / targeting to allow for better interactions between avatars and avatars and objects (e.g. with IK, being able to have avatar hold hands, “grip” a ladder and climb it, etc). Pivot points would allow improved rotations (doors swinging at the hinge, for example) – although it was pointed out that animated mesh could achieve the same goals.

This conversation touches on having custom / arbitrary skeletons in Second Life – although as Medhue Simoni has pointed out, the Bento skeleton already allows for a fairly wide range of “custom” quadruped and biped skeleton forms to be created. As it is, arbitrary skeletons are not something the Lab will be tackling in the near future.

SL project updates 28/1: server, viewer, misc

Gale Storm Retreat, Aphrodisia Isle; Inara Pey, June 2017, on Flickr Gale Storm Retreatblog post

Server Deployments Week #28

This week’s deployment notice was thrown into disarray due to an 11th hour hitch in deployment plans.

Main (SLS) Channel

The planned deployment to the Main (SLS) channel did not go ahead on Tuesday, July 11th, which would have seen it receive the new server operating system update, which had been on test on the Magnum and Cake RC over the last couple of months. Instead the channel remains on simulator version #17.06.12.327066, originally deployed on June 20th. As the channel was restarted in week #27 there was also not rolling restart.

Commenting on the pulled deployment at the Simulator User Group meeting on Tuesday, July 11th, Simon Linden said:

[It] got cancelled due to finding a last-minute bug. We’re scrambling to get that fixed and hopefully back in the RC servers tomorrow. It was [an issue] with other back-end services … it wasn’t managing connections the same way as before and thus they were getting overloaded.

When asked if it was a little ambitious deploying a major update directly from one RC to the Main channel without expanding it through the remaining RCs first, he said, “It’s a tough call, actually … how cautious to go in increasing releases like that. At some point it’s just best to get it out and see what happens. We have spent a bunch of time trying to decide the best route. That release has been frustrating how long it’s taken to uncover some problems, so more exposure is better, I think.”

RC Channels

There will be no deployment to either the BlueSteel or LeTigre RCs on Wednesday, July 12th. They will remain on simulator version #17.06.23.327344. This contains internal fixes, and an update to the week #25 deployment (#17.06.19.327206). As there was no deployment to these channels in week #27, they should receive a rolling restart.

The Magnum RC will receive an update to the operating system upgrade package on Wednesday, July 12th. Simulator version #17.07.11.327548 should contain a fix for the issue Simon noted above.

SL Viewer

No changes to the SL viewer pipelines, which remain as follows:

  • Current Release version 5.0.6.326593, dated May 26th, promoted June 20 – formerly the AssetHTTP RC viewer – overview
  • Release channel cohorts:
    • Project Alex Ivy 64-bit viewer version 5.1.0.507006 dated on June 30th
    • Maintenance RC viewer version 5.0.7.327250 dated on June 22nd
    • Voice RC viewer, version 5.0.7.327253 dated June 23rd
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847 dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

Simon Linden: 10 years in Second Life

Simon Reaches Ten

Simon Linden celebrated his the tenth anniversary of his rezday on Tuesday, July 11th. If he held a party, I wasn’t invited 😦  (joking!).

On a more serious note, a repeated Happy Rezday to Simon, who said of the occasion, “I wanted to give a big thanks to everyone for making this a really awesome fun place to work. I’m hoping for many more … or early retirement! :).”

Environment Enhancement Project (EEP)

Rider Linden hasn’t been able to progress the new Windlight environment enhancement due to a combination of working on other things and being on vacation.

Feature Request: llGetObjectDetails() constant OBJECT_CREATION_KEY

This feature request – BUG-100487 – formed the backbone of the Simulator UG meeting on Tuesday, July 11th. It comes of the back of a multiple feature request (BUG-9666), although the other two items requested in that JIRA are seen as potential abuse vectors, and unlikely to be adopted.

The ability to have an non-changeable object creation key could have significant benefits, as outlined in the JIRA. Currently, the JIRA has been accepted by the Lab – meaning the idea is of interest to them, but does not necessarily mean it will be implemented.

SL project updates 27/3: TPV Developer meeting and JIRA

Stony Hill Vineyard, Stony Hill; Inara Pey, June 2017, on Flickr Stony Hill Vineyardblog post

Friday, July 7th saw a truncated TPV Developer meeting take place in lieu of the planned meeting for Friday, June 30th. As always, the video of the meeting is embedded at the end of this report, and my thanks to North for recording and providing it. Timestamps in the text below refer to that video, and will run the video from that point in a separate browser tab.

SL Viewers

[3:30] The Alex Ivy 64-bit release candidate viewer (version 5.1.0.507006 at the time of writing) is due to be updated in week #28 (commencing Monday, July 10th). The viewer is liable to receive further updates prior to any promotion to release status, as the Lab further refines the Windows SL Launcher.

As previously noted in these pages, the launcher is designed to detect which version of the viewer a Windows system can run. If it detects the system can run the 64-bit version of the viewer, it downloads and installs that, if not, it defaults to downloading the 32-bit version. An upcoming update to the viewer will include a debug setting to override this and force one or other version to be downloaded and installed (obviously, this will not work trying to run the 64-bit viewer on 32-bit Windows, but will allow the 32 viewer to be run on 64-bit Windows).

Crash rates for the viewer are elevated, but the Lab suspects this is down to the number of 32-bit versions being run.

[5:35] This leaves the current viewer pipelines as:

  • Current Release version 5.0.6.326593, released on May 26th, promoted June 20th – formerly the AssetHTTP RC viewer – overview
  • Release channel cohorts:
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847 dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

The 360 snapshot viewer should be updated with some fixes “soon”.

Server Updates

[6:05] The simulator version using the new Linux operating system update, currently deployed to the Magnum RC channel (server version 17#17.06.29.327400) should be promoted to the Main (SLS) channel on Tuesday, July 11th.

[12:07] This simulator version also includes the fix for DJ boards (see BUG-10073). Some people may need to update their board scripts.

JIRA Temporarily Closed to Comments

The Second Life JIRA has been temporarily closed to comments, because: idiots. Or to allow the Lab to explain it:

Recently, our bug reporting system (Jira) was hit with some spam reports and inappropriate comments, including offensive language and attempts at impersonating Lindens. The Jira system can email bug reporters when new comments are added to their reports, and so unfortunately the inappropriate comments also ended up in some Residents’ inboxes.

We have cleaned up these messages, and continue to investigate ways to prevent this kind of spam in the future. We appreciate your understanding as we work to manage an open forum and mitigate incidents like this.

In the short-term, we have disabled some commenting features to prevent this from recurring. This means that you will not be able to comment on Jiras created by other Residents. We apologize for this inconvenience as we look into long-term solutions to help prevent this type of event from occurring.

Other Items

  • The next Firestorm release is liable to be in September
  • [8:51] The Lab is looking at turning off the remaining UDP messaging for asset delivery on the servers in February 2018, although this is TBC. This means that viewers not running the latest HTTP updates will not be able to receive any asset data.
  • [17:41] The next scheduled TPV Developer meeting is Friday, July 28th