[Logo: Execution Graph]

Execution Graph#

Overview#

The Execution Graph is a powerful visual node-based automation system that allows you to create complex workflows without writing any code. Think of it as a visual programming language where you connect different nodes together to build sophisticated automations for your entire workflow.

With the Execution Graph, you can:

  • Automate repetitive tasks across your entire workflow

  • Create complex workflows using simple drag-and-drop operations

  • Build conditional logic and data processing chains

  • Integrate with external tools and services

  • Trigger automations based on pipeline events

Execution Graph Overview

User Interface Guide#

Interface Overview#

The Execution Graph interface is designed for efficient workflow creation. Here’s what each area does:

Central Node Graph

This is your main workspace where you’ll create and connect nodes to build your automation workflows.

Output Log (Bottom Panel)

Shows real-time feedback and results from each node as your graph executes. This is invaluable for debugging and monitoring your automations.

Navigation Tab Bar (Top)

Navigate between nested node graphs and access the “Run” button to execute your current graph.

Right-Side Panel System

Three essential panels help you configure and manage your work:

  • Node Parameters Panel - Configure settings for the currently selected node

  • Graph Settings Panel - Set up graph-wide options like descriptions and callback triggers

  • Graph Library Panel - Save, load, and organize your node graph templates

Creating Nodes#

There are two convenient ways to add nodes to your graph:

Method 1: Tab Menu

Access the comprehensive node library through the tab menu system.

Method 2: Right-Click Context Menu

Right-click anywhere in the node graph for quick access to all nodes.

Connecting Nodes#

Creating connections between nodes defines the flow of your automation workflow. Here’s how it works:

Basic Connection Process:
  1. Click and drag from any output port (right side of a node)

  2. Drop onto a compatible input port (left side of another node)

  3. The connection line will appear, showing your data flow

Connection Rules:
  • Execution ports (flow control) can only connect to other execution ports

  • Cycles are prevented - you cannot create loops that would cause infinite execution

  • Most input ports accept only one connection, but some special nodes like the Merge node can accept multiple inputs

Advanced Connection Techniques:

Lazy Connection Mode

Hold ALT and drag with the right mouse button to enable “Lazy Connection” mode. This automatically connects the closest output port from your starting node to the closest input port of your target node. Perfect for quick connections!

Disconnecting Nodes#

Remove connections when you need to modify your workflow:

Method 1: Direct Deletion

Select any connection line and press Delete to remove it.

Method 2: Slicer Tool

Press Y to activate the slicer tool, then drag across connection lines to cut them quickly.

Method 3: Node Shaking

Rapidly move a node in different directions to automatically disconnect all its connections. This is useful for quickly isolating a node.

Removing Nodes#

Simple Deletion:

Select any node and press Delete to remove it from your graph.

Working with Nested Graphs#

Some nodes support nested node graphs, allowing you to create modular, reusable components:

Supported Node Types:
  • Group Node - Create reusable sub-workflows

  • For Each Node - Define iterative operations

  • Other container nodes - Various specialized containers

Accessing Nested Graphs:

Double-click any node that supports nesting to open its internal graph in a new tab. Use the tab bar to navigate between your main graph and nested sub-graphs.

Saving and Loading Graphs#

File Management:

Use the File Menu to save and load your node graphs.

Keyboard Shortcuts#

Master these shortcuts to work efficiently with the Execution Graph:

Node Management
  • Tab - Open the node creation menu

  • Delete - Remove selected nodes and connections

  • Y - Activate the connection slicer tool

Clipboard Operations
  • Ctrl + C - Copy selected nodes to clipboard

  • Ctrl + V - Paste nodes from clipboard

File Operations
  • Ctrl + N - Create a new blank graph

  • Ctrl + O - Open an existing graph file

  • Ctrl + S - Save the current graph

  • Ctrl + Shift + S - Save graph with a new name

Window Management
  • Ctrl + Shift + N - Open a new Editor window

Edit Operations
  • Ctrl + Z - Undo last action

  • Ctrl + Y - Redo last undone action

  • Ctrl + A - Select all nodes in the graph

Application Control
  • Alt + F4 - Close the editor

  • F5 - Execute the current graph

Node State Management
  • D - Toggle disabled/enabled state of selected nodes

  • I - Show detailed information for selected nodes

Layout and Organization
  • F - Frame selected nodes (or all nodes if nothing selected)

  • L - Auto-layout selected nodes (or all nodes if nothing selected)

  • Ctrl + L - Layout selected nodes horizontally

  • Ctrl + Alt + L - Layout horizontally with even spacing

  • Shift + L - Layout selected nodes vertically

  • Shift + Alt + L - Layout vertically with even spacing

Positioning Aids
  • S - Toggle snap-to-nodes when moving nodes

  • Shift + S - Toggle snap-to-grid when moving nodes

Advanced Connection Modes
  • Alt + Right Mouse - Lazy Connect Mode (automatic connection)

  • Ctrl + Alt + Right Mouse - Lazy Connect Mode (replace existing connections)

  • Ctrl + Shift + Alt + Right Mouse - Lazy Connect Mode (create multiple connections)

Running Your Automations#

There are several ways to execute your node graphs, each suited for different workflow needs:

In the Editor#

Full Graph Execution

Click the Run button in the toolbar to execute your entire graph. The execution will:

  1. Start from the “Input” node

  2. Follow the execution connections in sequence

  3. Process each connected node according to your workflow logic

  4. Display results in the Output Log

Selective Node Execution

For testing and debugging, you can execute specific parts of your graph:

  1. Right-click any node in your graph

  2. Select “Execute” from the context menu

  3. The system will automatically execute that node and all its required input nodes

This is perfect for testing individual components or debugging specific workflow sections.

Automatic Execution with Callbacks#

Set up your graphs to run automatically when specific pipeline events occur:

Configuring Callbacks

In the Graph Settings panel, you can define callback triggers for automatic execution. Your graphs can respond to Prism Pipeline events such as:

  • When a new shot is created

  • When an asset gets exported

  • When files are published

  • When project states change

  • Other custom pipeline events

This powerful feature allows you to create responsive automations that trigger exactly when needed in your pipeline workflow.

Programmatic Execution#

Python API

Execute graphs programmatically using Python:

pcore.getPlugin("ExecutionGraph").executeGraphFromFile(graphPath)

This allows you to integrate Execution Graph automations into custom scripts, other plugins, or external applications.

Graph Libraries and Templates#

The Graph Library system helps you organize, share, and reuse your automation workflows:

Saving and Loading Graphs

Use the Graph Library panel to manage your workflow templates and share them across projects.

Prism Online Library

Expand your automation capabilities by accessing community-created graphs:

  1. Click the “More” button in the Graph Library panel

  2. Browse and download additional graphs from the Prism Online Library

  3. Integrate community solutions into your workflows

Project-Specific Libraries

Store and organize graphs within your project libraries:

  • Save commonly used workflows for easy team access

  • Create project-specific automation templates

  • Important: Remove the .json file filter from your library in the Project Settings to enable saving node graphs to custom project libraries

Extending with Custom Nodes#

Create Your Own Node Types#

Method 1: Using the Interface
  1. Go to File → Create Node Type

  2. Follow the guided creation process

  3. Define your node’s inputs, outputs, and functionality

Method 2: JSON Definition
  1. Copy the JSON node definition from an existing node

  2. Modify it to create your custom functionality

  3. Save it in a location where Prism scans for node definitions

Custom Node Loading System#

Prism uses a flexible system to load custom node definitions:

Default Location

Standard nodes are loaded from:

Resources\Nodedefs\standard_nodedefs.json

User-Specific Nodes

Personal custom nodes can be placed in:

%USERPROFILE%\Prism2\Presets\ExecutionGraph\NodeDefs\

All .json files in this directory will be automatically scanned.

Advanced Configuration

For complex setups, use environment variables:

  • PRISM_EG_NODEDEF_PATHS - Specify additional .json files to load

  • PRISM_EG_NODEDEF_SEARCH_PATHS - Define directories to scan for node definition files

All specified search paths will be recursively scanned for JSON files containing node definitions.

Benefits of Custom Nodes:
  • Extend Execution Graph functionality for specific pipeline needs

  • Create reusable components for complex operations

  • Share specialized nodes across your team or the community

Quick Node Creation Tip:

You can paste custom node type definitions directly into the node graph to instantly create nodes from JSON definitions stored in your clipboard.

Configuration and Environment Variables#

Fine-tune the Execution Graph plugin behavior using these environment variables:

Environment Variable Configuration#

Variable Name

Description

PRISM_EG_GRAPH_FOLDERS

Specify additional folders that will appear in the Graph Library for loading node graphs. Useful for organization-wide template sharing.

PRISM_EG_NODEDEF_PATHS

Define specific file paths containing custom node definitions. Add multiple paths separated by your system’s path separator.

PRISM_EG_NODEDEF_SEARCH_PATHS

Set directories that will be recursively searched for node definition files. Great for organizing custom nodes by category.

PRISM_EG_SHOW_SHADOWS

Control visual performance: 1 (default) enables attractive node shadows, 0 disables them for better performance in very large graphs.