Breathing Text — primitive for kinetic type (react)
For AI agents: find the right skill in one call —
curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add.mdto its path. Before generating anything, show the person the options on the use-case page.
Variable-font letters swelling bold and italic then thinning back, a wave rolling through the word
- Install:
npx shadcn add @fancy/breathing-text - Registry: fancy · Framework: react · License: MIT
- Docs and preview: https://www.fancycomponents.dev/docs/components/text/breathing-text
- Source: https://github.com/danielpetho/fancy/blob/main/src/fancy/components/text/breathing-text.tsx
- Example: https://skills.varg.ai/previews/lib-fancy-breathing-text.mp4?v=29727 (Captured from the library’s own demo page (Fancy Components))
- Time: Drive from the frame. Runs on its own clock (requestAnimationFrame, timers, springs or CSS). Drive it from frame / fps before rendering, or the render drifts.
- Runs: local render, free
- Aspect: any
Prompt that renders it frame-exact
Use Breathing Text from Fancy Components (https://www.fancycomponents.dev/docs/components/text/breathing-text, MIT). Install with npx shadcn add @fancy/breathing-text with the @fancy registry in components.json. Use it on a brand word or title that should feel alive while it holds on screen. It needs a variable font such as Roboto Flex or Overused Grotesk, loaded before render. Set fromFontVariationSettings and toFontVariationSettings (for example "'wght' 100, 'slnt' 0" to "'wght' 800, 'slnt' -10"), staggerDuration, staggerFrom and repeatDelay. Motion loops it with repeat: Infinity. Set each letter's font-variation-settings from a sine of (frame / fps - index * stagger) instead.
Used in
- Product launch film
- Feature announcement
- Ad variants for testing
- Sale & offer promo
- Faceless narrated video
- Quiz, poll & would-you-rather
- Meme format
- Changelog & release notes
More kinetic type
- Char Slam Explode —
npx hyperframes add char-slam-explode - Extended Keyframe —
npx hyperframes add extended-keyframe - Kinetic Center Build —
npx hyperframes add kinetic-center-build - Kinetic Type —
npx hyperframes init my-video --example kinetic-type - Kinetic Type Swap —
npx hyperframes add kinetic-type-swap - Shutter Slam —
npx hyperframes add shutter-slam