One guidance box per shot: Change this shot offers rewrite, or rewrite-redraw-film; the stale note box is gone

This commit is contained in:
gator 2026-09-23 01:33:41 +00:00
parent 42fbf5a2d0
commit b92b9373bb

View file

@ -1603,11 +1603,12 @@
+ (s.rough ? '<div class="tiny" style="margin:2px 0 6px">Last time you asked for: ' + esc(String(s.rough).slice(0, 240)) + '</div>' : '') + (s.rough ? '<div class="tiny" style="margin:2px 0 6px">Last time you asked for: ' + esc(String(s.rough).slice(0, 240)) + '</div>' : '')
+ '<div class="tools"><button type="button" class="btn primary" data-rewrite="' + esc(s.id) + '<div class="tools"><button type="button" class="btn primary" data-rewrite="' + esc(s.id)
+ '">Rewrite this shot</button>' + '">Rewrite this shot</button>'
+ '<button type="button" class="btn" data-rewritemake="' + esc(s.id) + '" title="The writer rewrites the shot from your words, then the picture is drawn and the clip filmed">Rewrite, redraw and film &middot; about $' + (0.14 + filmCost(s)).toFixed(2) + '</button>'
+ '<button type="button" class="btn" data-cancel="1">Cancel</button></div></div>'; + '<button type="button" class="btn" data-cancel="1">Cancel</button></div></div>';
} else { } else {
tools = (s.make_error ? '<div class="warn" style="width:100%">' + esc(s.make_error) + '</div>' : '') 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">' + '<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">'
+ (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>' + (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>'
+ '<button type="button" class="btn" data-edit="' + esc(s.id) + '">Change this shot</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) + '">' + '<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>' + (s.opening_url ? 'Redraw the shot picture' : 'Draw the shot picture (actors in the background)') + ' &middot; $0.14</button>'
@ -1651,9 +1652,6 @@
+ 'the last take - same pictures, same words, same voices - so it was not filmed again and nothing ' + 'the last take - same pictures, same words, same voices - so it was not filmed again and nothing '
+ 'was charged. <button type="button" class="btn" data-filmanyway="' + esc(s.id) + 'was charged. <button type="button" class="btn" data-filmanyway="' + esc(s.id)
+ '">Film another take anyway &middot; about $' + filmCost(s).toFixed(2) + '</button></p>' : '') + '">Film another take anyway &middot; about $' + filmCost(s).toFixed(2) + '</button></p>' : '')
+ '<textarea class="note" rows="2" data-note="' + esc(s.id) + '" '
+ '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>'; + '</div></div>';
} }
@ -1672,11 +1670,8 @@
if ((el = hit("data-make"))) { if ((el = hit("data-make"))) {
el.disabled = true; el.disabled = true;
var msid = el.getAttribute("data-make"); var msid = el.getAttribute("data-make");
var nta = document.querySelector('[data-note="' + msid + '"]'); r = await act("make_shot", { draft_id: CUR, shot_id: 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 (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(); } 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; else el.disabled = false;
return; return;
@ -1758,6 +1753,16 @@
r = await act("write_shot", { draft_id: CUR, shot_id: el.getAttribute("data-rewrite"), rough: rw }); r = await act("write_shot", { draft_id: CUR, shot_id: el.getAttribute("data-rewrite"), rough: rw });
EDITING = null; if (r) await refresh(); return; EDITING = null; if (r) await refresh(); return;
} }
if ((el = hit("data-rewritemake"))) {
var rw2 = document.getElementById("rough").value.trim();
if (rw2.length < 20) { showMsg("msg", "Say what should change."); return; }
el.disabled = true;
var rmid = el.getAttribute("data-rewritemake");
r = await act("make_shot", { draft_id: CUR, shot_id: rmid, note: rw2 });
EDITING = null;
if (r) { showMsg("msg", "Shot " + rmid + ": rewriting from your words, then the picture, then the clip - about $" + r.usd + ", roughly " + r.minutes + " minutes. The page refreshes itself.", "ok"); await refresh(); }
return;
}
if ((el = hit("data-drawone"))) { if ((el = hit("data-drawone"))) {
el.disabled = true; el.disabled = true;
r = await act("draw_one_shot", { draft_id: CUR, shot_id: el.getAttribute("data-drawone") }); r = await act("draw_one_shot", { draft_id: CUR, shot_id: el.getAttribute("data-drawone") });