Mangrove

Nodal pipeline manager from 'The Yard VFX'

DESCRIPTION

As the studio began working on larger projects, the need for automation became increasingly critical.
For major productions, such as the Vietnamese family fantasy film Trang Ti which required the delivery of over 600 VFX shots, manually building each shot was not manageable and a solution had to be found.

To streamline repetitive tasks and centralize our production workflows, we adopted the nodal pipeline manager Mangrove, an open-source VFX Framework developed by the French studio The Yard VFX.

Mangrove provides a visual interface where workflows are represented as graphs, with each node corresponding to a specific pipeline step.
These graphs are fully customizable, centralized in a single application, and accessible across the studio.
Mangrove also supports the creation of custom nodes using Python, allowing automation of specific processes and batch management of graph executions.

While Mangrove offered a strong foundation, we needed to extend its capabilities to fully align with our pipeline requirements.
We thus enhanced Mangrove to support:
  • Event-driven execution, enabling automatic graph execution triggered by specific events or the results of other graphs.
  • Conditional execution, allowing specific sections of graphs to run depending on defined parameters, and supporting more advanced features like loops, pauses, and replays.

Mangrove was integrated into our pipeline, allowing it to interface directly with our internal tools.
New tools were also specifically developed to be used within Mangrove, mostly for the animation workflow.
Additionally, thanks to the integration, Mangrove could be executed either from a global network installation or locally, offering both flexibility and improved performance when needed.

Despite these efforts, over time we found that Mangrove did not fully meet our expectations. We then began exploring alternative solutions.

Moreover, the Mangrove project appears to have been discontinued, though it remains accessible as a GitLab repository.

ROLE

My main tasks related to Mangrove included:
  • Evaluating and testing the framework to understand its capabilities and potential use cases.
  • Integrating Mangrove into our pipeline, enabling seamless interoperability with and accessibility from our internal tools.
  • Extending the framework to support more flexible and granular graph execution.
  • Improving stability by fixing bugs and adding missing features, as it was still under active development.
  • Designing and implementing workflow graphs using both in-house and third-party tools.

The main graph I developed was the animation workflow, which given a list of shot codes, automated the following steps for each shot:

  • Retrieve shot metadata
  • Build the corresponding Maya scene using the latest assets and animations
  • Export animation caches
  • Generate playblasts

Custom tools and utilities were developed specifically to perform these steps efficiently.