We've just pushed out a whole slew up updates to core, the tk-nuke engine, and almost every app that we offer. This represents the whole of a large amount of work we've done to better support some of the new workflow features that The Foundry has introduced as part of their rollout of Nuke Studio. Instructions on how to get this all setup can be found in the knowledge base article below. This is an updated version of the article that we wrote when we released the tk-nuke engine for Hiero 9.0 this past fall. It now contains information pertaining to getting Nuke Studio up and running with Shotgun integration:
A brief overview of the changes and new features:
- tk-core: Core now supports the notion of changing contexts on the fly. The first use of this feature is in Nuke Studio, as the workflow there allows for Nuke scripts at the task level to be embedded into a project-level edit. As a user dives into and out of these Nuke node graphs, Toolkit keeps track of and switches to the correct context.
- tk-nuke: The tk-nuke engine has been heavily extended and refactored to take advantage of Nuke Studio's workflow possibilities and to make use of the upgraded tk-core to manage context changes.
- Pretty much every app: Just about all of them have had changes made to them to support Nuke Studio's context changing behavior. Most of these alterations are minor, but critically important to the performance of on-the-fly context changes.
- YAML caching: Before the holidays, we made another tk-core release that included a new tank command: tank cache_yaml. This command crawls through the config structure and builds a pickled cache of all yaml data it finds. This pre-populated cache is used to load up the in-memory cache that tk-core keeps up to date while Toolkit is running. This is a GREAT way to speed up Toolkit in general, and will make a visible difference to some aspects of the performance of context changes in Nuke Studio. This cache does not have to be 100% up to date at all times, as tk-core's in-memory caching mechanism will detect a mismatch and reload yaml data from disk when necessary.