Here's what I think is correct with regard to an object that someone puts down. Please correct or complete any of these.
- In order to move an object owned by someone else, it must both be physical and grant the move permission. Alternatively, you can throw things at it, cage it, or do other things to move it indirectly, even if you don't have move permission. Also, does the current owner always have the ability to set or unset move? or is that controlled by the modify permission?
- To take a copy of an object, presumably the current owner (the one who put it down) must have copy permission. It doesn't matter what the agent picking it up has (i.e. it doesn't matter whether next owner copy is set or unset.
- To take an object, the current owner must have transfer permission. It doesn't matter whether next owner transfer is set. There's no way for the current owner to reliably control who takes it. (Or can group membership be used as a form of control?)
- To attach such an object, you must first take it. Therefore it's always true that an attachment is owned by the avatar wearing it.
- To sit on an object, it needs to have a sit target. Permissions are irrelevant. If there is no sit target, you'll get the message "there is no place to sit". Does it also need to be physical? What conditions create an object for which the sit menu item is dimmed out?
- No permissions are needed to touch an object. Must it be scripted for the touch menu item to show up? Does it also need to be physical?
If this is all correct, then a corollary of this is that the only way to wield an object (i.e. have an avatar hold it in its hand) is for the avatar to have an attachment (and even then, getting the rotation right is tricky). You can fake it by animating the entire movement, but that's tricky as well.
I'm sure I've missed some conditions, but I haven't found anywhere else that at least gets this much written down.
Thanks