Wednesday, February 28, 2007

New LSL commands for setting linked prim parameters

Things that make script geeks happy -- I came across this in the forums:

New LSL Commands in 1.13.4 (posted by Milo Linden)

These seem to have slipped from the release notes, but i know quite a few have been looking forward to these.

Currently on the aditi beta grid.

llSetLinkTexture(integer link_pos, string texture, integer face)
Sets the texture of face for link_pos

llSetLinkPrimitiveParams(integer linknumber, list rules)
Set primitive parameters for linknumber based on rules.

Each with a 0.2 second sleep and rules as per their non link counterpart.

What does it mean? It will make life SO much easier to pass prim parameter information between linked sets. Faster too. And, reduce memory requirements. The SkirtProgrammer should become MUCH easier to extend to modify anything.

It's not slated for release for a few months, but it will be very welcome when it arrives!

Wednesday, February 21, 2007

First Land, and good people

Yesterday, without any warning, Linden Labs announced the end of the First Land program. It was a bit disappointing, because I had actually upgraded to a Premium account just 7 or 8 days prior, in the hopes of someday acquiring a little parcel to call my own. I was going to write what I think of Linden Labs, but...

... instead, I'll just publicly thank some people, who will remain nameless. But you know who you are!

Thank you to the decent human being who had a parcel of First Land of her own that she no longer needed, and felt badly about what Linden Labs had done. She wanted to find someone to sell it to, at the far-below-market value of L$1 per square meter. Totally understandably, she didn't want to "give" it away to someone who would immediately resell it for a 10-fold profit. That's not what First Land was meant for.

Thanks to a friend who knew of my disappointment about First Land, for remembering me, and for connecting us.

It's silly, but it was such an exciting moment when I went to that parcel, and clicked Buy for L$512 and... I was a landowner! Sure it's not much, but it's a place to call home (and was immediately set as my new home location, LOL).

Really, it reaffirms my belief that there really are good, decent people out there, who choose to do something nice for essentially a random stranger, rather than to make a profit. Thanks again. I only wish that all the other Premium members who just wanted a little place to call their own, could also have been as fortunate as I.

Time to try my hand at writing a "scene rezzer", to make the most of this little plot :)

Tuesday, February 20, 2007

Incredible texture work, offline to SL

Holy bajeezus, but it's really impressive what some people can accomplish with texture work, using 3-D ray tracing.

By creating textures off-line and simulating light and shadows, Johanna Hyacinth has really impressive "before" and "after" views of a lecture hall she designed for Rockcliffe University in Second Life. I just love the way the corners of the rooms get dark, and how the shadows fall under the chairs. Very much worth taking a peek at.

I hope she doesn't mind that I'll post two thumbnails here...


Wednesday, February 14, 2007

"Smoke" texture and subtle permissions problems, crud crud crud

The "Edit Linked Part" feature of the newly released LoopRez Deluxe v0.8 had a critical failure with textures, with the "Smoke" texture being substituted. This is due to the inconsistent and flawed permissions system on SL, and was missed because it was not apparent to me, because I had full permissions on all objects during testing.

I released a version 0.81 fix for both the Commercial and Personal editions.
  • Commercial Edition has full functionality restored.
  • Personal Edition can still do the "Edit Linked Parts" --> "Touch" to update skirt, but textures will not be propagated. All other prim parameters will be sent to the rest of the skirt. I'm sorry that I was not able to keep ALL features identical between Personal and Commercial Editions
  • the Template DropScript can still be used with both versions, to send texture information

Technical explanation: inconsistencies / holes in the SL Permissions system:

Users should be aware that a serious hole in the SL permissions system is that any object, even if "NO COPY / NO TRANSFER" can be physically copied, if they are "MOD"-able.

The way it works is that you write a script that reads off ALL the prim parameter settings of an object and reports them, and then you drop it into the "MOD / NO COPY / NO TRANSFER" object. With the prim parameter settings, you can recreate the object, and you could have another prim "listen" to this report of settings, and duplicate the object.

This has been known a long time, and caused quite an outcry when the technically excellent and ethically conscientious scripter Jeffrey Gomez released an incredibly helpful tool, that as a side-effect, revealed more publicly the already-present and known-to-some short-coming in the SL permissions system. He tried to work with LL to close this permissions hole, but LL was not interested. He tried to release an entire LSL-based system to close the hole, and was attacked by the user community.

So, the hole remains. As you might have guessed, the way the DropScript works is by reporting all prim parameters to the LoopRez object. It could copy objects that are NO COPY / NO TRANSFER, except that I coded it so that it checks permissions and refuses to run, unless FULL perms are present. I have no wish to be attacked the way Jeffrey Gomez was.

There was a time when even textures could be copied in this way; however, LL did patch the permissions system so that texture UUID's can not be read unless full permissions are present, while other prim parameters CAN be read. I was aware of this, and figured that would not be a problem, because I warned LoopRez Deluxe users that they would need full permissions on any template prims.

Here's the subtle problem that I missed: if an object that you have FULL permissions to is linked to an object that you do NOT have full permissions to, you will not even be able to read the texture UUID of the object that you DO have full permissions to.

And, when you try to read a texture UUID that you're not allowed to, it returns the NULL_KEY (all 0's). And when you try to set a texture with NULL_KEY, you get... the "Smoke" texture.

The Commercial Edition fix was easy -- the Little Metal Ball is now full permissions. Early testers of the latest version of LoopRez Deluxe sometimes had a metal ball that was full permissions, sometimes not, which is why the problem seemed unpredictable and intermittent.

The Personal Edition can NOT be fixed, because the panels are all NO TRANSFER (by definition of the Personal Edition.) You can still do the "Edit Linked Parts", but I edited the script so it would not try to read the textures (because it can't). Textures can still be read by the DropScript, because it is dropped onto an unlinked prim which you have full permissions on.

I apologize to all LoopRez Deluxe users who received this product with the "Edit Linked Parts" initially not working.

Sunday, February 11, 2007

Varying skirt pleat lengths (and colors) -- skirt scripting language?

Voila, the ugliest skirt in existence!

One of the things about LoopRez is that it generates skirts where all the panels are essentially the same -- same color, same length -- just varying in position and rotation in space. Varying the length can give a much more interesting effect. One of my favorites is Natalia Zelmanov's formal gown.

When LoopRez was modified to have a "BACKANGLE" setting, where the back panels can have a different amount of flare angle compared to the front of the skirt, I started thinking that it ought to be possible to do more with varying each panel.

I experimented with a rather extreme case of varying textures across the panels, by tiling a texture completely around the skirt. This worked, but had to be hand-coded, adjusting the script for the specific skirt size and texture. This wouldn't be terribly accessible to the general public.

So, what about varying lengths (and colors) across skirt pleats, but making it more usable to the general public? I've been thinking about this for a while now, and even mentioned it a little while back. Well, in the past few days, I wrote my first notecard reader (for product updates, actually), but realized that a notecard might be a way for a skirt designer to tell LoopRez what they wanted in varying lengths.

Here's what I've come up with -- the LoopRez Skirt Programmer
  • there are 360 degrees in a circle: moving counter-clockwise looking down on a skirt,
    • 0 degrees is the front of your skirt;
    • 90 degrees is your left side;
    • 180 degrees is the back;
    • 270 degrees is the right side; and
    • 360 degrees is the front again
  • prim sizes are described (in the Edit Menu and in scripts) as three numbers <x,y,z>, a vector. Generally, the Z size is the length of a skirt, depending on how you rotated your prim
  • I create a notecard, and consisting of some lines that describe the lengths at various "degree positions" on a skirt. Here's an example:
    TYPE~SIZE
    0~<0.2, 0.2, 0.2>
    30~<0.2, 0.2, 0.3>
    60~<0.2, 0.2, 1.0>
    300~<0.2, 0.2, 1.0>
    330~<0.2, 0.2, 0.3>
    360~<0.2, 0.2, 0.2>
    The first line tells my script that you want to vary the size. Notice that X and Y are always 0.2 -- those sizes don't vary. Notice that Z, however, varies from short (0.2 m) at the front of the skirt, a little longer (0.3 m) at 30 degrees, and full length (1.0 m) for all the degree range from 60 degrees to 300 degrees, then symmetrically back to 0.3 and 0.2 meters as you come around the front-right of the skirt again.
This is what it looks like.

IMPORTANT: there's been some confusion about when to use the SkirtProgrammer. Essentially, what you need to do is ALL the things to generate a skirt, and THEN run the /1 PROGRAM command. The Skirt Programmer works on a skirt that has already been rezzed, but NOT yet completed with the /1 DONE command.

Start with a default 30 panel LoopRez skirt:

After dropping the above notecard (named "skirt open front") onto the LoopRez central little Metal Ball, and typing "/1 PROGRAM skirt open front", the panel sizes get adjusted to look like this (no adjustments needed for position or rotation, so it took just a few seconds to go from the first picture to this one):


Well, it turns out that like sizes, colors are also described in SL by 3 value vectors, <RED, GREEN, BLUE>, with values ranging from 0 to 1 for each color. So, it wasn't hard to write the script to vary colors as well. I don't remember exactly what the Notecard contained, but it was probably something like:

TYPE~COLOR
0~<1,0,0>
180~<0,0,0>
360~<1,0,0>
In other words, pure bright red at 0 degrees (the front), varying to no color (black) at 180 degrees (the back), and then back to bright red at 360 degrees (the front) again. Here's how it looks:
Notice that the short panels stick out a bit. Bah... I think that has to do with the flexi settings -- a short panel doesn't have as much "gravity" pulling it down. So, perhaps some small amount of manual tweaking might actually be helpful.

Ever wonder how to generate a rainbow in RGB space? No? Well I did, and I found one way here:
It ends up being a progression of 6 segments, varying the amount of red, green, and blue. So, why not try to write a Skirt Progammer notecard ("skirt rainbow") that varies RGB in this progression? It looked like this (I added in comments for description):
TYPE~COLOR
0~<1,0,0> // pure red
60~<1,1,0> // red + green
120~<0,1,0> // pure green
180~<0,1,1> // green + blue
240~<0,0,1> // pure blue
300~<1,0,1> // red + blue
360~<1,0,0> // back to pure red
There are 6 segments in the progression, so I divided the 360 degrees of a circle, to get 60 degree increments around the skirt. After typing "/1 PROGRAM skirt rainbow", the result makes me think of 60's tie-dye hippiedom:


To adjust 30 panels manually to get a smooth rainbow gradient would have been rather tedious. To run it with the Script Programmer took a few seconds. Fun!

Granted, the skirt is ugly enough to make a real SL fashion designer want to claw their eyes out, but hey, I just make the tools -- it's up to them to make beautiful things with them.

Comments? What do you think?

Saturday, February 10, 2007

Catherine Moody, Live at the Acropolis

Congratulations to Catherine Moody, on her two-hour debut concert at the Acropolis Stadium. It was a spectacular program, consisting of:
  • Schubert: Valses sentimentales nos. 1-5
  • Mozart: Sonata in F major K332, 1st movement
  • Brahms: Intermezzo in E flat “Shepherd's Lullaby”
  • Chopin: Études op. 25 no. 1 "Harp", op. 10 no. 3 “Tristesse”, op. 10 no. 8
  • Bach: Prelude in B minor from "The Well-Tempered Clavier”, Book II
  • Beethoven: Sonata no. 27 in E minor
    • 1. Mit Lebhaftigkeit und durchaus mit Empfindung und Ausdruck (“With vivacity, and with sentiment and expressivity throughout”)
    • 2. Nicht zu geschwind und sehr singbar vorgetragen (“Not too fast, and highly lyrical”)
  • Liszt: Harmonies du soir "Evening harmonies"
- Intermission -
  • Selected compositions by Catherine Moody's real life alter ego (1981-present)
    • I. Prelude (2003)
    • II. Childhood innocence: Budgerigars, Opus Two, Sketch in G (1988-1990)
    • III. Studies in classical form: Sonatina (1995), Étude (1998)
    • IV. Sentimental miniatures: Dreams of Bygone Days, Valse Mélancolique, Reality and Fantasy (1995-1996)
    • V. Trials and tribulations: Sonata in Bb minor—1. Funeral March (1995), 2. Adagio (2006); Despair (1999); Waltz “In Your Absence” (2003)
    • VI. Contemplation no. 3 “Prayer for the unfortunate” (2003)
I believe the audio stream peaked at around 50 unique listeners! I'm really looking forward to hearing more of Catherine Moody in the future. :)

For me, the concert was enhanced by the presence of the lovely ladies Miss Virrginia Tombola...
... Rhetorica Acronym, and Johanna Hyacinth.

Why am I posting pictures? Because I get out so infrequently, that the sheer novelty of seeing other avatars forced me to take snapshots :)

Friday, February 9, 2007

Automated product updates: one solution

So I mentioned the other day that I was trying to come up with a decent method to deliver product updates. This pipeline is horribly kludgy and not automated, but it's what I've come up with so far.

Issues and solutions
  1. Need to maintain a complete list of purchasers, regardless of whether they've purchased from Sirena Fashions, SL Exchange, or SL Boutique. It would have been easier if I had just scripted a vendor that kept track of all purchasers and their avatar keys, but then it would not have been available on the regular web.

  2. Downloaded the available avatar name / key database from http://www.moopf.com/name2key.php

  3. Wrote a Perl script that took each purchaser's avatar name and searched the 600,000+ entries in the moopf database, and returned the listed key. Amazingly, only one avatar UUID key was missing (it was someone who was created just a few days ago).

  4. Manually found the missing avatar UUID by following the instructions at http://w-hat.com/name2key
    You can also look up keys yourself using the SL client. First, enable the debug menu (ctrl+alt+d), and use it to turn on the Debug Console (ctrl-shift-4, or Client -> Consoles -> Debug Console). Search for the person using Find, and then hit Instant Message. A message will come up in the debug console following the form:

    INFO: LLTalkView::createFloater: target (user key) in (session key)

  5. Copied all the avatar names + keys into a notecard. Here's where my paranoia shows. The databases of names / keys are NOT Linden Lab official. There is no assurance that the key that they list for a name is actually linked to that name. So, I copied all the name + supposed key pairs into a notecard in SL, and...

  6. Wrote a script that read line by line from the notecard, and checked that the name pulled up with a llRequestAgentData on the key actually matched the name I had. They all matched, lol, which shows that my paranoia is groundless and a waste of time. :)

  7. If the key and name match, the script will send the inventory item to the user. Just in case there are people who do NOT want to receive updates, I also coded it so that in the avatar / key list, lines could be flagged as people who didn't want updates.
Phew! So much of this hassle could have been avoided if LL just included a "name to key" function...

Or, since there are minimal sales at SLEx and SLB, a simple solution will be to replace the product in Sirena's with a scripted vendor that records the avatar UUID's, so I plan go write a one-prim vendor soon.

For everyone who asks, "Why the heck are you reinventing the wheel? Other people have written vendors and product updaters," well, this is how I've taught myself how to script. :) Before today, I'd never written a Notecard reader or Agent Info query before. Having done it now, I now understand how it works, and for me, that's fun! (Yeah, weird sense of fun, I know...)

bye-bye DropScript, yay!

The "Template Parameter DropScript" is probably one of the more powerful but most confusing parts of the LoopRez Deluxe setup. It's really useful, because you can adjust a skirt AFTER it's already been rezzed, without editing each panel separately.

But, it's SO unintuitive -- why would you drop a panel on the floor next to you, and then drop a script onto it, to adjust a skirt you were working on? Wouldn't it make much more sense to edit the actual skirt you were working on? I think it's pretty clear that if I couldn't come up with a simpler name than "Template Parameter DropScript," it had to go.

(And for the truly paranoid, the DropScript does not communicate securely with the LoopRez object -- it uses spoken commands on a hidden channel, but an enterprising industrial spy hell-bent on obtaining your secret texture UUID could conceivably intercept it. In contrast LinkMessages within a linked object are secure.)

I've (yet again) re-written LoopRez Deluxe so that panels can be edited in place, and the changes propagated through the rest of the skirt in progress. Here's what it looks like:

  1. First, you rez and link your skirt, just as before. Then bring up the edit window and check off the "Edit Linked Parts" checkbox:





  2. After clicking the checkbox, click on any panel you'd like to edit, and make all changes as you would normally do. Here, I've applied a texture to the outward-facing surface.


  3. Finally, "touch" the panel you just edited. Because you have an edit window up, the easiest way to activate a touch is to RIGHT-CLICK the panel you just edited, and choose TOUCH. All parameters will automatically be transmitted, and the changes will spread to the rest of the skirt.

    The Personal Edition will not be able to spread textures, because of the permissions system in place. However, all other prim parameters will be transmitted.



  4. Voila! The entire skirt is updated, and you didn't have to go around dragging any panels to the ground or scripts from inventory.


Like it?

Wednesday, February 7, 2007

any tips on scripting for product update delivery?

I posted this on the official SL Forums this morning, looking for advice:


I was wondering if anyone had any general tips on writing product delivery scripts.

I've released my first product, which contains a few prims and 4 scripts, and already, it's time to send out an update to deal with... "issues" (stomp those bugs! Because updates will occasionally include completely new scripts, I can't simply use llRemoteLoadScriptPin.

So, I think the only option is to use: llGiveInventory

But then, I need a list of all the keys of the users. But, although there's an llKey2Name, there's no llName2Key function, right? Neither the SL transaction history, or SL Boutique, or SL Exchange appears to make available the keys to the users.

What's the best way to keep a list of the keys of all the users?

My guess, and PLEASE correct me if I'm wrong:
- this time, I'll have to manually search each user, and drop the new product on their profile
- the new product will somehow communicate the owner's key to me (what's the best way? email?) I've never been a fan of RL products that "phone home", and this bugs me a little.
- in the future, I'll have a list of keys, and would write a script looping through them all and do an llGiveInventory (what's the best way? reading lines off a notecard?)

Or perhaps, have a notecard with all the avatar names, and then an object in a store the users would need to go to. When they touched the updater object, the avatar's name could be checked off the notecard list, and if present, the updated object could be given to them. Perhaps their avatar KEY could also be recorded at this point, with their permission. This avoids the "product phone home" distastefulness too.

Any thoughts? Thanks in advance.

Tuesday, February 6, 2007

Tiling a texture across many panels

I had some fun playing with texture offsets and writing a script that would send different offsets to each panel of a LoopRez-created object.

For a test, I wanted to run a long, skinny picture across the bottom of a "skirt." I used an image from the web, at the WHTour:Gugong:Nine Dragons Wall scrolling panoramic view. Here's an excerpt, with 4 of the 9 dragons:


To test the script, I created a LoopRez object with maybe 10-12 panels, and tiled the texture across it, yielding this:

It seemed to work, other than some distortion issues, so I told LoopRez to increase it to ~20-24 panels, and ran the texture tiler. So, from the first object to the second object only took a few seconds, with no manual editing of texture offsets. Cool!

And, just because movies are fun, here's a video of the object rotating around, so you can see more of the dragons, and how the textures are split across the flexi panels when they move:



I don't think this script could ever be useful as a releasable tool, though. Essentially, I think for every project, the script would have to be re-coded, which would probably not be worth it. But it was a fun little hack :)

Monday, February 5, 2007

Product support, and LSL aaarrgghhh's...

Cut and pasted, basically straight out of a notecard sent to some LoopRez Deluxe users who have had some problems: two people who can not link more than 6 to 8 objects at a time, and a crazed (and I mean it in the nicest way) individual who makes 60 prim skirts, and has run into grey goo problems.

After writing it, I thought other users might be interested in the progress / troubleshooting.

LoopRez Deluxe v0.67 BETA

- NOT well tested yet

Linking problems, can not link more than 6 - 8 panels
  • added the option to have the LoopRez do all the linking by itself, without user input
  • this will add a 1 second per panel delay (llCreateLink has a built-in delay), so people without linking problems wouldn't want this
  • to activate it, type /1 AUTOLINK, BEFORE you touch to rez the panels, and it'll give you a message that autolink is ON
  • to deactivate it, type /1 AUTOLINK again, and it'll tell you that it's off again
  • with the 2 users who were having this problem, AUTOLINK seems to have resolved the problem

Grey goo barrier problems
  • added the option to slow down rezzing, to prevent running into the grey goo barrier
  • type: /1 DELAY ##, where ## in the per panel delay in seconds
  • the default is 0.0 seconds

Memory of prim parameters
  • split out some functions of LoopRez into yet another script (the package now includes 5 distinct scripts, all inter-communicating), to see if that would free up enough memory to "remember" prim parameters after changing number of objects / "die" commands / between sessions
  • /1 reset will reset all scripts, clearing out the prim parameter memory
  • I've had a script crash once, with memory running out, but it hasn't been reproducible
  • I need to make sure memory issues won't recur..

Pretty much failed attempt to get rid of that DropScript
  • I was hoping that by using "edit linked parts" on a skirt that has been rezzed, a new method to tweak skirts would be possible
  • Goal: in edit menu, check off "Edit linked parts", and then edit ONE isolated panel within a rezzed skirt; then "Touch" that edited panel, and a dialog window would allow you to propagate the change through the rest of the skirt
  • after doing a heck of a lot of script re-writing, I *then* found out that you can NOT change "flexi" parameters even if "Edit Linked Parts" is checked. DANG DANG DANG
  • well, it does seem to work for size / color / texture, at least
  • I disabled rotations for now, because that would involve more rotation math, and I'm not fond of rotation math
  • back to the drawing board. I hate LSL sometimes
Edited 2/9/07 to add: WOOHOO! "Edit Linked Parts" works just fine, I just wasn't doing it right. Adjusting an attached panel on a skirt in progress, and propagating any adjustments through the rest of the skirt ought to work beautifully -- I think this will be much more intuitive than using that DropScript.

Sunday, February 4, 2007

Catherine Moody, debut concert


I just wanted to do what I could to let people know about the debut concert of the incredibly talented Catherine Moody. She is an accomplished pianist, playing everything from Bach, Beethoven, Chopin, and Debussy, to Joplin ragtime, to her own compositions and improvisations. (I hear she also plays the guitar and violin.)

Please support the Arts in Second Life, as well as the official debut performance of an extremely gifted artist. Hope to see you there!

Saturday, February 3, 2007

A few notes, and another wonderful concert

The FREE LoopRez v0.61 script, and LoopRez Deluxe packages are now available at SL Exchange and at SLBoutique, to give more options for distribution. It will still be less expensive to obtain them at Sirena Fashions, though.

The initial response to LoopRez Deluxe has been nicely favorable! I'm wondering whether it'd be rather gauche to ask permission of the people who sent IM's or posted nice comments to quote them, either anonymously or not?

There is now an open membership "LoopRez User" group in Second Life, for upgrade announcements and peer-to-peer support. Any bugs or problems should still definitely be reported directly to me though!



And on an unrelated note, I had the pleasure again of hearing Catherine Moody perform classical music on the piano last night. What a talented and charming individual! I can't highly enough recommend that everyone who has the least interest of hearing beautiful piano music try to hear her perform.

Sometimes I feel rather out-of-place, amongst the creative designers, skilled musicians, artistic poets and writers, and imaginative role-players that can be found throughout Second Life. Although I am slowly acquiring expertise and experience in scripting, still, it feels so very technical. I continue to very much admire, and rather envy, those who possess such an aesthetic sense. Perhaps if I try to hang around them, some of it will rub off ;)

Friday, February 2, 2007

LoopRez idea hodgepodge

Just collecting some random thoughts here about future things to play with (sort of a public journal of silly ideas).

  • Right now, LoopRez duplicates a single object repeatedly in the path of an ellipse. Although each panel is at a different location with a different rotation, each object is otherwise identical.

    But, there's no reason why this has to be the case! It should be possible to send each panel a distinct, separate instruction that varies, for example: length (to form those dresses with a "V"-shaped cut-out in front, or high on one side + low on the other), color (maybe a gradient of a hue, from light to dark). In fact, this is exactly how the "BackAngle" adjustment works to increase the "poof", just in the back of a skirt.

    The only problem is that it would pretty much need a custom script written each time. The script wouldn't be complicated (I could see it being just a dozen lines long, and mostly the same each time), but would put it out of reach for most users.

  • when a dress is in progress, each panel contains an active script (that's what the little green asterisks are signifying); when the dress is completed, the scripts delete themselves.

    Here's an idea that might cause horrendous lag, or might be fine (e.g., touch-activated + link messages): leaving some scripts in place. What might that be useful for?
    • saving different sizes (S / M / L / XL), or lengths (mini-skirt through ankle length), triggered by user commands
    • user-selected colors / tints
    • a brief change in parameters, maybe even combined with an Animation or Gesture? I've always thought it'd be cute to have a Marilyn Monroe gust of wind effect. How might that be implemented? Perhaps a 1 or 2 second change in the flex prim gravity to negative JUST in the side panels, and then returning it to normal, combined with that famous pose of hers :) Anyone want to design a Monroe skirt and animation for me to play with?


  • I really don't like the kludginess of the DropScript. I think perhaps actually editing a panel already in place (using Edit Linked Parts), and having the change propagate through the rest of the skirt, would be far more intuitive. This is probably #1 on my list of things to do.
It's also time for me to take on something new to learn about, in LSL scripting. Perhaps I will try my hand at writing a multi-tool. My idea is for it to have "modules" that can be dropped into it, so you only install what you want. It should also be possible to activate / deactivate modules that are present, to minimize lag.

Too many things to play with, too little time.

On the other hand, I've FINALLY bought some clothes in SL. Yes, after nearly 2 months, I actually bought a pair of shoes, and a sweater or two. I'm not much of a fashionista, am I? :)

Thursday, February 1, 2007

Some ideas?

I met a charming individual named Meni Kaiousei in SL today, who suggested that perhaps LoopRez might benefit from a User Group, for announcements of new versions, updates, and help.

I like the idea!

But, if we had a group (which, I believe, requires at least 3 people, so if nobody else is interested, I'll hold off), I do have one concern. While it would be great if users were willing to help out other users having problems, I'm worried that if I'm not logged in at the time, I won't hear about the problem or difficulty. And if anything was confusing enough that people had to ask for help to get it to work, I'd rather hear about it, so I can try to improve it. We'll see :)


An unrelated idea: I'd like to collect a photo gallery here on the blog of objects (dresses, skirts, buildings, whatever) created with the assistance of any version of LoopRez. I really like seeing what so many talented designers have been able to create. (For example, when I met Meni, she was wearing a lovely floral print skirt, with lace trim -- very nice!)

If you'd like to share, please send me a photo of your creation ("full permission", so I can download the picture off SL and upload it here). I'd also be happy to list your name, store name, or SLURL store location too, if you'd like!

Interested?

LoopRez Deluxe, now available


Also available at SL Exchange!
Current version is v0.8, released 13-Feb-2007


Unfortunately, I am unable to make LoopRez available on the Teen Grid.
However, the free LoopRez script could be used.