Source/Architecture/ID

=IDs=

IDs (also known as data-blocks, especially at user level) are the main core data structure in Blender. Almost any persistent data is an ID, or belongs to an ID, even mostly UI-related data like the `WindowManager` or `Screen` ID types.

ID Type

 * ID, ID_Type, IDTypeInfo: Basic structure of an ID, and the ID type system.

ID Runtime Storage

 * Main data-base: Runtime storage of persistent IDs.
 * Runtime-only IDs: The various kinds of temporary, runtime-only ID datablocks.
 * Embedded IDs: Some IDs (Collections, NodeTrees) can be 'embedded' into other IDs.

ID Management

 * ID Management: Basics over ID creation, copying/duplication, and freeing.
 * Relationships Between IDs: Relationships between different IDs, usage refcounting, remapping...
 * File Paths: File paths handling in IDs.

Related Topics
TODO: Also needs links to related topics: read/write, link/append, liboverride, animation, DNA, RNA, etc.