updated client review page
Deploy / deploy (push) Successful in 2m35s

This commit is contained in:
twotalesanimation
2026-06-22 07:48:27 +02:00
parent 835081c1b9
commit ab062a589a
5 changed files with 1777 additions and 1 deletions
+706
View File
@@ -0,0 +1,706 @@
# VFXReview Connector for Nuke
A dockable PySide-based panel for Foundry Nuke that integrates with the VFXReview platform to streamline shot setup, review publishing, render management, and compositing workflows for VFX production pipelines.
---
# Overview
The Nuke Connector is designed around a single principle:
> Artists should not spend time building standard node graphs, locating plates, configuring write nodes, or publishing reviews.
The connector automates these repetitive tasks and standardises shot structure across the project.
---
# Configuration
The connector uses the following global configuration variables.
| Variable | Description |
| ------------ | --------------------------- |
| TOKEN | API authentication token |
| BASE_URL | VFXReview platform URL |
| PROJECT_CODE | Project identifier |
| PROJECT_ROOT | Root project directory |
| FOOTAGE_ROOT | Source footage location |
| EXPORT_ROOT | Published render location |
| PICLOCK_ROOT | Picture lock location |
| NK_ROOT | Nuke script location |
| OCIO_CONFIG | Facility OCIO configuration |
Example:
```python
TOKEN = "xxxxx"
BASE_URL = "https://review.twotalesvfx.com"
PROJECT_CODE = "UNG_S1"
PROJECT_ROOT = "X:/shared_projects_2026/UNGO_VFX"
FOOTAGE_ROOT = PROJECT_ROOT + "/production/plates"
EXPORT_ROOT = PROJECT_ROOT + "/production/renders"
PICLOCK_ROOT = PROJECT_ROOT + "/production/piclocks"
NK_ROOT = PROJECT_ROOT + "/production/nuke"
OCIO_CONFIG = PROJECT_ROOT + "/config/aces/config.ocio"
```
---
# Panel Layout
The panel is divided into six sections.
1. Shot Builder
2. Publishing
3. References
4. Utilities
5. Color Management
6. Status
---
# Shot Builder
---
## Episode Dropdown
Queries:
```http
GET /api/ext/projects/{PROJECT_CODE}/episodes
```
Displays:
```text
UNG_101
UNG_102
UNG_103
...
```
---
## Shot Dropdown
Queries:
```http
GET /api/ext/projects/{PROJECT_CODE}/shots?episode={episode}
```
Displays:
```text
UNG_106_010_020
UNG_106_010_030
UNG_106_010_040
```
---
## Build Shot
Creates a complete Nuke script for the selected shot.
### Process
1. Retrieve shot metadata from VFXReview.
2. Locate latest plate sequences.
3. Create Read nodes.
4. Create project Backdrop.
5. Configure project settings.
6. Create standard Write nodes.
7. Create Review branch.
8. Create Viewer.
9. Save script.
### Script Structure
```text
PLATES
Read_Plate
|
OCIOColorSpace
|
Dot
|
--------------------------------
| |
COMP REVIEW
| |
Write_EXR ReviewSlate
|
Write_MOV
```
### Script Settings
```python
fps = 24
format = UHD
colorManagement = OCIO
```
### Save Location
```text
{NK_ROOT}/{episode}/{shotCode}/{shotCode}_comp_v001.nk
```
---
## Build Cleanup Script
Creates a prebuilt cleanup template.
### Graph
```text
Read
|
FrameHold
|
RotoPaint
|
Merge
|
Write
```
Used for:
* Reflection removal
* Wire removal
* Crew cleanup
* Sign removal
* Set extensions
---
## Build Projection Script
Creates a standard projection setup.
### Graph
```text
Read
|
Project3D
|
Card
|
ScanlineRender
```
Additional nodes:
```text
Camera
Axis
Scene
```
---
## Build Screen Comp Script
Creates a standard monitor replacement setup.
### Graph
```text
Read
|
PlanarTracker
|
CornerPin
|
Merge
```
Creates placeholders for:
* Screen source
* Reflection source
* Grade stack
---
# Publishing
---
## Publish EXR
Creates or updates:
```text
Write_EXR
```
### Settings
```text
Datatype: 16-bit half
Compression: ZIP
Colorspace: ACEScg
```
### Output
```text
{EXPORT_ROOT}/{shotCode}/{exrOutput}.####.exr
```
---
## Publish Review MOV
Creates:
```text
Write_Review
```
### Output
```text
{EXPORT_ROOT}/{shotCode}_cmp_TT_v001.mov
```
### Review Slate
Automatically inserts:
```text
ReviewSlate
```
Populated from API metadata.
Fields:
* Shot Name
* Description
* Notes
* Episode
* Scene
* Date
* Version
* Artist
---
## Publish to VFXReview
One-click publish.
### Process
1. Render review MOV.
2. Generate thumbnail.
3. Upload MOV.
4. Upload thumbnail.
5. Update review status.
6. Attach version notes.
### API
```http
POST /api/ext/reviews
```
---
## Version Up
Automatically increments:
```text
UNG_106_010_020_comp_v001.nk
```
to
```text
UNG_106_010_020_comp_v002.nk
```
Updates:
* Script filename
* Write nodes
* Review paths
* Slate version
---
# References
---
## Pull Picture Lock
Retrieves picture lock reference.
### Process
1. Query sequence timecodes.
2. Locate offline.
3. Create Read node.
4. Set frame range.
5. Place in REFERENCE backdrop.
### Graph
```text
Read_Piclock
```
Positioned separately from comp graph.
---
## Pull Latest Plate
Scans:
```text
FOOTAGE_ROOT
```
Imports latest available plate version.
Creates:
```text
Read_Plate
```
---
## Pull Latest Render
Scans render folder.
Creates Read nodes for:
```text
beauty
matte
atmos
fx
comp
```
where available.
---
## Pull Client Notes
Queries VFXReview.
Displays:
* Description
* Notes
* Latest review comments
* Client feedback
inside panel.
---
# Utilities
---
## Auto Cryptomatte Setup
Scans channels.
Automatically creates:
```text
Cryptomatte_Object
Cryptomatte_Material
Cryptomatte_Asset
```
where available.
---
## Auto Shuffle Setup
Creates shuffles for common passes.
Examples:
```text
rgba
depth
motion
position
normal
specular
diffuse
emission
```
---
## Import Render Package
Imports all render layers from a render directory.
Creates:
```text
Read nodes
Backdrop
```
Organised automatically.
---
## Fix Paths
Searches entire script.
Updates:
```text
old path
```
to
```text
current project path
```
Useful when artists move between machines.
---
## Script Health Check
Scans script for:
* Missing footage
* Missing renders
* Missing OCIO config
* Disabled Write nodes
* Broken file paths
Returns report.
---
# Color Management
---
## Configure OCIO
Sets:
```python
nuke.root()["colorManagement"].setValue("OCIO")
```
Loads facility OCIO config.
---
## Configure Project
Sets:
```text
FPS = 24
Format = UHD
Viewer = ACES 1.0 SDR Video
```
or project-specific viewer process.
---
## Apply Colorspaces
Automatically assigns colorspaces to Read nodes based on:
* Metadata
* Filename conventions
* Folder structure
Examples:
```text
plates = ACES2065-1
cg = ACEScg
jpg = Utility - sRGB
mov = Rec709
```
---
# API Reference
All requests include:
```http
Authorization: Bearer {TOKEN}
Accept: application/json
```
---
## Endpoints
### Episodes
```http
GET /api/ext/projects/{PROJECT_CODE}/episodes
```
### Shots
```http
GET /api/ext/projects/{PROJECT_CODE}/shots
```
### Shot Lookup
```http
GET /api/ext/shots/lookup
```
### Publish Review
```http
POST /api/ext/reviews
```
### Update Status
```http
POST /api/ext/shots/status
```
---
# Shot Metadata Fields
| Field | Purpose |
| ---------------- | -------------------- |
| shotCode | Canonical identifier |
| exrOutput | EXR publish filename |
| description | Review slate |
| notes | Review slate |
| episode | Metadata |
| scene | Metadata |
| seqTimecodeStart | Picture lock |
| seqTimecodeEnd | Picture lock |
| status | Tracking |
| artist | Review metadata |
---
# Standard Node Backdrops
The connector automatically creates the following backdrops:
```text
INPUTS
REFERENCE
COMP
REVIEW
WRITE
UTILITIES
```
This ensures every artist works with a consistent node graph layout.
---
# Status Panel
The bottom panel displays:
### Line 1
```text
Current Shot
```
Example:
```text
UNG_106_010_020
```
### Line 2
```text
Current Script Version
```
Example:
```text
v012
```
### Line 3
```text
Last Action
```
Example:
```text
Published review successfully
```
### Line 4
```text
Warnings
```
Examples:
```text
Missing Cryptomatte
Missing Plate
Broken Read Node
```
---
# Future Features
* Farm submission
* Deadline integration
* Render progress tracking
* Automatic review generation
* AI-assisted cleanup setup
* AI-assisted screen comp setup
* AI-assisted roto setup
* Automatic shot diagnostics
* Direct VFXReview note syncing
* Multi-show support
* Nuke Studio integration
The primary goal of the connector is to allow an artist to open a shot and begin compositing immediately with all infrastructure, references, review outputs, and publish paths already configured.