Shot Viewer: camera markers in a sidebar panel

Shots are now timeline markers bound to a camera instead of sequencer
scene strips, all in one scene. The Shot Viewer is a fixed panel in the
WTD tab instead of a separate window: choosing a shot moves the playhead
and puts the current 3D view in its camera. Adding a shot creates a
marker and camera at the end of the scene, deleting removes the marker
(and optionally the camera). Loop Shot is now off by default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nero Frame 13andClaude Opus 5.5 committed 2026-10-20 15:56:28 +02:00
1 parent a83bc959d0
commit c376a92591
3 files changed
+171 -499

No files matched your search

+39 -48
View File
@@ -4,7 +4,7 @@ Blender add-on for the Melvile pipeline (Walking The Dog). It brings together:
- **[Sanity Check](#sanity-check)**: checks a file against the production specs and fixes what can be fixed.
- **[Rename](#rename)**: batch renames objects and materials to the naming convention, with consistent numbering.
- **[Shot Viewer](#shot-viewer)**: a window to review, switch, create and delete the shots of a sequence, with quick access to the character and prop rigs.
- **[Shot Viewer](#shot-viewer)**: switch, create and delete the shots of a sequence (camera markers) from the sidebar, with quick access to the character and prop rigs.
- **[Get Oid](#get-oid-for-open-scene)**: asks Libreflow for the id of the open file.
Most values the tools rely on (prefixes, shot naming, frame rate…) live in `config.py` and can be overridden per studio without touching the code. See [Configuration](#configuration).
@@ -27,7 +27,7 @@ Most values the tools rely on (prefixes, shot naming, frame rate…) live in `co
## Installation
Tested on **Blender 5.2**. The Shot Viewer relies on sequencer features added in Blender 5.
Tested on **Blender 5.2**.
**As an extension (artists):** build the package, then in Blender go to *Edit > Preferences > Get Extensions > Install from Disk…* and pick the `.zip`.
@@ -55,9 +55,9 @@ Open the sidebar of the 3D Viewport (**N**) and click the **WTD** tab.
| Panel | Editors |
|---|---|
| **Sanity Check** | 3D Viewport, Video Sequencer |
| **Tools** (Get Oid, Shot Viewer button) | 3D Viewport |
| **Tools** (Get Oid) | 3D Viewport |
| **Rename** | 3D Viewport, Shader Editor |
| **Shot Viewer** | Only in the Shot Viewer window |
| **Shot Viewer** | 3D Viewport |
---
@@ -178,10 +178,6 @@ The character checks compare each character to a **master character**:
Asks Libreflow for the object id (oid) of the open file and shows it in the status bar. Blender must have been started from Libreflow, so that the Kabaret connection is available.
### Shot Viewer
Opens the [Shot Viewer](#shot-viewer) window.
---
## Rename
@@ -237,40 +233,39 @@ The box under the **Rename** button previews every change (`old name → new nam
## Shot Viewer
A separate window to review the shots of a sequence through their camera. You can switch shots, add and delete them, and grab the character and prop rigs.
A sidebar panel to go through the shots of a sequence in their camera. You can switch shots, add and delete them, and grab the character and prop rigs.
### How shots are stored
- The **edit** is a scene whose Video Sequencer holds the sequence.
- Each **shot** is a **scene strip** in that sequencer. The strip points to a scene (where the set and characters live) and optionally to a camera (*Strip > Scene > Camera*). Without a camera on the strip, the scene's active camera is used.
- Several shots can use the same scene with different cameras and frame ranges.
The whole sequence lives in **one scene**:
### Opening it
- Each **shot** is a **timeline marker bound to a camera**. To bind one by hand: select the camera, put the playhead on the marker, then *Marker > Bind Camera to Markers* (**Ctrl+B**) in the Timeline.
- A shot runs from its marker to the frame before the next camera marker. The last shot runs to the scene's **End** frame.
- Markers without a camera are ignored, so you can keep using them as notes.
- Several shots can use the same camera.
*WTD tab > Tools > **Shot Viewer***.
During playback, Blender itself switches to the camera of each marker, so playing the scene plays the cut.
This opens a new window with its own **Shot Viewer** workspace (a tab in the top bar):
### Where it is
- **Top:** the 3D view, looking through the shot camera.
- **Bottom:** the Sequencer showing the **edit**, with each shot as a strip and the playhead showing where you are in the sequence.
- **Sidebar (WTD tab):** the **Shot Viewer** panel.
*3D Viewport sidebar (**N**) > WTD tab > **Shot Viewer***.
The window starts on the shot under the edit playhead. The file does not need any shots yet: the current scene becomes the edit, and you can add shots right away.
Choosing a shot in the panel moves the playhead to it and puts **the 3D view you clicked in** into that shot's camera view. Keep a Timeline open (for example at the bottom of the Layout workspace) to see the camera markers and where you are in the sequence.
Your main window stays on the edit scene. You can keep working there, or put the viewer on a second screen.
The list always highlights the shot under the playhead. The file does not need any shots yet: add the first one with **+**.
### Moving through the edit
### Moving through the sequence
| To… | Do… |
|---|---|
| Jump to a shot | Click it in the shot list (name, camera, frames in the edit). |
| Jump to a shot | Click it in the shot list (name, camera, frames). The playhead jumps to the first frame of the shot. |
| Go to the previous / next shot | **Previous** / **Next**. |
| Find a shot by name | The filter field at the bottom of the shot list. |
| Scrub the sequence | Drag the playhead in the Sequencer at the bottom. The 3D view switches to the shot under the playhead (scene, camera and frame), and the list follows. This is Blender's **Sync Scene Time** option, the checkbox at the bottom of the Sequencer. |
| Play one shot | Press play with the mouse over the **3D view**. With **Loop Shot** on, playback loops on the shot. The edit playhead follows along. |
| Play the whole sequence | Press play with the mouse over the **Sequencer**. The 3D view follows from shot to shot. |
| Scrub the sequence | Drag the playhead in the Timeline. The camera and the shot list follow. |
| Play one shot | Tick **Loop Shot** and press play: playback loops on the shot under the playhead. |
| Play the whole sequence | Press play with **Loop Shot** unticked (the default): the cameras switch at each marker. |
**Loop Shot** works by setting the preview range of the shot's scene to the shot frames. Unticking it removes that preview range from the shot scenes.
**Loop Shot** works by setting the scene's preview range to the shot frames (the shaded part of the Timeline). It follows when you change shot. Unticking it turns the preview range off.
### Adding a shot
@@ -278,29 +273,28 @@ Click **+** next to the shot list:
| Setting | Use |
|---|---|
| **Name** | Pre-filled with the next free shot number (`sh0010`, `sh0020`…). |
| **Scene: New, Shared Content** | A new scene using the **same collections** as the scene shown in the viewer (set, characters…), without copying them. Cameras placed directly in that scene's top collection are not carried over. |
| **Scene: New, Empty** | A blank scene with the resolution and frame rate of the edit. |
| **Scene: Existing** | Reuse an existing scene for its whole frame range. **New Camera** decides whether the shot gets its own camera or uses the scene's. |
| **Duration** | Length in frames, for new scenes. New scenes start at frame 1001. |
| **Name** | Pre-filled with the next free shot number (`sh0010`, `sh0020`…). This is the marker name. |
| **Duration** | Length of the shot in frames. |
| **New Camera** | On: creates the camera `CAM_<shot name>`, copying the lens and position of the current camera, so you start from the current framing. Off: pick an existing camera of the scene. |
The new shot is placed at the end of the edit and gets its own camera `CAM_<shot name>`. The camera copies the lens and position of the camera you were looking through, so you start from the current framing. The viewer then jumps to the new shot.
The shot is added at the end of the sequence and the scene's **End** frame grows to include it. The first shot starts at frame 1001, and the scene **Start** moves there too. The playhead and the 3D view then jump to the new shot.
New cameras go in the scene's top collection: move them into your camera collection if you have one.
### Deleting a shot
Select it and click **−**:
Put the playhead on the shot (or select it in the list) and click **−**:
| Option | Default | Use |
|---|---|---|
| **Close Gap** | On | Moves the following strips back so the edit has no hole. |
| **Delete Camera** | Off | Also deletes the shot camera, unless another shot uses it. |
| **Delete Scene** | Off | Also deletes the shot scene, unless another shot uses it. The edit scene is never deleted. |
- The shot's camera marker is removed.
- **Delete Camera** (off by default): also deletes its camera, unless another shot uses it.
- **Deleting a shot in the middle:** its frames go to the previous shot. **Nothing is moved in time**: the animation stays where it is, so cut or shift it by hand if the frames must disappear.
- **Deleting the last shot:** the scene's **End** frame moves back to the end of the previous shot.
**Ctrl+Z** undoes adding and deleting shots.
### Selecting rigs
The bottom of the panel lists the armatures of the shot, grouped into **Characters**, **Props** and **Other**:
The bottom of the panel lists the armatures of the scene, grouped into **Characters**, **Props** and **Other**:
- **Click** a rig: selects it and enters Pose Mode.
- **Shift+click**: adds it to the selection, to pose several rigs at once.
@@ -308,12 +302,6 @@ The bottom of the panel lists the armatures of the shot, grouped into **Characte
A rig counts as a character or a prop when its name, one of its collections, or the library file it comes from starts with `chr_` / `prp_` (see `SHOT_VIEWER_RIG_GROUPS` in [Configuration](#configuration)). Hidden rigs cannot be selected.
### Good to know
- The **Shot Viewer** workspace is saved with the file. Opening the viewer again reuses it.
- After reopening a file, check the **Edit** field at the top of the panel if the edit is not found automatically.
- Reversed strips and strips with a changed speed are not supported.
---
## Configuration
@@ -367,10 +355,13 @@ Either no character reference is set (see [Character reference](#character-refer
Nothing is selected, the selection is linked from a library, or (in *Materials* mode) the selected objects have no local material.
**Shot Viewer: a rig is not in the list.**
Only armatures in the shot's view layer are listed. A collection instance that has not been overridden does not expose its armature: make a library override first.
Only armatures in the scene's view layer are listed. A collection instance that has not been overridden does not expose its armature: make a library override first.
**Shot Viewer: the 3D view does not follow when I scrub.**
Check that **Sync Scene Time** is ticked at the bottom of the Sequencer in the viewer window.
**Shot Viewer: a shot is missing from the list.**
Only markers bound to a camera are shots. Select the marker, select its camera, and press **Ctrl+B** in the Timeline.
**Shot Viewer: playback only plays one shot.**
**Loop Shot** is on. Untick it to play the whole sequence.
---