Looking at the Second Life Inventory Extensions Project Viewer

Inventory Extensions in the official viewer: Item and folder contents preview images (l) and the Single Folder View (r)

On Monday, June 26th, Linden Lab issued the Inventory Extensions project viewer, offering two new inventory features intended to make browsing inventory and inventory folders and ascertaining what they / their contents are a lot easier. An official blog post accompanied the new viewer, and this post is intended to offer a little meat an bones on that post for the curious.

The new capabilities comprise:

  • Inventory Previews (previously referred to as Inventory Thumbnails):
    • The ability to take images of individual items within inventory (clothing, body parts, accessories, attachments).
    • Have these images persistently linked to the item (unless intentionally deleted or changed) and displayed when the mouse pointer is hovered over the item in question.
    • The ability to use your own images, either from inventory or uploaded through the preview tool, which can be persistently associated with the item when the mouse pointer hover over it.
    • The ability to create and include images for other inventory asset types such as Calling Cards (e.g. a photo of the person to whom the card relates),  EEP Settings, Landmarks (e.g. a photo of a location), Notecards, Gestures, Scripts, etc.
    • The ability to associated images with an entire folder (e.g. a photo of a complete outfit contained in a folder).
    • There is no fee associated with creating such preview images, whether taken using the in-viewer tool or when uploading your own image via the tool (note the fee will be applied still if you use the Build → Upload Image option).
    • Merchants and creators can add previews to their delivery folders and items, and these will be automatically displayed on mouseover with the item / folder.
  • Single Folder view: the ability to see the contents of a single inventory folder in its own window.
  • As far as I’m aware, these previews should not place any overhead on inventory loading.

Please note: at the time of writing, these features are only available via a project viewer available via the Alternate Viewers page, and thus should be regarded as being for testing purposes, and they may be subject to further iterations / changes between now and when they do review a de facto release status. Those trying the viewer are encouraged to file any bugs they may find via the Second Life Jira.

Inventory Previews

Creating a Preview via the Preview Snapshot

  • Select (and wear / display, as applicable) the item for which you wish to create a preview image. In this example, I’m using a hairstyle.
  • If you are creating a preview of an item of clothing or other wearable, you might want to pose your avatar (although this obviously isn’t essential).
  • Position your camera so you are ready to take your preview image.
  • Open your Inventory and locate the item for item for which you wish to create a preview image and right-click on its name to display the Context Menu. Select Image… from the menu.
  • This will open the Change Item Image floater.  To take a preview image directly, click on the Use Snapshot Tool button on the floater (second button from left, with a camera icon).
Creating an Inventory Preview Image of of of my hairstyles
  • When using the Snapshot Tool, clicking the button will open the Item Snapshot floater:
    • Use the Take Photo button to refresh the preview of the image about to be taken, if required.
    • When you are satisfied with the preview image, click Save.
    • The preview image will be generated and automatically associated with the inventory item.

Viewing A Preview Image

  • In Inventory, hover the mouse over an item.
  • If there is a preview image set for it, it will be displayed whilst the mouse remains over the item.
Hovering the mouse pointer over an item in Inventory will display any preview image associated with it

Buttons on the Change Item Image and Item Snapshot Floaters

The image below provides additional descriptions for those buttons on the Change Item Image and Image Snapshot floaters which might not be obvious at first glance.

The buttons on the Change Item Image and Image Snapshot floaters 

Additional Notes

  • When using the Upload From Computer and Use Texture (e.g. a snapshot saved to inventory or other texture in inventory) in the Change Item Image floater, there is no need to take an additional snapshot using the floater – once displayed in the floater, the image will be associated with the item.
  • To create an image for an entire folder in inventory (such as an outfit), follow the steps for Creating a Preview via the Preview Snapshot, but right-click on the folder itself to select Image… from the Context Menu.
Using the Preview option with an outfit (l) and a Landmark (r)

Single Folder View

This option allows you to see the contents of a single inventory folder in its own window.

  • Locate the required folder in inventory.
  • Right-click on it to display the Context Menus and select Open in a New Window.
  • The contents of the folder are displayed in a new floater:
    • Any items with associated preview images have said images displayed in the upper part of the floater.
    • Items without any associated preview image are listed in the lower portion of the floater.
The Single Folder View (aka open folder in a new window)

General Notes

There have been some claims that the Inventory Preview is an attempt by LL to move in on popular products such as CTS Wardrobe; however, these claims are not really accurate. This kind of inventory preview has long been requested for the viewer, whereas CTS and similar are geared towards web-based inventory organisation (and may require the use of RLV), whilst offering a more rounded feature-set in terms of tagging and other capabilities. As such, they are not in any way invalidated by the release of this functionality, and there are those who may find such systems remain more attractive as an option.

That said, the Lab’s inventory preview is a useful feature, and one that will hopefully be used by content creators as well as by users in general. The single folder inventory view is also useful, although I have a minor niggle over consistency of naming (if the capability is called Single Folder View, how about calling it that in the Context Menu?).

Currently, and as noted above, both features are still in development, and hence only available through the Alternate Viewers page at present, and may be subject to change. Depending on what, if any, changes are made, I may revisit this viewer and provide a further piece on it once it reaches de facto release status.

Profiles Viewer reaches RC Status in Second Life

via Linden Lab

In June 2019, Linden Lab released the Legacy Profiles Project viewer, the first step in moving user Profiles back into a viewer floater that does not utilise the web-based profiles that have been in place for the last decade(ish) – see SL Legacy Profiles project viewer.

At the time, it was hoped that the project to move profiles back “into” the official viewer would be relatively easy. However, three years have passed, and it is only now that the work has moved forward.

There are multiple reasons for this being the case: pressure of work elsewhere, the need for back-end updates that were interrupted by the migration to AWS, and so on. So, there was probably an enormous sense of relief at the lab when, on July 21st, 2022, the Profiles Release Candidate (RC) Viewer could finally be issued for users to take a look at ahead of it moving forward to de facto release status.

As with in-viewer profile floaters, this one presents a panel with a series of tabs:

  • Bio – for the user’s / avatar’s biography.
  • Feed – providing a view of the user’s web-based Profile Feed.
  • Picks: the familiar selection of 10 favourite places / other information the user wants to display in their profile.
  • Classifieds: for any classified ads the user has created.
  • Real Life: a further tab the profile owner can use to provide any additional information they wish (it actually does not have to be “real life” related, which is why I whish the Lab would follow the lead of others and call this “Additional Info”, or something, and let users decide how they want to use it.
  • My Notes: a section in which notes can be written about a profile and which can only be seen by the person writing the notes.
The new official viewer Profile panel. On the left: as seen b the account holder, with an editable description field. On the right: as seen by other users. Note the two Action drop-down menus as well. Click for full size, if required

Of these tabs, it is very likely that Bio is going to be the most jarring to anyone familiar with viewer-based legacy profiles, as it presents a very different layout compared to other profile floaters – and also includes some useful extras.

The basic info on the profile owner – picture, partner status and age are rather untidily squished into the top left corner of the tab. This is to allow more room for users to write something about themselves / their avatars. While this is welcome – the “traditional” legacy profile always seemed a tad limiting for expression. However, depending on whether or not this layout is adopted verbatim aby TPVs, I do have a small niggle.

People tend to spend considerable effort in getting their bio info laid out in their Profile, and such is the nature of this floater, such work tends to be lost. For example, in Firestorm, Cool VL, etc., my own bio is relatively centred within the provided window – but here, as shown in the image above right, it appears oddly ranged to the left.

This may sound like nit-picking, but it could actually carry some weight: people put great store by what they see in a profile almost as much as in what they read, and what may come over as a slapdash, hard-to read layout on account of different floater window sizes (again, assuming TPV don’t simply integrate this profile floater design into their offerings, rather than continue with their own) might lead to unfair judgements.

On the positive side, this tab includes up to three handy drop-downs:

  • Show / Hide: (visible to the profile owner only) – sets whether or not the profile is listed in Search, and is tidier than the old check-box.
  • Actions: a context-sensitive menu available to both the profile owner and those viewing a profile, with the menu options (shown left and right in the image above) dependent on who is viewing the viewing the menu.
  • Tools drop-down (person viewing a profile only): provides access to “action” options the person viewing the profile may wish to take in reference to the owner of the profile, as shown below:
The additional options available from a user’s profile for those viewing it

The remainder of the tabs in the floater are really straightforward and require no real expansion here. As per current legacy profiles, when editing your own, editable fields are show in white for text entry.

What one thinks of the overall layout / appearance is subjective; outside of my little niggle on how information is displayed between different styles of profile floater (again, assuming some TPVs keep to the more “traditional” profile floater design rather than adopting this layout), I’ve no issue with this approach. And like I noted above, the additional drop-down options presented through it are handy to have.

Related Links

Looking at the SL Performance Improvements Viewer

via Linden Lab

The Performance Improvements Viewer has been the default release viewer from the Lab for the last couple of weeks, and the code is starting to find its way to TPVs. This is a viewer specifically designed by LL to provide a smoother user experience in terms of things like rezzing / rendering times, better FPS.

The viewer represents a lot of work on the part of the Graphics team to improve data handling (including moving various data elements between threads, removing low update processes to their own threads rather than having them stall the main rendering threads, etc., all of which is intended to make the viewer feed more responsive as you move / teleport around SL.

As such, I decided to try a series of basic comparative tests between the Performance Improvements viewer, a version of the official viewer without the code updates and Firestorm (as my TPV of choice at the moment), just to gain a rough indication of how the changes made to the viewer perform. These tests comprised:

  1. Logging-in to my Home location with empty caches, recording the time from clicking the log-in button through to everything loading in my field of view.
  2. Logging-in to my Home location with it locally cached on my hard drive.
  3. Completing a walk around my Home location, recording FPS at the same 9 locations, three times each with Shadows OFF and Shadows ON, and taking an average of all the FPS times recorded.
  4. Teleporting to a busy region (15+ avatars) that is not pre-cached locally (but should be cached at my nearest CDN node(s), given it is a place I visit daily).
  5. Re-teleporting to the same location, now locally cached.
  6. Completing the same walk around the selected location, recording FPS at the same 5 locations, three times each with Shadows OFF and Shadows ON, and taking an average of all the FPS times recorded.

The table below summarises my findings:

Firestorm SL Viewer – No Improvements Code SL Performance Improvements Viewer
Home log-in uncached 42.06 sec 27.94 sec 24.00 sec
Home log-in cached 22.34 sec 21.98 sec 20.00 sec
Home walk – no shadows 25.5 FPS 34.5 FPS 53.57 FPS
Home walk – shadows 17.4 FPS 21.4 FPS 42.8 FPS
Uncached location TP 55:41 sec 49.37 sec 44.27 sec
Cached location TP 46:61 sec 35.03 sec 17.57 sec
TP location – no shadows 28.9 FPS 29.25 FPS 45.54 FPS
TP location – shadows 13.5 FPS 22.8 FPS 38.8 FPS

Obviously, there is always going to be a lot of subjectivity in such tests like these, which are dependent upon factors such as the specs of the system running the viewer(s), what else is running at the same time, Internet connectivity with the SL services and to the nearest CDN node, etc. However, in carrying out the comparisons above, I attempted to achieve something of a common basis by:

  • Using the same settings across the three viewers (e.g. camera and graphics pre-sets; the same RenderVolumeLOD factor; the same attached EEP settings for a consistent environment; the same complexity setting & max no. of non-imposters, etc.) – with the acknowledged caveat that the Performance Improvements viewer would automatically default to Shadows ON for me, based on my system’s capabilities, so needed some adjustment during some tests.
  • Ensuring all tests were carried out back-to-back to minimise extensive changes due to avatars of different complexity coming  / going / moving around.
  • Closing all other apps I had been running on my PC to maximise the available resources available to all of the tests.

In addition, and for completeness (and as requested by Lance in the comments) – here are my system specifications – which are also available in the link on the right column of this blog.

But even while subjective, I think the results tend to speak for themselves, and there is no denying the qualitative frame speed increase with the Performance Improvements viewer, particularly with shadows enabled.

How quickly these updates are adopted by TPVs is down to their release schedules; but for the official viewer, this marks the first major release of updates intended to improve performance that is currently in flight, with the Performance Improvements Floater viewer (which includes the Lab’s take on auto-FPS function functionality similar to that found in Firestorm) currently at product viewer status.

The Performance Improvements viewer can be downloaded via the Viewer Download page, and the release notes are here.

Embedding Second Life 360 images directly into WordPress

via Linden Lab

I recently covered the promotion of the Second Life 360º Capture viewer to de facto release status (see: 360º Capture viewer now de facto SL release viewer), in which I referenced uploading images to platforms such as Flickr. Since that article, I’ve received questions on embedding images from the viewer into blogging platforms such as WordPress or viewing.

While I cannot speak to other platforms, it is possible to directly display 360º images (including those produced via the Second Life viewer and TPVs) directly into WordPress posts / pages. There are actually two ways of doing so:

  • If you are using Automattic’s own platform / hosting via WordPress.com, you can use dedicated shortcode created by Automattic.
  • If you are self-hosting and using WordPress.org, you can either use a dedicated WordPress.org plug-in such as Algori 360 Image, or try the shortcode option (which I believe should work, although I cannot verify, being a WordPress.com user).

For the purposes of this article, I’ll be covering the use of Automattic’s shortcode option. The key points of this approach are:

  • It works with both of the WordPress editors, Classic and Guttenberg (the “block” editor).
  • It supports any suitable 360º image with a .jpg file extension (not just those created with the SL viewer, although the notes below assume you are using the 360º viewer to initially create your 360º image(s).
  • It allows images to be viewed when embedded in a post / page, and has an option to display them in a full-screen mode and returning you to the post / page in which they appear when done.
  • As it works with URLs, it can be used to display 360º images you have uploaded to other platforms, such as Flickr (which I’ve also covered below).
  • It defaults all images to a single image size rather than a more usual equirectangular aspect ratio (2:1), which can look overly large within a post or page, depending on the theme you are using, as per the example below:

Embedding a 360º Image Uploaded to WordPress via the Classic Editor

  1. Use the 360º viewer to take your image.
  2. Upload the image to your WordPress Media Library.
  3. Edit the image via your Media Library, and copy the URL as it is given.
The image URL can be found in the image editor Attachment floater (WordPress Classic dashboard version shown). Manually highlight and clip it to your clipboard or use the Copy URL to Clipboard button. Click for full size, if required.
  1. Edit the post in which you wish to embed the 360º image and position the cursor when you wish the image to appear.
  2. Switch to the Text view (click the tab at the top right of the WordPress text editor), and enter the following shortcode:

Where “path-to-photo” is the 360º image URL.

  1. Switch back to Visual (click the tab at the top right of the WordPress text editor), the shortcode should appear as you’ve typed it.
  2. Go to Checking Your Results, below.

Embedding a 360º Image Uploaded to WordPress via the Guttenberg Editor

  1. Use the 360º viewer to take your image.
  2. Upload the image to your WordPress Media Library.
  3. Edit the image via your Media Library, and copy the URL as it is given.
  4. Create a Shortcode block, and within it type:

Where “path-to-photo” is the 360º image URL.

Checking Your Results

Once you have created the 360º image shortcode:

  • Use the WordPress Preview option to check the layout of your post / page and that the image is properly displayed.
  • Use the Full Screen toggle option in the bottom right corner of the image to expand it to a full screen view and then click the icon again to return to the post / page view.
  • If you see a message similar to “Enter valid URL” or “failed to load the VR scene”, check to made sure you have added the shortcode and / or image URL correctly.

Embedding a 360 image uploaded to Flickr

As noted above, you can also use the WordPress shortcode option to display360º images you’ve uploaded to Flickr directly into your WordPress posts / pages, where they will play when clicked. Here’s how:

  1. Upload a 360º image you’ve captured to your Flickr photo stream.
  2. Click on the image in Flickr to display it.
  3. Click the Share Photo arrow icon at the bottom right of the screen.
  4. This will open a floater with a series of share options. Click on BBCode.
  5. The floater will display URL information. click on the information to highlight it, then paste it into a suitable editor. It will look like the example below.
Flickr image BBCode – note the element highlighted in yellow
  1. Trim the URL to just leave the part highlighted in yellow that starts with “https://live.static” and ends with “jpg”.
  2. Follow the instructions above to create the 360º image shortcode using either the Classic or Guttenberg editor, replacing “path to photo” with the Flickr image URL from the BBCode.

The image below is an example of a 360º image uploaded to Flickr and embedded into this page using the above method, and which can also be seen here.

And that’s it! For any additional information, see: Embedding 360° Photos and Virtual Reality (VR) Content via WordPress.

360 Capture viewer now de facto SL release viewer

via Linden Lab

Note: for those wishing to know how to embed 360º snaps taken with this viewer / capability into WordPress posts and pages, please refer to Embedding Second Life 360 images directly into WordPress.

On Wednesday, December 15th, Linden Lab issued the Cache +360º viewer as the de facto official viewer release, marking the last viewer promotion for 2021.

As the second part of its name suggests, this viewer is designed to capture and produce 360º degree panoramic still images of the location / environment around your avatar / camera position (if freecamming) in a format that makes them suitable for viewing through platform supporting 360º panoramic images (including Flickr). It does this by simultaneously taking six images around the current camera position – one each at the four cardinal points, plus one directly overhead, and one directly looking down, all of which are then “stitched” into an equirectangular projection image.

The first iteration of 360º photo capability first appeared in the official viewer in October 2016, and came with a certain amount of complexity involved. Later iterations of the viewer improved on this, but the viewer continued to be hit by conflicts with the Interest List, and these and other issues forced work on the capability to be pushed into the background.

However, work resumed earlier this year, and as I reported at the time, an updated project viewer was issued in September 2021 (see Lab Issues Updated Projected 360 Capture Viewer). This release represents the latest iteration of that version whilst also being combined with the former Simplified Cache RC viewer, of which more below.

The 360º capture capability is utilised via a dedicated floater which can be accessed via the World menu and / or a dedicated toolbar button and / or a link in the original snapshot viewer and / or by pressing CTRL-ALT-SHIFT-S

Accessing the 360º snapshot floater (this can also be done via CTRL-ALT-SHIFT-S or by expanding the standard snapshot floater to show the full preview and clicking the Take 360º snapshot link in the lower right corner of the preview panel

Actually taking an image comprises a few simple steps:

  1. Position your camera.
  2. Select the image quality – for finished images you’ll need to set High or Maximum quality using the radio buttons.
  3. Click the Create 360º Image button to generate a preview in the floater’s preview panel.
  4. Click on the preview image and drag it around to ensure what you’re seeing is what you want / that things like textures have actually rendered correctly.
  5. Check the Hide All Avatars option, if required – this will cause the process to include all avatars present (it will not alter their in-world rendering).
  6. When you are satisfied with the preview, click Save As… to save it to your hard drive, renaming it if / as required.

Just remember that if you change the image quality, you must also click Create 360 button to update the preview AND image capture process to the new image quality, before click Save As… again.

Note that the required metadata to have image correctly show in Flickr and FB / Meta (and others) is included in the image – so if you save it to disk and upload it, it should render correctly, as per the image below).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)
This viewer also included updated code for the viewer’s cache. This code is an update to the Simple Cache viewer originally issued in March 2021, but which to be rolled back after it was found to have a number of significant bugs, such as BUG-230337 “Simplified cache viewer is ignoring cache path” and BUG-230295 “Cannot upload images on the Simplified Cache Viewer”.

In particular the code replaces the VFS cache system used to save local copies of frequently used assets such as meshes, sounds and animations with a simplified cache, and should make loading / reuse of these assets smoother.

Given the level of interest that has been shown in the 360º Capture viewer, this code will hopefully find its way into TPVs in relatively short order, holiday period allowing. In the meantime, the official can be obtain through the official viewer download page.

Lab issues updated Project 360 Capture viewer

via Linden Lab

On Friday, September 3rd Linden Lab issued the latest update to the 360º Snapshot viewer – now called the Project 360 Capture viewer – with the release of version 6.4.23.563579. It represents the most significant update to this viewer we’ve seen, and it comes after a significant pause in its development.

As the name of the viewer suggests, it is designed to take 360º degree panoramic images of the environment around the camera. It does this by simultaneously taking six images around the current camera position – one each at the four cardinal points, plus one directly overhead, and one directly looking down. These are then “stitched” into an equirectangular projection image (e.g. one that can be projected as a sphere), which can then viewed through a suitable medium – such as Flickr (other mediums are available!).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)

The first iteration of this viewer appeared almost five years ago, in October 2016, and came with a certain amount of complexity involved – including the need to install a local environment for previewing captured images. Later iterations of the viewer improved on this, but the viewer continued to be hit by conflicts with the Interest List.

In simple terms, the Interest List lightens the load – objects, textures and updates to active objects, etc., – the viewer has to process when rendering. It does this by ignoring things that are not in the camera’s direct field of view. This is why, for example, when you turn your camera away from the direction you are looking, it can take time for objects and their textures to render. However, for a 360º-degree image, everything needs to be properly rendered in the viewer – whether in the current field of view or not. Overcoming this problem has proven difficult – and it (admittedly with other factors also coming into play) caused work on the viewer to be halted for an extended period.

This version of the viewer overcomes most of these issues, and makes the creation of 360º snapshots straightforward through the use of a new 360 Snapshot floater that is independent of the “standard” snapshot floater, and the use of some additional back-end code to overcome the Interest List. This new floater can be accessed from within the Project 360 Capture viewer in one of four ways:

  • Via World 360 Snapshot.
  • By pressing CTRL-ALT-SHIFT-S.
  • By enabling the 360° snapshot toolbar button in one of the toolbar areas.
  • By expanding the standard snapshot floater to show the full preview and clicking the Take 360 Snapshot link in the lower right corner of the preview panel.
Accessing the 360 snapshot floater (this can also be done via CTRL-ALT-SHIFT-S or by expanding the standard snapshot floater to show the full preview and clicking the Take 360 snapshot link in the lower right corner of the preview panel

The floater itself comprises several elements:

  • The image Quality radio buttons and selection button (labelled Create 360 Image).
    • The quality buttons appear to utilise the viewer’s screen buffer to render the different image types, so Preview appears to use the 128 vertical buffer, while Medium and High use the 512 and 1024 buffers respectively, and Maximum the 2048 buffer (i.e. the full 4096×2048 resolution).
    • When you have selected your preferred quality, click the Create 360 button to generate a preview.
    • If you alter the image quality at any time, you’ll need to click on the Create 360 button again to update the preview / take a fresh image at the new image quality.
  • A checkbox to disable avatar rendering during the image capture process.
  • The preview panel. This will show a rotating image from the current camera position until refreshed, and this image can be manually rotated / panned up and down by clicking on it and dragging the mouse around.
  • The Save As… button that actually saves the image to your hard drive.

To take an image:

  1. Position your camera.
  2. Select the image quality – for finished images you’ll need to set High or Maximum quality using the radio buttons.
  3. Click the Create 360 Image button to generate a preview in the floater’s preview panel.
  4. Click on the preview image and drag it around to ensure what you’re seeing is what you want / that things like textures have actually rendered correctly.
  5. Check the Hide All Avatars option, if required – this will cause the process to include all avatars present (it will not alter their in-world rendering).
  6. When you are satisfied with the preview, click Save As… to save it to your hard drive, renaming it if / as required.

Remember, if you change the image quality, you must also click Create 360 button to update the preview AND image capture process to the new image quality, before click Save As… again.

Once captured – again as noted – images can be uploaded to a suitable display platform such as Flickr – the images contain the necessary metadata that should automatically trigger the 360-degree viewing process (just click on an image in flicker to manually pan around up / down).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)

General Observations

  • An easy-to-use iteration of the 360º snapshot viewer that brings good quality and ease-of-use to the process.
  • The ability to avoid rendering avatars not only helps avoid issues of rendering / motion blurring when taking a 360º image, it enables the easy capture of landscape images. It also, obviously, allows for the capture of posed avatars if required.
  • There are still some issues in rendering out-of-view (relative to the visible field of view for the camera) items and textures at High and (particularly) Maximum quality images – note the blurring of the vessel name in the first 360 image above.
  • The lowest quality Preview option is simply too blurred to be of real value – perhaps using 256 rather than 128 might improve this (if only slightly)?

Viewer Links