-
Notifications
You must be signed in to change notification settings - Fork 129
Remove multi-context restrictions for publishing image sequences on farm #6088
Conversation
I believe in Maya each renderlayer does get its own context settings and you can override them to point to different contexts (e.g. another folder) but like what you describe for Nuke is also an issue for Maya. The renderlayer name describes the variant and must be unique - as such you cannot render the same variant (and subset) to both your current scene and one renderlayer with the same subset for another renderlayer in the same scene. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
yes, you are right, now you can set the context on individual render layer so it's basically the same issue as with Nuke |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looking good
@antirotor let's get this ported to AYON and merged please |
# set context by first json file | ||
ctx = self._context.data | ||
|
||
ctx["asset"] = ctx.get("asset") or data.get("asset") | ||
ctx["intent"] = ctx.get("intent") or data.get("intent") | ||
ctx["comment"] = ctx.get("comment") or data.get("comment") | ||
ctx["user"] = ctx.get("user") or data.get("user") | ||
ctx["version"] = ctx.get("version") or data.get("version") | ||
|
||
# basic sanity check to see if we are working in same context | ||
# if some other json file has different context, bail out. | ||
ctx_err = "inconsistent contexts in json files - %s" | ||
assert ctx.get("asset") == data.get("asset"), ctx_err % "asset" | ||
assert ctx.get("intent") == data.get("intent"), ctx_err % "intent" | ||
assert ctx.get("comment") == data.get("comment"), ctx_err % "comment" | ||
assert ctx.get("user") == data.get("user"), ctx_err % "user" | ||
assert ctx.get("version") == data.get("version"), ctx_err % "version" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically - when is this is valid? If I have two .json files that specify a different running context to publish in this may be very dangerous because now suddenly that context isn't actually used for ONE of the json files?
I think, yes we should not assert that instance context must MATCH the global context - but if we were to load multiple JSON files at once we should still assert the global context of both JSON files is shared between them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you're right, but I don't think that we are actually using multiple file anywhere. But if that's so, we should probably remove support for multiple json files.
@antirotor could we address @BigRoy comment before testing again? |
I am closing it in favor of ynput/ayon-core#138 |
Changelog Description
Removing assert that context data must be same as instance data will allow publishing image data to different context in one go.
That sanity check was there because we didn't support publishing to different context before (like multishot workflow), but this should be possible now.
Additional info
More work on different DCCs needs to be done to seamlessly support multishot workflow - like Maya restrict only one rendering instance, Nuke enforce unique instance name (so you can't publish
renderMain
to multiple shots), etc.Testing notes: