Skip to content

Conversation

@Alxiice
Copy link
Contributor

@Alxiice Alxiice commented Sep 3, 2025

Description

Note

The code is ready for review but I'm still adding test and documentation

  • Rename the submit on nodes whose name was not super clear
  • Tweak the plugins registration to make sure we can register submitters from external plugins. (There was an issue previously because the package name was set to "submitters" and therefore it was creating conflicts with the submitters in meshroom/submitters)
  • Add tractorSubmitter.py with the tractor submitter
  • UI changes : Add possibility to select the submitter
image

Information for review

  • I stripped a bit some tasks :
    • usually we create a "node" task, and tasks for every chunks that have the "node" task as parent
    • this task is useless when we have only one chunk so I stripped them in this case because I thought it helps create leaner graphs.
      image
    • However I can understand why we would want them.
    • Let me know if it was better before

Important

Another important modification was done on the task ordering, as you can see with the simpleFarm currently when we select multiple tasks and submit, tasks are duplicated
Peek 2025-09-05 10-48
With the current submitter, CameraInit is submitted on its own AND a second time as a child of SleepNode
Using the new API we make sure to only add tasks once to the job

However it's clear that it's an error that happens somewhere else on the code because we should have a clean graph that is submitted in the first place, and I will create another PR to resolve this issue

How to test

Launch a job with SimpleFarm submitter, then with Tractor submitter, compare both jobs created on tractor

@Alxiice Alxiice marked this pull request as draft September 3, 2025 15:20
@codecov
Copy link

codecov bot commented Sep 3, 2025

Codecov Report

❌ Patch coverage is 14.28571% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.41%. Comparing base (f2f30fc) to head (46f991f).
⚠️ Report is 10 commits behind head on develop.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
meshroom/core/__init__.py 10.52% 17 Missing ⚠️
meshroom/core/graph.py 0.00% 1 Missing ⚠️

❌ Your patch status has failed because the patch coverage (14.28%) is below the target coverage (70.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2874      +/-   ##
===========================================
- Coverage    79.54%   79.41%   -0.13%     
===========================================
  Files           51       51              
  Lines         6975     6987      +12     
===========================================
+ Hits          5548     5549       +1     
- Misses        1427     1438      +11     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@natowi
Copy link
Member

natowi commented Sep 4, 2025

@Alxiice would you be so kind to document how to setup Meshroom with tractor? https://github.com/alicevision/Meshroom/wiki/Renderfarm-submitters Thank you!

@Alxiice Alxiice self-assigned this Sep 4, 2025
@Alxiice Alxiice added this to the Meshroom 2026.1.0 milestone Sep 4, 2025
@Alxiice Alxiice marked this pull request as ready for review September 4, 2025 17:31
@Alxiice
Copy link
Contributor Author

Alxiice commented Sep 5, 2025

@Alxiice would you be so kind to document how to setup Meshroom with tractor? https://github.com/alicevision/Meshroom/wiki/Renderfarm-submitters Thank you!

hello @natowi it's a bit difficult to explain exactly how to test tractor because it relies on code from Pixar that I cannot really share here. However if that helps I added some documentation on the wiki and explained a bit more how the submitter works and how to create one

@Alxiice Alxiice force-pushed the dev/tractor_api branch 3 times, most recently from 4178a29 to 63d7b3f Compare September 11, 2025 09:32
@Alxiice Alxiice force-pushed the dev/tractor_api branch 2 times, most recently from fe92617 to f03af18 Compare September 16, 2025 13:26
@Alxiice Alxiice added feature new feature (proposed as PR or issue planned by dev) submitter labels Sep 17, 2025
Copy link
Contributor

@cbentejac cbentejac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tractorConfig.json is missing and needs to be added, otherwise the submitter for Tractor cannot be loaded.

Submissions work fine, but we need to handle the case where there's no default submitter through the MESHROOM_DEFAULT_SUBMITTER environment variable if there are submitters that have been successfully loaded.

@Alxiice
Copy link
Contributor Author

Alxiice commented Sep 25, 2025

Submissions work fine, but we need to handle the case where there's no default submitter through the MESHROOM_DEFAULT_SUBMITTER environment variable if there are submitters that have been successfully loaded.

I replaced ==1 by >=1 here
https://github.com/alicevision/Meshroom/blob/dev/tractor_api/meshroom/core/taskManager.py#L391
This should work

@cbentejac cbentejac merged commit 9b003f6 into develop Sep 30, 2025
2 of 4 checks passed
@cbentejac cbentejac deleted the dev/tractor_api branch September 30, 2025 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature new feature (proposed as PR or issue planned by dev) submitter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants