Lumiya 2.4.7: bake, float, layer and find your place

lumiya-logoLumiya, the mobile client for Android devices saw two rapid-fire updates on June 11th. First came version 2.4.6, offering a lot of new and improved functionality, which was followed by 2.4.7 with a round of bug fixes which demonstrated again that no matter how hard you try to stomp on the little sods before a release, some of them will still be there to blow raspberries at you after a release…

Given the rapid-fire nature of the updates, I’ll be reviewing them all under the banner of the 2.4.7 release.

The Fixes

The under-the-hood fixes to Lumiya with this release comprise:

  • Minor inconsistencies with avatar shape rendering correctly
  • Fixed terrain rendering in regions with default terrain textures
  • Fixed a crash on clearing cache while connected
  • Updates for server-side baking compatibility.

Multi-wear / Multi-attach

Lumiya now supports multi-wear for clothing at attachments.This is enabled via an ADD option appearing in the pop-up menu when selecting items from inventory or outfits to be worn / attached.

Currently, the order in which items on the same clothing layer are displayed is a little random (so if you wear shirt layer item 1 first and then shirt layer item 2, the second item might appear to be worn over the first, but the next time you add them in the same order, the second might appear to be worn under the first). There is also no ability to re-order items once worn, as is possible with a viewer.

At the moment, system clothing in Lumiya all utilises the same icon in inventory & outfits (a shirt icon), regardless of the layer on which it is worn. Alina does plan to improve this in time, however her attention is on other functionality right now.

Lumiya 2.4.7: (L) – The new ADD option for multi-wear, allowing additional clothing items to be worn on an occupied layer / attachments to be worn on an occupied point, a-la most viewers, and accessible from both inventory and outfits; (c) – the new Places search option, which can be selected from within Search; (r) – the three options available from within Lumiya’s settings for displaying hover text in-world

Search Places

Lumiya’s Search option has been expanded to incorporate places and well as people. You can toggle between the two on entering search (e.g. by selecting it from the menu displayed when tapping the Menu button on your device) by tapping on the displayed option (People is the default) and selecting the required option from the drop-down.

Emotes and Hover Text

Lumiya now supports emotes in chat (e.g. /me smiles) and will also now display hover text above objects. By default, this is only on for hover text associated with worn HUDs. This is to prevent smaller screens being over-run with lots of on-screen hover text (because you’re roaming through a breedables store, for example). However, it can be enabled for in-world objects (or disabled altogether) by tapping the Menu button on your device and then going to Settings and scrolling down to 3D View and tapping Display floating text. This will display a pop-up menu with three options: On all objects, Only on HUDs, and Do not display – tap the radio button for the desired option.


All told, another nice little package of updates to Lumiya which again further increase its capabilities and which enhance it as a worthwhile alternative to a full-blown viewer for those who need to access SL while on the go and away from their computers.  All of the additional functions are nice-to-haves, and the server-side baking / appearance updates ensure that Lumiya remains SSB/A-ready, once the latter starts to go live across the grid. There is something of a delay in changing / updating outfits as a result of SSB/A, so if you do try Lumiya for the first time, please bear this in mind and remember the app is doing an incredible amount of work in order to bring you both a mobile client and a functional in-world, real-time view of the world.

Kudos to Alina once again!

Related Links

SL projects update 24 (3): New object return LSL capabilities

Update June 12th, 22:40 BST/14:40 SLT: The BlueSteel  / LeTigre deployment which includes these capabilities has been rolled back due to an issue whereby objects cannot be rezzed in BlueSteel / LeTigre parcels which disallow object entry (even if Create Objects is enabled) – BUG-2850. Both regions are now running the week 24 Magnum deployment.

In week 23, Kelly Linden announced new LSL capabilities for the scripted return of objects within a region / parcel.  In making the announcement, he indicated the capabilities would be available “some time in the future”, a comment which appears to have been a little overly cautious, as the new functionality received its first outing on the Main channel in the RC deployments to BlueSteel and Le Tigre on Wednesday June 12th.

The new object return functions are llReturnObjectsByOwner and llReturnObjectsByID, and are designed to be used to enable the automated return of specified linksets to their owners.

The object containing scripts using the functions can either be placed in the land, or worn as an attachment but will only work on land held by the object owner.

The primary aim of these functions is to make for easier clearing of private sandboxes and rental parcels in cases where previous users / tenants may have left objects behind on leaving (thus removing the onus on the land owner to locate and manually return items).  They are not intended as anti-griefing tools, nor are they a “replacement” for the parcel / region auto-return functions.

The Functions

The functions are defined within the BlueSteel and LeTigre release notes as follows:

Additional Notes and Q&A On Capabilities / Limitations

There are also some additional notes which go with the new functions:

  • There are no cases where one of these new LSL calls would return an object that you could not manually return yourself
  • The functions will only work on objects in the same region/parcel as the object containing the script using them. Objects which are returned are coalesced in the recipient’s inventory, rather than being returned as individual objects
  • The functions work if and only if the user would have permission to return the object via the viewer, and it does not handle encroachment
  • To prevent severely damaging accidents the mass returns by owner (llReturnObjectsByOwner) will not work for your own items, items owned by an estate owner or manager or items that are owned by the group the land is ‘set’ to
  • llReturnObjectsByID will not return objects owned by the parcel owner
  • In order to work on group-owned land the object containing the script using the functions must be deeded to the group by the group owner
  • The return capabilities are throttled to a maximum hourly quota based on a parcel’s Land Capacity (under About Land > Object). So, if your Land Capacity is 500, then using these LSL functions you can return up to 500 linksets per hour
    • The throttle is there primarily to prevent a silent war between a rezzer and returner that could impact the back-end servers
    • Even with the throttling, it is anticipated that the functions should be able to return everything on your land within a region in one go, but not necessarily more than once an hour for large-scale returns.

Continue reading “SL projects update 24 (3): New object return LSL capabilities”

SL projects update week 24 (2): server news

Update June 12th, 22:40 BST/14:40 SLT: The BlueSteel  / LeTigre deployment which includes these capabilities has been rolled back due to an issue whereby objects cannot be rezzed in BlueSteel / LeTigre parcels which disallow object entry (even if Create Objects is enabled) BUG-2850. Both regions are now running the week 24 Magnum deployment.

Server Deploys for Week 24

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

Second Life Server (Main) Channel

On Tuesday June 11th, the SLS channel received getting the server maintenance project that was on BlueSteel and LeTigre in week 23. This is intended to fix a simulator crash mode, and address a disconnection issue whereby multiple avatars would be disconnected from a simulator simultaneously, giving the impression the region had crashed when it had in fact not done so, and which also impacted LSL HTTP-in URLs.

Following the deployment, there was a report that the disconnection issue fix had not fully addressed the problem of LSL HTTP-in URLs being dropped, which was also raised at the Simulator User Group meeting on Tuesday June 11th. The matter has been acknowledged by Kelly and Maestro Linden, who are currently awaiting further information on the problem, although Simon Linden also commented, “I realize a bug Kelly and I were talking about earlier today is that issue, so someone is on it.”

Simulator UG meeting (stock)
Simulator UG meeting (stock)

BlueSteel and LeTigre Release Candidate Channels

On Wednesday June 12th BlueSteel and LeTigre should receive a new server maintenance project to fix a number of crash modes, addresses an issue with neighbouring region visibility, and adds new LSL pathfinding capabilities and object return capabilities:

  • The new pathfinding property CHARACTER_STAY_WITHIN_PARCEL, which I described in week 19. can be used with llCreateCharacter() and llUpdateCharacter(), and is intended to help with keeping characters within parcel boundaries
  • The new object return functions I reported on in week 23, namely llReturnObjectsByOwner and llReturnObjectsByID, are intended to provide an automated means of returning objects to their owners. For ease of reference, I’ve provided a more in-depth look at the capabilities in a separate report. Kelly Linden has also includes some guidelines on the functions in the deployment discussion thread.

Magnum Release Candidate Channel

On Wednesday June 12th Magnum should receive an update to the current interest list changes running on that channel, which addresses two bugs introduced by the project. Providing no further issues are found with these changes, it is likely (but subject to confirmation) that they will be promoted across the grid in week 25.

Commenting on the Magnum update at the Simulator User Group meeting on Tuesday June 11th, Andrew Linden said, “The Magnum channel has two bug fixes. The excessive AvatarAppearance packets [in which the simulator would send many unnecessary AvatarAppearance messages to the viewer], and my final fix for Meeroos; specifically, the problem where it looks like the Meeroo’s animation is busted when you turn around to look at it.”

Going on Andrew’s recent comments, this update is liable to mark the final aspect of server-side interest list work for the moment.

The Magnum deployment also includes a fix for the issue relating to viewing the text of large scripts I reported on in week 23, whereby the text of previously saved “large” scripts cannot be displayed in the script editor for users on slow connections (BUG-2694). This update had originally been targeted at the week 23 deployments, but failed to make the cut then due to some last-minute work being required.

Other News

Group Ban List

Baker Linden
Baker Linden

The group ban list functionality Baker Linden has been working towards in his desire to address JIRA SVC-8127 may soon start to get attention. Commenting at the Simulator User Group meeting on Tuesday June 11th, Baker said:

I am getting closer! I haven’t started work on it directly, but I’m wrapping up the last of the bug fixes related to Mute Lists. I’m writing some new unit tests to test my new functionality … There might be some viewer / other backed server work to do too, but hopefully everything will work so that part will be smooth. But after I finish up this last issue, I’ll be working on group ban stuff. I’ve learned a ton about Django and how to implement it, so I’m hopeful that it’ll be somewhat smooth of an implementation.

Django is a web framework the Lab uses for a number of in-world user-related services, and is the chosen mechanism by which to add the ban list functionality (its use doesn’t mean the group ban function will be web-enabled or anything like that). It is also a tool set unfamiliar to Baker, who only started finding his way around it a few weeks ago.

JSON Wiki Update

New LSL capabilities were recently introduced for the creation and parsing of JSON formatted strings which can used for transferring data between in-world objects and external resources / websites.  The LSL-JSON pages on the Second Life wiki have been evolving over the past few weeks, with the most recent updates occurring on June 10th. If you’re interested in these new capabilities, make sure you take a look at the wiki.