Admin: show the reference photo beside the frame it produced

A video came out with the wrong dog — no collar, hazel eyes instead of black —
and there was no way to tell from this page whether a reference photograph had
been used at all. It had not: the shot had a photo selected but no opening
frame, so Veo was given the written description only and invented a plausible
bulldog.

Show both images side by side, and say loudly when there is no opening frame,
because that is the exact signature of a likeness that silently went missing.
This commit is contained in:
gator 2026-09-07 17:46:43 +00:00
parent 79ba141ada
commit 0771c990f4

View file

@ -73,7 +73,24 @@ function shotHtml(s) {
+ '<div class="kv">voice: ' + (s.voice_used
? esc(s.voice_used) + ' (redubbed)'
: '<span class="warnw">Veo original, not redubbed</span>') + '</div>'
+ (s.plate_url ? '<div class="kv">opening still: <a href="' + esc(s.plate_url) + '" target="_blank" rel="noopener">view</a></div>' : '')
// The likeness chain, end to end: the owner's photograph, then the
// opening frame built from it, which is what Veo actually receives. If
// the frame is missing, Veo saw only the written description.
+ '<div style="display:flex;gap:14px;margin:10px 0;flex-wrap:wrap">'
+ (s.ref_photo_url
? '<figure style="margin:0"><a href="' + esc(s.ref_photo_url) + '" target="_blank" rel="noopener">'
+ '<img src="' + esc(s.ref_photo_url) + '" alt="reference photograph" '
+ 'style="height:120px;border-radius:8px;border:1px solid #2a2f3a;display:block"></a>'
+ '<figcaption class="kv">their photo' + (s.ref_photo_kind ? ' · ' + esc(s.ref_photo_kind) : '') + '</figcaption></figure>'
: '')
+ (s.plate_url
? '<figure style="margin:0"><a href="' + esc(s.plate_url) + '" target="_blank" rel="noopener">'
+ '<img src="' + esc(s.plate_url) + '" alt="opening frame" '
+ 'style="height:120px;border-radius:8px;border:1px solid #2a2f3a;display:block"></a>'
+ '<figcaption class="kv">opening frame → Veo</figcaption></figure>'
: '<div class="warnw" style="align-self:center">no opening frame — Veo was given the '
+ 'written description only, so the likeness is invented</div>')
+ '</div>'
+ (s.prompt_sent
? '<details><summary>Exact prompt sent</summary><pre>' + esc(s.prompt_sent) + '</pre></details>'
: '<div class="kv">no prompt recorded (filmed before prompts were stored)</div>')