Caret
Caret makes every field say who may write in it, and gives each writer a caret in its own colour: ink for the person, pigment for the model. A field only the model writes has no ink caret at all.
Type in “Reply to tenant”. The model drafts ahead of your caret: Tab or “Take all” takes the draft, → takes one word, and typing anything else sends its caret back.
Anatomy
When to use
- A reply, note or message the model can help write.
- A field the model fills on its own, such as a summary, which people review but don’t type in.
- Not for passwords, amounts or anything a person must enter themselves: those fields are person only.
Caret is not autofill. Autofill copies values you stored. Caret writes from context and shows its hand: every word it adds stays pigment.
Behaviour
| Reach | Carets | What people can do |
|---|---|---|
| Person only | Ink | Type |
| Shared | Ink, and pigment ahead of it | Type, take a word, take the draft, dismiss with Esc |
| Model only | Pigment | Accept or ask for a rewrite |
The model caret blinks while it thinks, holds steady while it writes, and leaves when the draft is ready. Words taken from the draft settle into still pigment, so the field keeps a record of who wrote what.
Best practices
- Put the reach mark in the field’s header, next to its name.
- Draft only at the end of the text and only when the person pauses. Never draft mid-word.
- Send the model’s caret back the moment the person types something else.
- If someone types in a model-only field, explain once in a murmur rather than ignoring the keys.
Accessibility
- The shared field’s label says how to take the draft: “Tab accepts its draft, right arrow accepts one word.”
- The model-only field is a read-only textbox labelled “written by the model”.
- Take controls are real buttons, so touch and switch users don’t need Tab or arrows.
Specifications
- Draft delay
- 600 ms after the person pauses at the end of the text
- Thinking
- Model caret blinks for 700 ms
- Writing
- 50 to 110 ms per word
- Keys
- Tab takes all · → takes one word · Esc dismisses
- Model caret
- 2 px bar of pigment; blinks on the beat while thinking