8602c70eea
Capture pipeline (Playwright recordVideo + injected synthetic cursor + ffmpeg webm->mp4) and a Remotion LiveFilm composition driven by a 20-clip manifest with caption/zoom overlays and a music bed. Includes the capture orchestrator, storm-intel reference scene, pre-render smoke check, and VO script. Pure logic is unit-tested (28 passing). Remaining scene scripts are authored during live capture.
LynkedUp Pro — Product Film (Remotion)
Flagship ~5-min marketing film, composed from real app screenshots + animated brand beats.
See docs/superpowers/specs/2026-05-30-product-film-design.md for the design.
Workflow
- Capture the app (dark mode). From the repo root, start the CRM:
Then in this folder:
npm run dev # serves http://localhost:5173npm install npx playwright install chromium # first time only npm run capture # writes public/captures/*.png - Preview in Remotion Studio:
npm run dev - Render:
npm run render # -> out/lynkedup-pro-film.mp4
Notes
public/captures/andout/are gitignored (local artifacts). Re-runnpm run captureto refresh.- The capture script navigates within the SPA (history pushState) rather than reloading per route, because the CRM keeps auth in memory only — a full reload would log out and redirect to /login.
- Music: drop a royalty-free track at
public/audio/music.mp3and setHAS_MUSIC = trueinsrc/components/AudioTrack.tsx. - Voiceover: captions ship now; the VO script lives in the design spec §5 (record later, drop onto the same timeline).
- Does not modify any CRM code — it only screenshots the running app.