compas icon indicating copy to clipboard operation
compas copied to clipboard

Fixed Blender installer

Open gonzalocasas opened this issue 2 months ago • 5 comments

What type of change is this?

  • [ ] Bug fix in a backwards-compatible manner.
  • [ ] New feature in a backwards-compatible manner.
  • [ ] Breaking change: bug fix or new feature that involve incompatible API changes.
  • [ ] Other (e.g. doc update, configuration, etc)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • [ ] I added a line to the CHANGELOG.md file in the Unreleased section under the most fitting heading (e.g. Added, Changed, Removed).
  • [ ] I ran all tests on my computer and it's all green (i.e. invoke test).
  • [ ] I ran lint on my computer and there are no errors (i.e. invoke lint).
  • [ ] I added new functions/classes and made them available on a second-level import, e.g. compas.datastructures.Mesh.
  • [ ] I have added tests that prove my fix is effective or that my feature works.
  • [ ] I have added necessary documentation (if appropriate)

gonzalocasas avatar Dec 11 '25 17:12 gonzalocasas

What do you guys think of going in this direction?

https://github.com/user-attachments/assets/e73b296c-a8c7-489a-bc91-66c8fe0ae663

gonzalocasas avatar Dec 11 '25 17:12 gonzalocasas

What do you guys think of going in this direction?

can you describe the gist of the new approach? not 100% clear to me from the video...

tomvanmele avatar Dec 12 '25 12:12 tomvanmele

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 62.24%. Comparing base (e34268a) to head (078c77e).

Additional details and impacted files
@@                Coverage Diff                 @@
##           COMPAS-2.x.LTS    #1506      +/-   ##
==================================================
- Coverage           62.26%   62.24%   -0.02%     
==================================================
  Files                 208      208              
  Lines               22452    22452              
==================================================
- Hits                13979    13975       -4     
- Misses               8473     8477       +4     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Dec 12 '25 12:12 codecov[bot]

What do you guys think of going in this direction?

can you describe the gist of the new approach? not 100% clear to me from the video...

The new approach is what seems to be the official way to create Blender extensions. Now compas_blender is a blender extension because it includes a bunch of extra metadata and entrypoints, "extensions" are new in Blender 4.2+ so this only works from that version onwards. Once that is in place, we simply ship the compas_blender wheel without dependencies, which can be installed as shown in the video (Edit -> Preferences -> Get extensions -> Install from disk...). If this works, we should also release the wheel onto the blender extensions website, so that it can be installed just by searching.

After installing it, the wheel contain much except enabling a little "Preferences" panel in the COMPAS extension, and that panel has a button to install dependencies. When you click that, the remaining dependencies are pip installed (by subprocessing pip with blender's python executable).

If you all agree with it, I would like to clean up this PR a bit, and try to get it merged and release on 2.x, because the Blender installation process we have documented didn't work well for me and it's very convoluted.

gonzalocasas avatar Dec 12 '25 16:12 gonzalocasas

i agree 💯

tomvanmele avatar Dec 12 '25 17:12 tomvanmele