I realized that the informations a root prim can know about its linked children is very close from zero:
llGetLinkKey()
llGetLinkName()
llGetLinkNumber()
And that's all. On the other hand, you can totally alter a linked child from the root prim:
llSetLinkAlpha()
llSetLinkColor()
llSetLinkTexture()
llSetLinkPrimitiveParams()
What I would like to have in LSL is:
**llGetLinkAlpha()**
**llGetLinkColor()**
**llGetLinkPos()**
**llGetLinkPrimitiveParams()** (This one would be the bare minimum.)
**llGetLinkRot()**
**llGetLinkTexture()**
**llOffsetLinkTexture()**
**llRotateLinkTexture()**
**llSetLinkText()** (Would be very useful for texts on HUD buttons!)
And eventually --though we already have llSetLinkPrimitiveParams():
**llSetLinkPos()**
**llSetLinkRot()**
Why? Because the only way to move/rotate children prims is either to hardcode their positions and rotations in the root prim script(s), or else to add a script in every of the children prims. IMO, it's very illogical that the root prim can change the position and rotation of its children but that only them can determine their relative position and rotation. (The same applies to the alpha, color and texture.)
The practical case that led me to these feature requests is the HUD I'm working on. I use llSetText() to have random text on the buttons. (That can't be done with textures.) I also move the buttons out of the screen to prevent them from getting in your way even if you can't see them... and the number of scripts is sky-rocketing! The complex calculations aside, I could hardcode the children positions in the root prim but, since I absolutely need llSetText(), it becomes pointless. (And I don't mention that this large number of scripts has been a real annoyance at every update.)
With --the minimal-- llGetLinkPrimitiveParams() and llSetLinkText(), I could reduce the herd of scripts to only one, fight against the sim lag, and I'm sure I wouldn't be the only one.
If you like the idea, vote for it:
https://jira.secondlife.com/browse/MISC-268 llGetLink*()/llSetLink*()
Vote also for:
https://jira.secondlife.com/browse/SVC-224 llGetLinkPrimitiveParams()