Currently, most mesh attachments in Second Life come with at least one script to receive commands from HUD's and change primitive parameters such as colors and textures.
These scripts all add to region script time, slow down sim crossings and increase operating costs for LL.
I believe that if we could remotely get/set primitive parameters from a HUD, the number of worn scripts on an avatar would decrease considerably over time.
We would need two functions, similar to the existing llSet/GetPrimitiveParams
I Propose
llSetObjectPrimitiveParams(key object, integer link, string password, list parameters);
llGetObjectPrimitiveParams(key object, integer link, string password, list parameters);
The function would only work if both objects have the same owner and the correct password is used.
The build window would allow us to set a password for remote editing on an object, which once set becomes a private internal variable that cannot be retrieved.
Example - Making a remote object the color red
Key myShirt = findAttachmentWithName("Captains Shirt");
llSetObjectPrimitiveParams(myShirt, LINK_SET, "some_password", [PRIM_COLOR, <1,0,0>]);
By being able to edit objects directly from a HUD we vastly reduce the number of active scripts required to be attached to an agent at any given time, which will lead to better lag, faster sim crossings and lower operating costs.