main
John Lauer Publish 0.5.0 b1a42fb 9h ago
{
 "name": "video",
 "description": "From a board build (running or finished) to a narrated walkthrough video on the project's wiki page and, when the human wants it, on YouTube. Every step is a suggestion: take another route when you have a better one, and say what you did.",
 "steps": [
  {
   "name": "intake",
   "done": [
    "state.json"
   ],
   "do": "Ask the human once, in plain words: do they want a narrated video of this build, ready to review when they are back? Tell them recording takes over the screen of the machine it records, and suggest a second machine on their Adom Mesh so their own stays free. Run `disk` on the recording machine and share the estimate. Then `init` (with `--release <board-release.json>` when the board flow wrote one, `--target <machine>` for the recording machine). Run `brand` too: it says whether this account may put the Adom logo sting on an official Adom video (Adom employees only); if it may, ask the human whether this film is one."
  },
  {
   "name": "plan",
   "done": [
    "plan.json"
   ],
   "do": "Write plan.json: the moments worth a short clip for THIS build (the prompt being typed, each AI Flow step landing, parts search, a pup window fetching a part, new wiki part pages, Fields views, the silkscreen landing, the finished board in 3D, the wiki page). Highlights only, 5 to 30 s each, never continuous recording, and leave AI Flow's own full-length step recording off. If the build is already finished, plan the showcase shots instead and say the build footage does not exist."
  },
  {
   "name": "capture",
   "done": [
    "clips/*.mp4"
   ],
   "do": "Record the planned moments as they happen: `clip start --name <moment> --hwnd <window>` then `clip stop`. Before each take look at the screen: Hydrogen full screen with the taskbar showing, other apps floating at about 90 percent, no dialogs, toasts, mail, chat or other personal windows. Motion in every clip. `track` every file you create on any machine so `clean` can find it later."
  },
  {
   "name": "walkthrough",
   "done": [
    "walkthrough/steps.json"
   ],
   "do": "Build the 3D walkthrough in the Adom 3D viewer (assets/walkthrough-director.js is ready-made; docs/walkthrough.md explains it): the case or enclosure part by part when the project has one, then the board's major parts on the top and the underside. Highlight each part, label it with its reference and part number, and narrate what it does. Write walkthrough/steps.json (one entry per part: nodes, label, text) and record the take in real time."
  },
  {
   "name": "script",
   "done": [
    "script.json"
   ],
   "do": "Write script.json: one narration line per scene. Open on the real starting prompt. Name the Adom tool that did each step while it is on screen (AI Flow, the KiCad, Fusion or Altium bridge, parts search, the wiki, Fields, webviews, pup), about one mention per 20 to 30 s, and add a few 'ask your AI to ...' lines so the viewer learns something. Include the parts story (unique parts, where they came from, cost to build one and each at 100) and any custom mechanical work. Close with one line that it was built in Adom Hydrogen and where the files are. Then `script script.json` for feedback."
  },
  {
   "name": "cut",
   "done": [
    "out/*.mp4"
   ],
   "do": "Narrate with adom-tts, fit each clip to its line (1x to 2x, never dead air, never a flashed shot), add teal circles where the eye should go, and write captions (.vtt, .srt) and chapters as sidecar files, never burned in. Render 1080p one section at a time. Make a contact sheet and look at every scene before calling it a draft."
  },
  {
   "name": "pitch",
   "done": [
    "pitch.json"
   ],
   "do": "Before anyone narrates, settle the title and the thumbnail, because the narration should deliver what they promise. Brainstorm about five titles (`youtube title ...` gives feedback) and compose two or three thumbnails at 1280 x 720 from a clean frame of the film and 3 to 5 large words (`youtube thumbnail <file>` checks each). Show them on the narration page: `narrate pitch --titles \"A\" \"B\" ... --thumbs a.jpg b.jpg ...` opens a picker that shows each pair the way YouTube will. The human picks a pair, or asks for other ideas; their pick lands in pitch.json in the takes folder. Then shape the first lines of the script to pay off the thumbnail's words. `mark pitch --note \"<title>\"`."
  },
  {
   "name": "voice",
   "done": [
    "voice.json"
   ],
   "do": "Offer the human two ways to finish the sound, and let them pick. (1) Keep the AI voiceover and go on. (2) Narrate it themselves: `narrate --video <draft.mp4>` serves a page where they calibrate their microphone, rehearse, record their own words while the film plays (with a clock, a wrap-up warning and drawing on the film), review it and press Use this take. Run `narrate wait` for the hand-off, tell them on the page what you are doing (`narrate note \"...\"`), then put their voice on the film, write new captions and chapters from what they said and draw their strokes in. A recorder of their own (a wireless mic that records on the device, a phone) works too. `mark voice --note \"ai voiceover\"` or `mark voice --note \"own narration\"`. When `brand` said yes at intake and the human said this is an official Adom video, finish the sound with `brand --video <final.mp4> --out <branded.mp4>`; otherwise the film carries no Adom branding."
  },
  {
   "name": "privacy",
   "done": [
    "privacy.json"
   ],
   "do": "Run `scan <script, captions, description files>` and look through the contact sheet for anything personal on screen: email addresses, names, phone numbers, keys, file paths with a user name, other people's windows. Prefer dropping or reframing a clip to blurring it. Tell the human what you found and what you did about it."
  },
  {
   "name": "review",
   "done": [
    "review.json"
   ],
   "do": "Show the draft to the human in the Adom video player with chapters (`adom-video play <file> --chapters <json>`), with the list of what the AI did and anything it flagged. Then show a pre-flight sheet of everything the public will see: title, description (chapters, the starting prompt, the cost line, the Built-with list), thumbnail, tags, channel and privacy. Take their changes, re-cut, and when they are happy record it: `mark review --note \"<their words>\"`."
  },
  {
   "name": "publish",
   "done": [
    "publish.json"
   ],
   "do": "With the human's OK: push the film, poster, captions and a video.json manifest (captions and chapters inlined) to the project's wiki page and put `::adom-video{src=...}` under the title; check the live player. For YouTube: brainstorm about five titles with them (`youtube title \"...\" \"...\"` gives feedback) and show two or three thumbnails composed from a frame of the film, a frame of them and 3 to 5 large words (`youtube thumbnail <file>` checks it); write a description with what the film shows, chapters (`m:ss Title` from 0:00, each at least 10 s) and a link back to the wiki page. Run `youtube check` to see which channel each adom-google account reaches, say the channel's name back to them, and if none reaches it suggest setting adom-google up (the hint says how) or upload through YouTube Studio in a browser you drive. Use the title and thumbnail they picked (pitch.json). `youtube upload ...` uploads as unlisted, always, on their behalf: only people with the link see it, and public is their own decision afterwards. It then opens the video's YouTube Studio page in a browser window for them; bring it to the front. Upload the film's own captions next (`youtube captions <link> --file <film.srt>` opens the Subtitles page and says how), because YouTube's automatic captions misspell names. `mark publish --note \"<links>\"`."
  },
  {
   "name": "cleanup",
   "done": [
    "cleanup.json"
   ],
   "do": "Once the human has approved the final film, run `clean` to see what is left on every machine (raw clips, temp recordings, staging copies, render scratch), then `clean --yes` to remove it. Keep the finished film, captions, chapters and the edit plan. Tell the human how much space was freed."
  }
 ]
}