Storyboard: draw the cast on its own; say when a character has no face yet

This commit is contained in:
gator 2026-09-22 14:48:57 +00:00
parent 637c8f125a
commit b59d12c289

View file

@ -996,11 +996,17 @@
return '<li>' + esc(x) + '</li>'; }).join("") + '</ul></div>' return '<li>' + esc(x) + '</li>'; }).join("") + '</ul></div>'
: ""; : "";
var castHtml = '<div class="cast">' + cast.map(function (c) { var faceless = cast.filter(function (c) { return !c.head_url && c.id !== "Narrator" && !/no visible body/i.test(c.appearance || ""); }).length;
var castBar = faceless
? '<p class="tiny" style="margin:6px 0 8px">' + faceless + ' of the cast have no face yet - the reference sheets are drawn with the first picture. '
+ (PKG.cast_state ? '<b>Drawing the cast&hellip;</b>' : '<button type="button" class="btn small" data-drawcast="' + esc(draft.id) + '">Draw the cast now</button> (about $' + (faceless * 4 * 0.068).toFixed(2) + ', no shots, no video)') + '</p>'
: '';
var castHtml = castBar + '<div class="cast">' + cast.map(function (c) {
var nm = c.name || c.id; var nm = c.name || c.id;
var sheets = c.head_url var sheets = c.head_url
? '<div class="sheets"><img data-zoom="' + esc(nm + " — the face every picture is drawn from") ? '<div class="sheets"><img data-zoom="' + esc(nm + " — the face every picture is drawn from")
+ '" src="' + esc(c.head_url) + '" alt=""></div>' : ''; + '" src="' + esc(c.head_url) + '" alt=""></div>'
: (c.id !== "Narrator" && !/no visible body/i.test(c.appearance || "") ? '<div class="sheets tiny" style="color:var(--muted)">no face drawn yet</div>' : '');
return '<div class="ch">' + sheets + '<b>' + esc(nm) + '</b>' return '<div class="ch">' + sheets + '<b>' + esc(nm) + '</b>'
+ '<span class="vo">' + esc(c.role || "") + (c.voice_id ? " · voiced" : " · silent") + '<span class="vo">' + esc(c.role || "") + (c.voice_id ? " · voiced" : " · silent")
+ '</span><div class="ap">' + esc((c.appearance || "").slice(0, 150)) + '</div>' + '</span><div class="ap">' + esc((c.appearance || "").slice(0, 150)) + '</div>'
@ -1499,6 +1505,12 @@
var el, r; var el, r;
if ((el = hit("data-cancel"))) { EDITING = null; openTab(CUR); return; } if ((el = hit("data-cancel"))) { EDITING = null; openTab(CUR); return; }
if ((el = hit("data-drawcast"))) {
el.disabled = true;
r = await act("draw_cast", { draft_id: el.getAttribute("data-drawcast") });
if (r) { showMsg("msg", "Drawing reference sheets for " + r.characters + " characters (about $" + r.usd + "). They appear as they finish.", "ok"); setTimeout(refresh, 20000); }
return;
}
if ((el = hit("data-add"))) { EDITING = "new:" + el.getAttribute("data-add"); openTab(CUR); return; } if ((el = hit("data-add"))) { EDITING = "new:" + el.getAttribute("data-add"); openTab(CUR); return; }
if ((el = hit("data-edit"))) { EDITING = el.getAttribute("data-edit"); openTab(CUR); return; } if ((el = hit("data-edit"))) { EDITING = el.getAttribute("data-edit"); openTab(CUR); return; }