SL project updates: week 49 (3): Fitted Mesh, AIS v3, Oculus Rift and more

The following notes are taken from the TPV Developer meeting held on Friday December 6th. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each heading (where given) denote the time stamp at which the topic can be listened-to in the video.

TPV Developer meeting (stock)
TPV Developer meeting (stock)

Release Channel Viewers

Name Updater Release Candidate

[00:17-01:40]

The Name Updater RC viewer, also released on December 3rd, has been updated to version 3.6.12.284506. This contains no functional changes to the viewer itself but contains two sets updates, hence the odd name.

The first of these is a fix for the viewer updater where problems can occur if a new update to the viewer is downloaded by the updater but deleted somehow prior to  the installer itself being executed. The second set of updates cover:

  • Changes to how the viewer packaging is done and cleans-up how the viewer channel (used to recognise the viewer and allow it to connect to the SL servers when logging-in) is distributed and established
  • Makes some changes to the viewer start-up parameters
  • Changes the package names to a uniform format which is the same for all of the operating system platforms.

The aim of these changes is to further improve the viewer build process and reduce the number of places changes have to be made in order to change the viewer channel name when building different flavours of the viewer (LL’s own or a TPV).

The RC has been performing well in terms of low crash rates, etc., and looks set to be promoted to the de facto release viewer in week 50 (week commencing Monday 9th December), and so will see-out 2013 as such if this is in fact the case.

Google Breakpad

It is possible a further Google Breakpad RC may appear in week 50.

Maintenance Release Candidate

[02:00-02:16]

The Maintenance RC viewer 3.6.12.284430, released on December 3rd  suffered an abnormally high crash rate, prompting it to be withdrawn in order for it to be looked at and crash issues diagnosed / fixed. Once these issues have been dealt with, the viewer will be returned to the release pipe.

Project Interesting Viewer

[39:24-41:07]

The Project Interesting (aka “viewer-interesting”) RC viewer has been in RC for a while and is suffering a high number of crashes, which are currently being investigated by the Lab. Unlike the Maintenance RC viewer, it has been left as an RC simply because issues are being found with it, because of both the number of people using it and the broad range of systems on which it is being run and which the Lab couldn’t possibly account for in their own testing.

At the moment, the Lab are trying to put together an update for the viewer, but they still have a couple of “pretty serious” crash issues which have yet to be resolved. However, the hope is that this may actually make it out into the world before the no change / code freeze window comes into force  on Monday December 16th, which affects all server releases and all viewer release channel releases. This would allow the updates made to get further “in the field” testing during the code freeze / holiday period.

That both the Project Interesting and Maintenance RCs are experiencing issues is something of a validation of the new viewer release process introduced by the Lab earlier this year, in that the problems being encountered with both of these viewers are not blocking the viewer pipe, unlike the situation of just over a year ago, where a series of crash issues with the old beta viewer completely halted all significant viewer updates.

Fitted Mesh Project Viewer

[02:20-03:16 / 32:05-39:20]

As noted in part 2 of this week’s report, the Fitted Mesh project viewer received a set of updates (including new avatar skeleton files) in the form of release 3.6.12.284458. The project viewer has so far received a very low number of downloads – somewhat unsurprisingly – with the total number of people using the viewer thought to be under 2,000. This means that it hasn’t as yet been used widely enough to generate meaningful crash statistics.

The response to the skeleton changes within the viewer has been “good”, and the viewer has seen a reasonable number of JIRA issues raised under the FITMESH project, etc., although the Lab cautions against anyone using the changes contained in the viewer in anything other than an experimental version of their own viewer until such time as the code reaches a Release Candidate status. The latter will not happen before the end of 2013, although there may be a further project viewer update for Fitted Mesh before the end of the year.

One thing which may happen when the viewer is approaching a release status is that it will bring with it a “significant bump” to the viewer version number, not the least of which is because users on viewers without the code may see some bizarre, or at least oddly fitting clothing on avatars using garments weighted to use the new system, as noted in my launch preview of the Fitted Mesh project.

Overall, it appears that the Lab is “pretty happy” with the way the work is developing, although they would like to see more people involved in using / testing the viewer, particularly anyone proficient in rigging mesh garments, etc, especially given the nature and state of the project, as Oz Linden pointed-out:

This is one of those times when things are in flux and can be changed… We have never made changes to the avatar skeleton casually, and we’re making a round of changes now; we’re wildly unlikely to make another round of changes for years. So if there is feedback to be had, this is the time to have it.

So if you are a creator and do have an opinion on how things might be better handled within the Fitted Mesh solution, now is the time to be involved and potentially influencing the Lab’s thinking. not every idea put forward may be taken-up; but on the other hand, waiting until the changes have been made and the viewer released will certainly mean that any ideas someone may have will have passed their sell-by date.

The Delay in Opting for this Solution

Part of the general feedback voiced when the Lab announced the Fitted Mesh viewer came in the form of questioning why it took the Lab so long to reach the decision to go with the approach. Part of the reason appears to be that mesh deformation and Server-side Appearance projects required the same expertise with the Lab to be applied to them, and so were vying with one another for manpower – and the decision was made to give the SSA project priority.

Oculus Rift Update

[24:46-26:26]

During the Server Beta meeting on Thursday December 5th, VoidPointer Linden indicated the work on making the viewer operate with the Oculus Rift headset was now “feature complete”, and that a (presumably project) viewer will be appearing “soon” with support for the headset. How soon is open to question, given VoidPointer had to be somewhat circumspect. However, following the TPV developer meeting, it appears that “soon” might actually be a little more in the realm of “later” than may be the case.

Oculus Rift viewer: "soon" probably not as close as either
Oculus Rift viewer: “soon” probably not as close as either “real soon (TM)” or “pretty soon (TM)”!

Continue reading “SL project updates: week 49 (3): Fitted Mesh, AIS v3, Oculus Rift and more”

SL projects update: week 49 (2): Oculus Rift Support “soon”

Maestro Linden (foreground) leads the Server Beta meeting. The colony of bats to his left is Voidpointer Linden, who is working on the Oculus Rift project
Maestro Linden (foreground) leads the Server Beta meeting. The colony of bats to his left is VoidPointer Linden, who is working on the Oculus Rift project

Server Deployments week 48 – recap

As always, please refer to the week’s forum deployment thread for the latest news and updates.

  • Main channel, Tuesday December 3rd: received the maintenance package deployed to BlueSteel and LeTigre in week 47

Issues with Main channel deployment

Two issues were discovered post-deployment of the Main (SLS) channel  updates:

  • BUG-4637 “”Can’t rez object at { x, y, z } because the owner of this land does not allow it”when rezzing any object from Library”
  • BUG-4635 “”Selected / sat upon:” incorrectly shows objects that are not actually selected or sat upon. “

Maestro has verified a fix for the latter issue, which he described as occurring with vehicles which get into a “funky” state, ” The vehicle gets ‘bad’ if it loses the passenger right at region crossing,” he said by way of explanation, leaving them appearing to have somebody sitting on them per parcel accounting rules, but who is effectively a “ghost rider”.

It is hoped that these fixes will form a RC release together with some additional small updates prior to the no change window / code freeze kicking-in on Monday December 16th.

Animation fixes

Commenting on the llGetAgentInfo() update deployed to the RC channels at the Server Beta meeting on Thursday December 5th, Maestro Linden said:

The only change which should be visible normally is a fix for avatars with crouch / crouchwalk animation overrides. Previously, the llGetAgentInfo() LSL function would only return AGENT_CROUCHING if the avatar was playing the default crouch or crouchwalk animations, so if your avatar had an AO which replaced those animations, (either with llSetAnimationOverride() or possibly with classic AOs too), scripts couldn’t tell when you’re crouching. But with the fix, the function is looking at whether you’re actually crouching, regardless of which animations are playing.

He went on to note that there is a similar issue with ground sit, wherein if you sit on the ground, the viewer only presents the ‘stand’ button if your avatar is playing the default ground sit animation. Originally, llsetanimationoverride() allowed the ground sit animation to be replaced with something else, but this led to situations where a seated avatar could not stand up.

To fix this latter issue, Kelly Linden implemented a workaround for this problem by making “ground sit” play two animations, the default ground sit and any custom ground sit specified by the user, with the priority of the default ground sit hopefully being low enough not to clash with any custom animation also used. The change was viewed as a compromise to make the AO system compatible with viewer 2x/3x, and is why the SL wiki alludes to in ‘ State “Sit on Ground” will play the default animation in addition to any override set. This is required for correct viewer behaviour. ‘

SL Viewer

The Fitted Mesh project viewer was updated to version 3.6.12.284458 on December 5th.  The update addresses:

  • LL internal JIRA MAINT-3311 (Skinning to some collision volumes is broken)
  • STORM-1985 (Mesh garments don’t adapt to changes in avatar shape)

In addition, it includes the updated avatar_lad.xml and avatar_skeleton.xml  file developed by Jeremiah Linden in accordance with his notes on FITMESH-2 (notes dated December 2nd, 2013).

Oculus Rift Support

Oculus Rift: release of a "feature complete" viewer with Rift support "soon"
Oculus Rift: release of a “feature complete” viewer with Rift support “soon”

Also attending the Server Beta meeting, Voidpointer Linden reported that support for Oculus Rift is feature-complete and should be released “soon”.

There will be a formal announcement when a viewer with Rift support is released (no date as to when this will be as yet), however, a few clues were given out during the meeting:

  • The same viewer can be used in both a “normal mode” and a “Rift mode”
  • There will be no apparent changes to the viewer / UI when in “normal mode”
  • Frame rates when in “Rift look” will be very much down to the user’s own hardware  (unsurprisingly). Voidpointer apparently attended the meeting using a Rift headest and reported that he was getting frame rates ” pretty comparable to normal,” but also noted he has a good machine on which to run SL.

Details on the presentation of the UI, etc., were not provided, as these are apparently still under wraps. In the past, it had been indicated that the UI had been set to be floating “overhead”, just outside of your normal point-of-view, so you had to look up to see them. Whether this is still the case, remains to be seen.

There have been reports of people using the Rift (in general, not just with SL) suffering from nausea and motion sickness. Commenting on this, VoidPointer said, “I’ve been using it for a while now and I don’t really have problems with nausea at this point. [But] the Rift is very sensitive to frame rate, vsync, and other things.   Before the rendering was fully hooked up or optimized,it wasn’t as fun, I’ll say that.” He also revealed the Rift headset can be somewhat adjusted so it can be worn over glasses, if necessary.

As the Rift is not currently commercially available, those with the headset and SDK will be able to make use of the new viewer once released, and will require a DVI cable connected to the headset and their system for the video output and a USB connection for the head tracking capability (so the screen view follows the wearer’s head move to present them with the expected view). Commercial versions of the system will use HDMI for the video.

Rod Humble tries out Oculus Rift in a photo released on July 18th
Rod Humble tries out Oculus Rift in a photo released on July 18th

There was a lot of additional talk about possible future options for presenting in-world views with the Oculus Rift, however, as Voidpointer advised, “Heh, let’s get Rift support first, then talk about more :).”

Whether support for the Rift will be announced before or after the end-of-year break remains to be seen.

SL project news week 49 (1): server and viewer updates

Server Deployments week 49

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Main channel: Tuesday December 3rd

The Main channel received the maintenance package deployed to BlueSteel and LeTigre in week 47. This project includes:

  • Bug Fixes
  • New Features
  • Fixed “Sim crossing on vehicle fails when parcel at opposite sim border is full.” (BUG-4152[c])
  • Fixed a case in which a viewer with a high draw distance would not connect to distant regions which are within the draw distance area
  • Fixed some crash modes
  • Fixed “Vehicles containing a mesh are returned to the owner upon region crossing when destination parcel is full”
  • Fixed “Temp Attachments are sometimes not removed on the viewer when detached from a region change event.”
  • Fixed “Avatars inside a private parcel can see other avatars 2 regions away” (BUG-4356[c])
  • Fixed an issue with object return to inventory on test grids
  • Objects which are rezzed by sat-upon or attached scripts no longer inherit the temp-on-rez or auto-return timer of the parent object
  • Estate managers and region owners are now prevented from being teleported by llTeleportAgentHome()
  • Estate managers and region owners are no longer affected by scripts which use ESTATE_ACCESS_BANNED_AGENT_ADD
  • The grey goo fence is now stricter for large physical object rezzes
  • More robust handling of inventory management within objects
  • Cleanup of controls-grabbing in LSL scripts (no functional changes)
  • Parcel owners are now prevented from being teleported by llTeleportAgentHome()

Release Candidate Channels, Wednesday December 4th

All three RC channels should receive a new maintenance package comprising:

The will be one more week of releases (week 50), prior to the Christmas / New Year code freeze / no change window commencing, which is due to start on Monday December 16th, 2013.

SL Viewer

Two new release candidate viewers arrived in the release channel on Tuesday December 3rd:

  • Maintenance RC version 3.6.12.284430 comprises a number of fixes, including a fix for the issue of FPS dropping when the Expanded Chat option is enabled in CHUI (MAINT-3375) – download and release notes
  • Namefix RC version 3.6.12.284383 changes installer naming without modifying channel or application names, but contains no functional changes to the viewer code – download and release notes.

Viewer release summaries 2013: week 48

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 Viewer Round-up 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
  • By its nature, this summary will always be in arrears
  • The Viewer Round-up Page is updated as soon as I’m aware of any releases / changes to viewers & clients, and should be referred to for more up-to-date information
  • The Viewer Round-up Page also 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.

Updates for the week ending: December 1st, 2013

Official LL Viewers

  • Current Release version: no update.
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • No updates.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V1-style

  • Cool VL updated on November 30th to:
    • Stable version: 1.26.10.2
    • Experimental version: 1.26.11.2
    • Legacy version: 1.26.8.39
    • Release notes (all) core updates: Legacy version: removal of SL mesh deformer supporter & addition of some support for Fitted Mesh; addition of “GetMesh2” capabilities support; FMOD Ex updated to v4.44.27; assorted fixes and optimisations; Stable version: as for Legacy plus rednering fixes imported from viewer-bear; Experimental: full support for Fitted Mesh; region caching fix; import of viewer-interesting fix for crashing when TPing across region boundaries; assorted fixes.

Additional TPV Resources

Related Links

SL projects update week 48: region crossings, scripted camera and region restarts

Server Deployments week 48

As this is Thanksgiving week in the USA, it is a code freeze week with no scheduled deployments for the grid. Deployments will resume in 49.

It was a quite Simulator UG meeting in terms of news from LL due to this being Thanksgiving week (image: stock)
It was a quite Simulator UG meeting in terms of news from LL due to this being Thanksgiving week (image: stock)

SL Viewer

There are no planned RC releases or updates  for week 48, again because of the Thanksgiving code freeze.

Oz Linden is, however, working on getting another maintenance RC together in the near future, although it’s not clear exactly what this will contain at this point in time.

There have also been reports of issues with test versions of viewers built using the latest Sunshine External repository (the SSA “polish” code and AIS v3). The exact cause of the problems is not known, but it is leading to a high number of Current Outfit Folder mismatch issues on Windows. A request has been passed to the Lab to check the automated build process in order to help ascertain if there is a problem in the code, or whether an issue in merging the code is causing problems. These issues don’t affect any released versions of viewers, only those using the latest SAA / AIS v3 code for testing purposes.

Default Object Permissions

A number of TPVs include the ability to specify the default permissions applied to a new prim object (cube, cylinder, torus, etc.) on creation. A similar capability is being developed for the LL viewer (STORM-68) by Jonathan Yap, a long-time contributor to the viewer. However, this work also requires updates to server-side  capabilities, and Andrew Linden is now looking into this, and at the moment is specifically trying to figure out how to propagate the default perms through teleports and region crossings.

Other Items

Region Crossing Issues

The three RC channels are all running the same simulator version, which includes a fix for “Sim crossing on vehicle fails when parcel at opposite sim border is full.” (BUG-4152). Describing the issue at the Simulator User Group meeting on Tuesday November 26th, Simon Linden said, “The server was doing a parcel check at the wrong location … you’d cross, and at one point it would check a parcel based on the new region coordinates in the first region.   If that happened to be a full parcel, it failed.” This issue has been reported as occurring on Main channel regions as well, under a variety of  reports including SVC-8007. As such, it is hoped that when the package currently on the RCs is promoted to the Main channel in week 49, these issues may also be rectified.

In the meantime, and to test whether the fix may work for SVC-8007, the mainland region of Epirrhoe has been moved to the Magnum RC to allow vehicle crossings to be tested between it and the neighbouring region of Jodis, which has been a crossing which has experienced repeated issues with SVC-8007 for the SLRR.

llSetCameraParams([CAMERA_DISTANCE, x])

Many vehicles of all types in SL use llSetCameraParams to establish a “follow camera” which allows the vehicle to be effectively guided by the driver / pilot.  However, there has been a long-standing issue the CAMERA_DISTANCE  rule, which is clamped to distances far shorter than draw distance. This can make it next to impossible to create a scripted follow camera for very large vehicles such as realistically sized spacecraft, airships and ships.

Clamping with CAMERA_DISTANCE can lead to issues when trying to script a follow cam for very large vehicles using
Clamping with CAMERA_DISTANCE can lead to issues when trying to script a follow cam for very large vehicles using llSetCameraParams

The original JIRA (SVC-3499) was closed as “Won’t finish”. However, commenting on the matter at the Simulator User Group meeting, Andrew Linden said:

If we were to expand the clamp limits then some poorly written scripts will change behaviour. How much do we care about breaking such poorly written scripts? And… I wonder why it was clamped so tight? It would be nice to ask around to see if anyone remembers why some limits were set … Well, it would be possible to expand the distance limit and test to see how it works with different limits. If nothing breaks too bad, then perhaps we could ship it.

A new BUG report has been filed as a feature request for this to be looked at (BUG-4594), which is likely to be looked-at the next time feature requests are sorted, and quite possibly passed to Maestro Linden.

Region Restart and Visibility Issues

An unusual issues has been reported which appears to be related to region restarts and visibility, but it only noticeable on regions which have multiple neighbours, all of which are restarted at more-or-less the same time (within about a minute of one another). The problem can be broken down into a number of related points:

  • Observers are standing in region A, which is surrounded by regions B, C, and D – all of which are restarted at pretty much the same time
  • Following the restart, there is a high probability that some or all of regions B, C, and D will not be visible to those observers on region A (which was not restarted), and they show-up as red on the mini-map – something which has been confirmed on both the SL viewer and Firestorm
  • However, anyone entering region A after the restart will see all of regions B, C, and D as expected. Similarly, anyone on region A at the time the other regions restarted can resolve problems by relogging
  • Those observers who were in region A at the time the surrounding regions were restarted are able to fly into any of them which are showing as red on the mini-map, and although nothing physically renders for them, they will experience object collisions. Furthermore, it is possible to exit the “red” regions on the mini-map and fly into the void where no regions actually exist.

In tests with a specific set of regions, the above issues occurred in 8 out of 12 tries. That there is a unique problem with the regions on which the tests were carried out has been pretty much discounted. Whirly Fizzle, who has been poking at the issue with a number of people, provided a screen capture show how her alt managed to fly through a “red” zone and into the void where no region exists.

Following a region restart, Droom is shown in red on the mini-map, to observers located in Mote (lower left on the mini-map) at the time of the restart. However, these observers were able to fly through Droom, although nothing would render for them (but collisions would occur), and then into the void space where no region exists (image courtesy of Whirly Fizzle, click to enlarge)

Commenting on the matter, Simon Linden said, “It sounds like it’s getting confused and not realizing the old connection went away …  I’d bet on the timing.”

Agreeing with this point of view, Andrew added: “If Region A thinks your viewer can already see into Region B, it wouldn’t initiate the connection,” hence why relogging would appear to fix the issue for those experiencing the problem and those arriving in the region after those around it have been restarted: as you arrive in the region, it (re-)initiates the connection between the  viewer and the surrounding regions. This is also why people encountering the situation can enter void areas where no regions exist, as Andrew also explained: “The region you’re on expects the other region to inherit your avatar, o it lets you walk beyond the region boundaries until the other region picks you up. But if the exchange never completes, you get to walk around outside of the region boundaries for a while.”

This can be seen in the image Whirly supplied: while she is clearly in a void space where no regions exist, the title bar of her viewer still reports her as being in Mote (her “region A” during the test), because the “hand-off” between Mote and Droom (shown in red on her mini-map) never completed.

Andrew recently fixed another issue related to connections to neighbouring regions, and has offered to look into the matter himself to find out what is going on and how it can be rectified.

Lance provides further news on Dolphin

dolphin-logoIt’s been several months since the release of the last Dolphin viewer update (March 2013). This means the viewer is lagging behind many of the 2013 updates from the Lab, including things like Server-side Appearance, materials, etc.

Lance Corrimal, the man behind Dolphin is not unaware that this is the situation. His real life this year has been such that it has required almost all of his attention (including starting a new job which sees him travelling and away from home a lot of the time), all of which has limited the time he can devote to the viewer, as much as he’d like to be able to do so.

In July and August he gave a couple of short updates on his situation, which I also passed on through these pages, and on November 22nd, he posted a further update on the Dolphin website, which reads in part:

I am not exactly happy about what I have to announce here, but this is how it is going to be:

The next Dolphin Viewer is not going to be around any time soon.

I have looked at the mess that my current state of the sources would produce, and I have (finally but far too late) come to this decision:

I will start from scratch.

Right now, taking the current Dolphin Viewer source and just “shoe-horning” in everything new from the official sources produces a terrible mess that does not compile cleanly, let alone works. Besides, the last Dolphin Viewer has a quite large number of features that don’t work any more, due to changes that the Lab has made in the meantime, temp uploads being one of them.

So, I’ll basically have to reinvent everything. That will of course take some time. I’m guessing “several months” right now, not the least due to the fact that with my new job that I have been doing since April, I’m travelling a lot, so I’m not even home all that much. I’ll see how much I can do on my company laptop.

I will go back to my usual “release early, release often” policy, as soon as I have something that is properly branded as Dolphin Viewer and has more to offer than just the name.  I will plan to release at least a public beta as soon as I have something.

This would suggest that an updated Dolphin viewer is unlikely to emerge before the end of the year, and that we may be a few months into 2014 before one does. However, the upside of this is that Lance is not abandoning the viewer, which has enjoyed a loyal following. Patience remains the order of the day as he tries to balance the demands of real life and Second Life on his time.

One additional consequence of everything going-on for Lance right now is that he plans to  eventually stop building / providing openSUSE rpm packages for some of the other third-party viewers; as he notes himself, he just can’t seem to pack more than 24 hours into a day.

Further news / updates from Lance will be reported as they become available.