ideasman wrote:Its interesting you use a sidways splines, I think this would actually be better cos the n you could use the horazontaly inclined bottom view that useually hold buttons.
It makes sense too because the blocks themselves are short and wide so less overlapping would occour.
Yes, I agree. In apps with trees, it's usually sideways for these reasons.
Actually, I disagree. Firstly, more of a personal workflow issue, but the OOPS can be useful if it's integrated more into Blender's select/edit/visualise cycle. It'd be great to can see the visual representation and also edit that data, all while using the OOPs to selcte and create relationships between that data. You could do this with a more functional OOPS simply by dividing the screen into 3
and having the 3D View and buttons window update depending on what's selected in the OOPS (easy to do - could be done automatically, or using UI controls attached to OOPS blocks). Shake works in a way similar to this and it's bloody brilliant!
Secondly, the OOPS is not really a tree - it's more of a network. In a tree structure, there's a clearly definied hierarchy. A is a child of B is a child of C is a child of D, etc. But Blender's datablocks can be linked in all sorts of interesting ways. Not just in the case of things like materials sharing textures, or objects sharing meshes, but there are also more subtle relationships between blender data that isn't currently visualised like parents, constraints, using textures to control lamps, using objects to define texture co-ordinates, etc. Besides, most node-based apps I've used (mainly compositing apps) have been laid out vertically, so we're going to need better justifications than anecdotes
Perhaps an interesting approach could be to somehow visualise these concepts through the direction. As a contrived example, normal heirarchical datablock links like object->obdata->material->texture could be represented vertically, while other relationships like parenting, constraints, etc. could be represented horizontally. I think it could get confusing to mix these concepts up (like in Monkeyboi's mockups). As far as I'm aware, object data can not be linked to object data - parenting is a different thing altogether.
Re. drag and drop, IMO you wouldn't want to be dragging and dropping the blocks themselves at all to connect them, just the endpoints of the splines. So none of your blocks would get moved anyway.