--- name: creating-oneshot-landing-pages description: >- Designs and builds video-driven parallax hero landing pages with smooth video scrubbing, progress-locked typography, and clean navigation. Powered by Gemini Omni and Nano Banana. --- # Creating Oneshot Hero Landing Pages An Antigravity skill to design and build video-driven parallax hero landing pages and looping motion showcases. --- ## 1. 4-Step Execution Pipeline Execute every landing page request in this order: 1. **Step 1: Reference Images**: Generate reference images via `generate_image` (the built-in Antigravity tool powered by Nano Banana / `gemini-3.1-flash-image`) and save them into `./assets/` (e.g. `./assets/hero_ref.jpg`, `./assets/showcase_ref.jpg`). 2. **Step 2: Video Generation**: Execute Python REST calls against `gemini-omni-flash-preview` (Section 3) using the reference images to generate 10s 16:9 `.mp4` video files into `./assets/`. 3. **Step 3: Frontend Implementation**: Implement the **Hero Video Scrub Scaffold** (Section 4) in `index.html` with smooth scroll video scrubbing, progress-locked hero text, and clean navigation. 4. **Step 4: Verification & Local Hosting**: Launch a local preview server (`python3 -m http.server 3000 --directory `), verify all video assets return `200 OK`, and inspect the visual layout. --- ## 2. Design Guidelines - **Navigation Guidelines**: - **Pick ONE Focused Composition**: - `[Logo]` + `[2–4 Editorial Links Max]` (strictly <= 4 links) - `[Logo]` + `[Menu / Index Trigger]` - `[Logo]` + `[Brand Tagline or Location]` + `[Menu]` - `[Logo]` + `[Single Quiet CTA]` - `[Split Nav]` with `[2 Links]` Left, `[Logo]` Center, `[2 Links or 1 CTA]` Right - **Keep It Simple**: If you have 2–4 inline links, do not stack a heavy CTA button and hamburger menu next to them. If using a drawer, keep the bar quiet. - **No Mechanical Numbering or Fake Tickers**: Do not prefix mechanical numbers (`01`, `02`, `03`) onto nav links. Do not add fake GPS coordinates, sensor readings, or status dots (`● LIVE`). - **No Decorative SVG Icons on Cards or UI**: - Do not place decorative SVG icons, Lucide icons (``), or icon badge containers inside feature cards, headings, bullet points, or buttons. - Cards, pillars, and sections should rely on typography, whitespace, and photography/video. (SVGs are fine for a logo mark or modal close button). - **No Toy Widgets, Interactive Simulators, or Mini-Games**: - Landing pages are editorial showcases. - Do not generate character stat calculators, RPG inventory boxes, physics toy widgets, interactive sandbox cards, or `canvas-confetti` particle scripts. - For playful brands or games, express personality through **color palettes, typography, and video motion** rather than playable JavaScript mini-games or calculators. - **No Unrequested Audio Buttons or Sound Synthesizers**: - Do not generate audio toggle buttons (`🔊`), background sound generators, or Web Audio API synthesizers (`AudioContext`, oscillators). - **Clean Typography Over Badges**: - Default to unbordered typography, subtle font weights, fine line accents (`—`), or roman numerals (`I`, `II`) instead of encasing words inside rounded pill badges (`[ BADGE ]`). - When a tag or table cell is necessary: - **1–2 Words Maximum**: Do not put long descriptions or sentences into compact badges (e.g. use `LEO`, not `LEO Station Rendezvous`). - **Include `whitespace-nowrap`**: Keep badge text on a single line so it never breaks into awkward stacks. - **Single-Row Filter Bars**: Filter buttons should stay on a single unbroken row (`flex items-center gap-2 overflow-x-auto whitespace-nowrap`). - **Responsive Tables**: Data tables should use responsive scroll wrappers (`overflow-x-auto min-w-[650px]`). - **Media & Hero Video Rules**: - The hero must use a `