Added the Scene Manager (Libreflow casting, load, update, assetize)
New Scene Manager panel (WTD tab) talking to a running Libreflow through its IPC server and the wtdcmds commands: pick the shot context, read the casting, link the latest available publishes (overrides for chars and props, collection instances otherwise), flag out-of-date versions in red, update / roll back / remove loaded assets, and publish local collections as assets. Requests run in the background. Settings in config.py (SCENE_MANAGER_*, LIBREFLOW_*). The Shot Viewer groups rigs loaded by the Scene Manager by asset type. The manifest declares the network permission. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
10fe71e79e
commit
c238f4db7c
10 files changed
+1630
-11
No files matched your search
@@ -243,6 +243,8 @@ SHOT_VIEWER_RIG_GROUPS = {
|
||||
"Characters": r"(?i)^(?:chr|char)[_-]",
|
||||
"Props": r"(?i)^(?:prp|prop)[_-]",
|
||||
}
|
||||
# Rigs loaded by the Scene Manager are grouped by their Libreflow asset type first.
|
||||
SHOT_VIEWER_ASSET_TYPE_GROUPS = {"chars": "Characters", "props": "Props"}
|
||||
|
||||
# Shots added by the shot viewer. TODO: confirm with production.
|
||||
SHOT_NAME_FORMAT = "sh{:04d}"
|
||||
@@ -259,6 +261,28 @@ SHOT_NUMBER_STEP = 10
|
||||
SHOT_FRAME_START = 1001
|
||||
SHOT_DEFAULT_DURATION = 48
|
||||
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Scene Manager (Libreflow)
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Address and token of the Libreflow IPC server (kabaret.ipc).
|
||||
LIBREFLOW_SERVER_FILE = "~/.kabaret/ipc/server.json"
|
||||
# Seconds to wait for an answer (the server itself gives up after 10 s).
|
||||
LIBREFLOW_TIMEOUT = 15
|
||||
|
||||
# Published file loaded for each asset type ("*" = the others): ordered
|
||||
# "task/file.ext" glob patterns, the first file of the asset matching one is loaded.
|
||||
SCENE_MANAGER_FILE_PATTERNS = {"*": ["rigging/*.blend", "modeling/*.blend"]}
|
||||
# Collection linked from an asset file: the first of these names found ({asset}
|
||||
# = asset name), else the file's single top-level collection.
|
||||
SCENE_MANAGER_COLLECTION_NAMES = ["COL_{asset}", "{asset}"]
|
||||
# How an asset type is brought in: "OVERRIDE" (library override, posable) or
|
||||
# "INSTANCE" (collection instance). "*" = the other types. TODO: confirm type names.
|
||||
SCENE_MANAGER_LINK_MODES = {"chars": "OVERRIDE", "props": "OVERRIDE", "*": "INSTANCE"}
|
||||
# Collection gathering the loaded assets of a type, under the scene collection.
|
||||
SCENE_MANAGER_TYPE_COLLECTION = "COL_{asset_type}"
|
||||
# Default task of the assetize dialog.
|
||||
SCENE_MANAGER_ASSETIZE_TASK = "modeling"
|
||||
|
||||
# --------------------------------------------------------------------------- #
|
||||
# UI
|
||||
# --------------------------------------------------------------------------- #
|
||||
|
||||
Reference in new issue
Block a user