
Glass
Dark display glass for plots and live readouts, whatever the finish around it. Everything printed inside it is lit.
Kit parts
An AI chat as a teleprinter, with restraint: what you type sits in a recess; the answer prints on a perforated slip with an amber lamp at the print head; code comes up on display glass. Composer with attachments and a send key that becomes Stop.
Seats open in 11 days. Want one email that morning?
A custom element that builds a scrolling log and a composer around your markup. The printer appends text nodes as they come, keeping the amber lamp as the last thing on the line.
| Name | Kind | Description |
|---|---|---|
| label | attribute | Who answers. Names the log (“Conversation with Studio assistant”), the text area and each slip. |
| placeholder | attribute | The composer’s placeholder: an example, never the label. |
| demo | attribute | For specimens and static pages. |
| [data-suggest] | attribute | Sends its own words as a message. |
| pre[data-label] | element | Becomes a code block on glass, with its label and a copy key. |
| say(text, files) | method | Add your own message to the thread. |
| reply() | method | Start a slip. write(text) prints (a blank line starts a paragraph), code(text, label) adds a block, end() stamps it, stop() ends it early. |
| Enter · Shift+Enter | keyboard | Send · a new line. |
Type a question and press Enter, or pick a suggestion in the empty chat below. The send key turns into Stop while it prints.

Dark display glass for plots and live readouts, whatever the finish around it. Everything printed inside it is lit.

The only colour in the kit: a lamp that is on. Green is on, amber is waiting, red is recording or failing, blue is linked, white is standing by. Always next to words.

Text entry in a recess, the label printed above it, and a hint that says how to fix an error.