Storyboard: the note on a shot feeds Make this shot - rewrite from the note, then draw, then film

This commit is contained in:
gator 2026-09-22 21:09:18 +00:00
parent 3e107b190b
commit 8fc8179231

View file

@ -1409,7 +1409,7 @@
if (s.writing) {
return '<div class="shot"><div class="num">' + esc(s.id) + '</div><div class="body">'
+ '<h3>' + esc(s.title || "New scene") + '</h3>'
+ '<p class="busy">The writer is turning your note into a shot…</p>'
+ '<p class="busy">' + (s.making ? 'Making this shot: ' + esc(s.making) + ' · the rewrite takes a minute or two, the picture about a minute, then the clip 3 to 5 minutes. This page refreshes itself.' : 'The writer is turning your note into a shot…') + '</p>'
+ '<p class="cont">' + esc(String(s.rough || "").slice(0, 300)) + '</p></div></div>';
}
@ -1485,9 +1485,9 @@
}
var tools;
if (s.making && (s.drawing || stillFilming(s))) {
if (s.making && (s.writing || s.drawing || stillFilming(s))) {
var since = Date.parse(s.making_since || "") || Date.now(), mins = Math.floor((Date.now() - since) / 60000), secs = Math.floor(((Date.now() - since) % 60000) / 1000);
var expect = /drawing/.test(s.making) ? "the picture takes about a minute, then the clip 3 to 5 minutes" : "the clip takes 3 to 5 minutes";
var expect = /rewriting/.test(s.making) ? "the rewrite takes a minute or two, the picture about a minute, then the clip 3 to 5 minutes" : /drawing/.test(s.making) ? "the picture takes about a minute, then the clip 3 to 5 minutes" : "the clip takes 3 to 5 minutes";
tools = '<span class="busy">Making this shot: ' + esc(s.making) + ' &middot; ' + mins + ':' + String(secs).padStart(2, "0") + ' elapsed &middot; ' + expect + '. This page refreshes itself; the clip appears here when it is done.</span>';
}
else if (s.drawing) tools = '<span class="busy">drawing…</span>';
@ -1501,7 +1501,7 @@
} else {
tools = (s.make_error ? '<div class="warn" style="width:100%">' + esc(s.make_error) + '</div>' : '')
+ '<button type="button" class="btn primary" data-make="' + esc(s.id) + '" title="Draws the picture (the actors in the background) and then films the clip, in one go">'
+ (s.clip_url ? 'Make this shot again' : (s.opening_url && !s.picture_stale ? 'Make this shot (film the picture)' : 'Make this shot')) + ' &middot; about $' + ((s.opening_url && !s.picture_stale ? 0 : 0.14) + filmCost(s)).toFixed(2) + '</button>'
+ (NOTES[s.id] ? 'Apply my note, redraw and film' : s.clip_url ? 'Make this shot again' : (s.opening_url && !s.picture_stale ? 'Make this shot (film the picture)' : 'Make this shot')) + ' &middot; about $' + ((s.opening_url && !s.picture_stale && !NOTES[s.id] ? 0 : 0.14) + filmCost(s)).toFixed(2) + '</button>'
+ '<button type="button" class="btn" data-edit="' + esc(s.id) + '">Change this shot</button>'
+ '<button type="button" class="btn" data-drawone="' + esc(s.id) + '">'
+ (s.opening_url ? 'Redraw the shot picture' : 'Draw the shot picture (actors in the background)') + ' &middot; $0.14</button>'
@ -1541,7 +1541,7 @@
+ 'was charged. <button type="button" class="btn" data-filmanyway="' + esc(s.id)
+ '">Film another take anyway &middot; about $' + filmCost(s).toFixed(2) + '</button></p>' : '')
+ '<textarea class="note" rows="2" data-note="' + esc(s.id) + '" '
+ 'placeholder="Your note on this shot, for the next full revision.">'
+ 'placeholder="What should be different in this shot? Type it here and press the button above: the writer rewrites the shot from your note, then it is drawn and filmed again.">'
+ esc(NOTES[s.id] || "") + '</textarea>'
+ '</div></div>';
}
@ -1561,8 +1561,12 @@
if ((el = hit("data-make"))) {
el.disabled = true;
var msid = el.getAttribute("data-make");
r = await act("make_shot", { draft_id: CUR, shot_id: msid });
if (r) { showMsg("msg", "Making shot " + msid + (r.redraw ? ": picture first, then the clip" : ": filming the picture") + " - about $" + r.usd + ", roughly " + r.minutes + " minutes. The page refreshes itself.", "ok"); await refresh(); }
var nta = document.querySelector('[data-note="' + msid + '"]');
var mnote = nta ? nta.value.trim() : (NOTES[msid] || "");
r = await act("make_shot", { draft_id: CUR, shot_id: msid, note: mnote });
if (r) {
if (mnote) { await api("add_shot_note", { draft_id: CUR, shot_id: msid, note: "" }); NOTES[msid] = ""; }
showMsg("msg", "Making shot " + msid + (r.rewrite ? ": rewriting from your note, then the picture, then the clip" : r.redraw ? ": picture first, then the clip" : ": filming the picture") + " - about $" + r.usd + ", roughly " + r.minutes + " minutes. The page refreshes itself.", "ok"); await refresh(); }
else el.disabled = false;
return;
}