Catznip R7: the cat is back with a roar

It’s been a while since the last release of Catznip – mainly because the team has had a number of other projects and RL things to deal with, but R7 is now here, and it sees the viewer get an extensive update and overhaul, with new features, updates large and small and bug fixes galore.

Not only has the viewer itself been overhauled, but the Catznip team have been putting considerable effort into matters of support as well – which is where this review starts.

Catznip JIRA, Wlki and More

With the R7 release of Catznip, the team have moved away from Bug Genie and adopted JIRA as their issue reporting and tracking tool. As a part of this, anonymous postings to the tracker will not longer be allowed, and users will have to register an account. However, this does mean that the team will be better able to deal with specific issues and contact those logging problems with greater ease.

Release R7 also sees the formal arrival of the Catznip wiki, providing additional support, information, documentation and information on RLVa. The wiki is still under development, and (as with all wikis) is constantly evolving, so should be a bookmarked resource of anyone who uses Catznip as their primary viewer.

The Catznip wiki

The Catznip wiki, together with the Catznip blog can be accessed from within the R7 release, via the HELP menu. Similarly, HELP->REPORT BUG will open the Catznip JIRA in your web browser (or the built-in browser, depending on your preferences setting), rather than attempting to open the default LL Bug Tracker.

So, to the Release itself.

Download and Install

The Windows installer for Catznip R7, at 29Mb in size, is just a tad bigger than the official Second Life viewer installer. Installation for me was smooth and incident-free, as all Catznip installs have been in the past.

On start-up, the familiar viewer 3.x-based FUI is displayed, with button ranged to the left and along the bottom. As with most TPVs and the official viewers, Catznip forgoes the ability to place toolbar buttons at the top of the screen, which is no great loss. Sadly, R7 hasn’t implemented the ability to align buttons to the left or right at the bottom of the screen (which I’d personally love to see gain more widespread adoption among TPVs) or at the top or bottom on the left / right of the screen. However, this also doesn’t detract from usability in any way.

The following sections provide an overview of some of the more significant updates, starting with floater updates. For a complete breakdown of updates and features in this release, please also refer to the Catznip R7 release notes. Please click any images of floaters, etc., for an enlarged view.

Appearance Floater

The Appearance floater has received significant work, with updates to both the Outfits and Wearing tabs.

The Wearing tab has been significantly updated to make viewing, ordering, finding, and sorting worn items a lot easier. The main revisions to the tab are shown below.

Updated Wearing tab in the Appearance floater in Catznip R7

The Outfits tab has also been revised, with key elements shown below.

Updated Outfits tab in the Appearance floater in Catznip R7

In both tabs, FIND ORIGINAL will out the inventory floater with the original item for any link selected. Additionally, attachment point details are now included for all attachments shown in the Wearing tab.

Detaching Folders, Touching Worn Mesh

Catznip introduces two useful features – Detach Folder and the ability to right-click on worn rigged mesh items.

Detach Folder is a context menu option which allows you to remove an entire folder with a single click.Simply right-click on an attachment you’re wearing, and select Detach Folder from the menu, and the attachment and everything else in the same folder will be removed: other attachments, clothing, alpha layers.

Detach Folder (left) available by clicking on a suitable attachment; Context menu available for rigged mesh (right) when right-clicking on it


The Inventory floater has received a number of updates with the R7 release, with new buttons, the ability to use separate search filters on different tabs, a new “custom tab” option, a revised cut-and-paste option, and more.

Catznip R7 inventory floater

Significant points of note with the inventory floater with R7:

  • The overall layout of the floater has been tightened
  • As shown above, the sort options have been moved from the gear icon button to their own button, simplifying the re-ordering of an inventory display
  • Custom tabs allow you to open additional inventory views in their own tabs and apply specific search filters against them
  • The right-click context menu for FOLDERS includes an option allowing you to open the folder in a new tab within the current inventory floater, or in an additional inventory floater instance
  • The right-click context menu for ITEMS includes an option to FIND ALL LINKS within your inventory for a given item (moved from the gear icon menu)
  • Cut & Paste operations work in a more file manager-like way.  works the way you would expect from file manager with cut are marked and moved on Paste
  • COLLAPSE ALL will not collapse top-level folders that are currently open
  • A SHOW RECEIVED ITEMS option has been added to the gear icon button. When checked, the Received Items panel will be displayed in the Inventory floater; when unchecked, Received Items appears as a folder within the Inventory floater.

Continue reading “Catznip R7: the cat is back with a roar”

SL project news week 43/2: SL viewer, mesh, and materials processing

SL Viewer News

Things are not looking good on the official viewer front. As previously reported, the crash rate for the beta release was unacceptably high when compared with the current release version.

A new beta candidate  – – was released late on Monday 20th October. As per usual, it will remain on the beta channel for a couple of days once released in order for LL to get a read on performance and crash rates. Some regression testing has started, with the beta code merged back to the viewer-development pipe, but work is really pending on confirming the beta code is relatively stable.

In the meantime, feature changes to the official viewer remain frozen, and even should the new beta release prove stable enough, it is going to take some time for LL to prioritize all of the pending updates (both their own project work such as the Steam updates, HTTP project, Group Services, etc., and contributed updates), start merging them into the code, testing them, and then releasing updates once more.

With regards to overall viewer stability, A series of crash fixes from Firestorm (officially viewed by Linden Lab as the most stable viewer connecting to SL) have been contributed to LL and are awaiting regression testing in order to confirm their effectiveness with the LL code.

Mesh Deformer

A new version of the Mesh Deformer project viewer appeared over the weekend –, dated October 20th. This has the revisions Darien Caldwell has made to the uploader and custom shapes, although she is still waiting on feedback from Qarl on the matter of the sliders / bone armatures which are deformed by both the viewer and the deformer, as mentioned in part 2 of my week 42 update.

The new version should hopefully include a small bug fix when selecting the Default Male shape (which would act as if the Default female shape were selected).

Materials Processing

Materials processing: using a normal and diffuse (texture) map to generate a 3D effect on an in-world wall – coming to SL in the near future

Speaking at the OpenDev meeting on Monday 22nd October, Oz Linden indicated that the specification for the revised build floater in the viewer – needed to handle picking, rotating and offsetting normal and specular maps in the same way as can be done with textures (diffuse maps) at present.

The specification for the floater has been written in-house at LL, but the work is being undertaken for LL by a third-party viewer developer who volunteered to carry out the required work on LL’s behalf. This work will initially focus on getting a shell for the floater built, as there are a number of things that are being worked on within the viewer with regards to making parameters actually visible on surfaces.

Discussing progress at the Content Creation Improvement Informal User Group on Tuesday 23rd October, Geenz Spad outlined some more of the upcoming capabilities, as defined by the initial release specification document.

“We have normal maps with specular exponent stored in their alpha channel, specular maps will have environment masks stored in their alpha channel [so, for example, mesh won’t require seperate faces in order to have different levels of shininess on different parts of it], and for diffuse maps you’ll be able to select to some limited degree what its alpha represents (currently, none, alpha blending, alpha masking, and emissive mask).” He went on, “There’s a few additional knobs people will be able to mess with as well, such as specular exponent (combines with the normal map’s exponent map in its alpha), specular color (combines with the specular map’s color), and environment intensity (combines with the specular map’s alpha).”

However, custom environment maps – such as used with custom reflections – won’t initially be supported, as has been previously indicated. With the initial release specification now locked – but not currently open to public reading, that will occur nearer the time LL are ready to make a further announcement on materials – any additional functionality is being looked upon as being either for a further release or requiring a programmable system to implement.

Whether there will be further updates to the system remains to be seen, but it appears those involved in the project, both inside and outside of LL are reasonably confident there will be. “Materials is something that you can likely expect to receive several updates over time,” Geenz commented. “It’s something that’ll evolve from a fixed system into something a fair bit more sophisticated eventually.”

Related Links

SL project news week 43/1: Server updates and llHTTPRequest

SL Server Updates

A brief start-of week update with an important item on the LSL llHTTPRequest function.

Tuesday October 23rd saw an update to the main channel which should have minimal impact on things, “It’s a change that should make simulators run better on our new hardware,” Simon Linden explained at the Simulator User Group meeting on the 23rd.

Wednesday 24th, as previously indicated, should see the RC channels updated as follows:

  • Magnum should receive bug fixes together with Baker Linden’s Group Services project code (the viewer side of which is still blocked)
  • LeTigre should receive further updates for the new Havok code (which presumably include fixes for the crash loop situation Maestro reported in the Server Beta UG meeting (see above)
  • BlueSteel should receive, “Some more invisible changes that should help us deal with some problems like full disks that make servers very unhappy.”

Details on the deployments are, as usual, posted in the Second Life Server section of the Technology forum.

Third-party Web Caching and llHTTPREQUEST

Kelly Linden indicated that the updates to LeTigre in week 42 had some library updates. One of these updates was to the cURL library which changed its behavior specifically around caching.

Until now, outgoing requests on have a Pragma: no-cache header in them, because cURL added this to all requests, and thus ensured fresh data was returned. The change made to the cURL library on LeTigre means that this is no longer the case, so if the third-party web server has caching enabled, any outgoing llHTTPRequest might return previously cached results from the server, rather than fresh data.

Kelly noted that, “Systems that are most likely to be affected are those that frequently hit the exact same URL and expect the data to change. Maybe they are getting a counter or checking on something’s status, leading to problems with the likes of breedables dying, and so on.”

A workaround for this has been implemented for the llHTTPRequest in the form of a HTTP_CUSTOM_HEADER flag, which enables Pragma: no-cache to be specified manually.

While there have currently been no reports of this or similar happening so far, LL are continuing to discuss the potential impact. Further, it is expected that the , Kelly continued, “If anyone uses or develops systems they think *might* be affected please give them a try on LeTigre this week and let me know. Or if you know others that might, encourage them to test on LeTigre this week. Thanks.”

So, if you have created a product which uses an external web server for updates in the manner described above, etc. (or know anyone that does), you may want to test behaviours on a LeTigre region to see if your product is impacted prior to this change rolling out further across the grid.

SL Issues

Network Traffic and Sim Lag / Crash

This issue has been going on since the start of the month, and appears to affect regions with large numbers of people.

A bug report was raised on the issue (BUG-355), and has been imported by LL as a MAINT issue (MAINT-1682). However, there has been no feedback from LL as to the underlying cause, although investigations are continuing.