---
name: meaning-shift
description: Create an editable typographic film that replaces a narrow meaning with a broader reading grounded in a real photograph.
version: 1.0.4
category: video
delivery: local
---

# Meaning Shift

Use this parameterized renderer for a concept whose meaning changes in context. A familiar term and narrow reading enter, the reading is crossed out, the whole old group clears, and a large photograph rises under the wider meaning. Supporting facets arrive around the image, followed by a still reading hold.

Read [the brief contract](references/brief.md), [timing and direction](references/direction.md), and [dependencies](references/dependencies.md). Author fresh content and supply a licensed local photograph, its accessible description and credit. The package contains no example photographs or videos.

1. Run `npm ci` in this Skill directory to install the pinned renderer.
2. Write a brief JSON using the documented fields.
3. Run `node scripts/compose.mjs /absolute/brief.json /absolute/project porcelain`. Other palettes are aubergine, clay and carbon.
4. Run `node scripts/render.mjs /absolute/project /absolute/film.mp4`. This runs HyperFrames lint and a strict 30 fps render with one worker.
5. Inspect the complete video and native frames at the strike, clearance, photo rise and each facet entry. Check text bounds, the photograph, all palettes and backward seeking for every new brief.

The result is a fixed 6.8-second, 1920 by 1080 editable HTML/GSAP/HyperFrames project. Change the brief to vary subject, wording and image. This is a parameterized editorial composition, not unrestricted scene generation. CJK uses bundled Noto Sans SC. The output is silent. Rendering success does not establish visual acceptance or smooth playback on another machine.
