- Reformatted exceptions to work with new logging system
- Reformatted all print statements
- Moved `activate_debug()` to helpers.py
- Debug mode now shuts down all renders and 3D model exports to perform a 'Dry Run' to check that collections/objects/DNA still exist and work on render time.
- More general pep8 formatting
- Renamed some more variables for pep8
- Modified import comments
- Renamed functions
- Added bpy.path.abspath() to material, logic, and debug save paths
- Beginning to reformat files with new logging/console output system
- Deprecated Rarity.py, moved to Helpers to avoid circular import issues
- Moved get_hierarchy() function from DNA_Generator.py to Helpers to avoid circular import issues
- Reformatted some comments and example code
Resolved conflicts with failed batches recovery related to headless variable integration from previous merge.
Fixed issue where animations would get corrupt when resuming failed batch. The last file to be generated will now be deleted if it exists to avoid this issue.
- Email is now only activated if the user specifies
- Implemented "NOT" rule in Logic.py
- Added documentation for Synced Attribute Material values in Material_Generator.py
- Added AutoSave before generation functionality to Other panel
- Removed strip_empty_exclude function
- Modified Exporter to work with new Material Randomizer layout
- Added Enable Materials option in logicafyDNAsingle function in preparation for Material Randomizer Logic
- Materials are no longer formatted like Variants, the Material List is now a dictionary where the keys are the names of the Materials and the values are the Rarity percentages. Each Variant in the Materials.json file can have a different list with different rarity values that are selected for only that variant.
Material file format:
```
{
"Variant Name": {
"Material List": {
"Material Name 1": 90,
"Material Name 2": 5,
"Material Name 3": 1,
"Material Name 4": 4
},
"Variant Objects": []
}
}
```