The complete retained 5.8-second Grow AI Skills behavior-test video, including the local ignition whoosh and completion chime. Download the MP4.
Eleven representative frames extracted from the encoded Grow AI Skills handwritten wordmark reveal, progressing from black through violet writing energy to the complete white script logo
Encoded-MP4 readback at eleven representative frames, including the exact last in-range frame. Credit: Grow AI Skills original HyperFrames composition. Open full-size image.

The encoded contact sheet comes from the MP4 itself. The second sheet is retained separately from the editable composition, making it possible to compare preview-stage frames with delivered pixels rather than assuming the render preserved every state.

What Codex can reproduce

The method can reproduce the structure of a short signature-style sting: a dark stage, a colored energy head that travels in writing order, a clean high-contrast wordmark revealed behind it, a restrained completion bloom, and a stable final hold. It should not copy the reference wordmark, signature, or audio. Treat a supplied video as evidence for rhythm, color behavior, and staging; create original geometry and use only source material you are allowed to use.

The retained example uses the exact text Grow AI Skills. It is typeset with a locally frozen Allura font and revealed with hand-authored centerline guides. That makes it an original typeset wordmark example, not an authentic human signature and not proof of how a person would physically write the phrase.

Choose the reveal method from the source

InputRecommended strategyEvidence boundary
Open, stroked SVG pathsAnimate stroke dash offset directly, then reveal the clean final pathsThe source can preserve real path order only when its path structure actually records that order
Filled or outlined SVGKeep the filled mark as the final authority and draw authored centerline masks over itOutline order does not prove pen order
Raster logoPreserve the supplied pixels and reveal them through an authored SVG maskThe raster contains appearance, not writing geometry
Exact textFreeze a redistributable font locally, typeset the final mark, and author reveal guidesTypeset text must not be presented as a real person's signature

Reject unsafe or unstable dependencies early. An SVG with scripts, event handlers, remote references, or foreignObject needs sanitization. A tiny ambiguous raster cannot preserve an exact identity. A remote font can change or disappear at render time. In those cases, stop, obtain a better source, or narrow the promise.

Build the finished mark before the animation

The completed logo is the visual authority. Set its scale, spacing, position, and final color before drawing any glow. For the 1920 by 1080 example, the full phrase sits near the optical center with enough room for ascenders, descenders, and the traveling head. The background is black; the settled wordmark is warm white; the active head moves through magenta, violet, and cyan.

Freeze the font file and its license beside the composition. Record the source URL, local path, and SHA-256 in a media ledger. Do the same for every sound effect. The render should not depend on a font CDN, a remote image, a live clock, a browser hover state, or uncontrolled randomness.

Separate the effect into four layers

  1. Completed mark: the sharp, readable wordmark that remains at the end.
  2. Reveal mask: one or more centerline paths that expose the completed mark in natural writing order.
  3. Writing head: a narrow bright core at the current path position, with a small colored halo.
  4. Completion energy: a short bloom that resolves quickly and never hides the letterforms.

Use SVG path drawing for the masks and compute the head position from the same path progress. The colored head and the visible ink then share one source of truth. Keep blur on duplicated glow layers rather than on the final white wordmark. This preserves edge clarity during the hold.

Worked timing: Grow AI Skills

The example lasts 5.8 seconds at 30 frames per second. The timeline is intentionally asymmetric: short words finish faster, the longer word receives more drawing time, and the final result holds for exactly one second.

TimeVisible eventSound role
0.000–0.200 sClean black pre-rollSilence
0.200–0.367 sMagenta ignition at the first strokeShort local whoosh begins
0.367–1.567 sGrow writes onWhoosh decays
1.567–1.700 sHidden pen liftNo new hit
1.700–2.267 sAI writes onVisual rhythm only
2.267–2.400 sSecond hidden pen liftNo new hit
2.400–4.033 sSkills completesEnergy rises toward completion
4.033–4.600 sDetails settle and one bloom resolvesSoft local chime at completion
4.600–4.800 sGlow settles to the clean markChime tail fades
4.800–5.800 sExact final lockup holds without driftTail ends cleanly

A pen lift should not look like a laser dragging across empty space. Fade or compress the head during the jump, move it deterministically to the next start point, and restore it at the new stroke. The completed mark should never flash backward or reveal future letters during that move.

Keep the timeline seek-safe

Use one paused GSAP timeline registered with the HyperFrames composition. Every visible state must be reconstructable by seeking to a timestamp. Avoid independent request-animation-frame loops, delayed DOM mutations, autoplay, and wall-clock calculations. If the user scrubs from 0.4 seconds to 4.5 seconds, the mark should immediately appear in the correct state without replaying hidden setup work.

Declare the whole animation as one full-duration clip. Add a motion sidecar that checks the wordmark appears by its intended time, remains in frame, and keeps changing during the draw phase. A final still is desirable here, so define the allowed static window to match the intentional one-second hold instead of adding meaningless drift.

Use sound as punctuation

This is an unnarrated sting, so two small sounds are enough: one ignition whoosh and one soft completion chime. Use locally frozen, licensed or original files. Place them at visible events, reduce their level before they become harsh, and let the final chime tail end inside the composition. Do not extract or copy audio from a reference video unless you have the necessary permission.

Check before you render

Review-stage commands
npx hyperframes lint .
npx hyperframes check . --strict --samples 15 --snapshots --at-transitions --frame-check
npx hyperframes preview --background

Sample the black pre-roll, ignition, each word's midpoint, both pen lifts, the last stroke, the bloom, the settled lockup, and the exact final frame. Inspect the PNGs at full size for font fallback, cropped ascenders or descenders, future letters leaking through the mask, detached glow, double edges, black-frame mistakes, and a final frame that is not fully assembled.

The browser check is a composition gate, not an encoded-video claim. Open Studio and review the actual animation before rendering. Only after approval should the workflow produce a high-quality MP4. Then probe the encoded file, measure its real duration, dimensions, frame rate, codecs, audio, black intervals, frozen intervals, and final frame, and compute SHA-256.

What the handoff should say

At preview stage, report the source strategy, exact text, canvas, duration, local font and sound provenance, check result, snapshot result, Studio URL, and NOT_RENDERED. After approval, add the absolute MP4 path, encoded media facts, black and freeze scan results, representative frames, and hash. A local render is still not a production-site deployment or social-platform publication.