KQ-788 · SAFETY/DIAL
Safety Dial
A three-stop dial for how careful the model should be. The needle glides to the chosen stop on glide, a surface coming to rest, while the stop's description slides in from the side the needle moved toward on snap inside a cell whose measured height glides. The strictest stop locks the flagged tools: a padlock lands on each chip on flick under a hatch that fades in. Arrows move one stop, Home and End jump, and a press on the face chooses the stop nearest the pointer's bearing.
KQ-788 · SAFETY/DIAL
Fernworks Model 3 · Coldbrook deskGuarded
Checks before acting on anything it cannot undo and flags uncertain claims.
- Search
- File
- Shell
guarded · All tools open
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/safety-dial
Props
- value / defaultValue
- "open" | "guarded" | "strict"
- default "guarded"
- Controlled or initial level.
- onValueChange
- (level: SafetyLevel, lockedToolIds: string[]) => void
- default —
- Fires from the press or key that moved the needle, with the ids locked at the new level.
- descriptions
- Partial<Record<SafetyLevel, string>>
- default —
- One sentence per stop, shown beneath the dial; house copy by default.
- tools
- DialTool[]
- default []
- { id, name, strictLocks? }; flagged tools lock at Strict.
- label
- string
- default —
- Names the dial.
| Prop | Type | Default | Description |
|---|---|---|---|
| value / defaultValue | "open" | "guarded" | "strict" | "guarded" | Controlled or initial level. |
| onValueChange | (level: SafetyLevel, lockedToolIds: string[]) => void | — | Fires from the press or key that moved the needle, with the ids locked at the new level. |
| descriptions | Partial<Record<SafetyLevel, string>> | — | One sentence per stop, shown beneath the dial; house copy by default. |
| tools | DialTool[] | [] | { id, name, strictLocks? }; flagged tools lock at Strict. |
| label | string | — | Names the dial. |