From 9ebc4880728fb09a80061372e4731d348827a09e Mon Sep 17 00:00:00 2001 From: OpenClaw Agent Date: Wed, 22 Jul 2026 09:03:57 +0000 Subject: [PATCH] Restore legacy MSR timeline image fallback --- ltx_director.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/ltx_director.py b/ltx_director.py index bc25c1e..392bdac 100644 --- a/ltx_director.py +++ b/ltx_director.py @@ -1425,6 +1425,36 @@ def _extract_runtime_character_entries(tdata: dict, character_set, image_cache: except Exception as e: log.warning("[LTXDirector] Could not process external character_set input: %s", e) + if entries: + return entries + + try: + for char_info in tdata.get("characters", []): + images_list = char_info.get("images", []) + legacy_b64 = char_info.get("imageB64", "") + if legacy_b64 and not images_list: + images_list = [{"b64": legacy_b64, "name": char_info.get("fileName", "")}] + + loaded_images = [] + for img_info in images_list: + tensor = _load_image_source( + img_info.get("b64", ""), + img_info.get("name", ""), + cache=image_cache, + input_dir=input_dir, + ) + loaded_images.append(tensor) + + entries.append( + { + "images": loaded_images, + "description": char_info.get("description", "") or "", + "alias": _normalize_character_alias(char_info.get("alias", "")), + } + ) + except Exception as e: + log.warning("[LTXDirector] Could not process legacy timeline character slots: %s", e) + return entries