Kirsten’s viewer: a return to active duty

Around a decade ago, a popular third party viewer (TPV) among Second Life photographers was Kirsten’s viewer, produced by KirstenLee Cinquetti (aka skilled coder Lee Quick).

At the time, it pushed hard to make the graphical appearance of SL rich and deep. It was also the first TPV to experiment with analgyph 3D, far back in 2011, long before “VR headset” was in common use.

Sadly, development of the viewer drew to a close in late 2011 as a result of personal circumstance (some of which is charted in these pages), although KirstenLee kept dabbling with it on-and off (such as returning to the S19 UI version and updating it in in 2013, and keeping pace with significant viewer updates from the Lab, such as Bento for the S22.x (current UI) version in 2017).  Now – and as pointed out to me by Austin Tate – the viewer is more formally back, KirstenLee having completed the self-certification required to have the viewer once more added to the Lab’s Third Party Viewer Directory.

Available for Windows, the updated Kirsten’s Viewer is bang-slap up-to-date, in that it is built on the most recent release of the official LL code base (release 6.4.0.540188 at the time of writing), and so includes the viewer 3.x+ UI, and all significant updates from the Lab up to and including EEP, the Environment Enhancement Project, although as Kirsten noted with it’s release, some tweaks might still be required.

Kirsten’s Viewer is EEP capable

KirstenLee refers to the viewer as something of a “hybrid”, and when approaching it, it is as well to keep this in mind. “Hybrid” is this case is a reference to the fact that while it is based on the core LL code base, the viewer also pulls in elements from what might be LL project viewers (and so not necessarily ready for “prime time” use), and from other TPVs. In doing so, the focus is very much on code that improves stability / performance.

I tend as a rule to keep any feature or alteration within the existing code base and not add extras which cannot be integrated into the standard source. I also use LL code style and naming conventions.

– KirstenLee, discussing Kirsten’s Viewer

In this regard, the viewer is also described as being “aimed specifically at experienced users, with emphasis on the visuals.” This is not so much to put people off, but to underline the fact that use of the viewer comes best if you have an understanding of the more esoteric aspects of viewer use – such as clearing caches and settings from any prior versions when installing a new version (aka, performing a “clean install”). Such capabilities are not hard to grasp, and can be found documented in various locations.

Given the S23.x release is based on the latest LL code base, you can comfortably expect all of the major Lab updates to be present, as noted, and may from time-to-time include elements from upstream of the release viewer (as with the Legacy Profiles, again as mentioned above). It also pulls some updates from TPVs like Firestorm; however, those familiar with the latter should not expect Kirsten’s Viewer to expose debugs or offer viewer-specific capabilities to anywhere near the same degree – that’s not the point of this viewer (although that said, it would be nice to see Kirsten’s adopt the client-side AO mechanisms, simply because it is available in several TPVs and used by many people as a result).

Kirsten’s Viewer includes the upcoming re-integration of viewer-based profile panels – which includes the profile feed from the web, and currently found in the Lab’s current Legacy Profiles project viewer

Given this, the viewer’s Preferences and Tool Bar options are pretty must as found in the official viewer, with just a trio of differences in the the former. The Move & View tab, for example, includes additional sliders for camera movement  – lag, smoothness zoom time – again in keeping with the ideals of photography / visuals. Further, the Set-up tab does not include the auto update options, for reasons KirstenLee also explains:

I do not use the Linden auto build system. I host all the build libraries because I occasionally work on those in concert with the viewer code. It allows for much finer control over the entire process. I have a tendency to do custom compilations with different tool-sets which is something an official client would never do, for reasons of the broadest compatibility with the consumer.

– Kirstenlee, discussing Kirsten’s Viewer

Thirdly, Kirsten’s Viewer includes a custom Features tab (called S23 Features in the current release, although this will doubtless increment to match future versions). This is again camera / visuals related, and includes the option for running the viewer in analgyph mode can be found.  This includes sliders for adjusting the analgyph 3D view to account for eye separation and focal distance.

The Features tab in Kirsten’s Viewer is where you can find the analgyph options, for those with analgyph glasses

Should you have analgyph 3D glasses and use the option, the following points should be noted:

  • Activating it will disable the viewer’s Advance Lighting Model (ALM) shaders – so shadows, ambient occlusion and depth of field will all be disabled.
  • Toggling analgyph mode off will not automatically re-enabled ALM, you must do this yourself from the Graphics→Advanced Settings floater.
  • If you log-out with the analgyph option enabled, it will be disabled automatically on logging back in, but again, ALM + options will remain disabled until turned back on.
  • If you use a 3D mouse such as SpaceNavigator, you may find activating the analgyph capability will severely alter default 3D mouse movement. As the overall defaults for the SpaceNavigator (Move & View→Other Devices) were not altered and given I don’t actually have analgyph glasses to make it worthwhile, I confess I did not fiddle with settings to see if the issue could be corrected.

It may seem odd in “bringing back” a viewer after so long, but there are reasons for it, again as KirstenLee notes:

Its a matter of public record as to how development ended, a perfect storm of circumstances made continued work on it impossible. But as with all things time is a great healer. Besides after nearly 16 years of SL I find myself enjoying my in world life. And have the luxury of  a good work balance and a happy and healthy home. So while the sun shines make hay 🙂

For my part, and while I’ve not not driven the S23 release hard or far, I can only say its good to see Kirsten’s Viewer back on the active list once more. While it was never my main viewer, it was a go-to viewer for me for photography. And while it may only be subjective, it does seems to add more depth to EEP skies than I’ve noted with the official EEP viewer – the stars seem to “twinkle” more noticeably.

It’s always tempting to offer a list of what a viewer “could” or “should” have, particularly if coming from something like Firestorm – but the point of TPVs are that they are not meant to all provide the same things. With its emphasis on visuals, performance and stability, Kirsten’s Viewer addresses a specific set of goals and as such, has – and likely will have – only the tools it needs to achieve that, my own earlier comment on the client-side AO above notwithstanding.  As such, I’m looking forward to seeing the viewer’s progress, and reporting on it.

Related Links

2020 SL project updates week #18: TPVD summary

Finian’s Dream, March 2020 – blog post

The following notes are taken from the TPV Developer meeting held on Friday, May 1st, 2020. These meetings are generally held every other week, unless otherwise noted in any given summary. The embedded video is provided to Pantera – my thanks to her for recording and providing it. Time stamps are included with the notes will open the video at the point(s) where a specific topic is discussed.

This was a short meeting, with long periods of silence.

SL Viewer News

[0:00-3:00]

  • The CEF Special RC viewer, version 6.4.1.541204, was issued on Thursday, April 30th.
    • [12:54-13:34] This is a specific update put out in support of a particular customer’s event.

The remainder of the official views currently in progress remained unchanged through the week as:

  • Current Release version  version 6.4.0.540188, dated April 15th, promoted April 20th. Formerly the EEP RC viewer.
  • Release channel cohorts:
    • Zirbenz Maintenance RC viewer, version 6.4.1.540593, April 27th.
    • Camera Presets RC viewer, version 6.3.9.538729 March 25th.
    • Love Me Render RC viewer, version 6.3.9.538760, March 25th.
  • Project viewers:
    • Copy / Paste viewer, version 6.3.5.533365, December 9, 2019.
    • Project Muscadine (Animesh follow-on) project viewer, version 6.4.0.532999, November 22, 2019.
    • Legacy Profiles viewer, version 6.3.2.530836, September 17, 2019. Covers the re-integration of Viewer Profiles.
    • 360 Snapshot project viewer, version 6.2.4.529111, July 16, 2019.

General Viewer Notes

  • The Zirbenz Maintenance RC looks set to be the next viewer in line for promotion (being the only RC thus far merged up to the EEP code base). This looks set for promotion in week #19 (commencing Monday, May 4th).
  • The mesh upload updates viewer is still expected to appear as a project viewer soon™.
  • The viewer build tools update viewer is still held up by a couple of significant crash issues.
  • An FMOD update viewer is anticipated as appearing soon™.
  • Further Chrome Embedded Framework (CEF) RC updates should result in improvements to handling more (and more recent) video codecs, once available.
  • [8:07-8:55] The Legacy Profiles viewer has apparently been hit with an issue that has delayed it – although it’s not certain whether or not this has now been cleared up.

In Brief

  • [18:02-18:38] There is work being carried out on group chat. however, it is not focused on performance improvements per se, although it may end up providing some. LL do acknowledge a further pass focused on group chat reliability is required “at some point”, but probably not until after the cloud uplift.
  • There are reports that the viewer’s built-in browser is experiencing issues retaining cookies, causing people to have to log-in to the Lab’s own websites when using it (accessing non-SL websites using the internal browser isn’t recommended).
  • The simulator-side fix for off-line inventory losses from objects (see: BUG-227179) still has yet to clear QA (due to other issue with the release it is bundled in). The hope is that it will make it onto a server-side RC update “in the next couple of weeks”.
  • Firestorm and EEP – it was mentioned that the Firestorm team still have “a lot of work to do” before they’ll be in a position to make an EEP release – the forthcoming Firestorm update will not include EEP.

A Fairelands Journey: the domes of Agra Adara

Fantasy Faire 2020: Agra Adara

Beyond the borders of Heliodor the lands changed. Verdant grass and trees gave way to scrub, then rock and sand. As they changed, so did the say above, turning to the pale blue of burnished steel, the Sun hot and painful to the eyes. Hard and unwelcoming, these were lands that gave birth to doubt and the desire to turn back from our path and seek again the haven offered by the elves of Heliodor once more. 

But onward we strove, company and horses wilting in equal measure under the heat of the Sun and huddled against the cold nights that awaited at the end of each day. We were drawn by the mystical promise of Agra Adara, and when its golden domes and slender minarets rose through the horizon’s haze, we all could not help but be lifted in spirit and pace, despite the Sun’s heat until at last we came to the gates of the city as it sat between the seas of sand and water.

Fantasy Faire 2020: Agra Adara

Standing as a beacon of light in the surrounding darkness of desert and sea, Agra Adara is a place that defies description for those who have not seen it. Scarce have I found a place more strange to my eyes: the peoples here be-robed in white or bright colours even to their heads, their skins warmed brown by the Sun, their eyes bright stars filled with greeting, their houses and buildings natural palaces of cool air, rich carpets and tiles that carried the heat of the body away through the very soles of our boots.

The gardens surrounding these snow-white buildings offered a rich sanctuary from the trials of journeys by land or across the inland sea. As rich and verdant as those of Heliodor, Elemaria or the other realms through which we had passed, these gardens lay cut by channels of water built by hand, and by natural pools. Thus Agra Adara is more than an oasis – it is a haven for life, watched over by the strange – to mine own eyes at least – animal and man-gods of the ancient peoples who formed it.

Fantasy Faire 2020: Agra Adara

Never have a seen a place so rich in life – the people, the deer, the rabbits, the dogs and the most magnificent horses I have ever seen, tall and proud, with blankets instead of saddles. It was on these marvellous beasts that I and three of my companions were given a tour of the gardens on our second day in this most renewing of places. Dressed in the light robes and headdresses of out hosts, we followed paths through the long grass to discover the decorated gardens where the deer roamed, and thence out to the pools beyond where we were greeted by the wonderful site of elephants that raised their trunks in greeting.

It was here by day we could rest and renew our spirits and by night witness such dance and entertainment as we have never witnessed – but not for ourselves or the other travellers, traders and merchants drawn to Agra Adara’s jewel , but for the people of the city itself. Filled with an inner light and a lightness of heart, they dances for one another, for their love of life, weaving tales of the history of the world as they saw it, celebrating those strange gods who had helped them to found this golden-domed city and caused it to flourish.

For me, this was a place I could so happily have settled, the richness of history and depth of beauty called to my heart, the dance caused me to want to learn more of the legends of the gods and men who gave the city form. and so I counted each day within Agra Adara, hoping the ship that would carry onward might be delayed by yet another, so my time here could continue.

Fantasy Faire 2020: Agra Adara

Agra Adara by Eldowyn Inshan & Katz Republic, sponsored by United InshCon & Bad Katz, Camp Italia, Eagle’s Photo Studio. Featuring stores by: ChangHigh Art, CKit Falconry, DCKM & Rogues Echo, Dragons Arise, Dreamcatcher, .: Eclectic Stars :., Grumble, Hawker’s House & Dragon Forge Weapons, John Dee’s Emporium, Little 2 Large, Lyrical Bizarre Templates, Mirage Treasure Co., Sakka’s Studio, Shaman’s Hut, Stitched, and TFF – Tayren’s Fantasy Fashions.

Total raised by the end of the Faire’s eighth day: L$7,695,927 (US $30,783).

SLurls and Related Links

Fantasy Faire regions are rated Moderate.

2020 Content Creation User Group week #18 summary

The Getaway – Nutmeg, March 2020 – blog post

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, April 30th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are are available on the Content Creation User Group wiki page.

Unfortunately, my recording software crashed some 2/3rds of the way through the meeting (and I was afk, so didn’t spot it), so I missed recording around the last 15-20 minutes of the discussions.

Jelly Dolls / Avatar Rendering

  • As noted in my week #16 CCUG summary, Vir has been looking at the jelly doll rendering code, which is not well optimised (e.g. it still draws rigged attachments) and it handles some operations inconsistently (e.g.setting an avatar to never render is actually more processing expensive that simply leaving it jelly dolled).
  • One of the things Vir has been experimenting with is displaying Jelly Dolls as monochrome system avatars sans rigged mesh and attachments.
  • An issue with this approach  is that non-human avatars use animations to reposition bones and joints, when can result in the system avatar looking very weird, even in monochrome. Vir has therefore been focused on finding a way to pause the animations when a non-human avatar is jelly dolled, and just running something like one or two of the default animations from the system locomotion graph.

In brief

BUG-228564 -Feature Request: New object property “Intangible”

This is possibly a duplicate request (those listed on the Jira are for different functionality, so not true duplicated), requesting an option to make certain in-world objects “invisible” to the viewer’s ray casting, so they they do not react to mouse clicks, but the objects beyond can.

Such a capability would be useful where semi-transparent objects are used to imitate sun beams or fog or rain, etc., otherwise block the ability to click on objects (e.g. seats, etc.), they surround / are in front of. However, such a change would require both viewer-side and back-end changes so, even if the Jira isn’t a duplicate of an existing request and is something LL accept, it is unlikely to be worked on until after the cloud uplift work has been completely, simply because it will require the introduction of a new object property on the simulator side / back end.

Education / Awareness

Much of the meeting was a general discussion on how to better inform / educate creators and users on the benefits of optimised content, and exactly what can impact things like perceived SL performance.

The major crux of this discussion came down to providing better documentation / information that both creators and users could be pointed to (e.g. more detailed information on mesh creation, including topics such as LOD generation, tri counts, use of maps, etc. for the former; clearly-worded instructions and benefits of using tools like ARC, etc., in the viewer to improve performance, etc., for the latter).

  • It was pointed out that LL have limited resources for the production of comprehensive best practices, and that perhaps the best sources for these might be creators themselves.
  • As the SL wiki is currently closed to general editing, those who have a specific desire to edit wiki pages / build articles can request access by sending an e-mail outlining who they are and why they want access to: letmein-at-lindenlab.com.