Build one whole from its parts. Segments reveal in place along a continuous horizontal strip, with each matching legend entry following in the same order. Fixed 0% and 100% endpoints keep the scale clear. This ten-second composition visualizes supplied shares, normalized to a whole; it does not import or verify the underlying distribution.
What you get
A local generator, editable HyperFrames effect and motion/review guidance. Generate a 1920×1080 project and render a 30 fps part-to-whole segment.
Editable title and segments containing label and numeric share. Widths are calculated as share divided by the sum of all shares; the legend displays that normalized percentage rounded to a whole number.
Sequential horizontal masks reveal segments without moving completed neighbors, followed by corresponding legend names and percentages. The finished strip and legend hold on the same scale.
Four palettes keep geometry and timing consistent: White & Yellow (white-yellow), Charcoal & Lime (charcoal-lime), Paper & Orange (paper-orange) and Black & White (midnight-ice). Semantic overrides need a contrast check; dark canvases retain a fine stationary grid. Bundled local fonts include Inter, IBM Plex Mono for measurements/ordinals, Smiley Sans and Noto Sans SC. Chinese copy automatically selects Smiley Sans, including Latin words; --zh-font noto-sans-sc selects the plainer face and --font embeds your own. Inspect wrapping after changes.
Before you choose
Define the whole before animating its pieces. A bar totaling 100% can look complete even when categories are omitted, so establish the denominator and completeness of the input outside the animation.
Good fit
A creator explaining the composition of one clearly defined total, such as a set of acquisition sources.
A brief teaching passage with a small number of positive parts and concise labels.
A series needing consistent part-to-whole motion, legend order and typography.
Not for
A time-series stacked-column history or a comparison of unrelated quantities that do not form one meaningful whole.
Automatic percentage validation, handling missing categories or preserving raw supplied values as displayed percentages without normalization.
Automatic full-film editing, generated presenter performances or music, or copying a reference creator’s identity and material.
How to use
You say/creatormotion-comparison-composition-strip Turn my supplied explanation into a white-yellow B-roll scene using the Composition Strip effect. Use the text, data and media I provide, and ask for any required input that is missing.
Prepare a title defining the whole and segment objects with positive numeric shares. For percentage inputs, follow the guide and make them sum to 100. Do not use negative values or a zero total.
Confirm the normalization: the code divides every share by the total even if the inputs do not sum to 100. If you enter counts, they become proportions of the supplied counts, not a separately established population. Make that denominator clear in the explanation.
Keep the category set compact enough for the two-column legend. Colors cycle through four treatments; more entries repeat them. Rounded legend percentages can sum to 99 or 101 while widths still use normalized values. No footage, matte or raster image is used.
Prepare Node.js 22+, FFmpeg and the documented HyperFrames CLI 0.8.30. From the extracted package run node scripts/create.mjs --out PROJECT --data CONTENT.json with the chosen --style. Use semantic --overrides if needed. An --images JSON maps named slots to local files, with relative paths resolved beside the map and unlisted slots retaining bundled defaults. Read the image policy before replacing material.
Lint, validate and inspect the generated HyperFrames project, then render at 1920×1080 and 30 fps with the pinned CLI. Review real MP4 frames at the opening, each handoff and final state for clipping, contrast and correct labels. Keep at least 1.2 seconds for final reading when editing timing, and compare all palettes with identical content after module changes. Narration, music and film assembly remain separate work. Compare the width/order of every part with its legend, check small shares and separators in grayscale, and make sure the title identifies exactly what the 100% represents.
Requirements and costs
You bring
segments: provide your own content or retain the illustrative default. · title: provide your own content or retain the illustrative default.
Dependencies
HyperFrames CLI 0.8.30 or compatible — required · Node.js 22 or newer — required · FFmpeg — required
Outside costs
Not collected yet
Tools used
HyperFrames
Publisher testing
v1.0.1 — Claude Code / Claude Desktop / Cowork / Codex / ChatGPT
FAQ
Yes. title and segment labels/shares are supplied through JSON, with four palettes and semantic overrides. Segment and legend order follow the input list.
No. The strip uses editable geometry and text. Generic image/presenter instructions do not introduce media requirements for this effect.
Yes. Keep the continuous whole, staged part reveals and matching legend sequence. Do not rearrange finished segments during the build, as that would obscure the fixed scale.
The implementation normalizes them by their total. Use positive values, verify the resulting denominator and supply a complete distribution. For percentages, the documented input recommendation is a sum of 100.
Each is rounded independently to a whole percentage. The strip widths use the normalized values before that display rounding. Adapt formatting if fractional precision matters.
User reviews
—0 reviews
Select a star to share your experience.
No reviews yet. Ratings appear once readers share real experiences.