From 5a541040053de5637c14ef41559e65e611e62e74 Mon Sep 17 00:00:00 2001 From: gator Date: Sat, 19 Sep 2026 18:43:16 +0000 Subject: [PATCH] Film it again no longer forces; an unchanged picture or clip is not bought twice, and another attempt is its own priced button --- trailer.html | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/trailer.html b/trailer.html index 47de6d6..8cc780a 100644 --- a/trailer.html +++ b/trailer.html @@ -1234,6 +1234,14 @@ + faultsHtml(s) + filmNoteHtml(s) + '
' + tools + '
' + + (s.draw_unchanged && !s.drawing ? '

Nothing about these pictures has changed since they ' + + 'were drawn, so they were not drawn again and nothing was charged. ' + + '

' : '') + + (s.film_unchanged && !s.filming ? '

Nothing that reaches the camera has changed since ' + + 'the last take - same pictures, same words, same voices - so it was not filmed again and nothing ' + + 'was charged.

' : '') + '' @@ -1276,17 +1284,29 @@ } if ((el = hit("data-filmone"))) { el.disabled = true; - // "Film it again" means ANOTHER TAKE. Without `force` the worker sees an - // unchanged request, correctly notes it would send identical bytes, and - // does nothing - so the button an author presses to get a better take - // gave them the same one and no explanation. + // NEVER force from here. If nothing that reaches the video model has + // changed, the worker films nothing, charges nothing and says so; the + // author can then ask for another take with the button that says what + // it costs. Forcing on every press made a slip of the finger cost $0.75. var fsid1 = el.getAttribute("data-filmone"); - var had = (PKG.shots || []).some(function (x) { return String(x.id) === fsid1 && x.clip_url; }); - r = await act("film_one_shot_now", { draft_id: CUR, shot_id: fsid1, force: had }); - if (r) { showMsg("msg", (had ? "Filming another take of shot " : "Filming shot ") + fsid1 - + ", about $" + r.usd + ". It takes a minute or two.", "ok"); await refresh(); } + r = await act("film_one_shot_now", { draft_id: CUR, shot_id: fsid1 }); + if (r) { showMsg("msg", "Shot " + fsid1 + " sent to be filmed, about $" + r.usd + + " if anything has changed since the last take.", "ok"); await refresh(); } return; } + if ((el = hit("data-filmanyway"))) { + el.disabled = true; + var fsid2 = el.getAttribute("data-filmanyway"); + r = await act("film_one_shot_now", { draft_id: CUR, shot_id: fsid2, force: true }); + if (r) { showMsg("msg", "Filming another take of shot " + fsid2 + ", about $" + r.usd + + ". It takes a minute or two.", "ok"); await refresh(); } + return; + } + if ((el = hit("data-drawanyway"))) { + el.disabled = true; + r = await act("draw_one_shot", { draft_id: CUR, shot_id: el.getAttribute("data-drawanyway"), force: true }); + if (r) await refresh(); return; + } if ((el = hit("data-delete"))) { if (!confirm("Remove shot " + el.getAttribute("data-delete") + " from this trailer?")) return; el.disabled = true;