1. Repository Structure#
To contribute to the development of the add-on, first understand its structure. The Python source files are located in a specific directory and have each a distinct purpose.
1.1. Layout#
.
├── docs/
└── src/
└── pohlke/
├── blender_manifest.toml
├── __init__.py
├── gui.py
├── operators.py
├── properties.py
├── scripting.py
├── tests/
└── utils /
├── __init__.py
├── presets.toml
├── data.py
├── geometry_math.py
├── helpers.py
└── ui_shared.py
1.2. Description#
1.2.1. docs/#
Directory containing all the tools necessary for creating and maintaining the project Documentation.
1.2.2. src/pohlke/#
Directory containing the entire project source code.
blender_manifest.toml: Configuration file that allows the add-on to be recognized and interpreted by Blender.__init__.py: Project initialization file that links together the code and features distributed across the project.gui.py: File containing all the project UI classes, as well as their associated specific functions (c.f.bpy.types.Panel,bpy.types.Menu, etc.).operators.py: File containing all the project operators, along with their associated specific functions (c.f.bpy.types.Operator).properties.py: File containing all the project properties, as well as their associated specific functions (c.f.bpy.types.PropertyGroup).scripting.py: File containing the scripting interface objectScriber.tests/: Directory containing all the project unit tests.utils/: Directory containing all generic utility functions/data used throughout the project.__init__.py: Empty initialization file that simply allows Blender to recognize the directory.presets.toml: TOML file containing all the presets provided by the add-on, in the form of alpha and beta angle pairs associated with preset names.data.py: Class responsible for retrieving, processing, and exposing the data contained inpresets.toml.geometry_math.py: File containing all the project’s generic mathematical functions.helpers.py: File containing all the project’s generic helper functions.ui_shared.py: File containing all the project’s generic UI functions.