SL project news: week 4 (3): viewer, CHUI, SSB, more materials, oh my!

SL Viewer Beta

Issues within the 3.4.5 code have prevented viewer releases progressing through beta, with the code stuck in QA while LL tackled them. However, it appears the majority are now either fixed or on their way to being fixed, and an updated beta viewer should be appearing next week, which should see the beta viewer come pretty close to alignment with code in the development viewer, with the latter only having “a couple” of things not added to the beta branch.

Communications Hub User Interface (CHUI) Project

There have been a rapid series of merges between the CHUI project viewer code and the development viewer recently (as seen in my Viewer Round-up Page and weekly summaries), helping the former to keep pace with the latter, with the most recent CHUI development release ( being made on January 25th.

Speaking at the TPV Developer’s Meeting on Friday 25th January, Oz Linden indicated that a formal merge of the CHUI project viewer code with the development viewer code branch “pretty soon” (possibly in the next two weeks, putting it ahead of the server-side baking project). However, according to Nyx Linden, the plan will be to not merge CHUI with the server-side baking project for as long as possible, so that TPVs have the choice of deciding whether they wish to integrate both projects into their own code at the same time or not.

CHUI is viewed as potentially the more problematic implementation for some TPVs to undertake as it involves more widespread changes to the UI, and, and project lead Merov Linden pointed out, the need to refactor a number of areas within the viewer to work with the CHUI elements. As some TPVs have already made substantial changes to the communications floater and other aspects of the communications elements of the UI, there is also a need for these TPVs to work through the code and see how it works with / impacts / breaks / undoes the changes they have made, in order for them to make a proper determination as to which code to adopt / maintain, and which code to ignore / discard.

Avatar Baking (Server-side Baking or SSB)

Work in progressing on all sides of this project, with the various TPVs working on integrating the initial code release from LL into experimental versions of their viewers (with varying degrees of success) and LL working on “bug stomping” and fixes. As commented on in my week 3 project report, there are concerns over the speed of releases for updated code from LL and general visibility of JIRA items.

Nyx Linden was on-hand at the TPV Developer Meeting on the 25th January to provide an update and field questions.

Nyx linden discusses server-side baking at the TPV Developer meeting (stock)
Nyx linden discusses server-side baking at the TPV Developer meeting (stock)

In terms of the server-side code, there have been a number of fixes which should have rolled-out to Aditi on Thursday 24th January, although the status of these had yet to be confirmed at the time of the meeting. Various issues are still to be fixed, such as some avatars being reported with heights which don’t match LL’s computations (particularly very small / petite avatars and very big avatars), which may be down to a mis-match between the way some viewers are calculating avatar height and what the server is anticipating receiving in terms of a value range.

The viewer code has also been receiving a number of updates and fixes, which should be available for use by TPVs and in an updated version of the project viewer in the next day or so. These updates include a required fix for an issue whereby edits make to a wearable item are not saved unless the user also changes something else they are wearing (for example, edits made to a blouse are not saved unless the user swaps the pants they are wearing).

Currently, and so far as I’m aware at the time of writing, Cool VL viewer, Singularity and Radegast all have experimental builds of their viewers / clients which incorporate the code and which are being used purely for testing purposes, with Exodus planning to start merging the code shortly. Niran’s viewer has reported issues with the new code “breaking” RLV/a which (so far) haven’t been reported by other TPVs.

Given the overall pace at which things are progressing on LL’s side, particularly with CHUI and dealing with issues uncovered within SSB itself, it is likely the original eight-week window for TPVs to integrate the SSB will be extended inasmuch as the deployment of SBB to the main grid is now likely to be slightly later than LL may have originally anticipated.

Materials Processing

Further to comments in Part 2 of this report, Oz Linden indicated that the server-side code may reach a main grid RC channel in week 5. However, and also as stated in Part 2, there is still considerable work to be done on the viewer side of the project before anyone can make use of the capabilities.

The project viewer remains in a private repository. However, some “preview peeks” have been had at a prototype of the anticipated changes coming to the Build floater – specifically the Texture tab, which is directly impacted by materials processing. While they are still preliminary and subject to change, they do present things in the tab more logically.

Prototype build floater: (click to enlarge)
Prototype build floater: On the left is the current SL viewer build floater, and in the centre is the slightly enlarged prototype build floater., both showing the proposed updates to the Texture tab. (click to enlarge)

The general layout changes in the tab are easy to see when comparing the current and proposed floaters, with the key additions (form a materials processing perspective) being the new Materials / Media drop-down selector centre left of the tab, and the Map selector drop-down, centre right of the tab, both of which are highlighted in the image above.

  • The Materials / Media selector toggles between working with materials on an object  / object face and setting-up media on an object face. When the latter is selected, the area immediately below the drop-down will change to offer the same media options as are presented at the bottom of the current Texture tab (albeit laid-out a little differently) – as shown in the bottom right of the image above
  • The Map selector drop-down switches between working with diffuse (texture), normal and specular maps. When switching the normal or specular maps, the area beneath the drop-downs will change to the two inserts shown top right (normal maps) and centre centre (specular maps) in the image above. Both of these contain the familiar options for setting the default bumpiness and shininess on objects  / object faces.

Currently, the normal and specular map selections lack any picker option (as seen in the default diffuse view) for selecting custom normal / specular maps held in a user’s inventory, as are the options to flip a map vertically/horizontally. I assume these elements have yet to be added to the floater, and  will be displayed in an upcoming iteration.

The General Order of Things

In terms of how they intend to proceed with deploying these projects, the Lab is still considering options. However, at the present time it appears as if the general order of releases might be:

  • CHUI – the Communication Hub User Interface
  • Additional smaller projects and potentially materials processing
  • Server-side baking.

HTTP 1.1 Work

Monty Linden
Monty Linden

Monty Linden has been working on the server-side HTTP communications service updates. Most of this work is related to HTTP persistent / keepalive connections.

The first element of this work has just cleared LL’s QA, and Monty reports there are some “big ones” coming through. There is still no overall timescale for this work, and there are potential scheduling issues with everything else going on at the moment. However, Monty is still planning on having a number of discrete channels set-up (presumably on Aditi) in which TPVs can test the new capabilities and where failover tests, etc., can be more rigorously carried-out. Overall, Monty believes that the updates and changes will lead to a better overall SL experience (although the majority of his work will pass unnoticed by most users, as it is entirely “under the hood”).


It’s been a while since there was anything substantive to report on this. As noted in week 41, 2012, FMOD is used within the sound system for the Viewer. While LL have not had a licence to distribute the binaries directly, they have been able to supply TPVs with a script which allows them to pull-in a TAR archive from an FMOD repository for use in viewer builds. However, following  a clean-up of their archives last year, FMOD have removed the legacy files required for this to work, as reported in JIRA OPEN-150.

The decision to move to FMODex (rather than OpenAL) was pretty much made at the time this issue first arose, and code from the Singularity viewer (as mentioned in my first report on FMOD) is being leveraged by LL, although (again) it is not clear when it will reach viewer development.

One problem with the change to FMODex is that FMOD now distribute the required files differently for different platforms. Because of this, it is currently unclear as to what form the mechanism by which TPVs obtain the required files might take – rather than being a scripted process as used with the “old” system, it may simply be a set of instructions from LL as to how to duplicate what the Lab does to incorporate the files, for example.

Other Items in Brief

Content Creation Improvement Informal User Group

The Tuesday meetings for this group, referred to as the CCIIIG and which has attempted to examine potential improvements to content creation capabilities within SL, have grown increasingly sporadic over the last couple of months, with no meetings actually taking place at all this year. At the Opensource Dev meeting on Wednesday 23rd January, I took the opportunity to ask CCIIUG co-chairGeenz Spad about the status of the group and whether it had been formally / informally discontinued. He confirmed that the meetings have been suspended for the present for a variety of reasons, including the fact that he is particularly busy himself. When and if the meetings are resumed, I’ll provide an update here.

Teleport Request

This is a new function which will be coming to the viewer at some point. As defined by STORM-1838, it will add the capability for one avatar to request a teleport from another (so that requests for a TP need not have to be made via IM).

The work comprises changes to both the viewer and the server (STORM-1917). The viewer changes include adding options to initiate a teleport request and send an optional message with the request, and dialogue boxes to accept / deny a teleport request and to teleport / cancel the request.

Three of the new teleport request viewer changes as they currently stand (images courtesy of Jonathan Yapp) - click to enlarge
Three of the new teleport request viewer changes as they currently stand (images courtesy of Jonathan Yap) – click to enlarge

Again, there are no timescales as to when this functionality will appear. There are some issues with the server-side changes which need to be tracked down, although it does appear to be working on those regions on Aditi where the code is being tested. The viewer updates have apparently been through LL’s QA process, but changes have also been requested there as well.

Related Links

Update: Minor update to reflect the FMODex situation and code leveraged from Singularity – see comments below for more.

10 thoughts on “SL project news: week 4 (3): viewer, CHUI, SSB, more materials, oh my!

  1. Oz wrongly attributed FMOD Ex contribution. It was developed by Shyotl Kuhr for the Singularity project and has been in the past several releases.


    1. True, however the code has been ported to the vanilla V3 base by Sovereign Engineer, and the patch was proposed by him as well. Sadly, these subtle nuances are often lost.


    2. I’ve updated the FODex section to more properly reflect the leveraging of code from Singularity, and added a footnote pointing to these comments. Thanks for the clarification, Latif.


  2. Most of what’s described here is stuff that sounds good. There are, however, a few ideas I have and believe they’d help make things even better.


    1. Prim alignment tool: Has NiranV Dean formally submitted his update to Qarl’s code as a contribution to LL? There’s nothing in the JIRA beyond March 2012 as to status of the work.

      Mesh is stalled for a variety of reasons (will be updating on this shortly), which is unfortunate.

      The request teleport feature is (largely) a third-party contribution in terms of the viewer (which dates back to 2010) & so likely seen as a releatively “easy to implement” update, even with the server-side IM update, even the lion’s share of the work is coming from a contributor. Also, there is no actual timeframe for delivery / merging / deployment. So is it really impacting on the “more important”?


Comments are closed.