Data model
A single Project can hold multiple rendered data objects (Images, Labels, Points, Shapes).
Each rendered data object can be shown on zero or more Layers, as configured by corresponding layer configurations.
Rendered data objects representing multi-item data (Labels, Points, Shapes) can link to Table columns for item configuration.
The following simplified class diagram outlines this conceptual model, ignoring any functions/methods and inheritance structures.