SusTextFx

Per-glyph text effects (wave/shake/rainbow/bounce/fade/wiggle) via inline tags, plus Reveal01 typewriter — budget MaxAnimatedChars; plain UITK rich text still works outside fx runs.
Package
SusKit · Atoms (commercial)
Props
| Name | Type | Default | |
|---|---|---|---|
Text | Prop<string> | "" | v-model |
Enabled | Prop<bool> | true | |
Speed | Prop<float> | 1f | |
Reveal01 | Prop<float> | 1f | |
RevealCharsPerSecond | Prop<float> | 0f | |
MaxAnimatedChars | Prop<int> | 200 |
Slots
No slots.
Events
| Name | Field | Payload |
|---|---|---|
RevealCompleted | OnRevealCompleted | — |
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sus-text-fxsus-text-fx__glyphsus-text-fx__glyph--hiddensus-text-fx__linesus-text-fx__plainsus-text-fx__spacesus-text-fx__word
Usage
Inline tags animate individual glyphs. Unknown tags and ordinary UITK rich text (<b>, <color>) pass through outside an fx run; inside an fx run, native rich text is not supported in v1.
xml
<template>
<SusTextFx Text="Hello <wave>world</wave> — <shake a="2">quake</shake>" />
</template>csharp
var fx = new SusTextFx();
fx.Text.Value = "Loot: <rainbow>Legendary</rainbow>";
fx.Reveal01.Value = 0f;
fx.RevealCharsPerSecond.Value = 40f; // typewriter; 0 = drive Reveal01 yourself
fx.OnRevealCompleted = () => { /* line finished */ };| Prop / API | Role |
|---|---|
Text | Source with optional fx tags (wave / shake / rainbow / bounce / fade / wiggle) |
Enabled | false ⇒ single plain Label, no glyphs, no ticker |
Speed | Global time multiplier for fx phase |
Reveal01 | 0…1 fraction of glyphs shown |
RevealCharsPerSecond | Auto-advance Reveal01; 0 = external drive |
MaxAnimatedChars | Budget (default 200); over ⇒ static render + one Warn |
OnRevealCompleted | Fires once when reveal reaches the end |
Notes
- Storybook story Text Fx (
text-fx). - Hub shot
kit-text-fx.png— showcase, captured live from Play mode.