# True Focus — primitive for text reveals (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 `.md` to its path. Before generating anything, show the person the options on the use-case page.

Corner brackets jump from word to word, sharpening the framed word while the rest stay blurred

- **Install:** `npx shadcn@latest add @react-bits/TrueFocus-JS-CSS`
- **Registry:** react-bits · **Framework:** react · **License:** MIT + Commons Clause
- **Docs and preview:** https://reactbits.dev/text-animations/true-focus
- **Source:** https://github.com/DavidHDev/react-bits/blob/main/src/content/TextAnimations/TrueFocus/TrueFocus.jsx
- **Example:** https://skills.varg.ai/previews/lib-react-bits-true-focus.mp4?v=17592 (Captured from the library’s own demo page (React Bits))
- **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 True Focus from React Bits (https://reactbits.dev/text-animations/true-focus, MIT + Commons Clause: OK in a video). Install with `npx shadcn@latest add @react-bits/TrueFocus-JS-CSS` and use it on a short claim where each word should land on a beat ('Fast. Private. Yours.'). Set sentence, blurAmount, borderColor and glowColor from the brand, focusStyle, animationDuration and pauseBetweenAnimations. It moves the focus on setInterval with Motion. Compute the focused index as floor(t / (animationDuration + pauseBetweenAnimations)) % words, with t = frame / fps, ease the bracket position from the time inside that step, and keep manualMode off.

## Used in

- [Product launch film](https://skills.varg.ai/video/product-launch.md)
- [Notes-app ad](https://skills.varg.ai/video/notes-ad.md)
- [Text-message story](https://skills.varg.ai/video/chat-story.md)
- [CLI & terminal demo](https://skills.varg.ai/video/terminal-demo.md)
- [AI chat & agent demo](https://skills.varg.ai/video/ai-demo.md)
- [Data story](https://skills.varg.ai/video/data-story.md)
- [Math animation](https://skills.varg.ai/video/math-animation.md)
- [Whiteboard & hand-drawn](https://skills.varg.ai/video/whiteboard.md)

## More text reveals

- [Blur In](https://skills.varg.ai/component/hf.blur-in.md) — `npx hyperframes add blur-in`
- [Blur Out Up](https://skills.varg.ai/component/hf.blur-out-up.md) — `npx hyperframes add blur-out-up`
- [Bottom Up Letters](https://skills.varg.ai/component/hf.bottom-up-letters.md) — `npx hyperframes add bottom-up-letters`
- [Caret Swap](https://skills.varg.ai/component/hf.caret-swap.md) — `npx hyperframes add caret-swap`
- [Focus Blur Resolve](https://skills.varg.ai/component/hf.focus-blur-resolve.md) — `npx hyperframes add focus-blur-resolve`
- [Line-by-Line Slide](https://skills.varg.ai/component/hf.line-by-line-slide.md) — `npx hyperframes add line-by-line-slide`
