Skip to content

Commit

Permalink
chore: Merging Milestone 3.6.0 to Dev
Browse files Browse the repository at this point in the history
* Upgrade to BpyBuild 0.3.0

* Updated reference command in CONTRIBUTING.md

* Added action-scripts folder with BpyBuild actions

This is so we can better organize our scripts

* Added Ignore Filters action as default

This was something that would have been useful in #505, and now we have
it :D

* Updated ignore_filters.py to print deleted files

This is a small change that'll make it easier to understand what's going
on at runtime with regards to the ignore filter

* Updated build command in run_tests.py

* Added print statement to dev.py

* Updated bpy-build.yaml

* Added .blend filter for dev builds

* Switched to BpyBuild ignore filters

* Revert "Switched to BpyBuild ignore filters"

This reverts commit 7469142.

* Updated config option in BpyBuild

* Added warning to ignore_filters.py

* Added error object for better user experience

* Switched to BaseException for MCprepError

* Removed redundant variable

* Refactored colorspace setup to be more flexible

In the past, we'd set this to a hard coded value. However, that proved
to be annoying to users using non-standard OCIO configs like ACES or
early versions of AgX. MCprep already fixes MTL files for ACES
compatibility, so we're expanding this to prep materials.

In `mcprep_data.json`, there will now be a section called
"non_color_options", which is a list of different options for Non-Color
Data/Generic Data. If a user is using a non-standard setup, they can
simply add the correct option in the JSON file and prep materials will
function properly.

The matching goes in order from first to last, and MCprep will use the
first value matched at runtime.

* First commit for i18n

* Added .venv to gitignore

* Fixed missing ) and added additional string

* Moved import statement for inspect

* Reduced nesting in function

* refactor(comment): Refactored comment in util.py

* Added some metadata to English PO file

* build(config): Removed ignore filter

* Update .gitignore

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>

* chore: removed MCprep_resources from gitignore

* feat: Added zn_CN to Languages

* refactor(language): moved en to en_US

* feat: make MCprep follow the user's Blender locale

* refactor(languages): moved to zn_HANS

* fix: made translations change on the fly

* fix: Added fallback for non-existent translations

* fix: Fixed fallback

* Added some details to MCprep POT

* docs: Added documentation on translating MCprep

* docs(i18n): Removed redundant line

* Updated POT file

* chore(i18n): Added new strings to zn_HANS

* Recompiled zh_HANS

* fix(annotations): Added missing annotation to _

* docs(i18n): Added developer documentation

* Added polib to dependencies

* build: Added dictionary generator for i18n

This allows us to use bpy.app.translations without requiring translators
to have Python experience. While Blender allegedly has this ability, I
haven't been able to find it, so as far as I'm aware, it doesn't exist.

* Added use of bpy.app.translations

* fix(i18n): Fixed detection of translations.py

* Added autobuilding of MO files to default action

* docs(i18n): Updated i18n docs for maintainers

* build(i18n): Added comments to mo compile script

* docs(i18n): Added BpyBuild to i18n docs

* chore(git): Added MO files to .gitignore

* refactor(removal): Remove MCprep optimizer

The MCprep optimizer was deprecated in the MCprep 3.5 series, and slated
for removal in MCprep 3.6. This is due to the following reasons:
- Outdated design (made prior to Blender 3.0 when Cycles X was still in
  development, and has yet to adapt to modern Cycles)
- Extreme bugs that are hard to fix, such as 80+ light bounces
- Unnecessary as there's no special optimizations for Minecraft scenes,
  and on the contrary may actually be a bad thing as it uses settings
  like clamping indirect with horrible options

* Added polib directly in the source tree

* build: Added separate translate action

* build: added if-name-main to all actions

* docs(i18n): Updated developer docs

* Readded flake8 to requirements.txt

* docs(i18n): Removed negative tone from docs

* Revert "Added polib directly in the source tree"

This reverts commit 8288d5d.

* Updated POT file

* Updated contributing guide readme

* docs: Updated BlenderChanges.md

* build: Add script to generate POT file + Migration to BpyBuild 0.4 (#548)

* build: Add script to generate POT file

* build: Moved build_pot to a separate action

* Fixed metadata and line reference generation

* Updated POT file

* build: Future proofed script for BpyBuild actions

* Revert "build: Future proofed script for BpyBuild actions"

This reverts commit 2d1533a.

* deps: Updated BpyBuild to 0.4

* build: Updated build_pot to use pre_build

* i18n: Updated POT file

* build: Moved build-pot to translate action

* build: Fixed error causing wrong POT comments

* Added translate to release script

* Further update the release script to track changes and safer ver check

* build: Add metadata to POT file, added 4.1 and 4.2

---------

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>

---------

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>
  • Loading branch information
StandingPadAnimations and TheDuckCow authored Apr 28, 2024
1 parent c9b907c commit 074d9a1
Show file tree
Hide file tree
Showing 30 changed files with 2,587 additions and 769 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
.DS_Store
*.blend
*.mo
__pycache__
.mypy_cache
MCprep_addon/mcprep_addon_tracker.json
MCprep_addon/mcprep_addon_updater/MCprep_addon_updater_status.json
blender_execs.txt
Expand All @@ -13,7 +15,7 @@ mcprep_venv_*
.cache
.python-version
venv/
MCprep_addon/MCprep_resources/
.venv/
*.sublime-*
MCprep_addon/import_bridge/conf
MCprep_addon/import_bridge/nbt
23 changes: 19 additions & 4 deletions BlenderChanges.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
This list contains all deprecations and removals in every Blender version starting with Blender 3.0. Since Blender 4.0's breaking changes invoked the want for a list of all deprecations and changes, this list is public for addon developers to use.

Note that not all deprecations are listed, just the ones that may affect MCprep or changes that developers should be aware of in general, so please refer to the wiki entries for each version for more information.
Note that not all deprecations are listed, just the ones that may affect MCprep or changes that developers should be aware of in general, so please refer to the wiki entries for each version for more information. In addition, for simplicity, this page will only document changes in stable releases of Blender, unless a change has been found in a development version of Blender that needs to be addressed.

_For Developers_: The use of any deprecated feature is an automatic bug. Such features should be wrapped around if statements for backwards compatibility if absolutely necesary in older versions.

_For MCprep maintainers_: Any use of a deprecated feature in a pull request should be questioned. If the feature is needed in older versions, then remind developers to use `min_bv`, `bv28` ([Deprecated in MCprep 3.5](https://github.com/TheDuckCow/MCprep/pull/401)), or `bv30`, whichever is more appropriate.

In ascending order:

# [Blender 3.0](https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Python_API)
## Deprecations
None that concern MCprep.
Expand Down Expand Up @@ -93,11 +95,11 @@ None that concern MCprep.
- `data` remains emulated, but with a performance penalty

# [Blender 3.6](https://wiki.blender.org/wiki/Reference/Release_Notes/3.6/Python_API)
Nothing that concerns MCprep
None that concern MCprep.

# [Blender 4.0 (IN DEVELOPMENT)](https://wiki.blender.org/wiki/Reference/Release_Notes/4.0/Python_API)
# [Blender 4.0](https://wiki.blender.org/wiki/Reference/Release_Notes/4.0/Python_API)
## Deprecated
Nothing that concerned MCprep for now.
None that concern MCprep.

## Breaking Changes
- Glossy BSDF and Anisotrophic BSDF nodes have been merged.
Expand All @@ -113,3 +115,16 @@ Nothing that concerned MCprep for now.
- Coat -> Coat Weight
- Sheen -> Sheen Weight
- Emission -> Emission Color
- Possible breakage of rig backwards compatibility (unconfirmed)

# [Blender 4.1](https://wiki.blender.org/wiki/Reference/Release_Notes/4.1/Python_API)
## Deprecated
None that concern MCprep.

## Breaking Changes/Additions
- Python has been upgraded to Python 3.11
- VFX Reference Platform 2024 support has been added
- Layout panels to reduce boilerplate for submenus
- `displacement_method` is under `bpy.types.Material` now
- Possible breakage of rig backwards compatibility (unconfirmed)

8 changes: 6 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,20 +54,24 @@ As a quick start:
# Highly recommended, create a local virtual environment (could also define globally)
python3 -m pip install --user virtualenv

python3 -m pip install --upgrade pip # Install/upgrade pip
python3 -m venv ./venv # Add a local virtual env called `venv`
python3 -m pip install --upgrade pip # Install/upgrade pip

# Activate that environment
## On windows:
.\venv\Scripts\activate
## On Mac/linux:
source venv/bin/activate

pip install -r requirements.txt

# Now with the env active, do the pip install (or upgrade)
pip install --upgrade bpy-addon-build

# Finally, you can compile MCprep using:
bpy-addon-build --during-build dev # Use dev to use non-prod related resources and tracking.
bab -b dev # Use dev to use non-prod related resources and tracking.
bab -b dev translate # Dev, with translations
bab -b translate # For production
```

Moving forward, you can now build the addon for all intended supported versions using: `bpy-addon-build -b dev`
Expand Down
Loading

0 comments on commit 074d9a1

Please sign in to comment.