If you work with the dopesheet unlocked, any time you select a bone to manipulate it you've lost what you had in the dopesheet. This means locking the dopesheet is necessary when you want to see a number of bones in the dopesheet and be able to manipulate them. If you want to isolate a bone, you unlock or refresh the dopesheet.
Drag and drop to arrange bones in the dopesheet would of course be possible to implement. For now selecting bones in order is a reasonable workaround.
Currently you can't both isolate a bone and have a number of bones in the dopesheet. Maybe it would make sense to have the topmost dopesheet row be the bone that is selected, even when the dopesheet is locked.
You could try selecting a number of bones in the order you want them in the dopesheet, then assigning them to a group, eg with ctrl+1
. You can then lock the dopesheet and manipulate bones. Later, you can change the dopesheet contains by unlocking or refreshing it. Later, you can go back the bones you had by pressing 1
, then locking or refreshing the dopesheet. If that doesn't work, it should and I'll fix it.
Related, at some point we'll implement a view that allows you to manage named selections. This could tie into the dopesheet, but it's too early to say.
Spine's dopesheet behavior isn't modeled after another program. Hopefully it is simple, logical, and provides the functionality needed. I'm open to improving it of course, but I also want it to be as simple as possible.