Bones are a "pivot point" as you describe, plus a rotation. Often it is useful to have a parent bone pointing in a specific direction and define child bones within that rotated coordinate system.
Bones have a length. This is usually only to help the user visualize the bone in the editor, but it can be accessed at runtime, eg to position something at the end of the bone. With your setup proposal, there isn't a way to determine bone length.
Bones don't have to be rotated to point toward children, and in fact can't if a bone has multiple children. The bones have a hierarchy, but this is not what is drawn in the editor. Instead, bones are drawn based on their location and length. Bones don't have to originate from the parent bone.
It seems your proposal may be easier to set up for a specific workflow, but is not as flexible as the current setup system. I think you can find a workflow with the current system that is reasonable. Maybe something like:
- first choose and push images/textures into the canvas
- place each pivot correctly by drawing the bones
You should select the correct parent bone before drawing the next bone, so after this step you don't need to go to the tree to fix up the hierarchy. You still need to use the tree to rename the bones to something meaningful though.
Place bones should be precise. You can zoom and use the translate and bone compensation tools to move a bone to the correct place. We'll add bone snapping and pixel snapping soon.