Added Rename and Shot Viewer tools

Rename panel: batch rename selected objects (or their materials) as
prefix_name_side_number_suffix. Numbering continues after existing names,
object data follows its object, and a preview shows the result.

Shot Viewer (button in the Tools panel): opens a window with its own
workspace showing the shots (sequencer scene strips) through their camera,
with the edit's sequencer at the bottom. Scrubbing the edit switches shots,
playing a shot moves the edit playhead, Loop Shot loops playback on the
shot. Shots can be added and deleted, and character / prop rigs selected
in pose mode from the sidebar.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nero Frame 13andClaude Opus 5.5 committed 2026-10-19 14:30:00 +02:00
1 parent b800e5a68b
commit 1a1767c984
5 files changed
+1173 -3

No files matched your search

+43
View File
@@ -207,6 +207,49 @@ DUPLICATE_NAME_TYPES = [
"node_groups",
]
# --------------------------------------------------------------------------- #
# Rename tool
# --------------------------------------------------------------------------- #
# Names are built as {prefix}_{name}_{side}_{number}_{suffix}, empty parts dropped.
# "By Type" prefixes come from OBJECT_PREFIXES / DATABLOCK_PREFIXES.
RENAME_SEPARATOR = "_"
RENAME_PADDING = 3
# Orientation tokens. TODO: confirm with production.
RENAME_SIDES = ["center", "left", "right", "front", "back", "top", "bottom"]
# "By Type" suffix per object type ("MATERIAL" for materials). TODO: confirm with production.
RENAME_TYPE_SUFFIXES = {
"MESH": "mesh",
"CURVE": "curve",
"SURFACE": "surface",
"FONT": "text",
"EMPTY": "empty",
"ARMATURE": "rig",
"LATTICE": "lattice",
"GREASEPENCIL": "gp",
"CAMERA": "cam",
"LIGHT": "light",
"MATERIAL": "mat",
}
# --------------------------------------------------------------------------- #
# Shot viewer
# --------------------------------------------------------------------------- #
# Groups of the rig quick selection: an armature goes to the first group whose
# pattern matches its name, one of its collections or its library file name.
# Unmatched armatures are listed under "Other". TODO: confirm with production.
SHOT_VIEWER_RIG_GROUPS = {
"Characters": r"(?i)^(?:chr|char)[_-]",
"Props": r"(?i)^(?:prp|prop)[_-]",
}
# Shots added by the shot viewer. TODO: confirm with production.
SHOT_NAME_FORMAT = "sh{:04d}"
SHOT_NUMBER_STEP = 10
SHOT_FRAME_START = 101
SHOT_DEFAULT_DURATION = 48
# --------------------------------------------------------------------------- #
# UI
# --------------------------------------------------------------------------- #