SL projects update week 12 (3): viewer, CHUI, SSB, materials and releases

SL Viewer Updates

The SL beta and development viewers saw end-of-week updates in week 12, with the beta viewer rolling to release 3.5.0.272486 and the development viewer 3.5.1.272521, both on March 22nd.

The beta update is primarily focused on CHUI, and may be the final beta release for CHUI before the it appears in an official release version of the SL viewer (see below).

On March 20th, the Sunshine project viewer (Server-side Baking) updated to release 3.5.0.272211, which may be the last releases of the SSB code as a project viewer prior to the code arriving in the SL beta viewer – see the SSB section of this report (below).

Communications Hub User Interface (CHUI)

As indicated above, the Lab is hoping that CHUI, the Communications Hub User Interface, is now in its final beta viewer run with the release of 3.5.0.272486, and that the code should be appearing in the release version of the SL viewer, possibly later in week 13 (week commencing Monday 25th March).

CHUI: probably making a final appearance in the SL beta viewer prior to appearing in the release viewer
CHUI: probably making a final appearance in the SL beta viewer prior to appearing in the release viewer

However, TPVs are still considering how best to tackle CHUI in terms of integration and deployment in their viewers. Part of the problem here is that for some TPVs, the CHUI user interface changes conflict with changes the TPVs have themselves made, and so consideration needs to be given as to which parts of the UI updates and changes a given TPV wishes to adopt. A wider issue, however, is that CHUI also includes a large about of v3 code refactoring, all of which needs to be considered for implementation into views, particularly those which are v3-based.

Further, as most TPVs have been focused on SSB updates, it may take a while before CHUI itself appears either in whole or in part, in some third-party viewers.

The CHUI updates don’t only impact TPVs – there is a knock-on effect with some of the upcoming changes / code contributions flowing into the SL viewer code as well. For example, the viewer side of the request teleport feature (STORM-1838), which I originally commented on in week 4, has been delayed while it is re-worked in light of CHUI-generated changes.

Server-side Baking

Viewer-side SSB Code

Following-on from the recent pile-on / load tests carried out using the official viewer (Thursday March 14th) and Firestorm (Friday March 15th), the Lab believes that the viewer side of the code is doing “quite well” in testing, with both tests recording very similar results, including hitting the same problems related to inventory fetching / rezzing issues for attachments.

As a result of this, the Lab have been looking at releasing the SSB viewer code to the SL beta viewer (with CHUI integration) on or around April 1st (week 14). However, the discovery of a bug with the latest version of the SSB project viewer code ( version 3.5.0.272211), may delay matters.

SUN-57, raised by Tonya Souther, reports a fix for earlier issues (non-public JIRA SH-3941 and SH-3954), now appears to cause avatar bake fail issues when running the viewer-side SSB code on regions using the current avatar baking mechanism. Whirly Fizzle has been able to reproduce the issue when using pre-saved outfits in her My Outfits folder, and describes it thus:

Replace outfit with a ready saved Outfit A from My Outfits folder (Right click -> Replace current outfit). Relog Usually, but not always, I will see part of my baked textures as grey with this certain outfit A. This session my torso texture appears grey to me. My torso fully rezzed without needing to rebake in about a minute.

[Now] Replace outfit with Outfit B, which is a ready saved outfit from My outfits folder (Right click -> Replace current outfit).Outfit B bakes fast & looks correct to myself.

Wait 30 secs or so [and] replace outfit again with outfit A. My avatar will then show the correct head and lower baked layers from outfit A but my upper/torso layer will be that of outfit B.

The SUN-57 issue, as defined by Whirly Fizzle: left - Outfit A from her My Outfits folder replaces whatever she was previously wearing, and appears correct; centre - after a relog, she repalces Outfir A with Outfit B, and again, everything appears correct; right - she replaces Outfit B with Outfit A, but her skin fails to bake correctly, the head and legs showing the skin associated with Outfit A, the torso still showing the skin from Outfit B (shown naked for clarity) - images courtesy of Whirly Fizzle / JIRA SUN-57
The SUN-57 issue, as defined by Whirly Fizzle: left – Outfit A from her My Outfits folder replaces whatever she was previously wearing, and appears correct; centre – after a relog, she replaces Outfit A with Outfit B, and again, everything appears correct; right – she replaces Outfit B with Outfit A, but her skin fails to bake correctly, the head and legs showing the skin associated with Outfit A, the torso still showing the skin from Outfit B (shown naked for clarity) – images courtesy of Whirly Fizzle / JIRA SUN-57

Whirly further reports that the issue doesn’t resolve itself after several minutes, and rebaking using CTRL-SHIFT-R has no effect (other than reducing her to a cloud in other people’s view), while using Edit Appearance also fails to clear the problem.

Again, this issue only occurs when using viewers incorporating the latest SSB code, and only on regions which are not themselves running the server SSB code. It is of concern because the viewer code is designed to work with both the current baking mechanism and the upcoming SSB mechanism, and will be expected to do so during the SSB deployment to the main grid, when there will be a period when both the “old” and “new” baking services will for a time be running side-by-side as the latter is gradually rolled-out.

Whirly has also raised questions concerning the impact of SSB on teen accounts. These have locked clothing layers, and it has been reported that “strange things happen” with regards to  SSB.

Nyx Linden was unable to attend the March 22nd TPV Developer meeting where these issues were raised, so no immediate feedback could be obtained on either. However, Oz Linden confirmed he would be relaying matters to Nyx, so there will more than likely be further feedback in week 13.

Third-party Viewers and SSB

As Linden Lab is anticipating the SSB code will be arriving in the SL beta viewer in the near future, the OK has been given to TPVs to start releasing beta (or full release) versions of their viewers which incorporate the SSB code for more widespread use. Obviously, exactly when such releases appears is entirely down to the TPVs themselves, and there is some concern that there may be further changes to the viewer-side code as a result of its run in the SL beta viewer which could impact TPV release schedules. As it is, it would certainly seem unlikely that releases will be made until the SUN-57 issue is confirmed by LL and steps are taken to resolve it.

Potential SSB Deployment Plans

As mentioned above, the Lab is looking to make a viewer-side beta release of the SSB code around the start of April. This may mean that the viewer-side SSB code may appear in the development viewer in week 13 (as it does not appear to be in the most recent release), but this is still to be confirmed.

Once the viewer-side code reaches the SL beta viewer, it is likely to remain there for up to four weeks (and certainly no less than two weeks), depending on whether or not further bugs or issues arise, prior to appearing the the SL release viewer.

HOWEVER, it is important to note that any release of SSB into the beta viewer does not mean that it will be accompanied by a deployment / switching-on of the server SSB code. Instead, the plan is to run the new SSB viewer code with the existing avatar baking service before commencing on any deployment of the new SSB server-side code.

By releasing the viewer-side SSB code ahead of any server-side deployment, LL are hoping to  ensure as many users as possible can be properly informed about the new baking service and why they must update to a version of their preferred viewer that supports SSB before and server-side switch-over occurs.

Therefore, and while final plans have yet to be agreed within the Lab, it is unlikely that the server-side of the SSB code will start appearing on the main grid until after the code has actually appeared in the SL release viewer – although it is possible some initial deployment of the server code may commence towards the end of the code’s run in the beta viewer.

Once deployment of the server-side code does commence, it is liable to be gradual, possibly comprising:

  • An initial region or two running the server-side code prior to it moving to a dedicated Release Candidate channel or an initial deployment to a handful of regions on a dedicated RC channel
  • Progression from any dedicated RC channel to a “full” RC channel  (BlueSteel, LeTigre or Magnum)
  • Deployment to the rest of the grid progressing from there, mostly likely on a phased basis so that the Lab can react to any unforeseen scaling (or other) issues.

Obviously, these are again only provisional plans, and are subject to confirmation and also hope well the deployment progresses in terms of issues uncovered, scaling capabilities, etc.

FMODex, Cocoa, and Other Viewer Work

The FMODex update is all but ready to be released into LL’s viewer code branches, but is currently being held-up by the likes of CHUI and SSB. This update is also thought to fix the issue of the Mac version of the viewer crashing whenever headphones are unplugged (this particular issue is apparently the most-reported crash issue on Firestorm, accounting for some 11% of all FS crashes, and so is likely to be a major annoyance to Mac users on other viewers).

Work is progressing on the Mac-side Cocoa updates, at least some of which is being undertaken by Geenz Spad from the Exodus team on behalf of LL, and these are now also largely awaiting a place in the code release queue to find their way through development, beta, etc.

Materials Processing

There is still not too much to report on this. “We think we’re down to one serious bug,” Oz reported at the TPV Developer meeting on March 22nd. He went on, “We’ve got some more eyes on it and hopefully we’ll get it wrestled to the ground soon.”

Once the code has a “reasonably good” result from LL’s QA, it will be released for public consumption, most likely through a project viewer and the code being made available to TPVs.

Still has one major bug to fix prior to the code being made available to TPVs & (probably) appears in an LL project viewer
Still has one major bug to fix prior to the code being made available to TPVs and (probably) appears in an LL project viewer

When and how quickly the materials code moves through the SL viewer development, beta and release channels is still very much open to discussion within Linden Lab, but any integration is unlikely  to occur until after the viewer-side SSB code has emerged in the release version of the SL viewer.

Potential SL Viewer Release Roadmap

Taking all of the above into account, and allowing for the fact that plans with LL are still in a state of flux, it would appear that a potential roadmap for SL viewer releases, as discussed at the RPC Developer meeting, might be:

  • The current CHUI release will remain in beta for approximately a week
  • Providing no further beta releases are required, CHUI will move to the release version of the SL viewer, possibly by the end of week 13
  • The viewer code for Server-side Baking will then move to the SL beta viewer for an initial release on or around April 1st (the code already having been merged with CHUI).
    • It is likely that it will do so for between two and four weeks, probably leaning more towards the latter than the former
    • The time the code remains in the beta viewer will be somewhat dependent upon the discovery of any additional bugs or issues with the code
  • The viewer-side SSB code will most likely appear in the release version of the SL viewer before any server-side SSB deployment commences
  • A Materials processing project viewer will likely appear within the next few weeks. However, the code is unlikely to progress beyond a project viewer until after SSB has completed its run in beta (although TPVs will be free to integrate the materials code once it has been publicly released alongside the project viewer)
  • There may be a viewer maintenance release for bug fixes, etc., which have been held-up by CHUI and SSB which goes out between SSB and any integration of materials into the main viewer code branches (development, beta, release).
    • Such a release could include things like FMODex, and / or the Mac Cocoa project updates
    • No decision has yet been made on such a release, or its contents.

Obviously, all of the above is subject to the caveats mentioned, and on decisions still pending within the Lab.

Related Links