# capture - how-to (Phase 1) Capture a marketing/landing page -> write all artifacts under `./capture/` in the video project root. The design system (Phase 1b) and visual/story phases read capture output directly; there is no separate designlang capture anymore. ## Start ```bash (cd "$PROJECT_DIR" && npx hyperframes capture "" -o ./capture) ``` Optional flags (normally not needed): - `--timeout 60000` - give `networkidle2` a longer window when the first viewport of a JS-heavy site has not injected yet - `--skip-assets` - do not download images / SVGs / fonts (only for schema probing; do not use in the normal pipeline) - `--max-screenshots 12` - reduce the number of scroll-position screenshots ## Artifacts ``` capture/ ├── extracted/ │ ├── tokens.json # title / desc / cssVariables / fonts / colors / colorStats (brand-color classification signal) / headings / ctas / svgs / page{width,height,viewport} / sections[].{type,rect(x,y,w,h),heading,text,callsToAction,layout,assetUrls(remote),assets(local paths)} │ ├── design-styles.json # typography roles / buttons / cards / nav / shadows / radius / spacing │ ├── animations.json # CDP + Web Animations + CSS keyframes catalog (includes easing strings) │ ├── fonts-manifest.json # family/weight/style reverse lookup from OpenType name-table │ ├── asset-descriptions.md # one line per image (DOM position + optional Gemini caption) │ ├── visible-text.txt # full plain text dump │ ├── video-manifest.json # screenshots + context for each