---
name: scope-focus
description: Explain the reach of one collection within a larger domain using an editable, animated nested diagram.
version: 1.0.2
---

# Scope Focus

A parameterized 1920 × 1080, 8.4-second diagram renderer. Establish a three-level vocabulary and nested containers, introduce unboxed member documents, trace the collection continuously, then explain its useful effect and one smaller limitation. The last 3.46 seconds hold the complete explanation.

Install Node.js 22 and FFmpeg; run `npm install` in this directory. Dependencies are pinned to GSAP 3.13.0, HyperFrames 0.8.30 and Noto Sans SC 5.2.5. Their installed licenses remain in node_modules; generated projects carry font and GSAP notices. Set HYPERFRAMES_BROWSER_PATH and HYPERFRAMES_FFMPEG_PATH to installed tools if automatic downloads are unsuitable.

Write a JSON file with title (54 characters maximum), domain, collection, unit (24 each), members (1–4 strings, 22 each), gain (76), guard (86), and palette (atlas, nocturne, orchid). Use short, concrete domain → collection → unit terminology. The shared effect selects the middle level. A member label describes an example of the unit, never another parent. The gain explains what belongs together; the guard explains what must remain separate. No images, presenter or model credentials are needed.

Run `node scripts/compose.mjs brief.json new-project`. The destination must not exist. Render with `npx --no-install hyperframes render new-project --output movie.mp4 --fps 30 --quality high --strict --workers 1`. The project contains editable HTML, JSON data, local fonts and GSAP. Edit its brief and generate a fresh project for a new topic.

The paused GSAP timeline is registered in window.__timelines. A scalar timeline drives explicit drawing state, allowing backward and forward seeking. No live network requests or random values occur during playback. Notes remain subordinate to the hierarchy. The renderer does not automatically write a story or synthesize sound; the output is silent. Review long text and CJK at native resolution. Input limits reject unsupported topology; they do not guarantee every phrase has good typography.

Check time zero, all entrances, the growing perimeter and the settled hold. Verify members lie inside the selected rectangle and that both rectangles remain nested. Record seek comparisons, raw differences, native encoded frames, full decode, browser playback at 1× and dropped frames. Technical checks and human content acceptance are separate.
