v2.2#25
Merged
Merged
Conversation
…till needs to be configured
merging version changes from main
Remove committed traitblender/site/ and gitignore it so docs live only under docs/; CI still builds site/ for GitHub Pages. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop legacy Blender 4.x and older TraitBlender version notes from docs; list supported stack as v2.2.0 on Blender 5.1+. Expand root .gitignore with every file and field to update on release (docs, CITATION.cff, Zenodo). Co-authored-by: Cursor <cursoragent@cursor.com>
Align CITATION.cff, Zenodo publication_date, and docs index BibTeX month with today's release date. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR bumps TraitBlender to v2.2.0 and completes ATLAS morphospace integration (PCA + local RBF deformation from an ATLAS DATABASE export), alongside render-engine compatibility improvements and documentation/release metadata updates.
Changes:
- Add a new ATLAS morphospace module (including orientations, PCA reconstruction, and local RBF mesh deformation) and integrate dynamic trait-column derivation (
pc1..pcN) vian_components. - Improve config/runtime compatibility: scope morphospace hyperparameter overrides per morphospace; normalize Eevee render-engine identifiers across Blender versions; keep virtual datasets in sync with dynamically changing trait columns.
- Update MkDocs navigation and documentation for ATLAS + release bump; refresh packaging/CI wheel download flow (including VTK).
Reviewed changes
Copilot reviewed 38 out of 50 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| traitblender/ui/properties/morphospace_hyperparams.py | Adds StringProperty support for hyperparams and adjusts IntProperty bounds logic. |
| traitblender/ui/operators/generate_morphospace_sample_op.py | Refines hyperparameter detection/mapping when calling morphospace sample(). |
| traitblender/mkdocs.yml | Adds ATLAS page to MkDocs nav. |
| traitblender/docs/README.md | Updates latest release info + supported stack blurb. |
| traitblender/docs/morphospaces/shell.md | Adds sample image gallery. |
| traitblender/docs/morphospaces/overview.md | Updates morphospace count and adds ATLAS link. |
| traitblender/docs/morphospaces/circle-grid.md | Adds sample image gallery. |
| traitblender/docs/morphospaces/atlas.md | New ATLAS morphospace documentation page. |
| traitblender/docs/index.md | Updates release info + BibTeX metadata (month/version). |
| traitblender/docs/images/Morphospace Samples/.gitkeep | Keeps image directory tracked in git. |
| traitblender/docs/getting-started/quick-start.md | Updates supported versions + adds ATLAS guidance. |
| traitblender/docs/getting-started/quick-start-api.md | Updates supported versions + clarifies Eevee naming in headless context. |
| traitblender/docs/getting-started/installation.md | Renames compatibility section to “Supported versions” and bumps install examples. |
| traitblender/docs/configuration/config-files.md | Documents engine normalization and acceptable Eevee identifiers. |
| traitblender/core/morphospaces/trait_params.py | Adds context-aware hyperparameter merge and dynamic trait-parameter derivation hook. |
| traitblender/core/morphospaces/list_morphospaces.py | Adds explicit GUI ordering for morphospace dropdown. |
| traitblender/core/helpers/render_engine_compat.py | New helper to detect/normalize Eevee engine identifier across Blender versions. |
| traitblender/core/datasets/traitblender_dataset.py | Syncs in-memory datasets when expected trait columns change (dynamic morphospaces). |
| traitblender/core/config/templates/render.py | Normalizes engine on YAML import; uses dynamic engine enum items/options. |
| traitblender/core/config/templates/morphospace.py | Scopes hyperparameter overrides to current morphospace’s defaults. |
| traitblender/blender_manifest.toml | Bumps version and adds VTK wheel entry. |
| traitblender/assets/morphospace_modules/Shell/init.py | Filters hyperparameter overrides to known keys only. |
| traitblender/assets/morphospace_modules/ATLAS/orientations/init.py | New ATLAS orientation set (default + axis quarter-π rotations). |
| traitblender/assets/morphospace_modules/ATLAS/morphospace/atlas_morphospace.py | ATLAS sample generation wrapper around atlas_core (paths/PCs/scale). |
| traitblender/assets/morphospace_modules/ATLAS/morphospace/atlas_morphospace_sample.py | Converts ATLAS mesh arrays into a Blender mesh/object. |
| traitblender/assets/morphospace_modules/ATLAS/morphospace/atlas_core.py | Implements ATLAS DATABASE PCA reconstruction + local RBF deformation pipeline. |
| traitblender/assets/morphospace_modules/ATLAS/morphospace/init.py | Exposes ATLAS morphospace API + MAX_ATLAS_PCS constant. |
| traitblender/assets/morphospace_modules/ATLAS/init.py | Registers ATLAS morphospace (hyperparams, dynamic trait columns, sample signature). |
| traitblender/assets/configs/default.yaml | Notes Eevee engine id normalization behavior. |
| traitblender/.gitignore | Ignores MkDocs site/ output. |
| requirements-wheels.txt | Adds VTK and explicitly lists runtime deps when downloading with --no-deps. |
| requirements-wheels-headless.txt | Same as above for headless builds. |
| README.md | Bumps version and documents ATLAS as third built-in morphospace. |
| CITATION.cff | Bumps release date/version and updates release URL metadata. |
| build_zips/download_wheels.py | New helper script to download pinned wheels per platform and refresh manifest. |
| build_zips/blender_manifest.template.toml | Version bump for manifest template. |
| .zenodo.json | Version + publication date bump. |
| .gitignore | Adds MkDocs output ignore + in-repo release checklist notes. |
| .github/workflows/release-zips.yml | Adds --no-deps to pip download for reproducible wheel sets. |
| .github/workflows/build-zips.yml | Adds --no-deps to pip download for reproducible wheel sets. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Replace exec-built pc1..pc64 sample signature with **traits kwargs, resolve mode count from the DATABASE export, and pass dataset pc columns through the generate-sample operator. Co-authored-by: Cursor <cursoragent@cursor.com>
ATLAS uses n_components; runtime PC count is bounded by the SSM mode count, not a fixed UI cap. Co-authored-by: Cursor <cursoragent@cursor.com>
Filter hyperparams in to_dict, _to_yaml, and from_dict the same way as get_hyperparams_for so stale keys from other morphospaces are not written or loaded. Co-authored-by: Cursor <cursoragent@cursor.com>
Only include manifest in resolved paths when manifest.json exists, and list only existing files in the Found line when required assets are missing. Co-authored-by: Cursor <cursoragent@cursor.com>
egrace479
approved these changes
May 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New update with ATLAS integration completed and docs updated accordingly.