---
name: audience-pattern
description: Turn a short research checklist into a growing community diagram with editable HTML, SVG and GSAP motion.
version: 1.0.3
---

# Audience Pattern

Create an 8.2-second, 1920×1080 explanatory animation. Numbered observations reveal on the left; a focal person and question appear on the right, followed by a growing field of people and a readable takeaway. The final hold is intentionally still.

This is a parameterized diagram renderer. It does not generate research findings or photographic media. Write a coherent brief whose prompts justify the shared observation; do not present illustrative member counts as measured statistics.

Install pinned dependencies with `npm ci --no-audit --no-fund`. Keep dependency license files. Create a JSON brief containing `context` (up to 38 characters), `heading` (44), `prompts` (3–6 strings, each up to 58), `takeaway` (68), `members` (integer 12–30), and `palette` (`mineral`, `plum`, `lagoon`, or `linen`). Latin and Chinese text use a local Noto Sans SC font. Long text must pass real browser bounds checks; a character limit alone cannot guarantee fit.

Generate into a new directory:

```sh
node scripts/compose.mjs --brief /absolute/path/brief.json --output /absolute/path/project
npx --no-install hyperframes inspect /absolute/path/project --json
npx --no-install hyperframes render /absolute/path/project --output /absolute/path/film.mp4 --fps 30 --quality high --strict
```

Edit content through the brief. Edit geometry and choreography in `scripts/compose.mjs`, regenerate and render again. The generated HTML exposes `window.__timelines['audience-pattern']` and `window.audiencePattern.seek(seconds)` for repeatable seeking. Do not add CSS animations, clock-dependent effects or random frame state.

Review the row reveals, focal-person entrance, field growth and final hold. Check reverse seeking, native-resolution frames, text bounds, full-speed playback and encoded output. Sound is not generated by this renderer; add a separately licensed editable soundtrack if the brief requires one, and verify the mixed file independently. Report unperformed checks as pending.
