Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore: Houdini refactor to generic ExtractROP plug-in #676

Merged
merged 17 commits into from
Jun 21, 2024

Conversation

BigRoy
Copy link
Collaborator

@BigRoy BigRoy commented Jun 19, 2024

Changelog Description

Improve code re-use and implement a more generic ROP node extractor used by those families for which it applies.

This makes sure that they remain sync in implementation instead of being scattered and helps focusing the implementation on this single plug-in instead simplifying maintenance.

Additional info

This also implements #675 but also generalizes it into a single plug-in instead. (with some subclasses where code deviated)

Fixes #672

Testing notes:

  1. Publishing all the product types should work for single frames and multiple frames:
  1. The above families that support it also work for farm submissions.
  • note: pointcache farm submission is broken, but that's also in develop

@MustafaJafar
Copy link
Contributor

This is cool!
I believe implementing render target with other products will help generalizing the extraction.

@BigRoy BigRoy marked this pull request as ready for review June 19, 2024 18:35
@MustafaJafar
Copy link
Contributor

I gave it a shot. tested few product types and they worked fine.
Also, out of curiosity, I tried to publish pointcache to farm, I got this error

Traceback (most recent call last):
  File "C:\Users\Mustafa Taher\AppData\Local\Ynput\AYON\dependency_packages\ayon_2406142259_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
    runner(*args)
  File "E:\Ynput\ayon-core\server_addon\deadline\client\ayon_deadline\plugins\publish\submit_publish_cache_job.py", line 285, in process
    instances = create_instances_for_cache(
  File "E:\Ynput\ayon-core\client\ayon_core\pipeline\farm\pyblish_functions.py", line 942, in create_instances_for_cache
    raise ValueError("Found multiple non related files "
ValueError: Found multiple non related files to render, don't know what to do with them.

@BigRoy
Copy link
Collaborator Author

BigRoy commented Jun 21, 2024

I gave it a shot. tested few product types and they worked fine. Also, out of curiosity, I tried to publish pointcache to farm, I got this error

Traceback (most recent call last):
  File "C:\Users\Mustafa Taher\AppData\Local\Ynput\AYON\dependency_packages\ayon_2406142259_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
    runner(*args)
  File "E:\Ynput\ayon-core\server_addon\deadline\client\ayon_deadline\plugins\publish\submit_publish_cache_job.py", line 285, in process
    instances = create_instances_for_cache(
  File "E:\Ynput\ayon-core\client\ayon_core\pipeline\farm\pyblish_functions.py", line 942, in create_instances_for_cache
    raise ValueError("Found multiple non related files "
ValueError: Found multiple non related files to render, don't know what to do with them.

Lovely! I've never tried the farm submissions. Does it work outside of this PR? (I suppose not?)

@BigRoy BigRoy requested a review from moonyuet June 21, 2024 13:46
@BigRoy
Copy link
Collaborator Author

BigRoy commented Jun 21, 2024

@moonyuet any chance you can also push this through a test-run?

@moonyuet
Copy link
Member

@moonyuet any chance you can also push this through a test-run?

I try with publishing fbx. Errored out.
image

Successfully submitted mantra ifd(local and farm)
image

image
image

@BigRoy
Copy link
Collaborator Author

BigRoy commented Jun 21, 2024

I try with publishing fbx. Errored out.

Fixed with 187b2e9

@moonyuet
Copy link
Member

There is also an issue with camera publishing
image
pointcache local publish ok
Encounter same issue with mustafa when testing pointcache farm publish

@BigRoy
Copy link
Collaborator Author

BigRoy commented Jun 21, 2024

There is also an issue with camera publishing

Fixed with 32ebf9c - sorry about that. I kept the extractor list next to it and I still missed that it lacked camera. Just proves once again that I should always rely on the computer to tell me the differences between the lists. :D

Encounter same issue with mustafa when testing pointcache farm publish

I have a feeling this issue may exist outside of this PR as well - I don't have Deadline configured on my dev setup currently. Anyone of you able to confirm this quickly using develop?

@moonyuet
Copy link
Member

There is also an issue with camera publishing

Fixed with 32ebf9c - sorry about that. I kept the extractor list next to it and I still missed that it lacked camera. Just proves once again that I should always rely on the computer to tell me the differences between the lists. :D

Encounter same issue with mustafa when testing pointcache farm publish

I have a feeling this issue may exist outside of this PR as well - I don't have Deadline configured on my dev setup currently. Anyone of you able to confirm this quickly using develop?

I tested with the develop branch, guess the issue of the pointcache is not related to this PR.
But the camera publishing works with the branch.

@BigRoy
Copy link
Collaborator Author

BigRoy commented Jun 21, 2024

I'd say looking at the tests this should be safe to merge.

@moonyuet moonyuet merged commit ef495d0 into ynput:develop Jun 21, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Houdini: Some extractors fail when publishing single frame
4 participants