film_ui
Capture a motion filmstrip of a UI by driving interaction steps, then composing frames into a captioned strip image with real motion enabled.
Instructions
Render a filmstrip: drive optional interaction steps (applied first, so a click can trigger the transition to watch), then capture frames with real motion turned on — every other tool stays reduced-motion for deterministic pixels; this is the one place the point is watching motion play — and compose them into one captioned strip image. Returns the actual frame count/interval/scale used (each is clamped to a documented ceiling, so a hostile request degrades instead of hanging) plus the strip's pixel dimensions, a downscaled inline preview, and a resource_link to the full-resolution strip.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| scale | No | Per-cell strip scale, `0.05..=1.0` (clamped; non-finite clamps to 1.0). | |
| steps | No | An array of interaction steps, applied before capture starts (optional — e.g. `[{"click":{"role":"button","name":"Add"}}]`). | |
| theme | No | ||
| frames | No | Frames to capture (clamped to a documented ceiling). | |
| description | Yes | The UI description: a `fenestra/1` JSON object. | |
| interval_ms | No | Milliseconds between captured frames (clamped to a documented ceiling). |