KatanaToUsdEngine
=================

The KatanaToUsdEngine is designed to take an input Geolib3 OpTree, and convert a subsection of the hierarchy into USD data.

The routine of this engine is to deserialize a serialized OpTree, and traverse the Geolib3 scene tree starting from the provided ``location`` EngineArg. The *MaterialResolve* op is added

The top level process for how the engine itself works and interacts with the PrimDecorator plug-ins is as follows:

#. Each location beneath the provided ``location`` is traversed.  If that location is within the the :code:`ignore` location paths set it is skipped and traversal continues.
#. If it does not match, the PrimDecorator's are retrieved from the PrimDecoratorRegistry which match the location's type attribute. These are returned in a specific order depending on the :code:`order` the PrimDecorators were registered with. 
#. These PrimDecorators are then run in the aforementioned order.
#. This is then followed by any primDecorators registered against the :code:`*` location type. Again, in the order in which they are returned from the PrimDecoratorRegistry
#. Once all locations have been traversed. The processed locations are re-traversed and steps **3.** and **4.** for any PrimDecorators registered with the :code:`postProcess:` location type prefix.