Any good document to learn blender internals?

Hello, I’m trying to learn blender’s internals.

In particular, I hope to find the latest info on https://archive.blender.org/wiki/index.php/Dev:Source/UI/Tutorials/AddAnEditor/

the above doc is old and archived. I wonder if there is a newer version for the new UI.

How much of the ui concepts have been changed if there is no new docs?

I’m looking at a few simple editors, such as space_console and space_image,

I don’t understand the purpose of the python code “space_image.py”, what should be put in py and what should be in c?

Thanks,

I did some study, it seems that the py code defines the ui layout.

but I don’t understand how py and c are connected.

how can I define an api in c and open it to python?

for example,

the space_console space has the following functions/ Are they the functions exposed to python?

any examples of them being called in python?

I didn’t grep any.

void CONSOLE_OT_move(struct wmOperatorType *ot);
void CONSOLE_OT_delete(struct wmOperatorType *ot);
void CONSOLE_OT_insert(struct wmOperatorType *ot);

void CONSOLE_OT_indent(struct wmOperatorType *ot);
void CONSOLE_OT_indent_or_autocomplete(struct wmOperatorType *ot);
void CONSOLE_OT_unindent(struct wmOperatorType *ot);

void CONSOLE_OT_history_append(struct wmOperatorType *ot);
void CONSOLE_OT_scrollback_append(struct wmOperatorType *ot);

void CONSOLE_OT_clear(struct wmOperatorType *ot);
void CONSOLE_OT_clear_line(struct wmOperatorType *ot);
void CONSOLE_OT_history_cycle(struct wmOperatorType *ot);
void CONSOLE_OT_copy(struct wmOperatorType *ot);
void CONSOLE_OT_paste(struct wmOperatorType *ot);
void CONSOLE_OT_select_set(struct wmOperatorType *ot);
void CONSOLE_OT_select_word(struct wmOperatorType *ot);

Have you seen this book?

1 Like