Framework Libraries Overview:
Framework Core Library
The framework-core
library is the backbone of the framework. It provides the core functionalities that are used to drive an integration within a DCC. Constructed using Python, it leverages several other libraries including framework-qt
, ftrack-qt
, ftrack-utils
, and ftrack-constants
.
Structured for easy extension and customization, the framework-core
library encompasses a set of constants and utilities utilized within the framework.
For handling QT related functionalities, the framework-core
library depends on the framework-qt
library. Additionally, ftrack-qt
, ftrack-utils
, and ftrack-constants
libraries are employed for managing ftrack specific functionalities.
Framework-Qt Library
The framework-qt
library aims to provide framework related QT widgets for various purposes. It includes the foundational classes and mixins necessary for crafting framework-compatible widgets and dialogs.
The purpose of this separate library is to ensure that the framework's QT components are distinct from the core library, in case another UI framework different from QT is required.
Central to its design is the integration with the ftrack-qt library, which enriches the framework-qt library with custom ftrack Qt widgets and dialogs.
Like the core library, the framework-qt
library is also designed for ease of extension and customization. It features a collection of base classes for widget and dialog creation, along with mixins to facilitate the integration of Qt dialogs into the framework.
Ftrack QT Library
The Ftrack QT library offers a suite of generic, non-framework specific widgets and dialogs. Acting as a hub of reusable UI elements, the library facilitates seamless integration into different segments of the framework or even independent utilization.
Framework Projects
Projects such as framework-maya
and framework-nuke
are developed on top of the framework-core
and framework-qt
libraries, ensuring seamless framework integration with the respective applications.
Both framework-maya
and framework-nuke
projects share a similar structure. check the DCC-Integration page for more detailed information.
Default extensions specific to each Digital Content Creation (DCC) application are provided within the same project repository. These extensions are tailored to integrate the framework's core functionalities with the particular needs and APIs of the DCC application.
These projects utilize the framework-core
library for core functionalities while harnessing the specific application's API for bespoke application-related functionalities.
Extensions
Framework Common Extensions
The framework-common-extensions directory contains extensions that are shared across multiple DCCs, providing common functionalities that are not specific to any single application.
DCC-Specific Extensions
Each framework project includes a set of extensions that are designed to work with the corresponding DCC application. For example, framework-maya
will have an extensions folder that interact with Maya's API and toolset.
Overview
📄️ Framework core
The framework-core library is constructed around a few key components: the Host, the Client, the Event Manager, and the Registry.
📄️ ftrack Qt
Purpose of the QT Library