Movie Editor: inject scene image without a target; closable boot-error overlay
- _prepare_media no longer requires a per-scene 'target' (removed earlier) — it now injects the scene image as a LoadImage from just the asset ref. Fixes 'ImageTransformKJ .image (IMAGE): no node outputs IMAGE' for image-anchored scenes/runs: the image is now materialised and auto-wires to IMAGE inputs. - Boot-error overlay gets a ✕ dismiss button so it can't permanently block the top menu (so you can still reach Restart ComfyUI etc.). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
3ab367fb51
commit
a7b553ca54
@@ -15,11 +15,19 @@
|
||||
var b = document.getElementById("boot-error");
|
||||
if (!b) {
|
||||
b = document.createElement("div"); b.id = "boot-error";
|
||||
b.style.cssText = "position:fixed;z-index:99999;left:0;right:0;top:0;padding:10px 14px;" +
|
||||
b.style.cssText = "position:fixed;z-index:99999;left:0;right:0;top:0;padding:10px 34px 10px 14px;" +
|
||||
"background:#3a1320;color:#ffb3c1;font:12px/1.5 monospace;border-bottom:1px solid #e0566b;white-space:pre-wrap";
|
||||
var x = document.createElement("button");
|
||||
x.textContent = "✕"; x.title = "Dismiss";
|
||||
x.style.cssText = "position:absolute;top:6px;right:8px;background:transparent;border:1px solid #e0566b;" +
|
||||
"color:#ffb3c1;border-radius:6px;cursor:pointer;font:12px monospace;padding:1px 7px;line-height:1.4";
|
||||
x.onclick = function () { b.remove(); };
|
||||
b.appendChild(x);
|
||||
(document.body || document.documentElement).appendChild(b);
|
||||
}
|
||||
b.textContent = "Movie Editor error — " + msg + "\n(restart ComfyUI + hard-reload Cmd/Ctrl+Shift+R; if it persists, send me this text)";
|
||||
var t = b.querySelector(".boot-error-text");
|
||||
if (!t) { t = document.createElement("span"); t.className = "boot-error-text"; b.insertBefore(t, b.firstChild); }
|
||||
t.textContent = "Movie Editor error — " + msg + "\n(restart ComfyUI + hard-reload Cmd/Ctrl+Shift+R; if it persists, send me this text)";
|
||||
}
|
||||
window.addEventListener("error", function (e) {
|
||||
show((e.message || "load error") + (e.filename ? " @ " + e.filename.split("/").pop() + ":" + e.lineno : ""));
|
||||
|
||||
@@ -88,7 +88,9 @@ def _prepare_media(proj: Project) -> Optional[dict]:
|
||||
src = sc.source
|
||||
ref = getattr(src, "media_ref", None)
|
||||
tgt = getattr(src, "target", None)
|
||||
if not (src and getattr(src, "type", "") in ("image", "generated_frame") and ref and tgt):
|
||||
# A target is OPTIONAL now (routing is automatic — the image becomes a LoadImage
|
||||
# IMAGE producer that auto-wires). Only an asset reference is required.
|
||||
if not (src and getattr(src, "type", "") in ("image", "generated_frame") and ref):
|
||||
continue
|
||||
path = media.path_for(ref)
|
||||
if not path:
|
||||
|
||||
Reference in New Issue
Block a user