Commit graph

40 commits

Author SHA1 Message Date
28b98f8326 Gather pictures and footage before the script is written
The owner's pictures could only be attached after the script existed, so the
writer planned a piece in ignorance and the pictures were fitted to finished
words afterwards. That is backwards.

Making a video is now two steps. The project is created on hold, collateral is
attached, and only then does the writer run — knowing it has a photograph of
the actual product and eleven seconds of pool footage to write toward.

Footage is a link plus an in and out point, set by scrubbing the video itself.
The renderer already trimmed arbitrary sources with in/out, so this needed no
change to the cut at all, only somewhere to put the information.
2026-09-07 21:15:34 +00:00
99e2e7ce85 Add an Edit button beside Download on a finished video
A finished video was a dead end from this page: you could watch it or download
it, and the only way back into the shots, cutaways and cut was to know the
script URL. Edit goes to the detail screen, which is now where re-filming and
the cut live.
2026-09-07 21:14:47 +00:00
40b47c6c7f Say what each button does, and allow filming again after an edit
Three things were unclear or missing:

- "Make the frame" reads as though it might film the shot. It draws one still,
  the opening frame, and films nothing. Say so.
- Once a project was ready there was no way to film it again, so editing a
  shot afterwards led nowhere. The film card now appears for a finished video
  as "Film it again".
- Nothing explained that these per-shot buttons are optional. Filming draws
  any missing frame and makes any missing cutaway itself, so they are there to
  preview, not to complete.
2026-09-07 20:47:40 +00:00
708abeea41 Do not call a continuation shot's missing frame a fault
A shot that continues the previous one seeds from that shot's real last frame
and correctly has no opening still of its own. Flagging it as a lost likeness
was wrong and would send someone chasing a problem that is not there.

Also distinguish a frame drawn after the fact from the one actually used at
film time, so the audit trail does not imply a seed that was never sent.
2026-09-07 17:50:25 +00:00
bac9ecbcfb Say when a shot has no opening frame before filming starts
A video was filmed where shot 1 had a photo selected but no opening frame. The
seed was therefore empty and Veo was handed the written description alone, so
it invented a plausible bulldog: no collar, wrong eye colour. Nothing on this
page suggested anything was missing.

The worker now draws any missing frame before filming rather than proceeding
without a likeness, so this says that is going to happen and why it takes
longer.
2026-09-07 17:49:07 +00:00
09cf5c44c2 Pets: click a thumbnail to see the photo full size
The thumbnails are 110px squares cropped square, which is too small to check
the thing they exist to record — the collar, the eye colour, the markings that
have to survive into the video.
2026-09-07 17:47:00 +00:00
0771c990f4 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.
2026-09-07 17:46:43 +00:00
79ba141ada Admin: show the voice used and split video cost from audio cost
Cost was a single number, which now hides two very different things: about
$0.40 a shot of video generation against roughly $0.015 of voice conversion.
Per shot, show which voice was actually dubbed in, so a conversion that failed
and silently fell back to Veo's own audio is visible rather than invisible.
2026-09-07 15:00:54 +00:00
b1cf3ef6f6 Say why the script failed instead of just that it did
The reason was already being stored on the project, but the page showed a bare
"could not finish" and a Start again button. A dead link is the most common
cause and it is the reader's to fix, so it needs saying out loud.
2026-09-07 14:54:35 +00:00
a3af200b14 Pet profile: pick a real voice instead of describing one
The old field asked owners to describe a voice in prose, and that prose went
straight into the Veo prompt. Nobody can reliably describe a voice, and the
description matched no actual voice, so nothing held the character steady
between episodes.

Now the owner picks an ElevenLabs voice and can listen to it first. That single
choice drives the Veo prompt, the writer's sense of the character, the word
budget per shot, and the voice the finished clip is redubbed into. The prose
box stays as an optional note that reaches the writer only.
2026-09-07 14:50:48 +00:00
9e10b6ed58 Pet profile: pick a real voice instead of describing one
The old field asked owners to describe a voice in prose, and that prose went
straight into the Veo prompt. Nobody can reliably describe a voice, and the
description matched no actual voice, so there was nothing holding the character
steady between episodes.

Now the owner picks an ElevenLabs voice and can listen to it first. That single
choice drives the Veo prompt, the writer's sense of the character, the word
budget for each shot, and the voice the finished clip is redubbed into. The
prose box stays as an optional note that reaches the writer only.
2026-09-07 14:49:38 +00:00
af95cf1802 Admin opens on the admin role, with the key only as a bootstrap 2026-09-07 12:39:57 +00:00
a2095eb806 Show the time as well as the date, using the shared formatter 2026-09-07 12:39:45 +00:00
ca5c25ef14 Store the session token issued at sign in 2026-09-07 12:39:36 +00:00
c4bc712972 Session tokens, server-driven menu, and times on My videos 2026-09-07 12:38:56 +00:00
2b611917be Poll for the seam report now that measuring runs in the background 2026-09-07 01:17:42 +00:00
78689c7014 Add Film it to the UI so nothing needs an operator 2026-09-07 01:02:08 +00:00
c4491ac8f1 Add a format dropdown that pins the set, framing and brief 2026-09-07 01:01:02 +00:00
6fccc3eb3b Add pasteable owner photos with descriptions and AI placement 2026-09-07 00:43:52 +00:00
c0a7f46094 Add B-roll cutaways, seam measurement and final cut to the shot editor 2026-09-07 00:09:05 +00:00
dba954ad17 Add admin page showing every project with the exact prompt submitted 2026-09-06 20:02:54 +00:00
62c4f344c7 Add a voice field to the pet profile so the character stays consistent 2026-09-06 18:55:22 +00:00
760f335256 Per-shot source toggle: photo or continue from the previous shot 2026-09-06 15:35:04 +00:00
61210c6640 Poll for the shot image, since drawing is now asynchronous 2026-09-06 15:29:00 +00:00
8a3324be31 Visual shot editor: start image, scene and camera move editable per shot 2026-09-06 15:24:34 +00:00
34150bb264 Add script review page with feedback loop and approval 2026-09-05 19:29:34 +00:00
5d0ba261fb Add My pets to the home page nav 2026-09-05 14:09:33 +00:00
8202feb299 Split pet profiles onto their own page with typed photo uploads 2026-09-05 14:09:23 +00:00
6439a89daa Add site nav and a call to action linking the new pages 2026-09-05 12:48:12 +00:00
5509c03627 Add register, create and my-videos pages with shared app assets 2026-09-05 12:47:47 +00:00
7674aad942 Point plate still at a correctly-typed image/png upload 2026-09-05 01:02:23 +00:00
6131feb160 Add v2 sequential cut, plate preparation step, and reference-image findings 2026-09-05 00:59:49 +00:00
722eebbe98 Lead with the full 48s cut: intro + roll call + topic segment 2026-09-04 21:40:26 +00:00
838f86f744 v2: idle B-roll, no laptops, all lines clean, generated direct on Google 2026-09-04 19:18:11 +00:00
9feccc2093 Lead with the 2x2 Dog-In Podcast grid; keep single-shot clip as the component demo 2026-09-04 18:18:13 +00:00
c4c6748e82 Play inline again - faststart remux makes the embedded player work 2026-09-04 18:11:16 +00:00
024208d2a8 Point at faststart-remuxed video so it streams on click 2026-09-04 17:54:09 +00:00
4a2c3e3305 Replace embedded player with a direct streamable link 2026-09-04 17:45:40 +00:00
feb4b8b998 Demo page: Veo 3.1 Lite talking-dog clip with generation notes 2026-09-04 17:43:36 +00:00
65ce735e27 Initial commit 2026-09-04 17:42:35 +00:00