- tools capable of selection only select objects if they are visible, unlocked, and all of their parents are unlocked
Mostly done, except Find and Tab key
- drawing tools can only draw if the current layer and all its ancestors are visible and unlocked
Yep, this needs coding
- locking a layer unselects all selected descendants of that layer, but locking an object does not unselect that object
Mmm, I still can see how it may be useful to retain selection when you lock a layer. But maybe what you propose would be more intuitive.
Per Peter's suggestion, "locked" may not be the most appropriate label for the per-object locking (since it doesn't render the object immutable, really), although I think "insensitive" is marginally too jargony.
If "lock" is good for layers, it's good for objects too. It's the same thing. It is indeed slightly wrong in its semantics, but then, "sensitive" is not much better (it assumes sensitivity to some changes or influences, not selectability/unselectability) whereas "lock" is more laconic. I like "lock".
Inverting the meaning and labeling it "selectable" might be most appropriate.
"selectable" is the most precisely descriptive for objects, but not appropriate for layers. I would prefer using the same term for both layers and objects.