---
name: context-boundary
description: Animate three distinct information scopes feeding a shared output, then expose a permission conflict inside that output.
version: 1.0.1
---

# Context Boundary

Use this parameterized renderer for an explanation of information mixing: three persistent source documents feed one shared sheet; three statements become visible in order; an in-sheet caution identifies the resulting conflict. Supply content and four authorized local raster images. It does not enforce real access permissions.

Read `references/authoring.md` for the JSON contract and visual checks. Keep personal data fictional or supplied with permission. Photograph subjects are illustrative and must not be described as endorsing the brief.

Run with Node.js 22:

```sh
node scripts/compose.mjs --brief /path/to/brief.json --dest /path/to/new-project --palette harbor
npx --yes hyperframes@0.8.30 inspect /path/to/new-project --json
npx --yes hyperframes@0.8.30 render /path/to/new-project --output /path/to/film.mp4 --fps 30 --quality high --workers 1 --strict
```

The destination must be new and outside this installed directory. A rejected input or renderer error must stop the workflow; do not replace a failed render with a previous MP4. The editable deliverable is the generated HTML, GSAP timeline, brief and copied assets. Install Node, FFmpeg and HyperFrames before rendering; only project creation runs offline with the bundled resources. HyperFrames itself is an external dependency pinned to 0.8.30.

Four palettes (`harbor`, `brick`, `ink`, `parchment`) share the same 1920×1080, 30 fps, 7.5-second timeline. CJK and Latin use bundled Noto Sans SC Variable. The renderer is silent and has no audio editor. Review full video, joins, text bounds and backward/forward seeking including time zero before delivery. Do not infer visual or user acceptance from an encoding success.

No example photographs or finished films are bundled. Keep per-brief media and rights records beside each project; retain bundled dependency notices.
