It's got a few quirks (most notably that label hiding isn't enabled for any of the rings) as I've ripped out and replaced a huge chunk of code, but I've included the first integration of layout editing code.
As I said before this is EXPERIMENTAL, and INCOMPLETE, so you probably want to read the following before using it.
* Layout changes dont save between session (This is a mixed blessing 8-))
* The new layout changing code is distinct from the more finished configuration panel, so try not to have both up at the same time (It wont BREAK but it may not do what you expect it to do).
With that out of the way, here's a quick summary of the 'Scaffold' layout and how you edit it.
The scaffold consists of a number of anchors, that position each ring relative to its parent ring. You can't currently change parents, but you can adjust anchors. The following anchors are useful at the moment:
player - Moves the player ring (And everything else, since they're all attached to it)
pet - Moves all pet rings relative to their owner ring.
target - Moves the target ring relative to the player ring
partyStart and partyEnd - These two logical anchors are the locations of the first and last party members when all 4 are shown, party rings are positioned between them based on party size.
To play with the anchors, there's presently a slash command (quick to implement, it will get GUI-fied soon enough), do one of the following
On its own, it'll cancel any pending anchor drag.
With an anchor name, you'll get the drag interface for that anchor.
So, what's the drag interface? There are a few boxes shown on the screen (possibly overlapping). The blue box(es) shows the location of the anchor's parent. This is fixed.
The orange boxes show the location of the anchor you're moving (with some text showing the parameters for the anchor). Each anchor has the following attributes:
angle, length: These determine where the center of the anchor is relative to the parent.
scale: This determines how large the anchor is relative to the parent.
spin: This determines the angle of the anchor.
Dragging the INSIDE of the larger orange box moves the anchor relative to the parent (Adjusts angle and length)
Dragging the more solid BORDER CORNER of the larger orange box adjusts scale and spin simultaneously.
Dragging the BORDER EDGE of the larger orange box with the LEFT mouse button adjusts spin only.
Dragging the BORDER EDGE of the larger orange box with the RIGHT mouse button adjusts scale only.
All parameters will 'snap to' an invisible grid, currently there's no way to turn that off (There will be in the end).
Anyway, play around, when you start to edit an anchor with /srdrag <anchorname> all of the possible rings will show up in preview mode (Invoking /statrings while this is shown will cancel that out, thus my warning above, but that MAY be useful). Running /srdrag on its own will cancel that out and return you to normal ring mode.