A few days ago I asked a question regarding a minimal build of Blender so as to be able to get an idea and evaluate if I could integrate a new object and associated code of a project of mine into Blender. I got the information I requested to do this and from the time I have spent, I think I have a decent idea of how Blender is structured and where, or at
least how to find a desired aspect or feature of Blender to inspect.
The problem is how everything is linked together, and what needs to go where to get a new object type embedded and working in Blender.
I have tried to use the MantaFlow module as a guide, but I have found what looks like references in the core blender source code exists that is directly related to the manta flow module and essential to its operation. I have come to the conclusion that if I am to add a new object data type I would need to add/modify the core blender source code, and if I start changing things there without knowing what needs to be done, I can potentially create problems that will crash the application without knowing why because a certain modification needs to be made in a certain header or .c file.
For example, I have found in the makesdna.c file a list of DNA types initialising in a includefiles array that I did not expect. Another unexpected find in the External Dependencies folder of the Visual studio project makesrns is that there exists a rna_internal.h file that has definitions of RNA functions that are scattered in various .c files. So I am going now to be more specific in this question and hope someone with some knowledge can help, or point me to some documentation or information.
The object I wish to include is not complex in structure, and does not use any external libraries or dependencies except for a single, very large .h file that cam easily be referenced or embedded. I have inspected the volume object type and found it to be a C++ structure type, which tells me if I convert my C++ class into a C++ structure, I should be able to define it in Blender.
If one is going to add a new object type to Blender, what new files needs to be included, where do they need to be included, and what existing files need to be modified to so blender recognises a new object type that can be used ?
I hope this is not too much of an ask, but I am not confident to go into the code and start adding/changing things just yet and just cannot find any information on the web, or in the forums.
Thanks in advance and appreciate any help provided.