[Bf-taskforce25] RNA confusement :)

Ton Roosendaal ton at blender.org
Mon Nov 24 13:02:51 CET 2008


Hi Brecht,

Was going over RNA-ifying nodes with Nathan, and I noticed some 
confusement about how far RNA wrapping should go. Especially for 
pointers to data. He was even looking at ways how to connect nodes via 
RNA. :)

Although you mention in your doc a notify() function, I don't think it 
was meant to convert RNA to a full blown data-operator system. Things 
like changing node linkage, changing constraint order in lists, etc. 
are outside of the RNA scope right? Those should be either Operators, 
or just part of the blender API.

Same goes for ID pointers; assigning a new pointer to data can result 
in complicated exception handling, checking valid context and types, 
sending events, and so on. Even ID pointers that don't seem dangerous 
at first sight (assing Image to TexFace) might cause all kinds of 
troubles. I'd propose to - for time being - make all pointers 
RNA-read-only for that reason. In your RNA doc you can limit focus then 
as:

1- Provide general access to public data properties, which were meant 
to get changed by buttons, ipos, expressions, drivers or Python alike.
2- Only provide access to data pointers (linkage) to enable to find 
data.

If RNA for nodes can find a specific node, and change it's user values, 
we're already set for 99%. Linking nodes to new ID data then can be 
either part of the regular API or an Operator.

It'll keep things simple for time being, until we know better what the 
impact of rna is.

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation   ton at blender.org    www.blender.org
Blender Institute BV  Entrepotdok 57A  1018AD Amsterdam The Netherlands



More information about the Bf-taskforce25 mailing list