---
name: movie-maker
description: Use when the user asks to "record a video", "record a demo", "create a walkthrough", "make a movie", "record the project", "narrate a walkthrough", "record my screen", "show my recordings", "play a video", "list my videos", "execute a script", "run a walkthrough script", "create a recording script", or wants to capture narrated screen recordings with silence detection and smart playback.
---

# Movie Maker

Record narrated walkthroughs of your Gallia project. Captures browser tab video + microphone audio, detects silence, and provides smart playback that skips dead air. Videos are organized in a Library with thumbnails, duration, and talking/silence breakdowns.

**Input**: User clicks Record in toolbar or Movie Maker UI, or Claude executes a script
**Output**: `.webm` video files stored in project content, viewable in the Library

## Architecture

Recording runs in the **parent frame** (index.html toolbar) to avoid iframe `getDisplayMedia` restrictions. If that fails, falls back to a popup tab (`record-popup.html`). Communication between components uses `BroadcastChannel` (popup mode) or `postMessage` (parent mode).

## MCP Tools

### gv_recording_status
Check if Movie Maker is currently recording.

### gv_execute_script
Execute a scripted walkthrough that controls the viewer with timed steps.

#### Script Step Actions

| Action | Description | Params |
|--------|-------------|--------|
| `show_3d` | Load a GLB 3D model | `glb_path` (required) |
| `set_view` | Camera preset | `view`: front, back, left, right, top, bottom, isometric |
| `set_camera` | Custom camera angle | `alpha`, `beta`, `radius` |
| `start_tour` | Begin cinematic camera rotation | (none) |
| `stop_tour` | Stop camera rotation | (none) |
| `display` | Show HTML content | `html`, `title` |
| `display_file` | Show a file | `file_path`, `title` |
| `caption` | Overlay text on screen | `text` |
| `wait` | Pause between steps | (none) |
| `show_files` | Show file explorer | `path` (optional) |

## Recording Features

### Silence Detection
During recording, an AnalyserNode monitors microphone audio levels. Stretches below threshold lasting 2+ seconds are marked as silence regions.

### Smart Playback
Player speeds through silence regions at 16x, returning to 1x when talking resumes.

### Timeline Markers
Yellow markers for each silence region, Prev/Next buttons, click-to-seek.

### Toolbar Record Button
Record from any view via toolbar button. Alt+R shortcut. Timer and red dot during recording.

### TabShot Conflict Detection
Recording blocked when Screen Capture is active.
