KQ-1189 · KILN/GLOW
Kiln Glow
A determinate text loader fired like a glaze: the phrase stands in a kiln's spy window and its heat is the progress, climbing from dark iron through dull red, cherry, orange and yellow to white, each letter following on the drift spring with its own thermal mass so the heat arrives unevenly, while the letters light their own air, the back wall glows and a band of heat haze wavers above the words. At done the kiln goes out and the letters cool back down through the same colours to the glaze's fired colour, and every loop stops. A quick sweep of the pointer across the window cools the letters it passes for a moment, deeper the faster it goes, with a wisp of steam from the hot ones; the window is a button, and Space or Enter sweeps across every letter.
Fernworks Pottery · kiln 2
Warming the kiln
firing · 0% · 20 °C
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/kiln-glow
Props
- phrases
- string[]
- default —
- The status phrases. Without progress each fires by itself in turn, cycled in order.
- active
- boolean
- default true
- Firing. False lets the kiln go out: doneText arrives as hot as the last phrase was, cools to its glaze, and every timer and loop stops.
- doneText
- string
- default —
- What stays, fired, once inactive. Defaults to the last phrase.
- progress
- number
- default —
- Determinate, 0 to 1: the letters' heat follows it, phrase i owns the band [i/n, (i+1)/n) and arrives at the current heat, and at 1 the kiln soaks for a moment and cools to the glaze.
- speed
- number
- default 1
- How fast the letters take and lose heat, the self-firing cycle and the haze's pace, 0.5 to 2.
- heat
- number
- default 0.8
- How hot the kiln gets at full progress, 0 (a dull red) to 1 (white heat), and with it the glow's reach, the wall's light and the haze.
- glaze
- "iron" | "copper" | "ash"
- default "copper"
- The colour the letters cool to once fired, as fixed pigments that read the same in both themes.
- sound
- boolean
- default false
- Play the quench under the visitor's sweep: a sizzle while hot letters are cooled and a snap of thermal shock for the hottest. Firing and cooling are silent.
- disabled
- boolean
- default false
- The kiln keeps firing, but the letters cannot be cooled by hand or by key.
- onPhraseChange
- (index: number) => void
- default —
- A phrase began: its index in phrases, or -1 for doneText. Also reported on the first commit.
- className
- string
- default —
- Classes for the root; it is w-full by default.
| Prop | Type | Default | Description |
|---|---|---|---|
| phrases | string[] | — | The status phrases. Without progress each fires by itself in turn, cycled in order. |
| active | boolean | true | Firing. False lets the kiln go out: doneText arrives as hot as the last phrase was, cools to its glaze, and every timer and loop stops. |
| doneText | string | — | What stays, fired, once inactive. Defaults to the last phrase. |
| progress | number | — | Determinate, 0 to 1: the letters' heat follows it, phrase i owns the band [i/n, (i+1)/n) and arrives at the current heat, and at 1 the kiln soaks for a moment and cools to the glaze. |
| speed | number | 1 | How fast the letters take and lose heat, the self-firing cycle and the haze's pace, 0.5 to 2. |
| heat | number | 0.8 | How hot the kiln gets at full progress, 0 (a dull red) to 1 (white heat), and with it the glow's reach, the wall's light and the haze. |
| glaze | "iron" | "copper" | "ash" | "copper" | The colour the letters cool to once fired, as fixed pigments that read the same in both themes. |
| sound | boolean | false | Play the quench under the visitor's sweep: a sizzle while hot letters are cooled and a snap of thermal shock for the hottest. Firing and cooling are silent. |
| disabled | boolean | false | The kiln keeps firing, but the letters cannot be cooled by hand or by key. |
| onPhraseChange | (index: number) => void | — | A phrase began: its index in phrases, or -1 for doneText. Also reported on the first commit. |
| className | string | — | Classes for the root; it is w-full by default. |