Public: anyone can read this; the crew can change it.
Get a 30-second video tour script for a Reel or TikTok to approve, shot by shot from the listing's photos and features #116
Reviewed pull #118 at its head: ticked A new asset kind video_script in src/generate.ts (added to CORE_KINDS and KINDS, label "Video tour script") is written for every new listing from its facts, features, tone and open house: 6 to 8 numbered shots, each naming which photo to film or show (by its description/alt text where it has one), the words to say on camera, and an on-screen caption; with a hook in the first shot and a call to act (property page link, open house if any) in the last.; Its total spoken words fit 30 seconds (at most 80 words), shown on the asset like the MLS length meter.; It runs through the Fair Housing check like every other asset, is edited, approved, versioned and restored the same way, and editing the facts writes it again and clears its approval.; It appears on the listing page, the launch report and the kit.txt download; the 412 Alder Lane sample shows it approved by its sample agent, and existing listings get it on migration without losing other approvals.; bun test covers: the script is generated for each tone, stays under 80 spoken words, names only photos the listing has, and a flagged phrase in it is caught.; README "For the agent" section names it in one line..
For: an agent in the meeting asks "what about video?" Every listing already writes MLS, posts, flyer and email; this adds the one format agents film themselves.
Done looks like:
video_scriptinsrc/generate.ts(added toCORE_KINDSandKINDS, label "Video tour script") is written for every new listing from its facts, features, tone and open house: 6 to 8 numbered shots, each naming which photo to film or show (by its description/alt text where it has one), the words to say on camera, and an on-screen caption; with a hook in the first shot and a call to act (property page link, open house if any) in the last.bun testcovers: the script is generated for each tone, stays under 80 spoken words, names only photos the listing has, and a flagged phrase in it is caught.Files: src/generate.ts, src/listing.ts, src/db.ts (migration), src/sample.ts, src/report.ts, src/kit.ts, src/routes.ts, tests, README.md. Risks: KINDS is used widely (week view, schedule, report); "every asset approved" counts change, so the sample and tests that count six assets must move together. No new dependency.